智能手机开机就绪性能的研究

时间:2022-09-22 08:50:41

智能手机开机就绪性能的研究

摘要:介绍了影响双核结构智能手机开机性能的主要因素,提出了一种可行的软件改进方案得以大幅度提升智能移动电话或其它基于此架构的便携式设备的开机应用就绪时间这一关键技术指标,使其具备更为突出的综合性能表现和技术竞争力。

关键词:智能手机;双核;IPC;开机就绪时间

中图分类号:TP18 文献标识码:A文章编号:1009-3044(2008)25-1592-02

Power-up Performance Research of the Mobile Smart Phone

SHENG Yi-zhe

(Nanjing University of Science and Technology, Nanjing 210014, China)

Abstract: An enhancement proposal is introduced to speed up the power-up ready time of the dual-core architected Smart phone. Based on the analysis of the Smart phone architecture, the root cause is identified to the IPC packet size between AP and BP. An optimized value is determined eventually rather than bigger or smaller ones. It is able to dramatically enhance the performance of the power up time and make it to be acceptable for the practical product.

Key words: mobile phone; dual-core; Inter-processor-communication; power-up time

1 引言

在智能手机的嵌入式软件开发过程中,通常都会涉及到手机从加电开机到主要应用就绪这一关键指标的考核,因其发生在手机系统最为繁忙的阶段,所以更能够反映手机的综合性能,各大终端设备制造商对其亦给予了高度重视,谋求各种可行的方法以竟可能大的提升其性能,缩短这一时间。本文通过分析智能手机软件结构出发,从具体的同类设备之间表现的差异着手,尝试改变其中的关键参量,找到了影响这一性能指标的主要因素及其作用原理,提出了相应的改进方案并验证了正确,合理性,为业界在此方面提供了颇具价值的技术参考与借鉴。

2 智能手机软件基本架构

智能手机区别与普通手机的一个主要特征是其具有更为突出的多媒体表现能力和与个人电脑或其它便携式设备之间的无缝对接共享能力,包括图形,影像,视频,高品质声音回放及不同平台,设备上的软件共享等功能。正由于此,智能手机通常是双核结构,即负责各种应用表现的应用处理器(AP)和专职无线通信部分的基带处理器(BP),它的优势是将复杂的多媒体应用处理与通信协议和数字信号处理分开由AP 和BP各司其职,以发挥各自芯片的最大效能,这比传统手机单一的DSP芯片统一处理功能更强,效率更高。同时双核结构可分别运行不同的软件操作系统,如BP运行更注重实时能力的RTOS系统,AP运行主流的嵌入式系统以保证与其它设备间的软件兼容与互操作性,如微软的WinCE,开放论坛的Linux或移动厂商联盟的Symbian系统。

图1显示了智能手机典型双核软件架构,AP基于WinCE系统,主要分应用层,包括提供各种用户操作界面的应用程序,如“电话簿”,“SIM卡管理’等,服务层如手机接口RIL,应用管理器等,和驱动层如键盘,屏幕驱动;BP是RTOS系统,包括核心通信任务CORE,AT指令解释任务,SIM卡读写服务任务SIMap等,AP,BP是通过处理器间通信模块(IPC)来完成相互之间的信息交流,如控制信息发送,响应数据返回等。在此由异步收发器(UART)实现,遵循GSM27.10多路复用传输规范,AP,BP间通常是通过AT指令集进行交互.故IPC所承担的桥梁纽带作用是显而易见的,同时其可靠性和效能也很大程度上决定了AP,BP的工作性能。其中一个重要体现就是前言中提及的开机就绪时间。我们知道手机“电话簿”,“联系人”或“短消息”是其几个主要应用,故需要开机后尽快就绪,其中它们所需的大量数据都存于SIM卡中,通常SIM数据读写是由BP来实际完成,AP则通过发送AT指令经IPC,请求BP传输所需数据来提供给AP端的各应用程序(也有少数体系由AP完成所有SIM的访问工作,此种情况不在本文讨论范围)。由于SIM本身较慢的读写特性,需要在一开机就载入内存以备快速访问,所以SIM卡数据的开机读取速度就构成开机就绪指标的关键因素,如何降低此数值是我们关注的重心。

3 现有问题

基于对双核结构的认识,我们研究了某品牌手机的两款相关产品,分析了上述性能指标改善的可行性。其中之一MT1是普通的单核单处理器加RTOS操作系统的结构,另一款MT2是双核智能手机,其AP采用的是WinCE系统,BP使用与前者几乎完全相同的结构和RTOS模块,差别仅在于它不再具备所有原用户应用层功能而移交至新的AP端处理,实际上可认为BP主要起到无线通信中modem的作用。

