为什么“添加更多的内核”与“使CPU更快”面临相同的物理限制?
2014年,我听到许多编程语言因其并发功能而受到吹捧。并发对于提高性能至关重要。 在发表这一声明时,许多人都回过头来引用2005年的一篇文章《免费午餐已经结束:软件并发性的根本转向》。基本论点是,提高处理器的时钟速度变得越来越困难,但是我们仍然可以在芯片上放置更多的内核,并且要获得性能提升,就需要编写软件以利用多个内核。 一些关键语录: 我们曾经看到500MHz CPU让位给1GHz CPU,而让位给2GHz,等等。今天,我们在主流计算机上处于3GHz范围内。 关键问题是:什么时候结束?毕竟,摩尔定律预测指数增长,并且显然指数增长不可能在我们达到严格的物理极限之前永远持续下去。光没有变快。增长必须最终放缓甚至结束。 ...不仅由于一个物理问题,而且由于几个物理问题,尤其是热量(热量过多,难以散发),功耗(过高)和电流泄漏问题,利用更高的时钟速度变得越来越困难。 ...随着芯片公司积极地追求相同的新多核方向,英特尔和大多数处理器供应商的未来都在别处。 ...多核是关于在一个芯片上运行两个或多个实际CPU。 本文的预测似乎成立了,但是我不明白为什么。对于硬件的工作方式,我只有很模糊的想法。 我的过于简化的观点是“将更多处理能力打包到同一空间中变得越来越困难”(由于热量,功耗等问题)。我希望得出的结论是“因此,我们将不得不拥有更大的计算机或在多台计算机上运行我们的程序”。(确实,分布式云计算是我们正在听到的更多信息。) 但是解决方案的一部分似乎是多核体系结构。除非计算机的大小增加(他们没有),否则这似乎是“将更多处理能力打包到同一空间中”的另一种说法。 为什么“添加更多的核心”与“使CPU更快”面临相同的物理限制? 请以最简单的方式解释。:)