Interrupt atau 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 :
1. Operasi dengan polling
2. 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 :
1.Interrupt BIOS (Basic Input Output Sistem)
2. 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.
Kejadian-kejadian sinkron yang merupakan tanggapan pemroses terhadap kondisi-kondisi tertentu yang memerlukan perhatian. Sebuah setting hardware yang menjalankan perintah-perintah dalam sistem komputer.
Interrupt secara harfiah dalam bahasa Indonesianya diartikan sebagai selaan, menyela, atau menjegal, atau istilah kerennya disebut dengan interupsi.
Interrupt bisa diibaratkan dalam kehidupan sehari-hari sebagai suatu proses berjalan, namun belum selesai proses tersebut melakukan tugasnya, sudah dilaksanakan lagi proses lainnya.
Ibaratnya begini, ketika anda sedang melakukan suatu pekerjaan, katakanlah membaca sebuah buku, belum selesai buku tersebut anda tamatkan, lalu telepon anda berbunyi, sehingga anda melakukan percakapan terlebih dahulu melalui telepon tersebut. Setelah pembicaraan selesai, anda melanjutkan membaca buku tadi. menerima telepon di dalam kejadian tersebut disebut dengan menyela.
Begitu juga dengan proses yang terjadi pada komputer. Apabila sebuah komputer melakukan prosesnya tanda ada gangguan, tentu komputer tersebut dapat menyelesaikan pekerjaannya dengan serius khusus untuk satu pekerjaan yang sedang dikerjakannya. Dalam kondisi demikian, komputer anda melakukan tugasnya yang disebut dengan primitive batch processing. Pekerjaan seperti ini digunakan oleh komputer pada komputer zaman awal-awal ditemukannya. Dimana komputer tidak bisa mengerjakan beberapa program sekaligus dalam waktu bersamaan, sampai satu pekerjaan selesai dikerjakan, maka baru dia bisa berpindah ke pekerjaan lainnya.
Komputer terkini, memiliki kemampuan interrupt ini. Penulis melakukan pengetikkan naskah ini sambil mendengarkan musik yang terpasang pada notebook yang digunakan, tidak jarang komputer ini juga sambil terhubung dengan internet untuk membuka halaman web atau mengambil beberapa data yang ada di internet.
Anda tentu juga tidak jarang mengalami hal dengan interrupt ini, katakanlah, ketika mengetikkan SMS ternyata ada telpon yang masuk, anda terima dulu telpon tersebut, lalu setelahnya anda lanjutkan pengetikan SMS tadi.
Untuk memungkinkan terjadinya interrupt ini pada sistem komputer, CPU memiliki suatu jalur khusus terhadap suatu chip pengatur interrupt eksternal (bagian dari chipset), yang berisi database sederhana yang dikenal dengan interrupt vectors.
Ketika sebuah interrupt terjadi pada chip, maka CPU menyimpan informasi terakhir yang dia kerjakan, berulah dia mengerjakan sesuai dengan informasi yang ada pada interrupt vector tesebut. Interrupt vector ini sebenarnya hanya sebuah nama pemanis yang berisi informasi tentang selaan yang terjadi, kalau dibelah lebih dalam lagi, isinya adalah berupa tabel yang berisi angka-angka). Pada interrupt vector inilah ditemukan kemana dan apa proses berikutnya yang harus dilaksanakan oleh komputer. Ketika pekerjaan interrupt tadi selesai dilaksanakan, maka komputer melakukan pelacakan kembali apa pekerjaan sebelumnya yang sedang dilaksanakannya.
Prioritas dalam interrupt
Dalam penerimaan suatu interrupt ini, komputer membagi interrupt tersebut dalam berbagai level, tergantung dari CPU yang digunakan. Misalnya pada komputer yang digunakan untuk pekerjaan yang cukup membutuhkan konsentrasi dari CPU, maka CPU tersebut memungkinkan untuk mengabaikan interrupt yang prioritasnya rendah, katakanlah pengetikkan yang dilakukan oleh seorang user melalui keyboard, namun komputer tersebut akan memberikan respon yang sangat cepat apabila terjadi gangguan pada memori yang digunakannya.
Interupsi terjadi bila suatu perangkat M/K ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.
Penanganan Interupsi
Ada beberapa tahapan dalam penanganan interupsi:
- Controller mengirimkan sinyal interupsi melalui interrupt-request-line
- Sinyal dideteksi oleh prosesor
- Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)
- Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler
- Transfer kontrol ke interrupt handler
- Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Sumber Artikel : http://ilmucomputer2.blogspot.com/2009/08/pengertian-interrupt.html
Tidak ada komentar:
Posting Komentar