Vous êtes sur la page 1sur 33

Université Mohammed V de Rabat Département d’Informatique

École Normale Supérieure de Rabat CLE Informatique

CHAPITRE 2:
ARCHITECTURE x86

Pr. A. ELMOUNADI

Architecture des Ordinateurs

CLE Informatique - Semestre 4


2021 - 2022
Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

 Un Microprocesseur se présente sous forme d’un circuit intégré muni


d’un nombre important de broches.

 Exemples :

 Intel 8085, 8086: 40 broches, DIP (Dual In-line Package)

 Motorola 68000 : 64 broches, DIP

 Intel 80386 : 196 broches, PGA (Pin Grid Array).

Architecture des Ordinateurs 2


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Schéma fonctionnel d’un Microprocesseur:


Alimentation

Bus de données

Horloge
Bus d’adresses
Reset Microprocesseur

Bus de contrôle
Signaux de
commande

Architecture des Ordinateurs 3


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Un Microprocesseur est l’unité chargée de l’exécution des programmes.

 Un programme est une suite d’instructions stockées en mémoire. Chaque


instruction peut être codée sur 1 ou plusieurs octets de mémoire.

 Exemple d’une instruction: ADD mem1, mem2

Opération à effectuer (Mnémonique) Opérande 1 Opérande 2


,

Architecture des Ordinateurs 4


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Exemple d’organisation en mémoire d’un programme :

Opérande p

Instruction n

Opérande 2 1002h

Opérande 1 1001h

Instruction 1 1000h
Architecture des Ordinateurs 5
Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Afin de pouvoir exécuter les instructions dans l’ordre de séquencement


établi dans le programme, le Microprocesseur doit connaître à chaque
instant l’adresse de la prochaine instruction à exécuter.

Architecture des Ordinateurs 6


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Afin de pouvoir exécuter les instructions dans l’ordre de séquencement


établi dans le programme, le Microprocesseur doit connaître à chaque
instant l’adresse de la prochaine instruction à exécuter.

 Le Microprocesseur utilise alors un registre contenant cette information.


Ce registre est appelé le Compteur Ordinal (CO).

Architecture des Ordinateurs 7


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Exemple :
Opérande p

Registre IP Instruction n
0B21h

Opérande 2 1002h

Opérande 1 1001h

Instruction 1 1000h

Architecture des Ordinateurs 8


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 la valeur initiale du pointeur d’instruction est fixée par le constructeur du


Microprocesseur. Il s’agit d’une valeur définie à chaque mise sous tension
du Microprocesseur ou bien lors d’une remise à zéro (reset).

 Pour connaître le type d’opération qui doit être exécuté (addition,


soustraction, ...), le Microprocesseur lit le premier octet de l’instruction
pointée par le pointeur d’instruction (code opératoire) et le range dans un
registre appelé registre d’instruction (IR).

Architecture des Ordinateurs 9


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Le code opératoire est décodé par des circuits de décodage contenus dans
le Microprocesseur. Des signaux de commande pour l’UAL sont produits
en fonction de l’opération demandée qui est alors exécutée.

 Pendant que l’instruction est décodée, le pointeur d’instruction est


incrémentée de façon à pointer vers l’instruction suivante :

Architecture des Ordinateurs 10


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:


Instruction n + 1 0C12h
Registre IP


0C12h

Opérande 2 0B23h

Opérande 1 0B22h
0B21h
Instruction n 0B21h

0000h

Architecture des Ordinateurs 11


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Ensuite, le Processus de lecture et de décodage des instructions est réitéré.


A la suite de chaque instruction, un registre du Microprocesseur est
actualisé en fonction du dernier résultat : c’est le registre d’état.

 Chacun des bits du registre d’état est un indicateur d’état ou un


drapeau (flag).

Architecture des Ordinateurs 12


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Exemple d’un registre d’état:

 Les indicateurs d’état sont activés lorsqu’une certaine condition est remplie,
par exemple, le flag Z est mis à 1 lorsque le résultat de la dernière opération
est nul, le flag C est mis à 1 lorsque le résultat d’une addition possède une
retenue, etc.

 Les indicateurs d’état sont utilisés par les instructions de saut conditionnels.
En fonction de l’état d’un (ou plusieurs) flags, le programme se poursuit de
manière différente.

Architecture des Ordinateurs 13


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Toutes ces étapes (lecture de l’instruction, décodage, exécution) sont


synchronisées par un Séquenceur qui assure le bon déroulement des
opérations :

Architecture des Ordinateurs 14


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:


