661 likes | 1.44k Views
Systèmes à microprocesseur le microprocesseur. Laurent JEANPIERRE <jeanpl@iutc3.unicaen.fr> D’après le cours de Pascal FOUGERAY IUT de CAEN – Campus 3. Contenu du cours. Introduction Constitution Fonctionnement Langage Architectures à Pipeline Processeurs RISC. Le microprocesseur.
E N D
Systèmes à microprocesseurle 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
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
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
Contenu du cours • Introduction • Constitution • Fonctionnement • Langage • Architectures à Pipeline • Processeurs RISC Département Informatique
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
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
Unité de Commande Constituée de : • Compteur Ordinal : Registre contenant l’adresse de la prochaine instructionProgram 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
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
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
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
Contenu du cours • Introduction • Constitution • Fonctionnement • Langage • Architectures à Pipeline • Processeurs RISC Département Informatique
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
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
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
Résumé • Lit instruction suivante (UC) • Avance compteur Ordinal (UC) • Décode Instruction (UC) • Lit données (facultatif) (UC) • Fournit Données UAL (UC) • Exécute Instruction (UAL) • Range résultat (UC) Et recommence… Département Informatique
Contenu du cours • Introduction • Constitution • Fonctionnement • Langage • Architectures à Pipeline • Processeurs RISC Département Informatique
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 Département Informatique
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
Contenu du cours • Introduction • Constitution • Fonctionnement • Langage • Architectures à Pipeline • Processeurs RISC Département Informatique
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
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 Exemple : « Si (I-J)=0, Suite » 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éesdepuis le pari (très coûteux) Département Informatique
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
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 Département Informatique
Contenu du cours • Introduction • Constitution • Fonctionnement • Langage • Architectures à Pipeline • Processeurs RISC Département Informatique
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
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
<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 Risc Vs Cisc Département Informatique
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 Risc Vs Cisc Département Informatique
Un processeur moderne (P4E) Département Informatique