Cursul 3 Adunare SSC PDF
Document Details
Uploaded by JollyTulsa7936
2023
Tags
Summary
Acest document conține un curs despre adunare și structura sistemelor de calcul. Conține informații despre diferite tipuri de sumatoare și exemple.
Full Transcript
Cuprins 1. Introducere 2. Unitatea aritmetică și logică 3. Sisteme de memorie 4. Arhitecturi RISC 5. Introducere în arhitecturi paralele 17.10.2023 Structura sistemelor de calcul (02-1) 1 2. Unitatea aritmetică și logică Adunarea Înmulțir...
Cuprins 1. Introducere 2. Unitatea aritmetică și logică 3. Sisteme de memorie 4. Arhitecturi RISC 5. Introducere în arhitecturi paralele 17.10.2023 Structura sistemelor de calcul (02-1) 1 2. Unitatea aritmetică și logică Adunarea Înmulțirea Împărțirea Numere și operații în virgulă mobilă 17.10.2023 Structura sistemelor de calcul (02-1) 2 Adunarea Operația aritmetică utilizată cel mai frecvent într-un sistem de calcul Operațiile aritmetice mai complexe ale UAL se reduc la o serie de adunări Prin creșterea vitezei operației de adunare se poate crește viteza UAL Viteza și costul circuitelor de adunare sunt proporționale cu complexitatea acestora 17.10.2023 Structura sistemelor de calcul (02-1) 3 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 4 Sumatorul elementar (1) Adună trei intrări de câte un bit: Biții care trebuie adunați (xi , yi) Transportul de la bitul din poziția mai puțin semnificativă (Ti) Generează două ieșiri: Bitul sumă (Si) Bitul de transport la poziția mai semnificativă (Ti+1) 17.10.2023 Structura sistemelor de calcul (02-1) 5 Sumatorul elementar (2) 17.10.2023 Structura sistemelor de calcul (02-1) 6 Sumatorul elementar (3) xi yi Ti Ti+1 Si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 17.10.2023 Structura sistemelor de calcul (02-1) 7 Sumatorul elementar (4) Expresiile booleene ale ieșirilor Si = xi yi Ti Ti+1 = xiyi + (xi + yi) Ti Sumatorul elementar este unul din blocurile de bază ale sumatoarelor mai complexe Semisumatorul elementar Nu are intrare de transport Generează un bit sumă și un bit de transport 17.10.2023 Structura sistemelor de calcul (02-1) 8 Sumatorul elementar (5) Scăzătorul elementar Intrări: biții care trebuie scăzuți (descăzut și scăzător) și împrumutul de la bitul din poziția mai puțin semnificativă Ieșiri: bitul diferență și împrumutul către bitul din poziția mai semnificativă Semiscăzătorul elementar Scade două intrări de câte un bit Generează un bit diferență și un bit de împrumut 17.10.2023 Structura sistemelor de calcul (02-1) 9 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 10 Sumatorul cu propagarea succesivă a transportului (1) “Ripple Carry Adder” Algoritmul de adunare cu propagarea succesivă a transportului x3 x2 x1 x0 + y3 y2 y1 y0 S4 S3 S2 S1 S0 O posibilitate de implementare: conectarea mai multor sumatoare elementare în serie, câte un sumator elementar pentru fiecare bit 17.10.2023 Structura sistemelor de calcul (02-1) 11 Sumatorul cu propagarea succesivă a transportului (2) Schema bloc pentru adunarea a două numere binare de câte 4 biți 17.10.2023 Structura sistemelor de calcul (02-1) 12 Sumatorul cu propagarea succesivă a transportului (3) Este un sumator paralel Transportul trebuie să se propage succesiv prin toate sumatoarele înainte de a se cunoaște rezultatul final Avantaje: simplitate, cost redus Dezavantaj: viteză redusă Poate fi utilizat și ca scăzător Scăderea: prin adunarea complementului față de 2 al scăzătorului la descăzut 17.10.2023 Structura sistemelor de calcul (02-1) 13 Sumatorul cu propagarea succesivă a transportului (4) Presupunem numerele binare: X = 0 1001 (+9) Y = 0 0011 (+3) Scăderea X – Y poate fi executată astfel: X 0 1001 +9 C2(Y) 1 1101 –3 X–Y 0 0110 +6 Transportul de la poziția c.m.s. se neglijează 17.10.2023 Structura sistemelor de calcul (02-1) 14 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 15 Sumatorul cu anticiparea transportului (1) “Carry Lookahead Adder” Reduce timpul necesar pentru formarea semnalelor de transport Intrarea de transport necesară pentru un etaj este generată în mod direct Nu se așteaptă propagarea transporturilor de la un etaj la altul Schema bloc a unui sumator cu anticiparea transportului de 4 biți → 17.10.2023 Structura sistemelor de calcul (02-1) 16 Sumatorul cu anticiparea transportului (2) 17.10.2023 Structura sistemelor de calcul (02-1) 17 Sumatorul cu anticiparea transportului (3) Transportul de ieșire al unui sumator elementar: Ti+1 = xiyi + (xi + yi) Ti Expresiile pentru T1 și T2: T1 = x0y0 + (x0 + y0) T0 T2 = x1y1 + (x1 + y1) T1 = x1y1 + (x1 + y1) [x0y0 + (x0 + y0) T0] Pentru simplificarea expresiei fiecărui transport Ti se utilizează funcțiile g și p 17.10.2023 Structura sistemelor de calcul (02-1) 18 Sumatorul cu anticiparea transportului (4) Funcția g → generarea transportului gi = xi yi Etajul i generează un transport egal cu 1 Funcția p → propagarea intrării de transport la ieșirea de transport pi = xi + yi Etajul i propagă transportul Ti Transportul de ieșire: Ti+1 = gi + pi Ti 17.10.2023 Structura sistemelor de calcul (02-1) 19 Sumatorul cu anticiparea transportului (5) Pentru sumatorul cu anticiparea transportului de 4 biți: T1 = g0 + p0 T0 T2 = g1 + p1 g0 + p1 p0 T0 T3 = g2 + p2 g1 + p2 p1 g0 + p2 p1 p0 T0 T4 = g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 + p3 p2 p1 p0 T0 Schema bloc modificată a sumatorului cu anticiparea transportului de 4 biți → 17.10.2023 Structura sistemelor de calcul (02-1) 20 Sumatorul cu anticiparea transportului (6) 17.10.2023 Structura sistemelor de calcul (02-1) 21 Sumatorul cu anticiparea transportului (7) Schema pentru generarea transportului T4 17.10.2023 Structura sistemelor de calcul (02-1) 22 Sumatorul cu anticiparea transportului (8) Se limitează numărul de intrări ale porților și numărul de porți alimentate de acestea Este necesară adăugarea unor nivele logice suplimentare Se definesc două noi funcții pentru blocul corespunzător biților i până la k: Generarea transportului pe grup Gi,k Propagarea transportului pe grup Pi,k 17.10.2023 Structura sistemelor de calcul (02-1) 23 Sumatorul cu anticiparea transportului (9) Pentru un grup de 4 biți: G0,3 = g3 + p3 g2 + p3 p2 g1 + p3 p2 p1 g0 P0,3 = p3 p2 p1 p0 Rezultă: T4 = G0,3 + P0,3 T0 Formă similară cu ecuația pentru T1 Sumatorul poate fi extins Exemplu pentru 16 biți 17.10.2023 Structura sistemelor de calcul (02-1) 24 Sumatorul cu anticiparea transportului (10) 17.10.2023 Structura sistemelor de calcul (02-1) 25 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 26 Sumatorul cu selecția transportului (1) “Carry Select Adder” Utilizează circuite redundante pentru creșterea vitezei de adunare Se calculează jumătatea superioară a sumei pentru ambele valori posibile ale transportului Atunci când transportul este cunoscut, este selectată jumătatea superioară corectă a sumei Exemplu pentru numere de câte 8 biți → 17.10.2023 Structura sistemelor de calcul (02-1) 27 Sumatorul cu selecția transportului (2) 17.10.2023 Structura sistemelor de calcul (02-1) 28 Sumatorul cu selecția transportului (3) Altă posibilitate: împărțirea sumatorului în patru sferturi Pentru cele trei sferturi superioare ale numerelor, se realizează adunarea pentru ambele valori ale transportului Se limitează numărul de biți adunați simultan Se elimină dezavantajul sumatorului cu anticiparea transportului din punct de vedere al complexității 17.10.2023 Structura sistemelor de calcul (02-1) 29 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 30 Sumatorul cu salvarea transportului (1) “Carry Save Adder” Utilizat atunci când trebuie adunate mai mult de două numere Reduce timpul de propagare al semnalelor de transport SST de n biți: colecție de n sumatoare elementare independente Intrări: trei numere de câte n biți Ieșiri: un cuvânt sumă S de n biți, un cuvânt de transport T de n biți 17.10.2023 Structura sistemelor de calcul (02-1) 31 Sumatorul cu salvarea transportului (2) Fiecare sumator elementar funcționează independent unul de celălalt Semnalele de transport nu sunt propagate între sumatoarele elementare Pentru obținerea rezultatului final, suma și transportul trebuie adunate utilizând un sumator obișnuit → sumator cu propagarea transportului (SPT) 17.10.2023 Structura sistemelor de calcul (02-1) 32 Sumatorul cu salvarea transportului (3) Exemplu: adunarea a patru numere X, Y, Z, W X = 5 (0101), Y = 3 (0011), Z = 4 (0100), W = 1 (0001) 5 + 3 + 4 + 1 = 13 Prima etapă X 0101 Y 0011 Z 0100 Suma 0010 Transportul salvat 1010 17.10.2023 Structura sistemelor de calcul (02-1) 33 Sumatorul cu salvarea transportului (4) Etapa a doua W 0001 Suma 0010 Transportul salvat 1010 Noua sumă 1001 Noul transport salvat 0100 Etapa a treia Noua sumă 1001 Noul transport salvat 0100 Rezultat 1101 (13) 17.10.2023 Structura sistemelor de calcul (02-1) 34 Sumatorul cu salvarea transportului (5) 17.10.2023 Structura sistemelor de calcul (02-1) 35 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 36 Sumatorul serial (1) Execută adunarea pas cu pas începând cu bitul c.m.p.s. Ieșirea va fi generată bit cu bit Un singur sumator elementar și un bistabil D (latch) Bistabilul D: utilizat pentru propagarea transportului sumei biților de ordin i la suma biților de ordin i +1 Avantaje: simplitate, cost redus 17.10.2023 Structura sistemelor de calcul (02-1) 37 Sumatorul serial (2) 17.10.2023 Structura sistemelor de calcul (02-1) 38 Adunarea Adunarea Sumatorul elementar Sumatorul cu propagarea succesivă a transportului Sumatorul cu anticiparea transportului Sumatorul cu selecția transportului Sumatorul cu salvarea transportului Sumatorul serial Sumatorul zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 39 Sumatorul zecimal (1) Utilizat pentru numere reprezentate în zecimal (BCD) Adună două cifre BCD în paralel Generează o sumă în cod BCD Dacă suma depășește valoarea 9 sau se generează un transport către cifra următoare, rezultatul trebuie corectat Corecția: se adună valoarea 6 la rezultat 17.10.2023 Structura sistemelor de calcul (02-1) 40 Sumatorul zecimal (2) Exemplu 372 + 489 7FB + suma intermediară 066 861 suma zecimală Schema bloc a unui sumator zecimal bazat pe două sumatoare de 4 biți → 17.10.2023 Structura sistemelor de calcul (02-1) 41 Sumatorul zecimal (3) 17.10.2023 Structura sistemelor de calcul (02-1) 42 Rezumat (1) Sumatorul cu propagare succesivă a transportului se obține prin conectarea în serie a unor sumatoare elementare (SE) Dezavantaj: viteza redusă de propagare a transportului Sumatorul cu anticiparea transportului conține o logică suplimentară pentru generarea în paralel a intrărilor de transport ale fiecărui etaj Sumatorul cu selecția transportului calculează jumătatea superioară a sumei pentru ambele valori posibile ale transportului 17.10.2023 Structura sistemelor de calcul (02-1) 43 Rezumat (2) Sumatorul cu salvarea transportului este format din SE independente, între care nu sunt propagate semnalele de transport Propagarea transportului este amânată până la ultimul etaj Sumatorul serial adună numerele bit cu bit, obținând un bit al sumei în fiecare ciclu de ceas Sumatorul zecimal este echivalentul unui SE pentru două cifre zecimale Rezultatul trebuie corectat pentru a se obține o cifră zecimală 17.10.2023 Structura sistemelor de calcul (02-1) 44 Noțiuni, cunoștințe Sumator cu propagare succesivă a transportului Sumator cu anticiparea transportului Funcțiile p și g pentru propagarea și generarea transportului pe bit Funcțiile P și G pentru propagarea și generarea transportului pe un grup de biți Principiul sumatorului cu selecția transportului Principiul sumatorului cu salvarea transportului Sumator serial Sumator zecimal 17.10.2023 Structura sistemelor de calcul (02-1) 45