Bus terdiri dari 3:
1. Bus Data
Saluran yang memberikan lintasan bagi perpindahan data antara dua modul
system. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran
dikaitkan 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 diindahkan pada suatu saat. Lebar bus
data merupakan factor penting dalam menentukan kinerja system secara
keseluruahan. Bila bus data lebarnya 8 bit, dan setiap instruksi
panjangnya 16 bit, maka CPU harus 2 kali mengakses modul memori dalam
setiap siklus instruksinya.
2. Bus Alamat
Digunakan untuk menandakan sumber atau tujuan data pada bus data,
misalnya CPU akan membaca sebuah word (8, 16, 32 bit) data dari memori,
maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat.
Lebar bus alamat menentukan kapasitas memori maksimum sitem. Selain itu
umumnya saluran alamt juga digunakan untuk mengalamati port-port I/O.
3. Bus Kontrol
Digunakan untuk mengontrol akses ke saluran alamat, penggunaan data dan
saluran alamat. Karena data dan saluran alamat digunakan bersama oleh
seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya.
Signal-signal kontrol melakukan transmisi baik perintah mauun informasi
pewaktuan diantra modul-modul system. Signal-signal pewaktuan
menunjukkan validitas data dan informasi alamat.
Umumnya saluran kontrol meliputi :
Memory Write : menyebabkan data pada bus akan dituliskan ke dalam
lokasi alamat. Memory Read : menyebabkan data dari lokasi alamat
ditempatkan pada bus I/O Write : menyebabkan data pada bus di output kan
ke port I/O yang beralamat. I/O Read : menyebabkan data dari port I/O
yang beralamat ditempatkan pada bus. Transfer ACK : menunjukkan bahwa
data telah diterima dari bus atau telah ditempatkan di bus. Interrupt
Request : menandakan bahwa sebuah interrupt ditangguhkan. Interrupt ACK :
memberitahukan bahwa interrupt yang ditangguhkan telah diketahui. Clock
: digunakan untuk mensinkronkan operasi-operasi. Reset :
menginisialisasi seluruh modul
OPERASI BUS
Bila sebuah modul akan mengirimkan data ke modul lainnya, maka modul
itu harus melakukan dua hal : 1. memperoleh enggunaan bus, dan 2
memindahkan data melalui bus. Bila sebuah modul akan meminta data dari
modul lainnya, maka modul itu harus 1 memperoleh penggunaan bus, dan 2
memindahkan sebuah request ke modul lainya melalui saluran kontrol dan
saluran alamt yang sesuai. Kemudian modul harus menunggu modul kedua
untuk mengirimkan data.
Bentuk phisik Bus.
Bus system merupakan sejumlah konduktor listrik parallel.
Konduktor-konduktor ini berupa kawat logam yang berakhir pada kartu atau
papan PCB. Bus melintasi seluruh komponen system yang masing-masing
disambungkan ke beberapa atau semua saluran bus.
Masalah dalam Bus Tunggal/ Single
Bila perangkat yang berjumlah sangat banyak dihubungkan ke bus, maka akan terjadi penurunan kinerja.
Penyebab utama :
Semakin banyak perangkat yang dihubungkan ke bus, semakin besar delay
propagasinya. Delay ini menentukan waktu yang diperlukan perangkat
untuk mengkoordinasi pengguna bus
Bus akan menjadi penyumbat dengan semakin besarnya perindahan data
yang hamper mendekati kapasitas bus. Sampai tingkat tertentu, masalah
ini dapat diatasi dengan memakai bus-bus yang lebih lebar. (misalnya
meningkatkan bus data dari 32 menjadi 64 bit) Namun karena kelajuan data
disebabkan oleh perangkat-perangkat yang terhubung (misalnya pengontrol
grafis dan video, interface jaringan) berkembang dengan cepatm maka
dalam perlombaan ini besar kemungkinan bus tunggal akan menderita
kekalahan.
Bus local yang menghubungkan prosesor dengan cache memory dan bus
local dapat mendukung sebuah perangkat local atau lebih. Pengontrol
cache memory tidak hanya menghubungkan cache dengan bus local itu saja,
namun juga dengan bus system yang terhubung dengan seluruh modul memory
utama. Manfaat struktur cache melindungi prosesor dari keharusan
seringnya mengakses memori utama, sehingga memori utama dapat
dipindahkan dari bus local ke bus sitem. Dengan cara ini, transfer I/O
ke memori utama dan transfer dari memoriutama yang melintasi bus system
tidak mengganggu aktivitas prosesor.
Sangat mungkin untuk menghubungkan pengontrol I/O secara langsung
dengan bus system. Penyelesaian yang lebih efisien untuk masalah ini
adalah dengan memanfaatkan satu bus ekspansi atau lebih. Interface bus
ekspansi mem-buffer-kan transfer data antara bus system dengan
pengontrol I/O pada bus ekspansi.
Contoh : Perangkat I/O yang dapat disambungkan ke bus ekspansi.
Koneksi jaringan meliputi LAN misalnya koneksi Ethernet 10 Mbps dan
koneksi ke WAN seperti jaringan paket switching, SCSI (Small Computer
System Interface) merupakan jenis bus yang digunakan untuk mendukung
disk drive local dan peripheral lainnya. Sebuah serial port dapat
dipakai untuk mendukung sebuah printer atau scanner.
Arsitektur bus tradisional cukup efisien namun mulai mengalami penurunan dengan semakin tingginya kinerja pada perangkat I/O.
Untuk menjawab meningkatnya kebutuhan ini, penyelesaianya membuat bus
berkecepatan tinggi yang sangat terintegrasi dengan system, yang hanya
memerlukan bridge antara bus prosesor dengan bus berkecepatan tinggi.
Keuntungan pengaturan bus berkecepatan tinggi menyebabkan perangkat
yang berkapasitas besar menjadi lebih terintegrasi dengan prosesor dan
sekaligus tidak tergantung lagi terhadap prosesor.
JENIS- JENIS BUS
Dedicated : Saluran data dan alamat terpisah
Multiplexed : 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 menalin alamt dan menentukan apakah alamat
tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus,
dan koneksi bus yang sam adigunakan untuk transfer data pembacaan atau
penulisan berikutnya. Metoda penggunaan saluran yang untuk berbagai
keperlua ini dikenal sebagai time multiplexing
Keuntungan : hanya memerlukan saluran sedikit sehingga menghemat ruang dan biaya
Kerugiannya : diperlukan rangkain yang lebih kompleks , penurunan kinerja yang cukup besar
Bus Arbitrasi :
Didalam semua system kecuali system yang paling sederhana, lebih dari
satu modul diperlukan untuk mengontrol bus. Misalnya I/O mungkin
diperlukan untuk membaca atau menulis secara langsung ke memori, dengan
tanpa mengirimkan data ke CPU. Karena pada satu sat hanya sebuah unit
yang berhasil mentransmisikan data melalui bus, maka diperlukan beberapa
metode arbitrasi.
Metode Arbitrasi digolongkan sebagai metode tersentralisasi dan metode terdistribusi.
Keuntungan : 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
Kerugian : tidak terdapat pengontrol sentral, setiap modul
terdiri dari acces control logic dan modul-modul bekerja sama untuk
memakai bus bersama-sama
Timing
Timing berkaitan dengan cara terjadiya event dikoordinasikan pada bus.
Dengan timing yang synchronous, terjadinya event pada bus ditentukan
oleh sebuah clock. Bus meliputi sebuah saluran, waktu tempat timing
mentransmisikan rangkaian bilangan 1 dan 0 dalam durasi yang sama.
Sebuah transmisi 1-0 dikenal sebagai siklus waktu atau siklus bus dan
menentukan besarnya slot waktu. Semua perangkat lainnya pada bus dapat
membaca saluran waktu, dan semua event dimulai pada awal siklus waktu.
Timing Sinkron
Signal bus lainya dapat berubah pada ujung muka signal waktu (dengan
sedikit reaksi delay). Sebagian besar event mengisi suatu siklus waktu.
CPU mengeluarkan signal baca dan menempatkan alamat memori pada bus
alamat, CPU mengeluarkan signal awal untuk menandai keberadaan alamat
dan informasi control pada bus. Modul memori mengetahui alamat itu, dan
setelah delay 1 siklus menempatkan data dan signal balasan pada bus.
Timing Asinkron
Terjadinya event pada bus mengikuti dan tergantung pada event
sebelumnya. CPU menempatkan alamat dan membaca signal bus. Setelah
berhenti untuk memberi kesempatan signal ini menjadi stabil, CPU
mengeluarkan signal MSYN (master syn) yang menandakan keberadaan alamat
yang valid dan signal control. Modul memori memberikan respons dengan
data dan signal SSYN (slave syn) yang menunjukan respon
Timing sinkron lebih mudah untuk diimplementasikan dan ditest. Namun
timing ini kurang flexible dibandingkan dengan timing asinkron. Karena
semua perangkat pada bus sinkron terkait dengan kelajuan pewaktu yang
tetap, maka system tidak dapat memanfaatkan peningkatan 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 dapat mempengaruhi kinerja system, semakin lebar bus data,
semakin besar bit yang dapat ditransferkan pada suatu saat. Lebar bus
alamat mempunyai pengaruh pada kapasitas system : semakin lebar bus
alamat, semakin besar range lokasi yang dapat direferensi.
PCI
Pheripheral Component Interconnect (PCI) merupakan bus yang tidak
tergantung prosessor berbandwidth tinggi yang dapat berfungsi sebagai
bus peripheral atau bus mezzanine. PCI memberikan system yang lebih baik
bagi subsistem I/O berkecepatan tinggi.. PCI dirancang untuk mendukung
bermacam-macam konfigurasi berbasis microprocessor, baik system
microprocessor tunggal maupun jamak. PCI memanfaatkan timing sinkron dan
pola arbitrasi tersentralisasi..
PCI Saluran Bus.
Signal-signal ini dibagi menjadi kelompok-kelompok :
System pins: meliputi pin waktu dan reset
Address dan data : meliputi 32 saluran yang time multiplexed bagi
alamat dan data. Saluran lainya untuk menginterpretasi dan mevalidasi
saluran-saluran signal yang membawa alamat dan data
Interface Control: Mengontrol timing transaksi dan mengkoordinasikan antara inisiator dan target
Arbitration: Masing-masing master PCI memiliki pasangan saluran
arbitrasinya sendiri yang menghubungkannya secara langsung dengan
arbiter bus PCI
Error repots : Melaporkan error parity dan eror lainnya.
PCI saluran bus
Interupt pins : Saluran signal ini disediakan bagi
perangkat-perangkat PCI yang harus menghasilkan request untuk layanan.
Pin-pin ini pun bukan saluran yang dapat dipakai bersama, melainkan
masing-masing PCI memilih saluran interrupt ke pengontrol interrupt
Cache Support : Diperlukan untuk mendukung memori pada PCI yang dapat di cache kan di dalam prosesor
64 bit Bus Extension : Meliputi 32 saluran yang merupakan
time-multiplexed bagi alamat dan data dan dikombinasikan dengan saluran
alamat/data untuk membentuk bus alamat/data 64 bit. Saluran lainnya di
dalam kelompok ini digunakan untuk menginterpretasi dan memvalidasi
saluran-saluran signal yang membawa alamat dan data. Terakhir terdapat
dua saluran yang memungkinkan dua buah perangkat PCI untuk menyetujui
penggunaan kemampuan 64 bit
JTAG/Boundary Scan : Saluran signal untuk pengujian prosedur-prosedur yang ditentukan dalam standard 149.1.IEEE.
Operasi Baca PCI
Sekali master bus telah memperoleh control bus, maka master bus akan
memulai transaksi dengan menegaskan FRAME. Saluran ini akan tetap
ditegaskan sampai inisiator siap untuk menyelesaikan fase data yang
terakhir. Inisiator juga menaruh alamat awal pada bus alamat, dan
membaca perintah pada saluran C/BE
Pada awal waktu ke-2, perangkat target akan mengetahui alamatnya di saluran AD
Inisiator berhenti mengendalikan bus AD. Siklus balik (yang ditandai
oleh dua buah panah sikular) diperlukan pada semua saluran signal yang
akan dikendalikan oleh lebih dari sebuah perangkat, sehingga penurunan
signal alamat akan mempersiapkan bus untuk dipakai oleh perangkat
target. Inisiator mengubah informasi pada saluran C/BE untuk memilih
saluran AD yang akan digunakan untuk melakukan transfer data beralamat
(dari 1 hingga 4 bit). Inisiator juga menegaskan IRDY untuk menandakan
bahwa dirinya siap untuk butir data pertama.
Target yang terpilih menunjuk DEVSEL untuk menunjukkan bahwa target
telah mengetahui alamatnya dan akan memberikan respon. Target yang
terpilih menempatkan data yang diminta pada saluran AD dan menegaskan
TRDY untuk mengindikasikan bahwa data yang valid terdapat pada bus
Inisiator membaca data pada awal waktu ke-4 dan mengubah salurah
enable byte begitu diperlukan dalam persiapan pembacaan berikutnya
Dalam contoh ini, target membutuhkan beberapa saat untuk
mempersiapkan blok kedua untuk transmisi. Karena itu target melepaskan
TRDY untuk memberi signal kepada inisiator bahwa tidak akan terdapat
data baru selama siklus berikutnya. Kemudian inisiator tidak akan
membaca saluran data pada awal siklus waktu ke-5 dan tidak mengubah byte
enable selama siklus itu. Blok data dibaca pada awal waktu ke-6.
Selama waktu ke-6, target menempatkan butir data ketiga pada bus.
Namun dalam contoh ini, inisiator belum siap untuk membaca butir data
(misalnya inisiator mempunyai kondisi penuh buffer sementara).
Karena
itu inisiator melepaskan IRDY. Hal ini akan menyebabkan target untuk
menyediakan butir data ketiga pada bus siklus waktu tambahan
Inisiator mengetahui bahwa transfer data ketiga adalah terakhir,
karena itu inisiator melepaskan FRAME untuk memberikan signal bahwa
dirinya siap untuk menyelesaikan transfer tersebut.
Inisiator melepaskan IRDY, yang mengembalikan bus ke keadaan idle, dan target melepaskan TRDY dan DEVSEL
Arbitrasi PCI antara 2 master
Pada saat titik sebelum awal waktu ke-1, A telah menegaskan signal
REQ-nya. Arbiter men-sample signal ini pada awal siklus waktu ke-1
Selama siklus waktu ke-1, B membuat request untuk menggunakan bus dengan menegaskan signal REQ-nya
Pada saat yang sama, arbiter menegaskan GNT-A untuk memberikan hak akses bus kepada A
Master bus A men-sample GNT-A pada awal waktu ke-2 dan memeriksa
apakah dirinya telah diberi hak mengakses bus. Master bus juga menemukan
pelepasaran IRDY dan TRDY yang menandakan bahwa bus tersebut dalam
keadaan idle. Setelah itu, master bus menegaskan FRAME dan menempatkan
informasi alamat pada bus alamat dan perintah pada bus C/BE (tidak
ditunjukkan). Master bus juga melanjutkan penegasan REQ-A, karena master
bus memiliki transaksi kedua yang akan dibentuk setelah transaksi ini
Arbiter bus men-sample semua saluran GNT pada awal waktu ke 3 dan
membuat keputusan arbitrasi untuk memberikan hak mengakses bus ke B pada
transaksi berikutnya. Kemudian arbiter bus menegaskan GNT-B dan
melepaskan GNT-A. B tidak akan dapat menggunakan bus hingga bus itu
dikembalikan ke keadaan idle.
A melepaskan FRAME untuk menandakan bahwa transfer data terakhir (dan
satu-satunya) sedang dilakukan. A menaruh data pada bus data dan
memberi signal ke target dengan IRDY. Target membaca data pada awal
siklus waktu berikutnya
Pada awal waktu ke-5 menemukan IRDY dan FRAME yang dilepaskan dank
arena itu B dapat melakukan control terhadap bus dengan menegaskan
FRAME. B juga melepaskn saluran REQ-nya karena B hanya perlu membentuk
satu transaksi saja.