Bus
merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat
komputer. Karakteristik penting sebuah bus adalah bahwa bus merupakan media
transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus
dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat
ditermia oleh salah satu perangkat yang terhubung ke bus. Bila dua buah
perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya
akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah
perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu.
Fungsi Bus : membawa data antar bagian utama komputer , data berupa data atau intruksi
Komponen utama komputer
- MAR : Tempat untuk menampung alamat memori berikutnya yang akan dibaca/ditulis
- MBR : Tempat untuk menampung data yang akan ditulis ke memori atau data yang akan dibaca dari memori
- I/O AR : Tempat untuk menampung alamat device yang akan dikontrol
- I/O BR : Digunakan untuk menampung data yang dipertukarkan antara device dengan CPU
- IR : Menyimpan Intruksi yang baru saja di ambil
- PC : Menyimpan alamat intruksi berikutnya
STRUKTUR 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.
- 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 diakitakan denang 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. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.
- 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.
- Saluran Kontrol :Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. 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 mespesifikasikan 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.
ELEMEN-ELEMEN
RANCANGAN BUS
JENIS BUS
Saluran bus dapat dipisahkan menjadi dua tipe
umum, yaitu dedicated dan multiplexed. Suatu saluran bus didicated 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 salurah 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 memilki 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, harena hanya terjadi kemacetan lalu lintas data yang
kecil. Kerugiannya adalah meningkatnya ukuran dan biaya sistem.
METODE
ARBITRASI
Di dalam semua sistem keculai sistem yang paling
sederhana, lebih dari satu modul diperlukan untuk mengontrol bus. Misalnya,
sebuah modul I/O mungkin diperlukan untuk membaca atau menulis secara langsung
ke memori, dengan tanpa mengirimkan data ke CPU. Karena pada satu saat hanya
sebuah unit yang akan berhasil mentransmisikan data melalui bus, maka
diperlukan beberapa metodi arbitrasi. Bermacam-macam metode secara garis
besarnya dapat digolongkan sebagi metode tersentraslisasi dan metode
terdistribusi. Pada metode tersentralisasi, sebuah perangkat hardware, yang
dikenal sebagai pengontrol bus atau arbitrer, bertanggung jawab atas alokasi
waktu pada bus. Mungkin perangkat berbentuk modul atau bagian CPU yang
terpisah. Pada metode terdistribusi, tidak terdapat pengontrol sentral.
Melainkan, setiap modul terdiri dari access
control logic dan modul-modul bekerja sama untuk memakai bus bersama-sama.
Pada kedua metode arbitrasi, tujuannya adalah untuk
menugaskan sebuah perangkat, baik CPU atau modul I/O, bertindak sebagai master.
Kemudian master dapat memulai transfer data (misalnya, membaca atau menulis)
dengan menggunakan perangkat-perangkat lainnya, yang bekerja sebagai slave bagi
pertukaran data yang khusus ini.
TIMING
Timing berkaitan
dengan bagaimana terjadinya event yang dikoordinasikan pada bus. Dengan timing
yang synchronous, terjadinya event pada bus ditentukan oleh sebuah pewaktu
(clock). Bus meliputi sebuah saluran, waktu tempat pewaktu mentrasmisikan
rangkaian bilangan 1 dan 0 dalam durasi yang sama. Sebuah transmisi 1-0 dikenal
sebagai siklus waktu atau siklus bus dan menentukan bersarnya slot waktu. Semua
perangkat lainnya pada bus dapat membaca saluran waktu dan semua event dimulai
pada awal siklus waktu. Gambar di samping
menujukkan diagram penentuan bagi operasi pembacaan sinkron. Sinyal-sinyal bus
lainnya dapat berubah pada ujung muka sinyal waktu dengan diikuti sedikit
reaksi delay. Sebagian besar event mengisi suatu siklus waktu. Di dalam contoh
sederhanya ini, CPU mengeluarkan sinyal baca dan menempatkan alamat memori pada
bus alamat. CPU juga mengeluarkan sinyal awal untuk menandai keberadaan alamat
dan informasi kontrol pada bus. Modul memori mengetahui alamat itu, dan setelah
delay 1 siklus menempatkan data dan sinyal balasan pada bus.
Sedangkan pada timing asinkron, terjadinya
sebuah event pada bus mengikuti dan tergantung pada event sebelumnya. Dalam
contoh gambar di atas, CPU menempatkan alamat dan membaca sinyal pada bus.
Setelah berhenti untuk memberi kesempatan sinyal ini menjadi stabil, CPU
mengeluarkan sinyal MSYN (master syn) yang menandakan keberadaan alamat yang
valid dan sinyal kontrol. Modul memori memberikan respons dengan data dan
sinyal SSYN (slave syn) yang menunjukkan respon.
Timing sinkron lebih mudah untuk diimplementasikan
dan diuji. Namun timing ini kurang fleskibel dibandingkan dengan timing
asinkron. Karena semua perangkat pada bus sinkron terkait dengan kelajuan
pewaktu yang tetap, maka sistem tidak dapat memanfaatkan peningkata kinerja.
Dengan menggunakan timing asinkron, campuran antara perangkat yang lamban dan
cepat, baik dengan menggunakan teknologi lama maupun baru, dapat menggunakan
bus secara bersama-sama.
LEBAR BUS
Lebar bus
dinyatakan dengan satuan bit dan kecepatan bus dinyatakan dalam satuan MHz Lebar
bus data dapat mempengaruhi kinerja sistem. Semakin lebar bus data, semakin
besar bit yang dapat ditransferkan pada suatu saat. Lebar bus alamat mempunyai
pengaruh pada kapasistas sitem. Semakin lebar bus alamat, semakin besar pula
range lokasi yang dapat direferensi.
JENIS
TRANSFER DATA
Suatu bus mendukung bermacam-macam transfer
data. Semua bus mendukung transfer baca (master ke slave) dan transfer tulis
(slave ke master). Pada semua multiplexed address/data bus, pertama-tama bus
digunakan untuk menspesifikasikan alamat dan kemudian untuk melakukan transfer
data. Untuk operasi baca, biasanya terdapat waktu tunggu pada saat data sedang
diambil dari slave untuk ditaruh pasda bus. Baik bagi operasi baca maupun
tulis, mungkin juga terdapt delay bila hal itu diperlukan untuk melalui
arbitrasi agar mendapatkan kontrol bus
untuk sisa operasi (yaitu, mengambil alih bus untuk melakukan request baca atau
tulis, kemudian mengambil alih lagi bus untuk membentuk operasi vaca atau
tulis.
Pada alamat dedicated dan bus-bus data, alamat
ditaruh ada bus alamat dan tetap berada di sana selama data tersimpan pada bus
data. Bagi operasi tulis, master menaruh data pada bus data begitu alamat telah
staabil dan slave telah mempunyai kesempatan untuk mengetahui alamatnya. Bagi operasi
baca, slave menaruh data pada bus dan begitu slave mengetahui alamtnya dan
telah mengambil data.
Terdapt pula beberapa kombinasi operasi yang
diizinkan oleh sebagian bus. Suatu operasi baca-modifikasi-tulis merupakan
sebuah oerasi baca yang diikuti oleh operasi tulis ke alamat yang sama. Alamat
hanya di-broadcast satu kali saja pada awal operasi. Baiasanya urutan operasi
secara keseluruhan tidak dapat dibagi-bagi untuk menjaga setiap akses ke
element data oleh master-master bus lainnya. Tujuan utama dari kemampuan ini
adalah untuk melindungi sumber daya memori yang dapat dipakai bersama di dalam
sistem multiprogramming.
Operasi read-after-write merupakan operasi yang
tidak dapat dibagi-bagi yang berisi operasi tulis yang diikuti oleh operasi
baca dari alamat yang sama. Operasi baca dibentuk untuk tujuan pemeriksaan.
Sebagian sistem bus juga mendukung trasnfer
data blok. Dalam hal ini, sebuah siklus alamat diikuti oleh n siklus data.
Butir data pertama ditransfer ke almat tertentu atau ditransfer dari alamat
tertentu. Butir-butir data lainnya ditransfer ke alamat berikutnya atau
ditransfer dari alamat sebelumnya
sumber : www.risyana.wordpress.com