以下の内容はhttps://msyksphinz.hatenablog.com/entry/2024/01/28/040000より取得しました。


自作CPUの面積削減検討 (1. STQのフォワーディングパスの削減検討)

自作CPUの面積が結構大きいので、面積削減を検討していきたい。

まずはStore Queue(STQ)から。いろいろ見ていると、フォワーディングパスからストアデータの取得のための判定論理が大きいようだ。

STQは、ストア命令のアドレスとデータを保持して、データをキャッシュに書き戻すための情報を保持する。 ストアデータは、基本的には別の命令から生成されてパイプラインからフォワードされるか、物理レジスタから読んでくる。

フォワーディングパスを削除してしまうと、命令がコミットされるまでSTQにデータが保持されないことになり、ロード命令へのフォワーディングがサポートできなくて性能が落ちてしまう。 したがって、フォワーディングの検知はするのだが、データ自体は物理レジスタから読み込むように論理を変更してみる。 つまり、フォワーディングにヒットすると、フォワーディングパスから複雑な論理でデータを取得するのではなく、物理レジスタを読みに行く。これにより、フォワーディングパス全体を削減することができる。

面積の削減は以下のようになった:LUT 8400 --> 6438で、23%程度の削減だ。

性能的にも、Degradeすることはないかな?とりあえずこれで様子を見てみよう。

Original   : 118,822-cycle
STQ modify : 118,509-cycle



以上の内容はhttps://msyksphinz.hatenablog.com/entry/2024/01/28/040000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14