ALU (ARITHMETIC LOGICAL UNIT)
ALU
(ARITHMETIC LOGICAL UNIT)
ALU atau yang biasa
disebut dengan Arithmetic Logical Unit adalah suatu komponen dalam sistem
komputer yang memiliki 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 dalamALU di simpan ke
dalam memori.
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.
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.
Fungsi ALU (Arithmetic Logical Unit) adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dari register-register untuk menyimpan informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) dan melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation). Sirkuit yang digunakan oleh ALU ini disebut dengana dder karena Adder digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. Ada 3 jenis Adder yaitu:
- Rangkaian Adder yang hanya menjumlahkan dua bit disebut Half Adder.
- Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder.
- Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder.

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.
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.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home