Baixe o app para aproveitar ainda mais
Prévia do material em texto
• Conceitos básicos de memórias eletrônicas • Memórias ROM Memórias eletrônicas • Conceitos básicos • Memórias RAM e ROM • Exercícios Conceitos básicos • Hierarquia e terminologia de memória • Tipos de memória • Organização interna Conceito de memória • Um flipflop armazena um bit. Oito flipflops armazenam 1 byte • Para armazenar centenas, milhares, centenas de milhares de bytes, ... utilizase memória Conceito: A memória é um componente de sistemas de computação que possui a função de armazenar informações que, em algum momento, serão utilizadas para fins de processamento Terminologia de memórias • Célula de memória: • Dispositivo ou circuito utilizado para armazenar um único bit (0 ou 1). • Exemplos: latch, flipflop, capacitor, ... • Palavra de memória: • Grupo de bits (células) em uma memória que representa instruções ou dados de algum tipo • Exemplos: registrador com 8 flipflops que armazena uma palavra de 8 bits (1 byte), 16 latches que armazena uma palavra de 16 bits (word), ... • Largura: • Termo usado para grupo de bits de dados. Tamanhos de dados podem ser expressos em bytes, bits, ... • Exemplos: 4 bits ou 1 nybble, 8 bits ou 1 byte; 16 bits, 2 bytes ou 1 word; 4 bytes, 2 words ou 1 paragraph; ... • Comprimento (tamanho): • É a quantidade de posições diferentes de dados de uma memória, normalmente expressos em múltiplos de 1.024 • Exemplos: 1K para representar 1.024 ( 2**10), 64K para 65.536 (2**16), 1M para 1.048.576 (2**20) e 1G para 1.073.741.824 (2**30) • Capacidade: • É a quantidade de informação que pode ser armazenadas em dispositivo ou sistema de memória • Exemplos: uma memória armazene 4.096 de comprimento dados de 20 bits de largura, o que representa a capacidade de 81.920 bits ou 4.096 x 20 bits • Comercialmente, encontrados memórias de 64K bytes, 1G bit, 1G nybble, ... • Tempo de Acesso: • É o tempo que a memória gasta para colocar uma informação na barra de dados após um determinada posição ter sido endereçada • Endereço: número ou posição que identifica a posição de um dado na memória • Cada dado possui um endereço ou posição única • Os endereços são representados em binários, hexadecimal, decimal, ... • A figura ilustra uma memória pequena de 32 x 4 bits, sendo: • 32 => endereços (comprimento) • 4 => dados (largura) Célula de memória Endereço (A4 A3 A2 A1 A0) Dados (D3 D2 D1 D0) 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 2 0 0 0 1 0 0 1 0 1 3 0 0 0 1 1 1 0 1 1 4 0 0 1 0 0 1 1 0 0 ... . . . . . . . . . . 29 1 1 1 0 1 0 0 1 1 30 1 1 1 1 0 0 1 1 1 31 1 1 1 1 1 1 1 1 0 Organizações externa e interna Memória 32 x 4 I3 I2 I1 I0 O3 O2 O1 O0 A4 A3 A2 A1 A0 WE ME OE Endereço (A4 A3 A2 A1 A0) Dados (D3 D2 D1 D0) 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 2 0 0 0 1 0 0 1 0 1 3 0 0 0 1 1 1 0 1 1 4 0 0 1 0 0 1 1 0 0 ... . . . . . . . . . . 29 1 1 1 0 1 0 0 1 1 30 1 1 1 1 0 0 1 1 1 31 1 1 1 1 1 1 1 1 0 Saídas de dado Entradas de dado Entradas de endereço Habilita chip Leitura /Escrita Habilita saída Operação de leitura Endereço (A4 A3 A2 A1 A0) Dados (D3 D2 D1 D0) 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 2 0 0 0 1 0 0 1 0 1 3 0 0 0 1 1 1 0 1 1 4 0 0 1 0 0 1 1 0 0 ... . . . . . . . . . . 29 1 1 1 0 1 0 0 1 1 30 1 1 1 1 0 0 1 1 1 31 1 1 1 1 1 1 1 1 0 • Operação segundo a qual um dado binário armazenado em um endereço específico é detectada e transferida para outro dispositivo • Exemplo de leitura: • ME <= ‘1’ (habilita chip) • A4A3A2A1A0 <= ”11101” (posição 29) • WE <= ‘1’ e OE <= ‘1’ • O3O2O1O0 <= “0011” (os bits “0011” da posição 29 vão para os pinos de saída) Operação de escrita Endereço (A4 A3 A2 A1 A0) Dados (D3 D2 D1 D0) 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 2 0 0 0 1 0 0 1 0 1 3 0 0 0 1 1 1 0 1 1 4 0 0 1 0 0 1 1 0 0 atual 0 0 1 1 novo ... . . . . . . . . . . 61 1 1 1 0 1 0 0 1 1 62 1 1 1 1 0 0 1 1 1 63 1 1 1 1 1 1 1 1 0 • Operação segundo a qual um novo dado binário é colocado em um endereço específico é detectada e transferida para outro dispositivo • O novo dado escrito substitui o dado que existia armazenado • Exemplo de escrita: 1. Posição 4 possui “1100” (D3D2D1D0) 2. ME <= ‘1’ 3. A4A3A2A1A0 <= "00100” (posição 4) 4. I3I2I1I0 <= “0011” (dado a ser escrito) 5. WE <= ‘0’ (habilita escrita) 6. D3D2D1D0 <= “0011” (posição 4 possui o novo dado de “0011”) Hierarquia de memória • Em um sistema de computação existem vários tipos de memória que interligamse de forma bem estruturada, possibilitando um bom desempenho Registrador Memória cache Memória principal (RAM) Memória secundária (HD) Alta velocidade Baixa capacidade Baixa velocidade Alta capacidade Alto custo Baixo custo Exemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acessoExemplos de capacidades e tempos de acesso Tipos de memórias Memória eletrônica Memória eletrônica ROMROM MROMMROM PROMPROM EPROMEPROM EEPROMEEPROM FlashFlash RAMRAM SRAMSRAM DRAMDRAM Memórias ROM e RAM Memória ROM (Read-Only Memory) • Permite apenas a leitura da informação • Memória não-volátil – a informação continua armazenada quando a memória deixa de receber energia elétrica Memória RAM (Random-Acess Memory) • Permite leitura e escrita de informação • Memória volátil – a informação perde-se quando a memória pára de receber energia elétrica Taiga Highlight Taiga Highlight Taiga Highlight Taiga Highlight Organização interna • Tipos de organização de memória: • Estrutura interna unidirecional • Estrutura interna bidirecional • Estudaremos a seguir os tipos de estrutura interna de memória com: • Comprimento: 16 bits de endereço (2**4) • Largura: 1 bit Estrutura interna unidirecional de uma memória de 16 x 1 bit Estrutura interna unidirecional • Existem 16 elementos de memória (flip-flops), 16 chaves e 1 decodificador com 4 bits de entradas de endereço e 16 saídas, portanto, totaliza 16 portas ANDs internas • Para qualquer endereço de entrada A3A2A1A0 somente uma saída do decodificador é ativo por vez. Na figura, o FF2 é acessado • O acesso a um bit de memória é realizado, então, através da saída ativa do decodificador que fecha a chavealvo Estrutura interna de uma memória bidirecional Estrutura interna bidirecional • Possui 2 decodificadores com 2 bits de entradas de endereço, tem 4 saídas e 4 portas ANDs internas, totalizando 8 portas • A decodificação da memória é completada com o arranjo das 16 chaves que operam como portas ANDs • O decodificador de linhas operam as chaves de memória e o decodificador de colunas é aplicado nas chaves das linhas de bits de saída • Para um endereço em A3A2A1A0, o decodificador de linha ativa uma saída para fechar 4 chaves de memória e o decodificador de coluna seleciona um único bit para saída dos 4 bits de memórias disponíveis Memórias ROM • Aplicações • Tipos de memórias • ROM, PROM, EPROM, EEPROM e Flash IntroduçãoIntroduçãoIntroduçãoIntrodução • É uma memória não volátil, mantém a informaçãomesmo sem alimentação •Aplicações – utilizada para: • Armazena firmwares de placas mãe • DVD player • CDRW • Placas de Rede •Modens ADSL, etc. Tipos, complexidade/custo e programação EEPROM Flash EPROM MROM/PROM • EEPROM: Pode ser apagada eletricamente no circuito, byte a byte • Flash: Pode ser pagada eletricamente no circuito, por setor ou em bloco (todas as células) • EPROM: Pode ser apagada em bloco por UV, apaga e reprogramada fora do circuito • MROM/PROM: Não pode ser apagada e reprogramada 1. Memória ROM – Read-Only Memory • Não perde a informação quando a alimentação é retirada • Não permite alteração da informação armazenada • Construída pelo fabricante, mediante especificação fornecida pelo cliente • Utilizada para fornecer informações quando sistemas digitais são ligados • Vantagem: custo de produção muito baixo quando produzida em larga escala • Desvantagem: sem flexibilidade para alteração do conteúdo Taiga Highlight Taiga Highlight Especificação de uma ROM com 8 endereços e 4 bits de dados Endereço em decimal Endereço em binário (A2 A1 A0) Dados em binário (D3 D2 D1 D0) m0 0 0 0 0 1 0 0 m1 0 0 1 0 1 1 1 m2 0 1 0 1 0 1 0 m3 0 1 1 1 1 0 1 m4 1 0 0 0 0 1 0 m5 1 0 1 1 0 1 1 m6 1 1 0 0 1 1 1 m7 1 1 1 0 1 0 0 Implementação de uma ROM • Iremos estudar, superficialmente, a implementação física de um codificador de ROM • O estudo permite conhecer como são construídas as ROM programáveis • A implementação possui as fases: • Especificação dos dados armazenados na ROM • Implementação lógica do codificador da ROM • Implementação física de uma porta OR • Implementação física do codificador com diodos Implementação de um codificador de MROM com 8 endereços e 4 bits Implementação de uma porta OR com várias entradas Se em uma das entradas possuir o nível lógico ‘1’ (5V), o diodo é polarizado diretamente e 4,3V (50,7) é aplicado na saída S, ou seja, o nível lógico ‘1’. Implementação física do codificador de ROM ROM em circuito integrado Exemplo: Conversor de código com ROM • Construa um conversor do código binário para o código Gray de 3 bits Conversor de código com ROM • Como conversor de código, a ROM consiste de um codificador e um decodificador. • Então, uma ROM é pode ser implementada com portas (circuito combinacional), sem usar flip-flops 2. Memória PROM – Programmable ROM • Semelhante a uma ROM, mas permite uma única programação por parte do usuário • Vantagem: custo de produção baixo quando produzida em pequenas quantidades • Desvantagem: pouca flexibilidade, permite uma única programação Taiga Highlight Taiga Highlight Taiga Highlight Uma PROM programada • A programação consiste da queima de fusíveis • Os elementos da matriz com fusível queimado possui ‘0’ e os demais ‘1’ • Observe que a estrutura interna é muito semelhante a MROM, exceto pela presença dos fusíveis Taiga Highlight Taiga Highlight 3. Memória EPROM – Erasable Programmable Read-Only Memory • Permite múltiplas programações (gravações) • Programação com pulsos sinais elétricos • Apaga todo o conteúdo através de raios ultravioleta durante algumas dezenas de minutos • Antes da reprogramação do dispositivo, este deve ser previamente apagado • Vantagem: permite a utilização de EPROM durante a fase de desenvolvimento de um sistema digital • Desvantagem: para produções em grande escala possui um custo significativamente mais elevado que uma ROM Taiga Highlight Taiga Highlight Taiga Highlight Taiga Highlight Célula da EPROM • A programação é realizada através da armazenagem de cargas elétricas em uma porta flutuante, isolada eletricamente do resto do circuito • Assim, a informação armazenada não se perde • O armazenamento de cargas é realizado através de pulsos de tensão de 13 a 30 Volts fora do circuito Encapsulamento da EPROM • O chip tem uma janela de vidro • Quando o chip é exposto a raios ultravioleta (UV), os seus dados são apagados • Após a programação da memória deve utilizar uma etiqueta para impedir a passagem de luz UV Efeito dos Raios Ultra-Violeta (UV) • Os raios UV retiram as cargas elétricas negativas que estão armazenadas abaixo da porta flutuante, apagando as informações armazenadas Memória EPROM de 32Kb Pino(s) Função A0-A14 Linhas de endereços D0-D7 Linhas de dados /OE Habilita saída tristate /E Habilita chip Vpp Voltagem de programação +5V Alimentação normal Gnd Terra Ciclo de operação de leitura da EPROM Ciclo de operação de programação da EPROM Família EPROM 27000 • São organizadas em bytes (8 bits) • A numeração da identificação 128 corresponde a 16K x 8bits 4. Memória EEPROM – Electrically Erasable Programmable Read-Only Memory • Utilização idêntica à EPROM, mas com reprogramação através de impulsos elétricos • Vantagem: grande flexibilidade por reunir a funcionalidade da RAM e da ROM • Desvantagem: operações de escrita muito mais lentas que numa RAM, apesar das operações de leitura serem da mesma ordem de grandeza Célula da EEPROM • Um único bit EEPROM é construído de dois transistores: • O transistor MOS normal é utilizado para apagar • O transistor com porta flutuante para armazenar um bit de informação que opera como chave, ou seja, permanentemente aberto ou fechado Programação e desprogramação da célula EEPROM • Quando a porta flutuante esta carregada, ela retém carga e impede que fluxos de elétrons da porta de controle para o silício (o 0 ou 1 é determinado quando as ações da porta de controle está bloqueada ou não) • Programação. A carga é realizada com os terminais Fonte e Dreno no terra e aplicandose uma voltagem de controle na Porta • Desprogramação. Aplicandose uma voltagem reversa através do transistor MOSFET convencional faz com que as cargas dissipamse no substrato Ciclos de operação da EEPROM 5. Memória Flash • Variantes de memórias EEPROM, habitualmente utilizadas em fotografia digital e pen drive • É programada após ser inserida no produto (equipamento) com o uso do usuário • Vantagem: reprogramação muito mais rápida do que numa EEPROM convencional, maior capacidade • Desvantagem: número limitado de reprogramações (na ordem das dezenas de milhar) • Memórias RAM • Exercícios Memórias RAM Tipos de memórias RAM • RAM Estática – SRAM: • Células de memória constituídas por latches ou flip-flops • Utilizada como memória cache (associadas ao processador) • RAM Dinâmica – DRAM: • Células constituída por elemento capacitivo, que consegue manter o nível lógico durante um curto espaço de tempo • Necessitam de refrescamento para repor os níveis lógicos • Com maior capacidade e com custos mais baixos do que a memória estática, porém é o mais lenta • Utilizada na memória principal de um computador Exemplos de células de RAM Estrutura geral da RAM • Possui k linhas de endereços: • 2k endereços • Possui n bits por endereço: • 1 palavra = n bits • Capacidade: • 2k x n bits • Sinais de controle: • Leitura / Escrita • Habilita • Seleção de chip Organização interna • Memória: 3 bits de endereços e 4 bits de dados • Armazena 8 (23) palavras de 4 bits cada uma • O número total de bits é 32 (8x4) bits • No endereço 010b (2) temos o valor 1000b (8) 1. Memória SRAM – Organização externa Tabela funcional da memória CS WE Operação A2 A1 A0 0 X Memória desabilitada X X X 1 0 Lê do endereço Endereço 1 1 Escreve no endereço Endereço SRAM – Operações de leitura e escrita • Leitura do endereço ”010” : 1. A2 A1 A0 <= ”010” 2. CS <= ‘1’ e WE <= ‘0’ 3. Os pinos O3 O2 O1 O0 têm o valor “1000” (8) • Escrita do valor “1111” no endereço “100”: 1. A2 A1 A0 <= “100” (4) 2. I3 I2 I1 I0 = ”1111” (15) 3. CS <= ‘1’ e WE <= ‘1’ 4. A célula do endereço ”100” recebe o valor ‘1111”Ciclo de leitura da SRAM tACC – tempo de acesso aos dados para leitura Ciclo de escrita da SRAM tAS – tempo de preparação para escrita tW – tempo da largura do pulso de escrita tDH – tempo de manutenção para escrita Uma estrutura interna da SRAM 2. Memória DRAM • Armazena dados como cargas em capacitores, que gradualmente desaparecem devido a descarga do capacitor • É necessário dar recargas (refresh) nos dados periodicamente, através da recarga dos capacitores, normalmente a cada 2, 4, ou 8 ms • Têm capacidades muito maiores e consumo de energia muito menor • Quando as considerações de projeto mais importantes são manter o tamanho, custo e consumo de energia baixos • As DRAMs se tornam a melhor escolha em memórias Estrutura interna da DRAM • A estrutura interna da RAM dinâmica pode ser visualizada como um matriz de células de um único bit • Em cada interseção das linhas com as colunas existe um capacitor, que armazena 1 bit • Arranjo de células em uma RAM dinâmica de 16K x 1, com 16.384 células no total Arquitetura simplificada de uma DRAM • Células de memórias são organizadas em banco de matrizes • Endereço é multiplexado em linhas e colunas e armazenados em registrador através dos sinais RAS e CAS • Decodificador de linha seleciona um banco e o de coluna célula do banco • Refresh é realizado com o endereço do contador de refresh e amplificadores sensores Representação simbólica e operação da célula da DRAM • Escrita: as chaves as chaves SW1 e SW2 são fechadas e os dados de entradas são colocados no capacitor • Ociosa: todas as chaves são abertas e capacitor perda carga ao longo do tempo devido a corrente de fuga • Leitura: as chaves SW2, SW3e SW4 são fechadas, o amplificador sensor compara a tensão do capacitor e define o valor da saída. Esta saída é conectada ao capacitor para restaurar a tensão nele por carga ou descarga Multiplexação de endereço • Utilizada para reduzir a quantidade de pinos nas DRAM de alta capacidade • O endereço é separado e aplicado em duas partes, linha e coluna • O registrador de linha armazena a parte alta do endereço e o de coluna, a baixa • A entrada RAS (strobe de endereço de linha) armazena as entradas de endereço no registro de endereço de linha • A entrada CAS (strobe de endereço de coluna) armazena as entradas de endereço no registro de endereço de coluna Ciclo de leitura da DRAM • t0: Entrada MUX=‘0’ para colocar o endereço de linha (A8A15) na entrada Endereço (bus) • t1: Entrada RAS é ativada (descida) para armazenar o endereço de linha • t2: Entrada MUX=‘1’ para colocar o endereço de coluna (A0A7) na entrada Endereço (bus) • t3: Entrada CAS é ativada (descida) para armazenar o endereço de coluna • t4: Dados válidos são colocados na saída de dados (DATA OUT) para leitura • t5: Sinais MUX, RAS, CAS e DATA OUT voltam a situação inicial Ciclo de escrita da DRAM • t0: Entrada MUX=‘0’ para colocar o endereço de linha (A8A15) na entrada Endereço (bus) • t1: Entrada RAS é ativada (descida) para armazenar o endereço de linha • t2: Entrada MUX=‘1’ para colocar o endereço de coluna (A0A7) na entrada Endereço (bus) • t3: Entrada CAS é ativada (descida) para armazenar o endereço de coluna • t4: Dados válidos são colocados na entrada de Dados (DATA IN) para escrita • t5: Entrada WE=‘0’ para escrita dos dados na memória • t7: Sinais MUX, RAS, CAS, WE e DATA IN voltam a situação inicial Refresh da DRAM • Quando a entrada RAS é ativada, todas os capacitores da linha passam pelo processo de refresh (reavivamento) ao mesmo tempo • Uma memória com 64 linhas, 48 colunas e tempo de refresh de 2 ms, possui tempo total de refresh entre linhas de: • Tempo de refresh de cada linha = 2 ms / 64 linhas = 31 us • A lógica de controle de refresh é usada para garantir que cada linha seja reavivada dentro do tempo limite: • No modo de rajada (burst refresh) a operação de memória normal é suspensa e cada linha passa pelo refresh em sucessão até que todas as linhas tenham passado pelo processo • No modo distribuído (distributed refresh), o refresh das linhas é intercalado com as operações normais da memória Refresh da DRAM • O método mais comum é o refresh que usa apenas o pino RAS • É realizado pulsando um endereço de linha com RAS enquanto o CAS e WE permanecem em inativos (ALTO) • Um controlador geralmente é usado para realizar multiplexação de endereço e geração de sequência de contagem de refresh 3. Expansão de memória Exemplos: projetos de banco de memória • É possível projetar bancos de memória com maior capacidade associando vários chips de menor capacidade • Exemplos: projete um banco de 64Kx16 e um outro de 256Kx8, ambos a partir de chips 64Kx8 Exemplo 1: projeto do banco de 64K x 16 • Existem 2 chips em paralelo, ampliando de 8 para 16 linhas de dados de entrada (DATA) e de dados de saída (64Kx16) • As linhas de endereços (ADDR) foram interligadas. Idem para CS e R/W Exemplo 2: projeto do banco de 256K x 8 • Comentários: • Existem 4 chips de 64Kx8 em série, ampliando de 64K para 256K • Existe um decoder que habilita somente um chip de cada vez (ver tabela) • Existem agora 18 linhas de endereço (2 do decodermais 16 dos chips) • As linhas de saídas dos chips foram interligadas Exercícios. Memórias eletrônicas 1. Cite as principais diferenças das células de memórias de ROM’s 2. Cite as principais diferenças das células de memórias de RAM’s 3. Construa um conversor de código do código Gray para o código BCD de 4 bits com ROM 4. Implemente as seguintes funções com ROM: F0 = A + /B; F1 = /AB + A/B; F2 = /B + C 5. Repita a questão 3 em uma memória de 64Kx8 e o endereço inicial do conversor em 32K 6. Implemente uma memória ROM usando somente um decodificador e portas OR com os valores 01b, 00b, 11b e 10b nos endereços 0, 1, 2, e 3, respectivamente 7. Projete o banco de memória SRAM de 16x4 usando o chip de memória 8x4 estudado 8. Projete os bancos de memória SRAM 16x8 usando o chip de memória 8x4 estudado 9. Um chip de DRAM possui 1Mx1 bits e um outro possui 4Mx1 bits, ambas com os pinos de RAS, CAS, DATA e A0A19 (1M) e A021 (4M) . Projete um banco de memória de 4Mx9 bits
Compartilhar