由于调度指令的难度变得复杂,因此超标量处理器的局限性突出。指令流,复杂性,成本和分支指令问题的内在并行性可以通过称为超长指令字(VLIW)或VLIW机器的更高指令集体系结构来解决。
VLIW使用指令级并行性,即它具有程序来控制指令的并行执行。在其他体系结构中,可以通过以下两种方法之一来提高处理器的性能:流水线化(将指令分成子部分),超标量处理器(在处理器的不同部分独立执行指令),乱序执行(与程序执行命令的方式不同),但是这些方法中的每一种都极大地增加了硬件的复杂性。 VLIW Architecture依赖于编译器来处理它。程序决定指令的并行流程并解决冲突。这增加了编译器的复杂性,但大大降低了硬件的复杂性。
特征 :
- 该体系结构中的处理器具有多个功能单元,可从具有超长指令字的指令缓存中获取。
- 多个独立的操作组合在一个VLIW指令中。它们在同一时钟周期内初始化。
- 每个操作都分配有一个独立的功能单元。
- 所有功能单元共享一个公共寄存器文件。
- 指令字的长度通常为64-1024位,具体取决于执行单元的数量和控制每个单元所需的代码长度。
- 单词的指令调度和并行调度是由编译器静态完成的。
- 编译器在调度指令的并行执行之前检查依赖性。
好处 :
- 降低硬件复杂性。
- 由于降低了硬件复杂性,因此降低了功耗。
- 由于编译器负责数据依赖性检查,解码和指令问题,因此变得更加简单。
- 增加潜在的时钟速率。
- 编译器将功能单元放置在与指令袋相对应的位置。
缺点:
- 需要复杂的编译器,这些编译器很难设计。
- 程序代码大小增加。
- 更大的内存带宽和寄存器文件带宽。
- 未计划的事件(例如,高速缓存未命中)可能导致停顿,这将使整个处理器停顿。
- 如果VLIW中未填充操作码,则会浪费存储空间和指令带宽。