1. Pengertian Bus
Pengertian Bus adalah bagian dari
sistem komputer yang berfungsi untuk memindahkan data antar bagian –
bagian dalam sistem komputer. Data dipindahkan dari piranti masukan ke
CPU, CPU ke memori, atau dari memori ke piranti keluaran. Bus merupakan Jalur komunikasi yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Sistem
bus adalah sebuah bus yang menghubungkan komponen-komponen utama
komputer (CPU, Memori, I/O). Sistem bus adalah penghubung bagi
keseluruhan komponen komputer dalam menjalankan tugasnya.
Bus beroperasi pada kecepatan dan lebar yang
berbeda. PC awal mempunyai bus dengan kecepatan 4.77 MHz dan lebar 8 bit
yang dikenal dengan bus ISA (Industry Standard Architecture). Kemudian
bus diperbaiki menjadi lebar 16 bit dengan kecepatan 8 MHz. Pada tahun
1990 Intel memperkenalkan bus PCI (Pheriperal Component Interconnect),
semula dengan lebar 32 bit, sekarang lebar bus 64 bit dan di-run pada
kecepatan 133 MHz. Sebuah bus yang menghubungkan
komponen-komponen utama komputer disebut sebagai Bus System. Biasanya
sebuah Bus System terdiri dari 50 hingga 100 saluran yang terpisah.
– Bus System dapat dibedakan atas:
1. Data Bus ( Saluran Data )
2. Address Bus ( Saluran Alamat )
3. Control Bus ( Saluran Kendali )
2. JENIS – JENIS SISTEM BUS
Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu
dedicated dan multiplexed. Suatu saluran bus dedicated secara permanen
diberi sebuah fungsi atau subset fisik komponen-komponen komputer.
Sebagai contoh dedikasi fungsi adalah penggunaan alamat
dedicated terpisah dan saluran data yang merupakan suatu hal yang umum
bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan
informasi data dapat ditransmisikan melalui sejumlah saluran yang sama
dengan menggunakan saluran address valid control. Pada awal pemindahan
data, alamat ditempatkan pada bus dan address valid control diaktifkan.
Pada saat ini, setiap modul memiliki periode waktu tertentu untuk
menyalin alamat dan menentukan apakah alamat tersebut merupakan modul
beralamat. Kemudian alamat dihapus dari bus dan koneksi bus yang sama
digunakan untuk transfer data pembacaan atau penulisan berikutnya.
Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal
sebagai time multiplexing.
Keuntungan time multiplexing adalah memerlukan saluran yang
lebih sedikit, yang menghemat ruang dan biaya. Kerugiannya adalah
diperlukannya rangkaian yang lebih kompleks di dalam setiap modul.
Terdapat juga penurunan kinerja yang cukup besar karena event-event
tertentu yang menggunakan saluran secara bersama-sama tidak dapat
berfungsi secara paralel. Dedikasi fisik berkaitan dengan penggunaan
multiple bus, yang masing-masing bus itu terhubung dengan hanya sebuah
subset modul. Contoh yang umum adalah penggunaan bus I/O untuk
menginterkoneksi seluruh modul I/O, kemudian bus ini dihubungkan dengan
bus utama melalui sejenis modul adapter I/O. Keuntungan yang utama dari
dedikasi fisik adalah throughput yang tinggi karena hanya terjadi
kemacetan lalu lintas data yang kecil. Kerugiannya adalah meningkatnya
ukuran dan biaya sistem.
3. STRUKTUR SISTEM BUS
Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang
terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus.
Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran
bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data,
saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran
distribusi daya yang memberikan kebutuhan daya bagi modul yang
terhubung.
a) Data Bus ( Saluran Data )
Saluran data memberikan lintasan bagi perpindahan data antara
dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya
bus data terdiri dari 8, 16, 32 saluran. Jumlah saluran diaktifkan
dengan lebar bus data. Karena pada suatu saat tertentu masing-masing
saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah
bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan
faktor penting dalam menentukan kinerja sistem secara keseluruhan.
Contohnya bila bus data lebarnya 8 bit dan setiap instruksi panjangnya
16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap
siklus instruksinya.
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit
b) Address Bus ( Saluran Alamat )
- - Saluran alamat digunakan untuk menandakan sumber atau tujuan data
pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari
memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran
alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum
sistem. Selain itu, umumnya saluran alamat juga dipakai untuk
mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih
tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul.
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
- - Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
- - Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
- - Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya.
c) Control Bus ( Saluran Kontrol )
Saluran kontrol digunakan untuk mengntrol akses ke saluran
alamat dan penggunaan data. Karena data dan saluran alamat dipakai
bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol
penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah
maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal
pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal
perintah menspesifikasikan operasi-operasi yang akan dibentuk. Umumnya
saluran kontrol meliputi : memory write, memory read, I/O write, I/O
read, transfer ACK, bus request, bus grant, interrupt request, interrupt
ACK, clock, reset.
Berikut ini adalah fungsi-fungsi yang terdapat pada control bus ( saluran control ):
- - Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
- - Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
- - Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
- - Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Gambar 1.1 Sistem Bus
Di sistem komputer berbasis mikroprosesor, terdapat 3 jalur yang menjadi tempat mengalirnya proses.
- Bus Data yang berfungsi mengalirkan data dari/ke mikroprosesor
- Bus Alamat/Address yang berfungsi mengalamati suatu proses dari/ke memori atau I/O
- Bus Kontrol yang berfungsi mengatur proses instruksi yang terjadi dari/ke mikroprosesor.
Diilustrasikan pada gambar berikut :
Gambar 1.2 Hubungan Bus Data, Bus Address dan Bus Kontrol
Bus Alamat meminta alamat memori dari sebuah memori atau
alamat I/O dari suatu peranti I/O. Jika I/O dialamati, maka bus alamat
akan memiliki 16 bit alamat dari 0000H sampai FFFFH. Alamat ini disebut
juga port number. Port number akan memilih 1 dari 64K (65535)
peranti I/O yang berbeda. Jika alamat memori dialamati, maka Bus Alamat
akan berisi alamat memori tersebut. Lebar alamat memori tergantung dari
tipe mikroprosesor yang dipakai (sekali lagi dalam satuan bit).
Bus Data berfungsi mengalirkan data dari/ke mikroprosesor
ke/dari alamat memori tujuan atau alamat I/O tujuan. Besar kecepatan
transfer bus data bervariasi sesuai dengan mikroprosesor yang dipakai.
Bus Kontrol berisikan instruksi yang mengatur operasi apakah itu read atau write. Ada 4 tipe kontrol yaitu :
- - MRDC (Memory Read Control) yang menyatakan transfer data dari memori ke mikroprosesor
- - MWTC (Memory Write Control) yang menyatakan transfer data dari mikroprosesor ke memori
- - IORC (I/O Read Control) yang menyatakan transfer data dari peranti I/O ke mikroprosesor
- - IOWC (I/O Write Control) yang menyatakan transfer data dari mikroprosesor ke peranti I/O.
Hubungan ketiganya adalah, misalnya jika kita ingin mentransfer data
dari mikroprosesor ke memori. Pertama, bus alamat akan mengalamati address tujuan. Lalu bus kontrol akan memberi sinyal MWTC = 0. Barulah bus data akan mentransfer data ke alamat tujuan.
– Sistem BUS
- Penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya
- Komponen komputer :
- CPU
- Memori
- Perangkat I/O
– Transfer data antar komponen komputer.
- Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus
- Melihat hasil eksekusi melalui monitor juga menggunakan sistem bus
- Kecepatan komponen penyusun komputer harus diimbangi kecepatan dan manajemen busyang baik
– Mikroprosesor
- Melakukan pekerjaan secara paralel
- Program dijalankan secara multitasking
- Sistem bus tidak hanya lebar tapi juga cepat
1. Jenis Data
a. Memori :
Memori umumnya terdiri atas N word memori dengan panjang yang
sama. Masing–masing word diberi alamat numerik yang unik (0, 1, 2,
…N-1). Word dapat dibaca maupun ditulis pada memori dengan kontrol Read dan Write. Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.
b. Modul I/O :
Operasi modul I/O adalah pertukaran data dari dan ke dalam
komputer. Berdasakan pandangan internal, modul I/O dipandang sebagai
sebuah memori dengan operasi pembacaan dan penulisan. Seperti telah
dijelaskan pada bab 6 bahwa modul I/O dapat mengontrol lebih dari sebuah
perangkat peripheral. Modul I/O juga dapat mengirimkan sinyal
interrupt.
c. CPU :
CPU berfungsi sebagai pusat pengolahan dan eksekusi data
berdasarkan routine–routine program yang diberikan padanya. CPU
mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinya
memiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer.
Gambar 1.3 Modul Komputer
Dari jenis pertukaran data yang diperlukan modul–modul komputer, maka struktur interkoneksi harus mendukung perpindahan data.
- Memori ke CPU : CPU melakukan pembacaan data maupun instruksi dari memori.
- CPU ke Memori : CPU melakukan penyimpanan atau penulisan data ke memori.
- I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
- CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
- I/O ke Memori atau dari Memori : digunakan pada sistem DMA
Sampai saat ini terjadi perkembangan struktur interkoneksi, namun yang banyak digunakan saat ini adalah sistem bus.
– Prinsip Operasi Bus
- Meminta penggunaan bus.
- Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang dituju
– Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja
Faktor – faktor :
- Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
- Antrian penggunaan bus semakin panjang.
- Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.
Gambar 1.4 Arsitektur bus jamak tradisional
– Arsitektur bus jamak
Prosesor, cache memori dan memori utama terletak pada bus
tersendiri pada level tertinggi karena modul – modul tersebut memiliki
karakteristik pertukaran data yang tinggi.
Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua,
- Memerlukan transfer data berkecepatan tinggi
- Memerlukan transfer data berkecepatan rendah.
Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,
Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi
Gambar 1.5 Arsitektur bus jamak kinerja tinggi
4. Elemen-Elemen Rancangan Bus
Rancangan suatu bus dapat dibedakan atau diklasifikasikan oleh elemen-elemen sebagai berikut :
1. Jenis Bus
Jenis bus dapat dibedakan atas :
Merupakan metode di mana setiap bus ( saluran ) secara permanen diberi fungsi atau subset fisik komponen komputer.
Merupakan metode penggunaan bus yang sama untuk berbagai keperluan, sehingga menghemat ruang dan biaya.
2. Metode Arbitrasi
Metode arbitrasi adalah metode pengaturan dari penggunaan bus, dan dapat dibedakan atas :
- Tersentralisasi : menggunakan arbiter sebagai pengatur sentral
- Terdistribusi : setiap bus memiliki access control logic
3. Timing
Timing berkaitan dengan cara terjadinya event yang diatur pada bus system, dan dapat dibedakan atas :
Terjadinya event pada bus ditentukan oleh clock (pewaktu )
Terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya
4. Lebar Bus
Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu saat.
5. Jenis Transfer Data
Transfer data yang menggunakan bus di antaranya adalah :
1. Operasi Read
2. Operasi Write
3. Operasi Read Modify Write
4. Operasi Read After Write
5. Operasi Block
A. PCI
PCI adalah singkatan dari Peripheral Component
Interconnect dan merupakan bus yang tidak tergantung pada prosesor,
berbandwith tinggi serta dapat berfungsi sebagai mezzanine atau bus
peripheral. PCI memberikan sistem yang lebih baik bagi subsistem I/O
berkecepatan tinggi , seperti : graphic display adapter, network
interface controller, dan disc controller.
PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasiskan
mikroprosesor, baik sistem mikroprosesor tunggal ataupun sistem
mikroprosesor jamak.
B. Future Bus +
1. Future Bus + adalah standar bus asinkron berkinerja tinggi yang dibuat oleh IEEE dan didasarkan atas.
2. Tidak tergantung pada arsitektur, prosesor dan teknologi tertentu.
3. Memiliki protokol transfer asinkron dasar.
4. Menyediakan dukungan bagi sistem-sistem yang fault tolerant dan memiliki reliabilitas yang tinggi.
5. Menawarkan dukungan langsung terhadap memori berbasis cache yang dapat digunakan bersama.
6. Memberikan definisi transportasi pesan yang kompetibel
– Proses aliran data pada siklus pengambilannya!
- Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
- PC berisi alamat instruksi berikutnya yang akan diambil.
- Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
- Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
- PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
- Siklus selesai, unit kontrol memeriksa isi IR untuk menentukan
apakah IR berisi operand specifier yang menggunakan pengalamatan tak
langsung.
– Proses aliran data pada siklus tak langsung!
- N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
- Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
- Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
- Siklus instruksi (instruction cycle) mengambil banyak bentuk karena
bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di
dalam IR.
- Siklus meliputi pemindahan data di antara register-register,
pembacaan atau penulisan dari memori atau I/O, dan atau penggunaan ALU.
– Proses aliran data pada siklus interupsi!
- Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt.
- Cara : Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
- Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol.
- Lokasi ini berupa stack pointer.
- PC dimuatkan dengan alamat rutin interrupt.
- Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai.
5. KETERKAITAN DAN CONTOH SISTEM BUS
Bus disusun secara hierarkis karena setiap bus yang memiliki
kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan
tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu
bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP.
Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan
bertindak sebagai jembatan antara bus-bus yang berbeda. Contoh sebuah
kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.