アダルト・ヴァイオリン May the force be with you..

2008年7月2日

SN/X レジスタ書込みポート 2ポート化パッチ

Filed under: Weblog — い~ぐる @ 7:19 PM

レジスタの書込みポートを2ポート化することで、LD命令と後続の演算命令が異なるレジスタに書込みを行うときには同時に実行可能で、ストールを減らせる。

ただ、普通のプログラムを実行するときには関係ないが、LD命令と後続の演算命令が同一のレジスタに書き込もうとすると、レジスタの同時更新となって、データが破壊される。

この場合、先行するLD命令の結果は使わない(後続命令によって上書きされる)ので、LD命令の実行をキャンセルする必要がある。

もちろん、普通はコンパイラはこんなコードを出さないので、チェックの必要性があるのかどうかも疑問だが・・

とりあえず、レジスタ競合の回避パッチを含めた、2ポート化のパッチを用意した。

Powered by WordPress