電子デバイス産業新聞(旧半導体産業新聞)
新聞情報紙のご案内・ご購読 書籍のご案内・ご購入 セミナー/イベントのご案内 広告のご案内

ICの登場と発展 4


16ビットマイコン競争激化の時代
~Intel社が世界一の理由は優れたマーケティング力だ!

2022/6/17

 16ビットのマイクロコンピュータの市場では、1975年にはナショナルセミコンダクター社がIMP-16をリリースし、TI社は、TMS9900をリリースした。1978年には、Intel社は8086、16ビット・マイコンを発売し、1980年にモトローラ社がMC68000Mを発売して、マイクロコンピュータは16ビットの時代となった。

 1970年のIntel社の4004マイクロコンピュータからわずか5年で16ビットのマイクロコンピュータが発表されて競争になっていることを考えると、コンピュータのシステム設計の技術と半導体を製造するためのウエハー製造の技術がDRAMを先駆けとして相互に影響しあって急速な進化を遂げた。

 1980年か1981年、16ビット・マイコンで筆者が仕事で扱ったのは、MC68000であり、1981年にICとしてではなく、日本へ入ってきた評価用基板の最初のロットの2枚を入手することができて内容を調べ、早くから学習することができた。MC68000は、IBM社が設計に関与したのでは?と思わせるほど、IBMの360アーキテクチャに似ていて、マイコンというよりミニ・コンをワンチップ化したものと見えた。レジスタの構成は整っていて、まさにIBM360であったし、管理者とUSERの切り替えもシンプルでOSが作りやすいいのは一瞥で知れた。

 入手できた評価用ボードを参考にして、開発用の68000のボードを自社で開発して売り出した。開発には、8ビット用の開発ツールであるExsorciserに、入手できたモトローラ製の68000開発ボードを挿してアセンブラで開発を行った。私がBasicの入力方法を参考にした簡易エディタ、友人の福井さんがアセンブラを作り、EPROMに書き込んで、この開発したボードだけで、小さいサイズのプログラムであれば作ることができるものとした。

 68000の専用の開発ツールは、Exsormacsといった。このシステムを購入すると、ラックマウントの16MバイトのリムーバブルHDDが付いていた。29インチサイズのラックに組み付けるシステムである。専用OSのソース・コードも購入した。固定のHDDもあった。やはり8インチのHDDで、国産の最大容量は160Mバイトと記憶している。

 Exsormacs開発ツールでは処理速度は速く、色々な開発を行ったが、先の開発ボード用のアセンブラ、エディタの再構成を行い、最後まで取れなかったバグを解消した。残念なことに、この完成版は、リムーバブルのHDDに入れておいたところ、この近くで喫煙をした者があり、見事にリムーバブルHDDをクラッシュさせてくれた。このクラッシュで完成版は失われてしまい。そのままとなっている。以後、当開発室は禁煙となった。1980年代での禁煙は早い方と思う。

 この時代のこぼれ話を一つ紹介しよう。1981年か82年の話である。国内のあるシステム・ハウスで、CPUの優劣の話を戦わせた。MC68000はリリースが8086に比べて2年遅れていたが、この時、システム・ハウスの設計部員が見せてくれた、Intel社の厚さ1cmの本があった。この本の内容と同じ内容のモトローラ社の物が欲しい、とのことであったので、持っていたカバンから出して手渡した。これでひと騒ぎが起きた。

 このIntel社の本とは、8086CPUのバグの一覧表であった。多分、ナショナルセミコンダクター社やTI社が先んじて、16ビット・マイコンをリリースしたので、急いでいて、バグが未だ多かったにもかかわらず販売を始めたのであろう。私が手渡した、MC68000のバグ・リストはレターサイズの紙、1枚だけ。1冊の本と1枚の紙を比較すれば、マイコンICとしての完成度の違いは明らかであった。

 しかし、リリース時期が2年間遅れたことは、多くのシステム・ハウスが8086の採用を決めて、基板やソフトウエア作りに入っており、ノウハウと資産が溜まっていたゆえ、モトローラを使ってもらえる顧客はほとんどいなかった。これを挽回するのは容易ではなく、その後、68020から68050とシリーズは展開されてアップルのiMacで使われたが、Intelの80シリーズ、その後のPentium、Core-iに並ぶことはなかった。

 それでも、68000を使ったシステムをいくつか作った。また、半導体商社内の技術開発部であったものの、顧客の相談にも対応した。

 顧客からの相談でてこずったのは、モトローラ社と提携していた日立半導体が開発したDMAコントローラであった。HD68450、MC68000のバスに接続して指定通りの設定を行っても、例えば、フロッピーディスクからの転送要求に応えない。正確に言えば、応える時もあるが、それも数回で停止する。しかしメモリからメモリへの転送をコマンドとしてレジスタに書き込む場合は正常に動作する。こういう一見、中途半端な動作が一番困る。

 DMAコントローラがバスのアクセス権を持ったままHALTすると、システム全体がHALTする。細かく信号を観測し、色々なテスト手段を試みたところ、100%動作する方法が分かった。DMAコントローラに入力する転送要求の信号を68450のクロックで同期してやると動作する。つまり、本来、非同期でしか来ないDMA転送要求信号をDMAコントローラに同期して与える必要がある。つまり68450の内部では非同期信号の同期化が行われていなかったことが原因と推定できた。

 また、68000には数値演算命令があり、加減乗除がアセンブラ命令で行えた。しかし除算、(割算)を使わないことがアセンブラでソフトを作る際のお約束であった。この理由は、割り算は、確か168クロックであったと思うが、所要のクロック数が多い、つまり処理時間が長い割り算命令が実行中だと、1命令なので割込みほか、命令と命令の間から有効となる機能が必要な時間内に応答できないという問題があったからである。

 こういった、実際に開発、設計、デバッグを行った際に、直面した問題やノウハウをまとめて本にして、後日出版した。すでに絶版となっているが、電波新聞社刊の「68020ファミリの活用の実際」、「68020ファミリの設計の実際」の2冊である。電波新聞社に当時、聞いたところでは、どこかの専門学校で副読本としたとのことであった。
サイト内検索