8. La mémoire

publicité
Ch. 8
Mémoire
Mounir Boukadoum
Traduit et adapté de l’anglais
sources anglaises
Plan
• Vue architecturale d’un ordinateur
• L’interface CPU‐Mémoire • La mémoire et les différentes technologies
• CPU‐Bus‐E/S
• Protocoles de bus
Traduit et adapté de l’anglais
sources anglaises
1
Architecture fondamentale d’un ordinateur • CPU + mémoire + périphériques – Blocs/composants indépendants travaillant ensemble sous le contrôle du processeur central – Circuits d’interconnexion (glue circuits) et protocoles de communication compris de tous Traduit et adapté de l’anglais
sources anglaises
Lignes d’interconnexions dans une carte‐mère
• Bus système (Front Side Bus) : relie le uP au concentrateur de contrôle mémoire (MCH ou north bridge)
• Bus graphique : relie le MCH à la carte graphique
– Un contrôleur interne (IGE) prend le relai en utilisant la mémoire vive locale si la carte est absente
• Bus mémoire : relie le MCH à la mémoire vive
• Bus d’extension d’E/S : relie le concentrateur du contrôleur d’E/S (ICH ou south bridge) aux connecteurs d’E/S – Ports USB , sériels, etc. Traduit et adapté de l’anglais
sources anglaises
2
Mode étendu
Bus d'adresses
Bus de données
Mémoire
Alimentation
Bus de contrôle
CPU
Horloge
Mémoire
Interrupt
Port
Périphérique
Interrupt
Port
Périphérique
Traduit et adapté de l’anglais
sources anglaises
Interface CPU Memoire
• Comprend: –
–
–
–
–
–
Bus d`adresses unidirectionnel Bus de données bidirectionnel Ligne de commande de lecture (“read”) Ligne de commande d’écriture (“write”) Ligne indicatrice d’état prêt (“ready”) Ligne(s) de commande indicatrice(s)
de taille (8, 16, 32 bit) address bus
data bus
Read*
CPU
• L’accès à une adresse demande : Write*
Memory
Ready
size
– Lecture : (1) Générer l’adresse et l’indication de taille, (2) Activer Read et copier les données si Ready ou fin de cycle * Peuvent être combinées en R/W* et horloge
– Écriture:
(1) Générer l’adresse et l’indication de taille, (2) Activer Write et attendre Ready ou fin de cycle Traduit et adapté de l’anglais
sources anglaises
3
Organisation hiérarchique de la mémoire
• Le CPU et la mémoire n’opèrent pas à la même vitesse, à moins d’utiliser des mémoires au coût élevé!
• L’usage d’une mémoire cache offre un compromis Traduit et adapté de l’anglais
sources anglaises
• Si l'information cherchée ne se trouve pas dans la cache interne (appelée L1 pour niveau 1), le CPU va chercher plus loin
– la mémoire cache externe (L2, quelque fois, elle est aussi interne) est plus lente, mais offre plus de capacité (jusqu’`a plusieurs Mo)
• Dans les architeures de Harvard, l’usage d’une mémoire externe ramène l’architecture à une de Van Newman (pas de bus de données et instructions différenciés)
Traduit et adapté de l’anglais
sources anglaises
4
Types de mémoire
• Dépendent de l’usage
– Mémoire primaire : mémoire de travail, généralement volatile
– Mémoire secondaire : mémoire de sauvegarde; non volatile
• Variés en fonction de la taille, du format, et de la technologie
– Taille : 1, 4, 8 bits
– Format = capacité x taille (e.g., 1Gx1) Traduit et adapté de l’anglais
sources anglaises
Circuits de mémoire • Puces de mémoire + contrôleur d’accès
• Chaque puce fournit un ou plusieurs bits par adresse address bus
data bus
Read
Write
Ready
Size
CPU
– Les puces peuvent être groupées en parallèle pour obtenir 8/16/32 bits • Un contrôleur décode les adresse et génères les signaux de commande
• Exemple: – 8 puces au format 16x1, fournissant chacune 1 bit pour former une mémoire de 16x8
Memory
16x8‐bit memory array
0000
0001
1 0 1 1 0 0 1 0
1 0 0 0 0 0 0 1
1111
0 1 0 1 0 0 1 1
D7 D6 D5 D4 D3 D2 D1 D0
address 1‐of‐16
decoder
Boîtiers de 16x1‐bit
Traduit et adapté de l’anglais
sources anglaises
5
La Mémoire RAM
• Mémoire à semiconducteurs volatile, à base d’un effet capacitif – Le contenu doit être raffraichi régulièrement • Le nom RAM (Random Access Mémory) vient du fait que les mémoires étaient à accès séquentiel avant, pour des temps d’accès plus lents • Puces souvent organisées en parallèle sur des barrettes de circuits imprimés au format SIMM/DIMM (Single/Double Inline Memory Module) Traduit et adapté de l’anglais
sources anglaises
Architecture d’implémentation d’une mémoire RAM
• Le CPU voit la mémoire RAM comme une suite linéaire d’octets, mais l’organisation physique des puces est matricielle
– Bits individuels répartis dans une matrice, auxquels on accède par rangée (« word line) et colonne (« bit line »)
Traduit et adapté de l’anglais
sources anglaises
6
Accès à une cellule RAM
• L’accès à une cellule se fait en divisant l’addess en un champs de ligne et un autre de colonne
Bit lines
Word lines
Traduit et adapté de l’anglais
sources anglaises
Accès à une RAM dynamique
• Les broches d’adressage fournissent les coordonnées ligne/colonne séquentiellement grâce à deux lignes d’echantillonnage – Exemple: Un DRAM de 64K requiert 16 bits d’adresse (65 536= 216) mais le boitier comporte seulement 8 lignes d’adresse, plus une ligne CAS/ et une autre RAS/. RAS: Row Address Strobe
CAS: Column Address Strobe
Traduit et adapté de l’anglais
sources anglaises
7
Puce DRAM • Les adresses des lignes et colonnes sont multiplexées • Deux lignes CAS et RAS servent au démultiplexage (et jouent le rôle de CS)
• Des amplificateurs détecteurs (sens amps.) détectent et amplifient les charges des cellules
• Un compteur de rafraichissement peut exister à l`interne
Traduit et adapté de l’anglais
sources anglaises
Fonctionnement d’une puce DRAM • Ex. d’une lecture
4
Data bus closed for input (read)
Traduit et adapté de l’anglais
sources anglaises
8
Diagramme des temps en lecture d’une DRAM
n ns
Clock
T1
Address
T2
T3
T4
T1
Column
Address
Row
Address
RAS
CAS
Output
enable
Read/
Write
Data
output
Hi-Z
Data valid
N ns
Read cycle
Traduit et adapté de l’anglais
sources anglaises
Technologies de mémoire • DRAM: Dynamic Random Access Memory
– Traits positifs : dense (1 transistor par bit) and peu coûteuse – Traits négatifs : demande un circuit de rafraichissement du contenu et relativement lente
– Commune comme mémoire primaire dand les PC
• SRAM: Static Random Access Memory
– Traits positifs : accès rapide et ne demandant pas de rafraichissement – Traits négatifs : peu dense et relativement coûteuse (~RAM/8)
– Commune dans les systèmes embarqués et dans les mémoires caches • ROM et Flash ROM: Read Only Memory
– Non volatile, non inscriptible (« Masked ROM ») ou temps d’écriture très grand devant le temps de lecture (« Flash »)
– Commune dans les BIOS (programme de démarrage des PC) ou comme mémoire secondaire (clés USB, caméras numériques, etc.) Traduit et adapté de l’anglais
sources anglaises
9
DRAM versus SRAM
Word line
Bit Line
Cellule DRAM
Cellule SRAM
• Lecture/Écriture : On active la ligne de mot et on lit/écrit dans
la ligne de bit
• Dans le cas de la DRAM, la lecture est destructive du contenu
qui doit être régénéré
Traduit et adapté de l’anglais
sources anglaises
DRAM versus SRAM
Cellule SRAM
• Stable après accès
• Gestion statique demandant seulement un courant de repos en dehors des accès
Cellule DRAM
• Accès destructif, circuit de rafraichissement requis ! • Gestion dynamique demandant plus d’énergie
• Temps d’accès ralenti par les différentes capacités
Traduit et adapté de l’anglais
sources anglaises
10
Mémoire ROM à masque
•Programmation à la fabrication
•Non réinscriptible une fois en opération
•Contenu non volatile Traduit et adapté de l’anglais
sources anglaises
Mémoire Flash
• Contenu non volatile
• Réinscriptible
• À l’état effacé, les grilles sont isolées l’une de l’autre et le transistor ne conduit pas («1 »)
• Pour programmer « 0 », deux tensions positives sont appliquées aux grilles pour trapper des électrons entre elles (ce qui fait baisser vth)
• L`effet persiste une fois les tensions enlevées, à moins de déloger les électrons trappés avec un champ électrique approprié (ou attendre une dizaine d’années !)
Traduit et adapté de l’anglais
sources anglaises
11
Puces SRAM • Généralement organisées en tailles de 1, 4 ou 8 bits
• Possèdent une entrée de validation appelée CS ou CE
• Peuvent avoir des lignes Din et Dout commune
Traduit et adapté de l’anglais
sources anglaises
Diagramme des temps en lecture d’une SRAM • Les lignes d’adresses et CS doivent être stables tAA avant les données • Dout fournit l`information demandée t
RC
tAA
Address Bus
2147H
Dout
A11‐A0
Address
A11‐A0
old address
new address
CS
WE
Dout
DinWE CS
2147H High‐Speed 4096x1‐bit static RAM
high
impedance
undef
Data Valid
tACS
tHz
tRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to highZ out
Traduit et adapté de l’anglais
sources anglaises
12
Diagramme des temps en écriture d’une SRAM
• Les adresses et les données doivent être stables tS avant d’activer WE/
t
• Din lit les données
t
WC
AA
Address
A11‐A0 old address
Address Bus
new address
tS
CS
WE
2147H
Din
A11‐A0
DinWE CS
2147H High‐Speed 4096X1‐bit static RAM
Din
old data
new data
tHz
tACS
tS = Signal setup time
tRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to highZ out
Traduit et adapté de l’anglais
sources anglaises
Augmentation de la capacité
Data In
Decoder
• On branche plusieurs boîtiers en parallèle (lignes d’adresses, de données et R/W) en gardant les CS distincts
• La validation de chaque CS est achevée avec les bits d’adresse non utilisés par les boîtiers (bits de poids fort). • Ex. : Mémoire 16x1 avec 4 boîtiers 4x1 
A3
A2
A1
A0
R/W
D3
A1
D-In
A0
R/W
CS D-Out
D2
A1
D-In
A0
R/W
CS D-Out
D1
A1
D-In
A0
R/W
CS D-Out
S1 D0
S0
A1
D-In
A0
R/W
CS D-Out
Data Out
Traduit et adapté de l’anglais
sources anglaises
13
Augmentation de la taille des mots
Data In
A1 D-In
A0
R/W
CS D-Out
• On branche plusieurs boîtiers en parallèle (lignes d’adresses, CS et R/W) en gardant les lignes de données distinctes
• Ex. : Mémoire 4x4‐bit avec 4 boîtiers 4x1 
3210
A1 D-In
A0
R/W
CS D-Out
A1 D-In
A0
R/W
CS D-Out
A1
A0
R/W
A1 D-In
A0
R/W
CS D-Out
CS
Data Out
3210
Traduit et adapté de l’anglais
sources anglaises
Performance d’une mémoire DRAM
• Indicateurs de performance – Temps d’accès : temps requis pour lire une cellule (dépend essentiellement de la technologie des semi‐conducteurs) – Temps d’accès en mode page : temps d’accès à une cellule dans le même page qu’une cellule précédemment sélectionnée (pas besoin de répéter RAS)
– Fréquence du raffraîchissement
• Technologies d’amélioration
– Extended Data Out (EDO) : permet de charger la prochaine addresse durant l’accès en cours – SDRAM : Synchronous DRAM utilise un compteur automatique pour accéder à plusieurs adresses en séquence, en synchronisation avec l’horloge du CPU
– DDR SDRAM – Double Data Rate SDRAM permet des accès sur les deux fronts de l’horloge
Traduit et adapté de l’anglais
sources anglaises
14
Passage de bits à
octets
Traduit et adapté de l’anglais
sources anglaises
Modules DRAM • Intègrent plusieurs boîtiers DRAM pour augmenter la taille (quelquefois la capacité aussi) • Se distinguent des SRAMs par le besoin pour un contrôleur qui :
– Sépare le bus d’adresses en adresses de rangées et de colonnes
– Fournit les signaux RAS and CAS – Rafraichit les boîtiers à intervalles réguliers
– Fournit de signaux d’état (e.g., mémoire active en occupée rafraichir les cellules)
Traduit et adapté de l’anglais
sources anglaises
15
Les différents Bus avec les mémoires : SRAM, DRAM, Mémo cache,…
Traduit et adapté de l’anglais
sources anglaises
Gestion de mémoire virtuelle
• Utile pour allouer et gérer la mémoire dans des environnements à usagers multiples; à mémoire
fragementée, ou lorsque la capacité demandée dépasse la physique • Il s’agit d’établir un lien entre les adresses utilisées (virtuelles) et les adresses physiques
ARM
– Fait par un MMU (Memory Management Unit)
Traduit et adapté de l’anglais
sources anglaises
16
• Le MMU (Management Memory Unit) traduit les addresses virtuelles en adresses physiques, via un cache appelé TLB (Translation Lookaside Buffer). – Les addresses sont groupées en pages suivant une structure en tableau (page table)
Traduit et adapté de l’anglais
sources anglaises
Gestion de mémoire virtuelle
• Technique de pagination – L’espace d’adressage physique est divisé en un ensemble de pages formant un page frame et l’espace d’adressage virtuel est fait de pages virtuelles (virtual pages)
– Les espaces virtuel et physique communiquent via le MMU
Traduit et adapté de l’anglais
sources anglaises
17
Traduit et adapté de l’anglais
sources anglaises
Fonctionnement du MMU interprétation du schéma au diapo précédent • L’adresse virtuelle est de 16 bits soit:
0010000000000100 = 213 + 22 = 8196
– 0010 = 4 bits utilisés pour le No de page, parmi 24 = 16 identificateurs de pages : page 0 à page 15
– 000000000100 = 12 bits de décalage (Offset) à l’intérieur de la page : 0–(212 ‐1) • On a: index = la page virtuelle #2: code 110; P/A bit =1 (P/A signifie: présence/absence)
• L’adresse phsyique est = No.page correspondant + Offset= 110000000000100
ce qui donne: 214 + 213 + 22 = 16384+8192+4= 24580
NB: le bit de présence (P/A bit) ne rentre pas dans le compte !!
Pour avoir 16 bits dans l’adresse physique, il rajouter un ‘0’ en avant.
Traduit et adapté de l’anglais
sources anglaises
18
Gestion de mémoire virtuelle
• Le Swapping : technique de Pagination/segmentation
 Concept : Sauver les programmes et données de données inactifs (segments) dans la mémoire secondaire pour libérer de l’espace.  Fonctionnement : le Swapping peut survenir pour des processus
dormant depuis longtemps, alors que le système d'exploitation a besoin d'allouer de la mémoire aux processus actifs. Traduit et adapté de l’anglais
sources anglaises
Le Swapping
Traduit et adapté de l’anglais
sources anglaises
19
Segmentation vs Pagination
• Le problème avec la segmentation est que l’unité d’allocation de mémoire (le segment) est de longueur variable
• La pagination utilise des unités d’allocation de mémoire fixe, éliminant ce problème
Traduit et adapté de l’anglais
sources anglaises
Traduit et adapté de l’anglais
sources anglaises
20
Téléchargement