深入解析VLIW、EPIC与向量微架构
1. VLIW架构
VLIW(超长指令字)架构在处理指令级并行性方面有着独特的方式,但也面临着一些挑战。
1.1 谓词指令
- 原理 :当分支具有偏向性且静态可高度预测时,跟踪调度非常有效,因为大多数时候只有最可能的跟踪路径被执行。然而,有些条件分支难以静态预测或无偏向性(50 - 50),对于这类分支,跟踪调度表现不佳,因为通常需要执行多个跟踪路径。为了高效执行具有无偏向分支的代码,可以利用VLIW中丰富的并行性。只要执行是有谓词的,无偏向分支的两侧可以并行执行。谓词(或条件)指令只有在谓词寄存器中存储的谓词为真时才会执行,否则指令或其结果将被丢弃。例如,在MIPS指令集中可以添加两种条件版本的
LW指令:
CLWZ R1,0(R2),R3
/*Load Mem[0(R2)] into R1 if R3 is 0
CLWNZ R1,0(R2),R3
/*Load Mem[0(R2)] into R1 if R3 is not 0
- 优势 :条件指令将控制依赖(这是代码移动的障碍)转化为对寄存器的数据依赖(编译器可以轻松处理)。例如,在图3.35的示例中,当
BEQ无法静态预测或无偏向时,通过使用谓词指令,分支被消除,负载变为条件负载,并且可以进一步优化代码,使两个条件指令并行发出。 - 适用场景 </
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



