1カ月集中講座
IoTの波に乗るマイコン事情 第3回
~ARMのライバル「MIPS」、「PowerPC」、「x86」
(2015/1/22 06:00)
前回はMCU全般+ARMにフォーカスして説明したので、今回と次回は「それ以外」の話を紹介して見たい。まずは、長らくARMの対抗馬として位置付けられてきた「MIPS」の話である。
MIPSもARMに負けないくらい長い歴史を持つ。もともとは米スタンフォード大のJohn Hennessy教授が、RISCプロセッサの研究の一環としてこれを実装したプロセッサを製造するMIPS Computer Systems Inc.を1984年に設立したところから始まる。同教授はCPUアーキテクチャの教科書とも言える“ヘネパタ本”(参考:Amazon.co.jpの販売ページ)の著者でもあり、現スタンフォード大学長でもある。
同社はファブレスのCPUメーカーとして、まず「R2000」、「R3000」という32bit RISCプロセッサを製造。次いで、64bitに移って1991年に「R4000」シリーズを発表した。細かく書くと、「R2000」、「R3000」の後継として拡張した命令セット(MIPS II)をサポートし、ECLを利用して高速動作を可能にした「R6000」シリーズを1989年に出しているほか、64bitでは(これも命令を拡張したMIPS IVを搭載した)「R8000」シリーズを1992年に出荷している。
ただ、この辺りはかなり入り乱れている。同社はファブレスだから、量産は他社に任せることになる。この結果、R3000はIDT、LSI Logic、NECエレクトロニクス、Performance Semiconductor、Philips Semiconductorなど、さまざまなメーカーが手がけている。各社とも少しずつ工夫して性能を改善したり機能を強化したりした結果、単純にR3000といってもどこのメーカーの製造した製品かでスペックが微妙に異なることになった。これは64bitのMIPS IVでは、さらにひどくなっている。MIPS IVではMIPS Computer自身が設計したR8000以外に、アーキテクチャライセンスをリリースしてQED(Quantum Effect Design)が設計を行なった「R5000」、MIPS Computer自身が設計したものの、あまり広範に利用されなかった「R10000」やその派生型などが混在しており、R3000の頃よりも混乱しているのだが、それは本題ではない。
この頃のMIPS Computerは、ワークステーションからハイエンドサーバーまでの市場を狙っていたから組み込みとは無縁である。ただその後、同社は経営的に立ち行かなくなってSGIに買収され、同社のシステム向けにプロセッサの設計・製造を行なっていたが、今度はSGI自身の経営が怪しくなってきたことを受け、1998年に社名をMIPS Technologiesに改め、再び独立する。この際同社は戦略を一新。従来の「プロセッサを販売する」ビジネスから、「プロセッサのIPを販売する」ビジネスに切り替えることでARMと同じ土俵に立った。1998年と言えば、ARMはやっとARM9をリリースした程度で、PDAなどには十分な性能ではあっても、それ以上のものではなかったので、ARMよりも高性能なコアをIPの形で提供すればビジネスが成立すると考えたのであろう。
新たに「MIPS32」と「MIPS64」という形で命令セットを定義しなおすとともに、「MIPS32 4K」と「MIPS64 5K」という2つのコアを発表する。その後、2000年には「MIPS64 20K」を追加、2003年には「MIPS32/64 Release 2」という新命令セットと「MIPS32 24K」シリーズを発表する。2000年と言えば、特にx86プロセッサの急速な性能改善もあってワークステーション向けの需要はもうほとんど存在しなかった。その結果、同社はMFP(Multi-Function Printer)やルーターなどのネットワーク機器、POSや照明コントローラなど、産業機器向けにシフトしてゆく。こうした市場ではARMコアではやや性能不足であり、一方x86ではシステムコストと消費電力の両方が高くつくので、MIPSコアは非常に適していた。ちなみにMIPS32 4Kコアは、
MIPS32 4K: ベーシックな32bitコアで、ほぼR3000相当
MIPS32 4KE: 4Kの高性能版で、ライトバックキャッシュの実装やキャッシュ容量改善、クロックゲーティングなどを施したもの
MIPS32 4KS: 4Kに暗号化アクセラレータを追加した製品
MIPS32 M4K: 4KのMCU向け低コスト版。35Kゲートで構成される
といったラインナップを持ち、もっぱらMIPS32 4K/4KEが広く使われた一方、MIPS32 M4Kは今一歩であった。ARMと比較した場合、数百MHzの動作速度の範囲ではMIPS32の方がより消費電力が低く、かつ性能も高かったが、100MHz未満の範囲では性能・消費電力ともに大差がない。またこれまでこの領域にMIPS32コアがあまり使われていなかったから、ソフトウェア資産の継承といったメリットもあまりなかった。加えて前回もちょっと触れたが、ARMのThumb/Thumb-2同様にMIPSもMIPS16eという縮小命令セットを提供した。ただこれは広く利用されたとは言えず、既存のMIPS32のソフトウェア資産が利用できるというメリットはMIPS32 M4Kに関してはあまり当てはまらなかった。
【写真1】と【写真2】は、2002年10月に行なわれたあるセミナーの資料からの抜粋だが、1998年~2001年にかけて世代交代があったことが分かる。【写真1】を見ると、1998年にはMotorolaの「68K(MC68000系)」が最大勢力だったのが、1999年にはARMがこれを大幅に凌駕しているのが分かる。ではMIPSは? というと、1998年にはARMを抑えていたのが、1999年にはARMに抜かれ、2001年にはPowerPCが迫ってきつつある状況だった。もっともこのARMの躍進は携帯電話、もっと正確に言えばNokiaのSymbian OSの躍進に助けられている部分が多く、逆にこれを除外するとARMとMIPSの勢力はほぼ互角に近かった。その結果が【写真2】である。ちなみにMIPS陣営は、この後、SCE(ソニー・コンピュータエンタテインメント)の「PlayStation 2」や「PlayStation Portable」の出荷数の伸びによって一度はPowerPC陣営を引き離すが、「PlayStation 3」やMicrosoftの「Xbox 360」、任天堂の「Wii」などが一斉にPowerPC陣営に鞍替えしたことで、ゲームコンソールの市場も失うことになる。
こうしたこともあってMIPSはこの後、サーバーや高機能MFP向けに機能や規模を増やす方向に進んで行く。
まず2005年にはDSP拡張、2006年にはマルチスレッド対応した「MIPS32 34K」、2007年にはIPCを改善した「MIPS32 74K」などを次々と打ち出し、さらに2008年には、MIPS32 34Kコア×4の「MIPS32 1004K」、2010年にはMIPS32 74Kコア×4の「MIPS32 1074K」をそれぞれ発表する。これらは完全にネットワーク向けの設計で、ルーターやエッジサーバーなどを狙った構成である。
実のところ、この2010年前後というのは、MIPSのシェアがさらに減っていた時期に当たる。と言うのは、次に説明するPowerPC陣営がネットワークプロセッサ向けに猛烈に性能を改善していた時期であり、MIPSとしてはこの市場を死守する必要があったからだ。ただ実際にMIPSベースのネットワークプロセッサを製造していたSiByte(現Broadcom)、RMI(NetLogicを経て現Broadcom)、NetLogic(現Broadcom)、Cavium NetworksといったメーカーはいずれもMIPS64のアーキテクチャライセンスを受けた上で、自社で独自のMIPS64コアを設計・製造しており、MIPS32は使われていなかったから、この努力はやや空回りだった気もする。これらのメーカーは64bit環境が早くから必要と認識しており、この当時、IPの形で販売されている64bitの“まともな”コアはMIPS64だけだったので、この選択は合理的だった。そんなこともあり、MIPS32/64 Release 2の世代でMIPS Technologiesは徐々にシェアを減らしてゆく。
そして、同社が起死回生をかけて2012年に発表したのが「Aptiv」シリーズである。命令セットはMIPS32/64 Release 3に進化した。ただこれを採用した製品が世に出る前に、同社はImagination Technologiesに買収される。
さて、Imagination Technologiesの思惑は? というと、同社はPowerVRシリーズのGPUのIPコアを中核にビジネスを行なっていたが、開発していた「Meta」シリーズのCPUはいまいち普及が進まなかった。そうこうしているうちに、ARMは2006年にノルウェーのFalanx Microsystemsを買収し、ここが保有していたMali GPUをARM自身が販売を始めることにより、ARMとのビジネスの境界が曖昧になってきていた。
MIPS Technologiesの製品ポートフォリオはImagination Technologiesにとって非常に魅力的であり、実際MIPS Technologiesの買収後に同社は、Meta CPUの開発を事実上放棄して、開発チームをほぼ全員MIPS部隊に移動している。この結果、2013年には早くも「MIPS32 Release 5」(Release 4はスキップした)に基づく「Warrior」シリーズの最初の製品をリリースしている。
AptivシリーズにはMCUをターゲットとした「microAptiv」が含まれており、Warriorシリーズも当然これを継承した「M51xx」ファミリーを2014年2月に発表している。おそらくMIPS32 M4KやmicroAptivの時と同じように、MicrochipがPIC32の将来製品でこれを採用するのではないかと思われるが、それ以外にどの程度WarriorシリーズがMCU市場でシェアを得られるか、あるいはAptiv/Warriorシリーズがどの程度システムコントローラ的な用途に採用されるかは正直言ってまだはっきりしない。このあたりは今後のImagination Technologiesの方針次第というところである。
自動車向けで勢力を拡大した「PowerPC」
さて、次は「PowerPC」の話である。読者の中にはPowerPCベースのMacを使われていた方も少なからずいらっしゃると思うので、PowerPC G5あたりの世代までの話は割愛させていただく。PowerPCそのものがAppleの採用を前提にIBMとMotorola(現Freescale)と共同開発したものだったので、AppleがIntel CPUベースにシステムを切り替えたことで、いきなりPowerPCコアの大きなニーズがなくなってしまった。
ただ、幸いなことに、両社ともMac向け以外のニーズを既に抱えていた。IBMは元々1994年頃から「PowerPC 400」シリーズという組み込み向け専用コアを開発、これを広範に利用していたし、これを利用したHPC向けの「Blue Gene」も広く利用された。一方でゲーム機にも採用され、SCEのPlayStation 3向け「Cell B.E.」、MicrosoftのXbox 360用の「Xenon」、任天堂のWii用の「Broadway」はいずれもPowerPCベースとなっている。またその後Cell B.E.は構成を少々変更した「PowerXCell」となり、やはりHPC向けとして採用されている。
一方Freescaleは? と言うと、それまで68000ベースで構築していた「QUICC」(QUad Integrated Communications Controller)というネットワークプロセッサを、PowerPCで置き換えた「PowerQUICC」が大当たりとなり、さらにこれを強化した「QorIQ」シリーズの製品を現在も積極的に展開している。実はこの路線はMIPS64と完全に競合している。どちらが先行していたかと言うのは悩ましいところで、ネットワークプロセッサという概念を持ち込んだという観点では明らかにQUICCを擁するFreescaleが先であるが、高性能なネットワークプロセッサという意味ではMIPS64の方が先に市場を確立した感が強い。
ただ、Freescaleはその後もQUICC→PowerQUICC→QorIQと性能を強化しながらラインナップを広げる形で次第にMIPSの市場を下から奪っていった、という図式はARM対MIPSを彷彿するものがある。ちなみにPowerQUICCやQorIQはネットワーク機器以外にプリンタのコントローラなどにも利用され、ここでも次第にMIPSを追い詰めていった。さらにFreescaleは、車両のECU向けにもPowerPCを導入し、自動車向けMCUという形でかなりのシェアを確保する。後追いでSTMicroelectronicsもやはりPowerPCベースのECU向けMCUをリリースし、現時点で自動車向けEUC用のMCUは、PowerPCが一大勢力になっている。
加えてPowerPC陣営はメンバーを増やすことを目的に「Power.org」という団体を設立した。この団体は2009年には国内でもカンファレンスを実施している。Power.orgの設立メンバーはIBMであるが、Freescaleも当初からこれに関わっており、後追いの形でやはり創立メンバーとして加わっている。この後でAMCC(現APM)と、ベンチャー企業のP.A.Semiが加わっている。AMCCはIBMからPowerPC 400シリーズの製品ラインナップを買収して自社で販売するとともに、自社でもTitanというコアを開発し、一方P.A.SemiはPA6Tというコアを開発してこの市場に参入してきた。
これにより、組み込み向けのPowerPCの市場が広がる……と思ったら、そうはならないのが難しいところ。まずP.A.Semiは2008年4月にAppleに買収され、Power.orgからも脱退してしまった。AppleはP.A.Semiの製品ではなく、持っている技術と開発メンバーが必要だったのであり、彼らがA4を設計したと見られている。
次がAPM。Titanは発表された後も、製品が出てこなかった。関係者によれば、少なくとも一度作り直したことは間違いないが、その後も製品は出荷されずに終わっている。ではAMCCは何をやっていたかと言うと、まず「PowerPC 400」シリーズ製品をIBMではなくTSMCで作り直した。元々AMCCによるPowerPC 400シリーズの買収は、ファウンダリとしてIBM Microelectronicsが引き続き製造を行なう契約も込みだったのだが、これに留まらずTSMCで製造できるように事実上PowerPC 400シリーズを作り直した格好だ。
これで既存の顧客向けに製品を提供しつつ、新たに同社が手がけたのはPowerPCではなくARMであった。同社は64bitのARM v8-Aのアーキテクチャライセンスをいち早く導入。他社に先駆けて「AArch64」(64bit命令セット)ベースの「X-Gene」を40nm世代で製造。さらにこのコアを利用した組み込み向けプロセッサとして「Helix」をARM TechCon 2014で発表した。なぜAPMはARMに切り替えたのか、という答えが【写真3】である。今はまだ複数のアーキテクチャが存在するが、2018年になると組み込み市場は64bit ARMで統一され、この上でアーキテクチャではなく実装を競うようになる、というのがAPMのビジョンであり、これに備えたというわけだ。
そしてPower.org創業社の1つであるFreescaleもちょっと怪しいことになっている。同社は2012年に現在のQorIQの後継として、「QorIQ Layerscape」というアーキテクチャを発表したが、このアーキテクチャではCPUコアとしてPowerPCとARMの両方がサポートされるからだ。実際、2012年にCortex-A7を搭載した「QorIQ LS1」とCortex-A15を搭載した「QorIQ LS2」を発表し、2014年にはCortex-A57を搭載した製品も追加発表した。
当面はPowerPCとCortex-Aシリーズが混在することになると思うが、長期的にはPowerPCがどんどん追いやられる方向にあると見て間違いではない。するとPowerPCの牙城は自動車のECU向けMCUということになるが、ここもCortex-Rシリーズが急速にシェアを伸ばしており、既にTIとCypress(と合併したSpansionが買収していた富士通)がCortex-Rベースの自動車向けMCUをラインナップしている。自動車の場合は設計サイクルが長い(5年程度)から、実際に搭載されているMCUが目に見えて変わって来るのは早くて2020年以降であろうが、既にシェアの面では危ないところに来ているという話だ。
【記事修正:1月23日】Cypressに関して言及した内容に一部誤りがありましたのでして、記述を改めました。お詫びして訂正いたします。
台湾メーカーが大きなシェアを持つ「x86」
最後にx86についても簡単に説明しておく。前回もちょっと触れたが、x86の2大勢力であるIntelとAMDは、どちらもx86とは別にMCU向けのアーキテクチャを抱えていた。Intelで言えば「i8048」とその16bit版の「i8096」、i8048の後継である「i8051」とその16bit版の「i80251」、それらとは全く無関係に開発された32bit RISCの「i960」、特許侵害に関する訴訟の関係でDECから買収した関係で入手した「StrongARM」と、それを改めて作り直した「XScale」といったあたりまでは比較的メジャーな部類に入り、ほかに細かいものが一杯ある。いずれの製品も、もうIntelそのものは製造は行なっていないが、「8051」のアーキテクチャそのものは今も業界で広く利用されている。
AMDはこれに比べればずっと少ないが、そもそも8080のセカンドソース生産を始める前は独自の「Am2900」が結構なヒット商品だったし、その後はAm29000(AMD K5の元になった32bit RISC)がこれまた32bitコントローラとしてこれもそれなりに売れた。その後にIntelのStrongARM/XScaleに対抗してか、独立系ファブレスのAlchemy Semiconductorを買収。ここが持っていたローパワーMIPS32コア製品を出していたかと思ったらRMIに売却するなどよく分からない動きをしたこともあり、こちらはあまり顧客を獲得できたとは言えない。
Intelの8051を例外にすると、IntelもAMDもx86以外ではあまり成功したとは言えないわけだ。
では肝心のx86は? と言うと、これをMCUなりシステムコントローラに転用するのはIntelよりもAMDその他の互換メーカーの方が熱心だった。Intel自身ももちろん、80186/80188の後も、80286以降の全ての製品に組み込み向け品種を用意しているが、これは組み込み向けにサポート期間が長い品種を用意したというだけの話であって、組み込みに向いた製品を作ったという話ではない。基本がPC向けの製品だから、そもそもの値段とか動作環境はPC向けに近く、組み込みといってもシステムコントローラ向けの、それも相当高価格な部類に入る。Intelとしては、あえて平均販売価格(ASP)を下げるべき理由がないから、高価格帯向けの製品を引き続きリリースし続けた。
むしろ競合するAMDの方がこの分野には積極的で、組み込み向けのx86のSoCをかなり前から用意していた。1996年には386SX互換コアに周辺回路を全部統合した「Elan SC300」(写真4)を、1987年には486互換コアにやはり周辺回路を全部統合した「Elan SC400」(写真5)を、1999年には5x86コアに切り替わった「Elan SC520」(写真6)をそれぞれ発表している。
またNational Semiconductor(現TI:Texas Instruments)は、同社の子会社だったCyrixの開発するコアを利用して「Media GXという製品を1997年に発表、1999年には「Geode」という後継製品を発表する。こちらもコンセプトはAMD Elanに近いが、セットトップボックス(STB)やNASなどの用途に活用された。
後には、2003年にAMDがこのGeodeの部隊を買収し、その後「Geode LX」という製品を開発している(写真7)。ただ、AMDはこうした製品を作ることはできても、長く売り続けることができず、全て終息させてしまっており、徒花となった形だ。
むしろこの市場では台湾メーカーが大きなシェアを持っている。VIA TechnologiesとDM&P Electronicsだ。
VIA Technologiesは長きに渡るIntelとの特許訴訟を2003年4月に終結させるが、この際の和解条件として2007年以降はIntel互換のプロセッサあるいはチップセットを製造できなくなった。これ以前から同社はビジネスの方向をPCから組み込みへ切り替えており、和解を受けてその動きが加速されたと言っていいかもしれない。同社のCPUはIntelに比べればやや低めのコストと消費電力を持つx86プロセッサとチップセット、そしてなにより同社が2001年に制定したMini-ITXを武器に、組み込み市場向けにプロセッサと言うよりはボード込みでさまざまなソリューションを提供するビジネスを行ない、これによって同社は生き残ることができた。
2003年以降の同社の売り上げのピークは、チップセットなどのビジネスから離脱する直前の2006年でこの年の同社の売り上げは214億NTドル(当時の換算レートで6億5,800万米ドル)である。ただその2006年も12月期は前年比50%減という大幅な売り上げ減少に見舞われており、その後2012年まで一貫して売り上げは下がっていく。2012年の売り上げは34億NTドル(当時の換算レートで1億1,600万USドル)でピークの6分の1まで減っている。
ところが2013年から売り上げは改善しており、2014年は65億NTドル(当時の換算レートで2億1,400万USドル)まで売り上げを伸ばしている。組み込み製品の特性上、採用が決まってから実際に売り上げが伸びるまでの時間はPC向けとは比較にならないほど長い。ただし、その売り上げは長期間に渡って続くという特徴もあり、ビジネスの様相が大きく異なる。それゆえに、PC向けビジネスから組み込み向けビジネスへの転換(あるいはその逆)は結構難しいのだが、VIAはなんとかこれを成し遂げることに成功している。
同様に組み込み向けで成功しているのがDM&P Electronicsである。同社はSiSが製造した「SiS500」シリーズSoC(内部のCPUコアは旧RiSEのm6P)をそのまま買収して、「Vortex86」シリーズとして販売を行なっている。その後は「Vortex86MX」を追加したり、デュアルコア構成の「Vortex86DX3」やPCI Expressコントローラを追加した「Vortex86EX」など、さまざまな製品の拡充を図っている。
実はPC104やPCI104といった、小規模な拡張ボード(PC104についてはこちらを参照)におけるx86プロセッサでは、いまだにVortex86がナンバーワンのシェアを持っている。規格上はもっと小さなCOM/Expressというモジュールもあり、こちらにはIntel/AMDのプロセッサを利用した多数の製品がOEM各社がリリースされている。しかし、こうしたモジュールよりも、はるかに安価にシステムが構築でき、かつ消費電力も低いということで、いまだに採用が続いているそうだ。
Intelは2008年頃からAtomコアでこの市場を攻略しようと色々な構成の商品を提供したり、果てにはTSMCでAtomコアを提供しようとしたりした。TSMC提供のAtomコアは1社たりとも顧客がつかずに撤退ということになっている。ほかのAtomコアは、システムコントローラやデジタルサイネージなどの分野にそこそこ採用はされているものの、ARM陣営などに比べるとその数は僅かと言っても差し支えない程度でしかない。
IntelだけでなくVIA/DMPなどにも共通する話であるが、組み込みにおけるx86の強みはWindows+開発ツール(ちょっと前ならVisual Basicだったし、昨今なら.NET系)でアプリケーションを記述できることで、逆に言えば組み込みでは比較的贅沢な構成のマシンが必要(でないとWindowsがちゃんと動かない)ということであり、組み込み向けの大多数の用途ではオーバースペックに分類されるものが多い(VIAやDMPはLinuxや、一部はFreeDOSというソリューションもあるようだが)。
現在もIntelは、「Quark」でこの分野に再参入を図っており、これまでに「Galileo」、「Edison」を発売。今年のCESでは「Curie」を発表した。だが、x86のメリットはWindows環境を活かせることにあり、Linuxなり何なりを使うと、単にARM陣営と同程度になったという以上の話ではない。ここでどう差別化要因があるのか、に関して少なくとも現状ではIntelから明確な答えは出ていないし、今後も短期的にそれが出てくる公算は低いように筆者は思える。このあたり、体力の違いが最大の要因ではあろうが、PlayStarion 4やXbox oneのようなセミカスタムや、既存のシステムコントローラ分野に絞って提供しているAMDの方が方針が明確であろう。
ということで、今回はMCUというよりはMPU寄りに近い組み込み向けソリューションを提供する3種類のアーキテクチャをご紹介した。最終回となる次回は、舵を切り直してMCU寄りの話をご紹介したい。