Você está na página 1de 10

Sistemas de Memria

Conceitos Bsicos
Joo Canas Ferreira

Outubro de

Assuntos

Tpicos

Memrias
Aspetos gerais
Memrias Estticas
Memrias Dinmicas
Descodificao de endereos
Organizao geral
Descodificao total
Descodificao parcial

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Memrias

Memrias
Aspetos gerais
Memrias Estticas
Memrias Dinmicas
Descodificao de endereos
Organizao geral
Descodificao total
Descodificao parcial

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Memrias

Outubro de

Aspetos gerais

Taxonomia
Registos e bancos de registos permitem guardar pequenas quantidades de
dados. Para maiores quantidades, usam-se memrias de acesso direto.
RAM = random access memory (memria de acesso direto): permitem leitura e
escrita em qualquer posio.
ROM = read-only memory: permitem apenas leitura.
A maior parte das memrias RAM perde os dados quando desligada a
alimentao (memria voltil). Excees:
(E)EPROM: (Electrically) erasable programmable ROM
memrias FLASH.

Dois tipos de memrias RAM volteis:


SRAM: memria esttica (cada clula de memria um flip-flop);
DRAM: memria dinmica (cada clula deve ser atualizada periodicamente).
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Memrias

Aspetos gerais

Circuitos de memria: organizao conceptual


N-1
endereo
(linha)

2
1
0

dados
(M bits)

M bits

Para P linhas de endereo: N = P


Abreviaturas:
=
= K,
=
= M
O porto de dados bidirecional: preciso especificar o tipo de acesso (leitura
ou escrita).
M a largura da memria.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Memrias

Outubro de

Memrias Estticas

Memrias estticas
As memrias estticas aproximam-se do modelo conceptual de funcionamento.
21
Address[20:0]

Chip select
SRAM

Output enable

2M x 16

16
Dout[15:0]

Write enable

Din[15:0]

16

Para aceder memria:


ativar o circuito: chip select (CS) ativo
especificar o tipo de acesso:
ativar output enable (leitura) OU write enable (escrita).
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Memrias

Memrias Estticas

Memrias estticas: acessos


Tempo de acesso para leitura: intervalo entre o instante em que output enable
e endereo esto corretos e o aparecimento de dados na sada.
Valores tpicos para memrias estticas:
rpidas: ns
tpicas: ns (cerca de milhes de bits)
de baixo consumo: vezes mais lentas

Durante esse tempo, um processador que execute uma instruo por ciclo e
use um relgio de GHz, executa:
instrues
instrues

Tempo de acesso para escrita: endereos e dados devem estar estveis antes
e depois do flanco. O sinal de write enable sensvel ao nvel (no ao flanco) e
deve ter uma durao mnima para que a escrita se realize.
O tempo de escrita superior ao tempo de leitura.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Memrias

Outubro de

Memrias Estticas

Memrias estticas: circuito de sada


Buffer tristate
estados: , , desligado
Sel = 1
Sel

Ao contrrio de um banco de registos, o


circuito de sada no pode ser baseado num
multiplexador: uma SRAM 64K x 1 precisaria
de ter um multiplexador
-para .

Out

In
Out

In

Sel = 0

Out

In

Soluo: utilizar buffer tristate, cuja sada pode


ter estados ( , ou alta-impedncia).

Circuito de sada:
Select 0

Data 0

Enable
In

Select 1

Data 1

Enable
In

Select 2

Data 2

Out

Enable
In

Select 3

Data 3

No estado de alta-impedncia, a sada do


circuito est desligada.

Out

Out

Enable
In

Output

O estado da sada determinado por uma


entrada de controlo: Sel.
Todas as sadas so ligadas em paralelo. No
pode existir mais que uma sada ativa (i.e., no
em alta-impedncia) em cada instante.

Out

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Memrias

Memrias Estticas

Estrutura bsica de uma memria esttica


