Monday, May 14, 2012

Penjelasan Interrupt

Apakah Interrupt itu? mekanisme untuk menghentikan sementara waktu urutan eksekusi program yang normal(seqeuence) , Jika kondisi tertentu telah terjadi atau ada program lain yang lebih mendesak untuk dieksekusi.

Penjelasan mengidentifikasikan interrupt http://rezaakhmadg.blogspot.com/2012/05/identifikasi-interrupt.html

Apa Penyebab interrupt ?
  • Program : misal overflow, division by zero, akses ke ilegal memori
  • Timer: dihasilkan oleh timer prosesor internal, digunakan pada pre-emptive multi tasking
  • I/O : dihasilkan oleh I/O controller
  • hardware failure : misal memory , parity error, power failure

Siklus Interrupt
Siklus Interrupt
Siklus Interrupt - State Diagram
Siklus Interrupt - State Diagram
Siklus pada Interrupt :
  • Pengecekan interrupt ditambahkan pada siklus interuksi
  • prosesor memeriksa apakah terjadi interrupt
  • jika tidak ada interrupt maka kerjakan instruksi berikutnya
  • jika ada interrupt:
    • Tunda program yang sedang dieksekusi
    • simpan context(alamat instruksi,data)
    • PC : alamat awal routine interrupt handler
    • kerjakan interrupt sampai selesai
    • kembalikan context(PC : alamat saat terjadi interrupt)
    • lanjutkan program yg tertunda
Ada 2 metode yang dapat digunakan:
  •  Disable intterupt
    • Bila prosesor sedang menangani sebuah interrupt, maka interrupt berikutnya diabaikan
    • Bila interrupt pertama telah selesai, prosesor memeriksa apakah masih ada interrupt yang lain
    • eksekusi interrupt dilakukan secara berurutan(sekuensial)
  • Interrupt bertingkat
    • Interrupt berprioritas rendah dapat diinterupt oleh interrupt berprioritas tinggi
    • interrupt yang ter interrupt dieksekusi lagi bila interrupt yang lebih tinggi telah selesai ditangani
Teknik Input Output
  •   I/O terjadi pada saat program yang di dalamnya terdapat perintah I/O dieksekusi
  •  Eksekusi I/O terus menerus melibatkan prosesor
  • I/O terjadi pada saat perintah I/O dieksekusi
  • Sesudah perintah I/O dieksekusi à CPU melanjutkan eksekusi perintah lainnya à tidak terlibat terus menerus
  • CPU berperan lagi jika sudah ada interrupt dari device (modul I/O)
  • Transfer data ditangani oleh sebuah prosesor I/O khusus