Teknik
yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O
memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan
CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan
transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung
Bertolak dari kelemahan di atas, apalagi untuk menangani
transfer data bervolume besar
dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Blok diagram modul DMA
terlihat pada gambar 5.4 berikut :
Prinsip
kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan
terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir
proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak
terganggu dengan interupsi.
Dalam melaksanakan transfer data secara mandiri, DMA
memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan
bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan
sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing,
karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan
bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat
yang berimplikasi hanya pada kelambatan eksekusi CPU saja.
EmoticonEmoticon