>> Technologie Électronique >  >> Téléphones portables et accessoires >> Radios bidirectionnelles

ROM double port : Accès simultané pour systèmes haut débit

Une ROM double port (Read-Only Memory) est un dispositif mémoire avec deux ports adresse/données indépendants pouvant lire le même réseau mémoire simultanément. Elle élimine goulot mémoire simple port dans systèmes où plusieurs agents (CPU, DMA, DSP, GPU) besoin accès lecture simultané.

Architecture

  • Réseau mémoire partagé : Stockage physique unique (ROM masquée, OTP, ou Flash embarquée).
  • Port A & Port B : Chacun avec Bus adresses, Bus données, Chip Enable, Output Enable, Horloge indépendants (si synchrone).
  • Logique arbitrage : Gère demandes accès simultanées. Politiques : priorité fixe, round-robin, ou « dernier écriture gagne » (RAM). Pour ROM, lectures simultanées non conflictuelles — les deux ports sortent données même cycle.

Pourquoi ROM double port ? (Avantages)

  • Lectures simultanées sans contention : CPU récupère instruction pendant DMA charge texture — pas états attente.
  • Latence déterministe : Pas délai arbitrage lectures (contrairement RAM double port où conflits lecture/écriture existent).
  • Design système simplifié : Pas besoin multiplexeurs bus externes, caches, ou RAM ombre partager ROM simple port.
  • Sécurité : Un port démarrage sécurisé (immuable), autre application — séparation hardware-enforced.

Applications typiques

ApplicationPort APort B
Graphique / Contrôleur affichageGPU : Récupération textures/géométrieContrôleur affichage : Balayage framebuffer
DSP / AudioCœur : Recherche tables/coeffDMA : Streaming échantillons
SoC Embarqué / IoTMCU : Code démarrage + FirmwareDébogage / Trace / Hôte externe
Réseau / ASIC commutateurPipeline entrée : Tables recherchePipeline sortie : Règles réécriture
ECU AutomobileCœur 0 verrouillé : CodeCœur 1 verrouillé : Code (comparaison)
Configuration FPGAContrôleur config : BitstreamLogique utilisateur : ROM constantes (init LUT)

Limitations

  • Surface & Coût : ~1,5–2× ROM simple port (décodeurs dupliqués, amplis sense, mux sorties, arbitrage).
  • Densité : Capacité max par surface puce moindre.
  • Consommation : Deux ports actifs → courant dynamique plus haut.
  • Disponibilité : Moins courant composant discret ; majoritairement embarqué ASICs/SoCs/FPGAs. Double port NOR Flash/ROM discret existe (ex. Cypress/Infineon, Micron, Winbond) mais niche.

ROM double port vs RAM double port

  • ROM : Lecture seule. Lectures simultanées toujours sûres. Utilisée constantes, firmware, LUTs, code démarrage.
  • RAM : Lecture/Écriture. Requiert arbitrage accès simultanés (lecture/lecture OK, lecture/écriture ou écriture/écriture conflit). Utilisée tampons partagés, FIFOs, mémoires trames, boîtes lettres inter-cœurs.

Alternatives modernes

  • Simple port + Cache : Cache L1/L2 absorbe plupart accès ; simple port ROM/Flash principal suffit.
  • XIP (Execute-in-Place) Flash : Flash Quad/OctaSPI memory-mapped avec cache — évite ROM séparée.
  • FPGA Block RAM (Vrai double port) : Configurable ROM (fichier init). Gratuit dans tissu.

Résumé

ROM double port fournit accès lecture simultané garanti hardware pour deux maîtres indépendants. Échange surface silicium pour débit déterministe, sans contention — critique graphique, DSP, verrouillé sécurité critique, réseautage haute vitesse. SoCs modernes souvent remplacent par Flash simple port cachée ou FPGA BRAM.

Radios bidirectionnelles