Anda di halaman 1dari 42

OPERASI ARITMATIKA

Pengantar Arsitektur Komputer


Universitas Ahmad Dahlan
E. Haodudin Nurkifli

1
PENJUMLAHAN (OVERVIEW)

 Operasi yang dilakukan selalu penjumlahan,


termasuk sign bit

T.Informatika UAD 2
PENGURANGAN (OVERVIEW)
 Pengubahan dari bilangan positif ke negatif
--> dengan 2’s complement
 Contoh:

T.Informatika UAD 3
DIAGRAM BLOK –
PENJUMLAHAN &
PENGURANGAN

4
OVERFLOW (OVERVIEW)
 Jikapenjumlahan 2 bilangan n digit
menghasilkan n+1 digit maka disebut
dengan overflow
 Penjumlahan dengan komputer digital
--> overflow menjadi masalah karena
ukuran register yang terbatas
 Komputer perlu mendeteksi adanya
overflow
 Overflow tidak akan terjadi pada saat
penjumlahan bilangan yang berbeda
tanda
T.Informatika UAD 5
OVERFLOW (OVERVIEW)
 Dideteksi
dengan mengamati carry out
dengan carry yang terjadi pada posisi sign bit
 Jika sama maka overflow tidak terjadi
 Jika beda maka terjadi overflow

 Secara digital --> gunakan gerbang XOR


 Overflow --> keluaran gerbang = 1
 Tidak overflow --> keluaran gerbang = 0

T.Informatika UAD 6
PERKALIAN
Operasi Aritmatika

7
PENGALIAN
 Operasi pengalian lebih rumit dibandingkan
operasi penjumlahan atau pengurangan, baik
dalam hardware maupun software
 Ada beberapa jenis algoritma yang
digunakan dalam bermacam-macam
komputer

8
PENGALIAN – UNSIGNED INTEGER
1 0 1 1 Multiplicand (11)
x 1 1 0 1 Mutiplier (13)
1 0 1 1
0 0 0 0 Partial
1 0 1 1 Product
1 0 1 1
1 0 0 0 1 1 1 1 Product (143)

9
PENGALIAN – UNSIGNED INTEGER
 Pengalian meliputi pembentukan beberapa perkalian
parsial untuk setiap digit dalam multiplier. Perkalian
parsial ini kemudian dijumlahkan untuk
mendapatkan hasil pengalian akhir
 Bila bit multiplier sama dengan 0, maka hasil
pengaliannya 0. Bila bit multiplier 1, maka hasil
pengaliannya sama dengan mutiplier
 Hasil pengalian akhir diperoleh dengan
menjumlahkan perkalian parsial tersebut. Setiap
hasil perkalian parsial yang berurutan digeser satu
posisi ke kiri relatif terhadap hasil perkalian
sebelumnya.
 Pengalian dua buah integer biner n-bit
menghasilkan hasil perkalian sampai 2n-bit
10
PENGALIAN – UNSIGNED INTEGER
 Control Logic membaca bit-bit multiplier
satu persatu
 Bila Q0 = 1, multiplicand ditambahkan ke
register A; hasilnya disimpan ke register
A; setelah itu seluruh bit di register C, A
dan Q digeser ke kanan 1 bit.
 Bila Q0 = 0, tidak terjadi penambahan;
seluruh bit di register C, A dan Q digeser
ke kanan 1 bit.
 Proses tersebut dilakukan secara
berulang untuk setiap bit multiplier
 Hasil perkalian akhir tersimpan di
register A dan Q.
11
PENGALIAN – UNSIGNED INTEGER

12
PENGALIAN – UNSIGNED INTEGER

yg diambil selalu Q0

M=1011

13
PENGALIAN KOMPLEMEN-2
 Dengan algoritma pengalian di atas
1011 * 1101 = 1000 1111
 Perkalian unsigned integer : 11 * 13 = 143
 Perkalian komplemen-2 : -5 * -3 = -113

 perkalian tidak berfungsi jika multiplicand


dan/atau multiplier-nya negatif

14
PERKALIAN UNSIGN &
KOMPLEMEN-2
 Ada beberapa cara untuk menangani hal
tersebut:
 konversi multiplier dan multicand jadi positif,
dikalikan; cari komplemen-2 dari hasilnya jika
tanda multiplier dan multiplicand berbeda
 Menggunakan algoritma lain yang tidak
memerlukan transformasi, misalnya Algoritma
Booth

15
ALGORITMA BOOTH
 memiliki kelebihan kecepatan proses
perkaliannya, relatif terhadap pendekatan
langsung
 terdapat register Q(multiplier),
M(multiplicand), A(accumulator), dan register
1-bit di kanan Q yg ditandai dengan Q-1
 hasil perkalian tersimpan di A dan Q

16
ALGORITMA BOOTH
A dan Q-1 diinisialisasi 0
 control logic memeriksa bit-bit multiplier
satu-persatu beserta bit di kanannya
 Jika kedua bit sama (1-1 atau 0-0), maka
seluruh bit di A, Q dan Q-1 digeser 1-bit
ke kanan
 jika kedua bit berbeda, multiplicand
ditambahkan (0-1) atau dikurangkan (1-
0) ke register A, kemudian digeser ke
kanan
 pergeseran menggunakan Arithmetic
Shift
 contoh : 1011 0101  1101 1010
17
ALGORITMA BOOTH

18
ALGORITMA BOOTH
 contoh : 0111 * 0011 = 0001 0101

19
ALGORITMA BOOTH

sub
shift
add

1101
1–0
0–1
1-0

20
PEMBAGIAN
Operasi Aritmatika

21
PEMBAGIAN-UNSIGNED BINARY

1 3
1 1 1 4 7
1 1
3 7
3 3
4

T.Informatika UAD 22
PEMBAGIAN-UNSIGNED BINARY
E0
M  divisor
A,Q  dividend
Count  n

T.Informatika UAD 23
PEMBAGIAN-UNSIGNED BINARY
 1001 0011 : 1011 = 000 1101 + 0100
E A Q
0 1 0 0 1 0 0 1 1 Initial
M = 1011 1 0 0 1 0 0 1 1 0 Shift Left
M’ = 0101 (2nd-c) 0 1 0 1
1 0 1 1 1 A  A - M
1 0 1 1 1 0 1 1 1 Set Q0
0 1 1 1 0 1 1 1 0 Shift Left
0 1 0 1
1 0 0 1 1 A  A - M
1 0 0 1 1 1 1 1 1 Set Q0
0 0 1 1 1 1 1 1 0 Shift Left
0 1 0 1
0 1 1 0 0 A  A - M
1 0 1 1
1 0 1 1 1 1 1 1 0 A  A + M (restore A)
0 1 1 1 1 1 1 0 0 Shift Left
0 1 0 1
1 0 1 0 0 A  A - M
1 0 1 0 0 1 1 0 1 Set Q0
T.Informatika UAD 24
remainder quotient
PEMBAGIAN KOMPLEMEN-2
 Muatkan divisor ke M, dividend ke A dan Q. dividend
diekspresikan sbg komplemen-2 2n-bit.
 Geser A dan Q 1-bit ke kiri
 Bila M dan A memiliki tanda yg sama, lakukan A  A
– M; bila tandanya beda, A  A + M
 Operasi tsb akan berhasil bila tanda A sesudah dan
sebelum operasi sama
 bila berhasil (A dan Q = 0), set Q0  1
 bila gagal (A dan Q <> 0), reset Q 0  0 dan simpan A
sebelumnya
 Ulangi langkah 2 sampai 4 utk setiap posisi bit di Q
 Bila tanda divisor dan dividend sama maka quotient
ada di Q, jika tidak quotient adalah komplemen-2
dari Q.
 Remainder ada di A.
