BAB V
SISTEM BUS DAN ALU
Bus adalah
Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal ,digunakan untuk
menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah 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 2 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. Sistem komputer terdiri dari sejumlah bus yang
berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam
tingkatan hirarki sistem komputer. Suatu Komputer tersusun dari beberapa
komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer
saling berhubungan membentuk kesatuan fungsi. System bus adalah
sebagai penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.
Transfer data antar komponen komputer sangatlah mendominasi kerja suatu
computer. Data atau program yang tersimpan dalam memori dapat diakses dan
dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil
eksekusi melalui monitor juga menggunakan sistem bus. Pada sistem komputer yang
lebih modern, arsitektur komputernya akan lebih kompleks, sehingga
dapat untuk meningkatkan performa, digunakan beberapa buah bus. Tiap bus
merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM,
Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang
lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang
lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung
dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar
bus ini digunakan sebuah bridge.
Karakteristik Bus adalah :
1. Jumlah Interupsi Menentukan banyak
perangkat independen yang melakukan I/O.
2. Ukuran bus data eksteral berakibat
pada kecepatan operasional I/O.
3. Ukuran bus alamat menentukan banyak
memori yang ditunjuk board ekspansi.
4. Kecepatan clock maksimum yang dapat
diakomadasi bus berakibat pada kinerja.
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.
Interkoneksi Bus
1. Bus Data
Jalur data yang
dilalu informasi ke dan dari mikroprosesor data bus. Adalah jalur‐jalur
perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat
tertentu masing‐masing saluran
hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang
dapat ditransfer pada suatu saat. Lebar data bus ini 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. Sifatnya bidirectional, artinya CPU dapat
membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas
8, 16, 32, atau 64 jalur paralel, jumlah saluran diartikan dengan lebar bus
data.
2. Address Bus
Digunakan untuk
menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur
ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.
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. Address bus biasanya terdiri atas 16,
20, 24, atau 32 jalur paralel. Lebar bus alamat akan menentukan kapasitas
memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk
mengalamati port-port input/output.
3. Control Bus
Digunakan untuk
mengontrol penggunaan serta akses ke Data Bus dan Address Bus. 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. Terdiri atas
4 sampai 10 jalur paralel.
ARITHMATIC AND LOGIC UNIT (ALU)
Pengertian ALU
Arithmatic and
Logic Unit (ALU) adalah salah satu bagian/komponen dalam sistem didalam
sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan
logika (seperti penjumlahan, pengurangan dan beberapa logika
lain). 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.
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 aritmatika.
2.4. 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 menggunakan
operator logika, yaitu :
1. sama
dengan (=)
2. tidak
sama dengan (<>)
3. kurang
dari (<)
4. kurang
atau sama dengan dari (<=)
5. lebih
besar dari (>)
6. 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 aritmatika 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.
Arithmatic
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 Arithmatic 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.
Struktur dan Cara Kerja Pada ALU
ALU akan bekerja
setelah mendapat perintah dari Control Unit yang terletak pada processor.
Control 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 suatu perintah 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 (Arithmatic
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 Integer
(bulat) tidak dikenal 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, komputer 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 terdapatnya
-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 (00011000)
2. Karena
biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 1111111
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.
Sumber: