Vous êtes sur la page 1sur 83

1

UNIVERSITE PROTESTANTE DE LUBUMBASHI


U. P. L

Assistant Samuel Huggues KALELA MWEPU

Ingénieur en Technique de l’information - Réseaux & Télécommunication

DEUXIEME BACHELIER RESEAUX ET TELECOMMUNICATION

Année Académique 2020-2021


2

INTRODUCTION GENERALE

0.1. Objectif du Cours

Le μP est un composant intégré (C.I.) né du développement de


l’informatique et de l’électronique. Son emploi ne se limite pas seulement aux
ordinateurs, mais à une grande gamme de produits tels que : PDA, Smartphone, poste
téléviseur, lessiveuse, Camera, Robotique, appareillage, ….

Ce cours s’adresse aux étudiants de :

- Formation : informatique.
- Niveau : Deuxième Bachelier.
- Orientation : Réseaux & Télécoms.

Il se situe à la jonction entre le domaine de l'électronique et celui de


l'informatique. Il vise à fournir aux étudiants une compréhension fine de l’interaction
entre matériel et logiciel et des connaissances et compétences de base indispensables à
tout étudiant informaticien sur l’organisation matérielle, fonctionnelle et logicielle d’un
système automatisé fonctionnant à base de microprocesseur.

0.2. Stratégies pédagogiques

- Des notions théoriques orientées vers la pratique; chaque étudiant apprend en


agissant.
- Organisation des séances des TD/TP par groupe de trois ou cinq étudiants.
- Les contrôles des acquis sont effectués sur une base individuelle au courant de la
leçon.
- Les interrogations et les examens sont programmés et se déroulent sans notes.

0.3. Pré requis

- Bases de l’électronique générale et numérique


- Théories sur l’architecture des ordinateurs
- Complément : cours de langage assembleur

0.4. Références bibliographiques

Ce fascicule est constitué de notes de cours et ne prétend donc ni à


l’exhaustivité ni à l’originalité. Ces notes doivent en effet beaucoup aux emprunts faits
aux ouvrages référencés ci-après :
3
4

CHAPITRE I : GENERALITES

I.1. INTRODUCTION
1.1.1. De l’ordinateur aux portes logiques
5

1.1.2. Aperçu historique

Depuis les années 1940, l’informatique et l’électronique font cause


commune. Les ordinateurs ont bénéficié des avancées successives de l’électronique pour
améliorer leur fiabilité, leurs performances et leur miniaturisation.

L’apparition des microprocesseurs date du début des années 1970. A cette


époque, deux événements favorables sont apparus :

- le concept de « LSI » (Large Scale Integration) permettant d’intégrer plusieurs milliers


d’éléments (portes logiques) sur un même substrat ;

- l’arrivée à maturité de la technologie « MOS » caractérisée par sa faible consommation.


La conjugaison de ces événements a permis de regrouper les fonctions d’une unité
centrale d’ordinateur (CPU) dans un seul circuit intégré appelé « MPU »
(Microprocessing Unit) qui a donné naissance à la Micro-Informatique.

L’intégration technologique a également permis de rassembler le


microprocesseur et ses éléments associés dans une seule puce électronique, on parle
donc des systèmes embarqués ou des systèmes enfouis dont les plus célèbres sont :
- les microcontrôleurs ;

- les processeurs de traitement du signal (DSP) ;


- les processeurs de traitement d’images ;
- les processeurs spécialisés d’E/S, …

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.

Le μC s’est répandu dans un très grand nombre de domaines : Console de jeux,


calculatrice, télévision, téléphone portable, distributeur automatique d’argent, robotique,
lecteur carte à puce, code barre, automobile, instruments de mesure, appareil de photo
numérique, lave-linge, four à micro-onde, récepteur GPS, lecteur MP3, etc.

Avantages des systèmes embarqués :


. Encombrement réduit,
. Circuit imprimé peu complexe,
. Faible consommation,
. Coût réduit.

Inconvénients :
. Système de développement onéreux,
. Programmation nécessitant un matériel adapté.

I.2. DOMAINES ANALOGIQUE & NUMERIQUE

I.2.1. Domaine analogique

Domaine où les variables peuvent prendre une infinité de valeurs


différentes ; les signaux varient continuellement. Tous les signaux issus des capteurs
sont analogiques, et traduisent des phénomènes physiques qui varient continuellement.
Un système analogique a une amplitude ou une fréquence qui est à tout
moment proportionnelle à la grandeur physique qu'il représente.
7

I.2.2. Domaine numérique

Domaine où les variables prennent un état fini des valeurs. Uniquement


deux états, un état haut et un état bas matérialisés par un « 1 » et « 0 ».

Le domaine numérique est maintenant prédominant et s'est beaucoup


développé grâce aux progrès faits par les circuits intégrés et les microprocesseurs.

Principe de la conversion A/N par le procédé MIC


Pour convertir un signal analogique en signal numérique, on peut utiliser le
procédé PCM (Pulse Coded Modulation) ou MIC (Modulation d’Impulsion et Codage) dont
les principales étapes sont :
- Le filtrage et l’échantillonnage ;
- La quantification ;
- Multiplexage TDM;
- et la compression et codage suivant la loi logarithmique.
8

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.

I.3. NOTION DU BIT

I.3.1. Groupement des bits

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).

I.3.2. Groupement des bits

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.

On désigne le terme «donnée» ou «data» une suite de caractères, de symboles ou


des signes représentant une information généralement de nature numérique,
représentée par convention sous forme codée en vue d’un traitement par la machine.

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

I.3.3. Multiples de l’unité de l’information

I.4. Intégration et Technologies des Composants digitaux

A ce jour, plusieurs technologies à semi-conducteurs sont mises en oeuvre


pour la fabrication des Microprocesseurs et des circuits digitaux en Informatique. Les
plus répandus utilisent les matériaux à silice (Si02) et les matériaux à arséniure du
Gallium (GaAs) caractérisée par une rapidité exceptionnelle.
10

TTL : Transistor Transistor Logic


PMOS : P channel Metal Oxide Semiconductor
NMOS : N channel Metal Oxide Semiconductor
CMOS : Complementary Metal Oxide Semiconductor
I2L : Injection Integration Logic.

I.5. ARCHITECTURE D’UN SYSTEME A BASE DU μP

I.5.1. Modèle d’une architecture


L’architecture d’un système à base de μP représente l’organisation de ses
différents organes et de leurs interconnexions.
La mise en œuvre des systèmes à base des microprocesseurs s’appuie sur
deux modes de réalisation distincts, le matériel et le logiciel.
Le matériel (hardware) correspond à l’aspect concret du système (configuration
physique, architecture interne, topologie des unités, …).

Le logiciel (software) correspond à un ensemble d’instructions, appelé programme,


qui sont contenues dans les différentes mémoires du système et qui définissent les
actions à effectuer par le matériel.
Le fonctionnement d’un système à μP fait appel à 3 fonctions essentielles :
- le stockage de données ;
- le traitement de données ;
- l’échange de données.
11

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.

I.5.2. CPU & MPU


