0%

CPU执行原理

[toc]

cpu包含两类东西:

  1. 控制器。
  2. 运算器ALU

详解:

1. 控制器#

控制器主要负责

  • 取指令
  • 分析指令(译码)
  • 执行指令

包含的东西有

  • 程序计数器PC
  • 指令寄存器IR
  • 指令译码器
  • 地址寄存器MAR
  • 数据寄存器MDR
  • 时序系统,分频,时序信号
  • 微操作信号发生器CU
  • 中断标记寄存器

2.运算器#

包含

  • ALU算术逻辑单元(底层是数电的那种门电路实现)
  • 暂存寄存器——只负责暂存读出来的数据,不存中间结果
  • 累加寄存器——暂存ALU的“运算”结果
  • 通用寄存器组—— 存放操作数和地址信息等。
  • 程序状态字寄存器PSW——存放当前指令执行结果的各种状态信息,如有无进位(CY位),有无溢出(OV位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(P位)
  • 移位器
  • 计数器——控制乘除时的操作步数

指令周期#

CPU指令周期分为 取指、间指、执行、中断四个周期。

  • 取指:
    PC->MAR->主存->MDR->IR->CU控制PC+1

简单来说
PC把指令地址存入MAR地址寄存器
主存取出指令数据,放到MDR
MDR把指令转到IR里存着
CU控制PC+1

  • 间指
    IR->MDR->MAR->存储器->MDR

要寻找指令执行数据的地址
IR解析地址数据,放到MDR中
MDR把地址放到MAR中,让他进行读操作
主存中读出的数据放入MDR中

  • 中断
    PC->MDR->主存 原地址存入主存
    CU->PC更新中断地址