















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
computer architecture computer architecture
Typology: Summaries
1 / 23
This page cannot be seen from the preview
Don't miss anything!
















L'Intel 8086 est un microprocesseur fabriqué par Intel en 1978. C’est le premier microprocesseur de la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486, Pentium, ...) qui est devenue l'architecture de processeur la plus répandue dans le monde des ordinateurs personnels, stations de travail et serveurs informatiques. Il est basé sur des registres de 16 bits, Il dispose d'un bus externe de données de 16 bits il dispose d'un bus d'adresse de 20 bits, qui lui permet d'adresser 1 Mo. Il intègre 29 000 transistors
Vcc et GND assure l’alimentation électrique du microprocesseur. AD15-AD0 : Bus multiplexés:Adresses/Données (ALE = 1: bus d’adresses/ ALE = 0: bus de données) A19/S6-A16/S3 : Bus multiplexés Adresses/Etats M / IO : Indique si l'adresse est une mémoire ou l'adresse E/S, (1:mémoire/ 0: E/S). RD (Read):signal de lecture d'une donnée. WR (Write): Signal d'écriture d'une donnée. ALE (Address latch enable):démultiplexe les bus d’adresses/données: (1:bus d’adresse, 0 bus de données) DT/R (DataTransmit/Receive):bus de données transmet ou reçoit les données DT/R = 1 : données émises par le microprocesseur (écriture) ; DT/R = 0 : données reçues par le microprocesseur (lecture). DEN (Data bus Enable): indique que les données sont en train de circuler sur le bus A/D CLK : entrée destinée à recevoir le signale de l'horloge système, qui cadence le fonctionnement du microprocesseur. INTR: interruption normale NMI : interruption prioritaire:(Non Maskable Interrupt) INTA : Interrupt Acknowledge, indique que le microprocesseur accepte l’interruption
READY : synchronise des mémoires et les E/S lents avec le CPU à insertion de périodes d'attente entre les périodes des cycles RESET: un signale de remise à l'état initiale. Ce signale doit rester à l'état haut pendant au moins quatre cycles d'horloge Test : Entrée de mise en attente du microprocesseur d’un évènement extérieur MN/MX: indique dans quel mode le processeur doit fonctionner: minimum/maximum HOLD: entrée de demande d'accès au bus. HLDA: indique que le microprocesseur a pris en compte la demande d'accès au bus. BHE : Bus High Enable,signal de lecture de l’octet de poids fort du bus de Données. S0 à S7: Signaux d'état indiquant le type d'opération sur le bus.
L'EU ( Exécution Unit, unité d'exécution): regroupe les fonctions de traitement (unité arithmétique et logique), les registres généraux, le décodeur d'instruction. Elle lit les codes opération dans une file d'attente et les exécute. La file d'attente est alimentée par le BIU qui constitue la deuxième machine. l'UIB (Bus Interface Unit, unité d'interface de bus) : son travail principal est de chercher les instructions en mémoire et de les mettre dans la file d'attente. pendant que l'EU ne demande pas de transfert avec la mémoire , le BIU occupe ce temps libre du bus pour amener les instructions dans la file d'attente. Quand la file d'attente est vide , l'EU attend que le BIU y place une instruction
Les données dont le processeur a besoin sont stockées dans des "cases" qu'on appelle des registres. Il existe plusieurs types de registres et chacun a son utilité. Registres généraux ou de travail : Ils servent à manipuler des données, à transférer des paramètres lors de l’appel de fonction et à stocker des résultats intermédiaires. Registres d’adresse ( ou d’offset ou pointeur ) : Ils contiennent une valeur représentant un offset à combiner avec une adresse de segment Registres de segment : Ils sont utilisés pour stocker l’adresse de début d’un segment. Il peut s’agir de l’adresse du début des instructions du programme, du début des données ou du début de la pile. Registre de flag : Il contient des bits qui ont chacun un rôle indicateur.
Voici les différents segments : CS (Code Segment) : indique le début du segment du code qui contient les instructions du programme. Les adresses des différentes instructions du programme sont relatives à CS DS (Data Segment) : contient l’adresse du début de segment des données du programme. Qui contient les données traitées par le programme SS (Stack Segment): pointe sur le segment qui représente la pile ES (Extra Segment): Registre segment supplémentaire est utilisé, par défaut, par certaines instructions de copie de bloc. En dehors de ces instructions, le programmeur est libre de l’utiliser comme il l’entend Les registres de segments (CS,SS,DS,ES) , les registres pointeurs (SP,BP,IP) et d’index (SI,DI): contiennent des adresses de cases mémoire.
SI (indexe source) et DI (indexe destination): Associés à DS (DS:SI ou DS:DI) Adressage comme registre d’index, (par défaut, son offset est relatif à DS). Généralement décalages dans DS pour pointer sur l’opérande source ou destination. BP (Base pointer): il est associé au registre de segment SS (SS :BP) pour accéder aux données de la pile lors d’appels de sous-programmes (CALL). SP (Stack pointer ): il est associé au registre de segment SS (SS :SP) pour indiquer le dernier élément de la pile. Le pointeur d'instructions (IP): Ce registre est associé au registre de segment CS (CS :IP) pour indiquer la prochaine instruction à exécuter. Il ne pourra jamais être modifié directement ; il sera modifié indirectement par les instructions de saut, par les sous-programmes et par les interruptions
le 8086 a accès à 4 segments dont les adresses se trouvent dans les registres de segment CS, DS,SS et ES. Le segment de code contient les instructions du programme, le segment de données contient les données manipulées par le programme, Le segment de pile contient la pile de sauvegarde, et le segment supplémentaire peut aussi contenir des données. Le registre CS est associé au pointeur d’instruction IP,ainsi la prochaine instruction à exécuter se trouve à l’adresse logique CS :IP Les valeurs des registres des segments cs, ds et ss sont automatiquement initialisées par le système d’exploitation au lancement du programme. Dès lors, ces segments sont implicites, c’est-à-dire que si l’on désire accéder à une donnée en mémoire, il suffit de spécifier son offset sans avoir à se soucier du segment.
signification en tant qu'ensemble: ce registre est manipulé bit par bit. Il offre 16 bits dont seulement 9 sont utilisés: R R R R O D I T S Z U A U P U C 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Indicateurs d'état: CF : (carry flag), indicateur de retenue. Mis à 1 si un calcul produit une retenue ; PF : (prity flag), indicateur de parité. Mis à 1 si les 4 bits de poids faible du résultat contiennent un ; AF : (auxillary flag), indicateur de retenue auxiliaire vaut 1 lorsqu’il y a une retenue du bit 3 au bit 4 pour une addition ou un emprunt du bit 4 au bit 3 pour une soustraction. ZF : (zero flag), indicateur de zéro. Mis à 1 si le résultat d’un calcul (i.e. le contenu de l’accumulateur) vaut 0. ; SF : (signe flag), indicateur de signe. Prend la valeur du bit de poids fort de l’accumulateur après un calcul. ; OF : (overflow flag), indicateur de dépassement. Mis à 1 si une opération provoque un dépassement de capacité. Indicateurs de contrôle: TF : (trace(trap) flag), indicateur d'exécution pas à pas. Mis à 1 , il force le processeur à fonctionner pas à pas ; IF : (interruption flag), indicateur d'autorisation d'interruption. Mis à 1 , il autorise les interruptions. S’il vaut 0 , il les empêche. ; DF : (direction flag), indicateur de direction. Fixe le sens (incrémentation et décrémentation) dans lequel seront effectuées les opérations de traitement de chaînes de caractères. R : bit réservé ; U : bit indéfini ; Les instructions arithmétiques, logiques et de comparaison modifient la valeur des indicateurs. Les instructions conditionnelles testent la valeur des indicateurs et agissent en fonction du résultat.
Si 2500h est l’adresse d’un segment contenant un octet d’offset 95F3h , alors: 2500 : 95F3 est l’ adresse logique de l’octet. 25000 + 95F3 = 2E5F3h est l’ adresse physique de l’octet.
Les deux principales catégories de processeurs sont 32 bits et 64 bits. Le type de processeur dont dispose un ordinateur affecte non seulement ses performances globales, mais également le type de logiciel qu’il utilise. L’architecture 32 bits repose sur des registres, des adresses ou des bus de données de 32 bits (4 octets). L’architecture 64 bits est basée sur des registres, des adresses ou des bus de données de 64 bits (8 octets). Un système 32 bits peut accéder à 2 32 adresses de mémoire, soit 4 Go de RAM ou de mémoire physique. Un système 64 bits peut accéder à 2 64 adresses de mémoire, soit toute quantité de mémoire supérieure à 4 Go peut être facilement manipulée par celui-ci.