Le CPU (Central Processing Unit = Unité Centrale de Traitement) est un automate
exécutant les différentes séquences propres à chaque instruction. Il peut être réalisé de
plusieurs façons :
combinatoire et séquentielle
(portes, bascules, …) ;
--> cas de
microprocesseur.
12

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 ».

I.5.3. Boîtiers des μP

Un μP se présente sous la forme d’un circuit intégré muni d’un nombre


généralement important de broches. A ces différents supports, correspondent différents
modèles des boîtiers ou package.
Le boîtier correspond à l’enveloppe dans laquelle le corps du μP est placé
pour le protéger de son environnement extérieur. Parmi les boîtiers les plus connus, on
peut citer :

- 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

Toutes les activités du μP sont cadencées par une horloge. La vitesse de


l’horloge d’un μP est mesurée par sa fréquence. Ce signal d’horloge provient d’un cristal
oscillateur à quartz alimenté par une tension qui vibre dont le circuit peut être interne ou
externe au μP. Le nombre de vibrations par seconde de ce circuit constitue la fréquence.

On rencontre deux types de fréquences :

Fréquence interne (fréquence nominale du μP), c’est la fréquence de fonctionnement


du processeur. Exemple : Pentium 120, fonctionne à 120 MHz en interne.
Fréquence externe (fréquence système), c’est la fréquence du bus ou la fréquence à
laquelle le processeur communique avec le monde extérieur (chipset, la mémoire vive,
mémoire cache L2, …)

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

Exemple : Fréq. Bus = 66 MHz. Configuration carte mère (Ratio) = 3 


Fréquence de fonctionnement du μP = 66 X 3 = 198 MHz

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.

I.5.5. Bus de communication


Le bus est une structure d'interconnexion qui permet de raccorder le
processeur à la mémoire et autres périphériques d'entrée/sortie. Il renferme un
ensemble de fils assurant la transmission du même type d’information. Le bus est
constitué de 3 ensembles des lignes :
♦ Les lignes d'adresse → Bus d'adresse.
♦ Les lignes de données → Bus de données.
14

♦ Les lignes de commande ou de contrôle → Bus de contrôle.


Un bus est caractérisé par :
1. sa largeur (nombre de bits) ;
2. sa fréquence (nombre de cycles par seconde).
Ces deux paramètres déterminent la bande passante (Bp) du bus et son taux de
transfert maximale théorique (TxT).
TxT (bps) = Fréquence (hertz) x Largeur (bits).
Exemple : si la fréquence du bus = 512 MHz et la Largeur = 16 bits
TxT = (512 x 16) / 8 = 1.024 MO/sec.

Quand le processeur veut écrire un octet D à la position A de la mémoire, il place


l'adresse A sur le bus d'adresse, la donnée D sur le bus de donnée puis active la ligne de
contrôle WE.
Les bus sont divisés en deux classes distinctes selon la technique adoptée pour le
cadencement des échanges de données à travers le bus. On distingue :

les bus synchrones,


Les bus synchrones disposent d'une ligne horloge spécifique dont la fréquence n'est pas
forcément égale à l'horloge du processeur. Toute opération d'échange à travers le bus
synchrone se fait en un nombre entier de périodes d'horloge. La période de cette horloge
est appelée cycle du bus.

et les bus asynchrones.


Les bus asynchrones ne disposent pas d'horloge pilote du bus. Un cycle de
lecture/écriture prend le temps qu'il faut pour réaliser l'opération demandée. Ce type de
bus fonctionne selon une technique d'échange dite "Full handshake" ou requête et accusé
de réception.
A la place de l'horloge, les bus asynchrones utilise deux lignes de synchronisation MSYN
et SSYN. Avec la ligne MSYN (Master SYNchronisation), le MPU (Maître) informe un
périphérique qu'il désire réaliser un échange. Après réception de ce signal, le
périphérique réalise l'opération demandée à sa vitesse propre puis active le signal SSYN
(Slave SYNchronisation) pour informer le CPU que l'opération est terminée.
15

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 :

Bus des données


Il permet de véhiculer des données du microprocesseur vers une unité (Mémoire, E/S)
ou d'une unité vers le microprocesseur. Il est donc bidirectionnel et assure la
communication de données tant en interne qu’à l’extérieur du μP. Le bus de données fixe
la longueur du mot échangé avec la mémoire ;

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

I.5.6. Décodeur 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.

Lorsqu’on réalise un système microprogrammé, on attribue donc à chaque périphérique


une zone d’adresse et une fonction « décodage d’adresse » est donc nécessaire afin de
fournir les signaux de sélection de chacun des composants.

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

3.1.1. Définition & utilisation


Les mémoires à semi-conducteurs sont des circuits électroniques intégrés
permettant d'enregistrer des mots binaires sous une forme permanente ou temporaire.
Elles sont construites à partir des matériaux en silice (SiO2) ou en Arséniure de Gallium
(GaAs).

Dans un système à base de .P, le contenu de la Mémoire est composé de 2 types


d’informations indispensables pour la programmation :
- Une ou plusieurs suites d’instructions à exécuter ;
- des données devant être traitées par le programme.

Dans un système à base de Microprocesseurs, les mémoires sont utilisées à deux


niveaux distincts :

a) Au niveau de l’unité centrale mémoires internes

A l’origine, il s’agissait des mémoires à tores, à cause de leur fabrication mécanique


assez laborieuse, elles ont été progressivement abandonnées aujourd’hui par des
mémoires à semi-conducteur qui se présentent sous forme de circuits intégrés. Elles sont
18

de faible capacité de stockage et relativement à accès rapide (accès direct). On les


appelle également « mémoires centrales (MC) ou mémoires principales (MP) ».

Elles contiennent des instructions du programme en cours d’exécution et des données


associées à ce programme.

Physiquement elles se décomposent en 2 grandes catégories : Les mémoires vives ou


mémoires volatiles (RAM) et les mémoires mortes ou mémoires non volatiles (ROM)

b) Au niveau des périphériques mémoires externes

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.

On distingue dans cette catégorie :


- les mémoires à cartes perforées ;
- les mémoires à bandes perforées ;
- les mémoires à bandes magnétiques ;
- les mémoires à cartouches ;
- les mémoires à disques souples (disquettes 5 ¼, disquettes 3 ½);
- les mémoires à disques durs ;
- les mémoires à disques compacts ou optiques (CD-ROM, DVD-ROM, Flash disques).
19

3.1.2. Méthodes d’accès & Supports physiques

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).

Types des supports physiques des mémoires :

- Puces à semi-conducteurs (Mémoire centrale, mémoire cache, …);


- Supports magnétiques (bandes magnétiques, disques durs, disques souples, …);
- Supports optiques (CD-ROM, DVD, VCD, …);

3.1.3. Éléments caractéristiques

Les principales caractéristiques sont : l’adresse, la capacité, le temps d’accès, le cycle


