0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「CPUの創りかた」の回路シミュレーション(2) --- p181,184 1bit CPUx4回路

Last updated at Posted at 2023-09-01

ブラウザで動作してインストール不要の下記の
https://www.falstad.com/circuit/circuitjs.html
回路シミュレータで、「CPUの創りかた」で紹介されていた回路の動作を確認してみました。

今回は p181.184 の 「1bit CPU ( レジスタ )回路」です。
[cpu181.184]1bit CPUx4.png

◆回路シミュレータの簡単な使用法

  • 回路図の緑色の部分は電圧が+Vcc ( 今回は 5V )、灰色の部分は GND 電位であることを示します。
  • 5 極スイッチのデジタル入力をクリックするたびに H/L、2極あるいは 5 極スイッチをクリックするたびに接続が切り替わります。

◆回路の動作確認

  • メカ式 1bitCPU
    スイッチを「MOV A, A」に切り替えると Q 出力のデータが保持されます。
    スイッチを「NOT A」に切り替えるとループの途中にインバータが入って、NOT A の演算が実現できます。同様に他の演算を挿入すれば、その演算機能が実現できると推測されます。
    出力 OUT の状態が切り替わるのは、CLK の立上り時です。
  • 保持回路 + データセレクタ
    A ~ D の 1bit CPU ( レジスタ ) を 4 ケ用意して、MOV A, D の転送命令を実行する方法は以下のとおりです。
  1. すべての 2 極スイッチを「保持」に切り替える。
  2. 右側サイドパネルの 「Reset」ボタンをクリックする。
  3. 5 極スイッチを 「E」 に切り替えデジタル入力を H に設定する。
  4. D レジスタのスイッチを「コピー」に切り替え、Q 出力が H になったらスイッチを「保持」に切り替える。
  5. 5 極スイッチを「D」に切り替え、A レジスタのスイッチを「コピー」切り替える。Q 出力が H になったらスイッチを「保持」に切り替える。

以上で D レジスタの内容が A レジスタに転送されました。
同様に B, C レジスタについても 4, 5 項をおこなえば、MOV B, D や MOV C, D 転送命令を実行できます。


シミュレーションを実行するには下記の回路ファイルをコピーして、シミュレータの File → Import From Text... で開くパネルに貼り付けてください。

$ 1 0.000005 6.450009306485578 50 5 50 5e-11
R 352 -128 304 -128 1 2 100 2.5 2.5 0 0.5
155 352 -160 384 -160 0 0
w 352 -160 352 -192 0
w 352 -192 736 -192 0
w 448 -160 480 -160 0
S 736 -144 640 -144 0 0 false 0 2
I 480 -128 640 -128 0 0.5 5
w 480 -160 640 -160 0
w 480 -128 480 -160 0
w 736 -192 736 -144 0
M 736 -144 800 -144 0 2.5
x 744 -154 769 -151 4 12 OUT
x 643 -109 680 -106 4 12 NOT\sA
x 640 -173 695 -170 4 12 MOV\sA,\sA
L 624 128 624 176 0 0 false 5 0
S 720 96 624 96 0 1 false 0 5
S 336 64 272 64 0 0 false 0 2
x 480 -61 667 -58 4 20 メカ式CPU\s(\sp181\s)
x 442 86 498 89 4 12 Aレジスタ
w 480 32 480 64 0
w 480 64 624 64 0
w 448 64 480 64 0
w 272 32 480 32 0
w 272 48 272 32 0
155 352 64 384 64 0 5
x 194 617 637 620 4 20 各レジスタに保持回路\pデータセレクタ\s(\sp184\s)
155 352 208 384 208 0 0
w 272 192 272 176 0
w 272 176 480 176 0
w 448 208 480 208 0
w 480 208 512 208 0
w 480 176 480 208 0
x 442 230 498 233 4 12 Bレジスタ
S 336 208 272 208 0 1 false 0 2
155 352 352 384 352 0 0
w 272 336 272 320 0
w 272 320 480 320 0
w 448 352 480 352 0
w 480 352 528 352 0
w 480 320 480 352 0
x 442 374 498 377 4 12 Cレジスタ
S 336 352 272 352 0 1 false 0 2
155 352 496 384 496 0 5
w 272 480 272 464 0
w 272 464 480 464 0
w 448 496 480 496 0
w 480 496 544 496 0
w 480 464 480 496 0
x 442 518 498 521 4 12 Dレジスタ
S 336 496 272 496 0 1 false 0 2
w 336 64 352 64 0
w 336 208 352 208 0
w 336 352 352 352 0
w 336 496 352 496 0
w 352 96 352 240 0
w 352 240 352 384 0
w 352 384 352 528 0
w 272 80 240 80 0
w 272 224 240 224 0
w 272 368 240 368 0
w 512 208 512 80 0
w 512 80 624 80 0
w 528 352 528 96 0
w 528 96 624 96 0
w 544 496 544 112 0
w 544 112 624 112 0
w 720 96 720 0 0
w 720 0 240 0 0
w 240 0 240 80 0
w 240 80 240 224 0
w 240 224 240 368 0
w 240 368 240 512 0
w 240 512 272 512 0
R 352 528 304 528 1 2 100 2.5 2.5 0 0.5
x 566 438 727 441 4 20 MOV\sA,\sD\sを実行
x 259 105 295 108 4 12 コピー
x 259 163 283 166 4 12 保持
x 258 312 282 315 4 12 保持
x 265 453 289 456 4 12 保持
x 258 24 282 27 4 12 保持
x 263 245 299 248 4 12 コピー
x 259 386 295 389 4 12 コピー
x 241 533 277 536 4 12 コピー
403 832 -192 976 -112 0 0_64_0_x81016_5_0.1_-1_2_1.25_0_0_3_0.025_0_CLK
403 832 -112 976 -16 0 10_64_0_x81016_5_0.1_-1_1_1.25_0_OUT
x 629 60 637 63 4 12 A
x 628 78 636 81 4 12 B
x 628 94 636 97 4 12 C
x 628 108 636 111 4 12 D
x 627 126 634 129 4 12 E
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?