Apa Pengertian I/O Terprogram?
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi kegiatan yang memperlihatkan operasi I/O kepada CPU secara langsung, ibarat pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini ialah CPU akan menunggu hingga operasi I/O simpulan dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak sanggup melaksanakan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU hingga 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 penjabaran perintah I/O, yaitu:
- Perintah control. Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan pemberitahukan kiprah yang diperintahkan padanya.
- Perintah test. Perintah ini dipakai CPU untuk menguji banyak sekali 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 sehabis 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 aba-aba 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 memakai aba-aba mesin yang sama untuk
mengakses baik memori maupun perangkat I/O. Konskuensinya ialah diharapkan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O ialah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.
Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diharapkan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O ialah sedikitnya aba-aba I/O.