Anda di halaman 1dari 48













CU Flag

ALU

Reg Reg




Penjumlahan Desimal
103 102 101 100
(1000) (100) (10) (1)
8 2 3
3 3 8
Simpan (carry) 1 1
Jumlah 1 1 6 1

Penjumlahan Biner
25 24 23 22 21 20
32 16 8 4 2 1
1 1 0 0 1
1 1 0 1 1
Simpan (carry) 1 1 1 1
Jumlah 1 1 0 1 0 0
Bit Bertanda
Bit 0 menyatakan bilangan positif
Bit 1 menyatakan bilangan negatif

A6 A5 A4 A3 A2 A1 A0
0 1 1 0 1 0 0 = + 52

Bit Tanda
Magnitude

B6 B5 B4 B3 B2 B1 B0
1 1 1 0 1 0 0 = - 52

Bit Tanda
Magnitude


0011 = +3 0001 = +1
1011+ = − 3 + 1110+ = − 6 +
1110 = −6 1111 = −7
• Biner 0 diubah menjadi 1
• Biner 1 diubah menjadi 0

Misal

1 0 1 1 0 1 0 Biner Awal

0 1 0 0 1 0 1 Komplemen pertama
• Bentuk komplemen satu untuk bilangan biner
negatif diperoleh dengan cara membalik
seluruh bit dari bilangan positifnya. Bit yang
bernilai 0 dibalik menjadi bit bernilai 1 dan
sebaliknya.
• Contoh :
• +43 = 001010112
• -43 = 110101002
0011 = + 3 0001 = +1
1100+ = − 3 + 1001+ = − 6 +
1111 = 0 1010 = −5

1101 = − 2 0111 = + 7
1011+ = − 4 + 1100+ = − 3 +
1 1000 1 0011
1+ 1+
1001 = − 6 0100 = 4

Metode untuk menyatakan bit bertanda
digunakan sistem komplement kedua (2’s
complement form)

0 1 0 1 1 0 1 Biner Awal = 45
Misal 1 0 1 0 0 1 0 Komplemen 1

1 Tambahkan 1

1 0 1 0 0 1 1 Komplemen 2
1. Apabila bilangannya positif, magnitude dinyatakan
dengan biner aslinya dan bit tanda (0) diletakkan di
depan MSB.
2. Apabila bilangannya negatif, magnitude dinyatakan
dalam bentuk komplemen ke 2 dan bit tanda (1)
diletakkan di depan MSB
0 1 0 1 1 0 1 Biner = + 45

Bit Tanda
Biner asli

1 0 1 0 0 1 1 Biner = - 45

Bit Tanda
Komplemen ke 2
Penjumlahan Komplemen 2
Contoh :
(-7) + (+5) (-4) + (+4)
1001 1100
0101 0100 +
1110 = − 2 0000 = 0
(+3) + (+4) (-4) + (-1)
0011 1100
0100 1111 +
0111 = 7 1011 = −5



0101 1001
0100 1010 +
1001 = Over flow 0011 = Over flow

Pengurangan komplemen 2
Contoh :
2-7 5-2
M = 2 = 0010 M = 5 = 0101
S = 7 = 0111 S = 2 = 0010
S' = 1001 S' = 1110
 
0010 0101
1001 + 1110 +
1011 = −5 0011 = 3

28
Blok Diagram Hardware untuk
penjumlahan dan pengurangan
B. Register • Untuk penjumlahan dua
bilangan dikirimkan ke adder
dari 2 register (A & B).
Hasilnya disimpan pada
Complementer salah satu register ini. Tanda
Over flow disimpan dalam
Over flow Flag (OF). 0 = tidak
over flow, 1 = over flow
• Untuk Pengurangan maka
Over flow
Flag (OF)
Adder subtrahend (reg. B)
dilewatkan sebuah
complementer,sehingga
didapatkan harga 2’s
A. Register complement-nya dan dikirim
ke adder.
Blok Diagam Hardware untuk Penjumlahan
dan Pengurangan



