Beruflich Dokumente
Kultur Dokumente
ET MICROCONTROLEUR
3 Années Automatique
Introduction
Ordinateur:
un CPU ;
mémoire
(RAM/ROM/Masse) ;
quelques circuits
d’entrée/sortie.
Architecture d’un calculateur simple :
L’unité centrale de traitement : (Central
Processing Unit).
Elle se compose essentiellement de :
l’unit de commande qui coordonne les
opérations,
l’UAL(unité arithmétique et logique) qui effectue
les opérations
d’un ensemble de registres pour stocker les
données.
la Mémoire :
La mémoire est organisée en plusieurs cellules de
n-bits chacune et chaque cellule à une adresse
fixe permettant d’accéder en écriture ou en
lecture à la cellule en question.
Mémoire centrale :
Les mémoire secondaires :
la Mémoire :
Mémoire centrale :
le programme à exécuter : est une suite d’instructions élémentaires ;
ainsi que les données à traiter. Sont stoker dans la mémoire.
RAM (Mémoires vives) : Random Access Memory Elles sont utilisées
pour stocker temporairement des données et des programmes
ROM (memoires mortes) : Read Only Memory On les utilise pour
stocker des données et des programmes de manière définitive
(Boot strop programme de démarrage).
la Mémoire :
Les mémoires secondaires :
archivagedes programme et données elle sont
volumineuse exp :
bande magnétique,
disquettes,
DD,
CD.
La mémoire secondaire est généralement adressée autant que
périphérique I/O
la Mémoire :
Les mémoires sont caractérisées par
leur capacité : nombre total de
cases mémoire de n bits chacune
contenues dans un même boîtier.
Chaque cellule à une adresse fixe
permettant d’accéder en écriture
ou en lecture à la cellule en
question.
L’unité d’entrées/sorties (E/S)
Bus de contrôle)
Il est constitue de plusieurs lignes de contrôles qui transportent des signaux (Lecture
mémoire, Ecriture mémoire, Lecture I/O, lecture I/O, Horloge, reset, ready, NMI…
Les microprocesseurs
spécialisés :
Microcontrôleurs :
Ils contiennent un CPU, de la RAM, de la ROM, quelques ports d’E/S
parallèles, des ports séries, des compteurs programmables (timers), des
CAN/CNA …dans un seul circuit intégré.
Ils sont en général utilisés pour contrôler des simples machines (appareils
électroménagers, lecteurs de carte à puce, démonumérique ...)
– 80C186XX (80186, 16 bits, Intel)
– 68HC11, 68HC12 (6809, 8 bits, Motorola)
– 68HC16 (68000, 16 bits, Mototrola)
– C167XX (Infineon, ex Siemens)
Les microprocesseurs
spécialisés :
Digital Signal Processor DSP : Ce sont des
processeurs dédiés aux traitements des signaux
numériques. Une architecture particulière leur permet un
traitement efficace des fonctions complexes telles que
FFT, convolution, filtrage numérique ...
TMS320 (Texas Instrument)
2100 et 21000 (Analog Device)
56000 (Motorola)
Les microprocesseurs
spécialisés :
Architectures parallèles
Architectures avec cadencement des
données
Architecture
Les différentes architectures
Architectures parallèles
Architecture multiprocesseurs (MIMD)
Architecture
Les différentes architectures
Architectures parallèles
Processeur pipeline
L’idée est inspirée de l’organisation du
travail à la chaîne
Architecture du Microprocesseur Intel 8086 :
Architecture du Microprocesseur Intel 8086 :
fonctionnement du microprocesseur :
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
mode minimum (MN/MX = 1) câblée au +5V: le 8086
fonctionne de manière autonome, il génère lui-même le bus
de commande (RD, WR, ...) ;
mode maximum (MN/MX = 0) câblée à la masse: ces
signaux de commande sont produits par un contrôleur de bus,
le 8288. Ce mode permet de réaliser des systèmes
multiprocesseurs.
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
NMI et INTR : N° pin 17 et 18 entrées de demande
d’interruption.
INTR : interruption normale,
demande d’interruption en
provenance du processeur
de gestion des interruptions (PIC)
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
NMI et INTR : N° pin 17 et 18 entrées de demande
d’interruption.
NMI (Non Maskable Interrupt) : interruption
prioritaire. lorsqu’elle est utilisée, cette entrée
d’interruption, non masquable, est généralement
branchée sur une détection de coupure d’alimentation
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
HOLD et HLDA : signaux de demande d’accord d’accès
direct à la mémoire (DMA).
HOLD Indique au processeur une demande d'usage des bus. Le
processeur répond à la fin du cycle en cours en mettant HLDA (
hold acknowledge ) à l'état haut et en mettant ses propres
accès au bus en état de haute impédance.
L'accès direct à la mémoire ou DMA (sigle anglais de Direct Memory
Access)
est unArchitecture du Microprocesseur
procédé informatique Intelde,
où des données circulant 8086 : un
ou vers,
périphérique (port de communication, disque dur) sont transférées
Description
directement par unet utilisation
contrôleur adaptédes
vers signaux
la mémoire du 8086de la
principale
machine,
HOLDsans intervention
et HLDA du microprocesseur
: signaux de demandesi ce n'est pour
d’accord lancer et
d’accès
conclure
directleàtransfert
la mémoire (DMA).
Le DMA est nécessaire pour conserver la fluidité d'utilisation d'un
HOLD Indique au processeur une demande d'usage des bus. Le
système multitâche lors de l'accès à des périphériquesrapides tels que
processeur
les disques durs, répond à la fin du cycle en cours en mettant HLDA (
hold acknowledge ) à l'état haut et en mettant ses propres
accès au bus en état de haute impédance.
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
S0 à S7 : signaux d’état indiquant le type d’opération en
cours sur le bus
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
A16/S3 à A19/S6 : 4 bits de poids fort du bus d’adresses,
multiplexés avec 4 bits d’état.
AD0 à AD15 : 16 bits de poids faible du bus d’adresses,
multiplexés avec 16 bits de données. Le bus A/D est multiplexé
(multiplexage temporel) d’où la nécessité d’un démultiplexage
pour obtenir séparément les bus d’adresses et de données :
16 bits de donnes (microprocesseur 16 bits) ;
20 bits d’adresses, d’où 220 = 1 Mo d’espace mémoire
adressable par le 8086.
Architecture du Microprocesseur Intel 8086 :
Circuit de démultiplexage A/D :
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
RD : Read, signal de lecture d’une donnée.
WR : Write, signal d’écriture d’une donnée.
M/IO : Memory/Input-Output, indique si le 8086 adresse
la mémoire (M/IO = 1) ou les entrées/sorties (M/IO = 0).
DEN : Data Enable, indique que des données sont en train
de circuler sur le bus A/D (équivalent de ALE pour les
données).
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
DT/R : Data Transmit/Receive, indique le sens de transfert
des données :
DT/R = 1 : données émises par le microprocesseur (écriture) ;
DT/R = 0 : données reçues par le microprocesseur (lecture).
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
HOLD et HLDA : signaux de demande d’accord d’accès
direct à la mémoire (DMA).
HOLD Indique au processeur une demande d'usage des bus. Le
processeur répond à la fin du cycle en cours en mettant HLDA (
hold acknowledge ) à l'état haut et en mettant ses propres
accès au bus en état de haute impédance.
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
HOLD et HLDA : signaux de demande d’accord d’accès
direct à la mémoire (DMA).
HOLD Indique au processeur une demande d'usage des bus. Le
processeur répond à la fin du cycle en cours en mettant HLDA (
hold acknowledge ) à l'état haut et en mettant ses propres
accès au bus en état de haute impédance.
Architecture du Microprocesseur Intel 8086 :
Description et utilisation des signaux du 8086
5 adressage basé :
l’offset est contenu dans un registre de base BX ou BP.
Exemples :
5 adressage basé :
mov al,[bx] mov al,[bp]
Architecture du Microprocesseur Intel 8086 :
6 adressage indexé :
Semblable à l’adressage basé, sauf que l’offset est contenu dans un registre d’index SI
ou DI, associés par d´efaut au segment de données DS.
Exemples :
mov al,[si] : charge le registre AL avec le contenu de la case mémoire dont l’offset est
contenu dans SI ;
mov [di],bx : charge les cases mémoire d’offset DI et DI + 1 avec le contenu du
registre BX.
Architecture du Microprocesseur Intel 8086 :
Remarque :
une valeur constante peut éventuellement être ajoutée aux registres de base ou
d’index pour obtenir l’offset.
Exemple :
mov [si+100H],ax
qui peut aussi s'écrire
mov [si][100H],ax
ou encore
mov 100H[si],ax
Architecture du Microprocesseur Intel 8086 :
ET logique :
AND opérande1,opérande2
L’opération effectuée est : opérande1 ← opérande1 ET
opérande2.
Exemple :
OU logique :
OR opérande1,opérande2
L’opération effectuée est : opérande1 ← opérande1 OU
opérande2.
Application : mise à 1 d’un ou plusieurs bits dans un mot.
Exemple : dans le mot 10110001B on veut mettre à 1 les
bits 1 et 3 sans modifier les autres bits.
Architecture du Microprocesseur Intel 8086 :
OU logique :
OR opérande1,opérande2
Les instructions correspondantes peuvent s’´ecrire :
mov ah,10110001B
or ah,00001010B
Architecture du Microprocesseur Intel 8086 :
Complément à 1 :
NOT opérande
L’opération effectuée est : opérande ← opérande.
Exemple :
mov al,10010001B
not al
Architecture du Microprocesseur Intel 8086 :
Complément à 2 :
NEG opérande
L’opération effectuée est : opérande ← opérande + 1.
Exemple :
mov al,25
mov bl,12
neg bl
add al,bl
Architecture du Microprocesseur Intel 8086 :
OU exclusif :
XOR opérande1,opérande2
L’opération effectuée est : opérande1 ← opérande1 ⊕
opérande2.
Exemple : mise à zéro d’un registre :
mov al,25
xor al,al
Architecture du Microprocesseur Intel 8086 :
OU exclusif :
XOR opérande1,opérande2
L’opération effectuée est : opérande1 ← opérande1 ⊕
opérande2.
Exemple : mise à zéro d’un registre :
mov al,25
xor al,al
Architecture du Microprocesseur Intel 8086 :
Remarque :
si le nombre de bits à décaler est supérieur à 1, ce nombre doit etre
placé dans le registre CL ou CX.
Exemple :
décalage de AL de trois positions vers la droite :
mov cl,3
shr al,cl
Architecture du Microprocesseur Intel 8086 :
Décalage logique vers la gauche (Shift Left) :
SHL opérande,n
Cette instruction décale l’opérande de n positions vers la droite.
entrée un 0 à la place du bit de poids faible ; le bit sortant
passe à travers l’indicateur de retenue CF.
Exemple :
mov al,11001011B
shl al,1
Architecture du Microprocesseur Intel 8086 :
Même remarque que précédamment si le nombre de
positions à décaler est supérieur à 1.
Architecture du Microprocesseur Intel 8086 :
Décalage arithmétique vers la droite :
SAR opérande,n
Ce décalage conserve le bit de signe bien que celui-ci soit
décalé
le bit de signe est réinjecté.
Exemple :
mov al,11001011B
sar al,1
Architecture du Microprocesseur Intel 8086 :
Décalage arithmétique vers la gauche :
SAR opérande,n
Identique au décalage logique vers la gauche.
Architecture du Microprocesseur Intel 8086 :
Exemple
mov al,11001011B
ror al,1
Architecture du Microprocesseur Intel 8086 :
Rotation à gauche (Rotate Left) :
ROL opérande,n
Cette instruction décale l’opérande de n positions vers la
gauche et réinjecte par la droite les bits sortant.
Exemple :
mov al,11001011B
rol al,1
Architecture du Microprocesseur Intel 8086 :
Rotation à droite avec passage par l’indicateur de retenue
(Rotate Right through Carry) :
RCR opérande,n
Cette instruction décale l’opérande de n positions vers la droite
en passant par l’indicateur de retenue CF.
Exemple :
mov al,11001011B
rcr al,1
Architecture du Microprocesseur Intel 8086 :
Rotation à gauche avec passage par l’indicateur de
retenue (Rotate Left through Carry) :
RCL opérande,n
Cette instruction décale l’opérande de n positions vers la
gauche en passant par l’indicateur de retenue CF.
Exemple :
mov al,11001011B
rcl al,1
Architecture du Microprocesseur Intel 8086 :
Les instructions de branchement :
saut inconditionnel ;
sauts conditionnels ;
appel de sous-programmes.
Architecture du Microprocesseur Intel 8086 :
Les instructions de branchement :
Saut inconditionnel : JMP label sauts conditionnels ;