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」に引き渡していたわけだ。
この連載の記事
-
第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 -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