159
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/

Chapitre ii mémoires

Embed Size (px)

Citation preview

Page 1: Chapitre ii mémoires

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/

Page 2: Chapitre ii mémoires

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

Page 3: Chapitre ii mémoires

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

Page 4: Chapitre ii mémoires

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

Page 5: Chapitre ii mémoires

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

Page 6: Chapitre ii mémoires

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

Page 7: Chapitre ii mémoires

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

Page 8: Chapitre ii mémoires

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

Page 9: Chapitre ii mémoires

9

Exemple: Chronogramme d’un cycle de lecture

CARACTÉRISTIQUES D’UNE MÉMOIRE

Page 10: Chapitre ii mémoires

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

Page 11: Chapitre ii mémoires

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

Page 12: Chapitre ii mémoires

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

Page 13: Chapitre ii mémoires

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

Page 14: Chapitre ii 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)

Page 15: Chapitre ii mémoires

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)

Page 16: Chapitre ii mémoires

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)

Page 17: Chapitre ii mémoires

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)

Page 18: Chapitre ii mémoires

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)

Page 19: Chapitre ii mémoires

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)

Page 20: Chapitre ii mémoires

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)

Page 21: Chapitre ii mémoires

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)

Page 22: Chapitre ii mémoires

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)

Page 23: Chapitre ii mémoires

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)

Page 24: Chapitre ii mémoires

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)

Page 25: Chapitre ii mémoires

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)

Page 26: Chapitre ii mémoires

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)

Page 27: Chapitre ii mémoires

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)

Page 28: Chapitre ii mémoires

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.

Page 29: Chapitre ii mémoires

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).

co

de

ur

Page 30: Chapitre ii mémoires

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)

Page 31: Chapitre ii mémoires

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:

Page 32: Chapitre ii mémoires

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:

Page 33: Chapitre ii mémoires

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.

Page 34: Chapitre ii mémoires

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.

Page 35: Chapitre ii mémoires

35

TYPES DE MÉMOIRES CRITÈRES DE CHOIX D’UNE MÉMOIRE

Capacité

Vitesse

Consommation

Coût

Page 36: Chapitre ii mémoires

36

L’ordinateur contient différents niveaux de mémoire,

organisés selon une hiérarchie mémoire:

HIÉRARCHIE MÉMOIRE

Page 37: Chapitre ii mémoires

37

HIÉRARCHIE MÉMOIRE

L’ordinateur contient différents niveaux de mémoire,

organisés selon une hiérarchie mémoire:

Page 38: Chapitre ii mémoires

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).

Page 39: Chapitre ii mémoires

39

MÉMOIRE CENTRALE

Page 40: Chapitre ii mémoires

40

MÉMOIRE CENTRALE

ECRITURE

Page 41: Chapitre ii mémoires

41

MÉMOIRE CENTRALE

ECRITURE

Page 42: Chapitre ii mémoires

42

MÉMOIRE CENTRALE

ECRITURE

Page 43: Chapitre ii mémoires

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.

Page 44: Chapitre ii mémoires

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)

Page 45: Chapitre ii mémoires

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é.

Page 46: Chapitre ii mémoires

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.

Page 47: Chapitre ii mémoires

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.

Page 48: Chapitre ii mémoires

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.

Page 49: Chapitre ii mémoires

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.

Page 50: Chapitre ii mémoires

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.

Page 51: Chapitre ii mémoires

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.

Page 52: Chapitre ii mémoires

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.

Page 53: Chapitre ii mémoires

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.

Page 54: Chapitre ii mémoires

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)

Page 55: Chapitre ii mémoires

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).

Page 56: Chapitre ii mémoires

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;

}

Page 57: Chapitre ii mémoires

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

Page 58: Chapitre ii mémoires

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.

Page 59: Chapitre ii mémoires

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 ?

Page 60: Chapitre ii mémoires

60

MÉMOIRE CACHE

LECTURE

