|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在嵌入式领域,存在着三种处理器通用的架构,PowerPC、X86、ARM,本文将对这三种架构进行对比分析。
3 C4 ^0 M7 Z( Y: e
% [& S; d( _' g7 h0 e! Z# G7 {# X8 F" W. L+ G. J
! D. i, Y; O+ O! Y1 @3 gPowerPC的由来- ^. v2 K1 g" H5 y7 ^
) v: m$ G0 n9 u5 i6 g# e e7 ~1975 年, IMB 公司801 小型计算机工程在RISC机体系结构方面做了许多开创性试验。801 计算机与贝克莱大学的RISC处理器引起了RISC机革新运动, 然而801 计算机仅仅是一个用来演示某种概念的原型机。7 I5 @8 \1 i9 G
" N& w) X3 K* r# x! a7 d4 c" ]+ ~6 h, |6 ]
, k. V e s+ }( N+ @! i! E. ?& v/ L# M( }1 j7 ]
! y8 h" C J! R( q4 ^* H; P6 F. ~801 工程的成功致使IBM 公司开发一种商业的RISC工作站产品, 这就是RT PC。RT PC 于1986 年诞生, 它采用了801 的体系结构概念, 成为一个实际产品。RT PC未获得商业成功, 它有许多性能相当或更好的竞争产品。1990 年IBM 公司在总结了801 和RT PC 两产品经验教训的基础上生产了第3 个产品即IBM RISC SYSTEM/6000 。它是一个类似RISC 的超标量计算机, 市场定位是高性能工作站。此产品推介后不久, IBM公司开始把这种计算机称为Power 结构。
6 {6 {7 y4 X/ X/ r& Q: D1991年,IBM 公司与MOTOROLA 公司(摩托罗拉公司,6800 系列微处理器开发商)、苹果公司(该公司将MOTOROLA 芯片装入Macintosh 计算机)结成联盟, 出产了一系列用PowerPC结构实现的系列计算机, 以争抗x86 处理器所占有的压倒优势的市场。这种结构源于Power 结构, 并做了改动(包括消除故障, 增加原先缺少的关键技术特色, 去除某些指令, 放宽技术条件), 从而实现了更高的执行效率。到1995年初,PowerPC系更机有四个产品先后问世。, H0 h+ ^/ B7 ?) q, V) U, Z3 P ?3 I
601 第1 个PowerPC产品。它的目标是让PowerPC结构尽快地占领市场, 601 是32 位计算机。其时钟速度可达80MHz , 每个时钟周期可执行3 条指令。( w3 O8 A. z6 V1 W& G9 G
5 U1 x0 K% ]0 J- U6 E; W) m# l# D' O603 设计目标是低端台式机, 便携机和膝上机, 它也是32 计算机, 性能与601 相当, 但价格低并且执行效率更高。它的时钟速度为80MHz, 每个时钟周期执行两条指令, 适用于低能耗要求的计算机。604设计目标是台式计算机和低端服务器, 也是32 位计算机, 但是604 使用了更先进的超标量设计技术, 以获取更高的性能。604 的时钟速度为100MHz , 每个时钟周期可执行4 条指令。7 l/ J3 v& `1 t1 V b
* J0 y% C. ~5 G% E# Z# S: {620 设计目标是高端服务器。PowerPC 系列机中的第1 个使用全64 位结构的产品, 它包含64 位寄存器和64 位数据通路。. X% ~& j4 L9 O- T, x9 Y; c
. T2 f% {$ f8 C! A. Z" l. bPowerPC是三家公司联盟推出的系列微处理器产品。尽管PowerPC产品都具有基本一致的体系结构, 但是具体规格型号却与制造公司有关, 由制造公司决定。一般而言, IMB 公司生产的PowerPC 芯片有PPC的简称, MOTOROLA 公司生产的PowerPC 芯片有MPC的简称。例如Motorola MPC620 时钟速度为125MHz , 每个时钟周期可执行4 条指令, 它是第一个采用真正64 位地址总线的PowerPC微处理器, 性能指标大大优于同时期的Pentium芯片。
- E" s# {. s2 x$ s( q. |) Y: @8 S4 X9 @0 W2 m; s5 T4 [* ]2 Y
5 r2 l7 c/ i9 _- h' C微处理器市场中PowerPC的地位
& ~ _' m" \, h9 w2 g- q
" y$ \* Z3 o1 x$ H. a从最早的PowerPC601 产品诞生起, PowerPC 在市场上就一直处于激烈的竞争之中。1994 年是PowerPC和Pentium的决战年。从技术性能指标上看,PowerPC 和Pentium各有千秋, PowerPC的性能价格比甚至比Pentuim 高出80 %。这两个芯片的制造商都为自己的产品投入了大量的资金进行广告宣传, 进行激烈的市场竞争。这场市场竞争不仅仅是Power-PC和Pentium 的竞争,也是它们所代表的当时RISC技术和CISC 技术的竞争, 以及这两大产品生产集团WINTEL 和AIM 的竞争。8 W6 N8 k/ d4 T, B+ o* E% Q& h& G5 Z
在1994 年大搏斗中,Pentium芯片占了上风, 在随后的几年里越发风光一时,到目前为止已成为世界微处理器市场的主导产品。现在, 在Pentium 芯片或X86 芯片的周围, 全球有几千家厂家为其开发配套硬件、软件和提供服务。相反, 尽管近几年来PowerPC 也获得了一定的市场份额, 大约每年占百分之十几, 但是围绕PowerPC 开发硬软件的公司只有几百家, 市场占有率始终没有明显的增长。
2 Q- E' E* W3 b" @AIM联盟对自己的PowerPC 产品的态度也几经曲折, 从92 年满怀信心到96 年失望动摇,97 年以后到现在又重建信心继续投入研发和市场竞争。- }; A( \2 C+ H5 h$ d: f: H( I4 }9 L5 ~8 u+ @2 d
分析近年来PowerPC 的市场表现, 我们可以得出以下几个观点。
, J7 a9 a4 p4 Q: Q2 f! g1.保护用户原先在硬件和软件上的投资是处理器开发重中之重。众所周知, Pentium 是向下兼容处理芯片, 用户在8088 , 8086 , 80286 , 80386 , 80486 微处理器芯片上所做的投资都能得到保持。在这方面Pentium占据上风, 它留住了大量的X86产品的老用户。而PowerPC 是相对独立的微处理器芯片, 如果用户买了基于PowerPC 的计算机产品, 那么这些用户原先在计算机软件硬件方面的投资就难于保持, 这是PowerPC参与微处理器市场竞争的薄弱环节。# z" r6 r% I- E( Z- f. J1 V; P* B9 W2 O* y5 L& L1 e, t- O
2.对于一个新体系结构的微处理器, 如果没有强有力的软件开发力量做后盾, 就很难引起用户的兴趣, 建立起使用信心。Pentium 新芯片的每一次推出都有Microsoft 公司的软件开发支持。而AIM 联盟在PowerPC芯片上投入的软件开发力量有限, 许多软件尤其是Windows95/98 和Windows NT 环境下的软件在PowerPC硬件环境下不能运行, 这使得Power-PC失去了相当大的市场份额。4 e( @* h. E6 J) S: f1 [: q
8 Z/ u+ O; g5 c2 T3 y/ ]) ?3.从技术上讲, PowerPC所代表的RISC技术还没有取得刚出现时人们所期待的那样大的技术优势。1994 年PowerPC刚进入市场时, 它带着人们对RISC技术优势巨大期望的光环。然而, 这四五年来, Pentium芯片一次又一次地大量集成复杂指令并且获得市场认同致使人们对RISC 技术的重要性产生了动摇。虽然Pentium 也带有RISC 指令, 但本质上讲它是CISC型处理器。Pentium 的市场成功向人们表明CISC处理器仍然具有强大的生命力。
4 l# ^3 K, M7 U1 S' A九十年代的的计算机体系结构的一个显著发展动向是CISC与RISC共存并且相互渗透。我们注意到在新型号PowerPC芯片中也集成了复杂指令。例如1998 年Motorola 公司为PowerPC 开发了一种所谓的“AltiVec”新技术, 不仅增加了MMX多媒体指令集, 而且包括了联网和电话功能。现在这一技术已得到Apple和IBM 的支持。“AltiVec”的出现标志着在技术进步方面PowerPC 紧追Pentium 不舍,两个处理器的技术竞争与市场角逐在更高层次上继续展开。
3 u, E, g @7 F, Q" e2 h- m! Z4 Y2 d& }. z
' A: L& ? n) L) G! e9 E f$ _7 ^, x( j2 x8 E7 L8 M8 q! h' w
" x! v' Q& _& O9 G0 VX86架构的由来. x5 l2 S6 \/ e& F. Y
: s$ i; R$ @ h [. P, z" u8 W8 W
" J) `' J- h9 ]: S: {1978年6月8日,Intel发布了新款16位微处理器8086,同时也开创了一个新时代:X86架构诞生了。X86指的是特定微处理器执行的一些计算机语言指令集,定义了芯片的基本使用规则,一如今天的X64、IA64等。
) }/ ~. n* d$ a. Z1 Z- Z/ |事实上,8086处理器发布之初并没有获得太多的关注,开始也没有被大范围采用,但它在PC业界的地位怎么形容都不为过,这就是因为它带来了X86。它不仅成就了Intel如日中天的地位,也成为了一种业界标准,即使在当今强大的多核心处理器上也能看到X86的身影。
' \ x5 l/ v% C5 K& `8 V4 G. D在30年的发展当中,X86家族不断壮大,从桌面转战笔记本、服务器、超级计算机、编写设备,期间还挫败或者限制了很多竞争对手的发展,让不少处理器厂商及其架构技术成为历史名字,即使有些封闭发展的也难以为继,比如苹果就已经放弃了PowerPC.' a2 F6 O" ^, X' O& Q& e
当然,我们不能忘了X86-64和EM64T的斗争。2003年,AMD推出了业界首款64位处理器Athlon 64,也带来了X86-64,即X86指令集的64位扩展超集,具备向下兼容的特点。当时Intel也在推行64位技术,但是其IA64架构并不兼容X86,只是用在服务器Itanim上。为了和AMD展开竞争,Intel也在2004年推出了自己的64位版X86,也就是EM64T。这其实也证明,X86指令集的弹性完全可以拿来对付Intel,所以即使Intel统治了整个市场,其它公司依然可以改变X86的发展方向。/ R/ P t' r2 M
X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386、586,奔腾。由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集,如今的奔腾,P2、P4,赛扬系列都是支持X86指令系统的,所以都属于X86家族。& Z/ P! O; T+ `
P7 z" s Q+ n( Z9 C
1 G L- a5 K9 Q8 R1 j% g8 ]/ R9 a; c. @- I4 X3 H" |% k$ G# Y7 S& o! s9 i. c* B
X86架构展望2 y+ z& j/ b0 K9 \" y' g
- w$ y/ q3 Y. ^- X
英特尔推出X86架构已满30年了,同486相比,Pentium向前迈进了一大步, 而PⅡ的前进步伐则没有这么大了,X86 CPU的发展似乎已到了尽头。英特尔非常清楚,是X86指令集限制了CPU性能的进一步提高,因此,他们正同惠普共同努力开发下一代指令集架构(Instruction Set Architecture ,ISA) : EPIC (Explicitly Parallel InstructionComputing,显性并行指令计算)。对英特尔而言, IA-64(英特尔的64位架构)是下一个10到15年的架构。新的ISA将使英特尔摆脱X86架构的限制,从而设计出超越所有现有RISC CPU和X86 CPU的新型处理器。
: M2 b* ?& J! S1 w5 R那么EPIC的先进之处在什么地方呢?为什么英特尔会放弃使它成为芯片巨人的X86架构呢?6 Y- ^8 D( a0 A1 ]0 r: W. }
IA-32的问题我们知道,工程师可以通过提高每个时钟的指令执行数来提高性能,英特尔新的指令集的首要目的在于,让指令更容易解码,更容易并行执行。这样就可以不受限制地开发新型处理器。但是,对工程师而言,兼容8086的X86指令集一直是必须完成的任务。毕竟,兼容前代产品是使英特尔成长壮大起来的关键因素,而且还可以保护用户原先的投资和使用数以百万计应用软件。/ D4 k9 ^8 K* O8 Z. ^+ `4 Q c) G* G2 Y2 D Q5 d, D: M
既然如此,为什么又要放弃整个X86指令集重新开始呢?X86的不足在什么地方?- \6 L; H" P) h f+ U+ v
8 V( x7 p1 A9 M- H1、可变的指令长度X86指令的长度是不定的,而且有几种不同的格式,结果造成X86 CPU的解码工作非常复杂,为了提高CPU的工作频率,不得不延长CPU中的流水线,而过长的流水线在分支预测出错的情况下,又会带来CPU工作停滞时间较长的弊端。% t; r4 o! S7 o0 H( R* k+ d7 C" Y5 \& P
& u, j/ F4 i& \3 C5 [& V( x( p5 d- i( D# x# O A9 u
2、寄存器的贫乏 X86指令集架构只有8个通用寄存器,而且实际只能使用6个。这种情况同现代的超标量CPU极不适应,虽然工程师们采用寄存器重命名的技术来弥补这个缺陷,但造成了CPU过于复杂,流水线过长的局面。8 ?/ T2 L/ w3 S4 d
: k6 O5 X0 X/ o# F* Q* ?4 S6 v
1 E6 E) b1 V8 e) t! G3、内存访问 X86指令可访问内存地址,而现代RISC CPU则使用LOAD/STORE模式,只有LOAD和STORE指令才能从内存中读取数据到寄存器,所有其他指令只对寄存器中的操作数计算。在CPU的速度是内存速度的5倍或5倍以上的情况下,后一种工作模式才是正途。$ U- I$ P4 I5 {0 |) O; p& l" |
/ Q( _* t% U# X$ E3 c% E- h9 Z6 ]% x" o: y% O
4、浮点堆栈 X87 FPU是目前最慢的FPU,主要的原因之一就在于X87指令使用一个操作数堆栈。如果没有足够多的寄存器进行计算,你就不得不使用堆栈来存放数据,这会浪费大量的时间来使用FXCH指令(即把正确的数据放到堆栈的顶部)。: Q8 f5 \) T4 s7 v2 y
& c* f1 u3 j+ l) n8 e3 ~, J" F9 l& j5 s7 m; C* i
5、4GB限制 这似乎不是问题,但是,在2000年前,主流PC只有4MB内存,现在绝大部分PC装备了2G以上的内存,是以前的512倍,所以,PC内存突破16GB绝对不会令人惊讶,大型服务器已经使用了32GB以上的内存,突破64GB内存的情况已经出现。/ s# D/ q* f8 E; D. b$ W( f. [
/ j% o1 E" ~- x1 A, N6 F. Q- W
6、芯片变大所有用于提高X86 CPU性能的方法,如寄存器重命名、巨大的缓冲器、乱序执行、分支预测、X86指令转化等等,都使CPU的芯片面积变得更大,也限制了工作频率的进一步提高,而额外集成的这些晶体管都只是为了解决X86指令的问题% x3 E1 t3 b+ K# S( a. \% |: f6 I0 v7 i! a `0 r
* @8 z. t$ y) E* e9 R
' _! Y$ p. y* @# q. z" N# M+ ^
ARM的由来; L7 c+ r+ Z: n1 Q( q8 f2 F/ Q4 {7 u l# D; h- ?+ s& C, {
+ H1 T& Q& G- g N- \* q2 @
1978年12月5日,物理学家赫尔曼·豪泽(HermannHauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn公司。
. X8 E8 t* O/ s' W! Q7 D. @1 o起初,Acorn公司打算使用摩托罗拉公司的16位芯片,但是发现这种芯片太慢也太贵。"一台售价500英镑的机器,不可能使用价格100英镑的CPU!"他们转而向Intel公司索要80286芯片的设计资料,但是遭到拒绝,于是被迫自行研发。
, y3 P: B# M v2 [. l1985年,RogerWilson和Steve Furber设计了他们自己的第一代32位、6M Hz的处理器,Roger Wilson和Steve Furber 用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来。$ @- k" t: @$ I+ h
RISC的全称是"精简指令集计算机"(reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别适合移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA。/ u- @$ k! @; o" o7 n
20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。& n* |" X/ \$ C! ^) k" E& L
1990年11月27日,Acorn公司正式改组为ARM计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。公司的办公地点非常简陋,就是一个谷仓。
& G6 M% V5 N! k0 f" d20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction SetComputer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。
8 {- }. t4 z" A) f3 a, Q( N) P. ?! f
' ]3 H4 R" N# F
3 C/ d) l- k1 |; J& a- KARM的前景
6 z' M' x' d# c# H( G5 a' W! N, W$ C- R2 d* N5 I8 b, r, b4 Y3 U
微软公司(2011年)宣布,下一版Windows将正式支持ARM处理器。这是计算机工业arm处理器发展历史上的一件大事,标识着x86处理器的主导地位发生动摇。在移动设备市场,ARM处理器的市场份额超过90%;在服务器市场,2011年就会有2.5GHz的服务器上市;在桌面电脑市场,又有了微软的支持。ARM成为主流,恐怕指日可待。难怪有人惊呼,Intel公司将被击败!ARM微处理器核技术广泛应用于便携式通信产品、手持运算、多媒体和嵌入式解决方案等领域,已成为RISC的标准。( t7 j( Q# x: u! F. |( H
7 x& R2 u- T; S与这场轰轰烈烈的变革相比,它的主角ARM公司却没有受到太多的关注,显得不太起眼。这家远离硅谷、位于剑桥大学的英国公司,到底是怎么走到今天的,居然能将芯片巨人Intel拉下马?/ r8 s9 ~' C" R( V( V
: T- `! c7 {3 s( W/ R展望未来,即使Intel成功地实施了Atom战略,将x86芯片的功耗和价格大大降低,它与ARM竞争也将非常吃力。因为ARM的商业模式是开放的,任何厂商都可以购买授权,所以未来并不是Intel vs. ARM,而是Intel vs. 世界上所有其他半导体公司。那样的话,Intel的胜算能有多少呢?
~1 {" c6 G7 ^4 {& J. {. o2012年10月29日AMD做出了一个震惊业界的宣布:AMD将会设计基于64-bit ARM架构的处理器,首先从云和数据中心服务器领域开始。AMD、ARM在服务器领域的合作已经得到了戴尔、惠普两大服务器厂商,以及服务器系统厂商RedHat的鼎力支持,新的生态系统已具雏形,AMD能否借此东山再起? % A2 V" x+ m+ ], z6 C+ k8 [ L; R, W& ]
AMD的首批ARM处理器于2014年问世,仍将披挂Opteron皓龙品牌。这种64位的多核心SoC会针对数据中心中份额最大的密集型高能效服务器进行优化,提供现代计算体验,并整合收购而来的SeaMicro Freedom超级计算光纤互联技术。7 ?. O/ R- d, H+ M' k# T: ^* T% H' ^
, S8 |5 C/ X- g; k& v- M: Q' x$ b) `5 v- n2 L, d& G6 |; r( @( f G
8 q3 n3 y6 t( v1 Q3 m# e& v9 t( x4 I+ B* } S, a% A; o5 Q v8 j: J3 N1 F% T( r6 D
PowerPC架构相比于ARM的优势4 k8 j$ O( `1 g6 k: y7 q# H W
; q( q0 o; }& k* E: z0 ]! n3 x4 G5 g- v' M/ y! ^
powerpc芯片凭借其出色的性能和高度整合和技术先进特性在网络通信应用,工业控制应用,家用数字化,网络存储领域,军工领域,电力系统控制等都具有非常广泛的应用。% s3 J% L1 h: S/ ?/ T. \0 v; X$ O# }, |+ C' L5 o* i# c7 g2 X5 J
由于PowerPC相对ARM器件来说价格稍贵,另外ARM开发工具盗版到处都是,所以在中国目前来说PowerPC不是很普及.但在一些欧美国家应用很广泛的。个人觉得PowerPC相对ARM优势有下面几点说明:
- o' x# Z1 l8 J: P1、整合度高以及技术先进性,现在Freescale PowerPC 处理器集成USB,PCI,DDR控制器,SATA控制器,千兆网口控制器,CAN控制器,RapidIO以及PCI_Express控制器,IEEE1588通信协议,支持各种通信协议CPM协处理器 ,DMA,SPI,I2C.UART等,客户无须设计复杂的外围电路,减少设计复杂程度以及物料使用,ARM这点比不上。 A5 [1 _/ P/ l% o% {" E1 n
2、芯片可选范围大,性能高,升级容易,从50M-1.7G都有处理器,而且POwerPC将向多核处理器发展,如已经推出集成双e500 coreMPC8572,MIPS性能高达6897,ARM我看频率是1G的都没有,ARM 大概是 1.1 MIPS/MHz,Power Architecture 是大于2.0MIPS/MHz,所以PowerPC在高端嵌入式应用,占有很大比例,ARM这点比不上 。+ q. b2 V- Q+ N3 j
0 U- {# g/ }% I/ h6 R. G5 X3、开发难度方面,其实PowerPC处理器开发难度并不是很高,只不过因为开发的人少,所以中文资料相对较少,另外开发工具也不象ARM那么多盗版的,所以总有些人抱怨PowerPC处理器开发难度大,如Freescale都免费给客户提供Datasheet,设计详细文档给用户,而且最底层驱动,Freesclae都已经开发好.你可以在他们论坛上提问,或者发邮件给技术支持,他们很快都能回复的, 相信以后用的人会越来越多。 - j1 x: J) k0 _3 e& H& u
4、价格方面,总有人抱怨说PowerPC处理器价格贵,相对ARM来说,同样频率的,可能会贵点,但是如果是MIPS/MHz性能比较以及整合的外围电路来说,PowerPC还是有一定优势的,Freescale也意识到这个问题,所以推出了向工作频率低点的MPC8313,MPO8323等低价格处理器,另外如coldfire也推出低价格处理器,随着Freescale后面产品继续推出,PowerPC处理器价格会越来越便宜。5 Y+ m- f) i: t0 C
5、PowerPC 的结构尤其在功耗方面的束缚可能导致其在嵌入式领域没有如ARM那样大的伸缩性。, {& }2 M. r- u. t' k; B+ J* i* u1 e |8 ] b8 ?
二者定位不同:ARM面向的低端消费类市场,拼的是功耗;PowerPC面向的是中高端市场,比的是性能,好像还没看到谁的手机是PowerPC的,也没有看到谁家企业级以上的交换机是用ARM做的。PowerPC在嵌入式领域的应用是在中高端的,不在消费领域,比如企业级以上的交换机,大机架上铲平,对功耗应该是考虑次要的,这类产品都是由单独的AC/DC的电源,而且机箱中一般都有风扇。所以功耗应该不是问题。ARM都是面向消费电子的。# S5 X( Z% ~) m+ q- U- D
ARM在消费电子领域的优势非常明显,如此流行的原因我认为有三个方面:价格便宜、配套IP完备、集成使用方便。
0 J0 c# E5 {1 p, t) W" e, f; N至于性能和低功耗方面,ARM要弱于PowerPC。Power系列的芯片主要用于交换机、网络处理器、及sony的游戏机等应用上,这类的应用场合对处理器的性能要求非常强烈,ARM难以胜任 ARM和MIPS在消费领域存在着竞争,MIPS阵营的产品在功耗和面积上具有优势,但MIPS提供的开发工具不如ARM便捷。: ^8 d+ Q* b, P+ x; `
4 n/ y4 z) m- K3 V2 r& o5 c5 u; A/ ]- L8 c5 y- n2 Q' d" Q- j; f3 w& ^# t' l
Powerpc架构与X86架构的区别" m+ ?$ d/ q* N, X" H9 z% O8 S: K9 U
. d, Z3 g. H4 N' w8 k
power和intel x86对比,要看怎么比了。首先,在高端服务器领域,power的大规模SMP系统性能(目前最高的power795可以配置256个4GHz处理核心)即使8路E7 v2顶配 120个核心也是难以望其项背的,当然低端入门级领域intel在同等价格的前提下性能有很大优势也是事实(企业级市场intel产品线的价格还是很宜人的)。+ ~% s' V" P. L9 r2 k
其次,power系统在硬件层面的可靠性、可用性、可维护性(业界俗称RAS)方面明显强于x86系统,intel只提供处理器,整机需要厂商自己去设计,中小厂商基本靠intel的公版方案做白牌装机商,只有大品牌(比如IBM HP之类)才有自己的独道设计,x86的杂牌军和IBM从芯片开始设计的整机方案无法相比。第三,power机器一般运行AIX系统居多,少数linux系统;x86基本运行win和linux系统。- ]) @" Q9 {" l; j# Q4 k4 X
5 K0 H- c0 v3 f1 O$ A; X$ RAIX在系统稳定性、软件方案集成度(例如HA软件、备份软件、集群文件系统等等)、厂商技术支持能力强于开放平台。第四,商用IT系统的用户选用什么平台主要看软件需求,有些要求7*24不能宕机不能丢数据的关键性应用在操作系统选择方面有很大的局限性(例如银行、电信等等),这些领域x86想获得机会,需要依靠应用软件移植和win/linux这类开放OS可靠性大幅提升才有可能完成,无论哪一个都不是容易做到的。7 v# _8 h4 G+ x9 I# O8 k2 ^+ [2 c/ K9 M6 L3 B
power和sparc、安腾是UNIX界的三驾马车,共同支撑起绝大部分企业的关键性应用平台,xeon从低端起家,逐渐向中端蚕食,高端市场目前还无力企及。软件层面,unix平台的缩水和win/linux的进取是不可逆转的趋势。power和x86的对比,单纯对比芯片本身意义不大,也和普通消费者没有直接关系。
/ i. U2 X0 Y& E1 C硬件体系 $ O4 N; E% d# ~* w W y: d$ K* u- b6 Y* t9 c3 H: Z1 |% {% X" E
7 ~+ m+ k5 y# h* |; ] e! @+ R' x2 L/ g3 \
6 G$ T* l( j1 h3 i' N2 [
从处理能力来说,单Hz的处理能力x86已经超过了Power系列,这是毋庸置疑的。但是Power有其明显的优点。它采用了标准的SMP结构,也就是说对于内存来说所有CPU访问的速度都是一致的,而x86采用了NUMA结构,这就是说CPU和内存是分区的,每个CPU访问自己的这部分内存特别快,但是如果需要访问其它部分那就要走QPI总线(现在已经在不断改进了),这也客观上造成了随着CPU数量的增多,处理能力的增长Power系列的线性程度远好于x86(这也是为什么很少会用4路以上的x86服务器)。而且作为小型机,封闭系统,其设计更加完整紧凑,综合起来性能强于x86。7 N9 Z1 s0 q2 Z9 ]+ { t F, w* X/ Y* n/ ?( i' T
软件体系 & \4 ]6 _! y/ J, |. b4 R
" H6 t2 i( Q3 h& _( o3 w( g) [: y! p! n, _) s# j$ Z& t
& I6 N% W. w7 e) i硬件体系是自己的,操作系统也是自己的(AIX等),所以整合起来Power系列的整体稳定性要强于x86服务器,而且运维也方便(特别是对于一些外围硬件,如果使用IBM更加容易用),抗压能力也强(小型机90%的CPU占用率,运行几个星期可能都OK,x86几天就估计出问题了)但是Power系列的小型机的价格太高了,而且已经赶不上技术的变化了,由于Google的崛起,云计算的兴盛,现在的分布式系统的成熟度越来越高,系统已经越来越不依赖几台小型机来提供稳定可靠性,而是通过集群来提供,性能也能够通过分布式的处理来解决。' c" P8 K" y' C' x. E) |
5 ^2 y2 Y& { e; Z8 S) `0 ]所以x86的使用越来越广泛,而最新的一些低成本但是能够带来高效能的新技术都在x86体系下得到应用(x86市场占有率高,也开放),而Power系列由于其封闭的特性,反而难以得到应用,所以Power系列的小型机优势越来越不明显,已经在逐渐退出历史舞台了。: A3 w2 g4 D: V: @/ G' F/ J6 W: H$ b
面临的共同问题. |9 B, \) e' B% v- L3 {6 K
2 h2 |7 C" ^: a9 e$ M& c
7 }0 M' A, `0 h2 I0 ]: H性能瓶颈——报酬递减法则尽管CPU 时钟频率不断提高,但其实际处理能力却并没有成比例提高,例如一个2GHz CPU的处理能力并不是一个1GHz CPU 的两倍,目前还很难解释产生这种现象的原因。6 T- I0 ]: X M$ G. E, _* x, ~
另外因为内存的处理能力(peRFormance)与CPU 的处理能力(peRFormance)不匹配,CPU大部分时间在等待,不做任何事情(HP 估计服务器的CPU 这种不做任何事情的时间占70%)。
$ Y9 p6 O! `9 O6 v' O这种内存的延迟是不可能消除,因此当程序需要CPU 访问大量内存时,这种内存延迟将极大地影响程序的运行,此时CPU 处理能力不能接近其真实的处理能力。当然CPU 的cache 能够减少这种延迟的影响,提高处理能力,但是cache 的提升效果极大的依赖于cache 的类型和软件使用的算法。
+ r( C: c, n `# H8 O1 B目前在x86 系列CPU 中,一些新技术的应用,对CPU 的处理能力只有些许的提高,这些新技术所以被应用,多源于Intel 和AMD 竞争的结果。现在CPU 的时钟已经变得非常高了,处理能力不等比例增长问题也变得更加严重,这意味着提高时钟频率对提高整体的处理能力收效甚微。SPEC Benchmark 测试表明:在DELL 工作站上面当增加50%的CPU 时钟频率,同时辅助以hyper-threading 技术时,CPU 处理能力只有26%的增加,而在Itanium 2 CPU 系统上面,时钟频率只提高11%,但是cache 增加一倍,CPU 处理能力提高50%。但是cache 增加到一定程度以后,对性能的影响又会减弱。
+ \2 ]) p+ `9 w L当然,CPU 的处理能力与很多因素相关,比如cache 的大小、cache 的设计、内存接口、编译器及其设置、程序语言和程序编写员等因素。有些时候,换一种编写语言都比换CPU 更好,有时候换个编程人员就能获得很大提高。3 g! z! H( T5 ^& m
" N; v/ ]; H& O0 P. U5 b总之,无论是x86 还是PowerPC 处理器,由于时钟频率和cache 等因素的非线性影响,处理器性能的提高遇到严重挑战,两者遇到的瓶颈与挑战是相同的。
& z' A% o0 c N* x/ X6 R2 F处理能力(Performance)比较# q3 b7 @& R5 l7 _
- T+ K5 C7 m" N. W4 Q Q) R( ]1 v. X4 Y1 f5 W# T. c) M# T& I5 }! T- Z
! v3 @4 p/ u/ B- g5 {" L7 Q% t) W4 K9 k0 m$ D" s
90 年代末期,AMD 成为Intel 公司的强有力竞争者,两个公司都致力于开发新型的更快速的x86CPU。这种激烈的竞争,导致x86 处理器的处理能力飞速的提高,一度极大的超过了RISC 处理器(如果你相信benchmark 的话)。然而RISC 处理器厂商也意识到这个问题,开始设计生产更快的RISC 处理器。但是具有讽刺意味的是,当把这些CPU 按照相同的几何学构造以后,运行最快的Alpha 21364 使用的却是7 年前的核设计的。% P3 v1 R9 p+ f6 O; G2 }7 o/ b
尽管PowerPC 处理器最初设计目标是桌面系统,但是它最大的应用却是更关心功耗的嵌入式应用。PowerPC G4 处理器使用低速的单数据速率(single datarate)总线,而不象x86 处理器使用的是双数据速率甚至四数据速率(double or quad data rate)总线,这个方面PowerPC没法与x86 竞争。目前PowerPC 的处理器在主频上没法和x86 处理器相比,但是根据报酬递减法则这种高主频并不能反映处理器的真实处理能力。X86 处理器的确非常快速,但是并没有你想象的那么快。2 B0 T( ~- I. i( U% X) U7 a; [$ I! L Z. g* X+ p' `
矢量处理比较& m# L1 `; r- X/ B$ ?
4 c, N" ]* }( n2 Z ]" p. [% j, X- [) j/ C) x
矢量处理也叫做SIMD(SingleInstruction Multiple Data),用来进行一些专门的处理,使用它可以使这些处理性能成倍的提高。0 c, I" N5 _6 k5 s
X86 和PowerPC 都有这样的矢量单元,以支持矢量指令,x86 处理器上是MMX,MMX2,SSE和SSE2。这些矢量单元有8 个128 位寄存器,但是这些寄存器不能同时执行浮点指令。X86 处理器的浮点单元功能一直非常弱,现在x86 处理器都使用SSE 进行浮点运算,甚至于Intel 公司投资开发编译器使处理器自动使用SSE 单元进行浮点运算,而不管编程人员是否愿意这样。
6 I: z- ?$ u& {% H0 NPowerPC 从一开始就有更好的矢量处理能力,当Apple,IBM 和Motorola 修订PowerPC 指令集时就考虑矢量处理能力,并增加了Altivec 单元。Altivec 单元具有32 个128 位寄存器,PowerPC 从G4 开始就集成Altivec 单元,并在以后的版本继续集成AltiVec 单元,同样的在970中也集成AltiVec 单元。
- S, M' j: G7 O' G1 E因为Altivec 对内存需要更苛刻,G4的总线接口降低了Altivec 性能,但是Altivec 比SSE具有更多的寄存器,因此Altivec 不需要频繁的访问内存,而SSE 恰恰通过频繁的访问内存来提高处理能力。Altivec 单元能独立操作并同时进行浮点运算。& {' A- _+ Z/ L' H9 R5 I) ^/ x& U( }- {7 [6 P P# R, F( }
功耗比较* [5 Q K. J+ X$ j& N, l4 M
' A* }# }& C& F3 z0 b. I, T: q
$ \9 E6 S) z8 P% y9 O/ z( ]$ M6 i2 X3 m' l1 i# S" l
X86 和PowerPC 最大的不同在于功耗,由于PowerPC 是为嵌入式应用设计,并且主要用于嵌入式系统,因此具有很低的功耗。X86 处理器恰恰相反,由于采用古老的效率低下的体系结构,具有很高的功耗,在x86 处理器中,一切新技术的目的都是为了增加处理能力和时钟主频,这进一步增加了处理器功耗。3GHz Pentium 4 处理器与1GHz 的PowerPC G4 (7447)处理器比较,在功耗上相差10 多倍。* R' d/ M2 N* S8 ]" d
G4 的最大功耗是10w,Intel 不公布功耗的图表,只给出了热能消耗等级,这个数字大约为30w,低于最大功耗数值,按照这个热能等级图表,P4 3GHz 处理器的设计功率额度为81.9w 但是实际的最大功率应该达到并可能超过100w。单个P4 3GHz 处理器的功耗是一个Pegasos 主板的4 倍,而这种主板上面还包括一个1G 的G4 处理器。, g8 v' t- Z$ I( B; t
& O# ~- a2 j- Y4 i1 m3 n: M4 }+ V2 z" j/ a8 i3 t1 y
5 V! Y( R# |% R; i) b$ b; u* K+ n8 ~5 A0 K
$ Q& O+ I3 Q2 [为何苹果放弃Powerpc采用X86架构9 P8 [# b4 u; C! J& C; }
2 W; }' Y6 c7 F4 a6 n! w: ?9 q3 D& ]1 m+ M2 P3 h
% K+ I, m' v5 A- |; J9 o: S除了能耗太高之外,并导致笔记电脑使用时间无法延长也是个阻碍发展的原因之一。7 ~9 M5 G/ ?. q# U8 k5 F9 O9 v' u, |8 V' }
PowerPC的使用范围除了苹果电脑之外,其他厂商使用的比例极低,导致研发成本与实际销售获利彼此的拉扯,反观Intel持续以高效能、极短的开发周期,不断推出新的内核,更换Intel以商业角度其实颇为合理最重要还有软体上的考量,苹果的作业系统本身,到了OS 9的时候已经面临难以大幅提升效能、无法轻易相容与其他Wintel电脑的刻板印象,这时候Steve Job回来苹果,并带回了离开苹果时所经营的NeXT系统(一个源自于Unix分支的系统)这也是为什么苹果系统叫OS X而不叫OS10的原因,而Unix系统是可以经由调整相容于Intel 或PowerPC(早期的Linux 都会有intel版本或PPC-PowerPC版本)
6 H1 v8 ~# I2 r- {, J: }1 V相信苹果从一开始开发Mac OS X就已经在铺陈更换Intel内核所需的研究。
0 b9 T/ Z7 E0 V4 P很多使用者对于使用苹果电脑会无法使用原本在Windows下的软体功能感到忧心,一旦使用Intel内核,除了调整作业系统以适用于Intel,另外好处是,在Mac环境下使用Windows也就不是难事了。1 O: Y9 E0 m0 s) G6 v4 W; ^" k4 ^3 z- e+ [( a) a3 U
现在苹果使用者大幅提升,有非常多正是因为苹果电脑除了自身系统外,却也能兼顾原本Windows环境,而勇于转换平台的使用者,不是吗。+ K$ e6 X$ K3 ?% ^5 s% C, V. p1 v0 x" s3 w1 ]
, P+ r1 c% O: b, c# e) U% S- H, ~: c; m2 b% y: e8 n
就现在来说当初老乔全面转向intel平台降低了多方面的门槛:3 s. w- A' C8 T- H) Q% t! Q$ `, d- g/ {( k }
1. 价格:PPC是当年apple价格高企的原因之一,就总体价格而言intel平台成本比PowerPC低的多,配置上也更容易多样化,且intel迭代速度快容易刺激销售增长。; e- e! U4 j" R! M" Q" S1 \( ^9 g; U6 @3 w# i! O5 B
2. 软件:编程语言方面我没有发言权,但相信intel架构的普及率降低了软件的开发门槛,而且现在的app比PPC时代多的多。$ R* t, c! s- J( H$ m
3. 市场:对市场受众而言intel平台的apple更具有亲和力,兼容性好、用不惯OS X分分钟就能装Windows,消费者可以很放心的入手,市场占有率也由此大幅度提升。( C# }: D. j+ k2 @2 ^* d! q
|
|