Si vous voyez cette note
c'est que votre navigateur refuse les scripts Java.

Des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur de souris
sur des icônes telles que
          

Pour des raisons de sécurité, certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript)
.

Des précieuses informations, aidant à comprendre,
à se repérer, à étendre ses connaisances sont alors perdues.
Ainsi que les réponses aux exercices,


AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES SCRIPTS !


Ce site n'a aucun but commercial !
Il n ' installe pas de COOKIES

Mémoires

Accueil
du Site
Choix par Menu ou Parcours Séquentiel
Précédent :
Ports de sortie
  
Suite :
Divers types de mémoires

 


DÉFINITIONS

Mémoires
Les mémoires dont nous parlons ici sont des circuits intégrés implantés
sur une carte imprimée gérée par le processeur
ou insérées sur des barettes-supports : voir photo ici :

Elles sont destinées à mémoriser provisoirement (mémoires de type temporaires dites "vives")
ou définitivement (mémoires de type persistantes)
tous typés d'informations sous forme binaire à traiter par le processeur.

Mémoire organisée en "Registres"

Les données exploitées par les processeurs sont des nombres binaires de n bits (n = 8, 16, 32, etc..)

En conséquence, ces données sont enregistrées dans les mémoires de telle manière
qu'on puisse y avoir accès non pas bit par bit, mais par blocs de n bits.

Les "emplacements" de tels blocs dans la mémoire sont nommés des registres.

Soit r le nombre de registres de n bits chacun que contient telle mémoire.
La capacité en bits d'une telle mémoire sera : r × n.

L'UC possède également quelques registres internes pour le traitement interne des données
et la gestion des adresses.

Accès à une mémoire

On nomme "accès" à la mémoire indiféremment :

  • Toute opération d'écriture ( Write) à savoir :
    l'enregistrement par le processeur d'une donnée dans l'un des registres de la mémoire,

  • Toute opération de lecture ( Read) à savoir :
    la récupération par le processeur d'une donnée préalablement écrite dans un registre de la mémoire.

L'opération de lecture ou d'écriture n'étant pas immédiates,
nous aurons à considérer ci-dessous les :

  • "temps d'accès en lecture"
  • "temps d'accès en écriture"
Temps de l'ordre de quelques nanosecondes

Dans les mémoires actuelles, celles dont nous allons exclusivement parler dorénavant,
ont une méthode d'accès beaucoup plus simple et rapide.
Chaque registre interne de la mémoire est caractérisé par une adresse (nombre exprimé en binaire).

En connaissant cette adresse, on a accès directement au registre voulu.
Le temps d'accès est le même pour tous les registres de la mémoire.

Les premières mémoires de ce type furent nommées RAM ( Random Access Memories)
Voir ici la probmématique de cette malheureuse dénomination :

Adresses
Les registres, très nombreux (109 parfois et plus),sont repérés chacun par un nombre qu'on nomme "adresse"


Par exeple, pour une mémoire organisée en registres d'un octet,
dira 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"

Les adresses s'expriment rarement en décimal.
Le plus souvent en héxadécimal :
D9FB
ou plus correctement : D9FB16,
ou 0xD9FB dans certains langages de programmation.

Pour revoir la représentation binaire et hexadécimale ? Cliquer ici : ; Convertisseur ici :


Mise en oeuvre des mémoires RAM

Voici un schéma fonctionnel d'une mémoire RAM classique.
(à accès "aléatoire", nous ne le répéterons plus)

Celle-ci est organisée en registres de données de 8 bits, accessibles par les bornes D0...D7
Les adresses sont ici appliquées sous forme binaire (0 ou 1) sur les entrées A0...A12
(212+1 = 8 19210 adresses : autant de registres internes)
Exemple simplificatif : en capacité on fait beaucoup, beaucoup mieux aujourd'hui.

  • Les données circulent bidirectionnellement sur le Bus des Données
    entre l'UC (Unité Centrale, c.à.d. le processeur) et la mémoire.

  • Les adresses sont imposées par l'UC à travers le bus des adresses.

Tableau des états
L
représente le niveau logique Bas ( Low) ; H représente le niveau logique haut ( H High)
Dans d'autres schémas les niveaux logiques peuvent être représentés par 0 et 1

Convention d'écriture.
Faute de pouvoir faire apparaître dans le texte
une barre sur les lettres !
L'écriture : /RD /WR /CS sera équivalente à :



Lire RD barre, WR barre CS barre

On pourra trouver aussi
RD/ WR/ CS/ ou /RD /WR /CS
avec la même signification.