Din[1]

Din[1]

D
C
Write enable

D
latch

Enable

D
latch

Enable

2-to-4
decoder

D
C

D
latch

Enable

D
latch

Enable

D
C

Address

D
latch

Enable

D
latch

Enable

SRAM 4x2

D
C

D
latch

Enable

D
latch

Enable

Dout[1]

Joo Canas Ferreira (FEUP/DEEC)

Dout[0]

Fonte: [COD ]

Sistemas de Memria

Memrias

Outubro de

Memrias Estticas

Memrias estticas organizadas por bancos


Para limitar o tamanho do descodificador de endereos:

12
Address

4K x

4K x

4K x

4K x

4K x

4K x

4K x

4K x

1024

1024

1024

1024

1024

1024

1024

1024

SRAM

SRAM

SRAM

SRAM

SRAM

SRAM

SRAM

SRAM

Mux

Mux

Mux

Mux

Mux

Mux

Mux

Mux

Dout7

Dout6

Dout5

Dout4

Dout3

Dout2

Dout1

Dout0

4096

to

[2110]

4096
decoder

1024

Address
[90]

Fonte: [COD ]

Organizao tpica de uma memria 4Mx8 como uma coleo de blocos de


memria 4Kx1024.
Os blocos MUX so realizados por buffers de trs estados.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Memrias

Memrias Dinmicas

Memria dinmica (DRAM)


Valor guardado como carga num condensador.
O acesso feito atravs de um transstor a operar como interruptor.
Consequncia: maior densidade (bit/mm ), logo circuitos de maior
capacidade e menor custo.
Comparao: SRAM requer a transstores por bit armazenado.
Acesso a DRAM feito em duas etapas:
seleo de coluna (usando uma parte do endereo);
seleo de linha (usando os restantes bits do endereo).

DRAM mais lenta que SRAM. Valor tpico:


acesso
ns.

Gibit (512M4), tempo de

Condensador vai perdendo a carga e deve ser periodicamente refrescado,


fazendo uma leitura seguida de escrita (circuito dinmico). Refrescamento
consome % a % dos acessos.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Memrias

Outubro de

Memrias Dinmicas

Esquema geral do acesso a uma memria dinmica

Descod.
de linhas

2048 x 2048
matriz

11-to-2048

Endereo[10-0]
2048 trincos

Mux

Dout

Endereo: + bits.
DRAM 4M1: bits selecionam a linha, que copiada para
Multiplexador seleciona uma de
entradas.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

trincos.
Outubro de

Memrias

Memrias Dinmicas

Mdulos de memria: DIMM

CIs individuais podem ser agrupados em mdulos.


Ex: mdulo 32Mx64 (
MB) pode usar componentes 32Mx4.

a[24:0]
Ram0

Ram1

Ram2

Ram14

Ram15

32Mx4
d [3:0]

d [7:4]
d[63:0]

d [11:8]
d [59:56]
d[63:60]

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Outubro de

Descodificao de endereos

Memrias
Aspetos gerais
Memrias Estticas
Memrias Dinmicas
Descodificao de endereos
Organizao geral
Descodificao total
Descodificao parcial

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Descodificao de endereos

Organizao geral

Organizao da memria de um computador


A memria fsica de um computador geralmente composta por vrios
mdulos (circuitos integrados, DIMM, etc.) por forma a ser possvel obter
maiores capacidades de armazenamento.
Para alm dos mdulos de memria necessrio ter um circuito de
descodificao de endereos que seleciona quais os mdulos ativos durante
um dado acesso (com base no endereo apresentado pelo CPU).
Organizao tpica: os bits menos significativos so ligados diretamente aos
mdulos individuais, enquanto os bits mais significativos so usados para
fazer a seleo dos mdulos.
Linhas de dados podem ser partilhadas por mais que um mdulo (usando
buffers tristate).
Alguns mdulos usam internamente esta abordagem.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Descodificao de endereos

