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


RISC-Vの高性能アウト・オブ・オーダCPU XiangShanについての資料を読む (4. Microarchitecture Design and Implementation)

HPCA2024で開催された、RISC-Vのアウト・オブ・オーダCPU XiangShanについての資料が公開されていたので、読んでみることにした。 じっくり読みたいので、1ページずつ要点を抑えていく。

次は、マイクロアーキテクチャのトピックについて。続き。

xiangshan-doc.readthedocs.io


  • バックエンドの構成
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • 命令フュージョン
    • 隣接しているuOPsを結合する。
    • RV64GCとRV64GC-Fusedで4%の命令削減、RV64GCBからRV64GCB-Fusedで2%の命令削減。
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • Rename & Move Elimination
    • 単純なmove命令は、リネームマップの差し替えにより実現する。
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • Reservation Stationの構成
    • 2-input & 2-output / 1-input & 1-outputの構成
    • Age Matrixベースの命令選択
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • FPUの構成
    • IEEE 754互換の浮動小数点実行ハードウェア
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • FPUはCascade FMAを実装。
    • FADDのDelayは5サイクルから3サイクルに削減。
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • MMUの構成
    • STLB向けにNext Line Prefetcherを実装
    • Page Table Walkを並列実行
    • PMP / PMAをサポート
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • メモリ・アクセスのブロック
    • ロードパイプラインは2本用意
    • LDヒットレイテンシ:4サイクル
    • ストアアドレスパイプライン:2
    • ストアデータパイプライン:2
    • ストアデータのバンド幅 : 2x8B/cycle
    • マージバッファ:16キャッシュライン
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • ロード・パイプライン
    • 4ステージ構成
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • L1 Dキャッシュ
    • ライトバック・キューはどういう仕組みだろう?
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用
  • L1 Dキャッシュ
    • バンクを分割し、複数リードポートを持っている。
https://github.com/OpenXiangShan/XiangShan-doc/blob/main/tutorial/20240302-HPCA24-2-Microarchitecture.pdf より引用



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

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