Universidade Federal do ABC Eletrônica Digital Aula 13: Dispositivos de Memória TOCCI, Sistemas Digitais, Sec. 12.1 12.9 http://sites.google.com/site/eletdigi/
Dispositivos de Memória Memórias conhecidas - FF: armazena 1 bit. - Registrador: armazena 1 palavra. Avanços tecnológicos permitem aumentar o número de FF s por CI. memórias baseadas em FF s são as mais rápidas que existem. também, são as mais caras (preço/bit). Dados digitais também podem ser armazenados como carga em capacitores, produzindo memórias semicondutoras com: alta densidade de integração (ocupam pouco espaço (por bit)) velocidade razoável baixo consumo bom compromisso custo x capacidade, baixo preço por bit. 2
Dispositivos de Memória (cont.) Memória Principal - Implementada usando memórias semicondutoras; - Mantêm constante comunicação com CPU; - Armazena dados e programas; - Constituída por memórias RAM e ROM. Memória auxiliar ou de massa, em geral, é - externa, - armazena elevado volume de dados e - por ser mais lenta. 3
Terminologia de Memórias Célula de memória: Dispositivo para armazenar um único bit. Exemplo: FF, um capacitor carregado, ou um pequeno ponto em uma fita ou disco magnético. Palavra de memória: Agrupamento de bits (células). Byte: Agrupamento de 8 bits. Capacidade: Determina a quantidade de bits que podem ser armazenados em um sistema de memória. Exemplo: 4096 X 20 = 81.920 bits Quantidade de bits por palavra número de palavras 4
Terminologia de Memórias (cont.) Capacidade (cont...) 1K representa 1024 bits = 2 10 1M ou 1 mega representa 1.048.576 bits = 2 20 1G ou 1 giga representa 1.073.741.824 bits = 2 30 Exemplo: Uma memória é especificada pelo fabricante como 2K X 8. Quantas palavras podem ser armazenadas? Qual é o tamanho da palavra? Qual o número de bits que pode armazenar? - 2K = 2 X 1.024 = 2048 palavras - Cada palavra é de 8 bits (1 byte). - Número de bits = 2.048 X 8 = 16.384 bits. 5
Terminologia de Memórias (cont.) Densidade: Indica a capacidade de armazenamento. Maior densidade significa maior número de bits em um mesmo espaço. Endereço: Indica a posição da palavra na memória. Operação de leitura: Detecta uma palavra em uma posição específica da memória e a transfere para outro dispositivo. Operação de escrita: armazena uma palavra numa posição específica da memória. Tempo de acesso: Tempo necessário para realizar uma operação de leitura. Memória volátil: Requer tensão elétrica para armazenar a informação. 6
Terminologia de Memórias (cont.) RAM (random access memory, memória de acesso direto ): A posição da palavra não tem efeito sobre o tempo de leitura ou de escrita. Mesmo tempo de acesso para qualquer endereço. SAM (sequential access memory): O tempo de acesso não é constante, mas varia de acordo com o endereço da palavra. RWM (read / write memory) : Qualquer memória que pode ser lida ou escrita de uma forma igualmente fácil. (De maneira informal, emprega-se o termo RAM para designar memórias de escrita e leitura, em oposição ao termo ROM.) ROM (read only memory) : Memórias nas quais a razão de operações de leitura por operações de escrita é muito alta. (Normalmente, o termo ROM é usado para designar qualquer dispositivo de memória que, em operação normal no circuito, é usado apenas para leitura.) 7
Terminologia de Memórias (cont.) Dispositivos de memória estática: Não há necessidade de reescrever os dados periodicamente na memória. Dispositivos de memória dinâmica: Há necessidade de reescrever os dados periodicamente na memória. Requer um ciclo de refresh. Memória principal (ou trabalho): Armazena os dados que a CPU utiliza no momento. É a memória mais rápida do computador e sempre semicondutora. Memória auxiliar (ou de massa): Armazena grande quantidade de informações externas à memória principal. É a memória mais lenta e sempre não volátil. 8
Princípios de Operação da Memória De modo geral, certos princípios básicos são os mesmos para todos os tipos de memórias: 1- Selecionar um endereço de memória para operação de leitura ou de escrita; 2- Selecionar uma operação de escrita ou leitura para ser realizada; 3- Fornecer os dados a serem armazenados durante uma operação de escrita; 4- Manter os dados de saída vindos da memória durante operação de leitura; 5- Habilitar (ou desabilitar) a memória de modo que ela responda (ou não) às entradas de endereço e ao comando de leitura ou de escrita. 9
Princípios de Operação da Memória (cont.) Exemplo: Memória 32 X 4. - Para 32 palavras, são requeridos 32 endereços binários diferentes. - Geralmente, são necessárias N entradas de endereço para uma memória com capacidade de 2 N palavras. - Visualize a memória como um arranjo de 32 registradores, cada um com palavra de 4 bits. 10
Princípios de Operação da Memória (cont.) Exemplo: Operação de leitura e de escrita. Escrita Condição Endereço = 00011 Entrada = 0100 R/W = 0 ME= 1 Saída = xxxx Condição Endereço = 11110 Entrada = xxxx R/W = 1 ME = 1 Saída = 1101 Leitura Obs: - A operação de escrita substitui os dados da posição de memória previamente armazenados. - Operação de leitura não modifica o conteúdo da posição de memória. 11
Interface com a CPU Conexões CPU-Memória A memória principal tem sua interface de comunicação com a CPU através de três barramentos: - Linhas de endereço; - Linhas de dados; - Linhas de controle. 12
Conexões CPU-Memória (cont.) Passos requeridos na operação de escrita. A CPU fornece o endereço da posição de memória. A CPU coloca os dados no barramento de dados. A CPU ativa as linhas de controle para operação de escrita. Os CIs de memória decodificam o endereço. Os dados são transferidos para a posição de memória selecionada. 13
Conexões CPU-Memória (cont.) Passos requeridos na operação de leitura. A CPU fornece o endereço da posição de memória. A CPU ativa as linhas de controle para operação de leitura. Os CIs de memória decodificam o endereço. Os CIs de memória colocam o dado no barramento. 14
ROM - Memória Apenas de Leitura - Projetada para manter dados que são permanentes (não mudam freqüentemente). - Há memórias ROM que permitem a escrita de dados eletricamente - (programação ou queima). - Usadas principalmente no armazenamento de programas de computador. - São não voláteis (programas/dados não são perdidos quando o sistema é desenergizado). - A saída de dados na maioria das ROMs são saídas tristate para permitir a conexão de vários CIs de ROMs (expansão de memória). 15
ROM - Memória Apenas de Leitura (cont.) Exemplo: ROM 16 X 8 (16 bytes) Condição: Endereço = 1010 CS = 0 Saída = 10111000 16
Arquitetura da ROM Partes constitutivas: - Matriz de registradores. - Decod. de endereço. - Buffers de saída. - Registradores de 8 bits. Exemplo: Qual registrador é habilitado pelo endereço 1101? A3A2 = 11 coluna 3. A1A0 = 01 linha1. Registrador 13. 17
Temporização da ROM t OE : Tempo de habilitação de saída. Tempo de acesso, t ACC : Atraso de propagação entre a aplicação das entradas da ROM, e o aparecimento dos dados na saída. Emt 1, o novo endereço é valido; Emt 2, a entrada CS é ativada para habilitar os buffers de saída; Emt 3, as saídas mudam de alta impedância para dados válidos. 18
Tipos de ROM ROM programada por máscara (MROM) - Informações armazenadas através do terminal S (source) de um transistor. - Cada célula é um NMOS. -V GS = 0 chave aberta -V GS = 1 chave fechada - Decodificador seleciona a linha para leitura dos dados. -A 1 A 0 = 00, linha 0 ativa. 19
Tipos de ROM (cont.) Exemplo: Armazenamento de tabelas de funções matemáticas. Considere a função y = x 2 + 3. A entrada de endereço corresponde a x e a saída de dados é y. 1º Passo: Construir a tabela da função (x 2 bits) P. Ex.: X = 10 2 = 2 10. A saída é y = 2 2 + 3 = 7 10 = 0111 2 X A1 A0 y = x 2 + 3 D3 D2 D1 D0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 Considerando a arquitetura anterior: A 1 A 0 = 00 seleciona a primeira linha e, portanto, as saídas de Q 2 e Q 3 devem estar ligadas (conexão a V DD ) e as saídas de Q 0 Q 1 desligadas. 20
Tipos de ROM (cont.) ROMs Programáveis (PROMs) - Diferentemente da MROM, a PROM pode ser programada pelo próprio usuário. - Uma vez programada, a PROM não pode ser apagada ou alterada. - O processo de programação baseia-se na queima seletiva de determinados fusíveis. Para programar: - Selecionar o endereço apropriado. - Posicionar os dados de entrada. - Aplicar um pulso em um pino especial de programação. - Transistores nos quais um 0 aparece no fusível ligado ao terminal S, terá uma corrente muito alta, abrindo o mesmo. 21
Tipos de ROM (cont.) ROM Programável e Apagável (EPROM) - Pode ser apagada e reprogramada pelo usuário. - A célula de armazenamento é um transistor MOS. - A programação é feita polarizando adequadamente o transistor, através de um pulso de alta tensão na entrada apropriada. - Para programar um 1 (estado inicial), a EPROM é exposta a luz UV. Desvantagens: 1- Necessidade de remoção do circuito para programação. 2- Apaga todo o conteúdo. 22
Tipos de ROM (cont.) ROM Programável e Apagável (EPROM) 23
Tipos de ROM (cont.) PROM Apagável Eletricamente (EEPROM ou E 2 PROM) - Pode ser apagada (deve-se apagar tudo) e reprogramada (byte por byte) sem remover do circuito. - Estrutura de porta flutuante como da EPROM, mas com região fina de óxido acima do dreno, possibilitando ser apagada eletricamente. - Para programar a EEPROM um pulso de alta tensão é aplicado à entrada apropriada, polarizando adequadamente o transistor MOS. - Tem capacidade de apagar e reescrever bytes individualmente. - Possui um único pino de alimentação, sendo de fácil utilização. Desvantagens com relação à EPROM - Menor capacidade de bit por milímetro quadrado de silício. - Custo mais elevado. 24
Tipos de ROM (cont.) PROM Apagável Eletricamente (EEPROM). Na borda de subida de WE, em t4, são registrados os dados no endereço desejado. 25
Memória Flash - Podem ser apagadas eletricamente no próprio circuito (EEPROM), mas com densidades e custos próximos das EPROMS. - Denominação vem do fato de terem tempos curtos de leitura e escrita. - Permitem apagamento por setor (por exemplo, 512 bytes), evitando a reprogramação de todas as células. - Modelos mais recentes têm aperfeiçoamentos: única fonte Vcc, baixa tensão de alimentação (1,8V), escrita rápida de blocos de dados (data burst), possibilidade de apagamento de apenas um setor (por exemplo, um bloco de 512 bytes). Exemplo: Flash CMOS 28F256A. Pinos DQi assim designados pois são bidirecionais, podendo: enviar dados durante a leitura; receber comandos ou dados durante a escrita. 26
Memória Flash (cont.) Relações de compromisso entre as memórias semicondutoras não voláteis: - A complexidade e custo aumentam a medida que a flexibilidade no apagamento e na programação aumenta. 27
Memória Flash (cont.) Arquitetura interna da Flash: O registrador de comando gerencia as funções do chip: Apagar (comando 20 h ) Apagar-verificar (comando FF h ) Programar (comando 40 h ) Programar-verificar (comando C0 h ) Ler (comando 00 h ) 28
- Memória de programa de um microcontrolador dedicado. - Memória não volátil: transferência de dados e portabilidade. P. ex., discos flash. - Memória bootstrap. P. ex., para boot de PCs. - Tabelas de dados. Aplicações da ROM - Conversor de dados. P. ex., CI 74185 é uma tabela (ROM TTL) de conversão binário (3 + 3 bits) para BDC (4 + 4 bits). Gerador de funções (Exemplo: CI ML2035.) 29
Atividade para casa Resolver os problemas do livro texto. Recomenda-se fazer, pelo menos, dois exercícios de cada seção. Aula 10: Sec. 7.1-7.7; Aula 11: Sec. 7.9; 7.10 (projeto de contador síncrono) Aula 12: Sec. 7.8, 7.15-7.19; 7.20 Aula 13: Sec. 12.1-12.9