前回まではインテルとAMDのプロセス技術からCPUを見てみた。今回からはCPUアーキテクチャーの変化について、その内部構造の変化を見ながら解説していく。インテルCPUの場合、「P6」アーキテクチャーが現在まで続く、CPUアーキテクチャーの基本となっている。つまり、P6アーキテクチャーから順にたどっていくと、インテルCPUの進化を俯瞰できるというわけだ。それではP6アーキテクチャーについて解説しよう。
P6アーキテクチャーの処理パイプライン
まず図1は、P6アーキテクチャーの初代である「Pentium Pro」の内部構造である。この内部構造そのものは、Pentium IIIまでほぼ変わらず継承された。内部的に大きな変更点は、Pentium IIでの「MMX」命令への対応と、Pentium IIIでの「SSE」命令への対応ぐらいだ。
これらに対応するために、Pentium II以降では実行ステージ(Ex、Execute)に「SIMD 0」「SIMD 1」が追加されたほか、フェッチ~デコード(IF1~DEC3)でMMX/SSEを扱えるようになった。Pentium IIIではSSEレジスタが新規で追加になったが、この程度の変化でしかない。これについてはまた後で触れることにする。
一般にP6アーキテクチャーは、「10ステージのアウトオブオーダー」パイプラインとして認識されているが、実はこのほかに(図1には入れていないが)2ステージの「Retirement」※1という処理があり、実際には計12ステージになる。また、パイプライン全体のうちアウトオブオーダーで動作しているのは、「Ready/Scheduler」(Rdy/Sch)から実行ステージまでの3ステージに過ぎず、「Instruction Cache Lookup」(IF1)~「Register Alias Table」(RAT)やRetirementは、いずれもインオーダーで動作している。さらに、IF1の前にある「Next IP」というステージは、通常ではパイプラインの中に加味しないため、これも取り込むと13ステージという計算になる。
※1 実行結果をレジスタに書き戻したり、ステータスレジスタの値を更新したり、といった後処理。
各ステージで何をやっているかを、もう少し細かく説明しよう。まずNext IPだが、これは「次の命令はメモリー中のどこから開始されるか」を計算するものだ。IPとはInstruction Pointer(命令ポインタ)と呼ばれるもので、「現在実行中の命令が置かれているメモリーアドレス」を示す。
x86の場合、それぞれの命令や命令の前に付くプリフィックスによって、命令の長さが変わる「可変長命令」方式を採用している。例えば、今の命令がアドレス「0x00001000H」にあったとして、「次の命令はどのアドレスか?」は条件によって異なる。そのため次の命令の位置を計算しないと、命令を正しく取り込めないことになる。この計算をするのがNext IPというわけだ。
もっとも実際にはP6の場合、1サイクルあたり複数個の命令を取り込むことになる。だから厳密にはNext IPが計算するのは「次の命令」というよりも、「今読み込み終わっている複数個の命令の『次』の命令」になる。図2は毎回8byteずつ読み込んだ場合の例だが、左側で星マークがついている部分が「Next IP」に相当する場所になる。次の命令のアドレスが特定できたら、それをベースにキャッシュから命令を読み込んで(フェッチ)それぞれ並べる。ここまでの作業をIF1~IF3のステージで行なっている。
この連載の記事
-
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