Chapitre 5: Mémoires & Caches 1. Introduction

Chapitre 5: Mémoires & Caches 1. Introduction

-

Documents
40 pages
Lire
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

  • mémoire - matière potentielle : volatile
  • mémoire - matière potentielle : cycle
  • mémoire - matière potentielle : flash
  • mémoire - matière potentielle : caractéristiques
  • mémoire - matière potentielle : cache
  • mémoire - matière potentielle : centrale
  • mémoire
  • mémoire - matière potentielle : lentes
  • mémoire - matière potentielle : temps minimal
  • cours - matière potentielle : matériel département
  • mémoire - matière potentielle : morte
  • mémoire - matière potentielle : rapides
  • mémoire - matière potentielle : masse vitesse
Cours de Matériel Département G.I.S. Polytech'Lille Chapitre 5: Mémoires & Caches 1. Introduction Caractéristiques Capacité: exprimée en octets ex: 1Go = 2^30 octets Temps d'accès temps entre l'ordre de lecture/ écriture et sa réalisation
  • organisation processeur
  • principe de localité algorithme de pre-fetching
  • temps d'accès
  • perte de performances ¶
  • coût principe de base construction
  • caches
  • cache
  • processeur
  • mémoire
  • mémoires

Sujets

Informations

Publié par
Nombre de lectures 73
Langue Français
Signaler un problème

Chapitre 5:
Mémoires & Caches
Cours de Matériel
Département G.I.S. Polytech’Lille
Caractéristiques
Capacité: exprimée en octets
ex: 1Go = 2^30 octets
1. Introduction Temps d’accès
temps entre l’ordre de lecture/
écriture et sa réalisationCaractéristiques Caractéristiques
Cycle mémoire Nombres d’informations
échanges / seconde
temps minimal entre 2 accès
successifs à la mémoire Volatilité: conservation /
disparition de l’information hors
cycle mémoire > temps d’accès alimentation de la mémoire
(stabilisation des signaux /
synchronisation /
raffraichissement)
Caractéristiques Caractéristiques
Méthode d’accès: Méthode d’accès:
Sequentiel: on accède aux Direct: chaque donnée possède
données dans l’ordre dans lequel une adresse qui lui est propre
elles sont rangées
Semi-sequentiel: combinaison
très lent (surtout quand la de direct puis sequentiel
capacité augmente)
cf DD: direct pour le cylindre
puis séquentiel pour atteindre
le bon secteurCaractéristiques Volatilité
Méthode d’accès: Mémoire non-volatile, ROM (Read
Only Memory), mémoire morte
Associatif: association entre
une information et une clé. La initialement non modifiable
clé permet d’accéder à la
données conservées quand mis donnée
hors tension
cf mémoire cache
Volatilité ROM
Mémoire volatile RAM (Random ROM: écriture unique
Access Memory)
devenu terme générique
données modifiables
PROM: Programmable ROM
données perdues hors tension
EPROM: Erasable PROM
UVPROM: EPROM via UVROM RAM
EEPROM: Electrically EPROM Rappels:
ex: mémoire flash (BIOS, carte Deux types SRAM / DRAM
SD, USB, SSD)
SRAM (2 NOR / rapide /
coûteuse)
DRAM (1 transistor + 1
condensateur / lente / bon
marché)
C o m m e n t o r g a n i s e r l e s
mémoires pour obtenir de 2. Problèmatique bonnes performances à
moindre coût ?Hiérarchie Principe de base
Construction d’une hiérarchie qui Registres
va du processeur (composant le
plus rapide) vers les composants
Mémoire Cache les plus lents.
vitesse coût
Les données à utiliser sont dans
Mémoire Centrale
les mémoires rapides, les autres
dans les mémoires lentes.
Mémoire de Masse
Principe
Mémoire (SRAM) capable de
fournir un débit élevé
d’instructions et de données pour
le processeur (sinon famine / perte 3. Mémoire Cache
de performances)
Contrainte de la taille du cache.
Comment anticiper les données /
instructions nécessaires au proc? L2 (+L3)
Organisation Organisation
Back Side Bus
Front Side Bus (BSB)RAM
(FSB)
Mémoire CPU Processeur L1 I/D L2 (L3) NorthbridgeAGPCentrale (Registres + L1)
PCIe
Internal BusL(i+1) > L(i) en taille et temps
d’acces PCI
SouthbridgeL1 (parfois L2) sur le micro- ISA
processeurs
Super I/O BIOS
Construction des Construction des
niveaux niveaux
Cache inclusif Exclusif:
contenu de Li est contenu dans L ⊕: plus grand (L1+L2) / pas de
(i+1) contraintes sur la taille de L2
Cache exclusif ⊖: pas de duplication des
données, perte de performancesles contenus des caches sont
différentsConstruction des
Performance
niveaux
Inclusif: Réussite: la donnée est présente
dans le cache
⊕: L2 plus performant
Echec (défaut de cache): la
⊖: taille totale plus faible et contrainte donnée n’est pas présente dans le
sur L2 (pas trop petit / L1) cache. Chargement à partir du
niveau de cache suivant ou de la
En pratique la majorité des caches sont
mémoire centrale (pénalité cf
inclusifs. AMD réalise certains caches
temps d’accès plus important)
exclusifs
Performance Principe de localité
Augmenter la performance des caches Ce qui augmente considérablement
= augmenter le taux de succès le taux de succés
augmenter la taille des caches (gain
pas garanti cf temps d’accès
proportionnel à la taille)
augmenter le nombre de niveaux.
Aucun gain pour i > 3Principe de Localité Principe de Localité
Localité temporelle: Conséquence / Stratégie:
une donnée utilisée a une très forte on “rapproche” du processeur les
probabilité d’être réutilisée (ex: données les plus récemment
boucles) accédées
Localité spatiale: on “rapproche” aussi les données
voisines
une donnée utilisée a de fortes
chances que ses données voisines
soient accédées
Principe de Localité Principe de Localité
Algorithme de pre-fetching: chargement
Exemple:
anticipé des D/I nécessaires pour le
for(i = 0; i < N; i++) processeur
{
implémente le principe de localitésomme += A[i];
} temporelle: on garde dans le cache les
dernières D/I utilisées
Spatiale: A[0] A[1] A[2] A[3]
spatiale: chargement de D/I contigües
Temporelle: i, N, A, somme à un élément chargéCache
Etiquette
0
1
2
4. Accès / Cohérence



c-1
Longueur d’une ligne (K mots)
Correspondance Répartition en blocs
Cache / Mémoire
0 Utilisation de l’adresse
1
2
3
numéro de blocs (de page): bits
de poids fort
0
1
2
numéro de ligne: bits de poids

⋮ faible

c-1
n
Cache MémoireRépartition Cohérence
Cache contient une copie “locale” @
de la mémoire centralenuméro de page / numéro
de colonne
Il est nécessaire de garder la
cohérence entre le cache et la
mémoire (les modifications faites
Sur cet exemple, 1 ligne du cache contient 16 dans le cache doivent être
mots / 1 bloc mémoire contient 16 mots repercutées dans la mémoire).
Cohérence Write-through
Pas de problème pour la lecture (cf Ecriture simultanée
pas de modification)
chaque modification du cache
Pour l’écriture, assurer la entraine une écriture en mémoire
cohérence. Deux stratégies centrale
Write-through ⊕: cohérence garantie
Write-back ⊖: c’est looooooooooooonnnng