Vous êtes sur la page 1sur 38

Institut Supérieur

des Technologies Médicales de Tunis

Architecture des systèmes


à processeurs
3ème année Licence Appliquée en GBM

Cours Préparé par :


M. Hedi ABDELKRIM
M. Slim BEN OTHMAN
M. Ahmed Karim BEN SALEM
M. Taoufik Majoul
(Classés par ordre alphabétique des noms)

http://ent.uvt.rnu.tn/course 2021/2022
Chapitre 1 :
Du Microprocesseur au
Microcontrôleur
Introduction
• Un microprocesseur est un circuit intégré complexe caractérisé par une
très grande intégration et doté des facultés d'interprétation et
d'exécution des instructions d'un programme.

• Il est chargé d’organiser les tâches précisées par le programme et


d’assurer leur exécution. Il doit aussi prendre en compte les
informations extérieures au système et assurer leur traitement.

3
Le microprocesseur
Architecture interne
Bus d’adresses

Microprocesseur
Accumulateur Programme
Unité de
Registre d’état Unité de
traitement commande

Mémoire
Données

Bus de données 4
Le microprocesseur
Architecture interne
Bus d’adresses

Microprocesseur
Accumulateur

Accumulateur PC Programme
Registre d’état
Registre

Mémoire
d’état
Bloc logique
de commande

Décodeur Données
d’instruction

Bus de données 5
Le microprocesseur
Le microprocesseur
Unité de commande (de contrôle)
Elle permet de séquencer le déroulement des instructions.

Bus d’adresse PC : ProgrammeCounter, appelé aussi Compteur


Ordinal. Il contient toujours l’adresse de la prochaine
instruction à exécuter.
RI : Registre Instruction : contient le code de l’instruction
PC
Le décodeur d'instruction : Le mot binaire (instruction)
est décodé pour savoir à quelle action correspond
Bloc logique l’instruction.
de commande Bloc logique de commande (séquenceur)
Il organise l’exécution des instructions au rythme de
Instruction Décodeur
RI d’instruction l’horloge.
Il élabore tous les signaux de synchronisation du
microprocesseur en fonction de l’instruction qu’il a à
6
exécuter
Le microprocesseur
Le microprocesseur
Unité de traitement
Elle exécute les instructions.
L’Unité Arithmétique et Logique (UAL) est un circuit
Unité de traitement complexe qui assure les fonctions logiques (ET, OU,
Accumulateur
comparaison, décalage, etc.) ou arithmétiques
Accumulateur
Registre d’état (addition, soustraction, etc.).
Registre
d’état
L’accumulateur : C’est un registre de travail qui sert à
stocker momentanément le résultat des opérations
réalisées par L’UAL.
Le registre d'état : Chacun des bits de ce registre
dépend du résultat de la dernière opération effectuée
par l’UAL. Exemple : Bit de retenue (Carry : C),
débordement (OVerflow : OV ou V), Zéro (Z), etc. 7
Le microprocesseur
Architecture Mémoire
La mémoire de Lecture/Ecriture est un grand bloc contigu de cases
mémoires.

Elle est utilisée pour stocker les programmes et les données.

2 architectures permettent de différencier les processeurs selon la


disposition des mémoires de données et programme :

➢Architecture Von Neumann


➢Architecture Harvard
8
Le microprocesseur
Architecture Mémoire

➢Architecture Von Neumann


Un système utilisant le même espace mémoire
pour les données et les instructions admet une
architecture de type Von Neumann

Architectures Von Neumann :


PC, 6809, 68HC11...
9
Le microprocesseur
Architecture Mémoire

➢Architecture Harvard
Les microprocesseurs utilisant des espaces
mémoires séparés pour les données et les
instructions du programme ont une
architecture de type Harvard
Architecture Harvard :
PIC, DSP...
10
Le traitement des instructions
Les architectures RISC et CISC

Actuellement l’architecture des microprocesseurs se compose de deux grandes


familles :

L’architecture CISC : Instructions nombreuses et complexes


