【マイコン編】ARMアーキテクチャがマイコン市場を制覇する日
32bit CPUコア「ARMコア」の顧客向け講演会兼展示会「ARM Forum 2010」では、午後にARMコアを内蔵するマイクロコントローラ(マイコン)に関する講演トラックが設けられた。本レポートではこの講演トラックから、アームと下記のマイコンベンダーによる講演概要をご紹介する。講演者と所属は以下の通りである。
1) アーム:平井幸広氏
2) STマイクロエレクトロニクス:野田周作氏
3) フリースケール・セミコンダクタ・ジャパン:古江勝利氏
4) 東芝:吉田和義氏
5) 富士通セミコンダクター:齋藤章史氏
ARMコアは元来、SoC(System on a Chip)やマイクロプロセッサにメインまたはサブのCPUコアとして組み込まれることを目的として開発されてきた。もちろん現在でも、ARMコアはSoCやマイクロプロセッサなどに使われている。携帯電話機用プロセッサでは標準的なCPUコアの地位を占める。
ARMのかつての悩みは、携帯電話機向けの応用分野では、ARMコアの採用があまり進んでいないことだった。言い換えるとARMが今後も成長し続けるためには、携帯電話機以外の応用分野で普及を促す必要がある。その一環が、マイクロコントローラ(マイコン)用CPUコアの開発だった。もちろんこれまでにも、ARM7やARM9などのARMコアをマイコンのCPUコアに採用する例はあった。しかし従来のARMコアはマイコンへの搭載に適したアーキテクチャとは言えず、本格的な普及を促すには、アーキテクチャの改変が必要だった。
そしてARMが最初に開発したマイコン向けCPUコアが、「Cortex-M3」である。「Cortex-M3」は、日本では2008年のARM Forumで大きく紹介された。バンクレジスタの大幅な削減によるシリコン面積の縮小、命令セットの1本化(Thumb-2のみ)とアンアラインド・データ・アクセス、ビット操作命令による必要メモリ容量の削減、といった既存のARMコアからの大幅な改変がCortex-M3では加えられた。なお詳細はARM Forum 2008レポートに詳しく記述されているので、興味のあるかたは参照されたい。
Cortex-M3は、既存の16bitマイコンと32bitマイコンを置き換えるべく設計された、主力となるCPUコアだ。粗く言ってしまえば、16bitマイコンでは最も良く普及しているとされるルネサス エレクトロニクスの「M16Cファミリ」と、市場で真っ向から勝負するマイコンを作るべく生まれたCPUコアである。
ARMはCortex-M3をベースに、ローエンドのCortex-M0コアとハイエンドのCortex-M4コアを開発した。Cortex-M0コアの詳細は2009年のARM Forumで公表されている。Cortex-M4コアは2010年2月に概要がリリースされた。このほか、FPGA内蔵用にCortex-M1コアが開発済みである。
ローエンドのCortex-M0は既存の8bitマイコンと16bitマイコンを置き換えるべく開発された、シリコン面積が最も小さくて消費電力が少ないARMコアだ。命令セットはARM7TDMIコアのThumb命令セット(16bit命令セット)にThumb-2の16bit命令を追加しただけで、非常に簡素である。
32bit CPUコアは、16bitデータの乗算といった、やや複雑な処理の実行では、8bit/16bitマイコンに比べると、圧倒的な性能を発揮する。Cortex-Mシリーズでは2Byte(16bit)のコードサイズと1クロックの実行サイクル数で済むのに対し、16bitマイコンでは8Byteのコードサイズと8クロックの実行サイクルを必要とする。8bitマイコンではバスを16bitに拡大したり、命令セットを拡張したりといった工夫を加えないと、非現実的な実行サイクル数になってしまう。
ハイエンドのCortex-M4コアは、Cortex-M3にデジタル信号処理(DSP)機能を追加したCPUコアである。32bitマイコンでは、SuperHマイコンの「SH-DSP」および「SH2-DSP」に代表されるようにDSP機能を追加したマイコン製品が珍しくない。DSP機能の追加は当然の流れと言える。
Cortex-M0コアの概要。ARM Forum 2009の講演資料から抜粋した | 16bit乗算の実行に必要なコードとサイクル数 |
Cortex-M4コアのコンセプト。開発コード名は「Merlin(マーリン)」 | Cortex-M0/M1/M3/M4/M4Fの命令一覧。下位互換性を保った命令セットとなっている |
●STマイクロ:M3マイコンの低消費電流版を紹介
マイコンベンダーの中でCortex-Mシリーズをいち早く採用したのが、STマイクロエレクトロニクス(STマイクロ)である。2007年にはCortex-M3コアを内蔵した「STM32ファミリ」を発売した。現在の主力製品は「STM32Fシリーズ」である。電源電圧が2.0~3.6Vで、USBコントローラやCANコントローラなどを周辺回路として内蔵した品種を用意している。
2010年4月には、低消費電流版の「STM32Lシリーズ」を発表した。これは電源電圧の下限を1.8Vに引き下げて電源電圧範囲を1.8~3.6Vに広げるとともに、32kHzの発振器を内蔵して消費電流が10.4μA/6.1μAと低い低消費電流モードを新たに設けた品種である。2010年第4四半期に量産を始める計画となっている。
●フリースケール:産業/民生向けにハイエンドのM4コアを採用
フリースケール・セミコンダクタ・ジャパン(フリースケール)はマイクロプロセッサとマイクロコントローラ(マイコン)の大手ベンダーであり、マイクロプロセッサ製品ではARMコアを内蔵する製品ファミリ「i.MXシリーズ」をマルチメディア機器のアプリケーション・プロセッサとして供給してきた。
マイコン製品では32bitマイコン、16bitマイコン、8bitマイコンと幅広い製品系列を有しているものの、ARMコアを内蔵した製品ファミリが登場したのは2010年6月とごく最近のことだ。それもCortex-Mシリーズではハイエンドの「Cortex-M4」コアを内蔵する製品ファミリである。ファミリ名は「Kinetis(キネティス)」という。
Kinetisシリーズはフラッシュメモリを内蔵する、いわゆるフラッシュマイコンで、7本のファミリで構成される。合計で200品種を開発中だとしており、マイコンファミリとしては相当に大規模な製品系列となる予定である。出荷予定は2010年11月にサンプル出荷と開発ボードの供給、ドキュメントの供給、2011年前半に量産出荷の開始となっている。
●東芝:車載用マイコンにM3コアとR4Fコアを導入
東芝は国内のマイコンベンダーでは初めて、本格的にARMコアを採用した企業である。2008年10月に開催されたARM Forum 2008では、産業用、民生用、車載用のすべての32bitマイコンにARMコアを採用していく方針を明らかにした。
現在のマイコン製品ロードマップは東芝が公開している資料を総合すると、Cortex-M3コアを内蔵する「TX03シリーズ」を主力製品として産業用、民生用、車載用に合わせた品種を展開し、そのほかにはCortex-R4Fコアを内蔵する「TX04Rシリーズ」を車載用に、ARM926コアあるいはCortex-A9コアを内蔵する「TX09/09Aシリーズ」をマルチメディア用に供給していく計画となっている。
主力品種であるTX03シリーズでは、機能や周辺回路などの違いによってM320グループからM390グループまでの8グループが用意されている。2008年9月にシリーズ初の製品となるM330グループ(民生用サブファミリ)の「TMPM330FDFG」を発表して以来、現在では8グループで12品種を生産中だという。
講演では車載用モータ制御マイコン「M350グループ」を主に紹介していた。東芝の洗濯機やエアコンなどにおけるモーター制御技術を車載用モーターの制御技術に流用したという。モーター制御のハードウエア比率を高めているのでモーター制御中でもCPUの負荷が低く、ほかのタスクを処理する余地が大きい。
東芝のマイコン(MCU)用CPUコアのロードマップ。ARM Forum 2008で示されたロードマップに比べると、ARMコア関連のロードマップが明確になっている | Cortex-M3コアを内蔵したマイコンファミリ「TX03シリーズ」を構成するサブファミリ(M3XXグループ)の概要 |
自動車が搭載するモータの動向。2010年の時点で自動車1台が搭載するモータの数は100個を超えており、2015年には200個を超えるようになるとみている | 東芝の車載用モータ制御マイコンの特徴 |
●富士通:国内で2番目のARMマイコンベンダー
国内のマイコンベンダーでARMコア内蔵製品を正式に発表したばかりなのが、富士通セミコンダクターである。11月4日にCortex-M3コア内蔵マイコン「FM3ファミリ」の第1弾をサンプル出荷することを公表した。それまで富士通セミコンダクターはSoCにはARMコアを導入していたものの、マイコン製品に採用したことはなかった。
富士通セミコンダクターのCortex-M3コア内蔵マイコンが東芝と明確に異なるのは、車載用マイコンは富士通独自の32bit CPUコアで今後も製品展開していく点にある。「FM3ファミリ」は産業用と民生用のマイコンファミリであり、車載用は対象としていない。
「FM3ファミリ」を構成するサブファミリの階層は2階層あり、やや複雑だ。まず、「ハイパフォーマンスライン」と呼ぶ高性能品のサブファミリと、「ローパワーライン」と呼ぶ低消費電力品のサブファミリに分かれる。両者を区分するのは電源電圧である。前者は電源電圧が2.7~5.5V、後者は1.8~5.5/3.3Vで、最小電圧が異なる。動作周波数では区別されておらず、両者ともに動作周波数40MHzの品種が存在する。
そして「ハイパフォーマンスライン」は、「ハイパフォーマンスグループ」と呼ぶFA向けの製品グループと、「ベーシックグループ」と呼ぶ白物家電向けの製品グループに分かれる。前者は動作周波数が最大80MHzの品種と最大144MHzの品種があり、後者は最大40MHzの品種となっている。
また「ローパワーライン」は、「ローパワーグループ」と呼ぶ家電向けの製品グループと、「ウルトラローパワーグループ」と呼ぶバッテリ駆動機器向けの製品グループに分かれる。前者は動作周波数が最大40MHz、後者は最大20MHzとなっている。
ARMマイコンの出荷数量推移。なおこのスライドは、FTFJ2010で使われたもの |
Cortex-Mシリーズを採用したマイコンは今後、どのくらいの伸びを見せるのだろうか。9月14日に開催されたフリースケールの顧客向け講演会兼展示会「フリースケール・テクノロジ・フォーラム・ジャパン2010」で、ゲストとして講演したアームの西嶋貴史社長は、2010年の第1四半期だけで2009年通年に近い数量のARMコア内蔵マイコンが出荷されたと述べていた。2009年のマイコンの世界市場は8bitと16bitも含めては数量ベースで45億個、ARMマイコンのシェアは約6%と推定している。これが2014年には、ARMマイコンが20%を超えるシェアを確保することになるだろうと、西嶋社長は説明していた。
マイコン全体で数量シェア20%というのは、32bitマイコンではARMマイコンの数量シェアが20%をはるかに超えていることを意味する。ARMマイコンは全部が32bitマイコンなのだから、当然である。2014年の32bitマイコン市場で、マイコンベンダー別のシェアでARMがトップとなることはない。ARMはマイコンベンダーではないのだから。しかし、CPUアーキテクチャ別では、ARMアーキテクチャのマイコンが必ずトップに立つ。それは2014年ではなく、もっと早い時期だ。ARMが描くのは、2014年にはCPUアーキテクチャ別では2位以下を大きく引き離してトップに立っている、という図式なのだろう。
(2010年 11月 19日)
[Reported by 福田 昭]