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.
5.2.
Sistem Masukan dan Keluaran Komputer
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. Pada gambar 5.1 di bawah ini menyajikan model
secara umum modul I/O.
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.
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. Perhatikan
gambar 5.2 berikut.
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.
5.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).
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.
5.5.1.
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 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 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 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.
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.
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.
5.5.3. 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 5.4 berikut :
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.
5.6. Perangkat External
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 perangat
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 kontrol 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.
Komentar
Posting Komentar