Hubungan antara CPU dengan main memory dan I/O device dihubungkan oleh suatu salura yang disebut bus. Hubungan antara CPU dengan main memory melalui jalur bus yang dilekatkan pada MDR, MAR, dan control unit di CPU. Sedang bus yng menghubungkan CPU dengan I/O device tidak dilekatkan langsung ke device-device I/O tersebut melainkan melalui suatu I/O port atau DMA controller atau I/O channel.
a. Bus
Bus merupakan jalur transportasi informasi antara dua atau lebih devicedevice dalam sistem komputer. Bus yang menghubungkan CPU dengan main memory disebut dengan internal bus. Sedang bus yang menghubungkan CPU dengan I/O device disebut dengan external bus.
Ada tiga jenis bus utama yaitu data bus, address bus, dan control bus. Data bus adalah bus yang digunakan untuk jalur transportasi data dan instruksi. Address bus adalah bus yang digunakan untuk jalur transportasi alamat di main memory untuk data dan instruksi yang akan diambil atau disimpan. Control bus adalah bus yang digunakan untuk mengirimkan sinyal sebagai pemberitahuan akan dikirimkan suatu informasi atau telah diterimanya informasi yang dikirimkan dari satu device ke device yang lain. Di dalam internal bus hubungan antara CPU dengan main meory melalui data bus yang dihubungkan dengan MDR, address bus yang dihubungkan dengan MAR dan control bus yang dihubungkan dengan control unit.
b. I/O Port
I/O device tidak dilekatkan langsung dengan bus tetapi melelui suatu I/O port I/O interface. I/O device dapat berkomunikasi dengan CPU dengan cara mengirimkan informasi yang akan dikomunikasikan dengan bus. Informasi yang dikirim dari I/O device ke main memory atau ke register di CPU diletakkan di I/O port dan dikirimkan lewat data bus.Demikian juga bila informasi dari main memory akan dikirimkan ke peripheral device jugamelaluidata bus dan diterima di I/O port. Cara pengiriman informasi ke I/O device seperti ini disebut dengan program-controlled I/O.
Dengan cara program-controlled I/O seperti tersebut hanya satu word data saja yang dapat dikirimkan setiap saat. Cara ini banyak diterapkan pada I/O device yang hanya dapat menangani satu karakter atau 1 byte saja setiap saat. Jika satu blok data besar dibutuhkan untuk dikirimkan dari atau ke peripheral device, cara yang lain yang harus digunakan adalah Direct Memory Address (DMA).
c. DMA (Direct Address Memory) Controller
Untuk peripheral device yang mempunyai kecepatan tinggi tidaklah ekonomis untuk pengiriman informasi byte per byte atau word per word dan akan lebih ekonomis bila pengiriman informasi dilakukan sekaligus per blok informasi. Bila informasi dikirimkan langsung per blok dan CPU beroperasi lebih cepat dibandingkan dengan proses peripheral device, bila CPU harus selalu mengawasi pengiriman informasi maka akan terjadi suatu waktu yang terbuang di CPU.
Karena CPU banyak menghabiskan proporsi waktu yang cukup besar di dalam proses membaca dan menuliskan informasi dari atau ke peripheral device maka perlu dibuat cara agar proses ini tidak terlalu banyak menyita waktu dari CPU.
DMA merupakan suatu konsep yang akan membuat komunikasi informasi antara peripheral device dengan main memory akan lebih efisien. Cara DMA ini dilakukan dengan melekatkan bus pada DMA controller yang dihubungkan dengan peripheral device.
d. I/O Channel
Telah dibahas dua cara untuk menerapkan pengiriman informasi ke peripheral device yaitu program-controlled I/O dan DMA. Program-controlled I/O biasanya digunakan untuk peripheral device yang mempunyai kecepatan rendah sedangkan yang mempunyai kecepatan tinggi dilakukan dengan DMA.
Bila beberapa peripheral device yang mempunyai kecepatan tinggi akan dihubungkan dengan CPU maka tidaklah ekonomis menyediakan beberapa DMA controller yang terpisah untuk masing-masing peripheral device, yang lebih ekonomis adalah menyediakan DMA controller yang akan digunakan untuk sejumlah peripheral device. Pemikiran inilah yang menimbulkan konsep I/O channel. Suatu I/O channel adalah suatu DMA controller yang dipergunakan bersama-sama untuk sejumlah I/O device.
Masing-masing I/O device dihubungkan dengan suatu channel lewat suatu control unit. Sebuah controller dapat digunakan untuk sejumlah I/O device yang sejenis.
ml.scribd.com/doc/23561383/Makalah-CPU