接下来我们将根据一道题来解释三个定义
(1)数据相关(data dependence)
对于两条指令i(在前,下同)和j(在后,下同),如果下述条件之一成立,则称指令j与指令i数据相关:
①指令j使用指令i产生的结果。
②指令j与指令k数据相关,而指令k又与指令i数据相关。
我们这道题未产生循环之前没有其他相关
所以我们进行一次循环,检查经由循环之后是否产生其他相关
(2)名相关(name dependence)
这里的名是指指令所访问的寄存器或存储器单元的名称。如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。指令j与指令i之间的名相关有以下两种。
注意i在前,j在后!!!
①反相关(anti-dependence)。如果指令j写的名与指令i读的名相同,则称指令i和j发生了反相关。反相关指令之间的执行顺序是必须严格遵守的,以保证i读的值是正确的。
03-31
1万+
