Académique Documents
Professionnel Documents
Culture Documents
Microprocesseurs – microcontrôleurs
Cycle d’ingénieur – Ingénierie de L'Aéronautique – S6
Présenté par :
Pr. FANNAKH Mhamed
mhamed.fannakh@uhp.ac.ma
Plan
1 Rappel (système de numération …)
Si il n'y a que deux chiffres en électronique, c'est parce qu'il n'y a que 2 états
(88)10 = (1011000 )2
Rappel (système de numération …)
❑ Conversion d'un nombre décimal en un nombre hexadécimal
Pour écrire un nombre décimal en hexadécimal, on utilise la méthode des
divisions successives par 16 jusqu'à un quotient égal à 0. Les restes successifs, pris
successives par 8 jusqu'à un quotient égal à 0. Les restes successifs, pris de bas en
1 1 1 0 1
(10110 )2 = (11101)Gray
Rappel (système de numération …)
❑ Codes : binaire pur, GRAY, BCD et ASCII
➢ Code Gray
Passage du code Gray vers le binaire pur :
• Le MSB dans le code Gray est le même que le bit correspondant dans le code
binaire naturel
• Ajoutez chaque bit de code binaire généré au bit de code Gray dans la position
adjacente suivante. . Eliminer les retenues.
Exemple : 11101
1 1 1 0 1
-
-
-+
-+
-+
-+
1 0 1 1 0
(11101)Gray = (10110 )2
Rappel (système de numération …)
❑ Codes : binaire pur, GRAY, BCD et ASCII
➢ Code ASCII
• Le code ASCII (American Standard
Code for Information Interchange)
permet de présenter chaque caractère par
un code numérique.
• Le code ASCII de base représentait les
caractères sur 7 bits (128 caractères
possibles).
• Pour coder plus caractère, le code ASCII
a été étendu à 8 bits
Rappel (système de numération …)
❑ Codes : binaire pur, GRAY, BCD et ASCII
➢ Code BCD
• Le code BCD (Binary Coded Decimal) est la
traduction en binaire des 9 premiers chiffres
des systèmes décimal.
• Si on a un nombre décimal N à m chiffres, il
sera codé en BCD sur (m x 4) bits : chaque
chiffre décimal est traduit en code BCD sur 4
bits.
Rappel (système de numération …)
❑ Notions d'arithmétique binaire
➢ Addition
Table d’addition binaire exemple
➢ La multiplication
La multiplication binaire s’effectue selon le principe des multiplications décimal,
on multiplie donc le multiplicande par chacun des bits du multiplicateur. On décale
les résultats intermédiaires obtenus et on effectue ensuite l’addition de ses résultats
partiels.
Rappel (système de numération …)
❑ Notions d'arithmétique binaire
➢ La multiplication
Les règles de calcul de la multiplication binaire sont pratiquement les mêmes qu'en
décimal. Nous avons ainsi:
• 0 0 = 0 • 0 1 = 0 • 1 0 = 0 • 1 1 = 1
➢ La division
La division d'un nombre binaire (le dividende) par un autre (le diviseur) est
identique à la division de deux nombres décimaux.
Application:
Réalisez dans la base binaire les opérations suivantes :
• 42 5 • 36 6
• 17 8 • 120 4
Rappel (système de numération …)
❑ Notions d'arithmétique binaire
➢ Représentation des nombres négatifs par complément à 2
Soit un nombre binaire A sur n bits et son complément ( nommé aussi
complément à 1 de A), on a :
An −1 An − 2 ... A1 A0
A + A = 2n − 1 − A = A + 1 − 2n +
Comme le (2^n) ne rentre pas dans le An −1 An − 2 ... A1 A0
format défini (n bit), il sera ignoré. __________________
On a alors = 1 1 ... 1 1
− A = A +1 = 2n − 1
Rappel (système de numération …)
❑ Les nombres fractionnaires
La partie entière d’un nombre fractionnaire se traduit en mettant en œuvre des
puissances positives de 2. Sa partie décimale se traduit en mettant en œuvre des
puissances négatives de 2, le nombre binaire obtenu se présente sous la forme
d’une partie entière situé à gauche de la virgule et d’une partie fractionnaire situé à
droite de la virgule.
Exemple :
=13,59375
Rappel (système de numération …)
❑ Les nombres fractionnaires
La conversion décimale→ binaire se fait de la manière suivante : La partie entière
est obtenue par la division successive par ‘’2’’. En ce qui concerne la partie
fractionnaire, il suffit de la multiplier par ‘’2’’, la partie entière obtenu représentant
le poids binaire ‘’1’’ ou ‘’0’’. La partie fractionnaire restante est à nouveau
multiplié par ‘’2’’ et ainsi de suite jusqu’à ce qu’il n’y ait plus de partie
fractionnaire ou que la précision obtenue soit jugé suffisante.
Exemple :
12, 6875 = (1100,1011)2
N.B : Il existe des nombres dont l’écriture binaire sera infinie (et périodique). Par
exemple, 1,2 = (1,001100110011 … )2, le cycle « 0011 » se répétant à l’infini.
Rappel (système de numération …)
❑ Représentation des nombres réels en virgule flottante
Dans un ordinateur, les nombres à virgule (réels) sont codés en virgule flottante.
On parle de nombres flottants. La représentation binaire en machine d’un nombre
flottant s’inspire de l’écriture scientifique des nombres décimaux.
L’écriture scientifique :
D’une manière générale, l'écriture scientifique d'un nombre décimal est :
Un signe (+ ou -)
m 10n : On distingue dans cette écriture : Un nombre decimal, appelé mantisse m 1;10
Un entier relatif n, appelé exposant
Exemple :
m = 1, xx xx avec x [0;1]
Comme cette mantisse commence toujours par le chiffre 1, il a été choisi de ne pas
coder ce « 1 » mais uniquement les chiffres après la virgule.
Codage de l’exposant : L’exposant est codé sur 8 bits ou 11 bits selon le format
utilisé. Sur 8 bits on peut coder les entiers compris entre −127 et 128. Sur 11 bits
on peut coder les entiers compris entre −1023 et 1024.
Rappel (système de numération …)
❑ Représentation des nombres réels en virgule flottante
Exemple :
Représentation en virgule flottante de 3,425
3, 425 ⎯codage
⎯⎯→11, 01101101 = +1,101101101 21
s = 0 (signe positif)
m = 101101101
n = (1 + 127 )10 = (128 )10 = (1000 0000 )2
= AB C = A.B
Rappel (système de numération …)
❑ Circuits logiques
➢ L’additionneur :
Le circuit précédent, le demi-additionneur, ne prend pas en compte une
éventuelle retenue provenant de l’addition des chiffres An-1 et Bn-1.
Pour effectuer une addition de deux nombres binaires de n bits, on additionne
successivement les bits du même poids en tenant compte de la retenue de
l'addition précédente comme le montre l'exemple suivant
Rappel (système de numération …)
❑ Circuits logiques
➢ L’additionneur :
L’additionneur complet : permet de réaliser l'addition des bits Ai et Bi en plus de
la retenue Ci-1 de l'addition précédente
Si = A i Bi Ci −1 Ci = A i .Bi + ( A i Bi ) .Ci −1
Rappel (système de numération …)
❑ Circuits logiques
➢ L’additionneur :
Logigramme d’additionneur complet :
S0 = V.A1.A 0 .E S2=V.A1.A 0 .E
S1 = V.A1.A 0 .E S3=V.A1.A 0 .E
Architecture des systèmes à base des µP
❑ Structure matérielle des systèmes à µP
➢ Introduction :
Les structures matérielles des systèmes de traitement de l’information sont
pratiquement toutes organisées autour d’architectures à base de microprocesseur.
Le principal intérêt du microprocesseur est sa polyvalence : Il suffit simplement de
changer le programme pour réaliser des tâches différentes. C’est un gros avantage
par rapport à la technologie « câblée ».
Gain au niveau du coût, de la maintenance (plus fiable car moins de composants =
moins de risques de pannes), gain de temps énorme au niveau de la conception des
systèmes (c’est plus rapide de faire un programme que de concevoir des cartes
électroniques …).
Architecture des systèmes à base des µP
❑ Structure matérielle des systèmes à µP
➢ Introduction :
Le système à microprocesseur est constitué de plusieurs éléments montés sur une
carte de circuit imprimé ou dans un circuit intégré :
Architecture des systèmes à base des µP
❑ Structure matérielle des systèmes à µP
➢ Introduction :
L'élément de base d’un calculateur est constitué par l’unité centrale de traitement
(UCT, CPU : Central Processing Unit). L’UCT est constitué :
▪ d’une unité arithmétique et logique (UAL, ALU : Arithmetic and Logic Unit) :
c’est l’organe de calcul ;
▪ de registres : zones de stockage des données de travail de l’UAL (opérandes,
résultats intermédiaires) ;
▪ d’une unité de contrôle (UC, CU : Control Unit) : elle envoie les ordres (ou
commandes) à tous les autres éléments du calculateur afin d’exécuter un
programme.
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
➢ Définition :
L'unité arithmétique et logique, est l'organe de l'ordinateur chargé d'effectuer les
calculs. Le plus souvent, l'UAL est incluse dans le microprocesseur.
Les UAL élémentaires calculent sur des nombres entiers, et peuvent effectuer les
opérations communes :
• Les opérations arithmétiques : addition, soustraction ...
• Les opérations logiques : compléments à un, à deux, ET, OU, NON ...
• Les comparaisons : test d'égalité, supérieur, inférieur...
• Les décalages et les rotations…
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
Certaines UAL sont spécialisées dans la manipulation des nombres à virgule
flottante (floating point unit (FPU)). Typiquement, ces unités savent accomplir les
opérations suivantes : multiplications, divisions, comparaisons, modulos, inverse
(1/x), racine carrée, logarithmes, sin, cos …
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
L’unité logique et l’unité arithmétique sont intégrées au sein d’une même unité
dédiée au traitement des entiers.
L’unité logique et l’unité arithmétique sont
intégrées au sein d’une même unité dédiée
au traitement des entiers. Pour chacune des
unités, le choix de la fonction se fait par les
commandes C0 et C1. Les deux unités
fonctionnent en parallèle, et la sélection de la
sortie d’une unité (logique ou arithmétique)
se fait par la commande de multiplexage C2 .
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
Structure d'une unité arithmétique :
La valeur de commande C0, C1 permet de réaliser, au choix, l’opération
d’addition, de soustraction, voire de comparaison
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
Structure de l’unité logique :
L’unité logique doit permettre de réaliser au choix plusieurs opérations logiques
élémentaires telles que le OU, le ET, le OU EXCLUSIF et le NON. Ceci doit être
réalisé sur des mots de n bits.
Il est assez aisé de comprendre que la juxtaposition de cette unité 1 bit permet de
réaliser une unité logique n bits
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
Structure de l’unité de décalage :
Le circuit de décalage (shifter) permet les opérations de décalage. Ces opérations
sont réalisées au moyen d’un multiplexeur situé à la sortie de l’unité arithmétique
et logique. Plusieurs types de décalages sont possibles :
Architecture des systèmes à base des µP
❑ Unité Arithmétique et Logique (UAL)
Exemple d’unité de traitement
Architecture des systèmes à base des µP
❑ Les registres internes :
Les registres peuvent être plus ou moins nombreux dans le microprocesseur. Un
grand nombre de registres permet un maximum du traitement des données à
l’intérieur du microprocesseur.
Un minimum de registres internes est indispensable au fonctionnement de l’unité
centrale et est nécessaire à la programmation :
Architecture des systèmes à base des µP
❑ Les registres internes :
Le compteur ordinal PC est le registre qui pointe dans la mémoire l’adresse de
la prochaine instruction à traiter par l’unité de commande.
Le pointeur de pile SP est le registre qui pointe l’adresse du dernier élément de la
pile. La pile est utilisée pour stocker des données intermédiaires ou l’adresse de
retour des sous programmes.
Le registre d’index X est un registre qui pointe l’adresse en cours de lecture dans
une table de données.
Le registre indicateur CC contient des indications sur le résultat après chaque
traitement de l’unité arithmétique et logique. Il est se modifie automatiquement
quand elle effectue une opération.
Architecture des systèmes à base des µP
❑ Les registres internes :
Le registre indicateur CC :
- Le bit indicateur Z : Cet indicateur est mis à 1 lorsque le résultat de la dernière
opération est zéro. Lorsque l’on vient d’effectuer une fonction logique, Z=1
indique que le résultat bit à bit est nul pour chaque couple
- Le bit de retenue C : C’est l’indicateur de report (retenue), qui intervient dans les
opérations d’addition et de soustractions sur des entiers naturels. C = 1 s’il y a une
retenue après l’addition ou la soustraction du bit de poids fort des opérandes
Architecture des systèmes à base des µP
❑ Les registres internes :
- Le bit indicateur N : Cet indicateur est mis à 1 lorsque le résultat de l’opération
est négatif
• Vitesse • Coût
Architecture des systèmes à base des µP
❑ Les mémoires :
➢ Décodage d’adresses :
• A0 … Ax : bus d’adresse de n lignes n=x+1
• D0 … Dy : bus de données de m ligne m=y+1
• Capacité mémoire : C = 2n.m bits
• Taille (longueur) de mot mémoire : m bits
• Espace adressable : C’est le nombre de mots mémoire adressables par un bus
d’adresses de n bits = 2n mots mémoire (adresses)
• Plage d’adresses : c’est le champ
d’adresses occupé par un circuit (boîtier)
mémoire de l’adresse minimale (adresse
basse) à l’adresse maximale (adresse haute)
Architecture des systèmes à base des µP
❑ Les mémoires :
➢ Décodeur d’adresse :
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 processeur 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
(on affecte à chaque boîtier une plage d’adresses différente des autres boîtiers).
Pour sélectionner un boîtier on utilise CS (Chip Select) ou CE (Chip Enable)
Exemple 1:
Architecture des systèmes à base des µP
❑ Les mémoires :
➢ Décodage d’adresses :
Exemple 1:
On désire construire une mémoire de 1Ko à partir de 2 boîtiers de 512 octets
chacun. Pour les 2 circuits; on aura donc une capacité totale de 1024 (210) octets
c'est à dire une plage d'adresses de 0 (adresse minimale) à 1023 (adresse
maximale). Pour adresser toute la plage d'adresses il nous faut un bus d'adresses de
10 lignes (A0 - A9). La ligne d'adresse (A9) servira à sélectionner un boîtier parmi
les deux.
Architecture des systèmes à base des µP
▪ Architecture de Von Neumann :
Il s'agit d'une conception théorique basée sur le concept d'ordinateurs à programme
enregistré, dans lesquels les données de programme et les données d'instruction
sont stockées dans la même mémoire. L'idée derrière les architectures Von
Neumann est la possibilité de stocker des instructions dans la mémoire avec les
données sur lesquelles elles fonctionnent. L'architecture Von Neumann ne possède
qu'un seul bus utilisé à la fois pour les extractions d'instructions et les transferts de
données. Les opérations doivent être planifiées car elles ne peuvent pas être
effectuées en même temps.
L'architecture Von Neumann est
principalement utilisée sur toutes les
ordinateurs de bureau, les ordinateurs
portables et les stations de travail hautes
performances...
Architecture des systèmes à base des µP
▪ Architecture de Harvard :
Il s’agit d’une architecture informatique avec des voies de stockage et de
signalisation physiquement séparées pour les données de programme et les
instructions.
L’idée de l’architecture de Harvard est de scinder la mémoire en deux parties:
l’une pour les données et l’autre pour les programmes. Les termes étaient basés sur
le premier ordinateur à relais de Harvard Mark I, qui utilisait un système
permettant à la fois les transferts de données et les transferts d’instructions..
Le développement de l’unité de contrôle dans
l’architecture de Harvard est plus coûteux
que l’ancien en raison de l’architecture
complexe qui utilise deux bus pour les
instructions et les données. Elle est utilisée
principalement dans les microcontrôleurs et
le traitement du signal numérique (DSP)..
Architecture des systèmes à base des µP
▪ Notion de Jeu d’instructions :
➢ Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le µP
peut exécuter. Les instructions peuvent être classées en 4 groupes :
• Transfert de données (charger ou sauver en mémoire, etc…)
• Opérations arithmétiques (addition, soustraction, etc…)
• Opérations logiques (ET, OU, comparaison, etc…)
• Contrôle de séquence (branchements, tests, etc…)
➢ Chaque instruction peut être associée à un ou plusieurs modes d’adressage, par
exemple: Adressage de registre, Adressage immédiat…
➢ Chaque instruction nécessite un certain nombre de cycles d’horloges pour
s’effectuer.
Architecture des systèmes à base des µP
▪ Notion de Jeu d’instructions :
➢ Il existe deux grandes familles au niveau des jeux d’instructions :
• L’architecture CISC (Complex Instruction Set Computer)
• L’architecture RISC (Reduced Instruction Set Computer)
➢ La conception de machines CISC était la seule méthode envisageable pour les
jeux d'instructions. C'est dans les années 80 que la notion de RISC est apparue.
Elle consiste à minimiser le nombre d'instructions et à les simplifier.
➢ Des études ont montré que 80% des traitements des langages de haut niveau ne
faisaient appel qu’à 20% des instructions d’un processeur. L’idée a donc été de
réduire le jeu d’instructions et d’améliorer les vitesses de traitement (un cycle
d’horloge par instruction).
Architecture des systèmes à base des µP
▪ Notion de Jeu d’instructions :
➢ Comparaison entre RISC et CISC
Architecture RISC Architecture CISC
Instr 2 IF ID IE MA
Instr 3 IF ID IE MA
Cycle
machine
Modèle pipeliné : IF ID IE MA
Instr 1
Instr 2 IF ID IE MA
Instr 3 IF ID IE MA
Cycle
machine
Architecture du microcontrôleur PIC 16F84
❑ Introduction :
Un PIC est un microcontrôleur, c’est une unité de traitement de l’information de
type microprocesseur à laquelle on a ajouté des périphériques internes permettant
de faciliter l'interfaçage avec le monde extérieur sans nécessiter l’ajout de
composants externes. Les PICs sont des composants RISC (composant à jeu
d’instructions réduit).
La famille des PICs est subdivisée en 3 grandes familles : La famille Base-Line,
qui utilise des mots d’instructions de 12 bits, la famille Mid-Range, qui utilise des
mots de 14 bits (dont fait partie la 16F84), et la famille High-End, qui utilise des
mots de 16 bits.
Architecture du microcontrôleur PIC 16F84
❑ Introduction :
Pour identifier un PIC, on utilise simplement son numéro :
▪ Les 2 premiers chiffres indiquent la catégorie du PIC, 16 indique un PIC Mid-
Range.
▪ Parfois une lettre L, celle-ci indique que le PIC peut fonctionner avec une plage
de tension beaucoup plus tolérante.
▪ Une ou deux lettres pour indiquer le type de mémoire programme :
• C indique que la mémoire programme est une EPROM ou EEPROM
• CR pour indiquer une mémoire de type ROM
• F pour indiquer une mémoire de type FLASH.
▪ Un nombre qui constitue la référence du PIC.
▪ Un tiret suivi de deux chiffres indiquant la fréquence max de fonctionnement
Architecture du microcontrôleur PIC 16F84
❑ Aspect externe du PIC 16F84 :
Le 16F84 est commercialisé dans un boîtier classique 18 broches
organigramme de programmation ».
Modèle d'un algorigramme :