ARM和X86嵌入式工控机比较.

ARM和X86嵌入式工控机比较分析 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结构,始终存在大功耗的毛病,并据此而伴随散热、噪声等一

推荐