王嘉贝

导航

处理器 CPU

CPU的功能和结构

构成:在计算机系统中,CPU由运算器和控制器组成;
运算及: 计算加减乘除,逻辑运算
控制器: 取指令,分析和执行指令;

功能:

  1. 指令控制: 取,分析,执行,指令
  2. 操作控制: 信号传送,执行操作
  3. 数据加工: 算数与逻辑运算
  4. 时间控制: 按时间顺序提供控制信号
  5. 中断处理

其中运算器的主要构成:

    算数逻辑单元 ALU
    累加寄存器 ACC
    暂存寄存器
    通用寄存器组
    程序状态字寄存器 PSW
    移位器
    计数器 CT

控制器:运算,储存器,输入输出的控制:
分成两种类型:硬布线控制器和微程序控制器两种;

    程序计数器 PC
    指令寄存器 IR
    指令译码器 
    储存器地址寄存器 MAR
    储存器数据寄存器 MDR  
    时序系统 : 同意时钟clock分频得到
    位操作信号发生器  根据IR和PSW和时序信号 组合逻辑型 储存逻辑型

指令执行的过程:

取指过程参考之前总结
寻址过程.

CPU 从内存中取出并执行一条指令的时间 被叫做指令周期; 不同指令的指令周期不相同
RISC系统中大部分指令都是在一个时钟周期内完成,CISC指令很多超过一个时钟周期

    一个指令周期包括若干个机器周期,一个机器周期包括若干个时钟周期 

当CPU采用中断的方式来进行主机和IO设备的信息交换的时候,CPU每条指令执行结束前都需要发布中断查询信号
如果有中断请求,则进入中断响应阶段; 中断周期

一个完整的指令求职应该包括四个周期:

  1. 取指周期 : 取得,指令访存
  2. 间址周期 :取得操作数真实地址访存
  3. 执行周期 : 取操作数访存
  4. 中断周期 : 保存程序断点

为了区分不同的周期,在CPU内部设置了4个标志触发器 : FE,IND,EX,INT;
分别表示上面四个周期,1表示有效 1->FE,1->IND,1->EX,1->INT;


取址周期
    1) PC->MAR->地址总线->MM 
    2)CU -> 控制总线 -> MM 
    3)MM -> 数据总线 -> MDR -> IR
    4)CU -> (PC) +1 
间址周期。

用一次间址为案例

    1)(IR) -> MAR ->地址总线->MM 
    2) CU -> 控制总线 -> MM 
    3) MM -> 数据总线 -> MDR 
执行周期
      由于指令不同的操作流程不同,没有统一的数据流向 
中断周期

处理中断请求,保存程序断点,SP进行栈顶操作

    1) CU控制 -> SP-1 -> MAR -> 地址总线 -> MM
    2) CU Write -> 控制总线 -> MM
    3) PC -> MDR -> 数据总线 -> MM
    4)CU 中断服务入口地址 -> PC 

指令执行方案
  1. 单指令周期:
    所有的指令都在相同的执行时间内完成,下一条指令只能在前一条指令执行结束后才能启动。整个系统的运行速度会下降

  2. 多指令周期
    根据不同的指令选择不同的执行步骤,指令之间穿行,不同个数的时钟周期完成不同的执行过程

  3. 流水线方案
    指令之间可以并行执行方案,努力争取在每个时钟脉冲周期内完成一条指令的执行过程。尽量让多条指令同时运行

数据通路的功能和结构

数据在功能部件之间的传送路径叫做数据通路,例如 ALU 通用寄存器,状态寄存器,异常和中断处理逻辑

CPU内部单总线方式

将所有的寄存器输入端和输出端连接到一条公共通路上,结构比较简单;
数据传输存在较多冲突现象;性能较低,址存在一条总线;
CPU种有两条或更多的总线时构成双总线或多总线结构。

CPU内部的三总线方式

输入和输出端都连接多条公共通路,一个时钟只传递一个数据,
多总线模式在相同时间内传送不同消息提高效率

专用数据通路方式:

数据和地址的流动方向安排连接线路,避免使用共享总线,性能较高,硬件量大。


  1. 寄存器之间的数据传送: 通过CPU内部总线的完成。
    这里用PC寄存器将内容送到MAR实现传送操作的过程和控制信号为
    PC -> BUS Pc out有效,PC内容送总线
    Bus-> MAR MARin有效,总线内容送MAR。

  2. 主存和CPU之间的数据传送:
    PC -> Bus -> MAR
    1->R
    MEM(MAR) -> MDR
    MDR -> Bus -> IR.

  3. 执行算数或者逻辑运算
    因为ALU没有内部存储功能的组合电路,所以相见的两个数都必须同时有效在ALU的输入端
    所以寄存器作用在此CPU内部总线输入到暂存器Y保存

(IR) -> Bus. -> MAR.
1 -> R.
MEM -> 数据线 -> MDR
MDR -> Bus -> Y
(ACC) + (Y) -> Z
Z -> ACC.

posted on 2021-07-04 15:43  toBeGeek  阅读(274)  评论(0编辑  收藏  举报