Mémoire
Horloge
Pointeur
Bus d’adresse
d’Instruction

Bus de commande
Séquenceur Registre
d’Instruction Bus de données

Décodeur

Microcode

Exécution
Architecture des Ordinateurs 15
Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Pour exécuter le programme contenu dans la mémoire centrale, le


séquenceur du Microprocesseur exécute lui-même un microprogramme,
contenu dans une mémoire morte à l’intérieur du Microprocesseur et
fourni d’ailleurs par le constructeur.

 Le séquenceur est dirigé par une horloge qui délivre un signal de


fréquence donnée permettant d’enchaîner les différentes étapes de
l’exécution d’une instruction:

Architecture des Ordinateurs 16


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Chaque instruction est caractérisée par le nombre de périodes d’horloge


(ou microcycles) qu’elle utilise (donnée fournie par le fabricant du
Microprocesseur).

Architecture des Ordinateurs 17


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Fonctionnement d’un Microprocesseur:

 Exemple : pour une horloge à 5 MHz de fréquence,

la Période T = 1/f = 0.2 μs.

Si l’instruction s’exécute en 3 microcycles, la durée d’exécution de


l’instruction est : 3 × 0.2 = 0.6 μs.

 L’horloge est constituée par un oscillateur à quartz dont les circuits


peuvent être internes ou externes au Microprocesseur.

Architecture des Ordinateurs 18


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

Structure de base d’un Microprocesseur:

Unité de contrôle Unité de calcul

Bus Bus de Bus de


d’adresses données contrôle
Architecture des Ordinateurs 19
Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

 L'unité de contrôle (Control Unit) est la partie la plus complexe du Microprocesseur.


Elle se décompose en plusieurs parties dont elle doit assurer la coordination :

 Le Microprocesseur exécute une à une les instructions stockées dans la mémoire


centrale. Pour cela, les instructions doivent être chargées dans le registre d'instruction.
Ce dernier contient donc l'instruction courante à exécuter.

 L'instruction à exécuter, chargée dans le registre d'instruction, est interprétée par le


décodeur.

 Le séquenceur est alors capable d'ordonnancer les diverses opérations élémentaires du


Microprocesseur, nécessaires pour exécuter l'instruction, grâce à un microprogramme.

Architecture des Ordinateurs 20


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

 Le compteur ordinal est un registre particulier qui contient à tout instant,


l'adresse de l'instruction suivante à exécuter.

 L'horloge est un dispositif qui détermine le rythme dans lequel sont


exécutées les instructions. Elle fournit un signal régulier au processeur.

 Le registre d'état est, comme le compteur ordinal, un registre particulier. Il


représente à tout moment l'état du Microprocesseur. En effet, divers
évènements peuvent amener à des situations dites « anormales ». Par
exemple, l'addition de 2 valeurs peut dépasser les capacités de représentation
du Microprocesseur. Dans ce cas, un bit du registre d'état signale que le
Microprocesseur est dans l'état « Overflow ».

Architecture des Ordinateurs 21


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

 L'unité de calcul, comme son nom l'indique, effectue tous les calculs au sein du
Microprocesseur. À côté des opérations arithmétiques, elle peut aussi procéder à des
opérations logiques. C'est grâce à cette fonctionnalité que l'ordinateur est capable
d'exécuter des structures de contrôle contenant des conditions :

 Comme son nom l'indique, l‘Unité Arithmétique et Logique se charge de réaliser les
opérations arithmétiques et logiques.

 L‘Accumulateur est le registre de calcul par excellence. C'est à travers lui que transitent
toutes les données devant faire l'objet d'une opération ainsi que tous les résultats produits par
calcul arithmétique.

 Le registre Accumulateur est secondé par un certain nombre de registres généraux destinés à
la réalisation des calculs d’un point de vue matériel.

Architecture des Ordinateurs 22


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86
ÉTUDE DU MICROPROCESSEUR

 Pour communiquer avec son environnement, le Microprocesseur dispose


d'un ensemble de « Bus » :

 Le bus d'adresses sur lequel le Microprocesseur envoie les adresses des


cellules mémoire et des E/S auxquelles il souhaite accéder.

 Le bus de données permet de désigner la valeur à charger dans le


Microprocesseur ou à stocker en mémoire.

 Enfin, le bus de commande permet au Microprocesseur de désigner


l'opération à effectuer. Le CPU l’utilise en général pour indiquer le sens du
transfert sur le bus de données (Lecture/Écriture).

Architecture des Ordinateurs 23


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

