College Online
0%

Tipos de Memoria

Modulo 1 · Aula 1 ~20 min de leitura Nivel: Fundamental

Video da aula estara disponivel em breve

Volatil vs. Nao-Volatil

A classificacao mais fundamental de memorias semicondutoras e baseada na retencao de dados na ausencia de alimentacao eletrica:

Diagrama
                  Memorias Semicondutoras
                  /                     \
            Volatil                   Nao-Volatil
           /       \                /              \
        SRAM      DRAM           ROM              Flash
      (cache)   (RAM principal)  (PROM/EPROM/     (SSD, USB,
                                  EEPROM)          cartoes)

SRAM — Static Random Access Memory

A SRAM armazena cada bit usando um latch composto por 6 transistores MOSFET (celula 6T). A informacao e mantida enquanto houver alimentacao, sem necessidade de refresh.

Diagrama — Celula SRAM 6T
        VDD            VDD
         |              |
        [M3]           [M4]       M3, M4: PMOS (pull-up)
         |              |
    Q ---+---+    +---+--- Q'     Q e Q' sao complementares
         |   |    |   |
        [M1] |    | [M2]          M1, M2: NMOS (pull-down)
         |   |    |   |
        GND  |    |  GND
             |    |
           [M5]  [M6]            M5, M6: NMOS (acesso)
             |    |
            BL   BL'              BL = Bit Line, BL' = Bit Line complementar
             |    |
          (Word Line WL ativa M5 e M6)

Caracteristicas da SRAM:

DRAM — Dynamic Random Access Memory

A DRAM armazena cada bit como carga eletrica em um capacitor, acessado por um unico transistor (celula 1T1C). Essa simplicidade permite altissima densidade, mas a carga vaza ao longo do tempo, exigindo refresh periodico.

Diagrama — Celula DRAM 1T1C
   Word Line (WL)
       |
      [T]  ← transistor de acesso (NMOS)
       |
  BL --+-- [C]  ← capacitor de armazenamento
              |
             GND

  Bit = 1: capacitor carregado (Vc ≈ VDD)
  Bit = 0: capacitor descarregado (Vc ≈ 0V)

  Problema: a carga vaza em ~64 ms
  Solucao: refresh periodico (leitura + reescrita)

Comparacao SRAM vs. DRAM:

Tabela Comparativa
  Caracteristica      SRAM              DRAM
  ─────────────────────────────────────────────────
  Transistores/bit    6                 1 (+ capacitor)
  Velocidade          1-10 ns           50-70 ns
  Densidade           Baixa             Alta
  Custo/bit           Alto              Baixo
  Refresh             Nao necessario    A cada ~64 ms
  Consumo estatico    Baixo             Moderado (refresh)
  Uso tipico          Cache (L1/L2/L3)  Memoria principal
i
Por que nao usar so SRAM? Se SRAM e mais rapida, por que nao construir toda a memoria principal com ela? Custo e area. Um chip SRAM de 1 MB ocupa uma area de silicio enorme comparada com 1 MB de DRAM. Um computador tipico tem 8-32 GB de DRAM mas apenas 8-64 MB de SRAM total (distribuidos entre os niveis de cache). A hierarquia de memoria existe exatamente para equilibrar velocidade e custo.

Memorias ROM e suas Evolucoes

As memorias somente de leitura (ROM — Read-Only Memory) e suas variantes armazenam dados de forma permanente ou semi-permanente:

Evolucao das Memorias Nao-Volateis
  ROM → PROM → EPROM → EEPROM → Flash
  (fixa)  (1x)    (UV)     (eletrica,   (eletrica,
                             byte)        bloco)

  Flexibilidade crescente →→→
  Complexidade do circuito crescente →→→

Organizacao de Arrays de Memoria

Fisicamente, as celulas de memoria sao organizadas em um array bidimensional de linhas e colunas. O enderecamento funciona da seguinte forma:

Diagrama — Array de Memoria
  Endereco (n bits)
  ┌────────────────────┐
  │ Row Address (r bits)│ → Decodificador de linhas → seleciona 1 de 2^r linhas
  │ Col Address (c bits)│ → Multiplexador de colunas → seleciona 1 de 2^c colunas
  └────────────────────┘

         Col 0    Col 1    Col 2   ...  Col 2^c-1
        ┌────────┬────────┬────────┬───┬──────────┐
  Row 0 │ celula │ celula │ celula │   │  celula  │
        ├────────┼────────┼────────┼───┼──────────┤
  Row 1 │ celula │ celula │ celula │   │  celula  │
        ├────────┼────────┼────────┼───┼──────────┤
  ...   │  ...   │  ...   │  ...   │   │   ...    │
        ├────────┼────────┼────────┼───┼──────────┤
  Row   │ celula │ celula │ celula │   │  celula  │
  2^r-1 │        │        │        │   │          │
        └────────┴────────┴────────┴───┴──────────┘

  Capacidade total = 2^r x 2^c = 2^n celulas

Em um chip de DRAM, o endereco e enviado em duas etapas (multiplexado) para reduzir o numero de pinos:

  1. RAS (Row Address Strobe): envia o endereco da linha, que ativa todas as celulas da linha selecionada para o sense amplifier
  2. CAS (Column Address Strobe): envia o endereco da coluna, selecionando a celula desejada

Tecnologias Emergentes

Alem de SRAM, DRAM e Flash, existem tecnologias emergentes que buscam combinar o melhor de ambos os mundos (velocidade + nao-volatilidade):

No harness.os

A distincao entre memoria volatil e nao-volatil aparece diretamente na arquitetura do harness.os:

Exercicios

  1. Uma celula SRAM 6T usa 6 transistores por bit. Se um chip de cache L2 tem 256 KB, quantos transistores sao necessarios apenas para o array de dados (ignore logica de controle)?
  2. Um chip de DRAM precisa de refresh a cada 64 ms e tem 8192 linhas. Qual e o intervalo entre refreshes consecutivos de linhas diferentes (refresh distribuido)?
  3. Explique por que a NAND Flash e preferida em relacao a NOR Flash para SSDs, apesar de nao suportar acesso aleatorio eficiente.
  4. Compare EEPROM e Flash em termos de granularidade de escrita e apagamento. Quando EEPROM e preferivel?
  5. Projete (em pseudocodigo) um decodificador de enderecos para uma memoria de 1024 palavras de 8 bits organizada como 32 linhas x 32 colunas.

Resumo

Verifique seu entendimento

Por que a DRAM necessita de refresh periodico enquanto a SRAM nao?

  • Porque a DRAM opera em frequencias mais altas que dissipam energia
  • Porque a DRAM armazena dados como carga em capacitores que vazam ao longo do tempo, enquanto a SRAM usa realimentacao entre inversores que mantêm o estado
  • Porque a DRAM usa transistores PMOS que sao inerentemente instaveis
  • Porque a DRAM nao possui sense amplifiers para manter os dados