Prosesor, memori utama, dan perangkat I/O dapat dinterkoneksikan dengan menggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur komonikasi untuk transfer data. Bus tersebut menyediakan jalur yang diperlukan untuk mendukung interrupt dan arbitrasi. Protokol bus adalah set aturan yang mengatur kelakuan berbagai perangkat yang terhubung ke bus yaitu kapan harus meletakkan informasi je dalam bus, menyatakan sinyal kontro, dan lian sebagainya.
Jalur bus yang digunakan untuk mentransfer data dapat dikelompokkan menjadi tiga tipe, yaitu jalur data, alamat, dan kontrol. Sinyal kontrol menetapkan apakah operasi baca tulis yang dilakukan. Biasanya digunakan jalur R/W tunggal. Jalur tersebut menetapkan Read pada saat diset 1 dan Write pada saat diset 0. apabila dimungkinkan menggunakan beberapa ukuran operand seperti byte, word, atau long word, maka ukuran data yang diminta juga diindikasikan.
Sinyal kontrol bus juga membawa informasi timing. Sinyal tersebut menetapkan waktu kapan prosesor dan perangkat I/O dapat meletakkan bus atau menerima data dari bus. Skema telah ditemukan untuk transfer data melalui bus dapat dikalsifikasikan sebagai skema synchronous dan asynchronous.
Dalam setiap operasi transfer data, suatu perangkat memainkan peranan sebagai master, ini adalah perangkat yang menganisiasi transfer data dengan mengeluarkan perintah baca atau tulis.
Bus tersebut mayoritas terdapat dalam komputer komersial. Misalnya bus pada famili prosesor 68000 memiliki dua mode operasi yaitu satu asynchronous dan satu synchronous. Keuntungan bus asynchrinous adalah proses handshake menghilangkan kebutuhan sinkronisasi clock sender dan reciever sehingga menyederhanakan desain timing. Kecepatan transfer data pada bus asynchonous yang dikontrol oleh full handshake dibatasi oleh fakta bahwa tiap transfer melibatkan dua jeda round trip.
BUS ARBITRASI
Suatu konflik yang timbul jika prosesor dan kontroler DMA (Direct Memory Acces) atau dua kontroler DMA mencoba menggunakan bus pada saat yang sama untuk mengakses memori utama. Untuk mengantisipasi hal ini, prosedur arbitrasi perlu diterapkan pada bus untuk mengkoordinasikan aktivitas semua perangkat yang meminta transfer memori.
Bus arbitrasi adalah proses memilih perangkat berikutnya sebagai bus master (perangkat yang diijinkan untuk menganisiasi data pada bus setiap saat) dan mentransfer bus mastership kepada perangkat tersebut, bus arbiter dapat berupa prosesor atau unit terpisah yang terhubung ke bus. Terdapat dua pendekatan yang dapat diterapkan untuk bus arbitrasi. Pertama, Centralized Arbitration merupakan suatu bus arbital tunggal melakukan arbitration yang diperlukan. Kedua, distibuted arbitration yakni semua perangkat berpartisipasi dalam pemilihan bus master berikutnya. Distributed arbitration berarti semua perangkat yang menunggu untuk menggunakan bus tersebut memiliki tanggung jawab setara dalam melaksanakan proses arbitrasi.
BUS PROSESOR
Bus Proesor adalah bus yang diidentifikasikan oleh sinyal pada sinyal chip prosesor tersebut. Perangkat yang memerlukan koneksi dengan cepat dengan kecepatan sangat tinggi ke prosesor, seperti main memory dapat dihubungkan langsung ke bus ini. Motherboard biasanya menyediakan bus lain yang lebih banyah perangkat. Dua bus dapat diinterkoneksikan oleh satu sirkuit yaitu bridge yang mentranslasikan sinyal dan protokol satu bus menjadi lainnya.
Struktur bus terikat erat dengan arsitektur prosesor, serta juga tergantung pda karakteristik chip prosesor. IBM mengembangkan suatu bus yang disebut ISA (Industry Standart Architecture) untuk PC yang pada saat itu dikenal sebagai PC AT. Popularitas tersebut mendorong produsen lain untuk membuat antar muka ISA-compatible untuk perangkat I/O sehingga menjadikan ISA standar de fact.
Beberapa standar telah berkembang melui usaha kerja sama industrial, bahkan diantara perusahaan pesaing dikarenakan keinginan bersama dalam memilki produk yang kompatibel. Pada beberapa kasus organisasi seperti IEEE (Institute of Electrical and Electrinic Enginers), ANSI (American National Standart Institute), atau badan internasional seperti ISO (Internasional Standards Organization) telah menyetujui standar tersebut dan memberinya status resmi.
Tiga standar bus yang digunakan secara luas yaitu PCI (Peripheral Computer Interconnect), SCSI (Small Compter System Interface), dan USB (Universal Serial Bus).
1. Bus Peripheral Componen Interconnect (PCI)
Bus PCI adalah contoh yang baik dari sistem bus yang muncul dari kebutuhan standarisasi. Bus tersebut mendukung fungsi yang terdapat dalam bus prosesor tetapi dalam format tersetandarisasi yang lepas dari prosesor tertentu. Perangkat yang terkoneksi ke Bus PCI tampak bagi prosesor seakan dihubungkan secara langsung ke BUS prosesor. Prangkat tersebut diberi alamat dalam ruang alamat memori pada prosesor.
PCI mengikuti suatu rangkaian standar BUS yang sebelumnya digunakan terutama pada IBM PC. PC awal menggunsksn bus 8-bit XT, yang sinyalnya sangat mirip dengan prosesor 80x86 intel. Setelahnya bus16-bit yang digunakan pada komputer PC AT dikenal sebagai bus ISA. Versi extended 32-bit-nya dikenal sebagai bus EISA. Bus lain yang dikembangkan pada tahun delapan puluhan dengan kemampuan serupa adalah Microchannel yang digunakan dalam IBM PC dan NuBus yang digunakan dalam komputer Macintosh.
PCI dikembangkan sebagai bus low-cost yang sangat processor dipendent. Desainnya mengantisipasi tuntutan bandwidth bus yang berkembang sangat cepat untuk mendukung disk high-speed dan perangkat grafik dan video, dan juga kebutuhan khusus terhadap sistem multi processor. Akibatnya, PCI masih populer sebagai standar industri hampir satu dekade setelah diperkenalkan pertama kali pada tahun 1992.
Fitur penting yang dirintis oleh PCI adalah kemapuan Plug-and-Play untuk menghubungkan perangkat I/O. untuk menghubungkan perangkat baru, user cukup menghubungkan board antar muka perangkat ke bus tersebut. Software menangani bagian selanjutnya. Kita akan membahas bus ini setelah kita mendeskripsikan bagaimana bus PCI beroperasi.
Bus mendukung tiga ruang alamat mandiri:memory, I/O, dan konfigurasi. Dua yang pertama adalah self explanatory. Ruang alamat I/O dimaksudkan untuk penggunaan dengan prosesor, seperti pentium, yang memiliki ruang alamat I/O terpisah.
Bus PCI telah mendapatkan popularitas yang luar biasa dalam dunia PC. Bus tersebut juga digunakan dalam banyak komputer lain, seperti SUN, untuk memanfaatkan perangkat I/O sekala luas yang menggunakan antar muka PCI. Dalam kasus beberapa prosesor, seperti Compaq Alpha, sirkuit bridge PCI-processor dibangun pada chip prosesor tersebut, sehingga lebih mnyederhanakan desain sistem dan pengepakan.
2. Bus Small Computer System Interface (SCSI)
Akronim tersebut mengacu pada bus standar yang didefinisikan oleh American National Standards Institute (ANSI) dengan nomor X3.131 [2]. Dalam spesifikasi standar tersebut, perangakat seperti disk dihubungkan ke komputer melalui kabel 50-wire, yang dapat mencapai panjang 25 meter dan dapat mentransfer data hingga kecepatan 5 megabyte/ detik.
Standar bus SCSI telah menga;ami banyak revisi, dan kemampuan trnasfer data telah meningkat sangat besar, hampir dua kali setiap tahun. SCSI-2 dan SCSI-3 telah didefinisikan dan masing-masing memiliki beberapa opsi. Bus SCSI memiliki 8 jalur data yang disebut narrow bus dan mentransfer data 1 byte pada satu waktu. Sebagai alternatif, bus wide SCSI memiliki 16 jalur data dan mentransfer data 16 bit pada satu waktu. Terdapat pula beberapa opsi untuk skema signaling elektrik yang digunakan. Bus dapat menggunakan transmisi single-endeed (SE), dimana tiap sinyal menggunakan satu wire, dengan commond ground return untuk semua sinyal. Dalam opsi lain, digunakan signaling diferensial dimana disediakan return wire terpisah tiap sinyal.
Konektor SCSI memilki 50, 68, atau 80 pin. Kecepatan transfer maksimum dakan oerabfkat komersial tersedia bervariasi dari 5 Mb/det. Versi tebaru dari standar tersebut dimaksudkan untuk mendukung kecepatan transfer hingga 320 Mb/det, dan 640 Mb/det diantisipasi kemudian. Kecepatan transfer maksimum pada bus tertentu sering merupakan fungsi panjang kabel dan jumlag perangkat yang dihubungkan, deangan kecepatan lebih tinggi untuk kabel yang lebih pendek dan perangkat yang lebih sedikit. Untuk mencapai kecepatan transfer data puncak, panjang bus biasanya dibatasi hingga 1,6 m untuk signaling SE dan 12 m untuk signaling LVD (Low Voltage Differential). Akan tetapi proses sering menyediakan bus expander khusus untuk menghubungkan perangkat yang lebih jauh letaknya. Kapasitas maksimum bus adalah 8 perangkat untuk narrows dan 16 perangkat untuk wide bus.
Prosesor mengirim perintah ke kontroler SCSI yang menghasilkan event berupa :
a. Kontroler SCSI yang bertindak sebagai initiator berjuang untuk mendapatkan kontrol bus.
b. Pada saat initiator memenangkan proses arbitration, iniator memilih kontroler target dan menyerahkan kontrol bus padanya.
c. Target memulai operasi output (dari initiator ke target) sebagai respon terhadap hal ini, initiator mengirim perintah yang menentukan operasi baca yang diminta.
d. Target, yang mengerti bahwa harus melakukan operasi disk seek terlebih dahulu, mengirim pesan ke interior yang mengindikasikan akan menangguhkan sementara koneksi antara initiator dan target. Kemudian target membebaskan bus tersebut.
e. Kontroler target mengirim perintah ke disk drive untuk memindahkan head baca kesektor pertama yang terlibat dalam operasi baca yang dimaksud. Kemudian membaca data yang disimpan disektor tersebut dan menyimpannya dalam buffer data. Pada saat target siap mentransfer data ke initiator, target merequest kontrol bus. Setelah memenangkan arbitration, target mereselect kontroler initiator, sehingga memulihkan koneksi yang ditangguhkan.
f. Target mentransfer isi buffer data ke initiatior dan kemudian menangguhkan lagi koneksi tersebut. Data ditransfer 8 atau 16 bit secara pararel, tergantung pada lebar bus.
g. Kontroler target mengirim perintah ke disk drive untuk melakukan operasi seek lainnya. Kemudian mentransfer isi sektor disk kedua initiator, seperti sebelumnya. Pada akhir transfer ini, koneksi logika antara dua kontroler tersebut diterminasi.
h. Pada saat kontroler initiator menerima data tersebut, maka kontroler menyimpannya dalam memory utama menggunakan pendekatan DMA.
i. Kontroler SCSI mengirim interrupt ke prosesor untuk memberitahu bahwa operasi yang diminta telah selesai.
Bus bebas pada saat sinyal BSY berada pada keadaan inactive (high-voltage). Kontroler apapun dapat merequest penggunaan bus tersebut pada saat bus tersebut berada dalam keadaan ini karena dua atau lebih kontroler dapat menghasilkan riquest pada saat yang sama, maka harus diterapkan skema arbitration. Kontroler me-request bus tersebut dengan menyatakan sinyal-BSY dan dengan menyatakan jalur data yang berhubungan dengannya untuk mengidentifikasi dirinya.
3. Universal Serial BUS(USB)
Sinergi antara komputer dan komunikasi adalah jantung revolusi teknologi informasi saat ini. Sistem komputer modern tampaknya melibatkan berbagai variasi perangkat seperti keyboard, mikrofon, kamera, speaker dan perangkat display.
USB mendukung dua kescepatan operasi, disebut low-speed (1,5 megabyte/ det) dan full-speed (12 megabyte/ det. Revisi terbaru pada spesifikasi bus (USB 2.0) memperkenalkan kecepatan operasi ketiga, disebut high-speed (480 megabyte/ det). USB dengan cepat memperoleh pengakuan dipasaran, dan dengan tambahan kemampuan high-sped menjadikannya sebagai pilihan metode interkoneksi bagi sebagian besar perangkat komputer.
USB didesain untuk memenuhi beberapa tujuan utama:
• Menyediakan sistem interkoneksi yang sederhana, low-cost, dan mudah digunakan yang dapat megatasi kesulitan karena terbatasnya jumlah port I/O pada suatu komputer.
• Mengakomodasi karakteristik transfer data skala luas untuk perangkat I/O, termasuk koneksi telepon dan internet.
• Meningkatkan kenyamanan user melalui mode operasi plug-and-play.
USB beroperasi secara ketat pada basisi polling. Suatu perangkat mengirim pesanhanya sebagai respon terhadap pesan poll dari host. Karenanya pesan upstream tidak menghadapi konflik atau saling mengganggu satu dengan yang lain, sehingga tidak ada dua perangkat yang dapat mengirim pesan pada saat yang sama. Batasan ini memungkinkan Hub menjadi perangkat low-cost yang sederhana.
Semua informasi yang ditransfer melalui USB diatur didalam paket, dimana satu paket terdiri dari satu atau lebih byte informasi. Terdapat banyak tipe paket yang melakukan berbagai fungsi kontrol. Kita mengilustrasikan operasi USB dengan memberikan beberapa contoh tipe paketutama dan menunjukan bagaimana paket tersebut digunakan.
4. Oranisasi Banyak-BUS
Struktur tiga-bus yang biasanya menghubungkan register dan ALU pada prosesor. Semua general-purpose register digabungkan menjadi blok tunggal yang disebut register file. Dalam teknologi VLSI, cara yang paling efisien untuk menerapkan sejumlah register adalah dalam bentuk array sel memory yang serupa dengan yang digunakan dalam implementasi Random-Access Memory (RAM). Dalam register file terdapat tiga port, yang memiliki dua output yang memungkinkan isi dua register berbeda diakses secara simultan dan menempatkannya pada bus A dan B. Port ketiga memungkinkan data pada bus C di-load kedalam register ketiga pada clock cycle yang sama.
5. Bus Tunggal
Dalam mode operasi sederhana, bus didedikasikan untuk pasangan source-destination tertentu selama durasi lengkap transfer tersebut. Misalnya, pada saat prosesor mengeluarkan request pada bus, prosesor menahan bus tersebut hingga menerima data yang diminta dari modul memori. Karena modul memori membutuhkan sejumlah waktu untuk mengakses data tersebut, bus tersebut akan idle hingga memori tersebut siap untuk merespon dengan data. Kemudian data ditransfer ke prosesor. Pada saat transfer ini diselesaikan bus tersebut dapat ditugaskan untuk menangani tugas lain.
Misalkan suatu tranfer bus memerlukan T unit waktu, dan waktu akses memori adalah 4T unit. Maka diperlukan 6T unit untuk menyelesaikan request baca. Jadi bus tersebut idle selama dua pertiga waktu. Suatu skema yang disebut protokol split-transaction (split-transaction protocol) memungkinkan penggunaan bus selama periode idle untuk melayani request lain. Perhatikan metode penanganan suatu seri request baca berikut, mungkin dari prosesor yang berbeda. Setelah mentransfer alamat yang terlibat dalam request pertama, bus tersebut mungkin ditetapkan ulang untuk mentransfer alamat untuk request kedua. Dengan mengasumsikan bahwa request ini adalah ke modul memori yang berbeda, sekarang kita memiliki dua modul yang bekerja secara paraleldengan cycle akses baca.jika belum ada modul yang belum menyelesaikan aksesnya, bus dapat ditetapkan ulang ke request ketiga, dan seterusnya. Pada akhirnya modul memori pertama menyelesaikan cycle aksesnya dan menggunakan bus tersebut untuk mentranfer word ke source yang me-request-nya. Pada saat modul lain menyelesaikan cyclenya, bus digunakan untuk mentransfer datanyake source yang sesuai. Perhatikanlah bahwa lama waktu aktual antara transfer alamat dan word return tidaklah kritis. Alamt dan transfer data untuk request yang berbeda menyatakan penggunaan bus mandiri yang dapat di-interleave dengan urutan apapun.
Protokol split-transaction memungkinkan bus dan bandwidth yang tersedia digunakan secara efisien.peningkatan performa yang dicapai dengan protokol ini tergantung pada hubungan antara waktu transferbus dan waktu akses memori. Performa ditingkatkan dengan taruhan peningkatan kompleksitas bus. Terdapat dua alasan mengapa kompleksitas meningkat. Karena modul memori perlu mengetahui source mana yang menginisiasi suatu request baca, maka source identification tag harus dilekatkan ke request tersebut. Tag ini selanjutnya digunakan untuk mengirim data yang direquest ke source. Kompleksitas juga meningkat karena semua modul, bukan hanya prosesor, harus mampu bertindak sebagai bus master.
Multi-processor yang menggunakan bus split-transaction bervariasi ukurannya dari 4 hingga 32 prosesor. Dalam ukuran yang lebih besar, bandwidth bus dapat menjadi masalah. Bandwidth tersebut bisa ditingkatkan jika digunakan wider bus, yaitu bus yang memiliki lebih banyak kabel. Sebagian besar transfer data antara prosesor dan modul memori terdiri dari blok cache, dengan tiap blok terdiri dari swejumlah word. Jika bus tersebut cukup wide untuk mentransfer beberapa word pada satu waktu, maka blok lengkap dapat ditransfer lebih cepat daripada jika word tersebut ditransfer pada suatu waktu. Multiprosesor challenge dari Silicon Graphics corporation menggunakan bus yang memungkinkan transfer paralel 256 bit data.
Keterbatasan utama bus tunggal adalah jumlah modul yang dapat dihubungkan ke bus tersebut tidak besar. Bus biasa berfungsi dengan baik jika tidak lebih dari 10 hingga 15 modul dihubungkan ke bus tersebut. Menggunakan wider bus untuk meningkatkan bandwidth memungkinkan jumlah modul digandakan. Bandwidth bus tunggal dibatasi oleh perebutan penggunaan bus tersebut dan oleh peningkatan propagation delayyang diakibatkan loading listrik pada saat banyak modul dihubungkan. Jaringan yang memungkinkan banyak operasi transfer mandiri bekerja secara paralel dapat menyediakan peningkatan kecepatan transfer data secara signifikan.
6. Bus Ethernet (CSMA/CD)
Protokol akses bus ethernet, yang disebut juga protokol Carrier Sense Multiple Access with Collision Detection (CSMA/CD), secara konseptual adalah salah satu protokol yang paling sederhana. Kapanpun suatu perangkat yang dicolokan memiliki pesan untuk ditransmisikan, maka perangkat tersebut menunggu hingga mengetahui bus tersebut idle dan kemudian memulai transmisi. Perangkat kemudian mengawasi bus tersebut selama 2’ detik pada saat mentransmisikan pesannya, dimana ‘ adalah jeda perambatan bus end-to-end. Jika perangkat tersebut tidak melihat distorsi pada sinyal yang ditransmisikannya selama 2’ interval, maka perangkat tersebut mengasumsikan bahwa tidak ada stasiun lain yang memulai transmisi dan melanjutkan transmisinya hingga selesai. Sebaliknya , jika distorsi teramati, yang disebabkan oleh awalan transmisi dari perangkat lain, maka kedua perangkat tersebut harus menghentikan transmisi. Distorsi yang saling menghancurkan dari dua sinyal yang ditransmisikan disebut collision, dan interval waktu 2’ disebut collision window.
Pesan yang telah dihancurkan oleh collision harus ditransmisikan ulang. Jika perangkat yang terlibat dalam collision mencoba retry dengan segera, maka paketnya hampir akan selalu bertabrakan lagi. Strategi dasar yang digunakan untuk mencegah collision pada retry adalah sebagai berikut, tiap perangkat menunggu secara terpisah dalam sejumlah waktu random, kemudian menunggu hingga bus tersebut idle dan memulai transmisi. Jika waktu tunggu random adalah kelipatan 2’, maka probabilitas pengulangan collision dikurangi.
Jalur bus yang digunakan untuk mentransfer data dapat dikelompokkan menjadi tiga tipe, yaitu jalur data, alamat, dan kontrol. Sinyal kontrol menetapkan apakah operasi baca tulis yang dilakukan. Biasanya digunakan jalur R/W tunggal. Jalur tersebut menetapkan Read pada saat diset 1 dan Write pada saat diset 0. apabila dimungkinkan menggunakan beberapa ukuran operand seperti byte, word, atau long word, maka ukuran data yang diminta juga diindikasikan.
Sinyal kontrol bus juga membawa informasi timing. Sinyal tersebut menetapkan waktu kapan prosesor dan perangkat I/O dapat meletakkan bus atau menerima data dari bus. Skema telah ditemukan untuk transfer data melalui bus dapat dikalsifikasikan sebagai skema synchronous dan asynchronous.
Dalam setiap operasi transfer data, suatu perangkat memainkan peranan sebagai master, ini adalah perangkat yang menganisiasi transfer data dengan mengeluarkan perintah baca atau tulis.
Bus tersebut mayoritas terdapat dalam komputer komersial. Misalnya bus pada famili prosesor 68000 memiliki dua mode operasi yaitu satu asynchronous dan satu synchronous. Keuntungan bus asynchrinous adalah proses handshake menghilangkan kebutuhan sinkronisasi clock sender dan reciever sehingga menyederhanakan desain timing. Kecepatan transfer data pada bus asynchonous yang dikontrol oleh full handshake dibatasi oleh fakta bahwa tiap transfer melibatkan dua jeda round trip.
BUS ARBITRASI
Suatu konflik yang timbul jika prosesor dan kontroler DMA (Direct Memory Acces) atau dua kontroler DMA mencoba menggunakan bus pada saat yang sama untuk mengakses memori utama. Untuk mengantisipasi hal ini, prosedur arbitrasi perlu diterapkan pada bus untuk mengkoordinasikan aktivitas semua perangkat yang meminta transfer memori.
Bus arbitrasi adalah proses memilih perangkat berikutnya sebagai bus master (perangkat yang diijinkan untuk menganisiasi data pada bus setiap saat) dan mentransfer bus mastership kepada perangkat tersebut, bus arbiter dapat berupa prosesor atau unit terpisah yang terhubung ke bus. Terdapat dua pendekatan yang dapat diterapkan untuk bus arbitrasi. Pertama, Centralized Arbitration merupakan suatu bus arbital tunggal melakukan arbitration yang diperlukan. Kedua, distibuted arbitration yakni semua perangkat berpartisipasi dalam pemilihan bus master berikutnya. Distributed arbitration berarti semua perangkat yang menunggu untuk menggunakan bus tersebut memiliki tanggung jawab setara dalam melaksanakan proses arbitrasi.
BUS PROSESOR
Bus Proesor adalah bus yang diidentifikasikan oleh sinyal pada sinyal chip prosesor tersebut. Perangkat yang memerlukan koneksi dengan cepat dengan kecepatan sangat tinggi ke prosesor, seperti main memory dapat dihubungkan langsung ke bus ini. Motherboard biasanya menyediakan bus lain yang lebih banyah perangkat. Dua bus dapat diinterkoneksikan oleh satu sirkuit yaitu bridge yang mentranslasikan sinyal dan protokol satu bus menjadi lainnya.
Struktur bus terikat erat dengan arsitektur prosesor, serta juga tergantung pda karakteristik chip prosesor. IBM mengembangkan suatu bus yang disebut ISA (Industry Standart Architecture) untuk PC yang pada saat itu dikenal sebagai PC AT. Popularitas tersebut mendorong produsen lain untuk membuat antar muka ISA-compatible untuk perangkat I/O sehingga menjadikan ISA standar de fact.
Beberapa standar telah berkembang melui usaha kerja sama industrial, bahkan diantara perusahaan pesaing dikarenakan keinginan bersama dalam memilki produk yang kompatibel. Pada beberapa kasus organisasi seperti IEEE (Institute of Electrical and Electrinic Enginers), ANSI (American National Standart Institute), atau badan internasional seperti ISO (Internasional Standards Organization) telah menyetujui standar tersebut dan memberinya status resmi.
Tiga standar bus yang digunakan secara luas yaitu PCI (Peripheral Computer Interconnect), SCSI (Small Compter System Interface), dan USB (Universal Serial Bus).
1. Bus Peripheral Componen Interconnect (PCI)
Bus PCI adalah contoh yang baik dari sistem bus yang muncul dari kebutuhan standarisasi. Bus tersebut mendukung fungsi yang terdapat dalam bus prosesor tetapi dalam format tersetandarisasi yang lepas dari prosesor tertentu. Perangkat yang terkoneksi ke Bus PCI tampak bagi prosesor seakan dihubungkan secara langsung ke BUS prosesor. Prangkat tersebut diberi alamat dalam ruang alamat memori pada prosesor.
PCI mengikuti suatu rangkaian standar BUS yang sebelumnya digunakan terutama pada IBM PC. PC awal menggunsksn bus 8-bit XT, yang sinyalnya sangat mirip dengan prosesor 80x86 intel. Setelahnya bus16-bit yang digunakan pada komputer PC AT dikenal sebagai bus ISA. Versi extended 32-bit-nya dikenal sebagai bus EISA. Bus lain yang dikembangkan pada tahun delapan puluhan dengan kemampuan serupa adalah Microchannel yang digunakan dalam IBM PC dan NuBus yang digunakan dalam komputer Macintosh.
PCI dikembangkan sebagai bus low-cost yang sangat processor dipendent. Desainnya mengantisipasi tuntutan bandwidth bus yang berkembang sangat cepat untuk mendukung disk high-speed dan perangkat grafik dan video, dan juga kebutuhan khusus terhadap sistem multi processor. Akibatnya, PCI masih populer sebagai standar industri hampir satu dekade setelah diperkenalkan pertama kali pada tahun 1992.
Fitur penting yang dirintis oleh PCI adalah kemapuan Plug-and-Play untuk menghubungkan perangkat I/O. untuk menghubungkan perangkat baru, user cukup menghubungkan board antar muka perangkat ke bus tersebut. Software menangani bagian selanjutnya. Kita akan membahas bus ini setelah kita mendeskripsikan bagaimana bus PCI beroperasi.
Bus mendukung tiga ruang alamat mandiri:memory, I/O, dan konfigurasi. Dua yang pertama adalah self explanatory. Ruang alamat I/O dimaksudkan untuk penggunaan dengan prosesor, seperti pentium, yang memiliki ruang alamat I/O terpisah.
Bus PCI telah mendapatkan popularitas yang luar biasa dalam dunia PC. Bus tersebut juga digunakan dalam banyak komputer lain, seperti SUN, untuk memanfaatkan perangkat I/O sekala luas yang menggunakan antar muka PCI. Dalam kasus beberapa prosesor, seperti Compaq Alpha, sirkuit bridge PCI-processor dibangun pada chip prosesor tersebut, sehingga lebih mnyederhanakan desain sistem dan pengepakan.
2. Bus Small Computer System Interface (SCSI)
Akronim tersebut mengacu pada bus standar yang didefinisikan oleh American National Standards Institute (ANSI) dengan nomor X3.131 [2]. Dalam spesifikasi standar tersebut, perangakat seperti disk dihubungkan ke komputer melalui kabel 50-wire, yang dapat mencapai panjang 25 meter dan dapat mentransfer data hingga kecepatan 5 megabyte/ detik.
Standar bus SCSI telah menga;ami banyak revisi, dan kemampuan trnasfer data telah meningkat sangat besar, hampir dua kali setiap tahun. SCSI-2 dan SCSI-3 telah didefinisikan dan masing-masing memiliki beberapa opsi. Bus SCSI memiliki 8 jalur data yang disebut narrow bus dan mentransfer data 1 byte pada satu waktu. Sebagai alternatif, bus wide SCSI memiliki 16 jalur data dan mentransfer data 16 bit pada satu waktu. Terdapat pula beberapa opsi untuk skema signaling elektrik yang digunakan. Bus dapat menggunakan transmisi single-endeed (SE), dimana tiap sinyal menggunakan satu wire, dengan commond ground return untuk semua sinyal. Dalam opsi lain, digunakan signaling diferensial dimana disediakan return wire terpisah tiap sinyal.
Konektor SCSI memilki 50, 68, atau 80 pin. Kecepatan transfer maksimum dakan oerabfkat komersial tersedia bervariasi dari 5 Mb/det. Versi tebaru dari standar tersebut dimaksudkan untuk mendukung kecepatan transfer hingga 320 Mb/det, dan 640 Mb/det diantisipasi kemudian. Kecepatan transfer maksimum pada bus tertentu sering merupakan fungsi panjang kabel dan jumlag perangkat yang dihubungkan, deangan kecepatan lebih tinggi untuk kabel yang lebih pendek dan perangkat yang lebih sedikit. Untuk mencapai kecepatan transfer data puncak, panjang bus biasanya dibatasi hingga 1,6 m untuk signaling SE dan 12 m untuk signaling LVD (Low Voltage Differential). Akan tetapi proses sering menyediakan bus expander khusus untuk menghubungkan perangkat yang lebih jauh letaknya. Kapasitas maksimum bus adalah 8 perangkat untuk narrows dan 16 perangkat untuk wide bus.
Prosesor mengirim perintah ke kontroler SCSI yang menghasilkan event berupa :
a. Kontroler SCSI yang bertindak sebagai initiator berjuang untuk mendapatkan kontrol bus.
b. Pada saat initiator memenangkan proses arbitration, iniator memilih kontroler target dan menyerahkan kontrol bus padanya.
c. Target memulai operasi output (dari initiator ke target) sebagai respon terhadap hal ini, initiator mengirim perintah yang menentukan operasi baca yang diminta.
d. Target, yang mengerti bahwa harus melakukan operasi disk seek terlebih dahulu, mengirim pesan ke interior yang mengindikasikan akan menangguhkan sementara koneksi antara initiator dan target. Kemudian target membebaskan bus tersebut.
e. Kontroler target mengirim perintah ke disk drive untuk memindahkan head baca kesektor pertama yang terlibat dalam operasi baca yang dimaksud. Kemudian membaca data yang disimpan disektor tersebut dan menyimpannya dalam buffer data. Pada saat target siap mentransfer data ke initiator, target merequest kontrol bus. Setelah memenangkan arbitration, target mereselect kontroler initiator, sehingga memulihkan koneksi yang ditangguhkan.
f. Target mentransfer isi buffer data ke initiatior dan kemudian menangguhkan lagi koneksi tersebut. Data ditransfer 8 atau 16 bit secara pararel, tergantung pada lebar bus.
g. Kontroler target mengirim perintah ke disk drive untuk melakukan operasi seek lainnya. Kemudian mentransfer isi sektor disk kedua initiator, seperti sebelumnya. Pada akhir transfer ini, koneksi logika antara dua kontroler tersebut diterminasi.
h. Pada saat kontroler initiator menerima data tersebut, maka kontroler menyimpannya dalam memory utama menggunakan pendekatan DMA.
i. Kontroler SCSI mengirim interrupt ke prosesor untuk memberitahu bahwa operasi yang diminta telah selesai.
Bus bebas pada saat sinyal BSY berada pada keadaan inactive (high-voltage). Kontroler apapun dapat merequest penggunaan bus tersebut pada saat bus tersebut berada dalam keadaan ini karena dua atau lebih kontroler dapat menghasilkan riquest pada saat yang sama, maka harus diterapkan skema arbitration. Kontroler me-request bus tersebut dengan menyatakan sinyal-BSY dan dengan menyatakan jalur data yang berhubungan dengannya untuk mengidentifikasi dirinya.
3. Universal Serial BUS(USB)
Sinergi antara komputer dan komunikasi adalah jantung revolusi teknologi informasi saat ini. Sistem komputer modern tampaknya melibatkan berbagai variasi perangkat seperti keyboard, mikrofon, kamera, speaker dan perangkat display.
USB mendukung dua kescepatan operasi, disebut low-speed (1,5 megabyte/ det) dan full-speed (12 megabyte/ det. Revisi terbaru pada spesifikasi bus (USB 2.0) memperkenalkan kecepatan operasi ketiga, disebut high-speed (480 megabyte/ det). USB dengan cepat memperoleh pengakuan dipasaran, dan dengan tambahan kemampuan high-sped menjadikannya sebagai pilihan metode interkoneksi bagi sebagian besar perangkat komputer.
USB didesain untuk memenuhi beberapa tujuan utama:
• Menyediakan sistem interkoneksi yang sederhana, low-cost, dan mudah digunakan yang dapat megatasi kesulitan karena terbatasnya jumlah port I/O pada suatu komputer.
• Mengakomodasi karakteristik transfer data skala luas untuk perangkat I/O, termasuk koneksi telepon dan internet.
• Meningkatkan kenyamanan user melalui mode operasi plug-and-play.
USB beroperasi secara ketat pada basisi polling. Suatu perangkat mengirim pesanhanya sebagai respon terhadap pesan poll dari host. Karenanya pesan upstream tidak menghadapi konflik atau saling mengganggu satu dengan yang lain, sehingga tidak ada dua perangkat yang dapat mengirim pesan pada saat yang sama. Batasan ini memungkinkan Hub menjadi perangkat low-cost yang sederhana.
Semua informasi yang ditransfer melalui USB diatur didalam paket, dimana satu paket terdiri dari satu atau lebih byte informasi. Terdapat banyak tipe paket yang melakukan berbagai fungsi kontrol. Kita mengilustrasikan operasi USB dengan memberikan beberapa contoh tipe paketutama dan menunjukan bagaimana paket tersebut digunakan.
4. Oranisasi Banyak-BUS
Struktur tiga-bus yang biasanya menghubungkan register dan ALU pada prosesor. Semua general-purpose register digabungkan menjadi blok tunggal yang disebut register file. Dalam teknologi VLSI, cara yang paling efisien untuk menerapkan sejumlah register adalah dalam bentuk array sel memory yang serupa dengan yang digunakan dalam implementasi Random-Access Memory (RAM). Dalam register file terdapat tiga port, yang memiliki dua output yang memungkinkan isi dua register berbeda diakses secara simultan dan menempatkannya pada bus A dan B. Port ketiga memungkinkan data pada bus C di-load kedalam register ketiga pada clock cycle yang sama.
5. Bus Tunggal
Dalam mode operasi sederhana, bus didedikasikan untuk pasangan source-destination tertentu selama durasi lengkap transfer tersebut. Misalnya, pada saat prosesor mengeluarkan request pada bus, prosesor menahan bus tersebut hingga menerima data yang diminta dari modul memori. Karena modul memori membutuhkan sejumlah waktu untuk mengakses data tersebut, bus tersebut akan idle hingga memori tersebut siap untuk merespon dengan data. Kemudian data ditransfer ke prosesor. Pada saat transfer ini diselesaikan bus tersebut dapat ditugaskan untuk menangani tugas lain.
Misalkan suatu tranfer bus memerlukan T unit waktu, dan waktu akses memori adalah 4T unit. Maka diperlukan 6T unit untuk menyelesaikan request baca. Jadi bus tersebut idle selama dua pertiga waktu. Suatu skema yang disebut protokol split-transaction (split-transaction protocol) memungkinkan penggunaan bus selama periode idle untuk melayani request lain. Perhatikan metode penanganan suatu seri request baca berikut, mungkin dari prosesor yang berbeda. Setelah mentransfer alamat yang terlibat dalam request pertama, bus tersebut mungkin ditetapkan ulang untuk mentransfer alamat untuk request kedua. Dengan mengasumsikan bahwa request ini adalah ke modul memori yang berbeda, sekarang kita memiliki dua modul yang bekerja secara paraleldengan cycle akses baca.jika belum ada modul yang belum menyelesaikan aksesnya, bus dapat ditetapkan ulang ke request ketiga, dan seterusnya. Pada akhirnya modul memori pertama menyelesaikan cycle aksesnya dan menggunakan bus tersebut untuk mentranfer word ke source yang me-request-nya. Pada saat modul lain menyelesaikan cyclenya, bus digunakan untuk mentransfer datanyake source yang sesuai. Perhatikanlah bahwa lama waktu aktual antara transfer alamat dan word return tidaklah kritis. Alamt dan transfer data untuk request yang berbeda menyatakan penggunaan bus mandiri yang dapat di-interleave dengan urutan apapun.
Protokol split-transaction memungkinkan bus dan bandwidth yang tersedia digunakan secara efisien.peningkatan performa yang dicapai dengan protokol ini tergantung pada hubungan antara waktu transferbus dan waktu akses memori. Performa ditingkatkan dengan taruhan peningkatan kompleksitas bus. Terdapat dua alasan mengapa kompleksitas meningkat. Karena modul memori perlu mengetahui source mana yang menginisiasi suatu request baca, maka source identification tag harus dilekatkan ke request tersebut. Tag ini selanjutnya digunakan untuk mengirim data yang direquest ke source. Kompleksitas juga meningkat karena semua modul, bukan hanya prosesor, harus mampu bertindak sebagai bus master.
Multi-processor yang menggunakan bus split-transaction bervariasi ukurannya dari 4 hingga 32 prosesor. Dalam ukuran yang lebih besar, bandwidth bus dapat menjadi masalah. Bandwidth tersebut bisa ditingkatkan jika digunakan wider bus, yaitu bus yang memiliki lebih banyak kabel. Sebagian besar transfer data antara prosesor dan modul memori terdiri dari blok cache, dengan tiap blok terdiri dari swejumlah word. Jika bus tersebut cukup wide untuk mentransfer beberapa word pada satu waktu, maka blok lengkap dapat ditransfer lebih cepat daripada jika word tersebut ditransfer pada suatu waktu. Multiprosesor challenge dari Silicon Graphics corporation menggunakan bus yang memungkinkan transfer paralel 256 bit data.
Keterbatasan utama bus tunggal adalah jumlah modul yang dapat dihubungkan ke bus tersebut tidak besar. Bus biasa berfungsi dengan baik jika tidak lebih dari 10 hingga 15 modul dihubungkan ke bus tersebut. Menggunakan wider bus untuk meningkatkan bandwidth memungkinkan jumlah modul digandakan. Bandwidth bus tunggal dibatasi oleh perebutan penggunaan bus tersebut dan oleh peningkatan propagation delayyang diakibatkan loading listrik pada saat banyak modul dihubungkan. Jaringan yang memungkinkan banyak operasi transfer mandiri bekerja secara paralel dapat menyediakan peningkatan kecepatan transfer data secara signifikan.
6. Bus Ethernet (CSMA/CD)
Protokol akses bus ethernet, yang disebut juga protokol Carrier Sense Multiple Access with Collision Detection (CSMA/CD), secara konseptual adalah salah satu protokol yang paling sederhana. Kapanpun suatu perangkat yang dicolokan memiliki pesan untuk ditransmisikan, maka perangkat tersebut menunggu hingga mengetahui bus tersebut idle dan kemudian memulai transmisi. Perangkat kemudian mengawasi bus tersebut selama 2’ detik pada saat mentransmisikan pesannya, dimana ‘ adalah jeda perambatan bus end-to-end. Jika perangkat tersebut tidak melihat distorsi pada sinyal yang ditransmisikannya selama 2’ interval, maka perangkat tersebut mengasumsikan bahwa tidak ada stasiun lain yang memulai transmisi dan melanjutkan transmisinya hingga selesai. Sebaliknya , jika distorsi teramati, yang disebabkan oleh awalan transmisi dari perangkat lain, maka kedua perangkat tersebut harus menghentikan transmisi. Distorsi yang saling menghancurkan dari dua sinyal yang ditransmisikan disebut collision, dan interval waktu 2’ disebut collision window.
Pesan yang telah dihancurkan oleh collision harus ditransmisikan ulang. Jika perangkat yang terlibat dalam collision mencoba retry dengan segera, maka paketnya hampir akan selalu bertabrakan lagi. Strategi dasar yang digunakan untuk mencegah collision pada retry adalah sebagai berikut, tiap perangkat menunggu secara terpisah dalam sejumlah waktu random, kemudian menunggu hingga bus tersebut idle dan memulai transmisi. Jika waktu tunggu random adalah kelipatan 2’, maka probabilitas pengulangan collision dikurangi.