人们都知道要提高效率,但是提高效率并不是那么容易的事情。提高效率对现代计算机的发展是非常重要的。
可以通过多种方式来提高效率,从部件的设计、工艺尺寸,到冷却方案。以前谈到过冷却,现在来谈谈组件的设计。
如果没有优良的电路设计,计算机就不会有任何改进。计算机要处理越来越多样化的任务,这需要大量的工程师团队找到最有效的方法来处理它们。实现这些操作的基础是晶体管。
晶体管是一种承载电流的电子装置,通常有三个连接点。这些连接包括一个源、一个晶体管和一个门。
将这些组合在一起,我们可以构成一个简单的逻辑门。逻辑门通常具有两个输入和一个输出。最简单的逻辑门是“和”门,其中两个输入必须在输出上进行,这可以通过晶体管单独实现。
“或”门可以用3个晶体管来实现。两个用于“和”输入,并且这些输入被用作第三晶体管中的栅极。
一个CPU可以拥有数十亿个晶体管,AMD的RyZEN系列大约有48亿个。除了原始数据处理之外,CPU还有更多的用途,它有不同的模块可以保存后面的交互数据,这增加了它的复杂性。48亿个晶体管中的每一个都有独特的作用,这使得CPU内部的电路效率不断提高。
CPU的动作不是瞬时完成的,而是由功率周期决定的,不同的设计每秒最大周期不同。典型的桌面CPU通常每秒至少命中这些周期中的40亿个。这些周期中的每一个CPU处理不同的命令。这个速度是根据每个周期的指令来测量的。在每一代CPU之间,每个周期的指令几乎总是不同的,或者简称为IPC。
CPU中更简单的操作是浮点运算,它可以在小数点之后乘以、除法、添加和减去数字。现代CPU可以在一个周期内多次这样做,例如AMRYZEN可以在每个周期中执行16次。
CPU的原始输出并不重要,移动数据并等待下一个命令所需的时间会产生巨大的影响。
随着CPU的发展,他们的预测技术也越来越先进。从内存中加载信息需要很长时间,提前加载出需要的信息可以节省大量的时间。这可以通过一个叫做指令流水线的东西来实现。
指令流水线通过将任务分解成不同的步骤来帮助CPU执行任务。在不同的情况下,这些不同的步骤通常可以按不同的顺序进行,以获得不同的效率。
分支预测就是这样运行的。分支预测涉及猜测在I/ER语句之前要做什么。在这些语句中,可以基于输入执行两个完全不同的代码段,因此有效的预测是非常重要的。一些分支预测将开始计算这两种可能性,然后在确定结果后丢弃错误的可能性。
提高这一领域的效率的唯一途径是使用专业人士制造的最新和最有效的部件。随着时间的推移,经常有增量的改进,但这些都有限制。
从CPU中获得更多信息的最佳方法之一是找到一种增加时钟速度的方法。这似乎遇到了瓶颈,所以发展新技术非常有必要,如AMD的无限结构,这使CPU间的核心通信变得更快,规模更大。
一个大的CPU,它可以分裂成更小的结构,可以缩放。提高效率的另一种方法是减少组件的总量,两个8核CPU总体上比一个16内核CPU的效率低。