资源描述:
《基于代码压缩方法的低功耗嵌入式系统设计技术研究(部分供参考)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于代码压缩方法的低功耗嵌入式系统设计技术研究(部分供参考)摘要:低功耗是嵌入式系统设计中的重要约束条件之一.代码压缩能够减小程序目标代码尺寸,减小程序目标代码所占用的存储器空间和通信开销,从而在系统级上降低了系统功耗.本文对指令集裁剪压缩技术、全代码压缩与子代码压缩技术以及基于片上Cache的代码压缩技术等几种比较典型的代码压缩技术的特征进行了讨论和分析.关键字:低功耗、代码压缩、嵌入式系统ResearchonLowPowerEmbeddedSystemDesignBasedonCodeCompressionZhangLaiyongLiXiXiongYueZhouXuehai(the
2、DepartmentofComputerScienceandTechnologyofUSTC,Hefei,230026)Abstract:Lowpowerconsumptionisanimportantdesigncriteriaofembeddedsystem.Codecompressioncanreducethesizeofobjectcodeofembeddedprogram,thereforereducingmemorysizeandcommunicationcost,andthesystemlevelpowersavingcanbeachieved.Codecompressi
3、oncanberealizedthroughafewtechnologies.Thepaperwilldepictthesecode_compressiontechnologies,includinginstructioncodeextraction,fullcode/subcodecompressionandcached_codecompression.Keywords:lowpowerconsumption、codecompression、embeddedsystem引言近几年来,电子系统的低功耗设计问题成为系统设计所关注的重点,主要因为(a)大量移动计算设备需由电池供电,而电池受
4、重量和体积的限制,储能能力有限;(b)处理器芯片工作频率越来越高,散热问题越来越严重;(c)高性能计算机系统由于功耗大,导致能耗运行成本上升,并且高温会造成系统可靠性下降.从系统结构角度考察降低功耗的方法,可以将其分为两类:ASIC片内级低功耗技术,包括降低供电电压,使用可控时钟,以及设法减小门电路的翻转频度等;系统级低功耗技术,包括减小存储器大小和降低通信带宽等.由于嵌入式系统与应用密切相关,可以将其应用程序的目标代码进行压缩后再装载到嵌入式系统中去,这样,可以减小程序代码所占用的存储器空间,同时减小存储器的访问带宽,降低系统功耗.当然,采用代码压缩技术也会造成一定的负面影响,例如需
5、要增加解压电路,产生一定的时延等,在一定程度上会降低系统性能,所以还要在压缩的收益与解压的代价之间进行权衡.解压器的硬件代价以压缩技术所实现的存储器和功耗的节约为约束,且不能损害系统的性能,所以要尽可能使解压算法简单.代码压缩可以通过多种技术来实现.指令集裁剪压缩技术通过从原有指令集中抽取部分常用指令,然后对这个子集进行重新编码而形成新的指令集,因为指令子集的指令条数少,所以减小了指令码的长度,从而实现了代码压缩【2】;全代码压缩与子代码压缩技术不改变原有指令集,而是采用对指令码或指令码中的操作码进行压缩编码的技术实现的代码压缩【3】;针对片上Cache的代码压缩技术包括基于DF(de
6、compressonfetch)结构的代码压缩技术【6】和基于DCR(decompressoncacherefill)结构的代码压缩技术【1】【4】【5】.本文将对上述基于代码压缩的低功耗系统设计技术的特征进行分析.指令集裁剪代码压缩技术RISC处理器具有简单易集成,易设计,性能好的优点,因此适合用作嵌入式处理器,但是RISC体系指令集的指令格式统一的特点,决定其程序目标码的代码密度低,占用存储器空间大,导致功耗增加.ARM处理器采用在ARM指令集的基础上抽取出部分指令并重新编码产生Thumb指令集的优化技术,实现系统低功耗设计.Thumb指令集包含了从标准的32位ARM指令集中抽取的
7、子集,并重新编码成16位宽的指令码.每一条16位的Thumb指令都有一条等价的32位ARM指令.执行时将Thumb指令转换成等价的32位ARM指令,然后执行.采用这种方法,可以将代码尺寸减小30%.Thumb指令的解压放在指令译码阶段完成.ARM处理器的译码周期被分为两个阶段,阶段一完成Thumb指令解压成ARM指令,阶段二完成ARM指令的译码.由于指令解压的简单性(使用查找表法即可),保证了Thumb解压器的小尺寸和低功耗.能够识别Thumb