[an error occurred while processing the directive]

ARM Forum 2008レポート【マイコン編】

16bit/8bitマイコンの置き換えを狙うCortex-M3マイコン

ARM Forum 2008の展示会場

10月22日 開催

会場:東京コンファレンスセンター・品川



 顧客向けの講演会兼展示会「ARM Forum 2008」の午後には、32bit組み込みマイクロコントローラ(マイコン)用の最新ARMコア「Cortex-M3」に関するセッションが組まれていた。本レポートではこのセッションから、下記の講演概要をご報告する。

1) Cortex-M3コアの概要:アーム
2) Cortex-M3コア内蔵マイコンの製品例1:STマイクロエレクトロニクス
3) Cortex-M3コア内蔵マイコンの製品例2:東芝 セミコンダクター社

 最初に紹介するのは、アーム株式会社フィールドアプリケーションエンジニアリング ソフトウェア担当シニアエンジニアの平井幸広氏による「32ビット高性能MCUを低価格で実現するCPUコア、Cortex-M3」と題した講演である。

 ARMコアは従来、SOC(System on a Chip)やASICなどのカスタムLSIにメインまたはサブのCPUコアとして採用されることが多かった。これに対して「Cortex-M3」は、汎用マイコン、それも価格制限の非常に厳しい組み込み用マイコンに向けて開発されたCPUコアである。このため、コストを削減するための工夫が随所に盛り込まれている。しかも32bitマイコンとして遜色ない処理性能を達成しつつ、である。講演では低コストと高性能の両立の重点を置いてCPUコア「Cortex-M3」の内容が説明された。

低価格高性能マイコン用CPUコア「Cortex-M3」開発の背景 低価格高性能マイコンが必要になる背景。低価格の要求が厳しい(というよりも、市場価格がある程度の金額以下に決まってしまっている)状態で、内蔵機能を豊富に装備したデジタル機器が増えてきた

 講演では低コスト化の手法を、主に以下の4種類に分類した。1)半導体の製造コストを下げる(回路面積を小さく抑える)、2)メモリ・コストを下げる(必要なメモリ容量を少なくする)、3)電力コストを下げる(消費電力を低く抑える)、4)開発コストを下げる(安価なツールで短期間にプログラミングできる)、である。

 1)の「半導体の製造コストを下げる(回路面積を小さく抑える)」では、組み込みマイコンに特化したアーキテクチャ「Cortex-M3」を開発するとともに、ARMの特徴だった豊富なバンク・レジスタを大幅に削減して回路面積を縮小した。

コストの低減手法を4種類に分類 半導体の製造コストを低減する手法
「Cortex-M3」のアーキテクチャ。組み込みマイコンに特化したアーキテクチャとなっている。パイプラインは3段と浅く、キャッシュとメモリ管理ユニット(MMU)は持たない。そしてベクトル割り込みを装備した バンク・レジスタの削減。レジスタ数を18個に減らし、スタック・ポインタが切り換わる構成とした

 2)の「メモリ・コストを下げる(必要なメモリ容量を少なくする)」では、命令セット・アーキテクチャを16bit/32bit混在の命令セット「Thumb-2」だけにしてプログラムの容量を抑えるとともに、アンアラインド・データ・アクセスとビット操作機能を導入してデータを効率的にメモリに収納できるようにした。

メモリ・コストを低減する手法 16bit/32bit混在の命令セット「Thumb-2」。Cortex-M3は命令セットを「Thumb-2」だけに絞った。またビット操作命令、除算命令(DIV)の存在によってプログラムに必要なメモリ容量を抑えている
Thumb-2命令セットとARM命令セット、Thumb命令セット(Thumb-1命令セット)の比較。縦軸は処理性能、横軸はコード効率(右方向に効率が高い、すなわちプログラムに必要なメモリ容量が少ない)。Thumb-2命令セットはARM命令セットに近い処理性能とThumb-1命令セットに近いコード効率を両立させている アンアラインド・データ・アクセスとビット操作機能。ビット長の違うデータを詰めて配置するアンアラインド・データ・アクセスによって、メモリ空間を無駄なく使えるようにした。またRAMとその周辺のアドレス空間に1bitずつデータを操作できる空間を用意した。1bitのデータを操作するときに必要なメモリの容量が減少する

 3)の「電力コストを下げる(消費電力を低く抑える)」では、演算効率を高めて処理に必要なクロック数を少なくするとともに、省電力モードを設けた。演算効率の向上では、命令バスとデータ・バスを独立に装備するハーバード・アーキテクチャを採用するとともに、1クロック・サイクルの乗算命令を装備し、ベクトル割り込みに対応した。省電力モードでは、スリープ・モードとディープスリープ・モードの2種類のモードを設けた。

