Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Architecture du microprocesseur Intel 8086 : Fonctionnement, registres et interruptions, Study Guides, Projects, Research of Operating Systems

Découvrez les mécanismes de traitement des interruptions et des exceptions du microprocesseur Intel 8086, premier membre de la famille de microprocesseurs x86. Ce document présente l'architecture du microprocesseur, les registres visibles, les types d'instructions, les sauts de programme, les interruptions et leur comparaison avec MIPS R300. Il s'agit d'un document utile pour les étudiants en informatique, en particulier ceux qui ont des connaissances avancées en programmation et en architecture des ordinateurs.

Typology: Study Guides, Projects, Research

2023/2024

Available from 05/18/2024

sa-mia-2
sa-mia-2 🇩🇿

1 document

1 / 23

Toggle sidebar

Related documents


Partial preview of the text

Download Architecture du microprocesseur Intel 8086 : Fonctionnement, registres et interruptions and more Study Guides, Projects, Research Operating Systems in PDF only on Docsity! République Algérienne Démocratique et Populaire Ministère de l'enseignement supérieur et de la recherche scientifique Université Mouloud Mammeri de Tizi-Ouzou Faculté de Génie Electrique et d'Informatique Département d'Informatique Année scolaire : 2023/2024 Projet Système D’Exploitation II : Processeur Intel 8086 Table des matières Introduction 3 Architecture Externe du processeur Intel 8086 : 4 Aperçu Général 4 Les Registres 6 Le Jeu D’instruction 9 L’organisation de la mémoire 15 Les mécanismes de traitement des interruptions et des exceptions 17 Evaluation et Comparaison : 19 Avantages et Inconvénients 19 Comparaison avec MIPS R300 20 Conclusion 21 Référence 22 2  Un jeu d’instructions qui contient plus de 250 instructions, y compris des instructions arithmétiques, logiques et de transfert de données.  Le microprocesseur 8086 possède une architecture de mémoire segmentée.  Vitesse d’horloge de 5 MHz, 8 MHz ou 10 MHz.  Un Boîtier DIP à 40 broches.  Le microprocesseur 8086 a une architecture de Von Neuman. Donc on a une mémoire centrale (qui stock les données et les programmes), un processeur [qui possède deux unités d'exécution principales : l'unité d'exécution (EU) et l'unité d'interface de bus (BIU). Le BIU est chargé de récupérer les instructions de la mémoire et de les décoder, tandis que l'UE exécute les instructions. Le BIU gère également le transfert de données entre le microprocesseur et les périphériques de mémoire ou d'E/S], bus de communication (adresse, données, commandes), des périphériques et des unités de contrôle des périphériques.  Le 8086 autorise un mode de fonctionnement en pas à pas, ainsi que l’utilisation d’opérations spécifiques appelées interruptions permettant au 8086 de « dialoguer » avec les autres périphériques de l’ordinateur. Registres visibles : Le processeur Intel 8086 possède 14 registres visibles. 5 1. Registres généraux (16 bits) :  Groupe de données (AX, BX, CX, DX) : Peuvent être divisés en deux registres de 8 bits (AH, AL, BH, BL, etc.) pour traiter des valeurs plus petites. Sert pour stocker les données temporaires et les résultats d'opérations. o AX (Accumulateur) : Registre d'accumulation principal, utilisé pour les opérations arithmétiques et logiques. o BX (Base) : Registre de base pour les opérations de mémoire indirectes. o CX (Counter) : Registre de compteur pour les boucles et les décalages de chaînes. o DX (Data) : Registre de données pour les E/S et les opérations arithmétiques.  Groupe de pointeur et d'index (SI, DI, SP, BP): Pointent vers des emplacements mémoire spécifiques.  SI (Source Index) : Registre d'index source pour les accès à la mémoire tabulaire. 6  DI (Destination Index) : Registre d'index de destination pour les accès à la mémoire tabulaire.  SP (Stack Pointer) : Pointeur vers le sommet de la pile.  BP (Base Pointer) : Registre de base pour les accès à la pile relative. 2. Registres de segment (16 bits):  CS (Code Segment) : Contient l'adresse du début du code en cours d'exécution.  DS (Data Segment) : Contient l'adresse du début des données globales du programme.  ES (Extra Segment) : Utilisé pour des données supplémentaires ou des chaînes de caractères.  SS (Stack Segment) : Contient l'adresse du début de la pile. 3. Registre d'état (16 bits) :  Contient des indicateurs (flags) qui reflètent l'état du processeur après une opération.  CF (Carry Flag) : Retenue lors d'une addition ou d'une soustraction.  PF (Parity Flag) : Parité du résultat (nombre pair de bits à 1).  AF (Auxiliary Carry) : Demie-retenue lors d'une addition.  ZF (Zero Flag) : Résultat égal à zéro.  SF (Sign Flag) : Signe du résultat (bit de poids fort). 7 Usage Nom Fonction Addition ADD Addition sur un octet ou un mot ADC Addition sur un octet avec retenue INC Incrémentation de 1 AAA Ajustement ASCII DAA Ajustement décimal Soustraction SUB Soustraction sur un octet ou un mot SBB Soustraction sur un octet avec retenue DEC Décrémentation de 1 NEG Mètre un octet ou un mot en négatif CMP Comparaison d'octet ou mot AAS Ajustement ASCII DAS Ajustement décimal Multiplicatio n MUL IMUL AAM Multiplication d'octet ou de mot 11011 signée Multiplication d'octet ou de mot signée Ajustement ASCII Division DIV Division d'octet ou de mot non signée !DIV Division d'octet ou de mot signée AAD Ajustement ASCII 10 CBW Conversion d'un octet en un mot CWD Conversion d'un mot en double mots Instructions Logiques : Usage Nom Fonction Logique NOT AND OR XOR TEST Inversion logique sur un octet ou un mot Et logique Ou logique Ou exclusif Et logique sans résultat, affecte uniquement les indicateurs du registre des flags. Décalages SHL Décalage logique à gauche SAL Décalage arithmétique à gauche SHR Décalage logique à droite SAR Décalage arithmétique à droite Rotation ROL ROR RCL RCR Rotation à gauche Rotation à droite Rotation à gauche à travers le bit de retenue Rotation à droite à travers le bit de retenue Instructions de sauts de programme : Type Nom Fonction Branchements inconditionnels CALL RET JMP Appel à un sous-programme Retour d'un sous-programme Saut Branchements conditionnels (arithmétique non signée) JA JNBE JAE JNB Si supérieur Si non inférieur ou non égal Si supérieur ou égal Si non inférieur JB JNAE JBE JNA Si inférieur Si non supérieur ni égal Si inférieur ou égal Si non supérieur Branchements conditionnels (arithmétique signée) JG JNLE JGE/JNL JL/JNGE JLE/JNG Si plus grand si pas inférieur ni Si plus grand ou égal/ Si pas inférieur Si moins que/ Si pas plus grand ni égal Si moins que ou égal/ Si pas plus grand 11 Branchement conditionnels (flags) JC JE/JZ JNC JNE/JNZ JNP/JPO JO JP/ JPE Si retenue Si égal/ Si zéro Si pas de retenue Si non égal / Non zéro Si pas de parité/ Si parité impaire Si débordement Si parité / Si parité paire Boucles LOOP LOOPE LOOPZ LOOPNE LOOPNZ JCXZ Boucle Boucle si égal Si zéro Boucle si différente Si diff O Branchement si CX=O Interruptions INT INTO IRET Interruption Interruption si débordement Retour d'interruption. Instructions de chaine de caractère : Nom Fonction REP Préfixe de répétition REPE/ REPZ Répétition tant qu'égal à zéro REPNE/ REPNZ Répétition tant que différent de zéro MOVS Déplacement de chaîne MOVSB/ MOVSW Déplacement de chaîne CMPS Comparaison de chaînes INS Entrée (de port d'E/ S) OUTS Sortie (vers un port d'E/ S) SCAS Balayage d'une chaîne LODS Chargement de chaîne STOS Rangement de chaînes 12 DIV var DIV tableau[reg] dans DX. Les flags sont mis à jour. En cas de division par zéro, l’exécution est interrompue. CMP CMP reg , cste CMP reg1, reg2 CMP reg , var CMP reg1, tableau[reg2] Soustraction de la valeur du second paramètre à la valeur du premier paramètre. Le résultat n’est pas restitué, mais les flags sont mis à jour pour permettre les instructions de saut. JUMP JE JNE JG JGE JL JLE JUMP etiquette JE etiquette JNE etiquette JG etiquette JGE etiquette JL etiquette JLE etiquette Sauts conditionnels à l’étiquette donnée en paramètre. L’action d’une instruction de saut dépend de la valeur des flags. INC DEC INC reg DEC reg Incrémentation/Décrémentation de la valeur du registre spécifié. Les flags sont mis à jour. NOT NOT reg Négation logique de la valeur du registre. Le résultat est stocké dans le registre. Les flags sont mis à jour. AND OR AND reg1, reg2 OR reg1, reg2 ET/OU logique des deux valeurs des registres. Le résultat est stocké dans le registre reg1, tandis que reg2 est inchangé. Les flags sont mis à jour. XCHG XCHG reg1, reg2 Permute les contenus des deux registres. LIRE LIRE reg LIRE var LIRE tableau[reg] Lecture d’une valeur et stockage dans le paramètre. La méthode de saisie n’est pas définie au niveau du processeur. ECRIRE ECRIRE cste ECRIRE reg ECRIRE var ECRIRE tableau[reg] Ecriture de la valeur du paramètre. La méthode d’écriture n’est pas définie au niveau du processeur. L’organisation de la mémoire : La mémoire de l'Intel 8086 est organisée selon un modèle de segmentation. Ce modèle divise la mémoire en 64 Ko de segments avec une adresse de départ unique. Voici les composants essentiels de la structure de la mémoire du 8086 :  1 Mo d'espace d'adressage (20 bits)  La taille du segment est de 64 Ko (16 bits).  Quatre registres de segments (CS, DS, ES et SS) de 16 bits.  Segment de base : commencer à stocker chaque segment dans la mémoire  Un décalage est défini comme la position relative d'un octet dans un segment.  Adresse raisonnable : Un registre de segment et de décalage combiné (20 bits = 16 bits + 16 bits) 15  Adresse directe : Adresse de mémoire réelle calculée par le contrôleur de mémoire.  L’accès à ces espaces est direct et simultané.  Les octets sont stockés en mémoire selon le mode Little Endian donc l’adresse du mot correspond à l’adresse de l’octet poids faibles. Mode d’adressage : Le mode d’adressage permet de terminer comment les opérandes sont référencer dans les instructions. Le processeur Intel 8086 possède les suivants : 16 Cette méthode de gestion de la mémoire est appelée segmentation de la mémoire. Mode registre : Les deux opérandes sont des registres. Mode immédiat : L'opérande source est une donnée de 8 bits ou 16 bits. L'opérande de destination ne peut jamais être une donnée immédiate. Mode déplacement ou direct   : L'adresse effective est directement donnée dans l'instruction sous forme de déplacement. Mode indirect d'enregistrement : L’adresse effective est en SI, DI ou BX. Mode indexé basé   : L'adresse effective est la somme du registre de base et du registre d'index. Mode indexé : L’adresse effective est la somme du registre d'index et du déplacement. Mode basé   : L'adresse effective est la somme du registre de base et du déplacement. Mode de déplacement indexé basé : L’adresse effective est la somme du registre d'index, du registre de base et du déplacement. Mode chaîne   : Ce mode d’adressage est lié aux instructions de chaîne. En cela, les valeurs de SI et DI sont automatiquement incrémentées et décrémentées en fonction de la valeur du drapeau directionnel. Mode entrée/sortie : Ce mode d’adressage est lié aux opérations d’entrée- sortie. Mode relatif : L'adresse effective est calculée en référence au pointeur d'instruction. Les mécanismes de traitements d’interruptions et des exceptions : Une interruption est une condition qui arrête temporairement le microprocesseur pour travailler sur une tâche différente, puis revient à sa tâche précédente. Une interruption est un événement ou un signal qui requiert l'attention du processeur. Cet arrêt permet aux périphériques d'accéder au microprocesseur. Dans le microprocesseur 8086, les tâches suivantes sont effectuées lorsque le microprocesseur rencontre une interruption : o La valeur du registre des drapeaux est poussée dans la pile. Cela signifie que d'abord, la valeur de SP (Stack Pointer) est décrémentée de deux puis 17  Large gamme d'instructions et un jeu d’instructions puissants.  Architecture de mémoire segmentée : L'architecture de mémoire segmentée permet au microprocesseur 8086 d'adresser de grandes quantités de mémoire, jusqu'à 1 Mo, tout en utilisant un bus de données de 16 bits.  Unités d'exécution multiples : Le microprocesseur 8086 dispose de deux unités d'exécution principales, l'unité d'exécution et l'unité d'interface de bus, qui fonctionnent ensemble pour exécuter efficacement les instructions et gérer le transfert de données.  Riche ensemble de registres [des registres à usage général, des registres de segments et des registres spéciaux.] 2. Inconvénients :  Programmation complexe.  Architecture de mémoire segmentée : L’architecture peut être difficile à programmer et à gérer, car elle oblige les programmeurs à utiliser à la fois des registres de segments et des décalages pour adresser la mémoire.  Performances limitées et un jeu d’instructions limité.  Manque de fonctionnalités intégrées : le 8086 ne dispose pas de certaines fonctionnalités intégrées que l'on trouve couramment dans les microprocesseurs modernes, telles que la prise en charge matérielle de la virgule flottante et la gestion de la mémoire virtuelle. Comparaison avec MIPS R300 : 20 L'Intel 8086 et le MIPS R300 sont tous deux des processeurs historiques importants, mais ils proviennent d'architectures différentes et ont été conçus à des époques distinctes. Voici un comparatif entre ses deux : Intel 8086 MIPS R3000 Architecture CISC RISC Jeu d’instruction Ensemble d’instructions volumineux et complexe Ensemble d’instructions réduit et plus simple Format de l’instruction Variable de 1 à 6 Octets Fixe de 32 Bits Registres 14 31 Performance Moins performants Plus Performants Organisation de la mémoire Segmentation de la mémoire Fractionnée en quatre segments : code, données, pile et extra) Pas de segmentation Interruptions 256 Niveau 64 Structures d’un programme Utilisation de directives d’assemblages, de segments et de vecteur d’interruption Utilisation de directives d’assemblages et un format d’instruction régulier. Modes d’adressage Multiples Simple Utilisation Les premiers ordinateurs IBM PC et ses compatibles Conçu pour les stations de travail et les premiers systèmes embarqués puissants Conclusion   : 21 Le projet Intel 8086, lancé en 1976, s'inscrit comme un projet marquant dans l'histoire de l'informatique. Ce microprocesseur 16 bits a révolutionné l'industrie en offrant des performances haut de gamme et une adaptabilité exceptionnelle n’avaient jamais été vues auparavant. Le 8086 a connu un succès retentissant, puisqu'il est devenu la pièce maîtresse de nombreux ordinateurs personnels de l'époque, dont les célèbres IBM PC et Compaq Portable. Grâce à son utilisation généralisée ce processeur a contribué à la création d'une architecture standardisée pour les PC, favorisant la compatibilité et la concurrence entre les fabricants Le 8086 possédait plusieurs fonctionnalités innovantes pour l'époque, incluant un jeu d'instructions puissant, un bus d'adressage de 20 bits permettant d'accéder à 1 Mo de mémoire, et la possibilité d'utiliser des coprocesseurs mathématiques. L'influence du 8086 se fait encore sentir aujourd'hui. L'architecture x86, dérivée du 8086, est toujours utilisée par la plupart des ordinateurs personnels et serveurs. Malgré ses succès, le 8086 n'était pas exempt de défauts. Sa vitesse d'horloge relativement faible et sa consommation d'énergie élevée ont conduit au développement de successeurs plus performants, comme le 80286 et le 80386. Le projet Intel représente bien plus qu'une simple avancée technologique. Il symbolise un tournant décisif dans l'histoire de l'informatique, un héritage gravé dans le silicium qui continue de façonner le monde numérique d'aujourd'hui. Référence   : 22
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved