Aucun titre de diapositive - PowerPoint PPT Presentation

About This Presentation
Title:

Aucun titre de diapositive

Description:

M moires embarqu es pour les syst mes monopuces - 3. Fr d ric ROUSSEAU : ... L'id e est de ne plus adresser individuellement chaque donn e, mais de donner ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 40
Provided by: TimA57
Category:

less

Transcript and Presenter's Notes

Title: Aucun titre de diapositive


1
Mémoires embarquées pour les systèmes monopuces
Frédéric ROUSSEAU TIMA 46 Avenue Félix
Viallet 38031 Grenoble Cedex France Tel 33 476
57 46 41 Fax 33 476 47 38 14 Email
frederic.rousseau_at_imag.fr
2
Intégration technologique
  • Historique ITRS 00

3
Intégration technologique
  • Complexité technologique ITRS 00

4
Utilisation de la surface de silicium
  • Evolution de l utilisation surfacique ITRS 00

5
Plan de l'exposé
  • Quelles mémoires pour les systèmes
    multiprocesseurs monopuces ?
  • Fonctionnement des (S)DRAMs
  • Fonctionnement général
  • Modes d'accès rapides
  • SDRAM et autres
  • Améliorations des performances des SoC en
    utilisant les performances des mémoires
  • Amélioration de la qualité du code des
    applications
  • Relation Mémoire-Architecture-Compilation-Système
    d'exploitation
  • Et les caches ?
  • Conclusion
  • Bibliographie

6
Plan de l'exposé
  • Quelles mémoires pour les systèmes
    multiprocesseurs monopuces ?
  • Fonctionnement des (S)DRAMs
  • Fonctionnement général
  • Modes d'accès rapides
  • SDRAM et autres
  • Améliorations des performances des SoC en
    utilisant les performances des mémoires
  • Amélioration de la qualité du code des
    applications
  • Relation Mémoire-Architecture-Compilation-Système
    d'exploitation
  • Et les caches ?
  • Conclusion
  • Bibliographie

7
Conception des systèmes multiprocesseurs monopuces
Quelle architecture mémoire (partagée,
distribuée) ? Combien de mémoires ? De quel type
? Quelles données en mémoire partagée ? A quelles
adresses les placer ? Performances (estimations)
? Modifications du code ? Génération des
interfaces ?
?
8
La mémoire aux différents niveaux d'abstraction
  • niveau système
  • Mémorisation messages, variables locales,
    variables globales.

M
VG
9
Arbre de classification deséléments de
mémorisation
Arbre de classification des éléments de
mémorisation
Read-only (ROM, PLA)
Read/write
write-few (PROM, EEPROM)
volatile
non-volatile (flash)
accès aléatoire
adressage séquentiel
FIFO
LIFO
cache
adressage direct
10
Arbre de classification destypes de mémoires
Arbre de classification des types de mémoire
double port
multi-port
Simple port
RAM
registres
statique
dynamique
SDRAM
11
Les mémoires dans les SoC
  • Dans un SoC, on trouve
  • ROM, EEPROM (code de l'application, )
  • SRAM (Cache, )
  • DRAM, SDRAM (la plus courante si besoin de
    beaucoup de mémoire)
  • Flash (conserve la donnée, accès lent 66 MHz)
  • Scratch PAD (SRAM embarquée)

source http//developer.intel.com/design/flash/
12
Nécessité d'une hiérarchie mémoire
  • Goulot d'étranglement
  • Taille de la mémoire principale
  • Plusieurs centaines de Mbits
  • Localisation de la mémoire principale
  • off chip jusqu'à maintenant, donc lent
  • Solution pour améliorer les performances
  • Hiérarchie mémoire (mémoires cache)
  • Embarquer la mémoire sur le SoC

13
Hiérarchie mémoire
  • plus petit plus rapide
  • Décodage adresse rapide
  • Sortance plus faible

14
Intérêts des mémoires embarquées dans les SoC
  • Réduction des coûts
  • taille adaptée aux besoins de l'application, peu
    de logique périphérique
  • Réduction de la puissance dissipée
  • moins de capacités off-chip
  • désactivation des bancs mémoires inutilisés,
    optimisation du rafraîchissement
  • On réduit le coût global (packaging, fiabilité)
  • Amélioration des performances
  • mémoire plus proche du processeur (temps de
    propagation réduit)
  • bus rapide
  • Fiabilité
  • nécessite d'intégrer un "embedded test and
    repair", redondance mécanisme de test

15
Plan de l'exposé
  • Quelles mémoires pour les systèmes
    multiprocesseurs monopuces ?
  • Fonctionnement des (S)DRAMs
  • Fonctionnement général
  • Modes d'accès rapides
  • SDRAM et autres
  • Améliorations des performances des SoC en
    utilisant les performances des mémoires
  • Amélioration de la qualité du code des
    applications
  • Relation Mémoire-Architecture-Compilation-Système
    d'exploitation
  • Et les caches ?
  • Conclusion
  • Bibliographie

16
Architecture DRAM
  • DRAM simple port, 220 mots, matrice (carrée) de
    210 lignes et 210 colonnes

17
Architecture DRAM Micron
18
Cycle de lecture d'une DRAM
  • Placer l'adresse de ligne sur le bus d'adresses
  • Valider en activant le signal RAS, ce qui
  • sélectionne la lignegt On recopie toute la
    ligne dans le tampon
  • Placer l'adresse de colonne sur le bus
    d'adresses
  • Valider en activant le signal CAS, ce qui
  • sélectionne la colonne dans le tampongt Quand
    le CAS est stable, la donnée est placée sur le
    bus de données
  • Désactiver RAS et CAS pour commencer un nouveau
    cycle

19
Chronogrammes d'un cycle d'accès
20
Modèle temporel d'accès mémoire
Adresse ligne
Etape1  Décodage de ligne
Adresse colonne
Etape 2  décodage de colonne
Data
Etape 3  Préchargement
Typique MICRON 256 Mbits à 133 MHz Etape 1
3 cycles Etape 1 2 cycles Etape 2 1 cycle
Etape 2 1 cycle Etape 3 3 cycles Etape 3
2 cycles
21
Des modes d'accès plus performants
  • FPM (Fast Page Mode)
  • Pour accéder à plusieurs données sur la même
    page, il suffit d'indiquer la ligne (une seule
    fois), puis les adresses des colonnes. La donnée
    est disponible tant que CAS est active (5 - 3 - 3
    - 3).

