Friday, April 22, 2016

ARM 的发展史


Intel以前也搞ARM,比如基于xscale内核的PXA系列。但是Intel觉得不太专注,且做ARM还要购买ARM公司的授权,自己有x86的全部产权,为什么还要用ARM?于是就把xscale卖给Marvell了,自己做基于x86的低功耗方案。他们相信ARM的主要优势是功耗低,如果x86能够达到这一点,且软件兼容性更好,那更具有竞争优势。 
但是x86毕竟是CISC指令集,在降低功耗方面,比起RISC指令集的ARM,具有更大的难度。虽然ATOM的功耗做得很不错,不过,基于ARM的处理器,功耗更令人满意。移动设备上面,功耗毕竟是首要考虑因素! 
在移动设备领域,Intel本来就没有什么优势,它面临更多芯片厂商的挑战。虽然ARM是ARM公司的东西,但是毕竟ARM公司只做IP授权,不自己生产CPU,似乎也不设计最终面向消费者的芯片。移动设备要求芯片的集成度更高,光一个计算核心是远远不够的,往往一块芯片上要集成大量IO控制器,加速指令模块(比如Intel以前在PXA系列中的跑MMX指令的协处理器),甚至GPU什么的。这些都是ARM公司自己不怎么做的,但往往又是众多芯片厂商的强项。因此各大芯片厂商的机会就来了。他们觉得集成了ARM的芯片怎么说都是自己的东西(ARM核心仅仅是一个功能模块),不像用x86那样寄人篱下,所以也都乐意把ARM核心集成进来。因为用ARM的芯片多了,所以基于ARM做东西,软件兼容性也会越来越好,虽然比不上x86,但是怎么都比自建炉灶好上数百倍,因此,ARM也逐渐成为移动芯片的计算核心的唯一选择。 
从架构上来说,也许ARM并不比其他RISC芯片先进很多。但是因为它一直以来就足够简单,足够省电,足够省存储(32位芯片可以用16位的thumb指令集),所以这种简单就造就了它现在的优势。很多年前ARM就针对Java做了优化,所以现在Android大行其道,ARM的这些先见之明就体现出来了。

No comments:

Post a Comment