Mr N. Azizi 2020-2021
Les Mémoires
Architecture des ordinateurs
Introduction
Avec une bascule c’est possible de mémoriser une
information sur 1 seul bit.
Avec un registre c’est possible de mémoriser une
information sur n bits.
Si on veut mémoriser une information de taille important
→ il faut utiliser une mémoire.
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.
3
Introduction
Architecture matérielle d’une machine
L’architecture de Von Neumann est composée :
D’une mémoire centrale,
D’une unité centrale (UC ) ou CPU (Central Processing
Unit), processeur.
Cette architecture est la base des architectures des
ordinateurs.
4
C’est quoi une mémoire ?
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).
Exemple de mémoire :
La mémoire centrale
Un disque dure
Une disquette
Un flash disque
– …………..
La mémoire peut être dans le processeur ( des registres) ,
interne (Mémoire centrale ou principale) ou externe (Mémoire
secondaire ).
5
Caractéristiques des mémoires
La capacité d’une mémoire
6
Caractéristiques des mémoires
Volatilité
7
Caractéristiques des mémoires
Mode d’accès à l’information ( lecture /écriture )
8
Caractéristiques des mémoires
Temps d’accès
C’est le temps nécessaire pour effectuer une opération
de lecture ou d’écriture.
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.
9
types de mémoires
• Les registres sont les éléments de mémoire les plus rapides.
Ils sont situés au niveau du processeur et servent au stockage
des opérandes et des résultats intermédiaires.
• La mémoire cache est une mémoire rapide de faible capacité
destinée à accélérer l’accès à la mémoire centrale en stockant
les données les plus utilisées.
• La mémoire principale est l’organe principal de rangement
des informations. Elle contient les programmes (instructions et
données) et est plus lente que les deux mémoires précédentes.
• La mémoire d’appui sert de mémoire intermédiaire entre la
mémoire centrale et les mémoires de masse. Elle joue le même
rôle que la mémoire cache.
• La mémoire de masse est une mémoire périphérique de
grande capacité utilisée pour le stockage permanent ou la
sauvegarde des informations. Elle utilise pour cela des supports
magnétiques (disque dur, ZIP) ou optiques (CDROM, DVDROM).
10
Mémoires : localisations
11
Hiérarchie de mémoires
• Les principaux critères à retenir sont :
• capacité
• vitesse
• consommation
• coût
• Une mémoire idéale serait une mémoire de grande capacité,
capable de stocker un maximum d’informations et possédant un
temps d’accès très faible afin de pouvoir travailler rapidement sur
ces informations.
• Mais il se trouve que les mémoires de grande capacité sont
souvent très lente et que les mémoire rapides sont très chères.
• Afin d’obtenir le meilleur compromis coût-performance, on définie
donc une hiérarchie mémoire.
• On utilise des mémoires de faible capacité mais très rapide pour
stocker les informations dont le microprocesseur se sert le plus et
on utilise des mémoires de capacité importante mais beaucoup
plus lente pour stocker les informations dont le microprocesseur se
sert le moins.
12
Hiérarchie de mémoires
13
Classification des mémoires
14
Les mémoires vives
Une mémoire vive sert au stockage temporaire de données.
Elle doit avoir un temps d’accès très court pour ne pas
ralentir le microprocesseur. Les mémoires vives sont
volatiles.
Il existe deux grandes familles de mémoires RAM (Random
Acces Memory : mémoire à accès aléatoire) :
15
Les RAM statiques
Le bit mémoire d'une RAM statique (SRAM) est composé
d'une bascule. Chaque bascule contient entre 4 et 6
transistors.
16
Registres
Réalisation :
registre 4 bits
17
Les RAM dynamiques
Dans les RAM dynamiques (DRAM), l'information est
mémorisée sous la forme d'une charge électrique stockée
dans un condensateur
18
Les RAM dynamiques
Avantages :
Cette technique permet une plus grande densité d'intégration,
car un point mémoire nécessite environ quatre fois moins de
transistors que dans une mémoire statique. Sa consommation
s’en retrouve donc aussi très réduite.
Inconvénients :
La présence de courants de fuite dans le condensateur
contribue à sa décharge. Ainsi, l’information est perdue si on
ne la régénère pas périodiquement (charge du condensateur).
Les RAM dynamiques doivent donc être rafraîchies
régulièrement pour entretenir la mémorisation : il s'agit de
lire l'information et de la recharger. Ce rafraîchissement
indispensable a plusieurs conséquences :
il complique la gestion des mémoires dynamiques car il faut
tenir compte des actions de rafraîchissement qui sont
prioritaires.
la durée de ces actions augmente le temps d'accès aux
informations.
19
Les mémoires associatives
Dans les mémoires ordinaires, on peut accéder à un mot
par son adresse, et les adresses doivent être contigües :
un boitier donné va par exemple stocker tous les mots dont
les adresses sont comprises entre 100000H et 200000H.
20
Les mémoires mortes
Pour certaines applications, il est nécessaire de pouvoir
conserver des informations de façon permanente même
lorsque l'alimentation électrique est interrompue. On utilise
alors des mémoires mortes ou mémoires à lecture seule
(ROM : Read Only Memory). Ces mémoires sont non
volatiles.
Ces mémoires, contrairement aux RAM, ne peuvent être
que lue. L’inscription en mémoire des données restent
possible mais est appelée programmation.
Il existe donc plusieurs types de ROM :
21
Les mémoires mortes
La ROM: Elle est programmée par le fabricant et son
contenu ne peut plus être ni modifié, ni effacé par
l'utilisateur.
La PROM: C’est une ROM qui peut être programmée une
seule fois par l'utilisateur (Programmable ROM). La
programmation est réalisée à partir d’un programmateur
spécifique.
L’EPROM: Pour faciliter la mise au point d'un programme
ou tout simplement permettre une erreur de
programmation, il est intéressant de pouvoir reprogrammer
une PROM. La technique de claquage utilisée dans celles-ci
ne le permet évidemment pas. L'EPROM (Erasable
Programmable ROM) est une PROM qui peut être effacée.
22
La mémoire centrale
C’est quoi une mémoire centrale ?
La mémoire centrale (MC) représente l’espace de travail de
l’ordinateur (calculateur ).
C’est l’organe principal de rangement des informations
utilisées par le processeur.
Dans une machine (ordinateur / calculateur) pour exécuter
un programme il faut le charger ( copier ) dans la mémoire
centrale .
Le temps d’accès à la mémoire centrale et sa capacité sont
deux éléments qui influent sur le temps d’exécution d’un
programme ( performance d’une machine ).
23
Caractéristiques de la mémoire centrale
La mémoire centrale est réalisé a base de semi-conducteurs.
La mémoire centrale est une mémoire vive : accès en lecture
et écriture.
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)
24
Vue logique de la mémoire centrale
25
Structure physique d’une mémoire centrale
26
Comment sélectionner un mot mémoire ?
Lorsque 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.
27
Comment calculer la capacité d’une MC ?
Soit k la taille du bus d’adresses ( taille du registre RAM)
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 Mots mémoire
◦ La capacité = 2k * n Bits
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 ?
C=214 = 16384 Mots de 4 bits
C= 214 * 4 = 65536 Bits = 8192 Octets = 8 Ko
28
Comment lire une information ?
29
Comment écrire une information ?
30
Conception des MC
Problème ?
On veut réaliser une mémoire de capacité C , mais nous
disposons uniquement de boîtiers ( des circuits ) de taille
inférieur ?
31
Conception des MC
Un boîtier possède la même structure qu’une mémoire (
RAM,RIM,….) en plus de la commande CS.
32
Conception des MC
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.
• On suppose que C > C’ ( m >= m’ , n >=n’)
• Quel est le nombre de boîtiers M’ nécessaire pour réaliser la
mémoire M ?
• Pour connaître le nombre de boîtiers nécessaire , il faut calculer
les deux facteurs suivants :
– P =m/m’
– Q=n/n’
33
Conception des MC
Solution (suite )
• P : permet de déterminer de nombre de boîtiers M’ nécessaire
pour obtenir le nombre de mots de la mémoire M ( extension
lignes ).
• Q : permet de déterminer le nombre de boîtier M’ nécessaire
pour obtenir la taille de mot de la mémoire M ( extension mots
ou extension colonnes).
• P.Q donne le nombre totale de boîtiers nécessaire pour réaliser
la mémoire M.
• 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.
34
Conception des MC
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
A90(A9…A0), taille du bus de données est de 8 bits D90 (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’)
35
Conception des MC
36
Conception des MC
Exemple 2
• Réaliser une mémoire de 1Ko ( la taille d’un mot est de 16 bits)
en utilisant des boîtiers de taille 1Ko de 4 bits ?
Solution :
• (m,n)=(1024,16) → taille du bus d’adresses est de 10 bits
A90(A9…A0), taille du bus de données est de 16 bits
D150 (D15….D0)
• (m’,n’)=(1024,4) → taille du bus d’adresses est de 10 bits
(A9’…A0’), taille du bus de données est de 4 bits (D3’….D0’)
37
Conception des MC
38
Conception des MC
Exemple 3
• 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 ?
Solution :
• (m,n)=(1024,8) → taille du bus d’adresses est de 10 bits
A90(A9…A0), taille du bus de données est de 8 bits
D70 (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’)
39
Conception des MC
40
Conception des MC
Exercice
Réaliser une mémoire de 8K X12 ( la taille d’un mot est de 12 bits)
en utilisant des boîtiers de taille 2048 mots de 4 bits ) ?
41
Architectures des mémoires centrales
• Dans une architecture à un seul processeur : le processeur à
l’exclusivité d’accéder à la mémoire. Le rendement de l’UC n’est
conditionnée que par le temps d’accès à la MC.
42
Architectures des mémoires centrales
• 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 à la
même instant.
• Si la mémoire est structurée en un seul bloc alors un processeur
peut monopoliser la MC.
• 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.
43
Mémoire modulaire
• La solution est de découper la mémoire en plusieurs modules.
• Plusieurs bus permettent d’accéder simultanément (en même
temps) à la MC.
• Possibilité d’avoir autant d’accès que de modules.
• On ne peut pas accéder simultanément à un module.
Remarques :
• Les adresses à l’intérieur d’un module sont séquentiels
(successives)
• C’est possible qu’un module soit réaliser avec des boîtiers de
taille inférieur ( il faut calculer les facteurs d’extension lignes et
colonnes )
44
Mémoire modulaire
Comment sélectionner un mot dans une architecture
modulaire ?
45
Mémoire modulaire
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 (𝑨𝟏𝟏
𝟎 ).
• 4 modules 2 bits du poids forts pour la sélection des modules
(𝑨𝟏𝟏
𝟏𝟎 )
• Les autres bits pour la sélection d’un mot dans un module (𝑨𝟗𝟎 )
46
Mémoire modulaire
47
Mémoire modulaire
Exercice 1 :
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 512 mots de 8 bits?
Exercice2 :
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 512 mots de 4 bits?
48
Mémoire entrelacée
49
Mémoire entrelacée
50
Mémoire entrelacée
Exemple 1 : une mémoire entrelacée avec un degré d’entrelacement
égale à 4 , un bloc est de taille de 4 mots,
• 4 blocs et la taille d’un bloc est égale à 4 mots de 4 bits -> taille de la
mémoire est égale à 16 mots de 4 bits.
• Il existe 4 blocs -> 2 bits de poids faibles pour la sélection 𝑨𝟏𝟎
• Les bits de poids forts (𝑨𝟑𝟐 ) pour sélectionner un mot dans un bloc.
• L’adresse 0000 -> bloc 0 ( bits poids faible 00)
• L’adresse 0001 -> bloc 1 ( bits poids faible 01)
• L’adresse 0010 -> Bloc 2
• L’adresse 0011 -> Bloc 3
• L’adresse 0100 -> Bloc 0
• ………
51
Mémoire entrelacée
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.
52
Mémoire entrelacée
53
Mémoire entrelacée
Exercices
• Exercice 1 :
Réaliser une mémoire de capacité 512 mot de 8 bits avec des
boîtiers de 64 mots de 8 bits avec un degré entrelacement de 4.
• Exercice 1 :
Réaliser une mémoire de capacité 512 mot de 8 bits avec des
boîtiers de 64 mots de 4 bits avec un degré entrelacement de 4.
54
Les mémoires modulaires entrelacées
• La MC est divisée en plusieurs modules
• Chaque module est divisé en n Blocs (n le degré
d’entrelacement)
55
Les mémoires modulaires entrelacées
Exemple
• Réaliser une mémoire de 64 mots de 8 bits organisé en deux
modules entrelacé , l’entrelacement se fait à l’intérieur ( D=2).
En utilisant des circuits ( boîtiers ) de 16 mots de 8 bits.
56
Les mémoires modulaires entrelacées
57
Les mémoires modulaires entrelacées
Exercice :
58
Les mémoires caches
Problème posé
L’écart de performance entre le microprocesseur et la mémoire ne
cesse de s’accroître.
les composants mémoire bénéficient des mêmes progrès
technologique que les microprocesseurs mais le décodage des
adresses et la lecture/écriture d’une données sont des étapes
difficiles à accélérer.
La mémoire n'est plus en mesure de délivrer des informations
aussi rapidement que le processeur est capable de les traiter.
Il existe donc une latence d’accès entre ces deux organes.
59
Les mémoires caches
Principe
une des solutions utilisées pour masquer cette latence est de
disposer une mémoire très rapide entre le microprocesseur et la
mémoire.
Elle est appelée mémoire cache.
On la réalise à partir de cellule SRAM de taille réduite (à cause
du coût).
Au départ cette mémoire était intégrée en dehors du
microprocesseur mais elle fait maintenant partie intégrante du
microprocesseur et se décline même sur plusieurs niveaux.
60
Les mémoires caches
Principe
Le principe de cache est très simple : le microprocesseur n’a pas
conscience de sa présence et lui envoie toutes ses requêtes
comme s’il agissait de la mémoire principale :
1. Soit la donnée ou l’instruction requise est présente dans le cache
et elle est alors envoyée directement au microprocesseur. On
parle de succès de cache.
61
Les mémoires caches
Principe
2. soit la donnée ou l’instruction n’est pas dans le cache, et le
contrôleur de cache envoie alors une requête à la mémoire
principale. Une fois l’information récupérée, il la renvoie au
microprocesseur tout en la stockant dans le cache. On parle de
défaut de cache.
63