从现今的消费性嵌入式应用产品发展趋势看来,以硬件方案加速执行Java已无法跟上时代脚步。为通讯、数字消费性电子与商业应用市场提供核心IP授权,并在数字家电市场上拥有不错占有率的荷商美普思科技(MIPS Technologies;MIPS),看准Java技术的潜在优势,与Java嵌入式装置的解决方案供货商Esmertec合作推出可在MIPS核心上加速执行Java程序的软件产品Jbed CDC(Connected Device Configuration)。MIPS大中华地区技术总监王聪贤表示:「有了软件加速(software acceleration)的助跑,MIPS往后在需要支持Java语言的数字消费电子产品市场上,将以更快速的步伐向前迈进。」

/news/2004/09/09/1659315672.gif

@圖說:(圖一)MIPS Technologies大中华地区技术总监王聪贤

@內文:JAVA程序语言是升阳(Sun Microsystems)于1995年为因特网所专门开发设计,是一种面向对象的程序语言,以跨平台技术为最大特色。传统的程序语言如C、C++所开发出来的程序只能在指定的机器上执行,其缺点就好像某厂牌的汽车只能用该厂牌的汽油一样不方便,而JAVA程序只要透过Java虚拟机(Java Virtual Machine;JVM),就可以跨平台执行。在嵌入式应用范围中,从机顶盒、互动电视、行动装置到车用电子装置等产品上皆可看见JAVA程序的存在。

传统的JVM在执行JAVA程序时系将JAVA Byte code先翻译成所在平台的机器指令然后随即执行该翻译出的指令,即使执行到以前执行过的Byte code,仍要重新翻译成机器指令才能执行,这种逐步翻译逐步执行(interpretation)的方式不是很有效率。有鉴于此,Esmertec的JAVA软件研发人员开发出以软件执行「动态编译」(Dynamic Compilation;DC)的JAVA执行加速软件,在执行中归纳找出常用的hot spot,将这些hot spot转换成native code(应用程序中的基本指令)并加以优化,避免重复翻译,因此可简化执行程序,加快执行速度。这样的编译过程具备自行判断的能力,所以称为「动态编译」。

「动态编译」相对于硬件加速的优势有二:第一是硬件加速必须将这项功能固定在硬件(hardwire)上,硬件无法改变,缺乏弹性,而过多的线路也会增加芯片面积,这对需求轻巧的数字相机、手机等产品非常不利。第二是硬件加速不合成本效益。过去SoC设计业者增加硬件设计,或可节省一些内存(100KB),但目前的内存容量100KB已不是问题,增加硬件设计反而不符合成本效益的要求。

MIPS的Java解决方案提供系统更好的运作效率,搭配FastDAC(Dynamic Adaptive Complier;动态适应编译程序),以MIPS 24Kc核心为例,该核心执行Java的速度每MHz达到7.5 Embedded CaffeineMarks,在550MHz时可达4125 Embedded CaffeineMarks。「软件加速让Java拥有比过去更快的执行速度,这也让MIPS在未来的数字消费市场更能昂首阔步。」王聪贤强调。而MIPS此举似乎也预告,在即将来临的数字世纪,Java软件方案将会是消费性嵌入式产品中的耀眼新星。