>> Tecnologia Eletrônica >  >> Celulares e Acessórios >> Rádios de Duas Vias

ROM Dual-Port: Acesso Simultâneo para Sistemas Alto Throughput

Uma ROM dual-port (Read-Only Memory) é um dispositivo memória com duas portas endereço/dados independentes que podem ler o mesmo array memória concorrentemente. Elimina gargalo memória single-port em sistemas onde múltiplos agentes (CPUs, DMA, DSP, GPU) precisam acesso leitura simultâneo.

Arquitetura

  • Array Memória Compartilhado: Armazenamento físico único (ROM mascarada, OTP, ou Flash embarcado).
  • Porta A & Porta B: Cada uma tem Barramento Endereço, Barramento Dados, Chip Enable, Output Enable, Clock independentes (se síncrona).
  • Lógica Arbitragem: Trata requisições acesso simultâneo. Políticas: prioridade fixa, round-robin, ou "last write wins" (para RAM). Para ROM, leituras simultâneas não conflitam — ambas portas saem dados no mesmo ciclo.

Por Que Dual-Port ROM? (Benefícios)

  • Leituras Concorrentes Sem Contenção: CPU busca instrução enquanto DMA carrega textura — sem wait states.
  • Latência Determinística: Sem atraso arbitragem para leituras (diferente dual-port RAM onde conflitos leitura/escrita existem).
  • Projeto Sistema Simplificado: Sem necessidade multiplexadores barramento externos, caches, ou shadow RAM para compartilhar ROM única.
  • Segurança: Uma porta para boot seguro (imutável), outra para aplicação — separação hardware-enforced.

Aplicações Típicas

AplicaçãoPorta APorta B
Gráficos / Controlador DisplayGPU: Busca textura/geometriaControlador Display: Scanout framebuffer
DSP / ÁudioCore: Lookup coeficiente/tabelaDMA: Streaming amostras
SoC Embarcado / IoTMCU: Boot code + FirmwareDebug / Trace / Host Externo
Networking / Switch ASICPipeline Entrada: Tabelas lookupPipeline Saída: Regras rewrite
ECU AutomotivoCore 0 Lockstep: CódigoCore 1 Lockstep: Código (comparação)
Configuração FPGAControlador Config: BitstreamLógica Usuário: ROM constante (init LUT)

Limitações

  • Área & Custo: ~1,5–2× ROM single-port (decodificadores duplicados, sense amps, mux saída, arbitragem).
  • Densidade: Menor capacidade máxima por área die.
  • Potência: Duas portas ativas → maior corrente dinâmica.
  • Disponibilidade: Menos comum componente discreto; maiormente embarcado em ASICs/SoCs/FPGAs. Dual-port NOR Flash/ROM discreto existe (ex.: Cypress/Infineon, Micron, Winbond) mas nicho.

Dual-Port ROM vs. Dual-Port RAM

  • ROM: Somente leitura. Leituras simultâneas sempre seguras. Usada para constantes, firmware, LUTs, boot code.
  • RAM: Leitura/Escrita. Requer arbitragem acesso simultâneo (leitura/leitura OK, leitura/escrita ou escrita/escrita conflito). Usada para buffers compartilhados, FIFOs, frame stores, mailboxes inter-core.

Alternativas Modernas

  • Single-Port + Cache: L1/L2 cache absorve maior acessos; single-port ROM/Flash principal basta.
  • XIP (Execute-in-Place) Flash: Flash mapeado memória Quad/OctaSPI com cache — evita ROM separada.
  • FPGA Block RAM (True Dual-Port): Configurável como ROM (arquivo init). Grátis no fabric.

Resumo

Dual-port ROM fornece acesso leitura simultâneo garantido por hardware para dois mestres independentes. Troca área silício por throughput determinístico, sem contenção — crítico em gráficos, DSP, lockstep safety-critical, networking alta velocidade. Em SoCs modernos, frequentemente substituída por Flash single-port cached ou FPGA BRAM.