Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
CPU ARITHMATIC
2
Data representation Integer Representation
Floating Point Representation
3
Contoh : Representasi 8 bit +42 des = 00101010 -42 des = 10101010
4
Contoh : Representasi 8 bit +42 des = 00101010 -42 des = 11010101
6
Representasi biner 4 bit
Bil. Desimal Sign Magnitude One Complement Two Complement +8 +7 +6 +5 +4 +3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6 -7 -8
7
ALU (Arithmetic and Logic Unit) Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer. Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder.
8
Ada 2 jenis Adder : 1. Rangkaian Adder yang hanya menjumlahkan dua bit disebut Half Adder. 2. Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder. 3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder Half Adder & Full Adder SUDAH DIKETAHUI SEBELUMNYA
9
Parallel Adder Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full Adder yang diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiri dari 4 buah Full Adder yang tersusun parallel sehingga membentuk sebuah penjumlah 4 bit.
11
Penjumlahan Biner Ada 4 kondisi yang terjadi pada penjumlahan biner yaitu apabila 0 + 0, 0 + 1, 1 + 0,dan Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh pada bilangan desimal = 7 dengan carry out = 0, = 8 dengan carry out = 1.
13
OPERASI PENGURANGAN ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
14
OPERASI PERKALIAN Dibanding operasi + dan -, mempunyai kompleks baik dari Hardware dan Software. Coba dikalikan 1011 X 1101 = … ???
15
Operasi perkalian pada bilangan integer un-sign
16
Diagram operasi perkalian
17
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.
18
Contoh Perkalian pada Bilangan Unsign
1011 X 1101 = … ??? Nilai disimpan dalam register Q sebagai Multiplier . Nilai 1011 disimpan dalam register M sebagai Multiplikan.
19
Contoh Hasil C A Q 0 0000 1101 inisialisasi nilai 0 1011 1101 ADD
SHIFT siklus 1 SHIFT siklus 2 ADD SHIFT Siklus 3 ADD SHIFT siklus 4 Product di reg A dan Q
20
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 komplemen ’2 senilai dgn -3d
21
Algoritma Booth Multiplier dan Multiplikan di reg Q dan M
Terdapat 1 reg di sebelah kanan Q0 sehingga Q3 Q2 Q1 Q0 Q-1 3. Hasil perkalian muncul di reg A dan Q 4. Pertama kali (Inisialisasi), Reg A dan Q-1 diinisialisasi Nol 5. 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 A3 dng bit 1 0 dan 1 maka multiplikan dikurangi dengan A, lalu SHIFT. – insert di A3 dng bit 0
22
Contoh jika Q = 0011 ( 3des) dan M = 1001 (-7des)
A Q Q-1 initial A+M SHIFT --- siklus 1 SHIFT siklus 2 A-M SHIFT siklus 3 SHIFT siklus 4
23
Contoh Pada Bilangan UnSign 1101x0110 .Pada Bilangan Sign(Komplemen2)
24
32 = -30 dimana +30 = komplemen 1 = 00001 Komplemen 2 = JADI SALAH CING Untuk data 8 bit ==>>> +30 = -30 = ……..???? komplemen 1 = komplemen 2 =
26
OPERASI PEMBAGIAN Kebalikan dari perkalian,
Operasi PEMBAGIAN (Division) adalah suatu bentuk dari pengurangan yang dilakukan berulang-ulang. D = V x Q + R dimana D = dividend, V=divisor, Q=Quotient, R = Remainder Proses ini juga dapat dilakukan pada rangkaian Digital (logika) dengan cara pengurangan dan penggeseran ke kiri (menggunakan shift left register). Algoritma Booth pada Operasi Pembagian dilakukan seperti Flowchart berikut :
28
EXPLANATION DIVISION PROCESS
29
Integer Division D = Q x V + R
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
31
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
34
ALGORITMA PEMBAGIAN LAINNYA :
Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi (Dividend), lihat hasil pengurangan. Bila hasil carry-nya 1 atau tandanya positif : Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser ke kiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor).
35
Bila hasil carry-nya 0 atau tandanya 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.
36
FLOWCHART PROSES PEMBAGIAN
START DIVIDENd+ (-DIVISOR) PROSES PEMBAGIAN = 0 ? (0000) PRINT “ HASIL BAGI” Y END T GESER KEKIRI SATU BIT T DIVIDENd + DIVISOR HASIL BAGI = 1 ? Y
37
Perhatikan contoh berikut : 1010 : 410 = 10102 : 1002
+10 des -4 des Tambah dgn bil. pembagi +4 des 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.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.