Sabtu, 29 Agustus 2015

Tentang Siklus Instruksi (Instruction Cycle)



Assalamualaikum wr. wb.
Kali ini saya akan berbagi ilmu tentang Siklus Instruksi pada komputer


Sebuah siklus instruksi meliputi subsiklus-subsiklus berikut ini:

  • Fetch: membaca instruksi berikutnya dari memori ke dalam cpu.
  • Execute: menginterpretasikan opcode dan melakukan operasi yang diindikasikan.
  • Interrupt: apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt.
  • Store: data atau hasil perhitungan disimpan dalam register atau RAM


Siklus Tak Langsung

Eksekusi sebuah instruksi melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Kemudian, apabila digunakan pengalamatan tak langsung, maka diperlukan akses memori tambahan.


Machine cycle

Machine cycle atau nama lainnya adalah processor cycle atau instruction cycle merupakan merupakan suatu siklus instruksi dasar yang dikerjakan oleh cpu di dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi instruksi ini dimulai dari proses fetching data dan instruksi yang ada didalam memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam memori.

Secara garis besar siklus instruksi (machine cycle) dibagi ke dalam beberapa tahapan yaitu:
  1. Proses FetchingMerupakan proses dimana instruksi dan data akan di load dari memori ke dalam cpu. Proses ini dimulai dari pengambilan alamat instruksi yang terdapat di dalam pc (program counter). Alamat yang terdapat di dalam pc ini merupakan alamat valid dari instruksi dan data yang disimpan ke dalam memori utama, dan merupakan alamat instruksi yang akan dieksekusi. Berdasarkan alamat instruksi yang terdapat di dalam pc, cpu akan mengambil instruksi tersebut untuk ditempatkan ke dalam register (instruction register/ ir) yang menyimpan instruksi yang akan dieksekusi.
  2. Proses DecodingMerupakan tahapan dimana instruksi akan di terjemahkan (interpret) ke dalam perintah-perintah bahasa mesin dasar (add, sb, mba, sta, jmp, dll). Proses ini dilakukan oleh instruction decoder.
  3. Proses Executing: Tahapan dimana instruksi akan dieksekusi di dalam cpu, yaitu oleh alu (arithmetic logic unit).
Setelah tahapan diatas dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori untuk disimpan. Proses penyimpanan kembali hasil eksekusi isntruksi terdiri dari beberapa tahapan yaitu:
  1. Proses penempatan alamat memori yang digunakan untuk menyimpan hasil instruksi ke dalam mar
  2. Proses penempatan data (hasil instruksi) kedalam mdr
  3. Proses mengaktifkan memory write control signal pada control bus
  4. Proses menunggu memori untuk melakukan write data pada alamat tertentu
  5. Proses untuk menonaktifkan memory write control signal pada bus
Dalam menjalakan instruction cycle/machine cycle ada beberapa komponen yang berperan, yaitu:
  1. Program counter (pc)Nama lainnya adalah instruction pointer, merupakan suatu pointer (penunjuk), bagi sejumlah instruksi yang ditempatkan di dalam memori dan akan dieksekusi oleh cpu.
  2. Memory address register (mar)Adalah salah satu register yang terdapat di dalam cpu yang fungsinya adalah untuk menyimpan alamat memori dari data yang akan diambil (fetch) oleh cpu untuk dieksekusi. Selain itu mar juga akan menyimpan alamat memori dari data (hasil instruksi) yang akan ditulis kembali ke dalam memori.
  3. Memory data register (mdr)Merupakan register yang terdapat dalam cpu yang fungsinya adalah menyimpan data sementara yang akan dieksekusi oleh cpu. Setiap kali proses fetching berlangsung, data akan disimpan di dalam mdr sebelum dilakukan proses eksekusi. Demikian juga hasil dari eksekusi instruksi akan disimpan di dalam register ini sebelum dilakukan proses penulisan kembali ke memori.
  4. Instruction registerSama seperti mar dan mdr, instruction register (ir) ini terletak di dalam cpu. Ir ini bertanggung jawab untuk menyimpan instruksi yang akan dieksekusi oleh cpu. Pada beberapa jenis prosesor (terutama yang ada sekarang), digunakan konsep pipeline pada ir ini, dimana pada setiap stage pipeline melakukan proses decoding, dan proses yang lain pada waktu instruksi dikerjakan.
  5. Control unit (cu)Control unit mengkoordinasi semua komponen-komponen yang ada di sistem computer, terutama yang berkaitan dengan pengolahan data dan eksekusi instruksi. Cu mengatur proses fetching instruksi maupun data dari memori ke cpu. Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control signal.
  6. Arithmetic logic unit (alu)Merupakan sirkuit digital yang terdapat di dalam cpu yang memiliki fungsi untuk melakukan komputasi aritmatika dan logika. Alu merupakan unit dasar dari pengolah data dan eksekusi instruksi.

Share this

0 Comment to "Tentang Siklus Instruksi (Instruction Cycle)"

Posting Komentar