3年間の開発凍結がなければIntelと勝負できたかもしれないSignetics 2650(人知れず消えていったマイナーCPUを語ろう 第12回)

ガジェット PC
大原雄介

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

特集

コンピュータの歴史を暗部も含めてていねいに掘り起こすことで定評のある大原雄介さんによる連載12回目。今回取り上げるのはSignetics 2650。投入したタイミングが違っていればあるいは、というたらればを考えたくなるプロセッサです。



前回の記事公開後にこんなことを呟いたらエスパーな方がいらっしゃってちょっと慄いたのですが、それは兎も角。

Signetics Corporationという半導体メーカーが1961年~1981年に存在した。もともとはFairchild Semiconductorからスピンアウトした4人のエンジニアが創業した会社である。

Signeticsという名称は、"Signal Network Electronics"から取られたそうだ。そんなSignetics、最初に手掛けたのはDTL ICである。DTLはDiode-Transistor Logicで、TTL(Transistor-Transistor Logic)が普及する前に少し流行った回路方式である(ちなみにそれ以前には、ダイオードではなく抵抗を利用したRTL:Register-Transistor Logicが使われていた)。

トランジスタの数を減らせるので、1960年代の半導体製造技術ではコストを抑え歩留まりをひきあげやすい一方、性能が低いこともあって、1970年代に入るとほとんど姿を消している。

DTLを使った標準品は言わば日銭稼ぎのビジネスで、本命は特定顧客向けのカスタムロジック製造だったが、当初はこれの販売に苦戦し、初期投資資金(リーマンブラザーズの関連会社から100万ドルの投資を受けていた)が尽きそうになる。

幸いなことにCorning(ガラス関連企業の、あのコーニングである)から170万ドルの投資を受け(Corningはその代わりSigneticsの株式の51%を取得した)、生きながらえることができた。そして翌1963年、同社はDoD(米国防省)の契約を獲得。ここから急激に売り上げを伸ばして黒字化も達成。1964年にはカリフォルニア州サニーベールに(当時としては最大級の)Fabを建設。ついでユタ州のオレムとニューメキシコ州のアルバカーキにもFabを建設している。

もっともこの頃になるとFairchildがまさにこのSigneticsの標準品マーケットに互換品で殴り込みを掛け、同社は再び赤字を出すようになる。このタイミングでCorningは同社の支配権を獲得、規模を追う代わりに安定したビジネスに向けて会社の方針を転換したことで、再び安定したビジネスを行えるようになった。

そんなSigneticsの名前が大きくクローズアップされたのは、1971年に発表されたタイマーICであるNE555である。ディスクリートのデジタル回路を触ったことがある人なら一度以上はお世話になったんじゃないかと思うNE555は、1968年に同社に入社したHans Camenzind氏によって開発された。

1971年に発表され、1972年には12社にライセンスされたこのNE555は、安定していたとはいえ経営状況的には苦しかった(1970年には、景気後退による経営状況悪化のため従業員の半数が解雇されている)同社の救いの神となった。

さてそんなSignetics、やはり標準品ではなく差別化が図れるような高機能製品をラインアップすることが重要と考えたらしい。その候補として選んだのがマイクロプロセッサである。ただ同社はマイクロプロセッサ開発の経験が無い。そこでプロセッサ開発の経験のあるエンジニアを外部から雇うことを決める。この結果選ばれたのが、IBM 1130の設計の経験のあったJohn Kessler氏である。

ちょっと脇道に逸れるが、Kessler氏の雇用を決めたのはJohn G "Jack" Curtis氏であるが、彼は有名なWOM(Write Only Memory)の開発者(?)である。ROMの逆で「書くことしか出来ない」謎のメモリである。勿論こんなもんは存在しないジョークなのだが、わざわざそのジョークのSpecificationを仕立て上げてしまった(Photo01)。

Photo01:FINO(First-In Never-Out)Asynchronous Bufferで流石に吹いた。ちなみにRefresh periodのCB and LHはCoffee Break and Lunch Hourの略である。よく見ると変な記述で満載である。2ページ目を含むPDFはこちらから入手できる

これが社内で大受けしたようでそのSpecificationがSigneticsのカタログに掲載されてしまい、さらには1973年4月1日にはプレスリリースまで出されたことで大変に有名になった。まぁそういうお茶目が許されるような社風だった訳だ。

