CPU的工作原理 – 组成部分

CPU的工作原理 – 组成部分这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战 当代的CPU(central processing unit),是一块超大规模的集成电路。我们知道计算机的世界是有0和1组成的,那是因为构

当代的CPU(central processing unit),是一块超大规模的集成电路。我们知道计算机的世界是有0和1组成的,那是因为构成CPU的晶体管只有开和关这2种状态,一块CPU中内部有数十亿的晶体管,并且还不断的增加中。CPU就像一个储存开关的大工厂,每个晶体管都是其中的一个开关,0代表关机,1代表开机,晶体管越多,开关越多。那么在你处理同样的问题时,可以参与处理的开关也就越多,工作效率也就越快。

传统意义上,CPU只是由控制器和运算器这两个主要部件组成。随着集成电路IC的不断发展,不断集成了一些新的功能部件,如浮点处理器、高速缓存(Cache)等,这些部件大大提高了CPU性能指标。综合来看,我们可以把CPU从逻辑上可以划分成3个模块:

  • 控制单元
    • 控制器是整个计算机系统的指挥中心。在控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。它内部通常包含程序计数器PC、指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、操作控制器OC(Operation Controller)和时序发生器等。
    • 指令计数器&指令寄存器
      • 指令寄存器:保存当前正在执行的指令的地址。当执行下一条指令时,会先从内存中读取到缓冲寄存器中,然后在传送到指令寄存器。
      • 指令计数器:用来确定下一条指令的地址,cpu执行指令的过程,第一步就是取指令,并将其放入指令寄存器。然后计算下条指令的地址,并送入程序计数器。
      • 指令计数器存储计算好的下一条指令的地址然后去内存取数据后将指令地址放到指令寄存器。即一个用来存当前指令(寄存器),一个用来存下条指令的地址(计数器)。
    • 指令译码器
      • 对指令进行译码,并产生相应的操作控制信号,从而启动对应的动作。
    • 操作控制器
      • 产生各种操作控制信号,指挥并控制CPU。它根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。
    • 时序发生器
      • CPU中一个类似”作息时间”的东西,使计算机可以准确、迅速、有条不紊地工作。机器一旦被启动,即CPU开始取指令并执行指令时,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机 各部分提供工作所需的时间标志。
  • 运算单元
    • 用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务(执行算术运算,包括加减乘数等基本运算及其附加运算和逻辑运算,包括移位、逻辑测试或两个值比较),其核心部件是算术逻辑单元(Arithmetic Logic Unit,ALU)。其组件还包括:累加寄存器(AC)、数据寄存器(DR)、程序状态字寄存器(PSW)等组成。
    • 算术运算逻辑单元(ALU)
      • 与门或门构成的算术逻辑单元,主要功能是执行所有的算术运算。显然,运算器中至少要有一个累加寄存器
    • 累加器(AC)
      • ALU在执行算术或逻辑运算时,为ALU提供一个工作区,暂时存放运算结果信息。
    • 状态寄存器(PSW)
      • ALU在执行逻辑运算时保存由运行或测试的结果建立的各种条件码内容,如运算结果进位标志、溢出标志,为零标志、为负标志等。

他们之间通过内部总线连接起来。简单来说,cpu 内部主要是由一大堆的运算器、控制器、寄存器组成。其内部结构如图所示:

image.png

运行原理

冯诺依曼体系结构是现代计算机的基础。在该体系结构下,程序和数据统一存储,指令和数据需要从同一存储空间存取,经由同一总线传输,无法重叠执行。根据冯诺依曼体系,CPU的运行过程会从内存或者高速缓存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。 总体分为以下4个阶段:取指令阶段、指令译码阶段、执行指令阶段、和结果写回。

  1. 取指令:CPU 控制器从内存读取一条指令并放入指令寄存器。
  2. 指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址) 。
  3. 执行指令:该阶段将连接到各种能够进行所需运算的CPU部件来进行运算。例如执行一个加法运算,ALU将会连接到一组输入和一组输出,输入提供了要相加的数值,而输出将含有总和的结果。
  4. 结果写回:以一定格式将执行阶段的结果简单的写回到寄存器或者内存中。

在执行指令并写回结果之后,程序计数器值会递增,反复整个过程,下一个指令周期正常的提取下一个顺序指令。

今天的文章CPU的工作原理 – 组成部分分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16019.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注