Capacité d'une mémoire - Nombre de broches d'adresse.

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.

Ainsi, le nombre de registres adressables est 2n,
n étant le nombre de broches..

Nombre
de Broches
d'entrée
d'adresses
Noms des Broches
d'Adresses
Nombre de registres adressables
Nombre de registres adressables
Nb. de registres
évalué en
'K'
1
A0
21
(a0 = 0 ou 1)
2
(a0 = 0 ou 1)
 
2
A1 A0
22
4
 
3
A2 A1 A0
23
8
 
...
...
...
...
...
10
A9...A0
210
1024
1K
11
A10...A0
211
2048
2K
12
A11...A0
212
4096
4K
...
...
...
...
 
16
A15...A0
216
65536
64K
n
An-1...A0
2n
2n
 


En 'K' ???
Oui, pour simplifier, on adopte habituellement l'unité "K" qui représente 1024 (1K = 210).
(Attention ! : k désigne toujours 1000)

Ansi, une mémoire à 12 entrées d'adresse organisée en octets ( bytes)
aura une capacité de 4 Koctets, 4Ko, ou 4 Kbyte ou 32 Kbit

Organisée en mots binaires de 16 bits : 4 Kword = 64 Kbit
En mots binaires de 32 bits : 4 KDW ( Double Word = 32bits) , 64 Kbit

etc...

Commandes

Tout échange de données entre l'Unité Centrale un composant quelconque de la carte électronique
sur laquelle il est monté, implique deux actions complémentaires.
la sélection et l'échantillonnage.

1° Sélection
La sélection est le mécanisme par lequel le processeur va valider une port d'entrée ou une mémoire
parmi tant d'autres monté(e)s sur la même carte.

Tous ces composants communiquent sur le même bus des données.
S'ils étaient validés en même temps, le bus serait bloqué et les composants seraient détruits
par surentensité de leus transistors de sortie.

Heureusement il est possible de déconnecter électriquement les sorties d'un composant
par un simple signal logique sur une entrée dite de validation
si ces sorties sont du type "trois états" ( 3-State)
(État Haut - État bas - État de Haute Impédance).

En l'état de haute impédance une sortie branchée sur uneligne de bus
n'applique aucun signal sur celle-ci.
Pour plus de détails voyez ici :

Le mécanisme de sélection fait en sorte que tous les composants d'entrée de données sur le bus
soient ainsi électriquement déconnectés,
sauf
le seul que l'UC désigne comme source de donnés à un moment précis.



2° Échantillonnage

