Arithmetic Logic Unit
(ALU)
Arithmatic Logical Unit (ALU), adalah komponen 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 output
register, sebelum disimpan dalam memori. Processor terdiri dari 4 elemen
yang melakukan sistem operasi terhadap data, 4 elemen itu adalah instruksi,
petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Adalah
sebuah petunjuk instruksi akan memberi tahu processor dimana instruksi dari
sebuah aplikasi diletakkan di memori.
Tugas ALU:
· Melakukan kalkulasi
biner
· Semua komponen lain
dalam komputer sebenarnya ada untuk melayani ALU
· ALU hanya bisa menangani
bilangan bulat (integer)
Ø ALU bisa juga menangani
bilangan pecahan (real)
Ø Umumnya dalam bentuk FPU
(Floating PointUnit) terpisah (maths co-processor)
Ø Co-processor dalam chip terpisah (486DX +)
Input dan Output ALU
Flags : menandai bagaimana sifat hasil kalkulasi
Misal, hasil kalkulasi overflow, maka flag akan bernilai 1, nantinya nilai
flag akan disimpan pada register.
Integer Representation
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. Contoh bilangan biner matematis: -1101.0101 =
-13.3125 Bentuk seperti ini tidak membawa manfaat bagi komputer, malah
menyulitkan. Oleh karena itu tidak dipakai.
Representasi Integer Positif
Seandainya semua integer positif, konversi ke biner biasa, tinggal
disesuaikan dengan panjang bit register yang tersedia. Misal data akan disimpan
dalam reg. 8-bit:
00000000 = 0
00000001 = 1
00101001 = 41
10000000 = 128
11111111 = 255
àtidak ada masalah!!
Representasi Integer Negatif
Mulai timbul masalah saat akan menyimpan bilangan negatif.
- Komputer tidak mengenal tanda
minus.
Sign-Magnitude Representation
- Bit paling kiri menunjukkan
magnitude integer (positif atau negatif) „³ sign bit
+18 = 00010010
- 18 = 10010010
Kekurangan: ada 2 buah angka nol: nol positif (00000000) dan negatif
(10000000)
Two’s Complement Representation
Ini yang digunakan di komputer sekarang
- Satu bit paling kiri dijadikan
bernilai negatif, kemudian dijumlahkan dengan bit sisanya. Nalar manusia
paling gampang, gunakan Value Box:
- Misal 8-bit:
-128 64 32 16 8 4 2 1
Mengapa 1 bit paling kiri? Porsi sama
besar:
negatif = -128
positif = (64 + 32 + 16 + 8 + 4 + 2 +
1) = 127
Integer
Arithmetic
A.Negasi
Pada
notasi komplemen dua,pengurangan sebuah bilangan integer dapatdibentuk dengan
mengunakan aturan berikut:Anggaplah komplemen boolean seluruh bit bilangan
integer (termasuk bittanda).Perlakukan hasilnya sebagai sebuah unsigned binary
integer,tambahkan1.misalnya:18=00010010 (komplemen dua).
B.Representasi
Integer Positif,negatif,dan bilangan 0.
•
Bila sebuah bilangan integer positif dan negatif yang samadirepresentasikan
(sign – magnitude),maka harus ada representasi bilangan positif dan negatif
yang tidak sama.
•
Bila hanya terdapat sebuah representasi bilangan 0 (komplemendua),maka harus
ada representasi bilangan positif dan negatif yang tidak sama.
•
Pada kasus komplemen dua,terdapat representasi bilangan n-bit untuk -2n,tapi
tidak terdapat untuk 2n.
Bilangan
bulat 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, …}2. Membandingkan Bilangan Bulat
Dengan
memperhatikan tempat pada garis bilangan, dapat kita nyatakan (dalam contoh)
bahwa :
a.
7 > 4, karena 7 terletak di sebelah kanan 4,
b.
(-5) < 2, karena (-5) terletak di sebelah kiri 2, dan lain sebagainya.
Floating Point
Representation
Menyatakan
suatu bilangan yang sangat besar/kecil dengan menggeser titik decimal secara
dinamis ketmpat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik
decimal itu, sehingga range bilangan yang sangat besar dan sangat kecil untuk
dipresentasikan hanya dengan beberapa digit saja.
Dinyatakan
dengan notasi
a
= (m,e) , dimana a = m x re r = radiks
m = mantissa
e = eksponen
Contoh
: Tunjukkan bilangan-bilangan berikut
ini dalam notasi floating point.
a. (45.382)10? 0.45382 x 102 = (0.45382,2)
b. (-21,35)8? -2135,0 x 8-2 = (-2135,0,-2)
Floating Point
Arithmetic
Penambahan
0,63524 x 103
0,63215 x 103 + 1,26739 x 103 ?
0,126739 x 104
Pengurangan
0,63524 x 103
0,63215 x 103 ?
0,00309 x 103 ? 0,309 x 101
-0,10100 x 22 ? 0,01010 x 23
0,11000 x 23 ? 0,11000 x 23 +
1,00010 x 23 ? 0,10001 x 24
Addapted by :

Tidak ada komentar:
Posting Komentar