记分牌动态调度算法
1、概念
(1)记分牌技术的目标:
在资源充足时,尽可能早地执行没有数据阻塞的指令,争取达到每个时钟周期流出尽量多的指令。
(2)指令乱序执行缺点:
可能引起名相关,即先读后写(反相关)、写后写相关(输出相关)。
异常处理比较复杂:不精确异常处理
出现异常的指令其后的指令可能先执行完。出现异常后,难以恢复现场。
(3)如果允许乱序执行,就不能因为数据相关而阻塞指令(否则其后的指令就发射不出去),因此需要将顺序执行的ID级再细分为两个流水线段:
第1个段不检测数据相关(这样才能尽可能快地发射出多条指令到对应的功能部件);
第2个段才检测数据相关。
(4)基本流水线的译码阶段(ID)再分为两个阶段:
1)流出(Issue,IS):指令顺序发射,检查是否存在结构相关(还有写后写相关)。如果没有,本指令就流出到对应功能部件
2)读操作数(Read Operands,RO):当没有数据相关引发的阻塞时,就读操作数(可以乱序)。读到操作数就进入到执行段。
2.每条指令在流水线中在指令预取之后的过程分为四个阶段:
(1) 流出(Issue,