新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)

ガジェット PC
大原雄介

猫に傅くために原稿を書いて日銭を稼いでいる毎日。元は組み込み系のエンジニアだったのに、もうずいぶん遠い所まで来てしまった。

特集

新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)
  • 新連載【人知れず消えていったマイナーCPUを語ろう】Intel 8080と同時代に生まれた16bit CPU「NS IMP-16/PACE/INS8900」の不遇(大原雄介)

コンピュータの歴史を暗部も含めてていねいに掘り起こすことで定評のある大原雄介さんによる新連載がスタート。テーマは、今となっては知る人も少ないマイナーCPUです。その第1回は、Intel i8080、Motorola MC6800と同時代に生まれた、ナショセミことNational SemiconductorによるCPU。



テクノエッジ編集部に移籍された松尾さんから「そろそろテクノエッジの方での新連載の企画を始めたいと思うのですが、いかがでしょう」という連絡が入ったのは昨年12月7日のこと。そこからあーでもない、こーでもないと新連載のネタの相談をしていたのだが、その中でふと思い出したのが、2019年に岩崎啓眞氏と交した会話である。

当時は、「んー商業メディアには難しいし、同人誌にして技術書典にでも出すか?」と思っていたのだが、本業(記事最下部のプロフィール参照)が忙しくて全然着手できなかった。ということでこのネタだったら書けますけどいかがです?と振ってみたところ、松尾さんから快諾いただいた次第である。なんかテクノエッジと全然マッチしてない気がするのだが、そこは見なかったふりをしたいと思う。

ということで、もともと岩崎氏からいただいたネタはSC/MPなのだが、実はそのSC/MPの前にもっと不遇な16bit MCUがあったというのは意外に知られてないし、SC/MPの後に出て来た32bitの32032シリーズも、これも不遇な経緯を辿っている。そんな訳でまずはNS三部作の1本目として16bit MCUシリーズをご紹介したいと思う(次回はSC/MPです>岩崎氏)。

NS、正式名称はNational Semiconductorsは、コネチカット州で1959年に創業した。創業メンバーはSperry Randの半導体事業部からのスピンアウト組であり、それもあって創業直後にSperry Randから特許侵害で訴えられるというオマケつきである。

2011年にTI(Texas Instruments)に買収される直前にはNSはアナログ半導体のメーカーとして認識されていたが、創業期は別にアナログもデジタルもなく、いろいろ売れそうなものを作って売る会社である。

有名なところではUART(Universal Asynchronous Receiver/Transmitter)の8250がNSで開発されている(互換品が山ほどあるので、そうとは判り難いが)。個人的な見解としては、デジタル系製品が全部鳴かず飛ばずであり、その一方でアナログ系はちゃんとそれなりに売れていたから結果的にアナログ半導体の会社と誤解されていただけではないか?という気もしなくはない。

1973年に生まれた16bit CPU

さてそんなNSが1973年に発表したのがIMP-16である。なにせ1973年だから、まだ1チップで構成するのは無理で、4bit ALUのIMP00A/520(RALU)×4(Photo01)とCROM(Control Read Only Memory)から構成される(Photo02)。

▲Photo01:RALUのデータシートより。動作周波数は最大700KHz。

▲Photo02:IMP-16C Product Descriptionから。CROMは要するに命令セットにあわせてRALUを駆動するためのデータを保持したROMである。

何のことはなく、AMDのAm2900(1975年発売)と同じ仕組みである。ただ後発のAm2900がBit Slice Processorとして様々なところで使われ、その名前が広く知られているのに対し、IMP-16というかRALUが全然そういう気配がなかったのは、売り方が悪かったのか、それともNSがそういうつもりがなかったからなのかは判らない。

その売り方であるが、プロセッサ部は1枚のボードに収まる形で提供され(Photo03)、他にRAMやROMカード、メモリコントローラ、TTY/Card Reader I/Fカードなどと合わせたミニコン(Photo04)の形で提供されたようだ。

▲Photo03:中央やや右に並んだ4列の600mil DIPがRALU。その左3つに2つ並んだ600mil DIPがCROM。CROMはデフォルトは1つだが、オプションで2つ目のCROMが装着可能になっていた。このSecond CROMを装着するとどんな良いことがあったのかは不明。

▲Photo04:Computer History Museumに収録されているIMP-16Pの実機。下半分はカードリーダーと紙テープリーダー/ライターと思われる。

ちなみにIMP-16の命令セットは、Data GeneralのNovaによく似たものだった。あくまで「よく似た」であって同じではない。例えばNovaにあるCPU Control InstructionsはIMP-16に見当たらないし、命令のフォーマットも異なる(Novaだと、上位3bitがSkip controlに割り当てられており、ここの値で命令実行後の分岐の仕方が制御できるが、IMP-16にはそうした機能がない)ので、あくまでもアセンブラレベルでの雰囲気が似ている、というレベルの話であるが。

このNovaは、Data Generalが大きく飛躍するきっかけになったマシンであり、DECのPDP-8のマーケットを奪って成長した。このあたりの話は以前こちらに書いているので、繰り返さない。

そして、まぁIMP-16が売れたか?というと売れなかった。1977年にJacquard SystemがこのIMP-16をベースとしたJ100というシステムを発表している(*1)が、記録に残ってるのはその程度である。

*1:Computer Worldの1977年11月21日号によれば、"TIのIMP-16"とか書いてあるのであれだが、TIはもちろんIMP-16なんてマイコンはラインアップしてないし、まさか2011年のTIによる買収を先取りした訳でもないだろう(笑)。

まぁ汎用のマイコンはあればあったでいろいろ使いようがあるので、あるいはNSの社内でいろいろ応用して使ったりはしていたかもしれないが、その程度だ。まぁもっとも当時の半導体企業はそんなことではへこたれない。先にも書いたようにIMP-16はCPUが5チップ構成であり、そうなると性能も上げにくいし、コストも下がらない。ではワンチップ化してしまえば、もっと性能も上がるしコスト競争力も上がるだろう、と考えたのではないかと思われる。

5チップ構成をワンチップ化

個人的に言えば、NovaとかPDP-8に比べてマーケットを取れなかった理由はそういうことではないと思うのだが、まぁそれを言っても仕方がない。1974年、NSはIMP-16をベースに新しくIMP-16A PACE(Processing and Control Element)を発表した。ベースというか、要するに5チップ構成だったIMP-16をワンチップ化した形だ(Photo05)。

▲Photo05:AC0~AC3がIMP-16でいうところのRALU、その左のControl LogicとかMicro Program StorageがCROMにあたる。新たにScratch RegisterとかLIFO Stack、Shifterなどが追加されているのが判る。

ちなみにPACE Technical DescriptionというマニュアルにはPACEのダイ写真とそのブロックの説明があったのだが、白黒スキャンでほぼ潰れていてさっぱり読み取れない。幸いPACEのダイ写真はWikipediaにも上がっていたので、合成したのがこちら(Photo06)である。

▲Photo06::冗談ではなくこれの作成が原稿の中で一番時間が掛かった。ダイ写真のAuthorはPauli Rautakorpi氏。CC 3.0 Unported licenseに則り利用

RACEは平均命令処理時間が10msほどで、これだけ見ると最大700KHzで動くIMP-16より遅くなっているように感じるかもしれないが、IMP-16はAdd命令が5cycle、条件分岐が7~10cycleと決して高速ではない。Load/Storeも普通の処理なら5/6cycleだが、Indirectだと6/8cycleとそれなりにコストがかかる。

PACEでは例えばAdd命令は4cycleで済んでいるなど高速化が図られている。加えてPhoto05にもあるように追加のハードウェアにより処理性能の底上げが実現しているので、全体としてはIMP-16よりやや高速である。さらに新しく、ASCIIキャラクタなどのハンドリングに便利なBYTE Modeと呼ばれる動作モードも加わった。

もっともこうなるとBinary Compatibilityなど当然存在しないのだが、そもそもIMP-16がそこまで広範に普及した訳ではないので、これはそれほど問題にならなかったようだ。

強力なライバル、Intel i8080やMotorola MC6800が登場

ではここまでやったら売れたか?というとそうはならないのが悲しいところ。PACEがリリースされた1974年というのは、Intelのi8080やMotorolaのMC6800がリリースされた年でもある。

いずれのプロセッサも8bitと言いつつアドレスバスは16bit分があって、なので利用できるメモリ空間は16bitのPACEと同じであった。16bitデータを扱うことが出来るとか、6つのInterruptを扱える(うち一つはNon-Maskable、残りはMaskable)、10レベルのStackを扱えるハードウェアを持つ、などi8080やMC6800と比べて有利なポイントは多かったものの、絶対的な性能がi8080やMC6800に及ばなかった。

またSecond Source LicenseをSignetics(1975年にPhilipsに買収された)やRockwell Semiconductor(のちのConexant:2017年にSynapticsに買収された)に提供したものの、この両社は結局PACEチップの生産を行わなかった。

一方i8080(AMD/CEMI/三菱/NS(!)/NEC/沖電気/Siemens/Tesla/TI/etc...)やMC6800(AMI/Atari/Fairchild/日立/etc...)は多数のSecond Sourceメーカーから製品が提供されており、入手性も劣っていた。

それでもあきらめなかったNSは偉いとは思う。

オリジナルのIMP-16やPACEはいずれもPMOSで製造されていたが、これをNMOS化したINS8900を1977年にリリースする(Photo07)。


▲Photo07:INS8900のデータシート。基本的な特徴はFeatureで判るようにPACEと同一。

NMOS化したことで入出力電圧が+5Vになり、TTLベースのチップをそのまま接続できる様になった。またPACEで発見されたいくつかの致命的な問題(例えば10レベルのStackを使い切った時の割り込みが正常に生成されない問題とか、NIR3とNIR5という2つの割り込みが同時に入った際、間違った飛び先アドレスにジャンプするとか)が修正されている。

ただ、性能が上がった訳でも、大きく消費電力が減った訳でもなかった。結局のところこれ以上営業努力を続けてもシェアは掴めない、と判断したためだろうか、1980年を待たずに営業活動はフェーズアウトすることになった。


忘れ去られたCPU黒歴史 Intel/AMDが振り返りたくない失敗作たち
¥1,386
(価格・在庫状況は記事公開時点のものです)
《大原雄介》
大原雄介

猫に傅くために原稿を書いて日銭を稼いでいる毎日。元は組み込み系のエンジニアだったのに、もうずいぶん遠い所まで来てしまった。

特集

BECOME A MEMBER

テクノエッジ友の会に登録しませんか?

今週の記事をまとめてチェックできるニュースレターを配信中。会員限定の独自コンテンツのほか、イベント案内なども優先的にお届けします。