Contoh Eksekusi Program dalam CPU
1. Pada Tahap 1, PC (Program
Counter) berisi angka
CPU300,
Memory
maka instruksi yang
akan
Register
300
PCyang
adalah instruksi
300 1 9 4diambil
0
di memori alamatA300,
301 5 9 4 terletak
1
C
instruksi dengan kode
302 2 9 4 yaitu
1
1 9 4 0 IR
------------------1940. Instruksi
tersebut
940 0 0 0 diambil
3
dari memori kemudian
941 0 0 0 disimpan
2
di register instruksi
Step
(Instruction Register). Untuk
ke Acumulator akan dijelaskan
pada tahap 2.
2. Pada Tahap 2, kode 1940
CPU
merupakan instruksi
dengan
Register
kode operasi (Operation Code,
300 PC
1, diikuti
dengan 940
300 1 9 4 opcode)
0
0003
A
301 5 9 4 yang
1 merupakan alamat
C
302 2 9 4 operand.
1
Maksudnya 1 =
1 9 4 0 IR
------------------opcode 0000 0001 dengan
940 0 0 0Simbolik
3
Representasi Load
941 0 0 0 M(X)
2
Step
yang artinya Transfer
Memori ke M(X). Jadi
Memory
Transfer Memory (X = 940
dengan alamat 0003) ke
Acumulator (AC).
CPU
Register
301 PC
0003
A
C
5 9 4 1 IR
3. Pada Tahap 3, Setelah itu isi
PC ditambah satu
Memory
(incremented) sehingga isinya
menjadi 301. Artinya,
300 1 9 4 0
instruksi berikutnya yang
301 5 9 4 1
Step
diambil dari memori dan
302 2 9 4 harus
1
dieksekusi terletak di memori
------------------301, yaitu instruksi dengan kode 5941. Instruksi tersebut mengandung
940 0 0 0 alamat
3
5 dan alamat operand 941. Selanjutnya akan dibahas pada tahap 4.
941 0 0 0 opcode
2
301 PC
0005
A
C
5 9 4 1 IR
3 + 2 = 5
4. Pada Tahap 4, Instruksi dalam IR yaitu 5941,
maksudnya 5 = opcode 0000 0101 dengan
Simbolik Representasi ADD M(X) yang
artinya tambahkan Memory M(X) ke AC:
taruh hasinya di AC, maka penjumlahan antara isi akumulator memori sebelumnya 940
dengan
isi akumulator memoriCPU
alamat 941. Kemudian hasil penjumlahannya dikembalikan ke
Memory
Register
akumulator.
5. Pada Tahap 5, Setelah PC
300 1 9 4 0
ditambah satu, maka
isinya
301 5 9 4 1
CPU
Memory
menjadi 302, sehingga
302 2 9 4 1
Register
instruksi berikutnya yang
------------------300 1 9 4diambil
0
302 adalah
PC
940 0 0 0 3
dari memori
301
5
9
4
1
0 0 02 5
941 0 0 0 2
2941, yaitu opcode
dan A
Step
302 2 9 4 1
C
operand 941. Selanjutnya akan
------------------2 9 4 1 IR
pada tahap 6.
940 0 0 0dijelaskan
3
941
0002
Memory
Step
CPU
Register
6. Pada Tahap 6, Instruksi dalam
300 1 9 4 0
302 PC
IR
yaitu
2941,
maksudnya 2 =
301 5 9 4 1
0005
A
opcode
0000
0010
dengan C
302 2 9 4 1
Simbolik Representasi
------------------2 9 4 1 LOAD
IR
940 0 0 0M(X)
3
yang artinya Transfer
941 0 0 0MIX
5 ke akumulator. Jadi isi
Step
Akumulator 0005 direplace
dan disimpan di memori
alamat 941 yang semula berisi alamat 0002.
Tabel Instruksi IAS
Tipe
Instruksi
Data
Transfer
Opcode
Simbolik
Representasi
Deskripsi
0001010
LOAD MQ
Transfer isi register MQ ke
akumulator AC
00001001
LOAD MQ,M(X)
Transfer isi lokasi memori X
to MQ
00100001
STOR M(X)
Transfer isi akumulator ke lokasi
memori X
00000001
LOAD M(X)
Transfer M(X) ke akumulator
00000010
LOAD -M(X)
Transfer-MIX ke akumulator
00000011
LOAD I M(X)
Transfer nilai absolut
Unconditional 00001101
branch
00001110
M(X) Conditional 00001111
branch
JUMP M(X,0:19)
Ambil instruksi berikutnya dari
separuh kiri M(X)
JUMP M(X,20:39)
Ambil instruksi berikutnya
dari separuh kanan
JUMP + M(X,0:19)
Bila angka di akumulator
non negatif, ambil
instruksi dari separuh kiri
M(X)
Bila angka di akumulator
00010000
JUMP+M(X,20:39)
00000101
ADD M(X)
Tambahakan M(x) ke AC:
taruh hasilnya di AC
00000111
ADD I M(X)
Tambahkan I M(X) ke AC;
taruh hasilnya di AC
00000110
SUB M (X)
Kurangi M(X) dari AC taruh
hasilnya di AC
00001000
SUB I M(X)
Kurangi I M(X) dari AC
taruh sisanya di AC
00001011
MUL M(X)
Kalikan M(x) dengan MQ;
taruh bit hasil yang paling
signifikan di AC
00001100
DIV M(X)
Taruh bit yang paling tidak
segnifikan di MQ
Address
modify
00010010
STOR M(X,8:19)
Ganti field alamat kiri pada
M(X) dengan 12 bit paling
kanan dari AC
Address
modify
00010010
STOR M(X,8:19)
Ganti field alamat kiri pada
M(X) dengan 12 bit paling
kanan dari AC
Aritmetic