メディア

スマホが変えた組み込みのエコシステム 波にのまれて消えた「MIPS」マイクロプロセッサ懐古録(13)(3/3 ページ)

» 2026年02月20日 13時30分 公開
[大原雄介EDN Japan]
前のページへ 1|2|3       

2000年代初頭はシェアトップに

 先にもちょっと書いたがMIPS32はほぼ2003年頃に、携帯電話を除く32bit Embedded Processorとしては間違いなくトップシェアを獲得していた。2003年といえば、IntelはPentium 4/Pentium M、AMDはOpteron/Athlon 64を発表した年であり、Embedded SystemもそろそろNetwork対応が必須になり始めた時期である。まだ当時の事だから軽量な組み込み向けのNetwork Stackなど存在しない。それでもMIPS32コアなら十分に処理が可能だった。MIPS32 4Kの場合、180nmプロセスでコアのエリアサイズは2.5mm2ほど。これが200〜300MHzで動作可能であり、MIPS32 4Kコアは1.6 DMIPS/MHz・3.1 Coremarks/MHzという性能とされていたから、200MHzで320 DMIPSほど。大体Pentium 200MHzと大差ない程度の性能が得られる計算になる。それでいて消費電力は低め(利用するプロセスにも依存するが、おおむねフル稼働時で2mW/MHzとされていたので、200MHz駆動で0.4W程度)だったので、Active Fanによる冷却が不可能な機器への組み込みも難しくなかった(図4

図4:これはNECが1998年に出したVR4120 ASIC CoreのProduct Letterに含まれていたロードマップ

 MIPSにとって幸いだったのは、ソフトウェア互換性の問題が少なかった(無かったとは言わない)ことだ。というのは先にも触れたNetwork対応という新しい要件がEmbeddedにもちょうど押し寄せてきた時期だったからだ。この時期Network対応といえばUNIX(もうLinuxも存在してはいたが、まだ現在のような主流の位置には達していなかった)になる訳だが、そうしたUNIXの多くはMIPSベースのワークステーション上で稼働していたから、そうしたNetwork StackをMIPS32に移植するのは困難ではなかった。というかこの時期、BSDのNetwork周りが結構あちこちに移植というか再利用されていた記憶があるのだが、MIPS32ベースのSoCへの移植はもちろん難しくなかった。

 この当時MIPSアーキテクチャに対する批判として多かったのはコード密度の低さである。これはCISCに比べると、RISCでは必要な命令数が多くなる=オブジェクトファイルのサイズが大きくなる≒必要なメモリ量が増える、という話である。この批判そのものは間違っていないのだが、1990年代に比べるとメモリの容量当たり単価が下がったことで、このコード密度の低さもそれほど大きな問題にならなくなりつつあった。そんな訳で2000年代前半、MIPS32はEmbeddedマーケットで広範に使われるようになってきた。

 加えて1990年代末頃から、Network ProcessorのマーケットにもMIPSが進出していた。こちらは64bitだが、MIPS64 5Kはあまり使われず、主要なメーカーはみなArchitecture Licenseを取得して、自前で64bitコアの実装を行っていた。Cavium/SiByte/NetLogic/PMC-Sierra/RMI Corporationなどがこれに該当する。ちなみにCaviumは最終的にMarvellに、PMC-SierraはMicrochipに、SiByte/NetLogic/RMI CorporationはBroadcomに買収されている。これらのメーカーは2010年代末まで、MIPS64アーキテクチャに基づくNetwork Processorをリリースしていた。

 ではその間MIPS Technologiesは何をやっていたかというと、MIPSの製品ラインを強化するとともに、さまざまなIPや開発環境を提供する事を試みたという話は以前「Appleの通告は「MIPSの終わり」の始まりか」で説明した通りだが、残念ながらこの頃になると次のトレンドが押し寄せてきた。スマートフォンのエコシステムの拡充である。

スマホ向けでArmが有利になった理由

 2007年の初代iPhoneに始まり、このあとAndroid/iOSという2大スマートフォンOSがそろいたつ中、CPUのアーキテクチャもArmが圧倒的に有利になってきた。というのはスマートフォン向けのSoCは組み込み向けにも十分使える性能と消費電力であり、また特にAndroidはEmbeddedにも広く門戸を開いたから、2010年頃からAndroidを使ったシステムが次第に増え始めていた。もちろん、MIPSもAndroidには速攻で対応していたが、2005年発表のCortex-A8や2007年発表のCortex-A9が、スマートフォン向けSoCのみならずEmbedded向けのコントローラーにも採用されるようになると、次第にマーケットはこうしたArmベースのプロセッサに移行を始めてゆく。

 理由はやはりソフトウェアである。Androidは仮想マシンベースで動作するとか言いつつも、実際にはネイティブコードを多用することが少なくないことや、周辺回路向けドライバやミドルウェアの充実度を考えると、AndroidベースではArmアーキテクチャを利用する方が便利である。またMIPS Technologiesの新製品のラインアップが、どちらかというとNetwork Processorなどのハイパフォーマンス方向に振り切れている感じで、実際にEmbedded向けが必要としていた新製品とマッチングしていなかったことも理由の一つには挙げられると思う。MIPS32 4Kの中にはMCU向けのMIPS32 M4Kという派生型もあり、これはMicrochipがPIC32Mとして採用した(その後MIPS32 M14Kという改良型に切り替わった)ものの、もう同社もPIC32にArmベースのプロセッサを採用する(PIC32C)ようになっている。32bitアプリケーションプロセッサのマーケットはこれより先にMIPS32に別れを告げており、2020年にはMIPS自身がMIPSアーキテクチャに基づく新製品の開発を終了してRISC-Vに鞍替えする事を発表するなど、MC68000の時と同じく、エコシステムは急速に廃れることになってしまった。

 MIPS32は命令セットそのものがシンプルなので、端的に言えば自分で実装する事も難しくない。商用として流すのには問題はあるが、探すと幾つか自分で実装したものも見つかる。また一時期MIPSが行っていたMIPS Open Initiativeで本家MIPSが提供していた無償利用可能なIPがまだ探せば見つかる(MIPS Open Initiative自身は既に終了している)し、まだ市場には若干だがMIPSベースのSoCも流通している(例えばPIC32Mシリーズ)から、利用できない訳ではない。が、エコシステムとしてはほぼ終了してしまったと考えて良いと思う。

⇒「マイクロプロセッサ懐古録」連載バックナンバー一覧

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.