>> Tecnologia elettronica >  >> Cellulari & accessori >> Ricetrasmittenti

ROM Dual-Port: Accesso Simultaneo per Sistemi ad Alto Throughput

Una ROM dual-port (Read-Only Memory) è un dispositivo di memoria con due porte di indirizzo/dati indipendenti che possono leggere lo stesso array di memoria contemporaneamente. Elimina il collo di bottiglia della memoria single-port in sistemi dove più agenti (CPU, DMA, DSP, GPU) necessitano accesso simultaneo in lettura.

Architettura

  • Array Memoria Condiviso: Singolo storage fisico (ROM maschera, OTP, o Flash embedded).
  • Porta A e Porta B: Ciascuna ha Bus Indirizzo, Bus Dati, Chip Enable, Output Enable, Clock (se sincrono) indipendenti.
  • Logica di Arbitrato: Gestisce richieste di accesso simultanee. Politiche: priorità fissa, round-robin, o "ultima scrittura vince" (per RAM). Per ROM, letture simultanee sono non conflittuali — entrambe le porte outputtano dati nello stesso ciclo.

Perché ROM Dual-Port? (Benefici)

  • Letture Concorrenti senza Contenzione: CPU recupera istruzione mentre DMA carica texture — nessun stato di attesa.
  • Latenza Deterministica: Nessun ritardo di arbitrato per letture (a differenza di dual-port RAM dove esistono conflitti lettura/scrittura).
  • Design Sistema Semplificato: Nessun bisogno di multiplexer bus esterni, cache o shadow RAM per condividere una singola ROM.
  • Sicurezza: Una porta per boot sicuro (immutabile), altra per applicazione — separazione hardware applicata.

Applicazioni Tipiche

ApplicazionePorta APorta B
Controller Grafico / DisplayGPU: Fetch texture/geometriaController Display: Scanout framebuffer
DSP / AudioCore: Lookup coefficienti/tabelleDMA: Streaming campioni
SoC Embedded / IoTMCU: Codice boot + FirmwareDebug / Trace / Host esterno
Networking / Switch ASICPipeline Ingresso: Tabelle lookupPipeline Uscita: Regole riscrittura
ECU AutomotiveCore 0 Lockstep: CodiceCore 1 Lockstep: Codice (confronta)
Configurazione FPGAController Config: BitstreamLogica Utente: ROM costante (init LUT)

Limiti

  • Area e Costo: ~1,5–2× single-port ROM (duplicati decoders, sense amps, output muxes, arbitrato).
  • Densità: Capacità max inferiore per area die.
  • Potenza: Due porte attive → corrente dinamica maggiore.
  • Disponibilità: Meno comune come componente discreto; per lo più embedded in ASIC/SoC/FPGA. Dual-port NOR Flash/ROM discreto esiste (es. Cypress/Infineon, Micron, Winbond) ma di nicchia.

ROM Dual-Port vs RAM Dual-Port

  • ROM: Sola lettura. Letture simultanee sempre sicure. Usata per costanti, firmware, LUT, codice boot.
  • RAM: Lettura/Scrittura. Richiede arbitrato per accesso simultaneo (lettura/lettura OK, lettura/scrittura o scrittura/scrittura conflitto). Usata per buffer condivisi, FIFO, frame store, cassette postali inter-core.

Alternative Moderne

  • Single-Port + Cache: Cache L1/L2 assorbe la maggior parte degli accessi; single-port ROM/Flash principale sufficiente.
  • XIP (Execute-in-Place) Flash: Flash mappato memoria Quad/OctaSPI con cache — evita ROM separata.
  • Block RAM FPGA (True Dual-Port): Configurabile come ROM (file init). Gratis nel tessuto.

Sommario

La ROM dual-port fornisce accesso simultaneo in lettura garantito hardware per due master indipendenti. Scambia area di silicio per throughput deterministico, senza contenzione — critico in grafica, DSP, safety-critical lockstep e networking ad alta velocità. Nei SoC moderni, spesso sostituita da cached single-port Flash o FPGA BRAM.