1. Département Informatique
Systèmes à microprocesseur
le microprocesseur
Laurent JEANPIERRE <jeanpl@iutc3.unicaen.fr>
D’après le cours de Pascal FOUGERAY
IUT de CAEN – Campus 3
2. Département Informatique 2
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
3. Département Informatique 3
Le microprocesseur
Circuit intégré complexe
Intègre toutes les fonctions
d’un processeur
Inventé par Ted Hoff
Commercialisé par Intel le 15/11/1971
« 4004 »
2300 transistors
60000 opérations
par seconde
4. Département Informatique 4
Introduction (2)
Aujourd’hui
Plusieurs types de processeurs
Plusieurs fabricants
Grande variété de chaque type
Caractéristiques nombreuses
Fréquence, consommation, transistors, …
Mips (Million of Instructions Per Second)
Mflops (Million of Floating Operations per
Second)
5. Département Informatique 5
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
6. Département Informatique 6
Physiquement…
Vulgaire bout de silicium dopé
Wafer : Galette de plusieurs processeurs
1 processeur : quelques millimètres carrés
Plus finement :
Millions de transistors
1 transistor
= interrupteur commandé en tension
Plusieurs transistors portes logiques
7. Département Informatique 7
Logiquement…
2 unités fonctionnelles séparées
Unité de Commande
Dirige le processeur
Génère les signaux
Coordonne l’exécution des instructions
Unité Arithmétique et Logique
Décode&Calcule les instructions
c.f. cours sur la logique programmée.
8. Département Informatique 8
Unité de Commande
Constituée de :
Compteur Ordinal : Registre contenant
l’adresse de la prochaine instruction
Program Counter
Registre d’Instruction : contient le code de
l’instruction en cours
Décodeur : Décode l’instruction
(sélection de la bonne fonction)
Séquenceur : Ordonne et Synchronise les
blocs-opération pour l’instruction décodée
9. Département Informatique 9
Les registres
Mémoires internes au processeur
Nombre dépend du processeur
Entre 10 et 100… voire plus !
Processeur performant
Beaucoup de registres
Taille dépend du processeur
Exprimée en bits.
Caractérise le processeur
Processeur 32 bits.
10. Département Informatique 10
Les registres (2)
Plusieurs types de registres
Généraux (accumulateurs)
registres à tout faire…
Registres spécifiques
RI : instruction en cours
PC : @ prochaine instruction
SP : @ sommet de pile
BP : Pointeur de base (voir 2nd semestre)
SI,DI : Registres d’index
11. Département Informatique 11
Les registres (3)
Registres de débogage
Registres MMX, SSE, FPU, …
Autres…
Registre d’état (Program Status Word /
Condition Code Register)
Ensemble de booléens (drapeaux)
Mémorise l’état du processeur
Ex : Z = Résultat précédent nul
C = Retenue à propager
12. Département Informatique 12
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
13. Département Informatique 13
Fonctionnement
Lit instruction suivante
Bus Adresse PC
Bus Commande « Lire instruction »
DI Bus Donnée
Incrémente compteur ordinal
PC PC + taille(RI)
Décode Instruction ex: Add A,(123)
A A + contenu @123.
14. Département Informatique 14
Fonctionnement (2)
Lit données (facultatif)
Bus A 123
Bus C « lire donnée »
tmp Bus D
Transfert données UAL
UAL.1 A
UAL.2 tmp
UAL.RI « addition »
15. Département Informatique 15
Fonctionnement (3)
UAL calcule opération
Activation de l’additionneur intégral
tmp
UC range résultat
A tmp
Recommence
Lit & Exécute instruction suivante
Pas de repos pour un processeur…
17. Département Informatique 17
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
18. Département Informatique 18
Jeu d’instructions
Ensemble d’opérations élémentaires
réalisables par le mP
De 50 (RISC) à + de 1000 (CISC)
Transfert de données
Arithmétique
Logique
Entrées/Sorties
Sauts / Branchements
19. Département Informatique 19
Langage machine
Code binaire stockant des instructions
Ex :
A = A + 12
ADD.L $12, %eax
83h 00h 0Ch
1000 0011 0000 0000 0000 11002
Nécessité d’utiliser un assembleur !!!
20. Département Informatique 20
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
21. Département Informatique 21
Notion de pipeline
1 instruction 5 étapes (5 ticks)
IF : Instruction Fetch
DEC : Decodage
Ex : Execution
Mem : Memory access
WB : Write Back
travail à la chaîne (merci M. Tailor)
A chaque coup d’horloge (tick),
5 instructions sont en cours
22. Département Informatique 22
Exemple : « Si (I-J)=0, Suite »
t+8 t+9t+6t+5t+4t+3t+2t+1tInstr.
WBMEMEXDECIFMOV AX,I
WBMEMEXDECIFMOV BX,J
WBMEMEXDECIFSUB AX,BX
WBMEMEXDECIFCMP AX,$0
MEM WBEXDECIFJE Suite
23. Département Informatique 23
Problèmes…
Résultat de I1 nécessaire pour faire I2
Diffère I2 tant que résultat pas disponible
Même ressource utilisée par I1 et I2
Diffère I2 tant que ressource pas libre
Aléa de branchement
Si test alors … sinon …
Pari sur le résultat du test
Ok : exécution optimale
Faux : annule toutes opérations commencées
depuis le pari (très coûteux)
25. Département Informatique 25
Architecture Super-Scalaire
Plusieurs pipelines par mP
Traitements parallèles
Parrallélisation
Gains de performances
Taille plus importante
Augmentation Coûts
Augmentation température
Diminution fréquence
26. Département Informatique 26
Contenu du cours
Introduction
Constitution
Fonctionnement
Langage
Architectures à Pipeline
Processeurs RISC
27. Département Informatique 27
Pourquoi ?
1975, chercheurs IBM remarquent que
<20% instructions utilisées
>80% du temps
simplifier processeurs
Instructions courantes seulement
Plus simples, mieux optimisées, plus efficaces
Puce moins grosse
Deux classes de processeurs
Reduced Instruction Set Computer
Complex Instruction Set Computer
28. Département Informatique 28
Mais…
Instructions complexes ???
Simulées par le compilateur
Utilise plusieurs instructions simples
Pas de micro-code
Instructions directement exécutables
Instructions de taille fixe
Pipelines plus efficaces
Cache d’instructions plus simple/petit/optimisé
Compilateur plus compliqué
Impossible à programmer « à la main »
29. Département Informatique 29
Risc Vs Cisc
<100 instructions
Format fixe
Instructions câblées
Accès mémoire pour
instr. de chargement.
Vitesse typique :
1 instruction dure
1 cycle
>200 instructions
Format variable
Instructions
simples câblées
complexes par
micro-code
Accès mémoire pour
toutes instructions
Vitesse typique :
1 instruction dure
3-10 cycles
30. Département Informatique 30
Risc Vs Cisc
Avantages
Puce + petite
Fréquence + élevée
Exécution + rapide
Inconvénients
Compilateur complexe
(à développer)
Programmes longs
(+ de mémoire)
Avantages
Développement
+ simple
Très répandu
Inconvénients
Puce + grosse
Puce + compliquée
Évolutions limitées
Plusieurs cycles
par instruction