CPU(中央处理器),也被称为微处理器,相当于电子产品的大脑。在通信领域当中,几乎所有的重要信息都要由这个“大脑”所掌控,CPU芯片和操作系统是网信领域最基础的核心技术。
CPU主要有两大指令集:
复杂指令集(Complex Intruction Set Computer,CISC)架构——x86
精简指令集(Reduced Intruction Set Computer,RISC)架构——ARM、MIPS和RISC-V
CPU主流架构:x86、ARM、RISC-V
X86:传统PC市场的主流,善于处理大数据,IP掌握在英特尔和AMD手中。
ARM:移动(手机)市场,处理快数据为主,目前也使用在便携笔记本中,IP大部分掌握在ARM公司。
RISC-V:当需要同时兼顾数据传输速度与传输量时,这两类主流架构的胜任能力有限。RISC-V表现出了较强的优势。
你知道iOS、Windows Phone、Android这3大平台的手机共通点是什么吗?除了都可以打电话、传简讯、安装App之外,在硬件架构上最大的共同点,就是这些手机CPU全都是采用ARM架构。现在连Microsoft都相中这块逐渐成长中的市场大饼,下一代的微软视窗作业系统Windows 8也将会推出ARM版本,称为Windows RT。究竟ARM与行动装置的关系是什么?又如何在这竞争激烈的市场中存活下去,逐渐壮大在嵌入式产品的影响力?
在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。正是RISC的出现发展大大推动了 嵌入式系统性能 的提高和功能的完善。
世界上首颗RISC处理器
随着时间过去,渐渐地发现原本的硬件设计已不符需求,Acorn想要升级机器内的CPU。当时处理器的发展潮流是由8位元转向16位元,一开始有考虑使用美国国家半导体以及Motorola新的16位元芯片,但是经过评估后,发现2个缺点。
执行上有点慢,中断的回应时间太长,而且太贵。
一台500英镑的计算机,CPU售价高达100英镑。
于是只好转向Intel,要求提供一些80286设计资料以及样品,但是却遭到Intel拒绝。这件事情后来直接导致Acorn决定设计自己需要的CPU,由于采用RISC架构的关系,名称就称为Acorn RISC Machine(ARM)。
Acorn于1985年设计出了第一代处理器芯片,称为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专注于低成本、低功耗的研发方向。
复杂指令集计算机(CISC)
CISC的英文全称为“Complex Instruc TIon Set Computer”,即“ 复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿续到现在。目前,桌面计算机流行的x86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如 TI(德州仪器)、IBM以及VIA(威盛)等。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。
长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得。随着集成电路技术。特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作, 微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能 ,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能 ,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构.
一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.
精简指令集计算机(RISC)
RISC的英文全称为“Reduced Instruc TIon Set Computer”,即“ 精简指令集计算机”,是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.
结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.
在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(Reduced Instruction Set Computer-RISC)结构.简称RISC.
RISC的优点列举如下:
指令长度固定,方便CPU译码,简化译码器设计。
尽量在CPU的暂存器(最快的存储器元件)里操作,避免额外的读取与载入时间。
由于指令长度固定,更能受益于执行线路管线化(pipeline)后所带来的效能提升。
处理器简化,晶体管数量少,易于提升运作时脉。比起同时脉的CISC处理器,耗电量较低。
RISC的缺点列举如下:
复杂指令需要由许多的小指令去完成,程序变得比较大,存储器也占用比较多,这在硬盘昂贵,常常使用磁带储存的时代来说,是个大缺点。
程序变长,代表着读取工作变得繁重,需要更多的时间将指令从存储器载入至处理器内。
这里也提供一个小小的概念,CISC是在RISC出现之后才出现的相对名词,并不是从一开始就有CISC、RISC这2种处理器架构。