4.4 processeurs.ppt

Download Report

Transcript 4.4 processeurs.ppt

Systèmes à microprocesseur le microprocesseur

Laurent JEANPIERRE 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

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