Teknik Input / Output (I/O)
I/O
adalah mekanisme pengiriman data secara bertahap dan terus menerus
melalui suatu aliran data dari proses ke peranti. Fungsi I/O pada level
aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksibel, dan bugs
aplikasi tidak mudah menyebabkan sebuah sistem crush. Terdapat beberapa
metode yang digunakan pada teknik input/output, diantaranya :
a. Metode Transfer Data
Terdapat dua macam metode transfer data, yaitu metode
software dan metode hardware. Dalam metode software CPU tidak terlalu
berat dalam menjalankan operasi I/O, karena terdapat program yang
bertugas membuat operasi input / output yang dijalankan oleh CPU. Dalam
metode hardware tugas - tugas mengenai operasi imput / output dibuat ke
dalam suatu program yang dijalankan oleh CPU.
b. Programmed I/O
Programmed mode adalah metode transfer data I/O yang
dilakukan oleh software secara strech dari awal byte pertama sampai
dengan akhir byte. Program input / output melakukan 4 aktifitas pada
tiap byte data yang ditransfer, yaitu:
- Pembacaan status perangkat periferal
- Menganalisa apakah perangkat siap untuk transfer data atau tidak
- Jika perangkat siap, ke langkah 4 untuk menstransfer data. Jika perangkat tidak siap, maka ke langkah 1 untuk looping (mengulangi) sampai perangkat siap untuk menstransfer data.
- Melakukan transfer data dalam 2 (dua) langkah.
c. Interrupt Mode
Pada interrupt mode, program tidak menunggu
sampai perangkat siap. Terdapat hardware pengontrol perangkat langsung
memberikan informasi ke CPU bahwa periferal I/O siap transfer data. Pada
interrupt mode, CPU melakukan transfer data tapi tidak terlibat dalam
pengecekan apakah perangkat siap atau tidak. Dengan kata lain, langkah 1
sampai dengan langkah 3 pada programmed I/O mode diserahkan ke hardware
pengontrol perangkat. Pada metode ini diperlukan sirkuit hardware
tambahan untuk hardware pengontrol perangkat.
d. DMA Mode (Direct Memory Access)
DMA Mode memungkinkan peripheral I/O melakukan
transfer langsung ke/ dari memori. Pada DMA Mode, operasi yang
berhubungan dengan transfer byte data dilakukan oleh pengontrol DMA yang
merupakan unit hardware tersendiri. Pengontrol DMA dapat mengakses
memori untuk penulisan tanpa bantuan CPU. Pengontrol DMA bahwa satu byte
data akan ditransfer antara memori dan pengontrol perangkat, sebagai
pengganti interupsi ke CPU.