一句话:提出 Bootstrapping,让解耦前瞻在单个 SMT 核上达到双核效果,显著提升单线程性能。
单线程性能提升仍是通用处理器的重要目标,但核心微架构设计近年趋于停滞,程序中蕴含的并行性尚未被充分利用。解耦前瞻(DLA)通过独立线程上下文改善主流水线的数据与指令供给,是提升单线程性能的有效途径,但其默认实现需要额外核心;SMT 上的朴素实现又效率低下。本文提出优化的 Bootstrapping 实现,使 DLA 在单个 SMT 核上也能像使用两个核心一样有效。在多个基准套件上,融合双核可带来 1.22 倍提升,而 Bootstrapping 取得 1.48 倍加速,表明其可作为通用微架构中颇具吸引力的特性。
Single-thread performance improvement remains a central design goal for general purpose processors. Microarchitectural designs for the core have reached a plateau over the past years. However, we are still far from exhausting the implicit parallelism available in today's programs. One approach is to use a separate thread context to improve data and instruction supply to the main pipeline. Such decoupled look-ahead (DLA) architectures have been shown to be an effective way to improve single-thread performance. However, a default implementation requires an additional core. While an SMT flavor is possible, a naive implementation is inefficient and thus slow. In this paper, we propose an optimized implementation called Bootstrapping that makes DLA just as effective on a single (SMT) core as using two cores. While fusing two cores can improve single-thread performance by 1.22x, Bootstrapping provides a speedup of 1.48 over a broad range of benchmark suites, making it a compelling microarchitectural feature for general-purpose microarchitectures.