Comment fonctionne une RAM avec un CPU?

8

Je lis un livre en langage assembleur. Le problème avec ce livre est qu'il essaie d'expliquer comment un ram fonctionne avec un CPU, mais il n'explique pas en profondeur.

Je voudrais savoir comment une cellule mémoire, une ligne d'adresse et une broche de données fonctionnent lors du stockage ou de la récupération de données.

Lune
la source

Réponses:

9

Toutes les cellules de mémoire ont leur niveau, soit 0ou 1. Le processeur indique au périphérique de mémoire les cellules dont il a besoin des valeurs binaires et fournit cette adresse au périphérique de mémoire. À l'intérieur du dispositif de mémoire, l'adresse est décodée en une adresse de ligne et de colonne, et la cellule à cette position dans la matrice est autorisée à transférer ses données vers le bus de données, c'est-à-dire la broche de données.

Disons que nous avons une adresse 8 bits 01100101. Cela sera divisé en une adresse de ligne 0110(le quartet de poids fort) et une adresse de colonne 0101(le quartet de bas niveau). L'adresse de ligne sélectionne la ligne # 06, donc toutes les cellules connectées à cette ligne auront leurs données prêtes. L'adresse de colonne sélectionne la cellule de la colonne # 05 de cette ligne, de sorte que finalement une seule cellule est autorisée à placer ses données sur la broche de sortie.

Le stockage des données suit le même schéma: une seule ligne est sélectionnée et la cellule de la colonne donnée de cette ligne obtiendra les données présentes sur la broche.

C'est pour 1 bit. L'opération se produit simultanément pour toute la largeur du mot de données, donc si vous avez une mémoire de largeur d'octet, 8 bits sont récupérés et leur valeur placée sur 8 broches du bus de données.

modifier
Cette image devrait vous aider à mieux voir les choses:

matrice de mémoire

Il s'agit d'une représentation d'un réseau DRAM , où les données sont stockées dans la charge des condensateurs , chaque condensateur est d'un bit. La partie ligne de l'adresse (ici A1..A0) sélectionne une ligne, ce qui signifie qu'ils activent tous les transistors FET sur cette ligne, de sorte que les niveaux des condensateurs pour cette ligne deviennent disponibles sur leur colonne correspondante. Ensuite, le bloc de sélection d'adresse de colonne, contrôlé par l'autre partie de l'adresse, A3..A2, sélectionne le bit dont nous voulons les données.

La DRAM est facile à construire, mais présente un inconvénient désagréable: la lecture des données décharge le condensateur, de sorte que les données sont perdues. Pour contrer cette DRAM, des amplificateurs de détection détectent l'état actuel des cellules de mémoire et le rafraîchissent lors de la lecture. De plus, cette actualisation doit être effectuée périodiquement car la charge des condensateurs fuira même lorsque la mémoire n'est pas lue. Le besoin de circuits de rafraîchissement est facilement compensé grâce à la compacité des cellules de la DRAM.

SRAM utilise un couple de transistors pour stocker les données, et ce n'est pas volatile comme la DRAM (bien que les données soient toujours disparues lorsque vous coupez l'alimentation). Avec EEPROM et Flash, les données sont stockées dans la porte flottante (isolée) d'un FET, et donc elles ne perdront pas leurs données lorsque l'alimentation est coupée.


Pour en savoir plus:
Cette réponse sur la conservation des données dans la mémoire Flash.

Stevenvh
la source
// J'apprécie vraiment votre réponse. Puis-je poser une nouvelle question? Où est-ce que vous l'avez appris? Je ne le comprends toujours pas complètement ... peut-être parce que je ne peux pas le visualiser. Avez-vous une image ou un livre auquel je peux me référer?
Lune
@Moon - l'a appris il y a longtemps au collège. Je pense que mon cours aura eu des photos, mais je n'ai plus ce cours (c'était le temps de tout sur papier!). Je vais voir si je peux en trouver une bonne image, et je l'ajouterai à ma réponse si j'en trouve une.
stevenvh
1
le collège n'est pas nécessairement nécessaire pour le comprendre, mais vous devez comprendre les principes fondamentaux des résistances, des bouchons et des réseaux, et une compréhension fonctionnelle du fonctionnement des différents types de transiteurs. Je me demande si et comment le livre de Petzold CODE couvre le sujet, pourrait être utile de feuilleter une bibliothèque ou une librairie.
old_timer
1
Je recommanderais FORTEMENT de passer par "de nand à tetris" si vous voulez grogner les internes de l'informatique. Au moment où vous êtes à mi-chemin du livre, vous aurez vous-même construit un CPU et une RAM fonctionnels. C'est une lecture rapide si vous avez déjà certaines connaissances requises, mais cela ne laisse pas de trace si vous ne l'avez pas.
James M. Lay