22
Des modes d'accès plus performants
  • EDO (Extended Data-Out)
  • La donnée reste valide même si le signal CAS
    n'est plus actif (ce qui permet au mp de
    commencer autre chose sans se préoccuper de la
    validité de la donnée qui n'a pas été lue
    immédiatement) (5 - 2 - 2 - 2)

23
Des modes d'accès plus performants
  • BEDO (Burst EDO)
  • L'idée est de ne plus adresser individuellement
    chaque donnée, mais de donner l'adresse de départ
    et le nombre de données à lire (mode rafale) (5
    - 1 - 1- 1)

pas supporté par Intel
24
Des modes d'accès plus performants
  • BEDO Pipeliné
  • Lidée est dajouter une latch en entrée, ce qui
    permet de positionner ladresse suivante pendant
    la lecture (ou lécriture) des données
    précédentes.
  • Modifier la nature de la mémoire
  • SDRAM (DRAM Synchrone)
  • DDR SDRAM
  • RAMBUS DRAM

25
DRAM Synchrone (SDRAM)
  • Les DRAMs étaient contrôlées par le processeur de
    façon asynchrone
  • Une SDRAM est gérée par une horloge.
  • Les signaux dentrées sont latches (adresses,
    données, signaux de contrôle). Le temps de
    réponse de la mémoire étant connu, le processeur
    peut effectuer dautres tâches en attendant la
    réponse
  • Une SDRAM permet des accès en rafale à la vitesse
    de l'horloge (limitée à 100 ou 133 MHz) (5 - 1- 1
    - 1)
  • Topologie à base de bancs mémoire
  • Les données peuvent alternativement être lues (ou
    écrites) dans les différents bancs

26
Architecture SDRAM IBM 16 Mbits
27
Cycle de lecture d'une SDRAM
28
DDR SDRAM
  • DDR SDRAM (Double Data Rate)
  • identique à la SDRAM, mais les données sont
    transmises sur front montant et sur front
    descendant, ce qui augmente par 2 la bande
    passante.

29
Encore plus de performance
  • Direct Rambus DRAM
  • Basé sur un bus interne 16 bits, 400 MHz, DDR
  • Synchronous Link DRAM
  • Basé sur un bus interne 64 bits à 200 MHz, DDR

30
Performance de la hiérarchie mémoire
processeur
Mémoire principale
Cache L1
Cache L2
registres
16 Ko - 64 Ko SRAM double port
512 Ko - 4 Mo S(D)RAM simple port
32 Mo - 512 Mo SDRAM simple port
Performance de la hiérarchie mémoire Pentium 2 à
233 MHz (donnée de 64 bits)
31
Plan de l'exposé
  • Quelles mémoires pour les systèmes
    multiprocesseurs monopuces ?
  • Fonctionnement des (S)DRAMs
  • Fonctionnement général
  • Modes d'accès rapides
  • SDRAM et autres
  • Améliorations des performances des SoC en
    utilisant les performances des mémoires
  • Amélioration de la qualité du code des
    applications
  • Relation Mémoire-Architecture-Compilation-Système
    d'exploitation
  • Et les caches ?
  • Conclusion
  • Bibliographie

32
Amélioration des performancesFavoriser les accès
par page dans le code de l'application
  • Considérons le bout de programme suivant

const int N 128 int ANN int l, c for (c
0 c lt N c) for (l 0 l lt N l)
f(Alc)
Organisation des données en mémoire
33
Amélioration des performancesFavoriser les accès
par page dans le code de l'application
  • Considérons le bout de programme suivant

... for (i 0 i lt N i) r1 f1(ai)
s1 f2(bi) ci
a, b, c à des pages différentes
34
Amélioration des performancesRelation
Mémoire-Architecture-Compilation-Système
d'exploitation
  • Pour utiliser les modes d'accès rapides de la
    mémoire, il faut
  • Architecture
  • Choisir des processeurs qui supportent ces modes
    de transfert
  • Mettre en Å“uvre ces protocoles (processeurs et
    interfaces)
  • DMA ?
  • Que fait on des données ? Cache, mémoire locale
    ?
  • Compilateur
  • Reconnaître les données qui s'y prêtent et les
    placer sur les mêmes pages
  • Reconnaître des transformations de code pour
    favoriser ces modes d'accès (pré-processeur ?)
  • Système d'exploitation
  • A l'exécution, reconnaître ou anticiper les
    transferts de données
  • Autoriser les changements de contexte pendant les
    transferts ? Et les ITs ?

35
Amélioration des performancesRéutilisation et
Architecture
  • On peut acheter des mémoires embarquées
  • vendeurs de eDRAM
  • Générateurs de mémoires
  • Pour quelle architecture mémoire ?
  • Partagée, distribuée ?
  • Combien ?
  • Type, caractéristiques ?
  • Ce qui suppose au niveau de l'architecture
  • Insertion d'adaptateurs mémoire (attention aux
    performances !)

36
Plan de l'exposé
  • Quelles mémoires pour les systèmes
    multiprocesseurs monopuces ?
  • Fonctionnement des (S)DRAMs
  • Fonctionnement général
  • Modes d'accès rapides
  • SDRAM et autres
  • Améliorations des performances des SoC en
    utilisant les performances des mémoires
  • Amélioration de la qualité du code des
    applications
  • Relation Mémoire-Architecture-Compilation-Système
    d'exploitation
  • Et les caches ?
  • Conclusion
  • Bibliographie

37
Et les caches ?
  • Les caches sont une des techniques permettant
    d'adapter l'architecture à l'application
  • Ils rendent plus efficace l'architecture en
    profitant de la localité spatiale et temporelle
    des données
  • L'architecture ignore les propriétés de
    l'application
  • Si on considère que le SoC est un ASIC
    particulier, cela signifie que l'architecture est
    taillée pour l'application
  • On connaît les échanges de données
  • On peut construire une architecture efficace
    (plus efficace qu'une architecture générale), en
    matière d'accès aux données
  • Utilisation de mémoire embarquée (dont l'accès
    est plus rapide qu'une mémoire off-chip)
  • Utilisation d'une mémoire Scratch-PAD (SRAM)

gt Dans ce cas, on peut supprimer les caches de
données
38
Conclusion
  • L'intérêt des mémoires embarquées est
    indiscutable
  • gain en performances, coût, consommation
  • L'architecture mémoire est un problème complexe
  • partagée, distribuée, types, taille, .
  • Lien entre mémoire-architecture-compilateur-SE
  • Problèmes à discuter
  • Consommation
  • Caches

39
Bibliographie
  • P.R. Panda, N. Dutt, A. NicolauMemory Issues in
    Embedded Systems-on-Chip Optimizations and
    ExplorationKluwer AP, 1999
  • IEEE Design and Test of Computer, may-June 2001,
    vol 18 n3The New World of Large Embedded
    Memories
  • P.R. Panda, F. Catthoor, N. Dutt and allData and
    Memory Optimization Techniques for Embedded
    SystemsACM Transactions on Design Automation of
    Electronic Systems, Avril 2001, Vol. 6, N2
  • F. Catthoor, S. Wuytack, and allCustom Memory
    Management Methodology Exploration of Memory
    Organization for Embedded Multimedia System
    DesignKluwer AP, 1998
  • Betty PrinceHigh Performances Memories New
    architectures DRAMs and SRAMs, Evolution and
    functionWILEY - ISBN 0 471 95646 5
Write a Comment
User Comments (0)
About PowerShow.com