Uploaded by Amira Krim

8086

advertisement
Chaque ordinateur personnel possède un microprocesseur qui gère les
paramètres arithmétiques, logiques et
les activités de contrôle.
Chaque famille de processeurs possède son propre ensemble
d'instructions pour gérer diverses opérations telles que l'obtention d'entrées
depuis
clavier, afficher des informations à l'écran et effectuer diverses autres
tâches. Cet ensemble d'instructions est appelé
« enseignement du langage machine ».
Le processeur ne comprend que les instructions en langage machine qui
sont des chaînes de 1 et de 0. Cependant la machine
le langage est trop obscur et complexe pour être utilisé dans le
développement de logiciels. Le langage assembleur de bas niveau est
donc
conçu pour une famille spécifique de processeurs qui représente diverses
instructions en code symbolique et un plus
forme compréhensible.
CISC et RISC
Le processeur Intel 8086 était le premier d'une gamme de processeurs
utilisant un jeu d'instructions complexe.
Conception informatique (CISC). Le jeu d'instructions est vaste et
comprend une grande variété de mémoires.
adressage, décalage, arithmétique, mouvement de données et opérations
logiques. Enseignement complexe
les ensembles permettent aux programmes compilés de contenir un
nombre relativement petit d'instructions. Une disL'avantage de la conception CISC est que les instructions complexes
nécessitent un temps de décodage relativement long.
et exécuter. Un interpréteur à l'intérieur du processeur écrit dans un
langage appelé microcode décode et
exécute chaque instruction machine. Une fois qu'Intel a sorti le 8086, il est
devenu nécessaire pour tous les sousles processeurs Intel ultérieurs seront rétrocompatibles avec le premier.
Une approche complètement différente de la conception des
microprocesseurs est appelée instruction réduite.
Définir (RISC). Un RISC est constitué d'un nombre relativement restreint
d'instructions courtes et simples qui exécutent
relativement rapidement. Plutôt que d'utiliser un interpréteur de microcode
pour décoder et exécuter les instructions de la machine,
tion, un processeur RISC décode et exécute directement les instructions à
l’aide du matériel. Grande vitesse
les postes de travail d'ingénierie et de graphisme sont construits à l'aide de
processeurs RISC depuis de nombreuses années.
En raison de l'énorme popularité des ordinateurs compatibles IBM-PC, Intel
a pu réduire le
prix de ses processeurs et dominer le marché des microprocesseurs. Dans
le même temps, Intel a reconnu
de nombreux avantages à l'approche RISC et a trouvé un moyen d'utiliser
des fonctionnalités de type RISC, telles que la surexécution par rodage dans la série Pentium. L'instruction x86
-Les registres du 8086/8088 :
-Introduction :
Le jeu de registres contient l'ensemble des registres du
microprocesseur. Un registre est une petite partie de mémoire intégrée au
microprocesseur, dans le but de recevoir des informations
spécifiques, notamment des adresses et des données stockées durant
l'exécution d'un programme. Il existe plusieurs types de registres. Certains
d'entre eux sont affectés à des opérations d'ordre général et sont
accessibles au programmeur à tout moment. Nous disons alors qu'il s'agit
de registres généraux. D'autres registres ont des rôles bien plus
spécifiques et ne peuvent pas servir à un usage non spécialisé.
- Les registres généraux :
Les registres généraux peuvent être utilisés dans toutes les opérations
arithmétiques et logiques que le programmeur insère dans le code
assembleur. Un registre complet présente une grandeur de 16 bits.
Comme le montre la figure 2, chaque registre est en réalité divisé en deux
registres distincts de 8 bits. De cette façon, nous pouvons utiliser une
partie du registre si nous désirons y stocker une valeur n'excédant pas 8
bits. Si, au contraire, la valeur que nous désirons y ranger excède 8
bits, nous utiliserons le registre complet, c'est à dire 16 bits. Nous verrons
plus loin qu'il est possible de manipuler facilement les registres généraux.
Le programmeur dispose de 8 registres internes de 16 bits qu'on peut
diviser en deux groupes comme le montre la figure 2 :
-
groupe de données : formé par 4 registres de 16 bits (AX,BX,CX,et
DX) chaque registre peut être divisé en deux registres de 8 bits
(AH,AL,BH,BL,CH,CL,DH et DL )
Gestion de la mémoire x86
Les processeurs x86 gèrent la mémoire selon les modes de
fonctionnement de base décrits dans
Section 2.2.1. Le mode protégé est le plus robuste et le plus
puissant, mais il restreint les applications.
les programmes d’accéder directement au matériel du système.
En mode adresse réelle, seul 1 Mo de mémoire peut être
adressé, à partir de l'hexadécimal 00000.
à FFFFF. Le processeur ne peut exécuter qu'un seul programme
à la fois, mais il peut interrompre momentanément ce programme
pour traiter les requêtes (appelées interruptions) des
périphériques. Les programmes d'application sont
autorisé à accéder à n’importe quel emplacement de mémoire, y
compris les adresses directement liées au système
matériel. Le système d'exploitation MS-DOS fonctionne en mode
adresse réelle et Windows 95 et 98
peut être démarré dans ce mode.
ce programme pour traiter les demandes (appelées interruptions)
des périphériques. Les programmes d'application sont
autorisé à accéder à n’importe quel emplacement de mémoire, y
compris les adresses directement liées au système
matériel. Le système d'exploitation MS-DOS fonctionne en mode
adresse réelle et Windows 95 et 98
peut être démarré dans ce mode.
En mode protégé, le processeur peut exécuter plusieurs
programmes en même temps. Il attribue à chacun
traiter (programme en cours d’exécution) un total de 4 Go de
mémoire. Chaque programme peut se voir attribuer son propre
zone de mémoire réservée, et les programmes sont empêchés
d'accéder accidentellement les uns aux autres
code et données. MS-Windows et Linux fonctionnent en mode
protégé.
En mode virtuel-8086, l'ordinateur fonctionne enfonctionne en
mode adresse réelle et Windows 95 et 98
peut être démarré dans ce mode.
En mode protégé, le processeur peut exécuter plusieurs
programmes en même temps. Il attribue à chacun
traiter (programme en cours d’exécution) un total de 4 Go de
mémoire. Chaque programme peut se voir attribuer son propre
zone de mémoire réservée, et les programmes sont empêchés
d'accéder accidentellement les uns aux autres
code et données. MS-Windows et Linux fonctionnent en mode
protégé.
En mode virtuel-8086, l'ordinateur fonctionne en mode protégé et
crée un 8086 virtuel
machine avec son propre espace d'adressage de 1 Mo qui simule
un ordinateur 80x86 fonctionnant en mode réel.
mode d’adressage. Windows NT et 2000, par exemple, créent
une machine virtuelle 8086 lorsque vous
ouvrez une fenêtre de commande. Vous pouvez exécuter
plusieurs de ces fenêtres en même temps, et chacune est proprotégé des actions des autres. Certains programmes MS-DOS
faisant directement référence à
le matériel informatique ne fonctionnera pas dans ce mode sous
Windows NT, 2000 et XP.
Dans les sections 2.3.1 et 2.3.2, nous expliquerons les détails du
mode adresse réelle et du mode protégé.
mode.
-Interruption matérielle et logicielle :
- Interruption Matériel :
- Introduction
Une interruption est signalée au processeur par un signal électrique sur
une borne spéciale. Lors de la réception de ce signal, le processeur (traite)
l'interruption dès la fin de l'instruction qu'il était en train d'exécuter. Le
traitement de l'interruption consiste soit :
- à l'ignorer et passer normalement à l'instruction suivante : c'est possible
uniquement pour certaines interruptions, nommées interruptions
masquables. Il est en effet parfois nécessaire de pouvoir ignorer les
interruptions pendant un certains temps, pour effectuer des traitements très
urgents par exemple. Lorsque le traitement est terminé, le processeur
démasque les interruptions et les prend alors en compte.
à exécuter un traitant d'interruption (interrupt handler). Un traitant
d'interruption est un programme qui est appelé automatiquement
lorsqu'une interruption survient. L'adresse de début du traitant est donnée
par la table des vecteurs d'interruptions (voir paragraphe suivant ) .
Lorsque le (programme d'interruption) traitant a effectué son travail, il
exécute l'instruction spéciale IRET qui permet de reprendre l'exécution à
l'endroit où elle avait été interrompue.
- Cas du processeur 8086 :
Le microprocesseur 8086 possède
d'interruption : INTR, NMI, et RESET
trois
lignes
principales
Les interruptions logicielles sont semblables aux interruptions
matérielles. L'unique différence réside dans le fait que les
interruptions logicielles sont émises par des programmes. Les cinq
premières interruptions sont définies par Intel. Les autres interruptions sont
définies par le DOS et le BIOS. Ces interruptions ont une fonction définie,
par exemple la lecture et l'écriture sur le disque, l'écriture des données à
l'écran, etc. Contrairement à l'entrée INTR du microprocesseur,
l'interruption logicielle ne peut être ni invalidé ni masquée.
Download