Anda di halaman 1dari 23

ORGANISASI DAN

ARSITEKTUR KOMPUTER
Aritmatika Komputer

1
Operator aritmatika

 Ada 4 :
 Tambah (+)
 Kurang (-)
 Kali (*)
 Bagi (/)

 Yang bisa digunakan computer hanya 1


operator, yaitu operator Tambah (+)

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

 Komputer hanya mengenal tanda positif


 Bagaimana untuk bilangan negatif ?

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

+18 = 00010010 → 0 tanda bil. positif


-18 = 10010010 → 1 tanda bil. negatif

4
Representasi Bilangan Negatif
2. Komplemen dua
 Aturan :

1. Negasi → ambil komplemen Boolean dari setiap bit yang


bersesuaian dengan bilangan positif, kemudian
tambahkan 1.
+18 = 00010010
-18= 11101110
2. Perluasan panjang bit → tambahkan posisi bit
tambahan kekiri dan isi dengan bit magnituda tanda.
3. Aturan overflow → jika dua bilangan dengan tanda yang
sama (keduanya positif atau negatif) dijumlahkan,
overflow terjadi jika dan hanya jika hasilnya mempunyai
tanda berkebalikan.
4. Aturan pengurangan → untuk mengurangi B dari A,
ambil komplemen dua dari B dan menambahkannya ke
A.
5
+18 = 00010010, dikomplemenkan,
11101101
1
11101110 = -18

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

+18 = 00010010 (komplemen dua)


 komplemen bit-bitnya = 11101101
+ 1
11101110 = -18

-18 = 11101110 (komplemen dua)


 komplemen bit-bitnya = 00010001
+ 1
00010010 = +18

9
Aritmatika Integer
2. Penambahan
 Jika hasil dari operasi adalah positif, diperoleh bilangan

positif dalam notasi biner biasa.


 Jika hasil dari operasi adalah negatif, diperoleh bilangan

negatif dalam bentuk komplemen dua.


 Jika hasil operasi lebih besar dari yang dapat ditampung

ukuran word yang sedang digunakan,maka terjadi overflow.


 Ketika terjadi overflow, ALU harus memberikan sinyal

peringatan.
 Overflow dapat dideteksi dengan menggunakan aturan :

jika dua bilangan ditambahkan dan keduanya positif atau


keduanya negatif, maka overflow akan terjadi jika dan
hanya jika hasilnya mempunyai tanda yang berlawanan

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

Contoh : 7 x 3, 7 = Multiplicand dan 3 = Pengali

 Langkah-langkah :
1) MULAI
2) Masukkan nilai-nilai awal,
• 0000 (4 bit) ke register A

• 0 (1 bit) ke register Q-1

• Multiplicand (0111 atau 7) ke register M


• Pengali (0011 atau 3) ke register Q
• n (=4) ke Hitung.

15
Algoritma Booth
3) Periksa urutan Q0, Q-1
a) Jika urutannya 01,
 Ganti isi register A dengan A + M

 Geser register A, Q dan Q


-1 ke kanan, register M
tetap. Ganti Hitung dengan Hitung - 1
b) Jika urutannya 10,
 Ganti isi register A dengan A – M

 Geser register A, Q dan Q


-1 ke kanan , register M
tetap. Ganti Hitung dengan Hitung - 1
c) Jika urutannya 11 atau 00,
 geser register A, Q dan Q
-1 ke kanan, register M
tetap. Ganti Hitung dengan Hitung - 1

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.

3. Geser kekiri isi register A,Q.


4. Ganti isi register A dengan A – M

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.

b) Jika TIDAK, kembali ke langkah 3.

 Hasil bagi terdapat dalam register Q dan Sisa dalam register A.

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

Anda mungkin juga menyukai