Penjumlahan
contoh
Penjumlahan (overview)
T.Informatika UAD
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
PERKALIAN
Operasi Aritmatika
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
Perkalian
Contoh
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)
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
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.
Pengalian – Unsigned Integer
Pengalian – Unsigned Integer
yg diambil selalu Q0
M=1011
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
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
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
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
Algoritma Booth
Algoritma Booth
contoh : 0111 * 0011 = 0001 0101
Algoritma Booth
sub
shift
add
1101
1–0
0–1
1-0
26
Pembagian
Operasi Aritmatika
contoh
Pembagian-Unsigned Binary
1 3
1 1 1 4 7
1 1
3 7
3 3
4
T.Informatika UAD
Pembagian-Unsigned Binary
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 (2 -c) 0 1 0 1
nd
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
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 Q0 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.
Pembagian Komplemen-2
T.Informatika UAD
Pembagian Komplemen-2
Pembagian Komplemen-2
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
Floating Point
T.Informatika UAD
Representasi
Pendekatan yang sama dapat dilakukan pada bilangan
biner
+ S * B +E
dengan
S : significant
B : base
E : exponent
Format Floating Point
1 8-bit 23-bit
1
1
1
1
T.Informatika UAD
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
Penambahan & Pengurangan FP
T.Informatika UAD
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
Perkalian FP
Pembagian FP
T.Informatika UAD
ANY
QUESTION?