Modul I/O adalah suatu komponen dalam sistem
komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau
lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar
tersebut dengan memori utama ataupun dengan register – register CPU. Dalam
mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan
memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan
fungsi – fungsi pengontrolan.
Fungsi dalam menjalankan tugas bagi modul I/O
dapat dibagi menjadi beberapa katagori, yaitu:
• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.
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 :
1 Permintaan dan pemeriksaan status perangkat
dari CPU ke modul I/O.
2 Modul I/O memberi jawaban atas permintaan CPU.
3 Apabila perangkat eksternal telah siap untuk
transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
4 Modul I/O akan menerima paket data dengan
panjang tertentu dari peripheral.
5 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.
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.
Fungsi selanjutnya adalah buffering. 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. Fungsi terakhir adalah 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 6.3.
Antarmuka modul I/O ke CPU melalui bus sistem
komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran
kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua
peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada
blok ini. Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga
saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian
terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan
antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.
- Teknik Masukan/Keluaran
Terdapat tiga buah teknik dalam operasi I/O,
yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct Memory Access).
Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan
sesuai unjuk kerja masing – masing teknik.
- 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:
1. Perintah control.
Perintah ini digunkan untuk mengaktivasi
perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
2. 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.
3. 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.
4. 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.
- 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 :
1. Perangkat I/O akan mengirimkan sinyal
interupsi ke CPU.
2. CPU menyelesaikan operasi yang sedang
dijalankannya kemudian merespon interupsi.
3.CPU memeriksa interupsi tersebut, kalau valid
maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk
menghentikan interupsinya.
Thank's
ReplyDeletethanks a lot
ReplyDeletewew, lebih di perjelas bagian fungsi2nya
ReplyDeleteada yg bahasa inggris gak?
ReplyDeletethnks
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteada yang bahasa korea gk?
ReplyDeletethanks
ReplyDeleteThis comment has been removed by the author.
ReplyDelete