chapitre ii mémoires
TRANSCRIPT
CHAPITRE II: MÉMOIRES
Université Saad Dahlab de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatiques (GSI)
Semestre 4 (2ème année)
S. AROUSSI
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PLAN DU CHAPITRE II
Introduction
Organisation d’une Mémoire
Caractéristiques d’une Mémoire
Types de Mémoires
Hiérarchie Mémoire
Mémoire Centrale
Mémoire Cache
Mémoire de Masse 2
3
Une mémoire est un composant électronique permettant
d’enregistrer, de conserver et de restituer des informations
sous forme binaire.
Les informations peuvent être écrites ou lues. Il y a
écriture lorsqu'on enregistre des informations en
mémoire, lecture lorsqu'on récupère des informations
précédemment enregistrées.
INTRODUCTION
4
Une mémoire peut être représentée
comme une table constituée d’un
ensemble de lignes.
Chaque ligne représente alors une
case mémoire qui peut contenir un
seul élément : des données.
Chaque ligne est identifiée par un
numéro appelé adresse.
Chaque donnée devient alors
accessible grâce à son adresse
ORGANISATION D’UNE MÉMOIRE
5
Le nombre de fils d’adresses d’un boîtier mémoire définit le
nombre de cases mémoire que comprend le boîtier: Avec une
adresse de n bits il est possible de référencer au plus 2n cases
mémoire.
Le nombre de fils de données définit la taille des données que
l’on peut sauvegarder dans chaque case mémoire (toujours une
puissance de 2).
ORGANISATION D’UNE MÉMOIRE
6
En plus du bus d’adresses et du bus de données, un boîtier
mémoire comprend:
une entrée de commande ( ) qui permet de définir le type
d’opération que l’on effectue avec la mémoire
(lecture/écriture)
une entrée de sélection ( )qui permet de mettre les
entrées/sorties du boîtier en haute impédance.
ORGANISATION D’UNE MÉMOIRE
7
Une opération de lecture ou d’écriture de la mémoire suit
toujours le même cycle :
1. Spécifier l’adresse
2. Choisir de l’opération à effectuer ( )
3. Sélectionner la mémoire ( = 0 )
4. Effectuer l’opération (lecture ou écriture)
ORGANISATION D’UNE MÉMOIRE
8
La capacité : c’est le nombre total de bits que contient la mémoire. Elle
s’exprime aussi souvent en octet.
Le format des données : c’est le nombre de bits que l’on peut
mémoriser par case mémoire. On dit aussi que c’est la largeur du mot
mémorisable.
Le temps d’accès : c’est le temps qui s'écoule entre l'instant où a été
lancée une opération de lecture/écriture en mémoire et l'instant où la
première information est disponible sur le bus de données.
Le temps de cycle : il représente l'intervalle minimum qui doit séparer
deux demandes successives de lecture ou d'écriture. Il est toujours
supérieure au temps d’accès car on a besoin d’opérations supplémentaires
entre 2 accès (stabilisation des signaux, synchronisation ...)
CARACTÉRISTIQUES D’UNE MÉMOIRE
9
Exemple: Chronogramme d’un cycle de lecture
CARACTÉRISTIQUES D’UNE MÉMOIRE
10
Le débit : c’est le nombre maximum d'informations lues
ou écrites par seconde.
Volatilité : elle caractérise la permanence des
informations dans la mémoire. L'information stockée est
volatile si elle risque d'être altérée par un défaut
d'alimentation électrique et non volatile (ou
permanente) dans le cas contraire.
CARACTÉRISTIQUES D’UNE MÉMOIRE
11
Mode d’accès à l’information: dépend de l’organisation
sur le support:
1. Accès séquentiel: Pour accéder à une information on doit parcourir
toutes les informations précédentes (accès lent)
Exemple : bandes magnétiques (K7 vidéo)
2. Accès direct: chaque information a une adresse propre. On peut
accéder directement à chaque adresse
Exemple : mémoire centrale
CARACTÉRISTIQUES D’UNE MÉMOIRE
12
Mode d’accès à l’information: dépend de l’organisation
sur le support:
1. Accès séquentiel.
2. Accès direct.
3. Accès semi-séquentiel: intermédiaire entre séquentiel et direct
Exemple : disque dur (accès direct au cylindre, ensuite accès
séquentiel au secteur sur un cylindre)
4. Accès associatif: une information est identifiée par une clé. On accède
à une information via sa clé
Exemple : mémoire cache
CARACTÉRISTIQUES D’UNE MÉMOIRE
13
Il existe deux grandes familles:
Mémoires vives : RAM (Random Access Memory)
Mémoire accessible en lecture et écriture
Mémoire volatile interne.
Mémoires mortes : ROM (Read Only Memory)
Mémoire accessible en lecture (l’écriture est
programmable)
Mémoire non volatile interne.
TYPES DE MÉMOIRES
14
Ce type de mémoire compose la mémoire centrale et les caches. Elle
doit avoir ainsi un temps de cycle très court pour ne pas ralentir le
microprocesseur.
Les mémoires des tous premiers ordinateurs étaient magnétiques.
Les mémoires sont maintenant des composants électroniques à base
de transistors.
Il existe deux types de mémoires qui se distinguent par leur
technique de fabrication :
Mémoires statiques appelées SRAM pour Static RAM,
Mémoires dynamiques appelées DRAM pour Dymanic RAM.
TYPES DE MÉMOIRES MÉMOIRES VIVES (RAM)
15
Le bit mémoire d'une SRAM est composé d'une bascule
(généralement bascule D). Chaque bascule contient entre 4 et 6
transistors.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SRAM)
16
Dans les DRAMs, l'information est mémorisée sous la
forme d'une charge électrique stockée dans un
condensateur, en plus d’un transistor de commande.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM)
17
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.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM)
18
Inconvénients :
1. Rafraîchissement:
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.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM)
19
Inconvénients :
1. Rafraîchissement:
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.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM)
20
Inconvénients :
1. Rafraîchissement
2. Réécriture: la lecture de l’information est destructive. En
effet, elle se fait par décharge de la capacité du point
mémoire lorsque celle-ci est chargée. Donc toute lecture
doit être suivie d’une réécriture.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM)
21
Comme son coût est moindre et que sa densité
d’intégration est supérieure, la mémoire dynamique est
utilisée pour la mémoire principale de l’ordinateur. Par
contre, la mémoire statique est utilisée pour les caches
en raison de sa plus grande vitesse.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SRAM VS DRAM)
22
Il existe deux types principaux de mémoire dynamique
qui se distinguent par leur façon de communiquer avec le
processeur:
Les mémoires dynamiques asynchrone
Les mémoires dynamiques synchrones, appelées
SDRAM pour Synchronous Dymanic RAM.
TYPES DE MÉMOIRES MÉMOIRES VIVES (TYPES DRAM)
23
Lorsque le processeur lit une donnée dans une mémoire asynchrone,
celui-ci lui envoie l’adresse puis attend que celle-ci lui retourne la
donnée à cette adresse.
Plusieurs cycles horloge peuvent s’écouler avant que la donnée ne
parvienne au processeur.
Après réception de la donnée, le processeur peut à nouveau
demander une autre donnée à la mémoire.
À chaque requête à la mémoire, le processeur reste inactif en
attendant que la donnée n’arrive.
TYPES DE MÉMOIRES MÉMOIRES VIVES (DRAM ASYNCHRONE)
24
Dans le cas de mémoire synchrone, le processeur peut envoyer à la
mémoire une nouvelle requête de lecture ou d’écriture avant que
celle-ci n’ait fini de traiter la première requête.
Les demandes successives sont alors exécutées séquentiellement par
la mémoire.
Chaque requête est reçue pendant un cycle d’horloge et les données
sont délivrées quelques cycles d’horloge plus tard.
Le nombre de cycles d’horloge entre la requête et la donnée est fixe.
Ainsi, le processeur peut déterminer à quelle requête correspond
chaque donnée.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SDRAM)
25
Le principe de fonctionnement d’une mémoire synchrone est
identique au pipeline utilisé pour réaliser un processeur:
La mémoire est organisée comme une chaîne où sont traitées les
requêtes.
La mémoire traite simultanément plusieurs requêtes qui se
trouvent à des étapes différentes de la chaîne.
Le traitement d’une seule requête prend plusieurs cycles
d’horloge mais une requête est traitée à chaque cycle.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SDRAM)
26
Parmi les mémoires synchrones, on distingue encore plusieurs
variantes:
SDR SDRAM pour Single Data Rate SDRAM qui reçoivent une requête à
chaque cycle d’horloge.
DDR SDRAM pour Double Data Rate DRAM qui permettent de doubler le
débit de données entre le processeur et la mémoire. Une requête est encore
traitée à chaque cycle d’horloge mais chaque requête concerne deux mots
consécutifs en mémoire. Le premier mot est transmis sur le front montant
du signal d’horloge alors que le second est transmis sur front descendant du
signal d’horloge.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SDRAM)
27
Parmi les mémoires synchrones, on distingue encore plusieurs
variantes:
SDR SDRAM pour Single Data Rate SDRAM qui reçoivent une requête à
chaque cycle d’horloge.
DDR SDRAM pour Double Data Rate DRAM qui permettent de doubler le
débit de données entre le processeur et la mémoire.
DDR2 SDRAM doublent encore le débit de données en traitant quatre mots
consécutifs en mémoire à chaque requête.
TYPES DE MÉMOIRES MÉMOIRES VIVES (SDRAM)
28
TYPES DE MÉMOIRES 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 non volatiles appelées mémoires
mortes ou mémoires à lecture seule (ROM : Read Only Memory).
Ces mémoires, contrairement aux RAM, ne peuvent être que lue.
L’inscription (ou écriture) en mémoire des données restent possible
mais est appelée programmation.
ROM (classique) est programmée par le fabricant et son contenu ne
peut plus être ni modifié, ni effacé par l'utilisateur.
29
TYPES DE MÉMOIRES ROM (CLASSIQUE)
Cette mémoire est composée d'une matrice dont la programmation
s’effectue en reliant les lignes aux colonnes par des diodes. L'adresse
permet de sélectionner une ligne de la matrice et les données sont
alors reçues sur les colonnes (le nombre de colonnes fixant la taille
des mots mémoire).
Dé
co
de
ur
30
TYPES DE MÉMOIRES ROM (CLASSIQUE)
Pour la programmation d’un ROM, l'utilisateur doit fournir au
constructeur un masque indiquant les emplacements des diode dans
matrice.
Exemple: Utiliser une ROM pour réaliser un additionneur complet
de deux nombres d’un bit chacun (la présence d’une diode « bit à 0 »
est schématisée par un segment reliant le fil de mot au fil de bit)
31
TYPES DE MÉMOIRES MÉMOIRES MORTES
PROM (Programmable ROM) est une ROM qui
peut être programmée une seule fois par
l'utilisateur. Les liaisons à diodes de la ROM sont
remplacées par des fusibles pouvant être détruits
ou des jonctions pouvant être court-circuitées.
EPROM (Erasable Programmable ROM) ou
UV-EPROM est une PROM qui peut être effacée
par Ultra Violet (UV).
Suivant la méthode de programmation, plusieurs types de ROM
existent:
32
TYPES DE MÉMOIRES MÉMOIRES MORTES
PROM (Programmable ROM)
EPROM (Erasable Programmable ROM)
EEPROM (Electrically EPROM) est une
mémoire programmable et effaçable être effacée
par un simple courant électrique. Elle utilise 2 à 3
transistors pour mémoriser un bit.
FLASH EPROM est une EEPROM qui utilise
qu’un seul transistor pour mémoriser un bit.
Suivant la méthode de programmation, plusieurs types de ROM
existent:
33
TYPES DE MÉMOIRES MÉMOIRES MORTES
Actuellement, les mémoires EEPROM et Flash sont le plus souvent
utilisées.
Les EEPROM, servent à mémoriser des données de configuration,
qu’on modifie rarement, tel que:
Chargeur d’amorce: qui est un programme permettant de charger le
système d’exploitation en mémoire vive et de le lancer.
POST (Power-On Self Test) est un programme exécuté
automatiquement à l’amorçage du système permettant de faire un test
du système .
Setup CMOS: est l’écran disponible à l’allumage de l’ordinateur
permettant de modifier les paramètres du système;
BIOS: est un programme permettant de piloter les interfaces
d’entrée/sortie d’un ordinateur.
34
TYPES DE MÉMOIRES MÉMOIRES MORTES
On rencontre la mémoire Flash dans:
Clés USB
Baladeurs mp3
Téléphones cellulaires
Assistants personnels (PDA)
Ordinateurs portables
Appareils photos numériques
Les Flash sont utilisées pour mémoriser les données de programme.
35
TYPES DE MÉMOIRES CRITÈRES DE CHOIX D’UNE MÉMOIRE
Capacité
Vitesse
Consommation
Coût
36
L’ordinateur contient différents niveaux de mémoire,
organisés selon une hiérarchie mémoire:
HIÉRARCHIE MÉMOIRE
37
HIÉRARCHIE MÉMOIRE
L’ordinateur contient différents niveaux de mémoire,
organisés selon une hiérarchie mémoire:
38
HIÉRARCHIE MÉMOIRE
1. 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.
2. 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.
3. La mémoire centrale (ou 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.
4. 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).
39
MÉMOIRE CENTRALE
40
MÉMOIRE CENTRALE
ECRITURE
41
MÉMOIRE CENTRALE
ECRITURE
42
MÉMOIRE CENTRALE
ECRITURE
43
MÉMOIRE CENTRALE
COUPLAGE
La plupart des mémoires utilisées dans les ordinateurs sont des
mémoires 1 bit.
Pour obtenir une mémoire dont chaque mot est sur m bits (m est de
puissance 2), il est nécessaire d’assembler m boîtiers. Ceux-ci sont
mis en parallèle dans la mesure où ils reçoivent tous la même
adresse. Par contre, chacun des boîtiers reçoit une seule ligne du bus
de donnée.
44
MÉMOIRE CENTRALE
AUGMENTATION DE LA TAILLE
Exercice: Construire une mémoire 212 × 8 bits avec des boitier de 1
Ko (210 × 8 bits)
45
MÉMOIRE CENTRALE
AUGMENTATION DE LA TAILLE
Pour construire une mémoire ayant 2k’ mots avec des boîtiers
mémoire 2 k mots, il faut utiliser 2k’-k boîtiers.
Les k’ bits d’adresses sont alors distribués de la manière suivante:
Les k bits de poids faibles A0 à Ak-1 sont envoyés sur tous les
boîtiers.
Les k’-k bits de poids fort Ak à Ak’-1 arrivent sur un décodeur
permettant de sélectionner un seul des 2k’-k boîtiers mémoire.
Tous les bits du bus de données sont reliés à chacun des boîtiers.
Ceci est possible aussi bien en lecture qu’en écriture car les
entrée/sorties des boîtiers sont dans un état dit haute impédance
lorsque le circuit n’est pas sélectionné.
46
MÉMOIRE CENTRALE
CONCEPTION
Exercice: Construire une mémoire 8 Kilo mots mémoires (un mot
mémoire est sur 4 octets) avec des boitier de 1 Ko.
47
MÉMOIRE CENTRALE
FORMAT DES COMPOSANTS
Il existe de nombreux types de mémoires centrale (DRAM): DRAM
asynchrone, SDRAM, SDR-SDRAM, DDR-SDRAM, DDR2-SDRAM,
DDR3-SDRAM, ….. Celles-ci se présentent toutes sous la forme de
barrettes de mémoire enfichables sur la carte-mère.
On distingue habituellement deux formats de barrettes :
Le format SIMM (Single In-line Memory Modules)
fonctionne sur un bus de données de 32 bits. Dans une machine
ayant un bus de 64, les modules mémoires SIMM seront
obligatoirement montés par groupe de deux. La barrette
comporte 72 broches.
48
MÉMOIRE CENTRALE
FORMAT DES COMPOSANTS
On distingue habituellement deux formats de barrettes :
Le format SIMM (Single In-line Memory Modules)
fonctionne sur un bus de données de 32 bits. Dans une machine
ayant un bus de 64, les modules mémoires SIMM seront
obligatoirement montés par groupe de deux. La barrette
comporte 72 broches..
Le format DIMM (Dual In-line Memory Modules) fonctionne
sur un bus de données de 64 bits. La machine ayant un bus de
64 bits, les modules mémoires DIMM peuvent être un un par un.
La barrette comporte 168 broches.
49
MÉMOIRE CACHE
PROBLÈME POSÉ L’écart de performance entre le microprocesseur et la mémoire ne
cesse de s’accroître.
En effet, 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.
50
MÉMOIRE CACHE
PROBLÈME POSÉ
Ainsi, le temps de cycle processeur décroît plus vite que le temps
d’accès mémoire entraînant un goulot d’étranglement.
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.
51
MÉMOIRE CACHE
SOLUTION APPORTÉE
Depuis le début des années 80, 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, appelée mémoire cache.
Cette mémoire permet ainsi au processeur d’acquérir les données à
sa propre vitesse.
Elle est réalisée à partir de cellule SRAM de taille réduite (à cause
du coût). Sa capacité mémoire est donc très inférieure à celle de la
mémoire centrale et sa fonction est de stocker les informations les
plus récentes ou les plus souvent utilisées par le processeur.
Au départ cette mémoire était intégrée en dehors du processeur
mais elle fait maintenant partie intégrante du processeur et se
décline même sur plusieurs niveaux.
52
MÉMOIRE CACHE
DÉFINITION
La plus rapide La plus lente
La mémoire cache ou antémémoire est une mémoire rapide de
faible capacité utilisée comme mémoire intermédiaire (tampon)
entre le processeur et la mémoire centrale.
53
MÉMOIRE CACHE
FONCTIONNEMENT
Le cache contient des copies de informations (instructions ou
données ) qui sont en mémoire centrale.
Avant tout accès à la mémoire, le processeur vérifie si les
informations ne sont pas présentes dans le cache.
Auquel cas, le processeur utilise les informations contenues dans le
cache et n’accède pas à la mémoire centrale. On parle alors de
succès de cache.
Sinon, on parle de défaut de cache ou d’échec de cache (cache
miss) dans le cas où il est nécessaire d’aller chercher les données en
mémoire centrale.
54
MÉMOIRE CACHE
FONCTIONNEMENT
Bien entendu, la mémoire cache n’apporte un gain de performance
que dans le premier cas (a). Sa performance est donc entièrement
liée à son taux de succès. Il est courant de rencontrer des taux de
succès moyen de l’ordre de 80 à 90%.
ramener l’info dans la MC
puis dans le cache (b)
55
MÉMOIRE CACHE
PRINCIPE DE LOCALITÉ
La mémoire cache est basée sur le principe de localité:
Spatiale : Lorsque le programme accède à une
donnée ou à une instruction, il accèdera ensuite aux
données ou instructions juste après (exemple :
tableau).
Temporelle : Lorsque le programme accède à une
donnée ou à une instruction, il y accèdera encore
plusieurs fois à brèves échéances (exemple: boucle).
56
MÉMOIRE CACHE
PRINCIPE DE LOCALITÉ
Exemple: Est-ce que le morceau de code ci-dessous exhibe de bonnes
caractéristiques de localité ?
int SumVec (int *Vec, int N) {
int i, sum = 0;
for (i = 0; i < N; i++)
sum += Vec[i];
return sum;
}
57
MÉMOIRE CACHE
ORGANISATION Le cache est organisé par lignes.
Chaque ligne de cache contient un ensemble de N mots mémoire
contigus , appelé bloc de données
Un bloc de cache contient une portion de 4 à 512 octets des données.
À chaque bloc , une étiquette (tag en anglais) est associée. Alors, une
adresse de mémoire-cache peut être scindée en deux parties : le
numéro de bloc (étiquette) et l’adresse dans le bloc. Par exemple,
pour une adresse de 32 bits:
23 à 30 bits 2 à 9 bits
58
MÉMOIRE CACHE
ORGANISATION
B octets par bloc
Au moment du démarrage, le contenu de la cache est
quelconque. Chaque ligne de la cache contient un bit de
validité (valid bit): il est mis à 1 si le contenu de la ligne
est valable.
59
MÉMOIRE CACHE
ORGANISATION
Exemple: Dans un cache dont les lignes font 64 octets,
1. Combien de lignes sont nécessaires dans un cache de
512 Ko?
2. Combien de bits sont utilisés pour déterminer l’octet
dans la ligne de cache que pointe une adresse ?
3. Quel est l’adresse du premier mot dans la ligne de
cache contenant l’adresse 0xBEE3DE72 ?
60
MÉMOIRE CACHE
LECTURE
MOVIA R2, A
LOAD D R1, (R2)
61
MÉMOIRE CACHE
LECTURE
MOVIA R2, A
LOAD D R1, (R2)
62
MÉMOIRE CACHE
LECTURE
MOVIA R2, A
LOAD D R1, (R2)
63
MÉMOIRE CACHE
LECTURE
Exemple: Dans un cache dont les lignes font 64 octets,
Combien de temps faut-il pour charger (ou lire) une ligne
de cache si la mémoire principale prend 20 cycles pour
répondre à chaque requête mémoire et retourne 2 octets
de données en réponse à chaque requête ?
64
MÉMOIRE CACHE
PERFORMANCE D’UNE LECTURE Soient:
h la probabilité de succès
Tc le temps d’accès au cache
Tm le temps de lecture d’un bloc de mots en mémoire
centrale
Alors Teff, le temps effectif pour accéder à une
information égale à
Teff= h ×Tc + (1 –h) ×(Tc + Tm)
65
MÉMOIRE CACHE
PERFORMANCE D’UNE LECTURE Exemple: Dans un cache dont les lignes font 4 octets,
compléter le tableau suivant:
Td est le temps d’accès à un mot (1 octet) en mémoire
centrale
H Tc Td Tm Teff
0,9 1 5
0,8 1 5
0,7 1 5
66
MÉMOIRE CACHE
ECRITURE
MOVIA R2, A
STORE D (R2), R1
67
MÉMOIRE CACHE
ECRITURE
MOVIA R2, A
STORE D (R2), R1
68
MÉMOIRE CACHE
ECRITURE
MOVIA R2, A
STORE D (R2), R1
69
MÉMOIRE CACHE
POLITIQUE D’ECRITURE
MOVIA R2, A
STORE D (R2), R1
70
MÉMOIRE CACHE
POLITIQUE D’ECRITURE
MOVIA R2, A
STORE D (R2), R1
71
MÉMOIRE CACHE
POLITIQUE D’ECRITURE
Pour ne pas avoir à écrire
des informations qui n'ont
pas été modifiées (et ainsi
éviter d'encombrer
inutilement le bus), chaque
ligne de la mémoire cache
est pourvue d'un bit dirty.
Lorsque la ligne est
modifiée dans le cache, ce
bit est positionné à 1,
indiquant qu'il faudra
réécrire la donnée dans la
mémoire principale.
MOVIA R2, A
STORE D (R2), R1
72
MÉMOIRE CACHE
MÉCANISMES DE CORRESPONDANCE
Mémoire principale
73
MÉMOIRE CACHE
ASSOCIATIF
Le numéro de bloc est utilisé comme étiquette.
Les étiquettes sont stockées dans un répertoire en même
temps que les données.
Un bloc de mots de la mémoire centrale est placé dans
n'importe quelle entrée libre du cache.
Si le cache est plein, il faut libérer une ligne
(algorithme de remplacement de ligne)
74
MÉMOIRE CACHE
ASSOCIATIF (LECTURE)
75
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
76
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
77
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
78
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
79
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
80
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) MOVIA R2, 3Dh
LOAD B R1, (R2)
81
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
Si le cache est plein, il faut libérer une entrée en
utilisant un des algorithmes de remplacement de
ligne suivant:
Aléatoire : une ligne au hasard
FIFO (First In First Out) : la ligne remplacée est la plus
ancienne dans le cache
LRU (Least Recently Used) : la ligne remplacée est la moins
récemment accédée
NMRU (Not Most Recently Used) : la ligne remplacée n’est
pas la plus récemment utilisée
82
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
Aléatoire : une ligne au hasard
Simple à mettre en œuvre
Peu efficace en pratique car on peut supprimer des lignes très accédées.
FIFO (First In First Out pour Premier entré Premier sorti) :
Idée: les informations trop vieilles dans le cache ne vont plus servir
Chaque ligne du cache contient sa date d’entrée, la plus vieille est
remplacée par une ligne de la mémoire principale
Statistiquement : plus efficace que l’aléatoire
Défaut : une ligne référencée régulièrement est retirée du cache quand
elle devient la plus vieille
83
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
FIFO (First In First Out pour Premier entré Premier sorti) :
84
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
LRU (Least Recently Used pour le moins récemment utilisé) :
Idée: l’important n’est pas l’ancienneté mais l’ancienneté
d’utilisation
On associe à chaque ligne la date de dernière utilisation
On extrait la ligne la moins récemment accédée ou utilisée
Statistiquement : le plus efficace
Inconvénient : complexité accrue (modification de la date à
chaque accès)
85
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
LRU (Least Recently Used pour le moins récemment utilisé)
86
MÉMOIRE CACHE
ASSOCIATIF (POLITIQUES DE REMPLACEMENT)
87
MÉMOIRE CACHE
ASSOCIATIF (LECTURE) NMRU ou
88
MÉMOIRE CACHE
ASSOCIATIF
Avantage:
Très souple et efficace pour gérer les lignes de
manière optimale en terme de succès d’accès: de
l’ordre de 90 à 95%.
Inconvénients:
Parcourir (au pire) toutes les lignes du cache pour
savoir si la ligne cherchée s’y trouve ou pas
Coûteux et « encombrants » : un comparateur par
ligne.
Complexe : politique de remplacement de ligne.
89
MÉMOIRE CACHE
DIRECT
Dans le cache associatif, le numéro de bloc est utilisé
comme étiquette.
Dans le cache à accès direct, le champ « numéro de bloc »
est scindé en deux parties : l’étiquette et l’index.
90
MÉMOIRE CACHE
DIRECT
L’index donne directement la position du bloc dans le
cache
91
MÉMOIRE CACHE
DIRECT
Exemple: Dans un cache direct d’une capacité de 16 Ko
dont les lignes font 32 octets, combien de bits sont
utilisés pour déterminer l’octet qu’une opération
mémoire référence dans une ligne de cache et combien de
bits sont utilisés pour sélectionner la ligne dans le cache
qui pourrait contenir les données ?
92
MÉMOIRE CACHE
DIRECT
MOVIA R2, EFh
LOAD B R1, (R2)
MOVIA R3, 3Dh
LOAD B R4, (R3)
93
MÉMOIRE CACHE
DIRECT
MOVIA R2, FFh
LOAD B R1, (R2)
MOVIA R3, 3Dh
LOAD B R4, (R3)
94
MÉMOIRE CACHE
DIRECT
MOVIA R2, FFh
LOAD B R1, (R2)
MOVIA R3, 3Dh
LOAD B R4, (R3)
95
MÉMOIRE CACHE
DIRECT (LECTURE)
96
MÉMOIRE CACHE
DIRECT (LECTURE)
MOVIA R3, 3Dh
LOAD B R4, (R3)
97
MÉMOIRE CACHE
DIRECT (LECTURE)
MOVIA R3, 3Dh
LOAD B R4, (R3)
98
MÉMOIRE CACHE
DIRECT (LECTURE)
MOVIA R3, 3Dh
LOAD B R4, (R3)
99
MÉMOIRE CACHE
DIRECT (LECTURE)
MOVIA R3, 3Dh
LOAD B R4, (R3)
100
MÉMOIRE CACHE
DIRECT (LECTURE)
101
MÉMOIRE CACHE
DIRECT Avantages:
On sait immédiatement où aller chercher un bloc.
Accès très rapide au bloc (latence d’un cycle d’horloge)
Inconvénients:
Performance moindre due aux conflits de ligne :
plusieurs blocs de mots (ceux de même étiquette) se
partagent une même entrée.
Peu efficace en pratique: taux de succès entre 60 et 80
%
102
MÉMOIRE CACHE
MIXTE
Le cache mixte, appelé aussi cache associatif par
ensemble de blocs est un compromis entre le cache
purement associatif et le cache à correspondance directe:
Le choix d’un ensemble est associatif.
Cependant, chaque ensemble est géré comme dans le
cache à correspondance direct.
103
MÉMOIRE CACHE
MIXTE Les données peuvent être rangées dans n’importe quelle
ensemble (associatif)
Par contre, l’index indique la ligne à laquelle on stocke la
donnée (correspondance directe)
104
MÉMOIRE CACHE
MIXTE Pour la lecture du bloc ci dessous, on compare son étiquette
(0000000001000000100000) avec l’étiquette des lignes d’index
01000010 (= (66)10) dans chaque ensemble:
Si le bloc est trouvé dans un ensemble donné alors l’octet d’adresse 00
(premier octet) va être chargé dans le processeur.
105
MÉMOIRE CACHE
MIXTE Si le bloc recherché n’est pas trouvé, on distingue deux cas:
1. Cache non plein alors charger le bloc dans n’importe quel ensemble
qui contient une ligne inoccupée (son bit de validité est à 0)
2. Cache plein (toute les lignes sont occupées) alors choisir un
ensemble selon une politique donnée (aléatoire, FIFO, LRU, NMRU)
dans lequel on va remplacer une ligne par le bloc demandé.
106
MÉMOIRE CACHE
MIXTE
Solution intermédiaire en terme de coût et
d’encombrement
Complexité : Politique de remplacement de ligne.
Performance intermédiaire : les différents ensembles du
cache permettent de réduire le nombre d’échecs par
collision.
Méthode utilisée en pratique car meilleur compromis
Taux de succès : 80% à 90%
107
MÉMOIRE CACHE
TYPE DE FAUTE DE CACHE
Les défauts (ou échecs) de cache sont de différents types,
qui ont des impacts variables sur la performance et le
comportement de la cache:
Les défauts obligatoires.
Les défauts de capacité.
Les défauts de conflits.
108
MÉMOIRE CACHE
TYPE DE FAUTE DE CACHE
Les défauts obligatoires surviennent lorsque la cache
est initialement vide et les premiers accès exigent
obligatoirement la copie des blocs. La performance au
démarrage est affectée, mais se résorbe lorsque la cache
est "réchauffée"; elles n’ont donc pas beaucoup de
conséquences sur la performance du cache.
109
MÉMOIRE CACHE
TYPE DE FAUTE DE CACHE
Les défauts de capacité surviennent lorsque la quantité
de données référencée par un programme excède la
capacité du cache, en conséquence de quoi certaines
données doivent être remplacées pour faire de la place
aux nouvelles.
110
MÉMOIRE CACHE
TYPE DE FAUTE DE CACHE
Les défauts de conflit surviennent lorsqu’un
programme référence des lignes mappées sur le même
ensemble du cache et dont le nombre est supérieur au
degré d’associativité du cache. Dans ce cas, le cache est
contraint de remplacer une ligne pour faire de la place.
Ces échecs peuvent être réduits, soit en augmentant le
degré d’associativité, soit en augmentant la capacité.
111
MÉMOIRE CACHE
ORGANISATION EN NIVEAUX
Les mémoires caches sont organisés en plusieurs niveaux:
caches multi-niveaux
Cache du niveau Li+1 joue le rôle de cache pour le
niveau Li
Cache Li+1 plus grand que Li mais moins rapide en
temps d’accès aux donnés
En général, deux niveaux de cache: L1 et L2.
Les caches du niveau L1 sont divisés en 2 parties
Instructions/Données
112
MÉMOIRE CACHE
ORGANISATION EN NIVEAUX
Mémoire
Centrale
113
MÉMOIRE CACHE
ORGANISATION EN NIVEAUX
Relation entre les niveaux de cache:
Cache inclusif
Le contenu du niveau L1 se trouve aussi dans L2
Taille globale du cache : celle du cache L2
Cache exclusif
Le contenu des niveaux L1 et L2 sont différents
Taille globale du cache : taille L1 + taille L2
114
MÉMOIRE CACHE
ORGANISATION EN NIVEAUX
MP
115
MÉMOIRE CACHE
EXERCICES
Exercice 1: Associativité et ensembles
Si un cache possède une capacité de 16 Ko et une
longueur de ligne de 128 octets, quelle est la taille de
chaque ensemble si le cache est associatif par 2, 4 ou 8
ensemble?
116
MÉMOIRE CACHE
EXERCICES
Exercice 2: Taille du tableau d’étiquettes
Un cache possède une capacité de 64 Ko, des lignes de 128
octets et un degré d’associativité de 4. Le système
contenant le cache utilise des adresses de 32 bits.
1. Combien de lignes possède le cache ?
2. Combien de lignes possède chaque ensemble ?
3. Combien d’entrées sont requises dans le tableau
d’étiquettes ?
4. Combien de bits d’étiquette sont requis pour chaque
entrée dans le tableau d’étiquettes ?
117
MÉMOIRE CACHE
EXERCICES
Exercice 2: Taille du tableau d’étiquettes
Si le cache est de type write-through (écriture immédiate),
combien de bits sont requis pour chaque entrée du tableau
d’étiquettes et quelle quantité de mémoire totale est
requise pour le tableau dans le cas d’une politique de
remplacement LRU dont la date de la dernière utilisation
est sur m bits? Qu’en serait-il s’il s’agissait d’un cache
write-back (écriture différée)?
118
MÉMOIRE CACHE
EXERCICES
Exercice 2: Taille du tableau d’étiquettes
Supposant que le cache est vide, indiquer l’état du tableau
d’étiquette si le processeur demande la lecture des mots
mémoires suivants:
0xABC89987
0x32651987
0x228945DB
0x48569CAC
119
MÉMOIRES DE MASSE
Une mémoire de masse (appelée aussi mémoire
secondaire ou auxiliaire) est une mémoire non volatile de
grande capacité de stockage qui peut être lue et écrite par
l’utilisateur.
Selon les technologies utilisées, on distingue les mémoires
de masse:
magnétiques (disquette, disque dur, …)
optiques (CD, DVD, Blue-ray…)
à semi-conducteurs (Flash Disk, carte mémoire…)
120
MÉMOIRES DE MASSE
DISQUES MAGNÉTIQUES
Ils sont constitués d'une surface rigide recouverte d'un
revêtement magnétique. L'information y est écrite par
polarisation magnétique et y est lue par détection de cette
polarisation au moyen d’une tête de lecture / écriture.
La tête de lecture/écriture flotte au-dessus de la surface
du disque par un effet de coussin d'air dû à la vitesse de
rotation du disque.
121
MÉMOIRES DE MASSE
DISQUE DUR
Le disque dur est l'un des éléments vitaux de
l’ordinateur servant à conserver les données de manière
permanente, contrairement à la mémoire vive, qui
s'efface à chaque redémarrage de l'ordinateur.
Il est composé de multiples éléments à la fois
mécaniques et électroniques.
122
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Mécanique:
Un disque dur est constitué de plusieurs disques rigides en métal,
verre ou en céramique appelés plateaux et empilés les uns sur les
autres avec une très faible distance d'écart.
Grâce à un moteur électrique (spindle motor), les plateaux tournent
autour d'un axe rotatif (entre 4000 et 15000 tours par minute) dans
le sens inverse des aiguilles d'une montre.
123
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Mécanique:
La lecture et l'écriture des données se font grâce à des têtes de
lecture/écriture situées sur chacun des plateaux et fixées sur un axe.
Ces têtes de lecture/écriture sont pilotées par un bras (actuator)
entrainé par un second moteur. Leur mouvement en pivot leur
permet de balayer toute la surface des disques.
124
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Electronique:
Les données sont stockés sur le disque dur sous forme analogique
sur une fine couche magnétique de quelques microns d'épaisseur
recouverte d'un film protecteur. Un DSP (Digital Signal Processor)
se charge de la conversion des données analogiques en données
numériques (sous forme binaire de 0 et de 1).
125
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Electronique:
L’interface (ou contrôleur) est chargé de faire la relation entre la
carte mère et le disque dur. Il en existe aujourd’hui de 3 sortes :
PATA (Parallel ATA): est utilisée depuis longtemps et permet de
relier jusqu'à 2 disques durs qui devront être configuré en
maitre/esclave à l’aide de cavaliers (jumper).
126
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Electronique:
L’interface (ou contrôleur) est chargé de faire la relation entre la
carte mère et le disque dur. Il en existe aujourd’hui de 3 sortes :
SATA (Serial ATA): Disponible depuis 2003, cette technologie
utilise des connecteurs différents et ne nécessite pas de
configuration particulière. Il est même possible de
connecter/déconnecter un élément SATA sous tension.
127
MÉMOIRES DE MASSE
DISQUE DUR (STRUCTURE)
Partie Electronique:
L’interface (ou contrôleur) est chargé de faire la relation entre la
carte mère et le disque dur. Il en existe aujourd’hui de 3 sortes :
SCSI (Small Computer System Interface): Très performants,
permet la connexion de plusieurs périphériques de types différents
sur un ordinateur. Elle est très coûteux et nécessitent l'achat d'une
carte contrôleur supplémentaire. La technologie SCSI est donc
réservée au domaine professionnel.
128
MÉMOIRES DE MASSE
DISQUE DUR (ORGANISATION)
Un disque dur est organisé en secteurs, pistes,
plateaux et cylindres :
Plateaux
129
MÉMOIRES DE MASSE
DISQUE DUR (ORGANISATION)
Un disque dur est organisé en secteurs, pistes,
plateaux et cylindres :
un secteur est la plus petite unité d'allocation mémoire sur
un disque dur, il fait généralement 512 octets,
une piste est l'ensemble des secteurs disposés en cercle sur
une face de plateau,
130
MÉMOIRES DE MASSE
DISQUE DUR (ORGANISATION)
Un disque dur est organisé en secteurs, pistes,
plateaux et cylindres :
un plateau est l’ensemble des pistes sur une surface d’un
disque physique. Chaque plateau possède une tête de
lecture/écriture.
un cylindre est l'ensemble des mêmes pistes de tous les
plateaux.
131
MÉMOIRES DE MASSE
DISQUE DUR (CAPACITÉ)
Soient
NC: nombre de cylindre ou nombre
de piste par plateau
NT: nombre de tête
NS: nombre de secteur par piste
Alors
Nombre de secteur du disque =
NT x NC x NS
Taille du disque =
nombre_secteur_disque x
taille_secteur
132
MÉMOIRES DE MASSE
DISQUE DUR (ADRESSAGE)
On peut adresser un secteur de deux manières :
Par son adresse physique CHS (Cylinder, Head,
Sector) qui détermine la position du secteur S dans le
cylindre ou piste C du plateau H.
Par son adresse logique ou LBA, Logical Block
Address) qui détermine le numéro du secteur pris
dans l’intervalle [ 0 ... N [ où N est le nombre total de
secteurs adressables sur le disque dur.
133
MÉMOIRES DE MASSE
DISQUE DUR (ADRESSAGE)
On peut convertir les adresses
logiques (LBA) en adresses
physiques (CHS) et vise versa à
condition de connaître la
géométrie du disque (NT, NS).
@CHS= (NC, NH, NS) est
équivalent à @LBA suivante:
@LBA = (N C x NT + N H) x NS + N S - 1
134
MÉMOIRES DE MASSE
DISQUE DUR (FONCTIONNEMENT)
Les requêtes Entrée/Sortie (E/S) sur un disque dur sont
effectuées sur des blocs localisés sur un ou plusieurs
secteurs.
Pour traiter des telles requêtes, le disque localise d’abord
les secteurs demandés, ensuite accède à chacun de ces
secteurs.
Afin d’accéder à un secteur S sur la tête H de cylindre C,
le disque :
1. Déplacer le bras porteur vers cylindre C
2. Attendre passage du secteur S sous la tête H
135
MÉMOIRES DE MASSE
DISQUE DUR (FONCTIONNEMENT)
Le driver disque est chargé de trier les requêtes d'E/S
pour optimiser les performances du disque (débit,
délais d'attente moyen, …).
Plusieurs politiques de tri de requêtes existent:
1. FIFO (First In First Out) « premier arrivé, premier
servi » où les requêtes sont traitées dans l’ordre
d'arrivée
• + mise en œuvre simple
• - temps d'attente moyen long (trajet du bras non minimal)
136
MÉMOIRES DE MASSE
DISQUE DUR (FONCTIONNEMENT)
Plusieurs politiques de tri de requêtes existent:
1. FIFO (First In First Out)
2. SSTF (Shortest Seek Time First) « Plus proche
d'abord » qui sert d’abord la requête la plus proche de la
position courante de la tête
• + bon débit, temps d'attente moyen < FIFO
• - risque de privation des requêtes pour pistes extrêmes
137
MÉMOIRES DE MASSE
DISQUE DUR (FONCTIONNEMENT)
Plusieurs politiques de tri de requêtes existent:
1. FIFO (First In First Out)
2. SSTF (Shortest Seek Time First)
3. Scan « balayage» où le bras balaie tous les pistes dans
un mouvement de va-et-vient. Ainsi, une requête est
traitée lorsque la tête passe au dessus de la piste
correspondante
• + Évite déplacements de grande amplitude du bras de la
méthode FIFO
• + Élimine risque de privation de SSTF
138
MÉMOIRES DE MASSE
DISQUE DUR (FONCTIONNEMENT)
Plusieurs politiques de tri de requêtes existent:
1. FIFO (First In First Out)
2. SSTF (Shortest Seek Time First)
3. Scan
4. C-Scan (Circular-Scan) où les pistes sont organisées
circulairement (i.e. le suivant de la dernière piste est
première piste). Ainsi, le bras balaie les pistes « en
servant » les requêtes à l'aller, puis retour sans arrêt
• + Uniformise la répartition des temps de services des requêtes
139
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES)
La performance d'un disque dur influe de manière
importante sur la performance générale de l’ordinateur.
L'efficacité d'un disque dur est déterminée par un certain
nombre de facteurs, à savoir :
1. Capacité: Inventé en 1956, le disque dur a fait l'objet d'évolutions
de capacité et de performances considérables, tout en voyant son coût
diminue
Date 1956 1962 1982 1998 2005 2007 2009 2010 2011 2013
Capacité 5 Mo 28 Mo 1,02 Go 25 Go 500 Go 1 To 2 To 3 To 4 To 6 To
140
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES)
1. Capacité (aujourd’hui jusqu’à 6 To)
2. Format:
3,5 pouces est la taille standard depuis de nombreuses années ;
2,5 pouces pour les ordinateurs portables à l’origine
1,8 pouce pour les baladeurs numériques, les ordinateurs
ultraportables, certains disques durs externes.
141
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES)
1. Capacité (aujourd’hui jusqu’à 6 To)
2. Format (la taille standard est 3,5 pouces)
3. Interface (PATA, SATA, SCSI, …)
4. Vitesse de rotation, exprimée en tours/minute, détermine la
vitesse à laquelle les plateaux tournent. Plus la vitesse de rotation
d'un disque est élevée meilleur est le débit du disque. En revanche,
un disque possédant une vitesse de rotation élevé est généralement
plus bruyant et chauffe plus facilement.
PC portable PC bureau Serveurs
5400 7200 15000
142
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES)
1. Capacité (aujourd’hui jusqu’à 6 To)
2. Format (la taille standard est 3,5 pouces)
3. Interface (PATA, SATA, SCSI, …)
4. Vitesse de rotation (de 5400 à 15000 tours/min)
5. Temps d'accès représente la durée moyenne d’attente une fois
sur la bonne piste. Autrement dit, c’est le temps moyen entre la
demande de lecture d’un secteur et la mise à disposition du résultat
sur l’interface.
143
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES)
1. Capacité (aujourd’hui jusqu’à 6 To)
2. Format (la taille standard est 3,5 pouces)
3. Interface (PATA, SATA, SCSI, …)
4. Vitesse de rotation (de 5400 à 15000 tours/min)
5. Temps d'accès (de 3 à 15 ms)
6. Taux de transfert est la quantité de données pouvant être lues
ou écrites sur le disque par unité de temps. Il est généralement décrit
en Mo/sec et dépend de l’interface.
PATA SATA SCSI
100 à 133 150 à 300 Jusqu’à 640
144
MÉMOIRES DE MASSE
DISQUE DUR (CARACTÉRISTIQUES) 1. Capacité (aujourd’hui jusqu’à 6 To)
2. Format (la taille standard est 3,5 pouces)
3. Interface (PATA, SATA, SCSI, …)
4. Vitesse de rotation (de 5400 à 15000 tours/min)
5. Temps d'accès (de 3 à 15 ms)
6. Taux de transfert
7. Mémoire Tampon: permet au disque dur de travailler encore plus
rapidement et surtout, plus confortablement. Ceci s'explique par le fait que
les informations devant être écrites sont stockées temporairement sur cette
mémoire. De même, lorsque le disque dur effectue un travail de lecture, des
informations peuvent y être stockées lorsque celles-ci risquent d'être de
nouveau utilisées. Ainsi, la tête de lecture (élément plus lent) s'épargne du
travail.
145
MÉMOIRES DE MASSE
DISQUE DUR (SÉCURITÉ)
La fiabilité des disques durs est testée en permanence, le
protocole prévu pour renseigner le contrôleur et par
extension la carte mère puis le système d’exploitation de
l'état de santé d'un disque dur s'appelle SMART (Self-
Monitoring, Analysis, and Reporting Technology):
Avec ce système, un disque dur doit prévenir l'utilisateur au moins
72 heures avant la panne, et même éventuellement lancer une
procédure de sauvegarde de son contenu. Il y a contrôle des
performances de lecture et écriture du disque dur avec
déclenchement d'une alarme dès que les valeurs se dégradent.
146
MÉMOIRES DE MASSE
DISQUE DUR (SÉCURITÉ)
La fiabilité des disques durs est mesurée par l’indice
MTBF (Mean Time Between Failures). Il est calculé
en faisant vieillir de façon accéléré le disque dur (tension
d'alimentation anormale). Plus le MTBF est élevé, plus le
disque dur est fiable.
La durée de vie d’un disque dur est d’environ 4 à 5 ans.
Evidemment, il peut durer beaucoup plus longtemps
selon les conditions d’utilisation.
147
MÉMOIRES DE MASSE
DISQUES OPTIQUES
Les disques optiques (CD, DVD et Blue-Ray) sont des
supports de données numériques utilisant la technologie
du laser pour la lecture et l’écriture.
148
MÉMOIRES DE MASSE
DISQUES OPTIQUES (CD)
Le Compact Disc (CD) a été inventé par Sony et Philips en 1981 dans
le but de fournir un support audio et vidéo de haute qualité. En 1984,
les spécifications techniques du CD ont été étendues afin de
permettre le stockage de données
CD contient une seule piste principale gravée en spirale
Le principe de lecture/écriture utilise un rayon laser
infrarouge d'une longueur d'onde de 780 nm.
CD est capable de stocker 650 ou 700 Mo de données et 74 ou 80
min de musique.
Le taux de transfert d'un CD est de 150 ko/s.
Plusieurs techniques existent : CD-ROM, CD-R, CD-RW.
149
MÉMOIRES DE MASSE
DISQUES OPTIQUES (DVD)
Le DVD (Digital Versatile Disk), apparu en 1997, est
principalement dédié à la vidéo.
Son format est le même que celui du CD mais il utilise un laser
rouge (650 et 635 nm) ce qui autorise une plus grande finesse
lors de la gravure (et donc de la lecture).
Son taux de transfert est de l'ordre de 10 Mbits/s.
Il existe 3 types de DVD réinscriptibles et incompatibles : DVD-R
(2,6 Go), DVD-RAM de Toshiba et Matsushita (3,95 à 4,7 Go),
DRD-RW de Sony, Philips et HP (4,7 Go)
150
MÉMOIRES DE MASSE
DISQUES OPTIQUES (BLUE-RAY)
Le Blue-Ray est une nouvelle technologie optique apparue avec
l'introduction de la TV haute définition (HDTV). En effet, 2h de TV
HD demandent 22 Go d'espace de stockage, donc la capacité de
stockage des DVD devient insuffisante.
Cette technologie a été développée à partir de 2002 par un
consortium constitué d'Apple, Dell, Hitahi, HP, Sony, Pioneer,
Panasonic, Sharp, Samsung, Philips, TDK, Thomson.
Le média de stockage est toujours un disque optique de 12cm de
diamètre, similaire aux CD/DVD, mais utilisant un laser bleu violet
de 405 nm et permettant de stocker 27 Go.
151
MÉMOIRES DE MASSE
DISQUES OPTIQUES
152
MÉMOIRE DE MASSE
EXERCICES
Exercice 3: Disque Dur
Soient les trois disques aux caractéristiques suivantes :
Pour chaque disque,
Calculer la capacité du cylindre, du plateau et du disque.
Calculer le débit maximum.
Caractéristiques Disque 1 Disque 2 Disque 3
NT : Nombre des têtes 128 250 12
NC : Nombre des cylindres 1024 1020 2048
NS : Nombre de secteurs/piste 32 63 18
Taille d’un secteur (octets) 512 512 512
Vitesse de rotation (tours/min) 5400 7200 6000
Temps de déplacement moyen (ms) 9 8 20
153
MÉMOIRE DE MASSE
EXERCICES
Exercice 3: Disque Dur
Pour chaque disque,
Convertir les adresses physiques suivantes (CHS) aux
adresses par bloc logique (LBA)
CHS1 = (100, 2, 17) ; CHS2 = (101, 0, 0)
Déterminer la géométrie physique des adresses LBA
suivantes : LBA1 = 187 ; LBA2 = 1000
154
MÉMOIRE DE MASSE
EXERCICES
Exercice 3: Disque Dur
Pour chaque disque,
Calculer le temps moyen d’accès de chaque disque (pour
lire un secteur) sachant que
Temps (moyen) d’accès = Temps de déplacement moyen + Temps
(moyen) de latence + Temps de lecture d’un secteur
Rappel : Le temps moyen d'accès du disque représente la durée
moyenne d’attente une fois sur la bonne piste. Autrement dit, c’est le
temps moyen entre la demande de lecture d’un secteur et la mise à
disposition du résultat sur l’interface.
155
MÉMOIRE DE MASSE
EXERCICES
Exercice 3: Disque Dur
On suppose qu'on vient de lire le secteur d'adresse CHS1
= (100, 2, 17). On veut lire le secteur CHS2 = (101, 0, 0).
a. Quel secteur du disque sera sous les têtes de
lecture/écriture après le positionnement ?
b. Quand le transfert pourra-t-il commencer ?
156
MÉMOIRE DE MASSE
EXERCICES
Exercice 3: Disque Dur
Un fichier de 1Mo est enregistré sur chacun de ces
disques dans une zone continue à partir du cylindre 10,
tête 0, secteur 0. Pour chaque disque,
a. Calculer l'espace disque (nombre de pistes et secteurs)
occupé par le fichier.
b. Calculer le temps d'accès à tout le fichier.
SOURCES DE CE COURS
Bruno De Kelper, Mémoire-cache et optimisation, Disponible sur:
https://cours.etsmtl.ca/ele784/cours/ELE784-Cours9-MemoireCache.pdf
Jean-Philippe PERNIN, La Mémoire centrale, Université Stendhal- Grenoble 3, 2009,
Hakim Amrouche, Chapitre 7 : Les mémoires, Cours ESI (Ecole nationale Supérieure
d’Informatique), Disponible sur http://amrouche.esi.dz/doc/ch7_memoires.pdf
Smaïl NIAR, La Mémoire Centrale, Disponible sur www.univ-
valenciennes.fr/ROI/niar/IUP2/ch6_memcentrale.ppt
Pascale Gomez Del Junco, Gilles LESCOT et Cédric Avril, LA MEMOIRE MORTE
ou ROM (Read Only Memory).
Rachid Aoun, Caches, Extrait du livre SCHAUM'S, "Architecture de l'ordinateur",
Nicolas P. Carter, Disponible sur documents.cofares.net/NSY104/007-Caches.pdf
157
SOURCES DE CE COURS
Pierre Marchand, Unité 7: Mémoire centrale, 2001, Disponible sur
www2.ift.ulaval.ca/~marchand/ift17583/Acetates/17583-Acetates06.pdf
Daniel Etiemble, Architectures des ordinateurs, Caches et mémoire virtuelle, 2003,
Disponible sur https://www.lri.fr/~de/IFIPS-caches.pdf
Architecture de l’Ordinateur, Université Bordeaux 1, 2008, Disponible sur dept-
info.labri.fr/ENSEIGNEMENT/archi/cours/cours8.pdf
T.Dumartin, Architecture des ordinateurs, Note de cours, 2005, Disponible sur
www.geea.org/IMG/pdf/Cours_II.pdf
Sylvain MONTAGNY, Architecture des ordinateurs, Université de Savoie.
Joëlle Delacroix, Les mémoires de l’ordinateur , Le principe de hiérarchie mémoire :
les caches, 2007, Disponible sur deptmedia.cnam.fr/new/spip.php?pdoc2745
158
SOURCES DE CE COURS
Ivan Boule, Principes des Caches Mémoire, Disponible sur
deptinfo.cnam.fr/new/spip.php?pdoc7732?
Olivier Carton, Circuits et architecture des ordinateurs, Université Paris Diderot, pp. 139, 2012,
Disponible sur www.liafa.jussieu.fr/~carton/Enseignement/Architecture/archi.pdf.
Tuyêt Trâm DANG NGOC, Administration système, Disques, partitions et système de fichiers,
Université de Cergy-Pontoise, 2010, Disponible sur depinfo.u-
cergy.fr/system/files/docs/docs/licence/cours-disque.pdf
Disque dur : historique, structure & fonctionnement, Disponible sur www.ontrack.fr/disque-dur/
Ivan Boule, Mémoires de Masse, 2008. Disponible sur deptmedia.cnam.fr/new/spip.php?pdoc3365
Jean Michel Richel, chapitre 4: Mémoire, Disponible sur http://www.info.univ-
angers.fr/~richer/ensl3i_crs4.php
Marc Dalmau, Les Mémoires de Masse, IUT de BAYONNE, Cours IUT de Bayonne-Pays Basque.
Philippe Pannetier, Les mémoires de masse, 2010, Disponible sur www.ph-pa.org/cours/ig1/07-
mémoires_de_masse.pdf
159