コード圧縮技術に関する調査研究

夜久 健一 (9951119)


 組み込み機器では特に、物理的な空間や重量の制約、消費電力やコストなどの 観点で内部の資源に制限があることが普通である。一方で複雑な機能を持ったソ フトウェアを実行する必要がある。通常こうしたソフトウェアは、機能が豊富に なるに連れて肥大化し、多量の資源を消費するものである。こうした事態を打開 するために、現状の資源の活用状況を見直しより有効に活用できるようにすると 言うことが考えられる。ここで重要になるのがコード圧縮技術である。

 実行プログラムから無駄な部分を省くというのは新しい考え方ではない。古典 的なコンパイラの最適化手法においてもしばしば見られるものであるが、従来で はこうした最適化は未使用のコードをファイルから削除することで、コードサイ ズを縮小するというよりも実行速度を改善することを目的にしてきた。しかしこ れらの技術も当然ソフトウェアの縮小に応用できる。

 またコード圧縮技術そのものにも、コードを圧縮して格納し、実行時に必要な 部分を解凍しながら実行する方法や専用のハードウェアの支援を受ける方法、実 行可能な形態のままで圧縮する方法などが研究されている。本報告書ではこれま でに研究されてきたコード圧縮技術に関して、特に実行コードサイズを縮小する ものに着目して調査を行った。そしてこれらの技術を体系化して調査し、比較検 証することで今後の研究への参考資料を提供することが本報告書の目的である。 基幹となる技術はパターンマッチングを応用してコードの冗長部を検索し、ファ クタリゼイションによって圧縮するというものである。

 今後のコンピューター利用は、ネットワーク及び組み込み分野に重点をシフトし ていくと考えられるが、コードサイズを縮小するための技術はこれらの分野でも 広く使われることが見込まれ、そのために必要となる要素に主眼を置いて研究が 進められていることが分かった。