Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
INFORMATIQUE
INDUSTRIELLE
2A RIT / MI
NIKIEMA Daniel
CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR
CHAPITRE I
I. INTRODUCTION
Un microprocesseur est un circuit numérique caractérisé par une très grande
intégration qui combine toute une Unité Centrale de Traitement (UCT) dans un seul
circuit intégré. Il est conçu pour interpréter et exécuter de façon séquentielle les
instructions d'un programme. Ci-dessous, la photo d’un microprocesseur Intel.
Microprocesseur Intel
Le premier microprocesseur intégré fut le 4004 d’Intel, créé en 1971. Il avait été
conçu pour la calculatrice Busicom et traitait des données de 4 bits. Motorola a suivi
Intel avec des microprocesseurs 8 bits comme 6800.
Par rapport à la logique câblée, qui pourrait remplir les mêmes fonctions, un
système à microprocesseur présente divers avantages :
moins de composants ;
modification aisée du programme ;
consommation réduite ; en technologie CMOS avec quelques mW on peut avoir un
système très puissant.
Bus de données
MICRO
Bus d'adresses
PROCESSEUR
Bus de commande
INTERFACE 1 INTERFACE n
Horloge
PERIPHERIQUE 1 PERIPHEQUE n
b. Principe de fonctionnement
Chaque mot binaire est stocké à une position de la mémoire. Chaque position
mémoire correspond à autant de cellules mémoires élémentaires qu'il y a de bits par
mot. Par exemple pour stocker un octet on utilise l'équivalent de 8 bascules (chaque
bascule étant constituée d'un certain nombre de transistors). Mais on ne peut lire ou
écrire que des mots complets.
Généralement toutes les positions mémoires sont accessibles par un seul et même
ensemble de connexions bidirectionnelles : le bus de données.
Lors d'une lecture c'est la mémoire qui impose la donnée sur le bus de données.
Lors d'une écriture par le microprocesseur, il impose la donnée sur le bus de
données.
Cycle de lecture
Une lecture est caractérisée par les étapes suivantes :
le microprocesseur génère l'adresse de la position mémoire où la donnée doit
être lue ;
le microprocesseur sélectionne le boitier : CS = 0 ;
le microprocesseur génère une commande de lecture : R/ W = 1 ;
le microprocesseur attend un certain délai correspondant au temps d'accès ;
la mémoire fournit la donnée sur le bus de données ;
le microprocesseur lit la donnée (transfert dans un registre interne).
Cycle de lecture
Cycle d'écriture
Une écriture est caractérisée par les étapes suivantes :
Le microprocesseur génère l'adresse de la position mémoire où la donnée doit
être écrite ;
Le microprocesseur sélectionne le boitier : CS = 0 ;
Le microprocesseur fournit la donnée sur le bus de données (transfert depuis
un registre interne) ;
Le microprocesseur génère une commande d'écriture : R/ W = 0.
Cycle d’écriture
Capacité :
C'est le nombre de mots binaires que
n Espace adressable (nombre de mots = 2n)
l'on peut stocker. La taille d'une adresse 8 256
dépend de la capacité. Avec n bits on
10 1024 = 1 K
peut adresser 2n positions en mémoire. 13 8192 = 8 x 1024 = 8 K
On utilise les symboles K, M, G, T, … 16 65 536 = 64 K
comme préfixes correspondant à kilo, 20 1 048 576 = 1 024 K = 1 M
Méga, Giga, Téra, … : voir le tableau ci- 30 1 073 741 824 = 1 024 M = 1 G
contre. 32 4 294 967 296 = 4 096 M = 4 G
64 17 179 869 184 G = 16 777 216 T
Remarque :
1 K 1 000, 1 G 1 000 K, … (En physique on note k pour kilo et non K).
La capacité peut être inférieure à l'espace adressable.
Temps d'accès en lecture : C'est le temps que met la mémoire pour décoder
l'adresse et commuter les circuits qui permettent de sélectionner la donnée et
l'appliquer sur le bus de données. Ce temps conditionne le taux de transfert
maximum (en Mo/s ou kbits/sec). Il est de l’ordre de quelques dizaines de
nanosecondes pour les mémoires vives et de quelques millisecondes pour
certaines mémoires mortes (EEPROM).
Les mémoires mortes (ROM : Read Only Memory, mémoire à lecture seule)
Cette mémoire est destinée à être lue uniquement. Elle contient les ordres
(instructions) que doit effectuer le microprocesseur. Les ROM sont des mémoires
non volatiles : elles préservent leurs informations même lorsqu'elles ne sont pas
alimentées. Ces mémoires sont programmées avant d'être placées sur une carte à
microprocesseur. Ce dernier pourra en lire le contenu mais ne pourra pas le
modifier. Il existe différents types de mémoires mortes :
PROM (Programmable Read Only Memory) : terme générique qui désigne toutes
les mémoires programmables par l'utilisateur. Parmi les PROM, on distingue :
Les OTPROM (One Time Programmable Read Only Memory) : Ce sont des
mémoires programmables une seule fois ;
Les Flash EPROM (Flash Erasable Programmable Read Only Memory) sont
directement dérivées de l’EEPROM puisque tout est fait de manière électrique.
Quelques différences existent cependant : le fonctionnement par bloc (on ne
peut pas effacer une case seule), la grande capacité de stockage, la facilité
d’utilisation (mono tension, algorithme intégré). Tous ces avantages ont fait
que la Flash s’est rapidement placé comme la solution idéale de stockage de
logiciel dans les microcontrôleurs et sur les cartes à microprocesseur. Ainsi
les BIOS des cartes mères de PC sont maintenant en Flash ce qui permet,
après avoir téléchargé la nouvelle version sur Internet, de reprogrammer sa
carte mère en quelques minutes sans aucune intervention matérielle. Certains
constructeurs architecturent même leurs Flash pour qu’elles simulent le
comportement d’un disque dur éliminant ainsi les problèmes mécaniques
inhérents à ceux-ci.
Entre 1971 et 2001, la densité des transistors a doublé chaque 1,96 année. En
conséquence, les machines électroniques sont devenues de moins en moins
coûteuses et de plus en plus puissantes. Ci-dessous, le graphique illustrant la loi de
Moore et l’évolution des microprocesseurs Intel.
b. Rôle
Le microprocesseur :
analyse le contenu du programme, sélectionne, gère et commande les circuits
nécessaires à l'exécution de chaque tâche ;
organise l'enchaînement des tâches précisées dans la mémoire programme ;
prend en compte les informations extérieures au système.
L’ensemble des instructions d’un microprocesseur est donné sous forme de liste de
mnémoniques (abréviation anglaise de l’opération). Le jeu d’instructions diffère
d’un microprocesseur à l’autre.
Exemple :
Pointeur d’instruction
Pour savoir quel type d’opération doit être exécuté (addition, soustraction, ...), le
microprocesseur lit le code opération de l’instruction pointée par le pointeur
d’instruction (code opératoire) et le range dans un registre appelé registre
d’instruction. Le code opératoire est décodé par des circuits de décodage contenus
dans le microprocesseur. Des signaux de commande, pour l’Unité Arithmétique et
Logique (UAL), sont produits en fonction de l’opération demandée qui est alors
exécutée.
Pour exécuter une opération, l’UAL utilise des registres de travail. Exemple :
l’accumulateur est un registre temporaire recevant des données intermédiaires.
Les indicateurs d’état sont utilisés par les instructions de saut conditionnel : en
fonction de l’état d’un (ou plusieurs) flags, le programme se poursuit de manière
différente.
Une interruption est une requête présentée à l’unité de contrôle par des éléments
extérieurs (périphériques).
e. Technologie
Il existe deux technologies de microprocesseurs :
La technologie CISC (Complex Instruction Set Computer), dont chaque instruction
complexe nécessite un nombre important de cycles d'horloge, mais qui a en son
cœur beaucoup d'instructions pré-câblées pour faciliter la programmation.
Exemple : 6809 de Motorola, 80186 d’intel, …
f. Microprocesseurs spécialisés
Les microcontrôleurs
Ils contiennent un CPU (microprocesseur), de la RAM, de la ROM, quelques ports
d’entrées/sorties parallèles, des ports séries, des compteurs programmables
(timers), des CAN (Convertisseur Analogique Numérique), des interfaces de
communication, ...
Ils sont en général utilisés pour contrôler de simples machines et constituent des
systèmes embarqués (automobiles, robots, appareils électroménagers, lecteurs
de carte à puce, ...). Exemple de microcontrôleurs :
8051, 80C186XX, … d’Intel ;
68HC11, 68HC12, 68HC16, … de Motorola ;
PIC16F84, PIC16F877, ... de Microchip ;
MSP430G2553, MSP430F5529, … de Texas Instrument (TI).
la longueur des mots : données et instructions (on parle de largeur du bus des
données).
le nombre d'octets que le microprocesseur peut adresser (on parle de largeur du
bus des adresses).
la vitesse d'exécution des instructions exprimée en Million d’Instructions Par
Seconde (MIPS).
a. Le bus d'adresses
Il permet au microprocesseur de sélectionner :
une adresse de la mémoire ROM à laquelle il veut accéder pour lire une
instruction (chaque instruction est codée en binaire et située à une adresse
différente) ;
une adresse de la mémoire RAM à laquelle il veut accéder pour lire ou écrire une
donnée ;
un port d'entrée pour lire une information (exemple : information provenant d'un
capteur) ;
un port de sortie pour envoyer une commande (exemple : faire tourner un
moteur).
b. Le bus de données
Il permet de transporter :
Pour un bus d’adresse de n bits, le principe consiste à utiliser les m bits de poids
fort (An-1, …, An-1-m) à travers le décodeur pour sélectionner un et un seul circuit à
chaque combinaison. Le reste du bus (An-1-m-1, …, A0) est utilisé pour l’adressage
interne des composants. Exemple : TD1.
langage C, Python, …). La mise au point du logiciel est alors facilitée, mais
l'exécution est plus lente car les programmes générés sont souvent plus longs.
Compilation
Langage assembleur
Exemple : btfsc PORTB,0
Code exécutable
Exemple : 01 1000 0000 0110
a. Echange programmé
Scrutation
Interruption
Remarque :
Les interruptions sont classées par ordre de priorité. Dans le cas où plusieurs
interruptions se présentent en même temps, le microprocesseur traite d’abord
celle qui a la priorité la plus élevée.
Un contrôleur de DMA est doté 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 microprocesseur le contrôle du bus, effectue la
lecture ou l’écriture mémoire à l’adresse contenue dans son registre et libère le bus.
Il incrémente ensuite cette adresse et décrémente son compteur. Lorsque le
compteur atteint zéro, le dispositif informe le processeur de la fin du transfert par
une ligne d’interruption (IT DMA). Le principal avantage est que pendant toute la
durée du transfert, le processeur est libre d’effectuer un traitement quelconque. La
seule contrainte est une limitation de ses propres accès mémoire pendant toute la
durée de l’opération, puisqu’il doit parfois retarder certains de ses accès pour
permettre au dispositif d’accès direct à la mémoire d’effectuer les siens : il y a
apparition de vol de cycle.
2. Types de liaisons
Les systèmes à microprocesseur utilisent deux types de liaisons différentes pour se
connecter à des périphériques :
liaison parallèle ;
liaison série.
a. Liaison parallèle
Dans ce type de liaison, tous les bits d’un mot sont transmis simultanément. Ce
type de transmission permet des transferts rapides mais reste limité à 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.
Comme exemples d’interfaces nous avons les P.I.A (Parallel Interface adapter) tels
que le PIA6522 et PIA6821.
b. Liaison série
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 beaucoup
plus importantes mais la vitesse de transmission est plus faible.
parité : le mot transmis peut être suivis ou non d’un bit de parité qui sert à
détecter les erreurs éventuelles de transmission. Il existe deux types de
parité : paire ou impaire. Si on fixe une parité paire, le nombre total de bits
à 1 transmis (bit de parité inclus) doit être paire. C’est l’inverse pour une
parité impaire.
bit de start : la ligne au repos est à l’état 1 (permet de tester une coupure de
la ligne). Le passage à l’état bas de la ligne va indiquer qu’un transfert va
commencer. Cela permet de synchroniser l’horloge de réception.
Les bits sont transmis les uns après les autres, en commençant par le bit de
poids fort ;
1 1
Horloge : 𝐹 = 𝐻𝑧 Vitesse de transmission : 𝑣 = 𝑏𝑖𝑡𝑠/𝑠𝑒𝑐
∆ ∆
Contrôle de flux :
1. Microprocesseur 6809
Il a été développé par MOTOROLA à la fin des années 1970.
2. Mémoire 27C256
BIBLIOGRAPHIE ET WEBOGRAPHIE
SYSTEMES NUMERIQUES : concepts et applications, 7ème édition, Thomas L.
Floyd, Les Editions Reynald Goulet, 2000
https://fr.wikipedia.org/wiki/Loi_de_Moore