[Architettura degli elabortori] Dubbio sul Carry Lookahead Carry

Messaggioda daffeen » 23/08/2019, 16:12

Ciao a tutti,
sul libro si dice che avendo a disposizione 32 adders, possiamo fare 8 blocchi da 4 adders ciascuno, dando la formula per verificare se ogni blocco dà in out un carry: (guarda C_i)
https://www.mediafire.com/view/72cha8ehb8k5kfd/1.jpg#
che ho compreso tranquillamente, però ho "scoperto" un modo che sembra più rapido ed è questo (presupponendo un blocco da due adders per semplicità): https://www.mediafire.com/view/dd2zgxrb ... 79122.jpg#
Ovvero, sapendo che un generate è AB, un propagate è A+B e un carry out di UN SINGOLO adder è AB+(A+B)*Cin, allora si può applicare questa formula ricorsivamente anche a due adders, infatti il secondo adder genererà un carry out se e solo se A'B'+(A'+B')*C0, ma C0 è l'out dell'altro carry (AB+(A+B)*Cin), quindi si avrà
A'B'+(A'+B')*(AB+(A+B)*Cin) che si traduce in
Carry_out = G'+P'(G+P(Cin))
a differenza del libro che lo calcola in
Carry out = G3:0 + P3:0 * Cin
Si nota cheil grafico del libro è più complesso del mio da qui https://www.mediafire.com/view/p72iazvnfj4cqmw/3.jpg# perchè nella mia formula ci manca la parte di "sotto" dove mette in AND le P, il cui risultato è in AND con C_in
Sicuramente sbaglio qualcosa, perchè è impossibile che gli ingegneri non ci abbiano pensato, ma con delle prove che ho fatto funziona tutto
daffeen
Junior Member
Junior Member
 
Messaggio: 31 di 106
Iscritto il: 09/11/2018, 23:08
Località: Napoli

Torna a Ingegneria

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite