5.1. Sistem Bus
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.
5.2. Arithmatic And Logic Unit (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: