2. Objectifs
Chapitre N°5
Présenter les notions de base nécessaires à la compréhension
des systèmes utilisant des microprocesseurs.
Connaître l’architecture interne des microprocesseurs.
3. Introduction
Chapitre N°5
L'apparition des microprocesseurs date du début des
années 1970.
Grâce aux progrès de l’intégration, l'augmentation des
performances des microprocesseurs a porté sur la vitesse
de fonctionnement, la largeur des mots traités (8, 16, 32,
64 bits) et le nombre et la complexité des opérations
réalisables.
5. Architecture d’un système à base
Chapitre N°5
de microprocesseur
Un système à base de microprocesseur est formé des trois
éléments :
Une unité CPU (central processing unit).
Une mémoire (ROM et RAM).
Des ports d’entrées/sorties.
Les trois modules sont interconnectés autour de trois bus :
bus de données, bus d’adresses et bus de contrôles et
commandes.
6. Architecture d’un système à base
de microprocesseur
Le microprocesseur doit contrôler les fonctions effectuées
par les autres modules, il doit chercher ainsi que décoder
des instructions ranger en mémoire, et il doit adresser des
interfaces d’entrées/sorties pour lire des données du monde
extérieur, et restituer le résultat de son traitement.
Chapitre N°5
7. Architecture d’un système à base
Chapitre N°5
de microprocesseur
Le bus de données : il est bidirectionnels et il permet la
transmission des données qui doivent être traitées par le
CPU.
Le bus d’adresses : il est unidirectionnel et il permet
d’adresser un élément par le CPU.
Le bus de commandes et de contrôle : il permet de véhiculer
les signaux de contrôles et de commandes tels que l’horloge
et les signaux Rd/Wr.
8. Architecture d’un système à base
de microprocesseur
L’intégration a permis de rassembler le microprocesseur et les
éléments associés (mémoire, organes d’entrée-sortie,...) au
sein d’un seul circuit appelé "microcontrôleur".
Ce type de composant s’est répandu dans un très grand
nombre de domaines tel que la télécommunication, la
télévision, l’électroménager, etc.
Le circuit intégré d'un Intel 8742, un microcontrôleur 8 bits qui comprend
unprocesseur cadencé à 12 MHz,128 octets de mémoire vive, une
EPROMde 2 048 bits, et des entrées-sorties sur une unique puce.
Chapitre N°5
9. Architecture d’un CPU
Un CPU est formé par les trois éléments fonctionnels
interconnectés suivants :
Registres.
UAL : Unité arithmétique et logique.
Circuit de contrôle et commande.
Chapitre N°5
10. Architecture d’un CPU
Chapitre N°5
Jeu d’instructions (Instuction Set) : Il représente l’ensemble des
instructions qu’un processeur est capable d’exécuter. Architecture RISC et
CISC : Selon que le nombre d’instructions, on distingue deux types
d’architectures :
Les Architectures RISC (Reduced Instruction Set Computer) préconisent
un petit nombre d’instructions élémentaires dans un format fixe, faciles à
réaliser dans le matériel et d’exécution rapide (typiquement, une
instruction par cycle machine).
Les architectures CISC (Complex Instruction Set Computer), qui sont
basées sur des jeux d’instructions très riches de taille variable offrant aussi
des instructions composées telles la racine carrée ou la multiplication en
virgule flottante avec double précision.
11. Architecture d’un CPU
Chapitre N°5
Typologie des instructions : Les instructions qu’on trouve dans les
répertoires de toutes les machines, peuvent être classées en six groupes :
Transfert de données : tels que les transferts de registre à registre ou de
mémoire (MC) à registre, etc.
Opérations arithmétiques : comme les quatre opération en virgule fixe ou
flottante en simple ou double précision.
Opérations logiques : telles que AND, OR, NOT, Comparaison de bits,
etc. x Contrôle de séquence : comme les branchements impératifs et
conditionnels, boucle, etc.
Entrée/Sortie : instruction de dialogue avec les périphériques.
Manipulations diverses : telles que les décalages, conversions de format,
incrémentation de registres, etc.
12. Les Registres
Chapitre N°5
Lorsque le processeur exécute des instructions, les
données sont temporairement stockées dans de petites
mémoires rapides de 8, 16, 32 ou 64 bits que l'on
appelle registres.
Les registres principaux sont :
1) le registre accumulateur (ACC): c’est un registre
d'usage général recevant des opérandes, des résultats
intermédiaires ou des résultats provenant de l’unité
arithmétique et logique. Donc la plupart des opérations
arithmétiques et logiques se font dans l’accumulateur.
13. Les Registres
Chapitre N°5
2) Le compteur de programme (PC ou CO pour compteur
ordinal) : contient l’adresse de l'instruction suivante en
mémoire qui doit être exécutée. Le registre compteur
de programme est constamment modifié après
l'exécution de chaque instruction afin qu'il pointe sur
l'instruction suivante.
2) Registre d’instruction (RI) et décodeur d’instruction :
contient la prochaine instruction à être exécutée par le
processeur. Cette instruction sera acheminée (par un
bus de données) au décodeur d'instructions qui sera
chargé de l'interpréter (opération à effectuer, etc).
14. Les Registres
Chapitre N°5
4) Les registres d’adresses : Ces registres servent à gérer
l'adressage de la mémoire. En effet le processeur peut
utiliser un registre ou une paire de registres pour
accéder à un emplacement mémoire.
4) Le registre d’état (FLAGS ou PSW pour Processor
Status Word) : sert à contenir l'état de certaines
opérations effectuées par le processeur (retenue,
dépassement, etc).
15. Les Registres
Chapitre N°5
Registre PSW (Program Status Word)
Un bit est un drapeau
Propriété vérifiée (=1) ou pas (=0) après l'appel d'une opération
Certains bits n'ont aucune signification
Principaux drapeaux (flags)
CF (bit 0) : opération génère une retenue
Débordement si entiers non signés
PF (bit 2) : résultat de l'opération est pair
ZF (bit 6) : résultat de l'opération est 0
SF (bit 7) : signe du résultat de l'opération (0=positif, 1=négatif)
OF (bit 11): si opération génère un débordement de capacité (overflow)
Gère les débordements en entiers signés
16. L’unité arithmétique et logique
Chapitre N°5
(UAL)
Comme son nom l'indique, cette unité peut exécuter deux
types d'opérations : les opérations arithmétiques (addition,
soustraction, etc) et les opérations logiques (ET, OU, etc).
Elle reçoit ses opérandes (les octets qu'elle manipule) du
bus de données. Celles-ci peuvent provenir de registres ou
de la mémoire. A la fin d'une opération, l'UAL peut aller
modifier certains bits du registre d'état (FLAG).
17. L’unité de contrôle et commande
Chapitre N°5
Synchronisée par le signal de l'horloge, c'est elle qui
déclenche les événements dans le processeur (elle est
connectée à toutes les autres composantes du processeur).
Par exemple, quand une information passe dans un bus,
cette information est destinée à un seul endroit. C'est donc
l'unité de commande et de contrôle qui va "déverrouiller"
l'entrée de cette destination pour que l'information qui
circule sur le bus puisse y entrer et ne pas entrer ailleurs en
même temps.
18. Architecture d’un CPU
Le processeur est constitué d'un ensemble d'unités
fonctionnelles.
Chapitre N°5
20. Cycle de recherche d’une instruction
Chapitre N°5
1)Transfert de l’adresse de la nouvelle instruction à exécuter, du
CO vers le RA.
2)Lecture de l’instruction à exécuter à partir de la mémoire et son
rangement dans le registre mot.
3) Transfert de l’instruction dans le RI.
4)Le code de l’opération est transmis au décodeur qui
détermine le type d’opération demandée et le transmet au
séquenceur. Ce dernier génère par suite le signal de commande
nécessaire pour envoyer l’adresse de l’opérande à partir du RI vers
RA si nécessaire.
5)Sous l’ordre du séquenceur et s’il ne s’agit pas d’opération de
branchement, le compteur ordinal (CO) est incrémenté en vue de
préparer le cycle de recherche suivant.
21. Cycle d’exécution d’une instruction
Le cycle de recherche est suivi par le cycle d’exécution durant lequel l’opération
spécifiée dans l’instruction est effectuée.
Chapitre N°5
22. Cycle d’exécution d’une instruction
Chapitre N°5
1)le séquenceur commence à envoyer les signaux de
commandes vers la mémoire pour qu’elle copie l’opérande
vers le registre mot RM et ce s’il s’agit d’une opération
arithmétique et logique.
2)Dans le cas d’une opération arithmétique et logique il y
aura transfert du contenu du RM vers l’UAL, et plus
précisément vers l’accumulateur ou tout autre registre
affecté à l’opération spécifiée.
3)L’opération est effectuée sous le contrôle du séquenceur.
23. Les interruptions
Chapitre N°5
Les interruptions permettent au matériel (périphérique) de
communiquer avec le processeur.
Les interruptions sont surtout utilisées pour la gestion des
périphériques de l’ordinateur tel que l’arrivée d’un paquet
de données sur une connexion réseau et la frappe d’un
caractère au clavier.
Une interruption est signalée au processeur par un signal
électrique sur une borne spéciale. Lors de la réception de
ce signal, le processeur “traite” l’interruption dès la fin de
l’instruction qu’il était en train d’exécuter.
24. Les interruptions
Chapitre N°5
Parfois le microprocesseur est sollicité par plusieurs
interruptions en même temps, pour répondre à ces appels
un ordre de priorité est souvent pris en compte pour leurs
traitements.
Il existe deux types d’interruptions : l’interruption
matérielle et l’interruption logicielle.
25. Temps d’attente pour la
Chapitre N°5
synchronisation (Wait Stat)
Le Wait Stat n’est qu’un temps d’attente qu’il faut donner
à certains périphériques pour terminer leurs opérations
(Notamment la mémoire).
Dans la plupart des systèmes à base de microprocesseur on
trouve toujours des circuits intermédiaires entre la CPU et
la mémoire.
Ces circuits entraînent des temps de retard supplémentaires
ce qui oblige le microprocesseur à utiliser des Wait Stat
pour synchroniser les transferts entre la mémoire et la
CPU.
27. Définition d’un Buffer
Chapitre N°5
En informatique, une mémoire tampon (en anglais
buffer) est une zone de mémoire vive ou de disque
utilisée pour entreposer temporairement des données,
notamment entre deux processus ou matériels ne
travaillant pas au même rythme.
Ainsi, les données envoyées vers un périphérique
(externe) sont le plus souvent stockées dans des
mémoires tampon en attente de leur envoi effectif pour
épargner à l’ordinateur le contretemps dû à la différence
de débits entre le microprocesseur interne et les
différents périphériques souvent lents.