Size Representation
(Jumlah Bit)
Berdasarkam Jumlah Bit :::: (Ref : Prosesor
Intel)
•
Nybble : 4 bit
•
Byte
: 8 bit ---
DB (DEFINE BYTE)
•
Word
: 16 bit ---
DW (DEFINE WORD)
•
Double Word : 32 bit ---
DD (DEFINE DOUBLE
WORD)
Data representation
Berdasarkan Representasi ::::
•
Integer Representation
•
Floating Point Representation
Berdasarkan Sign (Tanda) ::::
•
Unsign (tidak mengenal bilangan negatif)
•
Sign (mengenal bilangan positif dan
Format Integer
Representation
•
Sign Magnitude
•
Complement 1
Contoh : Representasi 8 bit
+42 des =
0
0101010
Contoh : Representasi 8 bit
+42 des = 00101010
Representasi biner 4 bit
Bil. Desimal Sign Magnitude One Complement Two Complement
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
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
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
Penjumlahan Biner
Ada 4 kondisi yang terjadi pada penjumlahan
biner yaitu apabila 0 + 0, 0 + 1, 1 + 0,dan
1 + 1.
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 2 +
5 = 7 dengan
carry out = 0, 9 + 9 = 8
OPERASI PENGURANGAN
diubah dalam operasi
penjumlahan
Jika 824d – 278d = 546d akan sama jika
824d + (–278d) = 546d
Negatif bil desimal
dengan 2 cara :
komplemen9 dan komplemen 10
Negatif bil Biner
dengan 2 cara :
komplemen1 dan komplemen2
0110
0110
0110
0011
1100
1101
00100101
00001100
_________
-...
Lakukan hal yang sama dengan
OPERASI PERKALIAN
•
Dibanding operasi + dan -, mempunyai
kompleks baik dari Hardware dan
Software.
•
Coba dikalikan
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
Contoh Perkalian
pada Bilangan Unsign
1011 X 1101 = … ???
Nilai 1101 disimpan dalam register Q
sebagai Multiplier .
Contoh Hasil Perkalian
Q=1101 dan M=1011
C A Q
0 0000 1101 inisialisasi nilai
0 1011 1101 A←A+M
0 0101 1110 SHIFT Right, c←0 --- siklus 1
0 0010 1111 SHIFT Right , c←0 ---- siklus 2
0 1101 1111 A←A+M
0 0110 1111 SHIFT Right , c←0 ---- Siklus 3
1 0001 1111 A←A+M
0 1000 1111 SHIFT Right , c←0 --- siklus 4
ALGORITMA BOOTH
•
Algoritma di atas, hanya digunakan
untuk bilangan Unsign (Tidak Bertanda).
•
Untuk bilangan Bertanda (Sign), yaitu
Bilangan dengan komplemen-2, perlu
ALGORITMA BOOTH.
Contoh :
Algoritma Booth
Pada Bilangan Sign
1. Multiplier dan Multiplikan di reg Q dan M
2. Terdapat 1 reg di sebelah kanan Q0 sehingga
Q3 Q2 Q1 Q0 Q
-13. Hasil perkalian muncul di reg A dan Q
4. Pertama kali (Inisialisasi), Reg A dan Q
-1diinisialisasi Nol
5. Contol Logic mengecek bit pada Q0 dan Q
-1a. Bila sama
(1 dan 1 atau 0 dan 0), maka bit pada reg A, Q, Q
-1digeser
kekanan 1 bit. (perintah SHIFT Right saja).
b. Bila BEDA
1 dan 0 maka multiplikan ditambahkan ke reg A, lalu SHIFT
– insert di A3 dng bit 1
Contoh Perkalian Bilangan Sign
Selanjutnta dilakukan komplemen2 menjadi
Contoh
•
Pada Bilangan UnSign
1101x0110
•
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
•
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 :
Contoh
Bilangan 7 : 3
quotient = 2,
remainder = 1
A Q Keterangan
0000 0111 Initial Value
0000 1110 Shift Left 1101 A←A-M
0000 1110 Krn A<0 A←A+M dan Qo←0
0001 1100 Shift Left 1110 A←A-M
0001 1100 Krn A<0 A←A+M dan Qo←0
0011 1000 Shift Left 0000 A←A-M
0000 1001 Krn A≥0 Qo←1
Contoh Lain untuk LATIHAN
•
Coba Uraikan Algoritma Booth untuk
operasi Pembagian
TUGAS MTE
1. Tuliskan representasi biner 8 bit dengan Sign Magnitude,
komplemen1 dan Komplemen2 pada bilangan positif dan negatifnya : 42, 47, 52, 57, 62,
67, 72, 77, 82, 87, 92, 97, 102, 107, 112,
117, 122, 126 55 109
2. Urutkan langkah perkalian bilangan sign dengan algoritma Booth: 0001x0111 1001 x 0101 0110 x 1000 0101 x 0100 1000 x 0010 0011x0111 1010x0101 0110 x 1011 0101 x 0101 1111 x 0010 0101x0111 1100x 0101 0110x 1111 0101 x 0110 1001x 1100 0111x0111 1101x 0101 0110x 1100 0110 x 0111 1011x 1010 3. Urutkan langkah pembagian bilangan biner dari bilangan desimal berikut:
7:6 6:6 5:5 7:1 5:1 7:5 6:5 5:4 6:2 4:4
EXPLANATION
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 fnd 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
•
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,
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
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
Perhatikan contoh berikut :
10
10: 4
10= 1010
2: 100
2Tambah dgn bil. pembagi
Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang
Test Pemahaman Diri
1. Tentukan represenstasi sign magnitude, komplemen 1, dan komplemen 2 untuk bilangan desimal berikut :
A. 26, -26, 119. -119 B. 31, -31, 107, -107
2. Kurangkan bilangan biner berikut dengan komplemen 1 dan komplemen 2
A. 01100101 – 00011010 B. 01101010 – 00100111
3. Proses perkalian A. 1001 x 1110
B. 1010 x 1100
4. Tentukan hasil representasi foating point 32 bit untuk bilangan : A. – 0,00011000001