Selasa, 10 November 2009

Driven I/O & DMA

Accessing I/O Device

Modul Input / Output ( I/O )

Peralatan input / output suatu computer sangat beragam jenisnya.

Setiap perlatan memiliki kecepatan transfer data, format data dan panjang data yang berbeda-beda.

Modul input / output berfungsi sebagai interface ( penghubung ) ke memori atau ke prosesor, penhubung sesama periferal, dan meyelaraskan data sebelum ditransfer memalui system bus.

Tidak hanya itu, modul input / output juga berfungsi sebagai contrl dan timing ( mengatur agar kecepatan transfer data yang berbeda-beda dapat tersinkronisasi dengan baik ), komunikasi prosesor ( mengirimkan data dan perintah dari prosesor ke periferal ), komunikasi antar peripheral, data buffering ( penampung data sementara ), dan mendeteksi error pada peripheral dan melaporkannya pada prosesor.

Cara kerja modul I/O adalah sebagai berikut:

  • CPU meminta status peripheral pada modul I/O

  • Modul I/O mengecek status peripheral dan mengirimkannya dalam betuk status bit

  • Jika status ready, maka CPU mengirimkan perintahnya

  • Modul I/O menarik data dari peripheral

  • Modul I/O menyelaraskan data

  • Modul I/O mengirimkan data ke CPU lewat bus.

Teknik pengaturan Input / Output ( I/O )

  • Programed I/O

  • Interrupt Driven I/O

  • Direct Memory Access (DMA)

Programed Input / Output ( I/O )

Dalam programmed I/O, CPU memiliki control langsung terhadap proses I/O.

CPU merequest untuk melakukan operasi I/O, modul I/O metransfer perintah ke peripheral, modul I/O mengeset status bit dari peripheral, CPU mengecek status bit secara periodik dan jika belum ada perubahan maka CPU akan menunggu dan jika ada perubahan maka CPU akan bereaksi.

Dalam hal ini modul I/O tidak mengkonfirmasi status langsung kepada CPU.

Kelemahan nya adalah CPU menunggu hingga modul I/O menyelesaikan suatu operasi sehingga menjadi boros waktu.

Interrupt Driven Input / Output ( I/O )

Dalam interrupt dtiven I/O CPU tetap memiliki kontol langsung terhadap proses I/O, seperti pada programmed I/O.

CPU merequest untuk melakukan operasi I/O, modul I/O mentrasfer perintah ke peripheral, sementara itu CPU dapat melakukan kegiatan lain / melaksanakan proses berikutnya, modul I/O mengirimkan interrupt kepada CPU untuk memberitahukan status hasil operasinya, dan CPU bereaksi atas status tersebut.

Pada interrupt driven I/O memiliki kelebihan yaitu peniadaan waktu tunggu CPU.

Jadi perbedaan antara programmed I/O dengan interrupt driven I/O adalah PADA PROGRAMED I/O MODUL I/O TIDAK DAPAT MENGIRIMKAN STATUS PERIFERAL KEPADA CPU, TETAPI PADA INTERRUPT DRIVEN I/O MODUL I/O DAPAT MENGIRIMKAN STATUS PERIFERAL KEDAPA CPU, SEHINGGA MEMPERCEPAT PROSES CPU.

Kelemahan I/O terprogram dan Interrupt- Driven I/O

Proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung, berimplikasi pada :

* Kelajuan transfer I/O yang tergantung kecepatan operasi CPU.
* Kerja CPU terganggu karena adanya interupsi secara langsung

Prinsip kerja DMA

* 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
* CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi

* Melaksanakan transfer data secara mandiri :

1. DMA memerlukan pengambilalihan kontrol bus dari CPU
2. DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus
3. Teknik cyclestealing, modul DMA mengambil alih siklus bus

Klasifikasi perangkat eksternal

* Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai
* pengguna komputer. Contoh: monitor, keyboard, mouse, printer, joystick, disk drive.
* Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
* Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem

Klasifikasi berdasar arah data

1. Perangkat output
2. Perangkat input
3. Kombinasi output-input.

Contoh perangkat output: monitor, proyektor dan printer.
Contoh perangkat input : keyboard, mouse, joystick, scanner, mark reader, bar code reader

Direct Memory Access ( DMA )

Pada programed I/O dan interrupt driven I/O CPU melakukan capur tangan langsung untuk mengirimkan perintah ke peripheral, tetapi pada DMA memerintahkan DMA apa yang harus dilakukan ( read / write ), alamat peripheral, tempat data dalam memori, dan jumlah data yang akan ditransfer.

Stelah itu, CPU melanjutkan pekerjaan / proses nya yang lain.

DMA melaksanakan apa yang diperintahkan oleh CPU tadi, jika semua tugas telah selesai, maka DMA mengirimkan interrupt kepada CPU, pada saat itu CPu akan merespon interrupt yang diterimanya.

Tidak ada komentar:

Posting Komentar