代码量的比较。右端为“不使用Jazelle RCT的编译”,中间为“使用Jazelle RCT的编译”。左端为原来的Java字节代码。数据来自ARM。
ARM内核技术的变迁。最先Jazelle RCT的是Cortex-A(开发代码:Tiger)。最下面的箭头(→)之所以没有指到Cortex-A,是因为该技术是选配的。数据来自ARM。
英国ARM公司日前发表了第二项Java应用高速技术“Jazelle RCT(Runtime Compiler Target,运行时间编译器目标)”()。此前该公司已经推出了解释器高速技术“Jazelle DBX(Direct Bytecode eXecution,直接字节码执行)”。而此次则开发出了面向JIT(Just In Time Compilation,即时编译)、DAC (Dynamic Adaptive Compilation,动态适应编译)和AOT(Ahead Of Time Compilation,预编译)等Java的各种编译器的技术。通过使用Jazelle RCT最多可以把存储代码所需的内存容量--占用空间(Footprint)减至原来的1/3。
据ARM称,与Jazelle DBX的芯片相关的授权目前已超过50件,另外设备厂商和Java平台的授权也超过了10件,获得了极大成功。将解释器获得的成果推广至编译器领域的就是 此次的Jazelle RCT。一般情况下,使用编译器比使用解释器时速度要快,不过内存容量也会增加。ARM的技术发表指出,在未采用Jazelle RCT的情况下使用编译器,内存占用空间便会达到Java字节码(Byte Code)的3倍。而使用Jazelle RCT后,则只会增加10%。
Jazelle RCT与Jazelle DBX一样,均作为用于扩展ARM内核的电路块而使用。同时,通过扩展“Thumb-2”指令集,软件方面也可以使用Jazelle RCT。软件开发商要想领略Jazelle RCT带来的好处,还需要编译器及Java VM开发商的支持。在发布资料中,美国Sun Microsystems、日本Aplix及瑞士Esmertec均表示赞同和支持ARM的新技术。
最先支持Jazelle RCT的处理器内核是ARM新一代处理器内核“Cortex”系列中面向手机应用处理器的高档型号“Cortex-A系列(开发代号:Tiger)”。 2006年第2季度将通过包括编译器在内的“解决方案”来提供此次的高速技术。另外,Tiger还计划标准配备Jazelle RCT,而将Jazelle DBX作为选配项。“并不存在技术上的问题,这只是一种产品策划”(ARM负责全球无线业务的Oliver Gunasekara)。据说今后的Cortex系列也有可能同时配备两种Jazelle技术。
作为此次高速技术的应用领 域,ARM最看好的就是手机Java应用,尤其是游戏。据Gunasekara介绍,在100-200MHz的ARM9级别的处理器内核中使用 Jazelle DBX技术的话,就可以在手机上玩三维图形的游戏。这种游戏的使用费(直至换机前的永久授权)为3美元左右,“欧洲手机用户中约有10~15%正在有偿享 受这种游戏”(Gunasekara)。如果使用ARM11的话,三维图形还会更漂亮,游戏使用费可以提高到10美元,而且会有更多的游戏爱好者加 入,Gunasekara对此非常自信。同时表示,Jazelle RCT将推动这一进程。