计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)

文章目录

  • 总览
  • 指令流水线的定义
    • 指令执行方式
  • 流水线的表示方法
  • 流水线的性能指标
    • 吞吐率
    • 加速比
    • 效率
    • 小结
  • 指令流水线的影响因素
    • 机器周期的设置
    • 影响流水线的因素
      • 结构相关(资源冲突)
      • 数据相关(数据冲突)
      • 控制相关(控制冲突)
      • 小结
  • 指令流水线的分类
  • 流水线的多发技术
    • 超标量技术
    • 超流水技术
    • 超长指令字
    • 小结

总览

在这里插入图片描述

指令流水线的定义

取指阶段可能从Cache中取
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第1张图片

指令执行方式

假设每个指令分三个阶段,每个阶段时间相同
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第2张图片

流水线的表示方法

时空图与指令执行过程图的区别在于纵坐标不同
时空图的纵坐标是不同阶段的指令过程
指令执行过程图的纵坐标是各个指令
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第3张图片

流水线的性能指标

k是一个指令的k个阶段

吞吐率

单位时间内完成的指令数量

装入时间:各个硬件全部开始接着工作的时间
排空时间:各个硬件开始接着退出工作的时间
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第4张图片

加速比

计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第5张图片

效率

空闲时间不会随着任务量的增加而增加
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第6张图片

小结

计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第7张图片

指令流水线的影响因素

机器周期的设置

RISC下操作数直接来自通用寄存器

M:访存阶段
WB:写回通用寄存器组阶段
五段式指令流水线
大部分情况下都能从Cache中取到指令
大部分情况访问主存也能从Cache访问到
指令和数据可以用两个独立的Cache存储
ID:将操作数从通用寄存器取出
Imm:存指令的立即数
ALU计算的结果可能写回主存,也可能直接写回通用寄存器
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第8张图片

影响流水线的因素

结构相关(资源冲突)

资源重复配置就是将本来访问的资源在一个地方的,现在将其分成两个地方,这样就不冲突了

计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第9张图片

数据相关(数据冲突)

这是由于后面的指令依赖前面的指令产生的结果来进行运算,如果按理想化顺序执行,此时后面的指令用到的r1的数据是没经过第一条指令修改的
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第10张图片
bubble就理解啥都没做,相当于过了一段时间,才开始执行第二条指令
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第11张图片
用nop来等待
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第12张图片
数据旁路技术即将ALU的结果的数据线连到ALU的某个输入端,就不用等待写回操作了
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第13张图片
编译优化
即调整指令顺序,把不需要依赖前面指令执行的结果的指令移到前面去执行
在这里插入图片描述

控制相关(控制冲突)

就本来按流水线执行的话,修改完PC后此时后面的指令已经开始了部分了,但此时下一条应该运行的指令并不是这样已经运行部分的指令,所以此时会冲突
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第14张图片
简单预测就是直接把某种情况对应的某些指令紧接跳转指令流水线执行
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第15张图片
预取的话就是把两种结果的指令流水线都有了,但怎么执行会还会有选择
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第16张图片
就是提前判断好,从而好安排后面的指令流水线
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第17张图片
提高猜对概率呗

小结

计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第18张图片

指令流水线的分类

部件功能流水线就是一个微小的操作可为几个部分,多个操作又可以进行流水线
套娃吧
处理机间 就是各个处理机作为流水线上,(第一行一个一个处理机排列,同时第二行一个一个处理机排列,下同)
处理机 就是处理机内部的功能部件作为流水线上
部件功能级 就是部件内部的子功能部件作为流水线上
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第19张图片
单功能流水线即流水线上的部分都是为完成一个功能而做的
多功能流水线即通过流水线上的部分之间的连接多种组合实现一条流水线完成多种功能
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第20张图片
静态流水线即连接方式固定
动态流水线即连接方式可变,从而实现复杂功能
在这里插入图片描述

线性流水线即流水线没有回路
非线性流水线相反喽
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第21张图片

流水线的多发技术

不能调整的指令的执行顺序是考虑的相互间的依赖关系

超标量技术

此时多个CPU多个指令寄存器从而并发运行多条指令
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第22张图片

超流水技术

即充分利用机器周期内的内部时间,再细分化到一个机器周期内何时能开始后面的指令,或者某些部件何时开始不用了,这样就能开始运行指令的某些部分了,类似部件功能级流水线
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第23张图片

超长指令字

此时由于一个CPU只能执行一个操作码的对应功能,此时合并需要多个CPU执行各个操作码
计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第24张图片

小结

计算机组成原理-指令流水线(定义 表示方法 性能指标 影响因素 分类 多发技术)_第25张图片

你可能感兴趣的:(王道计算机组成原理考研笔记,计算机组成原理)