ARCHITECTURE INTERNE d’un MICROPROCESSEUR 1 cours architecture des ordinateurs
ARCHITECTURE INTERNE d’un MICROPROCESSEUR 1 cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 2 Le microprocesseur Intel 8086 est un microprocesseur 16 bits, apparu en 1978. C’est le premier microprocesseur de la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486, Pentium, ...). Il se présente sous la forme d’un boîtier DIP (Dual In-line Package) à 40 broches : II) Architecture externe du 8086 I ) Introduction : cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 3 Schéma fonctionnel du 8086 cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 4 III ) Architecture interne du 8086 Le 8086 est constitué de deux unités fonctionnant en parallèle : • l’unité d’exécution (EU : Exécution Unit) ; • l’unité d’interface de bus (BIU : Bus Interface Unit). cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 5 III ) Architecture interne du 8086 Rôle des deux unités : • l’unité d’interface de bus (BIU) recherche les instructions en mémoire et les range dans une file d’attente ; elle fournit l'interface physique entre le microprocesseur et le monde extérieur • l’unité d’exécution (EU) exécute les instructions contenues dans la file d’attente. Elle comporte essentiellement l'UAL de 16 bits qui manipule les registres généraux de 16 bits. Les deux unités fonctionnent simultanément, d’où une accélération du processus d’exécution d’un programme (fonctionnement selon le principe du pipe-line). cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 6 III ) Architecture interne du 8086 Le microprocesseur 8086 contient 14 registres répartis en 4 groupes : • Registres généraux : 4 registres sur 16 bits. AX = (AH,AL) ; BX = (BH,BL) ; CX = (CH,CL) ; DX = (DH,DL). Ils peuvent être également considérés comme 8 registres sur 8 bits. Ils servent à la fois d’accumulateurs et de registres opérandes 16 bits. Ces registres présentent cependant en plus certaines spécificités : • AX est utilisé pour les opérations d’entrées sorties, les multiplications et les divisions • BX sert de registre de base lors de l’adressage indirect par registre de base • CX sert de compteur de données dans les opérations sur les chaines de caractères • DX est utilisé avec AX pour les multiplications et division, ou comme registre d’adressage indirect cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 7 III ) Architecture interne du 8086 • Registres de pointeurs et d’index : 4 registres sur 16 bits. Pointeurs : SP : Stack Pointer, pointeur de pile (la pile est une zone de sauvegarde de données en cours d’exécution d’un programme) ; BP : Base Pointer, pointeur de base, utilisé pour adresser des données sur la pile. Index : SI : Source Index ; DI : Destination Index. Ils sont utilisés pour les transferts de chaînes d’octets entre deux zones mémoire. Les pointeurs et les index contiennent des adresses de cases mémoire. cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 8 III ) Architecture interne du 8086 Pointeur d’instruction et indicateurs (flags) : 2 registres sur 16 bits. Pointeur d’instruction : IP, contient l’adresse de la prochaine instruction à exécuter. Flags : cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 9 III ) Architecture interne du 8086 Registres de segments : 4 registres sur 16 bits. CS : Code Segment, registre de segment de code DS : Data Segment, registre de segment de données ; SS : Stack Segment, registre de segment de pile ; ES : Extra Segment, registre de segment supplémentaire pour les données cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 10 IV -1) Gestion de la mémoire : • L'espace mémoire adressable (1 méga = 220 bits du bus d'adresse ) du 8086 est divisé en quatre segments logiques allant jusqu'à 64 KOctets chacun • Le compteur de programme est de 16 bits • donc la possibilité d'adressage est de 216 = 64 Ko (Ce qui ne couvre pas la totalité de la mémoire) • On utilise deux registres pour indiquer une adresse au processeur • Chaque segment débute à l'endroit spécifié par un registre spécial nommé registre segment. • Le déplacement permet de trouver une information à l'intérieur du segment. • CS:IP : lecture du code d’une instruction (CS registre segment et IP déplacement) • DS : accès aux données (MOV AX,[1045] = lecture du mot mémoire d’adresse logique DS:1045H) cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 11 IV-2) Segmentation de la mémoire: => Registres de déplacement = sélectionner une information dans un segment. => Dans le segment de code CS : le compteur de programme IP joue ce rôle. CS:IP permet d'accéder à une information dans le segment de code. =>Dans les segments de DS : les deux index SI ou DI jouent ce rôle. => Le déplacement peut être aussi une constante. DS:SI ou DS:DI permettent d'accéder à une information dans le segment de données. => Dans le segment de pile SS le registre SP (stack pointer) et BP (base pointer) jouent ce rôle. SS:SP ou SS:BP permettent d'accéder à une information dans le segment de pile. cours architecture des ordinateurs - Naoufel GUEDDAH Le microprocesseur Intel 8086 12 IV-2) Segmentation de la mémoire: Le bus d'adresses du 8086 possède 20 bits. Cette adresse de 20 bits est formée par la juxtaposition d'un registre segment (16 bits de poids fort) et d'un déplacement (offset, 16 bits de poids faible). Le schéma de la figure suivante illustre la formation d'une adresse 20 bits à partir du segment et du déplacement sur 16 bits : Adresse physique= Base * 16+ offset cours architecture des ordinateurs - Naoufel GUEDDAH La programmation en assembleur du microprocesseur 8086 Jeu d’instructions Définition : La première étape de la conception d’un microprocesseur est la définition de son jeu d’instructions. Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le microprocesseur pourra exécuter. Pour les microprocesseurs classiques, le nombre d’instructions reconnues varie entre 75 et 150 (microprocesseurs CISC : Complex Instruction Set Computer) Il existe aussi des microprocesseurs dont le nombre d’instructions est très réduit (microprocesseurs RISC : Reduced Instruction Set Computer) : entre 10 et 30 instructions, =>permettant d’améliorer le temps d’exécution des programmes 13 cours architecture des ordinateurs - Naoufel GUEDDAH Les architectures RISC et CISC La programmation en assembleur du microprocesseur 8086 Codage Les instructions et leurs opérandes (paramètres) sont stockés en mémoire principale. La taille totale d’une instruction (nombre de bits nécessaires pour la représenter en mémoire) dépend du type d’instruction et aussi du type d’opérande. Chaque instruction est toujours codée sur un nombre entier d’octets afin de faciliter son décodage par le processeur. Une instruction est composée de deux champs : q le code instruction, qui indique au processeur quelle instruction réaliser q le champ opérande qui contient la donnée, ou la référence à une donnée en mémoire (son adresse). Exemple : Le nombre d'instructions du jeu d'instructions est directement lié au format du code instruction. Ainsi un octet permet de distinguer au maximum 256 instructions différentes. 15 cours architecture des ordinateurs - Naoufel GUEDDAH La programmation en assembleur du microprocesseur 8086 Code opération : assembleur Programme en langage machine 80486 implanté à l’adresse mémoire 0100H A1 01 10 03 06 01 12 A3 01 14 Ce programme additionne le contenu de deux cases mémoire et range le résultat dans une troisième Voici une transcription langage symbolique du programme complet. L'adresse de début de chaque instruction est indiquée à gauche (en hexadécimal). 16 cours architecture des ordinateurs - Naoufel GUEDDAH La programmation en assembleur du microprocesseur 8086 La programmation en assembleur du microprocesseur 8086 Jeu d’instructions Type d’instructions Les instructions que l’on retrouve dans chaque microprocesseur peuvent être classées en groupes : q Transfert de données pour charger ou sauver en mémoire, effectuer des transferts de registre à registre, etc… q Opérations arithmétiques : addition, soustraction, division, multiplication q Opérations logiques : ET, OU, NON, NAND, comparaison, test, etc… q Contrôle de séquence : branchement, test, etc… 17 cours architecture des ordinateurs - Naoufel GUEDDAH La programmation en assembleur du microprocesseur 8086 Les instructions de Transfert de données 18 cours architecture des ordinateurs - Naoufel GUEDDAH Elles permettent de déplacer des données d’une source vers une destination : • registre vers mémoire ; • registre vers registre ; • mémoire vers registre. Remarque : le microprocesseur 8086 n’autorise pas les transferts de mémoire vers mémoire (pour ce faire, il faut passer par un registre intermédiaire). Syntaxe : MOV destination , source Exemples : MOV AX, BX ; Transfert d'un registre de 16 bits vers un registre de 16 Bits MOV AH, CL ; Transfert d'un registre de 8 bits vers un registre de 8 bits MOV AX, Val1 ; Transfert du contenu d'une case mémoire 16 bits vers AX MOV Val2, AL ; Transfert du contenu du AL vers une case mémoire D'adresse Val2 La programmation en assembleur du microprocesseur 8086 19 cours architecture des ordinateurs - Naoufel GUEDDAH Les modes d'adressage du 8086: uploads/Ingenierie_Lourd/ assembleur-8086.pdf
Documents similaires










-
52
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 29, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.3805MB