铁路交通信息系统PDA的低功耗设计
(3)数据调度
在许多应用程序中,存储器访问是功耗的主要部分。有资料表明,内存传输是迄今为止CPU完成的操作中代价最高的:一次内存传输消耗的能量是一次加法运算的33倍多。优化能量消耗的最大收益之一,来源于合理组织内存中的数据和指令:一般措施是尽量做到数据的寄存器访问和缓存访问。
随着存储技术理论的发展和工艺水平的提高,现在存储器体系结构一般都是三级,而且支持虚拟存储技术,如图4所示。
处理器进行数据访问时,离CPU越近的地方,数据存取速度越快,功耗越低。本PDA系统中,由于Flash存储器(作为数据存储器件)写操作的特殊性(以扇区大小为单位、执行时间长、执行功耗大),要求尽量少地进行。基于这种策略,本PDA系统在数据安排方面采取了以下一些优化措施:
①LCD帧缓存的安排。EP7211内置38 400字节大小的RAM空间,LCD分辨率是320×240,每像素4级灰度用2比特位表示,故显存大小为320×240×2/8=19 200字节,被安排在内置RAM空间的前19 200字节。这样安排,加快了显示速度,减少了处理器访问片外SRAM空间。
②个人传呼信息、公共传呼信息接收频度大,不需要永久存储;传呼接收过程需要开臂两块缓冲区,这些空间都被安排在内部RAM后19 200字节,其目的是减少了CPu对片外SRAM的访问。
③部分系统信息资源,如字库信息,在系统启动后直接从Flash存储区拷贝到固定位置的SRAM区,这样字符输出时直接从内存读取数据,而不需要访问Flash。
④为减少Flash写操作执行次数,在电话簿、记事本、日程以及系统设定等编辑修改后,首先改动的信息是在内存中直接保存,等到用户是退出当前整个应用模块时,才进行一个性Flash写操作。
⑤在进行复杂数据查找过程中,为减少数据访问量,可以通过建立若干级索引表方式加快数据检索速度。如在辞典文件的词汇排序过程中,同时建立了每个单词位置的数据索引,而且作为索引文件定改Flash。在查找过程中,索引项的存在能够减少检索次数,从而快速确定单词起始位置以及整个单词项目长度,供显示输出。不过在增加索引时,也会增加一定的空间复杂度。
另外,系统还可以通过代码压缩减少总线上的传输量;编译器优化,消除冗余代码;消除编程中的递归过程调用、减少函数调用的开销;有效使用寄存器等措施来降低系统功耗。有关这些措施请见参考文献[2]。
4 低功耗设计综合阐述
以上分别从硬件和软件两方面阐述了嵌入式系统开发中低功耗设计的一些原则及在本产品中的某些具体体现。经试验测得,本PDA系统功耗如表4所列。
表4