PREVIEW
RAM

RAM

Advanced signal_cellular_alt Advanced schedule 35 min

Interactive Circuit

RAM (mémoire vive)

Vue d'ensemble

  • Objectif : la RAM (Random Access Memory, mémoire à accès aléatoire) est un composant de stockage numérique volatil qui permet de lire ou d'écrire des données vers n'importe quel emplacement mémoire avec un temps d'accès égal. Elle stocke temporairement les données et instructions activement utilisées par les systèmes numériques.
  • Symbole : la RAM est représentée par un bloc rectangulaire avec des entrées d'adresse, des entrées de données et des signaux de contrôle (CS, WE, CLK, OE), avec des sorties de données sur la droite.
  • Rôle dans DigiSim.io : fournit une fonctionnalité mémoire essentielle pour les conceptions de systèmes numériques, permettant le stockage de données, les tables de correspondance et les variables temporaires dans les circuits simulés.

composant RAM

Description fonctionnelle

Comportement logique

La RAM stocke et récupère des données à partir d'adresses mémoire spécifiées. Son fonctionnement est contrôlé par les entrées d'adresse, les lignes de données et les signaux de contrôle.

Modes de fonctionnement :

  1. Opération de lecture : lorsque CS=1, WE=0 et OE=1, les données stockées à l'adresse spécifiée apparaissent sur les broches de sortie (combinatoire).
  2. Opération d'écriture : sur un front montant CLK lorsque CS=1 et WE=1, les données présentes sur les broches d'entrée de données sont stockées à l'adresse spécifiée (écriture synchrone/cadencée).
  3. État inactif : lorsque CS=0, les broches de sortie sont en état de haute impédance et aucune opération ne se produit.

Table de vérité des signaux de contrôle :

CS WE CLK OE Opération
0 X X X Inactif (sorties en haute impédance)
1 0 X 0 Sortie inactive (haute impédance)
1 0 X 1 Opération de lecture (combinatoire)
1 1 X Opération d'écriture (sur front montant)

Note : X signifie « peu importe », ↑ indique un front montant d'horloge

