このページの本文へ

前へ 1 2 3 次へ

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

インテルCPU進化論 パイプラインで見るAtomの利点と限界

2012年10月25日 12時00分更新

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

  • この記事をはてなブックマークに追加
  • 本文印刷
初代のAtom「Atom Z500」

 パイプラインからインテルCPUの進化を読み解くこのシリーズ、最後はインテルの「Atom」プロセッサーで締めくくりとしたい。

省電力でそこそのパフォーマンス
ワンチップ化も見据えてAtomを開発

Atomのパイプライン構造図

 Atomは2007年頃から、「Silverthorne」のコード名で知られていたプロセッサである。正確な開発開始の時期は明らかにされていないが、Atomの内部構造はインテルのほかのプロセッサーとまったく異なっている。「Pentium 4」の「Netburst Architecture」と同様にフルスクラッチから開発されたと思われるので、開発開始は恐らく、2002~2003年あたりと推測される。

 そのAtomだが、基本的なターゲットは「数WのTDPで動作する高効率なx86をいかに作るか」であった。完成の暁には、幅広いモバイル分野や組み込み向けなど、これまでインテルのx86プロセッサーでは消費電力、実装サイズ、コストなどの観点から参入できなかったマーケットを、開拓するものと期待された。

 ようするに、単に「消費電力を下げたx86」というのであれば、「Banias」(Pentium M)や「Dothan」(Baniasの改良版)を思いっきり低動作周波数/低消費電力で動作させるだけでもいい。だが、これでは性能面では十分ではないし、ダイサイズもそれなりに大きいためコストも高くつく。おまけにBanias/DothanはCPUとキャッシュのみだから、メモリーコントローラーを含む一式を外部に接続する必要がある。

 インテルとしては、将来的にこれらすべてをワンチップ化することを考えており、こうした理由からPentium Mとはまったく異なるアーキテクチャーを新規に開発する必要があった。また、そのチャンスでもあると考えたようだ。

ハイパースレッディングにより
パイプラインストールを削減するAtom

 そうした動機から生まれたAtomであるが、この結果として採用されたアーキテクチャーは、以下のような特徴を備えていた。

  • 完全インオーダーのパイプライン。実行は2命令同時実行
  • 実行ユニットの効率向上は、ハイパースレッディングテクノロジーにより対応
  • デコード段でμOpに変換する方式は引き続き採用。これと合わせてMacro Fusionも採用

 Atomのパイプライン段数は16段とかなり長めであるが、これは命令パイプラインを「ストールフリー」にした関係もある。ここで言うストールフリーとは、パイプライン処理が途中で滞らないような仕組みを指す。具体的に言えば、命令を処理する際に必要なデータがキャッシュミスなどで迅速に取り込めず、パイプラインが無駄に待機するような処理をなるべく減らすようにしている。

 ここで役に立つのが、ハイパースレッディングである。あるスレッド(スレッドA)の処理の実行中に、データがキャッシュミスを起こした場合、ただちにもうひとつのスレッド(スレッドB)に処理を移す。そしてスレッドBが処理中に、スレッドAが必要とするデータがキャッシュに取り込まれたら、再びスレッドAの処理を再開するという仕組みだ。

 先の「Atomの特徴」では、ハイパースレッディングの目的に「実行ユニットの効率向上」を掲げた。そういう側面も実際あるのだが、元々AtomではDispatch(命令発行)が2ポートしかないので、ハイパースレッディングがないと効率が低い、というシーンは多くない。パイプラインストールをなるべく減らすという目的こそが、ハイパースレッディングの主目的である。

前へ 1 2 3 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

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

ピックアップ

ASCII.jp RSS2.0 配信中

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