Unit Input dan Output adalah salah satu bagian dari CPU yang mampu memberikan CPU kemampuan untuk berkomunikasi dengan peripheral. Dua sebab utama dibuatnya unit input dan output adalah
- besarnya tegangan dan arus isyarat yang diperlukan untuk transfer informasi dari dan ke piranti peripheral umumnya berbeda dari tegangan dan arus isyarat yang digunakan dalam sistem bus.
- Kecepatan transfer data antara sistem bus dengan piranti input dan output biasanya jauh berbeda, terutama untu pritanti yang mempunyai unsur mekanis (biasanya piranti dengan unsur mekanis seperti ini mempunyai kecepatan transfer data yang paling lambat dibandingkan dengan lainnya. Waktu transfer pada sistem bus dapat mencapai kurang dari 20 nano detik, sedangkan waktu transfer pada I/O dapat lebih dari 1 m detik)
Perancangan unit input dan output diperlukan untuk dapat memenuhi kebutuhan berbagai macam piranti yang berbeda-beda. Mengingat kinerja dari komputer adalah sebuah kesatuan dari berbagai macam piranti yang ada. Karena kecepatan transfer dari hampir semua perangkat input dan output jauh lebih lambat dari kecepatan memori CPU, Unit Kontrol dan Bus, maka bus I/O dapat dibuat dengan menggunakan piranti kecepatan rendah dengan harga yang jauh lebih murah.
Jenis pengalamatan yang diperlukan untuk menangani bus I/O berbeda. Jumlah piranti yang dipasang pada sistem komputer akan selalu lebih kecil dari jumlah lokasi memori. Oleh karena itu jumlah bit yang diperlukan untuk mengalamati piranti akan jauh lebih kecil dari yang diperlukan untuk mengalamati memori utama. Disamping bus alamat yang lebih sempit, bus data biasanya juga mempunyai jalur data yang lebih sedikit, karena kebanyakan piranti I/O hanya mempunyai transfer data 1 atau 2 byte setiap saat. Siklus transfernya juga jauh tranfer yang dimiliki jauh lebih panjang karena piranti tersebut menggunakan sistem mekanis.
Fungsi utama dari unit Input dan Output adalah :
- Mengatur dan membuat perimbangan perbedaan kecepatan dan pewaktuan antara CPU dengan piranti yang terhubung ke dalam sistem.
- Melakukan pengaturan dan penyesuaian tegangan serta arus dari satu aras ke aras yang lain.
- Melakukan modifikasi panjang data antara sistem bus dan bus Input Output.