论文部分内容阅读
随着嵌入式技术的发展,嵌入式系统将更广泛地应用于人类生活的方方面面。在内存容量不足的嵌入式系统领域,软件开发技术面临新的挑战,如何减小代码大小、提高代码的效率,成为当前一个活跃的研究领域,因此,代码压缩技术是未来嵌入式发展的关键技术之一。本文先从嵌入式系统入手,分析了嵌入式系统及软件的应用特点,从而引出代码压缩问题。在对代码压缩和数据压缩比较和分析的基础上,得出了代码压缩的度量标准。接着分析了变长编码对代码压缩所带来的问题,包括代码可压缩的范围的减少和指令边界未知所导致的3个方面的问题。在此基础上我们提出了一种基于传统字典的压缩方案,利用了指令集结构中未使用的编码空间来对码字进行编码,并解决了由于变长指令字所导致的问题。本文对我们所设计的码字的编码方案、用于解压的流水线结构和分支跳转表(BAT)等具体设计细节都做了详尽地叙述。为了验证设计方案的正确性,我们设计了针对CR16C流水线的周期精准的仿真器,并应用所设计的压缩方法对MiBench基准测试程序中4个程序和1个常用的开源应用软件gzip进行了压缩实验,并获得了85.1%的压缩比,为了进行对比,分别把BAT的大小限制为512、1024和2048个条目,并计算了在周期内搜寻BAT所需要的时间总开销,并对实验结果进行了分析和总结。