ページの先頭です
本文へジャンプする

本ウェブサイトでは、JavaScriptおよびスタイルシートを使用しております。
お客さまがご使用のブラウザではスタイルが未適応のため、本来とは異なった表示になっておりますが、 情報は問題なくご利用いただけます。



Volume 24 (2004/01/28)

V850シリーズに賭けた情熱の物語・第一部 (1/2)

「世界初の32ビット・シングルチップマイコンをめざして」


マイコンの大きなうねりの時代のなかで

金子 博昭
写真 1 第三システムLSI事業部
グループマネージャー
金子 博昭

2003年12月、32ビット・マイコンV850コアを搭載した製品が3億個の出荷を達成した。1996年4月にオリジナルのシングルチップマイクロコントローラ V850シリーズを市場投入して、約7年半で達成した快挙である。現在、全世界で500社以上のお客様に使用されている。いまでこそ民生機器から自動車の制御機器までさまざまな領域で活躍しているV850シリーズだが、世界初のRISC32ビット・シングルチップマイコンの開発に明け暮れた11年前を、金子博昭は「暗中模索の状態だった」と振り返る。

当時、マイコンは16ビットから32ビットへ、CISC(Complex Instruction Set Computer)からRISC(Reduced Instruction Set Computer)へと、大きなうねりの時代を迎えていた。4ビット、8ビット、16ビットのシングルチップマイコンといったCISCのステージで世界トップクラスのシェアと品種系列を誇っていたNECエレクトロニクス(当時NEC)は、32ビットRISCでも開発の最先端を走っていた。すでに、オリジナルの32ビットRISCマイクロプロセッサ V810の開発に成功していたのである。しかし、マイクロプロセッサのお客様には評価が高かったこのV810も、シングルチップマイコンのお客様からの評価はコードサイズひとつとっても手厳しいものだった。RISCはCISCに比べコードサイズは大きくなるが、それは性能を優先させれば当然のことだった。しかし、シングルチップでは、この大義名分がそのままでは通用しなかったのである。


次世代は32ビットでRISC。量産品があります

1992年12月、金子は急遽カリフォルニアに飛ぶことになった。16ビット・マイコン 78K/IIIシリーズの最大のお客様であるハードディスクドライブメーカーの次世代製品向けプレゼンテーションを行うためだった。78K/IIIシリーズの後は78K/VIIシリーズの投入がすでに決まっていたのだが、さらに高能化を望むお客様の要望に応えるため、この年に発表されたばかりの32ビットRISCマイクロプロセッサ V810ベースでプレゼンに望むことになった。「次世代は、32ビットでRISC。V810べース。量産品があります。」というプレゼン骨子だった。ところが、お客様はDSPを考えていた。そこに真っ向から別の商品企画をぶつけたわけだ。「今から考えると無茶だったと思いますが、それしかなかったし、それで大丈夫だと思っていた」と金子は正直な気持ちを語った。しかし、読みは大きくはずれた。

「ハードディスクの制御ソフトウェアの勉強がまったく不足していた」と金子は振り返る。つまり、お客様のやりたいことがまったく分かっていなかったのだ。「しまった」と内心後悔したが、ここで諦めたらわざわざやって来た甲斐がない。そこで、お客様のプログラムソースコードをいただこうと考えた。通常、門外不出のものである。当然、先方はためらった。しかし、金子は食いさがった。そして「説明はしない。質問にも答えない」という条件で、ようやくソースコードを開示していただくことができた。プログラムは、アセンブリ言語で記述された3千行くらいのものであった。お客様の高度に専門的なプログラムを読み、32ビットRISCで実行した場合、より高性能になるということをデータで証明しなければならない。しかも、時間はなかった。プレッシャーはとてつもなく大きかったが、「お客様の実製品のソースコードの現物が読める」という好奇心がなによりも勝っていた。


アーキテクチャを作ってはプログラミングの繰り返し

杉本 英樹
写真 2 第三システムLSI事業部
シニアデザインエンジニア
杉本 英樹

1993年1月14日。シングルチップRISCマイコン開発チームが発足した。それまで使用されていた16ビット・マイコン78K/IIIシリーズでの速度とプログラムサイズを100とし、32ビットRISCではそれらがいくつになるかを定量化してお客様に提案しようということになった。そのメイン設計を担当したのが一番若手の杉本英樹だった。杉本は結婚を間近に控えていた。だが、「浮かれてはいられない」と仕事に明け暮れ、たまの休みにプライベートの雑事をこなすといったハードな日々が続いた。「まだ若かったし、さほど苦労をしたとは思っていません」と杉本は笑う。

ハードディスクの制御ソフトウェアは、システム制御とサーボ制御に分かれる。お客様から入手したソースコードのサーボ制御部分は、数百行のプログラムだったが、極めて専門的だった。開発チームは、そこからアルゴリズムを解析した。サーボ制御では高度なデジタル信号処理を必要とするためDSP機能が求められる。そこで、1クロックで演算できる専用の乗算器をハードウェア搭載し、DSP演算ができる命令をワンセット、また、演算で使用できるレジスタ(ワーク領域)を32本用意した。これにより、16ビットDSPに比べて演算能力は同等以上なのに、ワーク領域を広げることができた。特に苦労したのが、割込み応答速度の改善である。サーボは割込みで起動するため、割込み応答性が悪いと演算能力が高くても、トータル性能が落ちるのだ。

そして、システム制御ではC言語プログラミングの効率が上がるようなアーキテクチャを採用し、最適化コンパイラも用意した。さらに、メモリ内のビットデータを操作できる命令を用意し、シングルチップ固有のアプリケーションに対応できるようにするなど工夫を凝らした。

1993年2月末。試行錯誤の末、プログラムのソースコードを入手して約3ヶ月で基本設計を終えることができた。その結果、性能指数は78K/IIIシリーズの710%で、しかもコードサイズ指数は95%を達成した。MHzも勘案すると、78K/IIIシリーズより10倍高速で、プログラムサイズ(ROMサイズ)は同等となった。つまり78K/IIIシリーズと同じくらいのコストで10倍の高性能なシングルチップマイコンの提供が可能になるのだ。



| 1   2 |