CISC的典型代表是各种X86的CPU,ARM则是RISC最常见的处理器。关于ARM和X86架构上的比较也就代表了CISC和RISC的发展趋势。RISC架构系统在嵌入式领域广泛应用(比X86有更大的出货量)比较重要的有几个原因:
(1)因为有成熟的处理器IP可以直接加以利用,可以减少芯片的研发周期、降低开发难度,开发周期比较短,芯片做得针对性很强;
(2)功耗低,嵌入式系统大多都是在很多特定场合使用的,譬如手持设备。
在有限的空间里面,散热也是个大问题。X86的CPU需要南桥和北桥来扩展内存控制器、PCI控制器、AGP控制器、ATA控制器、USB控制器等,这样系统结构复杂,但是扩展性很好,不适合专用设备,但是很适合通用设备,因此在PC和服务器中得到了广泛的应用。
ARM处理器更接近于SOC(System on Chip),一颗芯片上集成一个系统,事实上正是如此,譬如专门的手持设备的ARM,就是一个ARM Core,然后集成SDRAM Controller、FLASH Controller、LCD Controller和Uart等,然后集成以太网MAC或者专门的Network Engine,甚至还会集成专门的AC97、MMX等迎合不同的应用需要。采用 ARM 处理器的结果就是,在板级的时候,硬件结构非常简单,可以简单的把ARM平台的嵌入式系统认为是:CPU + SDRAM + Flash +
I/O + Power Supply。
软件上,X86系统复位以后,首先运行的是BIOS,根据硬件的具体设置对I/O、 IRQ、地址空间等进行初步的分配管理;接着是 boot manager,譬如 NT Loader 或者Linux,它会对CPU系统进行进一步的设置,然后 Load OS kernel &root filesystem,把硬件的控制权交给OS。
对于ARM嵌入式的系统,基本上过程存在一些差异,在Flash的某个特定地址存储了boot loader,这里的boot loader相当于集成了X86系统的BIOS + Boot Manager的功能,复位启动boot loader,然后加载load Linux kernel & root filesystem。
比较ARM和X86这两个架构之间的差异包括如下几点:
(1)ARM处理器本身集成了丰富的常用控制器接口;X86没有提供控制器接口,通过南北桥扩展外设。ARM平台的架构比较简单,不需要太多的硬件电路,X86系统则比较复杂。
(2)ARM处理器的外设空间是统一制定的,由存储器控制器进行管理;X86的外设空间由Mem和I/O这两套独立的空间构成,并分别由不同的控制器控制,结构略显复杂。
(3)ARM采用先进的RISC技术,并辅上独特设计,保证其超低功耗的品质;X86因为其CISC结构,始终存在大功耗的毛病,并据此而伴随散热、噪声等一系列问题需要解决。
(4)ARM作为先进的微控制器,芯片的集成度非常高,采用了SOC的设计思路,降低了系统的复杂度;X86集成度相对较低、结构庞大,造成的结果是无法在速度、可裁减性、稳定性等方面进行性能的总体提升。
因此ARM处理器在嵌入式应用上的优势是相当明显的,用ARM架构取代传统的X86架构是嵌入式应用中的必然趋势。
开发X86平台的设备还是有很多困难需要解决的:
(1)现在 X86 已经发展到很高的水平,如奔腾 4 的晶体管数超过四千万,生产上也需采用最先进的 0.13 微米工艺,只有Intel 等少数公司有这样的设计和生产能力。这样高水平的设计难度对设计工具和设计经验的要求,以及对半导体生产工艺的要求等等方面都远超过目前能实际掌握的技术水平。
(2)要兼容X86存在着知识产权壁垒,因为这里牵涉到Intel的某些专利,为此,其他想 Intel 的专利是非常困难的。
(3)尽管微软和英特尔公司在X86架构的垄断地位是无法突破的。Intel的X86处理器能够发展到今天的地步,微软的OS支持起了关键作用。可以说,没有微软在OS方面的支持就没有X86。在这样的模式下,开发X86的OS就是一个黑盒子,开发这样的嵌入式设备就失去了意义。
目前对国内的大多数公司、实验室、研究院而言,切实可行的做法是为各种信息设备开发嵌入式的CPU,它不必有很高的性能,也不必和X86结构兼容,这样做的有利条件如下:
(1)信息设备种类众多,每类中的各种新产品也层出不穷,与高度标准化的X86只有基本采用南北桥的经典结构完全不同,信息设备产品的这种特点使大公司很难垄断,小公司容易找到自己的发展空间。
(2)芯片设计技术、第三方工具已有很大发展。所有 ARM 都将一个完整的系统集成在一个芯片上,称为单芯片系统,即 SOC。这一技术使开发速度大大加快,掌握 SOC 技术就可以实现跨越式发展,不必走外国公司已走过的老路。
(3)与 ARM 相配套的软件,从嵌入式OS(包括Linux和其他自主OS)到在它上面运行的应用程序,不像 X86 的软件那样受到微软垄断的影响,完全可以在国内自主开发。
(4)嵌入式处理器对半导体生产工艺的要求较低,多数不必采用最先进、昂贵的半导体工艺,解决了国内半导体生产能力的问题。对于复杂性相对较低的嵌入式处理器,在芯片面积由引线数决定时,用较低的工艺生产反而比用较高的工艺生产更为经济,因此发展嵌入式处理器符合我国半导体生产水平的现状。
(5)我国有信息设备的巨大市场和强大的 IT 制造业,一旦开发出有效的应用产品,可以迅速实现产业化。掌握了信息设备的核心技术,就可以有较高的技术附加值,这些设备的出口也将有很好的前景