Académique Documents
Professionnel Documents
Culture Documents
Introduction
· Avec une bascule c’est possible de mémoriser une information sur 1 seul bit.
· Si on veut mémoriser une information de taille importante, il faut utiliser une mémoire.
L’UC est composée d’une unité arithmétique et logique (UAL) et d’une unité de contrôle.
L’unité arithmétique et logique réalise une opération élémentaire (addition, soustraction, multiplication, .
. .) du processeur à chaque top d’horloge.
L’unité de commande contrôle les opérations sur la mémoire (lecture/écriture) et les opérations à
réaliser par l’UAL selon l’instruction en cours d’exécution.
Pour pouvoir effectuer les opérations sur des données et exécuter des programmes, l’UC doit disposer
d’un espace de travail. Cette espace de travail s’appelle la mémoire centrale.
Une mémoire est un dispositif capable d'enregistrer une information, de la conserver (mémoriser), et
de la restituer (possible de la lire ou la récupérer par la suite).
La mémoire peut être dans le processeur (des registres), interne (Mémoire centrale ou principale) ou
externe (Mémoire secondaire).
3.2. Volatilité
Si une mémoire perd son contenu (les informations) lorsque la source
d’alimentation est coupée alors la mémoire est dite volatile.
Si une mémoire ne perd pas (conserve) son contenu lorsque la source d’alimentation est coupée alors la
mémoire est dite non volatile (mémoire permanente).
1/18
3.3 Mode d’accès à l’information (lecture /écriture)
Sur une mémoire on peut effectuer l’opération de :
· écriture : enregistrer une nouvelle information ou modifier une information déjà existante dans la
mémoire.
Il existe des mémoires qui offrent les deux modes lecteur/écriture, ces mémoires s’appellent mémoires
vives.
Il existe des mémoires qui offrent uniquement la possibilité de la lecture (ce n’est pas possible de
modifier le contenu). Ces mémoires s’appellent mémoires mortes.
Par exemple pour l’opération de lecture, le temps d’accès est le temps qui sépare la demande de la lecture
de la disponibilité de l’information.
• Mémoire à semi-conducteur (mémoire centrale, ROM, PROM,…..) : très rapide mais de taille réduite.
• Mémoire magnétique (disque dur,…) : moins rapide mais stocke un volume d’informations très
grand.
2/18
On peut également donner une autre classification qui tient compte de l'éloignement par rapport au
processeur :
5. Mémoire à semi-conducteur
Les mémoires mortes sont classées selon la possibilité de les programmer et de les effacer :
• Les ROM (Read Only Memory) dont le contenu est défini lors de la fabrication.
• Les PROM (Programmable Read Only Memory) sont programmables par l’utilisateur, mais une
seule fois en raison du moyen de stockage, les données sont stockées par des fusibles.
• Les EPROM (Erasable Programmable Read Only Memory) sont effaçables et programmables par
l’utilisateur.
• Les EEPROM (Electrically Erasable Programmable Read Only Memory) sont effaçables et
programmables par l’utilisateur. Elles sont plus faciles à effacer que les EPROM car elles sont
effaçables électriquement donc sans manipulations physiques.
3/18
5.2 La mémoire centrale (RAM : Random Acces memory): Mémoire à accès aléatoire
• La mémoire centrale est dite à accès aléatoire (RAM : Random Acces Memory) c'est-à-dire que le
temps d'accès à l'information est indépendant de sa place en mémoire.
• La mémoire centrale est volatile : la conservation de son contenu nécessite la permanence de son
alimentation électrique.
• Un temps d’accès à une mémoire centrale est moyen mais plus rapide que les mémoires magnétiques.
• La capacité d’une mémoire centrale est limitée mais il y a toujours une possibilité d’une extension.
• Pour la communication avec les autres organes de l’ordinateur, la mémoire centrale utilise les bus
(bus d’adresses et bus de données)
4/18
5.3.2 La mémoire vive dynamique : DRAM
Le condensateur détermine la valeur du bit : le bit vaut 1 si le condensateur est chargé, il vaut 0 dans le
cas contraire.
Le transistor gère l'accès au condensateur
L'inconvénient des DRAM est que le condensateur possède une tendance naturelle à se décharger. Pour
que l'information reste cohérente, on va devoir réaliser un rafraîchissement de la mémoire toutes les
quelques millisecondes. Ce rafraîchissement consiste à lire et à réécrire la donnée.
Les avantages de la DRAM sont :
Etant donné les caractéristiques des SRAM et DRAM, on peut en déduire les propriétés suivantes:
Les DRAM sont plus lentes que les SRAM car durant le rafraîchissement on ne peut accéder aux
données.
Cependant, les DRAM ont une densité d'intégration plus grande que les SRAM : en effet le couple
transistor + condensateur occupe moins de place que les 4 à 6 transistors des SRAM.
5/18
En résumé :
6. 6. La mémoire cache
6.1 Principe
Il est avéré que les microprocesseurs ont toujours été plus rapides que les mémoires. L'accroissement du
temps d'accès des mémoires va de pair avec un accroissement de la vitesse des CPUs et l'écart reste donc
constant. L'accès mémoire représente donc un goulet d'étranglement puisque le CPU passe du temps à
attendre les informations provenant de la mémoire
On considère en effet que les performances des processeurs doublent tout le 1 an et demi (loi de Moore)
alors que celles des mémoires doublent tous les 10 ans.
La résolution du problème n'est cependant pas technologique mais plutôt d'ordre économique. Il est
techniquement possible de réaliser des mémoires presque aussi rapides que des CPU mais leur coût de
production est relativement onéreux. On préfère donc utiliser des mémoires centrales plus lentes mais de
coût raisonnable.
Pour pallier la lenteur relative des mémoires centrales on a recours à une solution matérielle et logicielle
nommée mémoire cache ou antémémoire.
la mémoire cache de premier niveau (L1) située à l'intérieur du processeur et dont la taille est de deux
fois 8 Ko (Pentium) ou deux fois 16 Ko (Pentium Pro)
la mémoire cache de second niveau (L2) située dans le boîtier du processeur et dont la taille varie de
256 à 512 Ko.
la mémoire cache de troisième niveau (L3) située à présent au niveau du processeur et dont la taille
varie de 6 à 24 Mo.
6/18
Le principe de la mémoire cache est simple : il consiste à stocker dans une mémoire rapide et de faible
capacité les données les plus souvent utilisées.
La mémoire cache repose sur le principe de :
• Localité : on a une forte probabilité d'accéder à la donnée à l'adresse P+1 si on a accédé à la donnée
à l'adresse P (tendance à accéder aux données qui sont proches de celles récemment utilisées).
• Temporalité : on a une forte probabilité d'accéder à la donnée à l'adresse P au temps T+1 si on a
accédé à la donnée à l'adresse P au temps T (tendance à réutiliser des données récemment utilisées).
7/18
6.2 Cohérence des données
Un problème important lié à la mémoire cache concerne la cohérence des données. Si une entrée du
cache est utilisée pour stocker une nouvelle donnée, la donnée précédemment stockée doit être mise à
jour en mémoire centrale. On peut envisager deux stratégies de mise à jour:
l'écriture immédiate (write through) consiste à mettre immédiatement à jour la donnée en mémoire
centrale dès lors que sa valeur dans le cache est modifiée.
l'écriture différée (write back) consiste à mettre à jour la mémoire centrale lors de la modification de
l'entrée du cache correspondante.
Un compromis entre coût de production, complexité et performances doit être trouvé lors de la conception
d'un cache. Par exemple la stratégie d'écriture immédiate augmente le trafic vers la mémoire centrale. Si
la stratégie d'écriture différée pallie ce problème elle en crée un nouveau : en effet, certains circuits
d'entrées sorties de type DMA (Direct Memory Access) sont capables de lire ou écrire des données en
mémoire sans passer par le processeur et risquent par exemple de lire des données qui ne sont pas à jour.
On peut contourner ce problème mais cela augmente la complexité du système.
Exclusif : une donnée est stockée soit dans L1, soit dans L2. L'espace cache total est alors :
Taille(L2) + Taille(L1)
L'espace cache est ici plus grand que dans la méthode précédente
mais il faut faire en sorte que les données ne soient pas stockées
dans les 2 caches à la fois.
8/18
6.4 Performances
Type de Performa
cache nce
Accès direct 60 à 80 %
à n groupes 80 à 90%
Associatif 90 à 95%
L'intérêt des caches à accès direct repose sur la vérification rapide de la présence ou non dans le
cache d'une adresse. Pour un cache associatif la recherche est beaucoup plus complexe : le but du
cache étant l'accès rapide aux données, on doit éviter une recherche linéaire sur chaque entrée du
cache afin de vérifier la présence d'une adresse. On utilise donc des circuits spécialisés qui
comparent simultanément toutes les entrées du cache. Le cache associatif est donc complexe à
mettre en œuvre et en conséquence beaucoup plus coûteux que le cache à accès direct. Cependant
le cache associatif présente un taux de succès plus élevé que le cache à accès direct pour lequel un
nombre limité d'adresses appartenant à la même classe d'équivalence se trouve dans le cache.
9/18
8.1. Comment sélectionner un mot mémoire ?
Lorsqu’une adresse est chargée dans le registre RAM, le décodeur va recevoir la même information
que celle du RAM.
A la sortie du décodeur, nous allons avoir une seule sortie qui est active. Cette sortie va nous permettre
de sélectionner un seule mot mémoire.
Soit n la taille du bus de données (taille du registre RIM ou la taille d’un mot mémoire).
On peut exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en bits (octets,
kilo-octets,….)
• La capacité = 2k * n Bits
10/18
Exemple :
Dans une mémoire, la taille du bus d’adresses K=14 et la taille du bus de données n = 4. Calculer la
capacité de cette mémoire ?
• L’information est disponible dans le registre RIM au bout d’un certain temps (temps d’accès).
Problème ?
On veut réaliser une mémoire de capacité C, mais nous disposons uniquement de boîtiers (des circuits) de
taille inférieure ?
11/18
Structure d’un boîtier
: c’est une commande en logique négative qui permet de
Solution
Soit M une mémoire de capacité C, tel que m est le nombre de mot et n la taille d’un mot.
Soit M’ un boîtier de capacité C’ , tel que m’ le nombre de mot et n’ la taille d’un mot.
Pour connaître le nombre de boîtiers nécessaires, il faut calculer les deux facteurs suivants :
· P = m/m’
· Q = n/n’
Pour sélectionner les boîtiers, on utilise les bits de poids forts d’adresses. Si P est le facteur
d’extension lignes alors on prend k bits tel que P=2k.
Les autres bits d’adresses restants sont utilisés pour sélectionner un mot dans un boîtier.
Exemple 1
Réaliser une mémoire de 1Ko (la taille d’un mot est de 8 bits) en utilisant des boîtiers de taille 256 mots
de 8 bits ?
Solution :
(m,n) = (1024,8) taille du bus d’adresses est de 10 bits A9-0(A9…A0), taille du bus de données est de 8
bits D7-0(D7….D0)
(m’,n’) = (256,8) taille du bus d’adresses est de 8 bits (A7’…A0’), taille du bus de données est de 8 bits
(D7’….D0’)
12/18
Exemple 2
On veut réaliser une mémoire de 1Ko (la taille d’un mot est de 16 bits) en utilisant des boîtiers de taille
1Ko mots de 4 bits) ?
Solution :
(m, n ) = (1024,16) taille du bus d’adresses est de 10 bits (A9…A0), taille de bus de données est du 16
bits (D15….D0)
(m’, n’) = (1024,4) taille du bus d’adresses est de 10 bits (A9’…A0’), taille de bus de données est du 4
bits (D3’….D0’)
Exemple 3
On veut réaliser une mémoire de 1KO (la taille d’un mot est de 8 bits) en utilisant des boîtiers de taille
256 mots de 4 bits) ?
13/18
Solution :
(m, n) = (1024,8) taille du bus d’adresses est de 10 bits (A9…A0), taille du bus de données est de 8 bits
(D7….D0)
(m’, n’) = (256,4) taille du bus d’adresses est de 8 bits (A7…A0), taille du bus de données est de 4 bits
(D3….D0)
Si le calculateur possède plusieurs processeurs qui fonctionnent en parallèle (en même temps), c’est
possible que deux processeurs ou plus demandent d’accéder à la mémoire au même instant.
Si la mémoire est structurée en un seul bloc alors un processeur peut monopoliser la MC.
14/18
Même si le temps d’accès est très petit, des processeurs vont être pénalisés donc la structure de la MC est
aussi importante.
Remarques :
• C’est possible qu’un module soit réalisé avec des boîtiers de taille inférieur (il faut calculer les facteurs
d’extension lignes et colonnes).
· Les bits de poids forts pour sélectionner un module. Si le nombre de module est égale à n, alors il faut
prendre k bits tel que 2k >= n
Exemple
Soit une mémoire de taille de 4 Ko. Cette mémoire est découpée en 4 modules. Donner le schéma de
cette mémoire en utilisant des boîtiers de 1 Ko?
Solution :
Capacité = 4 Ko = 4* 210 = 212 . La taille du bus d’adresses est de 12 bits ( A11-A0).
4 modules, 2 bits du poids forts pour la sélection des modules ( A11-A10)
Les autres bits pour la sélection d’un mot dans un module (A9-A0)
15/18
10.2 Mémoire entrelacée
Avec une MC modulaire, c’est possible qu’un processeur monopolise un module (par exemple il accède à
des adresses consécutives). Pour éviter ce problème :
· Les bits de poids faibles pour sélectionner le bloc. Si on dispose de n blocs, il faut prendre k bits tel que
2k>=n.
Exemple 1 : une mémoire entrelacée avec un degré d’entrelacement égale à 4, un bloc est de taille de
4 mots.
16/18
Exemple 2
Réaliser une mémoire de capacité 512 mots de 8 bits avec des boîtiers de 128 mots de 8 bits avec un
degré entrelacement de 4.
· Les bits de poids fort (A8-A2) pour sélectionner un mot dans un bloc.
17/18
Exemple
Réaliser une mémoire de 64 mots de 8 bits organisée en deux modules entrelacés, l’entrelacement se
fait à l’intérieure (D = 2) en utilisant des circuits (boîtiers) de 16 mots de 8 bits.
· Le nombre de blocs dans un module D = 2 le nombre de bits nécessaire pour sélectionner un bloc est
égal à 1 (A0)
· la taille d’un bloc est égale 16 mots, un circuit suffit pour réaliser un bloc
· Le nombre de bits nécessaires pour sélectionner une mot dans le bloc est égale à 4 (A4-A1)
18/18