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 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 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 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 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 untukmengakses 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.
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.
5.5.2. Interrupt – Driven I/O
Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang
waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O,
bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan
eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai
menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada
CPU bahwa tugasnya telah selesai. Dalam teknik ini kendali perintah masih
menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun
pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik
sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus
sehingga tidak ada waktu tunggu bagi CPU. Cara kerja teknik interupsi di sisi
modul I/O adalah modul I/O menerima perintah, misal read. Kemudian modul I/O
melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data
ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke
CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU.
Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap
menerima perintah selanjutnya. Pengolahan interupsi saat perangkat I/O telah
menyelesaikan sebuah operasi I/O adalah sebagai berikut :
 Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
 CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon
interupsi.
 CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan
sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
 CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal
yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi
yang diperlukan berupa : (a). Status prosesor, berisi register yang dipanggil
PSW (program status word). (b). Lokasi intruksi berikutnya yang akan
dieksekusi. Informasi tersebut kemudian disimpan dalam stack pengontrol
sistem.
 Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum
interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya
mempersiapkan PC untuk penanganan interupsi.
 Selanjutnya CPU memproses interupsi sempai selesai.
 Apabila pengolahan interupsi selasai, CPU akan memanggil kembali
informasi yang telah disimpan pada stack pengontrol untuk meneruskan
operasi sebelum interupsi.

Comments

Popular posts from this blog

Ruang Alamat Logika Dan Ruang Alamat Fisik

PRINSIP PRINSIP DESAIN GRAFIS

Cara terhubung dengan internet melalui Telepon Kabel