gs 0905 memo v0 - utfpr

Post on 24-Jul-2022

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Eletrônica Digital

Prof. Gilson Yukio Satosato[at]utfpr[dot]edu[dot]br

Memórias Semicondutoras

Prof. Gilson Yukio Satosato[at]utfpr[dot]edu[dot]br

Memórias Digitais

• Magnética– Fitas K7, discos 3½’, etc

• Ótica– CDs, DVDs, etc

• Semicondutoras – Chips de memória

Importância das Memórias

• O microprocessador precisa armazenar instruções e dados

µP Memória Principal (semicondutora)

Memória Auxiliar (magnética, ótica)

Tipos de Memórias Semicondutoras

• ROM– Mask– PROM– EPROM– EEPROM/E2PROM– Flash

• RAM– Dinâmica (DRAM)– Estática (SRAM)

ROM

• ROM (Read Only Memory)– Memória somente para leitura– Dados não voláteis

• Não voláteis = os dados não são perdidos quando a memória está sem alimentação

– Armazenamento de programa para µP• Dados presentes quando da alimentação do

sistema µP

ROM Mask

• ROM programada por máscara– Programada pelo fabricante– Não pode ser apagada ou reprogramada

– Custo baixo para grandes quantidades

• Máscara – Especificada pelo cliente

(Tocci, 2007)

PROM

• Programmable ROM– OTPROM (One Time Programmable ROM)– Pode ser programada pelo usuário

(gravador/programador de memória)

– Não pode ser apagada ou reprogramada

• Fusíveis como conexão – Programação = queima de fusíveis

PROM

(Tocci, 2007)

EPROM

• Erasable Programmable ROM– UVEPROM (Ultra-Violet EPROM)– Pode ser programada, apagada e

reprogramada pelo usuário (gravador/programador de memória)

– Apagamento não seletivo

• Transistores MOS com porta flutuante– Porta flutuante controla fluxo de cargas

EPROM

Veja animação no site: http://www.howstuffworks.com/rom4.htm

EPROM

Retirado do site: http://www.clubedohardware.com.br/dicionario/termo/350

EPROM

Retirado do site: http://www.cpushack.net/EPROM.html

EPROM

(Tocci, 2007)

EEPROM

• Electrically Erasable PROM– Pode ser programada, apagada e

reprogramada no próprio circuito– Apagamento seletivo (bytes)

– Pode ser usada como uma RAM não volátil– Construção complexa / baixa densidade

– Maior custo– Processo de programação lento

EEPROM

(Tocci, 2007)

FLASH

• Flash– Pode ser programada, apagada e

reprogramada no próprio circuito– Apagamento por blocos

– Pode ser usada como uma RAM não volátil– Construção mais simples que EEPROM

– Custo menor que EEPROM– Velocidade maior que EEPROM

Flash

(Tocci, 2007)

Comparação entre ROMs

(Tocci, 2007)

Aplicações ROM

• Sistemas microprocessados– Armazenamento de programa

• Transferência de dados e portabilidade– Pen drive, MP3 players, PDAs

• Memória bootstrap– BIOS de PCs

• Tabelas de dados• Conversor de dados

RAM

• RAM (Random Access Memory)– Memória de leitura e escrita

• RWM (Read Write Memory)

– Dados voláteis• Voláteis = os dados são perdidos se a memória

fica sem alimentação

– Armazenamento de dados• Dados temporários

SRAM

• Static RAM (RAM estática)– Dados são mantidos enquanto houver

alimentação – Não necessita de refresh como a DRAM

– Cada célula é um FF – Ciclo de leitura e escrita rápido

SRAM

(Tocci, 2007)

DRAM

• Dynamic RAM (RAM dinâmica)– Armazenam os dados sob a forma de

carga de capacitor – Necessita de refresh, pois os capacitores

precisam ser periodicamente recarregados– Alta densidade

DRAM

Escrita → SW1 e SW2 ON

Leitura → SW2, SW3 e SW4 ON

(Tocci, 2007)

Estrutura Interna GenéricaCélula

Registro n bits

Dn-1 Dn-2 D1 D0

Posição de Memória

0

1

m-1

Uma Célula armazena um bit (FF)

O Registro é um conjunto de n Células

Cada Registro ocupa uma das m Posições de Memória

Cada Posição de Memória éacessada através de um Endereço (A)

O Endereço (A) é uma palavra de k bits tal que:

m = 2k

