Pada
I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU
mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung,
seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring
perangkat. Kelemahan teknik ini adalah
CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan
membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini,
modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses
yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai
operasi lengkap dilaksanakan. Untuk
melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi
modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan
sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah
I/O, yaitu:
· Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan pemberitahukan tugas yang diperintahkan padanya.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan pemberitahukan tugas yang diperintahkan padanya.
· Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
· Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
· Perintah write.
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik I/O
terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam
instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped
I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU
memperlakukan register status dan register data modul I/O sebagai lokasi memori
dan menggunakan instruksi mesin yang sama untuk mengakses
baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran
tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped
I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori
alamat. Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik isolated I/O, dilakukan pemisahan
ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik
ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan
memori ditambah saluran perintah output. Keuntungan isolated I/O adalah
sedikitnya instruksi I/O.
EmoticonEmoticon