gs 0905 memo v0paginapessoal.utfpr.edu.br/sato/material-didatico/... · 2020-03-07 · – uveprom...

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

Upload: others

Post on 05-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Eletrônica Digital

Prof. Gilson Yukio Sato

sato[at]utfpr[dot]edu[dot]br

Memórias Semicondutoras

Prof. Gilson Yukio Sato

sato[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

Elaborado por Gilson Yukio Sato

Importância das Memórias

• O microprocessador precisa armazenar instruções e dados

Elaborado por Gilson Yukio Sato

µP Memória Principal (semicondutora)

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

Tipos de Memórias Semicondutoras

• ROM

– Mask

– PROM

– EPROM– EPROM

– EEPROM/E2PROM

– Flash

• RAM

– Dinâmica (DRAM)

– Estática (SRAM)

Elaborado por Gilson Yukio Sato

ROM

• ROM (Read Only Memory)

– Memória somente para leitura

– Dados não voláteis– 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

Elaborado por Gilson Yukio Sato

ROM Mask

• ROM programada por máscara

– Programada pelo fabricante

– Não pode ser apagada ou reprogramada– Não pode ser apagada ou reprogramada

– Custo baixo para grandes quantidades

• Máscara

– Especificada pelo cliente

Elaborado por Gilson Yukio Sato

Elaborado por Gilson Yukio Sato(Tocci, 2007)

PROM

• Programmable ROM

– OTPROM (One Time Programmable ROM)

– Pode ser programada pelo usuário – 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

Elaborado por Gilson Yukio Sato

PROM

Elaborado por Gilson Yukio Sato(Tocci, 2007)

EPROM

• Erasable Programmable ROM

– UVEPROM (Ultra-Violet EPROM)

– Pode ser programada, apagada e reprogramada – 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

Elaborado por Gilson Yukio Sato

EPROM

Elaborado por Gilson Yukio Sato

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

EPROM

Elaborado por Gilson Yukio Sato

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

EPROM

Elaborado por Gilson Yukio Sato

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

EPROM

Elaborado por Gilson Yukio Sato(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

Elaborado por Gilson Yukio Sato

EEPROM

Elaborado por Gilson Yukio Sato(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

Elaborado por Gilson Yukio Sato

FLASH

• Flash

– Alta densidade

– Velocidade de leitura alta– Velocidade de leitura alta

– Velocidade de escrita lenta

– Consome potência

– Durabilidade limitada

Elaborado por Gilson Yukio Sato

Flash

Elaborado por Gilson Yukio Sato(Tocci, 2007)

Comparação entre ROMs

Elaborado por Gilson Yukio Sato(Tocci, 2007)

Aplicações ROM

• Sistemas microprocessados– Armazenamento de programa

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

• Memória bootstrap– BIOS de PCs

• Tabelas de dados

• Conversor de dados

Elaborado por Gilson Yukio Sato

RAM

• RAM (Random Access Memory)

– Memória de leitura e escrita

• RWM (Read Write Memory)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

Elaborado por Gilson Yukio Sato

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 muito rápido

– Baixo consumo de potência

– Células de memória ocupam bastante espaço

Elaborado por Gilson Yukio Sato

SRAM

Elaborado por Gilson Yukio Sato(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

– Baixo custo

– Velocidade de escrita e leitura altas

Elaborado por Gilson Yukio Sato

DRAM

Elaborado por Gilson Yukio Sato

Escrita → SW1 e SW2 ON

Leitura → SW2, SW3 e SW4 ON

(Tocci, 2007)

Estrutura Interna Genérica

Célula

Registro n bits

Dn-1 Dn-2 D1 D0

0

1

Uma Célula armazena um bit (FF)

O Registro é um conjunto de n Células

Cada Registro ocupa uma das

Elaborado por Gilson Yukio Sato

Posição de Memória

1

m-1

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

0Se m = 8 então:

8 = 2

A2 A1A00 0 00 1 1 1

Elaborado por Gilson Yukio Sato

0

1

2

3

4

5

6

7

8 = 2k

Tal que:

k = 3

0 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

m x n

A0A1k linhas de

Elaborado por Gilson Yukio Sato

CS

RD

WR

A1

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óriadados 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)

Elaborado por Gilson Yukio Sato

Exemplo

D3 D2 D1 D0

0

1

2

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1 1

1 1 0 1

0 0 0 1

8 x 4

A0A1A2 D0

Elaborado por Gilson Yukio Sato

2

3

4

5

6

7

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 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

A1A2 D0

D1D2D3

Exemplo - Leitura

D3 D2 D1 D0

0

1

2

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1 1

1 1 0 1

0 0 0 1

8 x 4

A0A1A2 D0

001 1

Elaborado por Gilson Yukio Sato

2

3

4

5

6

7

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 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

A1A2 D0

D1D2D3

1

0

0

1

1110

Exemplo - Escrita

D3 D2 D1 D0

0

1

2

A2 A1A00 0 0

0 0 1

0 1 0

0 1 1 1

1 1 0 1

0 0 0 1

8 x 4

A0A1A2 D0

101 0

Elaborado por Gilson Yukio Sato

2

3

4

5

6

7

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 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

A1A2 D0

D1D2D3

1

0

1

0

0101

1 00 1

Timming – Leitura EPROM

Elaborado por Gilson Yukio Sato(Microchip)

Timming – Escrita EEPROM

Elaborado por Gilson Yukio Sato(Tocci, 2007)

Timming – Leitura SRAM

Elaborado por Gilson Yukio Sato(Holtek)

Timming – Escrita RAM

Elaborado por Gilson Yukio Sato(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)

Elaborado por Gilson Yukio Sato

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” .

Elaborado por Gilson Yukio Sato

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: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

Elaborado por Gilson Yukio Sato

Bancos de Memória

Memo Memo Memo

Memo

Memo

MemoCaso 1

Caso 2

Elaborado por Gilson Yukio Sato

Memo

Memo

Memo

Memo

Memo

Memo

Memo

ROM

RAM

Caso 1

Caso 3

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...D3

Bancon=8 → D0...D7

N° CIs8x8/8x4 → 2

Elaborado por Gilson Yukio Sato

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

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

8x8/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

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

Bancon=8 → D0...D7

AA0AA1

AA2

CS’RD’

WR’

DD0

DD1

DD2

DD3

Elaborado por Gilson Yukio Sato

WR

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

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

N° CIs8x8/8x4 → 2

WR’

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...D7

Bancon=8 → D0...D7

N° CIs16x8/8x8 → 2

Elaborado por Gilson Yukio Sato

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

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

16x8/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

DD0DD1DD2DD3

DD0...DD7

8 x 8A0A1A2

D0D1D2D3

CI1

Elaborado por Gilson Yukio Sato

AA2

CS’

RD’WR’

1

2 1

2

0

3

x/y

EN

AA3

DD3DD4DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

CS

RDWR

A2D3D4D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

CI2

Barramento (Bus)

CS

8 x 8A0A1A2

D0D1D2D3D4D5

DD0DD1DD2DD3DD4DD5DD6

DD0...DD7

CS

8 x 8A0A1A2

D0D1D2D3D4D5

DD0DD1DD2DD3DD4DD5

=

Elaborado por Gilson Yukio Sato

CS

RDWR

D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD5DD6DD7

DD0DD1DD2DD3DD4DD5DD6DD7

CS

RDWR

D5D6D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD5DD6DD7=

Mapa de Memória

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

Elaborado por Gilson Yukio Sato

Mapa de Memória

AA3

0 0 01110

0 0h7h

AA0AA1AA2 HEX CI

1

Elaborado por Gilson Yukio Sato

111

0 0 01111

1

0 7h

8hFh 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...D3

Bancon=8 → D0...D7

N° CIs16x8/8x4 → 4

Elaborado por Gilson Yukio Sato

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

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

16x8/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

D3CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3RD’WR’

DD0...DD7

AA0...AA2

DD0

DD1

DD2

DD3

DD0

DD1

DD2

DD3

AA0AA1AA2

AA1AA2

AA0

CI1 CI3

Elaborado por Gilson Yukio Sato

WR

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

WR

CS

RDWR

8 x 4A0A1A2

D0

D1

D2

D3

CS’

1

2 1

2

0

3

x/y

EN

AA3

WR’

DD4

DD5

DD6

DD7

DD4

DD5

DD6

DD7

AA1AA2

AA0AA1AA2

AA0

CI2

CI4

Mapa de Memória

AA3

0 0 01110

0 0h7h

AA0AA1AA2 HEX CI

1/2

Elaborado por Gilson Yukio Sato

111

0 0 01111

1

0 7h

8hFh 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) Banco→

N° CIs

Elaborado por Gilson Yukio Sato

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

RD’CS

RD

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD0DD1DD2DD3DD4DD5DD6DD7

DD0...DD7EPROM

Elaborado por Gilson Yukio Sato

CS’

WR’

D7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

1

2 1

2

0

3

x/y

EN

DD0DD1DD2DD3DD4DD5DD6DD7

AA3RAM

Mapa de Memória

AA3

0 0 01110

0 0h7h

AA0AA1AA2 HEX CI

EPROM

Elaborado por Gilson Yukio Sato

111

0 0 01111

1

0 7h

8hFh

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) BancoN° CIs

Elaborado por Gilson Yukio Sato

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

RD’CS

RD

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

8 x 8A0A1

D0D1

1

2 1

0x/y

DD0DD1DD2DD3DD4DD5DD6DD7

DD0DD1DD2

AA3

DD0...DD7EPROM

RAM1

AA4

AA0...AA2

Elaborado por Gilson Yukio Sato

CS’

WR’

CS

RDWR

A1A2

D1D2D3D4D5D6D7

1

2

3EN

DD2DD3DD4DD5DD6DD7

CS

RDWR

8 x 8A0A1A2

D0D1D2D3D4D5D6D7

DD0DD1DD2DD3DD4DD5DD6DD7

RAM2

Mapa de Memória

AA3

0 0 01110

0 00h

07h

AA0AA1AA2 HEX CI

EPROM

AA4

00

Elaborado por Gilson Yukio Sato

111

0 0 01111

1

0 07h

08h

0FhRAM1

0

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 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.

Elaborado por Gilson Yukio Sato

Exercícios

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

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

Elaborado por Gilson Yukio Sato