Esercizio 17quesiti rapidi sui sommatori con dati numerici (temi d'esame 2025-2026)
Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.
In questa pagina 7
Quesiti a risposta multipla sui sommatori dai temi di giugno 2024 (e luglio 2025), settembre 2024 (e settembre 2026), giugno 2025 e luglio 2026. Chiave ufficiale solo per giugno 2024 / luglio 2025; le altre risposte sono ricavate e per due quesiti con dati numerici si discute l'ambiguità.
Teoria usata: Sommatori - full adder e ripple-carryLa somma di due bit con riporto in ingresso è realizzata dal full adder: S = A ⊕ B ⊕ C_in, C_out = AB + BC_in + AC_in. Con generate G = AB, propagate P = A ⊕ B (e delete D = Ā B̄) si scrive C_out = G + P·C_in e S = P ⊕ C_in: G e P non dipendono dal riporto in ingresso (fase di set-up), solo C_out ed S ne dipendono. Il sommatore ripple-carry collega N full adder in cascata: il riporto attraversa gli stadi uno dopo l'altro, nel caso peggiore t_add = (N−1) t_carry + t_sum (lineare in N). Il ritardo effettivo dipende dagli operandi: un generate o un delete azzera la catena, un propagate la prolunga; per operandi uguali bit a bit vale t_carry + t_sum.Sommatori - full adder e ripple-carry →, Sommatori veloci - carry-bypass, carry-select e square-rootIl ripple-carry ha ritardo lineare in N. Il carry-bypass divide i bit in blocchi da M: se tutti i propagate del blocco valgono 1 (BP = P0P1…P_{M−1} = 1) un multiplexer fa saltare il riporto dall'ingresso all'uscita del blocco. Ritardo: t = t_setup + M t_carry + (N/M − 1) t_mux + (M−1) t_carry + t_sum, ottimo per M = √(N t_mux/(2 t_carry)); è determinato principalmente dal tempo di riporto. Il carry-select calcola in ogni blocco le somme per riporto 0 e per riporto 1 e un mux sceglie quella giusta: t = t_setup + M t_carry + (N/M) t_mux + t_sum, M ottimo √(N t_mux/t_carry); lo square-root carry-select usa blocchi di dimensione crescente (M, M+1, M+2…) perché il riporto arriva ogni volta un mux dopo: N ≈ K²/2 e t = t_setup + M t_carry + √(2N) t_mux + t_sum, cioè ritardo ∝ √N.Sommatori veloci - carry-bypass, carry-select e square-root →.
Notazione dei temi: (propagazione del riporto in uno stadio), , set-up, .
1. Due numeri identici a 16 bit con ripple-carry (giugno 2024, luglio 2025)
Il tempo necessario per sommare (tutte le uscite della somma al valore finale) due numeri a bit identici con un sommatore ripple-carry vale: a. ; b. ; c. .
Risposta: a (chiave: "si presti attenzione al fatto che i due bit devono essere identici"). Se in ogni posizione, ogni stadio è generate () o delete (): il riporto in uscita dipende solo dagli ingressi locali e non attende il riporto precedente. Quindi ogni riporto è pronto dopo e la somma dopo (il caso peggiore si ha solo con tutti gli stadi in propagate).
2. Somma di due numeri a 16 bit con ripple-carry (giugno 2025)
Sommatore a bit ripple-carry. Tempo per calcolare la somma di (LSB a destra) , : a. ; b. ; c. .
Analisi. Posizioni (da destra): D, D, P, G, D, G, D, G, D, P, D, G, D, P, P, G. Con il modello del corso (la catena riparte da in ogni stadio G o D; i P la prolungano): le catene più lunghe sono "D in posizione , P in , P in ", cioè il riporto che entra nel bit è pronto dopo , e la somma dopo (verificato con Python). Nessuna delle opzioni (4, 5, 6) coincide con . Il valore (opzione a) si ottiene se la catena parte dal generate in posizione e non si azzera al delete in posizione : il riporto "" generato nel bit attraverserebbe i bit ( stadi). Questo conteggio, però, contraddice la risposta al quesito dei numeri identici (se un delete non azzerasse la catena, due numeri nulli identici richiederebbero ). Poiché mancano la chiave e il testo originale delle opzioni, la risposta attesa è con tutta probabilità (a), ma il valore del modello del corso è .
3. Sommatori carry-bypass (settembre 2024, giugno 2025, settembre 2026)
Nei sommatori carry-bypass il tempo di ritardo per il calcolo della somma finale è determinato principalmente dai tempi di: a. somma; b. riporto; c. set-up.
Risposta: b. : set-up e somma compaiono una sola volta, il riporto volte (più i multiplexer di bypass). Numeri ( unitario, ): ripple , carry-bypass con (ottimo ): .
4. Linear carry-select a 20 bit (luglio 2026)
Sommatore a bit di tipo linear carry-select ( blocchi da bit); tempo per calcolare la somma (LSB a sinistra) , [con ]: a. ; b. ; c. .
Risposta ricavata: c. Il primo blocco (ripple): bit G, P, P, G, P: il riporto uscente è pronto dopo (il generate del bit e il propagate del bit ). Nei blocchi , e i riporti sono calcolati in parallelo per entrambe le ipotesi (): i blocchi e hanno , (tutti propagate): la catena di stadi richiede (più dei del blocco ). I multiplexer scelgono poi il riporto vero: il riporto del blocco dopo , quello del blocco dopo un altro , e la selezione delle somme del blocco dopo un terzo : tre multiplexer (il primo blocco non ne ha). Con la catena dei multiplexer non supera i del calcolo parallelo. Totale: . La formula generale (, con ) conta multiplexer: è un limite superiore (opzione b), che l'esame usa verosimilmente come distrattore, insieme all'opzione (a) che considera solo la catena del primo blocco.
5. Square-root carry-select (confronto numerico)
Blocchi di : con unitario e , : blocchi da ( bit), multiplexer: , contro del linear select e del ripple ( contro ).
Verifica numerica
Python: modello a catena del riporto sulle due coppie di operandi (identici: ; giugno 2025: con "G o D azzera", con "solo G azzera"); conteggio dei multiplexer per il carry-select; tabella dei ritardi di bypass/select/square-root per .
Errori comuni
- Usare il caso peggiore per operandi che non lo realizzano.
- Dimenticare che un delete (come un generate) azzera la catena.
- Contare in un carry-select multiplexer quando il primo blocco non ne ha.
- Dire che il ritardo di un carry-bypass sia dominato dalla somma.
Esercizio 17 - quesiti rapidi sui sommatori con dati numerici (temi d'esame 2025-2026)
- Operandi identici a 16 bit: ogni stadio è G o D (azzera la catena): (a).
- Giugno 2025 (ripple, , ): D(12), P(13), P(14): nel modello del corso; opzioni : probabilmente (a) se il delete non azzera (incoerente con il primo quesito).
- Carry-bypass: : dominato dal riporto (b); : ().
- Linear carry-select bit: primo blocco , blocchi - in parallelo , mux in cascata: (c); formula generale con mux (b) = limite superiore.
- Square-root select: , : ( linear, ripple).
- Errori: caso peggiore sempre; D non azzera; mux nel primo blocco; bypass dominato da sum.