计算机科学速成课听课随笔2
中央处理器(CPU)
计算机的心脏就是“中央处理单元”,简称“CPU”
CPU负责执行程序,而程序由一步步的操作完成,这些操作就叫做“指令”
但是对于俺们小白来说,详细的理解CPU的各个组件和各个线的分布是不太可能的
我们需要一个高层次的视角叫做“微体系架构”(应该就是抽象的理解一下的意思
想要简单的组建一下CPU我们需要RAM(RAM是一个独立于CPU之外的组件),和几个寄存器和实现其他指令的组件用来临时存数据和操作数据,如下图
以下描述以RAM只有16个位置,一个位置存8位为例:
指令地址寄存器用来跟踪程序的读取位置,也就是记录读取到指令的地址
指令寄存器,顾名思义,就是用来储存指令的地方
假设给所有cpu支持的指令,分配一个ID并制定一个指令表,例如下图
读取到的数据分为前四位和后四位,前四位用来储存操作指令,简称为操作码,后四位为地址可以是寄存器其或内存地址
第一个阶段叫做取指令阶段,将“指令地址寄存器”连接到RAM,并读取RAM地址中的指令数据
第二个阶段叫做解码阶段,将操作码在指令表中查询是什么指令(如上图的LOAD_A),后四位是RAM的地址,指令由“控制单元”进行解码(经过逻辑门判断)
第三个阶段是执行阶段,通过各种电线对于各个部分的操控将所得的数据按照解码之后的操作指令进行处理
处理完整之后,将“指令地址寄存器”+1去找下一条地址,“执行阶段”就此结束。
不同指令由不同逻辑电路解码,会配置CPU的组件进行相应的操作
以上的操作可以简记为“取指令—>解码—>执行”操作
后反复执行如此操作,至此为一个循环
但是计算机cpu有限,还要进行大量工作
就需要“时钟”来管理CPU的节奏
时钟以精确的间隔 触出发电信号,控制单元会用这个信号,推进CPU的内部操作,确保程序正常进行
CPU“取指令—>解码—>执行”操作的速度叫做”时钟速度“,单位是赫兹
计算机超频,相当与将计算机的时钟速度加快,达到提升性能的效果,但是会使CPU过热或产生乱码,因为信号跟不上时钟
计算机降频,在不需要太高性能时,可以达到省电的功能,何乐而不为
很多现代处理器可以按照需求,加快或减慢时钟速度,这叫做”动态调整频率“