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)
Formula (multiplexer 2:1). Sceglie uno tra ingressi dati in base a ingressi di selezione. MUX 2:1:
Esempio. Con , e : .
Formula (multiplexer 4: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.
Esempio. Con resta solo il termine , quindi .
Decodificatore e codificatore
Definizione (decoder ed encoder)
- 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).
Esempio. Decoder con : e .
Sommatori
Formula (semisommatore). Semisommatore (half adder): somma due bit.
Esempio. Con : e , cioè .
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 |
Formula (sommatore completo)
Esempio. Con : e , cioè .
Formula (ritardo del sommatore a propagazione del riporto). 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.
Esempio. A bit con porte da ps il ritardo è circa ps.
Definizione (anticipo del riporto). 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:
Esempio. Se (cioè ) allora qualunque sia .
Più porte, ma ritardo che cresce circa come .
Sommatore-sottrattore
Proprietà (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.
- : , → .
- : , → .
Esempio. A bit con : .
Formula (overflow in complemento a 2). Overflow (complemento a 2): , XOR tra il riporto che entra e quello che esce dal bit di segno.
Esempio. A bit : il riporto entrante nel segno è , quello uscente , quindi .
Comparatore
Formula (comparatore di uguaglianza). 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.
Esempio. Con tutte le XOR valgono , quindi .
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.