先决条件–流水线
更具攻击性的方法是为处理器配备多个处理单元,以在每个处理阶段并行处理几条指令。通过这种安排,几个指令在同一时钟周期内开始执行,并且该过程被称为使用多个问题。这样的处理器能够实现每个周期多于一条指令的指令执行吞吐量。它们被称为“超标量处理器”。
在上图中,有一个带有两个执行单元的处理器。一个用于整数,另一个用于浮点运算。指令获取单元能够一次读取指令并将它们存储在指令队列中。在每个周期中,调度单元最多从队列的前端检索并解码两个指令。如果有一个整数,一个浮点指令且没有危险,则这两个指令将在同一时钟周期内分派。
超标量架构的优势:
- 在超标量处理器中,对各种危害性能的有害影响变得更加明显。
- 编译器可以通过明智地选择和排序指令来避免很多危险。
- 编译器应努力交织浮点和整数指令。这将使调度单元在大多数时间都能使整数和浮点单元保持繁忙。
- 通常,如果编译器能够安排程序指令以最大程度地利用可用的硬件单元,则可以实现高性能。
超标量架构的缺点:
由于这种类型的体系结构,可能会发生调度问题。