ref : http://web.cecs.pdx.edu/~singh/courses/cs200/cs200.html
Merci Laurent JEANPIERRE La couche logicielle Merci Laurent JEANPIERRE
Contenu du cours Organisation d’un PC Les Registres La segmentation
Les ordinateurs type PC Processeur de la famille x86 8086…80486 Pentium 1,2,3,4, Pentium M Celeron, Xeon Ou équivalent… AMD Athlon/Sempron/Opteron Ce cours : 8086 uniquement… Car simplicité et identité des concepts
Le 8086 19 lignes d’adresses 219 adresses différentes (512 K) (les versions récentes en ont 30, voire +) 16 lignes de données 1 mot mémoire = 2 octets (les versions récentes en ont 64, voire +) Capacité mémoire = 1Mo = 8Mb Espace d’entrées/sorties séparé
Le 8086
Les processeurs à travers l’histoire m-processeur Adresses Données Mémoire Fréquence 8086 19 16 1 Mo 4,77 MHz 80286 23 16 Mo 6 MHz 80386 30 32 4 Go 16 MHz 80486 33 MHz Pentium 60 MHz Pentium Pro 64 200 MHz Pentium II 300 MHz Pentium III 400 MHz Pentium IV 64 (x2) 3+ GHz
Contenu du cours Organisation d’un PC Les registres La segmentation
Les registres Rappel : Mémoire très rapide Intégrée au processeur Caractéristique du processeur Plusieurs catégories : Drapeaux Généraux Pointeurs Segments
Registre d’état (Flags; drapeaux; Code condition) État général du processeur Compte-rendu de l’opération précédente 16 bits dont : O Overflow D Direction I Masquage Interruptions T Trappe débogage S Signe Z Zéro A Retenue Auxiliaire C Retenue (Carry) P Parité
Registres du 8086 Segments (16b) CS DS ES SS Généraux 16b 8b AX AH AL 015 8b 815 07 AX AH AL BX BH BL CX CH CL DX DH DL Pointeurs (16b) SP BP SI DI Spéciaux (16b) IP Flags
Registres du 80386 (1) Généraux 32b 16b 8b EAX AX AH AL EBX BX BH BL 031 16b 015 8b 815 07 EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX DH DL Pointeurs 32b 031 16b 015 ESP SP EBP BP ESI SI EDI DI
+ Registres débogage + Registres FPU + Registres MMX + Registres SSE Registres du 80386 (2) Spéciaux (16b) 32b 031 16b 015 EIP IP Flags Segments (16b) CS DS ES FS GS SS + Registres débogage + Registres FPU + Registres MMX + Registres SSE
Contenu du cours Organisation d’un PC Les Registres La segmentation
Principe de la segmentation 8086 Espace mémoire = 1Mo Architecture de Von Neumann (Code & Données mélangés) 1Mo 220 Registres pointeurs (SP..IP) sur 16 bits… Segmentation Registre de segment sur 16 bits Registre de décalage sur 16 bits
Calcul de l’@ effective Registre de segment Multiplié par 16 Ou décalé de 4 bits à gauche Valeur sur 20 bits 4 bits de poids faible à zéro Plus registre de décalage (offset) ssss0 (16 bits 20 bits) + oooo (16 bits) ----------- zzzzz (20 bits)
La segmentation synoptique
Registres de segment CS : Code Segment Segment de code, Stocke les instructions Utilisé par l’UC automatiquement DS : Data Segment Segment de données Lecture ou Ecriture par le programme ES : Extra Segment Utilisation spécifique, sur demande uniquement Souvent utilisé avec SI et DI SS : Stack Segment Segment de pile Utilisé automatiquement par l’UC
Remarque finale À partir du 80386 Utilisation du mode protégé (voir cours dans le poly) Registres sur 32 bits. Espace @ = 4Go Adressage segmenté n’est plus utilisé Seule la famille iAPX l’utilise encore …