Rinta Kridalukmana
Arithmetic Logic Unit
° Berfungsi membentuk operasi aritmetika & logik
terhadap data
2
Interkoneksi ALU dengan elemen CPU lain
ALU
Registers Registers
3
Sistem Bilangan Biner
° Komputer à menggunakan bilangan biner
4
Representasi Integer – Unsigned Integer
° Merepresentasikan bilangan integer positif
° Range nilai untuk n-bit unsigned integer mengikuti
rumus :
n-1
A = ∑ 2i a i
i=0
5
Sign Magnitude
° Memperlakukan bit yang paling kiri di dalam word
sebagai bit tanda
• Bila 0 = positif, 1 = negatif
• Contoh :
- 18 = 00010010
- -18 = 10010010
° Range nilai :
n-2
∑ 2iai bila an-1 = 0
i=0 Contoh, 4-bit :
1+2+4=7
A=
- (1 + 2 + 4) = -7
n-2
- ∑ 2iai bila an-1 = 1
i=0
6
Kelemahan sign magnitude
° Terdapat 2 representasi bilangan 0, yaitu 0000 dan
1000
7
K-2 (Komplemen 2)
° Dibuat untuk mengatasi 2 buah kekurangan yang terdapat pada
representasi nilai tanda
Rep desimal Rep SM Rep K2
+7 0111 0111
+6 0110 0110
+5 0101 0101
+4 0100 0100 n=2
+3 0011 0011
∑ 2iai bila an-1 = 0
i=0
+2 0010 0010
+1 0001 0001 A=
+0 0000 0000
-0 1000 ----
-2n-1 an-1 bila an-1 = 1
-1 1001 1111
-2 1010 1110
-3 1011 1101
-4 1100 1100 Contoh, 4-bit :
-5 1101 1011 1+2+4=7
-6 1110 1010
-7 1111 1001 - (23) = -8
-8 ---- 1000
8
Konversi panjang bit yang berlainan
° Contoh : biner 4-bit dikonversi ke 8-bit (sign magnitude)
9
Aritmetika Integer (dlm K2) – Negasi
° Negasi : pembentukan bilangan negatif
° Cara :
• Buat komplemen boolean seluruh bit bilangan
integer (termasuk bit tanda)
• Hasilnya tambahkan 1
° Contoh
5 = 0101 -5 = 1011
Komplemen = 1010 Komplemen = 0100
1 1
1011 0101
10
Penambahan
° Contoh : (dalam 4 bit)
• -7 + 5
• 5 + 4
• -4 + 4
• -7 + -6
• 3 + 4
3 = 0011
4 = 0100 +
0111
11
Pengurangan
° Ada 2 istilah dalam operasi pengurangan :
• Minuend (M) à bilangan yang dikurangi
• Subtrahend (S) à bilangan pengurang
° Cara :
• Buat negasi dari bilangan S (disebut S’)
• Tambahkan S’ dengan M
° Contoh : (4-bit)
M=2 = 0010
S=7 = 0111
S’ = 1001
Hasil = 1011
12
Overflow
Kasus I : Kasus II :
0 = 0000 5 = 0101
Komplemen = 1111 7 = 0111 +
1 1100
1 0000
overflow 1100 = -4
13