RANGKAIAN ARITMATIKA
Dalam komputer, perhitungan aritmatika seperti penambahan dan pengurangan biner dilakukan
dalam arithmetic logic unit (ALU)yang terdiri dari gerbang logika dan flip-flop. Gerbang logika
menjalankan operasi aritmatika sementara flip-flop (yaitu register danakumulator) digunakan
sebagai penyimpanan memori sementara (mirip scratch pad yang kita gunakan untuk melakukan
perhitunganmatematika). Kitaakanmembahassirkuitadder dan subtractor dalam bab ini.
Dengan memakai K-map di Gambar 6.2, kita dapat memperoleh persamaan logika untukΣ0
danC1. Dapat dilihat bahwa untuk Σ0, tidaklah mungkin untuk menyederhanakan persamaan
tersebut karena tidak mungkin dilakukan looping. Sehingga persamaan tersebut adalah
1
Karena ini merupakan persamaan XOR (lihat bagian 3.5), maka juga dapat dirumuskan sebagai
2
Tabel 6.2: Kombinasi full-adder
K-map untuk dua output full adder ditunjukkan di Gambar 6.5. Untuk , tidak dapat dilakukan
looping sehingga persamaannya adalah
yang mana juga dapat dirumuskan dalam bentuk yang lebih sederhana memakai persamaan XOR
Penyederhanaan lebih jauh dapat dilakukan memakai persamaan XOR untuk menghasilkan
3
Untuk C1, tiga pair loop bisa dilakukan, yang menghasilkan
(a)
(b)
Gambar 6.5: K-map Full adder untuk (a)Σ0 ; (b) C1
4
Adalah jelas bahwa half adder dapat dibentuk memakai full adder dengan men-set C0 = 0. Hal ini
diilustrasikan di Gambar 6.7.
5
semacam itu dapat dikaskade untuk menambah bit lebih banyak. Contoh, dua 74LS283 IC dapat
dipakai untuk menambahbilangan 8 bit seperti yang digambarkan di Gambar 6.11 (pin layout
telah dimodifikasi agar mudah dipahami, rangkaiansebenarnya ditunjukkan pada Gambar 6.10).
dua bilangan: dan ditambahkan bersama dengan carry
input C0 untuk menghasilkan jumlah dan menjalankan C8. Carry out dari IC
pertama, C4 dilewati sebagai carry input ke IC kedua.
6
bilangan yang akan dikurangi (yaitu subtrahend)kebentuk 2’s complementdan menambah ke
bilangan yang dikurangi (yaitu minuend1).
1
Di contoh, 6 – 2 = 4, 6 adalah bilangan yang dikurangi (minued) dan 2 adalah bilangan pengurang (subtrahend)
7
6.5.1 2’s complement
Sebuah bilangan biner dapat diubah menjadi 2’s complement hanya dengan melakukan 1’s
complement atau inverse setiap bit (yaitu membalik 01 dan 10) dankemudian menambahkan
angka 1 ke bit yang diinversi. Setiap carry dari operasi ini harus dibuang. Misalnya, 2’s
complement dari 4 dalam biner adalah
4 dalam biner → 0100
1’scomplement dari 4 → 1011hasil inverse bilangan 4 (0100)
2’scomplementdari 4 → 1100 (dari 1100 + 1)
Sekarang, 6-4 dapat direpresentasikan dalam biner seperti yang ditunjukkan pada Gambar 6.12.
Carry tersebut dibuang untuk memberikan jawaban yang benar yakni 2.
Gambar 6.12:Mengurangi dua bilangan memakai metode 2’s complement untuk subtrahend.
Jelaslah bahwa sebuah adder juga dapat berfungsi sebagai subtraktor dengan gerbang tambahan.
Contoh, full adderyang ditampilkanpada Gambar 6.4 dapat digunakan untuk merancang sebuah
subtraktor dengan membalik B0dan setting C0= 1 (kedua tindakan ini akan menghasilkan format
2’s complement untuk B0) seperti yang ditunjukkan pada Gambar 6.13. Mirip dengan parallel
adder, subtraktor paralel dapat dirancang dengan menggunakanbeberapa full adder seperti yang
ditunjukkan pada Gambar 6.14.
8
Gambar 6.14: Mendesain subtraktor paralel memakai beberapa full adder.
Dengan menggunakan contoh di Gambar 6.12, 74LS283 dapat dimodifikasi agar berperan
sebagai subtraktor seperti yang ditunjukkan di Gambar 6.15. Minued direpresentasikan dengan
9
6.5.2 Penambah/ pengurang ganda
Mengganti inverter pada Gambar 6.15 dengan gerbang XOR akan menghasilkan
sirkuitpenambah/pengurang ganda. Ini digambarkanpada Gambar 6.16. Ketika kontrol input = 1,
sirkuit bertindak sebagai pengurang dan ketika kontrol input = 0, ia bertindak sebagaipenambah.
Misalnya, ketika B0= 1 dan control input = 1 (selama pengurangan), output dari XOR adalah 0,
yaitu gerbang XORbertindak sebagaiinverter untuk menghasilkan1’scomplement dan C0= 1
untuk menghasilkan 2’s complement. ketika B0= 1 dan kontrol input = 0 (saat penambahan),C0=
0 dan output dari XOR adalah 1, yaitu gerbang XOR bertindak hanya sebagai buffer tanpa
mengubah nilai logika.
10
11