Interupsi Komputer
INTERUPSI
Kali Ini kita akan membahas Interupsi,langsung saja ke Pembahasan!!!!!!
Interupsi adalah proses dalam komputer untuk meminta dilayani oleh mikroprosesor sesuai dengan tingkat prioritasnya yang telah diatur sedemikian rupa oleh sistem hardware computer.
CPU banyak melaksanakan routin untuk melakukan pelayanan pemrosesan ataupun koordinasi kepada IC penunjang atau chipset dan peripherals pada saat diperlukan. Sehingga CPU dapat melakukan operasi dengan 2 cara yaitu :
- Operasi dengan polling
- Opreasi dengan interrupt
Operasi dengan polling berarti CPU selalu terus menerus menanyakan/ memantau ke tiap-tiap komponen penunjang satu persatu meskipun komponen itu sedang tidak memerlukan pelayanan.
Sedangkan operasi interrupt atau interupsi dilakukan oleh tiap-tiap komponen kepada CPU bilamana memerlukan pelayanan pemrosesan, sehingga CPU tidak terus-menerus menanyakan /memantau komponen itu. Setiap interupsi yang datang di kontrol oleh interrupt controller di luar CPU. Dalam keadaan CPU terkena interupsi, maka CPU untuk sesaat menghentikan kegiatan pelayanan utama dan beralih melayani komponen yang menginterupsinya. Setelah selesai dilayani CPU kembali melakukan pelayanan utamanya.
Cara interupsi sangat meningkatkan effisiensi operasi CPU dan melakukan tugasnya dengan cepat.
Interupsi dapat dilakukan dengan cara hardware dan software, sehingga CPU dapat menerima 3 macam interupsi antara lain :
- Interupsi software (instruksi INT nH n= bilangan 00H s/d FFH)
- Non Maskable Interrupt (Interupsi hardware dimana interupsi ini mutlak tidak dapat dicegah karena berasal dari sistem board atau IC.
- Maskable Interrupt (berasal dari hardware melalui pin INTR) yang dapat ditutup atau dicegah dengan instruksi CLI berasal dari interupsi perangkat lunak.
Interupsi software terdiri dari 256 dan diberi nomor 00H hingga FFH. Alamat awal masing-masing program pelayanan terdiri dari 4 byte, 2 byte untuk Code Segment dan 2 byte untuk Instruction Pointer.
Dalam pemrograman assembler kita dapat melakukan interupsi secara software dengan perintah INT yang dapat dilihat dalam tabel interupsi.
Interrupt Software dalam PC terbagi dua yaitu :
- Interrupt BIOS (Basic Input Output Sistem)
- Interrupt DOS (Disk Operating Sistem)
Interrupt BIOS diwujudkan dalam bentuk interupsi software berjumlah 32 dan akses pelayanannya tinggal memerintahkan dengan instruksi INT nH asal parameternya diwajibkan telah terpenuhi dahulu. INT nH terdiri dari 00H sampai 1FH yang disusun berurutan dan diberi servis number (nomor pelayanan) tersendiri.
Interrupt DOS merupakan interupsi dari software Sistem Operasi terdiri dari INT 20H untuk kembali ke DOS dan INT 21H untuk operasi Input/Output.
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
Gambar 5.1 Proses Interupsi transfer of command
Gambar diagram alir siklus eksekusi oleh prosesor dengan adanya fungsi interupsi
C. Interupsi ganda (multiple interrupt)
Interupsi gaanda 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 interupsisetiap 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.
- Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi
- Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu
Gambar Multiple Interrupts – Nested
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.
Komentar
Posting Komentar