Signetics 2650は、 1975年7月に発表された8ビットマイクロプロセッサです。[ 1 ] Adam Osborneの著書「An Introduction to Microprocessors Vol 2: Some Real Products 」によると、当時入手可能なマイクロプロセッサの中で「最もミニコンピュータらしい」ものでした。機能不足とメモリへのアクセスの癖が魅力を制限し、市場での使用はごくわずかでした。

1972年、Signeticsのジャック・カーティス[ a ]は、ミニコンピュータシステムに対抗することを目的とした新しいシングルチップCPUの設計を率いるためにIBMのジョン・ケスラーを雇った。ケスラーは新しい設計のモデルとしてIBM 1130を選んだ。1965年に発売された1130は、当時の他のミニコンピュータと多くの設計上の特徴を共有していた16ビットのミニコンピュータだった。 [ 2 ]
ケスラーがアーキテクチャを設計する一方で、ケント・アンドレアスは当時開発されたばかりのイオン注入NMOSプロセスを使用してCPUをレイアウトした。当時より一般的だったPMOSプロセスとは対照的に、NMOSは消費電力が少なく、発熱も少なかった。これにより、チップはPMOS CPU設計よりも高速で動作させることができ、最初の2650は 同時代の1130モデルと同じ1.25MHzの速度で動作した。 [ 2 ]
1972年に設計された2650は、当時市場で最も先進的な設計の一つであり、同時代のIntel 4004や8008を性能面でも機能面でも容易に凌駕していました。しかし、この設計は量産化されませんでした。当時、SigneticsはDolby Laboratoriesと密接に協力し、Dolbyのノイズリダクションシステム群を実装する集積回路の開発に取り組んでいました。2650の生産は延期され、このCPUが正式に発表されたのは1975年7月になってからでした。1975年までに、古い設計を模倣するのではなく、最初から8ビットマシンとして設計された新しいCPUがいくつか登場し、2650の利点はもはやそれほど魅力的ではなくなっていました。[ 2 ]
1975年にフィリップスがシグネティクスを買収し、それ以降、2650のバージョンはシグネティクスまたはフィリップスのブランドの両方で見られるようになった。[ 2 ]
1976 年 3 月、Signetics はAdvanced Memory Systems (AMS)とセカンドソース契約を締結しました。当時、ほとんどの CPU メーカーは非常に小規模で、倒産する可能性のある企業から設計を購入する人はいませんでした。セカンドソース契約は、そのような事態が発生した場合でも設計が利用可能であることを保証する重要な手段でした。AMS はすでに、先進的なCMOS設計であるRCA 1802のセカンドソースとして機能していました。NMOS 2650 は、1802 と直接競合しない有用な補助製品と見なされていました。残念ながら、11 月に AMS はIntersilに買収されました。Intersil は、 PDP-8 miniのシングルチップ版であるIntersil 6100 を自社で開発していました。Intersil は 2650 の生産を中止しました。[ 2 ]
シグネティクスは1977年にナショナルセミコンダクターと再び提携し、ナショナルセミコンダクターは同年第4四半期に新バージョンを発売する予定だった。理由は不明だが、これは実現しなかったようで、フランス製のNSバージョンが1つだけ発見されている。[ 2 ]
Signetics は 2650 の開発を続け、1977 年に 2 つの新モデルを発表しました。2650A は、歩留まりを向上させてコストを削減することを目的とした、元のレイアウトを改良したバージョンでした。速度は、 基本モデルで 1.25 MHz、 -1 バージョンで 2 MHz のままでした。2650B は A をベースに、2 つの新しい命令を追加し、既存の命令の性能を向上させました。[ 2 ]
2650 の全体的な設計はIBM 1130をベースにしています。そのため、2650 には 1960 年代のミニコンピュータでは一般的だったものの、1970 年代に新しく設計されたマイクロプロセッサではほとんど見られなかった機能が数多くあります。たとえば、入出力デバイスの状態を追跡するために使用されるプロセッサ ステータス ビットがあり、これによりインターフェース コードの記述が容易になります。[ 2 ]ミニコンピュータに似たもう 1 つの機能は、ベクタ割り込みの使用です。これにより、デバイスはメモリ位置をデータ バス上に配置してから割り込みを強制することで、適切な割り込みハンドラコードを呼び出すことができます。これにより、バスから追加のデータを読み取り、どのデバイス ドライバが呼び出されているかを判断してそれを呼び出す集中型の割り込みハンドラを記述する必要がなくなります。2650 は、デバイス自体に格納されている可能性のある適切なコードに直接ジャンプできます。
2650 のプロセッサレジスタはセットに分割されており、アキュムレータとして使用される単一のグローバルレジスタ R0 と、R1、R2、R3 という名前の 3 つのインデックスレジスタのセットが 2 つあり、合計 7 つのレジスタがありました。[ 3 ]分かりやすくするために、2 番目のセットは R1'、R2'、R3' (「プライム」) と呼ばれることもありました。 常に、2 つのインデックスセットのうちの 1 つが CPU から見える状態でした。どちらのセットが見えるかは、ステータスレジスタPSW のビットによって制御されました。 1 つの命令で、2 つのレジスタセットを簡単に切り替えることができました。[ 4 ]これにより、サブルーチン呼び出し、オペレーティングシステムの切り替え、または割り込み処理中に値を素早く切り替えることができました。 1130 とは異なり、レジスタは 16 ビットではなく 8 ビット幅でしたが、1130 の 1 つではなく 2650 には 2 つのセットがありました。[ 2 ]
ミニのような特徴のもう 1 つは、ほとんどの命令で間接アドレッシングを幅広くサポートしていたことです。多くの命令では、メモリ内の特定の場所からデータを読み取る必要がありますが、当時のほとんどの CPU では、それは 16 ビットの場所によって参照されるメモリに格納された 1 バイトのデータでした。2650 では、その 16 ビットの場所の最上位ビットが間接アドレッシングを示しており、データはメモリ内のこの場所ではなく、アドレスの残りの 15 ビットにエンコードされた場所にあることを意味していました。[ 4 ]このアクセス方式により、特別な命令やインデックス レジスタのみで間接アドレッシングを提供するシステムよりも、データ ブロックに簡単にアクセスできるようになりました。メモリ内のその単一の場所に格納されているアドレス値をインクリメントすることで、メモリを順にたどることができました。これにより、アドレスに対してかなりの数の算術命令が適用されるようになり、これらの演算のパフォーマンスを向上させるために、2650 にはアドレス計算専用の第 2 の算術論理演算ユニットが含まれていました。[ 3 ]
このアプローチの欠点は、最上位ビットがアドレスの一部ではなくなったため、アドレス空間が15 ビットのみとなり、マシンがアクセスできる メモリの総量が 32 KB に制限されたことでした。アドレス空間は、すべての論理命令と算術命令 (つまり、分岐命令以外) のインデックス モードを示すためにアドレスの別の 2 ビットを使用することでさらに制限されました。これらのビットは、アドレスを後置インクリメントするか前置デクリメントするかなどの機能を制御し、ループの構築に非常に役立ちます。しかし、これらのビットはすべてすでに使用されているため、これらの命令のアドレスに使用できるのは 13 ビットのみであり、直接アドレス指定できるのは 8 KB のみでした。これは、メイン メモリが 4 つの 8 KB ブロック に分割されたことを意味します。 [ 3 ]命令が配置されている8 KB 以外のメモリにアクセスするには、指し示すデータ バイトに、メモリ内の別の場所を指す間接アドレスを含める必要がありました。[ 4 ]
1972年に2650が設計された当時、これらのプロセッサで一般的に使用されていたスタティックRAMメモリはサイズが小さく高価だったため、アドレス空間の制限はそれほど大きな問題ではありませんでした。当時、マシンに搭載されていたRAMは通常2KBまたは4KBでした。しかし、1970年代半ばからダイナミックRAM の使用が増加するにつれて、8KB、16KB 、そして最終的には64KBのRAMを搭載したマシンが一般的になり、2650のアドレス指定システムは大きな障害となりました。
2650には、スタックを保持するためにメモリ内の場所を確保する一般的な方法ではなく、オンダイのコールスタックも含まれていました。スタックポインタはPSWの3ビットで保持されていました。オンダイスタックは、外部メモリから読み出されるのを待たずにデータに直接アクセスできるため、はるかに高速ですが、ダイ上のスペースを占有し、実際的なトレードオフの結果として常にサイズが制限されます。2650では、リターンアドレススタックは8つの15ビットエントリの深さでした。[ 3 ]これにより、プログラムはサブルーチンを8レベルまでネストすることができました。
9種類の異なるアドレッシングモードがあったものの、16ビットレジスタの欠如と13~15ビットのアドレス空間のため、広く普及することはなかった。それでも、オペレーティングシステム(「2650 DOS」)[ 5 ]が利用可能であり、8KB および12KBの BASICインタープリタ(Central Data Corporation USAが販売)や、 Hunt the Wumpusスタイルのゲームが多数存在した。ほとんどのプログラムはアセンブリ言語で記述されていた。

