FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

富岳のプロセッサA64FXのマイクロアーキテクチャマニュアルを読む(8. データプリフェッチ)

スーパコンピュータ富岳のプロセッサA64FXに関するマイクロアーキテクチャが公開されている。こういう情報はあまり出てくることが無いので、とてもありがたい。

github.com

せっかくなのでまとめていく。最初は勉強のためにPowerPointにまとめていたのだが、資料を切り貼りしながらブログに乗せていくことにした。


  • 11. データプリフェッチ
    • プリフェッチには以下の5種類がある。
      • ソフトウェア・プリフェッチ
      • ハードウェア・プリフェッチ
    • その他用語
      • デマンドアクセス
      • プリフェッチアクセス
      • デマンドフロー
      • プリフェッチフロー
f:id:msyksphinz:20200330010817p:plain
  • プリフェッチの概要
    • すべてのロード・ストアアクセスはデマンドアクセスとして取り扱われる。
    • ソフトウェアプリフェッチ : パイプラインアクセスが必要。
    • ハードウェアプリフェッチはパイプライン上での動作が不要となる。
    • プリフェッチの用語「ディスタンス」
      • プリフェッチが実行させる時間から、そのデータが本当に必要な時間までのタイミング。
f:id:msyksphinz:20200330011131p:plain
  • プリフェッチアクセスの信頼性
    • プリフェッチの「信頼性」として2種類存在する。
      • "Strong"属性:ハードウェアはそのプリフェッチを必ず完了させようとする。
      • "Weak"属性:プリフェッチのリクエストは、ハードウェア資源の状態によっては中止される可能性がある。
f:id:msyksphinz:20200330011342p:plain
  • ソフトウェアプリフェッチ
    • 命令によって実行されるプリフェッチ。
      • ARMv8の命令によるもの
      • SVEプリフェッチ命令
      • SVE Gatherプリフェッチ命令
f:id:msyksphinz:20200330011438p:plain
  • ソフトウェアプリフェッチの属性 -命令のフィールドにより属性を切り替えることが可能。
f:id:msyksphinz:20200330011614p:plain
  • ハードウェアプリフェッチ
    • 以下の2種類が存在する。
    • ストリーム検出モード
    • プリフェッチ挿入モード
f:id:msyksphinz:20200330011719p:plain
  • ストリーム検出モードの動作概要。
f:id:msyksphinz:20200330011750p:plain
  • プリフェッチ挿入モード
    • 制御レジスタにより条件によってプリフェッチの発生を行う。
f:id:msyksphinz:20200330011843p:plain
  • ハードウェアプリフェッチのアシストメカニズム
f:id:msyksphinz:20200330011912p:plain