Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION GENERALE
- Formation : informatique.
- Niveau : Deuxième Bachelier.
- Orientation : Réseaux & Télécoms.
CHAPITRE I : GENERALITES
I.1. INTRODUCTION
1.1.1. De l’ordinateur aux portes logiques
5
N.B.
Un microcontrôleur se présente sous la forme d’un CI autonome et peut réunir les
éléments suivants :
- Un microprocesseur (MPU),
- De la mémoire de donnée (RAM et EEPROM),
- De la mémoire programme (ROM, UVPROM ou EPROM),
- Des interfaces parallèles pour la connexion des entrées / sorties,
- Des interfaces séries (synchrone ou asynchrone) pour le dialogue avec d’autres unités,
- Des compteurs programmables (timers) pour générer ou mesurer des signaux avec une
grande précision temporelle,
- des convertisseurs analogiques –numériques pour le traitement des signaux
analogiques,
- d’autres modules très performants selon la taille des μC.
Exemple d’un Microcontrôleur : Intel 80186 -16 bits, Motorola 6809 -8 bits, Motorola
68000 -16 bits ; etc.
6
Les μC sont souvent utilisés dans l'élaboration de systèmes embarqués, nécessitant des
traitements spécialisés. Ils sont dédiés aux applications qui ne nécessitent pas une
grande quantité de calculs complexes, mais qui ne demandent beaucoup de
manipulations d’E/S. Alors que les μP sont plutôt réservés pour les applications
demandant beaucoup de traitements de l’information et assez peu de gestion d’E/S.
Inconvénients :
. Système de développement onéreux,
. Programmation nécessitant un matériel adapté.
Avantages de la Numérisation
Les avantages de la numérisation sont nombreux :
- Fiabilité et fidélité de la transmission
- Possibilité de régénérer le signal.
- Compression des circuits avec des algorithmes (pour supprimer la redondance).
- Cryptage : possibilité de sécuriser les informations et les communications.
- Détection et correction des erreurs.
- Prix de revient intéressant.
BIT, terme inventé par Claude SHANNON en 1938 issu de la contraction « BInary digiT
» = chiffre binaire (ou monade) correspondant à la notion de « variable booléenne ou
binaire ». C’est l’unité binaire de la quantité d’information équivalente à un état logique
égal à « 1 » (présence d’une tension ou courant électrique) ou à « 0 » (absence d’une
tension ou d’un courant électrique). Il décrit en même temps l’unité d’information (le
contenant) et sa valeur quantifiée (le contenu).
Un mot binaire est une séquence de symboles dans laquelle on ne retrouve que
deux symboles, généralement « 0 » et « 1 » que l'on désigne par chiffres binaires ou
bits. Plus il peut comporter de bits et plus il est précis. On rencontre des mots de :
- 4 bits : quartet = demi octet = nibble ;
- 8 bits : octet ;
- 16 bits : double octets ;
- 32 bits : quadruple octets ;
- 64 bits, etc.
On ajoute chaque fois des zéros aux positions des bits inutilisées pour compléter la
taille d’un nombre à 4, 8, 16, 32, 64 bits, … Cette opération s’appelle : formatage.
Dans l’inscription d’un mot dans une mémoire, le bit de droite est le LSB (Less
significant bit) ou le bit le moins significatif : BLMS (bit de poids moindre) ; le bit de
gauche est le MSB (Most Significant Bit) ou le bit le plus significatif : BLPS (bit de plus
fort poids).
9
Pour traiter une donnée, un μP seul ne suffit pas, il faut l’insérer au sein
d’un système minimum de traitement programmé de données. John Von Neumann
(1946) est à l’origine d’un modèle de machine universelle dont l’architecture sert de
référence à la plupart des systèmes à base de μP actuels (calculateur, ordinateur,
Miniordinateur, microordinateur, etc.).
Ce système est articulé en 3 blocs fonctionnels principaux :
- une unité de commande et de traitement qui est l’automate sous-jacent à la machine
incluant quelque fois une horloge externe ;
- une mémoire principale (centrale) ;
- des unités d’entrée/sortie pour la communication homme machine. Ces sont des
interfaces aux périphériques.
Ces différents blocs fonctionnels du système sont reliés par des voies de communication
appelées : bus.
Les particularités du modèle VON NEUMAN :
1) Elle procure une grande souplesse d’utilisation.
2) Elle est caractérisée par son grand défaut qui est le goulot d’étranglement que
constitue la communication avec la mémoire.
3) Elle est caractérisée par le fait que les données et le programme se trouvent dans la
mémoire dite centrale.
Dans ces deux cas, le jeu d’instructions est fixe. Si l’utilisateur a accès au contenu des
PROMs, le système est microprogrammable.
La fonction CPU peut être réalisée par un ou plusieurs μP. d’où son appellation de
l’Unité de micro- traitement, MPU « Micro Processing Unit ».
- DIP (Dual In line Package = boîtier à deux rangées des broches) : DIP à 40 broches :
Intel 8085, 8086, Zilog Z80, … DIP à 64 broches : Motorola 68000
- QIL (Quad In Line package = boîtier à quatre rangées des connexions) ;
- PGA (Pin Grid Array : matrice à grille de broches) à 196 broches : Intel 80386. Pour le
boîtier PGA, le support ZIF sont préférables pour minimiser le risque de bris de broches.
Il permet le changement du μP.
- FC – PGA 370 (Flip Chip PGA) : pour celui-ci, les broches sont disposées en linge et
colonne et sont au nombre de 370. Il est utilisé sur le Pentium III et le Celeron.
- SPGA (Streggered PGA) : ici les broches sont disposées en quinconce. Comme Socket,
il utilise le Socket 423.
- Plus petits, les boîtiers PQFP sont en plastique et ont des broches plus souples sur les
côtés et doivent être soudés en surface de la carte mère.
13
I.5.4. Horloge
Ces deux fréquences sont intimement liées par un facteur multiplicateur (ratio) qui
détermine la fréquence réelle de fonctionnement du μP.
Fréq. Réelle = fréq. Bus x ratio
N.B.
L’augmentation de la fréquence d’un μP pose quelques problèmes
notamment au niveau de la puissance thermique et des perturbations
électromagnétiques. Plus un circuit fonctionne rapidement, plus les intensités du courant
et la puissance de dissipation sont très élevées. D’où la baisse de la tension
d’alimentation à 3,3V ; 3,2V et même à 2V au lieu de 5V.
Remarque :
Bien que l'avantage du bus asynchrone soit très net, la plupart des ordinateurs utilisent
des bus synchrones. Car la mise au point d'un ordinateur autour d'un bus asynchrone est
plus complexe et plus coûteuse.
Chaque bus a une fonction particulière :
Le nombre de fils de ce bus varie suivant les microprocesseurs (8, 16, 32, 64 bits, …) et
désignés : D0, D1, ..., Dn-1, si le bus a "n" fils.
Bus d’adresses
Le bus d’adressage détermine la capacité maximale d’adressage du système (nombre
maximum de mots de la mémoire associée). Les adresses délivrées par le μP sont
véhiculés par le bus d’adresses (exemple 16 bits pour le μP 68HC11, ce qui correspond à
216 = 65536 adresses)
Le bus adresses est unidirectionnel : du microprocesseur vers les autres composants. Il
se compose de p fils suivant les microprocesseurs que l'on nomme A 0, A1, ..., Ap-1.
N.B.
Dans un certain cas, ces 2 bus sont multiplexés sur un seul bus. Une logique externe
doit alors effectuer le démultiplexage.
Bus de contrôle
Un certain nombre de signaux pour la gestion des échanges avec la mémoire et les
organes d’entrée-sortie sont rassemblés dans un bus de contrôle ou de commande.
Il est directionnel et permet la synchronisation, la commande des boîtiers mémoires et
des interfaces entrées/sorties par le microprocesseur.
Dans le cas précédent, la cellule mémoire doit savoir à quel instant elle doit mettre son
contenu sur le bus de données. Pour cela, le microprocesseur possède une broche
appelée Read () qu'il met à 0 (0v) lorsque la cellule doit agir. De même, lors d'une
écriture du microprocesseur vers la cellule, il met la broche Write (W) à 1 (5V). Les
signaux RD et WR sont des signaux de synchronisation, de contrôle, de commande. Ils
sont reliés aux autres composants par un bus : le bus des commandes. Celui-ci comporte
d'autres signaux de commandes.
16
Remarque : lorsqu’un composant n’est pas sélectionné, ses sorties sont mises à l’état « haute
impédance » afin de ne pas perturber les données circulant sur le bus (elle présente une impédance
de sortie très élevée = circuit ouvert).
17
Chapitre II
ORGANISATION DES MEMOIRES
A SEMI-CONDUCTEURS
3.1. Généralités
Ces mémoires sont indispensables pour l’établissement des instructions d’un programme
à partir d’un périphérique. Ce sont généralement des mémoires à forte capacité,
relativement lentes et à accès séquentiel. Toutes ces mémoires portent le nom général
de mémoires de masse.
Il existe différents types ou méthodes d’accès suivant les fonctions mémoire désirées:
Accès séquentiel (temps d’accès linéaire) : pour accéder à une donnée, il faut parcourir
toutes celles qui la précèdent. Ex : bandes magnétiques.
Accès direct ou aléatoire ou sélectif (temps d’accès constant) : la donnée possède une
adresse propre qui permet de la localiser directement. Ex : mémoire RAM.
Accès semi- séquentiel ou mixte : C’est une combinaison entre l’accès direct et l’accès
séquentiel (ex : Disque dur). Pour un disque magnétique, l’accès à la piste est direct,
puis l’accès au secteur est séquentiel.
Accès par contenu ou accès associatif (temps d’accès constant) : la donnée est
identifiée par une clé de recherche dans une table (mémoire cache).
On rencontre :
Bascule : mémoire élémentaire très rapide et à très faible capacité.
Registre : mémoire pouvant stocker un mot binaire. Il peut être intégré dans le µP. Il
sert à la mémorisation des opérandes et des résultats intermédiaires (5ns).
Antemémoire ou mémoire cache : sert de mémoire tampon entre le µP et la mémoire
centrale en mémorisant les données les plus utilisées (15 ns).
Mémoire centrale ou mémoire principale : très utilisée pour le rangement des données;
Elle contient les instructions du programme à exécuter (60 ns).
Mémoire d’appui ou mémoire d’arrière –plan : C’est la mémoire intermédiaire entre la
mémoire centrale et la mémoire de masse (100 ns).
Mémoire de masse : ou mémoire périphérique, il sert de système d’archivage. Elle a
une grande capacité de stockage.
21
3.2.1. Constitution
Pour utiliser toute la surface de la puce, les cellules mémoires doivent être réparties en
colonnes (profondeur de la mémoire) et en lignes (largeur de la mémoire) sous forme
de matrice. Chaque mot binaire (case mémoire) est affecté d’une adresse qui indique
son emplacement.
Dans le cas général, il existe plusieurs boîtiers mémoire sur la carte, tous
branchés sur le même bus données. Dans ce cas, il est nécessaire de construire un
signal qui permettra à un seul boîtier d'accéder au bus de données. Ce signal est appelé
« chip select » (CS : sélection de boîtier) ou « chip enable (CE : validation de boîtier). Il
faut créer autant de CS qu'il y a de boîtiers mémoires (CS0, CS1, CS2, …).
22
Remarque
- Un plan mémoire est l'assemblage de plusieurs boîtiers pour former une mémoire de plus
grande capacité.
- L'assemblage horizontal (en largeur) permet de réaliser des mémoires de mots plus grands, les
boîtiers partagent le même bus adresses et de contrôle.
- Tandis que l'assemblage vertical (en profondeur) augmente la capacité (taille) mémoire du
micro-ordinateur, les boîtiers partagent le même bus de données.
23
3.3.2. DRAM
Une RAM dynamique stocke un bit d'information sous la forme d'une charge. Elle utilise
pour cela l'effet capacitif de certaines fonctions des semi-conducteurs. Basée sur la
charge de condensateurs grille substrat d’un transistor MOS (condensateur chargé = 1,
condensateur déchargé = 0)
26
- SDRAM (Synchronous DRAM) : qui est une DRAM dont l'accès est synchrone; c'est à
dire que chaque requête mémoire se fait en un seul cycle d'horloge.
- DRAM EDO (Extended data Output) : Elle est structurée comme la DRAM, à une petite
différence près : un petit circuit a été ajouté, qui agit comme une minuscule zone de
stockage ou tampon servant à sauvegarder les adresses. Ce tampon reçoit l’adresse de
la prochaine donnée à lire ou à écrire avant même que la donnée précédemment lue ou
écrite ait été traitée.
3.3.4. Comparaison
Une Cellule mémoire d'une RAM dynamique occupe 4 fois moins de place que celle
d'une RAM statique.
Avantages : plus grande densité d’intégration et moins coûteuse qu'une RAM statique
(plus rapide).
La mémoire ROM est composée d'une grille dont les lignes sont reliées aux
colonnes par des diodes ou des transistors. L'adresse sélectionne une ligne. La donnée
est reçue sur les colonnes (le nombre de colonnes fixant la taille des mots
mémoire). Une mémoire de 1024 octets aura donc 1024 lignes et 8 colonnes (capacité
en bits de la mémoire : 1.024 x 8 = 8.192 bits).
Inconvénients
- Écriture impossible ;
- Modification impossible (toute erreur est fatale) ;
- Délai de fabrication masque : 3 à 6 semaines ;
- Obligation : fabrication en grandes quantités.
Avantages :
Comportement d'une RAM non Volatile.
Programmation et effacement mot par mot possible.
Inconvénients :
Très lente pour une utilisation en RAM.
Coût de réalisation élevé.
Ainsi notre mémoire répondra bien aux adresses allant de 000 hexa à 1FFF hexa. Mais
elle ne forcera ses sorties sur le bus de données que lorsque l’activation du signal de
lecture RD provoquera l’activation des sorties (Output Enable, OE).
Pour obtenir une largeur de 16 bits avec des circuits intégrés qui n’ont que 8 bits de
largeur, il suffit de mettre deux boîtiers en parallèle.
31
Les trois bits A13, A14 et A15 utilisées précédemment fournissent en fait 8
combinaisons, de 000 à 111, d’où la possibilité de connecter jusqu’à 8 boîtiers mémoire
de 8 Ko sur le bus. La mémoire totale implantée devient donc de 8 × 8 Ko = 64 Ko :
valeur maximale possible avec 16 bits d’adresses.
3.6.2. Principe
Depuis les années 1980, une des solutions utilisées pour masquer cette
latence est de disposer une mémoire très rapide entre le .P et la mémoire centrale (MC).
Elle est appelée cache mémoire. On compense ainsi la faible vitesse relative de la
mémoire en permettant au .P d’acquérir les données à sa vitesse propre. On la réalise à
partir de cellule SRAM de taille réduite (à cause du coût). Sa capacité mémoire est donc
très inférieure à celle de la mémoire principale (MP) et sa fonction est de stocker les
données les plus récentes ou les plus souvent utilisées par le .P. Au départ, la cache
mémoire était intégrée en dehors du .P mais elle fait maintenant partie intégrante du µP
et se décline même sur plusieurs niveaux.
34
Le .P lui envoie toutes les requêtes comme s’il s’agissait de la mémoire principale :
1. Soit la donnée ou l’instruction requise est présente dans la cache et elle est alors
envoyée directement au µP. On parle de succès de cache.
2. Soit la donnée ou l’instruction n’est pas dans la cache et le contrôleur de cache envoie
alors une requête à la mémoire principale. Une fois la donnée récupérée, il la renvoie au
µP tout en la stockant dans la cache. On parle de défaut de cache.
La mémoire cache de second niveau (appelée L2 Cache, pour Level 2 Cache) est
située au niveau du boîtier contenant le processeur (dans la puce). Le cache de
second niveau vient s'intercaler entre le processeur avec son cache interne et la
35
mémoire vive. Il est plus rapide d'accès que cette dernière mais moins rapide que
le cache de premier niveau.
La mémoire cache de troisième niveau (appelée L3 Cache, pour Level 3 Cache)
est située au niveau de la carte mère.
Tous ces niveaux de cache permettent mémoires lors du traitement et du transfert des
données. Pendant que le processeur travaille, le contrôleur de cache de premier niveau
peut s'interfacer avec celui de second niveau pour faire des transferts de second niveau
est interfacé avec celui de la mémoire vive (cache de troisième niveau), pour permettre
des transferts sans bloquer le fonctionnement normal du processeur.
N.B.
Une cache est placée entre deux est matérielle, mais plus souvent elle est logicielle. Les caches
ne sont parfois utilisées que pour emmagasiner de données, elles peuvent posséder également
leur propre logique se vider et lire d'avance (prefetch) ce qu’on risque d'avoir besoin plus tard.
Il existe un autre type de mémoire vive : la file d'attente ou FIFO. Cette abréviation
signifie « First In First Out », soit premier entré premier sorti. Une file dispose de deux
bus de données distincts en entrée et en sortie. L'accès n'est pas aléatoire, l'ordre en
sortie est identique à celui en entrée. Il n'y a pas d'adressage. L'utilisateur peut écrire
dans la FIFO si le premier étage est libre et lire la FIFO que si le dernier étage est
occupé.
Une file est constituée de n registres à décalage comptant chacun m cases. Le nombre n
correspond à la largeur des mots, alors que m est la profondeur de la file ou sa capacité. Un
registre interne indique l'état (libre ou occupé) de chacun des étages. La logique de contrôle décale
automatiquement chaque étage occupé vers un étage libre.
36
37
Chapitre III
STRUCTURE INTERNE
D’UN MICROPROCESSEUR
4.1. GENERALITES
4.1.1. Introduction
4.1.2. Évolution
Le microprocesseur:
a) organise l'enchaînement des tâches précisées dans la mémoire programme :
- par une exploitation séquentielle des instructions situées aux adresses successives de
la mémoire.
- avec, éventuellement, des ruptures de séquence en fonction des sauts programmés.
b) rythme et synchronise l'exécution de ces tâches.
c) analyse le contenu du programme, sélectionne, gère et commande les circuits
nécessaires à l'exécution de chaque tâche.
d) prend en compte les informations extérieures au système.
39
On caractérise le μP par :
- sa fréquence d’horloge FH (en MHz ou GHz) ;
- sa taille de bus données ou la longueur du mot qu’il est capable de traiter (en bits) ;
- le nombre d’instructions par secondes qu’il est capable d’exécuter (en MIPS) ;
- la vitesse d’exécution d’une instruction liée à la fréquence maximum de son horloge.
Elle est définie à partir du temps nécessaire pour réaliser le cycle « extraction –
décodage – exécution » correspondant à une étape de programmation.
La puissance d’un μP par définition, c’est la capacité de traiter les données. Pour
l’exprimer, on distingue 2 mesures principales :
- le CPI (Cycle Par Instruction) permet de représenter le nombre moyen de cycles
d’horloge nécessaire à l’exécution d’une instruction sur un microprocesseur
- le MIPS (Millions d’Instructions Par Seconde) qui représente la puissance de traitement
du μP.
Il a l’avantage de :
- occuper un volume réduit (très faible encombrement) ;
- faible consommation ;
- avoir un prix de revient réduit ;
- être programmé ;
- rapidité de traitement, etc.
La technologie TTL est la plus répandue, mais CMOS est plutôt favorisée
pour les portables (consommation de puissance faible). Par contre ECL est préférée
quand la vitesse d’exécution est un facteur nécessaire au détriment de la puissance.
40
La largeur de leur bus de données utilisé pour le traitement, on peut citer :
- les μP à 4 bits ;
- les μP à 8 bits ;
- les μP à 16 bits ;
- les μP à 32 bits, etc.
Pour l’organisation des différentes unités qui constituent un μP ou μC, on recourt à des
architectures :
Dans cette architecture, les instructions et les constantes circulent sur un bus différent
de celui utilisé pour les variables (provenant des E/S ou de calculs). Ce type
d’architecture est utilisé sur des μC qui ont connu un très grand développement ces
dernières années (les PIC de Microchip).
Elle est abandonnée sur des ordinateurs universels en raison de sa complexité matérielle,
mais elle avantageuse pour les systèmes de traitement numérique. Le μP Intel 4004
relève de cette architecture, de même la plupart des processeurs DSP.
Inconvénient
C’est donc une architecture avec un grand nombre d’instructions où le μP doit exécuter
des tâches complexes par instruction unique.
Architecture RISC
Microprocesseurs RISC (Reduced Instruction Set Computer) de conception
récente et plus performant qui eux disposent d’un petit jeu d’instructions polyvalent (de
160 à 200 instructions), ce qui les rend plus rapide. Ex : i960, RS6000, DecAlpha, ...
Pour accélérer le traitement, une solution consiste à le répartir sur plusieurs processeurs.
Il y a différentes façons de procéder. La plus simple, équivalent du travail à la chaîne
dans les usines, consiste à répartir, sur différents μP, le traitement portant sur une
donnée :
- recherche de l’instruction en mémoire ;
- décodage de l’instruction ;
- calcul de l’adresse de la donnée ;
- recherche de la donnée en mémoire exécution de l’instruction sur la donnée ;
- rangement de la donnée transformée en mémoire.
Une telle structure, dite MISD, Multiple Instruction Single Data Stream, est plus connue
sous le nom de «pipe line». Ce type d’architecture permet de multiplier la capacité de
traitement par le nombre de processeurs mis bout à bout, une fois la chaîne amorcée.
Elle ne nécessite que peu d’accès à la mémoire, sachant que cette phase du traitement
représente de 80 à 90 % du temps d’occupation du μP.
45
Architecture avec cadencement des données
Architectures multiprocesseurs
Architecture centralisée :
Architecture horizontale :
Architecture Hybride :
47
Le temps d'accès moyen des données dans une mémoire d'ordinateur PC est environ de
60 nanosecondes (ns, 1 ns = 10-9s). Cette lenteur relative pénalise fortement les
performances des machines. C'est la raison pour laquelle les architectures comprennent
une mémoire cache ou anté-mémoire. C'est une mémoire de capacité limitée (de 128 à
512 Ko), mais de performances élevées (15ns voire 5ns). Elle joue le rôle de tampon ou
d'antichambre entre le microprocesseur et la mémoire. Les données les plus souvent
48
utilisées sont stockées dans ce tampon et sont donc manipulées avec une grande
rapidité.
Ces éléments sont reliés entre eux par des bus internes permettant les échanges de
données. L’organisation générale de ces éléments fonctionnels dans un μP est appelée
architecture du μP.
soit par incrémentation automatique dans le cas où les adresses des instructions se
suivent. De façon générale, les instructions sont rangées séquentiellement en mémoire,
ce qui implique un adressage séquentiel de celles –ci par incrémentation d’adresse.
soit par chargement de l'adresse de branchement dans le cas de sauts programmés
(rupture de séquence).
N.B. La valeur initiale du PC est fixée par le constructeur du μP. Elle vaut une valeur bien définie
à chaque mise sous tension du μP ou bien lors d’une remise à zéro (reset)
Ce registre contient l’adresse déposée sur le bus d’adresses. Elle peut correspondre à
l’adresse d’une instruction, d’une constante, d’un variable, d’un registre d’une unité
d’échange. Dans certains cas, le contenu du PC est transféré dans ce registre. Il sert à
gérer les adresses de case mémoires. Il est un registre tampon assurant l' interfaçage
entre le microprocesseur et son environnement.
C'est un registre compteur dont la taille est celui du bus d’adresses, il pointe sur une
case se trouvant dans l’espace mémoire appelé « pile » et il contient l'adresse du
sommet de la pile. La pile est externe au microprocesseur, c'est une zone de la mémoire
RAM (Pile soft) utilisée pour sauvegarder les contenus des différents registres, lors de
l'appel à un sous-programme ou lors de la gestion d'une interruption, par exemple.
52
ALU
Comme le nom l’indique, cette unité peut exécuter 2 types d’opérations :
- opérations arithmétiques : elles incluent l’addition et la soustraction qui sont des
opérations de base (soustraction = addition à complément 2). La multiplication et la
division. Les opérations complexes (sinus, log, exp…) peuvent être obtenues à partir des
4 opérations ; elles sont réalisées dans une unité de calcul spécialisée (FPU : Floating
Point Unit) qui traitent des données en représentation en virgule flottante.
- opérations logiques : elles effectuent bit à bit sur les bits de même poids de 2 mots. On
trouve : AND, OR, XOR, NOT, et les opérations de décalage de bits, …
L’une de ses entrées est équipée d’un accumulateur. Certains μP peuvent avoir un
plusieurs accumulateurs (Z-80, 6800).
L'ALU contient tous les circuits électroniques qui réalisent effectivement les
opérations désirées. Le schéma ci-après montre un exemple d’ALU
(74LS382) :
53
Registres
Lorsque le processeur exécute des instructions, les données sont temporairement
stockées dans de petites mémoires rapides que l'on appelle registres. Le nombre global
de registres peut varier d'une dizaine à plusieurs centaines.
Les registres sont des unités de mémorisation d'un mot machine dont la taille dépend
des processeurs, on trouve des registres de 8 bits, 16 bit et 32 bits. Certains registres
servent à stocker les codes d'instruction, d'autres servent à stocker les données
constituant les opérandes et les résultats des opérations. D'autres servent à stocker les
adresses permettant d'accéder aux opérandes sur la mémoire centrale.
Ces registres ont pour but de fournir au programmeur un espace de travail adressable
directement pour des instructions spécialisées, et est réalisé dans une technologie
rapide. Ils permettent de sauvegarder les résultats intermédiaires de calcul.
Numérotés de 0 à N, ils sont en général au nombre de 8 dans un μP. Ce sont des
registres à la taille du bus de données pouvant être utilisées individuellement au
simultanément pour former une paire de 2 x n bits.
Registre d'états
Appelé aussi registre de condition. Il est formé de plusieurs bits appelés drapeaux
(flags) qui sont positionné par l'ALU après chaque opération. On dispose d'un jeu
d'instructions conditionnées par l'état de différents drapeaux.
Le μP en possède généralement plusieurs regroupés en un octet appelé mot d’état du
processeur, permettant de stocker des indicateurs sur l'état du système.
On peut citer comme indicateur :
- retenue (carry : C) ;
- retenue intermédiaire (Auxiliary-Carry : AC) ;
- signe (Sign : S) ;
- débordement (overflow : OV ou V) ;
- zéro (Z) ;
- parité (Parity : P).
- résultat Négatif (Négatif : N)
55
N.B.
Pour traiter d’informations analogiques, un système à μP doit posséder des
convertisseurs (Convertisseur Analogique Numérique -CAN- et Convertisseur Numérique
Analogique – CNA-), comme sur la figure suivante.
Le μP communique avec l’extérieur au moyen de trois bus principaux. Les données et les
adresses sont véhiculées par des bus de formats différents :
1) Le bus de données bi-direcrionnel de n bits, réalise en logique 3 états pour permettre
l’utilisation du DMAC. Il fixe la longueur du mot échangé avec la mémoire.
Des trois bus du μP, les bus de données et d’adresses sont presque identiques pour la
plupart des μP. la différence provient du bus de commande. Ce bus est complexe car il
transporte tous les signaux de commande et de contrôle du μP et fournit en général
quatre fonctions :
- la synchronisation pour l’accès mémoire (lecture, écriture) ;
- la synchronisation des E/S (lecture, écriture, accusé de réception);
- le contrôle du μP, interruptions et accès direct mémoire (DMA) ;
- les signaux utilitaires comme l’horloge et la remise à zéro (réinitialisation du système).
Remarque
- Dans certains cas, les 2 premiers bus sont multiplexés sur un seul. Une logique externe
doit alors effectuer le démultiplexage.
Cette technique permet de diminuer considérablement le nombre de broches du μP en
multiplexant des adresses et/ou des données: les mêmes lignes permettront de
transmettre tantôt des adresses, tantôt des données, l’orchestration étant faite bien sûr
par le μP à l’aide d’un signal de commande ALE (Adress Latch Enable).
57
- Souvent, on ajoute sur les bus, des drivers (amplificateurs) permettant de supporter de
manière fiable un nombre suffisant de composants.
Rangement en mémoire
Pendant que l’instruction est décodée, le PC est incrémenté de façon à ponter vers
instruction suivante :
Les indicateurs d’état son utilisés par des instructions de saut conditionnels : en fonction
de l’état d’un (ou plusieurs) flags, le programme se poursuit de manière différente.
Toutes ces étapes (lecture de l’instruction, décodage, exécution) sont synchronisées par
une logique de commande (séquenceur) qui assure le bon déroulement des opérations.
61
Exemple : horloge à 5MHz, période T = 1/F = 0,2 μs. Si l’instruction s’exécute en 3 microcycles,
la durée d’exécution de l’instruction est de 3 x 0,2 μs = 0,6 μs.
62
On peut citer :
- Les Micro-contrôleurs
- Les « Digital Signal Processors »
- Les Processeurs de traitement d’images
- Les Processeurs spécialisés d’entrée/sortie
4.5.1. Micro-contrôleurs
Ce sont des systèmes minimum sur une seule puce. Ils contiennent un CPU, de la RAM,
de la ROM et des ports d’Entrée/Sorties (parallèles, séries, etc..). Ils comportent aussi
des fonctions spécifiques comme des compteurs programmables (timers) pour effectuer
63
des mesures de durées, des CAN voir des CNA pour s’insérer au sein de chaînes
d’acquisition, des interfaces pour réseaux de terrain, etc ...
Il est adapté pour répondre au mieux aux besoins des applications embarquées dans de
nombreux domaines. Aujourd’hui il y’a un microcontrôleur (±grand) dans
chaque équipement électronique :
Informatique (souris, modem …)
Vidéo (Appareil photos numérique, caméra numérique …)
Contrôle des processus industriels (régulation, pilotage)
Appareil de mesure (affichage, calcul statistique, mémorisation)
Automobile (ABS, injection, GPS, airbag)
Multimédia (téléviseur, carte audio, carte vidéo, MP3, magnétoscope)
Téléphones (fax, portable, modem),
Électroménager (lave-vaisselle, lave-linge, four micro-onde)
Il est par contre généralement moins puissant en terme de rapidité, de taille de données
traitables ou de taille de mémoire adressable qu’un microprocesseur. Ceci en fait un
composant très bon marché parfaitement adapté pour piloter les applications
embarquées
Exemple
- Intel 80186,
- Motorola 63HC16
- Siemens C167XX
Un microcontrôleur peut être programmé une fois pour toutes afin qu'il
effectue une ou des tâches précises au sein d'un appareil électronique. Mais les μC
récents peuvent être reprogrammés et ceci grâce à leur mémoire permanente de type
FLASH.
64
Les microcontrôleurs, quelque soit leurs constructeurs, ont des architecture très
similaires et sont constitués de modules fondamentaux assurant les mêmes fonctions :
UAL, Ports d’E/S, interfaces de communications série, Interfaces d’E/S analogiques,
Timers et horloge temps réels …On peut dire que seul le langage de programmation
(Assembleurs) constitue la différence majeure entre deux microcontrôleurs (similaires)
venant de deux constructeurs différents.
Exemple :
- Texas Instruments TMS320
- Analog Device 21000
- Motorola 56000
Le processeur de signal est beaucoup plus spécialisé. Alors qu'un microprocesseur n'est
pas conçu pour une application spécifique, le processeur DSP (Digital Signal Processor)
est optimisé pour effectuer du traitement numérique du signal (calcul de FFT,
convolution, filtrage numérique, etc...).
65
4.5.3. Co-processeurs
Chapitre IV
INTERFACES ENTREE/SORTIE
5.1. Généralités
Exemples :
67
5.1.2. Constitution
Chaque registre a une adresse spécifique. On accède aux données de l’interface par
le biais d’un espace d’adresses d’entrée/sorties.
Les interfaces peuvent être perçues de deux façons différentes selon les
constructeurs :
- les boîtiers E/S sont traités comme des boîtiers mémoires de « n » adresses
(concept MOTOROLA).
- Les boîtiers E/S correspondent à des instructions spéciales et à des signaux
permettant de différencier les transferts mémoires ou transferts E/S (Concept
INTEL).
Les interfaces les plus usuelles sont : PIO, PIA, PPI (Programmable
Peripheral Interface), CIA (Asynchronous Communication Interface Adapter), UART
Universal Asynchronous Receiver -Transmitter), USART, SIO, CAN, NA, … Ils
permettent d’assurer la communication entre le µP et les périphériques (capteurs,
claviers, moniteurs, afficheurs, camera numérique, scanners, manette de jeux,
imprimantes, modems, graveurs, lecteurs CD-ROM, DVD-ROM, …).
Etant donné qu’il existe bien souvent des incompatibilités de fonctionnement entre
périphériques et microprocesseurs ; il s’avère donc nécessaire de monter en tampons
un circuit d’interface capable d’adapter le fonctionnement de l’un à celui de l’autre.
- Scrutation (sondage)
Le µP interroge l’interface pour savoir si des transferts sont prêts. Tant que des
transferts ne sont pas près, le µP attend.
- Interruption
Une interruption est un signal, généralement asynchrone au programme en cours,
pouvant être émis par tout dispositif externe au µP. Le µP possède une ou plusieurs
entrées réservées à cet effet. Sous réserve de certaines conditions, elle peut
interrompre le travail courant du µP pour forcer l’exécution d’un programme traitant
la cause de l’interruption.
livres (la première donnée sauvegardée sera donc la dernière à être restituée).
Ensuite, il exécute le programme d’interruption puis restitue l’état sauvegardé avant
de reprendre le programme principale.
Remarques
1. Certaine source d’interruption possède leur propre autorisation de
fonctionnement sous la forme d’un bit à positionner, on l’appelle le masque
d’interruption.
2. On peut donc interdire ou autoriser certaines sources d’interruption, on les
appelle les interruptions masquables.
3. Chaque source d’interruption possède un vecteur d’interruption où est
sauvegardé l’adresse du départ du programme à exécuter.
4. Les interruptions sont classées par ordre de priorité. Dans le cas où plusieurs
interruptions se présentent en même temps, le µP traite d’abord celle avec la
priorité la plus élevée.
Un contrôleur de DMA est codé d’un registre d’adresse, d’un registre de donnée, d’un
compteur et d’un dispositif de commande (logique câblée). Pour chaque mot
échangé, le DMA demande au µP le contrôle du bus, effectue la lecture ou l’écriture
mémoire à l’adresse contenue dans son registre et libère le bus. Lorsque le compteur
atteint zéro, le dispositif informe le processeur de la fin du transfert par une ligne
d’interruption.
Un circuit d’E/S possède des registres pour gérer les échanges avec les
périphériques :
• registres de configuration ;
• registres de données.
Les organes d’E/S et la MC sont adressés par le même bus d’adresse, mais validés en
écriture ou en lecture par des signaux distincts. Ici, le processeur envoie des signaux
de contrôle qui indiquent que le cycle en cours concerne les E/S et non la MC. Pour
activer les E/S, les instructions spéciales sont nécessaires (IN et OUT) et on utilise les
commandes I/OW et I/OR du µP.
MEMR
MEMW vers mémoire
I/OR
Vers E/S
µP I/OW
Ici, on a des lignes de contrôle séparées pour la mémoire et les fonctions d’E/S.
Conséquences :
– l’adressage des ports d’E/S peut se faire avec une adresse plus courte (nombre de
bits inférieur) que pour les circuits mémoires ;
– les instructions utilisées pour l’accès à la mémoire ne sont plus utilisables pour
l’accès aux ports d’E/S : ceux-ci disposent d’instructions spécifiques ;
73
– une même adresse peut désigner soit une case mémoire, soit un port d’E/S : le
microprocesseur doit donc fournir un signal permettant de différencier l’adressage de
la mémoire de l’adressage des ports d’E/S.
Avantages
Inconvénients
- l’utilisateur perd la puissance de traitement potentielle offerte par les E/S
projettés ; deux broches doivent être gaspillées pour « lecture périphérique »
et « écriture périphérique ».
- un code supplémentaire doit être alloué à ce type d’instructions. Pour cette
raison, cette technique n’est presque jamais utilisée avec les µP intel (sauf,
avec le 8080).
MEMR
Vers mémoire
MEMW
I/OR
Vers E/S
µP I/OW
A15
Conséquences :
– l’adressage des ports d’E/S se fait avec une adresse de même longueur (même
nombre de bits) que pour les cases mémoires ;
– toutes les instructions employées avec des cases mémoires peuvent être
appliquées aux ports d’E/S : les mêmes instructions permettent de lire et écrire dans
la mémoire et les ports d’E/S, tous les modes d’adressage étant valables pour les
E/S.
Remarque :
L’adressage indépendant des ports d’E/S n’est possible que pour les
microprocesseurs possédant un signal permettant de différencier l’adressage de la
mémoire de l’adressage des ports d’E/S ainsi que les instructions spécifiques pour
l’accès aux ports d’E/S. Par contre, l’adressage cartographique est possible pour tous
les microprocesseurs.
Le 8255 est une interface parallèle programmable : elle peut être configurée en
entrée et/ou en sortie par programme.
Diagramme de brochage
76
Diagramme fonctionnel
Le mode 0 est le plus simple : les ports sont configurées en entrées/sorties de base.
Les données écrites dans les registres correspondants sont mémorisées sur les lignes
de sorties; l’état des lignes d’entrées est recopié dans les registres correspondants et
n’est pas mémorisé.
78
Les modes 1 et 2 sont plus complexes. Ils sont utilisés pour le dialogue avec des
périphériques nécessitant un asservissement.
Dans ce type de liaison, les bits constitutifs d’un mot sont transmis les uns
après les autres sur un seul fil. Les distances de transmission peuvent donc être plus
beaucoup plus importantes mais la vitesse de transmission est faible. Pour des
distances supérieures, on place des modems aux extrémités de la liaison.
79
La transmission série nécessite une interface de conversion pour sérialiser les bits en
émission (conversion parallèle/série) et les désérialiser en réception (conversion
série/parallèle). Elle ne nécessite, pour la transmission des données, que deux
conducteurs; d’un coût moins élevé, elle est utilisé pour les transmissions sur des
longues distances.
La transmission asynchrone la plus utilisée est celle qui est définie par la norme
RS232.
Exemple : transmission du caractère ’E’ (code ASCII 45H = 01000101B) sous forme
série selon la norme RS232 :
• Les bits de données sont transmis l’un après l’autre en commençant par le bit de
poids faible. Ils peuvent être au nombre de 5, 6, 7 ou 8. Chaque bit est maintenu
sur la ligne pendant une durée déterminée T. L’inverse de cette durée définit la
fréquence de bit = nombre de bits par secondes = vitesse de transmission. Les
vitesses normalisées sont : 50, 75, 110, 134.5, 150, 300, 600, 1200, 2400, 4800,
9600 bits/s ;
Seuls les 2 signaux TxD et RxD servent à transmettre les données. Les autres
signaux sont des signaux de contrôle de l’échange de données.
83
*****