文档章节

[转载]X86和ARM架构的处理器能效差异为什么会这么大?

花果山妖
 花果山妖
发布于 2014/08/02 13:19
字数 725
阅读 33
收藏 0

转至:知乎

作者:李震

原链接:http://www.zhihu.com/question/20148756

说x86和ARM处理器“实际执行效果差不多”其实有所不妥。楼主也说了比较的几个设备主要是windows平板,ipad和智能手机。这些平台上的程序都是移动环境下的应用,大多逻辑简单功能单一,没什么“计算”可言。ARM处理器本身定位于嵌入式平台,应付轻量级、目的单一明确的程序,现在应用在移动设备上正是得心应手。x86定位于桌面和服务器,这些平台上很多应用是计算密集型的,比如多媒体编辑、科研计算、模拟等等。因此将x86和ARM在移动环境下做对比得出“差不多”是不好的。


由于定位的不同,ARM处理器基于精简指令集(RISC)架构。指令集数量少就可以简化硬件逻辑的设计,减少晶体管数量,也就意味着低功耗。而且由于移动平台应用通常简单,程序的控制流不复杂,执行效率没有必要很高,所以流水线、分支预测等硬件逻辑都比较简单。这些都降低了晶体管总量。同时因为移动设备有电池的能源限制,ARM的电源管理是作为重要部分特别设计了的。比如移动设备的处理器在待机时通常只以极低的主频在运行,甚至可以暂时关闭闲置的核心、协处理器来降低功耗。

x86就截然不同。x86是复杂指令集(CISC)架构,存在很多机器指令,只为了高效地完成一项专门任务(比如MMX, SSE中的指令)。这就使得硬件的逻辑很复杂,晶体管数量庞大。为了高效地进行运算,x86架构有较长的流水线以达到指令级并行(ILP)。长流水线带来的一个弊端,就是当遇到分支时,如果预载入分支指令不是未来真实的分支,那么要清空整个流水,代价较高。所以x86为此还必须有复杂的分支预测机构,确保流水线的效率。再加上多级cache,支持超线程、虚拟化等等,x86的复杂度其实相当高。

我工作单位的同事基本上都是开发科研计算或者模拟程序的,比如流体力学工具包,蛋白结构模拟之类的。这些软件一启动就是毫无意外地核心满载,通常都是放到带GPU加速的超算上运行。这些计算要是放到ipad上,怕是把ipad算爆了也得不到什么结果。。。

本文转载自:http://blog.csdn.net/mayeblog/article/details/19568639

共有 人打赏支持
花果山妖
粉丝 3
博文 17
码字总数 9727
作品 0
沈阳
私信 提问
简化指令与复杂指令的区别!好文

这里就不去管细节,简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概...

未来十年
2012/01/03
0
0
戴尔拟开发 ARM 处理器的超级计算机

戴尔研发部门似乎并没有因为公司私有化计划演变成一场收购大战而受到影响,他们正在组装未来将推出市场的ARM超级计算机的原型机。戴尔研究计算小组的组长蒂姆卡诺尔(Tim Carroll)称,戴尔对...

oschina
2013/04/01
2.8K
18
ARM推出全新IP组合 为高端移动体验树立新标杆

ARM宣布推出全新IP组合,为2016年上市的移动设备树立高端用户体验新标杆。 这套IP组合是以业界现有针对移动系统级芯片(SoC)开发的最高性能处理器技术ARM Cortex-A72处理器为核心,在特定的...

玄学酱
02/27
0
0
高通或退出服务器芯片市场,高通的今天会是华为明天吗?

雷锋网消息,今日彭博社援引知情人士消息称,全球最大的手机芯片制造商高通准备放弃开发数据中心服务器芯片。知情人士还表示,高通还在考虑两种选择,关闭这项业务或者为其寻找新的买家。 高...

包永刚
05/08
0
0
野心勃勃 x86/ARM 兼容计划 AMD 为何放弃?

在今年的纽约分析师大会上,AMD重新谋划了关于x86和ARM的战略。x86上有全新的"Zen"架构,自主设计的K12 64位新架构将在2017年推出。等等,熟悉AMD的朋友可能会想到,曾经宏伟“Project Skybr...

oschina
2015/05/18
4.7K
18

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 你是靠自己努力才失败的

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲 《Raveena》- Raveena 《Raveena》- Raveena 手机党少年们想听歌,请使劲儿戳(这里) 11月18日,俞敏洪在某论坛演讲中称...

小小编辑
58分钟前
313
7
firewalld

1. firewalld 是什么 CentOS中默认是有 firewalld, iptables, etablesd firewalld 是 CentOS7/RadHat7 中默认的防火墙管理工具. firewalld 工具用来管理里netfilter, 不过底层还是调用的还是...

Fc丶
今天
4
0
Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。 Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。 请参考下图。 https://www.cwiki.us/pages...

honeymose
今天
6
0
Apache限定目录解析PHP,限制user_agent,PHP相关的配置

Apache限定目录解析PHP 配置前访问upload/index.php [root@test-a ~]# curl -x192.168.77.139:80 'www.test.com/upload/index.php'This is upload diretory 配置,/usr/local/apache2.4/......

野雪球
今天
6
0
java.util.Concurrent.Exchanger源码

类图 源码: package java.util.concurrent;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent......

狼王黄师傅
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部