Circuiti logici di base Decoder: decodificatore Implementazione Uso

Transcript

Circuiti logici di base Decoder: decodificatore Implementazione Uso
Circuiti logici di base
Decoder: decodificatore
• n ingressi — 2n uscite
• Primo passo nella costruzione di circuiti
• l’ingresso seleziona una delle uscite
complessi.
• Funzione di utilità universale.
• Progettazione (e descrizione) strutturata dei un
circuito.
• Breve rassegna dei più significativi:
comportamento — implementazione — uso.
• l’uscita selezionata ha valore 1 tutte le altre 0.
3
Decoder
Out0
Out1
Out2
Out3
Out4
Out5
Out6
Out7
a. A 3-bit decoder
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
1 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Implementazione
2 / 79
Uso
D0
D1
A
A
D2
A
D3
B
B
Selezionare uno tra molti dispositivi,
ogni dispositivo contiene un segnale di attivazione.
D4
Esempio: selezionare un chip di memoria, tra gli 2n
presenti nel calcolatore
D5
Nessuna parentela con il decoder televisivo.
B
C
C
C
D6
D7
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
(Architettura degli Elaboratori)
3 / 79
Circuiti combinatori, memorie
Multiplexer
Implementazione
D0
Due tipi di ingressi:
• n ingressi di controllo — 2n ingressi segnale
• un unica uscita;
il controllo seleziona quale segnale d’ingresso
mandare in uscita
A
B
0
M
u
x
1
4 / 79
D1
D2
D3
F
D4
D5
D6
A
C
D7
C
A A B B C C
B
S
S
(Architettura degli Elaboratori)
A
Circuiti combinatori, memorie
5 / 79
B
C
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Uso
6 / 79
Comparatore
2 × n ingressi — 1 uscita
controlla se i 2 ingressi sono uguali
• trasformazione parallelo ⇒ seriale
• realizzare una tabella di verità
EXCLUSIVE OR gate
VCC
A0
B0
D0
D0
D1
D1
D2
D2
D3
F
D4
A1
D3
D5
D5
D6
D6
D7
D7
B1
F
D4
A=B
A2
B2
A B C
(a)
A B C
(b)
A3
Demultiplexer: un ingresso, n linee di controllo, 2n
uscite.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
B3
Uso: confronto di valori
7 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
8 / 79
Circuiti aritmetici
L’aritmetica dei calcolatori
• come vengono rappresentati i numeri naturali.
• come vengono eseguite le operazioni
Presenteremo i seguenti circuiti:
• mezzo sommatore
• sommatore completo
• shifter
• ALU
premessa, come viene realizzata l’aritmetica nel
calcolatore.
aritmetiche.
Notazione posizionale: il peso di una cifra dipende
dalla sua posizione:
…
dn
100's
place
10's
place
1's
place
d2
d1
d0
.
.1's
place
.01's
place
.001's
place
d–1
d–2
d–3
…
d–k
n
Number =
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
9 / 79
1
1
1
1
1
0
1
0
0
Circuiti combinatori, memorie
3
7
2
0
1
1
3 × 83 + 7 × 82 + 2 × 81 + 1 × 80
1536 + 448 + 16 + 1
2
Decimal
0
0
10 / 79
Notazione binaria
1 × 210 + 1 × 29 + 1 × 28 + 1 × 27 + 1 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 1 × 20
+0
+ 16
+0
+0
+0
+1
1024 + 512 + 256 + 128 + 64
Octal
di × 10i
i = –k
(Architettura degli Elaboratori)
Notazione posizionale con
basi diverse
Binary
Σ
Il calcolatore utilizza base 2, motivi:
• un segnale rappresenta una cifra;
• semplificazione dell’hardware.
1
2 × 103 + 0 × 102 + 0 × 101 + 1 × 100
2000 + 0
+0
+1
Hexadecimal
7
D
.
1
7 × 162 + 13 × 161 + 1 × 160
1792 + 208
+1
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
11 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Operazione aritmetiche
12 / 79
I numeri in hardware
• Nel calcolatore i numeri rappresentati con un un
Gli algoritmi per base dieci, possono essere utilizzati
anche per base 2.
Algoritmo per la somma:
• si sommano le cifre di pari peso,
• a partire dalle meno significative,
• eventualmente si generano riporti.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
numero fisso di cifre binarie (bit).
• Nel caso dei naturali: 8 o 16 o 32 oppure 64
cifre.
• Non tutti i numeri naturali sono rappresentabili.
La somma:
• L’algoritmo di somma ripete la stessa
operazione su cifre diverse:
• In hardware: tanti circuiti, ciascuno somma una
diversa coppia di cifre.
13 / 79
Problema della
propagazione del ritardo
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
14 / 79
Circuiti aritmetici
Mezzo sommatore
• I circuiti logici rispondono con un piccolissimo
•
•
•
•
•
ritardo: attorno a 10−10 sec.
Nei circuiti in cascata i ritardi si sommano.
L’implementazione semplice della somma
contiene molti circuiti in cascata,
propagazione del riporto,
implementazione lenta.
Per ottenere circuiti più veloci, la somma usa
circuiti più sofisticati.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Exclusive OR gate
A
B
0
0
Sum Carry
0
0
0
1
1
0
1
0
1
0
1
1
0
1
A
Sum
B
Carry
15 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
16 / 79
Sommatore completo
Shifter
D0
D1
D2
D3
D4
D5
D6
D7
S0
S1
S2
S3
S4
S5
S6
S7
Carry in
C
Carry
Carry
Sum
in
out
A
B
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
A
Sum
B
Operazione di traslazione delle cifre.
Significato aritmetico: moltiplicazione (divisione) per
una potenza di 2.
Carry out
(a)
(b)
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
17 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Memorie
Latch SR
Dispositivi con stato: ricordano gli ingressi passati,
la storia dell’input.
Il più semplice circuito con memoria:
Latch S–R, (Set–Reset) usa la retroazione.
0
S
1
Q
S
0
0
Q
1
1
R
0
0
0
0
(a)
(Architettura degli Elaboratori)
Q
R
Q
1
0
(b)
18 / 79
A
B
NOR
0
0
1
0
1
0
1
0
0
1
1
0
Con input 0-0 possiede due stati stabili.
Posso memorizzare un bit.
• Il segnale S (Set) a 1 porta l’uscita Q a 1.
• Il segnale R (Reset) a 1 porta l’uscita Q a 0.
(c)
Circuiti combinatori, memorie
19 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Latch sincronizzato
20 / 79
Latch di tipo D
Segnale di clock (enable, strobe) per l’abilitazione
alla scrittura.
Differisce per i segnali di controllo.
D
S
Q
Q
Clock
Q
Q
R
Quando il clock è abilitato (a 1),
memorizza il segnale D.
Quando il segnale di clock è 0 la scritture viene
disabilitata.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
21 / 79
(Architettura degli Elaboratori)
Flip-flop
Circuiti combinatori, memorie
22 / 79
Possibile implementazione
Si sfruttano i ritardi delle porte logiche per generare
un segnale 1 brevissimo:
Diversi dai latch per il comportamento rispetto al
clock:
cambiano stato nell’istante in cui il clock cambia
valore.
d
∆
Esempio di comportamento:
a
b
b AND c
d
D
c
(a)
C
c
b
a
Q
(Architettura degli Elaboratori)
Time
Circuiti combinatori, memorie
23 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
(b)
24 / 79
Flip-flop completo
Flip-flop Master-Slave
Implementazione alternativa, più afficabile:
Con il breve impulso 1 si abilita la scrittura
D
D
Q
D
C
Q
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
25 / 79
D
Q
D
latch _
C
Q
Q
_
Q
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
26 / 79
Rappresentazione grafica
Differenze:
• Latch level triggered (azionato dal livello)
• Flip-Flop edge triggered (azionato dal fronte)
D
Q
D
CK
Vari tipi di flip-flop:
• D
• S-R: Set Reset
• J-K: (come S-R ma cambia stato con J=1, K=1)
• T: (un solo ingresso, cambia stato con T = 1)
Circuiti combinatori, memorie
Q
C
Latch e Flip-flop
(Architettura degli Elaboratori)
D
latch
27 / 79
Q
D
CK
(a)
Q
CK
(b)
(c)
D
Q
CK
(d)
• (a) (b) latch: con diversa risposta al segnale di
clock
• (c) (d) flip-flop:
(Architettura degli Elaboratori)
Registri
Circuiti combinatori, memorie
28 / 79
Circuiti sequenziali
elementi di memoria per sequenze di cifre binarie
(bit — binary digit)
implementazione: una sequenza di n flip-flop, (con il
segnale di clock in comune)
Il comportamento dipende dalla storia passata.
Struttura tipica di un semplice circuito sequenziale:
Outputs
Combinational logic
Next state
State register
Inputs
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
29 / 79
(Architettura degli Elaboratori)
Funzionamento
• una serie di passaggi da uno stato a quello
successivo,
• passaggi determinati dall’impulso di clock: forza
L’input variabile: modifica questa evoluzione.
Per un corretto funzionamento: input sincrono con il
segnale di clock.
Circuiti combinatori, memorie
30 / 79
Funzionamento
Con input constante:
ad ogni ciclo di clock il registro cambia stato,
di conseguenza cambia:
• il valore di uscita
• il prossimo stato.
Il circuito cicla.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
31 / 79
la scrittura nel registro,
• il segnale di clock è periodico,
• il passaggio di stato può avvenire solo quando il
circuito si è stabilizzato (ritardi).
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
32 / 79
Segnale di clock
Periodo di clock
Segnale periodico che cadenza il funzionamento dei
circuiti sequenziali.
Falling edge
Rising edge
Clock period
Periodico: cambia stato a in intervalli costanti.
Frequenza di clock = 1/ periodo.
Due esigenze contrapposte:
• per migliori prestazioni: periodo di clock più
breve possibile;
• ogni circuito ha un tempo di commutazione: il
periodo di clock deve essere superiore.
Ordini di grandezza del periodo: ∼ 1 – 10 ns,
frequenza: ∼ 100MHz – 1GHz.
In un calcolatore vari segnali di clock clock:
processore, scheda grafica, bus di sistema, . . .
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
33 / 79
Progettazione di circuiti
sequenziali
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
34 / 79
Macchina a stati finiti
È conveniente descrivere un circuito sequenziale
come ad una macchina a stati finiti.
Stato: entità astratta, trascuro l’esatto contenuto del
registro.
• In ogni istante si trova in un determinato stato, in
base a:
Circuito sequenziale tipico:
circuito combinatorio + memoria
Outputs
Combinational logic
Next state
•
•
State register
stato,
valore d’ingresso,
si determina:
•
•
valore d’uscita,
stato da assumere nell’istante successivo.
Inputs
Esistono
circuiti più complessi,
con svariati registri e35 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
circuiti combinatori.
Ci limitiamo a considerare circuiti semplici.
(Architettura degli Elaboratori)
Rappresentazione grafica
MSF
Circuiti combinatori, memorie
36 / 79
Grafo di una macchina a
stati finiti
La macchina a stati finiti viene rappresentata da un
grafo
• nodi del grafo: stati
• archi etichettati: transizioni tra stati, ad ogni arco
si associa
•
•
uno (o più valori) di input,
un valore di output.
Rappresentazione del comportamento più intuitiva.
Utile nella progettazione.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Che comportamento ha?
Copia, in ritardo, l’ingresso nell’uscita.
37 / 79
Grafo di una macchina a
stati finiti
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
38 / 79
Progettazione
• Dalla descrizione del problema si determina una
macchina a stati finiti che lo risolve,
definisco la memoria necessaria per risolvere il
problema: gli stati (nodi),
• determino le transazioni,
•
• associa ad ogni stato nodo una sequenza binari,
• si costruiscono le mappe di Karnaugh per le
In questo caso, l’uscita dipende solo dallo stato:
macchina di Moore. Il valore dell’uscita associato
allo
stato.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
uscite del circuito combinatorio, (prossimo stato,
uscita)
• si sintetizza il circuito combinatorio (insieme di
espressioni)
39 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
40 / 79
Esempi di progettazione
Esempi di progettazione
Circuito per il controllo di un semaforo, con rivelatori
di presenza di traffico.
Comportamento:
• il semaforo può cambiare stato in
corrispondenza al segnale di clock,
• il semaforo cambia stato solo se sono presenti
dei mezzi in attesa,
Semplificazione: due sole luci complementari, non
esiste la luce arancio.
• Circuito per il controllo di un semaforo,
il semaforo cambia stato ad ogni ciclo di clock
(ciclo di clock di 30 secondi),
ha solo due luci: rosso - verde.
• circuito per il controllo di un semaforo con
tempo del verde diverso nelle due strade,
• circuito di controllo di un vero semaforo.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
41 / 79
(Architettura degli Elaboratori)
Segnali
Circuiti combinatori, memorie
42 / 79
Dal diagramma al circuito
• 2 ingressi: presenza di traffico sulla strade NS,
presenza di traffico sulla strada EO.
• 1 uscita: determina lo stato del semaforo
(dall’unica uscita è possibile determinare le 4
luci del semaforo)
• gli stati vengo codificati con un registro di
lunghezza opportuna, Associo a ciascuno stato
un dato nel registro
•
•
2 stati
• luce verde sulla strada NS
• luce rossa sulla strada NS
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
43 / 79
associazione arbitraria
il numero degli stati determina la dimensione del
registro
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Dal diagramma al circuito
Esercizi
Progetto del circuito combinatorio.
• In base alla funzione di transizione costruisco
delle mappe di Karnaugh,
•
•
44 / 79
una mappa per ogni input del registro (flip-flop)
una mappa per ogni uscita
• Dalle mappe di Karnaugh ricavo le espressione
logiche (la descrizione algebrica) del circuito
sequenziale.
• Circuito sequenziale con:
• 1 ingresso, trasmessi numeri a gruppi di 3 bit;
• 2 uscite: 00 corrispondenza al primo e al secondo
bit di ingresso, il numero (in binario) degli 1 ricevuti
in ingresso.
• Contatore “up/down” a 2 bit:
• 2 ingressi: x abilitazione al conteggio, ud ordine di
conteggio;
• 2 uscite: numero binario.
• Circuito sequenziale per riconoscere una stringa
(1100)
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
45 / 79
(Architettura degli Elaboratori)
Osservazioni
Circuiti integrati ( Integrated Circuit, IC, chip): unità
contenenti insiemi di porte logiche: transistor e
resistenze.
Concetto ricorrente in informatica.
Utilizzato per descrivere in diversi oggetti:
• parti del calcolatore,
• linguaggi (insiemi di parole),
• strutture biologiche.
Circuiti combinatori, memorie
46 / 79
Tecnologia dei circuiti
integrati
Macchina a stati finiti come
calcolatore con una memoria limitata.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
• Piastrina quadrata di cristallo di silicio, lato ∼ 1
cm.
• Sulla superficie vengono creati: transistor,
resistenze, collegamenti.
47 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
48 / 79
Memorie EPROM
Lavorazioni sul silicio
• transistor ottenuti drogando il silicio: inserendo
atomi estranei (boro, arsenico, fosforo) nella sua
struttura cristallina.
si espone il silicio, in forno, ai vapori di altre
sostanze;
• collegamenti tra le componenti del chip ottenuti
depositando uno strato di materiale conduttore
(rame o alluminio);
• isolamenti elettrici ottenuti ossidando in silicio:
esponendolo, in forno, all’ossigeno.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
49 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Tecniche di fotolitografia
50 / 79
Wafer
Come lavorare il silicio in maniera selettiva:
• si copre il silicio con uno strato di materiale
fotosensibile,
• che viene illuminato in maniera differenziata,
• la parte illuminata solidifica, la parte in ombra
viene rimossa, si espone parte del chip ad una
lavorazioni selettiva,
• anche 50 diverse lavorazioni per singolo chip.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
51 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Package
52 / 79
Package
Ogni chip inglobato in un supporto di plastica:
package.
Connessioni mediante piedini,
• Chip di memoria e chip semplici: due file di
piedini (dual in line package)
• Chip con processori: centinaia di connessioni,
due file di piedini non sufficienti, pedinatura più
complessa.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
53 / 79
(Architettura degli Elaboratori)
Chip di memoria
Circuiti combinatori, memorie
54 / 79
Chip di memoria
Circuiti integrati contenenti un notevole numero di
registri.
I singoli registri non possono essere collegati
all’esterno individualmente.
Per accedere ai dati
• si seleziona il registro su cui operare,
specificando il suo indirizzo (numero associato)
• si definisce l’operazione da eseguire (lettura –
scrittura).
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
55 / 79
Segnali I/O:
• indirizzo (specifica il registro su cui operare),
• dati in ingresso (da scrivere nel registro),
• segnali di controllo:
CS chip select (per attivare il chip di memoria),
RD read (specifica se vogliamo leggere o scrivere in
memoria
• OE output enable
•
•
• dati in uscita (le linee coincidono con gli
ingressi)
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
56 / 79
Implementazione
Schema strutturato: input
Data in
I2
Write
I1
I0
Write
gate
Word 0
select
line
A1
A0
Word 1
select
line
Word 2
select
line
D Q
D Q
D Q
CK
CK
CK
Word 0
D Q
D Q
D Q
CK
CK
CK
D Q
D Q
D Q
CK
CK
CK
D Q
D Q
D Q
CK
CK
CK
C
0
Word 1
Register number
Register 0
1
D
n-to-1
decoder
C
Register 1
D
n–1
Word 2
n
Word 3
C
Register n – 1
D
CS • RD
CS
C
O1
RD
Register n
O2
O3
OE
D
Register data
Output enable = CS • RD • OE
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
57 / 79
(Architettura degli Elaboratori)
Output
Register n – 1
Register n
M
u
x
Read data 1
M
u
x
Read data 2
Per connettere tra di loro diverse uscire sono
necessari
buffer non invertenti
possono lasciare l’uscita indeterminata, non forzano
un valore di tensione
Read register
number 2
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
59 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
Memorie RAM
Un singolo transistor per memorizzare un bit: si
posso inserire molte più celle di memoria in un
singolo chip.
Due tipi:
• RAM statiche (SRAM): i singoli bit vengono
memorizzati con latch, veloci e costose, sei
transistor per memorizzare un bit.
• RAM dinamiche (DRAM): usano un diverso
meccanismo di memorizzazione, lente e
capienti. Costituiscono la memoria principale
del calcolatore.
Circuiti combinatori, memorie
60 / 79
RAM Dinamiche
I circuiti di memoria vengono chiamati RAM
(Random Access Memory).
(Architettura degli Elaboratori)
58 / 79
Buffer non invertenti,
circuiti a tre stati
Read register
number 1
Register 0
Register 1
Circuiti combinatori, memorie
Word line
Pass transistor
Capacitor
Bit line
61 / 79
(Architettura degli Elaboratori)
RAM Dinamiche
Circuiti combinatori, memorie
62 / 79
Struttura DRAM
L’accumulo di carica rappresenta lo stato.
Difetti:
• più lente delle SRAM (difetto principale)
• i condensatori perdono velocemente la loro
carica: è necessario un meccanismo di refresh,
ogni ∼ 1ms, circuiti dedicati, 10% del tempo
speso nel refresh.
Row
decoder
11-to-2048
Address[10–0]
2048 × 2048
array
Column latches
Mux
Dout
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
63 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
64 / 79
DRAM
DRAM
Accesso alla memoria in due fasi,
• nella prima fase il contenuta di un intera riga
viene copiato in un registro (latch),
• nella seconda vengono letti i bit selezionati della
riga.
Accesso veloce a locazioni consecutive: non si
ripete la prima fase, si usa il registro.
• RAS (Row Access Strobe)
• CAS (Column Access Strobe)
(by Glogger at English Wikipedia).
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
65 / 79
(Architettura degli Elaboratori)
Tecnologie per le DRAM
Nuove tecnologie per le DRAM:
sfruttano la possibilità di accedere a byte consecutivi
più velocemente rispetto a byte causali.
Circuiti combinatori, memorie
67 / 79
Double Data Rate
Synchronous DRAM
68 / 79
leggibili nell’unità di tempo.
• tempo d’accesso: tempo necessario per un
singola operazione in memoria.
Non sono sempre una l’opposto dell’altro.
In senso letterale, le RAM dinamiche non sono
memorie Random Access Memory:
non si accede a tutti i dati con lo stesso ritardo.
69 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
70 / 79
Esempio
Un memoria da 1 Gbit.
• 1 G di locazioni di 1 bit
• 512 M di locazioni da 2 bit
• 256 M di locazioni da 4 bit
• 128 M di locazioni da 8 bit
Distribuzioni diverse portano a diversi numero di
• linee indirizzo,
• linee di dato.
Capacità = 2l. indirizzo × l. dato.
• Capacità: 4n , la crescita segue la legge di
Moore,
• le memorie più capienti sono più costose (per
unità di memoria),
• una stessa quantità di memoria può essere
distribuita su un numero variabile di locazioni
Circuiti combinatori, memorie
Circuiti combinatori, memorie
• banda passante: quantità di dati consecutivi
Capacità e connessioni
chip di memoria
(Architettura degli Elaboratori)
(Architettura degli Elaboratori)
Le nuove DRAM migliorano più la banda passante
rispetto al tempo d’accesso
da un segnale di clock;
vengono trasmessi pacchetti di dati (locazioni
consecutive);
ogni ciclo di clock, un nuovo pacchetto;
ma molti cicli di clock, per il primo pacchetto.
• Double Data Rate: ad ogni ciclo di clock
vengono spediti due pacchetti di dati.
Circuiti combinatori, memorie
Evoluzione negli anni:
• FPM RAM (Fast page mode)
• EDO RAM (Extended data output)
• SDRAM (Synchronous DRAM)
• DDR3 SDRAM (Double Data Rate SDRAM)
• RDRAM (Direct Rambus DRAM)
• GDDR4 (Graphic Double Data Rate, schede
grafiche)
• ...
Stessa struttura interna, cambia l’interfaccia con il
processore.
Banda passante, tempo
d’accesso
• Synchronous: trasmissione sincrona, regolata
(Architettura degli Elaboratori)
66 / 79
Diverse tecnologie di
DRAM
I miglioramenti nei tempi di risposta delle DRAM
sono state inferiori a quelli del processore;
per un certo periodo di tempo:
(∼ 10% vs ∼ 50% l’anno).
La velocità relativa della memoria diminuisce:
processore 100-1000 volte più veloce della DRAM.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
71 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
72 / 79
Esempi
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
512K 3 8
Memory
chip
(4 Mbit)
D0
D1
D2
D3
D4
D5
D6
D7
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
Moduli di memoria
4096K 3 1
Memory
chip
D
(4 Mbit)
RAS
CAS
CS WE OE
CS WE OE
(a)
(b)
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
73 / 79
(Architettura degli Elaboratori)
Moduli di memoria
DIMM Double Inline Memory Module
SO-DIMM Small Outline DIMM
Diverse, incompatibili, versioni per ogni tipo.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
74 / 79
Memorie permanenti
Schede di memoria:
• circuito stampato contenente la RAM dinamica,
• distribuita su più chip,
• si innesta in appositi slot (prese) sulla scheda
madre:
per maggiore flessibilità,
• diversi tipi di connessioni (moduli):
•
•
Circuiti combinatori, memorie
75 / 79
Le RAM perdono i dati se non alimentate.
Memorie permanenti necessarie per:
• calcolatori embedded semplici che eseguono
sempre lo stesso codice, non memorizzano dati
in modo permanente;
• calcolatori embedded a sostituzione disco
magnetico: smartphone, tablet;
• calcolatori: memorizzare il programma di avvio
del calcolatore (bios).
(Architettura degli Elaboratori)
Memorie permanenti
Circuiti combinatori, memorie
76 / 79
Memorie EPROM,
EEPROM, Flash
• ROM (Read Only Memory) di sola lettura
• PROM (Programmable ROM) scrivibili un’unica
Floating-gate MOSFET
volta. — Bit: fusibile. Scrittura distruttiva,
• EPROM (Erasable PROM) cancellabili
mediante esposizione a raggi ultravioletti.
Bit: carica elettrica.
• EEPROM (Electrically EPROM) cancellabili
elettricamente (singolo bit).
Bit: carica elettrica.
• Memoria flash: particolari EEPROM cancellabili
a banchi. SSD dischi a stato solido.
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
77 / 79
Classificazione delle
memoria
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
79 / 79
(Architettura degli Elaboratori)
Circuiti combinatori, memorie
78 / 79