📜  超长指令字(VLIW)架构

📅  最后修改于: 2021-06-28 14:37:37             🧑  作者: Mango

由于调度指令的难度变得复杂,因此超标量处理器的局限性突出。指令流,复杂性,成本和分支指令问题的内在并行性可以通过称为超长指令字(VLIW)VLIW机器的更高指令集体系结构来解决。

VLIW使用指令级并行性,即它具有程序来控制指令的并行执行。在其他体系结构中,可以通过以下两种方法之一来提高处理器的性能:流水线化(将指令分成子部分),超标量处理器(在处理器的不同部分独立执行指令),乱序执行(与程序执行命令的方式不同),但是这些方法中的每一种都极大地增加了硬件的复杂性。 VLIW Architecture依赖于编译器来处理它。程序决定指令的并行流程并解决冲突。这增加了编译器的复杂性,但大大降低了硬件的复杂性。

特征 :

  • 该体系结构中的处理器具有多个功能单元,可从具有超长指令字的指令缓存中获取。
  • 多个独立的操作组合在一个VLIW指令中。它们在同一时钟周期内初始化。
  • 每个操作都分配有一个独立的功能单元。
  • 所有功能单元共享一个公共寄存器文件。
  • 指令字的长度通常为64-1024位,具体取决于执行单元的数量和控制每个单元所需的代码长度。
  • 单词的指令调度和并行调度是由编译器静态完成的。
  • 编译器在调度指令的并行执行之前检查依赖性。

VLIW体系结构框图

VLIW处理器的时空图,其中在单个指令字中并行执行4条指令

好处 :

  • 降低硬件复杂性。
  • 由于降低了硬件复杂性,因此降低了功耗。
  • 由于编译器负责数据依赖性检查,解码和指令问题,因此变得更加简单。
  • 增加潜在的时钟速率。
  • 编译器将功能单元放置在与指令袋相对应的位置。

缺点:

  • 需要复杂的编译器,这些编译器很难设计。
  • 程序代码大小增加。
  • 更大的内存带宽和寄存器文件带宽。
  • 未计划的事件(例如,高速缓存未命中)可能导致停顿,这将使整个处理器停顿。
  • 如果VLIW中未填充操作码,则会浪费存储空间和指令带宽。