我已经读到,制造商不再专注于更高的时钟速度,现在正在致力于其他事情以提高性能。
用
- 装有英特尔®至强®处理器E3110的旧台式机,时钟速度为3.0GHz
- 以及带有AMD Opteron(TM)处理器6272的新服务器,时钟速度为2.1GHz
使用(单线程)执行简单的加密比较时
openssl aes256c
台式机的性能远远优于服务器。
因此,即使进行了最新的优化,为什么时钟频率更好的处理器性能也会更好?
我已经读到,制造商不再专注于更高的时钟速度,现在正在致力于其他事情以提高性能。
用
使用(单线程)执行简单的加密比较时
openssl aes256c
台式机的性能远远优于服务器。
因此,即使进行了最新的优化,为什么时钟频率更好的处理器性能也会更好?
Answers:
制造商不再专注于提高时钟速度的原因是因为我们无法再足够快地冷却处理器以使其可行。时钟速度越高,产生的热量就越多,现在我们进入了一个阶段,由于冷却它的能量过多,提高处理器速度不再有效。
其他答案详细介绍了更高的时钟速度并不意味着在所有领域都拥有更好的性能。
处理速度比时钟速率高得多。
由于流水线安排的不同变体,并且每个内核中都有多个组件单元(加法器等),因此不同的CPU在相同的时钟周期数内可以执行不同的数量。尽管在测试中并非如此,但您经常会发现“较慢”的芯片比快速的芯片(仅按时钟速率测量)可以做的更多,这是因为它能够在每个滴答声中做更多的事情。
您执行的测试可能对CPU体系结构的差异非常敏感:可以针对特定体系结构进行优化,您可能会发现它的性能不仅在Intel芯片和AMD芯片之间不同,而且在不同系列的Intel(或AMD)芯片之间也不同。它也可能使用单个线程,因此不会利用CPU的多个内核。
出于功率和热量管理的原因,人们正在降低时钟速率:提高时钟速率不会对功耗和热量输出产生线性影响。
由于上述非线性关系,对于当今的需求而言,拥有多个处理单元要比推动一个单元的速度不断提高的效率要高得多。这还可以提供一些巧妙的技巧来节省电量,例如在不使用时关闭各个内核,并在需求再次增加时恢复它们。当然,如果您同时运行两个或多个实例,则多核当然不会对单线程算法有所帮助。
您为什么认为制造商实际上仅通过比较两个处理器来降低时钟速度?
同样,时钟速度与每个时钟周期的性能也不相同。i7-3930K可以拥有3.8 GHz的P4与3.2 GHz的内核,但这并不意味着P4内核更快。
对于16核设计,这里关于功耗的所有说法都是完全正确和正确的,您自然会更加关注TDP问题。
同样,仅测试openssl的基准测试方法也很简单,可以得出真实的数字。也许您应该尝试任何加密基准测试套件。
您的测试用例(aes-256加密)对特定于处理器的优化非常敏感。
有各种CPU具有特殊指令,旨在加快加密/解密操作。这些特殊说明不仅可能仅出现在您的台式机上-可能是AMD CPU具有不同的特殊说明。另外,openssl可能仅对Intel CPU支持这些特殊指令。您是否检查过这种情况?
要找出哪个系统更快,请尝试使用“适当的”基准测试套件,或者更好地使用典型的工作负载。
正如其他人所说的,如果我们过去推动相同的相对时钟速率增加所需的电压,我们将无法再有效地冷却CPU。曾经有一段时间(P4时代或更早),您可以购买新的CPU并看到“立即”收益就是速度,因为与上一代产品相比,时钟频率已大大提高。现在,我们碰到了各种各样的热墙。
每个新一代的处理器的时钟速率都略有提高,但这也与适当地冷却它们的能力有关。英特尔等芯片制造商一直在致力于缩小CPU的芯片尺寸,以使其具有更高的能效并在相同时钟下产生更少的热量。顺便提一句,这种缩小的芯片尺寸使得这些芯片使现代处理器更容易因过电压而不是过热而死。这意味着它还限制了任何当前一代CPU的最高时钟速率,而无需芯片制造商进行其他优化。
芯片制造商高度关注的另一个领域是增加芯片上的内核数量。这确实会导致计算能力的显着提高,但仅当使用利用多核的软件时才如此。 注意此处的计算能力和速度之间的差异。简而言之,速度是指计算机可以执行一条指令的速度,而计算能力是指计算机在给定的时间内可以执行多少次计算。 现代操作系统和许多现代软件确实利用了多个内核。问题是并发/并行编程比标准的线性编程范式更困难。这增加了市场上许多程序充分利用这些更新的处理器功能所花费的时间,因为许多开发人员不习惯以这种方式编写程序。当今市场上仍有一些程序(现代的或旧的)无法利用多核或多线程。您引用的加密程序就是这样一个例子。
芯片制造商关注的这两个领域是内在联系的。通过减小芯片的裸片尺寸和功耗,它们便能够增加所述芯片上的内核数量。最终,尽管如此,这也将碰壁,导致另一个更剧烈的范式转变。
这种范式转变的原因是由于我们接近硅作为芯片生产基础材料的极限。英特尔和其他公司一直在努力解决这一问题。英特尔已经表示,它可以替代硅,并且我们可能会在2017年以后的某个时候开始看到它。除了这种新材料之外,英特尔还在研究3D晶体管,这种晶体管可以“有效地将处理能力提高三倍”。这是一篇文章,提到了这两种想法:http : //apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm
热损失 H
等于频率的4度f
。
高〜f ^ 4
因此,频率的微小增加导致高的热损失。
进一步小型化
更高的频率导致进一步的晶体最小化。目前,我们尚无与纳米级材料有效合作的技术,而纳米级是极限。
如其他答案所述,CPU制造商希望降低时钟速度以控制功耗和散热。为了以相同的时钟速度执行更多工作,使用了几种策略。
大型片上存储器高速缓存可以使更多数据“接近” CPU,可以以最小的延迟进行处理,而主存储器则要慢得多。
不同的CPU指令需要使用不同数量的时钟周期来完成。在许多情况下,您可以使用简单的电路在多个时钟周期内实现操作,也可以使用更复杂的电路以更少的时间来实现。
奔腾4是英特尔演进中最生动的例子,奔腾4在时钟速度上是一个很大的离群值,但性能却不成比例。位移指令在以前的芯片中可以在一个周期内位移32位,因此在Pentium 4中使用的电路要简单得多,每个位移需要一个周期。人们期望Pentium 4架构由于其简单性而可以扩展到更高的时钟速度,但这并没有奏效,而快速复杂的移位电路又回到了Core和更高版本的架构中。
从IEEE:
那么为什么不加快时钟时间呢?因为就功率消耗和散热而言,不再值得付出成本。英特尔将速度/功耗之间的权衡称为“多核处理器的基本定理”,这就是在单个芯片上使用两个或更多处理区域或内核的道理。
http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled