Senin, 06 Oktober 2014

Penjelasan Tentang Diagram Eksekusi



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.