Entrées et sorties

  • Entrées (20 au total) :

    • A0-A7 : broches 0-7. Entrée d'adresse 8 bits spécifiant l'emplacement mémoire (jusqu'à 256 emplacements).
    • D0-D7 : broches 8-15. Entrée de données 8 bits (entrées bus) pour l'écriture de données.
    • CS (Chip Select) : broche 16. Active la RAM lorsque HIGH.
    • WE (Write Enable) : broche 17. Active l'opération d'écriture lorsque HIGH (en conjonction avec le front montant CLK).
    • CLK (Clock) : broche 18. Les opérations d'écriture se produisent sur le front montant de CLK.
    • OE (Output Enable) : broche 19. Active la sortie de données pendant les opérations de lecture lorsque HIGH.
  • Sorties (8 au total) :

    • Q0-Q7 : sortie de données 8 bits. Pendant les opérations de lecture (CS=1, WE=0, OE=1), fournit en sortie la valeur stockée à l'adresse spécifiée. Sinon, sort en haute impédance (high-Z).

Paramètres configurables

  • Taille mémoire : la capacité de la RAM dans DigiSim.io, avec une valeur par défaut de 256×8 (256 adresses, 8 bits par adresse).
  • Contenu mémoire initial : valeurs préchargées optionnelles à des fins de simulation.
  • Délai de propagation : le délai entre les changements de signal d'adresse/contrôle et la sortie de données.

Représentation visuelle dans DigiSim.io

La RAM est affichée sous la forme d'un bloc rectangulaire avec des entrées et sorties clairement étiquetées. Les entrées d'adresse sont typiquement sur le côté gauche, avec les lignes de données et les signaux de contrôle disposés pour plus de clarté. Lorsqu'elle est connectée dans un circuit, le composant indique visuellement les opérations actives et le flux de données via les changements de couleur sur les fils de connexion. Certaines implémentations peuvent inclure un affichage du contenu mémoire à des fins pédagogiques.

Valeur pédagogique

Concepts clés

  • Systèmes mémoire : démontre comment les ordinateurs stockent et récupèrent les données.
  • Décodage d'adresse : illustre la relation entre les adresses binaires et les emplacements mémoire spécifiques.
  • Stockage de données : montre comment les informations binaires sont organisées dans la mémoire d'ordinateur.
  • Calage lecture/écriture : explique la coordination des signaux de contrôle pour les opérations mémoire.
  • Hiérarchie mémoire : introduit le concept de différents types de mémoire dans les systèmes informatiques.

Objectifs d'apprentissage

  • Comprendre les principes fondamentaux de la mémoire à accès aléatoire.
  • Apprendre à effectuer des opérations de lecture et d'écriture en utilisant les signaux de contrôle.
  • Reconnaître l'importance de la mémoire dans les systèmes informatiques.
  • Appliquer les composants RAM pour construire des solutions de stockage de données dans les conceptions numériques.
  • Comprendre la relation entre les adresses mémoire et les données stockées.

Exemples d'utilisation / scénarios

  • Stockage de données : stockage de variables et de résultats intermédiaires dans les systèmes numériques.
  • Tables de correspondance : implémentation de tables de données prédéfinies pour l'approximation de fonctions ou la conversion de codes.
  • Mémoire tampon : création de stockage temporaire entre des composants de système numérique avec des vitesses différentes.
  • Stockage de programme : lorsqu'elle est préchargée, stockage des instructions à exécuter par un processeur.
  • E/S mappées en mémoire : implémentation de périphériques adressés en mémoire dans les systèmes informatiques.

Notes techniques

  • La RAM dans DigiSim.io simule la nature volatile de la RAM physique, où les données sont perdues à la coupure d'alimentation ou à la réinitialisation de la simulation.
  • Pour un fonctionnement correct, les signaux de contrôle doivent être correctement séquencés selon la table de vérité.
  • L'accès mémoire nécessite la prise en compte des paramètres de calage incluant le temps de mise en place d'adresse et le temps de maintien de données.
  • Lorsqu'elle n'est pas sélectionnée (CS=0) ou lorsque la sortie est désactivée (OE=0), les lignes de données entrent dans un état de haute impédance, permettant le partage de bus avec d'autres périphériques.

Détail de l'implémentation du circuit

Structure de cellule mémoire

Cellule SRAM (6T) :

Structure de cellule SRAM à 6 transistors :

  • T1, T2 : inverseurs couplés en croix formant un verrou bistable
  • T3, T4 : transistors d'accès contrôlés par la ligne de mot (WL)
  • T5, T6 : transistors pull-down
  • Stockage bistable : les inverseurs couplés en croix maintiennent l'état sans rafraîchissement
  • Lignes de bit (BL, BL̅) : détection différentielle pour l'immunité au bruit

Cellule DRAM (1T1C) :

Structure de cellule DRAM à 1 transistor, 1 condensateur :

  • T : transistor d'accès contrôlé par la ligne de mot (WL)
  • C : condensateur de stockage qui maintient la charge représentant le bit de données
  • Ligne de bit (BL) : lit/écrit les données à travers le transistor d'accès
  • Nécessite un rafraîchissement : la charge du condensateur fuit et nécessite des cycles de rafraîchissement périodiques
  • Densité plus élevée : la structure plus simple permet plus de mémoire par surface de puce

Décodage d'adresse

Les décodeurs de ligne et de colonne convertissent les entrées d'adresse en signaux de sélection de ligne et de colonne :

graph LR
    A03[Address A0-A3] --> RDEC[Row Decoder]
    A47[Address A4-A7] --> CDEC[Column Decoder]
    
    RDEC --> RS[Row Select 0-15]
    CDEC --> CS[Column Select 0-15]
    
    RS --> ARRAY[Memory Cell Array]
    CS --> ARRAY

Chemin de données

graph LR
    subgraph Read Operation
        CELL1[Memory Cell] --> SA[Sense Amplifier]
        SA --> OBUF[Output Buffer]
        OBUF --> DOUT[Data Output]
    end
    
    subgraph Write Operation
        DIN[Data Input] --> IBUF[Input Buffer]
        IBUF --> WD[Write Driver]
        WD --> CELL2[Memory Cell]
    end

Composants associés

  • ROM (mémoire morte) : mémoire non volatile qui ne peut être que lue
  • PROM (ROM programmable) : mémoire programmable une seule fois
  • EPROM (PROM effaçable) : effaçable à la lumière ultraviolette
  • EEPROM/mémoire Flash : mémoire non volatile effaçable électriquement
  • Registre : petite mémoire rapide utilisée pour le stockage temporaire de données
  • Registre à décalage : mémoire séquentielle avec capacité de décalage
  • Contrôleur mémoire : circuit qui gère les opérations mémoire
  • Mémoire cache : mémoire tampon haute vitesse entre le CPU et la mémoire principale
  • Décodeur d'adresse : convertit les adresses binaires en lignes de sélection individuelles
  • Tampon FIFO/LIFO : mémoire à usage particulier avec accès premier entré-premier sorti ou dernier entré-premier sorti

school Parcours d'apprentissage

arrow_forward Prochaines étapes

help_outline Foire aux questions

Qu'est-ce que la RAM ?

La RAM est une mémoire volatile qui peut être lue et écrite à n'importe quelle adresse. Elle stocke à la fois programmes et données dans les ordinateurs, perdant son contenu lorsque l'alimentation est coupée.

Comment fonctionne l'adressage RAM ?

Les lignes d'adresse sélectionnent quelle cellule mémoire accéder. Avec n lignes d'adresse, la RAM peut avoir 2^n emplacements. Chaque emplacement stocke un mot (8 bits dans DigiSim).

play_arrow Exécuter le circuit en direct

Voir d'autres composants