Central Processing Unit

CPU

  • Central Processing Unit
  • 它是能让计算机被称为 计算机 的核心组件

CPU主要组成

  1. ALU(算术逻辑单元)
  2. CU(控制单元)
  3. SU(存储单元)

CPU具体组成结构

  1. 运算器
  2. 操作控制器
  3. 预取器
  4. 寄存器
  5. 时钟
  6. 指令译码器
  7. 数据高速缓存
  8. 总线

运算器

操作控制器

预取器

寄存器

  1. 程序计数器 ---- 仅1个

    Program Counter:存放下一条指令所在的地址

    • 程序执行时,程序计数器(PC)的初值是程序的第一条指令的地址,控制器根据PC中的地址找到第一条指令,然后分析和执行该指令,此时根据指令使PC中的值加1(顺序执行)或者变成指向下一条指令的地址(条件,循环),程序计数器控制着程序的流程
    • 函数调用及返回机制
      • call指令

        程序执行到一个可执行函数的指令时,将下一条指令的地址作为目的地地址存放到栈内存中,等待函数执行结束后return指令调用

      • return指令

        将栈内存中的目的地地址设定在程序计数器中,使得程序继续运行

  2. 累加寄存器 ---- 仅1个

    存储需要运算的数据和运算后的数据

  3. 标志寄存器 ---- 仅1个

    存储处理器的状态和运算结果的特征,控制指令的执行

    • 标志寄存器的第一(低位0),第二(低位1),第三(低位2)比特位为1分别代表正,零,负的状态,低三位一般有xxxxxxx001:正;xxxxxxx010:零;xxxxxxx100:负,这三种状态。在CPU做比较运算的操作时,会做减法操作,无论减法的结果是正还是负还是0都会保存在标志寄存器中,正表示X大于Y,零表示相等。所以程序比较的指令实际上是做减法运算
  4. 指令寄存器 ---- 仅1个

    存放正在被运行的指令,CPU内部使用,用户无法读取该寄存器

  5. 栈寄存器 ---- 仅1个

    存储栈区域的起始位置

  6. 基址寄存器 ---- 可多个

    存储数据内存的起始位置

    • 通过地址和索引实现数组,和变址寄存器地址相加得出连续的实际地址
  7. 变址寄存器 ---- 可多个

    存储基址寄存器的相对地址

    • 通过地址和索引实现数组,和基址寄存器地址相加得出连续的实际地址
  8. 通用寄存器 ---- 可多个

    存储任意数据

时钟

指令译码器

数据高速缓存

总线

CPU执行流程

  • 取指令
  • 译指令
  • 执行指令
  • 取数据
  • 结果写回
posted @ 2021-07-26 22:56  拉布  阅读(123)  评论(0编辑  收藏  举报