加载中...
超标量是一种处理器架构设计,能够在单个时钟周期内取出、译码并发射多条指令到多个执行单元并行执行,从而突破传统标量处理器每周期最多完成一条指令的限制,是现代高性能 CPU 提升吞吐的核心手段之一。

| 中文名 | 超标量 |
| 英文名 | Superscalar |
| 类型 | 处理器架构 |
| 并行层级 | 指令级并行(ILP) |
| 典型发射宽度 | 2 至 8 条/周期 |
| 早期代表 | CDC 6600 |
超标量(Superscalar)是指处理器在一个时钟周期内能够同时发射并执行多条指令的架构设计。与每周期至多处理一条指令的标量处理器不同,超标量处理器内部拥有多套并行的执行单元,通过挖掘指令级并行来提高吞吐量。
超标量思想诞生于 20 世纪 60 年代的 CDC 6600 等大型机,并在 90 年代随 Intel Pentium、DEC Alpha 等进入主流微处理器。今天从服务器到手机的高性能核心几乎都是超标量设计,常与乱序执行、寄存器重命名结合,形成宽发射的复杂流水线。
超标量关注的是同时发射多少条指令,乱序执行关注的是打乱执行顺序,超线程则通过共享执行资源提升利用率。三者常协同工作:宽发射的超标量核心提供了并行能力,乱序调度找出可并行的指令,超线程在指令并行不足时用多线程填补空闲单元。VLIW 是另一条路线,把并行调度交给编译器而非硬件。
问:发射宽度越大性能就越好吗?答:并非线性提升。程序中真正可并行的指令有限,受数据依赖、分支和访存制约,盲目加宽会导致执行单元利用率下降、功耗和面积却剧增。
问:超标量和多核有什么区别?答:超标量是在单个核心内部并行执行多条指令,多核是集成多个独立核心。前者挖掘指令级并行,后者提供线程级并行。

| 中文名 | 超标量 |
| 英文名 | Superscalar |
| 类型 | 处理器架构 |
| 并行层级 | 指令级并行(ILP) |
| 典型发射宽度 | 2 至 8 条/周期 |
| 早期代表 | CDC 6600 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