gs 0905 memo v0paginapessoal.utfpr.edu.br/sato/material-didatico/... · 2020-03-07 · – uveprom...
TRANSCRIPT
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
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
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
Retirado do site: http://www.clubedohardware.com.br/dicionario/termo/350
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
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
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
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
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