我正在研究摩尔定律。我很好奇为什么很多人说摩尔定律已经终结,所以我们要转向多核 CPU。从我能找到的所有资料来看,我理解的逻辑是这样的:提高时钟频率 -> 增加晶体管数量 -> 增加功耗 -> 不提高时钟频率,而是增加核心数量 -> 功耗下降
现在,一个问题出现了:如何增加核心数量?是否需要增加晶体管数量?如果增加,功耗问题依然存在。
有人能回答这个问题吗?
答案1
功率实际上并不是多核处理的主要动机,它更多地与给定系统的典型任务的性能有关。
最重要的是,只有当任务需要大量计算时,提高时钟速度才真正有用。在这种情况下,具有深层流水线的高频处理器才真正开始发挥作用。
然而,在普通工作站上运行的大多数任务只需要间歇性地响应事件来获得处理能力,但这些任务有数百个。在这种情况下,拥有更好的线程级并行性会变得有利,这可以通过拥有多个处理器核心来实现。
近年来多核处理器真正开始腾飞的原因是摩尔定律的影响,而不是其持续有效性的原因。芯片制造商可以在芯片上安装越来越多的晶体管,但目前,对于典型的工作站任务来说,提高单核性能已经所剩无几了。毕竟,增加更多晶体管并不真正意味着提高时钟速度。那么他们用这些晶体管做什么呢?增加更多内核并提高多任务处理性能。
这其实并不是什么新现象。多处理器系统已经存在了相当长一段时间。只是现在,随着晶体管数量的增加,将核心放在单独的芯片上的理由已经不多了。
当您开始谈论拥有数十个核心时,就可以显著节省电力,因为您可以在系统低负载时关闭不需要的核心。
答案2
提高单核时钟频率的问题在于物理。最终,你要测试所有已知元素的热量和传导极限。
将相同的功耗分摊到两个核心上意味着您可以分摊散热。
因此,一个核心的功耗增加!=两个核心的功耗增加。
或者这样想。为了让一个人举起 300 磅的重物,你不仅需要增强他们的肌肉,还需要增强他们的体格。缩放谬误告诉你,这不仅仅是线性增加,而是在大多数因素中变成立方增加。
把同样的 300 磅分给两个人,你就能解决很多以前需要考虑的问题。平衡、肌肉的适当血流、骨骼强度等等。
所以,功耗确实还是会增加。但更大的问题——发热,已经解决了。
因此,从一个核心中取出相同数量的晶体管并将其拆分为两个或更多个核心是值得的,尽管增加了开销。