Interupsi adalah permintaan khusus pada mikroprosesor untuk menghentikan tugas saat ini dan melakukan tugas lain, seperti layanan I/O. Fungsinya meliputi pengalihan pengolahan instruksi ke rutin layanan interupsi dan manajemen pengeksekusian rutin antara CPU dan modul I/O. Jenis interupsi termasuk internal, eksternal, dan perangkat lunak. Penyebabnya seperti program, kegagalan perangkat keras, timer, dan penanganan ek
2. Pengertian Interupsi
Interupsi adalah suatu permintaan khusus pada microprocessor
untuk melakukan sesuatu, jika terjadi interupsi maka computer akan
menghentikan dahulu apa yang sedang dikerjakan dan melakukan
apa yang diminta oleh yang menginterupsi. Interrupt merupakan sub
rutin yang sudah tersedia dalam memori computer Pada IBM PC dan
kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0
s/d 255.
3. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS yaitu
suatu IC di dalam komputer yang mengatur operasi dasar
komputer. Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka
secara default komputer akan beralih ke ROM BIOS dan
melaksanakan program yang terdapat disana.
Program yg melayani suatu interupsi dinamakan Interrupt
Handler, dan hanya dijalankan jika terjadi sesuatu kejadian khusus
(event). Kejadian ini bisa berupa timer yang mengalami overflow,
penerimaan karakter melalui port serial, mengirimkan karakter
melalui port serial, atau salah satu dari dua kejadian eksternal.
Setiap interrupt akan mengekseskusi interrupt handlernya masing
masing berdasarkan nomornya.
4. Sedangkan alamat dari masing masing interrupt handler
tercatat di memori dalam bentuk array yang besar elemennya
masing masing 4 byte. Keempat byte ini dibagi lagi yaitu 2 byte
pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode
segmen dari alamat interrupt handler yang bersangkutan. Jadi
besarnya array itu adalah 256 elemen dengan ukuran elemen
masing masing 4 byte.
Total keseluruhan memori yang di pakai adalah sebesar
1024 byte (256x4=1024) atau 1 KB dan disimpan dalam lokasi
memori absolut 0000h sampai 3FFh. Array sebesar 1 KB ini disebut
interrupt vector table. Nilai nilai yang terkandung pada interrupt
vector table ini tidak akan sama di satu komputer dengan yang
lainnya.
5. Fungsi Interupsi
1. Interupsi memindahkan pengendalian kepada interrupt service
routine melalui interrupt vektor yang berisi alamat dari semua
service routine.
2. Arsitektur interrupt harus menyimpan alamat intruksi yang di
interrupt.
3. Interrupt yang datang berikutnya dibatalkan ketika interrupt lain
sedang diproses untuk mencegah hilangnya suatu interrupt.
4. Trap adalah software generated interrupt yang disebabkan oleh
kesalahan atau karena permintaan user.
5. Suatu sistem operasi dikendalikan oleh interrupt.
6. Tujuan Interupsi
1. Secara umum untuk manajemen pengeksekusian routine intruksi
agar efektif dan efisien antar CPU dan modul – modul I/O
maupun memori.
2. Setiap komponen komputer dapat menjalankan tugasnya secara
bersamaan, tetapi kendali terletak pada CPU disamping itu
kecepatan eksekusi masing – masing modul berbeda.
3. Dapat sebagai sinkronisasi kerja antar modul.
7. Jenis-jenis Interupsi
1. Internal HW interruptions
– Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada
waktu/selama eksekusi program.
– Diatur oleh HW dan tidak dapat dirubah.
– Contoh : tipe interrupt untuk counter clock internal; HW call interrupt ini untuk
memaintance “time to date”.
1. External HW interrupstion
– Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printers,
mouse, dsb.
– Biasa juga ditimbulkan/digenerasi oleh Co-processor
– Tidak mungkin mendeaktivekan
8. 3. Software interruption
– Diaktifkan langsung oleh assembler melalui sejumlah interupsi yang di
harapkan dengan intruksi INT.
– Terdapat 2 jenis : DOS interrupstions & BIOS interruptions. Perbedaan nya,
DOS interruptions lebih mudah digunakan, namun lebih lambat, karena
interruptions jenis ini menggunakan BIOS, BIOS interruptions lebih cepat,
namun banyak kerugiannya karena BIOS bagian HW dan HW-specific.
Pemilihan interrupt tergantung pada karakteristik yang akan kita berikan
pada program : SPEED -> BIOS interruptions . PORTABILITY -> DOS
interruptions.
9. Ada 2 macam Software Interrupt :
1.Vektor Interrupt ROM BIOS
Interrupt 00h-1Fh (0-31) adalah interrupt BIOS dan standar
di semua komputer baik yang menggunakan sistem operasi
DOS atau bukan. Lokasi interrupt vector tabkenya ada di
alamat absolut 0000h-007Fh.
Interrupt BIOS dibawah ini telah di pastikan kegunaannya
oleh sistem untuk keperluan khusus tidak boleh di ubah oleh
program seperti lainnya.
•DEVIDE BY ZERO Jika terjadi pembagian dengan nol maka
proses akan segera dihentikan.
•SINGLE STEP untuk melaksanakan/mengeksekusi intruksi
satu persatu.
10. • NMI pelayanan terhadap NMI (Non Maskable Interrupt yaitu
interupsi yang tak dapat dicegah.
• BREAK POINT Jika suatu program menyebabkan overflow
flag menjadi 1, interrupt ini akan melayani pencegahannya
dan memberi tanda error.
2. Interrupt DOS
Interrupt 20h-FFh (32-255) adalah interrupt DOS, dan hanya
ada pada komputer yang menggunakan sistem operasi DOS
dan interrupt handlernya di load ke memori oleh DOS pada
saat DOS digunakan. Lokasi interrupt vector tablenya ada di
alamat absolut 07Fh-3FFh
11. Penyebab Terjadinya Interupsi
1. Program
Diakibatkan adanya beberapa kondisi yang terjadi, hasil dari
suatu eksekusi.
Contoh: arithmetic overflow, devision by zero, pengeksekusian
secara illegal, penggunaan memori yang berlebihan.
1. Timer
Disebabkan oleh timer di dalam prosesor. Hal ini memungkinkan
sistem operasi menjalankan fungsi-fungsi tertentu secara
regular.
12. 3. I/O
Disebabkan oleh I/O Controller, baik sebagai tanda bahwa suatu
operasi telah selesai, maupun memberi tanda adanya kondisi
error. Interrupt I/O ada dua macam, interrupt pendek dan interrupt
panjang.
4. Hardware Failure
Disebabkan olch kesalahan hardware, scperti power failure
(kegagalan daya) atau memory parity error.
5. Menangani exception, Exception adalah suatu kondisi dimana
terjadi sesuatu, atau dari sebuah operasi didapatkan hasil
tertentu yang dianggap khusus sehingga harus mendapat
perhatian lebih, contohnya, pembagian dengan nol,
pengaksesan alamat memori yang restricted atau tidak valid, dll.
13. 6. Mengatur virtual memory paging.
7. Menangani perangkat lunak interupsi.
8. Menangani alur kontrol kernel.
14. Tindak Lanjut Interupsi
1. Penata interupsi / interrupt handler
jika terjadi interupsi, maka kendali prosesor diserahkan ke bagian
penata interupsi pada sistem operasi, maka penata interupsi
inilah yang melaksanakan interupsi.
a.Instruksi yang sedang diolah oleh prosesor dibiarkan sampai
selesai program.
b.Penata interupsi merekam semua informasi proses ke dalam
blok kendali proses.
c.Penata interupsi mengidentifikasi jenis dan asal interupsi.
d.Penata interupsi mengambil tindakan sesuai dengan yang
dimaksud interupsi.
15. e. Penata interupsi mempersiapkan segala sesuatu untuk
pelanjutan proses yang diinterupsi.
2. Penata keliru/Error handler
Yaitu interupsi karena kekeliruan pada pengolahan proses dan
bagian pada sistem operasi yang menata kegiatan akibat
kekeliruan adalah penata keliru.
a. Pemulihan, komputer telah dilengkapi dengan sandi
penemuan dan pemulihan kekeliruan, contohnya telah
dilengkapi dengan sandi Hamming sehingga ketika
menemukan kekeliruan sandi akan mengoreksi kekeliruan itu,
proses pulih ke bentuk semula sebelum terjadi kekeliruan.
16. b. Pengulangan, mengatur agar proses yang membangkitkan
interupsi keliru dikerjakan ulang, jika kekeliruan dapat diatasi
maka proses akan berlangsung seperti biasa, jika tidak
teratasi maka interupsi akan menempuh tindak lanjut keluar
dari proses.
c. Keluar dari proses, penata keliru menyiapkan tampilan berita
keliru dari monitor, setelah itu prosesor keluar dari proses, ini
adalah tindakan terakhir jika tidak dapat menolong proses
yang keliru tersebut.
17. Kesimpulan
• Interupsi atau interrupt adalah suatu permintaan khusus pada
mikroprocessor untuk melakukan sesuatu, jika terjadi interupsi
maka komputer akan menghentikan dahulu apa yang sedang
dikerjakan dan melakukan apa yang di minta oleh yang
menginterupsi, setelah selesai maka aliran program akan kembali
ke pernyataan program sebelum terjadinya interupsi.
• Fungsi interupsi yaitu mekanisme penghentian atau pengalihan
pengolahan intruksi dalam CPU kepada routine interupsi dengan
tujuan secara umum yaitu untuk manajemen pengeksekusian
routine intruksi agar efektif dan efisien antar CPU dan modul –
modul I/O maupun memori.
18. • Jenis interupsi yaitu Internal HW interruptions, External HW
interruptions, dan Software Interruptions. Software Interruptions di
bagi menjadi 2 yaitu Vector Interrupt ROM BIOS dan Interrupt
DOS. Penyebab terjadi interupsi seperti Program, Hardware
Failure, I/O, Timer, menangani Exception, Mengatur virtual
memory, Menangani perangkat lunak interupsi, Menangani alur
kontrol kernel.