RANGKAIAN ARITMATIKA
6.1 Pendahuluan
Pada saat ini banyak dihasilkan mesin-mesin berteknologi tinggi seperti
komputer atau kalkulator yang mampu melakukan fungsi operasi aritmatik yang
cukup kompleks (misalnya penjumlahan, pengurangan, perkalian, pembagian
pembandingan dan sebagainya) atau operasi logika (misalnya Or, And, Not, Nor,
Nand, Exclusive-Or dan sebagainya), dengan ketelitian dan kecepatan yang sangat
luar biasa. Untuk itu pada bab ini akan dibahas beberapa rangkaian digital yang
dapat melakukan operasi aritmatika dalam bilangan biner.
Dari tabel 5.1 tersebut dapat diperoleh persamaan kedua keluaran, yaitu :
Luapan (Overflow/Carry) : C = AB
HALF
106
ADDER
107
Masukan Keluaran
B C
Masukan A Sum
B
Keluaran
Carry
Dari tabel 6.2 tersebut dapat diperoleh persamaan kedua keluaran, yaitu :
A
FULL S
Masukan B ADDER Keluaran
Cout
Cin
108
Masukan B Sum
C in
Keluaran
Carry
Masukan
B 3
A 3
B 2
A 2
B 1
A 1
B 0
A 0
C 3
C 2
C 1
C 0
C 4 FA 3 FA 2 FA 1 FA 0
S 3
S 2
S 1
S 0
Keluaran
berikutnya dan diperoleh hasil penjumlahan yang benar, efek ini dinamakan
perambatan luapan (carry propagation atau carry ripple), yang disebabkan oleh
penundaan perambatan tiap FA. Contoh :
00111
10101 Yang dijumlah (Augend)
00111 Penjumlah (Addend)
B 4 S 4 C 4 C 0 GND B 1 A 1 S 1
16 15 14 13 12 11 10 9
7483
1 2 3 4 5 6 7 8
A 4 S 3 A 3 B 3 V CC S 3 B 2 A 2
Bit tanda
0 Penjumlahan
1 Pengurangan
Luapan /
Pinjaman
C 4 FA 4-Bit C 0
S 3
S 2
S 1
S 0
Register Geser
SET SET SET SET LSB
D Q D Q D Q D Q
A3 A2 A1 A0
CLR
Q CLR
Q CLR
Q CLR
Q
Sum
FA
Carry out
Register Geser
Carry in
SET SET SET SET LSB
D Q D Q D Q D Q
B3 B2 B1 B0
CLR
Q CLR
Q CLR
Q CLR
Q
SET
D Q
Clock CLR
Q
Pulsa clear
Hasil jumlahnya (Sum) diberikan ke masukan D dari Register A3, dan akan
muncul pada keluaran A3 saat pemberian pulsa Clock. Demikian pula keluaran B0
dihubungkan ke masukan D dari Register B3, dan akan muncul pada keluaran B3
bersamaan dengan pemberian pulsa Clock. Dengan cara ini maka Register B tetap
setelah operasi pergeseran selesai.
Tabel 6.3 Proses Penjumlah Serial
Pulsa Register A Register B Carry in Keluaran Keluaran
Clock A3 A2 A1 A0 B3 B2 B1 B0 (Keluaran Q) Sum Carry
Awal 0 1 1 1 0 0 1 0 0 1 0
Pertama 1 0 1 1 0 0 0 1 0 0 1
Kedua 0 1 0 1 1 0 0 0 1 0 1
Ketiga 0 0 1 0 0 1 0 0 1 1 0
Keempat 1 0 0 1 0 0 1 0 0 1 0
Hasil Jumlah
akhir
Operasi Adder serial ini dapat dengan mudah dipahami dengan contoh
berikut, misalnya Augend = 0111 yang disimpan di Register A dan Addend =
113
4 7 8 Kode Desimal
0100 0111 1000 Kode BCD
0 0 0 0 1 1 0 0 0 0 1 1
0 0 0 1 0 2 0 0 0 1 0 2
0 0 0 1 1 3 0 0 0 1 1 3
0 tanpa
0 1 0 0 4 0 0 1 0 0 4
koreksi
0 0 1 0 1 5 0 0 1 0 1 5
0 0 1 1 0 6 0 0 1 1 0 6
0 0 1 1 1 7 0 0 1 1 1 7
0 1 0 0 0 8 0 1 0 0 0 8
0 1 0 0 1 9 0 1 0 0 1 9
0 1 0 1 0 A 1 0 0 0 0 10
0 1 0 1 1 B 1 0 0 0 1 11
0 1 1 0 0 C 1 0 0 1 0 12
0 1 1 0 1 D 1 0 0 1 1 13
0 harus
1 1 1 0 E 1 0 1 0 0 14
dikoreksi
0 1 1 1 1 F 1 0 1 0 1 15
1 0 0 0 0 10 1 0 1 1 0 16
1 0 0 0 1 11 1 0 1 1 1 17
1 0 0 1 0 12 1 1 0 0 0 18
1 0 0 1 1 13 1 1 0 0 1 19
S 1 S0
00 01 11 10
00 0 0 0 0
01 0 0 0 0
S3 S2
11 1 1 1 1
10 0 0 1 1
Bilangan Bilangan
BCD BCD
B 3
B 2
B 1
B 0
A 3
A 2
A 1
A 0
C 4
C 0
S 3
S 2
S 1
S 0
C 4
B 3
B 2
B 1
B 0
A 3
A 2
A 1
A 0
C 0
diabaikan
C n
S 3
S 2
S 1
S 0
Hasil Jumlah
BCD
C0 = 0
S4 S3
Ke Ke
masukan S5 S2 masukan
D4 - D7 S6
Adder Paralel 8-Bit S1 D0 - D3
FF - A FF - A
S7 S0
Yang dikalikan B7 B6 B5 B4 B3 B2 B1 B0
D7 D6 D5 D4 D3 D2 D1 D0
(Multiplicand)
Pengali
(Multiplier)
D X3 D X2 D X1 D X0
4. Pulsa Clock ketiga, LSB Pengali (keluaran X0) adalah 1, sehingga sisi positif
pulsa Clock menyebabkan Register A berisi data dari keluaran Adder yang
berasal dari penjumlahan isi Multiplicand dengan isi Register A (Accumulator)
yaitu 00110111. Sedangkan pada sisi negatif pulsa Clock menyebabkan isi
Register B bergeser kekiri menjadi 01011000 dan isi Register X bergeser
kekanan menjadi 0001, menyebabkan keluaran Adder adalah hasil penjumlahan
isi Register A (00110111) dan isi Register B (01011000) yaitu 10001111.
Kondisi ini ditunjukkan pada gambar 6.9(d).
5. Pulsa Clock ketiga, LSB Pengali (keluaran X0) adalah 1, sehingga sisi positif
pulsa Clock menyebabkan Register A berisi data dari keluaran Adder yaitu
penjumlahan isi Register B dengan isi Register A yaitu 100011111. Sedangkan
pada sisi negatif pulsa Clock menyebabkan isi Register B bergeser kekiri
menjadi 10110000 dan isi Register X bergeser kekanan menjadi 0000,
menyebabkan keluaran Adder adalah hasil penjumlahan isi Register A
(10001111) dan isi Register B (10110000) yaitu 00111111. Kondisi ini
ditunjukkan pada gambar 6.9(e). Jadi Hasil perkalian (product) disimpan di
Register A (Accumulator).
Hasil Jumlah
00001011
(a)
(b)
(c)
(d)
(e)
Gambar 6.9 Isi Register Pada Proses Perkalian 1011 Dengan 1101
6.8 Permasalahan
6.8.1 Tunjukkanlah bagaimana Full Adder disusun dari Half Adder !
6.8.2 Dari gambar 6.5, berapakah keluaran FA untuk menjumlahkan :
(a) 7 + (– 7) (b) 5 + 10 (c) 5 + (-10) (d) 10 + (-5)
121
6.8.3 Ubahlah gambar 6.5 sehingga dapat digunakan untuk menjumlahkan dua
bilangan negatif dan hasil jumlahnya dalam bentuk TMF !
6.8.4 Rancanglah rangkain Look Ahead Carry untuk Adder 4-bit yang membang-
kitkan Carry C3 agar bisa dijumlahkan dengan MSB FA yang didasarkan oleh
nilai A0, B0, A1, B1, A2 dan B2 (Petunjuk : mulai dengan menulis ekspresi C1
dalam fungsi A0, B0 dan C0, lalu tuliskan ekspresi C2 dalam fungsi A1, B1 dan
C1, kemudian substitusilah C1 kedalam ekspresi C2. Tulislah ekspresi C3
dalam fungsi A2, B2 dan C2, lalu substitusilah ekspresi C2 kedalam C3.
Sederhanakan ekspresi akhir C3 dalam bentuk hasil penjumlahan dari hasil
perkalian (Sum Of Product / SOP) dan buatlah rangkaiannya !
6.8.5 Berapakah waktu penundaan perambatan maksimum untuk Adder 8-bit yang
tersusun dari Gate-Gate logika, apabila waktu penundaan perambatan tiap
Gate adalah 20 ndetik ?
6.8.6 Penjumlah serial gambar 6.6 mempunyai waktu penundaan propagasi FA
adalah 50 ndetik dan FF adalah 20 ndetik, hitunglah frekuensi maksimum
pulsa Clock !
6.8.7 Gambarkanlah urutan keadaan tiap FF dan keluaran FA pada Penjumlah
serial gambar 6.6 untuk menjumlahkan 10 dan 7 ! Serta bagaimanakah
caranya apabila digunakan untuk penjumlahan 10 dan – 7 ?
6.8.8 Rancanglah Penjumlah BCD 3 digit dan tentukanlah keluaran Sum untuk
menjumlahkan kode BCD 376 dan 469 !
6.8.9 Tunjukkanlah isi Register A, B dan X serta keluaran Adder S 0 – S7 setelah
tiap pulsa setelah proses perkalian 0111 (Multiplicand) dan 1001 (Multiplier)
dengan menggunakan rangkaian Pengali gambar 6.8 !