Eletrônica Digital II ELT013 Engenharia de Computação Aula 4 DISPOSITIVOS DE MEMÓRIA ELT013 - Eletrônica Digital II Aula 4 - Contadores 2 Dispositivos de memória Maior vantagem dos sistemas digitais sobre os analógicos. Habilidade de armazenar grandes quantidades de informações. Instruções de um programa, dados coletados, etc. Memórias são formadas basicamente por conjuntos de Flip-Flops (FFs). Conforme a tecnologia LSI e VLSI evolui a quantidade e a velocidade dos FFs aumenta. Custo da memória diminui e armazenamento aumenta. Existem ainda outras tecnologias de memórias que armazenam dados em capacitores, magneto resistores, Spin-transfer torque, etc. ELT013 - Eletrônica Digital II Aula 4 - Contadores 3 Memórias em Sistemas Computacionais (1) Memórias semicondutoras são usadas como memória principal de um computador quando a velocidade de operação é importante RAM e ROM formam a memória principal. A memória principal do computador - sua memória de trabalho - está em constante comunicação com a unidade central de processamento (CPU) conforme um programa de instruções é executado. ELT013 - Eletrônica Digital II Aula 4 - Contadores 4 Memórias em Sistemas Computacionais (2) Outra forma de armazenamento é realizada pela memória auxiliar, separada da memória principal. Memória de acesso mais lento Também chamada memória de massa, possui capacidade para armazenar quantidades grandes de dados sem necessidade de estar energizada. Dispositivos comuns de memória auxiliar são o disco magnético e o CD, acessado por meios óticos. ELT013 - Eletrônica Digital II Aula 4 - Contadores 5 Termos Básicos (1) Célula de memória: um dispositivo ou um circuito elétrico usado para armazenar um único bit (0 ou 1). Exemplos: flip-flops, capacitores carregados, ou uma única área em uma fita ou disco magnéticos. Palavra de memória: um grupo de bits (células) na memória que representa instruções ou dados. O tamanho da palavra nos computadores varia tipicamente entre 8 e 64 bits, dependendo no tamanho do computador. Byte: um termo especial usado para um grupo de oito bits. Capacidade: uma forma de especificar quantos bits podem ser armazenados em um dispositivo ou sistema de memória. ELT013 - Eletrônica Digital II Aula 4 - Contadores 6 Considerações sobre Capacidade Qual a capacidade de uma memória que armazena 4096 palavras de 20bits? 4.096 x 20 = 81.920 bits Notações: 4.096 x20 ou 4K x 20 O que representa o K? 1K = 1.024 = 210 Frequentemente palavras de memória são múltiplos de 1.024 1M = 1.048.576 = 220 1G = 1.073.741.824 = 230 ELT013 - Eletrônica Digital II Aula 4 - Contadores 7 Termos Básicos (2) Densidade: outro termo para capacidade. Um dispositivo de memória com maior densidade pode armazenar mais bits em uma mesma área espacial. Endereço: um número que identifica a localização de uma palavra na memória. Os endereços sempre existem em um sistema digital como um número binário, embora números octais, hexadecimais e decimais sejam usados para representar o endereço de forma mais conveniente. Cada uma dessas oito palavras possui um endereço específico representado como um número de três bits — de 000 a 111. Para referenciar uma localização de palavra específica na memória, utiliza-se o código de endereço para identificá-la. ELT013 - Eletrônica Digital II Aula 4 - Contadores 8 Termos Básicos (3) Operação de leitura: a palavra binária armazenada em uma localização de memória específica (endereço) é enviada e transferida a outro dispositivo. Operação de busca, pois uma palavra está sendo obtida da memória. Operação de escrita: operação onde uma palavra é inserida em uma localização de memória em particular. Operação de armazenamento, substitui a palavra que estava previamente armazenada na localização. Tempo de acesso: medida da velocidade do dispositivo de memória Tempo entre o recebimento de uma nova entrada de endereço e a disponibilidade dos dados na saída. ELT013 - Eletrônica Digital II Aula 4 - Contadores 9 Termos Básicos (4) Memória de acesso aleatório (random-access memory - RAM): localização física atual de uma palavra não tem efeito no tempo gasto para ler ou escrever em outra posição. O tempo de acesso é o mesmo para qualquer endereço na memória. A maioria das memórias semicondutoras são RAMs. Memória de acesso sequencial (sequential-access memory - SAM): tipo de memória na qual o tempo de acesso não é constante, variando de acordo com o endereço de localização atual e próxima localização. Uma palavra armazenada é encontrada por sequenciamento através de todas as localizações de memória até que o endereço desejado seja alcançado. ELT013 - Eletrônica Digital II Aula 4 - Contadores 10 Termos Básicos (5) Memória volátil: qualquer memória que precisa da aplicação de energia elétrica para armazenar informação. Se a energia elétrica é retirada, toda informação armazenada na memória será perdida. Memória de leitura e escrita (read/write memory - RWM): qualquer memória que pode tanto ser lida como escrita, com a mesma facilidade. Memória apenas de leitura (read-only memory - ROM): ampla classe de memórias semicondutoras destinadas a aplicações com um alto índice de operações de leitura em relação a operações de escrita. ELT013 - Eletrônica Digital II Aula 4 - Contadores 11 Termos Básicos (6) Dispositivos de memória estática: dispositivos de memória semicondutora nos quais os dados ficam armazenados permanentemente, enquanto houver energia, sem a necessidade de reescrever os dados na memória periodicamente. Dispositivos de memória dinâmica: memória semicondutora na qual os dados armazenados não ficam armazenados permanentemente, mesmo energizados, a menos que os dados sejam periodicamente reescritos na memória (refresh). ELT013 - Eletrônica Digital II Aula 4 - Contadores 12 Termos Básicos (7) Memória principal: A memória de trabalho de um computador. Armazena instruções e dados que estão sendo utilizados pela CPU. Memória de cache: bloco de memória de alta velocidade que opera entre a memória principal e a CPU, para otimizar a velocidade do computador. Fisicamente localizada na CPU, na placa mãe, ou em ambos. Memória auxiliar: chamada de memória de massa por armazenar grandes quantidades de informação externa à memória principal. É mais lenta que a memória principal e sempre não volátil. ELT013 - Eletrônica Digital II Aula 4 - Contadores 13 PRINCÍPIOS DE OPERAÇÃO DA MEMÓRIA ELT013 - Eletrônica Digital II Aula 4 - Contadores 14 Princípios de Operação da Memória (1) Todo sistema de memória precisa de linhas de entrada e de saída para: Aplicar o endereço binário da localização de memória acessada. Ativar dispositivos de memória para responder às entradas de controle. Colocar os dados armazenados no endereço especificado. ELT013 - Eletrônica Digital II Aula 4 - Contadores 15 Princípios de Operação da Memória (2) Todo sistema de memória precisa de linhas de entrada e de saída para: Aplicar o endereço binário da localização de memória acessada (A4...A0). Ativar dispositivos de memória para responder às entradas de controle (ME). Colocar os dados armazenados no endereço especificado (I3...I0). ELT013 - Eletrônica Digital II Aula 4 - Contadores 16 Princípios de Operação da Memória (3) Todo sistema de memória precisa de linhas de entrada e de saída para: Em operações de leitura, habilitar as saídas tristate, que aplicam os dados aos pinos de saída (WE). Em operações de escrita, aplicar os dados a serem armazenados nos pinos de entrada de dados (O3...O0). ELT013 - Eletrônica Digital II Aula 4 - Contadores 17 Princípios de Operação da Memória (4) Todo sistema de memória precisa de linhas de entrada e de saída para: Ativar a operação de escrita, o que faz com que os dados sejam armazenados na localização especificada. Desativar os controles de leitura ou escrita quando terminar de ler ou gravar e desativar o CI de memória. ELT013 - Eletrônica Digital II Aula 4 - Contadores 18 Diagrama de Memória e Arranjo Virtual de Células (1) Armazenar 32 palavras 32 localizações de armazenamento diferentes; e 32 endereços binários diferentes de 00000 a 11111 (0 a 31 em decimais). Há cinco entradas para endereço: A0 a A4 ELT013 - Eletrônica Digital II Aula 4 - Contadores 19 Diagrama de Memória e Arranjo Virtual de Células (2) Para operação de leitura e escrita: Código de cinco bits de endereço é aplicado às entradas de endereço. Em geral, N entradas de endereço são necessárias para uma memória com uma capacidade de palavras 2N. ELT013 - Eletrônica Digital II Aula 4 - Contadores 20 Entrada Write Enable (WE) A entrada WE (leitura-escrita) é ativada para permitir à memória gravar dados. WE indica que a operação de escrita ocorre quando WE = 0. R/W quando leitura ocorre no nível lógico ALTO e escrita no BAIXO. Somente ativo quando há dados válidos entrada de dados (escrita) ou na saída de dados (leitura). ELT013 - Eletrônica Digital II Aula 4 - Contadores 21 Entrada Write Enable (WE) ELT013 - Eletrônica Digital II Aula 4 - Contadores 22 Habilitação de Saída (OE – Output Enable) O pino OE é ativado para ativar o buffer tristate e desativado para colocar os buffers no estado de alta impedância (hi-Z). Um sinal de controle conectado ao OE só é ativado quando o barramento está pronto para receber dados da memória. ELT013 - Eletrônica Digital II Aula 4 - Contadores 23 Habilitação de Memória (ME – Memory Enable) Utilizado quando existem vários módulos de memória combinados para formar uma memória de maior capacidade compartilhando o sistema de barramentos de dados e endereços Pode ser nomeado como CS (chip select) ou CE (chip enable) ELT013 - Eletrônica Digital II Aula 4 - Contadores 24 Exercício Descreva as condições em cada entrada e saída quando o endereço 00100 deve ser lido: Entradas de endereço: 00100 Entradas de dados: xxxx (não usadas) WE: nível ALTO MEMORY ENABLE: nível ALTO Saída de dados: 0000 ELT013 - Eletrônica Digital II Aula 4 - Contadores 25 CONEXÕES CPU-MEMÓRIA ELT013 - Eletrônica Digital II Aula 4 - Contadores 26 Conexões CPU-Memória A memória principal é interfaceada com a CPU através dos barramento de endereço, de dados e de controle. Os três barramentos são necessários para permitir que a CPU escreva e leia dados na memória. ELT013 - Eletrônica Digital II Aula 4 - Contadores 27 Processo de operação de escrita 1. 2. 3. 4. 5. 6. A CPU fornece o endereço binário da localização de memória onde os dados deverão ser armazenados e o coloca nas linhas do barramento de endereço. Um decodificador de endereço ativa a entrada enable do dispositivo de memória (CE ou CS). A CPU coloca os dados a serem armazenados nas linhas do barramento de dados. A CPU ativa as linhas de sinal de controle apropriadas para a operação de gravação de memória (escrita). Os CIs de memória decodificam internamente o endereço binário para determinar a localização selecionada para a operação de armazenamento. Os dados no barramento de dados são transferidos para a localização de memória selecionada. ELT013 - Eletrônica Digital II Aula 4 - Contadores 28 Processo de operação de leitura 1. 2. 3. 4. 5. A CPU fornece o endereço binário da localização de memória da qual os dados serão recuperados e o coloca nas linhas do barramento de endereço. Um decodificador de endereço ativa a entrada enable do dispositivo de memória (CE ou CS). A CPU ativa as linhas de controle apropriadas para a operação de leitura de memória, que geralmente ficam conectadas ao CI de memória. Os CIs de memória decodificam internamente o endereço binário para determinar a localização que está sendo selecionada para leitura. Eles colocam os dados da localização de memória no barramento de dados, do qual eles são transferidos para A CPU. ELT013 - Eletrônica Digital II Aula 4 - Contadores 29 Função dos Barramento do Sistema Barramento de Endereço Unidirecional e carrega as saídas de endereço binário da CPU para os CIs de memória, para selecionar um local de memória. Barramento de dados Bidirecional que carrega dados entre a CPU e os CIs de memória. Barramento de controle Carrega os sinais de controle (RD ou WR) da CPU para os CIs de memória. ELT013 - Eletrônica Digital II Aula 4 - Contadores 30 MEMÓRIA APENAS DE LEITURA ELT013 - Eletrônica Digital II Aula 4 - Contadores 31 Memória Apenas de Leitura ROM – Read Only Memory São memórias semicondutoras destinadas a manter dados que são permanentes ou que não irão mudar com frequência. Certas ROMs não podem ter seus dados alterados após serem programados, são programadas no processo de fabricação Outras podem ser apagadas e reprogramadas (eletricamente) tanto quanto for desejado. O processo de entrada de dados é chamado de programação da ROM, ou “queima” da ROM. Principais usos de ROMs é para armazenar programas em microcomputadores ou outros equipamentos microcontrolados. Como as ROMs são não voláteis, os programas não são perdidos quando a eletricidade é desligada. Programas inicias para celulares, caixas eletrônicos, câmeras, videogames, etc. ELT013 - Eletrônica Digital II Aula 4 - Contadores 32 Diagrama de blocos típico Possui os três conjuntos de sinais padrão: Entradas de endereço, de controle e saída de dados Pelo tamanho dos barramentos, responda: - Qual a quantidade de palavras dessa memória? - Qual o tamanho da palavra armazenada? - Qual o tamanho da memória? ELT013 - Eletrônica Digital II Aula 4 - Contadores 33 Diagrama de blocos típico Possui os três conjuntos de sinais padrão: Entradas de endereço, de controle e saída de dados Pelo tamanho dos barramentos, responda: - Qual a quantidade de palavras dessa memória? - Qual o tamanho da palavra armazenada? - Qual o tamanho da memória? A3...A0 → 24 = 16 palavras D7...D0 → 8 bits 16 x 8 = 16 bytes = 128 bits ELT013 - Eletrônica Digital II Aula 4 - Contadores 34 Diagrama de blocos típico Saída tristate permitem a conexão da memória em barramentos compartilhados Controle CS (ou CE)de seleção do chip habilita ou desabilita as saídas da ROM Não existe a entrada WE para escrita em uma ROM em operação normal OE habilita o buffer a colocar saída no barramento de dados ELT013 - Eletrônica Digital II Aula 4 - Contadores 35 Operação de Leitura 1. 2. Aplicar a entrada de endereço apropriada Ativar as entradas de controle Entradas de Endereço Aplicar A3...A1 = 0111 Ativar entrada de controle CS = nível BAIXO Memória coloca dado na saída D7...D0 = 11101101 Caso CS mantida em nível ALTO as saídas da ROM ficam desabilitadas no estado de alta impedância ELT013 - Eletrônica Digital II Aula 4 - Contadores 36 Arquitetura Interna da ROM (1) A arquitetura interna do CI de uma ROM é complexa, logo é apresentado o modelo simplificado da ROM de 16 x 8. Existem quatro partes básicas: Matriz de Registradores Decodificador de linha Decodificador de coluna Buffers de saída ELT013 - Eletrônica Digital II Aula 4 - Contadores 37 Arquitetura Interna da ROM (2) Matriz de Registradores Armazena os dados programados na ROM, sendo que cada registrador contém várias células de memória em quantidade igual ao tamanho da palavra. Neste caso 8 bits por registrador Decodificador de linha e coluna Apenas o registro da seleção de linha e coluna será ativado. Buffers de saída Transferem os dados para saídas de dados externas. OE em nível BAIXO. ELT013 - Eletrônica Digital II Aula 4 - Contadores 38 Arquitetura Interna da ROM (3) Qual registrador está a palavra buscada pelo endereço 0111? ELT013 - Eletrônica Digital II Aula 4 - Contadores 39 Arquitetura Interna da ROM (3) 1 1 Qual registrador está a palavra buscada pelo endereço 0111? 1 0 ELT013 - Eletrônica Digital II Aula 4 - Contadores 40 Arquitetura Interna da ROM (3) Qual é a palavra que ativa o registrador 13? ELT013 - Eletrônica Digital II Aula 4 - Contadores 41 TEMPORIZAÇÃO DA ROM ELT013 - Eletrônica Digital II Aula 4 - Contadores 42 Diagrama de tempo (1) Existe um atraso de propagação entre a aplicação das entradas de uma ROM e a aparição das saídas de dados durante a operação de leitura. Chamado tempo de acesso (tACC), o atraso é uma medida da velocidade de operação da ROM. ELT013 - Eletrônica Digital II Aula 4 - Contadores 43 Diagrama de tempo (2) Existe um atraso de propagação entre a aplicação das entradas de uma ROM e a aparição das saídas de dados durante a operação de leitura. Outro parâmetro de temporização importante é o tempo de habilitação de saída (tOE), o atraso entre a entrada e a saída válida de dados. Valores para tOE são sempre mais curtos que o tempo de acesso. ELT013 - Eletrônica Digital II Aula 4 - Contadores 44 TIPOS DE ROMS ELT013 - Eletrônica Digital II Aula 4 - Contadores 45 ROM Programada por Máscara ELT013 - Eletrônica Digital II Aula 4 - Contadores 46 ROM programa por máscara (1) ROMs programadas por máscara (MROM) possuem dados programados durante a fabricação do CI. As ROMs são feitas de uma matriz retangular de transistores. A informação é armazenada pela conexão ou desconexão da fonte de um transistor à coluna de saída. ELT013 - Eletrônica Digital II Aula 4 - Contadores 47 ROM programa por máscara (2) ROMs programadas por máscara (MROM) possuem dados programados durante a fabricação do CI. O último passo na fabricação é formar todos os caminhos condutores ou conexões. O processo usa uma “máscara” para depositar metais no silício que determina onde as conexões irão se formar. ELT013 - Eletrônica Digital II Aula 4 - Contadores 48 ROM programa por máscara (3) Somente viável economicamente quando muitas ROMs estiverem sendo fabricadas com a mesma informação. Precisa e robusta Alto custo Cliente deve fornecer a informação binária correta PWR DWN – modo de redução de consumo Segue a habilitação da memória pelo pino CE CE (des)habilita a decodificação do endereço OE (des)habilita a saída tristate ELT013 - Eletrônica Digital II Aula 4 - Contadores 49 ROMs programáveis (PROMs) ELT013 - Eletrônica Digital II Aula 4 - Contadores 50 ROMs programáveis (PROMs) Para aplicações de menor volume, conexões a fusível PROMs programáveis pelo usuário estão disponíveis. As memórias são programáveis sob medida pelo usuário e não podem ser apagadas ou reprogramadas. Se o programa na PROM estiver errado ou tiver de ser alterado, essa PROM terá de ser ‘jogada fora’. Por isso, esses dispositivos são frequentemente chamados de ROMs programáveis apenas uma vez (one time programmable - OTP). ELT013 - Eletrônica Digital II Aula 4 - Contadores 51 ROMs programáveis (PROMs) Os fusíveis são linhas finas que quando submetidas a uma alta corrente “queimam-se” Quando o fusível for queimado o dado armazenado no transistor será 0 Quando o fusível não for queimado o dado armazenado no transistor será 1 ELT013 - Eletrônica Digital II Aula 4 - Contadores 52 ROM Programável e Apagável (Erasable Programmable ROM - EPROM) ELT013 - Eletrônica Digital II Aula 4 - Contadores 53 ROM Programável e Apagável (Erasable Programmable ROM - EPROM) Pode ser programada pelo usuário, apagada e reprogramada tanto quanto for desejado. Uma vez programada, ela se torna uma memória não volátil, que irá manter seus dados armazenados indefinidamente. Uma luz UV é usada para apagar os dados do dispositivo. ELT013 - Eletrônica Digital II Aula 4 - Contadores 54 EPROM Modos de Operação ELT013 - Eletrônica Digital II Aula 4 - Contadores 55 Desvantagens das EPROMs Principais desvantagens das UV EPROMs: Elas tem de ser removidas do circuito para serem programadas e apagadas. Operação de limpeza apaga todos os dados do chip. Processo total de apagamento leva até 20 minutos ELT013 - Eletrônica Digital II Aula 4 - Contadores 56 PROM Apagável Eletricamente (Electrically Erasable PROM - EEPROM) ELT013 - Eletrônica Digital II Aula 4 - Contadores 57 Electrically Erasable PROM - EEPROM Apagadas utilizando eletricidade Habilidade de apagar e reescrever bytes individuais na matriz de memória. Processo interno de armazenamento de um valor de dado na EEPROM é lento Velocidade da operação de transferência de dados pode também ser mais baixa. ELT013 - Eletrônica Digital II Aula 4 - Contadores 58 Electrically Erasable PROM - EEPROM ELT013 - Eletrônica Digital II Aula 4 - Contadores 59 Electrically Erasable PROM - EEPROM ELT013 - Eletrônica Digital II Aula 4 - Contadores 60 PROBLEMAS PROPOSTOS ELT013 - Eletrônica Digital II Aula 4 - Contadores 61 Problemas Propostos Seção 12.1 a 12.6 ELT013 - Eletrônica Digital II Aula 4 - Contadores 62