- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
3.3 流水线相关冲突及解决办法_v3.0
计算机体系结构
3 流水线技术
张伟
计算机学院
©
北京信息科技大学1
计算机体系结构
3.4 流水线的相关
相关:两条指令之间存在某种依赖关系。
如果两条指令相关,则它们就有可能不
能在流水线中重叠执行或者只能部分重叠
执行。
相关有3种类型
数据相关(也称真数据相关)
名相关
控制相关
北京信息科技大学
计算机体系结构
3.4 流水线的相关
数据相关
对于两条指令i (在前,下同)和j (在后,下同),如
果下述条件之一成立,则称指令j与指令i数据相关。
指令j使用指令i产生的结果;
指令j与指令k数据相关,而指令k又与指令i数据相关。
数据相关具有传递性。
数据相关反映了数据的流动关系,即如何从其产生者流
动到其消费者。
北京信息科技大学
计算机体系结构
3.4 流水线的相关
例如:下面这一段代码存在数据相关。
Loop: L.D F0,0 (R1) // F0为数组元素
ADD.D F4,F0,F2 // 加上F2中的值
S.D F4,0 (R1) // 保存结果
DADDIU R1,R1,-8 // 数组指针递减8个字节
BNE R1,R2,Loop // 如果R1≠R2,则分支
北京信息科技大学
计算机体系结构
3.4 流水线的相关
当数据的流动是经过寄存器时,相关的检测比较
直观和容易。
当数据的流动是经过存储器时,检测比较复杂。
相同形式的地址其有效地址未必相同。
形式不同的地址其有效地址却可能相同。
2. 名相关
名:指令所访问的寄存器或存储器单元的名称。
如果两条指令使用相同的名,但是它们之间并没有
数据流动,则称这两条指令存在名相关。
北京信息科技大学
计算机体系结构
3.4 流水线的相关
指令j 与指令i之间的名相关有两种:
反相关:如果指令j写的名与指令i读的名相同,则
称指令i和j发生了反相关。
指令j写的名=指令i读的名
输出相关:如果指令j和指令i写相同的名,则称指
令i和j发生了输出相关。
指令j写的名=指令i写的
文档评论(0)