Skip to main content

開発ストーリー 第三話

Share:

第三話

出る杭は打たれた、社内に吹き荒れる逆風

SHマイコン開発物語の第3回目。SHマイコンの開発構想が社内で表化するにつれて,社内に不穏な動きが見え始めた。SHマイコンの開発を快く思わない人たちの否定的な言動である。社内にはすでに32ビット・マイクロコントローラの開発を着々と進めていたグループがあった。こうした陣営にとってSHマイコンは突然出現した異端児に見えたのだ。あくまでも独自アーキテクチャを貫くか,妥協して折衷案を取り入れるか。SHマイコン存亡の危機に,河崎氏らは選択を迫られる。

「目の上のたんこぶ」。それができたとしても,ごく小さいうちは気にも止めない。しかし大きくなるにしたがって,目障りでしかたがない存在になっていく。
SHマイコンの開発を画策する「河崎チーム」の活動が社内に知れ渡るにつれて,こうした動きを快く思わない人々からの否定的な意見が耳につくようになってきた。いわく「いまさら新しいアーキテクチャのマイクロコントローラを作ってどうする」,「いったいだれに売るつもりだ。市場はどこにある」。

図1: 見えなかったSHマイコンの市場

図1: 見えなかったSHマイコンの市場
1990年当時の日立製作所のマイクロコントローラのラインアップ。
4種類のマイクロコントローラで,レーザ・プリンタからVTRまでをカバーする布陣だった。
はた目には,こうした棲み分けに影響を与えずにSHマイコンを売り込むのは困難に見えた

当時,日立製作所はSHマイコンと同じ32ビット・アーキテクチャのマイクロコントローラを2種類開発していた。一つはTRON仕様に準拠するGMICROシリーズのCISC型マイクロコントローラ,もう一つは米Hewlett-Packard Co.が開発した*PA-RISCアーキテクチャに基づくRISC型マイクロコントローラである。SHマイコンの開発に難色を示したのは,こうした32ビット・マイクロコントローラの開発を推進する陣営だった(図1)。

なかでもSHマイコンの開発グループにとって頭が痛かったのが,PA-RISCアーキテクチャのマイクロコントローラの存在である。SHマイコンの性能を高めると,PA-RISCアーキテクチャの製品と市場でぶつかってしまうのだ。PA-RISCアーキテクチャのマイクロコントローラの設計は,日立製作所の研究開発の中枢とも言える中央研究所で着々と進行していた。いわば全社の注目を集める期待の高性能マイクロコントローラだった。一方,SHマイコンの開発グループは,社内では異端の新興勢力にすぎない。形勢は不利だ。
かといって,PA-RISCアーキテクチャのマイクロコントローラとの競合を避けるために単に性能を抑えても,問題は解決しない。今度は,すでに多くのユーザを抱える「H8シリーズ」と呼ぶ既存のCISC型マイクロコントローラの市場を侵食することになってしまう。
四面楚歌。「「開発計画そのものを中止しろ」という声も少なくなかった」と,河崎氏の上司だったマイコン・ASIC本部 マイコン設計部 部長の馬場志朗氏は当時を振り返る。

ページトップに戻る

互換性か性能か

開発が軌道に乗ろうとした矢先に吹き荒れ始めた社内からの逆風。SHマイコンの開発は,暗礁 に乗り上げてしまった。
事態の打開に向けて,河崎氏らが選べる道は二つだった。一つは,SHマイコンの命令セットに,PA-RISCアーキテクチャのマイクロコントローラと命令セットとの互換性を持たせること。命令セットに互換性があれば,PA-RISCアーキテクチャ用に開発したプログラムをSHマイコンで実行することが容易になる。PA-RISCアーキテクチャのマイクロコントローラとSHマイコンが市場で共存できる。
もう一つはPA-RISCアーキテクチャのマイクロコントローラとの違いをハッキリさせ,二つのマイクロコントローラが市場で棲み分けられることを証明する戦略である。

価格対性能比に賭ける

PA-RISCアーキテクチャを受け入れるか,市場での競合を避けることで独自アーキテクチャを保つか。河崎氏の腹は決まっていた。初心貫徹。独自アーキテクチャにこだわろう。このために,PA-RISCアーキテクチャのマイクロコントローラと同じ市場はあえてねらわない。
SHマイコンの開発はもともと,独自アーキテクチャに基づく理想のRISC型マイクロコントローラを作りたいという信念から始まったもの。ここでPA-RISCアーキテクチャの命令セットを導入しては,SHマイコンの存在意義そのものが怪しくなってしまう。
PA-RISCアーキテクチャのマイクロコントローラとの違いを明確にするために,SHマイコンの目標とする演算性能を10*MIPS~20MIPSに設定した。PA-RISCアーキテクチャのマイクロコントローラの目標性能は50MIPS程度だった。これなら性能面でPA-RISCアーキテクチャのマイクロコントローラと競合する心配はなくなる。
もっとも,性能を抑えるだけではCISC型マイクロコントローラに早晩追いつかれてしまうだろう。そこで,価格対性能比の高さを前面にアピールすることにした。
マイクロコントローラの価格対性能比は,単位面積当たりの演算性能に密接にかかわる。そこで「10mm2のチップ面積で,演算性能は10MIPS以上」という目標を定めた。
当時のCISC型マイクロコントローラは,1mm2当たりの演算性能が0.1MIPS程度というのが相場だった(*注1)。これを10倍にしようというわけだ。「この性能を実現できれば,価格対性能比が業界最高のマイクロコントローラになるという自信があった」(馬場氏)。

