Click


笠原一輝のISSCC2000レポート

NECがモバイル端末向けで1GIPSを実現する技術「MP98」を発表

MP98:1GIPS、IWオンチップ並列マイクロプロセッサ
会場:San Francisco Marriott
会期:2月7~9日(現地時間)

 Transmetaが発表したモバイル向けx86プロセッサCrusoeが注目を集めているが、NECも次世代の携帯情報端末向けプロセッサとして開発を進めている「MP98」の技術発表を行なった。
 今回のこのレポートではISSCCの2日目に行なわれたNECの記者説明会におけるNEC シリコンシステム研究所システムULSI研究部長山品正勝氏と、ISSCC3日目の「NEXT GENERATION PROCESSOR」のセッション中に行なわれたNEC C&Cメディア研究所新プロセッサ研究マネージャ、西 直樹氏によるMP98に関する発表の内容からNECの目指すモバイル向けプロセッサの姿を紹介していきたい。



●時代はギガヘルツ! でも消費電力は?

 このISSCCで最も話題になっていたのは言うまでもなく、各社が発表したギガヘルツプロセッサ。第一日目のレポート「IntelはPentium III 1GHzを技術発表。AMDはAthlon 1.1GHzを公開」でもお伝えしたインテルのPentium IIIの1GHz動作に関する発表や、AMDのAthlon 1.1GHz、さらにレポートはしていないが、Compaq ComputerによるAlpha Processor、Sun MicrosystemsのUltraSPARC-III、IBMのPowerPCなど続々と1GHzのプロセッサに関する発表が行なわれている。

 しかし、これらはいずれもデスクトップPCに関するCPUばかりだ。確かに1GHzはすごいことだが携帯情報端末には使えない。例えばCompaq Computerの発表によれば、Alpha Processor 1GHzはCPUコア電圧1.65Vで消費電力は65Wに達するという。ちなみに、筆者が今原稿を書いているThinkPad 600E(2635-5AJ、Pentium II 366MHz)の裏をひっくり返して見たところ、58Wと書いてある。Alpha Processorはもともと消費電力などは全く問題とされないサーバー、ワークステーション向けに開発されているので当たり前だが、これではノートパソコンよりもさらに消費電力量にシビアな携帯情報端末に入る訳がない(Pentium III 1GHzにしてもノートパソコンに搭載できるようになるまでには、まだ1年近くはかかるだろう)。

 そうした携帯情報端末向けのプロセッサとして、画期的な考え方とともに登場したのがCrusoeだった。そして、今回紹介する「MP98」もこれまでのプロセッサの常識を覆すユニークなアプローチがとられているプロセッサだ。



●NEC独自の並列実行技術を採用したMP98

 一言で言ってしまえば、MP98には1つのチップに4つのコアを内蔵するワンチップマルチプロセッサだ。つまり、同時に4つの処理を行なうことができる。この方式のメリットは4つのプロセッサのクロックと駆動電圧を低く押さえ、消費電力を下げることが可能だということ。具体的に、MP98には2ウェイのスーパースケーラのプロセッサが4つ内蔵されており、それぞれは125MHzで動作している。これにより、わずか1Wという低消費電力で1GIPS(1秒間あたり1Gの命令を実行可能)という性能を実現している。

 確かに1つのCPUコアで命令を1つ1つ順々に処理していくよりは、複数のコアで複数の命令を同時に処理していけば処理は速いことは容易に予想できる。しかし、これまでこうした並列実行(複数の命令を同時に実行すること)があまりプロセッサの設計としてメジャーでないのには理由があった。プロセッサの内部で実行される命令には相互に依存している場合があり、そうした場合にはかえって順送りに処理した方が速い場合が多いのだ。

 その一例としてデータの相互依存の問題がある。例えば、以下のような命令をそれぞれ1クロックで処理するとしよう。

この場合、(1)と(2)は相互に依存していないので同時に行なっても大丈夫だから、複数の命令を同時に実行できるプロセッサは

という手順で実行すればよい。しかし、命令が次のような場合はどうだろうか?

この場合、(1)と(2)は相互に依存しており同時には実行できない。この場合は結局複数の命令を同時に実行できるとしても

