CPU COMPILER AND OPERATING SYSTEM

发布于 2022-09-18 21:21:19 字数 32 浏览 36 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

醉态萌生 2022-09-25 21:21:19

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

┊风居住的梦幻卍 2022-09-25 21:21:19

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

吃兔兔 2022-09-25 21:21:19

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

  1. module test(i,o,clk);
  2. input i;
  3. output o;
  4. reg [2:0] o;
  5. input clk;
  6. initial
  7. begin
  8.    o<=0;
  9. end
  10. always @(posedge clk)
  11. begin
  12. if(i==1)
  13.    o<=o+1;
  14. else
  15.    o<=0;
  16. end
  17. endmodule
  18. module testbench1(O);
  19. output [2:0]O;
  20. wire clk;
  21. wire I2;
  22. test test_o(I2,O,clk);
  23. testbench2 t2(I2,clk);
  24. endmodule
  25. module testbench2(I,clk);
  26. output I;
  27. reg I;
  28. reg [2:0] count;
  29. output clk;
  30. initial
  31. begin
  32.    count <= 0;
  33.    I<=0;
  34. end
  35. always @(posedge clk)
  36.     count <= count+1;
  37. always @(posedge clk)
  38. begin
  39.    if(count==2)
  40.       I <= 1;
  41.    else if(count==7)
  42.       I <= 0;
  43. end
  44. endmodule

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

べ繥欢鉨o。 2022-09-25 21:21:19

原帖由 cjaizss 于 2008-4-26 17:58 发表
硬件的演示可能更真确一些:

module test(i,o,clk);
input i;
output o;
reg [2:0] o;
input clk;
initial
begin
   o

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

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

旧人哭 2022-09-25 21:21:19

一般来说,与非门、或非门、非门是三个基本的门,因为与非门比与门使用的晶体管(场效应管)更少,所以就用这三个门来替代原来的三个门,这三个门是用来实现组合电路,而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把这两个合一起就可以仿真了。

对你而言 2022-09-25 21:21:19

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

仄言 2022-09-25 21:21:19

原帖由 cjaizss 于 2008-4-27 00:34 发表
一般来说,与非门、或非门、非门是三个基本的门,因为与非门比与门使用的晶体管(场效应管)更少,所以就用这三个门来替代原来的三个门,这三个门是用来实现组合电路,而CPU的主体是时序电路,需要一个时钟源不 ...

这些资料一般在那儿找的啊,属于那一类,我有点感兴趣

最终幸福 2022-09-25 21:21:19

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

与之呼应 2022-09-25 21:21:19

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文