A. Sistem Interkoneksi Komputer dan Sistem BUS a. Struktur Interkoneksi Komputer merupakan suatu jaringan yang tersusun dari bentuk komponen-komponen atau modul-modul dasar.. Kumpulan komponen tersebut membentuk suatu lintasan dan disebut struktur interkoneksi. Komponen-komponen atau modul-modul tersebut terdiri dari CPU (Central Processing Unit), memory, dan I/O (Input Output).
Gambar 3.1 Modul-Modul Komputer
Memory Memory umumnya terdiri dari N word yang memiliki panjang yang sama. Masingmasing word diberi alamat numerik yang unik (0, 1, ... , N-1). Sifat operasinya ditandai oleh signal-signal kontrol Read and Write.
CPU (Central Processing Unit) Bertugas membaca intruksi dan data, menulis data setelah diolah, dan menggunakan signal-signal kontrol untuk mengkontrol operasi sistem secara keseluruhan, juga menerima signal-signal interupt.
I/O (Input Output) I/O punya fungsi yang hampir sama dengan memory. Mempunyai operasi, yaitu baca dan tulis. Selain itu, modul-modul I/O dapat mengontrol lebih dari satu satu peangkat eksternal. Di samping itu, terdapat lintasan-lintasan data eksternal bagi input dan output data dengan suatu perangkat eksternal. Modul I/O juga dapat mengirimkan signal-sugnal interupt ke CPU.
Stuktur interkoneksi harus mendukung jenis perpindahan berikut ini: 1. Memory ke CPU : CPU membaca instruksi atau satuan data dari memory. 2. CPU ke Memory : CPU menulis satuan data ke memory. 3. I/O ke CPU : CPU membaca data dari perangkat I/O melalui sebuah modul I/O. 4. CPU ke I/O : CPU mengirimkan data ke perangkat I/O 5. I/O ke Memory atau dari Memory ke I/O : Modul I/O diizinkan untuk saling bertukar data secara langsung dengan memory, tanpa melalui CPU (menggunakan direct memory access (DMA)). Sejauh ini yang paling banyak digunakan adalah bus. Terdapat dua macam sistem bus, yaitu: a. Bus yang digunakan secara jamak b. Bus yang digunakan secara tunggal Karakteristik tersebut bergantung juga pada karakter sistemnya. b. Konsep BUS Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat. karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus, dan suatu signal yang ditransmisikan oleh salah satu perangkat ini dapat diterima oleh salah satu perangkat yang terhubung ke bus. Hubungan bus/jalur diperlukan di dalam komputer untuk membawa berbagai jenis informasi di antara subsistem (CPU, Memori, dan pengontrol I/O), antara lain : 1. Intruksi dari memori ke CPU 2. Data dari memori ke CPU 3. Data dari CPU ke memori 4. Alamat memori dari CPU ke memori 5. Alamat port dari CPU ke pengontrol I/O 6. Perintah dari CPU ke pengontrol I/O 7. Status dari pengontrol I/O ke CPU. Pada komputer mainframe, ada jalur terpisah dari setiap register sumber ke setiap register tujuan untuk menghubungkan sumber dan tujuan. Setiap titik sumber telah dihubungkan langsung ke setiap titik tujuan. Akibatnya, biaya hardware menjadi sangat besar karena banyak perkawatan dan sirkuit driver/reciver. Contohnya pada gambar berikut;
Memori
PRC
CPU
HDC Gambar 3.2 Komunikasi Non-Bus
Universal Bus
CPU
Memori
PRC
FDC
FDC
Gambar 3.3 Konsep Bus Pada minicomputer dan microcomputer, konsep bus digunakan untuk melakukan interkoneksi sinyal antara subsistem di dalam komputer. Bus merupakan jalur yang digunakan secara bersama untuk sejumlah suber dan tujuan. Sebuah kawat tunggal digunakan untuk membawa sinyal ke beberapa unit. Namun demikian, pada satu saat hanya ada dua unit yang terhubung yaitu satu sumber dan satu tujuan.
Gambar 3.4 Bentuk fisik kabel BUS
Gambar 3.5 Bentuk fisik port BUS Keuntungan utama metode bus adalah mengurangi biaya perkawatan dan yang berhubungan dengan sirkuit driver/receiver. Kekuranganya adalah kecepatanya rendah karena bus digunakan bersamaan. Pada satu waktu hanya ada dua unit yang dapat berkomunikasi, unit lain yang ingin melakukan komunikasi harus menunggu.
B. Organisasi BUS a. Struktur BUS Biasanya, sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masingmasing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasi menjadi tiga kelompok yaitu data, alamat dan saluran kontrol. Selain itu, mungkin terdapat saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran-saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8,16,32 saluran, jumlah saluran dikaitkan dengan lebar bus data. Data bus berfungsi menyalurkan data antara CPU dan memori serta unit I/O.
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word (8, 16 atau 32 bit) data dari memori, maka CPU akan menentukan kapasitas memori maksimum sistem. Bus alamat digunakan oleh CPU untuk mengirimkan alamat ke memori atau pengontrol I/O.
Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dengan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol
pengunaanya. Signal-signal kotrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Bus kontrol berfungsi menyalurkan sinyal kontrol ke berbagai unit agar tidak terjadi kekacauan koordinasi dalam sistem komputer. Umumnya saluran kontrol meliputi : Tabel 3.1 Sinyal-sinyal kontrol No 1.
Sinyal Kontrol Memory Write
Penjelasan Menyebabkan data pada bus akan dituliskan ke dalam lokasi alamat; sinyal keluaran; mengindikasikan
bahwa
memori
yang
teralamati harus mengambil data dari bus data. 2.
Memory Read
Menyebabkan
data
dari
lokasi
alamat
ditempatkan pada bus; sinyal keluaran dari CPU; mengindikasikan bawa memori yang teralamati harus meletakan datanya pada bus data. 3.
I/O Write
Menyebabkan data pada bus di-output-kan ke post I/O yang beralamat; sinyal keluaran dari CPU; mengindikasikan bahwa port keluaran (output port) yang terpilih harus mengambil data dari bus data.
4.
I/O Read
Menyebabkan data dari port I/O yang beralamat ditemaptkan pada bus; sinyal keluaran CPU; mengindikasikan bahwa port masukan (input port) yang terpilih harus meletakan datanya pada bus data.
5.
Transfer ACK
Menunjukan bahwa data telah diterima dari bus atau telah ditempatkan di bus.
6.
Bus Request
Menunjukan
bahwa
modul
memerlukan
kontrol bus. 7.
Bus Grant
Menunjukan bahwa modul yang melakukan request telah diberikan hak mengontrol bus.
8.
Interrupt Request
Menandakan sebuah interupt ditangguhkan
9.
Interrupt ACK
Memberitahukan
bahwa
interrupt
yang
ditangguhkan telah diketahui. 10.
Clock
Digunakan untuk mensinkronkan operasioperasi.
11.
Reset
Bus Kontrol
Menginisialisasikan seluruh modul.
Bus Data
Bus Alamat
Port Output/Device IOW
Memori MEMR MEMW
MEMR
CPU
MEMW IOR IOW
Port Input/Device IOR
Gambar 3.6 Struktur Bus sederhana Keterangan gambar : MEMR
: Memory Read
IOR
: I/O Read
MEMW
: Memory Write
IOW
: I/O Write
Operasi bus adalah sebagai berikut. Bila sebuah modul akan mengirimkan data ke modul lainya, maka modul itu harus melakukan dua hal: (1) memperoleh penggunaan bus dan (2) memindahkan data melalui bus. Bila modul akan meminta data dari modul lainnya, maka modul itu harus (1) memperoleh penggunaan bus dan (3) memindahkan sebuah request ke
modul lainya melalui saluran kontrol dan saluran alamat yang sesuai. Kemudian modul harus menunggu modul ke dua untuk mengirimkan data. b. Hirarki Multiple-BUS Terdapat dua teknologi bus sistem, yaitu Tradisional bus (ISA-BUS) dan High Speed Bus (PCI-BUS).
Gambar 3.7 Arsitektur Tradisional bus
Gambar 3.8 Arsitektur High Speed Bus Arsitektur bus tradisional cukup efesien, namun mulai mengalami penurunan dengan semakin tingginya kinerja pada perangkat I/O. Untuk menjawab meningkatnya kebutuhan I/O penyelesaian yang dibuat industri adalah dengan membuat bus antara bus procesor dengan bus berkecepatan tinggi yang sangat terintregrasi dengan sistem, yang hanya memerlukan bridge antara bus dengan bus berkecepatan tinggi. Pengaturan ini sering dikenal sebagai arsitektur mezzanine. Keuntungan pengaturan tersebut adalah bahwa bus berkecepatan tinggi menyebabkan perakat yang berkapasitas besar menjadi lebih terintregrasi dengan prosesor dan sekaligus tidak bergantung lagi terhadap prosesor.
c.
Elemen-elemen Rancangan BUS Walaupun terdapat bermacam perbedaaan implementasi bus, hanya terdapat sedikit parameter dasar atau elemen rancangan yang dapat dipakai untuk mengklasifikasikan dan membedakan bus. Tabel 3.2 Elemen-elemen rancangan bus No
Berdasarkan Elemen
1.
Jenis Bus
Elemen Pembeda
Dedicated : bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja.
Multiplexed : bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data, hanya memerlukan
saluran
sedikit
sehingga
menghemat tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek 2.
Metode Arbitrasi
Tersentralisasi : dimana suatu pengawas didedikasikan mempunyai fungsi sebagai pengawas bus.
Terdistribusi : dimana semua master bus bekerja sama melakukan pengawasan. Dalam hal ini setiap master bus mempunyai sebuah seksi pengawasan.
3.
Timing
Synchronous : terjadinya event pada bus ditentukan oleh seniah pewaktu (clock).
Asynchronous : terjadinya sebuah event pada bus mengikuti dan tergantung pada ebent sebelumnya.
4.
Lebar Bus
Address : semakin lebar bus alamat, semakin besar range lokasi yang dapat direferensi.
Data : semakin lebar bus data, semakin besar bit yang dapat ditransferkan pada suatu saat.
5.
Jenis Transfer Data
Read : Slave menaruh data, pada bus data nehitu slave mengetahi alamatnya dan telah mengambil data
Write : Master bus menaruh data, pada bus data begitu alamat telah stabil dan slave telah mempunyai kesempatan untuk mengetahui alamatnya.
Read-modifty-write : merupakan operasi Read yang diikuti oleh operasi Write ke alamat yang sama.
Read-after-write : merupakan operasi yang tidak dapat dibai-bagi yang berisi operasi Write yang diikuti oleh operasi Read dari alamat yang sama.
Block : Butiran data pertama ditransfer ke alamat tertentu atau ditransfer dari alamat tertentu; butiran-butiran data lainya ditransfer ke alamat-alamat berikutnya atau ditransfer dari alamat-alamat berikutnya.
C. Siklus BUS Karakteristik kunci suatu bus adalah penggunaan media transmisi secara bersamaan dalam waktu yang tidak bersamaan. Perangkat yang mentransmisikan sebuah sinyal pada bus, dapat diterima oleh semua perangkat lain yang terkoneksi pada bus tersebut. Jika ada dua perangkat yang melakukan transmit dalam satu periode waktu yang sama, maka sinyal-sinyal tersebut akan saling tumpang tindih dan menjadi rusak. jadi, pada satu waktu hanya ada satu perangkat yang dapat ditrasnmisikan. Hanya ada satu perangkat yang dapat menjadi master bus (pengontrol bus), dan perangkat lainya menjadi slave. Master bertugas mengontrol bus, dan mengirim atau menerima. Siklus bus adalah urutan kejadian pada bus dalam mentrasfer satu word informasi antara CPU dan memori atau port I/O. Urutan operasi dimotori oleh CPU (master). Bus kontrol digunakan untuk mengontrol akses saluran data dan saluran alamat, karena saluran data dan saluran alamat pemakaianya di-share oleh semua komponen. Sinyal-sinyal kontrol mentransmisikan informasi
pewaktuan/penjadwalan serta perintah duantara modul-modul sistem. Sinyal-sinyal pewaktuan mengindikasikan validasi data dan informasi. D. Jenis-jenis Arbitasi BUS Arbitasi bus adalah proses penentuan master bus yang mengontrol bus pada suatu waktu yang diberikan ketika ada suatu permintaan dari satu atau lebih master bus. Suatu master bus dapat diinisiasi dan melakukan suatu siklus bus untuk transfer data. sebuah slave tidak dapat menjadi master bus dan karena itu tidak dapat melakukan inisiasi sebuah siklus bus. Pada kebanyakan komputer, prosesor dan pengontrol DMA adalah merupakan master bus sedangkan memori dan pengontrol I/O merupakan slave. Bila lebih dari satu master bus secara simultan memerlukan bus, maka hanya salah satu dari mereka yang mngontrol bus dan menjadi master bus aktif, yang lain harus menuggu giliran. Pengawasan bus (bus arbiter) memutuskan yang mana yang akan menjadi master bus sekarang. ada dua jenis pengawas bus : 1.
Arbitrasi bus terpusat, dimana suatu pengawas didedikasikan mempunyai fungsi sebagai pengawas bus.
2. Arbitrasi bus terdistribusi, dimana semua master bus bekerja sama melakukan pengawasan. Dalam hal ini setiap master bus mempunyai sebuah seksi pengawasan. Ada tiga skema populer untuk arbitrasi bus yang digunakan dalam sistem komputer sebagai berikut; a. Metode Daisy-Chain ‘Bus Request’ (BR) memberikan sinyal pada semua master yang membentuk satu line bus. Dengan cara yang sama ‘Bus Busy’ (BB) mengeluarkan semua master membentuk satu line bus lainya. Bila tidak ada master bus yang menggunakan bus, maka BB tidak aktif. kapanpun satu atu lebih permintaan bus terjadi, maka BR menjadi aktif. Pengawas (arbiter) melakukan inisiasi arbitrasi dengan mentransmisikan sinyal BG (Bus Grant). Sinyal ini mencari master pertama. jadi sekarang ada dua kemungkinan : 1. Master pertama tidak memerlukan bus dan tidak membangkitkan sinyal BR. Dia hanya melewatkan sinyal BG ke master bus berikutnya. 2. Master pertama memerlukan penggunaan bus sekarang dan membangkitkan sinyal BR. Dia menjadi master bus sekarang dengan mengaktifkan sinyal BB dan membuang sinyal BR. Namun, BR dapat tetap aktif jika beberapa master lainya mengaktifkannya. Master bus sekarang mempertahankan bus hingga dia
menyelesaikan operasi busnya. Dengan melihat BB aktif semua master bus lainya bahwa ada salah satu master bus yang telah mengambil alih bus dan karena itu mereka tetap menunggu. Master bus yang sedang menggunakan jalur bus dengan segera menyelesaikan penggunaan bus. Dia membuang sinyal BB. Jika BR tetap aktif, arbiter mengirimkan sinyal BG.
BB BR Gambar 3.9 Ilustrasi metode Daisy-chain b. Metode Polling Pada metode polling, sinyal BR dan BB sama dengan metode daisy-chain. Pertama, BR aktif, arbiter melakukan polling ke master-master bus satu per satu, mentransmisikan alamat master pada saluran alamat. Master yang mempunyai alamat yang sesuai dengan alamat yang diberikan oleh arbiter menjadi master bus sekarang dengan membangkitkan sinyal BB. Metode ini memerlukan saluran lebih karena alamat harus ditrasnmisikan. tetapi urutan pengalamatan master (urutan polling) dapat diprogram. BR Poll address
Bus Arbiter
BB
Device 1 Bus Master
Device 2 Bus Master
Gambar 3.10 Arbitrasi bus metode polling
Device n Bus Master
c. Metode Arbitasi Independent Request Metode independent request atau fixed prority. Dimana setiap master bus mempunyai saluran keluaran BR dan saluran masukan BG yang didedikasikan khusus. Jika ada n master, arbiter mempunyai n masukan BR dan n masukan BG. Arbiter mengikuti suatu urutan prioritas dengan level prioritas berbeda untuk setiap master. Pada suatu waktu yang diberikan, arbiter memberikan bus grant ke master prioritas tertinggi di antara mastermaster yang telah membangkitkan bus request. Sekema ini memerlukan hardware yang lebih, tetapi membangkitkan respon cepat. Urutan prioritas juga dapat diprogram.
Gambar 3.11 Arbitrasi bus metode independent request dengan arbiter sentral E. BUS Lokal Dibutuhkan suatu bus untuk mendukung peripheral kecepatan tinggi seperti HDD cepat, prosesorprosesor grafik dan sebagainya. Suatu solusi yang telah lama dikenal adalah koneksi pengontrolpengontrol I/O pada bus lokal agar pengontrol-pengontrol ini dapat berkomunikasi dengan memori utama secara langsung tanpa melalu ekspansi bus I/O. Umumnya pengontrol CRT ditempatkan pada slot bus lokal. jalan pintas ini memberikan transfer data tinggi untuk pengontril video dan karena itu kinerja video menjadi lebih baik. Namun, adaptor bus lokal dapat mempengaruhi trafik CPU ke memori. Karena adaptor bus lokal ditempatkan secara langsung pada ujung mikroprosesor, maka mereka berkomunikasi dengan memori pada kecepatan yang lebih tinggi. Setiap adaptor harus didesain dengan cermat agar tidak membebani sinyal-sinyal bus lokal secara berlebihan. Jika terjadi pelanggaran maka akan mempengaruhi fungsi sistem. Terlalu banyak adaptor tidak direkomendasikan.
F. BUS PCI Konsep bus lokal telah digantikan dengan bus PCI (Peripheral Componet Interconnect). Bus PCI merupakan suatu bus mezzanie yang bertindak sebagai bus pertengahan antara bus sistem dan bus I/O. Pengontol PCI (bridge) menghubungkan bus sistem dengan bus PCI. PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasis microprosesor, baik sistem microprosesor tunggal maupun banyak. PCI memberikan sejumlah fungsi untuk kebutuhan umum. PCI memanfaatkan timing sinkron dan pola arbitrasi tersentralisasi.
Gambar 3.12 Sistem Dekstop Konfigurasi PCI a. Stuktur Bus PCI PCI dapat dikonfigurasikan sebagai 32-bit atau 64-bit. Sinyal-sinyal in dibagi menjadi kelompok-kelompok fungsional sebagai berikut :
System pins : Meliput pin waktu dan reset
Address and Data Pins : Meliputi 32 saluran yang time-multiplexed bagi alamat dan data. Saluran lainya didalam kelompok ini digunakan untuk menginterprestasi dan memvalidasi saluran-saluran sinyal yang membawa alamat dan data.
Interface Control : Mengontrol timing transaksi dan mengkoordinasikan antara inisiator dan taget.
Arbitration Pins : Pin-pin ini bukan saluran yang dipakai bersama-sama. Melainkan, masing-masing master PCI memiliki pasangan saluran arbitrasinya sendiri yang menghubungkanya langsung dengan arbiter bus PCI.
Error Reporting Pins : Digunakan untuk melaporkan error part dan eror-eror yang lainya.
Interrupt Pins : Saluran signal ini disediakan bagi perangkat-perangkat PCI yang harus menghasilakn request untuk layanan.
Cache Support Pins : Pin-pin ini diperluka untuk mendukung memori pada PCI yang dapat di-cache-kan di dalam prosesor atau perangkat lainya.
64-bit Bus Extension Pins : Meliputi 32 saluran yang merupakan time-multiplexed bagi alamat, data dan dikombinasikan dengan saluran/adta untuk membentuk bus alamat/data 64-bit.
JTAG/Boundary Scan Pins : Saluran-saluran sinyal mendukung pengujian prosedur-prosedur yang ditentukan dalam standar 149.1 IEEE.
b. Printah-Printah PCI Aktivitas bus terjadi dalam bentuk transaksi antara master bus dengan sebuah target. Ketika memperoleh kotrol bus, master bus menentukan jenis transaksi yang akan terjadi berikutnya. Selama fase alamat dari suatu transaksi, saluran C/BE
dipakai untuk
memberikan signal jenis transaksi. C/BE sendiri merupakan saluran multiplexed bus command dan sinyal-sinyal byte enable. Selama fase data saluran ini mengindikasikan mana dari jalur jalur 4byte yang membaca data berarti. Perintah-perintah itu adalah :
Interrupt Acknowledge merupakan perintah baca yang ditujukan bagi perangkat yang berfungsi sebagai pengontrol interrupt pada bus PCI.
Perintah Special Cycle digunakan oleh master PCI untuk melakukan broadcast pesan ke sebuah target atau lebih.
Perintah I/O Read dan I/O Write digunakan untuk melakukan transfer data antara master PCI dengan pengntrol I/O. setiap I/O memiliki ruang alamatnya sendiri dan saluran alamat digunakan untuk menunjukan perankat tertentu dan untuk menspesifikasikan data yang akan ditransfer ke perangkat itu atai ditrasnfer dari perangkat tersebut.
Perintah-perintah memori Read and Write digunakan untuk menspesifikaskan trasnfer data, yang menempati satu siklus waktu atau lebih. Interpretasi perintahperintah ini tergantung pada pengontrol memori pada bus PCI mendukung protokol PCI untuk transfer antara memori saluran cache atau tidak.
Perintah memori Write dipakai untuk mentransfer data dalam satu siklus waktu atau lebih ke memori.
Pertintah Memory Write and Invalidate mentransfer dara dalam satu siklus atau lebih ke memori. Selain itu, perintah ini menjamin bahwa sedikitnya satu saluran cache akan ditulis.
Configuration Read dan Write memungkinkan suatu master membaca dang mengupdate parameter-parameter konfigurasi pada perangkat yang terhubung ke PCI.
Perintah Dual Address digunakan oleh master PCI untuk menunjukan bahwa master bus sedangng mamakai pengalamatan 64-bit.
c. Transfer Data Bus PCI Setiap transfer data pada bus PCI merupakan transaksi tunggal yang terdiri dari sebuah fase alamat dan satu atau lebih fase data. Semua kejadian transaksi disinkronkan dengan transisi balik pewaktu, yang terjadi ditengah-tengah pada setiap siklus waktu.
Gambar 3.13 Operasional PCI d. Arbritasi Bus PCI PCI Memanfaatkan pola arbitrasi sentral dan sinkron yang masing-masing masternya memiliki request unik dan sinyal grant. Saluran-saluran signal ini dihubungkan dengan arbiter sentral dan request-grant handshake sederhana digunakan untuk memberikan akses ke bus. Spesifikasi PCI tidak mengharuskan algoritma arbitrasi khusus. Arbiter dapat menggunakan pendekatan first-come-first-serve, pendekatan round-robin atau pola prioritas lainya. Master PCI harus mengarbitrasi setiap transaksi yang ingin dibentuknya, yaitu sebuah transaksi terdiri dari sebuah fase alamat yang diikuti fase data kontinyu atau lebih.
Gambar 3.14 PCI Bus Arbiter