Mémoires

Accueil
du Site

Précédent -Suivant : Types de mémoires

Rappels élémentaires

Les informations que traitent les ordinateurs sont des mots binaires, octets, mots de 16 bits ou plus, représentant tantôt des nombres, des lettres, des configurations de capteurs ou d'actionneurs TOR (Tout Ou Rien), des instructions d'exécution pour l'unité centrale etc.

La plupart de ces informations doivent être mémorisées. Parfois momentanément, comme les résultats partiels d'opérations. Par fois plus longuement ou définitivement : sauvegardes, programmes, etc.

Il existe deux types très différents de dispositifs de mémorisation numérique (numérisation de bits ou d'octets) :

  • des dispositifs d'enregistrement sur disques ou bandes magnétiques, supports optiques tels que les CDROM etc.
    On les appelle "dispositifs à stockage de masse".
  • des circuits intégrés électroniques seuls visés dans le présent chapitre.
    Nous les appellerons "mémoires intégrées" car elles se présentent sous forme de circuits intégrés..

Les mémoires en circuits intégrés ont des inconvénients : à capacité (en octets) égale ils sont à la fois plus chers, plus volumineux, consomment plus de courant que les premiers.

En contrepartie, elles peuvent dialoguer par connexion électrique directe avec l'Unité Centrale sur la carte mère.
De ce fait, l'accès à l'information y est plusieurs milliers de fois plus rapide que pour les stockages de masse.

L'unité centrale de traitement de l'information
ne dialogue jamais directement avec les dispositifs de stockage de masse.

  • On charge d'abord le programme et les données contenues dans les mémoires de masse
    dans les mémoires intégrées sur carte contenant l'UC.
  • Ensuite l'unité centrale exécute ce programme contenu dans ces mémoires.
  • Les résultats à conserver sont enfin stockés dans les dispositifs de stockage de masse.

En résumé :

  • les disques et bandes magnétiques ont une grande capacité mais ont un temps d'accès très long.
  • les mémoires électroniques ont peu de capacité mais sont très rapides d'accès

 


Un principe simple : les mémoires RAM


Plus loin dans ce chapitre nous aborderons des types de mémoires intégrées
plus complexes appellées "mémoires associatives". Elles sont très peu utilisées dans les ordinateurs de bureau.

Pour l'heure, intéressons-nous à un type de mémoire intégrée beaucoup plus répandu la mémoire de type RAM ou ROM.

  • RAM est l'abréviation du terme anglais : "Random Access Memory" qui se traduit généralement par "Mémoire à accès aléatoire". Ce qui choque un peu la logique : on a l'impression que l'on y accède un peu n'importe comment !
    En réalité il faut comprendre ce terme en ce sens que vous avez accès à n'importe quel emplacement de cette mémoire.
    Aucun n'est interdit, en somme.

  • ROM "Read Only Memories" (à lecture seule) sont des mémoires qui ont l'avantage de ne pas perdre les données lorsqu'elles ne sont plus alimentées, ce qui est malheureusement le cas de la plupart des RAM, mais l'inconvénient qu'une unité centrale classique ne peut pas y enregistrer des données, elle ne peut que les y lire. L'enrgistrement de données dans les ROM se fait à l'aide de dispositifs à part appelés programmateurs.

Mais soyons plus précis.

  • Qu'enregistron-nous dans une mémoire RAM ? Réponse : des Octets.
  • Où les enregistrons-nous ? Réponse dans des "Cases-mémoire", ou 'Registres" ou "Emplacements"

Mais qu'est-ce qu'une "case mémoire" ?
Réponse : peu importe !
Il n'est pas nécessaire de savoir comment une case mémoire est faite à l'intérieur de l'électronique du circuit intégré !

L'important est que ce circuit intégré stocke bien l'octet voulu dans une case parfaitement repérable pour qu'on puisse l'y retrouver au besoin.

Remarquons qu'une mémoire peut être organisée intérieurement en "cases mémoire" contenant des mots binaires de 16 bits ou de 32 bits. Il faudra que le constructeur le précise et que l'utilisateur le sache et ait besoin de ce type de mémoires.

Mais justement, comment désigner d'une manière très précise une case mémoire parmi tant d'autres ?

Tout simplement par un nombre binaire qui prend le nom d'adresse en mémoire ( ou adresse tout court ).

Par exemple, on pourra dire que l'octet "11011010" se trouve à l'adresse "11011001 11111011".
Ce qui peut s'écrire en héxadécimal : l'octet "DA" se trouve à l'adresse "D9FB"

C'est ainsi que l'on a pris l'habitude de s'exprimer en informatique.

Retenons

Une mémoire est un ensemble matériel de registres constitués de mots binaires (généralement de 8 bits).
Par principe, les mémoires associent une adresse binaire à chacun de ces registres.

Schéma de principe d'une mémoire

Définitions de base

Les mémoires sont des circuits intégrés permettant d'enregistrer des mots binaires.


Ces mots, généralement de 8 ou 16 bits, sont généralement des instructions d'un programme
ou des données à sauvegarder temporairement.

Exemple ultra simplifié de mémoire
Le schéma montre une mémoire reliée à deux bus : données & adresses
telle qu'elle est habituellement câblée dans une carte gérée par une UC.

Ces broches sont reliées à l'unité centrale par des conducteurs imprimés sur le circuit de la carte mère.
Chaque ensemble de conducteurs s'appelle un BUS.


/WR = 0 met la mémoire en configuration d'écriture
/WR = 1 met la mémoire en configuration de lecture

/CE = 1
met les broches des données en état de haute impédance : mémoire déconnectée du bus des données.

/CE = 0 met les broches des données en état de basse impédance : mémoire connectée au bus des données.

Nota :
/WR
se lit "WR barre" c'est la négation du signal WR
/WR = 0 s'écrit aussi /WR = L
( Low )
ce qui correspond à WR=1 ou encore à WR=H ( High)

On peut légitimement se demander pourquoi les broches de contrôle
sont validées pour des signaux à l'état BAS ( 0 ou L) et pas pour des états HAUTS (1 ou H).
Il est nécessaire de se rémémorer qu'en matière de circuits logiques,
une entrée DECONNECTEE se met toujours spontanément au niveau HAUT.
Les signaux sont actifs au niveau BAS pour éviter qu'une coupure de ligne
ne soit pas confondue avec un signal de validation.

Les broches (pattes métalliques d'accès) sont de trois types :

  1. Les broches des données : D7 ... D0
    Lors de l'opération dite d'écriture on y applique les états électriques du mot binaire à enregistrer.
    Lors de l'opération dite de lecture on y retrouve le mot binaire antérieurement enregistré.
  2. Les broches des adresses : A15 ... A0
    chaque combinaison binaire sur ce bus correspond à une case dans laquelle est enregistré un et un seul mot binaire.
  3. Les broches de contrôle : /WR et /CE ( Write & Chip Enable )
    qui permettent
    - pour /WR d'indiquer à la mémoire si elle doit enregistrer un mot de données ou le restituer
    - pour /CE de connecter ou de déconnecter la mémoire du reste des circuits de la carte mère.

    Déconnecter la mémoire ? Comment ?
    L'électronique interne aboutissant à chacune des broches D7...D0 est spécialement conçue pour que, lorsque la broche /CE se trouve à l'état "1", ( /CE = H ) aucun état logique n'est imposé par la mémoire aux conducteurs du bus des données.On dit que les amplificateurs internes de sortie de la mémoire sont en état de "haute impédance".
    Dès lors, les états logiques des conducteurs du bus des données ne peuvent être imposés que par un autre circuit relié en parallèle à ce bus. Généralement l'unité centrale.
    Ou, plus rarement, un autre composant lors d'un accès direct en mémoire (DMA) .
    On dit encore que les amplificateurs de sortie de la mémoire sont conçus en logique trois états ( tri-state logic ).
    Etats : haut, bas, haute impédance. Si l'état est haut ou bas on le dit en "basse impédance". /CE = 0 ou /CE = L

Nombre de broches d'adresse d'une mémoire

Si une mémoire ne disposait que de deux registres (peu importe la longueur en bits du registre),
une seule broche d'adresses suffirait pour les adresser.
Mise à 0 elle indiquerait l'un des registres, mise à 1 elle sélectionnerait l'autre.

On voit ainsi que le nombre de registres (de cases mémoire) adressables est 2n,
n étant le nombre de broches..

Nombre de broches
Nombre de registres adressables
en 'K'
1
2
 
2
4
 
3
8
 
...
...
 
10
1024
1K
11
2048
2K
12
4096
4K
...
...
 
16
65536
64K

Exemple.
Si la mémoire est organisée en registres de 1 octet,
une mémoire possédant 16 broches d'adresse pourra adresser 4 Ko de mémoire.
Ce qui représente 4096 octets.

Modèles de mémoires adaptées aux cartes UC
Voici le type de schéma que l'on peut trouver dans un catalogue de constructeur.
Vous y observerez trois broches de validation/invalidation : /CE1 /CE2 /OE.
/CE1 /CE2 ont un rôle un peu différent de /OE comme le montre la table ci-desous.
C'est une disposition plus facilement exploitable dans la plupart des cartes pilotées par une UC.
En particulier, dans la combinatoire de sélection, comme nous le verrons plus tard.

  • Données 8 bits. D0 à D7

  • 13 broches d'adresses A0 à A12

  • Une broche de contrôle de lecture-écriture : ici appelée /WE
    (
    Write Enable)

  • Deux broches de validation
    du boîtier: /CE1 et CE2
    (
    Chip Enable)

  • Une broche trois-états /OE
    (
    Output Enable)
    /OE = H
    Sorties D0..D7 en HZ
    (HZ = haute impédance)

  • Broches d'alimentation 5V :
    Vcc
    et Gnd

  • H : état logique Haut
  • L : état logique Bas
  • X : état logique quelconque
  • HZ : état Haute Impédance

 


Opérations de lecture ou écriture
Qui lit, qui écrit et dans quoi ?
Les mémoires étant toujours destinées à être contrôlées par des Unités Centrales,
on se place toujours, par définition, du côté de cette dernière.
Une opération d'écriture consiste à enregistrer une donnée dans la mémoire,
une opération de lecture consiste à lire une donnée dans la mémoire.

Dans l'opération d'écriture ( Write), le Bus des Données présente sur les broches D0…D7 l'octet à enregistrer.
Dans un système géré par une UC, c'est généralement l'UC qui impose, en basse impédance, sur le bus des données l'octet à enregistrer dans la mémoire.
La mémoire doit être validée : /CE1=L & CE2=H ; en position d'écriture (dans la mémoire) : /WE =L.
La mémoire ne doit pas "sortir" des données, donc : D7...D0 doivent être en Haute Impédance HZ : /OE=H

Signaux de contrôle en écriture
/CE1
CE2
/WE
/OE
L
H
L
H

Dans l'opération de lecture ( Read), le Bus des Données reçoit l'octet à lire que la mémoire lui présente sur ses broches D0…D7 en base impédance.
Dans un système géré par une UC, cette dernière met ses bus en haute impédance pour ne pas se trouver en conflit avec les sorties D7...D0 de la mémoire.
La mémoire doit être validée : /CE1=L & CE2=H ; en position de lecture (de la mémoire) : /WE =H.
Celle-ci doit imposer en basse impédance LZ les données correspondant à l'adresse demandée par l'UC.: /OE=L
Les données de la mémoire se propagent sur le bus des données, l''UC les copie dans un registre interne.

Signaux de contrôle en lecture
/CE1
CE2
/WE
/OE
L
H
H
L

La ligne de contrôle /WR met la mémoire en fonction d'écriture quand il est extérieurement portée à l'état bas. (Logique négative).
La broche /WR est commandée par l'UC.

Le bus des adresses présente toujours l'adresse en mémoire de l'octet à lire ou à écrire par l'UC.
Elle est imposée extérieurement par l'UC.

Pour que la mémoire ne reste pas constamment électriquement reliée en basse impédance sur le bus des données, ce qui créerait des conflits, la broche /CE (Chip Enable = validation du circuit) reste à l'état haut (circuit invalidé) en dehors des opérations de lecture ou d'écriture.


Chronogrammes

Au préalable, une petite mise au point.

Les chronogrammes que nous allons représenter maintenant posent souvent des problèmes aux débutants.

Lorque l'on représente un chronogramme du bus des données ou des adresses,
on superpose en fait l'ensemble des signaux de tous les fils de ce bus.
Or, certains de ces fils passent du niveau logique 0 au niveau logique 1 alors que d'autres passent de 1 à 0.
Ce qui se traduit par les diagrammes du type :


Commentaires

HZ : Haute impédance : la mémoire se déconnecte intérieurement des broches des données.

Echantilonnage de lecture ou d'écriture : signaux normalement produits par l'unité centrale pour indiquer l'instant précis où elle lit les données de la mémoire ou celui où elle écrit des données dans la mémoire.
Ces signaux doivent être combinés pour actionner convenablement la broche de lecture-écriture /WR de la mémoire.
Voir le chapitre consacré à l'unité centrale.

dM : temps d'accès à la mémoire entre l'échantillonnage et la disponibilité des données sur le bus

dU : temps de latence de l'unité centrale entre le signal d'écriture et la disponibilité des données sur le bus.


Temps d'accès

Une fois sélectionnée par la mise sur le bus des adresses de l'adresse correspondante,
puis validée par le signal de lecture ou d'écriture, une mémoire met un certain temps pour exécuter l'opération demandée.

Ce temps s'appelle le temps d'accès à la mémoire.

Si le temps d'accès est trop long, la CPU risque soit d'avoir déjà enlevé du bus des données celles qui étaient à écrire,
soit de ne pas lire les données arrivées trop tard sur le bus.



Petite explication pour débutants :


Orientation

Précédent -Suivant
Sommaire
Mémoires
Types de mémoires
Mémoires magnétiques
Unité centrale
ALU
Sélection d'adresses
Multiplexage
Contrôle de flux
Transferts de données
Architectures matérielles
Sommaire

du Site