Circuiti combinatori notevoli
In questa pagina 6
Blocchi combinatori (vedi Reti combinatorie e mappe di KarnaughRete combinatoria (uscite funzione dei soli ingressi attuali); mintermini e maxtermini, forme canoniche SOP e POS; mappe di Karnaugh a 3 e 4 variabili con esempi svolti; condizioni di indifferenza; costo e ritardo di una rete a due livelli.Reti combinatorie e mappe di Karnaugh →) che si ritrovano in ogni processore: nel datapathMicroarchitettura come realizzazione dell'ISA; elementi del datapath (PC, memoria istruzioni e dati, banco dei registri, ALU, estensione del segno, multiplexer); percorso di un'istruzione aritmetica, di una load, di una store e di un salto; datapath a ciclo singolo e suo periodo di clock; datapath multiciclo.Datapath e microarchitettura →, nella ALURuolo dell'ALU, ingressi, uscite e flag; ALU a 1 bit con AND, OR e sommatore selezionati da un multiplexer; estensione a 32 bit, sottrazione, confronto set-less-than e rilevazione dello zero e dell'overflow; tabella dei segnali di controllo; unità di moltiplicazione e virgola mobile.Unità aritmetico-logica (ALU) →, nella decodifica degli indirizzi di memoria.
Multiplexer (MUX)
Sceglie uno tra ingressi dati in base a ingressi di selezione. MUX 2:1:
MUX 4:1 con selezione : . Con un MUX a ingressi si realizza qualsiasi funzione di variabili, mettendo sugli ingressi dati i valori della tabella di verità. Un MUX a 32 bit sono 32 MUX in parallelo con la stessa selezione: nel datapath sceglie per esempio se il secondo operando dell'ALU è un registro o una costante.
Decodificatore e codificatore
- Decoder : attiva una sola delle uscite, quella il cui numero è l'ingresso. Decoder 2→4: , , , . Usi: selezionare la cella di memoria o il chip dall'indirizzo, il registro di destinazione dal campo dell'istruzione.
- Encoder : l'inverso, dà il numero dell'unico ingresso attivo. L'encoder con priorità dà il numero dell'ingresso attivo più importante (usato per scegliere tra più richieste di interrupt).
Sommatori
Semisommatore (half adder): somma due bit.
Sommatore completo (full adder): somma due bit e il riporto in ingresso.
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Sommatore a propagazione del riporto (ripple carry) a bit: full adder in cascata, il di ognuno è il del successivo. Il bit è corretto solo quando è arrivato il riporto dal bit : il ritardo cresce linearmente con (circa porte). Se una porta ritarda 20 ps, a 32 bit servono circa ps, cioè più di un ciclo di un clock a 1 GHz.
Anticipo del riporto (carry lookahead): si definiscono per ogni bit (il bit genera un riporto) e (lo propaga), e si calcolano i riporti direttamente dagli ingressi:
Più porte, ma ritardo che cresce circa come .
Sommatore-sottrattore
Un solo sommatore fa anche la sottrazione in complemento a 2 (vedi Aritmetica binariaSomma e sottrazione in binario, overflow per senza segno (riporto) e per complemento a 2 (segni), flag del processore, moltiplicazione per somme e scorrimenti, algoritmo di Booth, divisione, shift logici e aritmetici.Aritmetica binaria →): ogni bit di passa per una XOR con il segnale , che è anche il riporto iniziale.
- : , → .
- : , → .
Overflow (complemento a 2): , XOR tra il riporto che entra e quello che esce dal bit di segno.
Comparatore
Uguaglianza di due numeri di bit: , cioè NOR delle XOR bit a bit. Il confronto di ordine si fa di solito con una sottrazione guardando i flag N, Z, C, V.
Errori tipici
- Scrivere con il + dell'OR: la somma di un full adder è uno XOR a tre ingressi.
- Pensare che il ritardo di un sommatore ripple non dipenda dal numero di bit.
Versione ripasso
Blocchi di Reti combinatorie e mappe di KarnaughRete combinatoria (uscite funzione dei soli ingressi attuali); mintermini e maxtermini, forme canoniche SOP e POS; mappe di Karnaugh a 3 e 4 variabili con esempi svolti; condizioni di indifferenza; costo e ritardo di una rete a due livelli.Reti combinatorie e mappe di Karnaugh → nel datapathMicroarchitettura come realizzazione dell'ISA; elementi del datapath (PC, memoria istruzioni e dati, banco dei registri, ALU, estensione del segno, multiplexer); percorso di un'istruzione aritmetica, di una load, di una store e di un salto; datapath a ciclo singolo e suo periodo di clock; datapath multiciclo.Datapath e microarchitettura →, nella ALURuolo dell'ALU, ingressi, uscite e flag; ALU a 1 bit con AND, OR e sommatore selezionati da un multiplexer; estensione a 32 bit, sottrazione, confronto set-less-than e rilevazione dello zero e dell'overflow; tabella dei segnali di controllo; unità di moltiplicazione e virgola mobile.Unità aritmetico-logica (ALU) →, nella decodifica degli indirizzi.
- MUX 2:1: ; un MUX a ingressi realizza ogni funzione di variabili.
- Decoder : attiva una sola uscita (24: , ..., ). Encoder , con priorità per le richieste di interrupt.
- Semisommatore: , . Sommatore completo: , .
- Ripple carry: sommatori in cascata, ritardo lineare (circa porte; a 32 bit con 20 ps per porta ps).
- Anticipo del riporto: , , , ; ritardo circa .
- Sommatore-sottrattore: XOR di con , che è anche il riporto iniziale (Aritmetica binariaSomma e sottrazione in binario, overflow per senza segno (riporto) e per complemento a 2 (segni), flag del processore, moltiplicazione per somme e scorrimenti, algoritmo di Booth, divisione, shift logici e aritmetici.Aritmetica binaria →): . Overflow: .
- Comparatore: uguaglianza ; l'ordine si ricava con una sottrazione.
Errori tipici: la somma del sommatore completo è uno XOR a tre ingressi; il ritardo del ripple cresce con i bit.