02/10/2013JC LP MD1 COURS_3
02/10/2013JC LP MD2 Direct Memory Access DMA
02/10/2013JC LP MD3 DMA Un DMA est une sorte de co_processeur qui ne fait qu’une instruction : transfert de données
02/10/2013JC LP MD4
02/10/2013JC LP MD5
02/10/2013JC LP MD6
02/10/2013JC LP MD7 Registres d’un DMA Au minimum –Adresse source –Adresse destination –Nombre de transferts –Registre de commande et contrôle
02/10/2013JC LP MD8 PXR4040 DMA_A 64 canaux DMA_B 32 canaux Transfert Control Descriptor (32 registres par canal)
02/10/2013JC LP MD9 Caches
02/10/2013JC LP MD10 Principe des caches
02/10/2013JC LP MD11 Eléments d’un cache
02/10/2013JC LP MD12 Mémoire associative
02/10/2013JC LP MD13 Cache indexé
02/10/2013JC LP MD14 Exemple Soit une machine 32 bits Cache 64Ko Ligne de cache 4 mots de 32 bits (bloc) Donner –Nombre de bits du bloc –Nombre de bits de l’index –Nombre de bits du tag
02/10/2013JC LP MD15 Remarques Principe de localité Choix de la taille du bloc Cohérence cache/mémoire centrale –Write_through –Write_back Problème du cache plein –LRU Least Recently Used –First in first out –Random –…….
02/10/2013JC LP MD16 Cache du PDP11/70
02/10/2013JC LP MD17 Cache du (unifié)
02/10/2013JC LP MD18 Cache du (split)
02/10/2013JC LP MD19 Snoopy du 88000
02/10/2013JC LP MD20 Snoopy du 88000
02/10/2013JC LP MD21 Snoopy du 88000
02/10/2013JC LP MD22 Snoopy du 88000
02/10/2013JC LP MD23 Snoopy du 88000
02/10/2013JC LP MD24 Snoopy du 88000
02/10/2013JC LP MD25 Snoopy du 88000
02/10/2013JC LP MD26 Snoopy du 88000
02/10/2013JC LP MD27 Cache PXR Ko data, 16 Ko instruction Ligne de cache 32 bytes= 4 mots de 64 bits 64 bits de data, 32 bits d’adresse 4 WAY
02/10/2013JC LP MD28 Memory Mamagment Unit
02/10/2013JC LP MD29 Rôle d’un MMU Gestion de la mémoire Transformer une adresse logique en adresse physique Assurer des protections
02/10/2013JC LP MD30 Evolutions L’utilisateur gère sa mémoire physique (notion de loader avec calcul de toutes les adresses avec des adressages absolus) Adressage relatif qui facilite l’implantation en mémoire Notion d’overlay Gestion mémoire par segmentation, segments de taille variable ( problème de garbage collector) Gestion mémoire par pagination, pages de taille fixes Gestion mémoire avec des pages de tailles différentes pour des applications embarquées
02/10/2013JC LP MD31 MMU 68040
02/10/2013JC LP MD32 ATC 68040
02/10/2013JC LP MD33 MMU PXR4040 Translation Lookaside Buffer (TLB)
02/10/2013JC LP MD34 Registres d’accès aux TLB PXR4040 MAS0 sert de pointeur vers un TLB MAS1: bit de validité + ProcessID+ taille page MAS2: n° page virtuelle +cache inhibit + write through/write back +…. MAS3: N° page physique + R/W/Execute pour user et superviseur L’instruction tlbwe assure la recopie de MAS0,MAS1,MAS2 dans le TLB pointé par MAS0