Javaは、特定のハードウェアに依存しないプラットホーム無依存性、
TCP/IP通信プロトコルを標準装備するネットワーク親和性、
セキュリティに配慮された言語仕様によるネットワーク安全性など
優れた性能を持つ言語である。
このような特徴からJavaをネットワーク機器に利用することが
注目されており、さまざまな情報端末に搭載され、広く普及している。
通常のJavaプログラムは、Javaソースプログラムから
Javaコンパイラにより実行ファイル(クラスファイル)を生成し、
Javaバーチャルマシンで実行されるが、実行速度が遅いという
問題があった。このような処理方式は消費電力も大きくなり、
特に携帯端末等組み込み機器には不向きなものであった。
このようなことから処理の高速化とコストパフォーマンスの
向上を考え、専用のハードウェアを開発することが効果的であり、
Javaバーチャルマシンをチップに実装したJavaプロセッサの
開発が進んでいる。
Javaプロセッサはクラスファイルを直接実行するもので、
処理の高速化、消費電力の低減が可能である。Javaプロセッサは
これまでに幾例か提案されており、実用化されているものもある。
Javaプロセッサの一つとして奈良先端大学で開発された、 再構成可能部を持つJavaプロセッサ、R-Javaがある。R-Javaは 再構成部として用いるFPGAとのインターフェースを有し、繰り返し 使われる処理に対して論理回路を構成して処理の高速化を図ったもので、 奈良先端大学と本研究室との共同で改良の研究を行っている。
R-Javaは、Javaの全201命令のうち111の命令を実装している。
未実装命令は実行中に割り込みを発生させ、外部でソフトウェアで
実行させている。
本研究では未実装の命令について、効率よくクラスファイルを
実行するための環境を製作することを目的とする。
未実装命令に対し実装済の命令のみを用いたプログラムで
代用して実現する手法、新たに命令を追加してその命令を用いて
実現させる手法を提案する。
これにより、未実装命令のうちスタック要素の複製、
コンスタントプールへのアクセス、配列の生成・アクセス、
テーブルジャンプ・キー検索ジャンプの命令が実行可能となった。