多核与芯片多处理器
芯片多处理器将多个处理器核心集成到单个芯片上,共享缓存和内存接口,从而通过线程级并行而非更高的时钟速度来推动性能增长。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
多核处理器,或称芯片多处理器,是一种包含多个独立处理器核心的单一集成电路,这些核心共享一些片上资源和内存系统,旨在并发执行多个线程或程序。
Scope
本主题涵盖多核芯片的组织结构:核心数量和异构性、共享和私有缓存层次结构、片上互连,以及根据阿姆达尔定律性能如何随核心数量扩展。它处理多核系统的硬件结构。它不包括与其他共享内存主题(共享内存与一致性、缓存一致性协议)共享的相干性和一致性机制,以及单核引擎(处理器微体系结构)。
Core questions
- 为什么处理器从单个高速核心转向多个核心?
- 核心、缓存和互连在芯片上是如何组织的?
- 阿姆达尔定律如何限制增加核心带来的加速?
- 异构核心何时优于同构核心?
Key concepts
- 芯片多处理器
- 线程级并行
- 共享与私有缓存
- 片上互连
- 核心数量与扩展
- 异构(big.LITTLE)核心
- 阿姆达尔定律
- 功耗和散热限制
Key theories
- 多核扩展的阿姆达尔定律
- 工作负载的串行部分限制了通过增加核心可实现的加速;这一限制解释了为什么简单地增加核心数量会产生收益递减,并促使人们减少串行瓶颈和使用异构设计。
Mechanisms
多核芯片将多个核心放置在一个芯片上,通常具有私有的一级缓存、共享的末级缓存,以及连接它们与内存控制器的片上网络或环。工作负载通过在不同核心上运行线程来获得性能提升。异构设计将大型高性能核心与小型高效核心结合起来,将工作调度到最合适的核心,以平衡速度和能耗。
Clinical relevance
多核是当今从手机到服务器的主流处理器设计,因为频率扩展在功耗限制下停滞不前。它的兴起将性能负担转移到并行软件上:应用程序必须是多线程的才能受益,这使得并发成为主流编程关注点,阿姆达尔定律成为实际系统中的一个实际约束。
History
20世纪90年代斯坦福大学的Hydra等研究型芯片多处理器预示了多核时代的到来。2004-2005年左右频率扩展的瓶颈推动了主流CPU向双核乃至多核设计发展。后来,结合了性能和效率核心的异构架构变得普遍,尤其是在移动和笔记本处理器中。
Debates
- 更多核心与更强核心
- 在固定功耗和面积的条件下,设计者们争论是增加许多更简单的核心、更少但更强大的核心,还是采用异构组合;最佳选择取决于目标工作负载的并行程度,当串行部分显著时,阿姆达尔定律倾向于更强大的核心。
Key figures
- Gene Amdahl
- John L. Hennessy
- David A. Patterson
- Kunle Olukotun
Related topics
Seminal works
- hennessy2019
- amdahl1967
Frequently asked questions
- 为什么核心数量翻倍并不能使性能翻倍?
- 根据阿姆达尔定律,程序中任何必须串行运行的部分都会限制增加核心带来的益处。通信、同步以及对共享资源的争用进一步增加了开销,因此实际加速通常远低于理想的线性扩展。
- 什么是异构(big.LITTLE)核心?
- 异构设计在同一芯片上结合了大型高性能核心和小型节能核心。系统将高要求的工作调度到大核心上,将轻量级或后台工作调度到小核心上,从而在不牺牲峰值性能的情况下提高能效。