记分牌算法

转自百度文库

总结:

记分牌维护了几个状态表,根据状态表来判断当前执行某一指令是否会存在相关;

共四个阶段:Issue、Read Operands、Execution、Write Result.

为例:

Issue阶段检查无结构相关(有需要的功能部件)及要W的目的寄存器无WAW相关(即,要W的目的寄存器不会被其他指令的W所写),如果有其中之一,则停顿直到冲突消失;

Read Operands阶段检查要R的源寄存器无RAW相关(即,要R的操作数不会被其他指令的W所修改),如果有,则停顿直到冲突消失;

【检测RAW, 若有,则停顿该指令,但是在动态调度时,有多条指令并行操作,所以可能有另外指令满足条件,则继续执行下去,从而消除了停顿的损失。】

Execution 执行即可;

Write Result阶段检查要W的源寄存器无WAR相关(即,要W的寄存器不会对其他要R该寄存器的指令造成影响)

 

 

原文地址:https://www.cnblogs.com/peanutk/p/10235964.html