手順1. |
「プログラム」の表のように、機械語命令コードを20番地から25番地に書き込む、すなわちロードする。 |
手順2. |
「プログラムの実行前の主記憶装置の内容」の表のように、10番地から14番地にデータを書き込む(ロード)する。 |
手順3. |
プログラムカウンタの内容を、プログラムのコードの開始番地の20に書き換える(セット)する。 |
手順4. |
プログラムカウンタ、命令レジスタ、汎用レジスタ、主記憶装置の14番地の内容がどのように変わるかを確認しながら、[Next Step]ボタンのクリックを繰り返す。 |
※ 実際のコンピュータでは、プログラムやデータの主記憶装置への読み込み(ロード)、プログラムカウンタのセットは、マウスでダブルクリックするなどがきっかけとなって基本ソフトであるOS( Operating System)によって自動的に行われるが、この教材では、この部分は手順1、2、3として、手動で行っている。
※ この教材で手動でおこなっている手順4のプログラムカウンタの更新は、実際のコンピュータでは内蔵の時計(クロック)に合わせて自動的に行われる。手順4のプログラムカウンタの更新が速ければ速いほど実行時間は短くなるので、時計の周期が短い、すなわち振動数が大きいCPUほど性能が良いことになる。
番地 |
コード |
意味 |
20 |
0110 |
10番地のデータをロードせよ |
21 |
1111 |
11番地のデータと加算せよ |
22 |
1112 |
12番地のデータと加算せよ |
23 |
1113 |
13番地のデータと加算せよ |
24 |
0214 |
汎用レジスタのデータを14番地にストアせよ |
25 |
2000 |
プログラムを終了せよ |
番地 | 値 |
10 |
0400 |
11 |
0300 |
12 |
0100 |
13 |
0100 |
14 |
0000 |
番地 |
値 |
10 |
0400 |
11 |
0300 |
12 |
0100 |
13 |
0100 |
14 |
0900 |