と順送りに実行するしかない。これでは並列実行が可能であっても、結局は並列実行が不可能なプロセッサとなんらかわりがないことになる。こうしたデータの相互依存などの原因から並列実行はあまり効率がよくないとされており、ワンチップのマルチプロセッサはあまりメジャーな手法ではなかった。

 そこで、NECのMP98では「マルチスレッド並列化方式」と呼ばれる独自の方式を採用しいる。MP98ではコンパイラが、従来のスーパースケーラのCPUよりもより効率よく並列して命令を実行できるようにする。このため、従来のスーパースケーラのプロセッサが抱えていたハードウェアの複雑化という問題を回避しつつ、並列実行の効率を上げることができるのだ。



●DVD再生や音声認識などが1Wのプロセッサで可能に!

  Crusoe MP98
DVD再生時 2W 1W
アイドル時 0.9W 0.025W
スリープ時 8mW 0.2mW
 さらに、MP98では「On-Chip power switch」と呼ばれるユニークな省電力の機能も備えている。具体的にはL1キャッシュや命令実行ユニットなどの電源を段階的に切っていく機能で、チップ全体のオンオフだけでなくチップ内部のデバイス単位で省電力の管理を行なっている。このため、アイドル時には25mW、スリープモード時にはわずか200μWとなっている。NECは記者説明会で、TransmetaのCrusoeと比較した消費電力のグラフを示した。ただでさえx86互換プロセッサとしては非常に消費電力の小さいCrusoeと比較することで、MP98の消費電力がいかに小さいかがわかる。

 さて、問題はこのNECが主張する「1GIPS」(1秒間に1Gの命令を実行可能)という処理能力がどの程度であるのかということだろう。NECの西氏は自らの発表の中で、125MHzで動作するMP98の実力を330MHzのデスクトップPC相当とした(具体的な言及は無かったが、Pentium II 333MHz相当という意味だろう)。その根拠としてあげたのが、音声認識とDVD再生だ。実際にそれぞれのプロセッサに同じ音声認識の処理とDVD再生をやらせたところ、この330MHzのデスクトップPCとMP98 125MHzがほぼ同等だったというのものだ。NECによれば、このデスクトップPCのプロセッサの消費電力は5Wだったそうで、MP98がわずか1Wで同じような処理能力が実現できるのであれば、携帯情報端末などで大きなメリットがあることは言うまでもない。
 現在のMP98は技術発表の段階であり、実際の製品として登場する訳ではない。実際の製品の登場は2003年が予定されている。しかし、既にNECの研究所レベルでは実際のプロセッサとして動作しているそうで、以下のようなスペックになっている。

 現在のMP98はNECのRISCプロセッサ「V800」の命令セットに基づいており、先ほどあげた性能はこのV800の命令セットに基づいたソフトウェアを利用して計測されたものだ。なお、将来的にはV800以外の命令セットのプロセッサでこうしたMP98のようなプロセッサをつくる計画もあるそうで、現在モバイルギアなどに利用されているVR4100シリーズの発展系などに採用されることなども当然考えられるだろう。

 なお、このMP98の用途だが、NECの西氏は「現在の携帯情報端末向けのプロセッサは音声認識などのヒューマンインターフェイスを実現するには不十分なもの。このMP98の技術を利用することでそうした機能を携帯情報端末に組み込むことが可能になる」と述べた。その利用例として、同社が開発中の同時通訳ソフトなどを携帯端末で使うなどの用途を考えている。もちろん、日本で大ブレイクという感のあるiモードなどインターネットアクセスが可能な携帯電話などへの応用も検討されているが、西氏によると「携帯電話に入れるには300mAを切らないといけない。それを切るにはもう少しプロセス技術の進化などによりさらに消費電力を下げる必要がある」という。

□NECのホームページ
http://www.nec.co.jp/
□ニュースリリース
http://www.nec.co.jp/japanese/today/newsrel/0002/0702.html
□MP98 PROJECT
http://www.labs.nec.co.jp/MP98/

(2000年2月14日)

[Reported by 笠原一輝@ユービック・コンピューティング]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp