Ensimag 1A
SV Page 1/ 7
Cours 10 : Le processeur vu de l'extérieur
Le composant « microprocesseur » n’est pas uniquement utilisé au sein des PC. De plus en plus les
objets qui nous entourent sont truffés de microprocesseurs de la voiture au téléphone portable en
passant par la chaudière et la télévision.
L’objectif de ce cours est de comprendre son rôle, ce qu’il est capable de faire et comment il
communique avec son environnement.
Afin d’illustrer certains points, nous utiliserons le processeur présent dans le PIC16F84 utilisé en
TP.
1. Le processeur dans son environnement
1.1. Les composants qui l'entourent
Le processeur est l’élément central d’un système plus complet.
Il s’agit en fait d’un automate complexe qui est capable d’exécuter des programmes présents en
mémoire.
Pour jouer son rôle le processeur s’entoure des éléments suivants (présent sur la carte mère pour
un PC):
o Mémoire silicium
! Mémoire programme (ROM ou RAM)
! Mémoire donnée (RAM)
o Périphériques
! Carte graphique
! Carte son
! Ports de communication
USB
Port parallèle
Port série
! Support de masse (IDE, SCSI, …)
Disque dur
CDROM/DVDROM
1.2. Les moyens de communication du processeur avec l'extérieur
Les bus d’échange:
- d’adresse
- de données
- de contrôle (écriture, lecture, …)
- Autre (interruption, gestion des bus, …)
1.3. Plan mémoire.
Ensimag 1A
SV Page 2/ 7
Suivant l’adresse, le composant qui répond n’est pas forcément le même. Un système de
décodage de l’adresse est placé entre le processeur et les périphériques. Seul le composant
concerné par l’adresse répondra à la requête du microprocesseur (les autres resteront en haute
impédance)
Exemple pour le PIC (mémoire donnée).
2. Le langage du microprocesseur.
Ensimag 1A
SV Page 3/ 7
2.1. Le jeu d'instructions
Le processeur est capable de comprendre un nombre limité d’instructions, l’ensemble des
instructions que peut exécuter le processeur s’appelle le jeu d’instructions.
Ces instructions sont placées en mémoire (dans la mémoire « programme »).
2.1.1. Les principaux types d'instructions
Transferts de données
o ST
o LD
o MOV
o
Opérations
o Arithmetiques : ADD, SUB, MULT, DIV, NEG, INC, DEC, …
o Logique : AND, OR, NOT, RL, RR
o
Sauts
o JMP
o GOTO
o
Sauts conditionnels
o Jcc (cc=Z, NZ, C, NC, …)
Appels de sous procédures
o CALL
o RETURN
o Registres
2.1.2. Les registres
Le processeur dispose, en interne, d’un nombre limité de cases mémoires qui sont appelées
Registres. Ces Registres permettent de faire des opérations au sein du processeur.
Les registres principaux
Registre PC ou IP ou CO :
Registre de travail ou accumulateur :
Registre d’état :
Registres polyvalents :
Pointeur de pile :
Registre d’indexation :
Exemple PIC
Ensimag 1A
SV Page 4/ 7
W : Registre de travail
PC : Program Counter (pointe l’instruction dans la mémoire programme à exécuter)
STATUS : Registre d’état
2.1.3. Quelques exemples de mode d'adressage.
Une instruction peut être déclinée suivant plusieurs modes d’accès aux registres ou à la
mémoire.
Pour illustrer ce point nous prendrons l’instruction MOV
Valeur immédiate
o MOV $12,%Ri
Adressage implicite (entre registre) (DEST=Registre)
o MOV %Ri,%Rj
Adressage direct (DEST =Ad)
o MOV %Ri, AD
Adressage indirect
o MOV %Ri,(AD)
Adressage direct basé sur un registre
o MOV %Ri,(%Rj)
2.1.4. Exemple du PIC
MOVWF f
RRF f,d
MOVLW k
GOTO k
2.2. Codage des instructions
2.2.1. Principe
Chaque instruction est codée en mémoire suivant un format défini par les concepteurs du
processeur.
Suivant l’instruction concernée la taille du codage peut être différent.
D’une manière générale l’instruction aura la forme suivante :
Code Opération
Mode d’adressage
Paramètres
Chaque champ pouvant être de taille variable suivant les cas.
Ensimag 1A
SV Page 5/ 7
2.2.2. Exemple du PIC
Exemple :
RRF PORTB, f se code
2.3. Langage de haut niveau, Langage assembleur, langage machine.
Ensimag 1A
SV Page 6/ 7
2.4. Exemple – Chenillard
Source assembleur
org 0x0A
Debut MOVLW 0x80
MOVWF PORTB
boucle RRF PORTB,1
GOTO boucle
Contenu de la mémoire
Adresse OpCode OpCode en binaire Instruction correspondante
000A 3080 11 0000 1000 0000 MOVLW 0x80
000B 0086 00 0000 1000 0110 MOVWF 6
000C 0C86 00 1100 1000 0110 RRF 6,1
000D 280C 10 1000 0000 1100 GOTO 0xC
3. Le travail de “l'automate microprocesseur”
3.1. Echanges lors de l'exemple
Ensimag 1A
SV Page 7/ 7
3.2. Algorithme réalisé par le processeur lors de l'exécution d'un programme :
PC : Le pointeur de programme
AD : La valeur du bus adresse
RI : Le registre instruction (enregistre dans le processeur la valeur de l’instruction à exécuter)
Le travail du processeur est le suivant :
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !