Академический Документы
Профессиональный Документы
Культура Документы
CHAPITRE 1 : GENERALITES.................................................................................. 4
1. Introduction ..................................................................................................................4
5. Rappels ..........................................................................................................................6
3. La mémoire principale..................................................................................................8
5. Les bus...........................................................................................................................8
3. Jeu d’instructions........................................................................................................ 22
3.1. Définition .............................................................................................................. 22
3.2. Type d’instructions ............................................................................................... 22
3.3. Codage .................................................................................................................. 23
3.4. Temps d’exécution ................................................................................................ 23
Chapitre 1 : Généralités
1. Introduction
Le cours d’architecture des systèmes à microprocesseur expose les principes de base
du traitement programmé de l’information.
La mise en œuvre de ces systèmes s’appuie sur 2 modes de réalisation distincts :
Matériel + Logiciel.
Matériel (Hardware) = Correspond à l’aspect concret du système : Unité Centrale,
Mémoires, Organes d’Entrées / Sorties, etc…
Logiciel (Software) = correspond à un ensemble d’instructions : appelé programme,
qui sont contenues dans les différentes du système et qui définissent les actions
effectuées par le matériel.
5. Rappels
Les informations traitées par un microprocesseur sont de différents types (nombres,
instructions, images, vidéo, etc…) mais elles sont toujours représentées sous un format
binaire.
Le binaire est représenté physiquement par 2 niveaux de tensions différents.
En binaire, une information élémentaire est appelé bit et ne peut prendre que deux
valeurs différentes : 0 ou 1.
Une information plus complexe sera codée sur plusieurs Bits. On appelle cet ensemble
un mot. Un mot de 8 bits est appelé un Octet.
Remarque :
o 1 kilobit = 210 bit = 1024 bit
o 1 mégabit = 210 kbit = 1024 kbit
o 1 gigabit = 210 Mbit = 1024 Mbit
Voir le complément du cours : Système de représentation des informations au TDs.
Bus
2. L’unité centrale
Elle est composée par le microprocesseur qui est chargé d’interpréter et d’exécuter les
instructions d’un programme, de lire ou de sauvegarder les résultats dans la mémoire
et de communiquer avec les unités d’échange.
Toutes les activités du microprocesseur sont cadencées par une horloge.
On caractérise le microprocesseur par :
3. La mémoire principale
Elle contient les instructions du ou des programmes en cours d’exécution et les
données associées à ce programme.
Physiquement, elle se décompose souvent en :
o Une mémoire morte (ROM = Read Only Memory) chargée de stocker le
programme. C’est une mémoire à lecture seule.
o Une mémoire vive (RAM = Random Access Memory) chargée de stocker les
données intermédiaires ou les résultats de calculs. On peut lire ou écrire des
données dedans, ces données sont perdues à la mise hors tension.
Remarque :
Les disques durs, disquettes, CDROM, etc… sont des périphériques de stockage, et
considérés comme des mémoires secondaires.
5. Les bus
Un bus est un ensemble de fils (appelés broches) qui assure la transmission du même
type d’information.
On retrouve trois types de bus véhiculant des informations en parallèle dans un
système de traitement programmé de l’information :
o Un bus de données : C’est un ensemble de broches qui véhiculent les
instructions et les données à traités. Ce bus est bidirectionnel, le nombre de
broches de ce bus correspond à la capacité de traitement du microprocesseur.
Ex : - microprocesseur de 8 bits Bus de données à 8 broches.
- microprocesseur de 16 bits Bus de données à 16 broches.
- microprocesseur de 32 bits Bus de données à 32 broches.
6. Décodage d’adresses
La multiplication des périphériques autour du microprocesseur oblige la présence d’un
décodeur d’adresse chargé d’aiguiller les données présentes sur le bus de données.
En effet, le microprocesseur peut communiquer avec les différentes mémoires et les
différents boîtiers d’interface. Ceux-ci sont tous reliés sur le même bus de données et
afin d’éviter des conflits, un seul composant doit être sélectionné à la fois.
Ainsi, on a besoin d’un décodeur d’adresses qui doit attribuer à chaque périphérique
une zone d’adresses spécifique.
Décodeur
d’adresses
Bus d’adresses
Bus de Commande
Bus
7 = 111
6 = 110
5 = 101
4 = 100
3 = 011
2 = 010
1 = 001
Avec une adresse de n bits il est possible de référencer au plus 2n cases mémoire.
Chaque case est remplie par un mot de données (sa longueur m est toujours une
puissance de 2).
Le nombre de broches du bus d’adresses d’un boîtier mémoire définit donc le nombre
de cases mémoire que comprend le boîtier.
Le nombre de broches du bus de données définit la taille des données que l’on peut
sauvegarder dans chaque case mémoire.
En plus du bus d’adresses et du bus de données, un boîtier mémoire comprend une
entrée de commande qui permet de définir le type d’action que l’on effectue avec la
mémoire (lecture/écriture) et une entrée de sélection qui permet de mettre les
entrées/sorties du boîtier en haute impédance.
On peut donc schématiser un circuit mémoire par la figure suivante où l’on peut
distinguer :
Adresses
(n bits)
Données
Mémoire
R/W (m bits)
IO/M
Bus @ @x
Données
Accessibles
Bus D Dx
T accès
T cycle
Les mémoires vives sont en général volatiles : elles perdent leurs informations en cas
de coupure d'alimentation.
Il existe deux grandes familles de mémoires RAM (Random Acces Memory :
mémoire à accès aléatoire) :
o Les RAM statiques
o Les RAM dynamiques
On utilise alors des mémoires mortes ou mémoires à lecture seule (ROM : Read Only
Memory). Ces mémoires sont non volatiles.
L’inscription en mémoire des données restent possible mais est appelée
programmation.
Suivant le type de ROM, la méthode de programmation changera. Il existe donc
plusieurs types de ROM :
o ROM : Elle est programmée par le fabricant et son contenu ne peut plus être ni
modifié, ni effacé par l'utilisateur.
o PROM : C’est une ROM qui peut être programmée une seule fois par
l'utilisateur (Programmable ROM). La programmation est réalisée à partir d’un
programmateur spécifique
o EPROM : Pour faciliter la mise au point d'un programme ou tout simplement
permettre une erreur de programmation, il est intéressant de pouvoir
reprogrammer une PROM. L'EPROM (Erasable Programmable ROM) est une
PROM qui peut être effacée.
o FLASH EPROM : est une mémoire programmable et effaçable électriquement.
Elle répond ainsi à l’inconvénient principal de l’EPROM (Impossible de
sélectionner une seule cellule à effacer) et peut être reprogrammée in situ (mot
par mot).
Jusqu’à 1Go
10 ns Mémoire principale
2 à 4 Go
Mémoire d’appui
200Go
5 ms Mémoire de masse +
Les registres sont les éléments de mémoire les plus rapides. Ils sont situés au niveau
du processeur et servent au stockage des opérandes et des résultats intermédiaires.
La mémoire cache est une mémoire rapide de faible capacité destinée à accélérer
l’accès à la mémoire centrale en stockant les données les plus utilisées.
La mémoire principale est l’organe principal de rangement des informations. Elle
contient les programmes (instructions et données) et est plus lente que les deux
mémoires précédentes.
La mémoire d’appui sert de mémoire intermédiaire entre la mémoire centrale et les
mémoires de masse. Elle joue le même rôle que la mémoire cache.
La mémoire de masse est une mémoire périphérique de grande capacité utilisée pour
le stockage permanent ou la sauvegarde des informations. Elle utilise pour cela des
supports magnétiques (disque dur) ou optiques (CDROM, DVDROM).
Chapitre 4 : Le microprocesseur
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.
Bus d’adresses
Programmes
Unité de Unité de
Traitement Commande
Données
Bus de données
Remarque :
Il existe deux types de registres :
o Les registres d'usage général permettent à l'unité de traitement de manipuler
des données à vitesse élevée. Ils sont connectés au bus de données interne au
microprocesseur.
o Les registres d'adresses (pointeurs) connectés sur le bus adresses.
Bus d’adresses
Registre d’@
Acc
Programmes
Registre PC
d’état
UAL Bus
Commande
Bloc logique de commande
Données
Registre Décodeur
d’instruction d’instructio
Registre ns
Horlog
Bus de données
Microprocesseur
1 Mémoire
PC $2000
$2000 Instr 1
@ $2000
$2001 Opér 1
$2002 Instr 2
RI Instr 1 2
$2003 Instr 3
3
$2004
Décodeur .
d’Instruction .
.
Instr1 $FFF
Microprocesseur 2
PC $2000
Mémoire
Bloc $2000 Instr 1
logique de RI Instr 1 @ $2001
$2001 Opér 1
commande
$2002 Instr 2
Décodeur
$2003 Instr 3
1 d’Instruction
$2004
UAL .
.
3
.
Opér 2 Opér 1
Instr1 $FFF
Microprocesseur
PC $2002
3 Mémoire
Bloc $2000 Instr 1
logique de RI Instr 1
$2001 Opér 1
commande
$2002 Instr 2
Décodeur
$2003 Instr 3
d’Instruction
$2004
UAL CF=0, .
1 CZ=1, … .
2 .
Résult Opér 1
$FFF
3. Jeu d’instructions
3.1. Définition
Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le
microprocesseur pourra exécuter.
Il représente l’aspect programmable du microprocesseur : c’est de faire fonctionner le
microprocesseur dans le déroulement de l’application à exécuter.
Ce jeu d’instruction doit respecter une certaine syntaxe, appelée syntaxe du langage de
programmation : Langage Assembleur.
3.3. Codage
Les instructions et leurs opérandes (paramètres) sont stockés en mémoire principale.
La taille totale d’une instruction (nombre de bits nécessaires pour la représenter en
mémoire) dépend du type d’instruction et aussi du type d’opérande. Chaque
instruction est toujours codée sur un nombre entier d’octets afin de faciliter son
décodage par le processeur. Une instruction est composée de deux champs :
o Le code instruction, qui indique au processeur quelle instruction réaliser
o Le champ opérande qui contient la donnée, ou la référence à une donnée en
mémoire (son adresse).
Exemple :
Code Instruction Code Opérande
10010011 00111110
4. Langage de programmation
Le langage machine est le langage compris par le microprocesseur. Ce langage est
difficile à maîtriser puisque chaque instruction est codée par une séquence propre de
bits. Afin de faciliter la tâche du programmeur, on a créé différents langages plus ou
moins évolués.
Le langage assembleur est le langage le plus « proche » du langage machine. Il est
composé par des instructions en général assez rudimentaires que l’on appelle des
Langage Assembleur
(cmp, add, mov, etc…)
Assemblage
Langage Machine
(00011100, 11010011, etc…)
6.1.1. Pourquoi
CISC est l’architecture la plus ancienne, était la seule envisageable pour les machines
à microprocesseur.
En effet, vue que la mémoire travaillait très lentement par rapport au processeur, on
pensait qu’il était plus intéressant de soumettre au microprocesseur des instructions
complexes.
Ainsi, plutôt que de coder une opération complexe par plusieurs instructions plus
petites (qui demanderaient autant d’accès mémoire très lent).
Il semblait préférable d’ajouter au jeu d’instructions du microprocesseur une
instruction complexe qui se chargerait de réaliser cette opération.
On a donc eu tendance à incorporer au niveau processeur des instructions plus proches
de la structure de ces langages.
6.1.2. Comment
C’est donc une architecture avec un grand nombre d’instructions où le
microprocesseur doit exécuter des tâches complexes par instruction unique.
Pour une tâche donnée, une machine CISC exécute ainsi un petit nombre
d’instructions mais chacune nécessite un plus grand nombre de cycles d’horloge.
Le code machine de ces instructions varie d’une instruction à l’autre et nécessite donc
un décodeur complexe (micro-code).
6.2.1. Pourquoi
Des études statistiques menées au cours des années 70 ont clairement montré que les
programmes générés par les compilateurs se contentaient le plus souvent
d'affectations, d'additions et de multiplications par des constantes.
Ainsi, 80% des traitements des langages de haut niveau faisaient appel à seulement
20% des instructions du microprocesseur.
D’où l’idée de réduire le jeu d’instructions à celles le plus couramment utilisées et
d’en améliorer la vitesse de traitement.
6.2.2. Comment
C’est donc une architecture dans laquelle les instructions sont en nombre réduit
(chargement, branchement, appel sous-programme).
Les architectures RISC peuvent donc être réalisées à partir de séquenceur câblé. Leur
réalisation libère de la surface permettant d’augmenter le nombre de registres ou
d’unités de traitement par exemple.
Chacune de ces instructions s’exécutent ainsi en un cycle d’horloge.
Les accès à la mémoire s’effectuent seulement à partir de deux instructions (Load et
Store). Par contre, les instructions complexes doivent être réalisées à partir de
séquences basées sur les instructions élémentaires, ce qui nécessite un compilateur très
évolué dans le cas de programmation en langage de haut niveau.
6.3. Comparaison
Le choix dépendra des applications visées. En effet, si on diminue le nombre d'instructions,
on crée des instructions complexes (CISC) qui nécessitent plus de cycles pour être décodées
et si on diminue le nombre de cycles par instruction, on crée des instructions simples (RISC)
mais on augmente alors le nombre d'instructions nécessaires pour réaliser le même traitement.
7.1.1. Principe
instruction se trouve dans l’une des étapes, les composants associés aux autres étapes
ne sont pas utilisés. Le fonctionnement d’un microprocesseur simple n’est donc pas
efficace.
L’architecture pipeline permet d’améliorer l’efficacité du microprocesseur. En effet,
lorsque la première étape de l’exécution d’une instruction est achevée, l’instruction
entre dans la seconde étape de son exécution et la première phase de l’exécution de
l’instruction suivante débute.
Il peut donc y avoir une instruction en cours d’exécution dans chacune des étapes et
chacun des composants du microprocesseur peut être utilisé à chaque cycle d’horloge.
Une machine pipeline se caractérise par le nombre d’étapes utilisées pour l’exécution
d’une instruction, on appelle aussi ce nombre d’étapes le nombre d’étages du pipeline.
Modèle classique :
R1 R2 R3
D1 D2 D3
E1 E2 E3
S1 S2 S3
Nbre de
cycles
1 2 3 4 5 6 7 8 9 10 11 12
Modèle pipeliné :
R1 R2 R3 R4 R5 R6 R7 R8 R9
D1 D2 D3 D4 D5 D6 D7 D8 D9
E1 E2 E3 E4 E5 E6 E7 E8 E9
S1 S2 S3 S4 S5 S6 S7 S8 S9
Nbre de
cycles
1 2 3 4 5 6 7 8 9 10 11 12
Dans cette structure, la machine débute l’exécution d’une instruction à chaque cycle et
le pipeline est pleinement occupé à partir du quatrième cycle.
Le gain obtenu dépend donc du nombre d’étages du pipeline.
En effet, pour exécuter n instructions, en supposant que chaque instruction s’exécute
en k cycles d’horloge, il faut :
o n.k cycles d’horloge pour une exécution séquentielle.
o k cycles d’horloge pour exécuter la première instruction puis n-1 cycles pour
les n-1 instructions suivantes si on utilise un pipeline de k étages.
Exemples :
Les Pentium 2, 3 et 4 d’Intel comprennent respectivement un pipeline de 10, 12 et 20
étages.
7.2.1. Principe
Depuis le début des années 80, une des solutions utilisées pour masquer cette latence
est de disposer une mémoire très rapide entre le microprocesseur et la mémoire. Elle
est appelée cache mémoire.
On compense ainsi la faible vitesse relative de la mémoire en permettant au
microprocesseur d’acquérir les données à sa vitesse propre.
Au départ cette mémoire était intégrée en dehors du microprocesseur mais elle fait
maintenant partie intégrante du microprocesseur.
Le principe de cache est très simple : le microprocesseur n’a pas conscience de sa
présence et lui envoie toutes ses requêtes comme s’il agissait de la mémoire
principale:
o Soit la donnée ou l’instruction requise est présente dans le cache et elle est
alors envoyée directement au microprocesseur. On parle de succès de cache.
(a)
b)
Microprocesseur Mémoire
1 2
Unité de Unité de Cache
traitement commande
4 3
Architecture scalaire :
Unité de
I1 I2 I3 I4 I5 I6 I7 I8 traitement
N cycles
Architecture superscalaire :
Unité de
I1 I5 I7 I8 traitement 1
I2 I3 I4 I6 Unité de
traitement 2
N/2 cycles
Remarque :
C'est le type d'architecture mise en oeuvre dans les premiers Pentium d'Intel apparus en 1993.
Nbre de
11 cycles
1
Le processeur 8086 d'Intel est à la base des processeurs Pentium actuels. Les
processeurs successifs (de PC) se sont en effet construits petit à petit en ajoutant à
chaque processeurs des instructions et des fonctionnalités supplémentaires,
mais en conservant à chaque fois les spécificités du processeur précédent.
A13 A14
A12 A15
A11 A16
A10 A17
A9 A18
A8 A19
Bus de commande
AD7
Signaux de
contrôle
AD0 Horloge
Alimentation Masse
RD
WR
8088 IO / M Bus de commande
ALE
READY
RD WR IO / M Opération
0 0 0 Lecture d’une interface d’E/S.
1 1 0 Ecriture dans une interface d’E/S.
0 0 1 Lecture de la mémoire.
1 1 1 Ecriture dans la mémoire.
INTR
NMI
8088 INTA Quelques signaux de contrôle
Hold
HOLDA
INTR
8088 Interface Périphérique
D’E/S externe
INTA
8.2.1. UIB
Elle est constituée d’un ensemble de registres d’adressage, d’un générateur d’adresse
(compteur ordinal) et d’une file d’attente (registre d’instruction), son rôle est de
chercher séquentiellement les instructions et les données stockées dans la mémoire.
8.2.2. UE
Elle est destinée au traitement de données, elle se compose essentiellement d’une
UAL, d’une unité de commande et des registres opérationnels et d’adressage. Son rôle
est de lire les instructions stockées dans la file d’attente pour décodage et d’exécution.
BX BH BL
CX CH CL
DX DH DL
o Groupe de pointeur et indexe : formé de 4 registres de 16 bits (SI, DI, SP, BP)
et font généralement référence à un emplacement en mémoire.
15 0
Stack Pointer SP
Base Pointer BP
Source Index SI
Destination Index DI
RAM
Programme Principal
……..
Instructions
utilisant les
registres AX,
BX, CX et DX
……….
Empilement du contenu de
AX, BX, CX et DX Instructions du sous-
programme utilisant les
Saut à un sous- registres AX, BX, CX et DX
programme
Dépilement du contenu de Empilement RAM
AX, BX, CX et DX (Sauvegarde)
……..
Instructions AX AL
suite du BX AH
programme
principal CX BL
……….
DX ….
….
Dépilement ….
(Chargement)
DH
Pile
RAM
Sommet de la pile (1ère
case mémoire libre)
SP = FF4B
FF4B Après empilement et
Empilement
11 FF4C avant dépilement
Dépilement
01 FF4D
AX
01 11 01 FF4E SP = FF4D
Après dépilement de AX
AH AL 0E FF4F
FF50
Bloc de données
1100H
Le registre d'état FLAG sert à contenir l'état de certaines opérations effectuées par le
processeur.
Par exemple, quand le résultat d'une opération est trop grand pour être contenu dans le
registre cible (celui qui doit contenir le résultat de l'opération), un bit spécifique du
registre d'état (le bit OF) est mis à 1 pour indiquer le débordement.
Flags = Drapeaux, Les drapeaux sont des indicateurs suite à des opérations
arithmétiques ou logiques.
Le registre d'état du 8088 est formé par les bits suivants :
X X X X OF DF IF TF SF ZF X AF X PF X CF
Remarque :
X : bit non utilisé
CF : (Carry Flag)
Bit indicateur au retenue, positionné à 1 lors d’un retenu dans une opération d’addition
(ADD) ou soustraction (SUB) (voir partie : 1.2. Unité de commande).
PF : (Parity Flag)
Parité : si le résultat de l'opération contient un nombre pair de 1 cet indicateur est mis
à 1, sinon zéro.
AF : (Auxiliary Flag)
Demie retenue : Ce bit est égal à 1 si on a un retenue du quarter de poids faible
dans le quarter de poids plus fort.
ZF : (Zero Flag)
Zéro : Cet indicateur est mis à 1 quand le résultat d'une opération est égal à zéro.
Lorsque l'on vient d'effectuer une soustraction (ou une addition). (voir partie :
1.2. Unité de commande).
SF : (Sign Flag)
SF est positionné à 1 si le bit de poids fort du résultat d'une addition ou soustraction
est 1 ; sinon SF=0.
SF est utile lorsque l'on manipule des entiers signés, car le bit de poids fort donne
alors le signe du résultat. (voir partie : 1.2. Unité de commande).
OF : (Overflow Flag)
Débordement : si on a un débordement arithmétique ce bit est mis à 1, c-a-d le
résultat d'une opération excède la capacité de l'opérande (registre ou case mémoire),
sinon il est à 0.
DF : (Direction Flag)
Auto Incrémentation/Décrémentation : utilisée pendant les instructions sur des blocs
de données (chaînes de caractères, tableaux, …) pour auto incrémenter ou auto
décrémenter le SI et le DI.
IF : (Interrupt Flag)
Masque d'interruption : pour masquer les interruptions venant de l'extérieur ce bit est
mis à 0, dans le cas contraire le microprocesseur reconnaît l'interruption de
l'extérieur.
TF : (Trap Flag)
Piége : pour que le microprocesseur exécute le programme pas à pas.
Data Segment DS
Stack Segment SS
Extra Segment ES
8.4.1. Introduction
L'espace mémoire adressable (1 Méga Octet = 2 20 Octets, 20 broches du bus
d'adresse) du 8088 est divisé en quatre segment logiques allant jusqu'à 64 KOctets
chacun.
L'accès à ces espaces est direct et simultané, or Le compteur de programme est de 16
bits donc la possibilité d'adressage est de 2 16 Octet= 64 KOctet (Ce qui ne couvre pas
la totalité de la mémoire), alors on utilise deux registres pour indiquer une adresse au
processeur.
Chaque segment débute à l'endroit spécifié par le registre segment. Le
déplacement (offset) à l'intérieur de chaque segment se fait par un registre de
décalage qui permet de trouver une information à l'intérieur du segment.
o IP est un registre de déplacement dans le segment code (CS).
o SP est un registre de déplacement dans le segment pile (SS).
o SI et DI sont des registres de déplacement dans les segments de données (DS)
et segment de données supplémentaires (ES).
7 0
Segment
64 Ko
IP Code
CS
DS
Segment
64 Ko
ES SI ou DI Données
SS
Segment
64 Ko
SI ou DI Extra
Segment
64 Ko
SP Pile
o Tandis que l’adresse physique est une adresse sur 20 bits (5 chiffres
hexadécimaux), adressées par le bus d’adresse de 20 broches.
Le schéma de la figure suivante illustre la formation d'une adresse 20 bits à partir du
segment et du déplacement sur 16 bits :
Bits 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Base 0000
+ 0000 Offset
= Adresse Physique
Exemple :
Pour : CS = 1000H et IP = 2006H
Adresse Physique = 10000H + 02006H = 12006H
1. L’interface d’entrée/sortie
1.1. Rôle
Chaque périphérique sera relié au système par l’intermédiaire d’une interface (ou
contrôleur) dont le rôle est de :
o Connecter le périphérique au bus de données.
o Gérer les échanges entre le microprocesseur et le périphérique
1.2. Constitution
Pour cela l’interface est constituée par :
o Un registre de commande dans lequel le processeur décrit le travail à
effectuer (sens de transfert, mode de transfert).
o Un ou plusieurs registres de données qui contiennent les mots à échanger
entre le périphérique et la mémoire.
o Un registre d’état qui indique si l’unité d’échange est prête, si l’échange s’est
bien déroulé, etc…
On accède aux données de l’interface par le biais d’un espace d’adresses
d’entrées/sorties.
2.1.1. Scrutation
Le microprocesseur interroge l’interface pour savoir si des transferts sont prêts. Tant
que des transferts ne sont pas prêts, le microprocesseur attend.
Inconvénient : le microprocesseur se retrouve souvent en phase d’attente. Il est occupé par
l’interface d’entrée/sortie ce type d’échange est très lent.
2.1.2. Interruption
Une interruption est un signal, pouvant être émis par tout dispositif externe au
microprocesseur.
Le microprocesseur possède une ou plusieurs entrées réservées à cet effet.
L’interruption interrompre le travail courant du microprocesseur pour forcer
l’exécution d’un programme traitant la cause de l’interruption.
Ainsi, dans un échange de données par interruption, le microprocesseur exécute donc
son programme principal jusqu’à ce qu’il reçoive un signal sur sa ligne de requête
d’interruption. Il se charge alors d’effectuer le transfert de données entre l’interface et
la mémoire.
Pour cela, un circuit appelé contrôleur de DMA (Direct Memory Access) prend en
charge les différentes opérations.
Le DMA se charge entièrement du transfert d’un bloc de données. Le microprocesseur
doit tout de même :
o Initialiser l’échange en donnant au DMA l’identification du périphérique
concerné.
o Donner le sens du transfert.
o Fournir l’adresse du premier et du dernier mot concernés par le transfert.
3. Types de liaisons
Les systèmes à microprocesseur utilisent deux types de liaisons différentes pour se
connecter à des périphériques :
o Liaison parallèle.
o Liaison série.