Skip to main content

 路由器设置 > 新闻资讯 >

详解ARM处理器历史和架构:告诉你RISC与CISC是什么

2012-09-18 22:46 浏览:

知道iOS、Windows Phone、Android这3大平台的手机共通点是什么吗?除了 ​​都可以打电话、传简讯、安装App之外,在硬体架构上最大的共同点,就是这些手机CPU全都是采用ARM架构。现在连Microsoft都相中这块逐渐成长中的市场大饼,下一代的微软视窗操作系统Windows 8也将会推出ARM版本,称为Windows RT。究竟ARM与移动装置的关系是什么?又如何在这竞争激烈的市场中存活下去,逐渐壮大在嵌入式产品的影响力?看下去就知道。

都是从不务正业开始

  如同Intel并不是以CPU起家,而是从记忆体跨足到IC设计,至今成为x86处理器的龙头。ARM也是一样,这一切都要从Hermann Hauser和Chris Curry所创立的Cambridge Processor Unit开始说起。

  1978年,由物理学家Hermann Hauser和工程师Chris Curry一同在英国剑桥成立了一间公司,公司名称直接取作Cambridge Processor ​​Unit(CPU),主要从事提供当地电子仪器设备的业务。第一份合约即是为ACE Coin Equipment公司开发一款水果盘,也就是拉霸的游戏机。

  1979年,公司营运渐上轨道,便改名为Acron Computer有限公司。Acorn的中文翻译为橡子,就是在冰原历险记电影里,那只「鼠奎特」一直在追的果实,Acron Computer也以橡子为公司的标志。

  世界上首颗RISC处理器

  随着时间过去,渐渐地发现原本的硬体设计已不符需求,Acorn想要升级机器内的CPU。当时处理器的发展潮流是由8位元转向16位元,一开始有考虑使用美国国家半导体以及Motorola新的16位元晶片,但是经过评估后,发现2个缺点。

  执行上有点慢,中断的回应时间太长,而且太贵。

  一台500英镑的电脑,CPU售价高达100英镑。

  于是只好转向Intel,要求提供一些80286设计资料以及样品,但是却遭到Intel拒绝。这件事情后来直接导致Acorn决定设计自己需要的CPU,由于采用RISC架构的关系,名称就称为Acorn RISC Machine(ARM)。

RISC与CISC的差异

  处理器的指令集可简单分为2种,CISC(complex instruction set computer)以及RISC(reduced instruction set computer)。一开始的处理器都是CISC架构,随着时间演进,有越来越多的指令集加入。由于当时编译器的技术并不纯熟,程式都会直接以机器码或是组合语言写成,为了减少程式设计师的设计时间,逐渐开发出单一指令,复杂操作的程式码,设计师只需写下简单的指令,再交由CPU去执行。但是后来有人发现,整个指令集中,只有约20%的指令常常会被使用到,约占整个程式的80%;剩余80%的指令,只占整个程式的20%。于是1979年美国加州大学柏克莱分校的David Patterson教授提出了RISC的想法,主张硬体应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。

RISC的优点列举如下:

  指令长度固定,方便CPU解码,简化解码器设计。

  尽量在CPU的暂存器(最快的记忆体元件)里操作,避免额外的读取与载入时间。

  由于指令长度固定,更能受益于执行线路管线化(pipeline)后所带来的效能提升。

  处理器简化,电晶体数量少,易于提升运作时脉。比起同时脉的CISC处理器,耗电量较低。

RISC的缺点列举如下:

  复杂指令需要由许多的小指令去完成,程式变得比较大,记忆体也占用比较多,这在硬碟昂贵,常常使用磁带储存的时代来说,是个大缺点。

  程式变长,代表着读取工作变得繁重,需要更多的时间将指令从记忆体载入至处理器内。

  这里也提供一个小小的概念,CISC是在RISC出现之后才出现的相对名词,并不是从一开始就有CISC、RISC这2种处理器架构。

首颗RISC架构CPU

  于1985年,Acorn设计出了第一代处理器晶片,称为ARM1,由Sophie Wilson设计出类似于6502的指令集,因为当时Acorn为英国国家广播公司BBC所制造的BBC Micro电脑采用MOS 6502处理器,使用类似的指令集有助于缩短开发时间以及技术转移。Steve Furber则是负责设计硬体实作。ARM1以第二颗处理器的身分,安装在BBC Micro内部。

  ARM1在晶圆设计部分,规格为3微米制程、2层金属层、总计2万5千个电晶体、6MHz运作时脉、消耗功率120mW、晶片面积50mm2。当时Intel的80286使用1.5微米制程、13万4千个电晶体、6~12Mhz运作时脉,同时这2款处理器都不包含快取。

  同年10月,Intel发表80386处理器,与之相比,ARM1显得功能简单、能源消耗较少,在效能上不是80386的对手。这一差异导致ARM系列处理器往后的设计路线明显与Intel不同,Intel持续迈向x86高效能设计,ARM专注于低成本、低功耗的研发方向。