victory的博客

长安一片月,万户捣衣声

0%

CPU | CPU的组成以及功能

回顾一下CPU的组成以及各组件的功能。

CPU运算器(arithmetic unit) 和控制器(controller)组成,运算器负责对数据进行加工处理(加减乘除等算数运算、与或非等逻辑运算),控制器负责解析指令并向运算器或者存储器发出控制信号。

运算器的组成及各部分的功能

  • 乘商寄存器MQ(Mulitple Quotient Register):用于存放乘、除法运算时的操作数或运算结果

  • 累加器ACC(Accumulator):用于存放加、减法运算的操作数或运算结果

  • 算术逻辑单元ALU(Arithmetic Logic Unit):通过内部复杂的电路实现算数运算、逻辑运算

  • 通用寄存器X:用于存放操作数

  • ``程序状态字PSW(Program State Word):一个特殊的寄存器,用于存储CPU执行指令时的一些重要状态信息标志位。PSW在指令执行过程中被不断地更新,以反应当前指令执行的状态和结果`。

    • PSW的重要标志位
      • 零标志位(ZF):当运算结果为0时,ZF被置为1,否则为0
      • 符号标志位(SF):当运算结果为负数时,SF被置为1,否则为0
      • 进位标志位(CF):在无符号加法和减法中,当结果超出了所能表示的范围时,CF被置为1,否则为0
      • 移除标志位(OF):在有符号加法和减法中,当结果超出了所能表示的范围时,OF被置为1,否则为0
      • 奇偶标志位(PF):当运算结果中1的个数为偶数时,PF被置为1,否则为0
  • 运算器中不同寄存器存放的操作数类型

    ACC 被加数、和 被减数、差 乘积高位 被除数、除数
    MQ 乘数、乘积低位
    X 加数 减数 被乘数 除数

控制器的组成及各部分的功能

  • 控制单元CU(Contorl Unit):分析指令,给出控制信号
  • 指令寄存器IR(Instruction Register):存放当前执行指令
  • 程序计数器PC(Program Counter):存放指令地址,有自动加一功能

以计算加法运算“1+1”为例

  1. CPU根据PC中的地址,将存储器中的指令“1+1”搬运到指令寄存器IR中(PC自动+1,指向下一条需要执行的指令)
  2. CPU的CU对IR中的指令进行分析,将被加数1放入运算器的ACC中,将加数放入X中
  3. CU控制ALU对ACC、X中的操作数进行运算,并将运算后的结果放入ACC中(此时PSW的一些标志位的值:ZF=0,SF=0,CF=0,PF=0)
  4. CPU将ACC中的结果搬运到存储器中,完成本次运算