Cours 10 : Le processeur vu de l`extérieur - Ensiwiki

publicité
Ensimag 1A
Ensimag 1A
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)
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.
Exemple pour le PIC (mémoire donnée).
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.
SV
2. Le langage du microprocesseur.
Page 1/ 7
SV
Page 2/ 7
Ensimag 1A
Ensimag 1A
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.
W : Registre de travail
PC : Program Counter (pointe l’instruction dans la mémoire programme à exécuter)
STATUS : Registre d’état
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.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
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.
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
Les registres principaux
Registre PC ou IP ou CO :
Registre de travail ou accumulateur :
Registre d’état :
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.
Registres polyvalents :
Pointeur de pile :
Suivant l’instruction concernée la taille du codage peut être différent.
Registre d’indexation :
…
D’une manière générale l’instruction aura la forme suivante :
Mode d’adressage
Paramètres
Code Opération
Chaque champ pouvant être de taille variable suivant les cas.
Exemple PIC
SV
•
Page 3/ 7
SV
Page 4/ 7
Ensimag 1A
Ensimag 1A
2.2.2. Exemple du PIC
2.4. Exemple – Chenillard
Source assembleur
org 0x0A
Debut
boucle
MOVLW 0x80
MOVWF PORTB
RRF PORTB,1
GOTO boucle
Contenu de la mémoire
Exemple :
RRF PORTB, f se code
Adresse
000A
000B
000C
000D
2.3. Langage de haut niveau, Langage assembleur, langage machine.
SV
Page 5/ 7
OpCode
3080
0086
0C86
280C
OpCode en binaire
11 0000 1000 0000
00 0000 1000 0110
00 1100 1000 0110
10 1000 0000 1100
Instruction correspondante
MOVLW 0x80
MOVWF 6
RRF 6,1
GOTO 0xC
3. Le travail de “l'automate microprocesseur”
3.1. Echanges lors de l'exemple
SV
Page 6/ 7
Ensimag 1A
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 :
SV
Page 7/ 7
Téléchargement