8~16bitが主流のMCUに
32bitで打って出たCortex-M3
それではMCU向けの「Cortex-M」シリーズから解説しよう。MCUの市場はもともと、多くの半導体メーカーが自社のアーキテクチャーを利用した製品を、数多く投入していた。8~16bit製品が多かったが、中には32bitまでのラインナップを用意しているメーカーもあった。
この分野に対してARMは、「ARM7/9/10/11」が携帯電話や一部のネットワーク機器向けに採用されてはいたものの、絶対的な比率としてはごくわずかでしかなかった。特に、古いARM7はともかく、ARM9~11になるとMCUにはやや性能が高すぎるという問題もあり、コスト面での競争力が乏しかったのが事実だ。
そこでARMは縮小命令セット「Thumb」を、ARM v4世代から投入した。これはARMの32bit命令を、なるべく元の形を保ったまま16bitサイズに縮めようというもので、これによりコード密度(単位容量に含まれるプログラムのサイズ)の向上を図ろうというものだ。しかし、コストの問題は命令セットよりもコア側にあるわけだから、Thumbを使ってもたいして解決にならないのは当然だった。
こうした反省を元に、まずは32bit MCUに向けて回路構成を最適化した製品が、2004年に投入された「Cortex-M3」である。当時8/16bitの市場は競争が激化しており、ARMといえどもなかなか参入はできなかったが、32bit分野は相対的に競争が激しくなかった。というのも、当時は「32bitのMCUは必要ない」(8/16bitの高性能品でカバーできる)という見解を取る半導体ベンダーが多かった。32bitはMPU向けのラインナップを充実させる方向性が主流で、32bitのMCUはある種の隙間だったわけだ。
Cortex-M3に最初に飛びついたのは、STMicroelectronicsを初めとするいくつかのベンダーだった。同社は8/16bitではそれなりのラインナップを揃えていたものの、32bitレベルの性能を持つMCUはラインナップしておらず、ちょうど渡りに船だった。もっとも、命令セットはThumbをさらに拡張した「Thumb-2」のみのサポートで、32bit命令そのものは実行できなかった。そのため当初は利用できるライブラリも限られており、広く普及と言うにはほど遠い状況だった。ARM自身はこの状況でもあきらめず、引き続き開発環境やライブラリの充実、サードパーティーへの働きかけなどを続けていく。
FPGA上で使うMCU
Cortex-M1
次にARMがリリースしたのは、「Cortex-M1」である。Cortex-M3とは毛色が異なるプロセッサーで、アーキテクチャー的には前世代の「ARM v6」に属しており、対応する命令セットもThumb-2のみという割り切ったものである。Cortex-M1は、それ自体でSoCを作るためのものではなく、他のFPGAの上で動作するコアである。Cortex-M1はアルテラやザイリンクスなどの各FPGA上で動作可能で、しかもFPGA上で動かす場合は、ライセンス費用が不要だった。
今から思えばCortex-M1は、Thumb-2の普及のための一手だったのかもしれない。FPGA上でプロトタイプを作り、それが動いたらSoCで量産にという場合に、それなりの速度で動くMCUコアが無償で入手できる。開発環境もARM用に多く登場しているから、採用への敷居が下がることになる。そして一度なにかに採用されれば、「別の製品の開発にも使ってみるか」ということにもつながり、普及に弾みがつきやすい。Cortex-M1は、Cortex-M3の3分の1程度の回路規模であり、中規模以上のFPGAであれば採用が難しくなかったからだ。
ただしCortex-M1のみでは、SoCへの展開は難しい。これに対応したのが2009年に投入された「Cortex-M0」である。回路規模はCortex-M1と同等程度ながら、FPGAではなくSoC用のプロセッサーで、こちらもアーキテクチャーはARM v6だ。命令セットはThumbに加えてThumb-2のサブセットという、やや変則的なものだった。Cortex-M0は省電力性をウリにしており、発表された2009年に早速採用したNXPセミコンダクターズは、Cortex-M0ベースの「LPC1000シリーズMCU」を太陽電池で動作させる、というデモでその低消費電力性を示したのが記憶にある。
この連載の記事
-
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 -
第757回
PC
「RISC-VはArmに劣る」と主張し猛烈な批判にあうArm RISC-Vプロセッサー遍歴 - この連載の一覧へ