Exemplo

Representação de uma memória cujo registro é de n = 4 bits e que possui m = 8 posições de memória

D3 D2 D1 D0

0

1

2

3

4

5

6

7

Se m = 8 então:

8 = 2k

Tal que:

k = 3

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 1 1 1

1 1 0 1

0 0 0 1

1 1 0 0

0 1 1 1

0 0 0 0

1 0 1 0

0 1 1 0

Pinagem Genérica

EPROMs, EEPROMs, Flashes, SRAMs

CS

RD

WR

m x n

A0A1

Ak-1

D0D1

Dn-1

k linhas de endereço

linhas de controle

n linhas de dados

Pinagem Genérica• A0~Ak-1: linhas de endereço capazes de

endereçar m posições de memória• D0~Dn-1: linhas de dados para leitura e

escrita de dados na memória• CS’: Chip Select – habilita a operação da

memória (ME’)• RD’: Read – deve ser ativada para indicar

uma leitura (OE’)• WR’: Write – deve ser ativada para indicar

escrita (não existe para ROM, PROM, EPROM)

Exemplo

D3 D2 D1 D0

0

1

2

3

4

5

6

7

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 1 1 1

1 1 0 1

0 0 0 1

1 1 0 0

0 1 1 1

0 0 0 0

1 0 1 0

0 1 1 0

CS

RD

WR

8 x 4

A0A1A2 D0

D1D2D3

Exemplo - Leitura

D3 D2 D1 D0

0

1

2

3

4

5

6

7

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 1 1 1

1 1 0 1

0 0 0 1

1 1 0 0

0 1 1 1

0 0 0 0

1 0 1 0

0 1 1 0

CS

RD

WR

8 x 4

A0A1A2 D0

D1D2D3

001

0

0

1

1110

Exemplo - Escrita

D3 D2 D1 D0

0

1

2

3

4

5

6

7

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 1 1 1

1 1 0 1

0 0 0 1

1 1 0 0

0 1 1 1

0 0 0 0

1 0 1 0

0 1 1 0

CS

RD

WR

8 x 4

A0A1A2 D0

D1D2D3

101

0

1

0

0101

1 00 1

Timming – Leitura EPROM

(Microchip)

Timming – Escrita EEPROM

(Tocci, 2007)

Timming – Leitura SRAM

(Holtek)

Timming – Escrita RAM

(Holtek)

Organização

Uma memória é organizada em termos do número de posições de memória (m) e do

número de bits por registro (n)

m x n

Exemplo 1: 1024 x 8 = 1k x 8

Exemplo 2: 2048 x 8 = 2k x 8

Capacidade

A capacidade “C” de uma memória é dada em bits e pode ser obtida multiplicando-se o

número de posições de memória “m” e número de bits por registro “n” .

C = m x n

Exemplo 1: uma memória 1024x8 tem uma capacidade de 8192 bits

Exemplo 2: uma memória 2048x4 tem uma capacidade de 8192 bits

Bancos de Memória

• Banco ou associação de memórias • O objetivo de projetar um banco de

memória pode ser:• Caso 1: Aumentar o número de bits por registro• Caso 2: Aumentar o número de posições de

memória• Caso 3: Aumentar ambos• Caso 4: Associar memórias de tipos diferentes

Bancos de Memória

Memo Memo Memo

Memo

Memo

Memo

Memo

Memo

Memo

Memo

Memo

Memo

ROM

RAM

Caso 1

Caso 3

Caso 2

Caso 4

Caso 1 - ExemploCaso 1: Aumentar o número de bits por registro.

Exemplo: A partir de memórias do tipo 8x4 obter um banco 8x8.

Memon=4 → D0...D3m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=8 → k=3k=3 → A0...A2

N° CIs8x8/8x4 → 2

Idéia principal: Serão necessários dois CIs que devem ser associados de forma que cada um disponibilize 4

linhas de dados

Caso 1 - Exemplo

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

Memon=4 → D0...D3m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=8 → k=3k=3 → A0...A2

N° CIs8x8/8x4 → 2

AA0AA1

AA2

CS’RD’

WR’

DD0

DD1

DD2

DD3

DD4

DD5

DD6

DD7

Caso 2 - ExemploCaso 2 Aumentar o número de posições de memória.

Exemplo: A partir de memórias do tipo 8x8 obter um banco 16x8.

Memon=8 → D0...D7m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=16 → k=4k=4 → A0...A3

