Evolution des Micro-Processeurs Bertrand Granado SYEL UPMC
Babbage Charles (1830) The Difference Machine
1946 : Eniac 30 Tonnes 24 mètres de long 5,4 mètre de haut 18000 tubes à vide 100 000 opérations par seconde
1971 : Le premier MicroProcesseur 2300 Transistors 2300 Transistors 100 KHz 100 Khz 640 Octets Commande Busicom pour une Calculatrice
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.
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
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
1974 : le 8080 4500 Transistors 2 MHz 64 Kilo-Octets 8085 : 1976 5MHz Altair : Second Micro-Ordinateur
1975 : Altair Premier micro ordinateur américain
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)
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
1979 : Le 68000
1978 : Le Cray 1 200 000 Circuits Intégrés 150 Millions d'opérations flottantes à la seconde
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
Le pipeline Pipeline [piplin ; pajplajn] n.m pipe-line 1885 : mot anglais, Informatique. Faire du pipeline : envoyer les donné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é : Tinst Débit pipeliné : Réduction du CPI (Cycle Par Instruction) Abus de Langage : 1 instruction = 1 cycle Tinst Nb étages pipeline
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)
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Fonctionnement
Pipeline : Mise en Oeuvre
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
Pipeline : Les Aléas de données
Pipeline : Les Aléas de données
Pipeline : Les Aléas de données
Pipeline : Les Aléas de données
Pipeline : Les Aléas de données
Pipeline : Les aléas Données résolution Bypass : Court-Circuit de la sortie de l'unité d'exécution Renommage de registre Méthode de Compilation Pipeline logiciel Déroulage de boucle
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels
Pipeline : Les aléas Structurels résolution Duplication des Ressources
Pipeline : Les aléas de contrôle
Pipeline : Les aléas de contrôle
Pipeline : Les aléas de contrôle
Pipeline : Les aléas de contrôle
Pipeline : Les aléas de contrôle
Pipeline : Les Aléas de Contrôles résolution Branchement retardé Prédiction de branchement pris Exécution Spéculative
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
La Hiérarchie Mémoire
Les Mémoire Caches
Les Mémoires Caches : Correspondance Directe
Les Mémoires caches : correspondances associative
Les Mémoires Caches : correspondance par ensemble de blocs
1992 : Le Power PC 601
1993 : Le pentium 3,1 Millions de transitors 60 et 66 MHz 4 Giga-Octets
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
Le Pentium : Prédiction de Branchement NP NP Pris P Faiblement Pris P NP Faiblement Non Pris Non Pris P
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
Le K5 : Un Cisc-Risc Idée : Décomposer les instructions x86 en micro-opérations de tailles constantes Transformer un CISC en RISC
1995 : Le Pentium Pro 5,5 Millions de Transistors 150, 166, 180 et 200 MHz 4 Giga-Octets RISC?
Ordonnancement Dynamique Limite du pipeline : Exécution ordonnée des instructions Une instruction suspendue bloque toutes celles qui la suive DIV F0, F2, F4 ADD F10,F0,F8 SUB F12,F8,F14 Tableau de marque global Station de réservation (Algorithme de Tomasulo IBM 360/91)
Station de Réservation
1997 : Le Pentium II 7,5 Millions de transistors 233, 266 et 300 MHz 4 Giga-Octets MMX
1999 : Le Pentium III 9,5 Millions de transistors 450, 500, 550 et 600 MHz 4 Giga-Octets SSE
Pentium III : Le Diagramme
L'Athlon : Diagramme
2000 : Le Pentium IV 42 Millions de transistors 1,4 et 1,5 GHz 4 Giga-Octets Juin 2003 : 3,2 GHz Juin 2007? Avionique
Du 4004 au Pentium IV
2001 : L'Itanium 25 Millions de transistors 733 et 800 MHz 64 bits VLIW 264 Octets
2002 : L'Itanium 2 410 Millions de Transistors 1,4 Ghz 64 bits VLIW 264 octets
Le Power PC 603 1,6 Millions de Transistors CQFP 240 Broches COP (Common Onchip Processor) : processeur de débogage Basse consommation (1 W à 25 MHz et 3 W à 80 MHZ) CMOS 0,5 µm
Power PC 603 : Mode Economie Mise Hors Tension Automatique des sections inactives Mode Doze (Assoupir) : PLL et Timer Fonctionne, donnée en cache cohérente Mode Nap (Sommeiller) : PLL et Timer Fonctionne, le processeur attend
Le Power PC 603 : Diagramme Superscalaire d'ordre 3 Unité d'instruction Unité Entière Unité Flottante Unité de Branchement Unité de Chargement-Rangement Unité des Registres Systèmes 2 Caches et MMU
Le Power PC : Les MicroContrôleur Motorola : Famille 500 Famille 5000 Famille 8000 IBM Famille 400