CPUの進化をアーキテクチャーの変化から見ていく本企画。前回は現在まで続く基盤となった「P6」アーキテクチャーについて解説した。今回はその続きということで、「Banias」こと「Pentium M」の構造について説明したい。
Baniasで新導入された
「MicroOps Fusion」とはなにか?
Baniasそのもの(および後継の「Yonah」)の内部構造は、いまだに詳細がインテルから発表されていない。しかし、いろいろとヒントは出ているので、それらをベースに作成したのが図1である。まずBaniasのパイプライン構造そのものは、P6(図2)と基本的に同じである。
パイプライン段数は10ステージで、このうちアウトオブオーダーで実行されるのは3ステージのみ。フェッチとデコード(IF1~DEC3)が合計5ステージ、Register Alias Table(RAT)とRe-order Buffer(ROB)で各1ステージという計算である。またここには入れてないが、Retirement(後処理)が2ステージというのも、P6と同じである。
それではP6からBaniasで何が変わったのか? ひとつは「MicroOps Fusion」で、もうひとつは「クロックゲーティング」の搭載である。細かいところでは、ディスパッチ段でPort 0とPort 1に接続される実行ユニットが、多少拡充されているといった違いもあるが、あまり大きな差ではないだろう。まずはMicroOps Fusionについて説明しよう。
MicroOps Fusionを端的に言えば、P6で導入された「μOps」の拡充である。前回では、「メモリーにある2つのデータを加算する場合は、内部のμOpが3命令になる」という説明をした(関連記事)。今回は「レジスタ+メモリーのデータ」という演算の例を元に説明しよう。x86 CPUではしばしば、以下のような命令が使われる。
- add eax, dword ptr data
この命令は「EAX」レジスタの内容と、「data」で示されるメモリーアドレスにあるデータを加算して、その結果をEAXレジスタに入れるという処理になる。これを素直にμOpにすると、以下の2つのμOpに分解される。
- ①load Rxxx dword ptr data
- dataで示されるアドレスの内容を、内部レジスタRxxxにロード
- ②add EAX, Rxxx
- EAXレジスタとRxxxレジスタの内容を加算して、EAXレジスタに書き戻す
μOpsへの変換作業を行なうのは「DEC2」の部分なので、P6までは2つのμOpsを「DEC3」に引き渡していたわけだ。
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 - この連載の一覧へ