体系结构 各种相关(真相关、反相关、输出相关...)
数据相关、名称相关、控制相关、写后读相关、读后写相关、写后写相关、真相关、反相关、输出相关…整个人晕掉
都要不认识“相关”这两个字了
《计算机体系结构:量化研究方法 第5版中文版》
国防科技大学 计算机体系结构 第三章 课后习题及答案
https://www.icourses.cn/web/sword/portal/shareDetails?&cId=3266#/course/assignments
数据相关 真相关
以下任一条件成立,则指令j数据相关与指令i:
- 指令i生成的结果可能会被指令j用到
- 指令j数据相关与指令k,指令k数据相关与指令i(存在第一种类型的相关链)
!单条指令内部的相关性不认为是相关(eg:ADD R1,R1,R1)
1 写后读相关
考虑两条指令 i 和 j,且 i 在 j 之前进入流水线,指令 j 用到指令 i 的计算结果, 而且在 i 将结果写入寄存器之前就去读该寄存器,因而得到的是旧值。
2 读后写相关
考虑两条指令 i 和 j,且 i 在 j 之前进入流水线,指令 j 的目的寄存器和指令 i 的源操作数寄存器相同,而且 j 在 i 读取该寄存器之前就先对它进行了写操作,导致 i 读到 的值是错误的。
3 写后写相关
考虑两条指令 i 和 j,且 i 在 j 之前进入流水线,,指令 j 和指令 i 的结果单元 (寄存器或存储器单元)相同,而且 j 在 i 写入之前就先对该单元进行了写入操作,从而导 致写入顺序错误。这时在结果单元中留下的是 i 写入的值,而不是 j 写入的。
名称相关
当两条指令使用相同的寄存器或存储器位置(称为名称),但与该名称相关的指令之间并没有数据流动时,发生名称相关
有两种名称相关:
1 反相关
指令i在指令j的前面,指令j写的名与指令i读的名相同
2 输出相关
指令i在指令j的前面,指令j与指令i写的名相同
!由于没有在指令之间传递值,反相关和输出相关都是名称相关,与真相关相对。因为名称相关并不是真正的相关,可以通过寄存器重命名来避免。
控制相关
由分支指令引起的相关,需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令
![](/assets/blank.gif)
例题1
列举出下面循环中的所有相关,包括输出相关、反相关、真相关。
for (i=2; i<100; i=i+1)a[i]=b[i]+a[i] ; /* s1 */c[i+1]=a[i]+d[i] ; /* s2 */a[i-1]=2*b[i] ; /* s3 */b[i+1]=2*b[i] ; /* s4 */
解:
输出相关:无
反相关:无
真相关:S1&S2
展开循环两次:
a[i] = b[i] + a[i] ; /* s1 */
c[i+1] = a[i] + d[i] ; /* s2 */
a[i-1] = 2 * b[i] ; /* s3 */
b[i+1] = 2 * b[i] ; /* s4 */
a[i+1] = b[i+1] + a[i+1] ; /* s1’ */
c[i+2] = a[i+1] + d[i+1] ; /* s2 ‘*/
a[i] = 2 * b[i+1] ; /* s3 ‘*/
b[i+2] = 2 * b[i+1] ; /* s4 ‘*/
由于循环引入的相关:S4&S4’(真相关)、S1’&S4(真相关)、S3’&S4(真相关) 、S1&S3’(输出相关、反相关)、S2&S3’(反相关)
例题2
上次整理的一波题目里的第6题
体系结构 各种相关(真相关、反相关、输出相关...)相关推荐
- 计算机网络—体系结构相关真题练习(二)
计算机网络-体系结构相关真题练习(二) 1. 解答: 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
- 计算机网络—时延相关真题练习(三)
计算机网络-时延相关真题练习(三) 知识回顾: 第一题: 第二题: 第三题: 第四题: 第五题: 第六题:
- stata 求输出相关系数矩阵命令_一文读懂结果输出命令大全(上)
目录 描述统计量 help tabstat //Stata 官方命令 描述统计量组间均值差异检验 help ttest help ttable2 help estout 相关分析命令 help p ...
- 每天一道大厂SQL题【Day17】腾讯外包(微信相关)真题实战(二)
每天一道大厂SQL题[Day17]腾讯外包(微信相关)真题实战(二) 大家好,我是Maynor.相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间, ...
- 输入范围内的数字,输出相关的诗句
输入0~7范围内的数值对于输出相关的诗句. package com.demo.src;public class jishuanqi {public static void main(String[] ...
- C# 定义一个描述学生基本信息的类,属性包括姓名、学以及C#、英语和数学成绩,方法包括设置姓名和学号、设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩。
C# 定义一个描述学生基本信息的类,属性包括姓名.学以及C#.英语和数学成绩,方法包括设置姓名和学号.设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩. ** 代码如下: using ...
- Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...
Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...
- Android性能优化面试题,与性能优化相关面试题 - 与IPC机制相关面试题 - 《Android面试宝典》 - 书栈网 · BookStack...
源码分析相关面试题 Activity相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试题 与人事相关面试题现在三四月份,金三银四最好找工作时间, ...
- 65 SD配置-交货凭证配置-定义相关项目类别的拣配相关
业务背景:定义相关项目类别的拣配相关 事务码:0184 SPRO路径:SPRO->后勤执行->装运->拣配->定义相关项目类别 第1步,SPRO进入 第2步,输入参数并保存 配 ...
最新文章
- SAP EWM - 其他主数据 - 供应链单元
- 伪造GPS信号就能把无人车带沟里?百度Apollo工程师实验证明:自动驾驶没那么好骗...
- ABP框架连接Mysql数据库
- Confluence 6 升级完成后的检查
- idea怎么导入jxl.jar库
- android 8.0 以后 uiautomator 无法直接使用的问题
- 转载:小心别让圆角成了你列表的帧数杀手
- 【java】输出素数
- excel如何利用VBA一键更改所有文件的名称
- Matlab求特征值和特征向量 + find函数的基本简单用法
- Apple pencil 无法连接到ipad的解决办法汇总
- Wordpress站点使用七牛云对象储存以及CDN加速
- QQ浏览器彻底卸载方式
- 角谷定理python输出变化过程_角谷定理。
- CSS3绘画卡通形象
- 场内基金和场外基金区别
- lambda正序 倒序 根据自定义大写一二三数组排序
- Origin 如何做主成分分析?
- Allegro172版本DFM规则之DFA Package spacing
- 两台服务器直连网速,一不小心连接上了两个网络,这种情况网速可以叠加..._网络编辑_帮考网...