Modul I/O adalah suatu komponen dalam sistem komputer yang Bertanggung jawab dalam pengontrolan pertukaran data dalam sebuah perangkat luar dengan memori utama ataupun dengan register – register CPU. Atau bisa juga dengan pengertian Modul I/O adalah sebuah konektor mekanik yang berisi fungsi logic untuk komunikasi antara bus komputer dan peripheral. Modul I/O juga merupakan interface (antarmuka) antara CPU dengan memori utama dan antar muka perangkat internal dengan perangkat eksternal.
Fungsi utama Modul I/O:
- Sebagai piranti antarmuka ke CPU dan memori ke bus system
- Sebagai piranti antarmuka dengan peralatan periperal lainnya dengan menggunakan link data tertentu
Dalam menjalankan tugas, fungsi Modul I/O dibedakan menjadi beberapa kategori, yaitu:
1) Kontrol Pewaktuan
Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan.
Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :
- Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
- Modul I/O memberi jawaban atas permintaan CPU.
- Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
- Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
- Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket – paket data dapat diterima CPU dengan baik. Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.
2) Komunikasi CPU
Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :
- Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.
- Data, pertukaran data antara CPU dan modul I/O melalui bus data.
- Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
- Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.
Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status.
3) Pem-buffer-an Data
Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU.
Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan.
4) Deteksi Kesalahan
Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.
Struktur Modul I/O
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat pada gambar dibawah ini.
Teknik I/O dalam proses kerja I/O
- I/O terprogram
- Interrupt-driven I/O
- DMA (Direct Memory Access)
o Memory-Mapped I/O
- Terdapat ruang tunggal untuk lokasi memori daan perangkat I/O
- CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan intruksi mesin yang samauntuk mengakses baik memori ataupun perangkat I/o
- Konsekuensinya adalah diperlukan perangkat tunggaluntuk pembacaan dan saaluran tunggal untuk penulisan
- Keuntungan dari memory-mapped I/O adalah efisien daam pemrograman, namun memakan banyak ruang memory alamat
- Dilakukan pemisahan ruang pengalamatan bagi memory dan ruang pengalamatan bagi I/O
- Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memory ditambah saluran perintah output
- Kesulitan isolated I/O adalah sedikitnya intruksi I/O
Saluran I/O
Tujuan dari saluran I/O adalah sebagai perantara antara CPU-main memory dengan unit pengontrol penyimpan. CPU berkomunikasi dengan saluran melalui beberapa perintah yang sederhana.
Saluran akan memberi perintah :
- Test I/O, untuk menentukan apakah jalur (pathway) yang menuju peralatan sedang sibuk.v
- Start I/O, pada peralatan tertentu
- Halt I/O, pada peralatan tertentu
Saluran biasanya berkomunikasi dengan CPU melalui cara interupsi. Interupsi akan terjadi, jika keadaan error terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas I/O telah diakhiri.
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
Jika sebuah program membutuhkan READ dari berkas file, maka yang terjadi adalah :
- Program mengeluarkan READ, yang akan menginterupsi I/O
- Pengontrol I/O membuat sebuah saluran program pada memori utama
- Saluran program dibaca dan dieksekusi oleh pemanggil saluran
- Sinyal yang tepat akan ditransmisi ke pemanggil unit control
- Kemudian sinyal tersebut diterjemahkan oleh unit control dan digunakan untuk mengontrol peralatan operasi untuk membaca data yang diminta
- Data yang diminta akan mengalir dari peralatan pathway ke file buffer area dalam ruang memori utama
- Interupsi yang dikeluarkan oleh saluran digunakan untuk meneruskan sinyal pada waktu eksekusi program
- Kemudian control kembali ke program
Data dibaca ke dalam buffer, dimana buffer merupakan suatu tempat pada memori utama yang disediakan untuk menampung data, bila buffer penuh program akan segera menggunakan data tersebut.
Blok Diagram Modul I/O
Keterangan:
- Saluran Control > untuk mengontrol akses ke salurn alamat, penggunaan data dan saluran alamat.
- Saluran Data > memberikan lintasan bagi perpindahan data antaar dua modul system.
- Saluran Alamat > menandakan sumber atau tujuan data pada bus data.
Sumber :
http://birienz-watashiwa.blogspot.co.id/2011/12/blok-diagram-piranti-io-dan-penjelasan.html
http://emarnaningtyas.blogspot.co.id/2013/01/fungsi-modul-io.html
http://muhamad-aslam.blogspot.co.id/2014/09/modul-io-modul-io-adalah-interface-atau.html
https://syaharuddins99.wordpress.com/2013/11/07/modul-io-saluran-ioprocessor-struktur-interkoneksi/
http://mbahasilmu.blogspot.co.id/2016/09/modul-io-dan-fungsi-modul-io.html
http://irwansyahputratkj.blogspot.co.id/2017/03/fungsi-modul-io.html
http://birienz-watashiwa.blogspot.co.id/2011/12/blok-diagram-piranti-io-dan-penjelasan.html
http://emarnaningtyas.blogspot.co.id/2013/01/fungsi-modul-io.html
http://muhamad-aslam.blogspot.co.id/2014/09/modul-io-modul-io-adalah-interface-atau.html
https://syaharuddins99.wordpress.com/2013/11/07/modul-io-saluran-ioprocessor-struktur-interkoneksi/
http://mbahasilmu.blogspot.co.id/2016/09/modul-io-dan-fungsi-modul-io.html
http://irwansyahputratkj.blogspot.co.id/2017/03/fungsi-modul-io.html

