現代コンピュータアーキテクチャとPRF方式まとめ

本記事は作成途中というか執筆メモ及び雑翻訳です。Googleの検索エンジンさんが掘り当てない限りはこのページは見えないはず。というかとりあえず自分向けに翻訳して頭が冴えてる時の自分がいい感じに記事にします。

後輩及び友達と Reservation Station についての話が噛み合わなくて尋問したら現代コンピューターアーキテクチャの新常識を教えてもらった。いたく感動したのでここにまとめることにする。

なお話をまとめるにあたり、Australian National UniversityのShoaib Akram先生の講義資料を大いに参考にした。英語に抵抗が無いならこちらを読んだ方が早い。

https://comp.anu.edu.au/courses/comp3710-uarch/assets/lectures/week7.pdf

ARF+ROB方式

図1. 概ね正しいARF+ROB方式の構造

ARF+ROB方式の欠点

Physical Register File方式

図2. 概ね正しいPRF方式の構造

ARF+ROBとの比較

図3. ARF+ROB方式のデータフロー

図4. PRF方式のデータフロー

論理レジスタと物理レジスタ

リネーミング

リネーミングの例

load r1, 16(r2)
add r3, r1, #1
load r1, 20(r2)
sub r4, r1, #1
load r1, 16(r2)
add r3, r1, #1
load r1, 20(r2)
sub r4, r1, #1
↓
load p67, 16(p11)
add p19, p67, #1
load p27, 20(p11)
sub p28, p27, #1

アクティブリスト

アクティブリストへの操作

Architectural Map Table(AMT)

AMT は本当に必要か?

アクティブリストへの操作(with AMT)

例外と予測ミス時の対応