連載
» 2008年08月25日 11時00分 UPDATE

元麻布春男のWatchTower:Silverthorneはどこに行くのか (1/2)

IDF 2008のメインテーマはNehalemだったが、もう1つの主役はAtom。ビジネスとして多く語られるのは“NetbookのCPU”だが、最初は“MIDのCPU”が注目されていたはずだ。

[元麻布春男,ITmedia]

1%の性能向上で許されるのは1%以下の電力上昇

kn_motoatom_01.jpg インテルが考えたAtomの開発方針。性能向上のための機能追加も電力効率を重視して選定されている

 5〜6万円程度という手ごろな価格帯で人気のミニノートPCで、広く使われているのがインテルのAtomだ。元々、このCPUは、インテルがMID(Mobile Internet Device)と呼ぶ、インターネット接続を前提とした携帯機器を中心に、「携帯電話以上ノートPC未満」のデバイスに用いる組み込みCPUとして開発された。そのフォーカスは、まず低消費電力であること、そして消費電力あたりの性能が良好であることだったという。もちろん、組み込み用途でも十分に使えるだけの性能を確保する必要があるが、絶対性能を重視して開発されたCPUではない。

 Atomは、この方針を前提にマイクロアーキテクチャレベルからまったく新規に開発された。これは、開発が、既存(=P6)のマイクロアーキテクチャを簡素化することからスタートしたものの、早い段階で専用のマイクロアーキテクチャを用意する必要性が判明したためとされている。

 マイクロアーキテクチャの開発は、「1命令発行、順次実行(in order)」というシンプルなパイプラインからスタートし、そこに性能を強化する機能を追加していくというアプローチをとった。ただし、1%の性能向上をもたらす機能の追加で増加する消費電力は1%以下という制限を設けることで、電力効率に優れた性能を実現した。最終的にAtomは、2命令の同時実行が可能な(2本のパイプラインを持つ)in orderコアとなっている。

 in orderパイプラインを採用した理由は、out of order実行(ダイナミックエグゼキューション)で必要となる複雑さ、スケジューリング、レジスタリネーミングなどを回避できるほか、分岐予測も簡素化できるからだ。分岐予測は、out of order実行を行うことで、ドミノ的に複雑さを増し、これが消費電力を押し上げる。out order実行を選択しないことで、トランジスタ数を抑え(これは組み込み用CPUに不可欠な低価格を実現するために重要だ)、消費電力の増大を防ぐ。out of order実行をあきらめることは、性能の低下にむすびつくわけだが、Atomの開発ではそれには目をつぶることなく、効率的な別のアプローチでの性能向上を図ることを選んだ。

20%の電力上昇で40%の性能向上を実現したAtom

kn_motoatom_02.jpg Atomでは、SMT技術を採用して性能向上と消費電力の上昇を両立させている

 例えば、Core MicroArchitectureに採用されたMacro-OPs Fusionのサポートも、効率的に処理性能を向上させる1つの方法だ。通常なら別々のマイクロ命令で処理される演算とロードを1つのマイクロ命令として扱う。これがAtomでも可能になっている。これによりデコーダの処理効率が向上する。Atomは内部に2つのパイプラインを持つが、片方はロードやストアなどのシンプル命令の実行が主体となる。演算とロードを1セットに扱うことで、2つのパイプラインが確実に並行動作する。

 効率的な性能向上という点では、SMT(Simultaneous Multi-Threading)技術の採用も挙げられる。Pentium 4に採用されたハイパースレッディングで知られるSMTは、1つのコアに複数のArchitecture State(レジスタやAPICなど)を用意することで、1つの物理コアを複数の論理コアに見せかける技術だ。

 どんなCPUであろうと、キャッシュミスや分岐予測の失敗などで、ストールすることがある。SMTを用いることで、ストールのためにアイドル状態にある実行ユニットを活用できるようになる。SMTを利用することで、アイドル状態が減り、消費電力は上昇するが、性能も上がる。とはいえ、インテルによると、AtomではSMTによる性能向上が40%近いのに対し、それによる消費電力の向上は20%に満たないため、トータルで処理効率は向上することになる。

 ほかに、性能を向上させる方策としては、高い動作クロックの実現が上げられる。Atomのパイプラインは16段で、Core MicroArchitectureの14段を上回る。そのおかげもあって、Atomは2.4ワットという極めて低いTDPでありながら、動作クロックは最大で1.86GHz(Atom Z540)にも達する。

 こうした効率的な性能向上を図る一方で、バッサリと切り捨てた部分もある。それが、Atomにおける浮動小数点演算能力だ。ハードウェアとして実装されているのは単精度のみで、倍精度はソフトウェアで処理される。その理由は、Atomの用途(インターネット接続を前提とした携帯機器)では倍精度が必要となることはほとんどないからだ。不要なユニットを実装することは、無駄にトランジスタを消費することになり、それは消費電力とコストの上昇を招く。

 消費電力の削減という点では、インテルがこれまで開発してきたモバイル向けCPUと同様に、ダイ上の必要な部分にだけ通電するゲーティングが積極的に行われている。バスやSIMDユニットも、必要とされる部分だけアクティブにするなど、省電力対策は徹底している。必要あれば、IPCを落として消費電力を下げることもできるという。ほかにもCore 2 Duoで採用されているC6ステート(Intel Deep Power Down Technology)も採用されている(ただし、MID用のZ5xxシリーズのみ。Netbook用のN270はC4ステートまで、Nettop用の230はC0/C1のみサポート)。

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.