LA FAMILLE DES PROCESSEURS x86

 L’architecture x86 est à la base des Microprocesseurs actuels.

 À la base, l’architecture x86 est elle-même basé sur le microprocesseur


Intel 8086 apparu en 1976 et sa variante Intel 8088.

 Le nom x86 provient des noms des processeurs Intel utilisant ce jeu
d’instructions (8086, 80186, 80286, 80386, 80486). L’étude de la famille
des Processeurs x86 revient alors à étudier la version 8086 d’Intel.

Architecture des Ordinateurs 24


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

LA FAMILLE DES PROCESSEURS x86

 Le 8086 (développé en 1978) est le 1er Microprocesseur de type x86. Il est


équipé d'un bus de données de 16 bits et un bus d'adresses de 20 bits et
fonctionne à des fréquences diverses selon plusieurs variantes: 5, 8 ou 10
MHz.

 Le 8086 dispose de 2 unités internes distinctes: L'Unité d'Exécution (UE) et


l'Unité d'Interfaçage avec le Bus (UIB).
 Le rôle de l'UIB est de récupérer et stocker les informations à traiter, et d'établir
les transmissions à travers le bus système.

 L'UE exécute les instructions qui lui sont transmises par l'UIB. L'image ci-après
résume les notions présentées.

Architecture des Ordinateurs 25


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Architecture des Ordinateurs 26


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

 En prenant l’exemple du Processeur Intel 8086, celui-ci comporte 4


registres de travail, 4 registres d'offset, 4 registres de segment, 1 registre
d'état (flags) et un pointeur d'instruction (IP).

Il est à noter que les registres de


travail en plus des registres d’offset
constituent ce que l’on appelle les
« registres généraux ».

Architecture des Ordinateurs 27


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Les registres de travail:


 Les 4 registres de travail sont principalement utilisés pour stocker des
résultats :
 AX : Registre Accumulateur (Accumulator Register). Utilisé pour les opérations
arithmétiques et le stockage de la valeur de retour des appels systèmes.

 BX : Registre de Base (Base Register). Utilisé comme pointeur de donnée.

 CX : Registre Compteur (Counter Register). Utilisé généralement pour les


compteurs d’itérations.

 DX : Registre de Données (Data Register). Utilisé pour les opérations


arithmétiques et les opérations d’E/S.

Architecture des Ordinateurs 28


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Les registres de travail:

 Pour les Microprocesseurs x86 de la version 32 bits, on ajoute le préfixe


« E ».

 Même principe pour les versions 64 bits, on ajoute le préfixe « R ».

Architecture des Ordinateurs 29


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Les registres d'offset :

 Les registres d'offset sont utilisés lors de l'adressage indirecte de la mémoire.


Ces registres complémentaires sont :

 BP : Pointeur de base (Base Pointer)

 SP : Pointeur de pile (Stack Pointeur)

 SI : Pointeur source (Source Index)

 DI : Pointeur de destination (Destination Index)

 Les noms des 2 derniers registres viennent du fait qu'ils sont utilisés pour la
copie d'une zone mémoire vers une autre.

Architecture des Ordinateurs 30


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Les registres de segment :


 La gestion de la mémoire dans l'architecture x86 (8086 en l’occurrence) est
particulière : celle-ci est divisée en segments. Les registres de segment
permettent d'accéder, soit au segment de programme qui est la zone mémoire
des instructions de programme, soit au segment de données (zone mémoire
contenant les données du programme), ou encore au segment de pile (SS):
 CS: Pointe vers les instructions du programme (Code Segment).

 DS : Pointe vers les données du programme (Data Segment).

 SS : Pointe vers la pile du programme (Stack Segment).

 ES : Pointe vers les données multi-segments (Extra Segment).

Architecture des Ordinateurs 31


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Le registre d'états :

 Chaque bit du registre FLAG est un indicateur d'état qui peut être modifié
à chaque instruction exécutée :

 Retenue (addition ou soustraction),

 Dépassement de capacité,

 Autorisation d’une interruption,

 Etc.

Architecture des Ordinateurs 32


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

ARCHITECTURE x86

ARCHITECTURE INTERNE DU 8086

Le pointeur d'instruction :

 Le registre IP (Instruction Pointer) est utilisé avec le segment du registre


CS par le Processeur pour connaitre la prochaine instruction à exécuter.
Ce registre est donc modifié par le Processeur de manière implicite
(Instruction suivante, saut à l'adresse indiquée, appel d'une fonction ou
une routine, interruption, etc.).

Architecture des Ordinateurs 33

Vous aimerez peut-être aussi