Vous êtes sur la page 1sur 31

Systèmes à microprocesseur

le microprocesseur
Laurent JEANPIERRE <jeanpl@iutc3.unicaen.fr>

D’après le cours de Pascal FOUGERAY

IUT de CAEN – Campus 3

Département Informatique
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 2
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
Département Informatique 3
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)
Département Informatique 4
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 5
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

Département Informatique 6
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.

Département Informatique 7
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
Département Informatique 8
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.

Département Informatique 9
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

Département Informatique 10
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
Département Informatique 11
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 12
Fonctionnement
 Lit instruction suivante
 Bus Adresse  PC
 Bus Commande  « Lire instruction »

 RI  Bus Donnée

 Incrémente compteur ordinal


 PC  PC + taille(RI)
 Décode Instruction ex: Add A,(123)
 A  A + contenu @123.

Département Informatique 13
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 »

Département Informatique 14
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…

Département Informatique 15
Résumé
1. Lit instruction suivante (UC)
2. Avance compteur Ordinal (UC)
3. Décode Instruction (UC)
4. Lit données (facultatif) (UC)
5. Fournit Données  UAL (UC)
6. Exécute Instruction (UAL)
7. Range résultat (UC)
Et recommence…
Département Informatique 16
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 17
Jeu d’instructions
 Ensemble d’opérations élémentaires
réalisables par le P
 De 50 (RISC) à + de 1000 (CISC)
 Transfert de données
 Arithmétique

 Logique

 Entrées/Sorties

 Sauts / Branchements

Département Informatique 18
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 !!!

Département Informatique 19
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 20
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
Département Informatique 21
Exemple : « Si (I-J)=0, Suite »

Instr. t t+1 t+2 t+3 t+4 t+5 t+6 t+8 t+9


MOV AX,I IF DEC EX MEM WB

MOV BX,J IF DEC EX MEM WB

SUB AX,BX IF DEC EX MEM WB

CMP AX,$0 IF DEC EX MEM WB

JE Suite IF DEC EX MEM WB

Département Informatique 22
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)

Département Informatique 23
Architecture SuperPipeline
 Subdivision des opérations élémentaires
 Pipeline plus long, fréquence plus élevée
 Problème : prédiction de branchement
incorrecte  vidage pipeline obligatoire
 Ex:
 Pentium : longueur = 5
 Pentium 3 : longueur = 10
 Pentium 4Northwood : longueur = 20
 Pentium 4Prescott : longueur = 31
 Pentium 4Conroe : longueur = 14 (futur)
 Athlon 64 : longueur = 12

Département Informatique 24
Architecture Super-Scalaire
 Plusieurs pipelines par P
  Traitements parallèles
 Parrallélisation
 Gains de performances

  Taille plus importante


 Augmentation Coûts
 Augmentation température

  Diminution fréquence

Département Informatique 25
Contenu du cours

 Introduction
 Constitution
 Fonctionnement
 Langage
 Architectures à Pipeline
 Processeurs RISC
Département Informatique 26
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

Département Informatique 27
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 »
Département Informatique 28
Risc Vs Cisc
 <100 instructions  >200 instructions
 Format fixe  Format variable
 Instructions câblées  Instructions
 simples câblées
 complexes par
micro-code
 Accès mémoire pour  Accès mémoire pour
instr. de chargement. toutes instructions
 Vitesse typique :  Vitesse typique :
1 instruction dure 1 instruction dure
1 cycle 3-10 cycles
Département Informatique 29
Risc Vs Cisc
 Avantages  Avantages
 Puce + petite  Développement
 Fréquence + élevée + simple
 Exécution + rapide  Très répandu
 Inconvénients  Inconvénients
 Compilateur complexe  Puce + grosse
 Puce + compliquée
(à développer)  Évolutions limitées
 Programmes longs  Plusieurs cycles
(+ de mémoire) par instruction
Département Informatique 30
Un processeur moderne (P4E)

Département Informatique 31

Vous aimerez peut-être aussi