直接比较ARM和x86处理器的时钟频率有多公平?

时间:2015-07-11 21:42:09

标签: performance x86 arm comparison

我想知道,如果我有ARM处理器(1GHz)和x86处理器²(1GHz)并且没有关于它们的其他信息,是否可以给出关于哪一个可能在执行某些内容时表现更好的一般说法任意(复杂)应用程序。

我知道ARM(RISC)架构是专门为某些应用程序开发而开发的,而x86架构只是传统兼容性和变通方法的汇编(没有打算抨击)。当然,重要的是要更多地了解应用程序,即哪些特定任务(以及指令)可能执行得最多。我们也撇开这些架构的不同版本。

因此,我的问题是:让这两个未指定的处理器具有1GHz的时钟频率,是否有可能给出一个有根据的猜测哪一个会表现得更好(即更快地执行一般但复杂的应用程序)。

在第二个注释:如果不可能(这是我假设的),至少需要比较哪些通用参数 - 除了将应用程序的汇编代码与架构的相应指令集进行比较?

²为了保持简单,让我们假设他们既有32位架构又没有特定的AMD或Intel功能。

3 个答案:

答案 0 :(得分:5)

以下是我的32位GCC基准测试的比较 - 在​​我的网站上阅读更多内容::

http://www.roylongbottom.org.uk/

它们代表Android系统(Atom原生英特尔代码),使用Linux Ubuntu的Raspberry Pi 2 A7和基于Intel / AMD的PC的每CPU时钟Hz的百分比操作。

首先是来自Whetstone基准测试的小环路,其中Intel和ARM非常相似。

接下来是具有L2缓存速度依赖性的Linpack基准测试,后面的技术显示了改进。

最后,我的最大MFLOPS测试,针对英特尔和针对ARM的NEON编译的SSE指令,以及英特尔的飞跃。采用AVX指令的Core i7每MHz高达1147 MFLOPS。

注意结果可能取决于编译器发行版本。

                       Whetstone                 Linpack      Max
                        Float Functions  Integer    Float    Float

    Cortex-A9              22      1.7      124       17       95
    Cortex-A15             18      1.7      102       47      241
    Qualcomm 800           27      1.5      146       33
    Atom Z3745             30      1.7      182       22

    Cortex-A7              27      0.9      126       13       86

    Atom N455              19      0.7       63       12      110
    Athlon 64              28      1.6      113       42
    Phenom II              28      1.6      136       49      500
    Core 2 Duo             31      1.6      238       41      600
    Core i7 4820K          31      1.8      224       65      630

答案 1 :(得分:3)

不是真的。 x86的低功耗可能是像Atom(特别是前Silvermont)这样的低功耗设计,或者甚至是更为有限的x86设计。现代桌面/笔记本电脑x86 CPU每个时钟可以执行很多操作(每个时钟大约4个指令,禁止分支错误预测,数据依赖性或执行端口争用)。谷歌如果你想在实际代码上使用桌面CPU的IPC(每个周期的insn)数字。

对于某些事情,一个CPU可能会更快,但对于其他人来说,对于强调此列表中不同项目的任务(我刚刚编写)可能会更慢:

  • 向量整数和/或FP数学吞吐量
  • 不可预测的分支(数据压缩)
  • 工作负载大小(缓存)
  • 带宽到主存储器
  • 要缓存的带宽
  • 大代码占用(指令缓存/获取/分支预测缓冲区大小)
  • AES / CRC32C / SHA1(某些CPU中的硬件指令支持)。

如何实际比较

查看SPECint2000或SPECint2006的gcc基准测试结果。如今,构成整个SPECint套件的其他基准测试通常被认为不那么有用。 (source - Realworldtech forum discussion。是的," Linus"他同意的是Linux成名的Linus Torvalds。)

  

你不能游戏gcc,它相对于游戏拥有相当大的缓存空间   其他人,强调分支预测器等等。因为SPEC没有   包括浏览器或GUI基准测试,gcc可能是你最接近的   来实际测量智能手机的性能。

答案 2 :(得分:0)

不,不公平。比较任何两个随机车辆的任何特定性能指标(最高速度,某些赛道上的单圈时间,里程,舒适度,安全性等),仅仅因为它们都具有相同数量的车轮。仅仅基于车辆的车轮数量和品牌名称(而非车型)进行预测并不是一个有趣的比较。