Klasifikasi perangkat I/O berdasarkan aliran datanya dapat dibagi dua, antara lain:
- Block Oriented Device, peralatan ini menyimpan informasi sebagai blok-blok berukuran tetap. Ciri utama peralatan ini adalah dimungkinkan membaca atau menulis blok-blok secara indenpenden dengan cara direct access. Contoh peralatan antara lain: disk, optical disk, tape dan sebagainya.
- Character Stream Oriented Device, peralatan ini mengantarkan atau menerima aliran karakter tanpa peduli dengan suatu struktur blok. Contoh peralatan ini antara lain: terminal, line printer, interface jaringan, dan lain-lain.
Terdapat tiga teknik cara berhubungan perangkat I/O yaitu:
- Programmed I/O
Pada saat perangkat I/O menangani permintaan perangkat menset bit status pada register status perangkat. Perangkat tidak memberitahu ke prosesor bila tugas telah selesai. Prosesor harus selalu melakukan cek secara periodik terhadap register status perangkat dan melakukan tindakan-tindakan berdasarkan status yang dibaca.
- Interrupt Driven I/O
Teknik I/O dikendalikan instruksi mempunyai mekanisme kerja perangkat I/O sebagai berikut:
- Prosesor memberi instruksi ke perangkat I/O lalu melanjutkan kerja yang lainnya.
- Perangkat I/O akan menginstruksi untuk minta layanan saat perangkat telah siap transfer data dengan prosesor
- Saat menerima instruksi dari hardware (Hardware yang siap melakukan transfer data), prosesor kemudian segera eksekusi transfer data.
Dengan ini prosesor tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status perangkat.
- Direct Memory Access
Interrupt Driven I/O lebih efisien dari programmed I/O, tapi masih memerlukan intervensi aktif prosesor untuk transfer data antara memori dan buffer I/O. I/O dikendalikan interupsi (Interrupt Driven I/O) mempunyai dua kelemahan yaitu:
- Rate Transfer I/O dibatasi kecepatan menguji dan melayanan operasi peralatan.
- Prosesor terikat ketat dalam mengelola transfer I/O, sejumlah instruksi harus dieksekusi untuk tiap transfer I/O.
Ketika data besar dipindahkan teknik yang lebih efisien diperlukan agar tidak menyibukkan prosesor, sehingga prosesor dapat melakukan kerja lain.
DMA berfungsi membebaskan prosesor menunggui transfer data perangkat I/O. Saat prosesor ingin baca/tulis data, prosesor memrintahkan DMA dengan mengirim informasi-informasi berikut:
- Read/write
- Alamat perangkat I/O
- Awal lokasi memori yang ditulis/dibaca
- Jumlah byte yang ditulis/dibaca
Setelah mengirim informasi ke DMA, prosesor dapat melakukan kerja lain. Prosesor mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta secara langsung dari memori tanpa melewati prosesor. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke prosesor. Prosesor hanya dilibatkan pada awal dan akhir tranfer data perangkat I/O.
Operasi transfer anatara perangkat dan memori utama dilakukan sepenuhnya oleh DMA. DMA yang menangani akses disk, dilakukan oleh DMA controller yang lepas dari prosesor dan hanya melakukan interupsi bila operasi telah diselesaikan.
Tidak ada komentar:
Posting Komentar