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


自作CPUのVIPTキャッシュポリシ導入検討

現在の自作CPUは,キャッシュのポリシとしてPIPTを採用している. PIPTというのは,Physically Index, Physically Taggedのことで,物理アドレスを使用してキャッシュのインデックスを参照し,物理アドレスを使用したタグの比較を行う.

これのメリットは,LSU内のデータパスを,

  • PIPT : レジスタアクセス → アドレス計算 → 物理アドレスへ変換 → キャッシュアクセス

というのを,VIPTは

  • VIPT : レジスタアクセス → アドレス計算 → 物理アドレスへ変換
  • VIPT : アドレス計算 → キャッシュアクセス → 物理タグの比較

とすることで,LSU内のクリティカルパスを削減することができる.

で,単純にデータキャッシュのポートを全部このように変えればよいわけではなくて,一部はVIPT,一部はPIPTで作る必要があるように思う.

  • LSUパイプラインからのアクセス:VIPT
  • スヌープ用のポート:PIPT
  • PTW用のポート:PIPT
  • MSHRからの読み込みポート:PIPT
  • Store Bufferからの読み込みポート:PIPT

とする必要があると思う.PIPTを用意しなければならない場所は結構あって,かついくつかのポートはマージできそうな気がしているので,この辺の調整をしていけばいいのだと思う.




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

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