MOVIA R2, A

LOAD D R1, (R2)

Page 61: Chapitre ii mémoires

61

MÉMOIRE CACHE

LECTURE

MOVIA R2, A

LOAD D R1, (R2)

Page 62: Chapitre ii mémoires

62

MÉMOIRE CACHE

LECTURE

MOVIA R2, A

LOAD D R1, (R2)

Page 63: Chapitre ii mémoires

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 ?

Page 64: Chapitre ii mémoires

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)

Page 65: Chapitre ii mémoires

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

Page 66: Chapitre ii mémoires

66

MÉMOIRE CACHE

ECRITURE

MOVIA R2, A

STORE D (R2), R1

Page 67: Chapitre ii mémoires

67

MÉMOIRE CACHE

ECRITURE

MOVIA R2, A

STORE D (R2), R1

Page 68: Chapitre ii mémoires

68

MÉMOIRE CACHE

ECRITURE

MOVIA R2, A

STORE D (R2), R1

Page 69: Chapitre ii mémoires

69

MÉMOIRE CACHE

POLITIQUE D’ECRITURE

MOVIA R2, A

STORE D (R2), R1

Page 70: Chapitre ii mémoires

70

MÉMOIRE CACHE

POLITIQUE D’ECRITURE

MOVIA R2, A

STORE D (R2), R1

Page 71: Chapitre ii mémoires

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

Page 72: Chapitre ii mémoires

72

MÉMOIRE CACHE

MÉCANISMES DE CORRESPONDANCE

Mémoire principale

Page 73: Chapitre ii mémoires

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)

Page 74: Chapitre ii mémoires

74

MÉMOIRE CACHE

ASSOCIATIF (LECTURE)

Page 75: Chapitre ii mémoires

75

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 76: Chapitre ii mémoires

76

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 77: Chapitre ii mémoires

77

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 78: Chapitre ii mémoires

78

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 79: Chapitre ii mémoires

79

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 80: Chapitre ii mémoires

80

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) MOVIA R2, 3Dh

LOAD B R1, (R2)

Page 81: Chapitre ii mémoires

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

Page 82: Chapitre ii mémoires

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

Page 83: Chapitre ii mémoires

83

MÉMOIRE CACHE

ASSOCIATIF (POLITIQUES DE REMPLACEMENT)

FIFO (First In First Out pour Premier entré Premier sorti) :

Page 84: Chapitre ii mémoires

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)

Page 85: Chapitre ii mémoires

85

MÉMOIRE CACHE

ASSOCIATIF (POLITIQUES DE REMPLACEMENT)

LRU (Least Recently Used pour le moins récemment utilisé)

Page 86: Chapitre ii mémoires

86

MÉMOIRE CACHE

ASSOCIATIF (POLITIQUES DE REMPLACEMENT)

Page 87: Chapitre ii mémoires

87

MÉMOIRE CACHE

ASSOCIATIF (LECTURE) NMRU ou

Page 88: Chapitre ii mémoires

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.

Page 89: Chapitre ii mémoires

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.

Page 90: Chapitre ii mémoires

90

MÉMOIRE CACHE

DIRECT

L’index donne directement la position du bloc dans le

cache

Page 91: Chapitre ii mémoires

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 ?

Page 92: Chapitre ii mémoires

92

MÉMOIRE CACHE

DIRECT

MOVIA R2, EFh

LOAD B R1, (R2)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 93: Chapitre ii mémoires

93

MÉMOIRE CACHE

DIRECT

MOVIA R2, FFh

LOAD B R1, (R2)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 94: Chapitre ii mémoires

94

MÉMOIRE CACHE

DIRECT

MOVIA R2, FFh

LOAD B R1, (R2)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 95: Chapitre ii mémoires

95

MÉMOIRE CACHE

DIRECT (LECTURE)

Page 96: Chapitre ii mémoires

96

MÉMOIRE CACHE

