电子说
在指令表中我们看到ADD指令的后四位 「寄存器 OR RAM地址一列中,列出来的不是之前的RAM地址而是两位的寄存器ID」 。两位可以表示四个数字,正好对应ABCD四个寄存器。
从上面的RAM中可以看到,指令地址2就是一个ADD的指令。
拆解出这个ADD要使用的两个寄存器(后四位):0100
01表示寄存器B,00表示寄存器A。
所以1000 0100的意思是:将寄存器B的值加到寄存器A中
加法需要利用到上一篇文章讲的ALU逻辑运算单元。因为ALU需要接受输入而控制单元可以控制素有的寄存器所以需要把ALU连接至控制单元。通过控制单元打开对应的寄存器输出来让ALU接受输入,来看下面的步骤:
2.「告知ALU进行哪种运算操作:」 控制单元传递ALU中的ADD操作码告知ALU进行加法运算
3.ALU输出结果保存:注意 「此时的A的允许读取还打开着并且ALU还在继续工作,如果控制单元直接把输出给到寄存器A,那么ALU就会不断进行运算」 。所以**「控制单元有一个自己的寄存器暂时保存结果,接着关闭ALU,然后把值再写入正确的寄存器A中」**
用一张图来表示。当ALU计算出结果后将结果传送至控制单元,控制单元内部寄存器存储这个结果,然后把ALU关闭,再把内部寄存器存储的值给到寄存器A(这是打开的是寄存器A的允许写入)
刚刚我们是一步一步进行讲解的这个过程:”取指令-》解码-》执行“,计算机中**「控制执行这个循环的节奏是通过”时钟“来负责的。」**
「时钟以精确的间隔,触发电信号,控制单元用这个信号,推进CPU的内部操作,确保一切按顺序执行。时钟不能太快,因为就算是电也要有一定时间来传输」
「CPU ”取指令-》解码-》执行“的速度叫做”时钟速度“。单位是赫兹HZ,赫兹是用来表示频率的单位,一赫兹表示一个周期。下面那个Clock就是时钟的代表」
这是他的微架构,可以看到和我们上面组装的差不多。
上面的第一个单芯片CPU,它的时钟速度达到了740千次赫兹,每秒74万次,这已经很快了,但是现在更快~~
「一兆赫兹是一秒一百万个时钟周期,现在人们用的电脑和手机肯定几千兆赫兹,也就是一秒钟十亿次时钟周期」
「也就是修改时钟速度,加快CPU速度」
「芯片制造商经常给CPU留一点余地,可以接受一点超频,但是超频过多会让CPU过热或产生乱码,因为信号跟不上时钟」
有时我们没有必要让处理器全速允许,比如用户走开了,或者在跑一个性能要求极低的程序,把**「CPU的速度降下来,可以省很多电.」**
省电对于用电池的设备很重要,比如笔记本和手机,为了更省电,很多现代处理器可以按需求加快或减慢时钟速度,这叫动态调整频率.
「RAM是在CPU外面的独立组件」 ,CPU和RAM之间**「通过”地址线“,”数据线“和”允许读/写线“进行通信,」** 上面提到的很多机制依然存在于现代处理器里。
全部0条评论
快来发表一下你的评论吧 !