当前位置:主页 > 科技论文 > 计算机论文 >

嵌入式系统代码压缩技术的研究

发布时间:2020-05-30 07:02
【摘要】:在消费电子市场需求的有力推动下,嵌入式系统的功能日益强大,其软件开发的复杂程度也随之越来越高,嵌入式软件的代码量以平均每两年时间翻一番的速度增长。由于嵌入式系统在成本、体积、功耗等多方面受到制约,代码量的增长将成为嵌入式系统发展的一个瓶颈。因此,代码压缩技术将成为今后嵌入式系统发展的一项关键技术。 本文从基本的数据压缩理论入手,分析了典型的数据压缩和代码压缩的各自特点以及它们之间的内在联系与区别,结合对当今代码压缩技术的发展现状的介绍,总结出了代码压缩技术的评价标准。基于对ARMv4指令集的研究分析,我们提出了通过字典压缩的方法对程序代码进行压缩以减小其冗余度的方案。我们对字典压缩的问题进行了数学抽象和描述,进而对字典压缩方案中的各种参数的设计进行了数学分析以论证所采用的代码压缩方案的正确性与合理性。本文对我们所设计的代码压缩方案的步骤、代码压缩中的难点问题的解决等细节以及主要的算法流程均做了详尽的叙述。最终,使用我们所设计的代码压缩方案,我们对MiBench基准测试程序中的6个典型程序进行了压缩实验,获得了平均81.1%的压缩比。 在代码压缩方案设计的基础上,我们对解压缩系统的硬件设计进行了讨论,并对解压缩系统中的主要部分提出了优化的硬件设计方案。为了验证代码压缩方案的正确性,我们搭建了一个系统验证平台,其中包括:Verilog HDL描述的解压缩模块和压缩指令内存模型,以及PLI形式的ARM指令模拟器。通过与ARM公司的标准模拟器ARMulator的输出结果进行对比,我们完成了验证系统的自动化测试。 最后,我们对压缩实验的结果进行了深入的分析研究,总结了影响代码压缩的因素,并对未来工作做了进一步探讨。
【图文】:

基准测试程序,链接器,指令集,编译器


图3.10MIBeneh基准测试程序我们选取了基准测试程序MIBench中的sha、eer32、dijksart、rijndael、arweaudio(dapem.eneode)、wardaudio(adpem.deeode)进行测试,指令集为ARMv4,编译器、链接器均为ADsl.2中的amrcc和amrlikn。实验结果如图3.fl所示:

程序指令,重复性,代码


图3.11MIBnehc程序指令重复性统计从6个基准测试程序的分析结果中可以看出:二进制指令代码中仅仅出现一次的指令只占全部程序的40%左右,在rijdael中这一比例更是小到24%左右。同Leufgyr等人基于sPEcc创T95的指令重复性研究相比,,我们所采用的MBInehc典型程序的指令重复性并不明显,这主要是由于我们所使用的指令集和编译器不同所造成的。ARMv4指令集本身是针对嵌入式系统所设计的,其代码密度比PowerPC的指令集要高,所以指令的冗余度较小。而对于编译器、链接器以及链接程序库,ADS对代码大小做过特别的优化,其生成的代码在密度上要优于Gcc生成的代码。BunroDeBusl’刀等人在其研究过程中对比过ADs与GCC生成的代码大小,其结果表明:ADS生成的二进制代码平均要比GCC生成的代码小320KB,这主要是因为ADS的编译器编译出的代码非常紧凑,且ADS的标准程序库也是经过特别优化的。
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2006
【分类号】:TP368.1

【参考文献】

相关期刊论文 前1条

1 马义德,刘映杰,张新国;嵌入式系统的现状及发展前景[J];信息技术;2001年12期



本文编号:2687765

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2687765.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b3ce2***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com