Une fois le composant validé encore faut-il :
  • soit que l'UC récupère les données qu'il présente sur le bus des données
    (opération de lecture par l'UC)

  • soit lui présenter sur ce même bus les données à mémoriser (Écriture par l'UC).

Chacune des opérations de lecture et d'écriture se fait à un moment très précis et très court indiqué
par un signal fourni par l'UC :

  • un signal /RD ( Read) au moment précis où l'UC est prête à recevoir les données.
    A ce signal le composant doit :
    • Récupérer le registre indiqué par l'adresse mise par l'UC sur le bus des adresses.
    • Sortir et stabiliser les états binaires de ce registre sur le bus des données.

  • un signal /WR ( Write) au moment précis ou l'UC a stabilisé sur le bus des données celles qu'il souhaite mémoriser.
    A ce signal, la mémoire doit mémoriser ces données dans le registre indiqué par l'adresse présentée par l'UC sur le bus des adresses.


Chronogrammes typiques des signaux émis par l'UC





CPU = Central Processing Unit = UC = Processeur.


Application

Les actions "Lecture" et "Écriture" doivent toujours être comprises du point de vue du processeur.

  1. Broches de Sélection

    On onserve dans le tableau ci-dessus que si l'une des entrées /CE1 ou /CE2 .
    est à l'état haut (H) la mémoire est déconnectée (sorties en haute impédance).
    Ce sont ces broches qui commandent ici l'état haute/basse impédance de la mémoire.

    (CE Chip Enable) ; ( Enable = Valider)
    Chip = "frite" = nom donné à tout circuit intégré du fait qu'il se présente, sous son boîtier, comme une mince tranche de silicium - "Chip" désigne tout simplement le circuit tout entier ; donc sa fonction)


    Le processeur peut, à l'aide de ces broches /CE1 et /CE2, choisir le composant à valider
    parmi tant d'autres présents sur la carte.

    Ce choix met généralement en oeuvre des circuits de logique combinatoire
    dont un multiplexeur qui permet, grâce au bus des adresses,
    de valider tels comosant pour telle adresse (ou plage d'adresses).
    Voir ici un exposé plus général sur la question :


  2. Broches d'Échantillonnage

    Broches de la mémoire destinées à recevoir les signaux d'échantillonnage de l'UC
    /WE ( Write Enable) :
    /WE = L : mise de la mémoire en l'état d'enregistrer la donnée présentée sur le bus.

    /OE
    ( Output Enable) :
    /WE = L : mise de la mémoire en état de restituer sur le bus la donnée enregistrée au registre indiqué par l'adresse présentée par l'UC sur le bus des adresses.
/WE
/OE
Configuration
Sens
Action
L
H
Écriture
UC Mémoire
Les données présentées par l'UC sur le bus des données sont mémorisées dans la mémoire
au registre d'adresse A12..A0

A12..A0 sont présentés par l'UC
sur le bus des adresses
H
L
Lecture
Mémoire UC
Les données contenues dans le registre d'adresse A12..A0 (présentées par l'UC sur le bus des adresses).
sont copiées par la mémoire sur le bus des données
à disposition de l'UC.
H
H
Ni lecture ni écriture
Mémoire sans action
Mémoire sans action
L
L
Combinaison non valide
Mémoire sans action
Mémoire sans action

Rappels :
L
représente le niveau logique Bas ( Low) ; H représente le niveau logique haut ( High)
Dans d'autres schémas les niveaux logiuques peuvent être représentés par 0 et 1
UC : Unité Centrale : le processeur.

 

Remarque

Lorsqu'on parle de "lecture" ou d' "écriture" d'une donnée
on se place toujours du point de vue du processeur.

Lors de la lecture d'un registre mémoire, c'est le processeur qui la lit
et la mémoire qui la fournit sur le bus des données.


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, lors d'une écriture dans la mémoire,
    d'avoir déjà enlevé du bus des données celles qui étaient à écrire, éventuellement les avoir remplacées par les suivantes.

  • soit, lors d'une lecture dans la mémoire,
    de ne pas pouvoir lire les données arrivées trop tard sur le bus.

Chronogrammes


Petite explication supplémentaire :


Mémoires de masse

Pour dissiper des malentendus,
on appelle "mémoires de masse" des dispositifs externes permettant d'enregistrer de grandes quantités de données.

Il s'agit :

  • "Disques Durs" : Dispositifs électromagnétiques d'enregistrement de données binaires représentées par des états d'aimantation de zones miscrocopiques d'un métal réparties en cercle (secteurs d'un disque tournant) et lues séquentiellement par une tête par effet d'induction électromagnétique. Photo ici :

  • Disques optiques. DC - DVD - Blue Ray,
    Même principe d'une tête optique se déplaçant sur un rayon d'un disque gravé de minuscules empreintes qu'elle interprète comme des 0 ou 1.

Les bits de chaque registre à n bits, y sont enregistrés séquentiellement
sur des segments d'arc de cercle nommés SECTEURS,
précédées de salves codées nommées entêtes pour les localiser
et de configurations binaires de fins de secteur pour les délimiter.

Une étude plus précise de ces dispositifs est faite à part dans ce site :

L'UC, le processeur, ne dialogue jamais directement
avec les dispositifs de stockage de masse
.

  • On charge d'abord dans la "mémoire vive"  
    le programme et les données contenues préalamblement dans les mémoires de masse.

  • Ensuite l'unité centrale va chercher ses instructions directement dans ces mémoires.

  • Les résultats à conserver sont, en fin d'exécution, stockés dans les dispositifs de stockage de masse.

En résumé :

  • les mémoires de masse ont une grande capacité en nombre de mots binaires stockables,
    mais ont un temps d'accès très long.

  • les mémoires électroniques ont moins de capacité mais ont des temps d'accès très faibles.
Les clés de mémoire externe à connexion par bus USB sont à ranger parmi les moyens de stockage de masse.
bien qu'elles soient actuellement d'accès suffisamment rapide pour fonctionner comme des mémoires RAM
tout en conservant durablement l'information.

"USB" : N'est pas un type de mémoires.
USB (Universal Serial Bus) est un standard de communication bi-directionnelle
d'information numérique (mots binaires) par câble.


Orientation

Choix par Menu ou Parcours Séquentiel
Précédent :
Ports de sortie
  
Suite :
Divers types de mémoires

 

Sommaire
Mémoires
Types de mémoires
Mémoires magnétiques
Unité centrale
ALU
Sélection d'adresses
Multiplexage
Contrôle de flux
Mouvements de données
Architectures matérielles
Sommaire

du Site