ARM处理器和Intel x86处理器的性能对比详解
Qualcomm ARM CPU与Intel x86 CPU性能比较
随着移动互联网时代的到来,Qualcomm(高通)、Texas Instruments(德州仪器)等基于ARM架构的CPU受到越来越多人的关注,而昔日王者的Intel x86架构由于功耗问题,在移动互联网似乎举步维艰。
Intel x86架构对比于ARM架构来说,性能强大,功耗较高是大家都知道的事实。那Intel x86架构的CPU性能究竟比ARM架构的强多少呢?下面我们对单个Core做一个简单的评测。
我的PC机CPU:Intel Pentium Dual-Core CPU E5300 2.60GHz(Launched 2008Q1 x86)
我手机的CPU:Qualcomm Snapdragon S2 MSM8255 1.0GHz(Launched 2010Q2 ARMv7)
从上述说明可见,Intel CPU比Qualcomm CPU早两年推出。
我们采用Whetstone benchmark(Whetstone: floating-point arithmetic performance)来测试CPU的性能。大体步骤如下:
1、 下载Whetstone源码
2、 在MinGW环境中使用gcc编译Windows PC版本可运行程序
3、 在Linux交叉编译环境中使用arm-none-linux-gnueabi-gcc编译Android Native C版本可运行程序
4、 在Windows中运行测试程序
5、 在Android ARM Linux中运行测试程序
6、 总结运行时间
一、下载Whetstone源码
可以在如下地址直接下载源码文件:
http://www.netlib.org/benchmark/whetstone.c
二、在MinGW环境中使用gcc编译Windows PC版本可运行程序
使用如下命令行,在MinGW中编译:gcc -static whetstone.c –O0 -o whetstone -lm
注意:使用的是-O0,不让gcc优化代码,保证对比测试的准确性
三、在Linux交叉编译环境中使用arm-none-linux-gnueabi-gcc编译Android Native C版本可运行程序
使用如下命令行,在Linux交叉编译环境中编译:arm-none-linux-gnueabi-gcc -static whetstone.c –O0 -o whetstone -lm
关于Linux交叉编译环境的建立,可见我的另一篇文章:《在Ubuntu10.04中建立ARM交叉编译环境》
http://blog.****.net/xt_xiaotian/article/details/6836739
四、在MinGW中运行测试程序
对程序执行100000次循环,然后观察输出。
$ time ./whetstone.exe 100000
Loops: 100000, Iterations: 1, Duration: 8 sec.
C Converted Double Precision Whetstones: 1250.0 MIPS
real 0m8.698s
user 0m0.000s
sys 0m0.015s
五、在Android ARM Linux中运行测试程序
假设系统中已经配置并好adb(Android Debug Bridge)。将手机连接USB数据线,然后打开USB调试。在cmd窗口中输入adb shell便可以进入Android adb shell了。然后进行如下配置:
1、 使用mount –o remount,rw /system将/system目录挂接为可写入。Ctrl + C跳出Android adb shell,回到刚才的cmd窗口
2、 使用adb push C:\whetstone /system,将在Linux交叉编译环境中编译出的whetstone程序拷贝到Android Linux中的/system文件夹中
3、 使用chmod 777 whetstone将程序设置为可执行
4、 使用time ./whetstone 100000执行程序,然后观察输出。
输出为:
Loops: 100000, Iterations: 1, Duration: 148 sec.
C Converted Double Precision Whetstones: 67.6 MIPS
real 2m 28.88s
user 2m 28.25s
sys 0m 0.02s
六、总结运行时间
同样的程序,同样的循环次数,在Intel CPU上运行耗时8.698秒,而在Qualcomm CPU上运行耗时148.88秒。
可以得出结论,在浮点数运算上,Intel Pentium Dual-Core CPU E5300 2.60GHz比Qualcomm Snapdragon S2 MSM8255 1.0GHz强17倍。根据Intel的摩尔定律,每18个月,CPU性能将提升一倍,大体可以算得同等档次、同等时间产品Intel CPU要比Qualcomm CPU强大42倍。
测试可能有些不准,但也在一定程度上反应了两种不同类型CPU的性能差距,欢迎大家回帖说说自己ARM CPU、PC CPU的测试值。
--------------------------------------------------
这个比较很不科学。
主要是你运行的循环数太少。windows的那个user时间都忽略了,android的那个user时间和运行时间差不多。
加大循环才能体现差距。差距应该能接近1000倍,而不是42倍。
--------------------------------------------------
对比之下,Qualcomm MSM8255也就仅仅相当于一个 Intel Pentium III Mobile 750MHz 而已,Link:http://ark.intel.com/products/27410/Mobile-Intel-Pentium-III-Processor-750-MHz-256K-Cache-100-MHz-FSB
上一篇: 入门课程第11讲:Jz2400串口(UART)的实战应用指南
下一篇: ARM处理器的时钟系统详解
推荐阅读
-
ARM Cortex-A、Cortex-R和Cortex-M处理器版本之间的主要差异详解
-
比较ARM和X86处理器的计算能力差异
-
ARM处理器和Intel x86处理器的性能对比详解
-
三分钟带你了解手机内部硬件-主要影响手机性能的有以下几点 CPU - *处理器(手机中的大脑) CPU 是计算思考以及处理事物的。 比如:我们日常玩手机,什么最重要?毫无疑问是手机打开软件很流畅,使用各种功能不卡。 这就是CPU的性能,那什么影响 CPU 的因素有哪些? 架构 架构是 CPU 的基础,对于处理器的整体性能起到了决定性的作用,不同架构的处理器同主频下,性能差距可以达到2-5倍。可见架构的重要性。 那么什么是架构呢? 打个比方,架构就是一栋楼的框架。至于最终楼什么样子,就由处理器的厂商决定了,但是有一点,如果说这栋楼房的结构设计出来容纳多少人,那么最后建好的房子也要在这个范围内。同理,如果使用相同架构的处理器,那么本质上不会有太大的区别。 看一下主流手机的架构 处理器对比.jpg 从上图可见:高通 和 苹果都是自主设计,所以说它们牛还是有一定的道理的。不同的架构, 性能和功耗也是不同的。架构决定了 主频、核心数、带宽等和运算量直接相关的东西。目前很多手机打广告都是说 多少核的机器。但是并不是说核越多性能就越强,你没看见,苹果双核就能吊打高通和联发科吗? 制程 制程 专指:事物运作程序的处理过程。常指手机芯片框架的运算速度量。 简单的说就是电路板中电路与电路之间的距离,目前已经发展到纳米级别。 制程越小,可以向芯片中塞入更多的晶体管,随之而来的好处还有:降低电量和成本、散热。 制程数的确定 这里有人要问,为什么制程的数字是这些,而不是别的数字,比如有28nm,为什么没有29nm? 这其实是有一定规律的。根据早期国际半导体蓝图规划,由五个在相关领域较为发达的国家共同制定,约定下一代制程要在上一代基础上做到晶体管数量不变,芯片面积缩小一半。由这一关系可以算出前一代制程要比后一代大√2倍,所以能算出后一代大概数值。纵观整个处理器制程变化,除了少部分特殊的外,都遵循着这一规则。 近代制程的发展 2014 年底,三星宣布了世界首个 14nm FinFET 3D 晶体管进入量产,标志着半导体晶体管进入 3D 时代。发展到今天,三星拥有了四代 14nm 工艺,第一代是苹果 A9 上面的 FinFET LPE(Low Power Early),第二代则是用在猎户座 骁龙 820 和骁龙 625 上面的 FinFET LPP(Low Power Plus)。第三代是 FinFET LPC,第四代则是目前的 FinFET LPU。至于 10nm 工艺,三星则更新到了第三代(LPE/LPP/LPC)。 目前为止,三星已经将 70000 多颗第一代 LPE(低功耗早期)硅晶片交付给客户。三星自家的猎户座 8895,以及高通的骁龙 835,都采用这种工艺制造,而 10nm 第二代 LPP 版和第三代 LPU 版将分别在年底和明年进入批量生产。 手机芯片市场上已经进入了 10nm、7nm 处理器的白热化竞争阶段,而 14/16nm 制程的争夺也不过是一两年前的事。 总线位宽 总线位宽决定输入/输出设备之间一次数据传输的信息量,用位(bit)表示,如总线宽度为8位、16位、32位和64位。