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

80
Master SdI/ACSI -AAA – Hiver 2007 Master SdI/ACSI -AAA – Hiver 2007 Evolution des Micro-Processeurs Bertrand Granado SYEL  – UPMC

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

Page 1: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Evolution des Micro-Processeurs

Bertrand GranadoSYEL  – UPMC

Page 2: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Babbage Charles (1830)The Difference Machine

Page 3: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 4: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 5: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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. 

Page 6: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 7: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 8: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 9: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

1975 : Altair

Premier micro­ordinateur américain

Page 10: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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)

Page 11: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 12: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

1979 : Le 68000

Page 13: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 14: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 15: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 16: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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)

Page 17: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 18: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 19: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 20: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 21: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 22: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 23: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 24: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 25: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 26: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Fonctionnement

Page 27: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Mise en Oeuvre

Page 28: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 29: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les Aléas de données

Page 30: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les Aléas de données

Page 31: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les Aléas de données

Page 32: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les Aléas de données

Page 33: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les Aléas de données

Page 34: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 35: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 36: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 37: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 38: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 39: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 40: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels

Page 41: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas Structurels ré-solution

➲ Duplication des Ressources

Page 42: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas de contrôle

Page 43: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas de contrôle

Page 44: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas de contrôle

Page 45: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas de contrôle

Page 46: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pipeline : Les aléas de contrôle

Page 47: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 48: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 49: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 50: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 51: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 52: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 53: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 54: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 55: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

La Hiérarchie Mémoire

Page 56: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Les Mémoire Caches

Page 57: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Les Mémoires Caches : Corre-spondance Directe

Page 58: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Les Mémoires caches : correspon-dances associative

Page 59: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

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

Page 60: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

1992 : Le Power PC 601

Page 61: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 62: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 63: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 64: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 65: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 66: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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 ?

Page 67: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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)

Page 68: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Station de Réservation

Page 69: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 70: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 71: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Pentium III : Le Diagramme

Page 72: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

L'Athlon : Diagramme

Page 73: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 74: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Du 4004 au Pentium IV

Page 75: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 76: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 77: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 78: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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.

Page 79: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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

Page 80: Evolution des Micro-Processeursbertrand.granado.free.fr/Master/aaa/processeurs.pdf · 1971 : Le premier MicroProcesseur 2300 Transistors ... le 8086-8088 29 000 ... Division de l'instruction

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