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 microordinateur 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é, DemiRetenue, 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