Anda di halaman 1dari 36

Binary Adder

Penjumlah Biner adalah rangkaian aritmatika yang berupa penjumlahan setengah dan
penjumlah penuh yang digunakan untuk menjumlahkan dua digit biner.

   
Rangkaian logika kombinasional umum dan sangat berguna lainnya yang
dapat dibangun hanya dengan menggunakan beberapa gerbang logika dasar
yang memungkinkannya untuk menjumlahkan dua atau lebih bilangan biner
adalah Binary Adder .
Sebuah rangkaian biner Adder dasar dapat dibuat dari standar DAN dan Ex-
OR gerbang memungkinkan kita untuk “menambahkan” bersama-sama dua
single bit angka biner, A dan B .
Penambahan dua digit ini menghasilkan keluaran yang disebut SUM dari
penjumlahan dan keluaran kedua disebut  bit CARRY atau Carry-out , (C OUT )
sesuai dengan aturan penjumlahan biner. Salah satu kegunaan utama Binary
Adder adalah dalam rangkaian aritmatika dan penghitungan. Pertimbangkan
penjumlahan sederhana dari dua bilangan denary (basis 10) di bawah ini.

   123 SEBUAH (Augend)

+ 789    B    (Tambahkan)

JUMLA
912  
H

Dari pelajaran matematika kami di sekolah, kami mengetahui bahwa setiap


kolom angka dijumlahkan mulai dari sisi kanan dan setiap digit memiliki nilai
tertimbang tergantung pada posisinya di dalam kolom.
Ketika setiap kolom ditambahkan bersama-sama, carry dihasilkan jika
hasilnya lebih besar atau sama dengan 10, nomor dasarnya. Carry ini
kemudian ditambahkan hasil penjumlahan kolom sebelah kiri dan seterusnya,
penjumlahan matematika sekolah sederhana, penjumlahan angka dan carry.
Penambahan bilangan biner adalah ide yang sama persis dengan cara
menjumlahkan bilangan desimal, tetapi kali ini carry hanya dihasilkan jika
hasil di kolom mana pun lebih besar atau sama dengan “2”, bilangan dasar
biner. Dengan kata lain 1 + 1 membuat carry.

Penambahan Biner
Penjumlahan Biner mengikuti aturan dasar yang sama seperti untuk
penjumlahan denary di atas kecuali dalam biner hanya ada dua digit dengan
digit terbesar adalah “1”. Jadi saat menambahkan bilangan biner, eksekusi
dihasilkan ketika "SUM" sama dengan atau lebih besar dari dua (1 + 1) dan ini
menjadi bit "CARRY" untuk setiap penambahan berikutnya yang diteruskan
ke kolom berikutnya untuk penambahan dan seterusnya. di. Pertimbangkan
penambahan bit tunggal di bawah ini.

Penjumlahan Biner dari Dua Bit

0 0 1 1

+0 +1 +0 +1

0 1 1 (membawa) 1 ← 0

Ketika dua bit tunggal, A dan B ditambahkan bersama-sama, penambahan "0


+ 0", "0 + 1" dan "1 + 0" menghasilkan "0" atau "1" sampai Anda
mendapatkan kolom terakhir “1 + 1” maka jumlahnya sama dengan “2”. Tetapi
angka dua tidak ada dalam biner, bagaimanapun, 2 dalam biner sama
dengan 10 , dengan kata lain nol untuk jumlah tersebut ditambah sedikit
membawa tambahan.
Kemudian operasi penambah sederhana membutuhkan dua input data yang
menghasilkan dua output, Sum (S) dari persamaan dan bit Carry (C) seperti
yang ditunjukkan.

Diagram Blok Adder Biner

Untuk masalah penjumlahan 1-bit sederhana di atas, bit carry yang dihasilkan
dapat diabaikan tetapi Anda mungkin telah memperhatikan sesuatu yang lain
sehubungan dengan penambahan dua bit ini, jumlah penjumlahan binernya
mirip dengan yang ada pada Gerbang OR Eksklusif . Jika kita memberi label
dua bit sebagai A dan B maka tabel kebenaran yang dihasilkan adalah jumlah
dari dua bit tetapi tanpa carry akhir.

2-input Exclusive-OR Gate

Simbol Meja kebenaran

B SEBUAH S

0 0 0

0 1 1

1 0 1
2-masukan Ex-OR Gate

1 1 0

Kita dapat melihat dari tabel kebenaran di atas, bahwa gerbang OR-Eksklusif
hanya menghasilkan keluaran “1” ketika salah satu masukan berada pada
logika “1”, tetapi tidak keduanya sama dengan penambahan biner dari dua bit
sebelumnya. Namun untuk melakukan penambahan dua bilangan,
mikroprosesor dan kalkulator elektronik membutuhkan bit carry ekstra untuk
menghitung persamaan dengan benar sehingga kita perlu menulis ulang
penjumlahan sebelumnya untuk memasukkan data keluaran dua bit seperti
yang ditunjukkan di bawah ini.
00 00 01 01

+ 00 + 01 + 00 + 01

00 01 01 10

Dari persamaan di atas kita sekarang tahu bahwa gerbang Exclusive-


OR hanya akan menghasilkan keluaran "1" ketika masukan "EITHER" berada
pada logika "1", jadi kita memerlukan keluaran tambahan untuk menghasilkan
bit carry ketika "KEDUA" masukan A dan B berada di logika "1". Satu gerbang
digital yang sesuai dengan tagihan dengan sempurna menghasilkan output
"1" ketika kedua input A dan B-nya adalah "1" (TINGGI) adalah Gerbang
AND standar .

