Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le...

Post on 14-Sep-2018

221 views 2 download

Transcript of Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le...

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Evolution des Micro-Processeurs

Bertrand GranadoSYEL  – UPMC

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Babbage Charles (1830)The Difference Machine

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1946 : Eniac

➲ 30 Tonnes➲ 24 mètres de long➲ 5,4 mètre de haut➲ 18000 tubes à vide➲ 100 000 opérations

par seconde

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

2300 Transistors

100 KHz

1971 : Le premier MicroProcesseur

2300 Transistors

100 Khz

640 Octets

Commande Busicom  pour une Calculatrice

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Premier Micro-ordinateur :Le Micral 1973

A l'époque, François Gernelle est un jeune ingénieur électronicien. Il met au point une grosse calculatrice destinée à des calculs agronomiques. Esthétiquement, c'est une sorte de gros décodeur télé avec des boutons plein la façade. Bien avant l'Apple II, il s'agit du premier ordinateur prêt à l'emploi conçu autour d'un microprocesseur Intel 8008. Son prix : 8500 Francs. Son nom : le Micral. 

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Les Différents Jeux d'instructions

➲ Jeu d'instructions = Architecture Logicielle du Micro-Processeur

➲ 4 Différents Types de jeux d'instructions:● Pile● Accumulateur● Registre-Mémoire● Chargement-Rangement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

CISC – RISC➲ CISC : Complex Instruction Set Computer

● Accès mémoire pour les opérations arithmétiques et logique

● Instructions complexes :● Durée Variable● Taille Variable

➲ RISC : Reduce Instruction Set Computer● Pas d'Accès mémoire pour les opérations arithmé-

tiques et logique● Instruction Simples :

● Durée Fixe● Taille Fixe

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1974 : le 8080

➲ 4500 Transistors➲ 2 MHz➲ 64 Kilo-Octets➲ 8085 : 1976 5MHz➲ Altair : Second Mi-

cro-Ordinateur

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1975 : Altair

Premier micro­ordinateur américain

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1978 : le 8086-8088

➲ 29 000 Transistors➲ 8086 : 5,8 et 10

MHz➲ 8088 : 5 et 8 MHz➲ 1 Méga Octets➲ NMOS➲ Premier IBM PC

(1981)

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Diagramme du 8088

2 unités : Interface Bus et Exécution

8 Registres de données (8 bits)

4 Pointeurs (16 bits)

4 Registres de segments (16 bits)

Registre Mot d'état : Retenue, Parité, Demi­Retenue, Zéro, Signe, Pas à Pas, IE, Direction, Dépassement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1979 : Le 68000

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1978 : Le Cray 1

➲ 200 000 Circuits In-tégrés

➲ 150 Millions d'opérations flot-tantes à la seconde

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1989 : le 80486

➲ 1,2 Millions de Transistors

➲ 25, 33 et 50 MHz➲ 4 Giga-Octets➲ Intégration unité

flottante➲ Cache unifié de 8

kilo-octets

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le pipeline

➲ Pipeline [piplin ; pajplajn] n.m – pipe-line 1885 : mot anglais, Informatique. Faire du pipeline : envoyer les don-nées les uness à la suite des autres dans un même bloc et recueillir le résultat en sortie

➲ Données = Instructions➲ Division de l'instruction en phases➲ Augmentation du débit

● Débit non-pipeliné : ● Débit pipeliné :

➲ Réduction du CPI (Cycle Par Instruction)➲ Abus de Langage : 1 instruction = 1 cycle

TinstNb étages pipeline

Tinst

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Phases

➲ LI : Lecture Instructions➲ DI : Décodage Instruction➲ LO : Lecture des Opérandes➲ EXE : Exécution de l'instruction➲ RR : Rangement du Résultat (Accès Mé-

moire)

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Fonctionnement

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Mise en Oeuvre

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas

➲ Tout n'est pas parfait dans le meilleur des mondes

➲ Le pipeline fonctionne si il est toujours rempli➲ Problème d'aléa

● Aléa de données● Aléa Structurel● Aléa de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de données

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de données

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de données

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de données

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de données

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Données réso-lution

➲ Bypass : Court-Circuit de la sortie de l'u-nité d'exécution

➲ Renommage de registre➲ Méthode de Compilation

● Pipeline logiciel● Déroulage de boucle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas Structurels ré-solution

