Sunteți pe pagina 1din 7

Lucrarea 5

Numere i Sumatoare Zecimale (BCD i BCD Exces de 3)

Sunt prezentate codificrile binare ale numerelor zecimale n format Binary Coded Decimal (BCD) i BCD n exces de 3. Aceste codificri revenic algoritmi speciali pentru adunarea numerelor n reprezentrile corespunztoare. Pe lng prezentarea acestor algoritmi i a dispozitivelor hardware ce le corespund, sunt introduse exemple edificatoare n ceea ce privete diferena de performan ntre dispozitivele BCD i cele BCD exces de 3.

1 Numere Zecimale Codificate Binar - BCD Exist multe aplicaii n care operaia dominant reprezint intrarea i ieirea de date, ori este cunoscut faptul c n lumea exterioar operm n sistemul zecimal iar n sistemele de calcul operm n sistemul binar. Operaia implic multe conversii zecimalbinare respectiv binar zecimale. Aceste reprezentri implic multe calcule consumatoare de timp deci soluiile sunt nesatisfctoare. Accelerarea operaiei de conversie se obine pentru nite reprezentri aparte a numerelor zecimale i una dintre ele se caracterizeaz prin faptul c fiecare cifr zecimal este convertit n mod separat.

Un astfel de cod poart denumirea de cod BCD (binary-codeddecimal), care este caracterizat prin faptul c fiecare cifr binar este substituit printr-un cvartet binar.

bi ,3bi ,2 bi ,1bi ,0 , i 1

(5.1)

Se obine un cod ponderat pentru numere zecimale caracterizat prin faptul c fiecare cifr binar asociat ponderea bi , j are
10i 12 j , i 1, j 0

N = 437 = 0100 00110111 )


4 3 7

(5.2)

Conversia este foarte simpl, dar ea are dezavantajul c operaia cea mai frecvent, care este adunarea, ntmpin dificultatea constituit de corecia de 6 deoarece sunt sume pe coduri de 4 bii care nu dau carry out dei corespondentul lor zecimal este mai mare dect 9. n urmtoarea ecuaie este prezentat un exemplu de adunare n BCD.
437 = 0100 +578 = 0101 1015 1001 0001 1010 0011 0111 0111 1000 1010 1111 0001 + 0110 1011 1 0101
5

(5.3)

+ 0110 + 0110 1 0000 1 0001


1 0 1

La operaia de adunare, care se efectueaz cifr zecimal cu cifr zecimal sau cvartet binar cu cvartet binar, fie se obine carry din cifra cea mai semnificativ a cvartetului fie se obine echivalentul binar corespunztor valorilor zecimale 10,11,12,13,14,15. Se aplic corecia de 6 constnd din adunarea echivalentului binar al cifrei zecimale 6 la cvartetul rezultatului. Corespondentul hardware pentru operaia de adunare be dou cifre BCD este prezentat n Figura 5.1.

Figura 5.1 Dispozitivul de adunare pe o cifr BCD, cu etajul superior de cellule de nsumare complet pe 1 bit fiind folosit n vederea coreciei de 6, prin punerea pe 1 a semnalului cor6. 2 Reprezentarea BCD n Exces de 3

Un alt cod este codul zecimal exces de 3. Adunarea numerelor n acest codul se efectueaz fr nici un fel de intervenie de tipul coreciei de 6 prin circuitele care realizeaz aceast operaie asupra numerelor binare. Regula de obinere a rezultatului n cod exces de 3 este:

dac n urma efecturii operaiei de adunare a doi cvartei binari nu rezult transport atunci se obine rezultatul corect prin scderea valorii 3 (a echivalentului binar al cifrei 3); dac la adunarea a doi cvartei binari se obine transport atunci rezultatul corect se obine prin adunarea lui 3.

Avantajul codificrii n exces de 3 const n faptul c nu mai depinde corecia adunrii echivalenilor binari ai cifrelor zecimale de operaia de corecie de 3, care poate fi efectuat n mod completamente independent. Cum corecia revendic o penalitate semnificativ de performan, aceast facilitate este extrem de important pentru construcia unor dispozitive eficiente de adunare a numerelor zecimale codificate binar.

n continuare prezentm un exemplu de adunare a dou numere zecimale codificate n BCD n exces de 3 :
437 = 0111 1000 0000 0011
0

0110 1010 1 0000 +0011 0011


0

1010 0101 0 1111 0011 1100


9

+572 = 1009 1 0100


1

+0011 +0011

(5.4)

