INTERUPSI
PADA KOMPUTER
FATHUDDIN
YAZID
11251102066
TEKNIK
INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UIN
SULTAN SYARIF KASIM RIAU
Abstrak :
Interupsi adalah suatu permintaan
khusus untuk melakukan sesuatu,dan akan menghentikan dahulu apa yang sedang
dikerjakan, dan baru di lanjutkan setelah selesai. Banyak yang bisa menjadi
penyebab interupsi seperti timer, hardware error, I/O, Program dan lainnya. Tujuan
interupsi yaitu agar pengeksekusian program pada CPU berjalan lancar serta
efisien.
I.
PENDAHULUAN
Dizaman
sekarang ini kita ketahui bersama bahwa banyak sekali teknologi teknologi yang
sudah maju, namun di balik kenyataan itu semua kita hanya mengatahui beberapa
dari teknologi tersebut secara rinci seperti sejarahnya, fungsinya, serta cara
kerjanya secara spesifik. Salah satu teknologi yang akan saya bahas dalam paper
ini adalah termasuk dalam teknologi komputer dan lebih tepatnya yaitu Interupsi
dalam komputer.
Tanpa
proses interupsi yang ada dalam komputer, kita mungkin tidak dapat menikmati
canggihnya teknologi komputer seperti yang dapat kita nikmati saat ini, program
akan berjalan lambat dan tidak tau mana yang lebih menjadi prioritas untuk di
jalankan. Oleh karena pentingnya sebuah sistem yang bernama interupsi itu lah
saya membuat paper dan mengambil judul Enable dan Disable Interupsi.
II.
LANDASAN
TEORI
Seperti
yang kita ketahui bahwa interupsi sangat lah penting dalam suatu teknologi
komputer, interupsi juga banyak digunakan pada banyak sistem untuk menjaga
keteraturan program yang sedang berjalan. Contohnya saja interupsi pada sebuah
program assembly, Interupsi lah yang menjadi inti dari program assembly
tersebut. Interupsi memungkinkan sebuah program assembly untuk meminta komputer
melakukan proses sesuai dengan nilai register yang dipergunakan sebagai dasar
interupsinya.
III.
PEMBAHASAN
III.I
PENGERTIAN
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.
Pada
IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 s/d
255. 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 yang 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.
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.
Fungsi
interupsi adalah sebagai berikut :
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.
Tujuan
Interupsi :
·
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.
III.II 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.
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.
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.
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
·
Vector interrupt ROM BIOS
Definisi
: interrupt yang disediakan oleh BIOS (int 0 sampai int 1Fh)
NO
|
Service
|
Fungsi
|
INT 5
|
-
|
Tombol print screen
|
INT 9
|
-
|
Saat tombol keyboard lain ditekan, KB
mengirim sandi lacak ke CPU bukan ke karakter ASCII
|
INT 10
|
-
|
Mengubah mode video pada register AL
0-6 > layar grafik, 7 > layar monochrom.
Register input : AH=00, AL=nomor mode
video.
Contoh: Mov AL,5 ; Mov AH,0 ; Int 10 |
|
1
|
Register input
: AH=01h, CH=awal garis bentuk cursor, CL=akhir garis bentuk cursor.
|
|
2
|
Mengubah
posisi kursor
Register
input : AH=02h, BH=nomor halaman
tampilan,
DH nomor baris (dimulai 00),
DL=nomor
kolom (dimulai 00)
|
|
3
|
Register input
: AH=03h, BH=nomor halaman
tampilan
Register
output : CH=awal garis bentuk
cursor,
CL=akhir garis bentuk cursor , DH
nomor baris
(dimulai 00), DL=nomor kolom
(dimulai 00)
|
|
6
|
Register input
: AH=06h, AL=jumlah baris
untuk
digulung, BH=atribut untuk baris
kosong,
CH,CL=koordinat kiri atas window,
DH,DL=koordinat
kanan bawah
|
|
7
|
Scroll down
window
Register input
sama dengan service 6
|
|
8
|
Melihat nilai karakter
ASCII yang ada di layar.
Cara :
• Atur posisi
cursor dengan fungsi 3
• Atur BH
dengan nomor halaman 0
• Isi AH
dengan 08h
• Jalankan int
10
• AL =Nilai
ASCII, AH=atribut
|
Dsb
.
·
Interrupt DOS
Definisi
: Interrupt yang disediakan oleh DOS (Int di atas 1Fh)
No
|
Service
|
Fungsi
|
INT 20
|
-
|
Menghentikan proses komputer terhadap
suatu program COM
|
INT 21
|
01
|
Membaca karakter dari keyboard dan
menampilkan di layar.
Register input : AH=01h
Register Output : AL=kode ASCII
|
|
02
|
Mencetak karakter ke layar.
Register input : AH=02 |
|
05
|
Output ke
printer
Register input
: AH=05
Register output : DL
|
|
09
|
Mencetak
string ke layar
Register input
: AH=09
|
22h
|
-
|
Terminate code
|
23h
|
-
|
Ctrl-Break
code
|
24h
|
-
|
Critical Error
Handler
|
25h
|
-
|
Absolute Disk
Read
|
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.
2. Timer
Disebabkan
oleh timer di dalam prosesor. Hal ini memungkinkan sistem operasi menjalankan
fungsi-fungsi tertentu secara regular.
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.
6. Mengatur
virtual memory paging.
7. Menangani
perangkat lunak interupsi.
8. Menangani
alur kontrol kernel.
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.
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.
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.
IV.
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.
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.
V.
DAFTAR
PUSTAKA
terimakasih banyak gan, semoga sukses selalu
BalasHapusyoi gan ..
BalasHapus