(图片来源:英特尔)
英特尔已获一项名为“软件定义超级核心”(SDC)的技术专利,该技术允许软件整合多个核心的能力,构建一个虚拟的超宽“超级核心”,从而在并行任务充足的情况下,显著提升单线程性能。若该技术如预期般运作,未来英特尔的CPU将在支持SDC的应用程序中展现卓越的单线程性能。目前,这仅是一项专利,其实现与否尚待观察。
英特尔的“软件定义超级核心”(SDC)技术通过将单个线程的指令分割成独立部分并并行执行,将两个或多个物理CPU核心整合为一个高性能的虚拟核心。每个核心负责程序的不同部分,而专门的同步和数据传输指令则确保维持原始程序顺序,最大限度地减少开销,同时提高每时钟周期指令数(IPC)。此方案旨在提升单线程性能,而无需增加时钟速度或构建宽单体核心,从而避免功耗和晶体管预算的增加。
现代x86 CPU核心能解码4-6条指令,随后将指令转化为微操作,并在每个周期内执行8-9条微操作,这是其峰值IPC性能。相比之下,苹果基于Arm架构的定制高性能核心(如Firestorm、Avalanche、Everest)在理想条件下,每个周期能解码多达8条指令并执行超过10条指令,这解释了为何苹果处理器通常能在更低功耗下提供显著高于Arm同类产品的单线程性能。
尽管技术上可以构建8路x86 CPU核心(即一个超标量x86处理器,每个时钟周期能解码、发布和退役多达8条指令),但在实践中,由于前端瓶颈和性能提升的收益递减,加之显著的功耗和面积成本,这一目标尚未实现。实际上,现代x86 CPU在一般工作负载上通常能维持2-3-4的持续IPC,具体取决于软件。因此,英特尔的SDC提议在有意义的情况下,将两个或更多4路单元配对为一个巨大核心,而非构建8路x86 CPU核心。
在硬件层面,SDC启用的每个核心都包含一个小型专用硬件模块,负责配对核心之间的同步、寄存器传输和内存排序。这些模块利用保留的内存区域(称为虫洞地址空间)来协调实时输入/输出数据和同步操作,确保来自不同核心的指令能按正确的程序顺序退役。此设计支持顺序和乱序核心,对现有执行引擎的改动极小,从而在芯片空间占用方面保持紧凑。
在软件层面,该系统利用即时编译器、静态编译器或二进制插桩将单线程程序拆分为代码段,以将不同块分配给不同核心。它注入用于流控制、寄存器传递和同步行为的特殊指令,使硬件能保持执行完整性。操作系统的支持至关重要,因为它会根据运行时条件动态决定何时将线程迁移至超级核心模式或从中迁出,以平衡性能和核心可用性。
英特尔的专利未提供确切的数值性能增益估计,但暗示在某些场景下,两个“窄”核心的性能接近一个“宽”核心的性能是可行的。
在Google News上关注Tom's Hardware,或将我们设为首选来源,以在您的订阅中获取最新新闻、分析和评论。别忘了点击关注按钮!