2018年 06月 11日
zero-riscy の Matrix Mult 命令をパイプライン処理したい2
zeroriscy の Matrix Mult 命令をパイプライン化しています。
この命令はコンパイラ対応していないので、正直いって検証がずぶずぶになってしまいます。
でも、思いつく限りはストール制御を入れておきたいと思います。変更点は
- 命令デコーダのマルチサイクル命令判定部分から mmult命令を削除
- mmult ユニットをパイプライン化
- WB ステージで待たされているレジスタアドレスの数を増やす
- mmult 命令が完了したけど EX ステージに負けてレジスタ書き込みできないときにストール
- mmult 命令実行中はロードストア命令を発行しない
4と5が思いついたストール条件です。他にもありそうなら教えてください。
github 更新しました。
by tom01h
| 2018-06-11 00:31