Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESCRIÇÃO As características essenciais para a definição do comportamento das memórias e os principais tipos de memória utilizados em sistemas digitais. PROPÓSITO Reconhecer os principais tipos de memória e suas características, bem como sua importância para compreensão dos sistemas digitais modernos. OBJETIVOS MÓDULO 1 Identificar a interface básica de uma memória e as principais classificações MÓDULO 2 Listar os principais tipos de memória e suas características VÍDEO INTRODUTÓRIO Bem-vindo ao estudo dos dispositivos de memória. MÓDULO 1 Identificar a interface básica de uma memória e as principais classificações CONCEITOS BÁSICOS Para armazenar informação, há dois fatores importantes: o primeiro obviamente é a informação a ser guardada; o segundo, tão importante quanto o primeiro, é o local onde a informação está armazenada. Não adianta guardar um objeto e depois não saber onde ele está! Com o agravante de que em sistemas digitais não temos como “procurar”. O “LOCAL” ONDE UMA INFORMAÇÃO É GRAVADA É CHAMADO DE ENDEREÇO, E EM CADA ENDEREÇO FICA GUARDADO UM AGRUPAMENTO DE BITS (PALAVRA). Existem duas formas usuais de se especificar a quantidade de informação que uma memória pode armazenar: Quantidade de localidades x tamanho da palavra em bits Quantidade total de bits (ou bytes) armazenada EXEMPLO Uma memória 128x16 possui 128 localidades, e em cada localidade são guardados 2 bytes. Assim, a capacidade dessa memória é de 2048 bits ou 256 bytes. Um mapeamento dela pode ser visto na tabela abaixo: Endereço Dado binário hexadecimal decimal 111 111b 7Fh 127 1100 0011 111 1110b 7Eh 126 0000 0000 111 1101b 7Dh 125 1100 0011 ... ... 000 0001b 01h 1 0101 1111 000 0000b 00h 0 0111 1101 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela 1 - Mapeamento de uma memória 128x16 A organização em ordem crescente ou decrescente de endereços é uma escolha do usuário. Logicamente, os dados mostrados são apenas um exemplo. Devido a forma de construção dos endereços, a quantidade de localidades de uma memória é sempre uma potência de 2. ATENÇÃO Cada endereço é designado por um número binário. Como as memórias, em geral, possuem uma grande quantidade de localidades, é usual escrever os endereços utilizando números hexadecimais. Assim, reduzimos a quantidade de dígitos a ser escritos em relação à notação, utilizando números binários e, caso necessário, podemos realizar a conversão direta entre decimal e binário, na qual cada bit hexadecimal corresponde a 4 bits binários. Dígito hexadecimal Sequência binária 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Conversão direta entre hexadecimal e binário DEVIDO A MEMÓRIA SEMPRE UTILIZAR POTÊNCIAS DE 2, OS MULTIPLICADORES KILO, MEGA, GIGA, TERA ETC. SÃO EM FUNÇÃO DA BASE 2 E NÃO DA BINÁRIA. Assim, 1 kB de endereços não são 1000 endereços, e sim 210 = 1024 endereços. A seguir, veja os multiplicadores mais usuais: Multiplicador Quantidade correspondente Kilo (kB) 210 Mega (M) 220 Giga (G) 230 Tera (T) 240 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela 2 - Multiplicadores no contexto de sistemas binário Note que, com a evolução da tecnologia, surgem novos dispositivos com capacidade de armazenamento cada vez maior, popularizando o uso de multiplicadores maiores. Atualmente, é comum falarmos de discos rígidos externos da ordem de alguns terabytes e já se pesquisa tecnologias para desenvolver hds da ordem de petabytes (250). UM PARÂMETRO TÃO IMPORTANTE QUANTO À CAPACIDADE DE ARMAZENAMENTO DE UMA MEMÓRIA É O TEMPO DE ACESSO. O tempo de acesso de leitura é o tempo que a memória precisa para, após receber um endereço, disponibilizar a saída. Se a memória permitir a escrita, então ela também possui um tempo de acesso de escrita; o tempo necessário para que, dado um endereço e uma entrada de dados, a memória possa gravar esse dado e ficar novamente disponível para uma nova escrita ou leitura. SAIBA MAIS Muitas vezes, esse parâmetro é chamado de velocidade de acesso ou taxa de transferência de dados, e indicado pela quantidade de leituras/escritas que a memória pode executar em 1 segundo. Outros fatores, menos lembrados, mas também importantes, são: DENSIDADE Quantidade de informação (bits) que podemos armazenar por unidade de área. CONSUMO ENERGÉTICO A energia que a memória consome em sua operação; lembrando que circuitos elétricos dissipam energia majoritariamente, como o calor, o qual necessita ser dissipado. Por último, destacamos um fator muito importante: o custo. Em engenharia, não adianta termos a melhor solução técnica se esta é economicamente inviável. Dessa forma, o custo sempre será um fator a ser levado em consideração VOCÊ SABIA Se tratando de memória, geralmente referenciamos o custo com a capacidade, assim temos o custo por kilobyte, megabyte etc. DICA Pesquise sobre o preço dos pentes de memórias RAM do computador para ter uma ideia de como consideramos tais características. Repare que o valor está diretamente relacionado à sua capacidade (2 GB, 4 GB, 8 GB) e à sua frequência (que determina a taxa de acesso). Perceba também que o tipo de memória (DDR3, DDR4 etc.) e a capacidade total máxima que pode ser utilizada dependem também da compatibilidade com a placa-mãe e o sistema operacional, respectivamente. REVISANDO, AS CARACTERÍSTICAS GERAIS DE UMA MEMÓRIA SÃO: Capacidade Tempo de acesso ou velocidade Densidade Consumo Custo CALCULANDO A CAPACIDADE DE UMA MEMÓRIA Veja um exemplo prático no vídeo a seguir: CLASSIFICAÇÃO Além dos aspectos gerais, as memórias possuem algumas características específicas de acordo com sua classificação. As principais são: Estrutura de acesso Volatilidade Suporte à escrita Armazenamento ESTRUTURA DE ACESSO Quanto à estrutura de acesso, as memórias podem ser sequenciais ou aleatórias. Em memórias de acesso sequencial, quando se quer acessar um endereço, é necessário passar pelas localidades intermediárias entre o endereço atual e o endereço pretendido. Neste tipo de memória, o tempo de acesso é variável, pois depende da distância entre o endereço atual e o endereço que se deseja acessar. Em memórias de acesso aleatório, qualquer endereço pode ser acessado diretamente. Nas memórias aleatórias, o tempo de acesso é constante e, em geral, pequeno. Esse tipo de memória é tão importante que elas são batizadas com um nome específico — RAM, do inglês Random-Access Memory. Se você gosta de computadores, certamente já leu a respeito desse tipo de memória, afinal a quantidade de RAM é um requisito mínimo comum para muitos programas e jogos de computador, além de ser uma informação importante a respeito das placas de vídeo. VOLATILIDADE A volatilidade se refere à capacidade da memória reter as informações que foram gravadas ao ser desligada (cortada a alimentação). As memórias voláteis perdem as informações armazenadas quando desligadas. Isso ocorre, pois, o elemento responsável por armazenar as informações nesse tipo de memória são, em geral, componentes eletroeletrônicos, como flip-flops ou capacitores. Um exemplo de memória volátil são as memórias RAM. Memórias não voláteis mantém as informações gravadas mesmo quando a energia é desligada. SUPORTE À ESCRITA Existem memórias que permitem a leitura e a escrita, como as RAM (afinal, qual seria a utilidade de uma memória volátil que não permitisse a escrita). Há também memórias que não podem ser escritas, apenas lidas. Nessas memórias, a informação é fixa. Elas vêm gravadas de fábrica ou podem ser gravadas uma única vez e, após isso, permitem apenas leituras. Como por exemplo, o DVD-R. ARMAZENAMENTO Em relação ao tipo de armazenamento, as memórias podem ser estáticas ou dinâmicas. Nas memórias estáticas, uma vez inseridaa informação, ela pode permanecer indefinidamente naquela localidade (enquanto a memória estiver energizada), nesse tipo de memória, as células são circuitos naturalmente biestáveis, como flip-flops. Já nas memórias dinâmicas, as células são pequenos capacitores que, devido a correntes de fuga, perdem sua carga, sendo necessário realizar uma operação de repotencialização (refresh) periodicamente para que a informação armazenada não seja perdida. Durante o período em que o refresh está ocorrendo, a memória fica inacessível para a leitura e escrita, fazendo com que memórias dinâmicas sejam mais lentas em relação as estáticas. Por outro lado, como um capacitor é um circuito muito mais simples que um flip-flop, as memórias dinâmicas possuem uma densidade de integração muito maior e menor consumo energético e, consequentemente, baixa geração de calor. INTERFACE BÁSICA Como você pode imaginar, a interface básica de uma memória consiste em três barramentos: o de endereço, o de dados e o de controle, conforme indicado na figura abaixo: Fonte: EnsineMe Figura 1 - Interface genérica de uma memória O barramento de endereço (address bus) passa a localidade a ser acessada. Os sinais presentes no barramento de controle (control bus) dependem do tipo de memória sendo utilizada, o que será abordado no próximo módulo. Por último, o barramento de dados (data bus) é bidirecional, no caso de memórias que permitem leitura/escrita, o que foi indicado na Figura 1 com o barramento com setas em ambas as extremidades. EXEMPLO A figura abaixo apresenta o esquemático de uma memória de 16 bits conectada ao barramento de endereços de um computador. Determine a faixa de endereços usada pela memória: Fonte: EnsineMe Memória com 1024 localidades e entrada de habilitação SOLUÇÃO A memória só ficará habilitada se o sinal de chip select estiver ativado, ou seja . Logo, para memória estar operante, precisamos da combinação A12 = 1, A11 = 0 e A10 = 0. Os demais bits de endereço são inseridos normalmente na memória. O endereço inicial de operação da memória é 1000 0000 0000b, que corresponde à sequência necessária para ativar o seguida pelo menor valor que os outros bits de endereço podem assumir. O endereço final é montado com a sequência necessária para ativar o chip select seguido pelo maior valor que pode ser formado com os sinais inseridos na entrada de endereços da memória. Logo, o endereço final de operação dessa memória é 1001 1111 1111b. Então, a faixa de endereços usada por essa memória é de 1000 0000 0000b a 1001 1111 1111b, ou, em hexadecimal, 800h a 9FFh. ASSOCIAÇÃO DE MEMÓRIAS Vamos analisar como associar memórias para gerar o efeito de uma memória de maior capacidade. Essa técnica é bastante utilizada; por exemplo, um pente de memória RAM de computador possui diversos circuitos integrados de memória e, geralmente, na placa-mãe podemos colocar vários pentes de memória RAM para aumentar a capacidade do sistema. Fonte: Shutterstock.com Figura 2 - Diversos pentes de memória RAM em uma placa-mãe Para os exemplos, a seguir, consideraremos uma memória com suporte à escrita de 256x8 com dois sinais de controle: O habilita o circuito integrado da memória. Se esse sinal estiver em nível baixo, a memória processa os comandos de leitura/escrita normalmente, caso contrário, ela ignora qualquer comando e deixa as saídas de dados em alta impedância. O habilita a escrita se estiver em nível baixo, caso contrário é realizada uma leitura. IMPEDÂNCIA Impedância elétrica ou simplesmente impedância (quando, em domínio de circuitos ou sistemas elétricos, não houver possibilidade de confusão com outras possíveis acepções de impedância), é a oposição que um circuito elétrico faz à passagem de corrente elétrica quando é submetido a uma tensão. Fonte: Wikipédia ATENÇÃO ¯̄¯̄¯CS ¯̄¯̄¯̄¯WE javascript:void(0) Os comandos citados fazem parte de um exemplo fictício bastante simplificado. Diferentes memórias têm diferentes sinais de comandos. Ao projetar um circuito real, o engenheiro deve analisar cuidadosamente as folhas de dados e as instruções dos fabricantes dos componentes que for utilizar. EXEMPLOS EXEMPLO 1 A partir de duas memórias 256x8, conforme descritas acima, projete uma memória de 256x16 com os mesmos sinais de controle. SOLUÇÃO Inicialmente, é necessário definir a quantidade de endereços. Para que tenhamos 256 localidades, precisamos de 8 bits para endereçamento, pois 256 = 28. A fim de aumentar a quantidade de bits em cada localidade, basta conectarmos as entradas de endereços e de controle das memórias entre si. Dessa forma, elas sempre executarão os mesmos comandos, seja de leitura ou de escrita, simultaneamente e em relação a localidades de mesmo endereço. Por fim, basta definir qual memória armazenará os oito dígitos menos significativos dos dados (D7 D6 ... D0) e a outra, naturalmente, armazenará os oito mais significativos (D15 D14 ... D8). Fonte: EnsineMe Figura 3 - Memória 256x16 EXEMPLO 2 A partir de duas memórias 256x8, conforme descritas acima, projete uma memória de 512x8 com os mesmos sinais de controle. SOLUÇÃO Fonte: EnsineMe Figura 4 - Memória 512x8 Note que, para a memória na parte de cima, é necessário que e A8 = 1 , mas para a memória na parte de baixo estar ativa, precisamos que e A8 = 0 . Ou seja, o bit de endereço A8 seleciona qual memória estará ativa. Além disso, as linhas de dados das duas memórias são conectadas entre si, mas não se corre o risco de haver curtos, pois as lógicas utilizadas para acionar o chip select de cada memória garante que apenas uma delas possa estar ativa por vez. EXEMPLO 3 Quantas memórias 256x4 são necessárias para montar uma memória com 1024 localidades e palavra de 1 byte? SOLUÇÃO Para expandir a quantidade de localidades, precisamos associar 4 memórias de maneira similar ao que vimos no exemplo anterior. Assim teremos uma memória 1024x4. Agora, para expandir o tamanho da palavra de 4 bits para 8 bits (1 byte), precisaremos de duas memórias 1024x4, utilizando conexão semelhante à vista em um exemplo anterior. ¯̄¯̄¯CS = 0 ¯̄¯̄¯CS = 0 Então precisamos de 2 memórias 1024x4, e cada uma dessas memórias é constituída por 4 memórias 256x4. Logo, para construir uma memória 1024x8 são necessárias 8 memórias 256x4. VERIFICANDO O APRENDIZADO 1. QUAL A CAPACIDADE DE UMA MEMÓRIA QUE POSSUI 10 LINHAS DE ENDEREÇO E 4 LINHAS DE DADOS? A) 4 kilobits B) 1024 bits C) 1024 bytes D) 2048 nibbles E) 1 kilobyte 2. A MEMÓRIA QUE NÃO PERDE SUA INFORMAÇÃO MESMO QUANDO DESCONECTADA DA ALIMENTAÇÃO, SENDO IDEAL PARA GUARDAR INFORMAÇÕES DE CONFIGURAÇÃO E EVITAR QUE O USUÁRIO TENHA DE REINSERIR ESSAS INFORMAÇÕES TODA VEZ QUE LIGAR O DISPOSITIVO É CHAMADA DE: A) Estática B) Dinâmica C) Não volátil D) Registrável E) Volátil GABARITO 1. Qual a capacidade de uma memória que possui 10 linhas de endereço e 4 linhas de dados? A alternativa "A " está correta. Com 10 bits de endereço temos 210 = 1024 localidades e com 4 bits por localidade temos um total de 4096 bits de capacidade, o que equivale a 4 x 210 = 4 kilobits. 2. A memória que não perde sua informação mesmo quando desconectada da alimentação, sendo ideal para guardar informações de configuração e evitar que o usuário tenha de reinserir essas informações toda vez que ligar o dispositivo é chamada de: A alternativa "C " está correta. Memórias não voláteis são as capazes de manter as informações gravadas mesmo na ausência de energia. Já as memórias voláteis perdem suas informações quando são desconectadas da alimentação. MÓDULO 2 Listar os principais tipos de memória e suas características MEMÓRIA ROM O termo ROM é originado do inglês read-only memory, e significa memória somente de leitura. A informação que será gravada na ROM é determinada no momento da fabricação, os dados fazem parte da arquitetura do circuito integrado da memória. Dessa forma, a ROM é uma memória não volátil,retendo sua informação mesmo quando a alimentação é desligada. APESAR DE CHAMADAS DE MEMÓRIA, AS MEMÓRIAS ROM SÃO UM CIRCUITO COMBINACIONAL, POIS, DADO UMA ENTRADA (ENDEREÇO), A SAÍDA (DADO) ESTÁ DEFINIDA Por ser um circuito muito simples, a memória ROM não possui muitos sinais de controle, em geral ela possui apenas uma entrada habilitadora (OE, output enable) que, se ativada, habilita a saída e, caso contrário, deixa a saída em alta impedância. A representação genérica de uma ROM é mostrada na figura abaixo: Fonte: EnsineMe Figura 5 - Representação da Memória ROM Para explicar a arquitetura interna de uma ROM, usaremos como exemplo uma ROM com 2 linhas de endereço e 2 bits por localidade. Ela implementará a seguinte tabela: Endereço Dados A1 A0 D1 D0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela 3 - Exemplo da tabela de uma ROM 4x2 A implementação desta ROM pode ser feita da seguinte forma: Fonte: EnsineMe Figura 6 - Implementação da ROM descrita na Tabela 3 O decodificador, nesta arquitetura, também chamado de decodificador de endereços, faz com que uma linha fique em nível lógico alto (1), de acordo com o endereço selecionado. A linha ativa faz com que as portas OU a ela conectadas tenham saída 1, se a porta OU não estiver conectada a essa linha então ela apresentará saída 0 Por último, os buffers de três estados são responsáveis por habilitar ou não a saída. Como essa memória requer um projeto de circuito integrado de acordo com os dados a serem gravados, seu uso é restrito a aplicações específicas, no qual a memória deverá ser produzida em larga escala (grande quantidade) para justificar os custos do projeto e setup da linha de produção. A seguir, estudaremos algumas variações da ROM que tornam essa tecnologia acessível ao usuário comum, são elas a PROM, EPROM, EEPROM, SPROM. PROM PROM é uma memória programável somente leitura. javascript:void(0) javascript:void(0) javascript:void(0) javascript:void(0) EPROM EPROM é uma memória programável apagável somente de leitura. EEPROM EEPROM é uma memória não volátil utilizada para armazenar pequenas quantidades de dados que necessitam ser salvos quando a energia é removida. SPROM SPROM é uma memória em série programável somente de leitura. MEMÓRIA PROM A PROM é, resumidamente, uma ROM que pode ser programada, uma única vez, pelo usuário. Note que isso não torna a PROM uma memória com suporte à escrita e à leitura, dado que a gravação dela faz parte do setup e não do funcionamento normal da memória. SAIBA MAIS A PROM, bem como as demais variações da ROM, são memórias sem suporte à escrita, ou seja, apenas de leitura. A programação da PROM é realizada em alta tensão, geralmente em torno de 20 Volts, na entrada de dados de acordo com o endereço em que se quer gravar. A sobretensão queima pequenos fusíveis semicondutores, fazendo com que aquele bit seja zero no endereço determinado. Ou seja, queimamos os fusíveis onde queremos que a memória armazene o valor 0. Note que a lógica para gravar, em que se aplica a alta tensão, é a inversa da leitura: se quisermos 1 não aplicamos nenhum sinal de gravação, se quisermos 1 aplicamos a sobretensão. E que, antes da gravação, todos os dados guardados na memória PROM são 1. O procedimento exato para gravação (nível de tensão, tempo em que a sobretensão deve ser mantida etc.) é fornecido pelo fabricante da memória. DICA São vendidos kits dedicados para realizar a gravação de memórias PROM e demais variações de ROM, facilitando o procedimento para o usuário. Atualmente, há fornecedores que oferecem o serviço de pré-gravação: o comprador envia o arquivo de dados que deseja registrado junto ao pedido de compra e já recebe o circuito integrado da memória gravado. A seguir, vemos a arquitetura de uma PROM “virgem” — que ainda não foi gravada — e de uma após o procedimento de gravação: Fonte: EnsineMe Figura 7- Memória PROM 4X3 virgem Fonte: EnsineMe Figura 8 - Memória PROM 4X3 após a gravação Nessa arquitetura, os diodos garantem que as diferentes linhas do decodificador (Y3, Y2, Y1, Y0) não entrarão em curto, uma vez que apenas 1 diodo pode conduzir por vez em cada linha de dados (D2, D1, D0). javascript:void(0) Os resistores conectados ao aterramento garantem que se não houver diodos conduzindo a linha de dados ficará em nível lógico baixo (0). DIODO Componente eletrônico semicondutor composto de um cristal de Silício ou Germânio, cujas faces são dopadas por materiais distintos durante sua fabricação. SAIBA MAIS Tal configuração de resistores é conhecida como pull-down. EXEMPLO Qual é a tabela-verdade da memória PROM representada na Figura 8: SOLUÇÃO Na resolução consideraremos OE=1, caso contrário todos os bits de saída estão em alta impedância. Se A1 A0=00, então a linha Y0 está ativa, e nesse caso D2=1 (fusível intacto), D1 e D0 estarão em nível baixo, dado que os seus fusíveis estão rompidos. Repetindo esse raciocínio para cada combinação possível de A1 A0 podemos montar a tabela: Endereço Dados A1 A0 D2 D1 D0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela-verdade da memória PROM O FUNCIONAMENTO DA MEMÓRIA PROM Entenda mais sobre memória PROM no vídeo a seguir: MEMÓRIA EPROM A memória EPROM (Erasable Programmable Read Only Memory) surgiu como uma evolução tecnológica da PROM. A EPROM, ALÉM DE PERMITIR A GRAVAÇÃO, PERMITE TAMBÉM QUE OS DADOS SEJAM APAGADOS, RETORNANDO A MEMÓRIA AO ESTADO INICIAL A exposição a raios ultravioleta faz com que os fusíveis semicondutores da memória voltem a conduzir. Para permitir a incidência dos raios ultravioleta no circuito, o encapsulamento da EPROM possui uma janela transparente a essa radiação. Fonte: Shutterstock.com Há três detalhes importantes sobre o processo de apagamento da memória EPROM: Ao ser exposta aos raios ultravioleta, a memória é apagada como um todo, não é possível realizar o apagamento seletivo de endereços de memória. Devido a luz solar conter radiação ultravioleta, a janela da EPROM deve ser tampada, geralmente com um adesivo, para evitar o apagamento acidental dos dados. O processo de apagar os dados não é rápido, levando tipicamente de 15 a 50 minutos. As EPROMs eram bastante utilizadas em circuitos digitais que precisavam de um setup inicial e na memória de microcontroladores. EXEMPLO Armazenar a BIOS (Basic Input Output Interface) do computador e a programação das antigas TVs de tubo de raios catódicos. Com os avanços tecnológicos no campo das memórias, as EPROMs foram substituídas na maioria das aplicações pelas memórias EEPROM e FLASH, que veremos adiante. A EEPROM ainda é utilizada quando é necessária uma pequena quantidade de memória. Como exemplo de dispositivos que ainda possuem EEPROM, podemos citar microcontroladores utilizados pelos sistemas Arduino. ARDUINO Arduino são plataformas de hardware livre baseadas em microcontroladores, com uma linguagem de programação padrão C/C++, projetada para ser acessível mesmo para pessoas sem conhecimento de eletrônica. MEMÓRIA EEPROM javascript:void(0) EEPROM (Electrically Erasable Programmable Read Only Memory), é uma memória também chamada E2PROM. Ela é uma evolução tecnológica da EPROM e as principais características que a diferenciam são: A memória é apagada através de um sinal elétrico. Pode-se escolher qual endereço deve ser apagado, não sendo necessário resetar a memória para seu estado inicial. TAIS CARACTERÍSTICAS PERMITEM O PROJETO DE SISTEMAS CAPAZES DE REPROGRAMAR TRECHOS DA MEMÓRIA EEPROM DURANTE SEU FUNCIONAMENTO. Na figura, abaixo, vemos a representação de uma memória EEPROM, com os sinais de controle usuais: Fonte: EnsineMe Figura 10 - Representação da memória EEPROM As funções dos sinais de controle são: OE (OUTPUT ENABLE) Se desativado, desabilita as saídase as deixa em alta impedância. CE (CHIP ENABLE) Se desativado, além de deixar a saída em alta impedância, coloca a memória em modo de espera (stand-by), reduzindo o seu consumo de energia. Porém, ao se ativar o chip enable para usar a memória, é necessário esperar o tempo de inicialização do circuito. (WRITE ENABLE)¯̄¯̄¯̄¯WE Utilizado para realizar a escrita de uma nova informação em determinado endereço de memória. Para realizar essa operação, o endereço desejado e a palavra que se deseja gravar devem ser inseridos em seus respectivos barramentos, enquanto os sinais de controle CE e ( ) devem estar ativados e o OE desativado. Esses sinais devem ser mantidos estáveis por determinado tempo mínimo, especificado pelo fabricante na folha de dados do dispositivo. Assim como a ROM, a PROM e a EPROM, a EEPROM também possui acesso aleatório, sendo não volátil. ATENÇÃO Apesar de suportar a leitura e a escrita, ela é classificada como de apenas leitura. “EM NÍVEL DE CLASSIFICAÇÃO, A MEMÓRIA E2PROM PODE CAUSAR POLÊMICA EM UM ITEM, POIS APESAR DE PERMITIR A ESCRITA E A LEITURA DE DADOS, FAZ PARTE DA FAMÍLIA DAS MEMÓRIAS APENAS DE LEITURA (ROM). O NOME EEPROM, NO ENTANTO, DEVE TER SIDO ATRIBUÍDO POR QUESTÕES HISTÓRICAS DO DESENVOLVIMENTO TECNOLÓGICO NA ÁREA, O MESMO OCORRENDO COM OUTRAS MEMÓRIAS.” (CAPUANO, 2014) MEMÓRIA SPROM ¯̄¯̄¯̄¯WE A SPROM (Serial Programmable Read Only Memory) é uma memória PROM associada a um contador, de forma que não há barramento de endereços, sendo o endereçamento realizado pelo contador. A figura a seguir apresenta o diagrama de uma SPROM. Fonte: EnsineMe Figura 11 - Diagrama de uma SPROM 256X1 virgem O sinal de saída CEO é ativado quando o contador atingir o seu valor máximo de contagem e o sinal CE está ativado. Nessa situação, a saída e a contagem são automaticamente desabilitadas (a saída é colocada em alta impedância). Esse sinal é utilizado no cascateamento de memórias SPROM, visando aumentar a quantidade de localidades disponíveis. ATENÇÃO Nesse tipo de conexão, os sinais de CLK, CLR, OE e as saídas de dados das memórias são conectados entre si, e a saída CEO da primeira memória é conectada à entrada CE da segunda. Dessa forma, quando a primeira memória atinge o valor máximo da contagem, automaticamente a sua saída e contagem são desabilitadas, e a segunda memória é habilitada (saída e contagem). A SPROM é utilizada em sistemas que utilizarão todos os dados armazenados de uma vez, sequencialmente, como na configuração de FPGAs. MEMÓRIA FLASH As memórias FLASH utilizam estrutura interna diferente das memórias da família ROM, sendo outro tipo de tecnologia. Porém, em funcionalidade, elas se assemelham à EEPROM, permitindo a operação de apagamento eletricamente. Entretanto, diferentemente da EEPROM, em que cada palavra deve ser apagada por vez, a memória FLASH permite que blocos de dados (também chamados de páginas) sejam apagados por vez. Como a operação de apagar uma informação é demorada, a memória FLASH consegue obter maiores velocidades de operação, ao mesmo tempo que não exige uma reprogramação completa após o apagamento, como a EPROM. ATENÇÃO Em termos de classificação, a memória FLASH é não volátil, apresenta suporte à leitura e à escrita, além de acesso aleatório. Além de mais rápida, o custo por bit da memória FLASH é muito menor do que a memória EEPROM, permitindo que a FLASH a substituísse na maioria das aplicações e viabilizando uma série de outras, como o HD em estado sólido (SSD) e o pen-drive. A principal desvantagem das memórias FLASH é que elas permitem uma quantidade limitada de ciclos de escrita, fazendo com que as células de memória fiquem inutilizadas depois de certo tempo. COMENTÁRIO Com o avanço da tecnologia, a quantidade de ciclos permitida está cada vez maior, minimizando esse problema. Atualmente, memória FLASH é amplamente utilizada, sendo a memória em estado-sólido não volátil dominante no mercado. EXEMPLO Pen-drives, BIOS do computador, memória de programa de microcontroladores, cartões de memória de celulares e câmeras, HDs de estado sólido, são apenas algumas de suas muitas aplicações. MEMÓRIA RAM Até o momento vimos memórias não voláteis, e como essas memórias guardam a informação mesmo na ausência de energia elétrica, não faz sentido as classificarmos como estáticas ou dinâmicas, haja vista que obviamente seriam estáticas. Agora discutiremos memórias voláteis, que perdem todas as informações ao serem desconectadas da alimentação. Ainda em relação as memórias não voláteis, as memórias RAM apresentam velocidades de acesso muito maiores, sendo geralmente utilizadas para armazenar os dados temporários durante a execução de programas e como memória intermediária entre as unidades de armazenamento secundário (não voláteis) e o processador. ATENÇÃO Apesar da sigla RAM indicar apenas que são memórias de acesso aleatório (também chamado de randômico), essas memórias também possuem suporte à escrita e à leitura, além de serem voláteis. Estudaremos os dois principais tipos de memória RAM: as Dinâmicas (DRAM) e as estáticas (SRAM), sem entrar em detalhes dos diversos subtipos existentes em cada uma dessas classificações. SRAM As SRAM (Static RAM) ou RAM Estática, são memórias de altíssima velocidade, cujo elemento básico são circuitos biestáveis (latches ou flip-flops). Na figura abaixo vemos a representação genérica de uma SRAM: Fonte: EnsineMe Figura 12 - Representação da memória SRAM Os sinais de controle utilizados na SRAM são similares aos utilizados nas memórias já estudadas neste tema: CS (CHIP SELECT) Se estiver desabilitado coloca as saídas em alta impedância e impede que sejam realizadas escritas. OE (OUTPUT ENABLE) Quando desabilitada, coloca as linhas de dados em alta impedância. R/ (READ/WRITE) Essa entrada controla se a memória deve realizar uma operação de escrita ou leitura. Para realizar escritas fazemos , e para fazer leituras utilizamos . Utilizando esses sinais, podemos montar a tabela de operação básica de uma SRAM: Sinal de controle Operação CS OE 0 X X Hold, saídas em alta impedância e não é realizado apagamento ou escrita ¯̄¯̄W R/¯̄¯̄W = 0 R/¯̄¯̄W = 1 R/¯̄¯̄W 1 0 1 Hold, saídas em alta impedância e não é realizado apagamento ou escrita 1 0 0 Escrita (Write), os dados inseridos no barramento de dados são escritos na localidade apontada pelo barramento de endereços 1 1 1 Leitura (Read), os dados armazenados na localidade apontados pelo barramento de endereços são disponibilizados no barramento de dados 1 1 0 Proibido Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela 4 - Tabela de operação genérica de uma SRAM ATENÇÃO Note que a Tabela 4, é um guia genérico. Ao utilizar uma memória SRAM no seu projeto, você deve ler e seguir as informações fornecidas pelo fabricante. Diferentes circuitos integrados de SRAM podem apresentar sinais de controle diversos ou serem ativados em diferentes níveis lógicos. A arquitetura interna de uma SRAM é dada por: Fonte: EnsineMe Figura 13 - Diagrama de uma SRAM 4x2 COMENTÁRIO O circuito acima pode parecer complicado à primeira vista, mas você verá que seu funcionamento é relativamente simples. Primeiro temos o decodificador de endereços que exerce função idêntica à observada nos circuitos das memórias ROM. Ele garante que apenas uma linha de endereço (Y3, Y2, Y1, Y0) esteja ativa por vez. Um par de buffers de três estados conectados na saída dos latches D são ativados de acordo com a linha de endereço ativa. Eles garantem que a saída de latches de diferentes endereços não entrem em curto. A seguir, observamos os buffers próximos às saídas da memória. O sinal de habilitação neles é CS . OE, ou seja, para a saída estar ativada é necessário que CS e OE estejam ativados. Por último, olhamos a entrada de habilitação dos latches. Relembrando a tabela de operação do latch D: En Qn+1 Ação 0 Qnhold 1 D load Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal Tabela 5 - Tabela característica latch D Pela tabela característica do latch D, fica claro que para uma escrita ser realizada a entrada de enable do latch deve estar ativada. A entrada de Enable dos latches é um AND dos sinais e a linha de endereço relativa à localidade de memória do latch. RESUMINDO Para que uma escrita seja realizada (em = 1), é necessário que, simultaneamente, o sinal de CS e a linha estejam ativos e esteja em nível baixo. DRAM As DRAM (Dynamic RAM) ou RAM Dinâmica, armazenam os bits como carga em minúsculos capacitores construídos na pastilha do circuito impresso com materiais semicondutores. Assim, a célula básica de memória de uma DRAM é composta por um capacitor e um transistor, que controla a carga e descarga do capacitor. Essa forma de armazenar informação torna possível construir memórias com maior capacidade, utilizando a mesma área de chip. RESUMINDO Utilizando a tecnologia das DRAM conseguimos fazer memórias com maior capacidade e menor custo por byte em relação as RAM estática. CS, ̄ ¯̄¯̄¯̄¯̄R/¯̄¯̄W R/¯̄¯̄W Por outro lado, esses pequenos capacitores, devido a correntes de fuga, perdem carga espontaneamente com o tempo, sendo necessário realizar periodicamente operações de repotencialização (mais comumente referidas pelo termo em inglês, refresh), que consiste em reescrever os dados nas mesmas posições, visando reestabelecer a carga dos capacitores que armazenam a informação. DURANTE O INTERVALO DE TEMPO EM QUE A DRAM ESTÁ REALIZANDO O REFRESH, ELA FICA INDISPONÍVEL PARA REALIZAR LEITURAS E ESCRITAS, O QUE LIMITA SUAS TAXAS DE TRANSFERÊNCIA. Adicionalmente, o ciclo de leitura do dado também acaba por afetar a carga dos capacitores contendo a informação. Assim, após a realização de uma leitura, o dado deve ser reinserido. Essa operação é conhecida como pré-carga (precharge) e é feita automaticamente pela memória, porém consome tempo. Tais fatores fazem com que as DRAM sejam mais lentas do que as SRAM. ATENÇÃO O controle e a arquitetura das DRAM são significativamente mais complexos do que os da SRAM, fugindo ao escopo deste tema. A seguir, uma tabela comparando a DRAM e a SRAM: DRAM (dinâmica) SRAM (estática) Vantagens alta densidade de integração baixo consumo de potência baixa geração de calor baixo custo por byte alta velocidade não precisam de refresh Desvantagens baixa velocidade necessidade de refresh baixa densidade de integração alto consumo de energia alta geração de calor alto custo Tempo de acesso 7,5 a 70 nanosegundos No máximo 10 nanosegundos Atenção! Para visualização completa da tabela utilize a rolagem horizontal Tabela 6 – Quadro comparativo entre as memórias DRAM e SRAM VERIFICANDO O APRENDIZADO 1. COMO UM PEN-DRIVE É UTILIZADO PARA TRANSFERIR INFORMAÇÕES ENTRE COMPUTADORES OU GUARDAR DADOS, ELE PODERIA SER CONSTRUÍDO COM DOIS TIPOS DE MEMÓRIA. ASSINALE A ALTERNATIVA QUE APRESENTA TAIS MEMÓRIAS, CONSIDERANDO QUE A SEGUNDA APRESENTA UM CUSTO POR BYTE INFERIOR, SENDO MAIS RÁPIDA, E, POR ISSO, É A OPÇÃO ESCOLHIDA: A) SPROM e EEPROM B) SRAM e DRAM C) EEPROM e FLASH D) DRAM e SRAM E) FLASH E ROM 2. RELACIONE AS COLUNAS E ASSINALE A ALTERNATIVA CORRETA SOBRE OS TIPOS DE MEMÓRIA: A - PROM I - É, NA VERDADE, UM CIRCUITO COMBINACIONAL B - RAM II - É VOLÁTIL C - ROM III - SE FOR PROGRAMADA INCORRETAMENTE, PERDE- SE O CHIP DE MEMÓRIA ATENÇÃO! PARA VISUALIZAÇÃOCOMPLETA DA TABELA UTILIZE A ROLAGEM HORIZONTAL A) A-II; B-I; C-III B) A-I; B-II; C-III C) A-III; B-I; C-II D) A-III; B-II; C-I E) A-II; B-III; C-I GABARITO 1. Como um pen-drive é utilizado para transferir informações entre computadores ou guardar dados, ele poderia ser construído com dois tipos de memória. Assinale a alternativa que apresenta tais memórias, considerando que a segunda apresenta um custo por byte inferior, sendo mais rápida, e, por isso, é a opção escolhida: A alternativa "C " está correta. Para aplicações como a do pen-drive, precisamos de uma memória não volátil, que possa reter as informações ao ser desconectada da energia e que suporte a escrita. As memórias estudadas que possuem essas características são a EEPROM e a FLASH, com a FLASH apresentando um custo por byte menor e maiores velocidades. 2. Relacione as colunas e assinale a alternativa correta sobre os tipos de memória: A - PROM I - É, na verdade, um circuito combinacional B - RAM II - É volátil C - ROM III - Se for programada incorretamente, perde-se o chip de memória Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal A alternativa "D " está correta. As memórias PROM são memórias que podem ser programadas uma única vez, assim, se o usuário errar na hora da programação, ele precisará descartar o chip e programar um novo. Logo, o item A se relaciona com a afirmativa III. As memórias de acesso aleatório (RAM), armazenam a informação em dispositivos biestáveis (SRAM) ou em pequenos capacitores feitos de material semicondutor (DRAM). Em ambos os casos, a informação é perdida se o circuito for desconectado da alimentação, sendo, portanto, memórias voláteis. Logo, o item B se relaciona com a afirmativa II. Nas memórias ROM, a programação já faz parte do projeto do circuito e não pode ser modificada. Sempre que essa memória receber um sinal de entrada, ele apresentará a mesma saída, sendo um circuito combinacional. Logo, o item C se relaciona com a afirmativa I. CONCLUSÃO CONSIDERAÇÕES FINAIS Neste tema, estudamos as memórias digitais, esse importante componente da eletrônica digital que utilizamos diariamente em diversos dispositivos. No primeiro módulo, aprendemos conceitos fundamentais relacionados às memórias, características, classificação e interface básica. Em seguida, estudamos as principais memórias semicondutoras, vimos as memórias ROM, PROM, EPROM, EEPROM, FLASH, SRAM e DRAM. Conhecer as memórias mais comuns e suas características é muito importante para compreender a estrutura de sistemas microprocessados, pois eles utilizam diversos tipos de memória de acordo com a finalidade. AVALIAÇÃO DO TEMA: REFERÊNCIAS CAPUANO, F. G. Sistemas digitais, circuitos combinacionais e sequenciais. 1 ed. Érica, 2014. IDOETA, I.V.; CAPUANO, F. G. Elementos de Eletrônica Digital. 41.ed. Érica, 2012. MENDONÇA, A.; ZELENOVSKY, R. Eletrônica Digital: Curso Prático e Exercícios. 2 ed. MZ Editora, 2007. EXPLORE+ Para saber mais sobre os assuntos tratados neste tema, leia: Sobre os sinais de controle e a arquitetura interna das memórias DRAM na seção 9.4 do livro Eletrônica Digital – 2° edição, de Alexandre Mendonça e Ricardo Zelenovsky. CONTEUDISTA Felipe Gonçalves Serrenho CURRÍCULO LATTES javascript:void(0);
Compartilhar