1. Circuite de Adunare Si Scadere

55
Arhitectura calculatoarelor. Circuite de adunare şi scădere. Cap. 1. ISTORIC Ştiinţa calculatoarelor este o disciplină nouă care s-a dezvoltat datorită nevoii de a înţelege ce este un calculator, ce poate să facă un calculator şi cum poate fi el utilizat. Calculatoarele se utilizează în toate domeniile lumii moderne. Un calculator poate fi definit ca o maşină care prelucrează informaţia. Cu toate că ştiinţa calculatoarelor este o disciplină nouă, rădăcinile sale se află în istoria ştiinţei, ingineriei şi matematicii. Se pot urmări câteva fire de la istoria civilizaţiei umane şi până la inventarea calculatorului electronic modern. 1.1. Automatizări complexe. Calcule repetitive. Calculul a fost o necesitate centrală încă de la începuturile matematicii, ştiinţei şi ingineriei. Pornind de la relaţii matematice care modelează diferite fenomene reale, prin calcule se obţin rezultate pe baza cărora se iau deciziile viitoare. Multe calcule sunt plictisitoare, se repetă şi pot introduce erori. Pentru automatizarea efortului de calcul au fost inventate de-a lungul istoriei diferite “maşini de calcul”. În anul 500 î.e.n. a fost inventat abacul, care îşi are originea în Egipt. Acest instrument simplu a fost utilizat vreme îndelungată. În Evul Mediu, în perioada Renaşterii au fost inventate multe dispozitive ajutătoare în cercetarea pământului şi navigarea oceanelor. Aceste dispozitive nu numai că permit mai multă acurateţe în măsurători, dar de asemenea şi simplifică calculele. În 1622 englezul William Oughtred inventează rigla de calcul, care devine unealta de bază pentru calculele ştiinţifice şi inginereşti până când a fost înlocuită de calculatorul de buzunar în 1970. În 1642 francezul Blaise Pascal construieşte primul calculator mecanic (limbajul de programare Pascal a primit numele său). În secolul 19 (1830) englezul Charles Babbage creează o maşină numită “difference engine” care poate realiza calcule complexe ce implică algoritmi şi funcţii trigonometrice. O a doua maşină inventată de Babbage numită “analytical engine” a fost un dispozitiv mai general de calcul care se conduce după un 1

description

informatica

Transcript of 1. Circuite de Adunare Si Scadere

CAP

Arhitectura calculatoarelor. Circuite de adunare i scdere.

Cap. 1. ISTORICtiina calculatoarelor este o disciplin nou care s-a dezvoltat datorit nevoii de a nelege ce este un calculator, ce poate s fac un calculator i cum poate fi el utilizat. Calculatoarele se utilizeaz n toate domeniile lumii moderne. Un calculator poate fi definit ca o main care prelucreaz informaia.

Cu toate c tiina calculatoarelor este o disciplin nou, rdcinile sale se afl n istoria tiinei, ingineriei i matematicii. Se pot urmri cteva fire de la istoria civilizaiei umane i pn la inventarea calculatorului electronic modern.

1.1. Automatizri complexe. Calcule repetitive.

Calculul a fost o necesitate central nc de la nceputurile matematicii, tiinei i ingineriei. Pornind de la relaii matematice care modeleaz diferite fenomene reale, prin calcule se obin rezultate pe baza crora se iau deciziile viitoare.

Multe calcule sunt plictisitoare, se repet i pot introduce erori. Pentru automatizarea efortului de calcul au fost inventate de-a lungul istoriei diferite maini de calcul. n anul 500 .e.n. a fost inventat abacul, care i are originea n Egipt. Acest instrument simplu a fost utilizat vreme ndelungat.

n Evul Mediu, n perioada Renaterii au fost inventate multe dispozitive ajuttoare n cercetarea pmntului i navigarea oceanelor. Aceste dispozitive nu numai c permit mai mult acuratee n msurtori, dar de asemenea i simplific calculele.

n 1622 englezul William Oughtred inventeaz rigla de calcul, care devine unealta de baz pentru calculele tiinifice i inginereti pn cnd a fost nlocuit de calculatorul de buzunar n 1970. n 1642 francezul Blaise Pascal construiete primul calculator mecanic (limbajul de programare Pascal a primit numele su).

n secolul 19 (1830) englezul Charles Babbage creeaz o main numit difference engine care poate realiza calcule complexe ce implic algoritmi i funcii trigonometrice.

O a doua main inventat de Babbage numit analytical engine a fost un dispozitiv mai general de calcul care se conduce dup un program similar cu cele utilizate n calculatoarele moderne. Asistenta lui Babbage, Ada Lovelace a dezvoltat programe pentru aceast main de calcul analitic i ea este considerat ca fiind prima programatoare de calculatoare (limbajul de programare Ada a primit numele ei).

Dezvoltarea teoriei electricitii i a electronicii pe parcursul secolului al 19-lea conduce la o rapid dezvoltare a unor maini de calcul tot mai sofisticate ntre anii 1920 i 1930 construite pe baza unor dispozitive electronice de comutaie. A fost astfel deschis etapa pentru construcia calculatorului electronic n 1940, fcnd astfel posibil calculul repetitiv i automatizarea complex.

1.2. Automatizare. Tabelare simpl. Procese de numrare

O alt direcie de dezvoltare este ncercarea de a automatiza prelucrarea informaiei, fapt ce implic procese simple dar numeroase de tabelare i numrare. Un astfel de exemplu ar fi numrarea populaiei dintr-o zon i evidena taxelor i impozitelor.

n 1890 problema numrrii i tabelrii l-a determinat pe americanul Herman Hollerith s inventeze maina de tabelat cu cartel perforat. Ideea utilizrii cartelelor perforate a fost introdus n 1801 de ctre francezul Joseph Marie Jaquard. Munca lui Hollerith a dus la dezvoltarea unei mari varieti a mainilor de calcul electromecanice pentru numrat, tabelat, sortat i calcule simple n perioada primei jumti a secolului 20. Aceste maini de calcul au fost bazate pe utilizarea cartelelor perforate pentru reprezentarea informaiei ce se prelucreaz.

1.3. Dezvoltarea electronicii

A treia direcie, avansul rapid n electronic n perioada 1900 1950 a permis construcia primului calculator electronic, n aceast perioad fiind descoperite multe dispozitive electronice de comutaie. S-au utilizat mai multe dispozitive de comutaie mpreun formnd reelele de comutaie capabile s efectueze operaii aritmetice simple ca adunare i nmulirea. Dup 1940 s-au putut realiza i operaii mai complexe ca de exemplu calculul funciilor trigonometrice sinus, cosinus, a funciei radical, toate fiind reprezentate prin reele de comutaie. Dispozitivele de comutaie care erau n parte electronice, n parte mecanice se pot construi din acest moment n ntregime electronice.

1.4. Fundamentele matematice

A patra direcie care st la baza calculatoarelor electronice moderne se regsete n matematic i logic matematic. n 1854 englezul George Boole a inventat calculul logic care utilizeaz numai valorile adevrat i fals i operaii de baz ca: i (and), sau (or) i negaia (not) pentru a combina valorile adevrat i fals. Acest calcul, numit ulterior

algebra boolean poate fi utilizat pentru a reprezenta reele de comutaie prin nlocuirea valorilor adevrat/fals (true/false) prin poziia on/off a unor dispozitive de comutaie, iar operaiile i, sau i nu prin circuite electronice simple.

1.5. Apariia calculatorului electronic

Dup 1940 a devenit evident necesitatea automatizrii prelucrrii informaiei. n 1939 americanul John Atanasoff a construit un mic prototip a ceea ce a fost considerat primul calculator numeric. Primul calculator electronic, ENIAC a fost definitivat n 1946 de ctre J. Presper Eckert i John Mauchley. n timp ce aceast main este capabil s efectueze prelucrri n ntregime electronic, programul care o controleaz a fost dificil de utilizat i modificat.

Un matematician american John von Neumann furnizeaz 3 concepte fundamentale utile n construcia unui calculator electronic:

1. Codificarea ntregului program i a datelor n format binar (secvene de 0 i 1);

2. Memorarea programului mpreun cu datele ntr-o memorie a calculatorului;

3. Dezvoltarea unei Uniti Centrale de Prelucrare care s poat nu numai s efectueze calcule dar s i furnizeze, decodifice i s execute instruciunile coninute n program.

Cu aceste 3 principii von Neumann a artat c este posibil construirea unui calculator electronic capabil s prelucreze complet informaia fr intervenia omului dup memorarea programului i a datelor n memoria calculatorului. Pentru ca un astfel de calculator s execute diferite prelucrri trebuie ca programul respectiv de prelucrare s fie memorat n memoria calculatorului, nefiind necesare intervenii constructive asupra calculatorului.

1.6. Dezvoltarea calculatoarelor moderne

Un sistem de calcul conine dou pri: hardware i software.

Partea hardware a unui calculator const din echipamentele sale fizice ca de exemplu: diferite circuite electronice, tastatura, imprimanta, ecranul, etc.

Partea software const din programele care sunt disponibile s se execute pe un calculator pentru a realiza diferitele prelucrri ale informaiei.

1.6.1. Dezvoltarea prii hardware

Dispozitivele electronice de comutaie utilizate n construcia unui calculator electronic sunt cheia vitezei i dimensiunii unui sistem de calcul. Calculatoarele din anii 1950 utilizeaz tuburile electronice cu vid cu rol de dispozitive de comutaie, iar aceste calculatoare sunt numite prima generaie de calculatoare. Conform standardelor actuale aceste calculatoare sunt lente, nesigure i foarte mari.

Dup 1960, datorit inventrii tranzistorului a aprut a doua generaie de calculatoare care utilizeaz n construcie tranzistorul, acesta nlocuind tuburile electronice cu vid. Aceste sisteme sunt fizic mai mici, dar pot memora i prelucra mai mult informaie, sunt mult mai rapide i mai sigure.

