ARCHITECTURE DES ORDINATEURS Filière : InfoTronique Chap. 3 : Mémoire Dr. Abdelhakim Khouas Email : sm5_archi@hotmail.fr Département de Physique Faculté des Sciences
Objectif de ce chapitre Comprendre l organisation et le fonctionnement de la mémoire ainsi que les échanges de données avec le μp Types de mémoires Organisation de la mémoire Interfaçage avec le μp Segmentation Modes d adressages Architecture Chap. 3 1
Plan 1. Définition Types de mémoires 2. Organisation de la mémoire 3. Organisation des données Big and Litle Endian 4. Segmentation 5. La pile 6. Modes d adressage de la mémoire Directe, immédiat, registre, 7. Mémoire avancée Mémoire cache Accès directe à la mémoire (DMA) 8. Conclusion Architecture Chap. 3 2
Rappel Architecture d un ordinateur Architecture Von Newmann Réf. : Microprocesseur, support de cours Dr. J. Y. Haggège Architecture Chap. 3 3
1. Définition La mémoire est l élément de stockage des informations (programme et données) Pourquoi on a besoin d une mémoire? Architecture Chap. 3 4
1. Définition Il existe 2 types de mémoire Mémoire morte (ROM) : Read Only Memory Mémoire à lecture seulement Plusieur types de ROM : PROM, EPROM, EEPROM Mémoire vive (RAM) : Random Access Memory Mémoire à écriture et lecture 2 types de RAM : Dynamique (DRAM) et Statique (SRAM) Architecture Chap. 3 5
2. Organisation de la mémoire Une mémoire est composée de m cellules (ou cases) Chaque cellule contient un nombre fixe de bits Chaque cellule est repérée par un numéro unique qui est l adresse de la cellule Architecture Chap. 3 6
2. Organisation de la mémoire 255 BB FFh 254 B6 Feh 253 2F FDh données Adresses en décimal Adresses en hexadéciml 4 9C 04h 3 78 03h 2 FA 02h 1 5D 01h 0 3E 00h Organisation d une mémoire de 256 octets (2048 bits ou 2kbits) Architecture Chap. 3 7
2. Organisation de la mémoire Schéma d une mémoire A0 D0 Adresses A1 An-1 : : : Mémoire : : : D1 Dm-1 Données CS Contrôle WR RD CS (chip select) : signal de sélection du chip WR (write) : signal d écriture RD (read) : Signal de lecture Architecture Chap. 3 8
2. Organisation de la mémoire Connexion de la mémoire Réf. : Microprocesseur, support de cours Dr. J. Y. Haggège Architecture Chap. 3 9
2. Organisation de la mémoire Espace d adressage d un μp C est l ensemble de cellules que le μp pourrait adresser si elles étaient disponibles Avec un bus d adresse de N bits le μp peut adresser 2 N cellules 8 bits --> 256 cellules 16 bits --> 65 536 cellules ou 64 k cellules 32 bits --> 4 G cellules Un μp peut adresser plusieurs mémoire en utilisant les signaux CS «Chip Select» Architecture Chap. 3 10
2. Organisation de la mémoire Signal CS «Chip Selet» Réf. : Microprocesseur, support de cours Dr. J. Y. Haggège Architecture Chap. 3 11
2. Organisation de la mémoire Taille en bits d une Mémoire Taille( bits) = 2 N * n N : Nombre de bits d adresse n : Nombre de bits par cellules 2 N : Nombre de cellules Architecture Chap. 3 12
3. Organisation des données Une donnée stockée dans plusieurs cellules peut être ordonnée de gauche à droite ou de droite à gauche Exemple : Soit 04030201h une valeur hexadécimal codé sur 32 bits Soit une mémoire organisée en cellules de 8 bits, et on veut sauvegarder cette en mémoire valeur à partir de l adresse 00h --> Deux possibilités 1. On commence à sauvegarder à partir du poids faible 2. On commence à sauvegarder à partir du poids fort Architecture Chap. 3 13
3. Organisation des données 04h CD 03h AB 02h 89 01h 67 00h Petit boutiste «little-endian» (Intel X86) 04h 67 03h 89 02h AB 01h CD 00h Grand boutiste «big-endian» (Motorola et Sun) Architecture Chap. 3 14
4. Segmentation Problématique Le 8086 possède un bus d adresse de 20 bits, mais les registres du processeur sont de 16 bits seulement Solution L adresse physique est donnée par un couple de deux valeurs de 16 bits qui sont le segment et l offset Segments Le mémoire est décomposée en plusieurs blocs appelés segments Offset Dans un segment, chaque cellule est repérée par son offset qui est l adresse de la cellule dans le segment Architecture Chap. 3 15
4. Segmentation Architecture Chap. 3 16
4. Segmentation Exemple : Mémoire du 8086 La commande d 100 permet d afficher le contenu des 128 adresses de la mémoire à partir de l adresse 100h du segment DS (DS:100) -d 100 13B0:0100 10 FF 00 05 01 00 BB FF-FF 83 C3 01 29 C0 21 D8...).!. 13B0:0110 31 D8 23 06 00 02 00 00-00 00 00 00 34 00 9F 13 1.#...4... 13B0:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 13B0:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 13B0:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 13B0:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 13B0:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 13B0:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... - Architecture Chap. 3 17
4. Segmentation Exemple : Mémoire du 8086 13B0:0100 10 FF 00 05 01 00 BB FF-FF 83 C3 01 29 C0 21 D8...).!. FFFFh FFFEh FFFDh Segment 13B0 de la mémoire...... FF 0107h BB 0106h 0 0105h 01 0104h 05 0103h 00 0102h FF 0101h 10 0100h.. 0001h 0000h Architecture Chap. 3 18
4. Segmentation L adresse physique (absolue) d une cellule est donnée par le couple segment:offset Exemples : μp 8086 FFFF:0001 ==> FFFF1 F0FF:F001 ==> FFFF1 FF0F:0F01 ==> FFFF1 FFF0:00F1 ==> FFFF1 F000:FFF1 ==> FFFF1 F111:EEE1 ==> FFFF1 E211:EEE1 ==> FFFF1 Architecture Chap. 3 19
4. Segmentation Calcul de l adresse physique ou absolue Adresse physique = segment * pas + offset Pour le 8086 Adresse = Segment * 16 + offset Exemple : segment = F1FF Offset : 1000 ===> adresse physique = F1FF0 + 1000 = F2FF0 2 segments consécutifs du 8086 ne diffèrent que de 16 octets Les commandes d 13D0:0000 et d 13D1:0000 Architecture Chap. 3 20
4. Segmentation Registres segment du 8086 CS «Code Segment» : Segment du code source DS «Data Segment» : Segment des données SS «Stack Segment» : Segment de la pile ES «Extra Segment» : Segment supplémentaire Architecture Chap. 3 21
5. Pile Notion de pile La pile est un segment de la mémoire qui n est pas adressé par un accès aléatoire (c-à-d en fournissant une adresse) Il y a deux types de pile FIFO «First In First Out» : La donnée disponible est la première donnée sauvegardée. LIFO «Last In First Out» : La donnée disponible est la dernière donnée sauvegardée. L accès à la pile se fait par les commandes : PUSH pour sauvegarder la donnée dans la pile POP pour récupérer la donnée de la pile Architecture Chap. 3 22
5. Pile La pile en 8086 fonctionne en mode LIFO Exemple d utilisation de la pile PUSH AX : permet de sauvegarder le contenu de AX dans la pile POP BX : permet de récupérer la dernière donnée sauvegardée dans la pile et la mettre dans le registre BX PUSHF : Permet de sauvegarder le registre d état dans la pile POPF : Permet de récupérer le registre d état dans la pile Programme d échange des données de deux registres PUSH AX PUSH BX POP AX POP BX Architecture Chap. 3 23
6. Modes d adressage Les modes d adressages sont les différentes façons de manipuler les données (opérandes d une instruction) Architecture Chap. 3 24
6. Modes d adressage Les différents modes d adressage sont : Adressage registre Exemple : ADD AX,BX Adressage immédiat Exemple : ADD AX, FFFF Adressage direct Exemple : ADD AX, [FFFF] Adressage indirect Exemple : ADD AX, [BX] Adressage basé Exemple : ADD AX, [BX+FF] Adressage indexé Exemple : ADD AX, [BX+SI] Adressage basé indexé Exemple : ADD AX, [BX+SI-01] Architecture Chap. 3 25
6. Modes d adressage Registres d index du 8086 SI «Source Index» : Index de source DI «Destination Index» : index de destination Registres d adressage du 8086 BX : Registre général BP : Registre pointeur de base Architecture Chap. 3 26
6. Modes d adressage Les différentes combinaisons d adressage du 8086 [IMM] [BX] [BP] [SI] [DI] [BX+IMM] [BP+IMM] [SI+IMM] [DI+IMM] [BX+SI] [BX+DI] [BP+SI] [BP+DI] [BX+SI+IMM] [BX+DI+IMM] [BP+SI+IMM] [BP+DI+IMM] Architecture Chap. 3 27
7. Mémoire avancée Mémoire Cache C est la mémoire intégré avec le microprocesseur, elle permet d accélérer les accès mémoire et donc l exécution de programmes par le microprocesseur. Accès direct à la mémoire (DMA) Le DMA est un module qui gère les accès mémoire à la place du microprocesseur, ce qui laisse le temps au microprocesseur d exécuter les autres taches. Architecture Chap. 3 28
8. Conclusion Ce qui est important à retenir : Organisation de la mémoire Organisation des données Little-Endian Big-Endian Schéma de la mémoire et interfaçage avec le μp Segmentation de la mémoire Fonctionnement de la pile Modes d adressage Architecture Chap. 3 29