Académique Documents
Professionnel Documents
Culture Documents
IST
3eme année FI
Joël SEKA/Gado TCHABODE 2021-20212
Objectifs
2
Domaine d’applications
3
Volume horaire & évaluation
• Volume horaire : 36 h
• 15 h de cours
• 09 h de TD
• 12 h de TP
• Evaluation
⚫ 1~2 devoirs sur table
⚫ Séances de TP notées
4
Connaissances préalables
• Bases de programmation en C
• Anglais (en lecture)
• Cours d’électronique 1ére année
5
Sommaire
Introduction
6
Introduction
7
Introduction
8
Introduction
⚫ Définitions
− Le processeur ou CPU (Central Processing Unit) est un circuit
électronique capable d'effectuer séquentiellement et
automatiquement des opérations arithmétiques et logiques.
9
Introduction
10
Chapitre 1 :Architecture interne des
microprocesseurs
11
Chapitre 1 :Architecture Interne des
microprocesseurs
Des circuits intégrés sur la tranche de silicium (wafer) qui sert à leur fabrication
12
Chapitre 1 :Architecture Interne des
microprocesseurs
13
Chapitre 1 :Architecture Interne des
microprocesseurs
14
Chapitre 1 :Architecture Interne des
microprocesseurs
Bus interne
Décodeur
d'instruction RI
RAD
RDO
15
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ CO (compteur ordinal ):
− Un registre initialisé avec l'adresse de la première instruction
du programme. Il contient toujours l’adresse en mémoire du
mot binaire correspondant à la prochaine instruction à
exécuter.
⚫ Décodeur d'instruction :
− Détermine l'opération à exécuter à partir du code de
l'instruction.
⚫ Bloc logique de commande (ou séquenceur) :
− Organise l'exécution des instructions au rythme d’une horloge.
Il élabore tous les signaux de synchronisation internes ou
externes (bus de commande) du microprocesseur en fonction
de l’instruction qu’il a à exécuter.
16
Chapitre 1 :Architecture Interne des
microprocesseurs
17
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ L'unité de commande
CO
Séquenceur
Décodeur
d'instruction RI
RAD
RDO
18
Chapitre 1 :Architecture Interne des
microprocesseurs
19
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ L'accumulateur
− Ensemble de registres stockant les opérandes et le résultat d'une
opération.
⚫ L’unité Arithmétique et Logique (UAL)
− Ensemble des circuits permettant de réaliser les opérations
arithmétiques (addition, multiplication, division,...) et les
opérations logiques (complément à 2, inversion,OU, ET, ...)
⚫ Registre d'état (PSW : Program Status Word):
− Ensemble de bits à considérer individuellement. Chacun d'eux
est un indicateur renseignant sur le résultat de la dernière
opération effectuée par l’UAL (parité, retenue, débordement...).
Ces bits sont communément appelés indicateur d’état ou flag ou
drapeaux.
20
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ L'unité de traitement
Accumulateur
Registre
d'états
UAL
21
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ Architecture complète
22
Chapitre 1 :Architecture Interne des
microprocesseurs
Mémoire
Programme
Microprocesseur BUS &
⚫
Données
⚫
23
Chapitre 1 :Architecture Interne des
microprocesseurs
⚫ L'architecture Harvard
BUS Mémoire
Programme
Microprocesseur
BUS Mémoire
Données
24
Chapitre 2 :Fonctionnement des
microprocesseurs
25
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ DECODAGE
⚫ EXECUTION
26
Chapitre 2 :Fonctionnement des
microprocesseurs
27
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ Le microprocesseur
− Ne comprend qu'un nombre limité d’instructions.
− La liste de toutes les instructions qu'un microprocesseur peut
exécuter s'appelle son jeu d'instruction.
⚫ Une instruction est composée de deux éléments :
− Le code opératoire : C’est un code binaire qui correspond à
l’action à effectuer
− Le champ opérande : la donnée ou l'adresse de la donnée.
28
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ Exemple d'instruction
− MOV .W #5, R6 ; Transfère la valeur 5 au registre R6;
Instruction
Code opératoire opérande
MOV .W #5, R6
4 036 0005
0100 0000 0011 0110 0000 0000 0000 0101 est le code machine de l'instruction
29
Chapitre 2 :Fonctionnement des
microprocesseurs
30
Chapitre 2 :Fonctionnement des
microprocesseurs
31
Chapitre 2 :Fonctionnement des
microprocesseurs
32
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ Exemple : ADDLW 06
33
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ Exemple : ADDLW 06
34
Chapitre 2 :Fonctionnement des
microprocesseurs
⚫ Exemple : ADDLW 06
35
Chapitre 2 :Fonctionnement des
microprocesseurs
Différences fondamentales
⚫ Instructions en nombre réduit pour le RISC
⚫ Instructions de taille fixe (code opératoire + opérande)
pour le RISC
⚫ Peu de registres pour le CISC
⚫ Beaucoup de modes d'adressage pour le CISC
36
Chapitre 3 :Les Langages de programmation
37
Chapitre 3 : Les Langages de programmation
Programme en langage
de haut niveau
(c, Basic, Pascal...)
Niveau
utilisateur
Compilateur
Machine Physique
Programme en langage d'assemblage « matérielle »
BCF
PIR1,TMR1IF
MOVLW VTMR1H
Assembleur
MOVWF TMR1H
Programme en langage
machine
Programmateur 011100000....10010
1110111101....11011
1111110001....11101
38
Chapitre 3 : Les Langages de programmation
⚫ Quelques définitions
− Le compilateur est un programme informatique qui
transforme un code source écrit dans un langage de
programmation en un autre langage informatique.
− L'Assembleur traduit du langage assembleur en langage
machine. L'assembleur est un compilateur.
− Langage machine : Ensemble des instructions
compréhensibles par le microprocesseur, elles sont écrites en
binaire.
− Le langage assembleur : possède les mêmes instructions que le
langage machine. A la seule différence que ces instructions
sont écrites en lettres. Chaque instruction en langage machine
correspond en une instruction en langage assembleur.
39
Chapitre 3 : Les Langages de programmation
40
Chapitre 3 : Les Langages de programmation
41
Chapitre 3 : Les Langages de programmation
42
Chapitre 3 : Les Langages de programmation
43
Chapitre 3 : Les Langages de programmation
44
Chapitre 3 : Les Langages de programmation
45
Chapitre 3 : Les Langages de programmation
⚫ Les modes d'adressages
− Un programme manipule forcément des données. Un
mode d'adressage est un moyen qui permet au
microprocesseur d'avoir accès à une donnée. Cette
donnée peut être un nombre quelconque, un nombre
présent quelque part en mémoire ou dans un registre.
− Adressage immédiat :
⚫ La donnée est dans l'instruction.
46
Chapitre 3 : Les Langages de programmation
⚫ Les modes d'adressages
− Adressage direct/absolue:
• La donnée est en mémoire. Le champ opérande de
l’instruction contient l'adresse d'une donnée en
mémoire.
• mov &0f016h, &01114h ;Transfert le
contenu de
;l’emplacement 0f016h dans
;l’emplacement 01114h
− L'adressage registre :
⚫ La donnée est dans un registre interne au
;dans R8 47
Chapitre 3 : Les Langages de programmation
− Adressage indirect:
⚫ L'adresse de la donnée est contenue dans un pointeur. Le champ
opérande de l’instruction contient l'adresse d'un pointeur.
⚫ and @R4,R5 ; R4 pointe
vers l’opérande.
48
Chapitre 3 : Les Langages de programmation
⚫ Formes algorithmiques
− Affectations
mov.b #001h,&P1DIR ; Chargement de 001h dans P1DIR.
− Structure
Call #TEMPO "Si alors sinon" [if then,
;Appel else]
du sous-programme TEMPO.
⚫ Formes algorithmiques
− Structure "Tant que" [While]
50
Chapitre 3 : Les Langages de programmation
52
Chapitre 3 : Les Langages de programmation
⚫ Quelques fabricants
− ATMEL
− FREESCALE
− MICROCHIP
− TEXAS Instrument
− ...
FREESCALE CodeWarrior
MICROCHIP Mplab
53
Bibliographie
54