5.5.2指令流水线 影响因素分类
1.机器周期的设置
2.影响流水线的因素
2.1 结构相关(资源冲突,互斥)
由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。
这里的ID阶段和WB阶段的寄存器冲突,即取指令的寄存器和存储数据的寄存器为同一个,所以冲突了
解决办法:
1.后一相关指令暂停一周期
2.资源重复配置:数据存储器+指令存储器(即设置两个不同的寄存器)
2.2 数据相关(数据冲突,数据冒险,同步)
数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令即为数据相关。
解决办法:
1.把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件
阻塞(stall)和软件
插入“NOP”两种方法。
2.数据旁路技术。
设置相关专用通路,即不等前一条指令把计算结果写回寄存器组,下一条指令也不再寄存器组(而直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程使本来需要暂停的操作变得可以继续执行,这称为数据旁路技术。
3.编译优化:通过编译器调整指令顺序来解决数据相关。
2.3 控制相关(控制冲突)
当流水线遇到转移指令和其他改变PC值的指令而造成断流时,会引起控制相关。
解决办法:
1.转移指令分支预测。简单预测(永远猜ture或false)、动态预测(根据历史情况动态调整)
2.预取转移成功和不成功两个控制流方向上的目标指令(把正确和错误的指令都取出,做两手准备)
3.加快和提前形成条件码
4.提高转移方向的猜准率(即对第一种方法的优化)
3.流水线的分类(了解即可)
3.1部件功能级、处理机级和处理机间级流水线
根据流水线使用的级别的不同,流水线可分为部件功能级流水线、处理机级流水线和处理机间流水线。
部件功能级流水
就是将复杂的算术逻辑运算组成流水线工作方式。例如,可将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化等4个子过程。
处理机级流水
是把一条指令解释过程分成多个子过程,如前面提到的取指、译码、执行、访存及写回5个子过程。
处理机间流水
是一种宏流水,其中每一个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中。
3.2单功能流水线和多功能流水线
按流水线可以完成的功能,流水线可分为单功能流水线和多功能流水线。
单功能流水线
指只能实现一种固定的专门功能的流水线;
多功能流水线
指通过各段间的不同连接方式可以同时或不同时地实现多种功能的流水线。
3.3动态流水线和静态流水线
按同一时间内各段之间的连接方式,流水线可分为静态流水线和动态流水线。
静态流水线
指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
动态流水线
指在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算。这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂。
3.4线性流水线和非线性流水线
按流水线的各个功能段之间是否有反馈信号,流水线可分为线性流水线与非线性流水线。
线性流水线
中,从输入到输出,每个功能段只允许经过一次,不存在反馈回路。
非线性流水线
存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线适合进行线性递归的运算。
4.流水线的多发技术
4.1超标量技术
每个时钟周期内可并发多条独立指令,要配置多个功能部件
不能调整指令的执行顺序,对于123和456之间
通过编译优化技术,把可并行执行的指令搭配起来,对于123内部或456内部
4.2超流水技术
在一个时钟周期内再分段(3段)
在一个时钟周期内一个功能部件使用多次(3次)
不能调整指令的执行顺序
靠编译程序解决优化问题
4.3超长指令字
由编译程序挖掘出指令间潜在的并行性,
将多条能并行操作的指令组合成一条
具有多个操作码字段的超长指令字(可达几百位)
采用多个处理部件
5.5.2指令流水线 影响因素分类相关推荐
- 指令流水线影响因素分类
文章目录 影响指令流水线的因素 1. 结构相关(资源冲突) 解决办法: 2. 数据相关(数据冲突) 解决办法: 3. 控制相关(控制冲突) 解决办法: 影响指令流水线的因素 1. 结构相关(资源冲突) ...
- (计算机组成原理)第五章中央处理器-第五节2:指令流水线影响因素和分类及多发技术
文章目录 一:影响指令流水线的因素 (1)结构相关(资源冲突) (2)数据相关(数据冲突) (3)控制相关(控制冲突) 二:流水线的分类 (1)根据流水线使用的级别不同分类 (2)根据流水线可以完成的 ...
- 组原5_指令流水线影响因素和流水线分类
目录 1. 机器周期的设置 2. 影响流水线的因素 3. 零碎概念 1. 机器周期的设置 对于这些硬件,取指阶段和访存阶段能够拆分为两段原因在于将指令和数据分开存储,否则取指的时候和存回数据的时候访问 ...
- 9 计算机组成原理第五章 中央处理器 指令流水线
文章目录 1 指令流水线基本概念性能指标 1.1 指令流水的定义 1.1.1 指令分法 1.1.2 指令执行时间 1.2 流水线的表示方法 1.3 流水线的性能指标 2 指令流水线影响因素分类 2.1 ...
- 计组之中央处理器:7、指令流水线基本概念性能指标、影响因素
7. 指令流水线基本概念 指令流水的定义 指令的执行方式 流水线的表示方法 流水线的性能指标 1. 吞吐率 2. 加速比 3. 效率 指令流水线的影响因素 五段式指令流水线 影响因素 1.结构相关(互 ...
- 指令流水线 —— 分类和多发技术
一.指令流水线的分类 (1)按照使用级别分 根据流水线使用的级别的不同,流水线可分为部件功能级流水线.处理机级流水线和处理机间流水线. 部件功能级流水:将复杂的算术逻辑运算组成流水线工作方式.例如,可 ...
- 计组高分笔记:【05】中央处理器 「CPU细节 | 取指周期 | 间址周期 | 执行周期 | 中断周期 | 数据通路 | 硬布线控制器 | 微程序控制器 | 指令流水线 | LOAD | STORE」
文章目录 1. CPU的功能和基本结构 1.1 CPU的组成 1.1.1 运算器的基本组成 1.2.2 控制器的基本组成 1.2.3 CPU的总图 2. 指令执行过程 2.1 指令周期 2.2 指令的 ...
- 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
其他科目导航 [专栏必读]王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 [专栏必读]王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概 ...
- 【专栏必读】王道考研408计算机组成原理万字笔记、题目题型总结、注意事项、目录导航和思维导图
王道考研复习指导下载(密码7281) 其他科目导航 [专栏必读]王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 [专栏必读]王道考研408数据结构万字笔记(有 ...
最新文章
- python主要用于后端开发还是前端,Django是用于前端还是后端?
- java调用存储过程之环境测试
- if...else..的错误用法
- 重装vcenter后恢复原来制作的模板!
- java开发引擎_【java规则引擎】java规则引擎搭建开发环境
- vs2013 git 使用总结
- Ubuntu18.04 下联想电脑 无法连接WIFI问题解决
- PuTTY/PSCP、PSFTP介绍及使用
- 人性的弱点---第三篇---得人同意于你的十二种方法3
- 第五天 面向对象软件分析与设计
- Java核心技术 卷I 基础知识 学习笔记(1)
- 靠谱,这个低代码平台贼好用
- JS 播放语音,将文本转成语音播放
- 常见搜索算法(二):二分查找
- 动态路由、OSPF多区域、ABR,ASBR
- windows无法启动Apache服务,错误1067:进程意外终止
- 伽利略定位系统的历史
- android开发中遇到的问题汇总
- 关于skeaz128.h芯片包总头文件V1.3版本与V1.2版本的变更说明
- 服务器维护中轩辕,轩辕服务器为什么老是-轩辕服务器为什么 – 手机爱问