Eksekusi Instruksi
(Instruction Execution)
Eksekusi instruksi
meliputi langkah-langkah berikut :
a. Penentuan alamat instruksi berikutnya yang
akan dieksekusi
b. Pengambilan
instruksi dari lokasi
yang ditunjuk tersebut,
kemudian
meletakkannya di
register instruksi (Instruction
Register) yang terletak
berdampingan dengan
Control Unit.
c. Penterjemahan
(decode) instruksi untuk
mengetahui operasi apa
yang harus
dilakukan.
d. Kalkulasi alamat operand (data yang akan dilibatkan dalam operasi), kemudian
ambil operand
tersebut.
e. Melakukan operasi tertentu terhadap operand
tersebut.
f. Simpan hasilnya pada salah satu lokasi data,
register atau memori.
g. Pengecekan
terhadap keberadaan interupsi.
Jika ada, maka
eksekusi instruksi
berikutnya ditunda
dan operasi instruksi interupsi dimulai.
Gambar diatas memperlihatkan siklus instruksi yang secara garis besar terdiri dari
tahap pengambilan
(fetch cycle) dan
tahap eksekusi (execution
cycle).
Gambar diatas
berisi diagram keadaan
(state diagram )
yang merupakan rincian
siklus
eksekusi instruksi.
Gambar diatas memperlihatkan contoh
siklus eksekusi sebuah
instruksi yang
terdiri dari 6 tahap,
yaitu :
1. Karena
PC (Program Counter)
berisi angka 300,
maka instruksi yang
akan
diambil adalah
instruksi yang terletak
di memori alamat
300, yaitu instruksi
dengan kode 1940.
Instruksi tersebut diambil dari memori kemudian disimpan di
register instruksi
(Instruction Register).
2. Misalkan kode 1940 merupakan instruksi dengan
kode operasi (Operation Code,
opcode) 1,
diikuti dengan 940
yang merupakan alamat
operand. Opcode 1
berarti instruksi
untuk mengcopy data dari alamat operand (dalam hal ini 940) ke
akumulator. Maka data
yang terletak di alamat 940 dicopy ke accumulator untuk
diproses dalam siklus
eksekusi ini.
3. Setelah
itu isi PC
ditambah satu (incremented)
sehingga isinya menjadi
301.
Artinya, instruksi
berikutnya yang harus
diambil dari memori
dan dieksekusi
terletak di
memori alamat 301,
yaitu instruksi dengan
kode 5941. Instruksi
tersebut mengandung
opcode 5 dan alamat operand 941.
4. Karena
5 berarti penjumlahan
antara isi akumulator
dengan isi memori
yang
alamatnya diberikan
di sebelah angka
5, maka isi
akumulator dijumlahkan
dengan isi
memori alamat 941.
Kemudian hasil penjumlahannya dikembalikan
ke akumulator.
5. Setelah
PC ditambah satu,
maka isinya menjadi
302, sehingga instruksi
berikutnya yang
diambil dari memori adalah 2941, yaitu
opcode 2 dan operand
941.
6. Arti 2941 adalah perintah untuk mengcopy isi
akumulator ke memori alamat 941.