Deoarece programele i datele trebuie stocate n memoria calculatorului, este necesar ca aceasta s fie de dimensiuni ct mai mari. Inventarea n 1952 a memoriilor cu miez magnetic furnizeaz o modalitate de a construi memorii mari, ieftine i sigure. A doua generaie de calculatoare utilizeaz aproape n exclusivitate memorii cu miez magnetic.

Chiar n perioada apariiei celei de a doua generaii de calculatoare electronica a avansat n continuare i aceste calculatoare au devenit nvechite. n 1959 a fost inventat circuitul integrat mici pastile de siliciu care conin multe tranzistoare. A urmat apoi o perioad rapid a dezvoltrii electronicii ceea ce a permis construcia de circuite tot mai complexe pe o pastil de siliciu.

Unele circuite integrate au fost construite cu scopul de a memora informaia, ele fiind denumite circuite de memorare. Altele sunt destinate prelucrrii informaiei, ele fiind denumite microprocesoare, la calculatoarele moderne.

Un calculator modern const din mai multe dispozitive care lucreaz mpreun ca: tastatura, ecranul, imprimanta. De asemenea procesorul i memoria formeaz unitatea central a sistemului de calcul.

La nceput sistemele de calcul utilizau cartelele perforate pentru a introduce programele i datele n sistem. Pentru a pregti o cartel perforat programatorii utilizau un dispozitiv special numit keypunch al crui scop era de a perfora cartela corespunztor fiecrei liter, numr sau caracter tastat. Pentru memorarea unor cantiti mari de informaie calculatoarele foloseau banda magnetic.

La sfritul anilor 1970 aceste dispozitive au fost nlocuite. n locul cartelei perforate s-a folosit un terminal care const dintr-un ecran i o tastatur. Aceste terminale pot fi conectate direct la calculator i utilizatorul poate introduce programul i datele direct de la tastatur i poate vizualiza rezultatele pe ecran. Nu a mai fost nevoie de cartela perforat. De asemenea apariia discului magnetic furnizeaz un mijloc mai rapid i mai sigur de a memora cantitile mari de informaie.

n perioada anilor 1970 1980 a aprut calculatorul personal bazat pe un nou microprocesor. Calculatorul personal este un calculator mic, ieftin care poate fi considerat un sistem personal. Rezultatul apariiei unui astfel de sistem a fost previzibil: o explozie n utilizarea calculatoarelor n cele mai diverse scopuri.

n timpul anilor 1980 au devenit importante reelele de calculatoare. Acestea conecteaz mpreun diferite tipuri de calculatoare i furnizeaz un mijloc pentru o persoan ce utilizeaz un terminal sau un calculator personal de a accesa reeaua. Odat accesat reeaua o persoan poate utiliza diferite calculatoare conectate la reea.

1.6.2. Dezvoltarea prii software Din timpul anilor 1950 i pn n prezent dezvoltarea prii software s-a fcut n paralel cu dezvoltarea hardware. O direcie major s-a constatat n dezvoltarea limbajelor de programare.

Primele calculatoare necesitau ca instruciunile unui program s fie codificate ca numere binare. Dificultatea unei astfel de codificri a condus la apariia multor erori. ncepnd cu anii 1950 limbajele utilizeaz notaii mai apropiate de algebr sau de limba englez. Aceste limbaje de programare faciliteaz scrierea de programe mai mari i mai complexe.

La nceputul anilor 1960 a devenit important o categorie aparte de soft un sistem de operare. Un sistem de operare este o colecie de programe care controleaz i urmresc operaiile ce se desfoar cu un sistem de calcul. Dezvoltarea sistemelor de operare a permis s fie posibil ca mai muli utilizatori s utilizeze simultan aceleai resurse ale sistemului de calcul. Odat cu apariia calculatoarelor personale i a reelelor de calculatoare s-au dezvoltat i sistemele de operare pentru acestea.

Software-ul s-a dezvoltat i n direcia programelor de aplicaie. n deceniul 1950 1960 cele mai multe programe de aplicaie au fost scrise pentru domeniul tiinific, ingineresc i militar. ntre 1960 1970 software-ul aplicativ s-a dezvoltat i n alte domenii de la jocurile pe calculator la soft educativ, domeniul bancar, etc.

1.7. Ce este tiina calculatoarelorDomeniul tiinei calculatoarelor (numit informatic sau tiin informatic) s-a dezvoltat ca disciplin separat n perioada anilor 1950 1965. Dezvoltarea sa a fost impulsionat de creterea complexitii procesului de prelucrare a informaiei n lumea modern. Dup 1960 cele mai multe universiti au introdus disciplina Informatic, dezvoltndu-se tot mai mult i literatura de specialitate.

Subdomeniile majore ale acestei tiine sunt prezentate n figura 1.1.

1. Algoritmi i structuri de date studiaz metodele care realizeaz procesul de prelucrare al informaiei, cum se reprezint informaia i care sunt paii ce trebuie urmai pentru prelucrarea ei.

2. Limbajele de programare au ca scop studierea notaiilor folosite la reprezentarea algoritmilor i a structurilor de date. Limbajele trebuie s fie uor de utilizat pentru programatori i de asemenea uor de translatat automat ntr-o secven detaliat de instruciuni i date specifice fiecrui tip de calculator.

3. Arhitectura calculatoarelor studiaz cum sunt organizate diversele componente hardware ntr-un sistem de calcul.

4. Sistemele de operare sunt o colecie de programe care asigur utilizarea i funcionarea eficient a sistemului de calcul.

5. Ingineria software studiaz modul de creare al programelor software astfel nct acestea s permit automatizarea complex a prelucrrii informaiei. Programele trebuie s fie corecte, fiabile i uor de utilizat.

6. Calculul numeric i simbolic studiaz cum se pot modela procesele i fenomenele reale i cum se pot determina soluiile acestor modele matematice. Calculele pot fi numerice, utiliznd date numerice sau simbolice utiliznd relaii matematice.

Cap. 2. REPREZENTAREA NUMERELOR N CALCULATOARE

2.1. Reprezentarea numerelor n calculatoare2.1.1. Clasificarea informaiilor

n calculator informaia este constituit din secvene binare, organizate n cuvinte: words. Acesta reprezentnd unitatea de informaie de lungime fix n stabilit din considerente hardware (azi n=32; 64). Informaia se clasific dup schema urmtoare:

Datele nenumerice constnd din cifrele sistemului de numeraie, literele alfabetului, alte semne de punctuaie i speciale se codific n mai multe coduri, dintre care se detaeaz codul ASCII.(ASCII- cod de caractere pe 8 bii).

2.1.2. Formate de numere

Pentru a selecta un anume format de reprezentare a numrului trebuie luai n considerare urmtorii factori:

1) Tipul numrului de reprezentat;2) Domeniul valoric care trebuie acoperit de reprezentare;

3) Precizia reprezentrii, constituind acurateea maxim ce poate fi asigurat de aceast reprezentare;

4) Costul hardware-ului necesar memorrii numerelor reprezentate.

Prin prisma factorilor prezentai exist 2 forme de reprezentare a numerelor n calculator:I. Virgul fix- caracterizat printr-un domeniu restrns valoric al reprezentrii, dar un cost hardware sczut.II. Virgul mobil- prezint o lrgire a domeniului reprezentrii ns cost hardware mai mare.2.1.2.1 Reprezentarea numrului n virgul fix.

Este dedus din reprezentarea ordinar (zecimal) a numerelor care const din secvene de cifre separate prin virgula zecimal.Cifrele la stnga virgulei reprezint partea ntreag a numrului.

Cifrele la dreapta virgulei reprezint partea fracionar a numrului.

Fiecare cifr are alocat o pondere fix determinat, care depinde de poziia cifrei n numr; numerele astfel reprezentate se spun c aparin notaiei poziionale.

Dac ne referim n particular la sistemul zecimal atunci pentru:

ponderea numrului pentru- partea ntreag

- partea fracionar

coeficient cifr;

Aceasta corespunde situaiei reprezentrii numrului fr semn.

2.1.2.1.1 Numere binare (reprezentarea numerelor binare n virgul fix).

Pentru r = 2 cifrele se numesc bit de la binary digit.

Pentru a reprezenta numrul cu semn, distingem 3 moduri diferite:

a) n semn mrime (sign-magnitude);

b) n complement de 1 (ones complement);

c) n complement de 2 (twos complement).

a)Reprezentarea n semn mrime(SM).Dac admitem c numrul este reprezentat pe n bii atunci reprezentarea n semn mrime implic sacrificarea bitului celui mai din stnga a cuvntului (numit i cel mai semnificativ-MOST SIGNIFICANT BIT = msb (bit de semn) are alocat valoarea 0 pentru numr > 0; 1 pentru numr < 0).Pentru poziionarea virgulei ar mai trebui sacrificat un bit. Acest sacrificiu duce la pierderea preciziei reprezentrii, de aceea virgula nu se specific n mod explicit ci ea este considerat implicit cu poziia la dreapta celui mai puin semnificant bit (less significant bit = lsb)pentru numere intregi sau tot implicit pentru numere fractionare.1) Domeniul valoric.

2) Precizia

Relativ la numerele zecimale este dat de

- totalitatea numerelor reprezentabile pe n bii

Principiul make the common case fast favorizeaz cazul cel mai frecvent.

Una dintre operaiile cel mai des ntlnite n calcule este operaia de adunare( n baza principiului make the common case fast aceast operaie se impune favorizat ). Prin urmare se impune ca ea s poat fi realizat prin reprezentari ct mai simplu cu putin. Prin aceast prism, reprezentarea semn-mrime prezint dezavantaje.

+3=0.011+

SM

-3=1.011

1.110=-6(!)

+1=0.001+

-6=1.110

1.111=-7 -5 (!)

Concluzie. La operaia de adunare prin circuistic trebuie luate n considerare semnele relative, precum i prile de mrime relative ale celor 2 operanzi ce complic circuitele. Rezult de aici c performana scade.

Ar mai fi de dorit ca cifra de semn s fie tratat n mod uniform ca i restul cifrelor numrului.

Un dezavantaj ar fi faptul c cifra 0 are dou reprezentri:- (+) 0=0.000

- (-) 0=1.000Foarte frecvent se folosete operaia elementar constnd n aa-numita stare de 0.Operaiile superioare (nmulire, nprire) n SM se execut facil. ( acest lucru reprezint un avantaj, dar aceast operaie este mai puin frecvent).

b) Reprezentarea n complement fa de 1.(RCFI).Caracteristica reprezentrii RCF1 este: dac numrul este mai dect 0 se reprezint ca i n SM, iar dac numrul este mai mic dect 0 se reprezint prin substituirea fiecrei cifre binare prin aa-numitul complement fa de 1:

a) el se obine n mod simplu, mai simplu dect CF2;

b) din nefericire operaia de adunare implic ca i la SM tatonarea semnului nainte de efectuarea operaiei propriu-zise pentru c exist 2 situaii cnd rezultatul se impune corectat, care variaz:b1) ambele numere sunt negative;

b2) 2 numere de semne contrare; numrul pozitiv n valoare absolut este mai mare dect numrul negativ.

1

c) Reprezentarea n complement fa de 2(RCF2).Un numr pozitiv se reprezint n CF2 n acelai mod ca i n SM sau CF1. Numerele negative se reprezint astfel: se adun o unitate binar n poziia LSB a numrului reprezentat n CF1. x numr n semn mrime;

x = for integer

implicit binary point- x = mod 2 for fractions

implicit binary point

Fie

= 1=

Prin aplicarea modulului se ignor carry-ul (transportul bitului de semn).

a) Dac pentru nr. > 0 codurile complementare se supun notaiei poziionale, pentru nr. < 0 codurile complementare nu respect notaia poziional.

James Robertson:

0

n poziia n-1;Pentru a exemplifica aceasta metoda vom lua urmatorul exemplu:

b) Scderea n caz CF2 se realizeaz prin adunarea CF2, astfel spus se execut o singur operaie.

c) Cifra de semn, la operaia de adunare este tratat ca un bit ordinar al numrului, nu se face distincie ntre bitul de semn i restul biiilor rezultnd simplificarea circ.

d) Pentru cifra 0 avem o singur reprezentare constnd dintr-o secven de 0 rezultnd anomalia CF2.Tabelul 2.1 Reprezentari de numere in SM, CF1, CF2Decimal representationsBinary code

Sign-magnitudeOnes complementTwos complement

+70.1110.1110.111

+20.0100.0100.010

+10.0010.0010.001

(+)00.0000.0000.000

(-)01.0001.1110.000

-11.0011.1101.111

-21.0101.1011.110

-71.1111.0001.001

-8--1.000

Anomalia CF2 se datoreaz faptului c pentru 0 ( (+)0, (-)0 ) avem o singur reprezentare, i ntruct numrul total al reprezentrilor este par, prin convenie un numr negativ maxim reprezentabil este egal cu CF2.(SAU).

e)overflow/underflow()

Dac operm dou numere pe n bii i rezultatul obinut e prea mare sau prea mic, atunci pentru a putea fi reprezentat pe numrul de bii atunci se spune c ne aflm ntr-o situaie special de overflow sau underflow, situaii care sunt provocate de erori de programare i care revendic o tratare special.Exist i o anumit regul (overflow rule): dac se adun 2 numere de acelai semn (ambele pozitive sau negative) atunci apare over/underflow. Rezultantul prezint semnul opus operanzilor.

A+B=S

Tabelul 2.3

1

0 0

- Transporturile din rangurile cel mai semnificativ i urmtorul dup el

f) Overflow-ul depea nspre partea cea mai semnificativ, legat de erori de reprezentare;

Erori de reprezentare:

Un caz tipic de apariie a erorii e cel al nmulirii a 2 numere pe n bii i al cror produs rezult pe 2n bii. Cum n calculator operm cu cuvinte pe n bii rezult c i produsul trebuie exprimat pe n bii. Astfel cei mai puin semnificativi n bii sunt neglijai. Rezult o operaie de trunchiere cu corespunztoarea afectare a rezultatului prin eroarea de trunchiere. Aceast eroare poate fi semnificativ i de aceea se apeleaz la ndulcirea ei pe seama unei operaii suplimentare numit rotunjire, care este mai mic dect eroarea de trunchiere.

Exprimndu-ne fr a pierde din generalitate, n termeni ai sistemului zecimal:

N = 0.346712

Nt = 0.346; rotunjit implic s supunem numrul unei operaii de adunare cu val unde r = baza sistemului de numeraie,iar j = lsb care se reine (cea mai puin semnificativ cifr care se reine).Dac j = -3 rezult N = 0,346712 + 0,0005 = 0,347212, apoi urmeaz trunchierea rezultnd N = 0,347 mai apropiat de valoarea real.

n mod frecvent n calcule apar erori, acestea pot s se acumuleze n mod defavorabil i s afecteze grav calculele. Rezult c se apeleaz la interpretarea rezultatelor intermediare/finale pe mai multe cuvinte. Sunt necesare rutine corespunztoare pentru o aritmetic multicuvnt.

Se apeleaz la efectuarea calculelor n precizie multipl.

2.1.2.1.2 Numere zecimale

Este cunoscut c n afara calculatorului se lucreaz n sistemul 10, iar n calculator n 2, rezult c numerele se supun la intrarea unei conversii zecimal- binar, iar la ieire numerele sunt supuse unei conversii binar- zecimal. Din nefericire aceste operaii de conversii se bazeaz pe valori polinomiale care implic execuia de multe calcule i implic pierdere de timp. (nu se fac calcule efective ci doar conversii). Rezult CODURI, reprezentri de numere care s simplifice anterior menionatele operaii de conversie.

Caracteristica acestor coduri favorabile operaie de conversie, aa numitele coduri zecimale, const n faptul c realizeaz conversia fiecrei cifre zecimale n binar. Deci coduri cu codificare binar a fiecrei cifre zecimale. Dei toate aceste coduri procedeaz n mod similar, doar unul dintre coduri a primit denumirea de COD BINAR-ZECIMAL (binary coded decimal = BCD).Este caracteristic pentru BCD ca fiecare cifr zecimal e substituit prin 4 bii.

1001 0111 0001

9 7 1 Legat de codul BCD= cod ponderat, astfel dac avem un numr zecimal format din n cifre:

unei anumite cifre binare a reprezentrii BCD i se aloc ponderea .Ponderea nu variaz n mod uniform de la rang la rang rezultnd implicaia important la sinteza unitiilor aritmetice care opereaz aceste numere; pentru c la operarea aritmetic (cazul numrului fr semn) intervine corecia de 6.Tabelul 2.2. Reprezentarea numerelor zecimale n diferite coduriDecimal digitDecimal code

BCDASCIIExcess threeTwo out of five

000000011 0000001111000

100010011 0001010000011

200100011 0010010100101

300110011 0011011000110

401000011 01000111001001

501010011 0101100001010

601100011 0110100101100

701110011 0111101010001

810000011 1000101110010

910010011 1001110010100

Adunm un 3

Zone (field) pt extindere Un exemplu va fi cel de jos unde echivalentul binar care nu corespunde nici uneia dintre reprezentarile din tabelul I se va aplica corectia de 6:+175 = 0001 0111 0101

696 = 0110 1001 0110

871 0111 1 0000 1011

0001 0001 0110

1000 0001 1 0001

8 0110 1

0111

7Operaia de adunare a codurilor BCD implic activarea coreciei de 6 n situaiile:

a) Atunci cnd pentru echivalentul binar a cifrei zecimale sum se obine echivalentul numerelor zecimale.

