超标量处理器:指令级并行性的探索与实践
1. 超标量概述
1.1 超标量的定义与背景
“超标量”这一术语于 1987 年首次被提出,旨在提升标量指令的执行性能。在大多数应用中,大量操作都是针对标量数据进行的,因此超标量方法是高性能通用处理器发展的下一步。其核心在于能够在不同的流水线中独立且并发地执行指令,甚至可以允许指令以不同于程序顺序的方式执行。
1.2 标量与超标量组织对比
传统的标量组织中,整数运算和浮点运算分别有一个流水线功能单元,通过让多条指令处于流水线的不同阶段来实现并行性。而超标量组织则拥有多个功能单元,每个功能单元都以流水线形式实现。每个独立的功能单元因其流水线结构提供了一定程度的并行性,多个功能单元的使用使处理器能够并行执行指令流,每个流水线对应一个指令流。硬件和编译器需共同确保并行执行不违背程序的意图。
许多研究人员对类似超标量的处理器进行了研究,部分研究表明性能有一定提升。不同研究中性能提升的差异源于模拟机器的硬件和模拟的应用程序不同。以下是部分研究报告的性能提升情况:
| 参考资料 | 加速比 |
| ---- | ---- |
| [TJAD70] | 1.8 |
| [KUCK77] | 8 |
| [WEIS84] | 1.58 |
| [ACOS86] | 2.7 |
| [SOHI90] | 1.8 |
| [SMIT89] | 2.3 |
| [JOUP89b] | 2.2 |
| [LEE91] | 7 |
1.3 超标量与超流水线的比较
超流水线是另一种提高性能的方法,该
超级会员免费看
订阅专栏 解锁全文
545

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