Outubro de

Organizao geral

Organizao da memria: diagrama de blocos


N bits de endereo
End.

End.

End.

End.

N bits
End[N-1:0]
CS

dados

CS

CS
dados

CS
dados

dados

dados[ ]

M-N bits de seleco


End[M-1: N]
Descodificador

Apenas uma sada


activa de cada vez

Endereo tem M bits,


dos quais M-N podem ser
usados na descodificao

Para memrias DRAM a descodificao de endereos mais complicada. Apenas abordaremos o


caso das memrias SRAM.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Descodificao de endereos

Organizao geral

Regras para descodificao de endereos


Para que esta organizao funcione bem, a descodificao de endereos
deve garantir que:
Para o conjunto de todos os mdulos que partilham uma mesma linha de dados: apenas um (ou nenhum) deve ser ativado durante um
acesso.
Se esta condio no for respeitada, os componentes podem ser
definitivamente danificados.
O mapeamento de endereos para componentes pode ser classificado de
acordo com o nmero de endereos que mapeado na mesma posio fsica:
total: endereo ! posio
parcial: N endereos ! posio

Na descodificao total, todos os bits do endereo so usados: ligados


diretamente aos componentes ou utilizados na seleo dos componentes.
Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Descodificao de endereos

Outubro de

Descodificao total

Descodificao total: exemplo


RAM1

RAM2

No se estar a usar um bit


A[15:0]

A[11:0]

A[12:0]

RAM1: 4Kx8
RAM2: 8Kx8
Espao de endereamento do CPU:
64 K, 1 byte por endereo

CS

CS

RAM 1:
1011 XXXX XXXX XXXX
Gama: B000H a BFFFH

101? 0000 0000 0000 (A000 e B000)


h duas posies possveis para
aceder ao primeiro endereo da RAM1
- descodificao parcial
D[7:0]

D[7:0]
8 bits

8 bits

D[7:0]
8 bits
A[15]

&

A[15]

&

s quando temos 001 que este endereo


est activo (& tem de ser tudo 1 para resultado =1)

A[14]

A[14]

RAM2:
001X XXXX XXXX XXXX
Gama: 2000H a 3FFFH

A[13]

A[13]
A[12]

Endereo B712H (
Endereo C1E0H (
Joo Canas Ferreira (FEUP/DEEC)

) ! RAM

) ! nenhum circuito
Sistemas de Memria

Outubro de

Descodificao de endereos

Descodificao parcial

Descodificao parcial: exemplo

RAM1: 4Kx8
RAM2: 8Kx8
Espao de endereamento do CPU:
64 K, 1 byte por endereo

RAM2

RAM1
A[15:0]

podem ser usados vrios endereos para


aceder a mesma posio

A[12:0]

A[11:0]

CS

CS

D[7:0]

D[7:0]
8 bits

8 bits

D[7:0]
8 bits
&

A[15]

A[15]

A[14]

&

A[13]

O byte

RAM 1:
10?? XXXX XXXX XXXX
Gamas:
8000H a 8FFFH
9000H a 9FFFH
A000H a AFFFH
B000H a BFFFH
RAM2:
0?1X XXXX XXXX XXXX
Gamas:
2000H a 3FFFH
6000H a 7FFFH

de RAM1 pode ser acedido atravs de que endereos?

800AH, 900AH, A00AH e B00AH


Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de

Referncias

Referncias
COD D. A. Patterson & J. L. Hennessey, Computer Organization and
Design, ed.
COD D. A. Patterson & J. L. Hennessey, Computer Organization and
Design, ed.
Os tpicos tratados nesta apresentao so descritos na seguinte seco de
[COD ]:
apndice C, seco C.
Tambm so tratados na seguinte seco de [COD ]:
apndice B, seco B.

Joo Canas Ferreira (FEUP/DEEC)

Sistemas de Memria

Outubro de