電力コストを低減する手法 ハーバード・アーキテクチャの採用と乗算命令の装備
Tベクトル割り込みの採用。256レベルまでのネスト割り込みを可能にした 割り込み応答特性の向上。割り込み処理ルーチン(ISR)に入るまでのクロック・サイクル数を短縮するとともに、複数の割り込みが入ったときの切り換えに要するサイクル数を減らした 省電力モードの導入。コアやバスなどへの高速クロック(HCLK)をオフにするとともにフリー・ランニング・クロック(FCLK)を1MHz程度に抑えるスリープ・モードと、HCLKをオフにしてFCLKを水晶発振器の周波数(32kHz)まで下げるディープスリープ・モードがある

 4)の開発コストを下げる(安価なツールで短期間にプログラミングできる)では、32bitアドレスによる4GBの広大なメモリ空間、命令セットの一本化によるプログラミングの簡素化、C言語での割り込み記述、デバッグ機能の拡充などを紹介していた。32bitアドレスとは既存の16bitマイコンによるアドレス空間の制約を意識したもの。命令セットの一本化とは既存のARMコア(Thumb命令セットとARM命令セットの両方を装備)との違いを説明したものである。

電力コストを低減する手法 ハーバード・アーキテクチャの採用と乗算命令の装備
開発コストの低減手法。Cortex-M3の開発コストではなく、マイコン・ユーザーのプログラム開発コストの低減を狙った手法のこと C言語での割り込み記述。関数の戻りから、例外処理の発生元に自動的に復帰する デバッグ機能の拡充。フラッシュパッチとは、フラッシュメモリの書き込みデータにバグがあった場合にSRAMまたはシステム・アドレス空間にデータを再マッピングし、フラッシュメモリに再書き込みする機能のこと

●ARMコアを積極的に取り込むSTマイクロエレクトロニクス

 続いて、STマイクロエレクトロニクス株式会社MMSグループ マイクロコントローラ製品部 プロダクト・マーケティングの野田周作氏による「Cortex-M3コアベース STM32ファミリの紹介」と題する講演の概要を報告しよう。

 STマイクロエレクトロニクスは2007年に大手半導体ベンダーでは初めて、Cortex-M3コアを内蔵したマイコンを発売した。製品ファミリ名は「STM32」。同社は過去にARM7TDMIコアを内蔵したマイコン「STR7」ファミリとARM966E-Sコアを内蔵したマイコン「STR9」ファミリを発売しており、ARMコアを積極的に汎用マイコンに取り込んできたベンダーである。

 講演ではCortex-M3コアの概要を簡単に述べた後に、ARM7TDMIコアとCortex-M3コアの違いを一覧表に示した。Cortex-M3コアはARM7TDMIコアの後継となるCPUコアであり、処理性能と消費電力の両方とも、大きく改善されている。93DMIPSの処理性能を要求する無線システムでプログラム・コードの容量が200KBの場合、Cortex-M3コアでは動作周波数が25%低くなり、消費電力は64%減り、プログラム・メモリ容量は35%少なくなり、回路面積は30%減少した。

ARM7TDMIコアとCortex-M3コアの仕様比較。DMIPS/MHz値の向上、分岐予測機構の追加、割り込み機能の強化、割り込みレイテンシの短縮、スリープ・モードの追加といった改良が、Cortex-M3コアには加えられている 無線アプリケーションをケース・スタディとしたARM7TDMIコアとCortex-M3コアの性能比較例た

 それからCortex-M3コアを内蔵したマイコン「STM32」ファミリの内容を説明した。STM32ファミリは最大動作周波数が72MHzの汎用マイコンで、消費電流が27mA(72MHz動作時)と低く、価格がローエンド品では1ドル台からと安いことを特徴とする。現在のところ、STM32のユーザーの8割が16bitマイコンまたは8bitマイコンからの乗り換えだという。

 代表品種であるフラッシュマイコンの「STM32F10x」グループには、「ライン」と呼ぶ4種類のシリーズがある。性能重視の「パフォーマンス・ライン」、価格重視の「アクセス・ライン」、アクセス・ラインにUSBインターフェイスを追加した「USB・アクセス・ライン」。そして今のところは特定ユーザーだけに供給している「バリュー・ライン」がある。「バリュー・ライン」は動作周波数を20MHzに下げた価格の最も低いシリーズで、2009年には一般ユーザーにも市販する予定だという。

