Colégio Técnico de Campinas Atividades – Informação Tecnológica – Memórias Semicondutoras – Uma visão geral aplicada aos µControladores. Prof. Romeu Corradi Júnior Um dos elementos mais importantes nos sistemas que usam microprocessadores e microcontroladores são denominadas de MEMÓRIAS. O que é, para nós, a memória? É o local onde armazenamos nosso conhecimento, ou genericamente, dados. Nos sistemas baseados em microprocessadores e microcontroladores, a memória é o local onde os resultados serão armazenados para uso posterior. As informações em sistemas digitais podem ser armazenadas em memórias a semicondutor bipolares, MOS, ou em memórias que utilizam capacitores como elementos básicos de armazenamento, em lugar dos flip-flops. Normalmente as memórias a semicondutor são usadas como memória principal (interna) de um computador, observar a figura 01 abaixo, onde é exigida uma velocidade de operação bastante alta. - Classificação das memórias Quanto ao: 1. 2. 3. 4. Acesso Volatilidade Escrita/Leitura ou apenas de Leitura (Read/Write) Tipo de Armazenamento 1. Acesso – As memórias armazenam informações em lugares denominados localidade de memória; cada localidade pode ser acessada por um conjunto de bits que damos o nome de endereço (Adress). Tempo de acesso – tempo necessário desde a entrada de um endereço até o momento em que a informação aparece na saída. a) Acesso seqüencial – fita magnética b) Acesso aleatório – memórias RAM (Random Access Memory) 2. Volatilidade – Voláteis: ao ser desconectada da alimentação perde-se a informação armazenada (RAM) possuem FF como elementos construtores. Não Voláteis: aquelas que não perdem as informações mesmo sem alimentação (magnéticas; eletrônicas: ROM; PROM e EPROM). ROM – Read Only Memory PROM – Programable Read Only Memory EPROM – Erasable Programable Read Only Memory Prof. Corradi www.corradi.hpg.com.br 3. Memórias de Escrita/Leitura ou memórias apenas de Leitura Leitura/Escrita (Read/Write) – (RAM) permite escrevermos uma informação a um local desejado e permite também acesso para leitura. Apenas de Leitura – (ROM) a informação é fixa, só podemos efetuar a leitura. 4. Tipos de armazenamento a) Estáticas (SRAM) – uma vez inserido o dado numa localidade, este lá permanecerá. b) Dinâmicas (DRAM) – são aquelas que os dados devem ser “refrescados” de tempos em tempos. MEMÓRIAS RAM Observe o circuito abaixo e descreva o seu funcionamento para Escrita e Leitura da mesma. Qual a capacidade desta memória? Analisar também o circuito abaixo e nomear as entradas e saídas. Capacidade de memória – é o número de bits no qual uma memória é capaz de armazenar. Assim: n = log 2 N onde: n = variáveis de endereço e N = localidades. Assim para N = 4 (4 localidades), teremos - n = log 2 4 = 2 ; ou seja 2 variáveis de endereço. Observe o circuito abaixo. Memórias RAM (N x m) Para armazenarmos uma palavra de informação de um certo número (m) de bits, utilizamos m destas memórias estudadas, conectadas de forma a gerar nos terminais de saída os bits da palavra de informação, ou escrever os bits em uma dada localidade através das m entradas de dados mediante uma única palavra de endereço. Exemplo: N ⇒ indica o número de localidades da memória. m ⇒ indica o número de bits de cada palavra. Assim para uma RAM 8 x 4 teremos 4 RAM de 8 localidades de memória ligadas a um barramento. Observe o esquema abaixo. Obs. A indicação RAM (N x m) é denominada de organização de estrutura da memória. Na prática temos: RAM 32 x 8; 128 x 8; 256 x 4; 512 x 8; 1024 x 1; 4096 x 1; 64K x 1, etc. A capacidade da 10 memória é determinada efetuando o produto (N x m). Obs. O termo K = 2 = 1024; assim 64K corresponde a 65536 localidades de um bit. Também na prática utiliza-se em cada localidade um conjunto de 8 bits denominado byte. Ex. RAM 2K x 8 (2048 localidades com 1 byte ou 8 bits, em cada). Memória ROM (READ – ONLY MEMORIES) Circuito e Configuração básica (não podemos escrever nesta memória pois a mesma já são gravadas de fabrica) Exercícios: 1. Mostrar o esquema para uma memória ROM de 16 localidades com matriz de duplo encadeamento. 2. Desenhar uma ROM para executar a tabela da verdade abaixo. A 0 0 0 0 B 0 0 1 1 C 0 1 0 1 Saída (Y) 0 1 1 0 A 1 1 1 1 B 0 0 1 1 C 0 1 0 1 Saída (Y) 1 0 0 1 Obs: O exemplo teve a finalidade de mostrar a implementação da ROM. No caso não existe vantagem na sua utilização pois os métodos de simplificação quando temos apenas três variáveis, são já conhecidos e levam ao mesmo resultado de maneira mais simples. Porém nos casos de 8 variáveis ou mais a simplificação torna-se difícil e trabalhosa e neste caso fica clara a vantagem de utilizar uma memória ROM. Para um número elevado de variáveis, escrevemos as combinações na forma hexadecimal; exemplo: Para a tabela a baixo apresente os endereços e os dados em hexadecimal. A fig. 01 ilustra a ROM para a tabela. Palavra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D7 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 D6 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 D5 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 D4 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 D3 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 D2 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 D1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 D0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 Palavra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A3 A2 A1 A0 D7 – D0 Fig. 01 Fig. 02 Arquitetura da ROM 3. Construir uma ROM de modo que funcione como um decodificador de código; BCD(8421) para o código GRAY. 4. Apresentar uma ROM 16 x 1 com duas ROM 8 x 1. 5. Consulte a figura 01 acima e a tabela correspondente e determine a saída de dados para cada uma das seguintes situações: a) [A] = 1011; CS = 0 b) [A] = 0111; CS = 1 6. Consulte a figura 02 a) Qual dos registradores será habilitado pelo endereço 1011? b) Qual dos códigos de endereço de entrada seleciona o registrador 4? 7. Uma determinada ROM tem capacidade de 16K x 4, e uma estrutura interna tal como a mostrada na figura 02. a) Quantos registradores há na matriz? b) Quantos bits há em cada registrador? c) Que tamanaho de decodificadores é necessário?