(Complex Instruction Set Computer)

L’architecture RISC : Instructions réduites et plus simples


(Reduced Instruction Set Computer)
Réduire le jeu d’instructions aux instructions les plus couramment utilisées →
plus de performance de calcul
11
Le microcontrôleur
Définition

Un microcontrôleur est un circuit qui intègre un maximum de fonctions dans un


même boitier.
L’intégration de ces fonctions dans le même environnement permet de créer des
applications plus simplement.

→Un microcontrôleur est un circuit capable de traiter, de stocker et de restituer


de l’information.
→ Il est en particulier constitué d’un microprocesseur.

12
CAN
Microprocesseur RAM
Program
Memory
Oscillateur
0 - 40MHz

Microcontrôleur

13
Le microcontrôleur
Aspect général

Un microcontrôleur typique contient sa


propre mémoire, des ports d’E/S
(parallèles, séries, etc.), une horloge et
souvent un bon nombre de fonctions
périphériques qui n’existent pas dans un
microprocesseur.
14
Le microcontrôleur PIC

- Les microcontrôleurs PIC crées par la société américaine Microchip.

- Ils ont un bon rapport performance/prix puisqu'ils allient performance,


faible coût, facilité de mise en œuvre et faible encombrement

- En plus de bénéficier d’une architecture Harvard, les microcontrôleurs


PIC sont constitués autour d ’une architecture RISC

15
Le microcontrôleur
Harvard : Cas des microcontrôleurs PIC

 Seul les bus de données (data ou instructions) sont représentées

16
Le microcontrôleur PIC
Famille des PICs
• Microchip propose 3 familles de PIC.
• Certaines versions du PIC existent en ROM et d'autres en EEPROM, ou
encore en mémoire Flash.
• Ondistingue aussi les familles suivantes selon la taille du bus de
données de sa mémoire de programme :
• Base-Line : Les instructions sont codées sur 12 bits
• Mid-Range : Les instructions sont codées sur 14 bits
• High-End : Les instructions sont codées sur 16 bits
17
Le microcontrôleur PIC
Identification

Un PIC est identifié par un numéro de la forme suivant : xxXXyy –zz


• xx : Famille du composant (12, 14, 16, 17, 18)
• XX : Type de mémoire de programme
C - EPROM ou EEPROM
Soit un PIC 16F84–10, donc : 16 :
CR - PROM Mid-Range ;
F - FLASH F : Flash ;
• yy : Identification 84 : Type ;
10 : Quartz à 10MHz au maximum
• zz : Vitesse maximum du quartz
18
Le microcontrôleur PIC
Comparatif
Caractéristiques 16F84 16F628 16F88 16F876 16F877
Nombre de
18 18 18 28 40
broches
Mémoire
1024 2048 4096 8192 8192
programme
RAM 68 224 368 368 368
Mémoire
64 128 256 256 256
EEPROM
Entrées/Sorties 13 (2 ports) 16 (2 ports) 16 (2 ports) 22 (3 ports) 33 (5 ports)
- 1 Timer - UART - UART - UART - UART
- 3 Timers - 3 Timers - 3 Timers - 3 Timers
Commentaires - ADC 7 canaux - ADC 5 canaux - ADC 8 canaux
- PSP 19
Le microcontrôleur PIC : cas du PIC16F84
Descriptif

- 35 instructions codées chacune sur 14 bits


- Données sur 8 bits
- 1 cycle machine par instruction, sauf pour les sauts (2 cycles machine)
- Vitesse maximale 10 MHz, soit une instruction en 400 ns (1 cycle machine
= 4 cycles d'horloge)
- 4 sources d'interruption
- 1000 cycles d'effacement/écriture pour la mémoire flash, 10.000.000
pour la mémoire de donnée EEPROM 20
Le PIC : 16F84
Brochage

T0CKL : Entrée de  Port A


comptage du
Temporisateur0
 Oscillateur ou
Horloge
Reset ➔
 : Alimentation
Entrée d'interruption

 Port B

21
Le PIC 16F84 : Architecture interne
13 Bus de données 8 Mémoire EEPROM
PC
Flash ROM
1024 x 14
Mémoire
RAM EEPROM
programme EEDATA
68 x 8 64 x 8
Pile 8 niveaux
Bus du Registres
programme
14
7

Registre d’instructions Add MUX EEADR

5 Adressage direct Adressage


7 indirect
TMR0
FSR

STATUS RA4 / TOCKI


8

MUX
Power up Timer
Décodage 8 PORTS
d’instructions Oscillateur

Power on Reset
ALU
Base de RA3 : RA0
temps Chien de garde
RB7 : RB1

W
RB0 / INT

OSC2 / CLKOUT MCLR VDD, Vss


OSC1 / CLKIN 22
Le PIC 16F84 : Détails Architecture interne
un compteur de programmeBus de données
13 8 Mémoire EEPROM
une mémoire
Flash ROM flash bus
(program counter)
PC spécifique pour les données
1024 x 14 EEPROM
de programme
Mémoire de RAM contenant
RAM EEPROM
1k "mots" de 14 bits
programme
Pile 8 niveaux
68 octets
68 x8 de EEDATA
de 64 octets 64 x 8
Bus du
une pile données (mémoire
Registres

un bus spécifique
14 pour le programme
programme de données
utilisateur) 7
un registre contenant
Registre le code de
d’instructions Add MUX EEADR

l'instruction à exécuter 5 Adressage direct Adressage


7 indirect
TMR0
FSR
compteur
STATUS RA4 / TOCKI

d'entrées/sorties (A et B)
8
ou timer
un système d'initialisation (TMR0)
un décodeur MUX

Deux ports
Power up Timer
Décodage à la miseOscillateur
sous tension 8 PORTS
d’instructions
d’instructions une unité
un système de génération
(power-up
Power ontimer,
Reset …) arithmétique
ALU et
Base de RA3 : RA0
garded'horloge
chien de temps (watchdog)à partir
Chiendu
de quartz
garde externe logique (ALU)
RB7 : RB1
(base de temps W
RB0 / INT

OSC2 / CLKOUT MCLR VDD, Vss


OSC1 / CLKIN 23
Le PIC : 16F84
Le cadencement du microcontrôleur
 Quartz
 Très bonne Stabilité (10 ppm )

 Résonateur céramique
 Stabilité ( 0.5%)
 Moins couteux que le quartz

80 Hz
40 000 Hz
24
Le PIC : 16F84
Organisation de la mémoire
Mémoire Mémoire
programme Flash
CPU Mémoire
Mémoire RAM
donnée Mémoire
EEPROM
- Le PIC contient de la mémoire de programme et de la mémoire de données.
- La structure Harvard des PICs fournit un accès séparé à chacune.
➔ Ainsi, un accès aux deux est possible pendant le même cycle machine

25
Le PIC : 16F84
Organisation de la mémoire

La mémoire programme : Mémoire Flash


• contient le programme à exécuter
• contient 1k "mots" de 14 bits
• L'adresse 0000h contient le vecteur du reset,
• L'adresse 0004h contient l'unique vecteur d'interruption
du PIC.
• La pile contient 8 valeurs., elle n'a pas d'adresse dans la
plage de mémoire. Ce sont des zones réservées par le
système.
26
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
• séparée en deux pages ou bank ( page 0 et page 1 ).
• les premiers octets sont réservés (SFR pour Special File
Register).
• La zone utilisateur est notée GPR (Registre à usage
général ) de 68 cases de 1 octet chacune.
• Une zone interdite
• Le bus d’adresse est composé de 7 bits
• le bit RP0 du registre STATUS permet de sélectionner
page 0 ou 1. 27
Le PIC : 16F84
Organisation de la mémoire

28
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
FSR : Permet l'adressage indirect
INDF : Utilise le contenu de FSR pour l'accès indirect à
la mémoire.
TMR0 : Registre lié au compteur.
PCL : Contient les bits de poids faible du compteur de
programmes (PC). Le registre PCLATH (0Ah-8Ah)
contient les poids forts.
STATUS : Il contient l'état de l'unité arithmétique et
logique ainsi que les bits de sélection des banques
29
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
PORTA : Donne accès en lecture ou écriture au port
physique A, 5 bits. La sortie RA4 est à drain ouvert. Le bit
4 peut être utilisé en entrée de comptage.
PORTB : Donne accès en lecture ou écriture au port
physique B. Le bit 0 peut être utilisé en entrée
d'interruption.
EEDATA : Permet l'accès aux données dans la mémoire
EEPROM.
EEADR : Permet l'accès aux adresses de la mémoire
EEPROM. 30
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
PCLATCH : Donne accès en écriture aux bits de poids fort
du compteur de programme.
INTCON : Masque d'interruptions, configuration des
interruptions.
OPTION_REG : Contient des bits de configuration pour
divers périphériques.
TRISA : Indique la direction (entrée ou sortie) du port A.
TRISB : Indique la direction (entrée ou sortie) du port B.
EECON1 : Permet le contrôle d'accès à l’EEPROM.
EECON2 : Permet le contrôle d'accès à l’EEPROM 31
Le PIC : 16F84
Les ports d’entrée/sortie

Ce sont des ports parallèles. Ils permettent de recueillir des informations ou de


piloter des modules sur l’environnement extérieur.
Ils sont souvent bidirectionnels (configurable en entrée ou sortie).

32
Le PIC : 16F84
Les ports d’entrée/sortie

L ’utilisation des registres est ainsi la suivante: Port

Donnée à transmettre
•Pour transmettre une donnée sur un
port, il faut ECRIRE la donnée dans le
Ecrire
registre PORT correspondant.

Port
•Pour recevoir une donnée sur un
port, il faut LIRE la donnée dans le

Donnée reçue
registre PORT correspondant. Lire

33
Le PIC : 16F84
Les ports d’entrée/sortie
Remarque 1:
Sur le PIC 16F84, le port A du circuit
PORTA
ne présente en fait que 5 broches
b4 b3 b2 b1 b0
d ’E/S. Le registre correspondant (8
bits) n ’a donc d ’actifs que les bits
RA0 à RA4.

b7 b6 b5 b4 b3 b2 b1 b0
Le port B possède bien 8 lignes
PORTB
d ’E/S. Le registre correspondant a
donc les 8 bits actifs.

34
Le PIC : 16F84
Les registres de commande d’entrée/sortie

Les registres de direction TRIS (8 bits) sont directement liés


aux registres PORT.

Le rôle des registres TRIS est de programmer chacune des


lignes des ports soit en entrée, soit en sortie.

Les différentes broches (lignes) d ’un même port peuvent donc


avoir un rôle différent:
transmettre ou recevoir une valeur logique (« 0 » ou «1 »).
35
Le PIC : 16F84
Les registres de commande d’entrée/sortie

La programmation des registres TRIS est la suivante:


TRIS
b7 b6 b5 b4 b3 b2 b1 b0
•La mise à « 0 » du bit programme la ligne 1 0
correspondante en sortie.
•La mise à « 1 » du bit programme la ligne
Ligne R6 Ligne R1
correspondante en entrée. en entrée en sortie

36
Le PIC : 16F84
Les registres de commande d’entrée/sortie

Exemple: PIC
Programmons le port A en entrée et le Port A Port B
port B en sortie.

RA1
RA2
RA3
RA0

RA4

RB0

RB2

RB4
RB5

RB7
RB1

RB3

RB6
Remarque: le port A ne possède que 5 E E E E E S S S S S S S S
lignes d ’E/S.
TRISA TRISB
En conséquence, les registres TRIS 1 1 1 1 1 0 0 0 0 0 0 0 0
se programment avec les valeurs:
« 0 » = sortie
TRISA  1F « 1 » = entrée
TRISB  00
37
Cas d’application

38

Vous aimerez peut-être aussi