计算机组成原理 - CPU 中央处理器

中央处理器

  • CPU的结构
    • 运算器: 对数据进行加工
      • ALU与存储器组的连接结构
        • 专用数据通路
        • 专用数据通路 + 多路选择器
        • 专用数据通路 + 三态门
        • CPU单总线方式
          • 暂存寄存器
    • 控制器 : 指挥整个系统的工作
  • CPU四大基本结构 : 运算器 - ALU 组合逻辑 / 控制器 - 时序逻辑 / 寄存器 / 中断系统
  • CPU中指令的执行过程
    • 基本概念
      • 指令周期的概念 : 一个指令一生的时间
      • 机器周期 : CPU周期 - 指令周期的基本单位
      • 一个指令由多个机器指令构成
      • 一条指令执行过程
        • 四个标志触发器 - 识别现在处于哪个周期
    • 数据流: 访问数据时的不同阶段
      • 取指周期 - 取指令
      • 间址周期 - 取地址
      • 执行周期
      • 中断指令 - 存程序断点
    • 指令执行方案
      • 单指令
      • 多指令
      • 指令流水线
  • 数据通路:数据和控制信号在功能部件之间传送的路径
    • 数据通路基本结构
      • CPU单总线
        • 寄存器之间数据传送
        • 主存和CPU的数据传送
        • 执行算术或逻辑单元
        • 单总线例题
          • 取指周期
          • 间址周期
          • 执行周期
      • CPU多总线
      • 专用数据通路
        • 专用数据通路例题⭐
  • 控制器
    • 控制器的功能
    • 控制器信号 - 4输入2输出⭐
    • 控制器分类
      • 硬布线控制器 : 即时产生控制信号
        • CPU控制方式
          • 同步控制 - 统一的时钟信号
          • 异步控制方式 - 应答机制
          • 联合控制 - 同步+异步
        • 硬布线设计
          • 安排微操作时序 - 3原则
            • 取指周期
            • 间址周期
            • 执行周期 - 常见指令
            • 中断周期
          • 组合逻辑设计
      • 微程序控制器 : 控制指令事先存好
        • 微程序=n*微指令
        • 微程序控制器结构
          • 控制存储器CM
        • 微指令的地址
        • 微程序控制单元的设计(略89)
  • 指令流水线 - 提升CPU工作效率
    • 铺垫
      • 指令执行的过程
      • 不同指令执行方式的比较
    • 流水线的表示方式
      • 指令执行过程图 - 分析影响流水线因素
      • 时空图 - 分析流水线效率
        • 流水线性能指标
          • 吞吐率
          • 加速比
          • 效率
    • 流水线影响因素
      • 指令执行五阶段
      • 五阶段过程中可能造成的冲突
        • 结构相关 - 资源冲突
        • 数据相关 -数据冲突
          • 硬件阻塞 / 软件插入
          • 数据旁路技术
          • 数据冲突 - 例题
        • 控制相关 - 控制冲突

计算机组成原理 - CPU 中央处理器_第1张图片

CPU的结构

cpu有哪些功能?
对应这些功能都设计了什么结构?

cpu功能: 
指令控制  : 存取指令,分析指令,执行指令
操作控制 : 操作信号的送达
时间控制 : 
数据加工 : 数据加工 逻辑运算
中断处理 :中断处理

橙色部分为用户可见的寄存器
计算机组成原理 - CPU 中央处理器_第2张图片

运算器: 对数据进行加工

算术逻辑单元 ALU : 数据的运算
通用寄存器组:存放操作数 , 或者被指定成其他功能寄存器    // 简化写成R0,R1,R2
ACC累加器
PSW程序状态字寄存器:存放六个标志位
移位器

ALU与存储器组的连接结构

专用数据通路

每个寄存器都与ALU相连 - 专用数据通路方式
存在问题: 使用导线,相当于多个寄存器同时和ALU交换数据,并且一直传输,很容易造成错乱

计算机组成原理 - CPU 中央处理器_第3张图片

专用数据通路 + 多路选择器

根据线选,让只有一路输出
计算机组成原理 - CPU 中央处理器_第4张图片

专用数据通路 + 三态门

控制每一组线是否输出,相当于一组开关
计算机组成原理 - CPU 中央处理器_第5张图片

CPU单总线方式

所有寄存器输出端和出入端都连接到一条公路上
缺点:容易造成数据冲突

暂存寄存器

因为不能让A和B都输入同样的数据,所以加入暂存寄存器,形成一种时间差
暂存寄存器: 也用于暂存来自主存的数据,避免数据存入通用寄存器破坏原有数据
计算机组成原理 - CPU 中央处理器_第6张图片运算的结果也输出到数据总线中,
这个时候增加一个暂存寄存器避免输出结果对原有输入的干扰和破坏

控制器 : 指挥整个系统的工作

取指令: 存储器中取出指令
分析指令: 分析这个指令是要干啥,并找到对应数据的地址
执行指令: 根据指令调用运算器,存储器 I/O设备
终端管理

取指令: 从存储器中取出指令*, 自动发出取指令命令
分析指令: 分析指令要完成什么操作 - 操作码译码
         分析参与这次操作的操作数地址
执行指令: 根据操作命令和操作数地址,形成操作信号控制序列
         控制运算器,存储器,I/O设备完成响应的操作

CPU四大基本结构 : 运算器 - ALU 组合逻辑 / 控制器 - 时序逻辑 / 寄存器 / 中断系统

计算机组成原理 - CPU 中央处理器_第7张图片

CPU中指令的执行过程

基本概念

指令周期的概念 : 一个指令一生的时间

指令周期 = 取指周期 + 执行周期
取指: 取指令和分析指令
计算机组成原理 - CPU 中央处理器_第8张图片

机器周期 : CPU周期 - 指令周期的基本单位

时钟周期: 一个上下,基本单位,节拍 - 机器周期的基本单位

机器周期包含若干时钟周期
指令周期包含若干机器周期

指令周期 > 机器周期 > 时钟周期

计算机组成原理 - CPU 中央处理器_第9张图片

一个指令由多个机器指令构成

指令周期的机器周期 数可以不同
取指周期 = n个机器指令
执行周期 = m个机器指令
间址周期 = x个机器指令 - 去主存中找数据的行为
计算机组成原理 - CPU 中央处理器_第10张图片

一条指令执行过程

计算机组成原理 - CPU 中央处理器_第11张图片

四个标志触发器 - 识别现在处于哪个周期

计算机组成原理 - CPU 中央处理器_第12张图片
计算机组成原理 - CPU 中央处理器_第13张图片

数据流: 访问数据时的不同阶段

主要强调不同阶段的序列

取指周期 - 取指令

IR 存储最终结果
PC :下一指令地址 常+1
CU 控制单元
MAR : 数据地址
MDR: 数据
计算机组成原理 - CPU 中央处理器_第14张图片

间址周期 - 取地址

计算机组成原理 - CPU 中央处理器_第15张图片

执行周期

计算机组成原理 - CPU 中央处理器_第16张图片

中断指令 - 存程序断点

一般用堆栈来保存断点
断点: 位置 , 中断后返回的地址
计算机组成原理 - CPU 中央处理器_第17张图片

指令执行方案

单指令

多指令

指令流水线

数据通路:数据和控制信号在功能部件之间传送的路径

信息从哪里开始 ?经过哪些部件 ?最后传到哪里?
数据通路是怎么建立的 : 控制组件的控制信号

数据通路基本结构

CPU单总线

内部总线: CPU连接各寄存器以及运算单元的总线
系统总线:CPU,内存,和各类I/O接口的总线

寄存器之间数据传送

计算机组成原理 - CPU 中央处理器_第18张图片

主存和CPU的数据传送

执行算术或逻辑单元

单总线例题

R0寄存器存的是数据 , (R0) R0存的是地址
ADD (R0) , R1
从R0中取地址,该地址的数据 + R1存的数据 然后存入R0中

取指周期

计算机组成原理 - CPU 中央处理器_第19张图片

间址周期

取数,暂存器Y
计算机组成原理 - CPU 中央处理器_第20张图片

执行周期

相加,相加后存回主存
计算机组成原理 - CPU 中央处理器_第21张图片

CPU多总线

专用数据通路

更容易理解,没有总线,根据数据流向设计电路图
C0C1C2… C4是译码,一般默认自动完成
计算机组成原理 - CPU 中央处理器_第22张图片

专用数据通路例题⭐

() 等价于 解引用 *

控制器

控制器是如何指挥整个系统工作的?
怎么样判别,地址总线是访问CPU内存的 还是 输入输出设备的(I/O设备)?

地址总线(接收信号): CPU和I/O设备通过地址总线接收地址信息
控制总线(接收信号): CPU内存和I/O设备都是通过控制总线得到控制信号
数据总线(双向): CPU 内存和I/O设备交换数据
接口: I/O设备通过接口 与 总线相连

控制器的功能

计算机组成原理 - CPU 中央处理器_第23张图片

控制器信号 - 4输入2输出⭐

计算机组成原理 - CPU 中央处理器_第24张图片

控制器分类

硬布线控制器 : 即时产生控制信号

在这里插入图片描述
计算机组成原理 - CPU 中央处理器_第25张图片

CPU控制方式

同步控制 - 统一的时钟信号

控制信号来自统一的时钟信号
计算机组成原理 - CPU 中央处理器_第26张图片

异步控制方式 - 应答机制

应答方式
计算机组成原理 - CPU 中央处理器_第27张图片

联合控制 - 同步+异步

在这里插入图片描述

硬布线设计

计算机组成原理 - CPU 中央处理器_第28张图片

安排微操作时序 - 3原则

微操作先后顺序不更改
被控对象不同尽量在同一节拍内完成操作
占时间短的微操作尽量在同一个节拍内完成

取指周期

计算机组成原理 - CPU 中央处理器_第29张图片

间址周期

计算机组成原理 - CPU 中央处理器_第30张图片

执行周期 - 常见指令

计算机组成原理 - CPU 中央处理器_第31张图片

中断周期

1245保存断点 3 硬件关中断 6中断程序入口地址
计算机组成原理 - CPU 中央处理器_第32张图片

组合逻辑设计

计算机组成原理 - CPU 中央处理器_第33张图片状态条件 I : 间址阶段 I非 : 执行阶段

微程序控制器 : 控制指令事先存好

控制指令事先存好,放到控制存储器中,按照取指的方法使用对应的控制指令
在这里插入图片描述
电路设计不可更改,∴引入了微程序

微程序=n*微指令

微命令 : 控制信号  (微指令)
        相容性微命令 / 互斥性微命令
微操作: 微命令的执行过程
微程序 :多个微指令

机器指令 对应 一个微程序 对应 多个微指令

微程序控制器结构

首字母加上C 代表微
计算机组成原理 - CPU 中央处理器_第34张图片

控制存储器CM

微指令的最后一条指令 对应的 位地址码字段 对应取指周期的第一条微指令
间址周期的最后 跳转到执行周期
执行周期的最后 跳转到取指周期
n个机器指令 , 最少需要n+1个微程序 , 至少存在一个公共的取指周期微程序
计算机组成原理 - CPU 中央处理器_第35张图片

微指令的地址

指令 指的是 机器指令
计算机组成原理 - CPU 中央处理器_第36张图片计算机组成原理 - CPU 中央处理器_第37张图片

微程序控制单元的设计(略89)

指令流水线 - 提升CPU工作效率

本质是 并行工作 :最大程度的调用硬件资源,使其不空闲

为什么引入流水线的结构 - 为了提升CPU工作效率
有哪些结构?
会产生什么问题?

铺垫

指令执行的过程

计算机组成原理 - CPU 中央处理器_第38张图片

不同指令执行方式的比较

流水线的表示方式

计算机组成原理 - CPU 中央处理器_第39张图片

指令执行过程图 - 分析影响流水线因素

计算机组成原理 - CPU 中央处理器_第40张图片

时空图 - 分析流水线效率

计算机组成原理 - CPU 中央处理器_第41张图片

流水线性能指标

吞吐率
k: 一个任务划分k个阶段
△t : 每个任务时间需要△t时间完成
首部 k△t + 尾部(n-1)△t

计算机组成原理 - CPU 中央处理器_第42张图片

加速比

不使用流水线时间 / 使用流水线时间
计算机组成原理 - CPU 中央处理器_第43张图片

效率

面积之比 红面积 / 蓝色面积
计算机组成原理 - CPU 中央处理器_第44张图片

流水线影响因素

计算机组成原理 - CPU 中央处理器_第45张图片

指令执行五阶段

锁存器 = 缓冲寄存器,用来缓存每一段流水的数据

fetch v取,拿来
decode  v 解码 破译
EXecute v 处理,执行 处决
memory n 记忆,存储
writeback v 回写,写回

计算机组成原理 - CPU 中央处理器_第46张图片

五阶段过程中可能造成的冲突

结构相关 - 资源冲突

本质矛盾:
 调用了相同的硬件资源
解决办法:

  1. 暂停后一指令一周期,待前一指令执行完释放资源了,后一指令再执行
  2. 资源重复配置,单独设置,配置到不同的存储器中MEM -> dataMEM / InstructionMEM

数据相关 -数据冲突

这一条指令的输入是上一条指令输出的结果
上一条指令没有结果,就会造成下一条指令的冲突
计算机组成原理 - CPU 中央处理器_第47张图片

解决办法:

  1. 暂停后一指令一周期,待前一指令执行完释放资源了,后一指令再执行 - 硬件阻塞 / 软件插入
  2. 数据旁路技术 - r2 + r3的结果不存回r1 直接拿去使用
  3. 编译优化 - 编译器调整指令顺序
硬件阻塞 / 软件插入

计算机组成原理 - CPU 中央处理器_第48张图片计算机组成原理 - CPU 中央处理器_第49张图片

数据旁路技术

在这里插入图片描述

数据冲突 - 例题

按序发射,按序完成 : 不能改变顺序
转发技术 : 数据旁路技术
同一寄存器的读和写不能在同一时间周期内完成 : 没有采用多个寄存器 , 多个硬件资源
计算机组成原理 - CPU 中央处理器_第50张图片补充:
RAW 倒着看 写后读 冲突
计算机组成原理 - CPU 中央处理器_第51张图片

控制相关 - 控制冲突

跳转造成的指令浪费
解决方法:提前让流水线知道我要跳转,那就不打白工了鸭
统计跳转的概率和不跳转的概率,走概率高的那个
计算机组成原理 - CPU 中央处理器_第52张图片

你可能感兴趣的:(计算机组成原理)