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」に引き渡していたわけだ。
この連載の記事
-
第774回
PC
日本の半導体メーカーが開発協力に名乗りを上げた次世代Esperanto ET-SoC AIプロセッサーの昨今 -
第773回
PC
Sound Blasterが普及に大きく貢献したGame Port 消え去ったI/F史 -
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第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ロードマップ - この連載の一覧へ