ch. 8 mémoire - uqamboukadoum_m/mic3215/ppt/8 - memory.pdf1 traduit et adapté de...
Post on 16-Feb-2021
1 Views
Preview:
TRANSCRIPT
-
1
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Ch. 8Mémoire
Mounir Boukadoum
Traduit et adapté de l’anglaisTraduit et adapté de 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
-
2
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de 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.
-
3
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Mode étendu
CPU
Mémoire
Alimentation
Port
Horloge
Mémoire
Port
Interrupt
Interrupt
Bus d'adresses
Bus de données
Bus de contrôle
Périphérique
Périphérique
Traduit et adapté de l’anglaisTraduit et adapté de 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) • L’accès à une adresse demande :
– 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
– Écriture:(1) Générer l’adresse et l’indication de taille, (2) Activer Write et attendre Ready ou fin de cycle
address bus
data bus
CPU MemoryRead*
Write*
Ready
size
* Peuvent être combinées en R/W* et horloge
-
4
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de 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)
-
5
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de sources anglaises
Circuits de mémoire • Puces de mémoire +
contrôleur d’accès• Chaque puce fournit un ou
plusieurs bits par adresse – 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
address bus
data bus
CPU MemoryReadWriteReadySize
1‐of‐16decoder
1 0 1 1 0 0 1 01 0 0 0 0 0 0 1
0 1 0 1 0 0 1 1
address
00000001
1111
Boîtiers de 16x1‐bit
16x8‐bit memory array
D7 D6 D5 D4 D3 D2 D1 D0
-
6
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de 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 »)
-
7
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Accès à une cellule RAM
Bit lines
Word lines
• L’accès à une cellule se fait en divisant l’addess en un champs de ligne et un autre de colonne
Traduit et adapté de l’anglaisTraduit et adapté de 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 StrobeCAS: Column Address Strobe
-
8
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de sources anglaises
Fonctionnement d’une puce DRAM
4 Data bus closed for input (read)
• Ex. d’une lecture
-
9
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Read cycle
n ns
T1 T2 T3 T4 T1
Data valid
N ns
Hi-Z
Read/Write
Dataoutput
Clock
RowAddress
ColumnAddress
RAS
CAS
Address
Outputenable
Diagramme des temps en lecture d’une DRAM
Traduit et adapté de l’anglaisTraduit et adapté de 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.)
-
10
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
DRAM versus SRAM
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é
Bit Line
Word line
Cellule DRAM
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
DRAM versus SRAM
• Accès destructif, circuit de rafraichissement requis !
• Gestion dynamique demandant plus d’énergie
• Temps d’accès ralenti par les différentes capacités
• Stable après accès• Gestion statique demandant seulement un courant de repos en dehors des accès
Cellule DRAMCellule SRAM
-
11
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Mémoire ROM à masque•Programmation à la fabrication•Non réinscriptible une fois en opération•Contenu non volatile
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Mémoire Flash
• À 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 !)
• Contenu non volatile• Réinscriptible
-
12
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de 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
2147H
2147H High‐Speed 4096x1‐bit static RAM
A11‐A0
DinWE CS
Dout
tRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to highZ out
old address
highimpedance
undef Data Valid
tRCtAA
tACStHz
new addressAddressA11‐A0
CS
WE
Dout
Address Bus
-
13
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Diagramme des temps en écriture d’une SRAM
• Les adresses et les données doivent être stables tS avant d’activer WE/
• Din lit les données
2147H
2147H High‐Speed 4096X1‐bit static RAM
A11‐A0
DinWE CS
Din
tS = Signal setup timetRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to highZ out
old address
old data new data
tWCtAA
tACStHz
new addressAddressA11‐A0CS
WE
Din
tSAddress Bus
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Augmentation de la capacité
• 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
D3
S1S0
D2
D1
D0
Decoder
R/W
A2A3
A1A0
Data In
Data Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
-
14
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Augmentation de la taille des mots
• 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
R/W
A1A0
Data In
Data Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
R/WCS
A0A1 D-In
D-Out
CS
3 2 1 0
3 2 1 0
Traduit et adapté de l’anglaisTraduit et adapté de 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
-
15
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Passage de bits àoctets
Traduit et adapté de l’anglaisTraduit et adapté de 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)
-
16
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Les différents Bus avec les mémoires : SRAM, DRAM, Mémo cache,…
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Gestion de mémoire virtuelle
ARM
• Utile pour allouer et gérer la mémoire dans des environnements à usagers multiples; à mémoirefragementé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– Fait par un MMU (Memory Management Unit)
-
17
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
• 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’anglaisTraduit et adapté de sources anglaises
• 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
Gestion de mémoire virtuelle
-
18
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Traduit et adapté de l’anglaisTraduit et adapté de 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= 110000000000100ce 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.
-
19
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
• 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 processusdormant depuis longtemps, alors que le système d'exploitation a besoin d'allouer de la mémoire aux processus actifs.
Gestion de mémoire virtuelle
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Le Swapping
-
20
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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’anglaisTraduit et adapté de sources anglaises
top related