FPGA開発日記

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

富岳のプロセッサA64FXのマイクロアーキテクチャマニュアルを読む(1. パイプラインの概要)

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

github.com

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


  • A64FXプロセッサの概要
    • ARMv8-AアーキテクチャのCPU。HPC向け。
    • アウトオブオーダプロセッサ
    • SVE:ベクトル長は128/256/512ビットのベクトル長をサポートする。
    • 52コアを搭載(CMG=13コア+L2キャッシュ)
      • CMGx4で合計52コアを搭載。
    • セクタ・キャッシュ
      • キャッシュをway単位で仮想的に分割する機能。
    • ハードウェア・バリア
      • プロセス・スレッド間の動機をハードウェアでサポートするための機能。
    • ハードウェア・プリフェッチ・アシスト
      • ハードウェア・プリフェッチの機能をプログラムから制御することができる機能。 f:id:msyksphinz:20200323223343p:plain

f:id:msyksphinz:20200323223749p:plain

  • A64FXプロセッサのブロック

f:id:msyksphinz:20200323224229p:plain

  • アウトオブオーダアーキテクチャ
    • A64FXの基本的パイプラインとステージ概要
    • 命令フェッチ・ステージ
    • デコード・ステージ
    • 実行ステージ
    • ロード・ストア・ステージ
    • コミット・ステージ

f:id:msyksphinz:20200323224459p:plain

  • マイクロオペレーション命令
    • 複雑な命令はマイクロオペレーションに分割される。
    • いくつかの命令の組については、1つのマイクロオペレーションにマージされる(命令フュージョン

f:id:msyksphinz:20200323224840p:plain

  • アウト・オブ・オーダー・リソース
    • コミットスタックエントリ
    • グループID
    • 汎用物理レジスタ(GPR)
    • 浮動小数点物理レジスタ(FPR)
    • Predicate物理レジスタ(PPR)
    • EAG向けのリザベーションステーション(RSA
    • EXE向けのリザベーションステーション(RSE)
    • BRanch向けのリザベーションステーション(RSBR)
    • Temporary Operand Register(TOR)
    • フェッチポート(FP)
    • ストアポート(SP)
    • ライトバッファ(WB)

f:id:msyksphinz:20200323224912p:plain

  • パイプラインステージの用語

f:id:msyksphinz:20200323225331p:plain