|
Gambar ALU ( Arimatic Logical Unit ) |
Pengertian ALU ( Arimatic Logical Unit )
Arithmatic Logical Unit (ALU), adalah salah satu
bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan
operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah
operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah
logika AND dan OR. ALU bekerja besama-sama memori, di mana 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 ( Arimatic Logical Unit )
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. 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 ini
disebut adder.
Tugas Dan Fungsi ALU ( Arimatic Logical Unit )
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.
Struktur Dan Cara Kerja Pada ALU ( Arimatic Logical Unit )
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 (Arithmethic and Logic 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, 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, dengan 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.
Adder ALU ( Arimatic Logical Unit )
Adder merupakan rangkain ALU (Arithmetic and
Logic Unit) yang digunakan untuk menjumlahkan bilangan. Karena adder digunakan
untuk memproses operasi aritmatika, maka adder juga sering disebut rangkaian
kombinasional aritmatika. Ada 3 jenis Adder, yaitu:
1. Rangkaian adder yang hanya menjumlahkan dua
bit disebut Half Adder.
2. Rangkaian adder yang hanya menjumlahkan tiga
bit disebut Full Adder.
3. Rangkaian adder yang menjumlahkan banyak bit
disebut Paralel Adder.
1. Half Adder
Rangkain half adder merupakan dasar bilangan
biner yang masing-masing hanya terdiri dari satu bit, oleh karena itu dinamakan
penjumlah tak lengkap.
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum)
= 0.
2. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum)
= 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum)
= 0. Dengan nilai pindahan Cy (Carry Out) = 1.
Dengan demikian, half adder memiliki dua masukan
(A dan B), dan dua keluaran (S dan Cy).
|
Tabel Perhitungan Dari Half Andder |
Dari tabel diatas, terlihat bahwa nilai logika
dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy
sama dengan gerbang logika AND. Dari tabel diatas, dapat dibuat rangkaian half
adder.
2. Full Adder
Full adder adalah mengolah data penjumlahan 3 bit
bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian
penjumlah lengkap. Perhatikan tabel dibawah ini.
|
Tabel Perhitungan Dari Fuul Adder |
Paralel Adder adalah rangkaian Full Adder yang
disusun secara paralel dan berfungsi untuk menjumlahkan bilangan biner berapa
pun bitnya, tergantung jumlah Full Adder yang diparalelkan. Gambar dibawah ini
menunjukan Paralel Adder yang terdiri dari 4 buah Full Adder yang disusun
paralel sehingga membentuk sebuah penjumlahan 4 bit.