Perangkat Keras Masukan/Keluaran Kelompok 118-43: Intan Sari H. H. Z Verra Mukty
1204000459 1204000874
Sekilas… • • • •
Contoh perangkat M/K Pembagian perangkat M/K secara umum Komponen-komponen M/K Penanganan M/K - Polling - Interrupt - DMA
1 Desember 2005
Copyleft Verra & Intan
2
Perangkat M/K Contoh perangkat M/K: - Perangkat penyimpanan: disk - Perangkat transmisi: network card, modem - Perangkat antarmuka dengan pengguna: screen, keyboard, mouse - dll
1 Desember 2005
Copyleft Verra & Intan
3
Perangkat M/K cont. Secara umum, perangkat M/K dapat dibagi menjadi 2 kategori: - Perangkat blok Perangkat yg menyimpan informasi dlm bentuk blok-blok dan setiap blok memiliki alamat masing-masing. Contoh: disk. - Perangkat karakter Perangkat yg mengirim atau menerima sebarisan karakter, tanpa menghiraukan struktur blok. Contoh: printer, network interface
1 Desember 2005
Copyleft Verra & Intan
4
Istilah-istilah • Perangkat M/K berhubungan dengan komputer melalui port. • Jika satu atau lebih perangkat menggunakan kabel yg sama, penghubung tsb dinamakan bus. • A B C komputer hubungan tsb dinamakan daisy chain.
1 Desember 2005
Copyleft Verra & Intan
5
Istilah-istilah cont. Port M/K terdiri dari 4 register: • Status; bit di dalamnya menandakan apakah perintah M/K sempurna dilaksanakan, ada byte di register data-in yg tersedia untuk dibaca, ataupun ada perangkat yg error • Control; bit di dalamnya ditulis untuk memulai perintah atau mengganti modus perangkat • Data-in; bit input yg dibaca cpu • Data-out; bit output yg ditulis cpu
1 Desember 2005
Copyleft Verra & Intan
6
Pengendali perangkat (device controller) • Komponen mekanis: perangkat M/K tsb • Komponen elektronis: pengendali perangkat (device controller) Jika antarmuka antara perangkat dan pengendalinya merupakan antarmuka yg standar, perangkat dan pengendali yg dibuat pabrik akan dibuat yg fit dengan antarmuka tsb. Contoh: banyak pabrik membuat disk drive yg cocok dengan SCSI disk controller interface. 1 Desember 2005
Copyleft Verra & Intan
7
Pengendali perangkat cont. Cpu memberikan perintah dan data ke controller terbagi menjadi 2 cara: • I/O instruction • Memory-mapped I/O
1 Desember 2005
Copyleft Verra & Intan
8
Penanganan M/K Cara-cara cpu menangani M/K: • Polling Contoh: 1. Cpu terus-menerus membaca bit kerja sampai bit tersebut menjadi clear 2. Cpu men-set bit write di register perintah dan menulis sebuah byte di data-out 3. Cpu men-set command-ready bit 4. Controller melihat command-ready bit di-set, bit kerja di-set
1 Desember 2005
Copyleft Verra & Intan
9
Penanganan M/K cont. 5. Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yg diperintah cpu 6. 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.
1 Desember 2005
Copyleft Verra & Intan
10
Penanganan M/K cont. •
Interrupt sinyal yang dikirim perangkat IO ke CPU untuk memperingatkan bahwa perangkat tersebut siap untuk melakukan operasi IO.
mekanisme Interrupt 1.perangkat IO menghasilkan interrupt 2.interrupt dideteksi cpu 3.context switch 4.cpu mengidentifikasi penyebab interrupt
1 Desember 2005
Copyleft Verra & Intan
11
Penanganan M/K 5.cpu mengeksekusi interrupt routine,sampai return 6.cpu kembali mengeksekusi proses yang sebelumnya ditunda karena interrupt
1 Desember 2005
Copyleft Verra & Intan
12
Penanganan M/K cont. Masalah dalam mekanisme interrupt 1.interrupt terjadi saat prosesor mengeksekusi critical section 2.lebih dari satu perangkat IO mengirim sinyal interrupt secara bersamaan 3.overhead saat context switch 4.pencarian routine yang sesuai dengan interrupt yang terjadi
1 Desember 2005
Copyleft Verra & Intan
13
Penanganan M/K cont. •
DMA suatu special purpose register yang digunakan untuk menangani transfer data langsung antar perangkat eksternal dan memori utama.
Mekanisme DMA 1. perangkat IO meminta transfer data ke memori dengan mengirim interrupt ke cpu 2. cpu mengalih-tugaskan transfer data tsb untuk dilakukan DMA, yaitu dengan mengirim alamat awal,jumlah word dalam blok,dan arah transfer ke controller DMA 1 Desember 2005
Copyleft Verra & Intan
14
Penanganan M/K cont. 3. DMA melakukan transfer data. 4. Setelah transfer data selesai, DMA mengirim interrupt ke cpu.
1 Desember 2005
Copyleft Verra & Intan
15
Rangkuman Dalam menangani M/K, sistem operasi hampir selalu berurusan dengan pengendali perangkat, bukan dengan perangkatnya. Terdapat 3 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
1 Desember 2005
Copyleft Verra & Intan
16