Perangkat Keras Masukan/Keluaran
Sekilas… Contoh perangkat M/K Pembagian perangkat M/K secara umum Komponen-komponen M/K Penanganan M/K -Polling -Interrupt -DMA
Perangkat M/K Contoh perangkat M/K: Perangkat penyimpanan: disk Perangkat transmisi: network card, modem Perangkat antar muka dengan pengguna: screen, keyboard, mouse dll
PerangkatM/K Secara umum, perangkat M/K dapat dibagi menjadi 2 kategori: Perangkatblok Perangkat yang menyimpan informasi dalam bentuk blok-blok dan setiap blok memiliki alamat masing-masing. Contoh: disk. Perangkat karakter Perangkat yang mengirim atau menerima sebarisan karakter, tanpa menghiraukan struktur blok. Contoh: printer, network interface
Istilah-istilah Perangkat M/K berhubungan dengan komputer melalui port. Jika satu atau lebih perangkat menggunakan kabel yg sama, penghubung tersebut dinamakan bus. A B C komputer hubungan tersebut dinamakan daisy chain.
Istilah istilah cont. Port M/K terdiri dari 4 register: Status; bit didalamnya menandakan apakah perintah M/K sempurna dilaksanakan, ada byte diregister data-in yang tersedia untuk dibaca, ataupun ada perangkat yang error Control; bit didalamnya ditulis untuk memulai perintah atau mengganti modus perangkat Data-in; bit input yang dibaca cpu Data-out; bit output yangg ditulis cpu
Pengendali perangkat (device controller) Komponen mekanis: perangkat M/K tersebut Komponen elektronis: pengendali perangkat (device controller) Jika antar muka antara perangkat dan pengendalinya merupakan antar muka yang standar, perangkat dan pengendali yg dibuat pabrik akan dibuat yang fit dengan antar muka tersebut. Contoh: banyak pabrik membuat disk drive yang cocok dengan SCSI disk controller interface.
Pengendali perangkat cont. CPU memberikan perintah dan data ke controller terbagi menjadi 2 cara: I/O instruction Memory-mapped I/O
Penanganan M/K Cara-cara CPU menangani M/K: Polling Contoh: CPU terus-menerus membaca bit kerja sampai bit tersebut menjadi clear CPU men-set bit write diregister perintah dan menulis sebuah byte didata-out CPU men-set command-ready bit Controller melihat command-ready bit di-set, bit kerja di-set
Penanganan M/K cont Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yang diperintah cpu Controller meng-clear command-ready bit, bit error di-status, dan bit kerja. Langkah pada nomor satu disebut polling atau busy-waiting. Polling cocok digunakan bila kinerja perangkat dan pengendalinya cepat.
Penanganan M/K cont. Interrupt sinyal yang dikirim perangkat IO ke CPU untuk memperingatkan bahwa perangkat tersebut siap untuk melakukan operasi IO. mekanisme Interrupt perangkat IO menghasilkan interrupt interrupt dideteksi CPU context switch CPU mengidentifikasi penyebab interrupt
Penanganan M/K CPU mengeksekusi interrupt routine, sampai return CPU kembali mengeksekusi proses yang sebelumnya ditunda karena interrupt
PenangananM/K cont. Masalah dalam mekanisme interrupt interrupt terjadi saat prosesor mengeksekusi critical section lebih dari satu perangkat IO mengirim sinyal interrupt secara bersamaan overhead saat context switch pencarian routine yang sesuai dengan interrupt yang terjadi
Penanganan M/K cont. DMA suatu special purpose register yang digunakan untuk menangani transfer data langsung antar perangkat eksternal dan memori utama. Mekanisme DMA perangkat IO meminta transfer data ke memori dengan mengirim interrupt ke cpu cpu mengalih-tugaskan transfer data tersebut untuk dilakukan DMA, yaitu dengan mengirim alamat awal, jumlah word dalam blok, dan arah transfer ke controller DMA
Penanganan M/K cont. DMA melakukan transfer data. Setelah transfer data selesai, DMA mengirim interrupt ke cpu.
Rangkuman Dalam menangani M/K, sistem operasi hampir selalu berurusan dengan pengendali perangkat, bukan dengan perangkatnya. Terdapat3 cara cpu menangani M/K, yaitu: Polling pemborosan cpu clock cycle Interrupt tidak efisien untuk transfer data yang besar DMA mengatasi transfer data yang besar