I/O TERPROGRAM
Di dalam teknik I/O terprogram ini, CPU dan modul I/O akan melakukan pertukaran data, dengan cara CPU mengolah program yang memberikan operasi I/O kepada CPU, seperti memindah data, mengirim instruksi read-write, dan memonitoring perangkat. CPU harus menunggu hingga operasi I/O yang dijalankan telah selesai jika CPU mengeluarkan perintak ke modul I/O. Apabila CPU memiliki kecepatan proses lebih disbanding modul I/O, maka hal tersebut akan membuang waktu CPU. Saat CPU memproses intruksi yang berhubungan dengan I/O, CPU akan mengeluarkan instruksi ke modul I/O yang berhubungan, sehingga modul I/O akan membuat tindakan yang diminta dan setelah itu akan menyetingbit-bit yang terkait dalam register status I/O. Modul I/O tidak dapat melakukan interupsi kepada CPU terhadap operasi yang diperintahkan padanya. Semua proses adalah tanggung jawab dari CPU hingga operasinya selesai dan lengkap. Instruksi-instruksi I/O Untuk memproses perintah yang berhubungan dengan I/O, CPU mengeluarkan satu alamat yang terspesifikasi secara khusus bagi modul I/O dan perangkat eksternal tertentu dan satau instruksi I/O. Ada 4 klasifikasi perintah I/O yang akan dialamati oleh CPU untuk modul I/O, yaitu: Perintah control Perintah test Perintah read Perintah Write
Perintah control : instruksi ini digunakan sebagai pengaktifan perangkat peripheral dan memberitahukan tugas yang akan diselesaikan olehnya. Perintah test: perintah ini dipakai oleh CPU untuk menguji berbagai macam keadaan status modul I/O dan perangkat peripheralnya. CPU perlu tahu perangkat peripheral mana yang aktif dan yang dapat di pakai, serta untuk mengetahui apakah operasi I/O yang telah dioperasikan tidak terjadi eror. Perintah read: Modul I/O akan menerima butir data data dari peripheral kemudian meletakkannya kedalam buffer internal. Setelah itu CPU menerima butir data dengan memintanya yang diletakkan modul I/O pada Bus data. Sebaliknya, perintah Write menyebabkan modul I/O mengambil data yang berada di Bus data dan kemudian mengirimkan data tersebut ke peripheral.
INTERUPT-DRIVEN I/O
Teknik ini memungkinkan masalah yang terdapat pada I/O terprogram yaitu proses yang membuang waktu tidak terjadi. Dalam kendali perintahnya, CPU masih menjadi penanggung jawabnya. Dari sisi modul I/O cara kerja teknik ini adala modul I/O memperoleh instruksi dari CPU,kemudian modul I/O mengeksekusi perintah pembacaan dari peripheral dan menaruh data tersebut ke register, selanjutnya mengeluarkan sinyal interupsi ke CPU melalui saluran control. Setelah itu modul menunggu sampai data tersebut diminta oleh CPU, saat permintaan dilakukan , modul meletakkan datanya pada bus data dan modul siap untuk melakukan instruksi berikutnya. Pengolahan interrupt