mémoire (temps entre deux accès successifs), le débit et la volatilité.
- La capacité : c’est le nombre total de bits que contient la mémoire. Elle s’exprime aussi
souvent en bits ou en octet.
- Le format des données : c’est le nombre de bits que l’on peut mémoriser par case
mémoire. On dit aussi que c’est la largeur du mot binaire mémorisable.
- Le temps d’accès : c’est le temps qui s’écoule entre l’instant où on a lancé une
opération de lecture/écriture en mémoire et l’instant où la première donnée est
disponible sur le tampon entrée/sortie.
- Le temps de cycle ou cycle mémoire : il représente l’intervalle minimum qui sépare
deux demandes successives de lecture ou d’écriture. Le temps de cycle est égal au
temps d’accès éventuellement additionné du temps de rafraîchissement ou de réécriture
pour les mémoires qui nécessitent ces opérations.
- Le débit : c’est le nombre maximal de données lues ou écrites par seconde.
- Volatilité : la mémoire est volatile, si les données stockées s’échappent après
l’interruption de l’énergie électrique.

3.1.4. Hiérarchie des mémoires

La mémoire est constituée dans l’ordre croissant : du bit, de l’octet, du


bloc, de l’enregistrement et du fichier. Plus on s’éloigne du .P et plus la capacité et le
temps d’accès des mémoires augmentent. On utilise donc des mémoires de petite
capacité mais très rapide pour stocker des données dont le .P se sert le plus et on utilise
des mémoires de capacité importante mais beaucoup plus lente pour stocker les
données dont le µP se sert le moins.
20

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. Structure des mémoires à semi-conducteurs

3.2.1. Constitution

Les mémoires se présentent sous forme des circuits intégrés et peuvent


peut –être assimilées à un ensemble des « N » registres (cases mémoires) dans lesquels
sont rangées les données en groupe (mots binaires) ayant chacun « n » éléments
binaires. La capacité ou la taille de la mémoire est de N x n eb.

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.

Le nombre de lignes d’adresses dépend donc de la capacité de la mémoire : k adresses


k
permettent d’adresser 2 cases mémoires. Exemple : 8 bits d’adresses permettent
d’adresser 256 cases mémoires (registres).

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.2.2. Ecriture & Lecture dans une mémoire


Le contenu de chaque case mémoire (registre) est soumis soit à l’écriture, soit à la
lecture.

L’opération d’écriture consiste à mettre un nouveau mot binaire dans un registre.


- on place la donnée à écrire à l’entrée ;
- on fournit l’adresse du mot binaire à la sortie du décodeur d’adresses ;
- on donne l’ordre d’écriture (RD/WR=0 et Cs=0) et les tampons de sortie sont
déconnectés.
Chronogramme d’écriture

L’opération de lecture consiste à sortir le mot binaire en mémoire et à


l’envoyer là où il sera utilisé.
- on fournit l’adresse du mot binaire ;
- on donne l’ordre de lecture (RD/WR=1 et Cs=0) et les tampons d’entrée sont
déconnectés. Le mot sélectionné apparaît en sortie.

Chronogramme de lecture en mémoire


24
25

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

3.3.3. Autres mémoires

- 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.

Cependant, la charge stockée dans le condensateur élémentaire fuit (résistance de fuite)


et au bout de quelques millisecondes, elle est presque entièrement perdue. Pour
préserver cette donnée, il faut la rafraîchir toutes les 2 ms : cycle de lecture écriture qui
rétablit l'information.

Avantages : plus grande densité d’intégration et moins coûteuse qu'une RAM statique
(plus rapide).

Inconvénient : Mais il faut un circuit supplémentaire de rafraîchissement. Le


rafraîchissement retarde les accès à la mémoire (1 à 5%).
Application : réalisation de la mémoire vive des ordinateurs (barrettes mémoire SIMM :
Single In-line Memory module).

3.4. Les mémoires mortes (ROM : Read Only Memories)


3.4.1. Définition
Elles permettent de stocker des données invariables (instructions du
programme). Elles sont exclusivement réservées à la lecture et aucune donnée ne peut y
être écrite en en fonctionnement normal.

On rencontre dans cette famille : des ROM à masque perforée (MROM);


des ROM programmables (PROM) ; des ROM programmables électriquement et
effaçables optiquement (EPROM) ; des ROM programmables et effaçables
électriquement (EEPROM) ; etc.
27

3.4.2. Mémoire morte programmée par masque (MROM)

Matrice d'une ROM

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).

L'utilisateur fournit au constructeur un masque indiquant les intersections dans la grille


où l'on doit placer une diode ou un transistor. La mémoire ROM est programmée par
masque.

Inconvénients
- Écriture impossible ;
- Modification impossible (toute erreur est fatale) ;
- Délai de fabrication masque : 3 à 6 semaines ;
- Obligation : fabrication en grandes quantités.

3.4.3. Mémoires mortes programmables (PROM : Programmable ROM)

Pour pallier les deux derniers inconvénients, on a cherché à réaliser des


mémoires ROM programmable par l'utilisateur. Ce sont les PROM : Programmable ROM.
Les liaisons à diodes ou à transistors de la ROM sont remplacées par des fusibles ou
des diodes où la jonction peut être claquée. La programmation d'une PROM, c'est-à-dire
son chargement par les données ou le programme de l'utilisateur, se fait par un
programmateur de PROM.
28

Initialement, toutes les rangées et les colonnes sont connectées (0 en


chaque point mémoire). Durant le processus de programmation, le programmeur
génère des impulsions qui ont pour effet de claquer les fusibles ou les diodes aux
emplacements prescrits, générant ainsi des « 1 ».

Avantages des PROMs


- Densité, non volatile et vitesse élevée comme pour les ROM ;
- Claquage en quelques minutes ;
- Coût relativement faible ;
- Compatibilité du brochage avec les ROM.
Inconvénients
- Écriture impossible ;
- Modification impossible (toute erreur est fatale).
Pour faciliter la mise au point d'un programme ou tout simplement permettre une erreur,
il serait intéressant de reprogrammer une PROM. Pour cela, la technique du claquage
ne le permet pas et de plus génère des déchets dans le silicium. Ce qui provoque un
vieillissement prématuré de la mémoire.

3.4.4. Mémoires mortes effaçables et programmables (EPROM :Erasable PROM)

Appelée aussi UVPROM : ROM programmable électriquement avec un


programmateur et effaçable par exposition à un rayonnement ultraviolet pendant 30
minutes.

Avantages : reprogrammable par l’utilisateur et non volatile


Inconvénients : Impossible de sélectionner une seule case mémoire à effacer, son
effacement touche tout le contenu de la mémoire.
L’écriture est beaucoup plus lente que sur une RAM. (environ 1000 fois plus)
29

3.4.5. Mémoires mortes programmables et effaçables électriquement (EEPROM :


Electricaly Erasable PROM)

C’est une version améliorée de l’EPROM. Elle permet la programmation


individuellement d’un mot case mémoire sans toucher aux autres. On l’appelle également
mémoire flash ou mémoire réinscriptible à volonté. Utilisé pour le Bios pouvant être mis
à jour par l’utilisateur (bios flash)

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é.

3.5. CONNEXIONS DES MEMOIRES

3.5.1. Connexion Microprocesseur - Mémoire

3.5.2. Connexion de Plusieurs boîtiers mémoires sur les bus d’un µP

Les boîtiers mémoires possèdent une broche notée CS ou CE. Lorsque


