Architettura degli Elaboratori - UNISA · Ø ROM (Read Only Memory) Circuiti integrati Ø I moduli...
Transcript of Architettura degli Elaboratori - UNISA · Ø ROM (Read Only Memory) Circuiti integrati Ø I moduli...
Architettura degli Elaboratori
Barbara Masucci
Moduli combinatori
Punto della situazione Ø Abbiamo studiato le reti logiche e la loro
minimizzazione
Ø Obiettivo di oggi: studio dei moduli combinatori di base utilizzati nei calcolatori Ø Codificatore Ø Decodificatore Ø Multiplexer Ø Demultiplexer Ø PLA (Programmable Logic Array) Ø ROM (Read Only Memory)
Circuiti integrati
Ø I moduli combinatori di base sono realizzati come circuiti integrati Ø Realizzati su chip di silicio (piastrine) Ø Porte (gate) e fili depositati su piastrine,
inseriti in un package e collegati all'esterno con un certo insieme di pin (piedini)
Ø Esistono circuiti integrati per singole porte logiche e circuiti più complessi
Codificatore
Ø Componente con Ø m input x0,..,xm-1 Ø n output y0,..,yn-1, dove 2n≥m Ø Ogni input è interpretato come elemento di un insieme di
m simboli Ø Tra le linee di input, solo una è attiva istante per istante:
quando l’input è il simbolo i-esimo, xi=1 e xj=0 per ogni j≠i Ø Associa ad ogni elemento di input la sequenza di n
bit corrispondente alla sua rappresentazione binaria Ø Quando l’input è il simbolo i-esimo, in uscita è presente il
codice binario corrispondente X0 X1
Xm-1
y0
yn-1
Codificatore
Un codificatore è un insieme di porte OR X0 X1
X6
y0
y3
X2 X3 X4 X5
Ø Supponiamo di avere m=7 linee in ingresso e n=4 linee in uscita
y1 y2
x0 3 0 0 1 1
x1 5 0 1 0 1
x2 6 0 1 1 0
x3 9 1 0 0 1
x4 10 1 0 1 0
x5 12 1 1 0 0
x6 13 1 1 0 1
y3 y2 y1 y0
y3 y2 y1 y0
x6 x5 x4 x3 x2 x1 x0
Griglie di porte OR
è equivalente a
Spesso viene utilizzato un simbolo grafico alternativo per le porte OR
a b
c d a b
c d
Tale rappresentazione alternativa è particolarmente utile per illustrare i codificatori
Codificatore Con la rappresentazione alternativa per le porte OR, il codificatore può essere rappresentato come una griglia
x0 3 0 0 1 1
x1 5 0 1 0 1
x2 6 0 1 1 0
x3 9 1 0 0 1
x4 10 1 0 1 0
x5 12 1 1 0 0
x6 13 1 1 0 1
y3 y2 y1 y0 X0 X1
X6
X2 X3 X4 X5
y3 y2 y1 y0
Decodificatore Ø Componente con
Ø m input x0,..,xm-1 Ø n output y0,..,yn-1, dove 2m=n
Ø Realizza la funzione inversa del codificatore Ø A partire da una sequenza di bit genera in output il simbolo
corrispondente Ø Per ogni configurazione di ingresso, una sola uscita vale 1,
le altre hanno valore 0 y 0 y 1
y n-1
x 0
x m-1
Decodificatore
Tavola di verità
Un decodificatore è un insieme di porte AND
Griglie di porte AND
è equivalente a
Anche per le porte AND esiste un simbolo grafico alternativo
a b
c d a b
c d
Tale rappresentazione alternativa è particolarmente utile per illustrare i decodificatori
Decodificatore
A A
B
B C
C
Out0 Out1 Out2 Out3 Out4 Out5 Out6 Out7
Con la rappresentazione alternativa per le porte AND, il decodificatore può essere rappresentato
come una griglia
Multiplexer (MUX 2n:1) Ø Componente con
Ø m linee di input dati x0,..,xm-1 Ø n linee di selezione s0,..,sn-1, dove n=log2m Ø una linea di output c
Ø Seleziona, in base ai segnali di selezione, quale degli input verrà fornito in output
Ø Esempio: Multiplexer 2:1 Ø Se s=0 passa x0 Ø Se s=1 passa x1
x0 x1 s c 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1
x0
x1
s
c c
Tavola di verità
x0 x1 s c 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1
Multiplexer 2:1
x0⋅x1⋅s x0⋅x1⋅s
x0⋅x1⋅s x0⋅x1⋅s
c = x0⋅x1⋅s + x0⋅x1⋅s + x0⋅x1⋅s + x0⋅x1⋅s = (x0 + x0)⋅x1⋅s + (x1 + x1)⋅x0⋅s = x1⋅s + x0⋅s
Espressione minimale
Espressione canonica SOP
Tavola di verità
Troviamo i mintermini corrispondenti alle occorrenze di 1 nella tavola di verità e sommiamoli
Multiplexer 2:1
c = x0s + x1s
x0
x1
s
c
x0
x1
s
c
Multiplexer 2:1 a 32 bit
x0
x1
s
c
Ø Costruito con 32 multiplexer 2:1 con un segnale di controllo distribuito ai vari multiplexer
32 bit
32 bit
32 bit
Ø Componente con Ø 4 input dati: x0, x1, x2, x3 Ø 2 segnali di controllo: s1, s0 Ø 1 output: c
Ø Comportamento: Ø Se s1s0=00 allora c = x0 Ø Se s1s0=01 allora c = x1 Ø Se s1s0=10 allora c = x2 Ø Se s1s0=11 allora c = x3
c = x0 s1 s0 + x1 s1 s0 + x2 s1 s0 + x3 s1 s0
Multiplexer 4:1
Circuito con 4 porte AND (a 3 ingressi) e 1 porta OR
x0
x1
x2
x3
s 0 s 1
c
Multiplexer e funzioni logiche
Ø Un multiplexer con n variabili di selezione può calcolare qualsiasi funzione booleana di n variabili, ponendo Ø Le n variabili sulle linee di selezione Ø La tavola di verità della funzione sulle 2n linee
dati
Demultiplexer Ø Componente con
Ø Una linea di input x Ø m=log2n linee di selezione s0,..,sm-1 Ø n linee di output c0,..,cn-1
Ø Comportamento Ø Usato per selezionare una linea verso una tra più
destinazioni possibili (funzione inversa del multiplexer)
Ø Se la linea di input è uguale a 0, tutti gli output sono uguali a 0 (indipendentemente dai segnali di selezione)
Ø Se la linea di input è uguale a 1, un solo output è uguale a 1 (dipende dai segnali di selezione)
Demultiplexer con n=2
x
s
c
c0 x s c0 c1
0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1
Ø Indirizza una linea di input verso due destinazioni possibili
x s
c1
c0
c0 = x s c1 = x s
c1
Tavola di verità
PLA Programmable Logic Array
Ø Abbiamo visto i circuiti AND-to-OR per realizzare una funzione logica
Ø Con un PLA è possibile rappresentare un insieme di funzioni mediante circuiti AND-to-OR
Ø Un PLA ha Ø n input Ø o output ed utilizza Ø m porte AND Ø o porte OR
Esempio PLA
Ø Si consideri una funzione logica con Ø tre input A, B, C Ø tre output D, E, F definita come segue Ø D è uguale a 1 se almeno uno dei tre input è uguale a 1 Ø E è uguale a 1 se esattamente due dei tre input sono uguali a 1 Ø F è uguale a 1 se e solo se tutti e tre gli input sono uguali a 1
Esempio PLA
Ø La tavola di verità della funzione è la seguente
A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1
D = A⋅B⋅C + A⋅B⋅C + A⋅B⋅C + A⋅B⋅C + A⋅B⋅C + A⋅B⋅C + A⋅B⋅C E = A⋅B⋅C + A⋅B⋅C + A⋅B⋅C F = A⋅B⋅C
Espressioni canoniche SOP
Esempio PLA
Ø Otteniamo il circuito AND-to-OR per la funzione
Ø Componente per memorizzare informazioni che non è necessario modificare Ø Vista come una tabella con heigth righe e width
colonne Ø Ciascuna cella della tabella rappresenta una
locazione di memoria, il cui contenuto può essere letto
Ø Diversi tipi di ROM Ø PROM (Programmable ROM): scrivibile una sola volta Ø EPROM (Erasable ROM): cancellabile con luce
ultravioletta
Ø
ROM Read Only Memory
Ø Costituita da un decodificatore legato a una catena di porte OR Ø L’input al decodificatore determina il
numero di locazioni di memoria Ø Ciascuna uscita del decodificatore è
connessa a ciascuna porta OR Ø Scrivere in una locazione di memoria corrisponde
a “rompere” dei collegamenti
ROM Read Only Memory
Ø Possiamo usare una ROM per implementare diverse funzioni logiche Ø Ogni colonna della ROM memorizza la tavola di
verità di una distinta funzione Ø Un indirizzo a n bit individua una specifica
combinazione delle variabili di input Ø Soluzione meno efficiente rispetto all’uso di
PLA Ø Con PLA, le funzioni logiche possono essere
rappresentate in forma minimale
ROM Read Only Memory
Riepilogo e riferimenti
Ø Moduli combinatori: Ø [P] par. 4.8 Ø [PH] appendice B.3 Ø [PH_IIIed] appendice C.3