2012年春に英ARM社が発表した極小の32ビットCPUコア「Cortex-M0+」がじわりと、そして確実に浸透し始めています。過去には何度もCPUの32ビット化が叫ばれ、8ビットや16ビットを駆逐すると言われてきました。しかし、圧倒的な32ビットだけの時代はいまだに訪れていません。大手半導体メーカー各社は自前の8ビット品や16ビット品を持ち、それらがまだ大きな市場を保っているからです。

 代表的な8ビット品や16ビット品には確固たるユーザー実績があり、それらを別チップに置き換える差し迫った理由も存在していません。筆者はまだ当分の間、8ビットと16ビット、32ビットのチップは共存すると見ています。ただし、それはあくまでも既存事業の範囲内でのかなり“保守的な意味”での共存です。

 図1に、EDA360 Insiderが発表したコントローラのビット別の市場動向を示しました。32ビットは2012年に、他のビット構成を抜いて初めて首位となりました。コントローラの世界で最初に32ビット化が実現されたのは1990年代ですので、首位になるまでに実に15~20年を要していることになります。

図1●EDA360 Insiderによるコントローラのビット別の市場動向
[画像のクリックで拡大表示]

 この間、各社から実に多くのオリジナル32ビットCPUが発表されました。あまりにも種類が多いので詳細は書けませんが、半導体メーカーの数だけ32ビットCPUの種類があった。1990年代はそう言えるような状況でした。新しいチップの“創世記”に特有といえる「雨後のたけのこ」状態だったわけです。筆者自身も当時、32ビットCPUの開発に携わっていましたが、毎年のように少しずつ進化をさせながら、似たようなCPUをひたすら作り続けました。

論理合成によるCPU設計が主流に

 2000年代を迎え、二つの大きな変化が訪れます。一つは、シンセサイザブルなCPUの誕生です。従来は機能を一つ一つゲートに落としこんで、手設計でCPUを設計していました。これに対しシンセサイザブルCPUでは、機能をRTL記述し、論理合成と呼ばれる方法でほぼ全自動でゲートを作れるようになりました。

 これに伴い、CPUも自動で配置設計するようになりました。それまでは、クリティカルパスを常時にらみつつ、性能と速度を調整し、手で配置したり、細かいチューニングを幾度も繰り返したりといった“職人技”が求められました。それがほぼコンピュータ上の処理だけで解決してしまう時代が来たわけです。

 いまだに手設計で性能を作りこんでいる半導体メーカーは数多く存在します。米Intel社や米Qualcomm社(SnapdragonシリーズのCPUの一部)、米AMD社、さらには米Apple社などがそれに該当します。2013年に発表された手設計によるチップを図2に3例ほど示します。これらのチップは、単にコンピュータが吐き出す以上の性能を持っている。だからこそ、骨の折れる設計手法を維持しているわけです。

図2●手設計が使われた代表的なアプリケーション・プロセサ
[画像のクリックで拡大表示]

「チップ面積をどう使うか」が大きな課題に

 第2の変化は、より大きな変化でした。コスト、さらには消費電力と密接に関係する「チップ面積」がこれまで以上にシビアなファクタとして注目されるようになったことです。

 CPUの面積はそれまでも非常に重大な問題の一つではありました。しかし、設計ルールが当時は緩く、多くの回路を1チップに集積することができなかったという事情もあり、CPUにほんの少々回路を加えただけでチップが完成しました。CPU性能の価値が、チップ面積の価値を大きく上回っていたわけです。

 Intel社の「Atom」を例にとると、初代チップ「Z270」は45nm世代技術で製造されており、実にチップ面積の60%をCPUが占めていました。ところが2013年9月に発表された最新版チップ「Bay Trail」では、22nm世代技術が使われ、CPUコア1個当たりの面積はチップ全体のわずか4%程度にまで比率が低下しています。

 60%を占めていたものが、4%にまで減ってしまう。こうした状況が、Intel社のみならず、ここにきて多くの半導体メーカーに一挙に訪れたのです。このことが意味するのは、CPU性能よりもチップ面積の方が大きな価値を持つという、“価値の大転換”に他なりません。“CPUはチップの一部品に過ぎなくなった”というわけです。

 こうした状況は、半導体メーカーにとっても厄介な問題を引き起こします。同じ機能のままチップ面積を1/10以下にしてしまうと、最終的なチップ面積も小さくなってしまう。小さくなったことで原価を下げて従来と同じ価格で売れるのならばいいのですが、実はそうはいかないのです。

 まず、チップ面積が小さくなりすぎることで、パッケージが複雑になり、かえってコストが高くなってしまうという現象が起こります。例えば100ピンで10mm角ならば単純計算では一辺当たり25ピンで、ピン当たり400μmの幅を確保できます。しかしこれが同じ構造のまま3mm角になると、ピン当たりの幅は120μmになります。さらに1mm角になれば40μmの幅しか確保できなくなります。従来はワイヤー接続できていたものが、パッケージの構造を変えたり、バンプ実装をしたりしなければならない事態に陥るのです。

 せっかくチップ面積を小さくしたのに別のコストがかさんでしまうという、本末転倒した状態をどのように回避するか。多くのメーカーは、チップ面積を小さくするよりも、新たなIPを追加したりCPU搭載個数を増やしたりするといった、新規の機能を加えることでチップ面積を維持しています。