Microprocesseur
Cours ETL 427 – 4ème ELT
Historique & introduction aux microprocesseurs
Université Abdelhamid Ibn Badis de Mostaganem
Faculté des Sciences et Sciences de l’Ingénieur 1
Historique
Le microprocesseur est l'aboutissement de progrès
technologiques tant dans les domaines mécanique,
informatique et électronique. Quelques dates :
1940 : Premier ordinateur à relais mécaniques (Navy)
1946 : Premier ordinateur à tubes à vide (ENIAC).
30t, 72m², 170kW, 19000 tubes, 350 multiplications/s, 5000 additions/s
2
Historique
1948 : Progrès de la physique quantique avec découverte de l'effet
transistor.
1958 : Développement du premier circuit intégré (4 à 5 tr/puce).
1964 : Ordinateur à transistors
(à base de circuits TTL : 50 transistors dans une puce)
3
Historique
1970 : Premiers circuits L.S.I.- naissance du premier microprocesseur 4 bits
avec 1000 transistors sur une puce.
Sept ans plus tard, l'arrivée du 8086 multiplie déjà cette puissance de calcul
par 200 ! Cette date correspond à la naissance des véritables micro-
ordinateurs. Arrivent ensuite les microprocesseurs 68000 et 80286 (16 bits)
avec les Macintosh et P.C. que nous connaissons. Ils ont introduit l'image et
le son.
Ensuite, tout n'est plus qu'une question de course à la puissance de calcul.
Chaque bond technologique apporte sont innovation.
4
Codage binaire
Dans les systèmes numériques, toute information est codée en binaire
Vc
TRANSITORS C=0 C= INVERSEUR c
C A B C A 0 B
IN=1 OUT=
A B C=1 A B C=1 0
IN OUT
A B 0 1
A B 1 0
GN
D
Codage en base 2:
N = pn2n + … + p222 + p121 + p020
par exemple:
10110 = 1x24 + 0x23 + 1x22 + 1x21 + 0x20 = 16 + 4 + 2 = 22
5
Logique combinatoire
Portes logiques
INVERTER 2-INPUT 2-INPUT 4-INPUT
AND GATE OR GATE MULTIPLEXER
I O A O A O A
B B B O
I O A B O A B O C
1 0 0 0 0 0 0 0 D
0 1 0 1 0 0 1 1 S0
1 0 0 1 0 1 S1
1 1 1 1 1 1 S0 S1 O
0 0 A
0 1 B
Algèbre booléenne 1 0 C
Minimisation (tables de Karnaugh) 1 1 D
6
Logique combinatoire
Unité Arithmétique et Logique (ALU)
A B
commande S
0 0 0 A
0 0 1 A•B
0 1 0 A logique
0 1 1 A+B
1 0 0 A-1
1 0 1 A+B
1 1 0 A-B arithmétique
1 1 1 A+1
Décodeur
7
Logique séquentielle
Verrou (Latch)
D Q
LD Q
D: entrée d’excitation
LD: entrée de contrôle
Q: sortie ou état du latch
Bascule (flip-flop)
maître esclave
D D Q D Q Q
D Q
LD Q LD Q Q CK
Q
CK 8
Logique séquentielle
Registre Registre à décalage
CK Q3 Q2 Q1 Q0 CK Q3 Q2 Q1 Q0
S0
L D3 D2 D1 D0 S1 D3 D3 D2 D1 D0 D0
Pile (stack)
Compteur push pop
CK Q3 Q2 Q1 Q0
DIR CK sommet
9
Architecture interne d’un microprocesseur
Les différents constituants d’un microprocesseur (µp) peuvent être
regroupés dans deux blocs principaux, l'unité de calcul et l'unité de
control.
RI : registre d’instruction
PC : compteur de programme
10
RE : registre d’état
Architecture interne d’un microprocesseur
L‘unité de calcul
Elle est constituée de l’Unité Arithmétique et logique UAL
et d’un certain nombre de registre
ALU : unité arithmétique et logique
Les registres : Ce sont des mémoires élémentaires
pouvant contenir chacun un opérande. Les registres
peuvent être de 8, 16 ou 32 bits.
L‘unité de contrôle
C'est l'unité de control qui supervise le déroulement de
toutes les opérations au sein du µp. Elle est constituée
principalement de :
Horloge : C'est l'horloge qui génère les signaux qui
permettent le cadencement et la synchronisation de11
toutes les opérations.
Architecture interne d’un microprocesseur
Le compteur programme PC : (Program Counter) contient
l'adresse de la case mémoire où est stockée la prochaine instruction
à charger. Au début de l'exécution d'un programme, le PC est
initialisé à l'adresse mémoire où est stockée la première instruction
du programme. Le compteur programme est incrémenté chaque fois
qu'une instruction est chargée dans le µp.
Le registre d'instruction RI : C'est là où le µp stocke l'instruction
en cours d'exécution.
Le décodeur : C'est lui qui va "décoder" l'instruction contenue
dans RI et générer les signaux logiques correspondant et les
communiquer au séquenceur.
Le séquenceur : Il gère le séquencement des opérations et
génère :
les signaux du bus de commande ( RD,WR , etc.),
les signaux internes aux μP (gestion des registres, de l’A.L.U.,
aiguillages des bus internes, etc.). 12
Architecture interne d’un microprocesseur
Le séquenceur est réalisé avec une structure qui comprend une
mémoire ROM intégrée. Celle-ci contient des micro-instructions (à ne
pas confondre avec les instructions contenues dans la mémoire
programme). La mémoire des micro-instructions n’est pas accessible
à l’utilisateur. Chacune des instructions du µp nécessite plusieurs
micro-instructions et donc plusieurs cycles d’horloge.
Le registre d'état : Le registre d'état est formé de plusieurs bits
appelés drapeaux ou indicateur (Flags) qui sont positionnés par
l'ALU après chaque opération. On dispose d'un jeu
d'instructions conditionnées par l'état de différents drapeaux.
Par exemple l’indicateur Z indique quand il est positionné que le
résultat de l'opération est égal à Zéro. L’indicateur C indique
que l'opération a généré une retenue. Le bit N indique que le
résultat est négatif …
13
Structure d’un système minimum à µp
On appelle système minimum à μP l’ensemble comprenant le μP et les
composants indispensables à son fonctionnement.
Un système minimum à μP est constitué de :
une unité centrale de traitement (CPU - Central Processing Unit) :
le μP.
une unité de stockage du programme et des données : les
mémoires.
une unité d’échanges : les interfaces d’E/S,
L’unité d’échange est vue par l’unité centrale comme un ensemble de
registres accessibles. Les informations vers l’extérieur transitent par
certains de ces registres.
Les différentes unités sont réunies par des canaux d’échanges :
les bus.
Pour l’organisation des différentes unités, il existe deux architectures :
l’architecture Von Neuman 14
l’architecture Harvard
L’architecture Von Neuman
Le μP utilise le même canal d’échange pour lire les instructions et manipuler
des données : le bus de données. Les tailles les plus courantes des bus de
données sont :
8 bits pour les petites applications embarquées
16 bits pour les applications embarquées de moyenne complexité
32 bits, 64 bits pour les gros calculateurs, les ordinateurs et consoles de jeux
15
Les adresses délivrées par le μP sont véhiculées par le bus d’adresses
L’architecture Harvard
La CPU utilise 2 canaux d'échange pour lire les instructions et
manipuler les données : le bus instruction (ou bus programme) et le
bus de donnée. Les tailles de ces bus sont en général différentes.
La taille la plus courante du bus de données est de 8 bits.
Les deux bus distincts programme et donnée permettent de réaliser
simultanément une recherche d'une instruction et l'exécution 16 de
l'instruction précédente.
Notion de Hardware et de Software
17
Notion de Hardware et de Software
HARDWARE (Matériel)
C'est tous les composants physiques qui constituent un
système, à savoir circuits imprimés, composants
électroniques, alimentation, châssier, …Ca représente la
partie palpable ou concrète du système :
Microprocesseur, mémoire morte, mémoire vive, circuits
d’interface, horloge , …
SOFTWARE (Logiciel)
C'est l'ensemble des programmes, des méthodes, et des
règles de programmation destinées à faire fonctionner et à
utiliser un systèmes programmable. Le software est la partie
abstraite liée à l'exploitation du système.
18
Fonctionnement d’un microprocesseur
Schéma fonctionnel d’une mémoire
n lignes d’adresses permettent d’adresser
2n cases mémoire : 8 bits d’adresses
permettent d’adresser 256 octets,
16 bits d’adresses permettent
d’adresser 65536 octets
(= 64 Ko), ...
Organisation de la mémoire
La mémoire peut être vue comme un
ensemble de cellules ou cases contenant
chacune une information : une instruction
ou une donnée. Chaque case mémoire est
repérée par un numéro d’ordre unique :
son adresse. 19
Fonctionnement d’un microprocesseur
Un µp exécute un programme qui est une suite d’instructions stockées
dans la mémoire.
A la suite de chaque instruction, un registre du µp est actualisé en fonction du
dernier résultat : c’est le registre d’état (RE). Chacun des bits du registre d’état
est un indicateur d’état ou flag (drapeau). Exemple : registre d’état du µp 68000
T - S - - I2 I1 I0 - - - X N Z V C
Les indicateurs d’état sont utilisés par les instructions de saut conditionnels : en
fonction de l’état d’un (ou plusieurs) flags, le programme se poursuit de manière
différente. 20
Type d’architecture d’un microprocesseur
Architecture CISC (Complex Instruction Set Computer)
C’est une architecture avec un grand nombre d’instructions. Le processeur doit
exécuter des tâches complexes par instruction unique. Donc, pour une tâche
donnée, une machine CISC exécute un petit nombre d’instructions mais chacun
nécessite un pus grand nombre de cycles d’horloge (Intel 8086, Pentium…,
Motorola 68000, PowerPC). Actuellement les deux technologies convergent : les
processeurs CISC (Pentium par exemple) utilisent des instruction de plus en plus
simples et exécutent parfois plusieurs instructions en un cycle d’horloge.
Architecture RISC (Reduced Instruction Set Computer)
Architecture dans la quelle les instructions sont en nombre réduit (chargement,
branchement, appel sous-programme) et elle sont fréquemment utilisées. Le but
est d’éliminer les instructions rarement employées et de consacrer les ressources
matérielles à exécuter les instructions relativement simples en un cycle d’horloge
et à émuler les autres instructions à l’aide des séquences basées sur les
instructions élémentaires. On trouve donc une meilleure performance à une
vitesse donnée (le gain en performance envisageable est important mais dépend
de la qualité du compilateur). Processeurs RISC : PowerRISC (IBM/Motorola),
SPARC (SUN), PA-RISC (HP).
21
Les processeurs Spécialisés
Micro-contrôleurs (µC)
Ils contiennent un CPU, de la RAM, de la ROM, quelques
ports d’E/S parallèles, des ports séries, des compteurs
programmables (timers), des CAN/CNA, des interfaces pour
réseaux de terrain ...
Ils sont en général utilisés pour contrôler des simples
machines (appareils électroménagers, lecteurs de carte à
puce...). Exemple de circuits :
80C186XX (80186, 16 bits, Intel)
68HC11, 68HC12 (6809, 8 bits, Motorola)
68HC16 (68000, 16 bits, Mototrola)
PIC 16F84, 16F877 (Microchip)
22
Les processeurs Spécialisés
Les éléments constitutifs du PIC 16f877
Architecture matériel de Harvard
Architecture RISC des instructions 23
Les processeurs Spécialisés
Digital Signal Processor (DSP)
Ce sont des processeurs dédiés aux traitements des
signaux numériques. Une architecture particulière leur
permet un traitement efficace des fonctions complexes
telles que FFT, convolution, filtrage numérique ...
Exp. :
TMS320 (Texas Instrument)
2100 et 21000 (Analog Device)
56000 (Motorola)
PIC30F5011 (Microchip)
24