Skip to content

Latest commit

 

History

History
36 lines (21 loc) · 3.97 KB

CPU内部架构&工作原理.md

File metadata and controls

36 lines (21 loc) · 3.97 KB

CPU内部架构&工作原理

CPU内部架构

img

  1. 控制单元:控制单元是整个CPU的指挥控制中心,由程序计数器PC(Program Counter), 指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。
  2. 运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。
  3. 存储单元:包括CPU片内缓存寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器的数目因微处理器而异。

CPU运行原理

img

控制单元在时序脉冲的作用下**,将控制单元指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。对于执行指令过程中所需要用到的数据,会将数据地址也送到地址总线,然后CPU把数据读到CPU的内部存储单元(就是内部寄存器)暂存起来,最后命令运算单元对数据进行处理加工。

1、取指令:CPU的控制器从内存代码段读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:

img

    操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。

2、指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。 3、执行指令:分两个阶段“取操作数”和“进行运算”。 4、修改指令计数器,决定下一条指令的地址。

img

Pipeline流水线

从下图上我们可以看到,我们认为是在执行 a = 0结束后,才会执行a+=1。但是实际CPU是在执行a=0的第一条执行后,马上就去执行a+=1的第一条指令了。因为这样,执行速度上得到了大幅度的提升。

image-20220509162657015

参考链接

(19条消息) CPU的内部架构和工作原理(好文)_涛歌依旧的博客-CSDN博客_cpu架构