Computer arithmatic

2,839 views

Published on

Published in: Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
2,839
On SlideShare
0
From Embeds
0
Number of Embeds
353
Actions
Shares
0
Downloads
62
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Computer arithmatic

  1. 1. COMPUTER ARITHMETIC ISWAHYUDI HIDAYAT 23204083
  2. 2. PENDAHULUAN• Empat metoda komputasi dasar yang dilakukan oleh ALU komputer : penjumlahan, pengurangan, perkalian, dan pembagian.• Rangkaian ALU dasar terdiri atas gerbang OR, AND, dan rangkaian full adder 1 bit.• Rangkaian full adder 1 bit pada rangkaian ALU dasar pada awalnya hanya melakukan penjumlahan unsigned number.• Pengembangan lebih lanjut pada rangkaian ALU dasar mampu melakukan operasi pengurangan.
  3. 3. RANGKAIAN ALU DASAR KOMPUTER Op OpA A 0 0B C C 1 1 Binver Cin Cin B 0 + 2 + 2 1 Cout Cout Tanpa Fungsi Pengurangan Dengan Fungsi Pengurangan
  4. 4. Operasi Aritmatika Dasar• Addition / Penjumlahan•Complements•Subtraction / Pengurangan
  5. 5. Penjumlahan Biner 0 (b) 0 (a) +0 +1 0 1 (c) 1 (d) 1 +0 +1 1 10 Carry Bit
  6. 6. Contoh Penjumlahan Binerdengan operand lebih dari 1 bit(a) (b) (c) 1011 1010 1011 + 1100 + 100 + 101 10111 1110 10000(d) 101 (e) 10011001 + 1001 + 101100 1110 11000101
  7. 7. Binary ComplementOperasi (1s Complement) 1 0 0 1Example 110010110 001101001
  8. 8. Two’s ComplementNilai Two’s complement bilangan binerdiperoleh dengan menambahkan nilai ‘1’pada hasil One’s Complement. 1001110 0110001 One’s Complement + 1 0110010 Two’s Complement
  9. 9. Pengurangan BinerPengurangan Biner diimplementasikandengan menjumlahkan Two’s complementbilangan yang akan dikurangkan. Two’sExample complement of 1001 1101 1101 -1001 +0111 10100Carry yang dihasilkan dapat diabaikan.Sehingga, hasilnya adalah 0100.
  10. 10. RANGKAIAN PERKALIAN• Dua Buah bilangan biner dapat dikalikan dengan metoda yang sama dengan metoda perkalian pada bilangan desimal.• Sebagai pengantar akan ditunjukkan operasi perkalian konvensional dengan bilangan tak bertanda (unsigned number).• Sebagai contoh akan ditunjukkan operasi perkalian untuk operand Multiplicand (M) = 1110 dan Multiplier (Q) = 1011.
  11. 11. Gambaran Proses Perkalian 4 Bit 1110 (14) Multiplicand (M) 1110 (14)Multiplicand (M) Multiplier (Q) x 1011 (11) Multiplier (Q) x 1011 (11) Partial Product 0 1110 1110 + 1110 1110 Partial Product 1 10101 0000 + 0000 + 1110 Partial Product 2 01010 Product (P) 10011010 (154) + 1110 Product (P) 10011010 (154) Konsep dasar perkalian konvensional Perkalian Konvensional Implementasi HW
  12. 12. ARRAY MULTIPLIER UNTUK BILANGAN UNSIGNED 0 m3 m2 m1 m0 q0 q1 q2 q3 p7 p6 p5 p4 p3 p2 p1 p0 Struktur Rangkaian mk+1 mk Bit of PPi mk q0 q1 qj cout cin cout FA cin FA Blok Pada Baris Pertama Blok Pada Baris Kedua dan Ketiga
  13. 13. Perkalian Bilangan BertandaMultiplicand (M) 01110 (+14) Multiplicand (M) 10010 (-14) Multiplier (Q) x 01011 (+11) Multiplier (Q) x 01011 (+11)Partial Product 0 0001110 Partial Product 0 1110010 + 001110 + 110010Partial Product 1 0010101 Partial Product 1 1101011 + 000000 + 000000Partial Product 2 0001010 Partial Product 2 1110101 + 001110 + 110010Partial Product 3 0010011 Partial Product 3 1101100 + 000000 + 000000 Product (P) 0010011010 (+154) Product (P) 1101100110 (-154)
  14. 14. Critical Delay Path Pada Array Multiplier 0 m3 m2 m1 m0 q0 q1 q2 q3p7 p6 p5 p4 p3 p2 p1 p0
  15. 15. Masalah & Pemecahan Pada Array Multiplier• Critical Delay Path nya besar• Untuk meningkatkan performansi multiplier digunakan konsep pipelining• Pipelining mampu mengurangi waktu siklus tetapi tidak mengurangi waktu total proses perkallian.• Salah satu algoritma untuk mempercepat perkalian ini adalah Booth encoding algorithm.
  16. 16. Booth Encoding Algorithm• Merupakan salah satu algoritma untuk meningkatkan kecepatan proses perkalian• Algoritma ini menggunakan ide dasar bahwa proses adder-subtractor secara kecepatan dan tingkat kesederhanaan rangkaian hampir sama dengan adder sederhana.• Bentuk umum algoritma ini berhubungan dengan 3 bit pengali pada satu waktu yang membentuk proses perkalian dua tingkat.
  17. 17. Algoritma BoothJika dinyatakan representasi 2’s complement multiplier y : y = -snyn + 2n-1yn-1 +2n-2yn-2 + …Dengan ide dasar : 2a = 2a+1 – 2aDua item awal persamaan pertama dapat dinyatakan sebagai : 2n(yn-1 –yn) + 2n-1(yn-2 – yn-1)Setiap bentuk merupakan satu tahapan pada algoritma perkaliandasar.
  18. 18. Tabel Recoding Bits yi yi-1 yi-2 increment 0 0 0 0 0 0 1 x 0 1 0 x 0 1 1 2x 1 0 0 -2x 1 0 1 -x 1 1 0 -x 1 1 1 0
  19. 19. Algoritma Perkalian Multioperand Dengan Fungsi Logaritmik dan MSB First BIT Adder• Salah satu algoritma untuk mengatasi masalah waktu proses dalam multiplikasi.• Merupakan algoritma perkalian paralel yang menggabungkan Logarithmic Multiplier dan Multioperand MSB first adder.• Pada algoritma Logaritmik, perkalian dilakukan dengan menjumlahkan operand satu sama lain.• Penjumlahan multioperand dengan metode MSB First Adder adalah suatu konsep metoda penjumlahan sejumlah bilangan dengan dimulai dari bit MSB nya terlebih dahulu.
  20. 20. Algoritma dan Model Arsitektur Perkalian Logaritmik 2 Operand• Ide dasar perkalian dengan metode logaritmik dilakukan dalam bentuk penjumlahan sesuai dengan persamaan sebagai berikut : – Log(AxB) = Log A + Log B – Log2(AxB) = Log2A + Log2B – AxB = Antilog2 (Log2A + Log2B)• Yang perlu diperhatikan dalam operasi perkalian logaritmik ini adalah error yang dapat muncul pada saat konversi ke bentuk logaritmik dan antilogaritmik.
  21. 21. Perkalian Logaritmik 2 Operand Register A Register B Bilangan A Bilangan B Register D Register C Log2 A Log2 B Adder Log2 A + Log2 B = x Antilog2 x Y
  22. 22. Algoritma Perkalian Logaritmik antara 2 buah bilangan• Berdasarkan persamaan di atas, langkah yang harus ditempuh adalah sebagai berikut :• Ambil 2 buah bilangan biner, masukkan kedua bilangan ke dalam register A dan B.• Konversikan kedua bilangan tersebut dalam nilai logaritma basis 2 dan masukkan ke dalam register C dan D.• Lakukan penjumlahan isi register C dan D, simpan hasilnya pada Accumulator.• Konversikan hasil penjumlahan tersebut dengan menggunakan antilog2 dan simpan hasilnya pada suatu register.
  23. 23. Algoritma dan Model Arsitektur PenjumlahanMultioperand Dengan MSB First Bit Process• Diaplikasikan untuk sistem waktu nyata.• Perbedaan dengan algoritma penjumlahan konvensional terletak pada urutan penjumlahan yang dilakukan.• Pada algoritma ini bit yang pertama kali dijumlahkan adalah bit MSB  MSB-1  LSB. (Tenggat waktu yang ditetapkan dapat dipenuhi).• Dengan algoritma ini, sebelum penjumlahan sampai bit LSB, hasil yang tersimpan pada accumulator telah dapat digunakan.
  24. 24. Arsitektur PenjumlahanMultioperand MSB First Bit 16 bit d0 d1 d2 Counter Register d9 d10 d11 Counter Pulsa (4 bit CLK Bit Placer synch. Binary counter) 20 t bi Adder 20 bit Accumulator 19 0
  25. 25. Tahapan Algoritma yang dilakukan• Masukkan semua operand n bit ke dalam N register.• Untuk N operand dengan n bit data, lakukan langkah-langkah berikut : – Jumlahkan semua MSB dari setiap operand dan letakkan hasilnya pada accumulator. – Jumlahkan semua MSB-1 dan jumlahkan hasilnya dengan yang tersimpan pada accumulator lalu simpan hasilnya kembali pada accumulator. – Lakukan langkah kedua tersebut sampai bit LSB dari setiap operand selesai dijumlahkan.
  26. 26. 64 bit 10 bit 10 bit d0 R1 R9 d1 d2 Regist Counter Register B er A d5 d6Register LUT A d7 R16 LUT A R8 Hasil (Antilog2) (Log2) Counter Pulsa (4 bit CLK Bit Placer synch. Binary counter) 13 it b Adder 13 bit Accumulator 12 0 Model Arsitektur Perkalian Multioperand fungsi Logaritmik
  27. 27. Algoritma Perkalian Logaritmik Multioperand• Secara konsep akan melakukan perkalian dengan banyak operand dengan cara menjumlahkan nilai logaritmik setiap operand.• Konsep dasar secara matematis :• Log2(AxBx…xN) = Log2A + Log2B + … + Log2N• Jadi secara umum CPU hanya melakukan proses penjumlahan untuk sejumlah operand. Namun untuk mempercepat hasil penjumlahan, digunakan algoritma penjumlahan dengan dimulai dari MSB  LSB.• Untuk mendapatkan hasil logaritma basis 2 dari tiap operand, dan mengembalikannya ke bentuk asal, digunakan look up table yang digabungkan dengan konsep segmentasi.
  28. 28. Lanjutan Algoritma• Arsitektur sistem ini dibatasi untuk operand 8 bit dan jumlah operand maksimal yang terlibat dalam operasi perkalian sebanyak 8 operand juga.• Operasi maksimal yang dapat dilakukan adalah 2558.• Berarti bit data maksimum yang dihasilkan dari perkalian 8 operand 8 bit dengan look up table adalah 13 bit.
  29. 29. Algoritma Perkalian 8 operand 8 bit adalah :• Cocokkan isi register 1 s.d 8 dengan LUT nilai logaritmik basis 2.• Ambil data dari LUT dan masukkan ke dalam register 9 s.d 16.• Lakukan penjumlahan multioperand dengan dimulai dari MSB.• Hasil penjumlahan yang tersimpan pada accumulator dicocokkan dengan LUT antilog basis 2 untuk mendapatkan nilai sebenarnya.
  30. 30. Tabel 1 : Proses perkalian manual Langkah Operand A Operand B Hasil Accumulator iterasi 1:8 00000001 00000010 00000010 2:8 00000010 00000011 00000110 3:8 00000110 00000100 00011000 4:8 00011000 00000101 01111000 5:8 01111000 00000010 11110000 6:8 11110000 00000001 11110000 7:8 11110000 00000001 11110000
  31. 31. Tabel 2 : Clock Operand (A dan B) Accumulator A: 1000000000000 1 1000000000000 B: 0000000000000 A: 0100000000000 2 1100000000000 B: 1000000000000 A: 0010000000000 3 1110000000000 B: 1100000000000 A: 0001000000000 4 1111000000000 B: 1110000000000 A: 0000100000000 5 1111100000000 B: 1111000000000 A: 0000010000000 6 1111110000000 B: 1111100000000 A: 0000001000000 7 1111111000000 B: 1111110000000 A: 0000000100000 8 1111111100000 B: 1111111000000 A: 0000000010000 9 1111111110000 B: 1111111100000 A: 0000000001000 10 1111111111000 B: 1111111110000
  32. 32. KESIMPULAN• Perkalian dengan menggunakan algoritma perkalian dengan logaritmik lebih cepat dan efisien, karena hanya membutuhkan proses penjumlahan.• Faktor error merupakan ekses yang muncul saat terjadi proses konversi nilai logaritmik dan antilogaritmik yang dilakukan.

×