考研笔记-计算机之计算机组成原理:指令系统(指令流水)
- 2026-11-06 03:36:28
——如阅读体验不佳,可转为横屏阅读;如微信无法横屏,可尝试文末方法。
表-提高性能 | |
提高性能的方法 | 提高器件性能 |
改进系统架构 |
表-并行性 | |||
并行性 | 粗粒度(过程级) | 软件实现 | 作业级(处理机) |
进程级(芯片核) | |||
细粒度(指令级) | 硬件实现 | 指令级 | |
操作级(部件) |
表-流水线设计 | |
指令流水的主要技术途径 | 1) 时间重叠;(时间)或, 2) 功能部件专用化。(空间) |
流水线应注意的问题 | 1) 时间上:流水线中各个流水段的时间长度相同,且由各个段中实际占用时间最长的段决定,该最长时间即为流水节拍。 2) 空间上:流水线中相邻两段间需加锁存器或寄存器,保证在一个时钟周期内流水线的输入信号不变。 (流水线设计因以上两个问题而导致单条指令的指令周期时长增加。) |
表-影响流水线性能的因素 | ||||
影响因素 | 产生原因 | 分类 | 说明 | 解决方法 |
结构相关 | 指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突 | 主要是因取指令和取数据引起的访存冲突 | 1) 流水线在完成前一条指令对数据的存储器访问时,暂停(一个时钟周期)取后一条指令的操作。 2) 设置两个独立的存储器分别存放数据和指令。 3) 指令预取技术。指令预取技术的实现基于访存周期很短。 | |
数据相关 | 流水线中的各条指令因重叠操作,可能改变对操作数的读写访问顺序,从而导致数据相关冲突 | 写后读相关 (RAW) | 按序流动的流水线中只可能出现RAW相关,乱序流动的流水线可能出现RAW、WAR和WAW相关(因为对于单条指令而言,写操作一般在指令周期的最后阶段执行,读操作先于写操作) | 1) 后推法,即遇到数据相关时,停顿后继指令的运行,直至前面指令的结果已经生成。 2) 定向技术(旁路技术或相关专用通路技术)。主要思想是不必等待某条指令的执行结果送回到寄存器后,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方。 |
读后写相关 (WAR) | ||||
写后写相关 (WAW) | ||||
控制相关 | 流水线遇到转移指令 | 1) 尽早判断转移是否发生,尽早生成转移目标地址。 2) 预取转移成功或不成功两个控制流方向上的目标指令。 3) 加快和提前形成条件码。 4) 提高转移方向的猜准率。 |
表-流水线性能 | |||||||||
性能指标 | 指标定义 | 指标公式 | |||||||
吞吐率 (Throughput rate) | 单位时间内流水线所完成指令或输出结果的数量 |
| |||||||
加速比 (Speedup ratio) | m段流水线的速度与等功能的非流水线的速度之比 |
| |||||||
效率 (Efficiency) | 流水线中各功能段的利用率 |
| |||||||
说明: 1) n—指令数;m—流水线段数;δt—流水线各段的运行时间(假设各段的运行时间相等)。(上述各个公式仅在单条指令的各指令周期在流水线设计和非流水线设计中均分别相同时才成立。) 2) 流水线阶段
只有在流水线处于稳定阶段时各项性能指标才可同时达到各自的最大值; 3) 通常用流水线各段处于工作时间的时空区与流水线中各段总的时空区之比来衡量流水线的效率。时空图的横坐标轴表示时间(即流水线的节拍),纵坐标轴表示空间(即流水线的各段)。 4) 流水线时空图中每条指令的各个流水线阶段在时间上首尾衔接(即在满足指令相关的前提下,同一条指令的上一阶段的结束时间应延时至下一阶段的开始时间,两阶段在时空图表示上中间不应有时间间隔)。 |
表-流水线中的多发技术 | ||
技术 | 定义 | 实现 |
超标量 | 每个时钟周期内同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译并执行 | 多个功能部件和指令译码电路 |
超流水 | 将一些流水线寄存器插入到流水线段中,好比将流水线再分段 | 编译优化 |
超长指令字 | 编译程序在编译时挖掘出指令间潜在的并行性,将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令,由该超长指令控制VLIW机中多个独立工作的功能部件,每个操作码字段控制一个功能部件 | 编译优化 |
说明: 1) 多发技术:一个时钟周期内产生多条指令的结果。 |
文章合集:
点击下方公众号主页,关注以阅读更多文章
——可选择“【右上角···】→【在浏览器中打开】”进行横屏阅读。


