Académique Documents
Professionnel Documents
Culture Documents
Le microprocesseur est un circuit intégré (CI) Complexe caractérisé par une haute intégration et
doté des facultés fonctionnelles d’interprétation et d’exécution des instructions d’un programme
comme dans tout circuit intégré, la technologie de fabrication impose au microprocesseur des
caractéristiques :
- de temps de réponse qui se traduit par une plus ou moins grande vitesse d’exécution des
instructions du programme (en nano-seconde)
- et de consommation énergétique (0,5 W pour Intel 8086, Motorola 6802, Zilog Z80, Russe
KP OIK80)
- leur capacité de traitement : format du mot qui peut être traité (4 bits, 8 bits, 16 bits)
- leur organisation logicielle qui est l’ensemble des possibilités d’exploitation et de
programmation offerte au concepteur de système à partir de leur architecture matérielle. (un
ou deux registres d’index ; un ou deux registres accumulateur ; avec ou sans registres
auxiliaires)
- un bus de données : (Data bus) bidirectionnel qui assure le transfert des informations entre
le microprocesseur et son environnement et inversement. Son nombre de lignes est égal à
la capacité de traitement du microprocesseur
- un bus des adresses : (Adress bus) unidirectionnel qui permet la sélection des informations
à traiter dans un espace mémoire qui peut avoir 2n emplacements, avec n égale au nombre
de conducteurs du bus des adresses
- un bus de commande : (Control bus), constitué par quelques conducteurs qui assurent la
synchronisation des flux d’information sur les bus des données et des adresses.
Sur les deux premiers bus la transmission de l’information s’effectue en mode parallèle.
*soit par une exploitation séquentielle des instructions situées aux adresses
successives de la mémoire
*soit avec des ruptures de séquence en fonction des sauts programmés
- soit par INCREMENTATION AUTOMATIQUE dans le cas où les adresses des instructions
se suivent
- soit par CHARGEMENT DE L’ADRESSE DE BRANCHEMENT dans le cas de sauts
programmés
La capacité de ce registre est de 16 bits, son contenu est transféré dans le registre adresses.
Chacune des instructions à exécuter est rangée dans le REGISTRE D’INSTRUCTION dont le
format est 24 bits (3 octets).
Le premier octet est toujours le code de l’opération que le décodeur d’instruction doit identifier.
Ce décodeur à 8 entrées et 256 (28) sortie qui correspondent chacune à la valeur décimale du
code opération machine exploité par l’unité de commande et de contrôle.
REGISTRE DES ADRESSES : Ce registre de 16 bits est un REGISTRE TAMPON qui assure
l’interfaçage entre le microprocesseur et son environnement. Il conditionne le bus externe des
adresses.
Cette exécution est séquencée par un oscillateur pilote qui génère un ou deux signaux
d’horloge ou signaux de référence (cas de 6802 de MOTOROLA et du KP50IK83 de RIGA
ELECTRONIC)
C’est un registre compteur de 16 bits qui contient l’adresse du sommet de la pile. La pile est
externe au microprocesseur, c’est une certaine partie de la mémoire RAM utilisée pour
sauvegarder les contenus des différents registres, lors de l’appel à un sous programme ou lors
de la gestion d’une interruption, par exemple : la pile se gère comme un registre à l’empilement
LIFO (Last In – First Out)
Certains microprocesseurs sont dotés d’un certain nombre de registres « bloc-notes » qui
permettent un stockage temporaire de données.
2- Unité de traitement
Cette partie regroupe les circuits qui assurent les traitements nécessaires à l’exécution des
instructions.
ACCUMULATEUR :
Les bits de ce registre de 8 bits associé à l’ALU sont à considérer individuellement. Chacun de
ces bits est un indicateur dont l’état dépend du registre et de la dernière opération effectuée.
Dans un programme le résultat du test ou l’état des bits, conditionnent souvent le déroulement
et la suite du programme.
REGISTRE D’INDEX
Le contenu de ce registre de 16 bits est une adresse. Il et utilisé dans le mode d’adressage
indexé.
IV - STRUCTURE LOGICIELLE
1- Généralités
- la nature, le nombre et le format des registres internes qui peuvent être lus et écrits
- la nature des indicateurs d’état associés à l’ALU
La conception et la mise en œuvre des programmes, des procédés et des règles qui permettent
une bonne utilisation d’un microprocesseur nécessitent la connaissance :
- du jeu d’instruction, avec leur expression mnémonique, leur code opération, leur relation
fonctionnelle, …
- des procédures de gestion de la pile,
- des modes d’adressage
- du comportement des indicateurs d’état
- du traitement des interruptions.
3 Jeu d’instructions
- par sa valeur
- ou par son adresse
Manipulation de l’information
De registre à registre
Opérations arithmétiques
- C (Carry – retenue)
- V (Overflow – dépassement – complément à deux)
- Z (Zero)
- N (Negative – bit de signe)
- I (Interrupt-mask, masque d’interruption)
- H (Half-carry – demi retenue)
Branchements et sauts
- Branchements conditionnels :
Ces branchements dépendent d’une condition, état 0 ou 1, d’un indicateur d’état ou d’une
expression booléenne où plusieurs indicateurs d’état sont associés.
*les deux contenus sont des nombres signés et exprimés en complément à 2 s’ils sont
négatifs.
Instructions spéciales
La gestion de cette partie de mémoire externe commence toujours par l’initialisation du registre
pointeur de pile avec une adresse prédéterminée.
Le registre pointeur de pile (SP) contient toujours l’adresse du sommet de la pile c’est-à-dire
l’adresse de l’emplacement mémoire où l’on peut écrire. A chaque écriture dans la pile le
contenu de SP est décrémenté (-1) et à chaque lecture il est incrémenté (+1)
5- Mode d’adressage
L’adressage est la technique par laquelle est définie, l’adresse d’origine ou de destination d’une
donnée.
Au niveau d’une instruction dont le premier octet est toujours le code opération, le mode
d’adressage caractérise la façon dont est obtenu l’opérande.
ADRESSAGE IMMEDIAT :
Au premier octet de l’instruction qui correspond au code opération, est immédiatement associée
la valeur de l’opérande
- LDAA # $ 1B qui consiste à charger l’accumulateur A en mode immédiat (#) avec la valeur
hexadécimal ($), 1B, qui se traduit par l’instruction :
- LDS # $ E120 qui consiste à charger le pointeur de pile en mode immédiat, avec l’adresse
hexadécimal E120 qui se traduit par l’instruction :
C’est le mode le plus simple pour rechercher une donnée en désignant l’adresse de son
emplacement mémoire :
- Si l’adresse nécessite une écriture sur deux octets : l’adressage est direct étendu
Exemple :
- Si l’adresse peut s’écrire sur un seul octet : l’adressage est direct ou dit de page zéro
Exemple
Le déplacement associe au code opération est écrit sur un octet. Il peut être positif ou négatif et
compris entre -128 et +127 en valeur décimale pour un microprocesseur de 16 bits. Dans un
octet signé le bit 7 est le bit de signe.
ADRESSAGE INDEXE
Dans ce mode d’adressage, l’adresse absolue de l’opérande est donnée par la somme :
Ce mode d’adressage est très intéressant pour adresser, l’un après l’autre des emplacements
mémoires adjacents (cas des tables de données) avec les instructions d’incrémentation et
décrémentation de l’index.
A6 05
1 1 H I N Z V C
Seules les instructions suivantes n’ont aucune influence sur un ou plusieurs des bits indicateurs
d’état :
100 0 1100100 64
208 11010000 D0
+ 67 c + 01000011 + 43
C = 1 : existence d’un report, le résultat binaire sur 8 bits est mauvais, l’indicateur C prend l’état
1 dès la création de la retenue.
*b7 du contenu d’un accumulateur ou d’un emplacement mémoire par l’instruction ASL pour
6802 MOTOROLA
*b0 du contenu d’un accumulateur ou d’un emplacement mémoire par l’instruction ASR
*ou d’un bit du registre codes condition après avoir transféré son contenu dans
l’accumulateur A par TPA.
Il prend la valeur :
Cet indicateur est mis à 1 pour tout dépassement de capacité lors des opérations arithmétiques
avec des nombres signés. Ce dépassement entraîne des résultats erronés.
Cet indicateur est à tester lors d’opérations portant sur des valeurs écrites en décimal codé
binaire (BCD).
Exemple :
____ _________________
97 1001 0001
L’erreur provient du fait que le microprocesseur propage sur le quartet de poids fort la retenue
de la somme des bits 3.
Cet indicateur prend l’état 1 lorsque survient une interruption non masquable.
Une demande d’interruption se traduit par un signal extérieur au microprocesseur ou par une
instruction logicielle qui interrompt le traitement du programme en cours avec la sauvegarde du
contenu des registres, et affecte le microprocesseur au traitement du programme d’interruption.
Ces interruptions sont classées suivant un ordre de priorité.
Exemple :
Pour un nombre d’entrées/sorties supérieur à 16, le système doit comporter plusieurs PIA et
prévoir leur sélection.
Pour une application donnée la fonction de chacun des ports du PIA doit être définie de façon
impérative. Ce conditionnement fonctionnel programmable peut se présenter sous une forme.
Le registre CR dispose d’une adresse propre, les registres DDR et OR d’une adresse
commune.
- mettre à l’état logique 0 le bit b2 du registre CR ce qui a pour effet de sélectionner le registre
DDR du PORT considéré,
- mettre à l’état logique 0 ou à l’état logique 1 les bits du registre DDR selon que l’on souhaite
les considérer en ENTREE ou en SORTIE.
A chacune des bornes du port d’entrée (bits b0 à b7) peut correspondre un capteur et un seul.
Toute LECTURE du port c’est-à-dire du contenu du registre OR, se traduit par l’envoi sur le bus
des données d’un mot de 1 octet représentatif, à l’instant de la lecture, des états logiques (0 ou
1) de l’ensemble des capteurs.
- mettre à l’état logique 1 le bit b2 du registre CR, ce qui a pour effet de sélectionner le
registre OR
- acquérir la donnée (1 octet) présente dans le registre OR
L’affectation des données de sortie consiste à faire correspondre à chacune des bornes du
PORT de sortie (bits b0 à b7) une sortie et une seule. Toute ECRITURE dans ce PORT se
traduit par l’envoi sur la périphérique d’un mot de 1 octet représentatif à cet instant, de
l’ensemble des états logiques (0 ou 1) des éléments récepteurs.