組み込み向け「x86」の現状に迫る(2/4 ページ)
パソコン向けとして広く認知されてきたx86系プロセッサ。これが、最近では組み込み機器においても検討の俎上に載るようになってきている。実際、Intel社やAMD社、VIA社らは、組み込み機器をターゲットとしたx86系製品をいくつも提供している。本稿では、この3社の過去、現在、そして将来の動向を基に、組み込み分野におけるx86系プロセッサの可能性を探ってみたい。
Intel社の停滞、そして再興
パソコン産業における企業の浮き沈みは非常に激しい。Intel社がわずか5年の間に経験した盛衰は、その一例である。
Intel社は2000年代初めに、マイクロプロセッサ製品のアーキテクチャを一新した。同社のプロセッサ「Itanium」を除き、サーバーからノート型パソコンまでのすべてのプロセッサにマイクロアーキテクチャ「NetBurst」を採用したのである(別掲記事『本稿に登場するプロジェクト/製品の最新情報』を参照)。
NetBurstは長大なパイプラインを持つことを特徴としていた。初期の製品である180nmプロセスのコア「Willamette」では20段、終期の製品である90nmプロセスの「Prescott」や65nmプロセスの「Cedar Mill」に至っては31段もある(以下、製品名は基本的に開発コード名で記す)。このようなパイプラインにより、マルチメディア命令のストリームといった条件分岐命令の予測が容易なコードに対しては性能が高くなる。ただし、パイプラインを長くするとクロック当たりの命令処理数(IPC:instructions per clock)自体は低くなってしまう。さらに、条件分岐命令の予測を誤ったときのペナルティが非常に大きく、一般的なプログラムコードの場合にはNetBurstの処理性能はあまり上がらなかった。
この弱点を補うためにIntel社はパイプラインの動作周波数を上げたのだが、90nmプロセスでリーク電流の増大という深刻な問題に直面した。NetBurstが目標としたクロック周波数は最大10GHzだったが、実際には3.8GHzにとどまってしまった。
Intel社が巻き返すのは2003年春からである。ノート型パソコン用のアーキテクチャである「Pentium M」を実装したコア「Banias」を発表したのだ*1)。Banias製品は130nmプロセスで製造された。続いて2次(L2)キャッシュ容量を拡大した90nmプロセスの「Dothan」、共有2次キャッシュを内蔵した65nmプロセスのデュアルコア「Yonah」を相次いで発表した*2)。
Pentium Mは、Pentium IIIの実行ユニットを継承/拡張し、それにPentium 4のバスインターフェースを組み合わせたものだった。それにより、一般的なプログラムコードに対するクロック当たりの処理性能はNetBurstよりも高くなり、消費電力は少なくなった。
なお、Yonah世代のプロセッサにはPentium Mではなく、「Core」というブランド名が与えられた。このことは、ブランド名とアーキテクチャの関連をやや紛らわしいものにしてしまった。新しいマイクロアーキテクチャであるCoreを採用した65nmプロセスのプロセッサコア「Merom」と「Conroe」は、ノート型パソコンからサーバーまでをカバーし、「Core 2」というブランド名が与えられた。
Intel社は、マイクロプロセッサ開発では「tick-tock(チックタック)」と呼ぶ戦略を採用し続けてきた。微細化した製造プロセスを新たに採用するときにはマイクロアーキテクチャの変更はあまり実施せず(tickのフェーズ)、次に同じ製造プロセスでマイクロアーキテクチャを変更する(tockのフェーズ)という手法である。tickとtockの間には、およそ1年のタイムラグがある。
65nmプロセスから45nmプロセスへの移行では、マイクロアーキテクチャはCoreのままで微細化を施したコア「Penryn」をtickフェーズとして開発し、現在の45nmプロセッサ製品に展開している。そして、45nmプロセスでマイクロアーキテクチャを変更したコア「Nehalem」がtockフェーズに相当し、2008年中に製造を始める計画である。
Nehalemのベンチマーク結果は良好で、さしたる欠点は見当たらない。標準でDRAMコントローラを搭載するほか、高速インターコネクトの「QuickPath Interconnect(QPI)」を実装する。QPIは、米AMD(Advanced Micro Devices)社が2001年に開発した高速インターコネクト技術「HyperTransport」と類似した概念に基づく。HyperTransportは同一チップ内のCPUコア間、マルチモジュールのCPUチップ間、個々にパッケージ封止されたCPU間の通信に利用された。
NehalemがDRAMコントローラを内蔵することも、AMD社が2003年に開発した「Athlon 64」と「Opteron K8(Hammer)」でDRAMコントローラを内蔵したことに似ている。NehalemはDRAMコントローラを内蔵したことにより、キャッシュミスによって外部のDRAMへのアクセスが必要になったときの遅延を短くした。
45nmプロセスでは、膨大な数のトランジスタを1チップに内蔵できる。このため2〜8個といった複数のCPUコアを搭載できる。45nm世代で6コアの「Dunnington」では、2つのコアが2次キャッシュを共有し、6つのコアすべてが3次キャッシュを共有する構成となる。
「Atom」で攻勢――Intel社
ここからは、代表的なx86系プロセッサベンダーの最新の動向を順に紹介していく。まずはIntel社からである。
言うまでもなく、45nmプロセスのような微細プロセスの1つの特徴は、膨大な数のトランジスタを1チップに内蔵できることである。しかし、視点を変えると、微細プロセスにはもう1つの活用方法も考えられる。すなわち、そこそこの数量のトランジスタをごく小さなサイズのチップに集積することである(写真1)。
写真1 45nm技術で製造する2種類のマイクロプロセッサ Intel社は、45nmプロセスによって、膨大なトランジスタを内蔵するチップと、トランジスタ数がそれほど多くなく非常にサイズが小さいチップの両方を提供した。(a)のDunningtonは前者の例であり、6個のCPUコアと3次キャッシュを内蔵する。(b)のAtomは後者の例で、低消費電力化が図られている。
後者の考え方に基づいたものが、Intel社が2008年4月の開発者会議『IDF(Intel Developer Forum)』で正式に発表したプロセッサ「Atom」だ*3)。これは、以前「Silverthorne」と呼ばれていたものである。またSilverthorneとコンパニオンチップを組み合わせたプラットフォーム「Menlow」には、「Centrino Atom」という名前が与えられた。
Atomの最初の製品には、動作周波数やFSB(front side bus)周波数などの異なる5種類のバージョンが存在する。最大動作周波数は1.86GHz/1.60GHz/1.33GHz/1.10GHz/0.80GHzである。TDP(thermal design power:熱設計電力)はそれぞれ2.4W/2.0W/2.0W/2.0W/0.65W。
SCH(system controller hub)の「Polusbo」には、3種類のバージョンが存在する。ノースブリッジとサウスブリッジを1チップにまとめたもので、3次元GPU(グラフィックス処理ユニット)にはハードウエアで実現した高品位ビデオデコードエンジンを内蔵し、また高品位オーディオ処理に対応する。外部インターフェースとしてはPCI(peripheral component interconnect) Express、USB、SDIO(secure digital input/output)をサポートする。Intel社は、製品寿命の長い組み込みシステムを念頭に、少なくとも7年間の製品サポートを保証している。
今後はノート型/デスクトップ型パソコン向けのものとして、デュアルコア版のAtomが登場するだろう。また、Menlowに比べて消費電力を大幅に下げたプラットフォーム「Moorestown」が2009年には発表される見込みだ。
なお、付け加えておくとAtomは、Intel社が開発中のx86系GPU「Larrabee」から派生したCPUチップである。Larrabeeでは16個を超えるx86系CPUコアを1チップに組み込もうとしており、非常に小さなCPUコアを設計することにした。Larrabeeの構成要素であるその小さなCPUコアをベースとしてCPUチップ製品を開発/販売することで、開発投資に対する回収を最大化しようと目論んでいる。
本稿に登場するプロジェクト/製品の最新情報
本稿には、プロセッサに関するプロジェクトや製品名が数多く登場する。ただし、その詳細についてはほとんど触れていない。詳細を省略した主な理由は次の2つである。1つは、紙幅が限られているため、製品の具体的な細部よりも、ベンダー、アーキテクチャ、製品ラインの解説に重きを置いたことだ。2つ目は、本稿で触れた製品の多くは量産前の段階にあるため、本稿執筆時点(2008年5月)では、仕様の詳細が明らかになっていないものが多かったことである。筆者が詳細な仕様を記述したとしても、その情報は古くなってしまう恐れがあったのであえて触れなかった。
米EDN誌のウェブサイト(http://www.edn.com/)では、本稿の内容を補う最新情報を数多く掲載している。特に、筆者のブログ「Brian's Brain」では、名前が「Embedded x86」で始まる記事において、組み込み向けx86プロセッサに関する情報を提供しているのでチェックしてみていただきたい。
脚注
※1…Dipert, Brian,“And then there was one: one more time,”EDN, April 29, 2004, p.29
※2…Dipert, Brian,“Double take: Reassessing x86 CPUs in embedded-system applica
tions,”EDN, April 27, 2006, p.69
※3…Dipert, Brian,“The Intel Developer Forum: ARM-wrestling,”EDN, Sept 21, 2007
Copyright © ITmedia, Inc. All Rights Reserved.