Des 07, 2024 Sistem Digital

Rangkaian Aritmatika 2

Paralel Binary Adder

Konsep dasar penjumlah lengkap (FA), telah dapat mewakili operasi penjumlahan yang menghasilkan suatu input carry pada penjumlahan kolom berikutnya. Tetapi dalam operasionalnya penjumlahan biner tidak hanya sebatas itu saja, tetapi kadang juga terdiri dari sejumlah bilangan biner yang berjajar (paralel), Misalnya :

Gambar 1. Operasi bilangan biner

Maka untuk melakukan operasi tersebut, tidak dapat diwakilkan lagi dengan hanya menggunakan FA saja, tetapi menggunakan suatu metoda yang disebut Paralel binary adder. Blok diagram sebuah penjumlah biner parelel diperlihatkan pada Gambar 2.

Gambar 2. Blok Diagram penjumlah biner paralel

Sebuah penjumlah biner paralel, pada dasarnya dibangun dari sejumlah FA dan HA, tergantung jumlah bit yang akan dijumlahkan secara paralel, selengkapnya untuk membangun sebuah penjumlah paralel biner 5 bit adalah :

Gambar 3. Penjumlah biner paralel 5 bit

Kelompok penjumlahan kolom pertama hanya membutuhkan sebuah penjumlah tak lengkap (Half Adder), karena belum ada terjadi penjumlahan terhadap carry, namun bagi setiap kolom setelah kolom pertama, mungkin akan terdapat bawaan dari kolom sebelumnya; oleh karena itu kita harus menggunakan sebuah penjumlah penuh bagi masing-masing kolom di atas kolom pertama.

Penjumlahan Sebagai contoh operasi penjumlahan biner parallel 4 bit, dapat dilihat pada Gambar 4. Misalkan kita akan menjumlahkan bilangan desimal 11 dan 7, maka hasilnya tentu 18, ekivalen 11 dalam biner adalah 1011, dan ekivalen 7 dalam biner adalah 0111, maka operasi binernya adalah sebagai berikut:

Pada kolom biner pertama, hanya menggunakan penjumlah HA, karena hanya mempunyai dua masukan yaitu 1 dan 1, tetapi hasil dari operasi pada kolom pertama ini menghasilkan carry bagi kolom kedua dan carry ini menjadi input operasi biner kolom ke dua, maka pada kolom kedua digunakan sebuah FA, dan operasi pada kolom kedua ini pun menghasilkan carry bagi kolom ke tiga, dan kolom ke tiga juga menghasilkan carry bagi kolom ke empat dan hasil dari operasi pada kolom ke empat menghasilkan sebuah output carry.

n-bit Carry Ripple Adder

Penjumlah n-bit yang digunakan untuk menjumlahkan dua bilangan biner n-bit dapat dibangun dengan menghubungkan n full adder secara seri. Setiap full adder mewakili posisi bit j (dari 0 hingga n-1).

Setiap carry out C-out dari full adder pada posisi j dihubungkan ke carry in C-in dari full adder pada posisi lebih tinggi j+1. Output dari full adder pada posisi j diberikan oleh:

Dalam ekspresi penjumlahan Cj harus dibangkitkan oleh full adder pada posisi terendah j. Penundaan propagasi pada setiap full adder untuk menghasilkan carry sama dengan dua penundaan gerbang = 2 D Karena pembangkitan penjumlahan memerlukan propagasi carry dari posisi terendah ke posisi tertinggi, total penundaan propagasi penjumlahan kira-kira:

Total Propagation delay = 2 nD

4-bit Carry Ripple Adder

Adds two 4-bit numbers:

X = X3 X2 X1 X0
Y = Y3 Y2 Y1 Y0

menghasilkan jumlah S = S3 S2 S1 S0 , C-out = C4 dari posisi paling signifikan j=3

Total Propagation delay = 2 nD = 8D or 8 gate delays

Larger Adder

Contoh: penjumlah 16-bit menggunakan 4 penjumlah 4-bit. Menjumlahkan dua input X 16-bit (bit X0 hingga X15), Y (bit Y0 hingga Y15) yang menghasilkan Sum S 16-bit (bit S0 hingga S15) dan C16 dari posisi paling signifikan.

Penundaan propagasi untuk penjumlah 16-bit = 4 x penundaan propagasi penjumlah 4-bit = 4 x 2 nD = 4 x 8D = 32 D atau 32 penundaan gerbang
Carry Look-Ahead Adder

Penundaan yang dihasilkan oleh penjumlah N-bit sebanding dengan panjang N dari dua angka X dan Y yang ditambahkan karena sinyal pembawa harus disebarkan dari satu full adder ke full adder berikutnya. Untuk nilai N yang besar, penundaan menjadi sangat besar sehingga solusi khusus perlu diadopsi untuk mempercepat perhitungan bit pembawa. Solusi ini melibatkan “generator pembawa look-ahead” yang merupakan blok yang secara bersamaan menghitung semua bit pembawa yang terlibat. Setelah bit-bit ini tersedia untuk seluruh rangkaian, setiap penjumlahan tiga-bit (Xi+Yi+carry-ini) diimplementasikan oleh gerbang XOR 3-input sederhana. Desain generator pembawa look-ahead melibatkan dua fungsi Boolean yang bernama Generate dan Propagate. Untuk setiap pasangan bit input, fungsi-fungsi ini didefinisikan sebagai:

Gi = Xi . Yi
Pi = Xi + Yi

Bit bawaan c-out(i) yang dihasilkan saat menambahkan dua bit Xi dan Yi adalah ‘1’ jika fungsi terkait Gi adalah ‘1’ atau jika c-out(i-1)=’1′ dan fungsi Pi = ‘1’ secara bersamaan. Dalam kasus pertama, bit bawaan diaktifkan oleh kondisi lokal (nilai Xi dan Yi). Dalam kasus kedua, bit bawaan diterima dari penjumlahan elementer yang kurang signifikan dan disebarkan lebih jauh ke penjumlahan elementer yang lebih signifikan. Oleh karena itu, bit bawaan yang terkait dengan pasangan bit Xi dan Yi dihitung menurut persamaan:

carry_out(i) = Gi + Pi.carry_in(i-1)

Untuk penjumlah empat bit, carry-out dihitung sebagai berikut

carry_out0 = G0 + P0 . carry_in0
carry_out1 = G1 + P1 . carry_out0 = G1 + P1G0 + P1P0 . carry_in0
carry_out2 = G2 + P2G1 + P2P1G0 + P2P1P0 . carry_in0
carry_out3 = G3 + P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1 . carry_in0

Rangkaian persamaan di atas diimplementasikan oleh rangkaian di bawah ini dan selanjutnya adalah penjumlah lengkap dengan generator pembawa look-ahead. Sinyal input perlu disebarkan melalui maksimum 4 gerbang logika dalam penjumlah tersebut, berbeda dengan 8 dan 12 gerbang logika pada penjumlah yang diilustrasikan sebelumnya.

Jumlahnya dapat dihitung dari persamaan berikut, di mana carry_out diambil dari carry yang dihitung dalam rangkaian di atas.

BCD Adder

Penjumlahan BCD sama dengan penjumlahan biner dengan sedikit variasi: setiap kali jumlah lebih besar dari 1001, itu bukan angka BCD yang valid, jadi kita tambahkan 0110 ke dalamnya, untuk melakukan koreksi. Ini akan menghasilkan carry, yang ditambahkan ke posisi BCD berikutnya.

  • Tambahkan dua input kode BCD 4-bit.
  • Tentukan apakah jumlah penjumlahan ini lebih besar dari 1001; jika ya, tambahkan 0110 ke jumlah ini dan menghasilkan carry ke posisi desimal berikutnya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *