ALU
Arithmetic-logic
unit atau disingkat ALU, bagian dalam mikroprosesor berfungsi mengoperasikan
berbagai operasi aritmatika dan operasi logika. ALU merupakan bagian penting
dari sebuah prosesor, bisa dibilang yang berada di CPU ada untuk meng-support ALU.
ALU
A. Fungsi ALU
Tugas utama dari
ALU adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi
sesuai dengan instruksi program. Tugas lalin dari ALU adalah melakukan
keputusan dari operasi logika sesuai dengan instruksi program.
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 ALU
inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU
tersebut.
B. ADDERAdder 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.
A. 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).
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.
B. 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.
C. Paralel 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.
- 4-bit Adder
- Basic 4-bit adder selalu mengkalkulasikan S = A + B + CIN
- Tapi dengan mengubah apa yang masuk ke dalam input A, B,
dan Cin, kita bisa mengubah output adder pada S.
- 8-bit Adder
- 32-bit Adder
- 32-bit adder dibagi dalam 4
bagian.
Integer Representation
Untuk menuliskan bilangan floating point (bilangan pecahan) dilakukan
dengan menuliskan dalam bentuk exponensial. Sehingga bilangan tersebut memiliki
bilangan dasar, bilangan pangkat, dan basis bilangan terebut. Contoh pada bil.
Desimal:
-
675.000.000.000.000
ditulis 6,75 x 1014
-
0,00000000000675
ditulis 6,75 x 10-12
Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda
minus dan radix point, di dalam komputer hanya ada bilangan 0 & 1 untuk
merepresentasikan semua angka l, Contoh bilangan biner matematis:
-
- 1101.0101 = -13.3125
Integer
Arithmetic
Merupakan operasi aritmatika bilangan
bulat (integer), dikarenakan ALU hanya bisa menangani kalkulasi biner bilangan
bulat. Bagaimana pun juga ALU juga bisa mengkalkulasikan:
-
Bilangan pecahan (real)
-
Bentuk FPU (Floating Point Unit) terpisah
-
Co-processor dalam chip terpisah
Bilangan bulat (integer)
terdiri dari:
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
Floating-Point Representation
Menyatakan suatu bilangan yang
sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis dan
menggunakan eksponen 10 untuk menjaga desimal itu, sehingga range bilangan yang
sangat besar/ sangat kecil itu hanya dalam beberapa digit saja. Bilangan
Floating point memiliki bentuk umum :
± m * be
b= radiks
m = mantissa
e = eksponen
Floating Point Aritmethic
Sistem penempatan titik desimal
dengan cara membagi kalimat menjadi dua bagian. Satu bagian berisi angka
pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari
titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan
untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil. Operasi
ini terdiri dari :
-
Penambahan
-
Pengurangan
-
Perkalian
-
Pembagian
a. Penjumlahan dan Pengurangan
Langkah-langkah yang dilakukan
untuk menambah/mengurangkan dua bilangan floating-point :
1. Bandingkan dua bilangan, dan ubah ke bentuk yang sesuai
pada bilangan dengan nilai exponensial lebih kecil.
2. Lakukan operasi penjumlahan/pengurangan
3. Lakukan normalisasi dengan menggeser nilai mantissa dan
mengatur nilai exponensialnya.
Skema penjumlahan/pengurangan Floating point
b. Perkalian
Algoritma umum untuk perkalian dari bilangan
floating-point terdiri dari tiga langkah:
1.
Hitung
hasil exponensial dengan menjumlahkan nilai eksponen dari kedua bilangan
2.
Kalikan
kedua bilangan mantissa
3.
Normalisasi
hasil akhir
Skema Perkalian Floating-Point
c. Pembagian
Algoritma umum untuk pembagian dari bilangan
floating-point terdiri dari tiga langkah:
1.
Hitung
hasil exponensial dengan mengurangi nilai eksponen dari kedua bilangan
2.
Bagi
kedua bilangan mantissa
3.
Normalisasi
hasil akhir
Skema Pembagian
Floating-Point
Kesimpulan : Dalam Computer Arithmetic, ALU merupakan bagian dalam mikroprosesor berfungsi mengoperasikan
berbagai operasi aritmatika dan operasi logika. Walaupun ALU hanya bisa menangani bilangan bulat (integer), tetapi ALU juga bisa mengkalkulasikan bilangan pecahan (real), dan FPU (Floating Point Unit) terpisah. Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, tetapi komputer hanya ada bilangan 0 dan 1 untuk melambangkan semua angka.
Sumber :
www.cs.uiuc.edu/class/sp08/cs231/lectures/11-ALU.pdf
ecee.colorado.edu/~ecen4002/manuals/dsp56300family/ch3-alu.pdf
https://ece.umaine.edu/ece/files/2012/05/ALU.pdf
http://komputer.yn.lt/adalah/?arti=Floating%20Point%20Arithmetic
http://kauni07.files.wordpress.com/2009/03/modul_5_-_floating_point.pdf
Tidak ada komentar:
Posting Komentar