Royaume du Maroc OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL MODULE 11 Introduction aux Microprocesseurs Résumé de Théorie Télécharger tous les modules de toutes les filières de l'OFPPT sur le site dédié à la formation professionnelle au Maroc : www.marocetude.com Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA Première Année Programme de Formation des Techniciens Spécialisés en Électronique DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION Septembre 1995 INTRODUCTION AUX MICROPROCESSEURS RÉSUMÉ DE THÉORIE Utiliser un Système à Microprocesseur. TECCART INTERNATIONAL 2000 inc. 3155, boul. Hochelaga, Montréal, Québec (Canada) H1W 1G4 RÉDACTION Serge Leblanc. DESSINS ET CONCEPTION GRAPHIQUE Serge Leblanc RÉVISION TECHNIQUE Pierre Asselin B.Sc. & Christian Lépine RÉVISION LINGUISTIQUE François Gaudreau COMMISSION DE VALIDATION Formateurs de l'OFPPT Les droits de reproduction et de diffusion de ce document sont cédés par Teccart International 2000 inc. à l’Office de la Formation Professionnelle et de la Promotion du Travail du Royaume du Maroc, pour sa propre utilisation au Maroc. Mis à part l’OFPPT, toute reproduction, en tout ou en partie, par quelque procédé que ce soit, est interdite. Mp_Rt1.Doc, imprimé à Montréal, le 26 mai 2017 TABLE DES MATIÈRES 1. UTILISER UN SYSTEME A MICROPROCESSEUR 1-1 1.1 Architecture interne d’un système à microprocesseur 1.1.1 Le microprocesseur 1.1.2 La mémoire 1-1 1-1 1-1 1.2 Les entrées/sorties 1-2 1.3 Les bus de communication 1.3.1 Le bus de données 1.3.2 Le bus d’adresses 1.3.3 Le bus de contrôle 1-2 1-2 1-2 1-2 1.4 Le microprocesseur 6809 1.4.1 Brochage du MC6809 1.4.2 Alimentation 1.4.3 Xtal et Extal 1.4.4 E et Q 1.4.5 RESET 1.4.6 MRDY 1.4.7 Bus de donnée D0 à D7 1.4.8 Bus d’adresses A0 à A15 1.4.9 R/W 1.4.10 /HALT 1.4.11 DMA/BREQ 1.4.12 BA et BS 1.4.13 NMI, FIRQ, IRQ 1-3 1-3 1-4 1-4 1-4 1-4 1-5 1-5 1-5 1-5 1-5 1-6 1-6 1-7 1.5 Décodage des adresses 1.5.1 Analyse d’un décodeur d’adresses 1.5.2 Cartographie du système Mod. E6809 1.5.3 Présentation de la cartographie 1-7 1-7 1-8 1-9 1.6 Architecture interne du microprocesseur 6809 1.6.1 L'unité arithmétique et logique 1.6.2 Les registres du 6809 1-10 1-11 1-11 1.7 Exercices 1-13 Résumé de Théorie Introduction aux Microprocesseurs 1. Utiliser un Système à Microprocesseur 1.1 Architecture interne d’un système à microprocesseur L'architecture interne d'un ordinateur se compose essentiellement de trois blocs: le microprocesseur, la mémoire et les entrées/sorties reliées entre elles par trois bus de communication; le bus de données, le bus d’adresses et le bus de commande. Bus de données (8 lignes) Unité centrale de traitement microprocesseur Mémoire Entrées/Sorties Bus d'adresses Bus de contrôle Figure 1-1 Architecture interne d’un ordinateur 1.1.1 Le microprocesseur Un microprocesseur est l'implantation en un seul boîtier, en technologie LSI ou VLSI, d'une unité centrale de traitement de données CPU et d’une unité arithmétique et logique ALU. Son principal travail est de fournir aux autres éléments, qui lui sont raccordés, la synchronisation nécessaire et fonctionnelle du traitement des informations qui lui sont acheminées. 1.1.2 La mémoire C'est la partie où l'on retrouve les programmes exécutables et les données à traiter. Cette section est subdivisée en deux; d'une part, il y a la mémoire latente et d'autre part, la mémoire vive. Mémoire morte C'est la mémoire de lecture; elle contient le programme du système. L'avantage de la ROM (Read Only Memory), c’est d'être permanente; son contenu ne disparaît pas quand le système n'est plus alimenté. La ROM contient toujours un programme de chargement initial ou un moniteur pour permettre le fonctionnement du système dès la mise sous tension. Dans un contexte de contrôle de processus, presque tous les programmes résideront en ROM car ils seront rarement changés et devront être protégés des pannes d'alimentation. Système à Microprocesseur page 1-1 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs Mémoire vive C'est la mémoire de lecture et d’écriture du système ou RAM (Random Access Memory). Le contenu de ce type de mémoire est perdu lorsque l'on coupe l'alimentation. La mémoire vive (RAM) doit être chargée, avant utilisation, à partir du clavier ou à partir d’une mémoire de masse comme, par exemple, une unité à ruban magnétique ou une unité à disque. 1.2 Les entrées/sorties Les entrées/sorties sont nécessaires pour que le microprocesseur communique avec le monde extérieur et, évidemment, avec l'utilisateur. Il serait tout à fait inutile de réaliser un ordinateur sans qu'il y ait quelques entrées et quelques sorties afin de communiquer avec l'extérieur. 1.3 Les bus de communication Évidemment, pour que le système fonctionne, il doit y avoir une communication entre le microprocesseur, la mémoire et les entrées/sorties. Cette communication est réalisée à l'aide de trois bus qui regroupent les signaux, selon leur fonction. 1.3.1 Le bus de données C'est un bus bidirectionnel (de 8 bits pour un 6809) sur lequel transitent les données échangées par les éléments du système. 1.3.2 Le bus d’adresses Il s'agit d'un bus unidirectionnel (de 16 bits pour un 6809), émanant du microprocesseur et se propageant vers les dispositifs qu'il peut adresser. L'adresse qu'il porte permet d'atteindre une case mémoire ou un registre spécifique avec laquelle une opération est désirée. 1.3.3 Le bus de contrôle C'est un groupe de lignes issues de ou allant vers le microprocesseur et reliant ce dernier à d'autres dispositifs. Son rôle est de véhiculer les signaux destinés à assurer la synchronisation et la commande de l'ensemble du système. Par exemple, la ligne Reset et R/W (lecture/écriture), les lignes d'interruptions et l'horloge appartiennent à ce bus. Système à Microprocesseur page 1-2 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.4 Le microprocesseur 6809 Le MC6809 est un microprocesseur à 8 bits très rapide et doté de caractéristiques supportant les techniques de programmation moderne telles que la position indépendante du code, la ré-entrée et la programmation modulaire. Différentes versions du MC6809 sont offertent, voici la désignation du numéro de code. MC 68 A 09 C P Circuit intégré de Motorola Famille M6800 Vitesse: vide = 1Mhz A = 1.5 Mhz B = 2.0 Mhz Désignation de la pièce pour la famille M6800 Plage de température: vide = 0° à +70° C = -40° à +85° Boîtier: P = Plastique L = Céramique 1.4.1 Brochage du MC6809 VSS /NMI /IRQ /FIRQ BS BA VCC A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 M C 6 8 0 9 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 /HALT XTAL EXTAL /RESET MRDY Q E /DMA R//W D0 D1 D2 D3 D4 D5 D6 D7 A15 A14 A13 Figure 1-2 Système à Microprocesseur page 1-3 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.4.2 Alimentation Le microprocesseur 6809 est alimenté par une tension unique de +5 volts, ±5 % sur la broche VCC. La broche VSS constitue la masse du boîtier ou 0 volt. 1.4.3 Xtal et Extal Ce sont sur ces broches que le crystal est installé afin de déterminer la vitesse d'opération. Le quartz ou la fréquence externe est quatre fois la fréquence de travail désirée. En fonction, on retrouve, sur ces broches, une onde sinusoïdale à la fréquence du crystal dont l'amplitude est d’environ 2.5volts. Une horloge TTL peut être branchée à la place du crystal sur la broche EXTAL; alors, XTAL est relié à la masse. 1.4.4 E et Q début du cycle E fin du cycle 0.5V Q adresse valide Figure 1-3 E est le signal d'horloge du système pour la synchronisation avec les périphériques. Le signal Q est un signal à la même fréquence mais déphasé de +90° par rapport au signal E du CPU. Les adresses du CPU sont validées à partir du front montant de Q. Les données sont mémorisées sur un front descendant de E. 1.4.5 RESET Un niveau bas sur cette entrée entraîne une réinitialisation complète du microprocesseur. - L'instruction en cours est arrêtée. - Le registre de page (DP) est mis à zéro. - Les interruptions /IRQ et /FIRQ sont masquées. - L'interruption /NMI est désarmée. Le vecteur RESET est à l'adresse $FFFE. L'adresse constitué par le contenu des cases mémoires $FFFE et $FFFF est chargée dans le compteur de programme (PC) puis le processeur exécute à partir de cette adresse. Un simple réseau RC peut être utilisé pour initialiser l'ensemble du système puisque l'entrée /RESET possède un Schmitt trigger dont la tension de seuil est supérieure à celle des périphériques qui sont également branchés sur le reset. De cette façon, lorsque le MC6809 commence l'exécution du programme, on est assuré que tous les périphériques ont terminé leur phase de mise sous tension. Système à Microprocesseur page 1-4 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.4.6 MRDY Cette entrée de commande Memory Ready permet l'allongement du cycle d’horloge E afin de ralentir le microprocesseur lorsqu’il tente de communiquer avec des dispositifs plus lents. Normalement, MRDY est branché à +5 volts. On peut allonger E par des multiples de ¼ de cycle machine et sa valeur maximale est de 10 microsecondes. 1.4.7 Bus de donnée D0 à D7 La communication entre le microprocesseur et les autres boîtiers se fait par l'intermédiaire d'un bus de donnée bidirectionnel de 8 bits. Les lecteurs de bus du CPU sont en logique trois états. Chaque broche peut piloter une charge TTL ou 4 charges TTL-LS ce qui représente la charge statique maximum. La charge dynamique permise par broche est de 130 pF. 1.4.8 Bus d’adresses A0 à A15 Le transfert des adresses du microprocesseur vers le bus d’adresses du système se fait par l'intermédiaire de 16 broches unidirectionnelles. Lorsque le microprocesseur exécute un cycle de travail interne, toutes les lignes d’adresses sont à un niveau haut; donc, l’adresse à ce moment est $FFFF. De plus, la ligne R/W est positionnée à un niveau haut (lecture) et la ligne d’état BS est au niveau 0 (fonctionnement normal). Les lecteurs de bus sont en logique trois états. Chaque broche peut piloter une charge TTL ou 4 charges TTL-LS représentant la charge statique maximum. La charge dynamique permise par broche est de 90 pF. 1.4.9 R/W Cette broche de sortie détermine la direction du transfert sur le bus des données. Si R/W = 1, le microprocesseur est en lecture; D0 à D7 sont en entrées. Si R/W = 0, le processeur est en écriture; D0 à D7 sont en sorties. Cette broche est à haute impédance lorsque le microprocesseur libère les bus. 1.4.10 /HALT Cette entrée permet d'interrompre le déroulement d'un programme de façon matérielle. Le microprocesseur termine l'instruction en cours puis positionne BA et BS à un niveau haut. Tant que la ligne /HALT est à 0, le processeur ne travaille pas. Il reprend la suite du programme lorsque la ligne remonte à 1. Aucun registre n'est affecté durant l'arrêt. Tant que le processeur est à l'arrêt: - les horloges E et Q fonctionnent normalement; - les demandes d'interruptions /IRQ et /FIRQ sont inhibées; - les demandes d'interruptions prioritaires /RESET et /NMI sont prises en compte mais leur traitement est retardé. Système à Microprocesseur page 1-5 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.4.11 DMA/BREQ DMA = Direct Memory Access , BREQ = Bus Request Cette entrée permet de suspendre l'utilisation des bus par le CPU pour faire un accès direct à la mémoire DMA. Le passage à l'état bas de DMA/BREQ entraîne l'arrêt du programme à la fin de l'instruction en cours. BA et BS passent à un niveau 1 et indiquent la disponibilité des bus au circuit demandeur. Après 16 cycles, le CPU reprend les bus pour un rafraîchissement interne. Évidemment, les lignes BA et BS nous informent de cet état. 1.4.12 BA et BS Ce sont des lignes de sorties qui indiquent l'état du processeur. BA pour Bus Available et BS pour Bus State. Lorsque BA = 1, les lignes A0 à A15, D0 à D7 et R/W sont dans un état de haute impédance. Les signaux BA et BS sont très utiles pour les applications possédant un périphérique capable de gérer les bus d’adresses et de données à la place du microprocesseur (un contrôleur DMA, par exemple). Les quatre combinaisons possibles des lignes BA et BS permettent de connaître à chaque instant, l'état du microprocesseur. Ces indications sont validées sur le front montant de Q. BA 0 0 1 1 BA BS = 00 BA BS = 01 BA BS = 10 BA BS = 11 Système à Microprocesseur BS 0 1 0 1 Fonctionnement du MPU normal reconnaissance d'interruption reconnaissance de synchro externe arrêt ou bus accordé Le microprocesseur est en fonctionnement normal. Il gère les bus d’adresses et de données. Le microprocesseur est en phase de reconnaissance d'interruption pendant deux cycles. Cet état correspond à la recherche matérielle du vecteur d'interruption (/RESET, /FIRQ, /IRQ, SWI). Ce signal est positionné lorsque le MPU rencontre l'instruction de synchronisation externe (SYNC). Les bus sont en haute impédance pendant qu'il attend cette synchronisation sur une ligne d'interruption. Cet état correspond à l'arrêt du processeur pendant l'autorisation venant du MC6809 de permettre à un circuit externe de prendre le contrôle des bus du système. Pendant ce temps, les lecteurs de bus du MC6809 sont en haute impédance. page 1-6 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.4.13 NMI, FIRQ, IRQ - /NMI = Non Masquable Interrupt - /FIRQ = Fast Interrupt Request - /IRQ = Interrupt Request Ce sont des entrées qui permettent d'interrompre le processeur. Les interruptions ont des niveaux de priorités différentes. L'interruption NMI est la plus prioritaire, suivie de FIRQ et, en dernier, IRQ. Les 2 masques (F) et (I) font partie du registre de condition CC. Interruption active sur une descente sur un niveau bas sur un niveau bas NMI FIRQ IRQ Particularité non-masquable. masquable. (F) masquable. (I) Lorsqu'une interruption est demandée et n'est pas masquée, un programme d'interruption est exécuté. Lorsque celui-ci est terminé, le processeur retourne au programme interrompu pour compléter son exécution. 1.5 Décodage des adresses Le décodeur d’adresses a pour fonction de générer des signaux pour la sélection des différents boîtiers avec lesquels le microprocesseur doit communiquer. Pour éviter que deux boîtiers répondent simultanément et créent alors un conflit sur les bus, chaque boîtier doit répondre à une plage d’adresses différente des autres boîtiers. Les portes logiques et les décodeurs/démultiplexeurs sont les dispositifs utilisés pour réaliser un décodeur d’adresses. 1.5.1 Analyse d’un décodeur d’adresses IC15A A14 A15 6809 E 2 3 A B 1 G IC13C 9 8 10 Y0 Y1 Y2 Y3 4 5 6 7 74LS139 7400 Figure 1-4 Système à Microprocesseur page 1-7 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs À titre d’exemple, prenons le premier décodeur d’adresses du système à microprocesseur Mod. E6809. On peut remarquer que seules quelques lignes du microprocesseur sont branchées sur le décodeur 74LS139 et que celui-ci est validé par la broche E du 6809. Il faut donc un niveau 1 sur l’horloge E pour permettre au décodeur de travailler. De plus, ce sont les lignes d’adresses A15 et A14 qui décident quelle sortie du 74LS139 sera active. Pour établir la plage d’adresses qui permet d’activer un signal de sélection choisi, on dispose, en ordre, les lignes d’adresses en plaçant A15 à gauche et A0 à droite. On place, dans le tableau, les niveaux logiques nécessaires pour que la sortie soit active. L’exemple suivant montre quelle plage d’adresses active la sortie /Y2. On place un X pour toutes les lignes d’adresses non utilisées. La sortie active ne peut pas être influencée par le niveau de ces lignes. L’adresse minimale est obtenue en supposant que tous les X sont à un niveau 0; cela correspond donc à l’adresse hexadécimale $8000. Pour l’adresse maximale, les X représentent des niveaux 1; l’adresse obtenue est $BFFF. La plage d’adresses correspondante au signal /Y2 est donc $8000 à $BFFF. A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 X X X X X X X X X X X X X X Ces 2 bits décident la sortie active du 74139 1.5.2 Cartographie du système Mod. E6809 IC16A IC15A A14 A15 IC13C 2 3 9 8 E 1 10 A B Y0 Y1 Y2 Y3 G 2 3 A12 A13 4 5 6 7 A B 1 Y0 Y1 Y2 Y3 G 4 5 6 7 74139 74139 7400 IC15B A12 A13 14 13 15 A B IC16B Y0 Y1 Y2 Y3 G 12 11 10 9 KEYB DISPL UEPROM SEPROM 14 13 A10 A11 A B 15 Y0 Y1 Y2 Y3 G 74139 12 11 10 9 SER PAR D/A A/D 74139 IC4D A11 9 8 IC14B IC14C 4 RAM1 6 9 7404 5 7432 8 RAM2 10 7432 Figure 1-5 Section décodeur d’adresses du système Mod. E6809. Serge Leb Title E:\OR Système à Microprocesseur page 1-8 Size Document Number OFPPT/TECCART A Date: May 8, 1995 Résumé de Théorie Introduction aux Microprocesseurs 1.5.3 Présentation de la cartographie A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Chip select 0 0 1 1 0 1 0 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x IC15A-Y0 = $0000 à $3FFF IC15A-Y1 = $4000 à $7FFF IC15A-Y2 = $8000 à $BFFF IC15A-Y3 = $C000 à $FFFF 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x IC15B-KEYB = $C000 à $CFFF IC15B-DISPL = $D000 à $DFFF IC15B-UEPROM = $E000 à $EFFF IC15B-SEPROM = $F000 à $FFFF 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x IC16A-Y0 = $0000 à $0FFF IC16A-Y1 = $1000 à $1FFF IC16A-Y2 = $2000 à $2FFF IC16A-Y3 = $3000 à $3FFF 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x IC16B-SER = $1000 à $13FF IC16B-PAR = $1400 à $17FF IC16B-D/A = $1800 à $1BFF IC16B-A/D = $1C00 à $1FFF 0 0 0 0 0 0 0 0 0 1 x x x x x x x x x x x x x x x x x x x x x x IC14B-RAM1 = $0000 à $07FF IC14C-RAM2 = $0800 à $0FFF Figure 1-6 Cartographie complète du système à microprocesseur Mod. E6809. Système à Microprocesseur page 1-9 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.6 Architecture interne du microprocesseur 6809 Le microprocesseur est composé de plusieurs registres et d'une unité arithmétique et logique communément appelée ALU Arithmetic Logic Unit. DO-D7 A0-A15 8 16 vcc vss Registre d'instruction PC /RESET /NMI U Contrôle des interruptions S Y Contrôle des Bus X D { DP A Horloge B /FIRQ /IRQ /DMA R/W /HALT BA BS XTAL EXTAL MRDY E Q CC ALU Figure 1-7 - Architecture interne du 6809 Système à Microprocesseur page 1-10 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.6.1 L'unité arithmétique et logique L'unité arithmétique et logique (ALU) est utilisée pour les opérations logiques et arithmétiques: et, ou, inversion, ou exclusif, addition, soustraction, complément à deux et multiplication. L'ALU peut également effectuer des décalages à droite ou à gauche. 1.6.2 Les registres du 6809 X - Registre d'index Y - Registre d'index Registres pointeurs U - Pointeur de pile de l'utilisateur S - Pointeur de pile du système PC - Compteur de programme A - Accumulateur B - Accumulateur Compteur de programme Accumulateurs D DP E F H I N Z V C Registre de page direct CC - Registre de condition Figure 1-8 Registres du 6809 Les registres d'index X et Y Les registres d'index sont employés avec le mode d’adressage indexé. Ils servent généralement au traitement d'un bloc mémoire et sont utilisés pour pointer les données en mémoire. On peut, par exemple, effacer un bloc mémoire ou déplacer le contenu d'une région mémoire. Le 6809 possède deux registres d’index de 16 bits nommés X et Y. Les pointeurs de piles U et S Ce sont des registres de 16 bits qui servent à pointer l'adresse des données temporaires dans une région mémoire appelée pile. Le 6809 possède deux pointeurs de piles; le registre S est le pointeur de pile du système tandis que le registre U, est le pointeur de pile de l'utilisateur. Le pointeur de pile S est automatiquement utilisé pendant les appels de sous-routines ou les interruptions alors que le pointeur U est contrôlé exclusivement par le programmeur. Le compteur de programme ou PC Ce registre de 16 bits agit comme un compteur binaire à seize (16) bits avec une valeur de départ programmable. On lui spécifie la valeur de départ par l'intermédiaire d'une commande. L'utilisateur peut aussi, à l'intérieur de son programme, changer le contenu du PC par une instruction de branchement. Le rôle de ce registre est exclusivement de signaler au microprocesseur à quel endroit se situe la prochaine instruction à exécuter. Dans la recherche de l'instruction par le microprocesseur, le contenu du PC est mis sur le bus d’adresses et au même moment, un signal de lecture est généré permettant ainsi à la donnée, contenue dans la case mémoire adressée, de se propager à travers le bus de données vers le microprocesseur pour être traitée. De façon automatique, le PC Système à Microprocesseur page 1-11 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs s'incrémente de 1 après que le CPU ait reçu la donnée de manière à pointer la prochaine instruction. Les accumulateurs Le MC6809 possède 2 accumulateurs : l'accumulateur A et l'accumulateur B. Ce sont des registres de 8 bits servant à traiter des données. Toutes les opérations arithmétiques ou logiques se font par l'intermédiaire des accumulateurs et de l'ALU. Le MC6809 a la particularité de pouvoir combiner les deux accumulateurs A et B pour en former un seul de seize bits, appelé accumulateur D, permettant ainsi la réalisation d’opérations sur 16 bits. Lorsque les accumulateurs A et B sont jumelés pour obtenir l'accumulateur D, les 8 bits les plus significatifs proviennent de l'accumulateur A tandis que les 8 bits les moins significatifs, de l'accumulateur B. Le registre de page direct Supposons que la plage mémoire de 64K octets est répartie en 256 pages de 256 octets, ce qui fait un total de 64K. Le registre de page permet d'indiquer quelle page parmi les 256 pages est accessible. Ce registre peut être modifié avec une valeur désirée. Il est implicitement utilisé lorsque le CPU exécute une instruction dans le mode d'adressage direct. Ce registre est automatiquement remis à zéro lors d’une réactivation matérielle reset. Le registre de condition Ce registre permet de connaître les résultats d'une opération effectuée par l'ALU. Le bit Z, mis à 1, indique que le résultat donne zéro; le bit N, mis à 1, indique que le résultat est un nombre négatif, etc. Les bits de ce registre sont mis à jour après l'exécution de certaines instructions. Le registre de condition est utilisé pour prendre des décisions et de réaliser des sauts conditionnels dans un programme. 76543210 Position des bits EFHINZVC Nom des drapeaux Carry = bit de report oVerflow = bit de dépassement Zero = bit indiquant un résultat de 0 Negatif = résultat < 0 Irq = masque de l'interruption IRQ Half carry = bit de demi report Firq = masque d'interruption FIRQ Entire flag = indicateur d'empilement Figure 1-9 Le registre de condition Système à Microprocesseur page 1-12 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs 1.7 Exercices # 1 - Nommez les trois principaux blocs constituant un système ordiné? ____________________ , _____________________ , _____________________ # 2 - Qu'est-ce qu'un bus? __________________________________________________________________ __________________________________________________________________ # 3 - Nommez les trois bus d'un ordinateur? ____________________ , _____________________ , _____________________ # 4 - Sur quel bus les informations à traiter sont-elles véhiculées? ____________________ # 5 - Par quel bus le microprocesseur indique-t-il la case mémoire avec laquelle il veut transiger? ____________________ # 6 - Sur quel bus les lignes servant à la synchronisation des échanges sont-elles regroupées? ____________________ # 7 - Un ordinateur utilise un microprocesseur 6809. a) Quelle est la capacité mémoire possible pour cet ordinateur? ____________________ b) Quel est le nombre de valeurs différentes possibles que peut prendre le nombre binaire apparaissant sur le bus de données? ____________________ c) Quelle est la valeur hexadécimale de l’adresse la plus haute possible? ____________________ # 8 - Combien faut-il de bits pour former un octet? ____________________ # 9 - À quelle fréquence doit osciller le crystal d’un 6809 si l’on veut obtenir 1s pour la durée d’un cycle machine? ____________________ # 10 - Sur un 6809, quelle relation de phase existe-t-il entre l’horloge E et Q? ________________________________________ Système à Microprocesseur page 1-13 OFPPT/TECCART Résumé de Théorie Introduction aux Microprocesseurs # 11 - En rapport avec les signaux d’horloge, à quel moment peut-on dire que les adresses sont valides? ____________________ # 12 - Lorsque que la ligne R/W du 6809 est à un niveau 0, qu’est-ce que le microprocesseur veut faire? ____________________________________________________________ # 13 - À quoi servent les lignes BA et BS sur 6809? __________________________________________________________________ __________________________________________________________________ # 14 - Un système à microprocesseur utilise le décodeur d’adresses suivant; quelle est la plage d’adresses qui correspond au signal de sélection /Y6? U1 A13 A14 A15 1 2 3 A B C E 6 4 5 G1 G2A G2B 6809 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 74LS138 ____________________ # 15 - Dans un microprocesseur, quel est le rôle de l'ALU? __________________________________________________________________ # 16 - Dans un 6809, quel est le rôle du registre PC? __________________________________________________________________ # 17 - Dans un 6809, quel est le rôle des accumulateurs? __________________________________________________________________ # 18 - Dans un 6809, quel est le rôle du registre S? __________________________________________________________________ # 19 - Dans un 6809, quel est le rôle du registre X? __________________________________________________________________ # 20 - Dans un 6809, quel est le rôle du registre CC? __________________________________________________________________ Système à Microprocesseur page 1-14 OFPPT/TECCART