cette broche est active (état bas), le circuit peut être lu ou écrit. Lorsqu’elle est inactive
(état haut), le circuit est exclu du service : ses broches de données D0 à D7 passent à
l’état de haute impédance : tout se passe comme si la mémoire était déconnectée du
bus de données du .P, d’où la possibilité de connecter plusieurs boîtiers mémoires sur un
même bus : un seul signal CS doit être actif à un instant donné pour éviter les conflits
entre les différents boîtiers.
30

Connexion avec un décodeur

Connexion de 2 Circuits ROM 2764 de capacité 8K x 8 au bus de données du µP de


taille 16 bits :

Le décodeur d’adresse réalise la fonction d’activation CS ou CE des circuits mémoires


suivant expression :

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

Connexion de trois boîtiers mémoire d’une capacité de 8 Ko chacun (13 lignes


d’adresses) sur un bus d’adresse de 16 bits :
32

Décodage d’adresses mémoires

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.

Pour cela, il faut utiliser un circuit de décodage d’adresses, dans ce cas


: un décodeur 3 vers 8.
33

3.6. Notion de cache mémoire


3.6.1. Problème
L’écart entre le µP et la mémoire centrale ne cesse de s’accroître. En effet,
les composants mémoire bénéficient des mêmes progrès technologique que les µP, mais
le décodage des adresses et la lecture/écriture d’une donnée sont des étapes difficiles à
accélérer. Ainsi, le temps de cycle processeur décroît plus vite que le temps d’accès
mémoire entraînant un goulot d’étranglement. La mémoire n’est plus en mesure de
délivrer des données aussi rapidement que le processeur est capable de les traiter. Il
existe donc une latence d’accès entre ces deux organes.

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

D'une façon générale, on appelle « cache » tout dispositif matériel ou


logiciel qui stocke dans une zone d'accès rapide une copie de données en petite quantité
choisies parmi des données qui sont stockées dans une zone d'accès plus lent.

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 cache mémoire n’apporte un gain de performance que dans le premier cas. Sa


performance est donc entièrement liée à son taux de succès.

Les ordinateurs récents possèdent plusieurs niveaux de mémoire cache :


 La mémoire cache de premier niveau (appelée L1 Cache, pour Level 1 Cache) est
directement intégrée dans le processeur. Elle se subdivise en 2 parties :
a) La première est le cache d'instructions, qui contient les instructions issues de la
mémoire vive décodées lors de passage dans les pipelines.
b) La seconde est le cache de données, qui contient des données issues de la
mémoire vive et les données récemment utilisées lors des opérations du
processeur. Les caches du premier niveau sont très rapides d'accès. Leur délai
d'accès tend à s'approcher de celui des registres internes aux processeurs.

 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.

3.7. MEMOIRE FIFO

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

La réalisation de C.I. de plus en plus complexe a été rendue possible par


l’apparition du transistor en 1947. Cependant, il a fallu attendre 1958 pour voir
apparaître le premier C.I. réalisé par Jack KILBY de Texas Instrument (USA).

Le concept de μP a été créé par la société Intel, spécialisée dans la


conception et la fabrication de puces mémoires. A la demande de deux de ses clients
fabricants de calculatrices et de terminaux, l’ingénieur d’Intel Marcian HOFF surnommé «
Ted HOFF » étudia une unité de calcul implémentée sur une seule puce. Ceci donna
naissance, le 15 novembre 1971, au premier microprocesseur, le Intel 4004, qui était
une unité de calcul 4 bits fonctionnant à 108 Hz avec 640 octets de mémoire centrale
(60.000 instructions par seconde). Il résultait de l’intégration d’environ 2.300 transistors
sur une plaquette de 4,2 mm sur 3,2 mm.

Un microprocesseur est un circuit intégré complexe résultant de


l’intégration sur une puce monolithique de fonctions logiques combinatoires et
séquentielles qui peuvent réaliser les opérations du CPU (ALU + Unité de commande). Il
est capable d’interpréter et d’exécuter les instructions d’un programme. Son domaine
d’utilisation est donc illimité.

4.1.2. Évolution

À l’heure actuelle, un μP regroupe, sur quelques millimètres carrés, de


fonctionnalités toujours plus complexes. Leur puissance continue de s’accroître et leur
encombrement diminue régulièrement. Pour la famille Intel, nous avons la suite ci-
après :
38

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

4.1.3. Éléments caractéristiques

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.

MIPS = FH / CPI avec FH en MHz

4.1.4. Avantages et classification

Un μP peut réaliser les fonctions d’une unité centrale d’un ordinateur en un


seul boîtier ou en très petit nombre de boîtiers.

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.

Les μP sont classés selon :

La technologie semi-conducteur utilisée pour leur conception, on peut citer :


- Les μP à PMOS, à NMOS, et à CMOS (μP monolithiques) ;
- Les μP à TTL ou à ECL, ayant de grandes vitesses d’exécution avec un faible degré
d’intégration.

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.

Le type de l’ensemble des instructions utilisé, on a :


- les μP CISC,
- les μP RISC.

4.1.5. Documentation fournie par le constructeur

Elle comprend généralement les informations suivantes :


- un diagramme de brochage et utilisation de chaque broche du μP ;
- un diagramme fonctionnel, c’est le schéma de la structure interne du μP. il décrit tous
les éléments fonctionnels internes du μP ;
- une description des registres nécessaires à la programmation ;
- un ensemble d’instructions et leurs modes d’adressage ;
- des indications précises sur la manière dont le μP peut être utilisé dans le cas d’un
système minimum.

4.2. ARCHITECTURE DES μP

Pour l’organisation des différentes unités qui constituent un μP ou μC, on recourt à des
architectures :

4.2.1. Architecture Uniprocesseur

 Architecture de HARVARD (1940)

Cette architecture est caractérisée par la séparation des données et des


programmes en mémoire. L’accès à chacun s’effectue par un bus séparé différent et
indépendant. Donc, un accès simultané aux instructions et aux données est possible, ce
qui implique une exécution plus rapide.
41

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.

 Architecture de VON NEUMANN (1949)

Un seul processeur (unité centrale) travaille de manière séquentielle sur


des infos en mémoire qui constituent à la fois des données et des programmes : une
seule unité de commande traitant une seule séquence d’instructions (Single Instruction
Stream) et une seule unité d’exécution traitant une unique séquence de données (Single
Data Stream). Cette architecture est donc appelée SISD (Single Instruction Single Sata
Stream).

Le μP utilise le même canal d’échange pour lire les instructions


(constantes), acquérir (lire) et restituer (écrire) les données (variables) : le bus de
données. La taille de ce bus est une des caractéristiques essentielles des μP ou des μC.

Inconvénient

Cette architecture à commande constitue un frein au traitement parallèle de data

4.2.2. Architectures logicielles

Actuellement, elle se compose de deux grandes familles :


- l’Architecture CISC (Complex Instruction Set Computer) ;
- l’Architecture RISC (Reduced Instruction Set Computer).

Microprocesseurs CISC (Complexe Instruction Set Computer) de


conception plus ancienne et moins performant puisqu’ils disposent d’un jeu d’instructions
42

important (env. 500 instructions) ce qui ralentit la recherche de l’instruction désirée


d’autant. Ex : i80486, Pentium, MC68000, MC68040,...

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, ...

Il intègre au matériel les instructions les plus utilisées et permet d'exécuter


plusieurs instructions en un seul cycle. Ex : PowerPc

La tendance actuelle semble montrer que les processeurs de type RISC


sont plus performants que les CISC bien que ces derniers ne soient plus des CISC à
proprement parler, mais plutôt des hybrides regroupant différentes technologies comme
43

le pipelining et le mode super -scalaire ou carrément CISC et RISC à la fois comme le


Pentium pro (c'est un processeur RISC qui traduit les instructions CISC).

Le choix dépendra des applications visées. En effet, si on diminue le nombre


d’instructions, on crée des applications 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.

Différentes façons pour améliorer la performance de traitement d’un processeur :

1. Augmenter la vitesse ou la fréquence de l’horloge du μP. Cependant l’accélération des


fréquences de l’horloge provoque un surcroît de consommation ce qui entraîne une
élévation de température. On est alors amené à équiper les processeurs de systèmes de
refroidissement ou à diminuer la tension d’alimentation. Ceci implique généralement la
réduction de la géométrie sur la puce pour minimiser les délais de propagation et la
consommation de puissance. La technologie en est aujourd’hui à ~ 0,15 microns (μm).
Les vitesses d’horloge atteignent présentement plus de 1 GHz (1,5 GHz pour le Pentium
4).

2. Exécuter les instructions de façon combinatoire plutôt que séquentielle.


3. Introduire de la technologie parallélisme :
Architecture à processeurs à pipe line : Plusieurs unités d’exécution travaillant
simultanément.
Architecture à Processeurs superscalaires : plus d’une instruction par cycle d’horloge.

4. Minimiser les accès à la mémoire


- Mémoire cache pour les données et les instructions sur la puce du processeur lui-même
(un cache à l’interne, sur la puce ou à l’externe).
- Plus grand nombre de registres.
5. Augmenter la bande passante du bus :
Les processeurs modernes ont des bus de données de plus en plus larges, ce qui
augmente la quantité d’informations (données et instructions) lues lors de chaque accès
à la mémoire.

6. Instructions de même longueur : Pour simplifier et donc accélérer leur décodage.


7. Réduction du nombre d’instructions : Pour simplifier, donc accélérer leur décodage.

8. Architecture load/store : Seules les instructions load et store peuvent accéder à la


mémoire.
9. Peu de modes d’adressage : Pour plus d’efficacité de décodage et d’exécution.
44

4.2.3. Architectures parallèles

Le mode de fonctionnement classique des systèmes à base du μP consiste à faire


effectuer, séquentiellement, un programme par le μP suivant la procédure décrite par
John Von Neuman. A tout instant du programme, une seule instruction, portant sur une
seule variable ou un couple de variables est exécutée. Si le traitement comporte
plusieurs opérations, celles –ci doivent être effectuées séquentiellement, une opération
ne pouvant commencer que lorsque la précédente est terminée. Une seule machine
nécessite un seul μP, un compteur d’instructions et une mémoire contenant à la fois, les
données et les instructions. Abstraction faite des E/S. On donne à ce type
d’architecture le nom de SISD (Single Instruction Single Data) : une seule instruction,
une seule donnée.

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.

Architecture Pipe line

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

Cette architecture à flot de données s’oppose à une architecture


traditionnelle dite à flot d’instructions. Cette configuration est appelée SIMD (Single
Instruction Multiple Data) et ce type de processeur « processeur vectoriel ». On peut
classer dans cette catégorie les «processeurs vectoriels » disposant des instructions
vectorielles (exemple d’application : addition de deux vecteurs en virgule flottante). Les
processeurs DSP utilisent cette architecture.
46

Architectures multiprocesseurs

Plusieurs processeurs partagent la même mémoire. Chaque unité centrale (processeur)


dispose de son propre programme indépendant.
Plusieurs distributions architecturales sont possibles :

Architecture centralisée :


Architecture horizontale :

Chaque microprocesseur est soit un processeur central, soit un processeur spécialisé


(E/S par exemple). Chaque processeur constitue une ressource pour le système.

Architecture Hybride :









47

Architecture à Processeur à multi-unités de traitement (Architecture Superscalaire)

L'approche de l’architecture superscalaire consiste à doter le microprocesseur de


plusieurs unités de traitement travaillant en parallèle. Les instructions sont alors réparties
entre les différentes unités d'exécution. Plusieurs instructions sont exécutées en même
temps. C'est le type d'architecture mise en œuvre dans les premiers Pentium d'Intel
apparus en 1993.

Usage de cache mémoire :

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é.

4.3. STRUCTURE INTERNE D’UN MICROPROCESSEUR

4.3.1. Description matérielle


Le μP peut être utilisé comme une unité centrale dans un système de
traitement programmé de l’information. Son rôle est d’exécuter les programmes stockés
en M.C. en chargeant les instructions, en les décodant et en les exécutant l’une après
l’autre.

La fig. ci-après montre le synoptique général de l’architecture d’un μP standard. C’est un


μP à 8 bits tels que : INTEL 8080, INTEL 8085, ZILOG 80, MOTOROLA 6800, SIENETICS
2650, MOS TECHNOLOGY 6502, etc. La taille du bus d’adresses est de 16 bits, c’est un
composant DIP à 40 broches.

Un microprocesseur est automate généralement construit autour de deux éléments


fonctionnels principaux :
- une unité de commande (UC) qui charge les instructions du programme et les
interprète ;
- Une unité de traitement (UT), la partie opérative (unité de calcul) qui exécute des
opérations sur les données ainsi que de calculer l’adresse mémoire des instructions ou
des données. A l’origine, celle-ci s’identifiait à l’unité arithmétique et logique, chargée
des opérations arithmétiques et logiques (addition, soustraction, division, multiplication,
comparaison, etc.) pour les entiers naturels. En parallèle à cette unité, on peut trouver
une unité de calcul sur les réels, ainsi qu’une unité de traitement dédiée aux opérations
multimédia (traitement des images et du son). Associés à des registres chargés de
stocker les différentes informations à traiter.
49

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.

4.3.2. Unité de commande (U.C)

L’UC est constituée de plusieurs organes permettant d’effectuer la recherche


en MC l’instruction, le décodage, l’exécution et la préparation de l’instruction suivante.
Elle séquence tout le déroulement des instructions.

Tous les μP comportent généralement : la logique de commande


(séquenceur), le décodeur d’instructions et les registres spéciaux :
50

1°) La logique de commande


Ou l’unité de contrôle (ou Contrôleur- séquenceur), organe très important du μP et
généralement micro- programmé. C’est un μP dans un μP. Elle tire les instructions de IR,
les décode (les examine), détermine ce qu’il faut faire avec les données et crée les
commandes en émettant les signaux nécessaires pour l’exécution de la tâche considérée
au rythme d’une horloge. Elle convertit le signal de l’horloge en un signal multifréquence.
Elle assure également des fonctions particulières : le contrôle de la séquence de mise
sous tension du μP et le traitement des interruptions.

