waijunts 发表于 2008-04-25 22:17

CPU COMPILER AND OPERATING SYSTEM

CPU如何认识操作系统的指令的.CPU有自己的COMPILER.

cjaizss 发表于 2008-04-25 23:15

这些都是机器指令。机器不认识自己的指令还能叫可编程机器吗?

cjaizss 发表于 2008-04-26 11:58

打个比方,有如下软件程序:
while(1) {
if(输入="1")
do1();
if(输入="0")
do0();
}
那么0,1就是指令了

cjaizss 发表于 2008-04-26 17:58

硬件的演示可能更真确一些:

module test(i,o,clk);
input i;
output o;
reg o;
input clk;
initial
begin
   o<=0;
end
always @(posedge clk)
begin
if(i==1)
   o<=o+1;
else
   o<=0;
end
endmodule


module testbench1(O);
output O;
wire clk;
wire I2;
test test_o(I2,O,clk);
testbench2 t2(I2,clk);
endmodule

module testbench2(I,clk);
output I;
reg I;
reg count;
output clk;
initial
begin
   count <= 0;
   I<=0;
end
always @(posedge clk)
    count <= count+1;
always @(posedge clk)
begin
   if(count==2)
      I <= 1;
   else if(count==7)
      I <= 0;
end
endmodule

对于test模块来说,o就是输出(3bit),每到时钟上沿,如果输入信号i为1,输出的3bit就加1,如果输入信号为0,则o就清0
那么对于它来说,这里的1和0可以说就是指令,只是简单一点而已。
一个CPU指令比这个要复杂的多
波形

mik 发表于 2008-04-26 23:43

原帖由 cjaizss 于 2008-4-26 17:58 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
硬件的演示可能更真确一些:

module test(i,o,clk);
input i;
output o;
reg o;
input clk;
initial
begin
   o

CPU 执行一条指令,最终是由硬件执行。而硬件执行单元最终是由几个基本元素组成的电路结构:与门、或门、非门。
CPU 的指令集架构已经决定了与或非门的设计。门电路的开关速度直接影响CPU执行速度。

cjaizss 能不能详细说说你这个演义的原理,让我学习学习:lol:
还有一个时钟周期的问题,感觉时序有点模糊,能不能解释一下 CPU 的时钟周期及其它设备的时钟周期的产生情况等:lol:

cjaizss 发表于 2008-04-27 00:34

回复 #5 mik 的帖子

一般来说,与非门、或非门、非门是三个基本的门,因为与非门比与门使用的晶体管(场效应管)更少,所以就用这三个门来替代原来的三个门,这三个门是用来实现组合电路,而CPU的主体是时序电路,需要一个时钟源不停的在那里触发,局部当然是组合的。CPU的速度主要在于来源于时序中对沿的响应以及其体系结构,当然组合(包括三个基本的门级,当然组合不只这三个门,还有些别的)的速度必须是考虑在沿的响应其中的。
术语:
上升沿:信号从0跳变(其实不是跳变)为1
下降沿:信号从1跳变为0
所谓时钟周期,就是时钟从下(上)沿到下一个下(上)沿的时间。
我的那一段verilog硬件描述中,有3个模块,test,testbench1,testbench2.其中test是主要功能模块,而另外两个是所谓的testbench,用来验证test模块功能的。
test模块有两个输入信号,clk是时钟,i就是所谓的“指令信号”了,输出为o,3bit.
初始的时候,o清0,以后每到clk上沿,如果指令信号为1,则o加1,否则o清0.其实一般那句always @(posedge clk)触发条件都应该接一个reset信号的,always @(posedge clk or posedge reset),但是我只是为了说明问题就免了。
testbench2模块是为了产生指令信号的脉冲(高电平宽5个时钟周期,低电平宽3个时钟周期),自己随便构造的:)
现在功能模块有了,用来测试的指令信号也产生了,那么再用testbench1把这两个合一起就可以仿真了。

cjaizss 发表于 2008-04-27 00:43

时钟是由时钟源给定,比如晶振,可经过PLL(锁相环)调整频率

dgfsdgs 发表于 2008-04-28 14:30

原帖由 cjaizss 于 2008-4-27 00:34 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
一般来说,与非门、或非门、非门是三个基本的门,因为与非门比与门使用的晶体管(场效应管)更少,所以就用这三个门来替代原来的三个门,这三个门是用来实现组合电路,而CPU的主体是时序电路,需要一个时钟源不 ...
:lol: :lol: 这些资料一般在那儿找的啊,属于那一类,我有点感兴趣

cjaizss 发表于 2008-04-28 14:53

回复 #8 dgfsdgs 的帖子

这些属于电子行业的东西,但体系结构却是用数学工具提出的,电子只是实施。数字设计你可以去学学

cjaizss 发表于 2008-04-28 14:53

回复 #8 dgfsdgs 的帖子

这些属于电子行业的东西,但体系结构却是用数学工具提出的,电子只是实施。数字设计你可以去学学
页: [1]
查看完整版本: CPU COMPILER AND OPERATING SYSTEM