T.Informatika UAD 25
PEMBAGIAN KOMPLEMEN-2

T.Informatika UAD 26
PEMBAGIAN KOMPLEMEN-2

T.Informatika UAD 27
PEMBAGIAN KOMPLEMEN-2

T.Informatika UAD 28
PEMBAGIAN KOMPLEMEN-2
 (-7)/(3)
dan (7)/(-3) akan menghasilkan
remainder yang berbeda. Hal ini
disebabkan operasi pembagian
didefinisikan sebagai
D=Q*V+R
dengan
D = dividend
 Q = quotient
 V = divisor
 R = remainder

T.Informatika UAD 29
FLOATING POINT
Representasi & Operasi Aritmatika

30
REPRESENTASI
 Notasi fixed point (radix point)
dimungkinkan untuk merepresentasikan
bilangan-bilangan positif dan negatif
dengan komponen pecahan
 Pendekatan ini memiliki keterbatasan,
bilangan yang sangat besar dan pecahan
yang sangat kecil tidak dapat
direpresentasikan. Bagian quotient dalam
pembagian dua bilangan besar dapat hilang
 Dalam desimal, 123.000.000.000.000 dapat
direpresentasikan sebagai 1,23 * 1014;
Demikian juga 0,0000000000000123 dapat
direpresentasikan sebagai 1,23 * 10-14

T.Informatika UAD 31
REPRESENTASI
 Pendekatan yang sama dapat dilakukan pada
bilangan biner
+ S * B +E
dengan
 S : significant
 B : base

 E : exponent

32
FORMAT FLOATING POINT
1 8-bit 23-bit

Implisit selalu
“1”
1
1
1
1

 Tanda bilangan  0 : positif, 1 : negatif


 Nilai exponent  8-bit biased : nilai field dikurangi bias (128) utk
memperoleh nilai exponent sebenarnya
 Significand/Mantissa  dg normalisasi (+ 0,1bbb..b * 2 +E), bit terkiri
selalu “1”; shg tdk perlu disimpan (ada secara implisit)  23-bit
untuk menyimpan 24-bit
33
FORMAT FLOATING POINT

34
FORMAT FLOATING POINT
 Range bilangan:
 Negatif : - (1 – 2-24) * 2127 dan - 0,5 * 2-128
 Positif : 0,5 * 2-128 dan (1 – 2-24) * 2127
 Ouf of range:
 Negative overflow : < - (1 – 2-24) * 2127
 Negative underflow : < - 0,5 * 2-128
 Zero
 Positive underflow : > 0,5 * 2-128
 Positive overflow : > (1 – 2-24) * 2127

35
RANGE & KETELITIAN
 Terdapat trade off antara range dan ketelitian : jumlah bit
exponent ditambah akan meningkatkan range tapi
menurunkan ketelitian
 Untuk meningkatkan keduanya, jumlah bit exponent dan
significand ditambah

T.Informatika UAD 36
PENAMBAHAN &
PENGURANGAN FP
 4 fase dasar algoritma penambahan dan
pengurangan bilangan floating point:
 periksa apakan salah satunya bilangan nol
 align significand (samakan exponent)
 tambahkan atau kurangkan significand
 normalisasi hasil

T.Informatika UAD 37
PENAMBAHAN &
PENGURANGAN FP

T.Informatika UAD 38
PERKALIAN & PEMBAGIAN FP
 Perkalian & pembagian floating point relatif
lebih sederhana dibandingkan operasi
penambahan dan pengurangan
 Perlu diperhatikan :
 yang tersimpan dlm format floating point adalah
biased exponent, sehingga perlu dilakukan
pengurangan atau penambahan bias
 Perlu pengecekan adanya overflow dan
underflow

T.Informatika UAD 39
PERKALIAN FP

T.Informatika UAD 40
PEMBAGIAN FP

T.Informatika UAD 41
ANY
QUESTION?

T.Informatika UAD 42

Anda mungkin juga menyukai