Pada
sistem komputer, Unit Input Output atau biasa disingkat I/O adalah komunikasi
antara sistem pemroses informasi yaitu komputer dengan dunia luar, yang berupa
masukan dari manusia atau sistem pemrosesan informasi lainnya. Unit input
adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam
mikroprosesor ini atau sinyal (data) yang diterima oleh sistem, contohnya, data
yang berasal dari keyboard atau mouse. Unit Output merupakan sinyal atau data
yang dikirim dari input. Output biasanya, digunakan untuk menampilkan data,
atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor,
contohnya data yang akan ditampilkan pada layar monitor atau printer.
1.
SISTEM BUS
System
bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan
oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan
tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir
dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat
antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori
dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah
komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang
terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang
digunakan. Sebagai contoh, sebuah komputer umumnya memiliki bus prosesor
(Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh
keyboard dan mouse), dan bus-bus lainnya.
Struktur
BUS
Data Bus, merupakan
jalur-jalur perpindahan antarmodul dalam sistem komputer. Baik lebar maupun
jumlah saluran menentukan kinerja sistem komputer.
Address Bus, Untuk
menandakan lokasi sumber dan tujuan pada proses transfer data. Pada saluran
ini, CPU akan mengirim alamat memori yang akan ditulis atau dibaca.
Control Bus, digunakan
untuk menngotrol izin akses ke data bus dan address bus. Jadi sebelum data
masuk/keluar untuk ditulis atau dibaca, akan dikontrol terlebih dahulu agar
benar-benar valid.
2.
STANDAR I/O INTERFACE
Standar
I/O Interface merupakan suatu mekanisme untuk mempermudah pengaksesan, sehingga
sistem operasi melakukan standarisasi cara pengaksesan peralatan I/O.
Ketika suatu aplikasi
ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut
harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah
pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan
Input/Output. Pendekatan inilah yang dinamakan interface aplikasi Input/Output.
Interface aplikasi Input/Output melibatkan abstraksi, enkapsulasi, dan software
layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan
Input/Output ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas
yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar(interface)
untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing
peralatan Input/Output, berfungsi untuk enkapsulasi perbedaan-perbedaan yang
ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver
mengenkapsulasi tiap -tiap peralatan Input/Output ke dalam masing-masing 1
kelas yang umum tadi(interface standar). Tujuan dari adanya lapisan device
driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device
controller dari subsistem Input/Output pada kernel. Karena hal ini, subsistem
Input/Output dapat bersifat independen dari hardware. Karena subsistem
Input/Output independen dari hardware maka hal ini akan sangat menguntungkan
dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi
untuk mengeluarkan support code untuk hardware-hardware baru yang akan
dikeluarkan oleh vendor hardware.
3.
Pengaksesan Peralatan I/O
Mode pengaksesan
Input/Output terdiri dari 2 cara, yaitu :
I/O
Mapped I/O, Pada I/O mapped I/O atau isolated I/O, lokasi (transfer) terisolasi
dari sistem memori di dalam ruang addres yang terpisah. Pada Isolated I/O, PORT
terpisah dari memori. Karena portnya terpisah, user bisa memperluas memori ke
ukuran penuhnya tanpa menggunakan ruang memory lain untuk perangkat I/O.
Kerugiannya: bahwa data yang ditransfer antara I/O dan mikroprosesor harus
diakses dengan instruksi-instruksi spt IN, INS, OUT, OUTS.
Memory
Mapped I/O, Tak seperti isolated I/O, instruksi yang digunakan di memory mapped
I/O tidak terbatas pada IN, INS, OUT, ataupun OUTS saja. Pada memory-mapped
I/O, setiap instruksi yang bisa mentrasfer data antara mikroprosesor dan memory
dapat digunakan. Keuntungan paling utama adalah bahwa instruksi transfer memory
dapat digunakan untuk mengakses perangkat I / O. Sementara kerugian
memory-mapped I/O; sebagian dari sistem memori digunakan sebagai peta I/O.
Berdampak pada berkurangnya jumlah memori yang tersedia.
Keuntungan
lain yang dimiliki Memory mapped I/O adalah bahwa sinyal IORC dan IOWC tidak
memiliki fungsi dalam sistem, sehingga memungkinkan adanya pengurangan jumlah
sirkuit yang dibutuhkan untuk decoding. Pada RISC, yang bekerja dengan prinsip
penyederhanaan komputasi set instruksi, dimana 20% instruksi pada sebuah
prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya keuntungan
ini tentu akan dimanfaatkan. Olehkarena itu RISC bnyk menggnakan memory-mapped
i/o.