OPERASI ARITMATIKA Arsitektur Komputer Penjumlahan overview n Operasi

  • Slides: 42
Download presentation
OPERASI ARITMATIKA Arsitektur Komputer

OPERASI ARITMATIKA Arsitektur Komputer

Penjumlahan (overview) n Operasi yang dilakukan selalu penjumlahan, termasuk sign bit

Penjumlahan (overview) n Operasi yang dilakukan selalu penjumlahan, termasuk sign bit

Pengurangan (overview) n n Pengubahan dari bilangan positif ke negatif --> dengan 2’s complement

Pengurangan (overview) n n Pengubahan dari bilangan positif ke negatif --> dengan 2’s complement Contoh:

Diagram Blok – Penjumlahan & Pengurangan

Diagram Blok – Penjumlahan & Pengurangan

Overflow (overview) n n Jika penjumlahan 2 bilangan n digit menghasilkan n+1 digit maka

Overflow (overview) n n 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

Overflow (overview) n Dideteksi dengan mengamati carry out dengan carry yang terjadi pada posisi

Overflow (overview) n Dideteksi dengan mengamati carry out dengan carry yang terjadi pada posisi sign bit n n n Jika sama maka overflow tidak terjadi Jika beda maka terjadi overflow Secara digital --> gunakan gerbang XOR n n Overflow --> keluaran gerbang = 1 Tidak overflow --> keluaran gerbang = 0

PERKALIAN Operasi Aritmatika

PERKALIAN Operasi Aritmatika

Perkalian n n Operasi perkalian lebih rumit dibandingkan operasi penjumlahan atau pengurangan, baik dalam

Perkalian n n Operasi perkalian lebih rumit dibandingkan operasi penjumlahan atau pengurangan, baik dalam hardware maupun software Ada beberapa jenis algoritma yang digunakan dalam bermacam-macam komputer

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)

Pengalian – Unsigned Integer n n Pengalian meliputi pembentukan beberapa perkalian parsial untuk setiap

Pengalian – Unsigned Integer n n 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

Pengalian – Unsigned Integer n n n Control Logic membaca bit-bit multiplier satu persatu

Pengalian – Unsigned Integer n n n 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.

Pengalian – Unsigned Integer

Pengalian – Unsigned Integer

Pengalian – Unsigned Integer yg diambil selalu Q 0 M=1011

Pengalian – Unsigned Integer yg diambil selalu Q 0 M=1011

Pengalian Komplemen-2 n Dengan algoritma pengalian di atas 1011 * 1101 = 1000 1111

Pengalian Komplemen-2 n Dengan algoritma pengalian di atas 1011 * 1101 = 1000 1111 Perkalian unsigned integer : 11 * 13 = 143 n Perkalian komplemen-2 : -5 * -3 = -113 n n perkalian tidak berfungsi jika multiplicand dan/atau multiplier-nya negatif

Perkalian unsign & komplemen-2 n Ada beberapa cara untuk menangani hal tersebut: konversi multiplier

Perkalian unsign & komplemen-2 n 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 n Menggunakan algoritma lain yang tidak memerlukan transformasi, misalnya Algoritma Booth n

Algoritma Booth n n n memiliki kelebihan kecepatan proses perkaliannya, relatif terhadap pendekatan langsung

Algoritma Booth n n n 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 n n n A dan Q-1 diinisialisasi 0 control logic memeriksa bit-bit

Algoritma Booth n n n A dan Q-1 diinisialisasi 0 control logic memeriksa bit-bit multiplier satupersatu 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 n contoh : 1011 0101 1101 1010

Algoritma Booth

Algoritma Booth

Algoritma Booth n contoh : 0111 * 0011 = 0001 0101

Algoritma Booth n contoh : 0111 * 0011 = 0001 0101

Algoritma Booth sub shift add 1101 1– 0 0– 1 1 -0

Algoritma Booth sub shift add 1101 1– 0 0– 1 1 -0

Pembagian Operasi Aritmatika

Pembagian Operasi Aritmatika

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

Pembagian-Unsigned Binary E 0 M divisor A, Q dividend Count n

Pembagian-Unsigned Binary E 0 M divisor A, Q dividend Count n

Pembagian-Unsigned Binary n 1001 0011 : 1011 = 000 1101 + 0100 M =

Pembagian-Unsigned Binary n 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 quotient

Pembagian Komplemen-2 n n Muatkan divisor ke M, dividend ke A dan Q. dividend

Pembagian Komplemen-2 n n 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 n n n 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.

Pembagian Komplemen-2

Pembagian Komplemen-2

Pembagian Komplemen-2

Pembagian Komplemen-2

Pembagian Komplemen-2

Pembagian Komplemen-2

Pembagian Komplemen-2 n (-7)/(3) dan (7)/(-3) akan menghasilkan remainder yang berbeda. Hal ini disebabkan

Pembagian Komplemen-2 n (-7)/(3) dan (7)/(-3) akan menghasilkan remainder yang berbeda. Hal ini disebabkan operasi pembagian didefinisikan sebagai D=Q*V+R dengan n n D = dividend Q = quotient V = divisor R = remainder

Floating Point Representasi & Operasi Aritmatika

Floating Point Representasi & Operasi Aritmatika

Representasi n n n Notasi fixed point (radix point) dimungkinkan untuk merepresentasikan bilangan-bilangan positif

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

Representasi n Pendekatan yang sama dapat dilakukan pada bilangan biner + S * B

Representasi n Pendekatan yang sama dapat dilakukan pada bilangan biner + S * B +E dengan S : significant n B : base n E : exponent n

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

Format Floating Point

Format Floating Point

Format Floating Point n Range bilangan: Negatif : - (1 – 2 -24) *

Format Floating Point n Range bilangan: Negatif : - (1 – 2 -24) * 2127 dan - 0, 5 * 2 -128 n Positif : 0, 5 * 2 -128 dan (1 – 2 -24) * 2127 n n Ouf of range: Negative overflow : < - (1 – 2 -24) * 2127 n Negative underflow : < - 0, 5 * 2 -128 n Zero n Positive underflow : > 0, 5 * 2 -128 n Positive overflow : > (1 – 2 -24) * 2127 n

Range & Ketelitian n n Terdapat trade off antara range dan ketelitian : jumlah

Range & Ketelitian n n 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

Penambahan & Pengurangan FP n 4 fase dasar algoritma penambahan dan pengurangan bilangan floating

Penambahan & Pengurangan FP n 4 fase dasar algoritma penambahan dan pengurangan bilangan floating point: periksa apakan salah satunya bilangan nol n align significand (samakan exponent) n tambahkan atau kurangkan significand n normalisasi hasil n

Penambahan & Pengurangan FP Y Y

Penambahan & Pengurangan FP Y Y

Perkalian & Pembagian FP n n Perkalian & pembagian floating point relatif lebih sederhana

Perkalian & Pembagian FP n n 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 n Perlu pengecekan adanya overflow dan underflow n

Perkalian FP

Perkalian FP

Pembagian FP

Pembagian FP

ANY QUESTION?

ANY QUESTION?