Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 0 Se m = 8 então: 8 = 2 A2 A1A0 0 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 A0 A1k linhas de Elaborado por Gilson Yukio Sato CS RD WR A1 Ak-1 D0 D1 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 A1A0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 8 x 4 A0 A1 A2 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 A1 A2 D0 D1 D2 D3 Exemplo - Leitura D3 D2 D1 D0 0 1 2 A2 A1A0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 8 x 4 A0 A1 A2 D0 0 0 1 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 A1 A2 D0 D1 D2 D3 1 0 0 1 1 1 1 0 Exemplo - Escrita D3 D2 D1 D0 0 1 2 A2 A1A0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 8 x 4 A0 A1 A2 D0 1 0 1 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 A1 A2 D0 D1 D2 D3 1 0 1 0 0 1 0 1 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 - Exemplo Caso 1: Aumentar o número de bits por registro. Exemplo: A partir de memórias do tipo 8x4 obter um banco 8x8. Memo n=4 → D0...D3 Banco n=8 → D0...D7 N° CIs 8x8/8x4 → 2 Elaborado por Gilson Yukio Sato n=4 → D0...D3 m=8 → k=3 k=3 → A0...A2 n=8 → D0...D7 m=8 → k=3 k=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 RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 Memo n=4 → D0...D3 m=8 → k=3 k=3 → A0...A2 Banco n=8 → D0...D7 AA0 AA1 AA2 CS’ RD’ WR’ DD0 DD1 DD2 DD3 Elaborado por Gilson Yukio Sato WR CS RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 n=8 → D0...D7 m=8 → k=3 k=3 → A0...A2 N° CIs 8x8/8x4 → 2 WR’ DD4 DD5 DD6 DD7 Caso 2 - Exemplo Caso 2 Aumentar o número de posições de memória. Exemplo: A partir de memórias do tipo 8x8 obter um banco 16x8. Memo n=8 → D0...D7 Banco n=8 → D0...D7 N° CIs 16x8/8x8 → 2 Elaborado por Gilson Yukio Sato n=8 → D0...D7 m=8 → k=3 k=3 → A0...A2 n=8 → D0...D7 m=16 → k=4 k=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 Memo n=8 → D0...D7 m=8 → k=3 k=3 → A0...A2 Banco n=8 → D0...D7 m=16 → k=4 k=4 → A0...A3 N° CIs 16x8/8x8 → 2 AA0 AA1 AA2 DD0 DD1 DD2 DD3 DD0...DD7 8 x 8 A0 A1 A2 D0 D1 D2 D3 CI1 Elaborado por Gilson Yukio Sato AA2 CS’ RD’ WR’ 1 2 1 2 0 3 x/y EN AA3 DD3 DD4 DD5 DD6 DD7 DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 CS RD WR A2 D3 D4 D5 D6 D7 CS RD WR 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 CI2 Barramento (Bus) CS 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD0...DD7 CS 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 DD0 DD1 DD2 DD3 DD4 DD5 = Elaborado por Gilson Yukio Sato CS RD WR D5 D6 D7 CS RD WR 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 DD5 DD6 DD7 DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 CS RD WR D5 D6 D7 CS RD WR 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 DD5 DD6 DD7= 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 0 1110 0 0h 7h AA0AA1AA2 HEX CI 1 Elaborado por Gilson Yukio Sato 111 0 0 0 1111 1 0 7h 8h Fh 2 Caso 3 - Exemplo Caso 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. Memo n=4 → D0...D3 Banco n=8 → D0...D7 N° CIs 16x8/8x4 → 4 Elaborado por Gilson Yukio Sato n=4 → D0...D3 m=8 → k=3 k=3 → A0...A2 n=8 → D0...D7 m=16 → k=4 k=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 RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 CS RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 RD’ WR’ DD0...DD7 AA0...AA2 DD0 DD1 DD2 DD3 DD0 DD1 DD2 DD3 AA0 AA1 AA2 AA1 AA2 AA0 CI1 CI3 Elaborado por Gilson Yukio Sato WR CS RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 WR CS RD WR 8 x 4 A0 A1 A2 D0 D1 D2 D3 CS’ 1 2 1 2 0 3 x/y EN AA3 WR’ DD4 DD5 DD6 DD7 DD4 DD5 DD6 DD7 AA1 AA2 AA0 AA1 AA2 AA0 CI2 CI4 Mapa de Memória AA3 0 0 0 1110 0 0h 7h AA0AA1AA2 HEX CI 1/2 Elaborado por Gilson Yukio Sato 111 0 0 0 1111 1 0 7h 8h Fh 3/4 Caso 4 – Exemplo 1 Caso 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...D7 m=8 → k=3 k=3 → A0...A2 Banco n=8 → D0...D7 m=16 → k=4 k=4 → A0...A3 N° CIs 2 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 AA0 AA1 AA2 RD’ CS RD 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 DD0...DD7EPROM Elaborado por Gilson Yukio Sato CS’ WR’ D7 CS RD WR 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 1 2 1 2 0 3 x/y EN DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 AA3 RAM Mapa de Memória AA3 0 0 0 1110 0 0h 7h AA0AA1AA2 HEX CI EPROM Elaborado por Gilson Yukio Sato 111 0 0 0 1111 1 0 7h 8h Fh RAM Caso 4 – Exemplo 2 Caso 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) Banco N° CIs Elaborado por Gilson Yukio Sato Memos (EPROM e RAM) n=8 → D0...D7 m=8 → k=3 k=3 → A0...A2 Banco n=8 → D0...D7 m=24 → k=5 k=5 → A0...A4 N° CIs 1 EPROM 2 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 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 8 x 8 A0 A1 D0 D1 1 2 1 0x/y DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 DD0 DD1 DD2 AA3 DD0...DD7EPROM RAM1 AA4 AA0...AA2 Elaborado por Gilson Yukio Sato CS’ WR’ CS RD WR A1 A2 D1 D2 D3 D4 D5 D6 D7 1 2 3EN DD2 DD3 DD4 DD5 DD6 DD7 CS RD WR 8 x 8 A0 A1 A2 D0 D1 D2 D3 D4 D5 D6 D7 DD0 DD1 DD2 DD3 DD4 DD5 DD6 DD7 RAM2 Mapa de Memória AA3 0 0 0 1110 0 00h 07h AA0AA1AA2 HEX CI EPROM AA4 0 0 Elaborado por Gilson Yukio Sato 111 0 0 0 11111 0 07h 08h 0Fh RAM1 0 0 0 0 0 1 1 0 0 0 111 10h 17h RAM2 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
Compartilhar