このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情第164回

インテルCPUの進化 効率と省電力を実現したPentium M

2012年08月13日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷
P6アーキテクチャーをベースに低消費電力性能を重視して改良を加えた「Banias」こと「Pentium M」

 CPUの進化をアーキテクチャーの変化から見ていく本企画。前回は現在まで続く基盤となった「P6」アーキテクチャーについて解説した。今回はその続きということで、「Banias」こと「Pentium M」の構造について説明したい。

Baniasで新導入された
「MicroOps Fusion」とはなにか?

図1 Baniasの内部構造図

 Baniasそのもの(および後継の「Yonah」)の内部構造は、いまだに詳細がインテルから発表されていない。しかし、いろいろとヒントは出ているので、それらをベースに作成したのが図1である。まずBaniasのパイプライン構造そのものは、P6(図2)と基本的に同じである。

Baniasのダイ写真

 パイプライン段数は10ステージで、このうちアウトオブオーダーで実行されるのは3ステージのみ。フェッチとデコード(IF1~DEC3)が合計5ステージ、Register Alias Table(RAT)とRe-order Buffer(ROB)で各1ステージという計算である。またここには入れてないが、Retirement(後処理)が2ステージというのも、P6と同じである。

図2 こちらは前回掲載のPentium Proの内部構造図。Baniasでも構造は大きく変わっていないのがわかる

 それでは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」に引き渡していたわけだ。

前へ 1 2 3 4 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン