BAB 5 Metode IO Sistem Interupsi
-
Upload
rahmat-hidayat -
Category
Documents
-
view
63 -
download
12
Transcript of BAB 5 Metode IO Sistem Interupsi
BAB VMETODE I/O SISTEM INTERUPSI
Anggraini Puspita Sari ST.,MT.Universitas Merdeka Malang
PENDAHULUANAda dua cara untuk melayani sinyal trigger dari
piranti luar, yaitu dengan interupsi dan pollinga. Interupsib. 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.
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.
PENDAHULUAN
PENYEBAB INTERUPSI
Expectionmerupakan kondisi saat terjadi sesuatu atau dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih
Page faultInterupsi yang dikirimkan oleh pengendali
perangkatSystem 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/OPada 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 INTERRUPTInterupsi 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 INTERUPSISOFTWARE INTERRUPTTanpa 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 komputerb. 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 INTERUPSIHARDWARE INTERRUPTInterupsi 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 INTERUPSIHARDWARE INTERRUPTDalam 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 interupsib.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 LinePada piranti keras CPU terdapat kabel yang
disebut interrupt request line. Kebanyakan CPU memiliki dua macam interrupt request line, yaitu
a.nonmaskable interrupt(NMI) portb.maskable interrupt port
SISTEM INTERUPSI PCNonmaskable 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 errorb. Co-Processor Interrupt Requestc. 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 PCInterupsi Level Usage
High Level NMI Baseboard RAM Parity I/O Channel Check, Numeric Processor
IRQ0 System Timer Output Channel 0 IRQ1 Keyboard Scan Code Interrupt
Available in System Bus
IRQ2 Not used at presentIRQ3 Not used at present
IRQ4 RS 232-C Serial PortAvailable in System Bus IRQ5 Not used at present
IRQ6 Diskette Drive Status IRQ7 Paralel port
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 Inisialisasi2. Proses interupsi utama3. Proses kembali dari interupsi
PROSES INTERUPSIProses Inisialisasi
Urutan dari inisialisasi sistem adalah sebagai berikut :a. Inisialisasi stack pointer pada daerah sistem RAMb. Inisialisasi RAM alamat rendah pada sistem mikroprosesor dengan alamat interrupt routinec. Inisialisasi PIC- Inisialisasi ICW menyiapkan piranti agar dapat menerima satu interrupt request atau lebih. - Inisialisasi OCW mengatur data yang tersimpan dalam IMRd. Mengijinkan sistem interrupt pada sistem
mikroprosesor dengan mengatur flag register
PROSES INTERUPSIProses 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 bus2. PIC menerima permintaan interupsi dan membandingkan prioritasnya dengan interupsi lain yang datang atau sedang dilayani3. Jika permintaan interupsi hanya satu dan sedang tidak ada pelayanan interupsi yang lain, maka permintaan interupsi akan dikirimkan ke mikroprosesor
PROSES INTERUPSI
Proses Interupsi Utama4. Mikroprosesor mengirimkan sinyal INTA yaitu pulsa respon ke PIC. Pulsa respon yang pertama digunakan untuk menetapkan prioritas dan men-set 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 Utama6. Mikroprosesor mengambil IP dan CS baru dan menyimpan nilai dari IP, CS dan flag yang lama ke sistem stack7. Kemudian program meloncat ke alamat baru untuk mengerjakan program pelayanan interupsi
PROSES INTERUPSI
Proses Kembali dari Interupsi1. Setelah program pelayanan interupsi selesai dilaksanakan, maka dilakukan pengeluaran isi register dari stack2. 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 registerb. Register index dan pointer 4 registerc. 4 segment registerd. Instruction pointer dan sebuah register flag
INISIALISASI PICInitialization 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 tertentud. 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