《处理器史话》之十四
在使用方面,ARM指令的格式也要比Intel的复杂些。一般说来,一条ARM指令有如下的形式:
{S}[Rd],[Rn],[Rm],其中:
{S}:加上这个后缀的指令会更新cpsr寄存器;
[Rd]:目的寄存器;
[Rn]/[Rm]:源寄存器。
一般来说,ARM指令有3个操作数,其中Rm寄存器在执行指令前可以进入桶形移位器进行移位操作,而Rn则会直接进入ALU单元。如果一条ARM指令只有2个操作数,那么源寄存器按照Rm来处理。例如,一条加法指令:
addr0,r1,#1
就会把r1+1的结果存放到r0中。
在熟悉了基本的汇编格式后,读者就可以自行去查询基本的ARM汇编指令了,下面简单介绍一下ARM中比较有特色部分——Load-Store指令结构,由于ARMCPU并不直接处理内存中的数据,这个指令体系就担起了在寄存器和内存之间交换数据的重要媒介。
ARM的访存采用的都是LOAD-STORE结构,虽然它要比x86的内存访问机制复杂一些,但是有个最大的好处,就是可以把每条指令的执行时间都平均化,有助于高效的流水线的实现,采用这种结构也就同时意味着指令都要在寄存器间进行操作,所以ARM体系中有大量的寄存器(不少于32个)。
由于篇幅的原因,关于LOAD-STORE体系结构,在这里不再赘述,有兴趣的读者可以查阅相关的资料。
ARM的未来
众所周知,ARM几乎垄断了手机和嵌入式芯片市场,不过进入2010年以来,关于手机芯片巨头ARM公司要进军服务器领域的消息多了起来,其中有捕风捉影、绘声绘色的传闻,也有正儿八经的新闻发布。
传闻也好,新闻也罢,消息一出,引发的却是行业的大讨论:
一个在手机领域占了90%以上份额的芯片,为什么突然对服务器感兴趣?
是不务正业,还是用意高远?
ARM公司及其用户拿什么去从Intel们、IBM们的嘴里夺食?是不自量力,还是另有高招?
ARM芯片在手机和嵌入式市场取得成功,是否意味着在用户需求和生态系统都更加复杂的服务器领域也能获得一席之地呢?
对于这些真假难辨的消息,读者该如何看?
没有金刚钻,别揽瓷器活。有人替ARM担心,有人替ARM叫好。
分析一下,不难发现ARM芯片主要凭借的是两大优势:低价、低功耗,不足之处也有很多:芯片架构需要重新设计去实现更多企业特性需求如缓存一致性、容错与高可用等,软件生态环境需要重新梳理和打造,不支持64位应用等。
接下来把市场上关于ARM服务器的消息传闻串起来一看,其意图不难理解,一切都是云计算和移动互联网惹的祸!
如果简单地把服务器看作云计算的代表设备,手机视作移动互联网的代表设备,这两者的架构融合与互连互通也是必然所在。这也就不难理解,占据了90%以上服务器市场份额的Intel一定要往移动嵌入式领域拓展,同样,占据了90%以上手机市场份额的ARM也一定会往后台数据中心侵袭。只是,谁的架构会一统天下,还是融合共处,现在谁也说不清,因为角力还没真正开始。不过有一点可以确认,那就是:
Intel与ARM之间的“战争”不可避免的。
Intel从2008年才推出的一款面向上网本、入门级PC(EntryLevelPC)、TabletPC、智能手机以及其他一些手持设备的处理器——Atom处理器。由此可见,Intel的Atom架构瞄准的市场是已经被ARM称霸已久的移动计算领域,两方的战争可见一斑。
Atom是英特尔历史上体积最小和功耗最小的处理器,其架构至今为止经历了四次重大的革新,开创性在维持现有系统的高性能的同时地降低了功耗,使得制造轻薄的手持设备、TabletPC、智能手机等成为可能。
从Intel投入的精力和一系列的动作上,不难看出Intel向弥补自己在移动计算领域缺席的决心。但是从时间上来看,Intel同ARM相比起步晚太多了,除此之外,出于兼容性的考虑,Atom在设计之初被无辜地套上了CISC的枷锁,从而使得Atom处理器有一种背负历史使命的厚重感,少了一些现代的轻盈与高效。所以至今为止,除了上网本有采用Atom架构的处理器外其它移动计算设备很少有采用Atom处理器的。
这就是Intel的Atom在移动计算市场上的劣势。
展望未来,即使Intel成功地实施了Atom战略,将x86芯片的功耗和价格大大降低,它与ARM竞争也将非常吃力。因为ARM的商业模式是开放的,任何厂商都可以购买授权,所以未来并不是Intelvs.ARM,而是Intelvs.世界上所有其他半导体公司。
未来孰胜孰负?貌似已成定局,但世事难料,一切皆有可能,我们静观其变。