gs 0905 memo v0 - utfpr

59
Eletrônica Digital Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

Upload: others

Post on 24-Jul-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: gs 0905 memo v0 - UTFPR

Eletrônica Digital

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

Page 2: gs 0905 memo v0 - UTFPR

Memórias Semicondutoras

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

Page 3: gs 0905 memo v0 - UTFPR

Memórias Digitais

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

• Ótica– CDs, DVDs, etc

• Semicondutoras – Chips de memória

Page 4: gs 0905 memo v0 - UTFPR

Importância das Memórias

• O microprocessador precisa armazenar instruções e dados

µP Memória Principal (semicondutora)

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

Page 5: gs 0905 memo v0 - UTFPR

Tipos de Memórias Semicondutoras

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

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

Page 6: gs 0905 memo v0 - UTFPR

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

Page 7: gs 0905 memo v0 - UTFPR

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

Page 8: gs 0905 memo v0 - UTFPR

(Tocci, 2007)

Page 9: gs 0905 memo v0 - UTFPR

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

Page 10: gs 0905 memo v0 - UTFPR

PROM

(Tocci, 2007)

Page 11: gs 0905 memo v0 - UTFPR

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

Page 12: gs 0905 memo v0 - UTFPR

EPROM

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

Page 13: gs 0905 memo v0 - UTFPR

EPROM

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

Page 14: gs 0905 memo v0 - UTFPR

EPROM

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

Page 15: gs 0905 memo v0 - UTFPR

EPROM

(Tocci, 2007)

Page 16: gs 0905 memo v0 - UTFPR

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

Page 17: gs 0905 memo v0 - UTFPR

EEPROM

(Tocci, 2007)

Page 18: gs 0905 memo v0 - UTFPR

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

Page 19: gs 0905 memo v0 - UTFPR

Flash

(Tocci, 2007)

Page 20: gs 0905 memo v0 - UTFPR

Comparação entre ROMs

(Tocci, 2007)

Page 21: gs 0905 memo v0 - UTFPR

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

Page 22: gs 0905 memo v0 - UTFPR

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

Page 23: gs 0905 memo v0 - UTFPR

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

Page 24: gs 0905 memo v0 - UTFPR

SRAM

(Tocci, 2007)

Page 25: gs 0905 memo v0 - UTFPR

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

Page 26: gs 0905 memo v0 - UTFPR

DRAM

Escrita → SW1 e SW2 ON

Leitura → SW2, SW3 e SW4 ON

(Tocci, 2007)

Page 27: gs 0905 memo v0 - UTFPR

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

Page 28: gs 0905 memo v0 - UTFPR

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

Page 29: gs 0905 memo v0 - UTFPR

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

Page 30: gs 0905 memo v0 - UTFPR

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)

Page 31: gs 0905 memo v0 - UTFPR

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

Page 32: gs 0905 memo v0 - UTFPR

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

Page 33: gs 0905 memo v0 - UTFPR

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

Page 34: gs 0905 memo v0 - UTFPR

Timming – Leitura EPROM

(Microchip)

Page 35: gs 0905 memo v0 - UTFPR

Timming – Escrita EEPROM

(Tocci, 2007)

Page 36: gs 0905 memo v0 - UTFPR

Timming – Leitura SRAM

(Holtek)

Page 37: gs 0905 memo v0 - UTFPR

Timming – Escrita RAM

(Holtek)

Page 38: gs 0905 memo v0 - UTFPR

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

Page 39: gs 0905 memo v0 - UTFPR

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

Page 40: gs 0905 memo v0 - UTFPR

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

Page 41: gs 0905 memo v0 - UTFPR

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

Page 42: gs 0905 memo v0 - UTFPR

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

Page 43: gs 0905 memo v0 - UTFPR

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

Page 44: gs 0905 memo v0 - UTFPR

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

Page 45: gs 0905 memo v0 - UTFPR

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

Page 46: gs 0905 memo v0 - UTFPR

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=

Page 47: gs 0905 memo v0 - UTFPR

Mapa de Memória

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

Page 48: gs 0905 memo v0 - UTFPR

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

1

2

Page 49: gs 0905 memo v0 - UTFPR

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.

Page 50: gs 0905 memo v0 - UTFPR

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

Page 51: gs 0905 memo v0 - UTFPR

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

1/2

3/4

Page 52: gs 0905 memo v0 - UTFPR

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

Page 53: gs 0905 memo v0 - UTFPR

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

Page 54: gs 0905 memo v0 - UTFPR

Mapa de Memória

AA3

0 0 0111

0 0 01111

1

00 0h

7h

8hFh

AA0AA1AA2 HEX CI

EPROM

RAM

Page 55: gs 0905 memo v0 - UTFPR

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

Page 56: gs 0905 memo v0 - UTFPR

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

Page 57: gs 0905 memo v0 - UTFPR

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

Page 58: gs 0905 memo v0 - UTFPR

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.

Page 59: gs 0905 memo v0 - UTFPR

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.