10( 1010; 11( 1011; 12( 1100; 13( 1101; 14( 1110; 15( 1111.se activeaz corecia de 6;

b) Cnd chiar dac se obine echivalentul binar a unei cifre zecimale, dac avem transport carry inter tetriade binare alias cifre zecimale atunci se activeaz corecia de 6.

Implementarea n circuistic a regulei menionate implic complicarea circuitelor.

n reprezentarea ASCII tetradele corespunztoare cifrelor zecimale sunt extinse prin adausul la fiecare reprezentare din tetrad a cmpului de zon echivalent cifrei zecimale 3.

Codul exces de 3 reprezentat ca i cod BCD la care se adaug valoarea 3. Acest cod are o proprietate fascinant pentru c n mod surprinztor el poate fi operat prin adunare fr a face uz de corectorul de 6, poate fi operat prin sumatoare binare. Nu mai e un cod ponderat, poziional. Totui la adunare pentru a obine reprezentarea n exces de 3 se impune rezultatul corect la nivelul fiecrei tetrade alias cifr zecimal dup regula:

Dac la operarea (adunarea) echivalenilor exces de 3 corespunztoare a 2 cifre zecimale se obine transport carry. Rezult c la echivalentul binar corerspunztor sumei celor 2 tetrade exces de 3 trebuie adunat valoarea 3;

Dac la adunarea celor dou reprezentri exces de 3 a 2 cifre zecimale nu se obine transport carry spre cifra urmtoare atunci din echivalentul exces de 3 a cifrei zecimale trebuie sczut valoarea 3. 175=0100 10101000

696

1001 11001001

87101110 1 0111 1 0001

- 0011+0011 +0011

1011 1010 0100

8 7

1Two out of five.- sacrificiul de bit mai mare; pentru cifr zecimal avem 5 bii alocai i n plus la toi echivalenii binari a cifrelor zecimale avem 2 de 1 i 3 de 0.

Exist i cod 2 din 7, cod detector de erori i corectoare.

Eroarea singular care reprezint inta detectrii poate fi uor pus n eviden prin faptul c la nivelul unei tetrade se modific numrul de 1.(0).

Concluzii.1) Codurile zecimale implic o investiie redudant n reprezentare. n bii numere binare, dar nu poate s reprezinte dect n BCD sau exces de 3.

EMBED Equation.3

10 . . . 3

x . . . n/4

x = 10n/12 = 0,83n ( cu n bii ( numr BCD.

2) Circuitele de adunare implic apelarea n moduri diferite la corecii, pentru c ponderile asociate cifrelor binare ale reprezentrii nu variaz n mod uniform.2.1.2.2 Reprezentarea numerelor n virgul flotant.Pentru calcule tiinifice care folosesc numere foarte mari, foarte mici, cu precdere, reprezentarea n virgul fix nu asigur n general cmpul valoric dorit. Pentru astfel de aplicaii se apeleaz la reprezentarea n virgul flotant (numere reale) i care fac uz de aa- numita notaie tiinific diferit de notaia poziional, ponderat.

Notaia tiinific implic 3 numere legate prin relaia:

unde E- exponentul;

B - baza;

M - mantisa.

Baza B (base) este 2 sau o putere a lui doi i ea e uzual fix, se spune c e built in the circuit (nu trebuie specificat n mod explicit).

M i E sunt 2 numere reprezentate n virgul fix; uzual M este un numr fracionar iar E este un numr ntreg.

Domeniul valoric - depinde de B i E, fiind cu att mai mare cu ct numerele respective au valori mult mai mari, dar fiind alocai n bii nu se pot reprezenta mai mult de .Dac B crete sau E crete numerele vor fi reprezentate mai dispersat.

Precizia e cu att mai mare cu ct M are un numr mai mare de bii. Reprezentarea numerelor flotante implic 2 probleme:

A) Problema mantisei

Reprezentarea n virgul flotant e n mod inerent redudant.

un numr poate fi reprezentat n mai multe feluri;

La intrarea datelor n calculator, respectiv la ieire se dorete reprezentarea numerelor ntr-o form unic numit form normal i care are la baz urmtoarea regul de formare:

a) Dac numrul e reprezentat n SM, atunci el este reprezentat n forma normal; dac cifra binar cea mai semnificativ la dreapta virgulei are valoarea 1.

Considerm un numr reprezentat pe n bii : se spune c la reprezentarea n SM se elimin aa numitele cifre leading 0s.b) Dac numrul mantis e n RCF2 atunci forma sa normal caracterizat prin faptul c cifra de semn de cifra mbs . Adic pentru numere mai mici dect 0 se elimin aa- numitele cifre leading 1s (nesemnificative). Se obine aa-numita normalizare prin deplasarea fie la dreapta prin corespunztoarea incrementare a exponentului sau prin deplasare la stnga cu corespunztoarea decrementare a exponentului.

Prin operaia de normalizare se restrnge cmpul valoric al reprezentrii numrului mantis: .

B) Problema exponentului

Problema exponentului este legat de reprezentarea lui 0 n calculator ca numr de virgul flotant.

S spunem c rezult M = 0 n urma calculelor, dar datorit erorilor s rezulte un numr foarte mic ns diferit de 0. Dar dac avem un E foarte mare numrul rezultat poate fi foarte mare, deci rezult c eroarea este semnificativ, fapt pentru care E se seteaz la valoarea negativ cea mai mult reprezentabil n cmpul de exponent dat. Zicem c aceast valoare este K avnd k bii.

Dac numrul e reprezentat n SM, atunci rezult: , k fiind numr ntreg;

Dac numrul e reprezentat n CF2:

n calculator apare frecvent necesitatea testrii de 0. Atunci cnd avem valoarea 0 ea se dorete reprezentat printr-un ir de 0. n realitate ne vom folosi de o reprezentare n exces de K. n acest fel rezult c 0 e un ir de zerouri.Tabelul 2.3Exponent bit patternUnsigned value ESigned value

Bias = 127Bias = 128

11111111255+128+127

11111110254+127+126

10000001129+2+1

10000000128+1+0

011111111270-1

01111110126-1-2

000000011-126-127

000000000-127-128

Valoarea excesului se numete deplasament sau bias, situaie n care avem de-a face cu un exponent deplasat (biased exponent) care se numete caracteristica.

Reprezentarea n virgul flotant conform standardului IEEE 754

(Institute of Electrical and Electronics Engineers).

Pn n anii 80 firmele mari de calculatoare aveau standardele proprii pentru reprezentarea nuumerelor n virgul flotant, ceea ce ngreuneaz portabilitatea programelor. Ele difereau prin reprezentarea condiionat de over/underflow. Din 85 un standard comun: are 3 formate pe 32, 64, 80 bii.Pentru reprezentarea unui numr n virgul flotant, sunt necesare trei zone:

zona pentru reprezentarea semnului s, care este un bit cu valoarea 0 pentru + i 1 pentru -;

zona pentru reprezentarea mantisei. Mantisa este numrul 1,m. Partea ntreag nu se reprezint, avnd ntotdeauna valoarea 1. Din partea fracionar se reine un numr constant i finit de cifre:

zona pentru reprezentarea exponentului e. Pentru reprezentarea exponentului se utilizeaz un numr fix de bii. Pentru a se putea pune n eviden i semnul exponentului, n zona exponentului se nscrie valoarea e+q, unde q poart numele de deplasament. Expresia e+q poart numele de caracteristic a numrului real x.

Adoptarea acestui mod de reprezentare s-a fcut din raiuni de construcie a calculatoarelor. Societatea de calculatoare IEEE a fost cea care s-a preocupat i a elaborat norme de reprezentare a numerelor n virgul flotant (mobil). Practic toate firmele care fabric astzi calculatoare i-au nsuit aceste norme i le-au implementat.

La reprezentarea n simpl precizie caracteristica este calculat potrivit relaiei:

C = e +127,

indicnd practic, semnul exponentului astfel:

dac C < 127, atunci exponentul e < 0.

dac C > 127, atunci exponentul e > 0.

Standardul pe 32 bii. Baza B=2; cmpul de exponent variaz ca numr de bii (de la 11 la 64).Exponentul E=numr binar RSM cu valoarea excesului 127.

Mantisa numr binar cu semn.

n vederea creterii preciziei, ntruct prin normalizare n condiiile RSM valoarea cea mai semnificativ a mantisei este 1, n cadrul standardului se prefer reprezentarea unui significant n form: S*=1.M.

Fig.2.2. Numere reprezentabile pe 32 de bii.Analiza situaiilor speciale

32 biti 64 bitia) , E = 255 (2047)

NaN ( Not a Number ) corespunde situaiei cnd pe parcursul calculelor se ntlnesc cazuri speciale ( ; mprire la 0 ). Calculele nu sunt stopate, se pot opera cu aceste cazuri pn cnd se genereaz o ntrerupere intern i se face salt n memorie la o rutin care analizeaz corectarea situaiei speciale. 3+NaN=NaN

b) M=0, E=255 (caz de overflow, cnd numrul reprezentat e ) .

Numerele pot fi operate conform calculelor cu infinii:

La momentul oportun se face analiza printr-un trap.c) - cazul numerelor denormalizate;

n virgul flotant se opereaz cu 3 feluri de numere:

Numere normalizate la introducerea i la extragerea datelor; Numere nenormalizate( unnormalized numbers ) care se utilizeaz pe parcursul efecturii calculelor;

Numere denormalizate care corespund unui overflow gradual.

Exemple de calcul

a) Admind numere n sistemul zecimal s consider:

Dac la un moment dat se impune s mprim valoarea la 10 , rezult c ntr-un sistem flash to zero, adic fr gradual underflow. Un sistem cu gradual overflow implic pieredea din precizie dar evitarea unui underflow.

Numerele denormalizate sunt de forma

b) Fie

c am evitat apariia underflow-ului ( ntr-un sistem care folosete gradual underflow).

d) E=0, M=0 corespunde reprezentrii lui 0 n calculator n virgul flotant.

( zero un numr cu semn ).

Reprezentarea numerelor n virgul flotant conform Standardului folosit de mainile IBM S/360, 370Aceast main folosete urmtoarele formate:

La aceast sistem baza B=16.

Numrul n forma general se reprezint:

unde E= numrul ntreg reprezentat n exces de 64;

M=numrul fracionar reprezentat n SM.

La reprezentarea acestui numr nu avem primele trei cazuri de excepie corespunztoare standardului IEEE 754. Zero este zero cu semn.

Baza B=16 confer posibilitatea reprezentrii acestui numr ntr-o palet foarte larg, adic :

Exemplu de calcul:

IEEE 754

IBM S/360,370

Cap. 3. DISPOZITIVE DE ADUNARE I SCDERE

Sumatoarele sunt circuite electronice care realizeaz suma a doi operanzi reprezentai pe acelai numr de cifre, dar pot fi utilizai i n cadrul unei structuri de nmulire.

Sumatoarele sunt constituite din celule semisumatoare i sumatoare complete. Semisumatoarele nsumeaz biii de acelasi rang ai operanzilor, fr a ine seama de bitul de transport provenit de la rangul precedent, n timp ce sumatoarele complete nsumeaza att biii de acelai rang, ct i bitul de transport.

3.1. Sumator de tip serial. ( Serial adder )Sumatorul serial este un automat secvenial, a crui comportare este dat de tabelul de stri 3.1. Avem dou stri posibile din punct de vedere funcional:

S0 - starea la care se adun la un moment dat 2 bii i din starea precedenta nu a venit transport (carry);

S1 - starea la care se adun la un moment dat 2 bii i exista transport.

Tabelul tranziiilor este prezentat mai jos. La construirea sumatorului folosim bistabile de tip JK:

y(t+1)=Jy(t)+Ky(t) Ecuaiile corespunztoare unei celule sumator complet sunt (ele sunt construite pe baza Tabelei 3.1):

EMBED Equation.3

EMBED Equation.3

Tabel 3.1 Tabelul de adevr al sumatorului complet pe 1 bit.InputsOutputs

xiyicizici+1

00000

00110

01010

01101

10010

10101

11001

11111

