早在 2012 年,您就可以购买具有 3.5GHz 基本时钟和 3.9GHz Turbo 的四核 / 八线程 CPU。在 2018 年,您还可以购买具有 3.5GHz 基本时钟和 3.9GHz Turbo 的 CPU,但这一次它具有 16 个内核,并同时处理 32 个线程。它是 Threadripper 2950X,价格是 2012 年 Core i7-3770K 的两倍多。 

 

这里发生了什么事?早在 1975 年的摩尔定律(虽然最初是在 1965 年提出的)就指出,集成电路中的晶体管数量每两年翻一番,这是否可以确保 2018 年的 CPU 运行在 28GHz?当然,您可以选择 5GHz i9,但英特尔的 2020 Core i3-10100 在 3.6 / 4.3GHz 时管理四个内核 / 八个线程,仍然非常接近 2012 i7 规格。 

 

摩尔定律的作用是每两年左右使计算性能翻一番,这实际上就是摩尔定律。而且,我们当然再也看不到这个水平了。那么,为什么会出现这种性能停滞的情况,又可以期望将来从何处获得计算性能的提高呢?

 

这个问题在麻省理工学院引起了极大的注意,他们在《科学》杂志六月刊上发表了一篇论文:“摩尔定律失效后,什么将推动计算机性能?” 该文由麻省理工学院计算机科学和人工智能实验室的 Neil C Thompson 博士撰写。

 

作者指出,英特尔自 2014 年以来一直依赖 14nm 技术,但不要怪罪于此。他们说,小型化已经走到了尽头。这组作者在论文中写道:“尽管半导体技术可能能够生产出 2nm 的晶体管,但实际上,由于回报减少,微型化可能会在 5nm 左右结束。” 随着您接近原子尺度(硅原子的尺寸约为 0.146nm),制造成本将显着提高。

 

但是核心数量呢?在过去的几年中,这种情况一直在稳步上升,这主要归功于 AMD 的努力。那可以帮助我们吗?汤普森说:“核心数量可能会有所增加,但幅度不会太大。” “那是因为软件很难同时有效地使用很多核心。” 这是针对家用计算机的,服务器,尤其是那些涉及云计算和搜索引擎的服务器,将继续增加其核心数量。

 

摩尔以下

根据汤普森的说法,使 CPU 停滞不前的原因是它们的通用性。专用硬件已经逐渐渗透到我们的 PC 机箱中,通常针对图形。当然有 GPU,而 Intel 处理器中的 Quick Sync 核心则只对视频进行转码。在 Nvidia 收购 PhysX 并将功能捆绑到其 GPU API 中之前,物理处理卡专门用于支持 PhysX 的游戏。如果 Apple Mac Pro 客户想要 ProRes 视频编解码器的硬件加速,并且他们专用的 ASIC(专用集成电路)垄断了 BitCoin 采矿市场,他们可以使用 Afterburner 卡。 

 

汤普森说:“我认为我们要做的很多事情之一就是专门针对特定类型应用的设计芯片,并使用这些芯片来加快速度。但这不是”替代通用 CPU,它可以提供很多不同的功能。如果您看一下芯片,就会发现它们在芯片上有一些专门处理加密的电路,所以当您使用在 Internet 上,而您正在尝试确保交易安全,那么其中可能涉及很多计算,但是需要一些专门的芯片来完成。”

 

然后是软件。性能的提高将取决于效率,这是 Thompson 等人的论文中进行的一项快速实验表明:用 Python 编码了一个非常困难的总和(两个 4096x4096 矩阵的乘积),在现代计算机上花了七个小时才能完成,但仅使用 0.0006 机器峰值性能的百分比。然后,用 Java 编写了相同的总和,运行速度提高了 10.8 倍。然后在 C 语言中,它比 Python 代码快 47 倍。通过定制代码以利用测试 PC 中的 18 核 CPU 及其特定的英特尔优化,可以在 0.41 秒内完成非常艰巨的任务。快了 60,000 倍。

 

上面的代码使用的是通用处理器,因此,假设您将优化的代码与具有专门用于矩阵乘法的硬件的处理器结合在一起,那么您可以走得更快。在这个后摩尔时代,我们可能会看到应用程序和操作系统变得越来越高效,从而变得越来越小,而不是使整个固态驱动器和随机存取存储器变得肿。 

 

假设您要发送电子邮件,Outlook(我们知道,这是一个很好的例子)会给您“发送,是或否?” 提示。电脑如何处理?汤普森说:“您可以做的一件事就是从头开始设计它。” “您可以查找有人说是或否的示例,并尝试编写一个可以识别这些内容的程序。或者您可以说'那里有 Siri 和 Google Assistant 之类的东西,它们不仅可以识别是或否,还可以识别一百万种不同的东西。编写一个小的程序,当听到用户说的话,然后将其发送给 Google 进行计算,然后再传给我时,可能并不需要我做很多工作。这是一种超高效的编写方式您的代码,但是执行计算的效率很低。

 

这样,面对工程水平上缺乏性能提升的情况,硬件和软件将需要整合在一起,以确保未来的 PC 更快,即使它仍以 3.5GHz 运行。