Vous êtes sur la page 1sur 16

conception des systèmes de mémoire

introduction :
Jusqu'à présent, nous avons traité la mémoire comme un tableau de mots
limité
en taille uniquement par le nombre de bits d'adresse. La vie est rarement
si facile...
Des problèmes du monde réel surviennent:
•Coût
•la vitesse
•Taille
•consommation d'énergie
•volatilité
•etc.
À quels autres problèmes pensez-vous qui influenceront la mémoire
conception?

• Composants de la mémoire:
• Cellules de mémoire RAM et matrices de cellules
• RAM statique - plus chère, mais moins complexe
• Décodeurs Tree et Matrix - nécessaires pour les puces RAM volumineuses
• RAM dynamique - moins chère, mais doit être «rafraîchie»
• Organisation de la puce
•Horaire
• ROM: mémoire en lecture seule
• Cartes mémoire
• Les tableaux de puces donnent plus d'adresses et / ou des mots plus larges
• Baies de puces 2-D et 3-D
• Modules de mémoire
• Les grands systèmes peuvent bénéficier du partitionnement de la mémoire
pour
• accès séparé par les composants du système
• accès rapide à plusieurs mots

• La hiérarchie de la mémoire: de rapide et cher à lent et bon


marché
• Exemple: Registres-> Cache–> Mémoire principale-> Disque
• Dans un premier temps, ne considérez que deux niveaux adjacents dans la
hiérarchie
• Le cache: haut débit et cher
Types: mappé direct, associatif, ensemble associatif
• Mémoire virtuelle - rend la hiérarchie transparente
• Traduire l’adresse de l’adresse logique du processeur en
adresse physique où les informations sont effectivement stockées
• Gestion de la mémoire - comment faire reculer les informations et
en avant
• Multiprogrammation - que faire pendant que nous attendons
• Le «TLB» permet d’accélérer la traduction des adresses
Processus

The CPU–Main Memory Interface


Séquence d'événements:
Lis:
1. Le processeur charge MAR, émet Read et REQUEST
2. La mémoire principale transmet les mots au MDR
3. La mémoire principale déclare COMPLETE.
Écrire:
1. Le processeur charge MAR et MDR, affirme Write et REQUEST
2. La valeur en MDR est écrite dans l'adresse en MAR.
3. La mémoire principale déclare COMPLETE.

Un peu de mémoire Propriétés :


Symbole Définition Intel Intel IBM / Moto.
8088 8086 601
w Taille de mot du processeur 16 bits 16 bits 64 bits
m Bits dans une adresse de mémoire logique 20 bits 20 bits 32 bits
s Bits dans la plus petite unité adressable 8 8 8
b Taille du bus de données 8 16 64
2m capacité wd, taille s wds 220 220 232
2mxs Capacité de mémoire en bits 220x8 220x8 232x8

Espace de rangement :
Lorsque les types de données dont la taille de mot est supérieure à la plus
petite
les unités adressables sont stockées en mémoire la question se pose,
«La partie la moins significative du mot stockée au
adresse la plus basse (petit endian, petit bout en premier) ou–
est la partie la plus significative du mot stocké au
adresse la plus basse (big Endian, big end en premier) »?

Architecture Intel au fil du temps :

Cellules de mémoire :
Quelle que soit la technologie, toutes les cellules de mémoire RAM doivent
fournir
Ces quatre fonctions: Select, DataIn, DataOut et R / W.
Cette cellule RAM «statique» n'est pas réaliste en pratique, mais elle est
fonctionnellement correcte.
Nous discuterons de conceptions plus pratiques plus tard.

Cartes et modules de mémoire :


• Il est nécessaire de disposer de mémoires plus grandes et plus larges qu’une
seule puce
Les puces peuvent être organisées en «planches».
Les tableaux peuvent ne pas être des tableaux physiques réels, mais peuvent
être constitués de
matrices de puces structurées présentes sur la carte mère.
• Une carte ou un ensemble de cartes constitue un module de mémoire.
Modules de mémoire:
Satisfaire le processeur - exigences de l'interface de la mémoire principale
Peut avoir une capacité de rafraîchissement DRAM
• Peut augmenter la capacité totale de la mémoire principale
• Peut être entrelacé pour fournir un accès plus rapide aux blocs de mots.

