OPERASI ARITMATIKA 1 PENJUMLAHAN OVERVIEW Operasi yang dilakukan

  • Slides: 42
Download presentation
OPERASI ARITMATIKA 1

OPERASI ARITMATIKA 1

PENJUMLAHAN (OVERVIEW) Operasi yang dilakukan selalu penjumlahan, termasuk sign bit T. Informatika UAD 2

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.

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

DIAGRAM BLOK – PENJUMLAHAN & PENGURANGAN 4

DIAGRAM BLOK – PENJUMLAHAN & PENGURANGAN 4

OVERFLOW (OVERVIEW) Jika penjumlahan 2 bilangan n digit menghasilkan n+1 digit maka disebut dengan

OVERFLOW (OVERVIEW) Jika penjumlahan 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

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

PERKALIAN Operasi Aritmatika 7

PENGALIAN Operasi pengalian lebih rumit dibandingkan operasi penjumlahan atau pengurangan, baik dalam hardware maupun

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 x 1 1 0 1 Multiplicand

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

PENGALIAN – UNSIGNED INTEGER Pengalian meliputi pembentukan beberapa perkalian parsial untuk setiap digit dalam

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 2 n-bit 10

PENGALIAN – UNSIGNED INTEGER Control Logic membaca bit-bit multiplier satu persatu Bila Q 0

PENGALIAN – UNSIGNED INTEGER Control Logic membaca bit-bit multiplier satu persatu Bila Q 0 = 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 Q 0 = 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 12

PENGALIAN – UNSIGNED INTEGER yg diambil selalu Q 0 M=1011 13

PENGALIAN – UNSIGNED INTEGER yg diambil selalu Q 0 M=1011 13

PENGALIAN KOMPLEMEN-2 Dengan algoritma pengalian di atas 1011 * 1101 = 1000 1111 Perkalian

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

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),

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

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 18

ALGORITMA BOOTH contoh : 0111 * 0011 = 0001 0101 19

ALGORITMA BOOTH contoh : 0111 * 0011 = 0001 0101 19

ALGORITMA BOOTH sub shift add 1101 1– 0 0– 1 1 -0 20

ALGORITMA BOOTH sub shift add 1101 1– 0 0– 1 1 -0 20

PEMBAGIAN Operasi Aritmatika 21

PEMBAGIAN Operasi Aritmatika 21

PEMBAGIAN-UNSIGNED BINARY 1 1 1 3 1 4 1 1 7 3 3 4

PEMBAGIAN-UNSIGNED BINARY 1 1 1 3 1 4 1 1 7 3 3 4 T. Informatika UAD 22

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

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 M = 1011

PEMBAGIAN-UNSIGNED BINARY 1001 0011 : 1011 = 000 1101 + 0100 M = 1011 M’ = 0101 (2 nd-c) E 0 1 1 1 0 0 1 1 remainder 1 0 0 0 0 0 1 1 0 0 0 A 0 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 Q 0 0 1 1 0 Initial Shift Left 0 1 1 1 0 A A - M Set Q 0 Shift Left 1 1 1 1 0 A A - M Set Q 0 Shift Left A A - M 1 1 1 0 0 A A + M (restore A) Shift Left 1 1 0 1 A A - M Set Q 0 T. Informatika UAD quotient 24

PEMBAGIAN KOMPLEMEN-2 Muatkan divisor ke M, dividend ke A dan Q. dividend diekspresikan sbg

PEMBAGIAN KOMPLEMEN-2 Muatkan divisor ke M, dividend ke A dan Q. dividend diekspresikan sbg komplemen-2 2 n-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 Q 0 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 26

PEMBAGIAN KOMPLEMEN-2 T. Informatika UAD 27

PEMBAGIAN KOMPLEMEN-2 T. Informatika UAD 27

PEMBAGIAN KOMPLEMEN-2 T. Informatika UAD 28

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 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

FLOATING POINT Representasi & Operasi Aritmatika 30

REPRESENTASI Notasi fixed point (radix point) dimungkinkan untuk merepresentasikan bilangan-bilangan positif dan negatif dengan

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 dapat direpresentasikan sebagai 1, 23 * 1014; Demikian juga 0, 0000000123 dapat direpresentasikan sebagai 1, 23 * 10 -14 T. Informatika UAD 31

REPRESENTASI Pendekatan yang sama dapat dilakukan pada bilangan biner + S * B +E

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

FORMAT FLOATING POINT 1 8 -bit 23 -bit Implisit selalu “ 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, 1 bbb. . 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 34

FORMAT FLOATING POINT Range bilangan: Negatif : - (1 – 2 -24) * 2127

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

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:

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 Y Y T. Informatika UAD 38

PENAMBAHAN & PENGURANGAN FP Y Y T. Informatika UAD 38

PERKALIAN & PEMBAGIAN FP Perkalian & pembagian floating point relatif lebih sederhana dibandingkan operasi

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

PERKALIAN FP T. Informatika UAD 40

PEMBAGIAN FP T. Informatika UAD 41

PEMBAGIAN FP T. Informatika UAD 41

ANY QUESTION? T. Informatika UAD 42

ANY QUESTION? T. Informatika UAD 42