➲ Duplication des Ressources

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les aléas de contrôle

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pipeline : Les Aléas de Contrôles résolution

➲ Branchement retardé➲ Prédiction de branchement pris➲ Exécution Spéculative

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

La Hiérarchie Mémoire

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Les Mémoire Caches

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Les Mémoires Caches : Corre-spondance Directe

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Les Mémoires caches : correspon-dances associative

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Les Mémoires Caches : correspon-dance par ensemble de blocs

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1992 : Le Power PC 601

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1993 : Le pentium

➲ 3,1 Millions de tran-sitors

➲ 60 et 66 MHz➲ 4 Giga-Octets

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Pentium➲ Superscalaire : 2 Instructions par cycle➲ Bus externe 64 bits➲ Pipeline Entier 5 étages

● U : Toutes● V : Simple (Type RISC)

➲ 8 Registres➲ Contrôle

● Cablé pour les instructions simples (RISC)● Micro-Programmé pour les autres

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Pentium : Prédiction de Branchement

Pris FaiblementPris

Faiblement Non Pris

Non Pris

NP

P

NP NP

P P

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Pentium : L'Unité Flottante

➲ 8 registres de 80 bits➲ Pile de registres➲ Réalisation des calculs avec une opérande

en sommet de pile➲ Latence de 3 cycles – attente de 1 cycle➲ Division 39 cycles

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le K5 : Un Cisc-Risc

➲ Idée : Décomposer les instructions x86 en micro-opérations de tailles con-stantes

➲ Transformer un CISC en RISC

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1995 : Le Pentium Pro

➲ 5,5 Millions de Transistors

➲ 150, 166, 180 et 200 MHz

➲ 4 Giga-Octets➲ RISC ?

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Ordonnancement Dynamique

➲ Limite du pipeline : Exécution ordonnée des instructions

➲ Une instruction suspendue bloque toutes celles qui la suive

DIV F0, F2, F4ADD F10,F0,F8SUB F12,F8,F14

➲ Tableau de marque global➲ Station de réservation (Algorithme de Toma-

sulo IBM 360/91)

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Station de Réservation

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1997 : Le Pentium II

➲ 7,5 Millions de tran-sistors

➲ 233, 266 et 300 MHz

➲ 4 Giga-Octets➲ MMX

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

1999 : Le Pentium III

➲ 9,5 Millions de tran-sistors

➲ 450, 500, 550 et 600 MHz

➲ 4 Giga-Octets➲ SSE

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Pentium III : Le Diagramme

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

L'Athlon : Diagramme

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

2000 : Le Pentium IV

➲ 42 Millions de tran-sistors

➲ 1,4 et 1,5 GHz➲ 4 Giga-Octets➲ Juin 2003 : 3,2 GHz➲ Juin 2007 ? ➲ Avionique

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Du 4004 au Pentium IV

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

2001 : L'Itanium

➲ 25 Millions de tran-sistors

➲ 733 et 800 MHz➲ 64 bits➲ VLIW➲ 264 Octets

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

2002 : L'Itanium 2

➲ 410 Millions de Transistors

➲ 1,4 Ghz➲ 64 bits➲ VLIW➲ 264 octets

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Power PC 603

➲ 1,6 Millions de Transistors

➲ CQFP 240 Broches➲ COP (Common On-

chip Processor) : processeur de débogage

➲ Basse consomma-tion (1 W à 25 MHz et 3 W à 80 MHZ)

➲ CMOS 0,5 µm

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Power PC 603 : Mode Economie➲ Mise Hors Tension

Automatique des sections inactives

➲ Mode Doze (As-soupir) : PLL et Timer Fonctionne, donnée en cache cohérente

➲ Mode Nap (Som-meiller) : PLL et Timer Fonctionne, le processeur attend une interruption

➲ Mode Sleep (Dormir) : PLL arrêtée.

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Power PC 603 : Diagramme

➲ Superscalaire d'or-dre 3

➲ Unité d'instruction➲ Unité Entière➲ Unité Flottante➲ Unité de Branche-

ment➲ Unité de Charge-

ment-Rangement➲ Unité des Registres

Systèmes➲ 2 Caches et MMU

associées

Master SdI/ACSI -AAA – Hiver 2007Master SdI/ACSI -AAA – Hiver 2007

Le Power PC : Les MicroContrôleur

➲ Motorola :● Famille 500● Famille 5000● Famille 8000

➲ IBM● Famille 400