2017-03-13 23:28 — asano
Intelプロセッサの原点ともいえる8080です。えっ、4004,4040,8008はどうしたかって、さすがに骨董すぎて持っていないし入手も困難なので...
NECのμPD8080A、白いセラミックパッケージが美しいです。「F」が付かないのでNECの独自改良版ですね。一部命令の必要クロック数やDAA命令の挙動が違うらしいです。
さてこのμPD8080Aですが、実際に動作させるのは大変そうです。まず電源が+5Vだけではありません。他に+12V,-5Vの電源が必要になります。クロックもオーバラップしない2相のクロックが必要(これはMC6800などもそうです)な上、振幅もTTLレベルではなく9Vのスイングをさせなくてはなりません。さらに制御信号の多くがデータバスにマルチプレクスされているのでその分離も必要になります。
電源は今なら便利なDC-DCコンバータがいくらでもありますからどうとでもなります(秋月辺りで5VのACアダプタ2つと12VのACアダプタを買ってくるという力業も)が、当時は大変だったでしょう。それとも逆にいろいろな電圧を要求する回路が多いから却って慣れていたかもしれませんが。
クロックと制御信号については後に専用のICが作られて簡単になりました。
これはIntelのD8224 Clock Generator and Driver for 8080A CPU、8080のクロックを作るための専用ICです。セラミックパッケージですね。
写真はIntel製ですが、NECの型番はμPB8224でした。「μPD」の間違いではありません。おそらくはバイポーラプロセスだからでしょう。
水晶を9分周して2相クロックを生成します。出力は8080用の他にTTLレベルの出力も用意されています。他にリセット回路とバスサイクルを延長するための回路も含まれています。
これはNECのμPB8228C 8080A System Controller and Bus Driver、MEMR, IOWなどの制御信号を生成する回路とデータバスのバッファです。
8080はアクセスサイクルの最初にデータバス上にステータスを出力してくるので、それをラッチ・デコードしてさらにタイミングを計って各制御信号を出してきます。
ちなみに8080のステータスにはZ80でもお馴染みのM1(Z80と異なり正論理です)などの他、STACKなんてのもあるので、スタック専用に64kBの独立メモリ空間を用意することも出来なくはないように思います(8228はSTACKをデコードしないので自分でデコードする必要あり)。これは8085やZ80では真似できないですね。
これはAMD製のP8228です。
コメントを追加