Prin urmare, soluia de proiectare a sumatorului serial, care conine un sumator complet pe 1 bit (structur combinaional) i un element de memorare bistabil (element de logic secvenial) este prezentat n figura 3.1.Fig. 3.1. Schema sumatorului serial.

Fig. 3.2. Schema sumatorului serial pe 1 bit (simulare EWB)n structura unui sumator serial se poate introduce ca element secvential un circuit basculant bistabil de tip Delay.

Fig. 3.3. Sumator serial simbol Fig. 3.4. Schema sumatorului serial realizat cu CBB de tip Delay

3.2. Sumator de tip paralel. (Parallel adder)3.2.1. Sumator cu transport serial (Ripple Carry Adder-RCA) Un sumator cu transport propagat serial se obine prin legarea n serie (cascad) a n celule sumator complet pe 1 bit, dac avem operanzi pe n bii. n mod caracteristic, operaia propriu-zis se execut ntr-un singur impuls de clock, numai c perioada acestui clock trebuie s acopere intervalul de timp necesar propagrii transportului n manier serial prin ntreaga schem. Dac delay-ul (ntrzierea) printr-un circuit poart AND sau OR este d (ntrzierea pe o poart XOR se consider a fi 2d), atunci perioada clock-ului trebuie s fie T 2nd.

Fig. 3.5. Celul de nsumare pe un bit: a) implementare cu pori logice; b) simbol.Introducnd n schem nc o poart SAU exclusiv se realizeaz un sumator/scazator. Operaia de scdere a doi operanzi const n adunarea la primul operand a reprezentrii n cod complement fa de 2 a celui de-al doilea operand luat cu semn schimbat.

, adic:

Pe 4 bii, un astfel de sumator va avea ntrzierea RCA-ului corespunztor, 8d, la care se adaug 2d de la porile XOR suplimentare, n total 10d.

Fig. 3.6. Prezentare detaliat a unui sumator/scztor binar pe 2 bii bazat pe soluia RCA.Cu acest dispozitiv vrem s realizm operaiile de adunare i scdere. Pentru aceasta, n schem se introduce n plus un circuit SAU EXCLUSIV:

Fig. 3.7. Sumator/scazator RCA pe un bit (simbol)

Relaia cu care se calculeaza timpul de propagare la un sumator de tip RCA este urmatoarea:

unde d=delay- ntrzierea care apare pe un nivel logic.

n-numrul de ranguri

Se consider c ntrzierea pe o poart elementar SI este egal cu ntrzierea pe o poart elementar SAU i egal cu ntrzierea pe o poart elementar SAU EXCLUSIV.

P I = P SAU = P SAU EXCLUSIV .

3.2.2. Sumator binar complet (Binary full subtracter).

In continuare este prezentat tabelul de stari pentru un scazator binar completTabel 3.2. Tabel de stari pentru scazator binar completInputOutput

00000

00111

01011

01101

10010

10100

11000

11111

Pe baza principiului make the common case fast, rezult o situaie favorabil care s elimine acest deranjament parametric.

3.2.3. Sumator cu transport anticipat (Carry look ahead adder-CLA)

La acest sumator s-a plecat de la ideea mbuntirii timpului de propagare a transportului prin generarea n mod anticipat a transportului ntr-o manier care s fie bazat pe variabilele precedente de generare,respectiv propagare a transportului:

gi - variabila de generare a transportului (generate);

pi - variabila de propagare a transportului (propagate);

In cazul acestui sumator valoarea transportului la rangul k se determina pe baza valorilor bitilor inferiori lui k a celor doi operanzi si doar a bitului de transport c0. Din motive de usurinta a intelegerii si din motive de simetrie se convine ca bitul de transport care se insumeaza la ragul k sa poarte indicele k (si nu k-1 ca in cazul sumatorului precedent).

Relatia de calcul a sumei este urmatoarea:

Si=ai(bi(ci

Pentru transport se utilizeaza urmatoarea formula:

Ci+1=aibi+aici+bici

In manier recursiv avem ecuaiile unui sumator paralel cu transport anticipat pe 4 bii:

variabil de generare a transportului; variabil de propagare a transportului

Fig. 3.8. Schema sumatorului cu transport anticipat CLA pe 2 bitiTimpul maxim de stabilire a rezultatului de adunare e 4d (sau 5d);

n schem cu ct numrul de ranguri crete cu att crete numrul de intrri a circuitului elementar, circuitul SAU care conecteaz toate intrrile are n+1 intrri (i circuitul I cu cele mai multe are n+1 intrri).

CLA trebuie combinat ntr-o schem hibrid.

Aspectul menionat al creterii numrului de intrri este deranjant, alt aspect , rezult o schem neregulat, ce crete n complexitate.

Celula de nsumare sufer o transformare n construciile CLA, ea se eticheteaz cu +*, i deseori este denumit celula degenerat de nsumare Avantajele acestei construcii de tip CLA sunt:

avem doar 5 niveluri logice fa de 2n niveluri logice ca la ripple-carry-adder pentru obinerea sumei.

Cele 5 niveluri logice sunt:

- generarea lui p i g;

- 2,3-generarea lui carry;

- 4,5-XOR pentru sum (se realizeaz pe 2 niveluri logice).

Dezavantajele sunt:

crete numrul intrrilor din porile AND pentru carry i OR (pentru bitul i avem i+1 intrri); crete fan-out-ul p-urilor, adic numrul de circuite pe care le poate alimenta.

De exemplu fan-out-ul lui Pn1 este egal cu n; structura este neregulat i crete n complexitate de aceea apar probleme legate de implementare. Tehnologiile actuale permit implementarea eficient doar a celulelor CLA pe 4 bii, acestea fiind incluse n construcii special dedicate CLA-urilor pe mai multi bii. Un CLA pe 4 bii va avea o ntrziere maxim de 3d pe semnalele de carry i de 5d pe semnalele de sum.

Fig. 3.9. Schema sumatorului CLA pe 3 biti (simulare EWB)

3.2.4. Alte tipuri de sumatoare paralele cu transport anticipatn funcie de structur, sumatoarele cu transport anticipat sunt de mai multe tipuri detaliate mai jos

Generaliznd, lund n considerare i < j; j+i < k.

Din aceasta relatie rezulta c acest carry e generat fie n partea mai semnificativ a blocului rangurile j+1, k , fie c e generat n partea mai puin semnificativ: atunci trebuie ca = adevrat pentru a asigura propagarea transportului.Ecuaiile scrise sunt valabile i pentru situaia cnd dac setm

i=0, k=3,

EMBED Equation.3

Celule:

Fig. 3.10. Structuri binare arborescente utilizate in scheme CLA

Este foarte important ca structura binara s fie regulat.

Aceast structur e mai rapid dect RCA, aici timpul variaza logaritmic n practic, fabricanii de calculatoare apeleaz la configurarea hibrizilor de sumatoare, combinnd mai multe metode. Vom prezenta o astfel de soluie hibrid, combinnd LCA cu RCA n dou variante hibride:1) Se preteaz in structuri de rippling, transmiterea serial a carry se realizeaz rapid: RCA-CLA. Fig. 3.11. Sumator hibrid RCA-CLA (schema bloc)

2) CLA-RCA

Fig. 3.12. Sumator hibrid CLA-RCA (schema bloc)

Pentru acest tip de sumator se calculeaza timpul de stabilire a rezultatului adunarii

3.2.5 Sumator cu omiterea transportului (Carry skip adder -CskA).O soluie intermediar ntre RCA, respectiv CLA o reprezint aa-numitul sumator cu omiterea transportului (se creeaz o cale de unt).

Carry-ul se poate genera simultan pentru toate segmentele, ignornd carry-ul care intr n porile AND, untndu-se astfel propagarea carry-ului prin ntreg segmentul.

n situaia n care din intrri pentru un anumit segment nu s-a generat carry datorit carry-ului de intrare n segment, este posibil totui s fie generat carry dar acesta nu va fi generat n manier serial conform soluiei RCA, ci va omite (skip) propagarea serial prin traversarea porii AND, condiionat pe intrri de factorul logic (ieirile porilor AND din Figura 2.1) care, n manier CLA, reprezint produsul . Aceast soluie tehnic se bazeaz pe faptul c dac n cadrul uni bloc se genereaz un cont acesta va fi carry-ul n continuare indiferent de pentru blocul respectiv.

Dac se dispune de o tehnologie care s permitp aducerea la zero a carry-urilor interbloc iniial (facilitate care n tehnologia CMOS se numete prencrcare- precharging). Atunci devine interesant aceast schem pentru c se creeaz o cale de evitare a propagrii carry-ului n cadrul blocului prin crearea unui unt pentru calea de propagare a caarry-ului. Aceast cale se activeaz doar n condiiile n care exist o variabil P care e obinut printr-un produs logaritmic (P trebuie s fie (A)), n aceste condiii carry nu se propag din aproape n aproape, ci ocolete acest bloc i intevine (2) 1d (ntrziere).

unde:Tad - timpul maxim n care sumatorul adun dou numere;

k - numrul de ranguri corespunztoare unui segment;

n - numrul total de ranguri ale sumatorului;

- ntrzierea pe 2 niveluri logice.

Considerm c avem n ranguri; k=numrul de ranguri ale unui segment (admitem c toate segmentele sunt egale).

Se pune problema dac se poate obine o valoare mai bun. Este posibil gsirea unei soluii implicnd o mbuntire a timpului de adder prin gruparea n segmente a unui numr inegal de ranguri.

Astfel pentru n=20 rezulta o combinaie: 2 5 6 5 2 :unde

Fig. 3.13. Sumator cu omiterea transportului (CSkA) (schema bloc)

