Professional Documents
Culture Documents
Gestion Mmoire
CPU
Mmoire
2010
F1-M2-Info Emb.
Gestion Mmoire
Mmoire contient:
Instructions et Donnes CPU charge les instructions depuis la mmoire
Gestion Mmoire
Architecture Harvard
Bus d'adresses Mmoire Programme Bus de Donnes CPU Bus d'adresses Bus de Donnes Mmoire Donnes
Gestion Mmoire
Mmoire
Dans les systmes embarqus, requis pour stocker programmes et donnes:
Code, "firmware"
Permanent, en gnral jamais chang durant la vie de l'appareil
Donnes temporaires
variables, tas, pile,... Rapide et effaable
Donnes de Configuration
Changent, voluent, ne doivent pas tre volatiles Ex: rpertoire tlphone mobile
2010 F1-M2-Info Emb.
5
Gestion Mmoire
Types de Mmoires
Mmoire Random Access Memory (RAM) Dynamic RAM SDRAM DDRAM Static RAM Read Only Memory (ROM) PROM EPROM EEPROM NVRAM FLASH
2010
Gestion Mmoire
Initialisation (ARM)
tat initial : "reset" et configure le matriel de telle manire que l'OS puisse s'excuter. Configuration:
contrleur mmoire, caches, quelques priphriques
Diagnostics:
Vrifie si le matriel fonctionne, identifie et isole les fautes
Boot:
charge une "image" [compresse] de l'OS.
2010 F1-M2-Info Emb.
7
Gestion Mmoire
Rorganisation Mmoire
0xFFFFFFFF I/O Regs Fast SRAM Boot ROM I/O Regs
0x00000000
2010
Gestion Mmoire
Caches Mmoire
Processeur Accs mot, byte lent Rapide Cache Lent Rapide Write Buffer Lent Mmoire principale Mmoire principale
Processeur
2010
F1-M2-Info Emb.
Gestion Mmoire
Cache et MMU
Bus d'adresses Base Traduction Processeur Cache Bus de Donnes
MMU
Mmoire principale
Cache Logique
2010
F1-M2-Info Emb.
10
Gestion Mmoire
Cache et MMU
Bus d'adresses Base Traduction Processeur Cache Bus de Donnes
MMU
Mmoire principale
Cache Physique
2010
F1-M2-Info Emb.
11
Gestion Mmoire
Cache
Le cache est charg avec des "blocs"
Zones contigus de mots mmoire Lignes Identifier ces lignes
tat:
Ligne valide ou non Ligne modifie ou non
2010
F1-M2-Info Emb.
12
Gestion Mmoire
2010
F1-M2-Info Emb.
13
Gestion Mmoire
Caches Associatifs
31 T a g 12 I 11 n d e 4 x 3 0 Compare Hit Way 3 Cache-tag vd Mot3 Mot2 Mot 1 Way 2 Mot 0 Cache-tag vdvd Mot3 Mot2 Mot Mot 0 1 Cache-tag Mot3 Mot2 Mot 1 1 Way 0 Mot Cache-tag vdvdvd Mot3 Mot2 1 Mot 0 Way 0 Cache-tag Mot3 Mot2 Mot Mot Mot 0 0 Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vdvdvd Mot3 Mot2 1 Mot 0 0 0 Cache-tag Mot3 Mot2 Mot Mot Mot Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vdvd Mot3 Mot2 Mot Mot 0 0 Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vd Mot3 Mot2 Mot 1 Mot 0 Mot 0 Cache-tag vd Mot3 Mot2 Mot 1 Cache-tag vdvd Mot3 Mot2 Mot Mot 0 0 Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vdvdvd Mot3 Mot2 1 Mot 0 0 0 Cache-tag Mot3 Mot2 Mot Mot Mot Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vdvdvdvd Mot2Mot2 1 Mot 0 0 0 0 Cache-tag Mot3Mot3 Mot Mot Mot Mot Cache-tag Mot3Mot3 Mot2 1 1 Mot Cache-tag Mot2 Mot Mot 1 Cache-tag vdvdvd Mot3 Mot2 1 Mot 0 0 0 Cache-tag Mot3 Mot2 Mot Mot Mot Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vdvd Mot3 Mot2 Mot Mot 0 0 Cache-tag Mot3 Mot2 Mot 1 1 Mot Cache-tag vd Mot3 Mot2 Mot 1 Mot 0 Miss
2010
F1-M2-Info Emb.
14
Gestion Mmoire
Politiques de remplacement:
Round-robin ou pseudo alatoire
2010 F1-M2-Info Emb.
15
Gestion Mmoire
Caches : contrle
Flush: vider tout le contenu Clean: pousser toutes les donnes modifies en mmoire Possibilit d'effectuer ces oprations par portion (granularit: la ligne) Oprations pour I caches et D caches Possibilit de verrouiller du code et des donnes en cache.
2010 F1-M2-Info Emb.
16
Gestion Mmoire
Droits compars avec le mode du processeur lors d'un accs mmoire pour dterminer si l'accs est valide ou non.
Invalide: gnration d'une exception "abort"
2010
F1-M2-Info Emb.
17
Gestion Mmoire
MPU: rgions
Rgions peuvent se recouvrir A chaque rgion est attribu une priorit, indpendante de ses privilges En cas de recouvrement les droits de la rgion de plus haute priorit sont appliqus L'adresse de dpart d'une rgion est un multiple de sa taille La taille d'une rgion est une puissance de 2 entre 4KB et 4GB Accs hors rgion entrane un abort
2010 F1-M2-Info Emb.
18
Gestion Mmoire
Rgion 0: accs privilgi seulement Rgion 3: redfinie chaque changement de tche, accs en mode utilisateur:
2010
une tche active ne peut pas corrompre les rgions dont elle n'a pas besoin
F1-M2-Info Emb.
19
Gestion Mmoire
0x0400000e3 0x040000000
Page
Rgion Tche 1
Une autre tche avec la mme adresse virtuelle accdera une page physique diffrente
2010 F1-M2-Info Emb.
20
Gestion Mmoire
page
Registre de relocation
F1-M2-Info Emb.
page frame
21
2010
Gestion Mmoire
Exemple de "Mapping"
Mmoire Virtuelle Tables de Pages Mmoire Physique
Code Flash
PTE
2010 F1-M2-Info Emb.
page frame
22
Gestion Mmoire
MMU et multi-tches
Mmoire Virtuelle Tables de Pages Tche3 Tche1 Tche2 Tche2 Tche1 0X400000 Tche 1 active
2010 F1-M2-Info Emb.
Mmoire Physique
Mmoire Virtuelle
Mmoire Physique
Tche3
Tche3
Tche2
Tche1
Tche1
23
Gestion Mmoire
Tche1
Tche2
2010
F1-M2-Info Emb.
24
Gestion Mmoire
Tables de Pages
Conversion Virtuel => Physique Souvent, grandes zones non dfinies
=> beaucoup de "PTE", donc de place mmoire, pour rien
2010
F1-M2-Info Emb.
25
Gestion Mmoire
MMU Intel
Adresse 31 virtuelle
22 21
10 bits 10 bits
12 11
12 bits
0 Page Offset
4KB page
Directory Index
1023
cr/st
Page Table Entry (PTE)
Directory Address
Gestion Mmoire
Bits de status
Page accde Page modifie
2010 F1-M2-Info Emb.
27
Gestion Mmoire
Level 1 PTE
4096 entres (=> 4GB) Quatre types d'entres:
Description de zone de 1MB Entre de catalogue vers une table de pages L2 fines
(1024 * &, 4 ou 64 KB) (taille 4KB) (taille 16 KB)
Entre de catalogue vers une table de pages L2 grosses (256 * 4 ou 64 KB) (taille 1KB) Entre invalide gnrant un "abort"
Gestion Mmoire
Level 1 PTE
31 Entre Section 31 Table page grosse 31 Table page fine 31 Faute Adresse de base Adresse de base 11 0 Adresse de base 20 19 0 11 9 8 5 4 3 2 1 0 AP 0 Domaine 1 C B 1 0 98 5 4 3 2 1 0 0 0 1
0 Domaine 1 98
5 4 3 2 1 0 0 1 1
Domaine 1
1 0 0 0
2010
F1-M2-Info Emb.
29
Gestion Mmoire
Level 2 PTE
31 Large Page 31 Petite Page 31 Trs Petite Page 31 Faute Adresse de base Adresse de base Adresse de base 16 15 0 4 3 2 1 0 AP3 AP2 AP1 AP0 C B 0 1
12 11
4 3 2 1 0
2010
F1-M2-Info Emb.
30
Gestion Mmoire
10
31 Base
20 19 Offset
F1-M2-Info Emb.
31
Gestion Mmoire
10
2010
F1-M2-Info Emb.
32
Gestion Mmoire
Memory Management
Based on notion of region
address, size, access modes (R,W,X) inheritance properties
Gestion Mmoire
Gestion Mmoire
Gestion Mmoire
Copy-on-write optimization
page inheritance (init data region)