280 likes | 833 Views
OPERASI PERKALIAN. Dibanding operasi + dan -, mempunyai kompleks baik dari Hardware dan Software. Coba dikalikan 1011 X 1101 = … ???. Operasi perkalian pada bilangan integer un-sign. Diagram operasi perkalian. Rule Algoritma :. Control Logic membaca bit-bit multiplier satu persatu .
E N D
Dibanding operasi + dan -, mempunyai kompleks baik dari Hardware dan Software. • Coba dikalikan 1011 X 1101 = … ???
Rule Algoritma : Control Logic membaca bit-bit multiplier satupersatu. 1. Jika bit Q0 = 1, makamultiplikanditambahkankereg A (perintah ADD) Setelahituseluruh bit padareg C, A, Q digeserkekanan 1 bit ( perintah SHIFT) 2. Bila Q0=0, makahanyaperintah SHIFT saja, tidakterjadipenambahan.
Contoh Perkalian pada Bilangan Unsign 1011 X 1101 = … ??? Nilai 1101 disimpan dalam register Q sebagai Multiplier . Nilai 1011 disimpan dalam register M sebagai Multiplikan.
ContohHasil C A Q 0 0000 1101 inisialisasinilai 0 1011 1101 ADD 0 0101 1110 SHIFT ----- siklus 1 0 0010 1111 SHIFT ---- siklus 2 0 1101 1111 ADD 0 0110 1111 SHIFT ---- Siklus 3 • 0001 1111 ADD 0 1000 1111 SHIFT ----- siklus 4 Product direg A dan Q
Algoritma di atas, hanya digunakan untuk bilangan Unsign (Tidak Bertanda). • Untuk bilangan Bertanda (Sign), yaitu Bilangan dengan komplemen-2, perlu ALGORITMA BOOTH. Contoh : 1101 bilangan unsign senilai dgn 13d 1101 bilangan komplemen2 senilai dgn -3d
Algoritma Booth • Multiplier danMultiplikandireg Q dan M • Terdapat 1 regdisebelahkanan Q0 sehingga Q3 Q2 Q1 Q0 Q-1 3. Hasilperkalianmunculdireg A dan Q 4. Reg A dan Q-1diinisialisasiNol 5. Contol Logic mengecek bit pada Q0 dan Q-1 a. Bilasama (1 dan 1 atau 0 dan 0), maka bit padareg A, Q, Q-1digeserkekanan 1 bit. (perintah SHIFT saja). b. Bila BEDA 1 dan 0 makamultiplikanditambahkankereg A, lalu SHIFT – insert di Q3 dng bit 1 0 dan 1 makamultiplikandikurangidengan A, lalu SHIFT. – insert di Q3 dng bit 0
Contohjika Q = 0011 ( 3des) dan M = 1001 (-7des) A Q Q-1 0000 0011 0 initial • 0011 0 A+M • 1001 1 SHIFT --- siklus 1 • 0100 1 SHIFT ---- siklus 2 0101 0100 1 A-M 0010 1010 0 SHIFT -------- siklus 3 0001 0101 0 SHIFT ----- siklus 4
Contoh • Pada Bilangan UnSign 1101x0110 .Pada Bilangan Sign(Komplemen2) 1010x0101
128 64 32 16 8 4 2 1 • 32 • 1 0 0 0 1 0 = -30 • dimana +30 = 11110 komplemen 1 = 00001 Komplemen 2 = 00010 JADI SALAH CING Untuk data 8 bit ==>>> +30 = 00011110 -30 = ……..???? komplemen 1 = 11100001 ---- komplemen 2 = 11100010
OPERASI PEMBAGIAN • Kebalikan dari perkalian, • pembagian (Division) adalah suatu bentuk dari pengurangan yang dilakukan berulang-ulang. • proses ini juga dapat dilakukan pada rangkaian logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shift left register).
Berikut adalah aturan dari pembagian: • Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi (Dividend), lihat hasil pengurangan. Bila hasilnya 1 atau positif : • Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser ke kiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor).
Bila hasilnya 0 atau negatif : • Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiri harus ditambah dulu dengan bilangan pembagi (Divisor). • Setelah digeser ke kiri satu bit, dimulai lagi proses pengurangan oleh bilangan pembagi. • Pengurangan oleh bilangan pembagi dilakukan dengan penjumlahan komplemen2. • Bila dalam penjumlahan tersebut terdapat pindahan (Carry), maka carry tersebut diabaikan.
FLOWCHART PROSES PEMBAGIAN START DIVIDENT + (-DIVISOR) PROSES PEMBAGIAN = 0 ? PRINT “ HASIL BAGI” Y END T GESER KEKIRI SATU BIT T DIVIDENT + DIVISOR HASIL BAGI = 1 ? Y
Perhatikan contoh berikut : 1010 : 410 = 10102 : 1002 Tambahdgnbil. pembagi Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkan setelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.
Integer Division • Once you have committed to implementing multiplication, implementing division is a relatively easy next step that utilizes much of the same hardware • Want to find quotient, Q, and remainder, R, such that D = Q x V + R • Restoring division for unsigned integers o Algorithm adapted from the traditional “pen and paper” approach o Algorithm is of time complexity O(n) for n-bit dividend o Uses essentially the same ALU hardware as the Booth multiplication algorithm • » Adder / subtractor unit • » Double wide shift register AQ that can be shifted to the left • » Register for the divisor • » Control logic
For two’s complement numbers, must deal with the sign extension “problem” • Algorithm: o Load M with divisor, AQ with dividend (using sign bit extension) o Shift AQ left 1 position o If M and A have same sign, A<--A-M, otherwise A<--A+M o Q0<--1 if sign bit of A has not changed or (A=0 AND Q=0), otherwise Q0=0 and restore *A o Repeat shift and +/- operations for all bits in Q o Remainder is in A, quotient in Q » If the signs of the divisor and the dividend were the same, quotient is correct, otherwise, Q is the 2’s complement of the quotien