STM32ファミリの概要 STM32の製品例。フラッシュマイコン「STM32F10x」グループには4種類のシリーズを用意した フラッシュマイコン「STM32F10x」グループの製品展開
STM32の内部ブロックと主な仕様。フラッシュメモリが128KB以下の製品では20B、フラッシュメモリが256KB以上の製品では84Bのバックアップ・レジスタを備えており、省電力モード時にSRAMのデータをこのレジスタに退避できる STM32の内部ブロック。なお、この図面はSTマイクロエレクトロニクスのプレスリリースから引用した STM32が内蔵するフラッシュメモリ。書き換え可能回数は1万回保証とかなり多い

 講演の最後には、STM32ファミリの今後の製品展開について少しふれていた。現在はフラッシュマイコンでもフラッシュメモリ容量が128KB以下の製品を出荷中である。今後6カ月以内に256KB/384KB/512KBと大容量のフラッシュメモリを内蔵した品種を出荷する。また2009年内に低消費電力版、USBホストコントローラ内蔵版、高性能版の3種類のシリーズを発売する計画である。その中でも低消費電力版とUSBホストコントローラ内蔵版(STマイクロは「コネクティビティ」と呼称)は開発がかなり進行しているようで、具体的な仕様を一部明らかにしていた。なお高性能版は、動作周波数が100MHz以上のマイコンとなるもようである。

STM32ファミリの製品ロードマップ 低消費電力版STM32の製品展開。「STM32L」シリーズと命名されている STM32Lシリーズの内容。液晶ディスプレイ・コントローラを内蔵していること、電源電圧が最小1.65Vと低いことなどが特徴
USBホストコントローラ内蔵版STM32の概要。組み込み用マイコンらしく、USB OTGに対応する USBホストコントローラ内蔵版STM32の特徴。Ethernet 10/100 MAC(IEEE 1588準拠)と2チャンネルのCAN 2.0Bコントローラも内蔵しており、ネットワーク機能を強化したマイコンとなっている USBホストコントローラ内蔵版STM32の製品例。Ethernet 10/100 MACを内蔵する「STM32F107」と、内蔵しない「STM32F105」

●東芝は32bitマイコンにARMコアを全面採用へ

 最後に、株式会社東芝 セミコンダクター社、東芝マイクロエレクトロニクス株式会社 マイコン応用技術部 部長の宮脇司氏による「東芝におけるCortex-M3コア搭載の新製品MCUの紹介と製品戦略」と題した講演の概要をご紹介する。

 東芝はこれまで32bitの組み込み用マイコンとして、MIPS32命令セットとMIPS16e命令セットを装備した「TX19」ファミリを提供してきた。また16bitマイコンと8bitマイコンには独自アーキテクチャのCPUコアを内蔵した製品をそれぞれ「TCLS-900」ファミリ、「TCLS-870」ファミリと名付けて供給してきた。ただし組み込みマイコンの次世代製品に関する展望を東芝は最近まで公表せず、いささか不安視されていたところがある。

 東芝内部では当然ながら、組み込みマイコンを今後どうしていくかは検討しており、非常に困難な課題だったと予想する。選択肢の候補には、次世代CPUコアの独自開発、既存製品のCPUコアの改良、高性能CPUコアのライセンス導入、などがある。その中で次世代CPUコアでは独自路線を捨て「社運を賭けて」(宮脇氏)ARMコアの全面採用に踏みきった。

 次世代の32bit組み込みマイコンに対する基本的な考え方は、高性能版にARM9コア内蔵の「TX09」ファミリ、普及版にCortex-M3コア内蔵の「TX03」ファミリを提供するというものだ。ARM9コア内蔵マイコンの最初の製品は液晶コントローラ内蔵品で、型名が「TMPA910CRAXBG」。2008年2月に米国で東芝が開発を発表したマイコンである。このTMPA910CRAXBGをベースに、新製品の開発を計画中だという。

 また2008年6月6日に名古屋で開催されたARMソリューションセミナーで東芝は、車載用32bitマイコンにARMコアを積極的に搭載していくと述べていた。「Cortex-M3」コアと「Cortex-R4F」コア、「Cortex-A9」コアの導入をこの時点で東芝は明らかにしている。

 そして9月29日に、Cortex-M3コアを内蔵したデジタルAV(オーディオ・ビジュアル)機器向け32bitマイコンを開発し、12月にサンプル出荷を始めると発表した。複数のデジタルAV機器をお互いに制御する「CEC(Consumer Electronics Control)」機能と独自開発の高速フラッシュメモリを内蔵した品種で、型名が「TMPM330FDFG」となる。今回のARM Forumでは、この「TMPM330FDFG」を中心にCortex-M3コア内蔵マイコンの製品展開が述べられた。

