2017-10-19 22:37 — asano
カテゴリー:
これまでメモリ・サウンド・グラフィック・漢字・そして技術情報の各事情について書いてきました。
でも肝心のプロセッサの事情についてはまだでしたので、何回かに分けて書いてみようと思います。
個人向けコンピュータのプロセッサというと現在ではPC系はIntel・AMDの「x64」、スマートホン・タブレット等は「ARM」にほぼ統一されてしまっています。しかし最初からそうだったわけではありません。
まだトレーニングキットなども発売されていなかった頃、個人でコンピュータを持とうとすれば自作するより他ありませんでした。汎用ロジックICを組み合わせてプロセッサ自身を作成する人もいれば、登場したばかりのマイクロプロセッサを利用することもあります。
トランジスタ技術誌に掲載されたコンピュータ自作記事を集めた「つくるコンピュータ」には4つの製作例が載っています。
- アドレス5ビット・データ8ビットのプロセッサを自作したもの。メモリは256×1bitの1101を1個用いて8回に分けてアクセスしています。
- メモリとして通常のRAMではなくシフトレジスタを用いたもの。前に国立科学博物館で取り上げた水銀遅延線メモリに発想が似ています。
- NEC製の4ビットマイコンμCOM-4(μPD751D)を使用したもの。
- IntelのMCS-8(8008)を使用したもの。
巻末には当時(1976年頃)比較的入手しやすかったIntelのMCS-4(4004), MCS-40(4040), MCS-8(8008), MCS-80(8080)、NECのμCOM-4(μPD751D)、MotorolaのM6800(MC6800)、FairchildのF8(3850)、RCAのCOSMAC(CDP1802)、National SemiconductorのSC/MP(ISP-8A/500)が紹介されています。
ここではMCS-4, MCS-40, MCS-8, μCOM-4について特徴などを簡単に見てみます。
- MCS-4(4004)
世界初のマイクロプロセッサとして有名なものです。(実際には長期間秘密指定されていた軍用のものが先にあったようです)
プログラムメモリが4k×8bit、データメモリが1280×4bitまでアクセス可能です。メモリはパッケージのピン数節約のためにマルチプレクスされた4ビットバス経由で接続するので専用のROM/RAMがファミリとして用意されています。
スタックはメモリ上ではなく、CPU内部に戻り番地専用のものが4段分用意されていました。 - MCS-40(4040)
MCS-4の改良品でアクセスできるメモリ容量が拡張されたほか、割り込みが使えるようになりました。メモリバスは4004同様のマルチプレクスバスです。スタックも8段分に拡張されています。 - MCS-8(8008)
データメモリが8ビット幅になり、プログラムメモリと共通になりました。アドレス空間は16k×8bitあり、スタックも8段分です。 - μCOM-4(μPD751D)
国産のマイクロプロセッサです。プログラムメモリが4k×8bit、データメモリが4k×4bitとなっています。
スタックという概念はなく、サブルーチンCALL時の戻りアドレスはインデックスレジスタに退避されます。多段CALLやインデックスレジスタを他で使いたいときはソフトウェアで対応することになります。
このようにMCS-8を除いてプログラムメモリとデータメモリは別になっており、そのままではプログラムを書き換えることはできません。汎用コンピュータとして使うには外部回路でプログラムメモリに書き込む方法を考える必要があります。
またスタックが使えないか使えても制限されているため、C言語等の使用は困難です。
コメントを追加