Sistem BUS dan cara kerja ALU pada komputer
PENGERTIAN BUS DAN
SISTEM BUS
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.
Umumnya sebuah bus terdiri dari sejumlah lintasan komunikasi atau
saluran. Masing-masing saluran dapat mentransmisikan sinyal yang menunjukkan
biner 1 dan biner 0. Serangkaian digit biner dapat ditransmisikan melalui
saluran tunggal. Dengan mengumpulkan beberapa saluran dari sebuah bus, dapat
digunakan mentransmisikan digit biner secra bersamaan (paralel). Misalnya
sebuah satuan data 8 bit dapat ditransmisikan melalui bus delapan saluran.
Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan
jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sisterm
komputer. Sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU,
memori, input/output) disebut bus sistem. Struktur interkoneksi komputer yang
umum didasarkan pada penggunaan satu bus sistem atau lebih.
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.
A. 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.
B. 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.
C. 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.
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.
Terdapat 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
CONTOH BUS
Banyak perusahaan yang mengembangkan bus-bus antarmuka terutama untuk
perangkat peripheral. Dimana setiap bus yang dikembangkan tersebut memiliki keunggulan,
kelemahan, harga dan teknologi yang berbeda sehingga akan mempengaruhi
jenis-jenis penggunaannya. Berikut adalah contohnya:
- PCI (Pheriperal
Component Interconnect)
- ISA (Industry Standard
Architecture)
- USB (Universal Standard
Bus)
- SCSI (Small Computer
System Interface)
- FUTUREBUS+
- FIREWIRE
Cara Kerja ALU pada
Komputer
ALU(Arithmetic and Logic Unit) adalah sebuah kumpulan gerbang logika yang
disatukan untuk dapat mengerjakan beberapa fungsi tertentu tergantung kontrol
yang diberikan. Artinya ALU dapat mengerjakan berbagai jenis fungsi sekaligus
dengan memilih jenis fungsi mana yang akan dilakukan pada ALU tersebut.
Contohnya adalah ALU 1 bit yang dapat mengerjakan fungsi logika(AND, OR, NOT)
dan fungsi Full Adder sekaligus. ALU ini menggunakan Gerbang logika untuk
operasinya yaitu AND, OR, dan NOT, serta sebuah IC Full Adder(7483). Untuk
melakukan kontrol digunakan multiplexer 4 to 1 dengan 2 selector.
Seperti terlihat pada rangkaian diatas, A, B, dan Cin adalah input data
utama yang berhubungan langsung dengan 4 operasi dasar yang dapat dilakukan ALU
tersebut. Kemudian output dari operasi- operasi dasar itu dimasukkan ke input
dari multiplexer 4 to 1. Seperti yang kita ketahui multiplexer hanya akan
mengeluarkan 1 output tergantung dari nilai selectornya. Karena itulah F0, dan
F1 digunakan sebagai selector pada multiplexer sehingga selector ini dapat
berfungsi sebagai kontrol operasi terhadap ALU tersebut.
Selector (F0,F1) bernilai 00 untuk operasi Not dengan input A sehingga B
dan Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 01 untuk operasi OR dengan input A dan B
sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 10 untuk operasi AND dengan input A dan B
sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 11 untuk operasi Full Adder dengan input A, B
dan Cin dengan output hasil Q dan output tambahan Cout.
Khusus untuk full adder dibutuhkan output tambahan yaitu Cout. Cout hanya
digunakan saat fungsi Full adder yang dipilih karena itu digunakan gerbang AND
untuk membuat output Cout bernilai 0(tidak berfungsi) saat mengerjakan fungsi
yang bukan Full adder. Selector digabungkan dengan gerbang AND sehingga hanya
akan bernilai 1 saat mengerjakan fungsi full adder(F0,F1 = 11)dan hasil output
selector ini di masukkan gerbang AND lagi bersama dengan output dari IC Full
Adder(7483).
ALU yang telah dibahas adalah ALU 1 bit karena outputnya hanya 1 bit saja
meskipun ada nilai Cout. Untuk ALU yang lebih dari 1 bit misal ALU 4 bit dapat
dirancang sedemikian rupa sehingga dapat mengerjakan fungsi lain misal
subtractor. ALU semacam ini menggunakan prinsip detak(Clock) seperti pada
register.
Komentar
Posting Komentar