I/O Terprogram
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 atau tulis
dan monitoring perangkat.
I/O terprogram mempunyai kelemahan sebagai berikut :
- CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, 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 periperhalnya sehingga
terspesifikasi secara khusus dan sebuah perintah I/O yang akan
dilakukan. Terdapat empat klasifikasi perintah input/output, yaitu:
- Perintah Control yaitu perintah yang digunakan untuk mengaktivasi perangkat periperhal dan memberitahukan tugas yang diperintahkan kepadanya.
- Perintah Test, yaitu perintah yang digunakan CPU untuk menguji berbagai kondisi status modul I/O dan periperhalnya. CPU perlu mngetahui perangkat periperhalnya dalam keadaan aktif dan siap digunakan, juga untuk megetahui operasi-operasi I/O yang dijalankan serta mendeteksi kesalahannya.
- Perintah Read, yaitu perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruhnya di 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 periperhal tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam implementasi 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 pada modul I/O sebagai
lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses
baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan
saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan.
Keuntungan memory mapped ini adalah efisien dalam pemrograman namun
memakan banyak ruang memory alamat.
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 pembacaan
dan penulisan memori ditambah dengan saluran perintah output.
Kesuntungan isolated I/O adalah sedikitnya instruksi I/O.
Tidak ada komentar