x86与ARM,是目前两大处理器主流架构,前者大家熟悉不过。在PC世代,x86因是最佳效能价格比(C/P Ratio,Cost/Performance,大陆称为性价比)的处理器,因而相继击败其他架构的处理器,包含HP的PA-RISC、SGI的MIPS、DEC的Alpha,Sun的SPARC、IBM的PowerPC等,甚至也把IBM POWER与Intel自家的IA-64逼到极小空间。
ARM新架构分成A、R、M三大类型 |
而ARM近年来也家喻户晓,它是以省电为优先的架构设计,是最佳每瓦效能比(Per Watt Performance)处理器,近年来x86与ARM开始短兵相接,x86从2008年Atom(原子,32/64位)、2013年的Quark(夸克,32位)开始积极精省用电,期望打入手机、平板、物联网、穿戴式市场。
同样的,ARM也想打入x86原有市场,开始推出64位架构,并积极鼓励业者发展ARM服务器,如与NVIDIA的丹佛项目,原初即是以ARM架构发展桌面计算机、工作站、服务器、超级计算机所用的ARM芯片。而ARM一路走来也击败诸多架构,如Intel i860/i960架构、AMD 29000架构、SuperH架构、MIPS架构等。
ARM架构的发展沿革
相信仍有不少人对ARM架构的发展沿革感到陌生,在此简快回顾。创始于英国的ARM公司最初也是发展完整芯片,但因资金问题而转向成授权给他人处理器功效电路的设计(知识产权,但因为是芯片电路设计,一般也称硅智财)。
ARM芯片架构一路发展到ARM7TDMI(1998年)开始展露头角,许多32位微控制器选择使用ARM7TDMI,成为32位微控器的主流架构,而16位微控器架构一直缺乏主流,8位主流则为Intel 8051。ARM之后陆续发展出ARM8、ARM9、ARM10、ARM11架构,新架构比旧架构效能更好、功效更多更先进,但仍是以ARM7最受欢迎。
ARM7虽受欢迎,但缺点是ARM7的指令集太占储存空间,此被系统设计者抱怨,要用ARM7实现一个控制系统,需要准备较大容量的内存芯片(例如从512KB变成1MB),对此ARM公司另行发展一个较精省空间的指令集,称为Thumb,而原有的指令集称为ARM。
2008年ARM决议重新发展架构,新的ARM架构分成Cortex-A、Cortex-R、Cortex-M三类,正好用及ARM三个字母,指令集方面则以Thumb为基础发展成Thumb 2,而非延续原有的ARM。而过去的ARM7/8/9/10/11被ARM公司称为Classic(古典、经典)。
Cortex-A的目标市场为32位微处理器(A=Application Processor),Cortex-M为接续原有ARM7TDMI一路走来的微控器(M=MCU),至于Cortex-R也是微控器,但是是针对实时(R=Real Time)嵌入式应用需求的微控器,是一个关键任务(Mission Critical)用的应用,如ABS紧急煞车系统、安全气囊、引擎点火等,但R也是A、R、M三者较少使用,较利基的一块,但价位较高。
ARM除了新架构分成A、R、M外,还有数字之别,如Cortex-A8、Cortex-M4等,数字大小代表效能与功效的差异,愈大代表效能愈佳,功效愈完整,但不代表发展顺序,例如Cortex-A事先发展出A8,而后补发展A5、A7。
ARM进入64位
ARM一路走来均为32位架构,但2012年也开始进入64位,64位仅有Cortex-A,而无Cortex-M、Cortex-R,目前主要为Cortex-A53、A57,目标市场是服务器及顶级智能型手机,ARM方面称为Super Phone。
最后,ARM提供软核授权与硬核授权,软核授权可以让芯片设计者再行变化修改电路,但硬核只能取得现成已设计好的电路。多数芯片业者选择后者,少数为前者,如Qualcomm选择前者,自行衍生发展出Scorpion、Krait等核心,但仍兼容ARM的Thumb指令集,不过Qualcomm近期已不坚持采自有设计核心,也直接向ARM取用Cortex-A53、Cortex-A7等核心。