2-masukan Gerbang AND

Simbol Meja kebenaran

B SEBUAH C

0 0 0

0 1 0

1 0 0
2-masukan Gerbang AND

1 1 1

Dengan menggabungkan gerbang Exclusive-OR dengan
gerbang AND menghasilkan rangkaian penambah biner digital sederhana
yang umumnya dikenal sebagai rangkaian " Half Adder ".

Sirkuit Setengah Adder


Setengah penambah adalah rangkaian logis yang melakukan operasi
penjumlahan pada dua digit biner. Penambah setengah menghasilkan
penjumlahan dan nilai carry yang keduanya merupakan digit biner.

Tabel Kebenaran Setengah Adder dengan Carry-Out

Simbol Meja kebenaran

B SEBUAH JUMLAH MEMBAWA

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Dari tabel kebenaran dari half adder kita dapat melihat bahwa output SUM
( S ) adalah hasil dari gate Exclusive-OR dan Carry-out ( Cout ) adalah hasil
dari gate AND . Kemudian ekspresi Boolean untuk penjumlah setengah
adalah sebagai berikut.
Untuk bit SUM :
JUMLAH = A XOR B = A  ⊕  B
Untuk bit CARRY :
BAWA = A DAN B = AB
Satu kelemahan utama dari sirkuit Half Adder ketika digunakan sebagai
penambah biner, adalah bahwa tidak ada ketentuan untuk "Carry-in" dari
sirkuit sebelumnya saat menambahkan beberapa bit data.
Sebagai contoh, misalkan kita ingin menjumlahkan dua byte data 8-bit, bit
carry apapun yang dihasilkan harus dapat “merobek” atau bergerak melintasi
pola bit mulai dari bit yang paling tidak signifikan (LSB). Operasi paling rumit
yang dapat dilakukan oleh setengah penambah adalah “1 + 1” tetapi karena
penambah setengah tidak memiliki masukan yang dibawa, nilai tambah yang
dihasilkan akan salah. Salah satu cara sederhana untuk mengatasi masalah
ini adalah dengan menggunakan rangkaian binary adder tipe Full Adder .

Sirkuit Adder Penuh


Perbedaan utama antara Full Adder dan Half Adder sebelumnya adalah full
adder memiliki tiga input. Dua input data bit tunggal A dan B yang sama
seperti sebelumnya ditambah input Carry-in ( C-in ) tambahan untuk
menerima carry dari tahap sebelumnya seperti yang ditunjukkan di bawah ini.

Diagram Blok Adder Lengkap

Kemudian penambah penuh adalah rangkaian logis yang melakukan operasi


penjumlahan pada tiga digit biner dan seperti penjumlahan setengah, ini juga
menghasilkan eksekusi ke kolom penjumlahan berikutnya. Maka Carry-
in adalah carry yang mungkin dari digit yang kurang signifikan,
sedangkan Carry-out mewakili carry ke digit yang lebih signifikan.
Dalam banyak hal, penambah penuh dapat dianggap sebagai dua penambah
setengah yang terhubung bersama, dengan penambah babak pertama
meneruskan carry ke penambah babak kedua seperti yang ditunjukkan.

Diagram Logika Adder Lengkap


Karena rangkaian penambah penuh di atas pada dasarnya adalah dua
penambah setengah yang terhubung bersama, tabel kebenaran untuk
penambah penuh menyertakan kolom tambahan untuk
memperhitungkan masukan Carry-in , C IN serta keluaran yang
dijumlahkan, S dan Carry-out , C OUT sedikit.

Tabel Kebenaran Adder Penuh dengan Carry

Simbol Meja kebenaran

Jumla
C-in B SEBUAH C-out
h

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1
1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Maka ekspresi Boolean untuk penambah penuh adalah sebagai berikut.


Untuk bit SUM ( S ):

SUM = (A XOR B) XOR Cin = (A  ⊕  B)  ⊕  Cin


Untuk bit CARRY-OUT ( Cout ):

CARRY-OUT = A AND B OR Cin (A XOR B) = AB +


Cin (A  ⊕  B)

Binary Adder n-bit


Kita telah melihat di atas bahwa penambah biner 1-bit tunggal dapat dibangun
dari gerbang logika dasar. Tetapi bagaimana jika kita ingin menjumlahkan
dua bilangan n-bit , maka n nomor dari penambah penuh 1-bit harus
dihubungkan atau “di-cascade” bersama untuk menghasilkan apa yang
dikenal sebagai Ripple Carry Adder .
Sebuah "penambah pembawa riak" hanyalah " n ", penambah penuh 1-bit
mengalir bersama dengan setiap penambah penuh yang mewakili satu kolom
berbobot dalam penjumlahan biner panjang. Ini disebut penambah pembawa
riak karena sinyal pembawa menghasilkan efek "riak" melalui penambah biner
dari kanan ke kiri, (LSB ke MSB).
Sebagai contoh, misalkan kita ingin “menjumlahkan” dua bilangan 4-bit, dua
keluaran dari penambah penuh pertama akan memberikan jumlah digit
tempat pertama ( S ) dari penjumlahan ditambah bit pelaksana yang bertindak
sebagai pembawa- dalam digit penjumlah biner berikutnya.
Penambah biner kedua dalam rantai juga menghasilkan keluaran yang
dijumlahkan (bit ke-2) ditambah bit pelaksanaan lainnya dan kami dapat terus
menambahkan lebih banyak penambah penuh ke kombinasi untuk
menambahkan angka yang lebih besar, menghubungkan keluaran bit
pembawa dari penambah biner penuh pertama ke full adder berikutnya, dan
lain sebagainya. Contoh penambah 4-bit diberikan di bawah ini.