2°) Le Décodeur d’instructions (Instruction Decoder, ID)


Ou Décodeur de code opération (unité pour le calcul des adresses des données à traiter)
qui détermine l’opération à effectuer parmi toutes celles possibles.

3°) Compteur de programme (Program Counter, PC)


Ou Compteur ordinal (CO) ou Pointeur d’instructions, il est constitué par un registre dont
le contenu est initialisé avec l'adresse de la première instruction du programme. Le
contenu du PC est placé sur le bus d’adresses via le registre d’adresses, pendant le cycle
de recherche de l’instruction en mémoire (cycle fetch).
Dès le lancement du programme, ce compteur contient l'adresse de la première
instruction à exécuter:

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)

4°) Registre d’adresses (Adress Register, AR)

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.

5°) Registre instruction (Instruction Register, IR)


Registre contenant l'instruction ou une partie de l’instruction en cours de traitement.
Chacune des instructions à exécuter est rangée dans le registre instruction contenant
souvent plusieurs octets dont le premier octet (8 bits) renferme le code de l'opération
que le décodeur d'instruction doit interpréter.
51

6°) Registre d’index (IndeX Register, IX)


Ce registre peut être utilisé comme un registre GPR. En plus il a une fonction spéciale qui
d'une grande utilité dans la manipulation des tableaux de données. Il est en effet utilisé
comme paramètre pour calculer les adresses suivant une forme particulière d'adressage
appelée adressage indexé.

Il est muni de propriétés d’incrémentation et de décrémentation. Le contenu de ce


registre est une adresse. Il pointe sur la case Mémoire dont l’adresse est la somme du
contenu du registre et de la valeur binaire spécifiée par l’instruction. Il est utilisé dans le
mode d'adressage indexé. Un cas particulier de pointeur est le pointeur de pile (Stack
Pointer, SP).

7°) Pointeur de Pile (Stack Pointer)

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

Ce registre permet de stocker temporairement des données, des instructions ou des


adresses selon le principe du « dernier entré, premier sorti » ou LIFO (Last In, First Out).
Le SP a deux opérations de base : PUSH (empiler) et POP (dépiler). A chaque
empilement, le SP est décrémenté et à chaque dépilement, il est incrémenté par la
logique de contrôle.
La « Pile hard » est constituée des registres en dehors de la mémoire RAM.

4.3.3. Unité de traitement (UT)

L’UT constitue l’élément central ou le coeur du μP et possède des fonctions


pour effectuer des opérations sur des données et des éléments de stockage. Elle assure
le traitement des instructions.

La première fonction de l’UT est assurée par une Unité Arithmétique et


Logique (ALU : Arithmetic and Logic Unit) ; la seconde est réalisée par des registres.


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

- Les nombres A et B constituent les deux opérandes ;


- Le nombre C constitue le code de la fonction à réaliser ;
- Le nombre S est le résultat de l'opération ;
- Re et Rs sont les retenues entrante et sortante ;
- OVR indique qu'il y a un dépassement.

Le tableau ci-dessous résume le fonctionnement de cette ALU :


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.

les registres de données 


Ils permettent à l’unité de traitement de manipuler des données à vitesse élevée. La
fonction du registre de données (mémoire rapide) est de contenir les données transitant
entre l’unité de traitement et l’extérieur. Ils conditionnent le bus externe ou le bus
interne des données. Ils sont connectés au bus de données interne au μP.
54

L’accumulateur (Accumulator, A ou ACC) 



Un accumulateur est un registre de travail de 8 ou 16 bits qui sert:
- à stocker une opérande au début d'une opération arithmétique et le résultat à la fin de
l'opération.
- stocker temporairement des données en provenance de l'extérieur du microprocesseur
avant leur reprise pour être rangées en mémoire.
- à stocker des données provenant de la mémoire ou de l'UAL pour les présenter vers
l'extérieur du microprocesseur.

Registres généraux ou registres d’usage général (GPR, General Propose Register)

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

Exemple pour le μP8086 :

Le nom de ce registre dépend des constructeurs. Quelques exemples de noms :


 registre d’état (status register) : nom utilisé si le registre n’a que cette seule utilité.
 registre code condition CCR (Code Condition Register). Chez Motorola, ce
registre contient des bits réservés à d’autres usages.
 mot d’état du programme PSW (Program Status Word). Chez Intel, ce registre
contient des bits réservés à d’autres usages.
56

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.

4.3.4. Les BUS externes

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.

2) Le bus d’adresses unidirectionnel réalisé en logique 3 états, il détermine la capacité


maximale d’adressage du système, c'est-à-dire le nombre maximum de mots de la
mémoire associée (exemple : 16 bits adressent 64 Kmots). Une adresse transportée par
ce bus spécifie la source ou la destination d’un mot donnée se trouvant sur le bus des
données.
3) Le bus de commande

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.

4.3.5. Générateur d’horloge

Les microprocesseurs et les périphériques ont besoin de signaux de synchronisation


précis. A cet effet, nous utilisons le générateur d'horloge, équipé d'un cristal destiné à
fournir des signaux précis. Ce cristal génère une oscillation de 14, 31818MHz qui est
appliquée à la sortie OSC. Un compteur à division par trois compris à l'intérieur du
générateur d'horloge abaisse la fréquence à 4,772727 MHz, qui est appliquée à la sortie
HORLOGE. Cette fréquence est ensuite dérivée et ajustée à 2,386363 MHz, puis
appliquée à la sortie PCLK. La sortie RAZ sert à remettre le μP à « 0 », et la sortie PRÊT
sert à le synchroniser avec le reste du système.

Ci-dessous, nous pouvons observer le générateur d'horloge 8284, utilisé avec le


microprocesseur 8088.

4.4. FONCTIONNEMENT D’UN μP

4.4.1. Déroulement d’une instruction

Le déroulement d'une instruction se fait en deux cycles, un cycle de


recherche (fetch cycle), et un cycle de décodage et exécution.
58

Pendant le cycle de recherche, l’instruction est chargée de la mémoire vers le registre


d’instruction RI.
Pendant le cycle d'exécution,
• L’instruction est analysée par le décodeur pour déterminer la nature de l’opération ainsi
que le nombre et le type des opérandes.
• Ces informations sont communiquées au séquenceur qui charge les opérandes dans les
registres appropriés et envoi à l’ALU les signaux de commandes lui indiquant l’opération
à effectuer.
• L’ALU exécute l’opération et positionne les indicateurs du registre d’état Le temps
d'exécution d'une instruction dépend du type de l'opération à exécuter.

Un cycle d'instruction peut s'étendre sur plusieurs cycles machines ou périodes


d'horloge. Le terme cycle CPU est utilisé pour indiquer le temps d'exécution de
l'instruction la plus courte.
59

4.4.2. Étapes de fonctionnement

Pour fonctionner, un microprocesseur nécessite donc au minimum les organes suivants :

Un μP exécute un programme. Le programme est une suite d’instructions


stockées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets.

Pour exécuter les instructions dans l’ordre établi par le programme, le μP


doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le μP utilise
le registre PC contenant cette information

Pour savoir quel type d’opération doit être exécuté (addition,


multiplication, …) le μP lit le premier octet de l’instruction pointée par le PC (code
opératoire) et le range dans le (registre d’instruction). Le code opératoire est décodé par
le décodeur du μP. des signaux de commande pour l’UAL sont produits en fonction de
l’opération demandée qui est alors exécutée. L’UAL utilise les registres de travail (ACC, B,
C, …), recevant des données intermédiaires.
60

Rangement en mémoire

Pendant que l’instruction est décodée, le PC est incrémenté de façon à ponter vers
instruction suivante :

Puis le processus de lecture et de décodage des instructions recommence. A la suite de


chaque instruction, le CCR est actualisé en fonction du dernier résultat. Les indicateurs
d’état sont activés lorsqu’une condition est remplie. Exemple : le flag Z est mis à 1
lorsque la dernière opération a donné un résultat nul, le flag C est mis à un lorsque le
résultat d’une addition possède une retenue, …

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

Pour exécuter le programme contenu dans la MC, la logique de commande du μP


exécute lui-même un programme appelé micro-code se trouvant à son sein. Le CL est
dirigé par l’horloge qui délivre un signal de fréquence donnée permettant d’enchaîner les
différentes étapes de l’exécution d’une instruction :

Chaque instruction est caractérisée par le nombre de périodes d’horloge (microcycles)


qu’elle utilise (donnée fournie par le constructeur)

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

4.5. PROCESSEURS SPECIAUX OU PROCESSEURS SPECIALISES

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

A l’origine, utilisés pour systèmes de contrôle des processus,


d’environnement, etc. Aujourd’hui : au coeur d’une part importante des applications
embarquées.

Ce sont des μP, spécialisés dans la gestion d’échange d’information avec


les périphériques. Ils permettent de répondre aux exigences des applications de type
contrôleur comme les contrôleurs de systèmes industriels ou de communication. Ces
circuits présentent une organisation et un jeu d’instructions caractérisées par la primauté
du traitement logique sur l’arithmétique.

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

Plusieurs Constructeurs se partagent le marché des microcontrôleurs, citons INTEL,


MOTOROLA, AMTEL, ZILOG, PHILIPS et enfin MICROCHIP.

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 des Microcontrôleurs

4.5.2. 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, la convolution, filtrage numérique, …

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

Les domaines d’application des D.S.P étaient à l’origine les télécommunications et le


secteur militaire. Aujourd’hui, les applications se sont diversifiées vers le multimédia
(lecteur CD, MP3, etc..) l’électronique grand public (télévision numérique, téléphone
portable, etc…), l’automatique, l’instrumentation, l’électronique automobile, etc…

4.5.3. Co-processeurs

Ce sont des μP spécialisés permettant d’améliorer les performances de


systèmes utilisant un ou plusieurs μP classiques. On distingue 2 types de co-processeurs
: arithmétiques et graphiques. Ces circuits sont programmables et disposent : d’une
unité de traitement performante, d’un ensemble de registres ou de mémoires de travail,
et d’une unité de commande pour les traitements.
66

Chapitre IV
INTERFACES ENTREE/SORTIE

5.1. Généralités

5.1.1. Définition et utilité

Une interface d’entrées/sorties est un circuit intégré permettant


au microprocesseur de communiquer avec l’environnement extérieur (périphériques)
: clavier, écran, imprimante, modem, disques, processus industriel, ...

Les interfaces d’E/S sont connectées au microprocesseur à travers les bus


d’adresses, de données et de commandes.

NB. : Les points d’accès aux interfaces sont appelés ports.

Exemples :
67

5.1.2. Constitution

Du point de vue utilisateur, chaque interface est constituée par :


- Un registre de commande dans lequel le processeur décrit le travail à
effectuer (mode de transfert).
- Un ou plusieurs registres de données qui contiennent les mots binaires à
échanger entre le périphérique et la mémoire.
- Un registre d’état donnant des indications sur le déroulement des opérations
(qui indique si l’unité d’échange est prête, si l’échange s’est bien déroulé, etc).

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 circuits d’interface ont deux utilités :


- la communication avec le monde extérieur, quelques fois via d’autres circuits ;
- la communication entre systèmes à µP ou µC.
Les interfaces sont composées des registres accessibles par le µP.
c’est à travers ces registres s’effectuent les opérations d’entrée/sortie. Ces 2
fonctions sont réalisées par des registres aussi bien en entrée qu’en sortie ; on parle
de portes d’entrée/sortie. En sortie, on a un registre de type « D ». Tandis qu’en
entrée, seule la fonction isolation est réalisée par un élément « tampon » à 3 états.
68

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).

5.1.3. Niveaux d’adaptation des interfaces

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.

Ces adaptations s’effectuent généralement à trois niveaux :

a) Premier niveau  adaptation de temps : en effet, un µP a des vitesses de


travail de par sa conception matérielle supérieures à celles d’un périphérique
dont l’appareillage comporte souvent bon nombre d’éléments
électromécaniques.

b) Deuxième niveau adaptation de logique : est souvent différente à celle du


périphérique (système numérique, système analogique, système hybride).

c) Troisième niveau  adaptation de format de données : le µP reçoit de


données suivant un accès parallèle, par contre le périphérique transmet, la
plupart du temps, des données en série. Le circuit d’interface permettra donc
la translation série -parallèle et vice versa des données. Actuellement, les
constructeurs produisent des interfaces de périphériques compatibles avec
leurs propres unités de µP. ces interfaces sont du type universel dans ce sens
qu’ils peuvent être programmés comme circuits d’interfaçage d’entrée ou de
sortie.
69

5.2. Techniques d’échange de données

Avant d’envoyer ou de recevoir des données, le µP doit connaître


l’état du périphérique ; si dernier est prêt à recevoir ou à transmettre une donnée
pour que l’échange se fasse correctement. Il existe deux modes d’échange de
données :

- Le mode programmé par scrutation ou par interruption où le µP sert


d’intermédiaire entre la mémoire et le périphérique.
- Le mode en accès direct à la mémoire (DMA) où le µP ne se charge pas
d’échange de données.

5.2.1. Echange programmé

- 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.

L’inconvénient majeur est que le µP se retrouve en phase d’attente. Il est


complètement occupé par l’interface d’entrée/sortie. De plus, l’initiative de l’échange
de données est dépendante du programme exécuté par le µP. Il peut donc arriver
que des requêtes d’échange ne soient pas traitées immédiatement car le µP ne se
trouve pas encore dans la boucle de scrutation.

Ce type d’échange est trop lent.

- 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.

Dans un échange de données par interruption, le µP exécute donc son programme


principal jusqu’à ce que qu’il reçoive un signal sur sa ligne de requête d’interruption.
Il se change alors d’effectuer le transfert de données entre l’interface et la mémoire.

Principe de fonctionnement d’une interruption


Avant chaque exécution d’instructions, le µP examine s’i y a eu une requête sur sa
ligne d’interruption. Si c’est le cas, il interrompt toutes ces activités et sauvegarde
l’état présent (registres, PC, Accumulateur, Registre d’état, …) dans un registre
particulier appelé « Pile ». Les données y sont entassées comme on empile des
70

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.

5.2.2. Echange direct avec la mémoire

Ce mode permet le transfert de blocs de données entre la mémoire et


un périphérique sans passer par le µP. Pour cela, un circuit appelé Contrôleur d’accès
Direct Mémoire «DMA» (Direct Memory Access) prend en charge les différentes
opérations.
71

Le DMA se charge entièrement du transfert d’un bloc de données. Le µP doit tout de


même :
- initialiser l’échange en donnant au DMA l’identification du périphérique
concerné ;
- donner le sens du transfert ;
- fournir l’adresse du premier et du dernier mot concernés par le transfert.

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 DMAC peut suspendre un processeur, ou l’arrêter, ou encore il peut voler des


cycles mémoire au processeur ou encore il peut rallonger les périodes d’horloge.

5.3. Adressage des ports E/S

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.

A chaque registre est assigné une adresse : le microprocesseur accède à un port


d’E/S en spécifiant l’adresse de l’un de ses registres.

Les gros processeurs étaient munis traditionnellement d’instructions mémoires et


d’instructions d’entrée/sortie. Cette distinction est périmée à ce qui concerne les µPs.
Le microprocesseur peut voir les adresses des ports d’E/S de deux manières :
72

5.3.1. Technique des E/S isolées ou E/S spécialisées (Concept INTEL)

Il s’agit d’un adressage indépendant : le microprocesseur considère deux


espaces distincts :

– l’espace d’adressage des mémoires ;

– l’espace d’adressage des ports d’E/S.

C’est le cas du microprocesseur 8086 :

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’espace mémoire total adressable n’est pas diminué ;

– 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

- Comme on utilise des instructions spéciales pour sélection des interfaces, on


peut facilement les distinguer des instructions mémoire pendant la
programmation, ce qui est commode.
- Comme l’adressage est court, il faut moins de composants de décodage.
- Utilisation d’instructions plus rapides car plus courtes pour les E/S.

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).

5.3.2. Technique des E/S intégrées mémoire ou adressage


cartographique (concept MOTOROLA)

Les adresses des ports d’E/S appartiennent au même espace


mémoire que les circuits mémoire. On dit que les E/S sont mappées en mémoire.

Ici, on traite les localisations E/S comme des adresses mémoires


ordinaires. Les interfaces d’E/S sont considérées comme des positions mémoire où
l’on lit (entrée) ou écrit (sortie).
La fig. ci-dessous montre un système à E/S projetés en mémoire ou le signal qui
détermine si l’adresse concerne la mémoire ou les périphériques, dépend de l’état de
A15. Si A15 est haut, toutes les adresses sur les bits Ao à A14 spécifient un
périphérique. Si A15 est bas, A14 à Ao sélectionnent une position mémoire.
74

MEMR
Vers mémoire
MEMW

I/OR
Vers E/S
µP I/OW

A15
Conséquences :

– l’espace d’adressage des mémoires diminue ;

– 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.

Inconvénient : une perte de place de l’espace d’adressage.

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.

5.4. Types d’interfaces

Les systèmes à µP utilisent deux types de liaison différents pour se


connecter à des périphériques :
- liaison parallèle ;
- liaison série.
On caractérise un type de liaison par sa vitesse de transmission ou son débit binaire.

5.4.1. Interface parallèle

Le rôle d’une interface parallèle est de transférer des données du


microprocesseur vers des périphériques et inversement, tous les bits de données
étant envoyés ou reçus simultanément.
75

Ce type de transmission permet des transferts rapides mais reste


limitée à de faibles distances de transmission à cause du nombre important de lignes
nécessaires (coût et encombrement) et des problèmes d’interférence
électromagnétique entre chaque ligne (fiabilité). La transmission est cadencée par
une horloge.
Exemple : Bus PCI, AGP dans un microordinateur.

Cette liaison nécessite autant de conducteurs qu’il a de bits à transmettre et un


conducteur commun (liaison asymétrique) ou autant de paires de fils si la masse
n’est pas commune (liaison symétrique). Un conducteur supplémentaire peut être
utilisé pour transmettre un signal qui assurera la synchronisation entre les intervalles
d’émission et ceux de réception (lecture). La synchronisation peut aussi être obtenue
par lecture des transitions du signal reçu.

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

L’interface 8255 contient 4 registres :

• trois registres contenant les données présentes sur les ports A, B et C;

• un registre de commande pour la configuration des port A, B et C en entrées et/ou


en sorties.
77

Accès aux registres du 8255 : les lignes d’adresses A0 et A1 définissent les


adresses des registres du 8255 :

Remarque : le registre de commande est accessible uniquement en écriture, la


lecture de ce registre n’est pas autorisée.

Configuration du 8255 : les ports peuvent être configurées en entrées ou en


sorties selon le contenu du registre de commande.

De plus le 8255 peut fonctionner selon 3 modes : mode 0, mode 1 ou mode 2.

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.

5.4.2. Interface série

Une interface série permet d’échanger des données entre le


microprocesseur et un périphérique bit par bit.

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.

Du point de vue synchronisation, la transmission de données en série peut se


concevoir de deux façons différentes :

- En mode synchrone et le récepteur possède une horloge synchronisée qui


cadence la transmission. chaque octet peut être émis ou reçu sans durée
déterminée entre un octet et le suivant ;

- En mode asynchrone, la transmission s’effectue au rythme de la présence des


données. Les caractères envoyés sont encadrés par un signal start et un signal
stop. les octets successifs sont transmis par blocs séparés par des octets de
synchronisation.

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 :

• L’état 1 correspond à une tension négative comprise entre −9 et −15 V, l’état 0 à


une tension positive comprise entre +9 et +15 V. Au repos, la ligne est à l’état 1
(tension négative) ;

• Le bit de start marque le début de la transmission du caractère ;


80

• 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 ;

• Le bit de parité (facultatif) est un bit supplémentaire dont la valeur dépend du


nombre de bits de données égaux à 1. Il est utilisé pour la détection d’erreurs de
transmission ;

• Les bits de stop (1, 1.5 ou 2) marquent la fin de la transmission du caractère.

Un circuit intégré d’interface série asynchrone s’appelle un UART : Universal


Asynchronous
Receiver Transmitter) ; une interface série synchrone/asynchrone est un USART.

Exemples d’interfaces séries :


• 8251 (Intel) ;
• 8250 (National Semi-conductor) ;
• 6850 (Motorola).
81

Connexion de deux équipements par une liaison série RS232 : les


équipements qui peuvent être connectés à travers une liaison série RS232 sont de
deux types :

• Les équipements terminaux de données (DTE : Data Terminal Equipment) qui


génèrent les données à transmettre, exemple : un ordinateur ;

• Les équipements de communication de données (DCE : Data Communication


Equipment) qui transmettent les données sur les lignes de communication, exemple :
un modem.

Pour connecter ces équipements, on utilise des connecteurs normalisés DB9 ou


DB25 :

Différents signaux sont transportés par ces connecteurs :


82

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

*****

Vous aimerez peut-être aussi