富士通(厳密には富士通から分離した子会社の富士通セミコンダクターですが面倒なので富士通)がこの4月に,ARMのプロセッサコアCortex-M3のライセンシーとなり,その第一弾のチップFM3シリーズを発表しました。
最近多くある,国内大手半導体メーカーのARMへの宗門替えというとらえ方をするとそれまでなわけですが,実際のところ,東芝,旧NEC,旧ルネサス(日立と三菱),沖電気,シャープといった,マイクロコントローラを大量に作って売りまくっていた日本のメーカーのほとんどが,すっかりARMコアのお得意さんなっていることにはっとさせられます。
こうしてみると,独自プロセッサコアにこだわっているのは,大手ではパナソニックくらいではないかと思いますが,少しこのあたりの状況を考察してみようと思います。
1980年代,日本の産業は実に多くの分野で世界トップに君臨し,我が世の春を謳歌していました。この時に次の時代への仕込みを怠ったことが現在の凋落に繋がっているという指摘もなるほど道理ではあるわけですが,そんな最強無敵な時代においても,68000や8086といったパソコン向けのプロセッサでは結局覇権を取ることが出来ませんでした。
日立や三菱はTRONチップと呼ばれたG-microシリーズを作り,NECは独自設計のV60やV70,その後継であるV80を作って,その技術力を見せつけはしましたが,いずれもメジャーになることは出来ずにおわりました。V60やV70に至っては,あまりに知られていないが故に,不正コピー対策として業務用のゲーム基板に採用されたという,なんとももの悲しい話さえあるくらいです。
当時の論調では,半ば悔し紛れに「汎用のプロセッサでは後塵を拝すも,組み込み用途の4ビット,8ビットの独自設計のプロセッサでは数も売り上げも最強だ」と,その力を誇示していました。子供心にそんなものか,となにやらもやもやとしたものを感じて20年あまりが経ち,いよいよ大手メーカーから独自設計の火が消えたことが,私にはとても感慨深く思えるのです。
つまり,特定分野限定の「独自アーキテクチャ世界制覇」でさえ,日本の半導体は手放してしまったのだなあということです。
当時,半導体の入門書に,日本はメモリのような同じ回路をたくさん詰め込み,これを高品質で作る技術に長けている,一方アメリカはプロセッサのようなアルゴリズムが重要な独創的な製品に強みがある,と書かれていました。当時の日本もこういう自分達の弱点,欧米の強みを理解していたはずですが,とうとうその流れは止まることなく,最後の砦も陥落した,という言い方は,多少大げさでしょうか。
日本はかつて,家電製品の設計拠点であり,生産拠点でもありました。製品の設計現場から上がってくる多種多彩な要求に愚直に応え,その結果コストも性能も最適化された無数の組み込みマイコンが生まれて,家電品の性能アップ,低価格化に貢献していました。
よって生産数も膨大で,価格も下がりました。こうして単価が安く数を売らないと商売として成り立たない組み込みマイコンは,半導体専業メーカーが主力とするにはリスクが大きく,垂直統合型を強みとしていた当時の日本の家電メーカーが,系列の半導体を使う流れも加味されて,それぞれの独自マイコンが一定の地位を確立したわけです。
独自アーキテクチャですから,一度入り込んでしまうと他のメーカーのマイクロコントローラに切り替えることはソフトウェア資産の継承や回路の流用の観点からとても大変なことで,自ずと次も,またその次も,同じメーカーのマイクロコントローラを使い続けることになります。
面白いのは,こうして進んできた日本の組み込みマイコンの世界に起きている,ここ数年の異変です。それが,英ARMのプロセッサを採用するという流れです。
ARMという会社は,もともと1980年代初頭に,イギリスのAcornというパソコンメーカーが,自分のパソコンのCPUにぴったりのものがないので作ってしまおうという無茶を起源としています。1990年代にノキアの携帯電話に採用されたことで爆発的に普及し,世界制覇の流れが加速しました。その最大の武器は,圧倒的な低消費電力と,設計情報を売って自分達では半導体を生産しないという,ビジネスモデルでした。
やがて世界中のプロセッサメーカーが生産を始め,多くの製品に組み込まれていきました。日本の独自アーキテクチャによるマイクロコントローラは,相変わらず日本の製品には多く使われていましたが,すでに日本以外の国が多くの家電品を作る時代にあって,すでに少数派となっていました。
NECも東芝も富士通も日立も,大型の汎用機を手がけたコンピュータ界の巨人であり,しかも黎明期から半導体に挑戦し続けたメーカーですから,プロセッサには相当のこだわりがあったはずです。事実,それぞれに独自の個性を持つ,優秀な組み込みマイコンがこれまでにたくさん作られてきました。
それが,ここへきて,すべてARMからライセンスを受ける立場に変わったのです。
と,ここまでがやや感情的なお話です。
実際の所,Cortex-M3やCortex-M0は独自アーキテクチャであることがバカバカしくなるほど,よく考えられて作られている非常に優秀なプロセッサです。M3は割り込み応答も高速ですし,消費電力も低く,回路規模も小さいです。処理速度もコード効率も優秀であり,これまでの国産マイクロコントローラの売り文句がかすんで見えてしまうほどです。
ですので,半導体メーカーとしても,無理に独自アーキテクチャにこだわる理由が純技術的な理由においても,見当たらなくなりつつあるという現実があります。
ただ,見落としてはいけないことがあります。
それは,開発環境です。これまでの独自アーキテクチャのプロセッサの場合,統合開発環境をはじめ,コンパイラやデバッガ,ICEはもちろん,ライブラリやサンプルコードのすべてを自前で用意しなければなりませんでした。
これには膨大な時間とお金がかかりますし,出来上がったものは必ずしも優れたものになるとは限りません。ユーザーとしても,使いにくい統合開発環境やパフォーマンスの上がらないコンパイラに嫌気がさしても,他に選択肢はなかったのです。
開発環境の専業メーカーが自分のプロセッサ用の製品を作ってくれればまだよいのですが,星の数ほどあるプロセッサすべてに対応するはずもなく,自ずと人気のあるプロセッサしか用意されません。
その代わり,といってはずるいのですが,多くのメーカーは,自前で作ったツール類を,プロセッサを採用した大口ユーザーに対して,無償かそれに近い形で提供することが多く,ユーザーもそれを当たり前の事と考えていたところがあります。
半導体メーカーにしてみると,プロセッサだけを作ってもどうにもならないので,開発ツール類はどうせ作らなければなりませんし,良し悪しは別にして開発ツール類が主力製品というわけではありませんから,これで儲ける必要もありません。それに,社内で作っているわけですから実費がかかっているわけではないので,それをツール類の売り上げで回収する必要もありません。その分,プロセッサがしっかり売れてくれれば,全部カバーできるという算段です。
ところが,ARMを採用することで,ユーザーは,開発ツール類に専業メーカーが作るものを使う事になります。もはや半導体メーカーは自前で開発環境を整える必要から解放されるのです。よって,プロセッサ開発の費用と時間がぐっと抑えられることになるわけです。
ユーザーも,複数の製品から選ぶことが可能ですし,専業メーカーですから専門的なサポートも期待できます。しかし一方で,それが製品として彼らの唯一の売り物である以上,絶対に無料にはなりません。
ということは,ユーザーにとっては,それまで無料だった開発環境が有料になるのです。しかも,一般にARMの開発環境はARMにに対するライセンス料があるためか,他のプロセッサのものに比べて高価です。
こんな風に見ていくと,国内の半導体メーカーが独自アーキテクチャをやめてARMに乗り換えて行く流れというのは,一種のリストラと見ることも可能です。つまり,これまで内部で開発環境を作っていた部署を,縮小もしくは廃止することが出来るというわけです。膨大な費用が節約できそうです。しかも大きな顔をして,他の会社から別途買って下さい,と言えるようになるのですから,悪い話ではありません。
それに,餅は餅屋,という言葉の通り,専業メーカーの優秀なツールが使えるようになることは,非常に大きな武器になります。
ただ,ユーザーは,これまでなかった負担を考慮しなくてはならなくなるという点だけ,忘れないようにしないといけないです。
例えば,その半導体の単価が3000円もするものを使えるような,高価な製品の開発なら,トータルで100万円かかる開発環境に投資することは可能でしょう。あるいは,単価が100円でも,100万台の出荷が見込まれる製品の開発であれば,100万円の開発環境を用意することは可能でしょう。
問題は,1万台以下の出荷台数で,単価が50円程度の安いマイコンを使う場合です。100万円の開発環境が必要となった場合,仮に10000台の出荷台数では1台あたり100円かかることになり,なんとプロセッサ自身の単価の2倍にもなってしまうのです。
これなら,多少使いにくいものであっても開発環境が無償かそれに近い価格で利用出来る独自アーキテクチャのものを選んだ方が,それが数十円高い単価であっても,トータルで安く出来るということになります。
忘れてはならないのは,こうした開発にかかる費用というのは,最終的には消費者が負担するのだということです。企業はかかったお金にいくらか上乗せして作った商品を売るのですから,間接的にとはいえ,原則的には全額消費者が負担しています。だから,エンドユーザーである我々にとっても,無関係な話ではありません。
この,開発環境にかかるお金というのは100万円単位のなかなか大きな金額なのですが,初期費用として見えにくくなる上,測定器などと同じような固定資産として扱われることが多いため,案外見過ごされがちです。ですがこのあたりの事情に気付いている半導体メーカーもぼつぼつ出てきていて,ARMのコアを使っていても,自前でちょっとした開発環境を無償で提供するメーカーが現れたり,専業メーカーのツールを自社のプロセッサ専用の機能限定版として無償提供したりするところも出てきました。
ARMというプロセッサは個人的にも好きなのですが,実際にこれを使ってなにかを作ると考えた時に,その開発環境をどう考えるべきか,という頭の痛い問題を解決できずにいました。自ずと,仕事であれば国産メーカーのものを,プライベートであればPICやAVRを使うということになってきたわけですが,制約があっても無償であったり,高機能だがとっても高価,という具合に,ARMにおいても様々な開発ツールを選べるようになって来つつあることは,本当の意味でARMがデファクトスタンダードになってきたのだなと感じます。
ARMは,Cortex-M0という32ビットのRISCプロセッサが,すでに8ビットや16ビットの過去のプロセッサよりもダイサイズが小さくなる場合すらある,といっています。
ちょっと大げさな話かも知れませんが,それでもわずか12kゲートという回路規模ののCortex-M0が,これまで使われてきた16ビットクラスのマイコンに比べて,処理能力についても価格競争力についても,十分な競争力を持ち合わせていることは事実です。
これに匹敵するプロセッサをどうして日本のメーカーが開発できなかったのかと,残念な気持ちは確かにありますが,もはや国だの会社だのは小さい事なのかも知れません。最終的に,安くて良い製品が市場に投入され,価値あるものとして社会が良い方向に向かえば,それが一番大切なことです。
余談ですが先の富士通のFM3,1981年に半導体部門が作り上げた富士通初のパソコンであるFM-8にひっかけているという話を,富士通の方が自らされていました。最近何かと目にする「オッサンホイホイ」である可能性もありますので,該当する方はお気をつけ下さい。