Sistem Manajemen Input / Output
Sistem
komputer memiliki tiga komponen utama, yaitu : CPU, memori (primer dan
sekunder), dan peralatan masukan/keluaran (I/O devices) seperti printer,
monitor, keyboard, mouse, dan modem. Modul I/O merupakan peralatan antarmuka (interface)
bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat
peripheral. Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah
piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral
dan bus komputer.
Ø Bervariasinya
metode operasi piranti peripheral, sehingga tidak praktis apabila sistem
komputer herus menangani berbagai macam sisem operasi piranti peripheral
tersebut.
Ø Kecepatan
transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer
data pada CPU maupun memori.
Ø Format data
dan panjang data pada piranti peripheral seringkali berbeda dengan CPU, sehingga perlu modul untuk menselaraskannya.
Ø Dari beberapa alasan diatas,
modul I/O memiliki dua buah fungsi utama, yaitu :
Ø Sebagai
piranti antarmuka ke CPU dan memori melalui bus sistem.
Ø Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data tertentu.
Fungsi Modul I/O
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 :
Ø 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.
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.
Modul
I/O dapat menjalankan tugasnya, dengan cara menjembatani CPU dan memori dengan
dunia luar merupakan hal yang terpenting untuk kita ketahui. Inti mempelajari
sistem I/O suatu komputer adalah mengetahui fungsi dan 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.
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.
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.
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 untuk mengakses 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.
Interrupt – Driven Input/Output
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.
Sosial Media