1. R. Suryoto Edy Raharjo, S.T. , M.Eng.
Teknik Elektro, Fakultas Teknik
Universitas Tidar
Laurensius Freddy T S/ 1410501043
Jenis dan Proses Interupsi
3. 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. Interupsi merupakan sub rutin yang sudah tersedia dalam memori
komputer.
Pengertian Interupsi
4. Secara umum untuk manajemen pengeksekusian routine
intruksi agar efektif dan efisien antar CPU dan modul – modul I/O
maupun memori.
· Setiap komponen komputer dapat menjalankan tugasnya secara
bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan
eksekusi masing – masing modul berbeda.
· Dapat sebagai sinkronisasi kerja antar modul.
Tujuan Interupsi
5. 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.
Fungsi Interupsi
6. Jenis Interupsi
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”
External HW interrupstion
·Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printers,
mouse, dsb.
·Biasa juga ditimbulkan/digenerasi oleh Co-processor
·Tidak mungkin mendeaktivekan
·Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi untuk
menghandle secara eksklusive interrupts ini.
7. Lanjutan…
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.
8. CPU dapat menerima 3 macam interupsi antara lain :
1. Interupsi software (instruksi INT nH n= bilangan 00H s/d FFH)
Interupsi software terdiri dari 256 dan diberi nomor 00H hingga FFH.
Alamat awal masingmasing 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 :
9. a. Interrupt BIOS (Basic Input Output Sistem)
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.
b. Interrupt DOS (Disk Operating Sistem)
Interrupt DOS merupakan interupsi dari software Sistem Operasi terdiri dari
INT 20H untuk kembali ke DOS dan INT 21H untuk operasi Input/Output.
10. Program yang melayani suatu interupsi dinamakan Interrupt Handler.
2. Non Maskable Interrupt (Interupsi hardware)
dimana interupsi ini mutlak tidak dapat dicegah karena berasal dari
sistem board atau IC.
3. Maskable Interrupt
(berasal dari hardware melalui pin INTR) yang dapat ditutup atau
dicegah dengan instruksi CLI berasal dari interupsi perangkat lunak.
Lanjutan…
12. Interupsi menyediakan cara otomatis menyimpan isi register local dan
menjalankan kode khusus sebagai respon terhadap sebuah kejadian. Bahkan
komputer yang paling dasar sekalipun mendukung interupsi hardware dan
membolehkan pemrogram untuk menentukan kode yang akan di jalankan ketika
terjadi sebuah kejadian.
Ketika sebuah interupsi diterima, hardware komputer secara otomatis
menunda program apapun yang sedang dijalankan, menyimpan statusnya dan
menjalankan kode komputer yang berhubungan dengan interrupsi yang terjadi
sebelumnya. Dalam sistem operasi modern, interupsi ditangani oleh kernel
sistem operasi. Interupsi bisa datang dari hardware komputer atau program
yang sedang jalan.
Interupsi Sistem disebabkan kejadian ekternal dan tak bergantung proses yang saat
itu sedang running pada Diagram State Proses.
Pada kejadian interupsi, kendali lebih dulu ditranfer ke interupt handler yang melakukan
penyimpanan data-data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan
tipe interupsi itu.
13. Mekanisme Interupsi
v Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima
tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke
prosesor
v Prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel
routine interupsi
v Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi
programnya kembali
v Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu
interupsi diterima/ditangguhkan dan interupsi ditolak
14. Sinyal Interupsi
v Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang
terjadi pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian
nol, oparasi ilegal
v Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal
ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler
v //0, sinyal interupsi yang dibangkitkan oleh modul I/0 sehubungan
pemberitahuan kondisi error dan penyelesaian suatu operasi
v Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau
kesalahan paritas memori
15. Penanganan Interupsi
Ada beberapa tahapan dalam penanganan interupsi:
1.Controller mengirimkan sinyal interupsi melalui interrupt-request-line
2.Sinyal dideteksi oleh prosesor
3.Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-
nya (informasi tentang proses yang sedang dikerjakan)
4.Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor
interupsi untuk menentukan interrupt handler
5.Transfer kontrol ke interrupt handler
6.Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti
sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat
tertunda.
16. Iterupsi Ditangguhkan
v Prosesor menangguhkan eksekusi program yang dijalankan dan
menyimpan konteksnya. Tindakan ini adalah menyimpan alamat
instruksi berikutnya yang akan dieksekusi dan data lain yang relevan
v Prosesor menyetel program counter (PC) ke alamat awal routine
interrupt handler