このページの本文へ

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

CPU黒歴史 真の4コアCPU 初代K10は高消費電力で低性能?

2011年11月07日 12時00分更新

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

  • この記事をはてなブックマークに追加
  • 本文印刷
SSEに関する改良点の説明。なぜ64bit幅だったかというと、「MMX」や「3DNow!」といった64bit SIMD命令用のユニットに、SSEを追加する形で実装したから

 次のポイントは128bit SSE動作だ。元々SSE自身は128bitの演算命令で、これにあわせてSSEレジスターも128bit幅となっている。だが、これまでは64bitの演算器を2つ組み合わせて処理していた。これを128bit幅に拡張することで、SSE命令の処理性能を改善するという話である。上の図でもわかるとおり、SSE周りの回路はおおむね倍の規模となっている。もっとも、FPUと異なりSSEではそれほど複雑な浮動小数点演算を行なうわけではないので、これによってダイサイズが大きく膨らむわけではない。

 DRAMに関しては、「Griffon」こと「Turion X2」で導入された「Independent DRAM Controllerモード」を搭載している。ほかにもメモリーコントローラー周りを再設計するとともに、バースト転送動作の高速化や、ハードウェアプリフェッチの増設などを行なっている。

「Independent DRAM Controller」についての解説。2チャンネルのDRAMを同期して動かすか、非同期で動かすかを選択できるもの。Ganged Mode/Unganged Modeなどと呼ばれることもある

 もっともこの時点でのプリフェッチとは、直前にアクセスされたアドレスを元に、プリフェッチ対象アドレスを推定するアドレスベースの技術だ。命令を解釈してプリフェッチ対象を推定する、「IPベースプリフェッチ」が搭載されるのは「Llano」までお預けとなっている。

 3次キャッシュの搭載は当初から推定されていた。だがAMDの場合、ダイサイズに占めるコアの割合が高く、また製品競争力的にインテルほどアグレッシブな価格をつけることができないため、あまりダイサイズを大きくできない。この結果、インテルが2006年に投入した「Conroe」(初代Core 2 Duo)では4MB、2007年の「Penryn」(2代目Core 2 Duo)では6MBもの共有2次キャッシュを搭載したのに対して、Barcelonaの共有3次キャッシュ容量は2MBにすぎない。

Barcelonaのキャッシュ構成。各コアの2次キャッシュを128KB~256KB程度に抑えて、3次キャッシュを4MB程度のInclusive構成にするというアイデアも試されたとは思われる。しかし2次キャッシュに手を入れると面倒なことになるという判断からか採用されなかった

 もっともこれは「2次キャッシュが512KBもあるから」とも言えるのだが、この結果として3次キャッシュを通常の「Inclusive Cache」(包括的キャッシュ)にすると効果がないので(下手をすると各コアの2次キャッシュのコピーで終わる)、3次キャッシュもまた「Exclusive Cache」(排他的キャッシュ)構成となることが明らかにされた(キャッシュについての関連記事はこちら)。

 最後の仮想化での目玉は「Nested Paging」と呼ばれる技法である。仮想化環境の上で複数の仮想OSが動いているというケースでは、ページアクセスに際して2回のアドレス変換が必要になる。

仮想OS上の仮想アドレス→実マシン上の仮想アドレス→実マシン上の物理アドレス
「Nested Paging」に関する解説。インテルもNehalemの世代で、「EPT」(Extended Page Table)という名称でこれをサポートした

 「実マシン上の仮想アドレス→実マシン上の物理アドレス」の変換は、CPU内部のMMU(メモリー管理ユニット)というハードウェアが処理する。この際に、MMU用のキャッシュとして働くのが「TLB」(Translation Lookaside Buffer)で、うまくTLBがヒットすれば非常に高速に変換される。問題は「仮想OS上の仮想アドレス→実マシン上の仮想アドレス」の変換だ。当初はこれをすべてソフトウェアで実現していたために、大変処理が遅かった。

 これを改善するのがNested Pageだ。「仮想OS上の仮想アドレス→実マシン上の仮想アドレス」の変換もMMUでまとめて扱えるようになり、これにあわせてTLBの構造も拡張されている。このNested Pageという技法そのものは、2005年の「Pacifica」(AMD-Vの開発コード名)発表の際にすでに明らかにされていたが、実装はBarcelonaでようやく実現された。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

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

ピックアップ

ASCII.jp RSS2.0 配信中

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