Fig. 3.14. Schema sumatorului cu omiterea transportului (CSkA)-simulare EWB3.2.6 Sumator cu selectia transportului (Carry select adder -CSeA)Acest sumator ofera o modalitate diferit de a efectua operaia de adunare n mod paralelizat, pe baza unei investiii suplimentare care este sugerat de figura de mai jos (Figura 2.2). n anumite tehnologii faptul c semnalul de carry trebuie s comande foarte multe intrri duce la ntrzieri i de aceea semnalul trebuie amplificat. Transportul real selecteaz suma calculat n paralel att pentru eventualitatea n care el va fi 1, ct i n cea n care carry-ul va veni ca 0, (i.e. suma pe segment este anterior calculat). Problema care se pune este cum s se fac mprirea intrrilor n segmente RCA astfel inct adunarea s se fac n forma cea mai favorabil.

Soluia Carry Select Adder pe 8 bii: se mparte sumatorul RCA n segmente CSeA, care sunt dublate, i care precalculeaz n paralel suma pe segment, att n eventualitatea n care carry va fi 0, ct i n cea n care va fi 1.

n Figura 3.15 este prezentat multiplexorul 2 la 1 care trebuie s selecteze carry out-ul pe care n genereaz segmentele CSeA.

Folosete paralelizarea pentru rezolvarea problemii accelerrii generrii transmiterii transportului.

Fig. 3.15. Schema de insumare CseA pe 8 bitin timp ce se calculeaz , se calculeaz n paralel cele dou sume. Cnd sosete transportul real, multiplexoarele selecteaz suma corect.Daca c4 = 1, se selecteaza canalul

Daca c4 = 0, se selecteaza canalul

Pe seama unei intervenii constnd din dublarea unui segment i a calculului n paralel a 2 versiuni al unei sume pentru respectivul segment(una lund valoarea 0 carry i alta lund n considerare valoarea 1 a carry-ului ). n final se selecteaz aceea sum ce corespunde carry-ului calculat corect; carry-ul face selecia prin nivelul de MUX.