話を戻す。Kessler氏はあっさりIBM 1130のアーキテクチャをそのまま8bitマイコンにブチ込んだ。IBM 1130は1965年2月に発売された、同社のミニコンとしては最も廉価な部類に入るシステムで、科学技術計算やエンジニアリング用途に向けたものだが、累計で1万台以上販売されたとしている。ただIBM 1130は16bitアーキテクチャのマシンであり、これを8bitに移し替えたのが今回ご紹介するSignetics 2650という訳だ。

アーキテクチャと論理設計はKessler氏が行い、物理設計は同社のKent Andreas氏が行ったが、なんと2650そのものは1972年中に完成したそうだ。ただし出荷は1975年と3年も後になった。理由は「当時Dolby Labとの共同開発を行っており、開発資金が全部そちらに投じられていたから」だそうだ。恐らくこの共同開発というのはNE545(Photo02)のことだと思うが、Dolby-Bに対応したノイズプロセッサである。

Photo02:実はNE545なんて製品があったことは、今回この記事を書いていて初めて知った

まぁこれも当時のSigneticsには重要な製品だったのだろうと思うが(実際Dolby-Bはこの当時、高級オーディオ機器にそれなりに普及した)、2650の投入が3年遅れたのは同製品に致命的なビハインドを与えることになってしまった。

さてそんな2650であるが、構造はこんな感じである。アドレス空間が32KBというのは、アドレスバスが15bit分しかないからだ。これは実はIBM 1130からの継承である。もともとIBM 1130は64KBのアドレス空間を持つが、16bitマシンなのでアドレスは15bit分で済む(ので最上位bitは未使用である)。

で、IBM 1130はちょっと面白く、命令Formatとして16bit長のShort-Instruction Formatと32bit長のLong-Instruction Formatを持つが、このLong-Instruction FormatではIndirect Address(間接アドレス指定)をサポートしている。ところが2650はこのLong-Instructionをサポートしていない。そこでIndirect Addressを示すフラグをAddressの最上位bitに割り当ててしまった。

2650が16bitマシンならこれでも良かったのだろうが、8bitマシンであったためにメモリ空間が32KBに制限されることになってしまった訳だ。加えて言えばPhoto03で判るように、ADR13とADR14はE/NE(Extend/Non Extend)やD/C(Data/Control)という制御ピンと共用である。

実は32KBは8KB単位の4つのページに分割されており、それもあってADR13/14は別扱いになっている格好だ。ただプログラムからこれを意識する必要があるケースはそう多くはなかった(分岐命令はページ番号を含む15bitの絶対アドレス指定が可能だが、それ以外の命令では13bitの絶対アドレス+Index Controlという表記になったくらい)。

内部構造そのものはそう変なところはない。Subroutine Return Address Stackはちょっと珍しい名称だが、これはIBM 1130から名称を引き継いでるだけの話である。Stack専用のレジスタを用意する、というのはこの当時のMCUではそう珍しくない(Intelの8008も7スロットのPush-down address call stackを実装していた)。命令数は75だが、処理cycle数は大半が3、一番遅いものでも4cycleというのはかなり高速な方である。

ちなみにWikipediaには"Although the 2650 is basically an 8-bit microprocessor, 64 opcodes are actually 9-bit, and another 32 opcodes are 11-bit (using bits in the address field). Of the remaining 128 8-bit opcodes, 124 (126 in the 2650B) are implemented, giving a total of 444 (446) instructions."とか凄いことを書いてあるのだが、Instruction Setの一覧(Photo03Photo04)を見る限り、そんな大量の命令があるようには見えないので、どういう計算でこういう数字が出て来たのか聞いてみたいものである(データシートにも明確に75 instructionsと書いてある)。

Photo03:これはPhilipsの買収後にリリースされたデータシートなので、Signeticsのロゴは右下に配されている

Photo04:この次のページにあるInstruction Formatsの一覧を見ても、アドレスフィールドをOp Codeとして使う様な命令は見当たらない。それともIndirect Addressingの際のIndex ControlをOp Codeと見做しているのだろうか? 謎だ

命令セットは非常に直交性が高いもので、判りやすい。この直交性の高さもIBM 1130由来という感じである。ただ流石にIBM 1130の命令セットを全部持ち込むのは論外で、かなり簡潔化されている。例えば算術演算は2650だとADD/SUB/DAR(Decimal Adjust Register)の3種類しかないが、IBM 1130はAdd/Add Double/Subtract/Subtract Double/Multiply/Divideが用意されている。このあたりは8bit MCU向けに減らしたのだろう(それを言えばDARも必要なのかちょっと疑問ではあるが)。まぁ8bitのマイコン向けとしては、比較的使いやすい命令セットだとは思う。レジスタは7本で、うち4つがMain General Purpose Register、3つがAlternate General Registerとされる(Reg 0はMainのみ、Reg 1~3はMainとAlternateの両方がある構造)。