Signetics は、2650 ベースのマイクロプロセッサ開発ボードを販売しました。最初は PC1001 [ 6 ] [ 7 ]、次に後継機種の PC1500「アダプタブルボードコンピュータ」で、価格は A$165 から A$400 でした。チップ単体では約 A$20 で販売されていました。Electronics AustraliaやElektorなどの雑誌にハードウェア構築プロジェクトやプログラミング記事がいくつか掲載され、関連キットが電子部品店で販売されました。これらの要因により、オーストラリア、米国[ 8 ] 、英国、オランダ[ 9 ] 、ドイツ[ 10 ]など多くの国の多くのホビイストが使用しました。
2 種類のビデオゲームコンソールがSignetics 2650 または 2650A を使用しています。最初のグループのコンソールは Signetics 2636ビデオディスプレイコントローラをベースとしており、Interton Video Computer 4000 (1978 年) と1292 Advanced Programmable Video System (1979 年) の派生版がこのグループに属します。2 番目のグループのコンソールは、ビデオディスプレイコントローラとしてSignetics 2637 をベースとしており、 1982 年にリリースされ、0.895 MHzで動作する Signetics 2650 をCPUとして使用したEmerson Arcadia 2001 は、ソフトウェア互換性のある他の多くのコンソール (Leonardo、 Hanimex MPT-03 など)とともにこのグループに属します。 [ 11 ]

1970年代には、少なくとも6つのコイン式ビデオゲームが2650 CPUを使用してリリースされました。Atari のQuiz Show、Meadows Gamesの3D Bowling、Gypsy JugglerとLazer Command、CinematronicsのEmbargo 、そしてイタリアのZaccaria社による1978年のSpace InvadersのクローンであるThe Invaders(オリジナルはTaito製でIntel 8080 CPUを使用)です。1980年代には、少なくとも2つのコイン式ビデオゲームが2650を使用してリリースされました。HunchbackとHunchback Olympicです。
ザッカリア社は、2650 CPUを搭載したピンボールマシンを28機種発売した。後継会社であるミスターゲーム社は、2650を使用したピンボールマシンをさらに4機種発売した。ザッカリア社はテクノプレイ社にも設計をライセンス供与していたようで、ザッカリア社の回路基板設計のバリエーションを使用したピンボールマシンがさらに数機種発売された。
このプロセッサは、2650 CPUの使用方法とプログラミングを教えるために設計された小型コンピュータであるSignetics Instructor 50にも使用されていました。
2650は、Tektronix 8540などの大型機器にも使用されていました。Tektronix 8540は、1980年代に一般的だったマイクロプロセッサシステムのリアルタイムデバッグのために、様々なインサーキットエミュレータ、トレースメモリ、ロジックアナライザカードをサポートするマイクロプロセッサソフトウェア開発システムでした。2650は、基本オペレーティングシステム機能、データ転送、ホストコンピュータまたはシリアルコンピュータ端末へのインターフェースを提供しました。
そのプロセッサは、豊富な入出力サポートを備えているため、マイクロコントローラとして最適であった。

1979年から短期間、フィリップスはユーロカード形式をベースとしたモジュール式の2650コンピュータ「IMS」 ( Industrial Microcomputer System)[ 12 ]を19インチラックで販売した。CPU 、PROM、RAM 、入力、出力、テレタイプモジュールが含まれていた。このシステムは、より高度なプログラマブルロジックコントローラとして設計された。開発のために、後にDEBUG、DISPLAY、INTERRUPT、MODEST((E)PROMプログラマ)モジュールが追加された。
2650は、40ピンのプラスチック製またはセラミック製のDILパッケージで供給されました。外部からの単相クロック信号と単一の5V電源が必要でした。
2650は、当時の他のマイクロプロセッサと比較して、多くの珍しい特徴を備えていた。
2650は基本的に8ビットマイクロプロセッサですが、8ビット命令に加えてアドレスの最大3ビットを使用して、より長いオペコードを形成することができました。64個のオペコードは9ビット長で、さらに32個のオペコードは11ビット長です。残りの128個の8ビットオペコードのうち、124個(2650Bでは126個)が実装されており、合計で444個(446個)の命令が使用可能です。
ステータスビット(WC(キャリーあり/なし)とCOM(論理比較/算術比較))を設定またはクリアすることで標準命令の動作を変更できるため、利用可能な命令はさらに増えました。これにより、回転、加算、減算、比較命令の数が倍増しました。
命令セットは強い直交性を持ち、すべての論理命令と算術命令は9つのアドレッシングモードすべてを使用できる。
相対アドレスと絶対アドレスの最上位ビットは、間接参照を示すために使用されます。
唯一の例外は、意味のない操作のオペコードが他の目的で使用される場合です。
Signeticsのアセンブラは(レジスタ0にレジスタ0をロードする)命令をサポートしていますがLODZ R0、そのバイナリエンコーディングは許可されていません。アセンブラは、バイナリを意味的に同等の命令に置き換えますIORZ R0。
絶対(直接)アドレッシングを使用するすべての算術命令および論理命令では、アドレスフィールドのビット14と13を使用して、インデックスモードを次のように示します。
インデックス指定が行われる場合、命令で定義されたレジスタがインデックスレジスタとなり、ソース/デスティネーションは暗黙的にレジスタ0になります。間接インデックスの場合、ポストインデックス方式が用いられます。つまり、まず間接アドレスがメモリからフェッチされ、次にインデックスがそれに加算されます。
2650の最もミニコンピュータらしい特徴は、膨大な数(62個)の分岐(ジャンプ)命令でしょう。これらの命令はすべて間接参照も使用できます。
Intel 8080と同様に、2650にはサブルーチンへの条件分岐とサブルーチンからの復帰を行う命令があった。
絶対アドレス指定を使用する分岐命令のみが、アドレスフィールドの15ビットすべてをアドレスとして使用します。したがって、このような分岐命令を使用することが、ページレジスタの2ビット(アドレスバスの14ビット目と13ビット目を制御)を設定し、現在の8KB ページを変更する唯一の方法でした。
2650Bは2650Aに比べて以下の変更と改良が加えられています。[ 13 ]

1975年、SigneticsはPhilipsに売却され、2650は後にPhilips Semiconductorsの製品ラインに組み込まれました。彼らはMAB2650Aと呼ばれる2650のバージョンを製造しました。Philipsの子会社であるValvoは、ドイツで2650を販売しました。Valvoはまた、4KBの PROM/EPROM、1KB のRAM、4つのI/Oポートを備えたVA200シングルボード(ユーロカード)2650コンピュータも販売しました。[ 15 ]
2650には、周辺機器用チップがすべて揃っていました。
これらの周辺チップの多くは、他のマイクロプロセッサでも使用できるように設計されており、例えば2672のデータシートでは、Intel 8048マイクロコントローラと併用することを推奨しています。
Philips Technical Note 083では、2651 PCIを8080、8085、Z80、8048、6800などの様々なマイクロプロセッサに接続する方法について説明しています。
2651/2661シリアル通信チップの後継機種は、現在でもフィリップスSC26シリーズとして販売されている。
2656は、2650を拡張し、2チップコンピュータを可能にするために特別に設計されました。完全なコンピュータにするために2650に欠けていたものがすべて含まれていました。[ 16 ]
I/Oピンは8ビットI/Oポートとして使用することも、追加のRAM、ROM、またはI/Oポート用のイネーブル信号を生成するようにプログラムすることもできた。これは、2656のプログラマブルロジックアレイをマスクプログラミングすることで実現された。
フィリップスは、製品化に着手する前に設計を開発・テストするために、PROMとFPLAを使用して2656のROMとPLAをエミュレートする2656エミュレータボードであるPC4000を販売した。