Prin eroare se schimb numrul de bii de 1 corespunztori codificrii cifrei zecimale iar eroarea poate fi detectat imediat. Codul 2 din 5 este codul de eroare, el revendicnd, pentru atributul suplimentar al detectrii erorilor, investiia suplimentar cu un bit. Relativ la codificrile zecimale putem spune c:

ele revendic un numr mai mare de bii. De exemplu dac avem un numr cu n bii lungime prestabilit atunci nu mai pot fi codificate n binar 2 numere ci 2 valoarea 0,83n se obine din raionamentul:
n 0,83 n

, unde

210 1024 1000 103 10..............3 n 10 x.............. x = n = 0,83n 4 12

Capacitatea de reprezentare a numrului pe n bii este:


n binar 2 n numere; in BCD


n 10 4

numere;

la circuitele care lucreaz cu aceste numere operaiile fundamentale de adunare sunt mai complicate datorit faptului

c transportului posibil ntre biii adiaceni nu i corespunde o pondere determinat fix, ci ea difer.
3 Decimal ripple carry Adder

La adunarea numerelor zecimale reprezentate n BCD pot fi utilizate toate soluiile de adunare prezentate anterior i pentru simplitate vom expune problema n contextul RCA, scop n care prezentm urmtoarea schem:

Figura 5.2 Construcia n manier RCA, cu celule BCD de nsumare pe 1 cifr zecimal, a unui umator BCD. 4 Aplicaii

Problema 5.1 S se proiecteze un sumator BCD-Exces de 3 pe 5 cifre zecimale, folosind tehnica Carry Skip Adder, astfel nct penalitatea de performan (ntrzierea) s fie ct mai mic cu putin i s se estimeze aceast ntrziere n termeni de , unde este ntrzierea pe porile AND i OR, iar poarta XOR are o ntrziere de 2. Rezolvare:

Reprezentarea n exces de 3 are ca efect separarea nsumrii echivalenilor binari de partea de corecie. Practic, nsumarea echivalenilor binari (inclusiv transmiterea carry-ului) se poate face fr a ine cont de corecia de 3. Prin urmare, se poate folosi un sumator carrz

skip (CSKA) pe 20 de bii (5 cifre zecimale 4 bii pentru reprezentarea cifrei) n vederea nsumrii echivalenilor binari ai numerelor de nsumat, urmnd ca operaia de corecie s fie efectuat cu ajutorul a 5 dispozitive de corecie pe o cifr zecimal. Varianta CSKA optim pe 20 de bii este cea cu segmente inegale de tip 2-5-6-5-2. Sumatorul de proiectat va lucra cu cifre zecimale reprezentate binar, de tipul Xi[3:0]=xi3 xi2 xi1 xi0, (unde xij sunt cifre binare), dup cum se arat n Figura 5.3. Schema de principiu a sumatorului - fr partea de corecie este prezentat n Figura 5.4. Ieirile acestui sumator sunt semnale de tipul s*ij i vor constitui intrri pentru cele 5 circuite de corecie pe o cifr zecimal codificat n exces de 3. Circuitele de corecie au structura prezentat n Figura 5.5, justificat de necesitatea adunrii gruprii binare 1101 la echivalentul binar al cifrei i (s*i3 s*i2 s*i1 s*i0) atunci cnd c(i+1)4 este 0, iar atunci cnd este 1, se va aduna gruparea binar 0011. Din lanul de carry al sumatorului din Figura 5.4, cel mai ntrziat
este semnalul c20 (19 deoarece este carry out-ul unui sumator CSKA cu segmente 2-5-6-5-2). Prin urmare, vom face evaluarea pe circuitul de corecie corespunztor lui i=4. n acest circuit, dup cum se arat i n Figura 5.5, s*40 are o ntrziere de 21 , iar s*41 23 , s*42 17 , s*43 19 . Rezultatul: s43 are o

ntrziere de 29 .

Figura 5.3 Reprezentarea binar a numerelor de nsumat n exces de 3.

Figura 5.4 Sumatorul BCD-E3 pe 5 cifre zecimale, fr partea de corecie.

Figura 5.5 Circuitul de corecie pe o cifr zecimal n exces de 3.

Problema 5.2 (propus) S se calculeze ntrzierea, n termeni de , pentru celula BCD din Figura 5.1. Problema 5.3 (propus) S se calculeze ntrzierea, n termeni de , pentru un sumator BCD cu celule conectate n manier RCA, pe 5 cifre zecimale.

S-ar putea să vă placă și