Representasi Bilangan, Bilangan Unsigned, Signed dan Operasi

advertisement
Representasi Bilangan dan Operasi Aritmatika
Eko Didik Widianto ([email protected])
Sistem Komputer - Universitas Diponegoro
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 1 / 53
Review Kuliah
• Sebelumnya telah dibahas tentang sintesis rangkaian logika dan teknologi
implementasi menggunakan CMOS. Dalam rangkaian logika,
diimplementasikan variabel-variabel (masukan dan keluaran) yang menyatakan
suatu keadaan switch atau kondisi
• Selanjutnya akan dibahas penggunaan variabel ini untuk merepresentasikan
bilangan. Representasi bilangan meliputi unsigned dan signed, fixed-point dan
floating-point. Kemudian dibahas tentang operasi aritmetika baik penjumlahan
maupun pengurangan
◦ Representasi bilangan di sistem digital/komputer
◦ Rangkaian untuk melakukan operasi aritmatika penjumlahan dan
pengurangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 2 / 53
Bahasan
Representasi Posisional
Bilangan Desimal
Bilangan Biner
Bilangan Desimal
Konversi Bilangan
Bilangan Signed
Bilangan Signed
Sign-Magnitude
1’s Complement
2’s Complement
Operasi Aritmetika
Operasi Bilangan Unsigned
Ripple Carry Adder (RCA)
Operasi Bilangan Signed
Unit Penjumlah dan Pengurang
Overflow Aritmatika
Fixed- dan Floating-Point
Bilangan Fixed-Point
Bilangan Floating-Point
Representasi Lainnya
BCD
Kode ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 3 / 53
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
Representasi Posisional
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 4 / 53
Bilangan Integer dan Desimal
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
Bilangan Signed
• Dua tipe bilangan
1. Tak bertanda (unsigned): bilangan yang hanya memuat nilai positif
2. Bertanda (signed): bilangan yang memuat nilai positif dan negatif
Operasi Aritmetika
Fixed- dan Floating-Point
• Sistem desimal, unsigned integer
Representasi Lainnya
◦ bilangan memuat digit yang mempunyai nilai 0-9
◦ Bilangan desimal n-digit dapat dinyatakan sebagai
D = dn−1 dn−2 · · · d1 d0
◦ Bilangan D tersebut mewakili nilai integer
V (D) = dn−1 ×10n−1 +dn−2 ×10n−2 +· · ·+d1 ×101 +d0 ×100
Misalnya: 8547 mewakili 8 × 103 + 5 × 102 + 4 × 101 + 7 × 100
◦ Representasi bilangan tersebut disebut representasi posisional
• Bilangan desimal disebut bilangan radix-10 atau base-10, karena digitnya
mempunayi 10 nilai yang mungkin dan tiap digit berbobot pangkat 10
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 5 / 53
Bilangan Biner
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
Bilangan Signed
• Dalam sistem digital, digunakan bilangan biner atau base-2
◦ Tiap digit (bit, binary digit) mempunyai nilai 0 atau 1
◦ Sebuah variabel mewakili satu bit
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• Representasi posisional bilangan biner n-digit: B = bn−1 bn−2 · · · b1 b0
• Bilangan B tersebut mewakili nilai integer V(B)
V (B) =
bn−1 ×2n−1 +bn−2 ×2n−2 +· · ·+b1 ×21 +b0 ×20
=
n−1
P
bi × 2i
i=0
◦ Misalnya: (1101)2 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = (13)10
• Bilangan n-bit mewakili bilangan integer positif dari 0 . . . 2n − 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 6 / 53
Bilangan Oktal dan Hexadesimal
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
• Representasi posisional dapat digunakan untuk sebarang radix
◦ Untuk radix r, maka untuk bilangan
Bilangan Signed
Operasi Aritmetika
K = kn−1 kn−2 · · · k1 k0 mempunyai nilai integer
n−1
P
ki × ri
i=0
Fixed- dan Floating-Point
Representasi Lainnya
• Bilangan dengan radix 8 disebut oktal
◦ Digit bernilai dari 0 . . . 7
• Bilangan dengan radix 16 disebut hexadesimal (hex)
◦ Digit bernilai dari 0 . . . 9 dan A . . . F
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 7 / 53
Bilangan di Beberapa Representasi
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
Desimal
0
1
2
3
4
5
6
7
Biner
0000
0001
0010
0011
0100
0101
0110
0111
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
Oktal
0
1
2
3
4
5
6
7
Hexa
0
1
2
3
4
5
6
7
Desimal
8
9
10
11
12
13
14
15
Biner
1000
1001
1010
1011
1100
1101
1110
1111
Oktal
10
11
12
13
14
15
16
17
Hexa
8
9
A
B
C
D
E
F
TSK205 Sistem Digital - Siskom Undip – 8 / 53
Konversi Bilangan
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
•
Konversi bilangan biner ke desimal atau sebaliknya
◦
Biner ke desimal
Bilangan Signed
V (B)
Operasi Aritmetika
=
bn−1 × 2n−1 + bn−2 × 2n−2 + · · · + b1 × 21 + b0 × 20
=
n−1
X
Fixed- dan Floating-Point
Representasi Lainnya
bi × 2i
i=0
Misalnya:
(11101011)2
◦
=
27 + 26 + 25 + 23 + 21 + 20
=
(235)10 = 235
Desimal ke biner
• Bagi bilangan desimal D dengan 2, memberikan hasil bagi (quotient)
dan sisa. Sisa nilainya 0 atau 1. Sisa akan menjadi LSB
• Bagi quotient dengan 2, memberikan hasil bagi dan sisa. Ulangi
pembagian quotient sampai quotient=0
• Untuk setiap pembagian, sisa akan merepresentasikan satu bit bilangan
binernya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 9 / 53
Contoh Desimal ke Biner
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 10 / 53
Konversi Biner-Oktal-Hexadesimal
Representasi Posisional
• Bilangan Desimal
• Bilangan Biner
• Bilangan Desimal
• Konversi Bilangan
• Biner - Oktal
◦ 1 digit oktal merupakan grup 3 digit biner
Bilangan Signed
Operasi Aritmetika
◦ Konversi biner - oktal:
Biner
001
000
110
100
Oktal
1
0
6
4
Oktal
2
3
6
7
Biner
010
011
110
111
Fixed- dan Floating-Point
Representasi Lainnya
◦ Konversi oktal - biner:
• Biner - Hexadesimal
◦ 1 digit hexa merupakan grup 4 digit biner
◦ Konversi biner - hexa:
◦ Konversi hexa - biner:
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
Biner
1111
0000
0110
0100
Hexa
F
0
6
4
Hexa
2
A
C
7
Biner
0010
1010
1100
0111
TSK205 Sistem Digital - Siskom Undip – 11 / 53
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
Bilangan Signed (Bertanda)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 12 / 53
Bilangan Signed
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
• Dalam sistem biner, representasi bilangan signed berisi: tanda (sign)
dan besar nilai (magnitude)
◦ Tanda diyatakan oleh bit paling kiri (0: bilangan positif, 1:
bilangan negatif)
Fixed- dan Floating-Point
Representasi Lainnya
• Bilangan n-bit: 1 bit paling kiri menyatakan tanda, n-1 bit berikutnya
menunjukan besar nilai bilangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 13 / 53
Bilangan Sign-Magnitude
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
• Di bilangan signed, terdapat 3 format yang umum digunakan untuk
representasi bilangan negatif
1. Sign-Magnitude
2. 1’s Complement
Fixed- dan Floating-Point
Representasi Lainnya
3. 2’s Complement
• Bilangan sign-magnitude menggunakan 1 bit paling kiri untuk menyatakan
tanda (0: positif, 1: negatif) dan bit sisanya menyatakan magnitude (besar
nilai bilangan). Bilangan 4-bit:
0
1
2
3
4
5
6
7
Positif
0000
0001
0010
0011
0100
0101
0110
0111
Negatif
1000
1001
1010
1011
1100
1101
1110
1111
• Walaupun ini mudah dipahami, tapi ini tidak cocok digunakan di sistem
komputer (dibahas di Operasi Bilangan)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 14 / 53
Bilangan 1’s Complement
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• Skema 1’s Complement:
Bilangan n-bit negatif K dapat diperoleh dari mengurangkan 2n − 1 dengan
bilangan positif ekivalennya P
K = (2n − 1) − P
• Misalnya untuk bilangan 4-bit (n=4):
K = (24 − 1) − P = 15 − P = (1111)2 − P
0
1
2
3
4
5
6
7
Positif
0000
0001
0010
0011
0100
0101
0110
0111
Negatif
1111
1110
1101
1100
1011
1010
1001
1000
• Terlihat bahwa 1’s complement dapat dibentuk dengan mengkomplemenkan
tiap bit bilangan, termasuk bit tanda
• Masih ada kekurangan dari penggunaan 1’s complement (dibahas di
Operasi Bilangan)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 15 / 53
Bilangan 2’s Complement
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• Skema 2’s Complement:
Bilangan n-bit negatif K dapat diperoleh dari mengurangkan 2n
dengan bilangan positif ekivalennya P
K = 2n − P
• Misalnya untuk bilangan 4-bit (n=4):
K = 24 − P = 16 − P = (10000)2 − P
0
1
2
3
4
5
6
7
8
Positif
0000
0001
0010
0011
0100
0101
0110
0111
-
Negatif
0000
1111
1110
1101
1100
1011
1010
1001
1000
• Terlihat bahwa 2’s complement dapat dibentuk dengan
mengkomplemenkan tiap bit bilangan dan menambahkan 1
◦ (2’s complement) = (1’s complement) + 1
• Bilangan signed 2’s complement ini yang sering digunakan dalam
sistem komputer
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 16 / 53
Aturan Mencari 2’s Complement
Representasi Posisional
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• Jika diberikan satu bilangan signed B = bn−1 bn−2 · · · b1 b0 (baik
positif maupun negatif) maka 2’s complementnya
K = kn−1 kn−2 · · · k1 k0 dapat diperoleh dengan
◦ Melihat semua bit B dari kanan ke kiri (mulai b0 , b1 , dst) dan
mengkomplemenkan semua bit setelah nilai ’1’ yang pertama
dijumpai
◦ Jika B=+76 (01001100) maka K=-76 (10110100)
◦ Jika B=-81 (10101111) maka K=+81 (01010001)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 17 / 53
Bilangan Integer Bertanda (Signed Integer) 4-bit
Representasi Posisional
b3 b2 b1 b0
sign-magnitude
1’s complement
2’s complement
0111
+7
+7
+7
0110
+6
+6
+6
0101
+5
+5
+5
0100
+4
+4
+4
0011
+3
+3
+3
0010
+2
+2
+2
0001
+1
+1
+1
0000
+0
+0
+0
1000
-0
-7
-8
1001
-1
-6
-7
1010
-2
-5
-6
1011
-3
-4
-5
1100
-4
-3
-4
1101
-5
-2
-3
1110
-6
-1
-2
1111
-7
-0
-1
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 18 / 53
Jangkauan Bilangan Signed
Representasi Posisional
#Bit
Nama
Jangkauan
Bilangan Signed
• Bilangan Signed
• Sign-Magnitude
• 1’s Complement
• 2’s Complement
4
nible, semioctet
s/d 23 − 1
unsigned: 0 s/d 24 − 1
8
byte, octet
Operasi Aritmetika
signed: − 27 s/d 27 − 1
unsigned: 0 s/d 28 − 1
Fixed- dan Floating-Point
Representasi Lainnya
signed: − 2
3
16
half-word, word, short
signed: − 215 s/d 215 − 1
unsigned: 0 s/d 216 − 1
32
word, long, doubleword, int
signed: − 231 s/d 231 − 1
unsigned: 0 s/d 232 − 1
64
doubleword, int64
signed: − 2
63
s/d 263 − 1
unsigned: 0 s/d 264 − 1
n
Integer n-bit (bentuk umum)
signed: − 2
n−1
s/d 2n−1 − 1
unsigned: 0 s/d 2n − 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 19 / 53
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
Operasi Penjumlahan dan
Pengurangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 20 / 53
Operasi Bilangan Unsigned
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Operasi penjumlahan 2 bilangan 1-bit memberikan 4 kombinasi yang
mungkin
• Diimplementasikan dengan HA (Half-Adder )
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 21 / 53
Rangkaian Full-Adder (FA)
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 22 / 53
Rangkaian Full-Adder (Dekomposisi)
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 23 / 53
Rangkaian Full-Adder (Dekomposisi Lain)
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
• Persamaan:
◦ ci+1 = xi yi + xi ci + yi ci = xi yi + (xi + yi ) ci
◦ si = xi ⊕ yi ⊕ ci
Pengurang
• Overflow Aritmatika
• Anggap gi = xi yi dan pi = xi + yi , maka ci+1 = gi + pi ci
Fixed- dan Floating-Point
Representasi Lainnya
◦ Rangkaian?
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 24 / 53
Operasi Penjumlahan
Representasi Posisional
Bilangan Signed
• Operasi penjumlahan 2 bilangan dengan n-bit (n>1)
Operasi Aritmetika
• Operasi Bilangan
Unsigned
◦ Tiap pasang bit ditambahkan
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
◦ Untuk tiap posisi bit i, operasi penjumlahannya mungkin
melibatkan sebuah carry-in dari bit posisi (i-1)
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 25 / 53
Ripple Carry Adder (RCA)
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
• Operasi penjumlahan dimulai dari pasangan digit paling kanan (LSB)
sampai ke paling kiri (MSB)
• Jika sebuah carry dihasilkan dalam suatu posisi bit i, maka carry tersebut
ditambahkan ke operasi penjumlahan di digit dengan posisi i+1
• Operasi ini dapat diwujudkan dengan sebuah rantai full-adder (FA) yang
dihubungkan seri
Fixed- dan Floating-Point
Representasi Lainnya
◦ Konfigurasi ini disebut sebagai penjumlah ripple-carry
◦ Sinyal carry ’ripple’ dari FA satu ke FA berikutnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 26 / 53
Kekurangan Ripple Carry Adder
Representasi Posisional
•
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Tiap FA mempunyai delay tertentu sebelum keluaran si dan ci+1 valid
◦
•
Pengurang
• Overflow Aritmatika
Misalnya, delay propagasi ∆t
◦
Carry dari FA pertama, c1 , akan sampai di FA kedua dalam waktu ∆t setelah
input x0 dan y0
◦
Carry dari FA kedua, c2 , akan sampai di FA ketiga dalam waktu ∆t setelah
input x1 , y1 dan c1 atau total 2∆t
◦
Dan seterusnya. Sinyal cn−1 valid setelah (n − 1) ∆t, dan jumlah total
akan tersedia setelah delay (n) ∆t
Fixed- dan Floating-Point
Representasi Lainnya
•
Delay total tersebut semakin besar seiring semakin banyak jumlah bit bilangan yang
harus ditambahkan
◦
•
disebut delay propagasi FA dari input ke output
Penjumlahan bilangan n-bit akan membutuhkan waktu (n) ∆t dari bit-bit
masukan tersedia sampai keluaran valid
Delay terbesar dalam rangkaian disebut critical-path delay
◦
Jalur yang menyebabkan delay ini disebut critical path
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 27 / 53
Critical Path RCA
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 28 / 53
Operasi Bilangan Signed
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
• Sign-magnitude
◦ Misalnya: operasi 5-2=? ekivalen dengan 5+(-2)=3. Bagaimana
implementasinya, apakah 0101+1010?
◦ Perlu rangkaian logika untuk membandingkan dan mengurangkan
bilangan
Fixed- dan Floating-Point
Representasi Lainnya
• 1’s complement
◦ Misalnya: (-5)+(-2)=(-7). Ekivalen dengan 1010+1101=(1)0111. Carry
1 harus ditambahkan ke 0111 agar menghasilkan 1000 (=-7)
◦ Perlu koreksi untuk mendapatkan hasil yang benar
• 2’s complement
◦ penjumlahan selalu benar
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 29 / 53
Operasi 2’s Complement
Representasi Posisional
Bilangan Signed
• Penjumlahan
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 30 / 53
Operasi 2’s Complement
Representasi Posisional
Bilangan Signed
• Pengurangan
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 31 / 53
Unit Penjumlah dan Pengurang
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
• Operasi pengurangan dapat direalisasikan sebagai operasi
penjumlahan dengan menggunakan 2’s complement di
pengurangnya (baik positif maupun negatif)
◦ Ini memungkinkan menggunakan rangkaian adder untuk
melakukan penjumlahan dan pengurangan sekaligus
Fixed- dan Floating-Point
Representasi Lainnya
• Note: (2’s complement) = (1’s complement) + 1
• 1’s complement dapat diimplementasikan dengan menggunakan
XOR
◦ x ⊕ 1 = x dan x ⊕ 0 = x
◦ Jika operasi pengurangan dilakukan, 1’s complementkan
bilangan kedua dengan meng-XOR-kan semua bit dengan 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 32 / 53
Unit Penjumlah dan Pengurang
Representasi Posisional
Bilangan Signed
• Menggunakan 2’s complement di bilangan pengurang
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 33 / 53
Overflow Aritmatika
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Jika n-bit digunakan untuk merepresentasikan bilangan signed,
maka hasil penjumlahan atau pengurangan harus dalam jangkauan
−2n−1 sampai +2n−1 − 1
• Jika hasil operasi tidak dalam jangkauan ini, maka telah terjadi
overflow aritmatika
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
◦ Untuk memastikan rangkaian aritmatika beroperasi dengan
benar, perlu pendeteksi kejadian overflow
• Untuk operasi 4-bit, jika c3 dan c4 mempunyai nilai yang sama,
maka tidak terjadi overflow
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 34 / 53
Overflow Aritmatika
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
• Overflow dapat dideteksi dengan:
◦ overflow = c3 ⊕ c4
• Untuk bilangan n-bit
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
◦ overflow = cn−1 ⊕ cn
• Bagaimana rangkaian unit penjumlah/pengurang dengan overflow
detection?
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 35 / 53
Rangkaian Komparator Bilangan
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
• Misalnya: Bandingkan dua bilangan X = x3 x2 x1 x0 dan
Y = y3 y2 y1 y0
◦ Bisa diimplementasikan dengan rangkaian pengurang (X-Y)
◦ Terdapat 3 output: Z, N, V
Z=1 jika (X-Y)=0, hasil lainnya Z=0
• N=1 jika (X-Y)<0, hasil lainnya N=0
• V=1 jika terjadi overflow aritmatika, kalau tidak ada
overflow V=0
•
◦ Tunjukkan bagaimana Z, N, V digunakan untuk menentukan
X=Y, X<Y, X≤Y, X>Y dan X≥Y
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 36 / 53
Solusi
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Misalnya X < Y, kemungkinan yang akan terjadi
◦ Jika X dan Y mempunyai tanda yang sama, tidak akan terjadi
overflow, sehingga V=0. Dan untuk semua nilai X dan Y
(positif/negatif) menghasilkan nilai negatif N=1
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
◦ Saat X negatif dan Y positif, maka (X-Y) akan negatif (N=1) jika tidak
ada overflow (V=0) dan (X-Y) akan positif (N=0) jika terdapat overflow
(V=1)
Fixed- dan Floating-Point
Representasi Lainnya
◦ Sehingga jika X<Y maka N ⊕ V = 1
• Hasil
◦ X=Y terdeteksi saat Z=1
◦ X<Y terdeteksi jika N ⊕ V = 1. X≤Y terdeteksi jika
Z + (N ⊕ V ) = 1
◦ X>Y terdeteksi jika Z + (N ⊕ V ) = 1. X≥Y terdeteksi jika
(N ⊕ V ) = 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 37 / 53
Rangkaian Komparator 4-bit
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Operasi Bilangan
Unsigned
• Ripple Carry Adder (RCA)
• Operasi Bilangan Signed
• Unit Penjumlah dan
Pengurang
• Overflow Aritmatika
Fixed- dan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 38 / 53
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
Bilangan Fixed-Point dan
Floating-Point
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 39 / 53
Bilangan Fixed-Point
Representasi Posisional
•
Bilangan fixed-point terdiri atas bagian integer (digit signifikan) dan pecahan
Bilangan Signed
Operasi Aritmetika
◦
◦
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
•
Digunakan di mesin yang tidak mempunyai FPU (floating-point unit)
Notasi bilangan (n+k) bit: Bn, k = bn−1 bn−2 · · · b1 b0 , b−1 b−2 · · · b−k
◦
•
memungkinkan bilangan pecahan (mis: 75,625)
n: #bit integer (tanpa bit tanda), k: #bit pecahan. Misal: B3,4 adalah bilangan
dengan 3 bit integer dan 4 bit pecahan yang disimpan dalam satu integer 2’s
complement 8-bit
Nilai bilangan: V(Bn, k) =
n−1
P
bi × 2i
i=−k
•
Contoh:
◦ B3, 4 = (0101, 1010)2 = 22 + 1 + 2−1 + 2−3 = 5, 62510 = 5, A16
2
−1
−3
= −5, 62510 =
◦ B3, 4 = (1011, 1010)2 = − 2 + 1 + 2 + 2
B, A16
•
Rangkaian logika untuk fixed-point sama dengan bilangan integer
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 40 / 53
Konversi Bilangan Fixed-Point
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 41 / 53
Konversi Bilangan Fixed-Point
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 42 / 53
Bilangan Floating-Point
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
• Bilangan fixed-point mempunyai range yang dibatasi oleh digit signifikan
yang digunakan untuk merepresentasikan bilangan
• Dalam beberapa aplikasi, diperlukan bilangan yang mungkin sangat
besar atau sangat kecil
Representasi Lainnya
◦ Memerlukan representasi floating-point
◦ Bilangan direpresentasikan dengan mantissa yang berisi bit
signifikan dan eksponen dari radix R
◦ Format: mantisa × Reksponen
◦ Bilangan tersebut seringkali dinormalisasi terhadap radixnya.
Misalnya untuk radix 10: 1, 5 × 1044 atau 1, 25 × 10−36
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 43 / 53
Format IEEE Presisi Tunggal
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
•
IEEE mendefinisikan format 32-bit (single precision) untuk nilai floating-point (IEEE
754-1985)
◦
◦
◦
•
•
•
1-bit sign (S)
8-bit eksponen (E)
23-bit mantissa (M)
Dalam programming dikenal dengan tipe data float (C, C++, Java) dan single
(Pascal, VB, MATLAB)
Nilai bilangan: V(B) = (−1)S
1+
23
P
i=1
b−i × 2−i
× 2E−127
Baca: http://en.wikipedia.org/wiki/Single_precision
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 44 / 53
Bilangan Float 32-bit
Representasi Posisional
•
Representasi bilangan float
Bilangan Signed
Operasi Aritmetika
◦
◦
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
B = (3E200000)16
B=(+)(1.01)2 × 2124−127 = +(0.00101)2 = 0.15625
Representasi Lainnya
•
Nilai eksponen:
◦ Emin = 1, Emax = 254, menghasilkan eksponen (bias=127):
E = 1 − 127 = −126 dan E = 254 − 127 = 127
Eksponen
Signifikan=0
signifikan6=0
Persamaan
subnormal
(−1)S × 0.bit signif ikan × 2−126
(E)
0
0, -0
1-254
255
Nilai ternormalisasi
∞
(−1)S × 1.bit signif ikan × 2E−127
bukan bilangan
(NAN=not-a-number)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 45 / 53
Contoh Bilangan Float 32-bit
Representasi Posisional
Bilangan Signed
• Nyatakan nilai bilangan dari:
Operasi Aritmetika
Fixed- dan Floating-Point
• Bilangan Fixed-Point
• Bilangan Floating-Point
Representasi Lainnya
• Nyatakan bilangan (3.5)10 dalam bentuk IEEE single precision
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 46 / 53
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• BCD
• Kode ASCII
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 47 / 53
BCD
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Binary-coded-decimal mengkodekan bilangan desimal dalam bentuk biner
• Karena terdapat 10 nilai yang harus diwakili, diperlukan 4 bit per digit
Fixed- dan Floating-Point
Representasi Lainnya
◦ Dari 0=0000 sampai 9=1001
• BCD
• Kode ASCII
◦ Contoh: (01111000)BCD = (78)10
• BCD digunakan di sistem komputer terdahulu dan kalkulator, keypad
numerik
◦ Menyediakan format yang memadai saat informasi numerik perlu
ditampilkan di display sederhana berorientasi digit
◦ Tapi, membutuhkan rangkaian yang kompleks untuk melakukan
operasi aritmatika dan masalah efisiensi kode (6 buah kode tidak
digunakan)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 48 / 53
Operasi dengan BCD
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• BCD
• Kode ASCII
• Operasi penjumlahan Z = X + Y
◦ Jika Z ≤ 9, maka S=Z dan Carry=0
◦ Jika Z > 9, maka S=Z+6 dan Carry=1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 49 / 53
Rangkaian Penjumlah BCD 1 Digit
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• BCD
• Kode ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 50 / 53
Implementasi Rangkaian Penjumlah BCD 1 Digit
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• BCD
• Kode ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 51 / 53
Kode ASCII
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
• Kode yang sering digunakan untuk merepresentasikan informasi di
komputer
Fixed- dan Floating-Point
Representasi Lainnya
◦ American Standard Code for Information Interchange
• BCD
• Kode ASCII
◦ bilangan, huruf, tanda baca dan kontrol kode
• Kode ASCII menggunakan pola 7-bit untuk merepresentasikan 128
simbol
◦ digit bilangan (0-9)
◦ karakter (a-z dan A-Z)
◦ tanda baca
◦ kode kontrol
• Kode ASCII ekstended 8-bit mempunyai tambahan simbol untuk 128
karakter grafik (local glyph)
◦ http://en.wikipedia.org/wiki/Extended_ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 52 / 53
Kode ASCII
Representasi Posisional
Bilangan Signed
Operasi Aritmetika
Fixed- dan Floating-Point
Representasi Lainnya
• BCD
• Kode ASCII
•
•
Lihat: http://en.wikipedia.org/wiki/ASCII
Sumber: http://en.wikipedia.org/wiki/File:ASCII_Code_Chart-Quick_ref_card.png
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 53 / 53
Download