160 likes | 443 Views
Circuite aritmetice elementare. Sumator Intregi fara semn Intregi cu semn Evitarea depasirii Sumatoare rapide Multiplicator Multiplicator cu arbore binar Multiplicator secvential Multiplicator pipe-line Divizor. Circuite aritmetice elementare. Sumatorul
E N D
Circuite aritmetice elementare • Sumator • Intregi fara semn • Intregi cu semn • Evitarea depasirii • Sumatoare rapide • Multiplicator • Multiplicator cu arbore binar • Multiplicator secvential • Multiplicator pipe-line • Divizor
Circuite aritmetice elementare • Sumatorul Celula elementara de sumare cu 2 intrari foloseste structura de logica si structura de transport a unui Slice (vezi curs2).
Circuite aritmetice elementare • Sumatorul • Intregi fara semn: in binar intregii pozitivi se aduna bit cu bit incepand de la cel mai putin semnificativ. Exemplu: sumator pe 4 biti
Circuite aritmetice elementare • Intregi cu semn in c2: sumarea se face ca la intregii fara semn, bitul cel mai semnificativ reprezentand de aceasta data semnul. Exemplu: adunarea a 2 intregi fara semn pe 4 biti, respectiv a 2 intregi cu semn pe 4 biti.
Circuite aritmetice elementare • Evitarea depasirii: • 2 intregi fara semn pe B biti => depasire daca rezultatul corect este mai mare decat • 2 intregilor cu semn in c2 reprezentati pe B+1 => depasire daca rezultatul real nu este in intervalul (vezi curs3) • depasirea poate aparea numai daca cei 2 operanzi au acelasi semn si se manifesta prin schimbarea semnului rezultatului
Circuite aritmetice elementare • Folosirea bitilor de garda:
Circuite aritmetice elementare Exemplu: suma a 2 intregi cu semn in c2 pe 4 biti. Se repeta bitul de semn, se claculeaza suma pe 5 biti si se alege rezultatul fara depasire.
Circuite aritmetice elementare • Saturare: daca se constata depasirea, se alege ca rezultat una dintre limitele intervalului de reprezentare, in functie de semnul operanzilor. Exemplu: suma a 2 intregi cu semn in c2 pe 4 biti.
Circuite aritmetice elementare • Sumatoare rapide • Fan-out mare • Calculeaza simultan bitii de transport
Circuite aritmetice elementare • Exemplu: suma a 2 intregi fara semn pe 4 biti. 3+5=8 0011 + 0101 ---------------- 1000
Circuite aritmetice elementare • Multiplicator • Multiplicatorul cu arbore binar
Circuite aritmetice elementare • Multiplicatorul secvential
Circuite aritmetice elementare • Multiplicatorul pipe-line Furnizeaza rezultatele pe ceas, dupa o latenta de procesare de N2 tacte
Circuite aritmetice elementare • Divizorul • Poate fi realizat doar cu registre de deplasare si sumatoare
Circuite aritmetice elementare Exemplu: 101 impartit la 7 Impartitor Deimpartit Reg1 Reg2 = [Reg2_1 Reg2_2] Hi Lo 0000 0111 0000 0000 0110 0101 Incarcare registre 0000 0000 1100 1010 Pas 0: <-- Shift 0 0000 0001 1001 0100 Pas 1: Scadere/Reincarcare Shift 0 0000 0011 0010 1000 Pas 2: Scadere/Reincarcare Shift 0 0000 0110 0101 0000 Pas 3: Scadere/Reincarcare Shift 0 0000 1100 1010 0000 Pas 4: Scadere/Reincarcare Shift 0 -0000 0111 Pas 5: Scadere/Pastrare rezultat --------------------- 0000 0101 1010 0000 0000 1011 0100 0001 Apoi <-- Shift 1 -0000 0111 Pas 6: Scadere/Pastrare rezultat --------------------- 0000 0100 0100 0001 0000 1000 1000 0011 Apoi <-- Shift 1 -0000 0111 Pas 7: Scadere/Pastrare rezultat --------------------- 0000 0001 1000 0011 0000 0011 0000 0111 Apoi <-- Shift 1 0000 0110 0000 1110 Pas 8: Scadere/Reincarcare Shift 0 0000 0011 0000 1110 Pas final: --> Shift HI Rest = 3 Cat = 14