Ripple Carry Adder 4-bit

Salah satu kelemahan utama dari "cascading" bersama-sama penambah


biner 1-bit untuk menambahkan bilangan biner besar adalah bahwa jika
masukan A dan B berubah, jumlah pada keluarannya tidak akan valid sampai
masukan apa pun telah "berdesir" melalui setiap penambah penuh di rantai
karena MSB (bit paling signifikan) dari jumlah tersebut harus menunggu
setiap perubahan dari input pembawa LSB (bit kurang signifikan). Akibatnya,
akan ada penundaan yang terbatas sebelum keluaran dari penambah
menanggapi setiap perubahan masukan yang mengakibatkan penundaan
yang terakumulasi.
Ketika ukuran bit yang ditambahkan tidak terlalu besar misalnya 4 atau 8 bit,
atau kecepatan penjumlahan dari adder tidak penting, penundaan ini mungkin
tidak penting. Namun, ketika ukuran bit lebih besar misalnya 32 atau 64 bit
digunakan dalam penambah multi-bit, atau penjumlahan diperlukan pada
kecepatan clock yang sangat tinggi, penundaan ini dapat menjadi sangat
besar dengan proses penambahan yang tidak diselesaikan dengan benar
dalam satu bit. siklus jam.
Waktu tunda yang tidak diinginkan ini disebut penundaan Propagasi . Juga
masalah lain yang disebut "overflow" terjadi ketika penambah n-
bit menambahkan dua bilangan paralel bersama-sama yang jumlahnya lebih
besar dari atau sama dengan 2 n
Salah satu solusinya adalah dengan menghasilkan sinyal input pembawa
langsung dari input A dan B daripada menggunakan pengaturan riak di
atas. Ini kemudian menghasilkan jenis rangkaian penambah biner lain yang
disebut Carry Look Ahead Binary Adder di mana kecepatan penambah
paralel dapat sangat ditingkatkan menggunakan logika carry-look ahead.
Keuntungan dari carry look forward adders adalah bahwa lamanya waktu
yang dibutuhkan oleh adder melihat ke depan untuk menghasilkan SUM yang
benar tidak tergantung pada jumlah bit data yang digunakan dalam operasi,
tidak seperti waktu siklus yang perlu diselesaikan oleh penambah riak paralel.
SUM yang merupakan fungsi dari jumlah bit di addend.
Sirkuit penambah penuh 4-bit dengan fitur-fitur membawa tampilan ke depan
tersedia sebagai paket IC standar dalam bentuk penambah biner TTL 4-bit
74LS83 atau 74LS283 dan CMOS 4008 yang dapat menjumlahkan dua
bilangan biner 4-bit dan menghasilkan SUM dan keluaran CARRY seperti
yang ditunjukkan.

74LS83 Simbol Logika

Ringkasan Penambah Biner


Kita telah melihat dalam tutorial ini tentang Penambah Biner bahwa
rangkaian penambah dapat digunakan untuk "menjumlahkan" dua bilangan
biner yang menghasilkan " pelaksanaan ". Dalam bentuknya yang paling
dasar, adder dapat dibuat dari menghubungkan gerbang Exclusive-
OR dengan gerbang AND untuk menghasilkan sirkuit Half Adder . Dua
setengah penambah dapat digabungkan untuk menghasilkan Adder Penuh .
Ada sejumlah IC full-adder 4-bit yang tersedia seperti 74LS283 dan
CD4008. yang akan menambahkan dua bilangan biner 4-bit dan memberikan
bit input tambahan, serta bit pembawa keluaran, sehingga Anda dapat
menggabungkannya untuk menghasilkan penambah 8-bit, 12-bit, 16-bit, tetapi
propagasi carry penundaan bisa menjadi masalah utama dalam penambah
riak n-bit besar.

Pengurang Biner
Pengurangan Biner adalah jenis lain dari rangkaian aritmatika kombinasional yang
menghasilkan keluaran yang merupakan pengurangan dua bilangan biner.

   
Sesuai dengan namanya, Pengurang Biner adalah rangkaian pengambilan
keputusan yang mengurangi dua bilangan biner satu sama lain, misalnya X -
Y untuk mencari perbedaan yang dihasilkan antara kedua bilangan tersebut.
Berbeda dengan Binary Adder yang menghasilkan JUMLAH dan bit CARRY
ketika dua bilangan biner dijumlahkan, pengurang biner menghasilkan
PERBEDAAN, D dengan menggunakan bit BORROW, B dari kolom
sebelumnya. Maka jelas, operasi pengurangan adalah kebalikan dari
penjumlahan.
Kami belajar dari pelajaran matematika di sekolah bahwa tanda minus, " - "
digunakan untuk perhitungan pengurangan, dan ketika satu angka
dikurangkan dari yang lain, pinjaman diperlukan jika pengurangan lebih besar
dari minuend. Pertimbangkan pengurangan sederhana dari dua bilangan
denary (basis 10) di bawah ini.

 (Angka yang
   123 X dikurangi)
- 78 Y  (Pengurang)

45 PERBEDAAN  

Kita tidak bisa langsung mengurangi 8 dari 3 di kolom pertama karena 8 lebih
besar dari 3, jadi kita harus meminjam 10, bilangan dasar, dari kolom
berikutnya dan menambahkannya ke minuend untuk menghasilkan 13
dikurangi 8. Ini “pinjaman ”10 kemudian kembali ke subtrahend dari kolom
berikutnya setelah perbedaannya ditemukan. Matematika sekolah sederhana,
pinjam 10 jika perlu, temukan perbedaannya dan kembalikan pinjamannya.
Pengurangan satu bilangan biner dari yang lain adalah ide yang sama persis
dengan pengurangan dua bilangan desimal tetapi karena sistem bilangan
biner adalah sistem penomoran Basis-2 yang menggunakan "0" dan "1"
sebagai dua digit independennya, biner besar bilangan yang akan
dikurangkan satu sama lain oleh karena itu direpresentasikan dalam istilah "0"
dan "1".

Pengurangan Biner
Pengurangan Biner dapat memiliki banyak bentuk, tetapi aturan
pengurangannya sama dengan proses mana pun yang Anda
gunakan. Karena notasi biner hanya memiliki dua digit, mengurangi "0" dari
"0" atau "1" membuat hasilnya tidak berubah sebagai 0-0 = 0 dan 1-0 =
1 . Mengurangkan “1” dari “1” menghasilkan “0”, tetapi mengurangi “1” dari “0”
membutuhkan pinjaman. Dengan kata lain 0 - 1 membutuhkan pinjaman.

Pengurangan Biner dari Dua Bit

(pinjam) 1
0 1 1
→0

-0 -0 -1 -1
0 1 0 1

Untuk soal pengurangan 1-bit sederhana di atas, jika bit pinjaman diabaikan,
hasil pengurangan binernya mirip dengan Gerbang ATAU Eksklusif. Untuk
mencegah kebingungan dalam tutorial ini antara masukan pengurang biner
berlabel, B dan keluaran bit pinjaman yang dihasilkan dari pengurang biner
juga diberi label, B , kita akan memberi label dua bit masukan
sebagai X untuk minuend dan Y untuk pengurang. Kemudian tabel kebenaran
yang dihasilkan adalah selisih antara dua bit masukan dari pengurang biner
tunggal diberikan sebagai:

2-input Exclusive-OR Gate

Simbol Meja kebenaran

Y X Q

0 0 0

0 1 1

1 0 1
2-masukan Ex-OR Gate

1 1 0

Seperti halnya Binary Adder, perbedaan antara dua digit hanya “1” jika kedua
input ini tidak sama dengan yang diberikan oleh ekspresi Ex-OR. Namun, kita
membutuhkan output tambahan untuk menghasilkan bit pinjaman ketika
input X = 0 dan Y = 1 . Sayangnya tidak ada gerbang logika standar yang
akan menghasilkan output untuk kombinasi input X dan Y ini .
Tapi kita tahu bahwa Gerbang AND menghasilkan output “1” ketika kedua
inputnya X dan Y adalah “1” (TINGGI) jadi jika kita menggunakan inverter
atau Gerbang NOT untuk melengkapi input X sebelum diumpankan
ke gerbang AND , kita dapat menghasilkan output pinjaman yang dibutuhkan
ketika X = 0 dan Y = 1 seperti yang ditunjukkan di bawah ini.

Kemudian dengan menggabungkan gerbang Exclusive-


OR dengan kombinasi NOT-AND menghasilkan rangkaian pengurang biner
digital sederhana yang biasa disebut sebagai Pengurang Setengah seperti
yang ditunjukkan.

Sirkuit Pengurang Setengah


Pengurang setengah adalah rangkaian logis yang melakukan operasi
pengurangan pada dua digit biner. Pengurang setengah menghasilkan jumlah
dan sedikit pinjaman untuk tahap berikutnya.

Pengurang Setengah dengan Borrow-out

Simbol Meja kebenaran

Y X PERBEDAAN MEMINJAM

0 0 0 0

0 1 1 0

1 0 1 1
1 1 0 0

Dari tabel kebenaran pengurang setengah kita dapat melihat


bahwa keluaran DIFFERENCE ( D ) adalah hasil dari gerbang Exclusive-
OR dan Borrow-out ( Bout ) adalah hasil dari kombinasi NOT-AND . Maka
ekspresi Boolean untuk setengah pengurang adalah sebagai berikut.
Untuk bit PERBEDAAN :
D = X XOR Y = X ⊕ Y
Untuk bit BORROW
B = bukan-X DAN Y =  X .Y
Jika kita membandingkan ekspresi Boolean dari pengurang setengah dengan
penjumlahan setengah, kita dapat melihat bahwa dua ekspresi untuk SUM
(penjumlah) dan DIFFERENCE (pengurang) sama persis sehingga
seharusnya karena fungsi gerbang Eksklusif-OR . Kedua ekspresi Boolean
untuk pengurang biner BORROW juga sangat mirip dengan penambah
CARRY. Maka semua yang diperlukan untuk mengubah penjumlah setengah
menjadi pengurang setengah adalah inversi dari input X minuend .
Salah satu kelemahan utama dari rangkaian Pengurang Setengah bila
digunakan sebagai pengurang biner, adalah bahwa tidak ada ketentuan untuk
"Pinjam-masuk" dari rangkaian sebelumnya saat mengurangi beberapa bit
data satu sama lain. Kemudian kita perlu menghasilkan apa yang disebut
rangkaian "pengurang biner penuh" untuk memperhitungkan input pinjaman
dari rangkaian sebelumnya.

Sirkuit Pengurang Biner Penuh


Perbedaan utama antara Pengurang Penuh dan rangkaian Pengurang
Setengah sebelumnya adalah pengurang penuh memiliki tiga masukan. Dua
input data bit tunggal X (minuend) dan Y (subtrahend) sama seperti
sebelumnya ditambah input Borrow-in ( B-in ) tambahan untuk menerima
pinjaman yang dihasilkan oleh proses pengurangan dari tahap sebelumnya
seperti yang ditunjukkan di bawah ini.
Diagram Blok Pengurang Penuh

Kemudian rangkaian kombinasional dari "pengurang penuh" melakukan


operasi pengurangan pada tiga bit biner yang menghasilkan keluaran untuk
perbedaan D dan meminjam B-out . Sama seperti rangkaian penjumlah biner,
pengurang penuh juga dapat dianggap sebagai dua pengurang separuh yang
dihubungkan bersama, dengan pengurang babak pertama meneruskan
pinjamannya ke pengurang babak kedua sebagai berikut.

Diagram Logika Pengurang Penuh

Karena rangkaian pengurang penuh di atas mewakili dua pengurang


setengah yang digabungkan bersama, tabel kebenaran untuk pengurang
penuh akan memiliki delapan kombinasi masukan yang berbeda karena ada
tiga variabel masukan, bit data dan masukan Borrow-in , B IN . Juga termasuk
perbedaan output, D dan Borrow-out, bit B OUT .

Tabel Kebenaran Pengurang Penuh

Simbol Meja kebenaran


Tempa
t
Y X Diff. Pertandingan
sampa
h

0 0 0 0 0

0 0 1 1 0

0 1 0 1 1

0 1 1 0 0

1 0 0 1 1

1 0 1 0 0

1 1 0 0 1

1 1 1 1 1

Maka ekspresi Boolean untuk pengurang penuh adalah sebagai berikut.


Untuk bit DIFFERENCE ( D ):
D = ( X . Y .B IN ) + ( X .v. B   ) + (X. Y . B   ) + (XYB IN )
IN IN

yang juga dapat disederhanakan:


D = (X XOR Y) XOR B IN  = (X ⊕ Y) ⊕ B IN
Untuk bit BORROW OUT ( B OUT ):
B OUT  = ( X . Y .B IN ) + ( X .v. B   ) + ( X .YB IN ) + (XYB IN )
IN

yang juga akan menyederhanakan:


B KELUAR  =  X  DAN Y ATAU  (X XOR Y) B IN  =  X .Y +  (X ⊕ Y ) B IN

Pengurang Biner n-bit


Seperti halnya dengan penjumlah biner, kita juga dapat memiliki n sejumlah
pengurang biner penuh 1-bit yang dihubungkan atau “bertingkat” bersama-
sama untuk mengurangi dua bilangan n-bit paralel satu sama lain. Misalnya
dua bilangan biner 4 bit. Kita telah mengatakan sebelumnya bahwa satu-
satunya perbedaan antara penjumlah penuh dan pengurang penuh adalah
inversi salah satu masukan.
Jadi dengan menggunakan n-bit adder dan n number of inverters ( NOT
Gates ), proses pengurangan menjadi sebuah penjumlahan karena kita dapat
menggunakan notasi komplemen dua pada semua bit pada subtrahend dan
mengatur input carry dari bit least significant menjadi logika “1” (TINGGI).

Pengurang Biner menggunakan Komplemen 2

Kemudian kita dapat menggunakan IC penambah penuh 4-bit seperti


74LS283 dan CD4008 untuk melakukan pengurangan hanya dengan
menggunakan komplemen dua pada subtrahend, input B sebagai X - Y sama
dengan mengatakan, X + (-Y) yang sama dengan X ditambah pelengkap dua
ini dari Y .
Jika kita ingin menggunakan adder 4-bit untuk penambahan sekali lagi, yang
perlu kita lakukan hanyalah mengatur input carry-in ( C IN ) LOW pada logika
“0”. Karena kita dapat menggunakan IC penambah 4-bit seperti 74LS83 atau
74LS283 sebagai penambah penuh atau pengurang penuh, mereka tersedia
sebagai rangkaian penambah / pengurang tunggal dengan masukan kontrol
tunggal untuk memilih di antara dua operasi.

Binary Adder
Binary Adders are arithmetic circuits in the form of half-adders and full-addersb used to
add together two binary digits

   
Another common and very useful combinational logic circuit which can be
constructed using just a few basic logic gates allowing it to add together two
or more binary numbers is the Binary Adder.
A basic Binary Adder circuit can be made from standard AND and Ex-
OR gates allowing us to “add” together two single bit binary
numbers, A and B.
The addition of these two digits produces an output called the SUM of the
addition and a second output called the CARRY or Carry-out, ( COUT ) bit
according to the rules for binary addition. One of the main uses for the Binary
Adder is in arithmetic and counting circuits. Consider the simple addition of
the two denary (base 10) numbers below.

   123 A (Augend)
+ 789    B    (Addend)

912 SUM  

From our maths lessons at school, we learnt that each number column is
added together starting from the right hand side and that each digit has a
weighted value depending upon its position within the columns.
When each column is added together a carry is generated if the result is
greater or equal to 10, the base number. This carry is then added to the result
of the addition of the next column to the left and so on, simple school math’s
addition, add the numbers and carry.
The adding of binary numbers is exactly the same idea as that for adding
together decimal numbers but this time a carry is only generated when the
result in any column is greater or equal to “2”, the base number of binary. In
other words 1 + 1 creates a carry.

Binary Addition
Binary Addition follows these same basic rules as for the denary addition
above except in binary there are only two digits with the largest digit being “1”.
So when adding binary numbers, a carry out is generated when the “SUM”
equals or is greater than two (1+1) and this becomes a “CARRY” bit for any
subsequent addition being passed over to the next column for addition and so
on. Consider the single bit addition below.

Binary Addition of Two Bits

0 0 1 1

+0 +1 +0 +1
0 1 1 (carry) 1←0

When the two single bits, A and B are added together, the addition of “0 + 0”,
“0 + 1” and “1 + 0” results in either a “0” or a “1” until you get to the final
column of “1 + 1” then the sum is equal to “2”. But the number two does not
exists in binary however, 2 in binary is equal to 10, in other words a zero for
the sum plus an extra carry bit.
Then the operation of a simple adder requires two data inputs producing two
outputs, the Sum (S) of the equation and a Carry (C) bit as shown.

Binary Adder Block Diagram

For the simple 1-bit addition problem above, the resulting carry bit could be
ignored but you may have noticed something else with regards to the addition
of these two bits, the sum of their binary addition resembles that of
an Exclusive-OR Gate. If we label the two bits as A and B then the resulting
truth table is the sum of the two bits but without the final carry.

2-input Exclusive-OR Gate

Symbol Truth Table

B A S

0 0 0

0 1 1

1 0 1
2-input Ex-OR Gate

1 1 0
We can see from the truth table above, that an Exclusive-OR gate only
produces an output “1” when either input is at logic “1”, but not both the same
as for the binary addition of the previous two bits. However in order to perform
the addition of two numbers, microprocessors and electronic calculators
require the extra carry bit to correctly calculate the equations so we need to
rewrite the previous summation to include two-bits of output data as shown
below.

00 00 01 01

+ 00 + 01 + 00 + 01

00 01 01 10

From the above equations we now know that an Exclusive-OR gate will only
produce an output “1” when “EITHER” input is at logic “1”, so we need an
additional output to produce the carry bit when “BOTH” inputs A and B are at
logic “1”. One digital gate that fits the bill perfectly producing an output “1”
when both of its inputs A and B are “1” (HIGH) is the standard AND Gate.

2-input AND Gate

Symbol Truth Table

B A C

0 0 0

0 1 0

1 0 0
2-input AND Gate

1 1 1
By combining the Exclusive-OR gate with the AND gate results in a simple
digital binary adder circuit known commonly as the “Half Adder” circuit.

A Half Adder Circuit


A half adder is a logical circuit that performs an addition operation on two
binary digits. The half adder produces a sum and a carry value which are both
binary digits.

Half Adder Truth Table with Carry-Out

Symbol Truth Table

B A SUM CARRY

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

From the truth table of the half adder we can see that the SUM (S) output is
the result of the Exclusive-OR gate and the Carry-out (Cout) is the result of
the AND gate. Then the Boolean expression for a half adder is as follows.
For the SUM bit:
SUM = A XOR B = A ⊕ B
For the CARRY bit:
CARRY = A AND B = A.B
One major disadvantage of the Half Adder circuit when used as a binary
adder, is that there is no provision for a “Carry-in” from the previous circuit
when adding together multiple data bits.
For example, suppose we want to add together two 8-bit bytes of data, any
resulting carry bit would need to be able to “ripple” or move across the bit
patterns starting from the least significant bit (LSB). The most complicated
operation the half adder can do is “1 + 1” but as the half adder has no carry
input the resultant added value would be incorrect. One simple way to
overcome this problem is to use a Full Adder type binary adder circuit.

A Full Adder Circuit


The main difference between the Full Adder and the previous Half Adder is
that a full adder has three inputs. The same two single bit data
inputs A and B as before plus an additional Carry-in (C-in) input to receive the
carry from a previous stage as shown below.

Full Adder Block Diagram

Then the full adder is a logical circuit that performs an addition operation on


three binary digits and just like the half adder, it also generates a carry out to
the next addition column. Then a Carry-in is a possible carry from a less
significant digit, while a Carry-out represents a carry to a more significant digit.
In many ways, the full adder can be thought of as two half adders connected
together, with the first half adder passing its carry to the second half adder as
shown.

Full Adder Logic Diagram


As the full adder circuit above is basically two half adders connected together,
the truth table for the full adder includes an additional column to take into
account the Carry-in, CIN input as well as the summed output, S and the Carry-
out, COUT bit.

Full Adder Truth Table with Carry

Symbol Truth Table

C-in B A Sum C-out

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0
1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Then the Boolean expression for a full adder is as follows.


For the SUM (S) bit:

SUM = (A XOR B) XOR Cin = (A ⊕ B) ⊕ Cin
For the CARRY-OUT (Cout) bit:

CARRY-OUT = A AND B OR Cin(A XOR B) = A.B + Ci
n(A ⊕ B)

An n-bit Binary Adder


We have seen above that single 1-bit binary adders can be constructed from
basic logic gates. But what if we wanted to add together two n-bit numbers,
then n number of 1-bit full adders need to be connected or “cascaded”
together to produce what is known as a Ripple Carry Adder.
A “ripple carry adder” is simply “n“, 1-bit full adders cascaded together with
each full adder representing a single weighted column in a long binary
addition. It is called a ripple carry adder because the carry signals produce a
“ripple” effect through the binary adder from right to left, (LSB to MSB).
For example, suppose we want to “add” together two 4-bit numbers, the two
outputs of the first full adder will provide the first place digit sum (S) of the
addition plus a carry-out bit that acts as the carry-in digit of the next binary
adder.
The second binary adder in the chain also produces a summed output (the
2nd bit) plus another carry-out bit and we can keep adding more full adders to
the combination to add larger numbers, linking the carry bit output from the
first full binary adder to the next full adder, and so forth. An example of a 4-bit
adder is given below.

A 4-bit Ripple Carry Adder

One main disadvantage of “cascading” together 1-bit binary adders to add


large binary numbers is that if inputs A and B change, the sum at its output
will not be valid until any carry-input has “rippled” through every full adder in
the chain because the MSB (most significant bit) of the sum has to wait for
any changes from the carry input of the LSB (less significant bit).
Consequently, there will be a finite delay before the output of the adder
responds to any change in its inputs resulting in a accumulated delay.
When the size of the bits being added is not too large for example, 4 or 8 bits,
or the summing speed of the adder is not important, this delay may not be
important. However, when the size of the bits is larger for example 32 or 64
bits used in multi-bit adders, or summation is required at a very high clock
speed, this delay may become prohibitively large with the addition processes
not being completed correctly within one clock cycle.
This unwanted delay time is called Propagation delay. Also another problem
called “overflow” occurs when an n-bit adder adds two parallel numbers
together whose sum is greater than or equal to 2n
One solution is to generate the carry-input signals directly from
the A and B inputs rather than using the ripple arrangement above. This then
produces another type of binary adder circuit called a Carry Look Ahead
Binary Adder where the speed of the parallel adder can be greatly improved
using carry-look ahead logic.
The advantage of carry look ahead adders is that the length of time a carry
look ahead adder needs in order to produce the correct SUM is independent
of the number of data bits used in the operation, unlike the cycle time a
parallel ripple adder needs to complete the SUM which is a function of the
total number of bits in the addend.
4-bit full adder circuits with carry look ahead features are available as
standard IC packages in the form of the TTL 4-bit binary adder 74LS83 or the
74LS283 and the CMOS 4008 which can add together two 4-bit binary
numbers and generate a SUM and a CARRY output as shown.

74LS83 Logic Symbol

Summary of Binary Adders


We have seen in this tutorial about Binary Adders that adder circuits can be
used to “add” together two binary numbers producing a “carry-out”. In its most
basic form, adders can be made from connecting together an Exclusive-
OR gate with an AND gate to produce a Half Adder circuit. Two half adders
can the be combined to produce a Full Adder.
There are a number of 4-bit full-adder ICs available such as the 74LS283 and
CD4008. which will add two 4-bit binary number and provide an additional
input carry bit, as well as an output carry bit, so you can cascade them
together to produce 8-bit, 12-bit, 16-bit, adders but the carry propagation
delay can be a major issue in large n-bit ripple adders.
Binary Subtractor
The Binary Subtractor is another type of combinational arithmetic circuit that produces
an output which is the subtraction of two binary numbers

   
As their name implies, a Binary Subtractor is a decision making circuit that
subtracts two binary numbers from each other, for example, X – Y to find the
resulting difference between the two numbers.
Unlike the Binary Adder which produces a SUM and a CARRY bit when two
binary numbers are added together, the binary subtractor produces a
DIFFERENCE, D by using a BORROW bit, B from the previous column. Then
obviously, the operation of subtraction is the opposite to that of addition.
We learnt from our maths lessons at school that the minus sign, “–” is used for
a subtraction calculation, and when one number is subtracted from another, a
borrow is required if the subtrahend is greater than the minuend. Consider the
simple subtraction of the two denary (base 10) numbers below.

   123 X  (Minuend)

– 78 Y  (Subtrahend)

45 DIFFERENCE  

We can not directly subtract 8 from 3 in the first column as 8 is greater than 3,
so we have to borrow a 10, the base number, from the next column and add it
to the minuend to produce 13 minus 8. This “borrowed” 10 is then return back
to the subtrahend of the next column once the difference is found. Simple
school math’s, borrow a 10 if needed, find the difference and return the
borrow.
The subtraction of one binary number from another is exactly the same idea
as that for subtracting two decimal numbers but as the binary number
system is a Base-2 numbering system which uses “0” and “1” as its two
independent digits, large binary numbers which are to be subtracted from
each other are therefore represented in terms of “0’s” and “1’s”.

Binary Subtraction
Binary Subtraction can take many forms but the rules for subtraction are the
same whichever process you use. As binary notation only has two digits,
subtracting a “0” from a “0” or a “1” leaves the result unchanged as 0-
0 = 0 and 1-0 = 1. Subtracting a “1” from a “1” results in a “0”, but subtracting
a “1” from a “0” requires a borrow. In other words 0 – 1 requires a borrow.

Binary Subtraction of Two Bits

0 1 1 (borrow)1→ 0

–0 –0 –1 –1

0 1 0 1

For the simple 1-bit subtraction problem above, if the borrow bit is ignored the
result of their binary subtraction resembles that of an Exclusive-OR Gate. To
prevent any confusion in this tutorial between a binary subtractor input
labelled, B and the resulting borrow bit output from the binary subtractor also
being labelled, B, we will label the two input bits as X for the minuend
and Y for the subtrahend. Then the resulting truth table is the difference
between the two input bits of a single binary subtractor is given as:

2-input Exclusive-OR Gate


Symbol Truth Table

Y X Q

0 0 0

0 1 1

1 0 1
2-input Ex-OR Gate

1 1 0

As with the Binary Adder, the difference between the two digits is only a “1”
when these two inputs are not equal as given by the Ex-OR expression.
However, we need an additional output to produce the borrow bit when
input X = 0 and Y = 1. Unfortunately there are no standard logic gates that will
produce an output for this particular combination of X and Y inputs.
But we know that an AND Gate produces an output “1” when both of its
inputs X and Y are “1” (HIGH) so if we use an inverter or NOT Gate to
complement the input X before it is fed to the AND gate, we can produce the
required borrow output when X = 0 and Y = 1 as shown below.

Then by combining the Exclusive-OR gate with the NOT-AND combination


results in a simple digital binary subtractor circuit known commonly as
the Half Subtractor as shown.

A Half Subtractor Circuit


A half subtractor is a logical circuit that performs a subtraction operation on
two binary digits. The half subtractor produces a sum and a borrow bit for the
next stage.

Half Subtractor with Borrow-out


Symbol Truth Table

Y X DIFFERENCE BORROW

0 0 0 0

0 1 1 0

1 0 1 1

1 1 0 0

From the truth table of the half subtractor we can see that the DIFFERENCE
(D) output is the result of the Exclusive-OR gate and the Borrow-out (Bout) is
the result of the NOT-AND combination. Then the Boolean expression for a
half subtractor is as follows.
For the DIFFERENCE bit:
D = X XOR Y = X ⊕ Y
For the BORROW bit
B = not-X AND Y = X.Y
If we compare the Boolean expressions of the half subtractor with a half
adder, we can see that the two expressions for the SUM (adder) and
DIFFERENCE (subtractor) are exactly the same and so they should be
because of the Exclusive-OR gate function. The two Boolean expressions for
the binary subtractor BORROW is also very similar to that for the adders
CARRY. Then all that is needed to convert a half adder to a half subtractor is
the inversion of the minuend input X.
One major disadvantage of the Half Subtractor circuit when used as a binary
subtractor, is that there is no provision for a “Borrow-in” from the previous
circuit when subtracting multiple data bits from each other. Then we need to
produce what is called a “full binary subtractor” circuit to take into account this
borrow-in input from a previous circuit.

A Full Binary Subtractor Circuit


The main difference between the Full Subtractor and the previous Half
Subtractor circuit is that a full subtractor has three inputs. The two single bit
data inputs X (minuend) and Y (subtrahend) the same as before plus an
additional Borrow-in (B-in) input to receive the borrow generated by the
subtraction process from a previous stage as shown below.

Full Subtractor Block Diagram

Then the combinational circuit of a “full subtractor” performs the operation of


subtraction on three binary bits producing outputs for the difference D and
borrow B-out. Just like the binary adder circuit, the full subtractor can also be
thought of as two half subtractors connected together, with the first half
subtractor passing its borrow to the second half subtractor as follows.

Full Subtractor Logic Diagram


As the full subtractor circuit above represents two half subtractors cascaded
together, the truth table for the full subtractor will have eight different input
combinations as there are three input variables, the data bits and the Borrow-
in, BIN input. Also includes the difference output, D and the Borrow-out, BOUT bit.

Full Subtractor Truth Table

Symbol Truth Table

B-in Y X Diff. B-out

0 0 0 0 0

0 0 1 1 0

0 1 0 1 1

0 1 1 0 0

1 0 0 1 1

1 0 1 0 0

1 1 0 0 1
1 1 1 1 1

Then the Boolean expression for a full subtractor is as follows.


For the DIFFERENCE (D) bit:
D = (X.Y.BIN) + (X.Y.B ) + (X.Y.B ) + (X.Y.BIN)
IN IN

which can be simplified too:


D = (X XOR Y) XOR BIN = (X ⊕ Y) ⊕ BIN
For the BORROW OUT (BOUT) bit:
BOUT = (X.Y.BIN) + (X.Y.B ) + (X.Y.BIN) + (X.Y.BIN)
IN

which will also simplify too:


BOUT = X AND Y OR (X XOR Y)BIN = X.Y + (X ⊕ Y)BIN

An n-bit Binary Subtractor


As with the binary adder, we can also have n number of 1-bit full binary
subtractor connected or “cascaded” together to subtract two parallel n-
bit numbers from each other. For example two 4-bit binary numbers. We said
before that the only difference between a full adder and a full subtractor was
the inversion of one of the inputs.
So by using an n-bit adder and n number of inverters (NOT Gates), the
process of subtraction becomes an addition as we can use two’s complement
notation on all the bits in the subtrahend and setting the carry input of the
least significant bit to a logic “1” (HIGH).

Binary Subtractor using 2’s Complement


Then we can use a 4-bit full-adder ICs such as the 74LS283 and CD4008 to
perform subtraction simply by using two’s complement on the
subtrahend, B inputs as X – Y is the same as saying, X + (-Y) which
equals X plus the two’s complement of Y.
If we wanted to use the 4-bit adder for addition once again, all we would need
to do is set the carry-in (CIN) input LOW at logic “0”. Because we can use the
4-bit adder IC such as the 74LS83 or 74LS283 as a full-adder or a full-
subtractor they are available as a single adder/subtractor circuit with a single
control input for selecting between the two operations.

Anda mungkin juga menyukai