A. PENGERTIAN ALU
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.
B. 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. 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.
C. 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.
D. PROSES 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.
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.
Tidak ada komentar:
Posting Komentar