数据相关、名称相关、控制相关、写后读相关、读后写相关、写后写相关、真相关、反相关、输出相关…整个人晕掉
都要不认识“相关”这两个字了

《计算机体系结构:量化研究方法 第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写的名相同

!由于没有在指令之间传递值,反相关和输出相关都是名称相关,与真相关相对。因为名称相关并不是真正的相关,可以通过寄存器重命名来避免。


控制相关

由分支指令引起的相关,需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令



例题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. 计算机网络—体系结构相关真题练习(二)

    计算机网络-体系结构相关真题练习(二) 1. 解答: 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

  2. 计算机网络—时延相关真题练习(三)

    计算机网络-时延相关真题练习(三) 知识回顾: 第一题: 第二题: 第三题: 第四题: 第五题: 第六题:

  3. stata 求输出相关系数矩阵命令_一文读懂结果输出命令大全(上)

    目录 描述统计量 help tabstat   //Stata 官方命令 描述统计量组间均值差异检验 help ttest help ttable2 help estout 相关分析命令 help p ...

  4. 每天一道大厂SQL题【Day17】腾讯外包(微信相关)真题实战(二)

    每天一道大厂SQL题[Day17]腾讯外包(微信相关)真题实战(二) 大家好,我是Maynor.相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间, ...

  5. 输入范围内的数字,输出相关的诗句

    输入0~7范围内的数值对于输出相关的诗句. package com.demo.src;public class jishuanqi {public static void main(String[] ...

  6. C# 定义一个描述学生基本信息的类,属性包括姓名、学以及C#、英语和数学成绩,方法包括设置姓名和学号、设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩。

    C# 定义一个描述学生基本信息的类,属性包括姓名.学以及C#.英语和数学成绩,方法包括设置姓名和学号.设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩. ** 代码如下:  using ...

  7. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  8. Android性能优化面试题,与性能优化相关面试题 - 与IPC机制相关面试题 - 《Android面试宝典》 - 书栈网 · BookStack...

    源码分析相关面试题 Activity相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试题 与人事相关面试题现在三四月份,金三银四最好找工作时间, ...

  9. 65 SD配置-交货凭证配置-定义相关项目类别的拣配相关

    业务背景:定义相关项目类别的拣配相关 事务码:0184 SPRO路径:SPRO->后勤执行->装运->拣配->定义相关项目类别 第1步,SPRO进入 第2步,输入参数并保存 配 ...

最新文章

  1. MicroSoft的Office使用攻略
  2. 手动安装lzop压缩工具 - JerryMo06的专栏 - 博客频道 - CSDN.NET
  3. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨2.62%
  4. SLAM学习笔记-------------(八)视觉里程计2
  5. java jshell_Java基础教程——Jshell
  6. 修复因制作苹果macOS安装系统导致损坏的U盘
  7. CentOS7 WordPress无法将上传的文件移动至wp-content/uploads/ ApacheNginx解决方案
  8. 目前最全的汉语拼音表 (另附韦氏拼音表, 非常规拼音表)
  9. selenium点击爬取豆瓣高分电影
  10. MindManager22全新版思维导图软件工具
  11. Java实现微信公众号模板消息管理群发和单发
  12. VSCode中Markdown 无法显示图片
  13. 开源测试平台RunnerGo,测试工程师必备
  14. mfc程序退出时删除托盘图标
  15. 深度粗排模型的GMV优化实践:基于全空间-子空间联合建模的蒸馏校准模型
  16. 微软 Microsoft
  17. TCP/IP学习笔记:TCP/IP协议介绍
  18. 互联网时代,用小众语言对抗焦虑和内卷!
  19. python股票指标计算库_GitHub - unclevicky/stock: stock,股票系统。使用python进行开发。...
  20. numpy.max(a, axis=1) np.max(a, axis=1) 中的axis=1是那个维数?怎么理解?

热门文章

  1. python apply lambda_函数,lambda和apply用法
  2. DataFrame的apply用法
  3. rar 爆破 windows_宁夏招聘 | 转正后月薪4K+!宁夏天宏爆破有限公司招聘!
  4. 联想小新pro14-5800U外接显示器无法显示解决
  5. chmod 赋权所有_chmod 权限 命令详细用法
  6. Oracle executeBatch异常 ArrayIndexOutOfBoundsException
  7. 关于C语言标识符作用域的说法 正确的是,郑州大学远程教育-网教《C语言程序设计》在线测试2 满分代做QQ805006590...
  8. 【2020.10.28SSL普及模拟赛T4】最大异或和【二进制 异或】
  9. 如何应对苹果app 的ipv6 时代?腾讯专家教您进行环境改造
  10. 【Kevin聊敏捷】02 项目管理的四种生命周期