CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

データメモリ実装

最後に残していたデータメモリのHM6287を実装してハードウェアは完成しました。
その上側にあるのが標準ロジックICに紛れて目立っていませんがこのボードの御本尊、MC14500です。
 
 
イメージ 1
 
このメモリの動作確認を兼ねて、もう少し大きいプログラムを動かしてみました。
 
8ビットCPUでもプログラム次第で多倍長演算や浮動小数点演算ができるように
1ビットCPUであるMC14500でも複数ビット合わせれば「数」を扱うことができるはずです
ここでは8ビットの変数をインクリメントすることを考えます。
MC14500には当然加算器はないので、1ビットずつロジック演算していかなければなりません。たとえば4ビットの数値に+1するためには以下のように半加算器を並べ、桁上げ信号(キャリー)を伝達するロジックが必要です。
 
イメージ 3
 
これをICUのソフトウェアで8ビット分を実現するとこうなります
被演算バッファをデータメモリの800h~807h、キャリービットを保持するバッファを810h~817hに割り当てています。
 
イメージ 2
 
最後に被演算バッファの8個のデータをLEDアレイのアドレスにコピーしてやると
バイナリ的にLEDがチカチカするのがわかります。
 
多ビットのCPUであれば、たとえば「INC A」で済むところがICUにとってはえらく面倒なことになってしまいます