ARSITEKTUR KOMPUTER
Aritmatika Komputer
1
Operator aritmatika
Ada 4 :
Tambah (+)
Kurang (-)
Kali (*)
Bagi (/)
2
Respresentasi Integer
Sebuah Word 8 bit dapat digunakan untuk
merepresentasikan bilangan desimal dari 0 s.d 255
00000000 = 0
00000001 = 1
00101001 = 41
10000000 = 128
11111111 = 255
3
Representasi Bilangan Negatif
Ada dua metoda :
1. Magnituda Tanda
MSB (bit paling kiri) digunakan sebagai bit
tanda.
Bit 0 menyatakan bilangan positif
Bit 1 menyatakan bilangan negatif
Contoh representasi Magnituda Tanda
4
Representasi Bilangan Negatif
2. Komplemen dua
Aturan :
6
Representasi Representasi Representasi
Bilangan Desimal Magnituda Tanda Komplemen Dua
+8 - -
+7 0111 0111
+6 0110 0110
+5 0101 0101
+4 0100 0100
+3 0011 0011
+2 0010 0010
+1 0001 0001
+0 0000 0
-0 1000 -
-1 1001 1111
-2 1010 1110
-3 1011 1101
-4 1100 1100
-5 1101 1011 7
Representasi Bilangan Negatif
Konversi Panjang Bit yang Berlainan
Magnituda Tanda ;
• +18 = 00010010 (8 bit)
• +18 = 0000000000010010 (16 bit)
• -18 = 10010010 (8 bit)
• -18 =1000000000010010 (16 bit)
Komplemen Dua ;
• +18 = 00010010 (8 bit)
• +18 = 0000000000010010 (16 bit)
• -18 = 11101110 (8 bit)
• -18 =1111111111101110 (16 bit)
8
Aritmatika Integer
1. Negasi
9
Aritmatika Integer
2. Penambahan
Jika hasil dari operasi adalah positif, diperoleh bilangan
peringatan.
Overflow dapat dideteksi dengan menggunakan aturan :
10
Aritmatika Integer
Penambahan bilangan dalam representasi
komplemen dua ;
11
Aritmatika Integer
3. Pengurangan
Ditangani dengan aturan : Untuk
mengurangkan satu bilangan (S
=subtrahend) dari bilangan lainnya (M =
minuend), ambil komplemen dua atau
negasi subtrahend dan tambahkan hasilnya
ke minuend.
12
Aritmatika Integer
13
Aritmatika Integer
4. Perkalian (komplemen dua)
Flow chart
Algoritma Booth
14
Algoritma Booth
PERKALIAN
Langkah-langkah :
1) MULAI
2) Masukkan nilai-nilai awal,
• 0000 (4 bit) ke register A
15
Algoritma Booth
3) Periksa urutan Q0, Q-1
a) Jika urutannya 01,
Ganti isi register A dengan A + M
16
Algoritma Booth
4) Periksa Hitung = 0 ?
5) Jika YA, proses SELESAI.
6) Jika TIDAK, kembali ke langkah 3.
Hasil perkalian terdapat pada register A dan
Q.
17
Algoritma Booth
PERKALIAN
Contoh : 7 x 3, Multiplicand = 7 dan Pengali = 3
(3) (7)
A Q Q-1 M
0000 0011 0 0111 Nilai-nilai awal count n = 4
(-7) 1001 0011 0 0111 A ← A-M
Siklus pertama
(-4) 1100 1001 1 0111 Shift Kanan
(-2) 1110 0100 1 0111 Shift Kanan Siklus ke dua
(+5) 0101 0100 1 0111 A ← A+M
Siklus ke tiga
(+2) 0010 '1010 0 0111 Shift Kanan
0001 0101 0 0111 Shift Kanan Siklus ke empat
00010101
(21) CTT : setelah digeser, bit tambahan register A diisi 0
Hasil bila A positif dan 1 bila A negatif
18
Algoritma Booth
Pembagian (komplemen dua)
Flow chart
Algoritma Booth
19
Algoritma Booth
Langkah-langkah :
1. MULAI
2. Masukkan nilai awal
• 0000 (4 bit) ke register A
• Pembagi (0011 atau 3) ke register M
• Pemecahan (0111 atau 7) ke register Q
• n (=4) ke counter/hitung.
20
Algoritma Booth
5. Periksa apakah isi register A < 0 ?
a) Jika YA,
Tambahkan 0 ke register Q dan ganti isi register A dengan
0
A + M.
Ganti counter dengan counter – 1
b) Jika TIDAK,
Tambahkan 1 ke register Q
0
Ganti counter dengan counter – 1
6. Periksa counter = 0 ?
a) Jika YA, proses SELESAI.
21
Algoritma Booth
Contoh : 7 : 3, Pemecahan = 7 dan Pembagi = 3
(7) (3)
A Q M
0000 0111 0011 nilai-nilai awal count n = 4
0000 1110 0111 geser kekiri
(0) 1101 0111 kurangkan Siklus pertama
A-M=- 0000 1110 0111 simpan kembali
3+ M = 0
A
0001 1100 0111 geser ke kiri
(1) 1110 0111 kurangkan Siklus ke dua
0001 1100 0111 simpan kembali
A-M=-
2+ M = 1
A 0011 1000 0111 geser ke kiri
0000 0111 kurangkan Siklus ke tiga
(3) 0000 1001 0111 simpan kembali
A-M=0
0001 0010 0111 geser
1110 0111 kurangkan Siklus ke empat
0001 0010 0111 simpan kembali
(1) (1) (2)
A - M = -2 Sisa Hasil
A+M=1
22
SELESAI
Terima kasih
23