外部クロックは1.25MHzで、この際のCycle Timeは2.4μsecとあるので実質400KHzちょいということになる(内部でクロック信号を3分周している模様)が、命令の処理サイクルが少ないため、競合と目されたIntelの8008よりは高速に処理が可能だった。加えてNMOSプロセスで製造されているために5V単一電源の供給で動作し、また外部クロックも1相で済んだから、非対称2相クロックが必要なIntel 4004/4040とか、対称型ながら引き続き2相クロックを要求したIntel 8008よりも周辺回路の構成は楽だった。

4004は1971年、8008は1972年に発売されていたから、もし2650も1972年中に発売されていれば8008よりもずっと使いやすいということでIntel 8080の登場を待たずに様々なメーカーが2650ベースでシステムを構築し、またいろいろ歴史が変わっていたかもしれない。ただ実際はそうならなかった。

1975年、同社はPhilips Electronics N.V.に買収される。Corningの経営陣がどういう理由で同社を売却したのかは不明だが、まぁ経費が掛かる割に売り上げが伸びないのを嫌ったのかもしれない。買収金額などは不明である。ただこれによって、やっと2650を量産に移すための資金が出来たのだろう。同年、Philipsは引き続きSigneticsブランドで2650Aを発表する。

ただこの時には、既にIntel 8080というより手強い競争相手が既に市場投入されていた。性能は同等以上であり、瞬く間に市場を席捲してゆく。こうなると、Intel 4004/8008相手には十分だった32KBのアドレス空間も途端に不利になるし、Intelは多数のメーカー(その中にはSigneticsまで入っていた!)とセカンドソース契約を結んでおり、1社のみの供給は不利に働いた。

それでも1976年にはAMS(Advanced Memory Systems)と最初のセカンドソース契約を締結、1977年にはNational Semiconductorとも締結しようとするが、こちらは最終的にご破算になってしまった(フランスでのみ生産された、という話もあるが信憑性が今一つ不明である)。おまけにAMSがIntersilに買収され、Intersilは2650の生産を良しとしなかった(理由はIntersil自身が6100という、PDP-8互換のCMOSプロセッサを1975年から生産しており、これとマーケットがぶつかると考えられたためである)。

その1977年、Signeticsは2650Bをリリースする。こちらはいくつかのpin定義の変更(Pin 15がBus Enableに、Pin 25がCycle Lastになった)ほか、PSW(Program Status Word)の定義がいくつか変更、さらに新しくLDPL(Load Program Status Lower)/STPL(Store Program Status Lower)命令が追加されたほか、いくつかの命令が3cycleから2cycleでの動作に高速化された。

加えてその後に新しく-1バージョンが追加。こちらは外部クロックが2MHz、内部のサイクルタイムは1.5μs(667KHz動作)に高速化されている。ただこの程度では、最終的に3.125MHzまで動作周波数が上がったIntel 8080に互することは適わなかった。

採用としては、Atariの初のアーケードゲームであるQuiz Showに採用されたほか、Tektronicsの8540 Integration Unitという半導体テスター内部に採用されている。

またPhilipsも1979年にIMS(Industrial Microcomputer System)と呼ばれるモジュール式の産業向けシステムをSignetics 2650ベースで開発・販売したが、どの程度販売されたかは不明なままである。最終的にPhilipsは1981年にSigneticsを子会社の形から同社内に吸収(ブランドは引き続き存続)するが、このあたりで2650に関するマーケティングは打ち止めとなり、また後継製品なども開発されずに消えることになってしまった。

ちなみにSigneticsはSPC-16/10という16bitの結構強力なプロセッサもリリースしているが、これは単に親会社のPhilipsが自社開発したP851という製品を売りさばくのにSigneticsのブランドを使ったというだけで、Signeticsは全く無関係である。それと、冒頭のエスパーな方のPostに出て来た8X300であるが、こちらはSMS(Scientific Micro Systems)という会社が開発したSMS300シリーズがベースで、Signeticsはセカンドソース契約を結んでいただけだったのが、これはこれでややこしい話になっているので、改めて別の記事にしたいと思う。

《大原雄介》

大原雄介

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

特集

BECOME A MEMBER

『テクノエッジ アルファ』会員募集中

最新テック・ガジェット情報コミュニティ『テクノエッジ アルファ』を開設しました。会員専用Discrodサーバ参加権やイベント招待、会員限定コンテンツなど特典多数です。