手机效能大剖析 Java、CPU 居关键
时间:2007-08-07 来源:loughsky
Java 在手机上的应用总是被大众认为是拿来玩游戏的,其实,它的用途比你想得更多!举凡音乐、影片、e-mail 等,都可看见 Java 的影子。本篇主要探讨影响手机效能的 Java 与 CPU,让你更认识它们。
现在几乎每款手机都有内建 Java 功能,一般使用者最熟悉的是 Java 游戏,由早期简单的动作游戏一直到现在声光效果齐备的 3D Java game,总是陪伴许多人度过无聊时光。但其实 Java 不仅是游戏那么简单,它可是掌管手机效能的幕后藏镜人喔!
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/013.jpg" width=450 border=0>
Java 简介
手机采用的 Java 称为 Java Platform Micro Edition(简称 J2ME),它有所谓的 MIDP 规格,MIDP(Mobile Information Device Profile)是为了要解决 Java 软件于不同厂商手机的兼容性而衍生出来的标准,目前已经发展到 MIDP 3.0。
最早的 MIDP 1.0 无法支持声音,也没有全屏幕功能;有些厂商利用自己的应用界面(API)来解决这些问题,但是也限制了这些软件的流通性,因为不同的手机可能会无法使用。而 MIDP 2.0 自由度就更大了,除了可以支持多媒体外,还可以加入简讯、个人信息管理、档案管理等 API,让 Java 不只是游戏,更涉猎至手机其它功能。
Java = 游戏?
在一般手机中,Java 除了游戏之外,一些多媒体功能如 MP3 播放器、影片播放器、以及最近愈来愈热的 Push mail 很多都是由 Java 撰写而成,因此 Java 的效能几乎就等于手机的效能。如何知道 Java 的效能强弱呢?可由手机是否支持 Java 硬件加速得知。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/014.jpg" width=450 border=0>
加速方式影响效能
手机 Java 可分成两种加速方式,一种是内建 JIT、AOT 的软件加速,另一种则是 Jazelle 硬件加速。软件加速原理是处理器利用内存配置(Memory Allocation)的方式达到加速的目的,而硬件加速则是处理器内建加速器,可分担处理器的工作量,进而让效能提升。内建 Jazelle 硬件加速的手机在处理 Java 软件的效能最高大概是 JIT 的 4 倍左右。
Jazelle 效能较高,直接影响到的就是 Java 程序的开启时间、反应时间以及执行速度。当播放影片时,支持 Jazelle 的手机在每秒画面数(FPS)上明显比软件加速来得快。
ARM 统宰手机处理器市场
处理器是手机的心脏,没有它手机是无法工作的。一般手机使用者较不会注意处理器的规格,而智能型手机由于需要处理大量的信息以及应用程序,处理器的效能就相对重要。读者们也许听过 Intel PXA270、PXA272、TI OMAP 这些 CPU 的名字,但你知道吗?它们都是英国 ARM 公司设计的。
ARM 是一家处理器核心 IP 供货商,产品涵盖的领域包括行动通讯、家用电子、企业应用、嵌入式应用及其它新兴市场。所谓的 IP 供货商是指 ARM 提供处理器设计的硅智财(Silicon IP,可以想象成架构蓝图)给 IC 设计公司(如 Intel),IC 设计公司再针对不同产品及应用市场设计出不同的处理器芯片。
根据 ARM 的调查,到目前为止,全世界 90% 以上的手机处理器都是属于 ARM 家族,ARM 对于手机产业的重要性由此可见一斑。ARM 目前在市面上的处理器可以分成三个 family,即 ARM7、ARM9 与 ARM11。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/015.jpg" width=450 border=0>
不同家族不同性格
这三个 family 最大的不同在于执行频率,ARM7 约在 100 MHz 左右,ARM9 在 200 ~ 250 MHz 左右,ARM11 则在 400 ~ 500 MHz 左右。但这些数字只是大略,真正的频率还是会因为 IC 设计的不同而改变。而 ARM11 的下一代 Cortex-A8 频率更可达到 1 GHz,直逼个人计算机。
除此之外,新的处理器 family 由于芯片尺寸可以更加缩小,因此也更省电。以 ARM9 与 ARM7 来比较,ARM9 比 ARM7 省约 10 ~ 20% 的电力。处理器省电,就意味着手机的待机时间可以更长。
但是一般人要如何分辨自己的手机是哪个 CPU Family 呢?其实并不容易,因为所谓的 ARM7、ARM9、ARM11 也只是个架构,并不是 CPU 的型号。但是使用者可以上 ARM 官方网站,里面详细列出了采用 ARM 架构的手机,详细信息中即可查知手机所用的 ARM CPU 架构。
ARM CPU Extimator
ARM 也提供一个与 JBenchmark 合作开发的测试程序「ARM CPU Estimator(ACE)」,可测试 Java 手机的处理器与 Java 效能,并且也会显示 CPU 信息以及图表。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/016.jpg" width=450 border=0>
ACE 的使用方式很简单,只要将测试软件安装在手机上并执行,从测试开始至结束不需 1 分钟,十分省时。测试完毕后,使用者就可以看到如 CPU Family、频率与 Java 效能图表等信息。以 Nokia N91 为例,用 ACE 测试的结果可以看到它的 CPU Family 是属于 ARM9、执行频率在 169 MHz,并且不支持 Jazelle 硬件 Java 加速。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/017.jpg" width=450 border=0>
图表起伏决定效能
而 Java 效能图表也大有学问。效能图表显示随时间而变动的 Java 效能,会因为手机是软件或硬件 Java 加速而有不同的样式。如果手机是软件加速,一开始 Java 效能会较低,之后逐渐升高,在图表上形成一个弧形的曲线。而 Jazelle 硬件加速的手机从开始测试就是高效能,一直维持到测试结束,因此图表显示为一直线。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/018.jpg" width=450 border=0>
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/019.jpg" width=450 border=0>
多任务 Java 即将问世
目前 Java 程序都只能单工执行,意谓一次只能执行一个 Java 软件,无法多个软件在同时间执行。但据 ARM 表示,2006 年底前将会实现 Multi-tasking Java(Java 多任务),可多个程序同时执行,届时手机使用者就可以一面收信、一面玩游戏、甚至可以一面听音乐了。
现在几乎每款手机都有内建 Java 功能,一般使用者最熟悉的是 Java 游戏,由早期简单的动作游戏一直到现在声光效果齐备的 3D Java game,总是陪伴许多人度过无聊时光。但其实 Java 不仅是游戏那么简单,它可是掌管手机效能的幕后藏镜人喔!
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/013.jpg" width=450 border=0>
Java 简介
手机采用的 Java 称为 Java Platform Micro Edition(简称 J2ME),它有所谓的 MIDP 规格,MIDP(Mobile Information Device Profile)是为了要解决 Java 软件于不同厂商手机的兼容性而衍生出来的标准,目前已经发展到 MIDP 3.0。
最早的 MIDP 1.0 无法支持声音,也没有全屏幕功能;有些厂商利用自己的应用界面(API)来解决这些问题,但是也限制了这些软件的流通性,因为不同的手机可能会无法使用。而 MIDP 2.0 自由度就更大了,除了可以支持多媒体外,还可以加入简讯、个人信息管理、档案管理等 API,让 Java 不只是游戏,更涉猎至手机其它功能。
Java = 游戏?
在一般手机中,Java 除了游戏之外,一些多媒体功能如 MP3 播放器、影片播放器、以及最近愈来愈热的 Push mail 很多都是由 Java 撰写而成,因此 Java 的效能几乎就等于手机的效能。如何知道 Java 的效能强弱呢?可由手机是否支持 Java 硬件加速得知。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/014.jpg" width=450 border=0>
加速方式影响效能
手机 Java 可分成两种加速方式,一种是内建 JIT、AOT 的软件加速,另一种则是 Jazelle 硬件加速。软件加速原理是处理器利用内存配置(Memory Allocation)的方式达到加速的目的,而硬件加速则是处理器内建加速器,可分担处理器的工作量,进而让效能提升。内建 Jazelle 硬件加速的手机在处理 Java 软件的效能最高大概是 JIT 的 4 倍左右。
Jazelle 效能较高,直接影响到的就是 Java 程序的开启时间、反应时间以及执行速度。当播放影片时,支持 Jazelle 的手机在每秒画面数(FPS)上明显比软件加速来得快。
ARM 统宰手机处理器市场
处理器是手机的心脏,没有它手机是无法工作的。一般手机使用者较不会注意处理器的规格,而智能型手机由于需要处理大量的信息以及应用程序,处理器的效能就相对重要。读者们也许听过 Intel PXA270、PXA272、TI OMAP 这些 CPU 的名字,但你知道吗?它们都是英国 ARM 公司设计的。
ARM 是一家处理器核心 IP 供货商,产品涵盖的领域包括行动通讯、家用电子、企业应用、嵌入式应用及其它新兴市场。所谓的 IP 供货商是指 ARM 提供处理器设计的硅智财(Silicon IP,可以想象成架构蓝图)给 IC 设计公司(如 Intel),IC 设计公司再针对不同产品及应用市场设计出不同的处理器芯片。
根据 ARM 的调查,到目前为止,全世界 90% 以上的手机处理器都是属于 ARM 家族,ARM 对于手机产业的重要性由此可见一斑。ARM 目前在市面上的处理器可以分成三个 family,即 ARM7、ARM9 与 ARM11。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/015.jpg" width=450 border=0>
不同家族不同性格
这三个 family 最大的不同在于执行频率,ARM7 约在 100 MHz 左右,ARM9 在 200 ~ 250 MHz 左右,ARM11 则在 400 ~ 500 MHz 左右。但这些数字只是大略,真正的频率还是会因为 IC 设计的不同而改变。而 ARM11 的下一代 Cortex-A8 频率更可达到 1 GHz,直逼个人计算机。
除此之外,新的处理器 family 由于芯片尺寸可以更加缩小,因此也更省电。以 ARM9 与 ARM7 来比较,ARM9 比 ARM7 省约 10 ~ 20% 的电力。处理器省电,就意味着手机的待机时间可以更长。
但是一般人要如何分辨自己的手机是哪个 CPU Family 呢?其实并不容易,因为所谓的 ARM7、ARM9、ARM11 也只是个架构,并不是 CPU 的型号。但是使用者可以上 ARM 官方网站,里面详细列出了采用 ARM 架构的手机,详细信息中即可查知手机所用的 ARM CPU 架构。
ARM CPU Extimator
ARM 也提供一个与 JBenchmark 合作开发的测试程序「ARM CPU Estimator(ACE)」,可测试 Java 手机的处理器与 Java 效能,并且也会显示 CPU 信息以及图表。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/016.jpg" width=450 border=0>
ACE 的使用方式很简单,只要将测试软件安装在手机上并执行,从测试开始至结束不需 1 分钟,十分省时。测试完毕后,使用者就可以看到如 CPU Family、频率与 Java 效能图表等信息。以 Nokia N91 为例,用 ACE 测试的结果可以看到它的 CPU Family 是属于 ARM9、执行频率在 169 MHz,并且不支持 Jazelle 硬件 Java 加速。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=270 alt="" src="http://www.3gcn.org/images/stories/20060925/017.jpg" width=450 border=0>
图表起伏决定效能
而 Java 效能图表也大有学问。效能图表显示随时间而变动的 Java 效能,会因为手机是软件或硬件 Java 加速而有不同的样式。如果手机是软件加速,一开始 Java 效能会较低,之后逐渐升高,在图表上形成一个弧形的曲线。而 Jazelle 硬件加速的手机从开始测试就是高效能,一直维持到测试结束,因此图表显示为一直线。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/018.jpg" width=450 border=0>
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" height=340 alt="" src="http://www.3gcn.org/images/stories/20060925/019.jpg" width=450 border=0>
多任务 Java 即将问世
目前 Java 程序都只能单工执行,意谓一次只能执行一个 Java 软件,无法多个软件在同时间执行。但据 ARM 表示,2006 年底前将会实现 Multi-tasking Java(Java 多任务),可多个程序同时执行,届时手机使用者就可以一面收信、一面玩游戏、甚至可以一面听音乐了。
相关阅读 更多 +