ページトップに戻る

チップ面積の縮小に執着

RISC型マイクロコントローラはもともと,CISC型に比べてチップ面 積を小さくできるという特徴を備える。命令数が少ないために,CPUコアの構造を比較的単純にできるからだ。しかし,この特徴を生かすために単なるRISC型マイクロコントローラを作るだけならば他社にもできる。
そこでSHマイコンの開発チームは,さらなるチップ面 積の縮小を目指した。たとえば,チップ面積を抑えるために汎用レジスタの本数を16本に減らすことにした(図2)。

図2: SHマイコンの目標仕様第1版

図2: SHマイコンの目標仕様第1版

図2: SHマイコンの目標仕様第1版
SHマイコンの目標仕様が策定されたのは1990年10月4日。汎用レジスタが16本であることや,16ビットの固定長命令を備えることといった基本的な仕様が初めて明文化された。動作周波数は20MHzだった。

ページトップに戻る

図3: 汎用レジスタの本数が16本で十分なことを定量的に証明

図3: 汎用レジスタの本数が16本で十分なことを定量的に証明
チップ面積を抑えるためには,汎用レジスタの本数をなるべく少なくしたい。
組み込み用途ならば16本あれば足りることを証明するために,プログラムを解析した。
この結果,変数が10個以下の関数が95%以上を占めることがわかった。

当時のRISC型マイクロプロセサは,汎用レジスタを32本以上備えていた。それが常識だった。しかし,常識にとらわれていては,他社を凌駕するようなマイクロコントローラは作れない。組み込み用途のプログラムを解析し,16本の汎用レジスタで十分であることを裏付けた(図3)。

さらに,SHマイコンの命令フォーマットには16ビットの固定長を採用することにした。32ビットの固定長命令を使うPA-RISCアーキテクチャのマイクロコントローラに比べてオブジェクト・コード効率(*注2)を高め,プログラムの容量を抑えるためである。組み込み機器の場合,ワークステーションなどのようにメモリ代に大きくコストを割くことができない。オブジェクト・コード効率の高さは,組み込み制御用途への普及を目指すSHマイコンの,有力な武器になるはずだった。

ページトップに戻る

ついに本格設計に着手

SHマイコンの開発チームを統括していた半導体設計開発センタ マイコン設計部長(当時)の木原利昌氏と馬場氏は,次第に固まってきたSHマイコンの仕様を携えて,SHマイコンの開発に難色を示す社内の幹部を説得するためのプレゼンテーションを繰り返した。「当時作成した資料の1/3は,社内を納得させるためのものだった」(馬場氏)。こうした努力が実を結び,SHマイコンの開発に対する風当たりがようやく弱まってきた。
1990年の秋に,SHマイコンの開発グループに2人の技術者が加わった。論理設計を担当する野口孝樹氏と,命令セットの設計を担当する塚元卓氏である。
野口氏は中央研究所で,H8マイコンの開発などに携わったベテラン設計者。塚元氏は8ビット・マイコンで論理設計を担当していたところを,河崎氏と野口氏がたっての願いで引き抜いた。もっとも塚元氏はその経緯について,こう懐述する。「「スーパースカラ構造のマイクロコントローラの設計ができるよ」との誘いに乗ってSHマイコンの開発チームに参加することにした。ところが,実際のSHマイコンはスーパースカラではなかった。ダマされた」。

ページトップに戻る

第四話へ続く

(枝 洋樹)

*RA-RISCアーキテクチャ:
米Hewlett-Packard Co.が1989年に発表したRISCアーキテクチャ。現在では主にワークステーションのマイクロプロセサに採用されている。

*MIPS:
Dhrystoneベンチマークの実行回数で測ったマイクロプロセサの性能。整数演算性能を示す。米Digital Equipment Corp.のミニコン「VAV─11/780」の実行回数を基準にして表現する。

*注1:
実際のSHマイコンの性能は16MIPS(20MHz動作時),CPUコアの面積は6.58mm2だった。1mm2当たりの演算性能は2.43MIPSと目標を上回った。

*注2:
あるプログラムを記述したときに,プログラム・サイズをどれぐらい小さくできるかを表す。オブジェクト・コード効率が高いほどプログラム・サイズが小さくなる。

出典

日経エレクトロニクス 1997年8月18日号開発ストーリ「SHマイコン開発-第3回」P155-158

開発ストーリーTOPへ

ページトップに戻る


End of content

Back To Top