1. 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.
1.1 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.
1.2 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.
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.
2. CARA
KERJA ALU DIDALAM KOMPUTER
2.1 OPERASI PADA ALU
Operasi aritmatika adalah operasi
penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND
dan OR. ALU melakukan operasi aritmatika
yang lainnya seperti pengurangan, dan pembagian dilakukan dengan
dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika ini disebut adder. ALU melakukan operasi
aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya,
seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar
penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi arithmatika.
2.2. TUGAS DAN FUNGSI ALU
Tugas dari ALU adalah melakukan keputusan dari operasi
logika sesuai dengan instruksi program. Operasi logika (logical operation)
meliputi perbandingan dua buah elemen logika dengan menggunakan operator
logika, yaitu :
a. sama dengan (=)
b. tidak sama dengan
(<>)
c. kurang dari (<)
d. kurang atau sama
dengan dari (<=)
e. lebih besar dari
(>)
f. lebih besar atau
sama dengan dari (>=)
Arithmatic Logical Unit (ALU) Juga
Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut
mesin bahasa (machine language) karena bagian ini mengerjakan instruksi –
instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian,
yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki
spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU
adalah Add (penjumlahan), Addu (penjumlahan tidak
bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda),
and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift
right arithmetic), dan lain-lain.
Arithmetic Logical Unit (ALU)
merupakan unit penalaran secara logic. ALU ini merupakan Sirkuit CPU berkecepatan
tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari
memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika
CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU
tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU
inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU
tersebut.
ALU sendiri merupakan suatu kesatuan
alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di
dalamnya sekelompok transistor, yang dikenal dengan nama logic gate,
dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika
dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat
melakukan perintah perhitungan matematika yang lebih komplit seperti perintah
“add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu
bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic
gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika,
seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut
dengan instruction set. Perintah yang ada pada masing-masing CPU
belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda,
katakanlah misalnya perintah yang dilaksanakan oleh CPU
buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau
perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh
suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem
dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau
software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan
bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang
compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia,
instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu
dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia,
atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada
mesin, tergantung dimana lingkungan instruction set itu digunakan.
2.3 STRUKTUR DAN CARA KERJA PADA ALU
ALU akan bekerja setelah mendapat
perintah dari Control Unit yang terletak pada processor. Contorl Unit akan
memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register.
Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC
akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register
pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk
adalah sebuah register yang berisi hasil atau suatuperintah lainnya. Selain
register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu
kepada kita tentang kondisi suatu processor seperti apakah processor mengalami
overflow atau tidak.
ALU (Arithmethic and Control Unit) adalah
bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses
logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU
sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada
ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan
biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point
atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner.
ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan
dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu
berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan
disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi.
Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag
signal ini adalah penanda status dari sebuah CPU. Bilangan Ineger Bilangan
integer (bulat) tidak dikena oleh komputer dengan basis 10. Agar komputer
mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10
menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri
atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik
dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak
mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali
bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign
Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling
kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18
adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2
kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b;
-0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif
sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan
aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software
satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat
sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign
magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan
metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk
merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah
dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari
negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara
berikut:
1. ubah angka 18
menjadi biner (00010010)b
2. karena biner tersebut terdiri dari 8 bit,
maka nilai maksimumnya adalah 11111111
3. kurangkan nilai maksimum dengan biner 18
-> 11111111 – 00010010 = 11101101
4. kemudian, dengna sentuhan terakhir,
kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign
magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s
complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi
irelevansi.
2.4 RINGKASAN
Arithmetic And Logic Unit adalah salah satu bagian dalam
dari sebuah mikroprosesor yang
berfungsi untuk melakukan operasi hitungan aritmatika dan logika. ALU
bekerja sama dengan memori, dimana
hasil dari perhitungan di dalam ALU
di simpan ke dalam memori. Perhitungan dalam ALU menggunakan
kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah
(operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register.
Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU. ALU melakukan
operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang
lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar
penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi arithmatika ini disebut adder. tugas utama dari ALU
(Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau
matematika yang terjadi sesuai dengan instruksi program.