Transcript 4.4 processeurs.ppt
Systèmes à microprocesseur le microprocesseur
Laurent JEANPIERRE
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
Un processeur moderne
Intel Core I7 3770K – Ivy Bridge 160 mm² - 1,4 Milliards de transistors 4 cœurs physiques Département Informatique
5
Contenu du cours
Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC 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 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.
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 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
.
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 2 nd semestre) SI,DI : Registres d’index 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 Département Informatique
12
Contenu du cours
Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC Département Informatique
13
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
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 » 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… Département Informatique
16
Résumé
1.
Lit instruction suivante 2.
Avance compteur Ordinal 3.
4.
5.
Décode Instruction Lit données (facultatif) Fournit Données UAL 6.
7.
Exécute Instruction Range résultat Et recommence… Département Informatique (UC) (UC) (UC) (UC) (UC) (UAL) (UC)
17
Contenu du cours
Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC Département Informatique
18
Jeu d’instructions
Ensemble d’opérations élémentaires réalisables par le m P De 50 (RISC) à + de 1000 (CISC) Transfert de données Arithmétique Logique Entrées/Sorties Sauts / Branchements Département Informatique
19
Langage machine
Code binaire stockant des instructions Ex : A = A + 12 ADD.L $12, %eax 83 h 00 h 0C h 1000 0011 0000 0000 0000 1100 2 Nécessité d’utiliser un assembleur !!!
Département Informatique
20
Contenu du cours
Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC 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 Département Informatique
22
Exemple : « Si (I-J)=0, Suite »
Instr.
MOV AX,I MOV BX,J SUB AX,BX CMP AX,$0 JE Suite t t+1 t+2 t+3 t+4 t+5 t+6 t+8 t+9 IF DEC EX MEM WB IF DEC EX IF DEC MEM EX WB MEM WB IF DEC IF EX DEC MEM WB EX MEM WB
23
Département Informatique
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
24
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 4 Northwood Pentium 4 Prescott : longueur = 20 : longueur = 31 Pentium 4 Conroe : longueur = 14 (futur) Athlon 64 : longueur = 12 Département Informatique
25
Architecture Super-Scalaire
Plusieurs pipelines par m P Traitements parallèles Parrallélisation Gains de performances Taille plus importante Augmentation Coûts Augmentation température Diminution fréquence Département Informatique
26
Contenu du cours
Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC 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 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 » 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 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 Département Informatique
31
Un processeur moderne (P4E)
Département Informatique
32