Differences

This shows you the differences between two versions of the page.

Link to this comparison view

soc:laboratoare:07:recap [2024/02/29 14:37]
127.0.0.1 external edit
soc:laboratoare:07:recap [2024/03/26 20:25] (current)
stefan.maruntis
Line 1: Line 1:
 ==== a. Sumatoare multi-bit ==== ==== a. Sumatoare multi-bit ====
  
-În viața reală noi lucrăm cu numere reprezentabile pe mai mulți biți. Totuși, sumatoarele de tip Half-Adder și Full-Adder pot aduca cel mult un bit. Pentru depășirea acestei limitări, laboratorul [[soc:​laboratoare:​06|trecut]] am implementat un circuit capabil să facă suma numerelor reprezentate pe mai mulți biți.+În viața reală noi lucrăm cu numere reprezentabile pe mai mulți biți. Totuși, sumatoarele de tip Half-Adder și Full-Adder pot aduna cel mult un bit. Pentru depășirea acestei limitări, laboratorul [[soc:​laboratoare:​06|trecut]] am implementat un circuit capabil să facă suma numerelor reprezentate pe mai mulți biți.
  
 === Sumatorul Ripple-Carry === === Sumatorul Ripple-Carry ===
Line 13: Line 13:
 === Limitări === === Limitări ===
  
-Implementarea acestuia este facilă, însă performanța ​acestuia ​este scăzută. **De ce?** Deoarece transportul de intrare pentru fiecare sumator complet este dependent de semnalul carry-out din full-adder-ul anterior. Prin structura sa internă: modulul de rang //i// trebuie să aştepte modulul de rang //i-1// sa îşi termine execuția pentru a afla cât este C<​sub>​in_i</​sub>​.+Implementarea acestuia este facilă, însă performanța este scăzută. **De ce?** Deoarece transportul de intrare pentru fiecare sumator complet este dependent de semnalul carry-out din full-adder-ul anterior. Prin structura sa internă: modulul de rang //i// trebuie să aştepte modulul de rang //i-1// sa îşi termine execuția pentru a afla cât este C<​sub>​in_i</​sub>​.
  
 === Îmbunătățiri === === Îmbunătățiri ===
Line 29: Line 29:
 |  1  |  1  |  1  |  1  | |  1  |  1  |  1  |  1  |
  
 +Scriem expresia logică corespunzătoare liniilor din tabel pentru care C<​sub>​1</​sub>​ are valoarea 1:
  
   * C<​sub>​1</​sub>​ = A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​ + A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * ~C<​sub>​0</​sub>​ + ~A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​ + A<​sub>​0</​sub>​ * ~B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​   * C<​sub>​1</​sub>​ = A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​ + A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * ~C<​sub>​0</​sub>​ + ~A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​ + A<​sub>​0</​sub>​ * ~B<​sub>​0</​sub>​ * C<​sub>​0</​sub>​
Line 34: Line 35:
   * C<​sub>​1</​sub>​ = A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ + C<​sub>​0</​sub>​ * (A<​sub>​0</​sub>​ ⊕ B<​sub>​0</​sub>​)   * C<​sub>​1</​sub>​ = A<​sub>​0</​sub>​ * B<​sub>​0</​sub>​ + C<​sub>​0</​sub>​ * (A<​sub>​0</​sub>​ ⊕ B<​sub>​0</​sub>​)
  
-Dacă generalizăm formula, pentru //i = 0//:+Dacă generalizăm formula:
   * C<​sub>​i+1</​sub>​ = A<​sub>​i</​sub>​ * B<​sub>​i</​sub>​ + C<​sub>​i</​sub>​ * (A<​sub>​i</​sub>​ ⊕ B<​sub>​i</​sub>​)   * C<​sub>​i+1</​sub>​ = A<​sub>​i</​sub>​ * B<​sub>​i</​sub>​ + C<​sub>​i</​sub>​ * (A<​sub>​i</​sub>​ ⊕ B<​sub>​i</​sub>​)
  
 Prin urmare, pentru fiecare modul de full-adder, am putea calcula bitul carry de intrare cu cost constant egal cu 1, fără să mai așteptăm propagarea acestuia prin toate celelalte full-adder-e de rang mai mic. Prin urmare, pentru fiecare modul de full-adder, am putea calcula bitul carry de intrare cu cost constant egal cu 1, fără să mai așteptăm propagarea acestuia prin toate celelalte full-adder-e de rang mai mic.
   * C<​sub>​out</​sub>​ = //​Generează_biții_carry?​ **SAU** Propagă_bitul_de_carry_de_la_rangul_inferior_dacă_nu_e_generat?//​   * C<​sub>​out</​sub>​ = //​Generează_biții_carry?​ **SAU** Propagă_bitul_de_carry_de_la_rangul_inferior_dacă_nu_e_generat?//​
soc/laboratoare/07/recap.1709210248.txt.gz · Last modified: 2024/03/24 11:17 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0