FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages

アウトオブオーダ実行の詳細を勉強する場合の資料には"Understanding the detailed Architecture of AMD's 64 bit Core"がとても良い

いろいろ訳あってCPUのアウトオブオーダ実行とか、マルチコアのキャッシュコヒーレンスの仕組みとかを勉強し直しているのだが、勉強するにあたり非常に良い資料がたくさんあるので紹介。

プロセッサアーキテクチャについて学ぶのには、もちろん教科書として「コンピュータの構成と設計(いわゆるパタヘネ)」 と、より詳細な「コンピュータアーキテクチャ 定量的アプローチ」(いわゆるヘネパタ)が存在している。

これらはアウトオブオーダプロセッサの動作概要について詳しく説明されており、また定量的アプローチとだけあって非常に多くのベンチマーク結果を載せている良書なのであるが、各アーキテクチャの実現方法については少し甘さがあると思っている(まあ、定量的ベンチマーキングのための本なので、当然である)。

より実際の設計に近いところで、どのような実装やどのような方式を取ればよいのか調べるときに、もちろんいろんな資料があるのだが、私が一番最初に勉強したのは、"Understanding the detailed Architecture of AMD's 64 bit Core" という資料である。

かなり古い資料であるが、AMDの当時の最先端の64ビットプロセッサの中身を解析し、アウトオブオーダ処理、メモリアクセス、キャッシュコヒーレンスなどの実現方法について事細かに解説してあるので、一度読んでみることをお勧めする。

Chip Architect: Detailed Architecture of AMD's Opteron

ちなみに、原作者に連絡が取れず許可をいただいていないのだが、私も向学のために日本語に翻訳してみている。 まだ日本語のつながりとか、文法とかも直訳で怪しいけれども。

github.com