Anda di halaman 1dari 37

BAB V

METODE I/O SISTEM


INTERUPSI
Anggraini Puspita Sari ST.,MT.
Universitas Merdeka Malang

PENDAHULUAN
Ada dua cara untuk melayani sinyal trigger dari

piranti luar, yaitu dengan interupsi dan polling


a. Interupsi
b. Polling
Pada sistem interupsi, subrutin akan dijalankan
hanya jika ada trigger dari piranti luar ke sistem
mikroprosesor.
Pada saat sinyal interupsi muncul, maka
prosesor akan berhenti menjalankan program
dan menghandle sinyal interupsi terlebih dahulu.

PENDAHULUAN
Interupsi berguna bila piranti-piranti interface I/O

memerlukan atau menyediakan data pada


kecepatan transfer data relatif lebih lambat.
Pada interupsi, inisiatif bertanya datang dari
piranti yang membutuhkan pelayanan
mikroprosesor.
Pada sistem polling, mikroprosesor menanyakan
pada piranti luar secara bergiliran ada tugas
yang perlu dikerjakan atau tidak.
Ketidaefisienan waktu pada sistem polling terjadi
jika ternyata piranti-piranti luar tidak mempunyai
tugas tertentu bagi mikroprosesor.

PENYEBAB INTERUPSI
Expection

merupakan kondisi saat terjadi sesuatu atau dari


sebuah operasi didapat hasil tertentu yang
dianggap khusus sehingga harus mendapat
perhatian lebih
Page fault
Interupsi yang dikirimkan oleh pengendali
perangkat
System call
merupakan sebuah fungsi pada aplikasi software
yang dapat mengeksekusikan instruksi khusus
berupa interupsi software atau trap

OPERASI I/O
Pada saat operasi I/O dijalankan, ada dua

kemungkinan, yaitu
a. synchronous I/O
Pada synchronous I/O, kendali dikembalikan ke
proses pengguna setelah proses I/O selesai
dikerjakan
b. asynchronous I/O
Pada asynchronous I/O, kendali dikembalikan ke
proses pengguna tanpa menunggu proses I/O
selesai sehingga proses I/O dan proses pengguna
dapat dijalankan secara bersamaan.

SISTEM INTERUPSI
Sistem interupsi terbagi menjadi dua, yaitu

software interrupt dan hardware interrupt


SOFTWARE INTERRUPT
Interupsi sofware digunakan untuk melayani
kondisi tertentu pada saat software sedang
berjalan
Basic input/output system (BIOS) terhubung
langsung dengan hardware komputer.
BIOS ini terdiri dari beberapa program yang
terhubung peralatan, misal keyboard, mouse,
display, printer, serial port dan sebagainya.

SISTEM INTERUPSI
SOFTWARE INTERRUPT
Tanpa BIOS, sebuah komputer hanyalah sekumpulan
kabel-kabel dan komponen-komponen elektronik.
BIOS terbagi menjadi dua bagian, yaitu
a. Bagian pertama tersimpan di dalam ROM, BIOS ini
memulai bootstrap komputer
b. Bagian kedua ada pada saat sistem operasi
berjalan. Sebuah sistem operasi mengizinkan
pengguna mengakses perangkat keras dengan
mudah untuk menggunakan peralatan tersebut.
Sistem operasi menerima perintah dari keyboard
dan menampilkannya pada monitor.

SISTEM INTERUPSI
HARDWARE INTERRUPT
Interupsi hardware digunakan untuk melayani
trigger dari luar sedangkan software mengirim
interupsi dengan cara menjalankan system call
atau juga dikenal dengan istilah monitor call.
System atau monitor call akan menyebabkan trap
yaitu interupsi khusus yang dihasilkan oleh
software karena ada masalah atau permintaan
terhadap layanan sistem operasi. Pada interupsi
dikenal adanya prioritas interupsi.
Setiap interupsi terjadi, sekumpulan kode yang
dikenal sebagai ISR (Interrupt Service Routine)
akan menentukan tindakan yang akan diambil.

SISTEM INTERUPSI
HARDWARE INTERRUPT
Dalam menentukan tindakan yang harus dilakukan, dapat
dilakukan dengan dua cara, yaitu
a.polling yang membuat komputer memeriksa satu demi satu
perangkat yang ada untuk menyelidiki sumber interupsi
b.Menggunakan alamat-alamat ISR yang disimpan dalam
array yang dikenal sebagai interrupt vector dengan sistem
akan memeriksa interrupt vector setiap kali interupsi
terjadi.
Arsitektur interupsi harus mampu untuk menyimpan alamat
instruksi yang diinterupsi.
Pada komputer lama, alamat ini disimpan di tempat tertentu
yang tetap sedangkan pada komputer baru, alamat ini
disimpan di stack bersama-sama dengan informasi state
saat itu.

SISTEM INTERUPSI PC
Interrupt Request Line
Pada piranti keras CPU terdapat kabel yang
disebut interrupt request line. Kebanyakan CPU
memiliki dua macam interrupt request line, yaitu
a.nonmaskable interrupt(NMI) port
b.maskable interrupt port

SISTEM INTERUPSI PC
Nonmaskable Interrupt(NMI) Port
NMI dapat dimatikan atau dihentikan oleh CPU
sebelum pengeksekusian deretan critical instruction
(critical instruction sequence) yang tidak boleh
diinterupsi. Biasanya, interupsi jenis ini digunakan
oleh pengendali perangkat untuk meminta
pelayanan CPU.
NMI memiliki level interupsi paling tinggi atau tidak
bisa ditahan.
Sumber NMI berasal dari :
a. A base board RAM parity error
b. Co-Processor Interrupt Request
c. I/O Channel Check Request

SISTEM INTERUPSI PC
Maskable Interrupt Port
Maskable Interrupt merupakan port untuk masukan
interupsi yang bisa ditahan
Port maskable interupsi controler dilabelkan
dengan pin IRQ yang mempunyai delapan port
prioritas masukan level interupsi (IRQ0-IRQ7)

SISTEM INTERUPSI PC
Interupsi Level

Usage
Baseboard RAM Parity I/O Channel
High Level
NMI
Check, Numeric Processor
IRQ

System Timer Output Channel 0


0
IRQ

Keyboard Scan Code Interrupt


1
IRQ
Not used at present
Available in 2
System Bus IRQ
Not used at present
3
IRQ

RS 232-C Serial Port


4
Available in
IRQ
Not used at present

SISTEM INTERUPSI PC
Masing-masing interupsi mempunyai urutan prioritas.
NMI mempunyai prioritas tertinggi dan IRQ7

terendah.
Jika pada waktu yang bersamaan terjadi lebih dari
satu permintaan interupsi.
Yang akan dilayani terlebih dahulu adalah interrupt
request dengan prioritas tertinggi.

INTERRUPT CONTROLLER
Device interrupt diumpan-balikkan ke

prosesor yang menggunakan suatu potongan


perangkat keras khusus yang dinamakan
interrupt controller.
Interrupt controller memiliki 8 baris jalur
interrupt bagi 8 peralatan yang berbeda.
Controler ini akan melewatkan permintaan ke
dalam prosesor dan memberitahukan kepada
controler peralatan yang memberikan
interrupt.

INTERRUPT CONTROLLER
Pada original PC dan XT, telah memiliki kontroler ini

dan hanya memiliki 8 jalur interrupt (0-7)


Pada IBM AT ditambahkan kontrol interrupt kedua
untuk memperluas sistem bus ISA dari 8 ke 16 bit.
Untuk memastikan kesesuaian, para perancang AT
tidak merubah single interrupt line ke prosesor
tersebut, yaitu dengan mengkaskade dua kontrol
interrupt secara bersama-sama.

INTERRUPT CONTROLLER
Interrupt controller pertama mempunyai 8 masukan

dan sebuah keluaran tunggal ke prosesor tersebut.


Interrupt controller kedua mempunyai desain yang
sama tetapi interrupt controller memerlukan 8
masukan baru (penggandaan sejumlah interrupt)
dan keluarannya dihubungkan ke dalam masukan
line 2 dari controller yang pertama

PROGRAMMABLE INTERRUPT
CONTROLLER (PIC)
PIC mempunyai 4 register utama, antara lain :
1.Interrupt Request Register (IRR)
2.Priority Resolver (PR)
3.In Service Register (ISR)
4.Interrupt Mask Register (IMR)

PROGRAMMABLE INTERRUPT
CONTROLLER (PIC)
Interrupt Request Register (IRR)
Register ini berisi data IRQ nomor mana yang
melakukan permintaan interupsi. Register ini
mempunyai 8 bit data internal yang setiap
bitnya mewakili masing-masing interupsi.
Bit-bit tersebut akan diset jika pada IRQ yang
berhubungan terjadi permintaan interrupt

PROGRAMMABLE INTERRUPT
CONTROLLER (PIC)
Priority Resolver (PR)
Priority resolver menentukan prioritas bagi
setiap bit IRQ yang ada
In Service Register (ISR)
Register ini hampir sama dengan IRR tetapi
yang disimpan adalah data interupsi yang
sekarang sedang dilayani.

PROGRAMMABLE INTERRUPT
CONTROLLER (PIC)
Interrupt Mask Register (IMR)
Register ini juga hampir sama dengan IRR.
Register ini digunakan untuk mendisable
(mask) atau mengenable (unmask) setiap
input interupsi. Setiap bit dalam register
berkorepondensi dengan input-input interupsi
dengan nomor yang sama.

PROGRAMMABLE INTERRUPT
CONTROLLER (PIC)

PROSES INTERUPSI
1. Proses Inisialisasi
2. Proses interupsi utama
3. Proses kembali dari interupsi

PROSES INTERUPSI
Proses Inisialisasi
Urutan dari inisialisasi sistem adalah sebagai berikut :
a. Inisialisasi stack pointer pada daerah sistem RAM
b. Inisialisasi RAM alamat rendah pada sistem
mikroprosesor dengan alamat interrupt routine
c. Inisialisasi PIC
- Inisialisasi ICW menyiapkan piranti agar
dapat menerima satu interrupt request atau
lebih.
- Inisialisasi OCW mengatur data yang tersimpan
dalam IMR
d. Mengijinkan sistem interrupt pada sistem
mikroprosesor dengan mengatur flag register

