TSK205 Kuliah 11 Desain Rangkaian Aritmatika v201703
Operasi dan
Rangkaian Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Operasi dan Rangkaian Aritmatika
Rangkaian Aritmetika
Biner
Kuliah#11 TKC205 Sistem Digital
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Eko Didik Widianto
Rangkaian Penjumlah
Bilangan Lainnya
Departemen Teknik Sistem Komputer, Universitas Diponegoro
Implementasi
Rangkaian Aritmetika
Penutup
11 Maret 2017
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Lisensi
1
Operasi dan
Rangkaian Aritmatika
Review Kuliah
@2017,Eko Didik
Widianto ([email protected])
◮ Di kuliah sebelumnya dibahas tentang:
◮
◮
◮
Unit Penjumlah 1 Bit
Representasi bilangan biner untuk bilangan bulat dan pecahan,
baik tak bertanda maupun bertanda
Bilangan bertanda dinyatakan dalam sign-magnitude, 1’s
complement dan 2’s complement
Bilangan pecahan dinyatakan dengan fixed-point, floating-point
32-bit dan 64-bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
◮ Selanjutnya akan dibahas tentang:
◮
◮
Operasi penjumlahan dan pengurangan bilangan biner serta unit
penjumlah/pengurang
Rangkaian unit penjumlah/pengurang (ALU, Arithmetic Logic Unit)
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penyusun: HA (half-adder), FA (full-adder)
Penutup
Susunan rangkaian penjumlah ripple-carry (RCA)
◮
◮
Rangkaian Penjumlah
Cepat
Lisensi
Rangkaian RCA mempunyai kekurangan terkait delay yang
ditimbulkan
Rangkaian fast adder CLA (carry-lookahead adder) sebagai
pengganti RCA
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
2
Operasi dan
Rangkaian Aritmatika
Review Kuliah: Operasi Bilangan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Operasi: penjumlahan dan pengurangan
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Penjumlahan A+B menghasilkan hasil jumlah (Sum) dan
simpanan (Carry)
Pengurangan A-B = A+(-B). (-B) dinyatakan dengan 2’s
complement
Rangkaian penjumlah/pengurang n bit dapat diwujudkan
dengan n buah FA (full adder, penjumlah penuh)
Kondisi overflow terjadi jika hasil operasi berada di luar
jangkauan bilangan
◮
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
Perlu rangkaian detektor overflow
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
3
Operasi dan
Rangkaian Aritmatika
Tentang Kuliah
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
◮
unit penjumlah 1 bit
◮
operasi penjumlahan dan pengurangan bilangan biner
◮
kondisi overflow dalam operasi aritmetika
◮
unit penjumlah/pengurang n bit
◮
rangkaian penjumlah/pengurang dengan deteksi overflow
◮
desain penjumlah cepat n bit
desain dan simulasi penjumlah cepat 32 bit
◮
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
4
Operasi dan
Rangkaian Aritmatika
Kompetensi Dasar
@2017,Eko Didik
Widianto ([email protected])
◮
Unit Penjumlah 1 Bit
Setelah mempelajari bab ini, mahasiswa akan mampu:
Operasi Aritmetika
Biner
1. [C3] melakukan operasi penjumlahan dan pengurangan
bilangan biner
2. [C4] menganalis rangkaian penjumlah/pengurang bilangan
biner
3. [C4] mampu menganalisis kondisi overflow dalam suatu
operasi aritmetika
4. [C4] menganalisis rangkaian penjumlah/pengurang n-bit
dengan deteksi overflow
5. [C5] mendesain dan menganalisis rangkaian penjumlah
cepat n-bit
◮
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Link
◮
◮
Lisensi
Website: ❤tt♣✿✴✴❞✐❞✐❦✳❜❧♦❣✳✉♥❞✐♣✳❛❝✳✐❞✴✷✵✶✼✴✵✸✴✵✻✴
t❦❝✷✵✺✲s✐st❡♠✲❞✐❣✐t❛❧✲✷✵✶✻✲❣❡♥❛♣✴
Email: [email protected]
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
5
Operasi dan
Rangkaian Aritmatika
Buku Acuan/Referensi
@2017,Eko Didik
Widianto ([email protected])
Eko Didik Widianto, Sistem Digital:
Analisis, Desain dan Implementasi, Edisi
Pertama, Graha Ilmu, 2014 (Bab 9:
Operasi dan Rangkaian Aritmetika
Biner)
◮ Materi:
◮
◮
◮
◮
◮
◮
◮
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
9.1 Unit Penjumlah 1 Bit
9.2-3 Operasi dan Rangkaian
Aritmetika Biner
9.4 Overflow Aritmetika
9.5 Rangkaian Komparator Biner
9.6 Rangkaian Penjumlah Cepat
9.7 Rangkaian Penjumlah Bilangan
Lainnya
9.8 Implementasi Rangkaian Aritmetika
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
◮ Website:
◮
❤tt♣✿✴✴❞✐❞✐❦✳❜❧♦❣✳✉♥❞✐♣✳❛❝✳✐❞✴
❜✉❦✉✴s✐st❡♠✲❞✐❣✐t❛❧✴
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
6
Operasi dan
Rangkaian Aritmatika
Bahasan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Operasi Aritmetika Biner
Rangkaian Aritmetika
Biner
Rangkaian Aritmetika Biner
Overflow Aritmatika
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Komparator Biner
Rangkaian Penjumlah
Bilangan Lainnya
Rangkaian Penjumlah Cepat
Implementasi
Rangkaian Aritmetika
Rangkaian Penjumlah Bilangan Lainnya
Penutup
Lisensi
Implementasi Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
7
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
◮
◮
Komputer mempunyai unit aritmetik dan logika (ALU,
arithmetic logic unit) untuk menjalankan operasi aritmetika
dan logika dari bilangan biner n bit
Operasi aritmetika penjumlahan dan pengurangan
dilakukan oleh rangkaian penjumlah/pengurang
Rangkaian penjumlah/pengurang ini tersusun atas unit
terkecil, yaitu unit penjumlah 1 bit
◮
◮
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Unit penjumlah 1 bit dapat diwujudkan dengan rangkaian
penjumlah setengah (HA, half-adder); dan/atau
rangkaian penjumlah penuh (FA, full-adder).
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Aritmetika
Biner
Penutup
Lisensi
8
Operasi dan
Rangkaian Aritmatika
Operasi Bilangan Unsigned
@2017,Eko Didik
Widianto ([email protected])
◮
Operasi penjumlahan 2 bilangan 1-bit memberikan 4
kombinasi yang mungkin
◮
◮
◮
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Terdapat 2 masukan: x dan y
Menghasilkan Sum dan Carry-out
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Diimplementasikan dengan HA (Half-Adder)
◮
Rangkaian Komparator
Biner
Disebut HA karena tidak ada carry-in yang berasal dari unit
penjumlah sebelumnya
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
9
Operasi dan
Rangkaian Aritmatika
Rangkaian Half-Adder (HA)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
c
=
x ·y
s
=
=
x ·y +x ·y
x ⊕y
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
10
Operasi dan
Rangkaian Aritmatika
Operasi Full-Adder (FA)
@2017,Eko Didik
Widianto ([email protected])
◮ Rangkaian FA menyertakan carry-in yang berasal dari carry-out FA
sebelumnya
◮
◮
Unit Penjumlah 1 Bit
Terdapat 3 masukan: x, y dan carry-in. Selanjutnya dinotasikan
dengan xi , yi dan ci
Menghasilkan 2 keluaran: sum dan carry-out. Selanjutnya
dinotasikan dengan si dan ci+1
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
11
Operasi dan
Rangkaian Aritmatika
Rangkaian Full-Adder (FA)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
ci+1
si
=
X
=
=
X
Implementasi
Rangkaian Aritmetika
m(3, 5, 6, 7)
xi yi + ci xi + ci yi
Penutup
Lisensi
m(1, 2, 4, 7)
=
c i x i yi + c i xi y i + ci x i y i + ci xi yi
= ci ⊕ xi ⊕ y@2017,Eko
i
http://didik.blog.undip.ac.id/buku/sistem-digital/
Didik Widianto ([email protected])
12
Operasi dan
Rangkaian Aritmatika
Rangkaian Dekomposisi FA
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
ci+1
=
=
xi yi + ci (xi ⊕ yi )
xi yi + ci x i yi + ci xi y i
si
=
ci ⊕ xi ⊕ yi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
13
Operasi dan
Rangkaian Aritmatika
Fungsi Full-Adder (Dekomposisi Lain)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Persamaan:
Overflow Aritmatika
ci+1 = xi yi + xi ci + yi ci = xi yi + (xi + yi ) ci
si = xi ⊕ yi ⊕ ci
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Anggap gi = xi yi dan pi = xi + yi , maka ci+1 = gi + pi ci
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
Struktur ini akan digunakan untuk mengurangi delay
rangkaian di rangkaian adder n-bit, terutama propagasi
nilai simpan (Carry)
Digunakan di struktur CLA (carry look-ahead)
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
14
Operasi dan
Rangkaian Aritmatika
Operasi Penjumlahan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Operasi penjumlahan 2 bilangan dengan n-bit (n>1)
◮
◮
Rangkaian Aritmetika
Biner
Tiap pasang bit ditambahkan
Untuk tiap posisi bit i, operasi penjumlahannya mungkin
melibatkan sebuah carry-in dari bit posisi (i-1)
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
15
Operasi dan
Rangkaian Aritmatika
Operasi Bilangan Bertanda
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Sign-magnitude
◮
◮
◮
Operasi Aritmetika
Biner
Misalnya: operasi 5-2=? ekivalen dengan 5+(-2)=3.
Bagaimana implementasinya, apakah 0101+1010?
Perlu rangkaian logika untuk membandingkan dan
mengurangkan bilangan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
1’s complement
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
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
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
◮
2’s complement
◮
penjumlahan selalu benar
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
16
Operasi dan
Rangkaian Aritmatika
Operasi Sign-Magnitude
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Hitung operasi pengurangan X-Y jika X=5 dan Y=2
◮
Solusi. X = 0101 dan Y = 0010. Nilai
(−Y ) = −2 = 1010
Operasi X+(-Y), harusnya menghasilkan 3 atau 0011
bi
b4 b3 b2 b1 b0
Ci
0
0
0
0
Xi
0
1
0
1
(5)
-Yi
1
0
1
0 + (-2) +
Si
1
1
1
1
(-7)
◮
◮
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
Perlu rangkaian logika untuk membandingkan dan
mengurangkan bilangan
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
17
Operasi dan
Rangkaian Aritmatika
Operasi 1’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Hitung operasi pengurangan X-Y jika X=5 dan Y=2
Operasi Aritmetika
Biner
◮
Solusi. X = 0101 dan Y = 0010. Nilai
(−Y ) = −2 = 1101
Operasi X+(-Y), harusnya menghasilkan 3 atau 0011
bi
b4 b3 b2 b1 b0
Ci
1
1
0
1
Xi
0
1
0
1
(5)
-Yi
1
1
0
1 + (-2) +
Si
0
0
1
0
2
Untuk mengoreksi hasil penjumlahan, nilai simpan C4
yang bernilai 1 perlu ditambahkan di S, sehingga
menghasilkan hasil akhir S = 0011
Rangkaian Aritmetika
Biner
◮
◮
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
18
Operasi dan
Rangkaian Aritmatika
Operasi 2’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Penjumlahan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
19
Operasi dan
Rangkaian Aritmatika
Operasi 2’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Pengurangan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
20
Operasi dan
Rangkaian Aritmatika
Penjumlahan Fixed-Point
@2017,Eko Didik
Widianto ([email protected])
◮ Diketahui bilangan fixed-point Q(3,4), A = −1, 625 dan B = 38h.
Tentukan hasil dari operasi berikut: A + B dan A − B
Unit Penjumlah 1 Bit
❴
Operasi Aritmetika
Biner
◮ Solusi. −A = 1, 625 = 0001_1010, sehingga A = 1110 0110
Nilai B = 0011_1000 atau bernilai pecahan B = 3, 5. Nilai
−B = 1100_1000
Rangkaian Aritmetika
Biner
Overflow Aritmatika
bi
Ci
Ai
b4
1
Bi
Si
b3
1
1
b2
1
1
b1
0
1
b0
0
0
b−1
0
0
b−2
0
1
b−3
0
1
b4
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
Rangkaian Komparator
Biner
0
Rangkaian Penjumlah
Cepat
(-1,625)
+
3,500
1,875
+
Implementasi
Rangkaian Aritmetika
◮ Operasi pengurangan A − B = A + (−B) :
bi
Ci
Ai
Bi
Si
b4
1
Penutup
b3
1
b2
0
b1
0
b0
0
b−1
0
b−2
0
b−3
0
b4
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Penjumlah
Bilangan Lainnya
Lisensi
+
(-1,625)
(-3,500)
(-5,125)
@2017,Eko Didik Widianto ([email protected])
+
21
Operasi dan
Rangkaian Aritmatika
Recall:Operasi Penjumlahan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Operasi penjumlahan 2 bilangan dengan n-bit (n>1)
◮
◮
Rangkaian Aritmetika
Biner
Tiap pasang bit ditambahkan
Untuk tiap posisi bit i, operasi penjumlahannya mungkin
melibatkan sebuah carry-in dari bit posisi (i-1)
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
22
Operasi dan
Rangkaian Aritmatika
Rangkaian Ripple Carry Adder (RCA)
◮
◮
◮
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
◮
◮
◮
Konfigurasi ini disebut sebagai penjumlah ripple-carry
Sinyal carry ’ripple’ dari FA satu ke FA berikutnya
RCA ini mempunyai kelemahan, yaitu adanya delay untuk
meripple carry
◮
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Akan diperbaiki dengan struktur CLA
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
23
Operasi dan
Rangkaian Aritmatika
Operasi Rangkaian Penjumlah 4 Bit
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
◮ masukan X [3 : 0] = 0101 dan Y [3 : 0] = 0110
◮ FA0 mendapatkan masukan x0 = 1 dan y0 = 0 serta nilai c0 = 0 sebagai
nilai awalnya
◮
◮
◮
Penutup
Lisensi
Keluaran dari FA0 adalah s0 = 1
membawa simpanan c1 = 0 ke FA1
Demikian seterusnya sampai FA3
◮ Rangkaian menghasilkan keluaran S[3 : 0] = 1011 dan C[4 : 1] = 0100
http://didik.blog.undip.ac.id/buku/sistem-digital/
Implementasi
Rangkaian Aritmetika
@2017,Eko Didik Widianto ([email protected])
24
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah dan Pengurang
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi pengurangan dapat direalisasikan sebagai
operasi penjumlahan dengan menggunakan 2’s
complement di pengurangnya (baik positif maupun negatif)
◮
◮
◮
◮
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
x ⊕ 1 = x dan x ⊕ 0 = x
Jika operasi pengurangan dilakukan, 1’s complementkan
bilangan kedua dengan meng-XOR-kan semua bit dengan 1
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Aritmetika
Biner
Rangkaian Komparator
Biner
Ini memungkinkan menggunakan rangkaian adder untuk
melakukan penjumlahan dan pengurangan sekaligus
Note: (2’s complement) = (1’s complement) + 1
1’s complement dapat diimplementasikan dengan
menggunakan XOR
◮
Operasi Aritmetika
Biner
25
Penutup
Lisensi
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah dan Pengurang
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Menggunakan 2’s complement di bilangan pengurang
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
26
Operasi dan
Rangkaian Aritmatika
Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
◮ Jika n-bit digunakan untuk merepresentasikan bilangan signed, maka
hasil penjumlahan atau pengurangan harus dalam jangkauan
sampai +2n−1 − 1
−2n−1
Unit Penjumlah 1 Bit
◮ Jika hasil operasi tidak dalam jangkauan ini, maka telah terjadi overflow
aritmatika
#Bit, n
Nama
4
nible, semioctet
8
byte, octet
32
word, long, doubleword, int
doubleword, int64
n
Integer n-bit (bentuk
umum)
Overflow Aritmatika
signed: − 23 s/d 23 − 1
unsigned: 0 s/d 24 − 1
signed: − 27 s/d 27 − 1
half-word, word, short
64
Rangkaian Aritmetika
Biner
Jangkauan
16
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
unsigned: 0 s/d 28 − 1
signed: − 215 s/d 215 − 1
unsigned: 0 s/d 216 − 1
signed: − 231 s/d 231 − 1
unsigned: 0 s/d 232 − 1
signed: − 263 s/d 263 − 1
unsigned: 0 s/d 264 − 1
signed: − 2n−1 s/d 2n−1 − 1
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
unsigned: 0 s/d 2n − 1
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Operasi Aritmetika
Biner
27
Operasi dan
Rangkaian Aritmatika
Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Untuk memastikan rangkaian aritmatika beroperasi
dengan benar, perlu pendeteksi kejadian overflow
◮
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Hasil operasi jika overflow, tidak valid
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
◮
Untuk operasi 4-bit, jika c3 dan c4 mempunyai nilai yang
sama, maka tidak terjadi overflow
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Penutup
Lisensi
28
Operasi dan
Rangkaian Aritmatika
Rangkaian Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Overflow dapat dideteksi dengan:
◮
◮
Operasi Aritmetika
Biner
overflow = c3 ⊕ c4
Rangkaian Aritmetika
Biner
Untuk bilangan n-bit
◮
Overflow Aritmatika
overflow = cn−1 ⊕ cn
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
29
Operasi dan
Rangkaian Aritmatika
Contoh Overflow
@2017,Eko Didik
Widianto ([email protected])
◮ Diketahui bilangan fixed-point Q(3,4), A = −4, 625 dan B = 38h.
Unit Penjumlah 1 Bit
Tentukan hasil dari operasi A + B dan A − B serta status overflow dari
operasi tersebut
bi
Ci
Ai
b4
0
Bi
Si
b3
0
1
b2
1
0
b1
1
1
b0
0
1
b−1
0
0
b−2
0
1
b−3
0
1
b4
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
OV
bi
Ci
Ai
Bi
Si
b4
1
=
Overflow Aritmatika
+
3,500
-1,125
+
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
b1
0
b0
0
b−1
0
b−2
0
b−3
0
b4
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
http://didik.blog.undip.ac.id/buku/sistem-digital/
(-4,625)
C3 ⊕ C4 = 0 ⊕ 0 = 0
b2
0
=
Rangkaian Aritmetika
Biner
0
b3
0
OV
Operasi Aritmetika
Biner
Implementasi
Rangkaian Aritmetika
Penutup
+
Lisensi
(-4,625)
(-3,500)
7,875
+
C3 ⊕ C4 = 0 ⊕ 1 = 1
@2017,Eko Didik Widianto ([email protected])
30
Operasi dan
Rangkaian Aritmatika
Rangkaian Komparator Bilangan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Misalnya: Bandingkan dua bilangan X = x3 x2 x1 x0 dan
Y = y3 y2 y1 y0
◮
◮
Overflow Aritmatika
Bisa diimplementasikan dengan rangkaian pengurang (X-Y)
Terdapat 3 output: Z, N, V
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Z=1 jika (X-Y)=0, hasil lainnya Z=0
N=1 jika (X-Y)
Rangkaian Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Operasi dan Rangkaian Aritmatika
Rangkaian Aritmetika
Biner
Kuliah#11 TKC205 Sistem Digital
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Eko Didik Widianto
Rangkaian Penjumlah
Bilangan Lainnya
Departemen Teknik Sistem Komputer, Universitas Diponegoro
Implementasi
Rangkaian Aritmetika
Penutup
11 Maret 2017
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Lisensi
1
Operasi dan
Rangkaian Aritmatika
Review Kuliah
@2017,Eko Didik
Widianto ([email protected])
◮ Di kuliah sebelumnya dibahas tentang:
◮
◮
◮
Unit Penjumlah 1 Bit
Representasi bilangan biner untuk bilangan bulat dan pecahan,
baik tak bertanda maupun bertanda
Bilangan bertanda dinyatakan dalam sign-magnitude, 1’s
complement dan 2’s complement
Bilangan pecahan dinyatakan dengan fixed-point, floating-point
32-bit dan 64-bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
◮ Selanjutnya akan dibahas tentang:
◮
◮
Operasi penjumlahan dan pengurangan bilangan biner serta unit
penjumlah/pengurang
Rangkaian unit penjumlah/pengurang (ALU, Arithmetic Logic Unit)
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penyusun: HA (half-adder), FA (full-adder)
Penutup
Susunan rangkaian penjumlah ripple-carry (RCA)
◮
◮
Rangkaian Penjumlah
Cepat
Lisensi
Rangkaian RCA mempunyai kekurangan terkait delay yang
ditimbulkan
Rangkaian fast adder CLA (carry-lookahead adder) sebagai
pengganti RCA
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
2
Operasi dan
Rangkaian Aritmatika
Review Kuliah: Operasi Bilangan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Operasi: penjumlahan dan pengurangan
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Penjumlahan A+B menghasilkan hasil jumlah (Sum) dan
simpanan (Carry)
Pengurangan A-B = A+(-B). (-B) dinyatakan dengan 2’s
complement
Rangkaian penjumlah/pengurang n bit dapat diwujudkan
dengan n buah FA (full adder, penjumlah penuh)
Kondisi overflow terjadi jika hasil operasi berada di luar
jangkauan bilangan
◮
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
Perlu rangkaian detektor overflow
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
3
Operasi dan
Rangkaian Aritmatika
Tentang Kuliah
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
◮
unit penjumlah 1 bit
◮
operasi penjumlahan dan pengurangan bilangan biner
◮
kondisi overflow dalam operasi aritmetika
◮
unit penjumlah/pengurang n bit
◮
rangkaian penjumlah/pengurang dengan deteksi overflow
◮
desain penjumlah cepat n bit
desain dan simulasi penjumlah cepat 32 bit
◮
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
4
Operasi dan
Rangkaian Aritmatika
Kompetensi Dasar
@2017,Eko Didik
Widianto ([email protected])
◮
Unit Penjumlah 1 Bit
Setelah mempelajari bab ini, mahasiswa akan mampu:
Operasi Aritmetika
Biner
1. [C3] melakukan operasi penjumlahan dan pengurangan
bilangan biner
2. [C4] menganalis rangkaian penjumlah/pengurang bilangan
biner
3. [C4] mampu menganalisis kondisi overflow dalam suatu
operasi aritmetika
4. [C4] menganalisis rangkaian penjumlah/pengurang n-bit
dengan deteksi overflow
5. [C5] mendesain dan menganalisis rangkaian penjumlah
cepat n-bit
◮
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Link
◮
◮
Lisensi
Website: ❤tt♣✿✴✴❞✐❞✐❦✳❜❧♦❣✳✉♥❞✐♣✳❛❝✳✐❞✴✷✵✶✼✴✵✸✴✵✻✴
t❦❝✷✵✺✲s✐st❡♠✲❞✐❣✐t❛❧✲✷✵✶✻✲❣❡♥❛♣✴
Email: [email protected]
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
5
Operasi dan
Rangkaian Aritmatika
Buku Acuan/Referensi
@2017,Eko Didik
Widianto ([email protected])
Eko Didik Widianto, Sistem Digital:
Analisis, Desain dan Implementasi, Edisi
Pertama, Graha Ilmu, 2014 (Bab 9:
Operasi dan Rangkaian Aritmetika
Biner)
◮ Materi:
◮
◮
◮
◮
◮
◮
◮
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
9.1 Unit Penjumlah 1 Bit
9.2-3 Operasi dan Rangkaian
Aritmetika Biner
9.4 Overflow Aritmetika
9.5 Rangkaian Komparator Biner
9.6 Rangkaian Penjumlah Cepat
9.7 Rangkaian Penjumlah Bilangan
Lainnya
9.8 Implementasi Rangkaian Aritmetika
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
◮ Website:
◮
❤tt♣✿✴✴❞✐❞✐❦✳❜❧♦❣✳✉♥❞✐♣✳❛❝✳✐❞✴
❜✉❦✉✴s✐st❡♠✲❞✐❣✐t❛❧✴
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
6
Operasi dan
Rangkaian Aritmatika
Bahasan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Operasi Aritmetika Biner
Rangkaian Aritmetika
Biner
Rangkaian Aritmetika Biner
Overflow Aritmatika
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Komparator Biner
Rangkaian Penjumlah
Bilangan Lainnya
Rangkaian Penjumlah Cepat
Implementasi
Rangkaian Aritmetika
Rangkaian Penjumlah Bilangan Lainnya
Penutup
Lisensi
Implementasi Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
7
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
◮
◮
Komputer mempunyai unit aritmetik dan logika (ALU,
arithmetic logic unit) untuk menjalankan operasi aritmetika
dan logika dari bilangan biner n bit
Operasi aritmetika penjumlahan dan pengurangan
dilakukan oleh rangkaian penjumlah/pengurang
Rangkaian penjumlah/pengurang ini tersusun atas unit
terkecil, yaitu unit penjumlah 1 bit
◮
◮
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Unit penjumlah 1 bit dapat diwujudkan dengan rangkaian
penjumlah setengah (HA, half-adder); dan/atau
rangkaian penjumlah penuh (FA, full-adder).
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Aritmetika
Biner
Penutup
Lisensi
8
Operasi dan
Rangkaian Aritmatika
Operasi Bilangan Unsigned
@2017,Eko Didik
Widianto ([email protected])
◮
Operasi penjumlahan 2 bilangan 1-bit memberikan 4
kombinasi yang mungkin
◮
◮
◮
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Terdapat 2 masukan: x dan y
Menghasilkan Sum dan Carry-out
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Diimplementasikan dengan HA (Half-Adder)
◮
Rangkaian Komparator
Biner
Disebut HA karena tidak ada carry-in yang berasal dari unit
penjumlah sebelumnya
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
9
Operasi dan
Rangkaian Aritmatika
Rangkaian Half-Adder (HA)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
c
=
x ·y
s
=
=
x ·y +x ·y
x ⊕y
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
10
Operasi dan
Rangkaian Aritmatika
Operasi Full-Adder (FA)
@2017,Eko Didik
Widianto ([email protected])
◮ Rangkaian FA menyertakan carry-in yang berasal dari carry-out FA
sebelumnya
◮
◮
Unit Penjumlah 1 Bit
Terdapat 3 masukan: x, y dan carry-in. Selanjutnya dinotasikan
dengan xi , yi dan ci
Menghasilkan 2 keluaran: sum dan carry-out. Selanjutnya
dinotasikan dengan si dan ci+1
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
11
Operasi dan
Rangkaian Aritmatika
Rangkaian Full-Adder (FA)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
ci+1
si
=
X
=
=
X
Implementasi
Rangkaian Aritmetika
m(3, 5, 6, 7)
xi yi + ci xi + ci yi
Penutup
Lisensi
m(1, 2, 4, 7)
=
c i x i yi + c i xi y i + ci x i y i + ci xi yi
= ci ⊕ xi ⊕ y@2017,Eko
i
http://didik.blog.undip.ac.id/buku/sistem-digital/
Didik Widianto ([email protected])
12
Operasi dan
Rangkaian Aritmatika
Rangkaian Dekomposisi FA
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
ci+1
=
=
xi yi + ci (xi ⊕ yi )
xi yi + ci x i yi + ci xi y i
si
=
ci ⊕ xi ⊕ yi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
13
Operasi dan
Rangkaian Aritmatika
Fungsi Full-Adder (Dekomposisi Lain)
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Persamaan:
Overflow Aritmatika
ci+1 = xi yi + xi ci + yi ci = xi yi + (xi + yi ) ci
si = xi ⊕ yi ⊕ ci
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Anggap gi = xi yi dan pi = xi + yi , maka ci+1 = gi + pi ci
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
Struktur ini akan digunakan untuk mengurangi delay
rangkaian di rangkaian adder n-bit, terutama propagasi
nilai simpan (Carry)
Digunakan di struktur CLA (carry look-ahead)
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
14
Operasi dan
Rangkaian Aritmatika
Operasi Penjumlahan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Operasi penjumlahan 2 bilangan dengan n-bit (n>1)
◮
◮
Rangkaian Aritmetika
Biner
Tiap pasang bit ditambahkan
Untuk tiap posisi bit i, operasi penjumlahannya mungkin
melibatkan sebuah carry-in dari bit posisi (i-1)
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
15
Operasi dan
Rangkaian Aritmatika
Operasi Bilangan Bertanda
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Sign-magnitude
◮
◮
◮
Operasi Aritmetika
Biner
Misalnya: operasi 5-2=? ekivalen dengan 5+(-2)=3.
Bagaimana implementasinya, apakah 0101+1010?
Perlu rangkaian logika untuk membandingkan dan
mengurangkan bilangan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
1’s complement
◮
◮
Rangkaian Penjumlah
Bilangan Lainnya
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
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
◮
2’s complement
◮
penjumlahan selalu benar
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
16
Operasi dan
Rangkaian Aritmatika
Operasi Sign-Magnitude
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Hitung operasi pengurangan X-Y jika X=5 dan Y=2
◮
Solusi. X = 0101 dan Y = 0010. Nilai
(−Y ) = −2 = 1010
Operasi X+(-Y), harusnya menghasilkan 3 atau 0011
bi
b4 b3 b2 b1 b0
Ci
0
0
0
0
Xi
0
1
0
1
(5)
-Yi
1
0
1
0 + (-2) +
Si
1
1
1
1
(-7)
◮
◮
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
Perlu rangkaian logika untuk membandingkan dan
mengurangkan bilangan
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
17
Operasi dan
Rangkaian Aritmatika
Operasi 1’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Hitung operasi pengurangan X-Y jika X=5 dan Y=2
Operasi Aritmetika
Biner
◮
Solusi. X = 0101 dan Y = 0010. Nilai
(−Y ) = −2 = 1101
Operasi X+(-Y), harusnya menghasilkan 3 atau 0011
bi
b4 b3 b2 b1 b0
Ci
1
1
0
1
Xi
0
1
0
1
(5)
-Yi
1
1
0
1 + (-2) +
Si
0
0
1
0
2
Untuk mengoreksi hasil penjumlahan, nilai simpan C4
yang bernilai 1 perlu ditambahkan di S, sehingga
menghasilkan hasil akhir S = 0011
Rangkaian Aritmetika
Biner
◮
◮
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
18
Operasi dan
Rangkaian Aritmatika
Operasi 2’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Penjumlahan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
19
Operasi dan
Rangkaian Aritmatika
Operasi 2’s Complement
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Pengurangan
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
20
Operasi dan
Rangkaian Aritmatika
Penjumlahan Fixed-Point
@2017,Eko Didik
Widianto ([email protected])
◮ Diketahui bilangan fixed-point Q(3,4), A = −1, 625 dan B = 38h.
Tentukan hasil dari operasi berikut: A + B dan A − B
Unit Penjumlah 1 Bit
❴
Operasi Aritmetika
Biner
◮ Solusi. −A = 1, 625 = 0001_1010, sehingga A = 1110 0110
Nilai B = 0011_1000 atau bernilai pecahan B = 3, 5. Nilai
−B = 1100_1000
Rangkaian Aritmetika
Biner
Overflow Aritmatika
bi
Ci
Ai
b4
1
Bi
Si
b3
1
1
b2
1
1
b1
0
1
b0
0
0
b−1
0
0
b−2
0
1
b−3
0
1
b4
0
0
0
0
1
0
1
1
1
1
0
1
0
1
0
0
Rangkaian Komparator
Biner
0
Rangkaian Penjumlah
Cepat
(-1,625)
+
3,500
1,875
+
Implementasi
Rangkaian Aritmetika
◮ Operasi pengurangan A − B = A + (−B) :
bi
Ci
Ai
Bi
Si
b4
1
Penutup
b3
1
b2
0
b1
0
b0
0
b−1
0
b−2
0
b−3
0
b4
1
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
1
1
0
1
0
0
0
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Penjumlah
Bilangan Lainnya
Lisensi
+
(-1,625)
(-3,500)
(-5,125)
@2017,Eko Didik Widianto ([email protected])
+
21
Operasi dan
Rangkaian Aritmatika
Recall:Operasi Penjumlahan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Operasi penjumlahan 2 bilangan dengan n-bit (n>1)
◮
◮
Rangkaian Aritmetika
Biner
Tiap pasang bit ditambahkan
Untuk tiap posisi bit i, operasi penjumlahannya mungkin
melibatkan sebuah carry-in dari bit posisi (i-1)
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
22
Operasi dan
Rangkaian Aritmatika
Rangkaian Ripple Carry Adder (RCA)
◮
◮
◮
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
◮
◮
◮
Konfigurasi ini disebut sebagai penjumlah ripple-carry
Sinyal carry ’ripple’ dari FA satu ke FA berikutnya
RCA ini mempunyai kelemahan, yaitu adanya delay untuk
meripple carry
◮
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Akan diperbaiki dengan struktur CLA
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
23
Operasi dan
Rangkaian Aritmatika
Operasi Rangkaian Penjumlah 4 Bit
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
◮ masukan X [3 : 0] = 0101 dan Y [3 : 0] = 0110
◮ FA0 mendapatkan masukan x0 = 1 dan y0 = 0 serta nilai c0 = 0 sebagai
nilai awalnya
◮
◮
◮
Penutup
Lisensi
Keluaran dari FA0 adalah s0 = 1
membawa simpanan c1 = 0 ke FA1
Demikian seterusnya sampai FA3
◮ Rangkaian menghasilkan keluaran S[3 : 0] = 1011 dan C[4 : 1] = 0100
http://didik.blog.undip.ac.id/buku/sistem-digital/
Implementasi
Rangkaian Aritmetika
@2017,Eko Didik Widianto ([email protected])
24
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah dan Pengurang
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi pengurangan dapat direalisasikan sebagai
operasi penjumlahan dengan menggunakan 2’s
complement di pengurangnya (baik positif maupun negatif)
◮
◮
◮
◮
@2017,Eko Didik Widianto ([email protected])
Overflow Aritmatika
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
x ⊕ 1 = x dan x ⊕ 0 = x
Jika operasi pengurangan dilakukan, 1’s complementkan
bilangan kedua dengan meng-XOR-kan semua bit dengan 1
http://didik.blog.undip.ac.id/buku/sistem-digital/
Rangkaian Aritmetika
Biner
Rangkaian Komparator
Biner
Ini memungkinkan menggunakan rangkaian adder untuk
melakukan penjumlahan dan pengurangan sekaligus
Note: (2’s complement) = (1’s complement) + 1
1’s complement dapat diimplementasikan dengan
menggunakan XOR
◮
Operasi Aritmetika
Biner
25
Penutup
Lisensi
Operasi dan
Rangkaian Aritmatika
Unit Penjumlah dan Pengurang
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Operasi Aritmetika
Biner
Menggunakan 2’s complement di bilangan pengurang
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
26
Operasi dan
Rangkaian Aritmatika
Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
◮ Jika n-bit digunakan untuk merepresentasikan bilangan signed, maka
hasil penjumlahan atau pengurangan harus dalam jangkauan
sampai +2n−1 − 1
−2n−1
Unit Penjumlah 1 Bit
◮ Jika hasil operasi tidak dalam jangkauan ini, maka telah terjadi overflow
aritmatika
#Bit, n
Nama
4
nible, semioctet
8
byte, octet
32
word, long, doubleword, int
doubleword, int64
n
Integer n-bit (bentuk
umum)
Overflow Aritmatika
signed: − 23 s/d 23 − 1
unsigned: 0 s/d 24 − 1
signed: − 27 s/d 27 − 1
half-word, word, short
64
Rangkaian Aritmetika
Biner
Jangkauan
16
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
unsigned: 0 s/d 28 − 1
signed: − 215 s/d 215 − 1
unsigned: 0 s/d 216 − 1
signed: − 231 s/d 231 − 1
unsigned: 0 s/d 232 − 1
signed: − 263 s/d 263 − 1
unsigned: 0 s/d 264 − 1
signed: − 2n−1 s/d 2n−1 − 1
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
unsigned: 0 s/d 2n − 1
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Operasi Aritmetika
Biner
27
Operasi dan
Rangkaian Aritmatika
Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Untuk memastikan rangkaian aritmatika beroperasi
dengan benar, perlu pendeteksi kejadian overflow
◮
Rangkaian Aritmetika
Biner
Overflow Aritmatika
Hasil operasi jika overflow, tidak valid
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
◮
Untuk operasi 4-bit, jika c3 dan c4 mempunyai nilai yang
sama, maka tidak terjadi overflow
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
Penutup
Lisensi
28
Operasi dan
Rangkaian Aritmatika
Rangkaian Overflow Aritmatika
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
◮
Overflow dapat dideteksi dengan:
◮
◮
Operasi Aritmetika
Biner
overflow = c3 ⊕ c4
Rangkaian Aritmetika
Biner
Untuk bilangan n-bit
◮
Overflow Aritmatika
overflow = cn−1 ⊕ cn
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
Implementasi
Rangkaian Aritmetika
Penutup
Lisensi
http://didik.blog.undip.ac.id/buku/sistem-digital/
@2017,Eko Didik Widianto ([email protected])
29
Operasi dan
Rangkaian Aritmatika
Contoh Overflow
@2017,Eko Didik
Widianto ([email protected])
◮ Diketahui bilangan fixed-point Q(3,4), A = −4, 625 dan B = 38h.
Unit Penjumlah 1 Bit
Tentukan hasil dari operasi A + B dan A − B serta status overflow dari
operasi tersebut
bi
Ci
Ai
b4
0
Bi
Si
b3
0
1
b2
1
0
b1
1
1
b0
0
1
b−1
0
0
b−2
0
1
b−3
0
1
b4
0
1
0
1
1
1
1
0
1
1
0
1
0
1
0
0
OV
bi
Ci
Ai
Bi
Si
b4
1
=
Overflow Aritmatika
+
3,500
-1,125
+
Rangkaian Komparator
Biner
Rangkaian Penjumlah
Cepat
Rangkaian Penjumlah
Bilangan Lainnya
b1
0
b0
0
b−1
0
b−2
0
b−3
0
b4
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
1
0
0
0
http://didik.blog.undip.ac.id/buku/sistem-digital/
(-4,625)
C3 ⊕ C4 = 0 ⊕ 0 = 0
b2
0
=
Rangkaian Aritmetika
Biner
0
b3
0
OV
Operasi Aritmetika
Biner
Implementasi
Rangkaian Aritmetika
Penutup
+
Lisensi
(-4,625)
(-3,500)
7,875
+
C3 ⊕ C4 = 0 ⊕ 1 = 1
@2017,Eko Didik Widianto ([email protected])
30
Operasi dan
Rangkaian Aritmatika
Rangkaian Komparator Bilangan
@2017,Eko Didik
Widianto ([email protected])
Unit Penjumlah 1 Bit
Operasi Aritmetika
Biner
◮
Misalnya: Bandingkan dua bilangan X = x3 x2 x1 x0 dan
Y = y3 y2 y1 y0
◮
◮
Overflow Aritmatika
Bisa diimplementasikan dengan rangkaian pengurang (X-Y)
Terdapat 3 output: Z, N, V
◮
◮
◮
◮
Rangkaian Aritmetika
Biner
Z=1 jika (X-Y)=0, hasil lainnya Z=0
N=1 jika (X-Y)