8ビット、16ビットの時代は終わる:NXP Semiconductors社 シニアバイスプレジデント Pierre-Yves Lesaicherre氏
オランダNXP Semiconductors(NXP)社は、英ARM社と共同でマイクロコントローラIP「Cortex-M0」の開発に取り組み、いち早く製品化するなど、32ビットマイクロコントローラの普及に力を入れている。NXP社のシニアバイスプレジデントでマイクロコントローラ部門のゼネラルマネージャを務めるPierre-Yves Lesaicherre氏に、同社のマイクロコントローラ市場における戦略を聞いた。
EE Times Japan(EETJ) これまでNXP社では、どのようなマイクロコントローラを提供してきたのか。
Lesaicherre氏 米Intel社の8ビットマイクロコントローラ「8051」をコアにしたマイクロコントローラを長い間提供してきた。現在でも提供しているが、もう顧客には推奨していない。
EETJ なぜ推奨していないのか。
Lesaicherre氏 8ビットや16ビットのマイクロコントローラでは、多様な顧客の要望に応えられなくなっているからだ。特に、組み込み機器メーカー各社は、他の機器との通信機能を求めるようになってきている。USBを使ってPCと接続したり、Ethernetでインターネットに接続するという機能が求められているのだ。自動車ならCAN(Control Area Network)で複数の機器と通信する必要がある。
また、タッチパネルなどの先進的なユーザーインタフェースを使うときも、8ビットや16ビットのマイクロコントローラでは難しい。より高い処理性能が求められている。そこで、NXP社では32ビットのマイクロコントローラに移行することに決めた。
現在、NXP社ではARM社のコアを採用した32ビットマイクロコントローラを顧客に勧めるようにしている。8051は古いアーキテクチャと言わざるを得ない。これの改良を続けるよりも、ARM社のコアを採用した32ビットマイクロコントローラに集中する方が良いと判断している。現在、開発中のマイクロコントローラは全てARM社のコアを採用した32ビットマイクロコントローラだ。NXP社としては、ARM社のコアを搭載した製品を、マイクロコントローラ事業の軸にしていくつもりだ。
EETJ NXP社のマイクロコントローラは、ARM社のどのアーキテクチャを採用しているのか。
Lesaicherre氏 ARM社のコアを搭載したマイクロコントローラのビジネスは「ARM 7」と「ARM 9」から始めた。これは、今でも続けている。それから、「Cortex-M3」のライセンスを取得し、2009年末には「Cortex-M0」をARM社と共同で開発した。Cortex-M0は、既存の8ビット、16ビットマイクロコントローラの置き換えを強く意識して開発した。
EETJ Cortex-M0を共同開発する際に特に意識した点は。
Lesaicherre氏 まず、8ビットマイクロコントローラの長所を研究した。プログラム開発が比較的容易、価格が安い、消費電力量が少ない、経験を積んだ開発者がかなり多いといったところが8ビットマイクロコントローラの特徴だろう。
Cortex-M0ではまず、プログラム開発を容易にするために命令セットをコンパクトにした。Cortex-M3は100を超える命令を使えるようになっているが、一般的な8ビットマイクロコントローラの命令セットは30〜50の命令しか備えていない。
そこでCortex-M0では、命令を35に絞った。これで、命令セットの複雑さという点で、8ビットマイクロコントローラと同等のものにできた。そして、必要に応じてCortex-M3にアップグレードできるように、Cortex-M0の命令セットはCortex-M3の下位互換とした。つまり、Cortex-M0で動作するプログラムは全てCortex-M3で動くということだ。
下位互換という点では、チップのパッケージも工夫した。NXP社のCortex-M0搭載マイクロコントローラ「LPC1100」シリーズと、Cortex-M3搭載の「LPC1300」シリーズは同一のパッケージにして、ピンにも互換性を持たせた。
次はチップの価格だ。ダイを小さくすれば、チップの単価を下げられる。Cortex-M0の回路規模は1万2000ゲートに抑えてある。一般的な8ビットマイクロコントローラの回路規模は1万2000ゲート〜2万ゲートといったところだ。この点でもCortex-M0は8ビットのマイクロコントローラと並ぶものになった。回路規模が同等なら、コストはあまり変わらない。LPC1100シリーズの価格は、1個当たり65米セントからとなっている。
NXP社ではこれまで15年間で、およそ100種類の8ビットマイクロコントローラを設計してきた。Cortex-M0を使ったマイクロコントローラは、15年間の歴史の中で2番目に回路規模が小さい。
EETJ 消費電力量を節減する手法は。
Lesaicherre氏 消費電力量の節減には幾つかの方向から取り組んでいる。まずは微細な製造技術の導入だ。典型的な8ビットマイクロコントローラは、250nm製造技術を適用している。NXP社は、台湾Taiwan Semiconductor Manufacturing Company(TSMC)社と共同出資で、シンガポールにSystems on Silicon Manufacturing Company(SSMC)社という半導体製造企業を設立している。出資比率はNXP社が60%、TSMC社が40%だ。
SSMC社は200mmウエハーを処理するラインを持っており、180nm、140nmの2種類の製造技術に対応できる。8ビットマイクロコントローラよりも微細な製造技術を適用すれば、それだけでも消費電力量を下げられる。
8ビットや16ビットではなく、32ビットマイクロコントローラだからこそ、消費電力量を節減できるという面もある。大きな数値を計算するときに、32ビットマイクロコントローラなら、32ビットのレジスタに格納して少ないクロックサイクルで処理ができる。8ビットや16ビットでは、計算対象を分割して、レジスタに何度も入れて、その後にそれぞれの演算結果をまとめるようなことになるので、かなりのクロックサイクルを消費してしまう。少ないクロックサイクルで同じ処理ができれば、マイクロコントローラが演算している時間を短くでき、その結果消費電力量を節減できる。
計算対象を分割して、レジスタに何度も入れて、その後にそれぞれの演算結果をまとめるようなことをすれば、自然にプログラムは長くなる。つまり、8ビットや16ビットのマイクロコントローラ向けに作っていたプログラムを32ビットマイクロコントローラ向けに作り替えれば、プログラムを小さくできるのだ。
プログラムを小さくできれば、プログラムを格納するフラッシュメモリや、実行するプログラムを格納するRAMを小さくできる。こういう面でも消費電力を節減できる。
現在、NXP社が販売している「LPC1100」シリーズの動作時の消費電力は150μA/MHzだ。2010年4月20日に発表した「LPC1102」は動作時の消費電力を130μA/MHzに下げた。この製品は2010年第4四半期から量産する予定だ。そして、2010年中には動作時の消費電力を100μA/MHzにまで下げた製品を発表したいと考えている。
今後は、フラッシュメモリのセルの設計を改良していくことで消費電力量を下げていきたいと考えている。マイクロコントローラのブロックごとの消費電力をNXP社で調べたところ、フラッシュメモリがかなり大きな割合を占めていることが分かった。この部分を改良できれば、消費電力は下げていけると思う。
EETJ 8ビットや16ビットのマイクロコントローラの経験が豊富で、その世界から離れたがらない開発者もいるのでは。
Lesaicherre氏 確かに、熟達した開発者の数を比べると、32ビットマイクロコントローラよりも、8ビットや16ビットのマイクロコントローラの方が製品開発の点で有利かもしれない。しかし、先に説明したように、32ビットマイクロコントローラは8ビットや16ビットのマイクロコントローラよりも高性能で、プログラムを小さくできる。消費電力量や価格でも決して劣るものではない。そして、多様な機能を操ろうとしたら、32ビットマイクロコントローラの方が有利だ。移行する価値は絶対にある。
NXP社の顧客にも、8ビットのマイクロコントローラから離れようとしない顧客はいる。そのような顧客に、32ビットに移行した後に想定できるコードサイズを知らせても、信じようとしない。
そこで、ある顧客のコードを受け取って、32ビットマイクロコントローラ向けに移植したら、コードサイズが半分になった。それでもその顧客は信じようとしなかったが、その顧客に32ビットマイクロコントローラを使ってもらったら、半年後には「もう8ビットには戻れない」と8ビットマイクロコントローラには見向きもしなくなった。
EETJ これから、32ビットマイクロコントローラを使ってみようと考える開発者を支援する取り組みは何かあるだろうか。
Lesaicherre氏 NXP社では32ビットマイクロコントローラに気軽に触れてもらえるように、「LPCXpresso」という安価な評価ボードを用意している。Cortex-M0コアのマイクロコントローラを搭載したものなら3000円程度で購入できる。プログラム開発に必要なコンパイラや統合開発環境も提供する。
LPCXpressoはリンクボードとターゲットボードに分けることができる。Cortex-M0搭載マイクロコントローラはターゲットボードに搭載している。リンクボードにはUSB端子があり、これでPCに接続すれば、簡単にターゲットボード上のマイクロコントローラでプログラムを動かしてみることができる。
そして、リンクボードはJTAGのインタフェースピンも備えているので、自作のボードと接続し、そのボードで動作するプログラムのデバッグもできる。
さらに新しい試みにも取り組んでいる。開発者のPC上に開発ツールをそろえて開発するのではなく、インターネット上のサーバに開発ツールやライブラリなど、開発に必要なものをそろえてしまうという試みだ。
すでに、「mbed」という評価ボードでこの仕組みを実用化している。mbedを購入した開発者は、mbedのWebサイトでユーザー登録をしてもらう。するとそのユーザー専用のコードエディタがWebブラウザに現れる。ここにプログラムを書き込んで、コンパイルの指示を出せば、サーバ側でプログラムをコンパイルし、開発者に送り返す。あとは、簡単な操作でプログラムを評価ボードに書き込める。
mbedはARM社のソフトウエア部門の協力を得て開発した。このように、NXP社はARM社と密接な関係にあり、ARM社の技術ライセンスは全て取得している。これからも、ARM社と協力しながら、32ビットマイクロコントローラの世界を盛り上げていきたい。
Pierre-Yves Lesaicherre(ピエール・イブ・ルセシェール)氏
フランスNational Polytechnic Institute of Grenobleで物理学の博士号を取得。1998年までNECに勤務し、DRAMの開発に携わる。1998年からオランダPhilips社の半導体部門でゼネラルマネージャを務める。オランダNXP Semiconductors社発足後、シニアバイスプレジデントに就任。マイクロコントローラ部門のゼネラルマネージャも務める。
Copyright © ITmedia, Inc. All Rights Reserved.