MCS-4の概要
- Details
- Written by: 芦田和毅
この文書では,Intel社製コンピュータシステムMCS-4の概要を述べます.はじめに歴史的な話を少しだけしたのち,ごく簡単なMCS-4の特徴について説明します.
MCS4が販売されたのは1971年でした.当時のコンピュータは,今のように手のひらに載るようなものはなく,もちろん家電製品の中に入っているものでもなく,研究所などの電算室に置かれた大きな機械でした.コンピュータと言えば日本語では計算機ですが,まさしく計算をするための機械だったのです.大型の計算機が登場するさらに昔には,計算をしてくれる人が計算室にいて,研究所にある各部署からの依頼にもとづく計算をしていました.その代わりをしてくれる大型計算機ですので,計算以外の用途などなかったのです.このため,コンピュータ1970年代前は,世界にコンピュータは5台くらいあれば世界中の研究所で行うすべての計算をこなしてくれるのでそれで十分であるという冗談すらあったようです.
そんな時代であった1970年代初頭,一般企業の事務所で使う電子式卓上計算機(電卓)や,お店の会計のとき使うレジは,既に歯車を利用していた機械式の計算機から電子式に代わりつつありました.ただし,現在のように手のひらに乗るサイズではなく,何とか卓上に乗る程度の大きさでした.また,100円ショップでも買える今とは違い値段も非常に高く,何十万円もしたそうです.このように値段が高くなる原因の一端に開発コストがありました.この当時,新しい機能を追加した計算機を開発するとき,回路構造を最初から構成し直さなければなりませんでした.その大変さの一例を示します.入力として4ビット0000b(=0)から1001b(=9)までの数字,出力として7セグメントLEDに出力する回路を構築してあるとします.下に回路を示します.7セグメントLEDはアノードコモンとなっているので,出力端子をLowにすると各セグメントが光ります.
次に,0から9に加えて「-」を7セグメントLEDに表示する回路に変えることにします.「-」を表示させるには入力を1010b(=10) とした回路を下に示します.
先に作成した回路と比較し,たった「-」を表示するようにしたのみにもかかわらず,回路構成が変わったことを確認できると思います.この変更をICにするには,パターン設計(回路を構成するゲートを配置すること)の大規模な変更をしなければなりません.このように大変な作業となる回路の再構成をすることなしに機能の変更を行いたいですよね?そんなときにはCPUを使えばよいのです.
CPUとは,Central Processing Unit日本語では中央演算装置と訳されます.CPUにより電卓を実現する場合,論理回路によるそれとは異なります.具体的には,CPUの場合,動作はすべてプログラムにより行われますので,もし機能の修正があった場合にはプログラムを直せばよいだけです.これに対し,論理回路による場合,上記で説明したように多大な労力を必要とします.同様にデバッグ面でもCPUは非常に簡単で,プログラムを修正すればバグを修正できるのです.
このような特長のあるCPUを電卓で利用できるように開発されたのがIntel 4004であり,開発したのは当時新興企業であったIntelで,開発依頼元はビジコンでした.もともとビジコンが自社の電卓用専用ICを開発するようにIntelに依頼したのですが,電卓専用ではなくより汎用性の高いCPUにした結果,4004が誕生したのです.このように,ビジコンが開発するよう依頼した4004ですから,本来はビジコンが独占的に販売することができるのですが,当時経営が厳しかったビジコンはIntelに4004の販売権を売ってしまいました.そしてこの4004を礎に,超巨大企業Intelができていったのでした.
さて,4004はその頃標準的に使用されていた16ピンのDIP(Dual Inline Package)にすべての機能を納めるため,バスは4ビットで,しかもデータバスとアドレスバスが兼用になっていました.データバスとアドレスバスが分離さてている現代のマイコンとはだいぶ違いますね.また,入出力ピンを4004は持っておらず,代わりにプログラムROMであるIntel 4001や,RAMであるIntel 4002に端子が付いていました.これらに加え,シリアルインパラレルアウトのシフトレジスタである4003をまとめてMCS-4といいます.
MCS-4は,1個の4004に対して最大16個の4001と最大16個の4002がセットで用いられ,1個のシステムとして用いられました.ROMである4001はひとつで256×8=2048ビット,最大では2048×16=32768ビットにプログラムを納めることができます.RAMである4002はひとつ320ビット,最大で320×16=5120ビットを使って変数を記憶させられます.今の基準では考えられないほど少ないROMとRAMですが,電卓を構成するには十分でした.
最後に,動作速度と電源電圧について述べます.CPUには,命令を取り込むきっかけとなるクロックが必要で,クロックのエッジを合図にデータの読み書きをします.クロックの周波数が速ければそれだけ動作が速くなります.4004の場合,最大約741[kHz]のクロック周波数となっており,現在のように[GHz]オーダーとは比べ物にならぬほど遅いものでした.また,4004はp-MOSで構成されていましたので,当時としては標準的な電源電圧-15[V]でした.現在では3.3[V],1.8[V]更にそれ以下の電圧で動作するマイコンも見受けられますね.