bab 5 metode io sistem interupsi
TRANSCRIPT
![Page 1: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/1.jpg)
BAB VMETODE I/O SISTEM INTERUPSI
Anggraini Puspita Sari ST.,MT.Universitas Merdeka Malang
![Page 2: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/2.jpg)
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.
![Page 3: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/3.jpg)
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
![Page 4: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/4.jpg)
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
![Page 5: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/5.jpg)
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.
![Page 6: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/6.jpg)
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.
![Page 7: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/7.jpg)
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.
![Page 8: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/8.jpg)
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.
![Page 9: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/9.jpg)
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.
![Page 10: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/10.jpg)
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
![Page 11: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/11.jpg)
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
![Page 12: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/12.jpg)
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)
![Page 13: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/13.jpg)
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
![Page 14: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/14.jpg)
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.
![Page 15: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/15.jpg)
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.
![Page 16: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/16.jpg)
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.
![Page 17: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/17.jpg)
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
![Page 18: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/18.jpg)
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)
![Page 19: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/19.jpg)
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
![Page 20: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/20.jpg)
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.
![Page 21: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/21.jpg)
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.
![Page 22: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/22.jpg)
PROGRAMMABLE INTERRUPT CONTROLLER (PIC)
![Page 23: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/23.jpg)
PROSES INTERUPSI
1. Proses Inisialisasi2. Proses interupsi utama3. Proses kembali dari interupsi
![Page 24: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/24.jpg)
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
![Page 25: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/25.jpg)
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
![Page 26: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/26.jpg)
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.
![Page 27: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/27.jpg)
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
![Page 28: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/28.jpg)
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
![Page 29: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/29.jpg)
INISIALISASI PIC
Inisialisasi PIC ada dua macam, yaitu:a. Initialization Command Words (ICW)b. Operasi Control Word (OCW)
![Page 30: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/30.jpg)
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
![Page 31: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/31.jpg)
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
![Page 32: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/32.jpg)
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.
![Page 33: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/33.jpg)
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)
![Page 34: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/34.jpg)
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.
![Page 35: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/35.jpg)
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
![Page 36: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/36.jpg)
![Page 37: BAB 5 Metode IO Sistem Interupsi](https://reader034.vdocuments.pub/reader034/viewer/2022052216/577c7d381a28abe0549dd8d9/html5/thumbnails/37.jpg)