MCS-4 周辺LSI

代表的な4004の周辺LSIも紹介します。なお、これらは4040でも使用できます。

この写真は4001と4002です。上の2個がセラミックパッケージとプラスチックパッケージの4001で、下の2個が同じくセラミックとプラスチックのパッケージの4002です。Intel社の型番の前に付くCという文字はセラミックパッケージを、Pという文字はプラスチックパッケージを示します。

4001 4002

4001とは、256語(1語8 bit)のマスクROMと4 bitのI/Oポートを一体化したものです。 kとか256 Mのような余計な字が入っているわけではないので、御注意を。時代が時代ですし。4004のところで説明したように、命令解読回路の一部が内蔵されていて、CPUと同期して動作します。マスクROMなので、このようにパッケージに入った状態でプログラムを書き換えることはできません。写真をよく見ると、マスクROMのシリアル番号が読み取れます。

写真の下側がRWMと出力ポートが一体化した4002です。メモリ容量は80 * 4 bitで、4 bitの出力ポートが付加されています。こちらは4001と異なり、プログラムが書き込まれているわけではありませんので、どのチップも同一ですね。と、書いていたけど、正確には4002-1と4002-2の2種類があります。左のセラミックパッケージのものが4002-1で、右のプラスチックパッケージが4002-2です。メモリアドレスの内部デコードの差ということで、この2種類のチップを同じCM-RAM線に接続しても、SRC命令で送られるアドレスによって一方だけが選択されるようになっています。
80語(1語4 bit)のRWMは20語がひとまとまりのレジスタという単位にグループ化されています。つまりレジスタは4組存在します。これらはレジスタ番号0から3までが割り当てられています。
さらに、ひとつのレジスタに含まれる20語のメモリは、4個のステータスキャラクタと16語のメインメモリキャラクタに分けられます。ステータスキャラクタは0から3までの番号が与えられ、それぞれにアクセスするための専用命令が4004に用意されていて、直接参照できます。メインメモリキャラクタはSRC命令で与えておいた値による間接参照しかできません。
SRC命令で与える値はインデックスレジスタ対の8 bit幅のデータですが、上位2 bitはチップ選択番号が割り当てられています。1本のCM-RAM線には4個までの4002を接続できます。その4個のどれを選択するかを決定するものです。4002にはP0という信号が用意されていて、この信号がHかLかがチップ選択番号の下位ビットに関係します。チップ選択番号の上位ビットは先にふれたように4002-1か4002-2かが関係します。SRC命令で送られるデータのチップ選択番号の次の2 bitはレジスタ番号の選択を行います。さらに残りの下位4 bitはメインメモリキャラクタ番号を指示するものです。
したがって、4002のRWMにアクセスするには、まずDCL命令でCM-RAM線を選択し、次にSRC命令でチップやレジスタやメインメモリキャラクタの選択を行います。この状態で、指定したチップの指定したレジスタ番号のステータスキャラクタにはランダムアクセスできます。しかし、メインメモリキャラクタはSRC命令で指示した特定の1語だけしかアクセスできません。メインメモリキャラクタを次々に読み書きするには、いちいちSRC命令で異なるメインメモリキャラクタを指示しなければなりません。

4004や4040、さらにほかの周辺LSIは、電源電圧いっぱいに振れる(TTLレベルでない)非対称の2相クロックが必要です。これを生成するためのICが4201Aです。写真を下に示します。このICには、さらにリセット回路とかステップ実行用の制御回路が含まれています。クロックジェネレータにリセット回路などをまとめたICというと、8080用の8224とか8086用の8284なんかがあります。つまりは、この頃から8086の時代に至るまで、Intel社の伝統となっていたということです。

4201A

さて、4004のプログラムはマスクROMとして4001に納められるのが前提でした。しかし、それでは試しにプログラムを実行することができません。マスクROMの作成にはコストがかかるし、すぐに作ることもできませんから。きわめて初期には、ほかの計算機でエミュレート実行してプログラム開発を行っていました。しかし、汎用のメモリICに4001のマネをさせる回路を作成することも(大変な手間でしたが)行われ、ついにはIntel社からも4008と4009という2チップ構成の、汎用メモリインターフェースLSIが出荷されました。それを1チップにまとめたのが、この4289です。型番の下二桁が08と09のICをひとつにしたから89なんですかねぇ、やっぱり。汎用メモリの方が4001をいくつも使うよりも安くついたりしたので、後期には量産品でも4001を使わずに、この4289と汎用の1702や2708のような紫外線消去型P-ROMを使う例が多くなりました。

4289

これを使えば、別に汎用のROMでなくとも、一般の、読み書きを行える2102のようなRWMを接続することもできたので、うまく使えば汎用コンピュータ的な、プログラムをロードして実行するようなコンピュータを構成することも(理屈の上では)できます。ただ、4 bit単位のデータ処理ですし、プログラムメモリとデータメモリが厳密に区別されて、アクセス方法も大違いなので、プログラム開発用にそのようなコンピュータがぜひとも必要であった人以外は作らなかったことでしょう。このような周辺LSIが入手しやすくなっているときには、時代は4040や8008どころか8080に移りつつありました。

Return to IC Collection.