在一些论文中,作者正在测量他们的sinlge线程软件的加速程度(加速是输入处理延迟的减少)。他们展示了三种不同架构的加速结果。以下是详细信息:
这是结果图
现在,Xeon是一个多核,它表现出了良好的加速性能。我的问题是,当你的程序是单线程时,单个线程将一次在一个核心上运行。是的,但是当一个核心上有负载时,您的操作系统可能会将该线程切换到另一个核心,但它仍然只使用一个核心用于您的软件的单个线程。那么,为什么Xeon与其他两种架构相比表现出良好的性能呢?
与其他架构相比,还有其他因素使Xeon的性能更好吗?这是使其性能更快的时钟速度吗?
答案 0 :(得分:2)
如果我理解正确,那么您正在测量不同处理器上2种算法之间的性能差异。具有较大加速的处理器可能特别擅长新算法,或者对旧算法(或两者)特别差。以下答案给出了这种差异的可能原因。如果我的问题出错,你现在就可以停止阅读了。
最有可能的差异与核心数量无关。测试的算法是单线程的。在测量程序的性能时,PC不得受到其他未指定程序的重大负载 - 否则整个测量无效。因此,操作系统不太可能经常中断算法,因为它会对性能产生重大影响。
差异也不直接归因于时钟速度,因为这会同等地影响两种算法。它可能间接地与时钟速度有关,例如由于计算速度与读/写访问的比率不同。
差异肯定会受到各种处理器特定“功能”的影响(缺少更好的词),包括但不限于:
如果针对特定体系结构编译算法,则编译器还可以执行各种处理器特定的优化,用另一个特定于当前处理器的指令替换一组指令。或者它可以在为一个体系结构创建程序时重新排序一组指令,因为隐式保证对该处理器有效。
程序还可能依赖于处理器以外的硬件,例如,如果它访问RAM或硬盘。算法还可以调用操作系统,例如在控制台上打印某些内容,写入硬盘或保留/释放内存。此时,操作系统及其配置将成为差异的一部分。
非常有趣,您可以在选择不同的防病毒软件时测量算法的性能。
答案 1 :(得分:1)
时钟速度不是决定CPU性能的唯一因素。其他主要因素是每时钟指令(IPC)速率和CPU高速缓存大小。 Xeon E5520比Core 2更新,因此它可能更有效地执行正在执行的指令,从而提供更高的IPC。此外,英特尔的Xeon芯片通常比台式机芯片(如Core 2)或笔记本电脑芯片(如Pentium M)具有更大的L2和L3缓存,因此CPU正在使用的代码或数据更可能位于快速缓存内存中比缓慢的主记忆。
答案 2 :(得分:1)
流程技术是这里的核心选择。 Pentium M具有90纳米的特征尺寸,Core2为65纳米,Xeon为45纳米。
小一些更好:
缓存大小可能是最大的选择器。 Xeon很昂贵,并且通常与更好的内存总线结合,从测试中不清楚基准是否是总线限制的。可能不是。