超标量:
超流水:许多流水阶段仅需少于半个时钟周期
指令级并行性:程序指令能并行执行的程度。
5种限制:
真实数据相关性:第二条指令需要第一条指令产生的数据。
ADD r1,r2
MOVE r3,r1
不影响取指、译码,但会延迟执行
过程相关性:指令序列中出现分支指令把流水操作弄复杂了。分支之后的指令有对分支指令的过程相关性。
非定长指令,在取指后不能立即译码
影响取指
资源冲突:多个指令同时竞争同一资源,包括存储器、cache、总线、寄存器组端口和功能单元(如ALU加法器)。可通过复制资源来克服。
影响执行
输出相关性:读写相关、写读相关——真实数据相关
写写相关——输出相关性
R3=R3+R5
R4=R3+1
R3=R3+1
反相关性:后一条指令破坏前一条指令所使用的数据值
R3=R3+R5
R5=R3+1
机器并行性:处理器获取指令级并行性好处的能力程度
指令发送策略:启动指令执行时所采用的协议
按序发射按序完成
按序发射乱序完成
乱序发射乱序完成