1. 什么是中央处理器?
-
中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。
-
中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。
-
在计算机体系结构中,CPU是对计算机的所有硬件资源(如存储器、输入输出单元)
进行控制调配、执行通用运算的核心硬件单元。CPU是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。
2. “微体系架构”的高层次视角下的CPU
重点应当放在功能,而不是一根根线具体怎么连。
- 把简易ALU、寄存器和RAM放在一起,就可以组合一个简易CPU。
- 这就是CPU的基本构造。
3. CPU如何执行指令的呢?
- 假设RAM只有16个位置,每个位置存8位,再来四个8位寄存器,叫A,B,C,D,寄存器用来临时存数据和操作数据。因为数据是以二进制值存在内存里,程序也可以存在内存里,我们可以给CPU支持的所有指令,分配一个ID:指令表、指令、描述、4位操作码、地址或寄存器
- 用前四位存"操作代码"(operationcode)简称"操作码"(opcode)后四位代表数据来自哪里,可以是寄存器或内存地址,但是还需要两个寄存器,来完成CPU。1.一个寄存器追踪程序运行到哪里了,叫它"指令地址寄存器",顾名思义,存当前指令的内存地址。2.另一个寄存器存当前指令,叫"指令寄存器"
3.1 解码阶段
- 当启动计算机时,所有寄存器从0开始,第一个阶段叫"取指令阶段",负责拿到指令。首先,将"指令地址寄存器"连到RAM,寄存器的值为0,因此RAM返回地址0的值。操作代码会复制到"指令寄存器"里,现在指令拿到了,要弄清是什么指令才能执行这是"解码阶段"。
3.2 执行阶段
-
当前4位0010是LOADA指令,就是把RAM的值放入寄存器A,后4位1110是RAM的地址转成十进制是14。接下来,指令由"控制单元"进行解码,为了识别"LOADA"指令。需要一个电路,检查操作码是不是0010,,就可以开始执行了,开始"执行阶段"。用"检查是否LOAD_A指令的电路",可以打开RAM的"允许读取线"把地址14传过去,拿到值,00000011,十进制的3。因为是LOAD_A指令我们想把这个值只放到寄存器A,其他寄存器不受影响,所以需要一根线,把RAM连到4个寄存器。用"检查是否LOAD_A指令的电路"启用寄存器A的"允许写入线",这就完成了操作。
-
把RAM地址14的值,放到了寄存器A,既然指令完成了,我们可以关掉所有线路,去拿下一条指令。我们把"指令地址寄存器"+1,"执行阶段"就此结束。
4. 时钟速度
- 时钟来负责管理CPU的节奏,时钟以精确的间隔触发电信号,控制单元会用这个信号,推进CPU的内部操作,确保一切按步骤进行。
- 就像罗马帆船的船头,有一个人负责按节奏的击鼓,让所有划船的人同步就像节拍器一样,节奏不能太快。
- 因为就算是电也要一定时间来传输,取指令→解码→执行"的速度叫"时钟速度",单位是赫兹赫兹是用来表示频率的单位,1赫兹代表一秒1个周期。
5.超频
-
超频就是修改时钟速度,加快CPU的速度。
-
芯片制造商经常给CPU留一点余地,可以接受一点超频,但超频太多会让CPU过热,或产生乱码,因为信号跟不上时钟。
6. 降频
-
有时没必要让处理器全速运行,可能用户走开了,或者在跑一个性能要求较低的程序,把CPU的速度降下来,可以省很多电。
-
省电对用电池的设备很重要,比如笔记本和手机,为了尽可能省电,很多现代处理器可以按需求加快或减慢时钟速度,这叫"动态调整频率"。加上时钟后,CPU才是完整的