PROSES INTERUPSI
Proses Interupsi Utama
Jika terjadi permintaan interupsi pada salah satu
masukan dari PIC, maka langkah-langkah yang terjadi
adalah sebagai berikut :
1. Sistem Interface membangkitkan sinyal interupsi
pada sistem bus
2. PIC menerima permintaan interupsi dan
membandingkan prioritasnya dengan interupsi lain
yang datang atau sedang dilayani
3. Jika permintaan interupsi hanya satu dan sedang
tidak ada pelayanan interupsi yang lain, maka
permintaan interupsi akan dikirimkan ke mikroprosesor

PROSES INTERUPSI
Proses Interupsi Utama
4. Mikroprosesor mengirimkan sinyal INTA yaitu
pulsa respon ke PIC. Pulsa respon yang pertama
digunakan untuk menetapkan prioritas dan menset level di service latch. Pulsa kedua digunakan
sebagai isyarat permintaan 8 bit pointer.
5. Mikroprosesor menerima 8 bit pointer yang
digunakan untuk indeks pada memori rendah
yang berisi IP dan nilai offset dari interrupt service
routine untuk level interupsi yang sedang dilayani.

PROSES INTERUPSI
Proses Interupsi Utama
6. Mikroprosesor mengambil IP dan CS baru dan
menyimpan nilai dari IP, CS dan flag yang lama ke
sistem stack
7. Kemudian program meloncat ke alamat baru
untuk mengerjakan program pelayanan interupsi

PROSES INTERUPSI
Proses Kembali dari Interupsi
1. Setelah program pelayanan interupsi selesai
dilaksanakan, maka dilakukan pengeluaran isi
register dari stack
2. Setelah keluarnya nilai IP dan CS yang lama dari
STACK maka mikroprosesor meloncat ke alamat
yang lama tersebut atau kembali ke program utama

INISIALISASI PIC
Inisialisasi PIC ada dua macam, yaitu:
a. Initialization Command Words (ICW)
b. Operasi Control Word (OCW)

INISIALISASI PIC
Initialization Command Words (ICW)
PIC dalam penggunaannya dihubungkan ke
mikroprosesor.
Mikroprosesor memilki sifat unik yaitu mampu
mengakses alamat memori sampai 1Mbyte padahal
instruksi-instruksinya hanya mengijinkan operasi dan
manipulasi alamat 16 bit. Hal ini dimungkinkan
karena mikroprosesor memiliki 4 segmen register 16
bit yang dapat digunakan untuk memanipulasi
pengalamatan.
Prosesor mikroprosesor dapat dioperasikan dalam 2
mode yaitu mode minimum dan maksimum

INISIALISASI PIC
Initialization Command Words (ICW)
CPU mikroprosesor memiliki 14 register 16 bit
diklasifikasikan sebagai berikut :
a. Register data 4 register
b. Register index dan pointer 4 register
c. 4 segment register
d. Instruction pointer dan sebuah register flag

INISIALISASI PIC
Initialization Command Words (ICW)
Register data terdiri dari AH, AL, BH, BL, CH, CL, DH
dan DL yang digunakan untuk menyimpan data 8 bit
atau secara berpasangan dipakai untuk menyimpan
data 16 bit.
Bentuk pasangan yang diperbolehkan dalam register
data adalah :
a. AH danAL membentuk AX sebagai akumulator
untuk menyimpan salah satu nilai yang akan
dioperasikan oleh ALU dan tempat menerima hasil
operasi tersebut.
b. BH dan BL membentuk BX sebagai base register
dalam pengalamatan.

INISIALISASI PIC
Initialization Command Words (ICW)
c. CH dan CL membentuk CX digunakan untuk
pencacah pada instruksi tertentu
d. DH dan DL membentuk DX untuk menyimpan
alamat I/O bila CPU mengakses peralatan I/O.
Register segmen terdiri dari 4 register 16 bit
yaitu CS (Code Segment), DS (Data Segment),
SS (Stack Segment), dan ES (Extra Segment)

INISIALISASI PIC
Initialization Command Words (ICW)
Keuntungan penggunaan register segmen, yaitu:
a. Mampu mengakses memori hingga 1Mbyte
meskipun instruksinya hanya menijinkan operasi
16 bit.
b. Dengan menggunakan lebih dari 1 segmen
kode, data dan stack memungkinkan panjang
program, data dan stack lebih dari 64Kbyte.
c. Memberi fasilitas penggunaan ruang memori
yang terpisah antara program, data dan stack.

INISIALISASI PIC
Operasi Control Word (OCW)
OCW terdiri atas 3, yaitu: OCW1, OCW2, OCW3.
OCW1 berfungsi untuk mengatur data yang tersimpan
dalam IMR
OCW2 digunakan untuk mereset salah satu bit dalam
ISR
OCW3 hampir tidak pernah dipakai dalam program

Anda mungkin juga menyukai