汎用マイコンにARMコアを導入 Cortex-M3コア導入の背景。講演では、SOCでARMコアを利用した経験のあるユーザーが、ソフトウエア開発環境が共通なARMマイコンを望んでいると述べていた マイコン用CPUコアのロードマップ。将来は「Cortex-R4F」コアと「Cortex-A9」コアを採用したマイコンがそれぞれ登場しそうだ

 Cortex-M3コアを内蔵したTX03ファミリではすでに、数多くの製品を供給していく予定になっている。最初の製品系列であるデジタル家電向けのTMPM330グループを皮切りに、汎用品のTMPM333グループ、インバータ制御用のTMPM370グループ、オーディオ機器用のTMPM360グループ、家電用のTMPM380グループなどを順次、出荷していく予定である。基本的にはすべて、フラッシュマイコンとなる。

X03ファミリの製品展開。計画中の製品を含め、20品種前後が予定されている TMPM330グループの主な仕様と内部ブロック。CEC機能とリモコン判定機能を内蔵する TMPM333グループの主な仕様と内部ブロック。東芝が、ユーザーの要望を収集するためにも使われる
TMPM370グループの主な仕様と内部ブロック TMPM360グループの主な仕様と内部ブロック。最大2MBと大容量のフラッシュメモリを内蔵する TMPM380グループの主な仕様と内部ブロック。電源電圧が5Vの家電製品に向けた

 こうやってSTマイクロエレクトロニクスと東芝のCortex-M3内蔵マイコンをそれぞれ眺めていくと、同じCPUコアでも周辺回路の違いによって随分と異なるマイコンに変わることが分かる。かつてはCPUコア・アーキテクチャの違いがマイコンの差異化に大きく寄与していたが、現在のマイコンは周辺回路やミドルウエア、開発環境などの整備状況が差異化の大きな要因を占めている。もちろんCPUコアはマイコンにとってきわめて重要なのだが、それだけではマイコンの価値が決まらないのが、マイコン・ベンダーにとって悩ましいところだ。

 CPUコアの独自開発にばく大なリソースを投入しても、マイコン事業にとっての見返りは以前に比べると大きくない。購入に値するIPコアはCPUコアを含めてどんどん購入し、独自開発の回路コアは少数にとどめ、一方で人的リソースはマーケティング活動やパートナー作り、ユーザー教育などに割く。マイコン事業はハードウエア事業ではなく、ソフトウエア事業ですらなく、サービス事業へと突き進んでいるようにも見える。

□ARM日本法人のホームページ
http://www.jp.arm.com/
□ARM Forum 2008のホームページ
http://www.jp.arm.com/event/forum2008.html
□STマイクロエレクトロニクスのホームページ
http://www.st-japan.co.jp/
□STM32ファミリのホームページ
http://www.st-japan.co.jp/mcu/stm32.html
□東芝マイコンのホームページ
http://www.semicon.toshiba.co.jp/product/micro/
□TMPA910CRAXBGのリリース(英文)
http://www.toshiba.com/taec/news/press_releases/2008/mcus_08_515.jsp
□関連記事
【10月22日】【ARM Forum】32nm/28nmプロセス対応の準備を進めるARMコア
http://pc.watch.impress.co.jp/docs/2008/1027/arm01.htm
【6月16日】【ARMソリューション】車載用マイコンへの普及拡大を狙うARMコア
http://pc.watch.impress.co.jp/docs/2008/0616/arm.htm
【2007年10月18日】【ARM Forum】2010年をにらんだARMの戦略と新CPUコア
http://pc.watch.impress.co.jp/docs/2007/1018/arm.htm

(2008年10月29日)

[Reported by 福田 昭]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.