CPU実験室

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

処理時間

このボードは高速処理が目的ではありません、と云ってはみましたが実際、いろいろプログラムを動かしてみると、ここは瞬時に処理してくれないと困る、という場面が出てきます。例えば以下のように出力ポートにモニタ基板を付けて数字表示をしてるのですが

(1の位は入力専用ポートに接続されているのでプルアップの影響で全点灯)

 

各セグメントは8ビット同時に書いているのではなく1セグメントづつ書いています(1ビットCPUなので。数字の変化がドロンとした感じがわかります)

メインルーチン

f:id:O3I:20210912174951j:plain

 

「0」を書くルーチン

f:id:O3I:20210912180508j:plain

 

そのためクロックが十分速くないと、数字を書いている過程が見えてしまい判読しにくくなります。一方、クロックを速くすると今度はその数字が安定して見られるようにwaitの時間を長くしなければなりません

ところが数値を扱うことが苦手なICUではループで時間待ちをさせるのは大変なのでNOPの連発になってしまい、プログラム的にきれいではありません

WAITルーチン

f:id:O3I:20210912181118j:plain