Introduction Daniel Etiemble de@lri.fr Les grandes classes de système Caractéristique Ordinateur de bureau Serveur Enfoui/embarqué Prix du microprocesseur 100 à 1000 200 à 2000 par processeur 0,20 à 200 par processeur Microprocesseurs vendus en 2000 150 millions 4 millions 300 millions (en ne comptant que les 32 et 64 bits) Critères Prixperformance Performance graphique Débit, disponibilité, extensibilité Prix, puissance dissipée, performance pour l application 2 1
Ventes des microprocesseurs (fin du siècle dernier ) Processeurs enfouis/embarqués 4 bits : 2 milliards 8 bits : 4,7 milliards 16 bits : 700 millions 32 bits : 400 millions DSP (traitement du signal) 600 millions Généralistes classiques 150 millions 3 Les applications Usage général Calcul Scientifique GRAPHIQUE Traitement du signal JAVA BD WEB Enfoui et embarqué 4 2
PERFORMANCE NI T exécution = NI * CPI * T c = IPC * F Temps de cycle Nombre de cycles/instruction Nombre d instructions Jeu d instructions et compilateur CPI Microarchitecture T c Technologie CMOS et Microarchitecture 5 DES EXPONENTIELLES MICROPROCESSEURS CPU 2x/1,5an Performance après 1987 Performance avant 1986 Fréquence d'horloge (MOS) Evolution/an 0% 10% 20% 30% 40% 50% 60% 6 3
DES EXPONENTIELLES MEMOIRES 0,5/10 ans 2x/1,5an Latence Capacité Evolution/an 0% 20% 40% 60% DISK DRAM 7 Transistors Per Die 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 1 Moore s Law 1K Memory Microprocessor 4K 16K 64K 8086 4004 8080 256K 1M 80286 i386 4M 64M 16M i486 Pentium 256M Pentium III Pentium II Pentium Pro 10 0 70 73 76 79 82 85 88 91 94 '97 2000 Source: Intel 8 4
LES DIFFERENTIELS 10000 1000 100 10 CPU Mémoire 1 80 82 84 86 88 90 92 94 96 98 2000 Complexité croissante de la hiérarchie mémoire 9 1000 Densité de puissance Watts/cm 2 100 10 1 i386 Hot plate i486 Nuclear Reactor Pentium 4 Pentium Pro Pentium Pentium III Pentium II 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ Rocket Nozzle * New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies Fred Pollack, Intel Corp. Micro32 conference key note - 1999. 10 5
Le grand virage Evolution des processeurs pour PC (Intel, AMD) De l augmentation de la fréquence d horloge Au parallélisme Processeur logique 1 Processeur logique 2 Processeur physique 1 Processeur physique 2 Etat archit. (registres) Etat archit. (registres) Unités fonctionnelles Caches Etat archit. (registres) Unités fonctionnelles Caches Etat archit. (registres) Unités fonctionnelles Caches Mémoire principale Mémoire principale Multi-threads Multi-cœurs 11 Jeux d instructions Des objectifs différents selon les classes d applications Vitesse maximale (PC, serveurs) Taille de code minimale (embarqué) Consommation essentiel pour embarqué important pour tous Taille des instructions Fixe Variable Modèles d exécution 12 6
Les objectifs Performance Pipeline efficace Instructions de longueur fixe Décodage simple Modes d adressage simples Taille du code Minimiser la taille des instructions Instructions de longueur variable (ou fixe) Accès aux données efficace Modes d adressage complexes et efficaces pour applications visées Compatibilité binaire avec les générations précédentes Exemple IA-32 (x86) 13 Modèles d exécution Modèles d exécution (n,m) n : nombre d opérandes par instruction m : nombre d opérandes mémoire par instruction Les différents modes RISC : (3,0) Instructions de longueur fixe Load et Store : seules instructions mémoire IA-32 : (2,1) Pile (0,0) Tous les opérandes sont accédés via la pile 14 7
(n,m) Modèle d exécution RISC n : nombre d opérandes par instruction m : nombre d opérandes mémoire par instruction Ex : A : = B + C LOAD-STORE (3,0) MP MP MP Load Load Add Store @B @C @A C B A C B A + C B A Instructions de longueur fixe Seules les instructions Load et Store accèdent à la mémoire 15 Registres: organisation RISC 32 registres généraux (entiers) R0 à 1 32 registres flottants Instructions UAL et mémoire Registre registre R d R s1 op R s2 Registre immédiat R d R s1 op immédiat Rd Mémoire (R s1 + dépl.) 16 8
Formats d instructions RISC Instructions UAL et Mémoire MIPS MIPS 6 5 5 5 5 6 Code Op S1 S2 D Décalages Ext. Code op 6 5 5 16 Code Op S1 D Immédiat RR RI Sauts et branchements 6 5 5 16 MIPS Code Op S1 S2/ext code op Déplacement BC 6 26 MIPS Code Op Déplacement B,J,C 17 (n,m) Modèle (2,1) n : nombre d opérandes par instruction m : nombre d opérandes mémoire par instruction Ex : A : = B + C REGISTRE-MEMOIRE (2,1) Load @B Add @C Store @A MP C B A MP C B A MP C B A + CISC compatible avec la technologie MOS des années 75-80 18 9
Caractéristiques IA-32 Instructions de longueur variable Op code Reg. et MA Déplacement Immédiat 1 or 2 1 or 2 0, 1, 2 or 4 0, 1, 2 or 4 octets Inst dest, source Instructions complexes Rep Modes d adressage complexes REG REG REG MEM MEM REG MEM IMM REG IMM Lecture mémoire, Exécution, Ecriture mémoire Adresse mémoire = Rb + RI x f + déplacement 19 Registres : organisation IA-32 Organisation non homogène 8 registres «généraux» avec rôle spécifique Registres flottants fonctionnant en pile (x87) Registres «SIMD» MMX, SSE-SSE2- SSE3) 20 10
Le débat RISC-CISC pour les PC Définition RISC : modèle (3,0) CISC : tous les autres RISC et pipeline Les jeux d instructions RISC facilitent la réalisation de pipelines performants «Solution» Intel et AMD pour IA-32 Convertir les instructions CISC en instructions RISC lors du décodage des instructions (conversion dynamique) On conserve la compatibilité binaire On a l efficacité des pipelines «RISC» 21 Traduction des instructions x86 Pentium Pro, PII, PIII, P4 Instructions x86 add EAX, [EBP +d8] add [EBP +d8], EAX cmp EAX, imm32 Opérations RISC load temp, [EBP + d8] add EAX, temp load temp, [EBP + d8] add EAX, temp store EAX, [EBP+8] cmp EAX, imm32 push ECX sub ESP, 4 store [ESP], ECX 22 11
Jeux d instructions et applications Instructions SIMD Instructions pour traitement du signal (processeur DSP) Multiplication - accumulation Produit scalaire Modes d adressage complexes pour simplifier l accès aux données Modes d adressage spécifiques au traitement du signal Mode d adressage circulaire Mode d adressage «bits inversées» pour la FFT 23 12