Rafraîchir le compteur :
• Chaque ligne doit être actualisée tous les R μs
• Il y a N lignes dans la DRAM donc chaque R / N μs dont nous avons besoin
pour rafraîchir l'un d'entre eux.
Machine d'état du contrôleur de mémoire :

Performances du système de mémoire :


Diviser le processus d'accès à la mémoire en étapes:
Pour tous les accès:
• transmission d'adresse en mémoire
• transmission des informations de contrôle en mémoire (R / W, Request,
etc.)
• décodage d'adresse par mémoire
Pour une lecture:
• retour des données de la mémoire
• transmission du signal d’achèvement
Pour une écriture:
• Transmission des données à la mémoire (généralement simultanée avec
l'adresse)
• stockage des données dans des cellules mémoire
• transmission du signal d’achèvement

RAM statique et dynamique Horaire :


niveaux de la hiérarchie de la mémoire :

Quelques définitions:
Localité temporelle: la propriété de la plupart des programmes qui si une
mémoire donnée
l'emplacement est référencé, il sera probablement à nouveau référencé,
«bientôt».
Localité spatiale: si un emplacement mémoire donné est référencé, ces
emplacements
près de lui numériquement sont susceptibles d'être référencés «bientôt».
Ensemble de travail: ensemble d'emplacements mémoire référencés sur une
période fixe de
heure, ou dans une fenêtre de temps.
Notez que les localités temporelles et spatiales fonctionnent toutes deux
pour garantir que le contenu
du jeu de travail ne change que lentement au cours du temps d'exécution.

Primary and secondary levels of the memory hierarchy :

Vitesse entre niveaux définis par la latence: temps d'accès au premier mot, et
bande passante, le nombre de mots par seconde transmis entre les niveaux.
• L'élément de commerce entre deux niveaux est le bloc.
• Les blocs peuvent différer / différeront en taille à différents
niveaux de la hiérarchie.
Exemple: taille du bloc de cache ~ 16-64 octets.
Taille du bloc de disque: ~ 1-4 Koctets.
• Au fur et à mesure que le jeu de travail change, les blocs sont
déplacés d'avant en arrière
hiérarchie pour satisfaire les demandes d'accès à la mémoire.
• Une complication: les adresses seront différentes selon le niveau.
Adresse primaire: l'adresse d'une valeur au niveau primaire.
Adresse secondaire: l'adresse d'une valeur au niveau secondaire

Mémoire virtuelle :
La mémoire virtuelle est une hiérarchie de mémoire, généralement
constituée de
moins de mémoire principale et de disque, dans lequel le processeur émet
tout
références de mémoire en tant qu'adresses effectives dans un espace
d'adressage plat.
Toutes les traductions vers les adresses principales et secondaires sont gérées
de manière transparente au processus faisant la référence d'adresse, ainsi
donnant l'illusion d'un espace d'adressage plat.
Rappelez-vous que les accès au disque peuvent nécessiter 100000 cycles
d'horloge pour
terminé, en raison du temps d'accès lent au sous-système de disque. Une fois
que
le processeur a, grâce à la médiation du système d'exploitation, fait
la demande appropriée au sous-système de disque, il est disponible pour
d'autres
Tâches.
La multiprogrammation partage le processeur entre des
programmes résidant dans la mémoire principale et donc disponibles pour
exécution.

La fonction de mappage de cache :


La fonction de mappage de cache est responsable de toutes les opérations de
cache:
• Stratégie de placement: où placer un bloc entrant dans le cache
• Stratégie de remplacement: quel bloc remplacer en cas d’échec
• Politique de lecture et d'écriture: comment gérer les lectures et les écritures
en cas d'échec du cache.
La fonction de mappage doit être implémentée dans le matériel. (Pourquoi?)
Trois types différents de fonctions de cartographie:
•Associatif
• Direct mappé
• Association par blocs

Champs de mémoire et traduction d'adresse:


Exemple d'adresse virtuelle 32 bits émise par le processeur:

Cette même adresse 32 bits partitionnée en deux champs, un champ de bloc,


et un champ de mot. Le champ de mot représente le décalage dans le bloc
spécifié dans le champ de bloc:
Exemple de référence mémoire spécifique: bloc 9, mot 11.

Mécanisme de cache associatif :


Parce que n'importe quel bloc peut résider n'importe où dans le cache, un
(content adressable) est utilisée. Tous les emplacements sont recherchés
simultanément.

Avantages et inconvénients du cache mappé associatif :


Avantage
• Le plus flexible de tous - n'importe quel bloc MM peut aller n'importe où
dans le cache.
Désavantages
• Grande mémoire de balises.
• Le besoin de rechercher simultanément la totalité de la mémoire de balises
signifie
Matériel.
La politique de remplacement pose un problème lorsque le cache est plein.
-plus tard-

Mémoire virtuelle :
L'unité de gestion de la mémoire, MMU est responsable du mappage logique
adresses émises par la CPU à des adresses physiques présentées à
le cache et la mémoire principale.

Un mot sur les adresses:


• Adresse effective - une adresse calculée par le processeur pendant exécuter
un programme. Synonyme d'adresse logique
• Le terme Adresse effective est souvent utilisé pour désigner activité à
l'intérieur du CPU. L'adresse logique est le plus souvent utilisée lorsque
se référant aux adresses vues de l'extérieur du CPU.
• Adresse virtuelle - l'adresse générée à partir de l'adresse logique par
l'unité de gestion de la mémoire, MMU.
• Adresse physique - l'adresse présentée à l'unité de mémoire
Adresses virtuelles – pourquoi :
L'adresse logique fournie par la CPU est traduite à une adresse virtuelle par la
MMU. Souvent le virtuel
l'espace d'adressage est plus grand que l'adresse logique, permettant aux
unités de programme d'être mappées à un espace d'adressage virtuel plus
grand.

Adressage virtuel – avantages :


• Adressage simplifié. Chaque unité de programme peut être compilée dans
son propre
espace mémoire, commençant à l'adresse 0 et s'étendant potentiellement
loin
au-delà de la quantité de mémoire physique présente dans le système.
• Aucun déplacement d'adresse requis au moment du chargement.
• Pas besoin de fragmenter le programme pour accueillir la mémoire
limites.
• Utilisation rentable de la mémoire physique.
• Un stockage secondaire (disque) moins coûteux peut remplacer le stockage
principal.
(La MMU apportera des parties du programme dans la mémoire physique
comme
obligatoire)
•Contrôle d'accès. Au fur et à mesure que chaque référence mémoire est
traduite, elle peut être
vérifié simultanément les privilèges de lecture, d'écriture et d'exécution.

Mémoire la gestion par segmentation :


• Notez que l’adresse virtuelle de chaque segment commence à 0, différente
de sa adresse physique.
• Des mouvements répétés de segments vers et hors de la mémoire physique
dans les espaces entre les segments. C'est ce qu'on appelle la fragmentation
externe.

Fonctionnement de la hiérarchie de la mémoire :


Connexion à une mémoire avec un cache :
• Le système de mémoire est assez complexe et offre de nombreux
compromis.
• La seule façon réaliste de choisir parmi ces alternatives est d'étudier une
charge de travail typique, utilisant soit des simulations, soit des systèmes
prototypes.
• Les accès aux instructions et aux données ont généralement des modèles
différents.
• Il est possible d'employer un cache au niveau du disque, en utilisant le
matériel du disque.
• Le trafic entre MM et disque est des E / S et l'accès direct à la mémoire,
DMA peut
être utilisé pour accélérer les transferts:

Vous aimerez peut-être aussi