MT1和MT2兼容同一类SIM卡,其中包含有多达1000条电话联系人记录,由于前述原因需要在开机时立即从SIM读入缓冲内存,然后应用程序如电话簿,才能建立内部数据库管理这些记录,在此之前用户只能等待其就绪。所以SIM的读取时间构成了这一过程的最主要因素。通过对比试验,测得MT1与MT2在开机SIM读取速率上存在比较大的差异,其中MT2花费了比MT1多出5倍的时间,由于二者结构相似,我们将其进一步细化为AP,BP独立的读取载入时间,如图2所示,据此可以较清楚地看出,SIM数据的实际内存载入对MT1和MT2的BP基本都是固定的约30秒,理论上而言,由于此后均为快速的内存操作,MT1和MT2 均应很快达到就绪状态,但实际上MT2花费了更长时间才完成,这一现象引起我们的关注,考虑到二者的结构差异,AP,BP本身内存操作时间相比SIM读写是可以忽略不计的,MT2多花的时间应该在AP和BP间的IPC传输上,经过对AP端相关软件模块的进一步分析,发现应用层所要求的SIM纪录经服务层RIL解析最终转换成AT指令发至IPC驱动层是以单条纪录请求为单位发往BP的,BP也是以单条纪录发回响应,这样多达上千条的SIM记录就需要上千个AT请求指令和对应的响应数据包,如此一来,AP,BP花费在IPC上的时间反而可能比传输SIM本身的有效数据还长,也即是IPC效率非常低,经实际测试,证实了这一重要推断:MT2开机就绪时间指标的恶化根源是由IPC这一瓶颈因素造成的。

4 改进

基于上述的发现和推断,我们提出一种改进其性能的方案设想:扩展IPC中AT请求指令集以允许一次请求多条记录,同时增加响应数据包的容量,以支持多记录格式,如此来减少AP,BP间请求和响应的数量,从而在保证提供同样有效数据的前提下,提高IPC的整体效率,以达到加快开机就绪的总目标。以下为AP和BP两方面所做的具体尝试。

4.1 AP

修改服务层代码,使得从应用层发来的SIM数据请求,不再象过去那样以最小化的单一记录分割,代之以支持一次多条记录模式,这种改进需要更底层的IPC驱动也扩展相应的AT指令,针对WinCE系统,需要在RIL增加新的IOCTL处理记录的分割,和接收新数据包的解析,定义新的AT控制指令以支持多记录请求。

4.2 BP

同样的,在BP端需要增加对应的扩展AT控制指令解释单元,使AP多记录请求能够得以识别处理,如数据记录的格式化拼装,同时配置BP端IPC发送/接收器(Tx/Rx)支持多记录的大数据包传送。

经过上述的改进,我们验证了这种通过增加单次有效数据请求来减少总的IPC的请求-响应的交互方案的确能够显著提高IPC的工作效率,但是我们也发现单纯的减少交互数量,当达到某个最优值后,再增加单次有效数据量或减少传输请求包,反而会使总传输时间增加,深入分析,原来是由于当BP多记录响应数据包大小超过某个值后,该值与BP端IPC中实际的发送/接收器Tx/Rx的单次吞吐能力密切相关,响应包太大,Tx/Rx就不得不花费更多时间来分割它,当超出合理范围后,Tx/Rx的效率反而会降低到使BP的IPC成为系统的瓶颈。

5 结果验证

由此推断IPC中的单次多记录传输并非越多越好,而是有一个最优值,图3给出了我们的最终试验曲线图,结果与前述的分析和判断吻合的很好,证实了确实存在一个最优化值使得IPC能够以最佳效能工作。在此试验中,单次10条的记录请求可以使试验的智能手机开机就绪时间最快缩短为改进前的1/3,极大幅度的改善了系统的性能和关键指标参数。

6 结论

由AP和BP构建的双核体系的智能手机,反映其综合性能的开机就绪时间这类关键技术指标,其中的主要影响因素为SIM卡数据的首次读取,及该数据在AP,BP间的传输效率。此效率很大程度上取决于单次传递的数据大小与总包数目。如果单次数据小而总包数大,传输瓶颈发生在AP端,反之传输瓶颈将出现在BP端,因此存在一个最优化值使得传输瓶颈不会出现在任意一方,也即是能够使得此时的系统工作效率最高,相关的关键性能指标表现最佳。设计开发人员的主要目标就是根据自身产品特征找到这一最优配置。推而广之,本文所论述的原理和改进方法不仅适用于智能手机,而且适用于绝大多数基于双核体系架构的智能化移动终端,便携式设备,如个人数字助理PDA,PocketPC,对讲机,步话机,全球定位仪GPS等。

参考文献:

[1] 周绪宏,梁阿磊,戚正伟. 基于嵌入式Linux的智能手机系统软件的设计与实现[J]. 计算机应用与软件, 2008,25(3):59.

[2] 蒋云良, 缪强, 绍斌. 基于双核结构SoC的嵌入式软件设计研究[J]. 计算机工程, 2004,30(12):65-67.

[3] 孙昌爱,靳若明. 实时嵌入式软件的测试技术[J]. 小型微型计算机系统, 2000,21(9):920-924.

上一篇:基于OpenGL的实体真实感图形显示工具的开发 下一篇:基于ADS对OFDM射频前端的仿真及分析