体系结构 各种相关(真相关、反相关、输出相关...)

您所在的位置:网站首页 人体系结构图 体系结构 各种相关(真相关、反相关、输出相关...)

体系结构 各种相关(真相关、反相关、输出相关...)

2023-08-13 20:31| 来源: 网络整理| 查看: 265

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

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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3