京都大学
大学院 情報学研究科
通信情報システム専攻
コンピュータ工学講座 計算機アーキテクチャ分野 (富田研究室)
(情報工学教室)
Java Bytecode 実行の高速化
Java グループでは,Java Bytecode の実行を高速化するための手法につい
て,ハードウェアおよびソフトウェアの両面から研究を行っている.
本年度は研究の初年度として,Java Bytecode を直接実行できるハードウェ
アのアーキテクチャの設計を行い,その上で我々の高速化手法がどの程度効果
的であるのかをパイプラインシミュレータを用いて調査した.
高速化手法としては以下のものを研究中である.
- オブジェクト参照やメソッド参照に伴う主記憶参照を高速化するために各
種のハードウェアテーブルを用いる手法.
- スタックの一部分をレジスタに写像することにより,スタック参照の高速
化を図ると共に,このレジスタに対して主記憶上のデータを効率良く供給する
手法.
- 命令 folding
Java のスタックマシンを対象とした命令コードを,スタックを介さずに実行
することで,発行する命令数を減少させる手法.
- Value Prediction
パイプラインをストールさせるような命令を対象として値の予測を行い,そ結
果を用いて後続の命令を実行させることで,パイプラインのストールを解消す
る手法.
- Value Lookaside Buffer
現在のメモリ状態を入力として,関数の返り値などを断定することで途中で実
行すべき処理を省略してしまう手法.
Last modified: Fri Dec 10 18:19:23 JST 1999
www@lab3.kuis.kyoto-u.ac.jp