DIRECT (LECTURE)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 97: Chapitre ii mémoires

97

MÉMOIRE CACHE

DIRECT (LECTURE)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 98: Chapitre ii mémoires

98

MÉMOIRE CACHE

DIRECT (LECTURE)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 99: Chapitre ii mémoires

99

MÉMOIRE CACHE

DIRECT (LECTURE)

MOVIA R3, 3Dh

LOAD B R4, (R3)

Page 100: Chapitre ii mémoires

100

MÉMOIRE CACHE

DIRECT (LECTURE)

Page 101: Chapitre ii mémoires

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

%

Page 102: Chapitre ii mémoires

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.

Page 103: Chapitre ii mémoires

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)

Page 104: Chapitre ii mémoires

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.

Page 105: Chapitre ii mémoires

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é.

Page 106: Chapitre ii mémoires

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%

Page 107: Chapitre ii mémoires

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.

Page 108: Chapitre ii mémoires

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.

Page 109: Chapitre ii mémoires

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.

Page 110: Chapitre ii mémoires

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é.

Page 111: Chapitre ii mémoires

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

Page 112: Chapitre ii mémoires

112

MÉMOIRE CACHE

ORGANISATION EN NIVEAUX

Mémoire

Centrale

Page 113: Chapitre ii mémoires

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

Page 114: Chapitre ii mémoires

114

MÉMOIRE CACHE

ORGANISATION EN NIVEAUX

MP

Page 115: Chapitre ii mémoires

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?

Page 116: Chapitre ii mémoires

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 ?

Page 117: Chapitre ii mémoires

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)?

Page 118: Chapitre ii mémoires

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

Page 119: Chapitre ii mémoires

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…)

Page 120: Chapitre ii mémoires

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.

Page 121: Chapitre ii mémoires

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.

Page 122: Chapitre ii mémoires

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.

Page 123: Chapitre ii mémoires

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.

Page 124: Chapitre ii mémoires

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).

Page 125: Chapitre ii mémoires

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).

Page 126: Chapitre ii mémoires

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.

Page 127: Chapitre ii mémoires

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.

Page 128: Chapitre ii mémoires

128

MÉMOIRES DE MASSE

DISQUE DUR (ORGANISATION)

Un disque dur est organisé en secteurs, pistes,

plateaux et cylindres :

Plateaux

Page 129: Chapitre ii mémoires

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,

Page 130: Chapitre ii mémoires

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.

Page 131: Chapitre ii mémoires

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

Page 132: Chapitre ii mémoires

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.

Page 133: Chapitre ii mémoires

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

Page 134: Chapitre ii mémoires

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

Page 135: Chapitre ii mémoires

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)

Page 136: Chapitre ii mémoires

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

Page 137: Chapitre ii mémoires

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

Page 138: Chapitre ii mémoires

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

Page 139: Chapitre ii mémoires

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

Page 140: Chapitre ii mémoires

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.

Page 141: Chapitre ii mémoires

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

Page 142: Chapitre ii mémoires

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.

Page 143: Chapitre ii mémoires

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

Page 144: Chapitre ii mémoires

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.

Page 145: Chapitre ii mémoires

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.

Page 146: Chapitre ii mémoires

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.

Page 147: Chapitre ii mémoires

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.

Page 148: Chapitre ii mémoires

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.

Page 149: Chapitre ii mémoires

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)

Page 150: Chapitre ii mémoires

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.

Page 151: Chapitre ii mémoires

151

MÉMOIRES DE MASSE

DISQUES OPTIQUES

Page 152: Chapitre ii mémoires

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

Page 153: Chapitre ii mémoires

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

Page 154: Chapitre ii mémoires

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.

Page 155: Chapitre ii mémoires

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 ?

Page 156: Chapitre ii mémoires

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.

Page 157: Chapitre ii mémoires

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

Page 158: Chapitre ii mémoires

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

Page 159: Chapitre ii mémoires

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