Memoria
Banco di Memoria
Indirizzamento:
serviranno k bit per esprimere un indirizzo, con
minimo k tale che 2k ≥ m
cioè k = log2 m
indirizzo
5
Porta di accesso
(in lettura e scrittura) Dato in componente
al banco di memoria 64
32x64 bits
Dato out
64
CK (clock)
D
32 31 30 29 28 2
E
C I I I I I I
L L L L L L
R0 R1 R2 R3 … R30 R31
5
ind U U U U U U
64 64 64 64 64 64
CK MUX
64
dato out
Architettura degli elaboratori - 23 - Memoria
Banco di memoria ad un bus solo
(Bus bidirezionale)
Il tipico banco di memoria ha uno solo bus,
usato sia in lettura che in scrittura.
Quindi si può eseguire una sola operazione alla volta,
lettura oppure scrittura
Come implementare un bus di questo tipo (detto «bidirezionale»)?
E’ necessario un nuovo tipo di porta che consenta la NON
interferenza fra le uscite e le entrate nel bus: il tri-state buffer
E I U
0 0 Z
I U
0 1 Z
1 0 0
E
1 1 1
Architettura degli elaboratori - 25 - Memoria
Funzionamento
I U I U
0 0 0 0
E interruttore chiuso
ingresso di
controllo 1
I U I U
1 1 1 1
E interruttore chiuso
1
I U I U
0o1 Z 0o1 Z
E interruttore aperto
stato di alta
0 oppure 1 0 impedenza
A 0 A Z
0 0
$!&@£$! B
B B B B
non
leggibile!
1 1
Circuito corretto
Circuito non corretto! (fintantochè uno solo dei due bit di controllo vale 1)
DEC
…
bus
…
MUX
bus di input
bus di output
bus di input
bus di output
bus di input
bus di output
lettura da B
scrivere in C
indirizzo
k
Porta di accesso 2k x m bits
(in lettura e scrittura) dato
m
al banco di memoria
RD (lettura)
WR (scrittura)
CK (clock)
bus indirizzo
ind 5
0
Quando RD = 0 WR = 0 :
componente isolato
indirizzo
componente
memoria
32x64 bit
in out
RD∙WR RD∙WR
bus 64
dati
Architettura degli elaboratori - 40 - Memoria
Un Memory Bank (da 32x64 bit)
con un bus di uscite/ingressi unificato
bus indirizzo
ind 5
1
Quando RD = 0 WR = 0 :
componente isolato
indirizzo
componente Quando RD = 1 WR = 0 :
memoria bus funziona in lettura
32x64 bit
in out
RD∙WR RD∙WR
bus 64
dati
Architettura degli elaboratori - 41 - Memoria
Un Memory Bank (da 32x64 bit)
con un bus di uscite/ingressi unificato
bus indirizzo
ind 5
1
Quando RD = 0 WR = 0 :
componente isolato
indirizzo
componente Quando RD = 1 WR = 0 :
memoria bus funziona in lettura
RD∙WR RD∙WR
bus 64
dati
Architettura degli elaboratori - 42 - Memoria
Un Memory Bank (da 32x64 bit)
con un bus di uscite/ingressi unificato
RD CS = RD + WR
control
WR OE = RD
bus indirizzo
ind 5
CS
Quando CS = 0 :
componente isolato
indirizzo
componente Quando CS = 1 OE = 1 :
memoria bus funziona in let. dir
CS∙OE CS∙OE
bus 64
dati
Architettura degli elaboratori - 43 - Memoria