Fig. 3.16. Sumator cu selectia transportului (schema bloc)Schema prezinta urmatorul dezavantaj: cu ct crete numrul de multiplexoare, se solicit la nivel de FAN-OUT circuit care transmite carry-ul, aceast metod se preteaz n tehnologia care favorizeaz ncrcarea FAN-OUT-ului circuitului.Mai jos se prezinta variatiile in timp si spatiu pentru sumatoarele studiate astfel rezuktand un timp asimptotic care crete cu , iar n termen de spaiu am o complexitate de ((n). Time

SpaceRCA ((n)

((n)

CLA (

(

CSkA (

(

CSeA (

(

Fig. 3.17. Sumator cu selectia transportului (simulare EWB)3.2.7 Sumator Manchester (Killburn adder). Ideea constructiva a acestui sumator este de a asigura o cale rapida de propagare a bitului de transport inspre rangul superior (sa nu apara delay), prin comanda unor comutatoare comandate de bitii care se insumeaza la rangul respectiv.

Ideea crearii lanturilor rapide de propagare se bazeaza pe comutatoare cu viteza mare de comutare care in tehnologia VLSI ( Very Large Scale Integrated ) se implementeaz facil prin pass-transistors. Aceast idee e fructificat n mod hibrid.

Sumatorul Manchester, cunoscut si sub denumirea de Kilburn Adder, este prezentat in figura urmatoareFig. 3.18. Sumator Manchester (schema simplificata)

Fig. 3.19. Sumator Manchester (schema desfasurata)

Din constructia sumatorului Manchester se observa ca la un moment dat nu poate fi inchis decat un comutator dintre cele trei. Acesta face ca la sa se transmita automat fie 0, fie 1, fie .3.2.8 Sumator complet (Carry completion adder -CCA)Acest sumator reprezint o soluie care se bazeaz pe faptul c sunt dou ci de propagare a lui carry, calea de propagare a lui 0 i a lui 1 i se urmrete detectarea, generarea lui 0 sau 1 n ideea semnalrii terminrii generrii transportului. Aceast versiune de sumator se preteaz pentru calculul asincron.

Fig. 3.20. Sumator complet (Carry completion adder -CCA)

S-a detectat cnd s-a terminat semnalul de carry.

Fig. 3.21. Sumator complet (schema bloc)

Fig. 3.22. Schema sumatorului complet-CCA (simulare EWB)Vom avea pentru exemplificare urmatorul exemplu:

A = 10010101

B = 00101101

Numrul de intrri al circuitului care colecteaz SAU-urile depete FAN-IN-ul, rezultnd c poarta I se realizeaz pe mai multe nivele, rezult ca semnalele ntrzie si astfel se degradeaz performana. Soluia ar trebui combinat cu alte soluii.

Aceast soluie favorizeaz calculele asincrone.

3.2.9 Sumator conditional Conditional-sum adder (CSuA)Sumatorul n discuie ralizeaz calculul simultan al biilor de sum i carry, admind din ranguri anterioare transport att 0 ct i, se selecteaz biii coreci dup efectuarea calculelor, mai nti pe perechi de bii, paoi pe grupe de perchi de bii i continund n maniera arborelui binar pn la acoperirea biilor de adunat.Tabel.3.3.Stage i76543210

A10010101

B00101101

c sc sc sc sc sc sc sc s

j=0c=00100010101100010

c=110011010101101

j=1

c=001001110010

c=1011100101

j=2

c=00101110010

c=101100

j=3c=0011000010

Din aceasta formula , n=numr de ranguri,rezulta o relatie de complexitate. Se calculeaza suma s si carry c pentru fiecare rang in parte.

Fig. 3.23. Schema sumatorului complet CCA

Schem bloc:

Fig. 3.24. Schema sumatorului complet CCA (schema bloc)3.2.10 Sumator cu salvarea transportului (Carry-save adder-CSA)

Aceast soluie se caracterizeaz prin faptul c este alctuit din mai multe niveluri de celule sumatoare complet disjuncte. O astfel de structur de sumatoare permite nsumarea la fiecare nivel nu a doi operanzi, ci a trei operanzi. Ea apare ca foarte util atunci cnd se ncearc accelerarea operaiei de nmulire, care se bazeaz pe adunri repetate, prin pipelinizare aritmetic. Menionm c pentru a obine suma corect bazat pe CSA, la salvarea transportului este obligatoriu ca ultimul nivel de nsumare s fie reprezentat de un sumator clasic (de exemplu un RCA).

In figura urmatoare se prezint un sumator CSA pentru nsumarea a 4 numere binare pe 4 bii.

Celulele sumatorului sunt complet disjuncte (nu sunt interconectate ntre ele).

Se preteaz la operaii de nmulire binar, pentru c nmulirea binar n una din versiunile ei de implementare ca structur combinaional poate fi sintetizat ca un arbore de CSA. Aceast construcie permite implementarea unui concept de accelerare care se numete pipeline arithmetic.

Fig. 3.25. Schema sumatorului CSAAceast structur colecteaz lund triplei specifici CSA-ului i construind un arbore. Dac intercalm nite registre atunci ntr-un calcul vectorial putem realiza un flux de operaii. Se realizeaz nmulirea suprapus rezultnd aritmetic pipeline. ntr-un calcul vectorial se efectueaz mai multe calcule n avalan. Presupunem c se opereaz pe 8 bii.

Figura 3.28Exemplu de calcul

X=1 1 0 1

Y=1 0 1 1

S = 00100111

C = 00001000

P = 10001111

Fig. 3.26. Schema sumatorului cu salvarea transportului (simulare EWB)3.2.11. Sumator cu detector de paritate (Parity-checked adder-PCA)Dorim s supunem discuiei problema controlului coreciei execuiei a operaiei de adunare i admitem apriori defectul singular de blocare la 0 sau 1 logic stuck-at-0 sau stuck-at-1.

Pentru a aplica un control unitar n calcule, s ncercm controlul operaiei de adunare prin intermediul paritii astfel:Fie ;

Ataez fiecrui operand un astfel de bit de paritate .

.............................

.............................

Efectum un control pe baza urmtoarei scheme:

Fig. 3.27. Sumator cu detector de paritateDac E = 0 nu exist eroare.

Dac E = 1 exist eroareDac E = 0 nu exist eroare.

Dac E = 1 exist eroare.

Exemplu: A = 10010101, ap = 1

B = 00101101, bp = 1

S = 10111000, sp = 0

C = 00001010, cp = 0

. Rezult c nu este eroare.

Un defect provoac un pachet de erori (burst error), care, lund n considerare att biii de sum, ct i de transport, duce la un numr par de erori.

Exist dou soluii:

1) Duplicarea cii de carry (carry chains);

Fig. 3.28. Solutia de duplicare a caii de transport2) Carry-dependent sum adder (CDSA)Se bazeaz pe urmatorul principiu: prin schem urmrim realizarea sinteezei astfel nct numrul de bii afectai prin defect singular s rezulte impar.

Presupunem c a fost afectat:

( dac afectat provocm i afectat, rezult numr

impar i eroarea poate fi detectat prin control de paritate).

Se face urmtoarea sintez: inputsoutputs

00000

00011

0101

00110

01001

01010

01101

01110

10001

10010

10101

10110

11001

11010

11100

11111

Fig. 3.29. Sumator Carry dependent sum3.2.12 Sumator zecimal cu transport serial (Decimal ripple carry adder).

Accelerarea operaiei de conversie zecimal-binar 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. Sunt prezentate codificrile binare ale numerelor zecimale n format Binary Coded Decimal (BCD).

Aceste codificri revenic algoritmi speciali pentru adunarea numerelor n reprezentrile corespunztoare. Un astfel de cod poart denumirea de cod BCD (binary-coded decimal),

care este caracterizat prin faptul c fiecare cifr binar este substituit printr-un cvartet binar. Corespondentul hardware pentru operaia de adunare pe dou cifre BCD este prezentat n figura urmatoare.

Fig. 3.30. Dispozitiv de adunare pe o cifr BCDSemnalul cor6 este pe 1 dac se obine transport din cifra cea mai semnificativ a cvartetului, sau dac se obine prin adunare echivalentul binar corespunztor valorilor zecimale 10, 11, 12, 13, 14, 15.

DATA

NON-NUMERICAL DATE

FIXED POINT

FLOATING POINT

BINARY

DECIMAL

BINARY

DECIMAL

(ASCII)-AMERICAN STANDARD CODE

FOR INTERCHANGE INFORMATION.

INSTRUCTIONS

Semn

(sign)

Mrimea

(magnitude)

Integers binary point

fractions

Numere pozitive reprezentabile

cnd numrul e pozitiv

Carry 1 1.000

Corecia const prin adunarea cu 1

+

1

1 0.011 +

m

Depire inferioar

negativ

b) Numere reprezentate n virgul flotant

Ecuaia pentru celula de adunare complet (FULL ADDER CELL)

(

e + 1023

s

IEEE dubl precizie

m

e + 127

s

IEEE simpl precizie

ci+1

ntregi reprezentabili

0

-231

231-1

bi

ai

ci

+

si

ci+1

ci

Gradual underflow

0

1

7

8

31

S

E

M(24 bii=6 semne hexazecimale )

0

1

7

8

63

S

E

M(56 bii=14 semne hexacimale )

0

1

7

8

63 64

71 72

127

Unused

(zona nu e utilizat)

S

E

M(112 bii=28 semne hexacimale )

IEEE754

IBMS/360,370

EMBED Equation.3

EMBED Equation.3

900

900

2

450

450

2

225

224

2

112

112

2

5656

2

28

28

2

14

2

7

2

3

2

1

1

1

0

1

0

0

0

0

0

0

1

0

1

EMBED Equation.3

1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 . . . . 0

C

4

6

1

2

8

1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0. . . 0. . 0

8

9

21

0

1

7

8

31

C

3

3

8

4

A

c20

y

+

z

c(t)

c(t-1)

EMBED Equation.3

EMBED Equation.3

D

Q

EMBED Equation.3

EMBED Equation.3 EMBED Equation.3 EMBED Equation.3

+

EMBED Equation.3

EMBED Equation.3

clock

c(t)

c(t-1)

Serial adder

EMBED Equation.3

Numere negative reprezentabile

1,5x10-38

S0-3

4

4

c0

a0-3

b0-3

4

C8

P4-7

S4-7

4

4

a4-7

b4-7

4

C12

P8-11

S8-11

4

4

a8-11

b8-11

4

C16

P12-15

S12-15

4

4

Parallel adder

(RCA)

EMBED Equation.3

n

n

n

EMBED Equation.3

A

B

Subtraction

a16-19

b16-19

4

wordgate

n

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

z

x1

Q J

Q K

x2

b0

RESET

y

CLOCK

si

EMBED Equation.3

(clock cycle time)

EMBED Equation.3

EMBED Equation.3

a12-15

s0

b1

g0

p1

c0

p0

c1

g1

c2

g0

g1

c0

p0

p1

s1

a1

a0

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

1

1

2

2

1

1

2

2

2

2

1

1

2

1

1

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

1

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

A

A

B

B

B

B

A

A

B

A

A

B

A

A

B

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

A

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

B

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

C

C

B

B

C

C

B

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

CLA

CLA

CLA

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

RCA

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

0

1

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

MUX

EMBED Equation.3

RCA

RCA

RCA

0

0

0

1

1

1

RCA

EMBED Equation.3

EMBED Equation.3

0

1

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

f out EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

CFA

CFA

CFA

CFA

b12-15

0 carry

1 carry

carry

sum

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

Carry completion

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

level 1

level 2

level 3

level 1

level 2

level 3

level 4

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

+

+

+

+

+

+

+

EMBED Equation.3

+

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

CSA

CSA

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

0

0

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

Ex-OR

tree

EMBED Equation.3

+

EMBED Equation.3

A

B

n

n

Adder

Error

Parity checker

EMBED Equation.3

EMBED Equation.3

S

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

4

S16-19

4

4

Duplicated carry chain

...

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

ERROR

EMBED Equation.3

EX-OR tree

EMBED Equation.3

DCC

CC

EMBED Equation.3

...

CLA circuit

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

.... EMBED Equation.3

ERROR

EMBED Equation.3

EMBED Equation.3

Cu acest sumator se poate face control la paritate

Carry-dependent sum adder

c corect ==> s corect

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

EMBED Equation.3

11111111

EMBED Equation.3

...

...

...

DCC

CC

EMBED Equation.3

DCC

CC

EMBED Equation.3

EX-OR tree

Fig. 2.1. Standardele de reprezentare a numerelor reale.

11 bii

51

52

62

63

8 bii

23 bii

22

23

30

31

-1,5x10-38

-3,4x1038

3,4x1038

Depire superioar

negativ

Depire superioar

pozitiv

Depire inferioar

pozitiv

0

Celule folosite:

NUMBERS

INFORMATION

EMBED Equation.3

EMBED Equation.3

a) ntregi in C2

(

bi

ai

PAGE 1

_1195767168.unknown

_1215019954.unknown

_1270376160.unknown

_1270451546.unknown

_1270470344.unknown

_1270476031.unknown

_1270476964.unknown

_1272367347.unknown

_1273574406.unknown

_1274515595.unknown

_1274599291.unknown

_1274515637.unknown

_1274267570.unknown

_1272368132.unknown

_1272428841.unknown

_1270476978.unknown

_1271748409.unknown

_1272201928.unknown

_1270477436.unknown

_1271070595.unknown

_1270477650.unknown

_1270476982.unknown

_1270476971.unknown

_1270476974.unknown

_1270476967.unknown

_1270476928.unknown

_1270476935.unknown

_1270476949.unknown

_1270476932.unknown

_1270476060.unknown

_1270476136.unknown

_1270476925.unknown

_1270476037.unknown

_1270474373.unknown

_1270476017.unknown

_1270476021.unknown

_1270476023.unknown

_1270476028.unknown

_1270476022.unknown

_1270476019.unknown

_1270475639.unknown

_1270475739.unknown

_1270474380.unknown

_1270470521.unknown

_1270472120.unknown

_1270472147.unknown

_1270471783.unknown

_1270470361.unknown

_1270470385.unknown

_1270470368.unknown

_1270470357.unknown

_1270467009.unknown

_1270470234.unknown

_1270470329.unknown

_1270470338.unknown

_1270470298.unknown

_1270470137.unknown

_1270470140.unknown

_1270469628.unknown

_1270466862.unknown

_1270466868.unknown

_1270467005.unknown

_1270466865.unknown

_1270454829.unknown

_1270464695.unknown

_1270465264.unknown

_1270451549.unknown

_1270388490.unknown

_1270391934.unknown

_1270392164.unknown

_1270450767.unknown

_1270450872.unknown

_1270451491.unknown

_1270450656.unknown

_1270391990.unknown

_1270392163.unknown

_1270391974.unknown

_1270391597.unknown

_1270391874.unknown

_1270391909.unknown

_1270391784.unknown

_1270388677.unknown

_1270388689.unknown

_1270388524.unknown

_1270388027.unknown

_1270388183.unknown

_1270388358.unknown

_1270388407.unknown

_1270388311.unknown

_1270388047.unknown

_1270388090.unknown

_1270388036.unknown

_1270386170.unknown

_1270386482.unknown

_1270387977.unknown

_1270386425.unknown

_1270386137.unknown

_1270386159.unknown

_1270376395.unknown

_1266755298.unknown

_1270367353.unknown

_1270375912.unknown

_1270376097.unknown

_1270376106.unknown

_1270376111.unknown

_1270376099.unknown

_1270375961.unknown

_1270376010.unknown

_1270375914.unknown

_1270370278.unknown

_1270375153.unknown

_1270375545.unknown

_1270370280.unknown

_1270370171.unknown

_1270370261.unknown

_1270367437.unknown

_1270366531.unknown

_1270366680.unknown

_1270367004.unknown

_1270367056.unknown

_1270366700.unknown

_1270366674.unknown

_1270366679.unknown

_1270366556.unknown

_1270366025.unknown

_1270366480.unknown

_1270366520.unknown

_1270366033.unknown

_1270366267.unknown

_1268678745.unknown

_1270365964.unknown

_1270365979.unknown

_1270365959.unknown

_1268678919.unknown

_1266756438.unknown

_1267609454.unknown

_1268678041.unknown

_1266756212.unknown

_1215278356.unknown

_1215352393.unknown

_1215418910.unknown

_1266523054.unknown

_1266754023.unknown

_1266754135.unknown

_1266755076.unknown

_1266754095.unknown

_1266523330.unknown

_1266523472.unknown

_1266523251.unknown

_1215419097.unknown

_1215419262.unknown

_1219481772.unknown

_1215419128.unknown

_1215418973.unknown

_1215419034.unknown

_1215418941.unknown

_1215417426.unknown

_1215417643.unknown

_1215417862.unknown

_1215418483.unknown

_1215418503.unknown

_1215418442.unknown

_1215418379.unknown

_1215417778.unknown

_1215417519.unknown

_1215417576.unknown

_1215417470.unknown

_1215417256.unknown

_1215417330.unknown

_1215417392.unknown

_1215417291.unknown

_1215417067.unknown

_1215417227.unknown

_1215352417.unknown

_1215278577.unknown

_1215351959.unknown

_1215352295.unknown

_1215352296.unknown

_1215351985.unknown

_1215352294.unknown

_1215278663.unknown

_1215280190.unknown

_1215278615.unknown

_1215278445.unknown

_1215278512.unknown

_1215278538.unknown

_1215278467.unknown

_1215278400.unknown

_1215278424.unknown

_1215278384.unknown

_1215248771.unknown

_1215251266.unknown

_1215252302.unknown

_1215278241.unknown

_1215278287.unknown

_1215278316.unknown

_1215278262.unknown

_1215278206.unknown

_1215278223.unknown

_1215277815.unknown

_1215278173.unknown

_1215277421.unknown

_1215275231.unknown

_1215252128.unknown

_1215252242.unknown

_1215252152.unknown

_1215252219.unknown

_1215251502.unknown

_1215249009.unknown

_1215250170.unknown

_1215250225.unknown

_1215250111.unknown

_1215248960.unknown

_1215248999.unknown

_1215248925.unknown

_1215246851.unknown

_1215248118.unknown

_1215248689.unknown

_1215248746.unknown

_1215248431.unknown

_1215247163.unknown

_1215247269.unknown

_1215247407.unknown

_1215247426.unknown

_1215247443.unknown

_1215247617.unknown

_1215247991.unknown

_1215247596.unknown

_1215247436.unknown

_1215247418.unknown

_1215247391.unknown

_1215247398.unknown

_1215247306.unknown

_1215247227.unknown

_1215247246.unknown

_1215247201.unknown

_1215247001.unknown

_1215247097.unknown

_1215247119.unknown

_1215247073.unknown

_1215246932.unknown

_1215246958.unknown

_1215246907.unknown

_1215020106.unknown

_1215246581.unknown

_1215246767.unknown

_1215246819.unknown

_1215246715.unknown

_1215020141.unknown

_1215020170.unknown

_1215020124.unknown

_1215020036.unknown

_1215020071.unknown

_1215020091.unknown

_1215020056.unknown

_1215020003.unknown

_1215020022.unknown

_1215019978.unknown

_1214384551.unknown

_1215013146.unknown

_1215017058.unknown

_1215017568.unknown

_1215019774.unknown

_1215019885.unknown

_1215019918.unknown

_1215019933.unknown

_1215019905.unknown

_1215019837.unknown

_1215019861.unknown

_1215019823.unknown

_1215017723.unknown

_1215017798.unknown

_1215017806.unknown

_1215017748.unknown

_1215017660.unknown

_1215017707.unknown

_1215017585.unknown

_1215017324.unknown

_1215017441.unknown

_1215017498.unknown

_1215017507.unknown

_1215017450.unknown

_1215017417.unknown

_1215017418.unknown

_1215017371.unknown

_1215017149.unknown

_1215017259.unknown

_1215017285.unknown

_1215017251.unknown

_1215017111.unknown

_1215017131.unknown

_1215017094.unknown

_1215014637.unknown

_1215014976.unknown

_1215015061.unknown

_1215016993.unknown

_1215017021.unknown

_1215016956.unknown

_1215015016.unknown

_1215015037.unknown

_1215014990.unknown

_1215014744.unknown

_1215014839.unknown

_1215014880.unknown

_1215014804.unknown

_1215014695.unknown

_1215014712.unknown

_1215014675.unknown

_1215013393.unknown

_1215013455.unknown

_1215014576.unknown

_1215014614.unknown

_1215013490.unknown

_1215013411.unknown

_1215013431.unknown

_1215013394.unknown

_1215013269.unknown

_1215013391.unknown

_1215013392.unknown

_1215013291.unknown

_1215013193.unknown

_1215013246.unknown

_1215013168.unknown

_1214403846.unknown

_1214404940.unknown

_1214408039.unknown

_1215012880.unknown

_1215013010.unknown

_1215013049.unknown

_1215012973.unknown

_1214408214.unknown

_1214408277.unknown

_1214408191.unknown

_1214405161.unknown

_1214407981.unknown

_1214408003.unknown

_1214405299.unknown

_1214407953.unknown

_1214405077.unknown

_1214405127.unknown

_1214405010.unknown

_1214405022.unknown

_1214404786.unknown

_1214404912.unknown

_1214404928.unknown

_1214404815.unknown

_1214403953.unknown

_1214404039.unknown

_1214403904.unknown

_1214385176.unknown

_1214387450.unknown

_1214387646.unknown

_1214387881.unknown

_1214389817.unknown

_1214395366.unknown

_1214403709.unknown

_1214395365.unknown

_1214389394.unknown

_1214389470.unknown

_1214389544.unknown

_1214389395.unknown

_1214387888.unknown

_1214387808.unknown

_1214387874.unknown

_1214387736.unknown

_1214387522.unknown

_1214387645.unknown

_1214387501.unknown

_1214387229.unknown

_1214387314.unknown

_1214387449.unknown

_1214387264.unknown

_1214385263.unknown

_1214387212.unknown

_1214385207.unknown

_1214384757.unknown

_1214384760.unknown

_1214385092.unknown

_1214384758.unknown

_1214384599.unknown

_1214384631.unknown

_1214384722.unknown

_1214384570.unknown

_1195807975.unknown

_1195809203.unknown

_1214384059.unknown

_1214384327.unknown

_1214384460.unknown

_1214384518.unknown

_1214384362.unknown

_1214384235.unknown

_1214384282.unknown

_1214384138.unknown

_1214384095.unknown

_1214384130.unknown

_1195809437.unknown

_1195810287.unknown

_1214383993.unknown

_1195809438.unknown

_1195809245.unknown

_1195809318.unknown

_1195809389.unknown

_1195809397.unknown

_1195809304.unknown

_1195809219.unknown

_1195808251.unknown

_1195808996.unknown

_1195809050.unknown

_1195809074.unknown

_1195809029.unknown

_1195808866.unknown

_1195808896.unknown

_1195808293.unknown

_1195808123.unknown

_1195808215.unknown

_1195808235.unknown

_1195808190.unknown

_1195808042.unknown

_1195808101.unknown

_1195808023.unknown

_1195768129.unknown

_1195807591.unknown

_1195807674.unknown

_1195807858.unknown

_1195807952.unknown

_1195807838.unknown

_1195807606.unknown

_1195807668.unknown

_1195807599.unknown

_1195807391.unknown

_1195807443.unknown

_1195807460.unknown

_1195807584.unknown

_1195807434.unknown

_1195768220.unknown

_1195768283.unknown

_1195768192.unknown

_1195767658.unknown

_1195767970.unknown

_1195768040.unknown

_1195768076.unknown

_1195767995.unknown

_1195767710.unknown

_1195767938.unknown

_1195767670.unknown

_1195767331.unknown

_1195767571.unknown

_1195767657.unknown

_1195767531.unknown

_1195767264.unknown

_1195767307.unknown

_1195767196.unknown

_1195760441.unknown

_1195763677.unknown

_1195765741.unknown

_1195766026.unknown

_1195766135.unknown

_1195767076.unknown

_1195767122.unknown

_1195766158.unknown

_1195766067.unknown

_1195766098.unknown

_1195766057.unknown

_1195765908.unknown

_1195765978.unknown

_1195765987.unknown

_1195765952.unknown

_1195765813.unknown

_1195765842.unknown

_1195765870.unknown

_1195765788.unknown

_1195765119.unknown

_1195765411.unknown

_1195765530.unknown

_1195765603.unknown

_1195765439.unknown

_1195765508.unknown

_1195765287.unknown

_1195765368.unknown

_1195765280.unknown

_1195765232.unknown

_1195764098.unknown

_1195764171.unknown

_1195765071.unknown

_1195765110.unknown

_1195764155.unknown

_1195763737.unknown

_1195764000.unknown

_1195763698.unknown

_1195761416.unknown

_1195763294.unknown

_1195763630.unknown

_1195763652.unknown

_1195763583.unknown

_1195763606.unknown

_1195763447.unknown

_1195763563.unknown

_1195763045.unknown

_1195763083.unknown

_1195763209.unknown

_1195763279.unknown

_1195763188.unknown

_1195763200.unknown

_1195763174.unknown

_1195763068.unknown

_1195761514.unknown

_1195762999.unknown

_1195763016.unknown

_1195762157.unknown

_1195762984.unknown

_1195762137.unknown

_1195761443.unknown

_1195760788.unknown

_1195760893.unknown

_1195761051.unknown

_1195761370.unknown

_1195760907.unknown

_1195761040.unknown

_1195760853.unknown

_1195760866.unknown

_1195760828.unknown

_1195760602.unknown

_1195760687.unknown

_1195760709.unknown

_1195760635.unknown

_1195760523.unknown

_1195760551.unknown

_1195760474.unknown

_1195757328.unknown

_1195759785.unknown

_1195760152.unknown

_1195760263.unknown

_1195760309.unknown

_1195760334.unknown

_1195760281.unknown

_1195760199.unknown

_1195760236.unknown

_1195760174.unknown

_1195760015.unknown

_1195760063.unknown

_1195760125.unknown

_1195760038.unknown

_1195759911.unknown

_1195759943.unknown

_1195759822.unknown

_1195759406.unknown

_1195759550.unknown

_1195759657.unknown

_1195759728.unknown

_1195759614.unknown

_1195759650.unknown

_1195759559.unknown

_1195759485.unknown

_1195759518.unknown

_1195759533.unknown

_1195759503.unknown

_1195759447.unknown

_1195759464.unknown

_1195759422.unknown

_1195758422.unknown

_1195759231.unknown

_1195759269.unknown

_1195758481.unknown

_1195757829.unknown

_1195758380.unknown

_1195757806.unknown

_1195669198.unknown

_1195737252.unknown

_1195738898.unknown

_1195756356.unknown

_1195756571.unknown

_1195756600.unknown

_1195756526.unknown

_1195738931.unknown

_1195737314.unknown

_1195737351.unknown

_1195737290.unknown

_1195675916.unknown

_1195675918.unknown

_1195675944.unknown

_1195675917.unknown

_1195671868.unknown

_1195675832.unknown

_1195675915.unknown

_1195675791.unknown

_1195675790.unknown

_1195671715.unknown

_1195655341.unknown

_1195668038.unknown

_1195668980.unknown

_1195668998.unknown

_1195668108.unknown

_1195667357.unknown

_1195667955.unknown

_1195668015.unknown

_1195667346.unknown

_1194802885.unknown

_1195499104.unknown

_1195499294.unknown

_1195499046.unknown

_1194714957.unknown

_1194719519.unknown

_1194790963.unknown

_1194798394.unknown

_1194717204.unknown

_1194715218.unknown

_1194709190.unknown

_1194710959.unknown

_1194708898.unknown