本年度は並列投機実行を行うシミュレータを用いてと並列投機実行最適化を行うバイナリトランスレーション方式を利用したプロセッサアーキテクチャの検討およびアーキテクチャの構築を行った。 シミュレータはSolaris8マルチプロセッサ上で複数のプロセッサのシミュレーションを行うことが可能なマルチスレッドシミュレータとなっており、マルチプロセッサシステムと同様に共有メモリ上にデータ空間をもち、通信はマルチスレッドライブラリを用いて実現されている。また、プログラム生成は移植したクロスコンパイラシステムによって生成され、実験が容易にできるようになっている。また、バイナリトランスレーションの最適化においては、実行時再構成方式が生成するプログラムの事前生成を行い実行の最適化手法について(1)並列実行するに対応したレジスタ割付方式および命令再構成を行うことにより命令実行数を減少できること、(2)要素プロセッサに投機実行用命令を追加することにより、メモリアクセスのハードウエアを減少できること、また、実行時再構成方式での重複実行において分岐命令の実行を可能にすることによって投機実行の精度を上昇させることが可能であることを示し、バイナリトランスレータに実装した。バイナリトランスレータは最適化のために実行時と同様にプログラムをバイナリプログラムフォーマットにしたがって制御構造を読み取り並列実行可能部分を検索する。これらの機能を有効に機能させるプロセッサアーキテクチャとして多段パイプライン構造によるデータフォワーディング機能をもつ処理部分とマルチコンテクストをもつレジスタファイル機能、そして、複数のプログラム流をコントロールできる制御部分の構成とその具体化を行った。来年度は投機的なメモリアクセスの高速化を実現するメモリ階層部分を構築する。
|