operasi perkalian
DESCRIPTION
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 . - PowerPoint PPT PresentationTRANSCRIPT
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.1. Jika bit Q0 = 1, maka multiplikan ditambahkan
ke reg A (perintah ADD) Setelah itu seluruh bit pada reg C, A, Q digeser
kekanan 1 bit ( perintah SHIFT)
2. Bila Q0=0, maka hanya perintah SHIFT saja, tidak terjadi penambahan.
Contoh Perkalian pada Bilangan Unsign
1011 X 1101 = … ???
Nilai 1101 disimpan dalam register Q sebagai Multiplier .
Nilai 1011 disimpan dalam register M sebagai Multiplikan.
Contoh HasilC A Q0 0000 1101 inisialisasi nilai
0 1011 1101 ADD0 0101 1110 SHIFT ----- siklus 1
0 0010 1111 SHIFT ---- siklus 2
0 1101 1111 ADD0 0110 1111 SHIFT ---- Siklus 3
1 0001 1111 ADD0 1000 1111 SHIFT ----- siklus 4
Product di reg 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 13d1101 bilangan komplemen2 senilai dgn -3d
Algoritma Booth1. Multiplier dan Multiplikan di reg Q dan M2. Terdapat 1 reg di sebelah kanan Q0 sehingga
Q3 Q2 Q1 Q0 Q-1
3. Hasil perkalian muncul di reg A dan Q4. Reg A dan Q-1 diinisialisasi Nol5. Contol Logic mengecek bit pada Q0 dan Q-1
a. Bila sama (1 dan 1 atau 0 dan 0), maka bit pada reg A, Q, Q-1 digeser kekanan 1 bit. (perintah SHIFT saja).
b. Bila BEDA 1 dan 0 maka multiplikan ditambahkan ke reg A, lalu SHIFT
– insert di Q3 dng bit 10 dan 1 maka multiplikan dikurangi dengan A, lalu SHIFT. – insert di Q3 dng bit 0
Contoh jika Q = 0011 ( 3des) dan M = 1001 (-7des) A Q Q-1 0000 0011 0 initial1001 0011 0 A+M1100 1001 1 SHIFT --- siklus 1
1110 0100 1 SHIFT ---- siklus 2
0101 0100 1 A-M0010 1010 0 SHIFT -------- siklus 3
0001 0101 0 SHIFT ----- siklus 4
Contoh
• Pada Bilangan UnSign1101x0110
.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 = 00001Komplemen 2 = 00010 JADI SALAH CING
Untuk data 8 bit ==+30 = 00011110 -30 = ……..???? komplemen 1 = 11100001 ---- komplemen 2 =
11100010
• 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).
OPERASI PEMBAGIAN
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 ?
HASIL BAGI =
1 ?
DIVIDENT + DIVISOR
PRINT “ HASIL BAGI”
GESER KEKIRISATU BIT
ENDY
T
T
Y
Perhatikan contoh berikut : 1010 : 410 = 10102 : 1002
Tambah dgn bil. 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