超标量处理器 (Superscalar Processor) 的关键要素是什么?


超标量处理可以分解成几个特定的任务,如图所示。超标量处理器可以每个周期发出多条指令,第一个任务当然是并行解码。

在超标量处理器中,解码任务比标量处理器复杂得多,并且随着发行率的提高而变得更加复杂。

较高的发行率会极大地延长解码周期,或者会导致多个解码周期的增长,除非解码能力得到提升。一种改进技术是预解码。

这是在典型解码之前实现的部分解码,同时指令被加载到指令缓存中。大多数当前的处理器都使用预解码,包括 PowerPC 620、PA 7200、PA 8000、UltraSparc 和 R10000。

超标量处理的功能是超标量指令发行。较高的发行率会导致更高的处理器性能,但同时,它也会放大控制和数据依赖性对处理器性能的限制性影响。

在超标量处理器中,每个发行周期出现的控制依赖性比标量处理器更频繁,超标量处理器在每个周期发出多条指令。这种频率的增加大致与处理器的发行率成正比。

关于数据依赖性,较高的发行率也会严重阻碍处理器性能。考虑一下,例如在流水线处理器这样的标量处理器中,由于依赖性导致的发行阻塞在大多数情况下可以通过使用并行优化编译器来避免。编译器使用单独的指令填充未使用的指令通道(称为空洞)。

因此,为了获得更高的性能,超标量处理器引入了复杂的指令发行策略,包括搁置、寄存器重命名和推测性分支处理等高级技术。结果,所使用的指令发行策略对于管理更高的处理器性能至关重要。

下一个任务是并行指令执行,这是超标量处理的要求。然而,虽然指令是并行执行的,但指令通常按照顺序操作的处理器相应地无序完成。因此,需要特殊的方法来保证程序执行的逻辑一致性。这个任务通常被称为保持指令执行的顺序一致性。

现代超标量处理器通常通过将结果的生成与将其写回特定寄存器或内存区域分离来实现这一点。虽然结果通过EU并行生成,但程序状态以与程序顺序解耦的方式顺序刷新。随着对更高性能超标量处理器的研究,其影响越来越大。

最后,在指令执行期间,异常可能会增加。因此,顺序一致性非常重要,并导致了称为保持异常处理的顺序一致性的任务。

更新于:2021年7月20日

1K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告