1011  Multiplica nt(11)
1101 x  Multiplier (13)
1011
0000
Partial Product
1011
1011 +
10001111  Product(143)
31


Mn-1 . . . . M0

n-Bit adder Add Shift and Add Control Logic

Sihft Right

C An-1 . . . . A0 Qn-1 . . . . Q0

Multiplier

34
Flowchart Perkalian Unsigned Integer Start

C, A  0
M  Multiplicand
Q  Multiplier
Count  n

Ya
Q0=1?

Tidak
C, A  A + M

Sift C, A, Q
Count  Count - 1

Ya
Count=0? End
Tidak
Contoh perkalian unsigned integer :
11 x 13 = ……
M = 11 -> 1011
Q = 13 -> 1101
M=1011 n=4
C A Q Proses
0 0000 1101 Init value c=n=4
0 1011 1101 Add
0 0101 1110 Shift Right c=3
0 0010 1111 Shift Right c=2
0 1101 1111 Add
0 0110 1111 Shift c=1
1 0001 1111 Add
0 1000 1111 Shift Right c=0

Hasil disimpan di A dan Q (8 bit) = 10001111= 143


Perkalian Unsigned Integer
▪ Awalnya:
▪ multiplicand dan multiplier di-load pada register M dan Q.
▪ Register ke tiga (A) diinisialisasi dengan 0.
▪ Register C (1 bit) diisi dengan 0.
▪ Register C digunakan untuk menampung carry dari hasil penjumlahan.
▪ Control logic membaca bit-bit multiplier satu-persatu mulai
dari kanan (LSB).
▪ Jika Q0 = 1, maka multiplicand ditambahkan ke register A (hasilnya
disimpan di reg. A). Kemudian semua bit dari register C, A, dan Q
digeser ke kanan 1 bit, sehingga bit C pindah ke bit An-1, A0 ke Qn-1,
dan Q0 hilang.
▪ Jika Q0 = 0, tidak ada proses penjumlahan, hanya ada proses
pergeseran (sift) ke kanan.
▪ Proses ini diulangi untuk setiap bit multiplier. Hasil perkalian
(product) terdapat pada register A dan Q.


Perkalian 2’s Complement
(Komplemen 2)
▪ Perkalian dengan bilangan biner 2n berarti
menggeser bilangan ke kiri sejumlah n bit.
▪ Contoh
1011 (M )
1101  (Q)
0000 1011 1011 1 20
0000 0000 1011  0  21
0010 1100 1011 1 2 2

0101 1000 + 1011 1 23


1000 1111


1001 (−7)
0011  (3)
0000 1001 (1001)  2 0

0001 0010 + (1001)  2 1

0001 1011 = (2710 )



7 x 3 = 0111 x 0011
M = 0111
A Q Q-1 Proses
0000 0011 0 Inisialisasi c=4
1001 0011 0 A←A-M
1100 1001 1 Shift Right c=3
1110 0100 1 Shhft Right c=2
0101 0100 1 A←A+M
0010 1010 0 Shift Right c=1
0001 0101 0 Shift Right c=0


Start

A  0, Q -1  0
M  Multiplica nd
Q  Multiplier
Count  n

=10 =01
Q0,Q-1

=11
A A−M =00 AA+M

Arithmatic Sift
Right A, Q, Q -1
Count  Count - 1

Ya
Count=0? End
Tidak


Contoh :
(-7) x 3 = 1001 x 0011
M = 1001
A Q Q-1 Proses
0000 0011 0 Inisialisasi
0111 0011 0 A←A-M
0011 1001 1 Sift
0001 1100 1 Sift
1010 1100 1 A←A+M
1101 0110 0 Sift
1110 1011 0 Sift


Dengan Aturan Unsigned
Integer lakukanlah perkalian
berikut :
•8x3
•4x7
•3x9

Dengan Aturan alogoritma


Booth lakukanlah perkalian
berikut :
• 12 x -12
• 12 x 15
• 10 x 17

Anda mungkin juga menyukai