Interupsi
MATERI V
Interupsi
A. Pengertian dan Fungsi Interupsi
Interupsi merupakan suatu mekanisme dimana komponen dari sistem komputer / modul komputer seperti Perangkat I/O, Memory, dan lain lain menginterupsi urutan normal sebuah proses dari CPU karena terjadi kondisi yang sangat penting. Interupsi merupakan mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada interupsi rutin. Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Secara umum fungsi interupsi adalah untuk manajemen pengeksekusian instruksi rutin agar efektif dan efisien antara CPU, modul – modul I/O serta memori. Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, meskipun kecepatan eksekusi setiap modul berbeda, akan tetapi kendali tetap terletak pada CPU. Selanjutnya pada interupsi terdapat pembagian kelas sinyal sebagai berikut
• Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi
yang terjadi pada hasil eksekusi program.
Contohnya: arimatika overflow, pembagian nol, operasi ilegal.
• Timer, adalah interupsi yang dibangkitkan karena pewaktuan internal (pewaktuan dalam prosesor). Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
• I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
• Hardware failure, adalah interupsi
yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
B. Proses Interupsi
Adanya mekanisme interupsi,
prosesor dapat digunakan untuk mengeksekusi instruksi– instruksi lain. Saat suatu modul telah selesai
menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan
interupsi ke prosesor. Kemudian prosesor
akan menghentikan eksekusi yang dijalankannya untuk menghandel interupsi rutin.
Setelah program interupsi selesai maka
prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal interupsi diterima prosesor
ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak.
C. Interupsi ganda (multiple interrupt)
Interupsi ganda sering terjadi pada sistem operasi kompleks, misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba. Jika pada saat bersamaan terdapat banyak interupsi pada program yang dijalankan oleh CPU, maka reaksi prosesor atas sinyal interupsi yang diterimanya ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak. Terdapat dua pendekatan Interupsi ganda yaitu :
1. Pendekatan pengolahan interupsi berurutan / Sekuensial
Pendekatan interupsi ini
dilakukan denolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor. Setelah prosesor
selesai menangani suatu interupsi maka interupsi lain baru di tangani.
2. Pengolahan interupsi bersarang yaitu mendefinisikan prioritas
bagi interupsi
Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.
Pada kasus multiple interrupt
dengan pendekatan pengolahan interupsi berurutan/ Sequential, maka ketika interupsi interupsi
ditolak Apa yang dilakukan prosessor? Interupsi ditolak atau di-disable terjadi ketika
processor mengabaikan interupsi berikutnya karena processor sedang memproses satu interupsi.
Interupsi berikutnya ditunda (pending) dan dilakukan pengecekan setelah interupsi pertama
diproses. Pada kondisi ini (Disable interrupts) Interupsi ditangani sesuai urutan kejadian.
Sedangkan pada kasus multiple interrupt dengan pendekatan bersarang atau nested, maka ketika
knterupsi interupsi diterima/ditangguhkan Apa yang dilakukan Prosessor? Prosesor
menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan yang dilakukan processor
adalah menyimpan alamat instruksi dan
data lain yang relevan yang akan dieksekusi berikutnya. Prosesor menyetel program counter (PC) ke alamat awal routine
interrupt handler.Pada kondisi ini interupsi dengan prioritas rendah dapat diinterupsi dengan
interupsi yang memiliki prioritas lebih tinggi. Setelah interupsi dengan prioritas lebih tinggi
selesai diproses maka program akan kembali menjalankan interupsi prioritas rendah.
D. Soal dan Pembahasan
Suatu sistem memiliki tiga
perangkat I/O: printer, disk, dan saluran komunikasi, masing– masing prioritasnya 2, 4 dan 5. Bagaimana proses
interupsinya?
•
Pada awal sistem
melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi
meminta interupsi.
•
Proses selanjutnya
adalah pengalihan eksekusi interupsi modul komunikasi, sedangkan interupsi printer ditangguhkan.
• Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan.
•
Setelah interupsi
modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk.
•
Bila interupsi disk
selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama
Komentar
Posting Komentar