N° CIs16x8/8x8 → 2

Idéia principal: Serão necessários dois CIs que devem ser associados de forma que cada um disponibilize 8

posições de memória

Memon=8 → D0...D7m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=16 → k=4k=4 → A0...A3

N° CIs16x8/8x8 → 2

AA0AA1

AA2

CS’

RD’WR’

1

2 1

2

0

3

x/y

EN

AA3

DD0DD1DD2DD3DD4DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

DD0...DD7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CI1

CI2

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD0DD1DD2DD3DD4DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

DD0...DD7

Barramento (Bus)

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD0DD1DD2DD3DD4DD5DD6DD7=

Mapa de Memória

• O mapa de memória representa a faixa de endereços ocupada por cada memória.

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

1

2

Caso 3 - ExemploCaso 3: Aumentar o número de bits por registro e o número de

posições de memória.

Exemplo: A partir de memórias do tipo 8x4 obter um banco 16x8.

Memon=4 → D0...D3m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=16 → k=4k=4 → A0...A3

N° CIs16x8/8x4 → 4

Idéia principal: Serão necessários quatro CIs. Cada par de CIs 8x4 deve ser associado formando dois

conjuntos 8x8. Esses dois conjuntos devem ser associados para formar um banco 16x8.

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS’

1

2 1

2

0

3

x/y

EN

AA3

RD’WR’

DD0...DD7

AA0...AA2

DD0

DD1

DD2

DD3

DD4

DD5

DD6

DD7

DD0

DD1

DD2

DD3

DD4

DD5

DD6

DD7

AA0AA1AA2

AA1AA2

AA0AA1AA2

AA0

AA1AA2

AA0

CI1

CI2

CI3

CI4

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

1/2

3/4

Caso 4 – Exemplo 1Caso 4: Associar tipos diferentes de memória.

Exemplo: Associar uma EPROM 8x8 e uma RAM 8x8, com a EPROM ocupando os endereços mais baixos.

Memos (EPROM e RAM)n=8 → D0...D7m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=16 → k=4k=4 → A0...A3

N° CIs2

Idéia principal: Nesse caso EPROM e RAM possuem a mesma organização e capacidade, por isso a

associação e similar ao caso 2

AA0AA1

AA2

CS’

RD’

WR’

CS

RD

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

1

2 1

2

0

3

x/y

EN

DD0DD1DD2DD3DD4DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

AA3

DD0...DD7EPROM

RAM

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

EPROM

RAM

Caso 4 – Exemplo 2Caso 4: Associar tipos diferentes de memória.

Exemplo: Associar EPROMs 8x8 e RAMs 8x8 para obter um banco de 8x8 de EPROM e 16x8 de ram, com a EPROM ocupando os

endereços mais baixos.

Memos (EPROM e RAM)n=8 → D0...D7m=8 → k=3k=3 → A0...A2

Bancon=8 → D0...D7m=24 → k=5k=5 → A0...A4

N° CIs1 EPROM2 RAMs

Idéia principal: Como EPROM e RAMs possuem a mesma organização e capacidade a associação e

similar ao caso 2

CS’

RD’

WR’

CS

RD

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

1

2 1

2

0

3

x/y

EN

DD0DD1DD2DD3DD4DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

AA3

DD0...DD7EPROM

RAM1

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

AA4

DD0DD1DD2DD3DD4DD5DD6DD7

AA0...AA2

RAM2

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 00h

07h

08h

0Fh

AA0AA1AA2 HEX CI

EPROM

RAM1

AA4

00

00

00

11 0 0 0

11110h

17hRAM2

Exercícios

• Projetar um banco de memórias RAM de 1024x8 a partir de memórias 1024x4

• Projetar um banco de memórias de 2048x8 a partir de memórias 1024x8. Elabore o mapa de memória.

• Projetar um banco de memórias de 2048x8 a partir de memórias 1024x4. Elabore o mapa de memória.

Exercícios

• Projetar um banco de memórias com 1024x8 de EPROM e 1024x8 de RAM a partir de EPROMsde 512x8 e de RAMs de 512x8. A EPROM deve ocupar os endereços mais baixos. Elabore também o mapa de memória.

• Projetar um banco de memórias com 1024x8 de EPROM e 512x8 de RAM a partir de EPROMsde 512x8 e de RAMs de 512x8. A EPROM deve ocupar os endereços mais baixos. Elabore também o mapa de memória.

top related