Notes de Cours : Calculateurs & Interfaçage Chapitre03 25 Notes de Cours : Calc

Notes de Cours : Calculateurs & Interfaçage Chapitre03 25 Notes de Cours : Calculateurs & Interfaçage Chapitre03 26 C Ch ha ap pi it tr re e 0 03 3 : : L Le e m mi ic cr ro op pr ro oc ce es ss se eu ur r I IN NT TE EL L 8 80 08 86 6 I. Description physique du 8086: Le microprocesseur Intel 8086 est apparu en 1978. Ce fut le premier microprocesseur 16 bits et le premier 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 alimenté par une alimentation 5V. Il possède un bus multiplexé adresse/donnée de 20 bits organisé comme suit : Le bus de donnée occupe 16 bits ce qui permet d'échanger des mots de 2 octets Le bus d'adresse occupe 20 bits ce qui permet d'adresser 1 Moctets (220) Il est entièrement compatible avec le 8088, le jeu d'instruction est identique. La seule différence réside dans la taille du bus de données, celui du 8088 fait seulement 8 bits. Les programmes tourneront donc un peu plus lentement sur ce dernier puisqu'il doit échanger les mots de 16 bits en deux étapes. Tous les registres sont de 16 bits, mais pour garder la compatibilité avec le 8085/8088, certains registres sont découpés en deux et on peut accéder séparément à la partie haute et à la partie basse. Fig. 3.1. Description du microprocesseur INTEL 8086 II. Schéma fonctionnel du 8086: Le schéma fonctionnel du processeur est comme suit : Notes de Cours : Calculateurs & Interfaçage Chapitre03 27 Fig. 3.2. Schéma fonctionnel du INTEL 8086 III. Description des signaux du 8086: C CL LK K : entrée du signal d’horloge qui cadence le fonctionnement du microprocesseur. Ce signal provient d’un générateur d’horloge : le 8284. R RE ES SE ET T : entrée de remise à zéro du microprocesseur. Lorsque cette entrée est mise à l’état haut pendant au moins 4 périodes d’horloge, le microprocesseur est réinitialisé : il va exécuter l’instruction se trouvant à l’adresse FFFF0H (adresse de bootstrap). Le signal de RESET est fourni par le générateur d’horloge. R RE EA AD DY Y : entrée de synchronisation avec la mémoire. Ce signal provient également du générateur d’horloge. T TE ES ST T : entrée de mise en attente du microprocesseur d’un événement extérieur. M MX X/ /M MX X : entrée de choix du mode de fonctionnement du microprocesseur : Mode minimum (MX/MX = 1) : le 8086 fonctionne de manière autonome, il génère lui-même le bus de commande (RD, WR, ...) ; Mode maximum (MX/MX = 0) : ces signaux de commande sont produits par un contrôleur de bus, le 8288. Dans ce mode on arrive à réaliser des systèmes multiprocesseurs. Notes de Cours : Calculateurs & Interfaçage Chapitre03 28 N NM MI I et I IN NT TR R : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire. I IN NT TA A : Interrupt Acknowledge, indique que le microprocesseur accepte l’interruption. H HO OL LD D et H HL LD DA A : signaux de demande d’accord d’accès direct à la mémoire (DMA). S S0 0 à S S7 7 : signaux d’état indiquant le type d’opération en cours sur le bus. A A1 16 6/ /S S3 3 à A A1 19 9/ /S S6 6 : 4 bits de poids fort du bus d’adresses, multiplexés avec 4 bits d’état. A AD0 à A AD D1 15 5 : 16 bits de poids faible du bus d’adresses, multiplexés avec 16 bits de données. Le bus A/D est multiplexé (multiplexage temporel) d’où la nécessité d’un démultiplexage pour obtenir séparément les bus d’adresses et de données : 16 bits de données (microprocesseur 16 bits) ; 20 bits d’adresses, d’où 220 = 1 Mo d’espace mémoire adressable par le 8086. Chronogramme du bus A/D : Fig. 3.4. Chronogramme du bus A/D Le démultiplexage des signaux AD0 à AD15 (ou A16/S3 à A19/S6) se fait en mémorisant l’adresse lorsque celle-ci est présente sur le bus A/D, à l’aide d’un verrou (latch), ensemble de bascules D. La commande de mémorisation de l’adresse est générée par le microprocesseur : c’est le signal ALE, A Ad dd dr re es ss s L La at tc ch h E En na ab bl le e. La figure ci-dessous nous permet de voir comment se fait le démultiplexage : Notes de Cours : Calculateurs & Interfaçage Chapitre03 29 Fig. 3.5. Démultiplexage du bus A/D Fonctionnement : Si ALE = 1, le verrou est transparent (Q = D) ; Si ALE = 0, mémorisation de la dernière valeur de D sur les sorties Q; les signaux de lecture (RD) ou d’écriture (WR) ne sont générés par le microprocesseur que lorsque les données sont présentes sur le bus A/D. Fig. 3.6. Circuit intégré 8282 comportant 8 bascules D R RD D : Read, signal de lecture d’une donnée. W WR R : Write, signal d’écriture d’une donnée. M M/ /I IO O : Memory/Input-Output, indique si le 8086 adresse la mémoire (M/IO = 1) ou les entrées/sorties (M/IO = 0). D DE EN N : Data Enable, indique que des données sont en train de circuler sur le bus A/D (équivalent de ALE pour les données). D DT T/ /R R : Data Transmit/Receive, indique le sens de transfert des données : Notes de Cours : Calculateurs & Interfaçage Chapitre03 30 Fig. 3.7. Chronogramme du bus DT/R DT/R = 1 : données émises par le microprocesseur (écriture) ; DT/R = 0 : données reçues par le microprocesseur (lecture). Les signaux DEN et DT/R sont utilisés pour la commande de t ta am mp po on ns s d de e b bu us s (buffers) permettant d’amplifier le courant fourni par le microprocesseur sur le bus de données. Fig. 3.8. Circuit intégré 8286 circuit transmetteur bidirectionnel B BH HE E : Bus High Enable, signal de lecture de l’octet de poids fort du bus de données. Le 8086 possède un bus d’adresses sur 20 bits, d’où la capacité d’adressage de 1 Mo ou 512 K.mots de 16 bits (bus de données sur 16 bits). Le méga-octet adressable est divisé en deux banques de 512 Ko chacune : la banque inférieure (ou paire) et la banque supérieure (ou impaire). Notes de Cours : Calculateurs & Interfaçage Chapitre03 31 Fig. 3.9. Division de la mémoire en deux banques distinctes Ces deux banques sont sélectionnées par : A0 pour la banque paire qui contient les octets de poids faible ; BHE pour la banque impaire qui contient les octets de poids fort. Seuls les bits A1 à A19 servent à désigner une case mémoire dans chaque banque de 512 Ko. Le microprocesseur peut ainsi lire et écrire des données sur 8 bits ou sur 16 bits : A A0 0 O Oc ct te et ts s t tr ra an ns sf fé ér ré és s 0 0 0 1 1 0 1 1 Les deux octets complets Octet fort (adresse impaire) Octet faible (adresse paire) Aucun octet Le 8086 ne peut lire une donnée sur 16 bits en une seule fois, uniquement si l’octet de poids fort de cette donnée est rangé à une adresse impaire et l’octet de poids faible à une adresse paire (alignement sur les adresses paires), sinon la lecture de cette donnée doit se faire en deux opérations successives, d’où une augmentation du temps d’exécution du transfert dû à un mauvais alignement des données. Réalisation des deux banques avec plusieurs boîtiers mémoire : Notes de Cours : Calculateurs & Interfaçage Chapitre03 32 Fig. 3.9. Division de la mémoire en deux banques distinctes Fig. 3.10. Schéma de bus système du 8086 Notes de Cours : Calculateurs & Interfaçage Chapitre03 33 IV. Organisation interne du 8086: Le 8086 est constitué de deux unités fonctionnant en parallèle : L’unité d’exécution (EU : Execution Unit) ; L’unité d’interface de bus (BIU : Bus Interface Unit). Ces deux unités ont pour rôle :  L’unité d’interface de bus (BIU) recherche les instructions en mémoire et les range dans une file d’attente ;  L’unité d’exécution (EU) exécute les instructions contenues dans la file d’attente.  Les deux unités fonctionnent simultanément, (fonctionnement selon le principe du pipe-line). Fig. 3.11. Organisation interne de microprocesseur Intel 8086 Notes de Cours : Calculateurs & Interfaçage Chapitre03 34 Le microprocesseur 8086 contient 14 registres répartis en 4 groupes : a a) ) R Re eg gi is st tr re es s g gé én né ér ra au ux x Ce sont des registres généraux mais ils peuvent être utilisés pour des opérations particulières. Les registres généraux participent aux opérations arithmétiques et logiques ainsi qu'à l'adressage. Ils sont au nombre de 4. Ils peuvent être également considérés comme 8 registres sur 8 bits. Le 8086 peut donc effectuer des opérations 8 bits d'une uploads/Industriel/ note-de-cours-chap-3-et-4-2.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager