平成12年度未踏ソフトウェア創造事業
採択案件評価書
| 1.担当PM | 5.高田 広章 |
| 2.採択者氏名 | 中西 恒夫(代表者) (奈良先端科学技術大学院大学 助手) 福田 晃、平尾 智也 |
| 3.プロジェクト実施管理組織 | (財)九州システム情報技術研究所 |
| 4.委託金支払額 | 7,560,000円 |
| 5.テーマ名 | 「組込み向けコード圧縮クロスアセンブラフレームワークの開発」 |
| 6.関連Webサイトへのリンク | http://fukuda.aist-nara.ac.jp/ |
|
7.開発テーマの概要 組込みシステムは特定の目的に専用化して設計されるため、システムの要求事項に最適なプロセッサを用いることができる。そのため、組込みシステムには多種多様なプロセッサが用いられており、新たなプロセッサ用の開発環境 (コンパイラやアセンブラ) を小さい工数で開発できると利点が大きい。この開発テーマでは、クロスアセンブラを小さい工数で開発できるようにするために、継承による差分プログラミングによってアセンブラを構築するための C++ クラスライブラリを開発した。 開発したクラスライブラリは、組込みシステムではプログラムサイズを小さくすることが重要であることから、アセンブラにコード圧縮機能を持たせるための機能を持つ。具体的には、アセンブリ言語のソースプログラム中の頻出アセンブリ命令列を検出し、それらをサブルーチン化することで、コードサイズの削減を行う。 また、開発したクラスライブラリを用いて Z80用のコード圧縮クロスアセンブラを開発し、クラスライブラリの有効性とコード圧縮機能の有効性を検証した。クラスライブラリの有効性については、Z80用のアセンブラが2000行程度の派生クラスの実装のみで実現できることによって検証した。 この開発テーマは、システムに最適なプロセッサと、それ用のソフトウェア開発環境を協調生成するシステムを開発するという大きいテーマの一つのステップである。今回の開発テーマでは、頻出アセンブリ命令列をサブルーチン化しているが、最終的には、頻出命令列を専用命令化することで、一層の効率化を狙っている。 |
|
|
8.達成度と問題点 この開発テーマでは、当初の提案に盛り込まれていた開発項目をすべて開発し、目標を達成することができた。提案された開発体制では消化しきれないとの判断から申請のあった予算額を大幅に減額したこともあり、予算額と比較して十分な成果が上がったと評価できる。 この開発テーマの新規性は、継承による差分プログラミングによってアセンブラの開発工数削減を実現したことにある。この方法が有効であることは示せているが、学問的には、他のアプローチ (多種類のプロセッサへポーティングしやすい構造で実現された既存のアセンブラ) と比較することも必要であろう。 また、コード圧縮による実行効率の低下について評価されていないことも問題に挙げられる (最終目的が頻出命令列を専用命令化することなので、この評価の必要性が低いことは理解できる)。組込みシステムの場合、実行頻度などの実行時情報に着目したコード圧縮までやらないと有効性が低いと考えられるが、開発したフレームワークではそこまでは考慮されていない。さらに、コード圧縮はアセンブリ言語レベルよりも高級言語レベルで行った方が効果的と考えられ、この点も課題として残っている。 |
|
|
9.今後の展開 開発成果物は、そのままでも一定の有効性があると考えられ、何らかの形で産業界へ提供することが望まれる。ただし、開発環境としてアセンブラだけでは不十分なのは明らかであり、開発成果と同様の考え方を適用して、クロスコンパイラフレームワークの研究・開発へと進めていくことが重要である。また、このテーマが最終的に目指しているシステムに最適なプロセッサとそれ用のソフトウェア開発環境の協調生成も、興味深いテーマである。 |
|