1. 1. Sistem
Manajemen Input/Output (I/O)
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.
Ada beberapa alasan mengapa
piranti – piranti tidak langsung dihubungkan dengan bus sistem komputer, yaitu
:
·
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.
2. 2. Sistem
Masukan Dan Keluaran Komputer
Modul I/O dapat menjalankan
tugasnya, dengan cara menjembatani CPU dan memori dengan du3.nia luar merupakan
hal yang terpenting untuk kita ketahui. Inti mempelajari sistem I/O suatu
komputer adalah mengetahui fungsi dan struktur modul I/O. Pada gambar 5.1 di bawah ini menyajikan model
secara umum modul I/O.
Gambar Modul I/O secara Umum
3. 3. 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 computer 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. Perhatikan gambar berikut.
Gambar Skema perangkat Periferal
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.
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.
4. 4. 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
berikut ini.
Gambar Blok diagram struktur Modul I/O
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.
5. 5. Teknik
Masukan Dan 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.
a.
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 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.
b. 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.
c. Direct Memory Access (DMA)
Teknik yang dijelaskan
sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan,
yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung.
Hal ini berimplikasi pada :
·
Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
·
Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di
atas, apalagi untuk menangani transfer
data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan
Direct Memory Access (DMA). Blok
diagram modul DMA terlihat pada gambar berikut :
Diagram Modul DMA
Prinsip kerja DMA adalah CPU
akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal
proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja.
Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu
dengan interupsi.
Dalam melaksanakan transfer
data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan
bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan
sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing,
karena modul DMA mengambil alih siklus bus.
Penghentian sementara
penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses
sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja.
6. 6. Perangkat
Eksternal
Mesin komputer akan memiliki
nilai apabila bisa berinteraksi dengan dunia luar. Lebih dari itu, komputer
tidak akan berfungsi apabila tidak dapat berinteraksi dengan dunia luar. Ambil
contoh saja, bagaimana kita bisa menginstruksikan CPU untuk melakukan suatu
operasi apabila tidak ada keyboard. Bagaimana kita melihat hasil kerja sistem
komputer apabilabila tidak ada monitor. Keyboard dan monitor tergolang dalam perangkat
eksternal komputer. Perangkat eksternal atau lebih umum disebut peripheral tersambung
dalam sistem CPU melalui perangkat pengendalinya, yaitu modul I/O seperti telah
dijelaskan sebelumnya. Secara umum perangkat eksternal diklasifikasikan menjadi
3 katagori:
·
Human Readable,
yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer.
Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
·
Machine readable,
yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor
dan tranduser untuk monitoring dan control suatu peralatan atau sistem.
·
Communication,
yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Misalnya: NIC dan
modem.
Pengklasifikasian juga bisa
berdasarkan arah datanya, yaitu perangkat output, perangkat input dan kombinasi
output-input. Contoh perangkat output: monitor, proyektor dan printer.
Perangkat input misalnya : keyboard, mouse, joystick, scanner, mark
reader, bar code reader.
Terimakasih om, isinya membantu. :D
ReplyDeleteSm2 gan..
ReplyDelete