流水线相关问题及解决方法
相关----由于一段机器语言程序的邻近指令之间出现了某种关联后,为了避免出错而使得它们不能同时被解释的现象,又称相关冲突。
在流水解释过程中可能会出现三种相关,这三种相关是资源相关、数据相关和控制相关。
1. 资源相关
资源相关----是指多条指令进入流水线后在同一个时钟周期内争用同一功能部件所发生的相关。
在图1所示的流水解释时空图中,在第4个时钟周期时,第I1条指令的MEM段与第I4条指令的IF段都要访问存储器。当数据和指令混存在同一个存储器且只有一个访问端口时,便会发生两条指令争用同一个存储器资源的相关冲突。
图1 指令流水解释的时空图
解决资源相关的方法主要有以下五种:
(1)从时间上推后下一条指令的访存操作。
(2)让操作数和指令分别存放于两个独立编址且可同时访问的主存储器中。