M2 - MICRO - Architecture interne des microprocesseurs 2005-2006
Transcription
M2 - MICRO - Architecture interne des microprocesseurs 2005-2006
M2 - MICRO - Architecture interne des microprocesseurs 2005-2006 François Anceau, CNAM / ASIM - LIP6 Nathalie Drach-Temam, UPMC / ASIM - LIP6 Advanced Architecture and Compiler for High-Performance Embedded Processors Cours : Jeudi 14h-17h Excepté jeudi 16/02 : pas de cours jeudi 02/03 : cours de 9h-12h et de 14h-17h 1 La Recherche de Performance Comment augmenter la performance des applications (jusqu’à maintenant) ? • Augmenter la vitesse des composants. • Extraire du parallélisme de grain fin. • Réduire le coût des communications. Mais tendance actuelle – ralentissement de l’augmentation de la fréquence : • Augmenter la performance en augmentant le nombre de composants sur une même puce. Un chip contient aujourd’hui ≈ 50 millions de transistors ; d’ici 10-15 ans ≈ 1 milliard de transistors : • Utilisation / exploitation des transistors on-chip, • Communications très rapides au sein d’un chip ⇒ architectures possibles très variées. 2 Pour la petite histoire… Craig Barret, (ex PDG d'Intel), s'excusant publiquement de ne pas respecter la promesse de cette compagnie de mettre sur le marché un Pentium 4 fonctionnant à 4Ghz! La course à la vitesse est arrêtée... 19 octobre 2004 - Orlando 3 Contraintes des Applications ASIC DSP Processeur embarqué ASICs (Application Specific Integrated Circuit) : • Performances élevées pour une application. • Introduire performances élevées dans système à très bas coût. DSP (Digital Signal Processors) : • Faible coût • Flexibilité non nulle mais faible (adaptation aux nouveaux algorithmes). • Performance : réseaux, traitement du signal. • Basse consommation : applications mobiles (téléphonie)… Processeur FPGA Embarqués : • Flexibilité importante • Performance • Faible coût et/ou basse consommation pour un usage universel. Processeurs généralistes/hautesperformances : • Performance • PCs, stations, serveurs. • Produits grand public « enfouis ». 4 Pas de Fusion mais Intersection Croissante Probable Rapprochement car besoin croissant en performance des processeurs enfouis/embarqués. Généralistes Embarqués Intel 4004 Embarqués DSPs DSPs Processeur haute-performance Processeur embarqué/enfoui Généralistes DSP Passage progressif des innovations des processeurs haute-performance vers processeurs embarqués et DSPs. Etudier surtout les composants hauteperformance. 5 Les Questions Posées Quelle architecture de composants (processeurs) pour atteindre de hautes performances ? Comment programmer ces composants pour atteindre de hautes performances ? Comment intégrer les problèmes spécifiques des systèmes enfouis (consommation, coût, vitesse de fonctionnement...) ? 6 A Court Terme Adapter les Programmes aux Architectures P/ 20 0M MX P II - 1 9 9 /3 5 6 0 P I -1 9 9 II/ 7 8 00 - 19 PI V /1 99 50 0 -2 00 0 94 -1 9 0 00 P /1 6 /5 0 -1 99 8 98 0 -1 Peut-on effectuer cette optimisation automatiquement ? 48 78 Comment optimiser un programme pour une architecture ? 6 /2 19 Difficile d’écrire un programme performant pour ces architectures. 38 7000 6000 5000 4000 3000 2000 1000 0 /5 - Architectures actuelles très complexes. 86 INT FP Max 7 A Moyen Terme Evolution des Composants Comment les processeurs/composants actuels vont évoluer dans les années qui viennent ? • Différentes formes de parallélisme, • Projets des constructeurs, • Limitations ? Comment résoudre les problèmes spécifiques aux systèmes enfouis/embarqués : • Consommation, • coût, • temps-réel, • génération de code, • ... 8 A Long Terme Trouver de Nouveaux Paradigmes Les deux principaux problèmes sont : • Trouver un paradigme d’architecture qui se «dimensionne» facilement avec la technologie, • Trouver un paradigme d’architecture pour lequel il soit facile de concevoir un programme performant. Comprendre et anticiper les conséquences des nouvelles technologies sur les architectures. • • • • • Quelles sont les problèmes de miniaturisation ? Quelles nouvelles technologies ? Nanotechnologie. Quels sont les problèmes associés à ces nouvelles technologies ? Quelles conséquences sur la machine ? Doit-on modifier les architectures ? Nouveaux paradigmes nécessaires ? Quelles conséquences sur la compilation ? 9 Plan du Cours Les architectures haute-performance vues au travers de l’évolution de la gamme x86 – François Anceau. Les architectures haute-performance à travers les différentes évolutions et les tendances – Nathalie Drach. • Fonctionnement et optimisations des mémoires cache. • Architectures haute-performance et embarquées - Evolutions des architectures. • Programmation des architectures : optimisations manuelles et automatiques. • Nouvelles technologies et nouveaux paradigmes. 10 Références 11 Références Conférences WWW Computer Architecture Page - geo ASPLOS - International Conference on Architectural Support for Programming Languages and Operating Systems ISCA - International Symposium on Computer Architecture CGO : ACM/IEEE International Symposium on Code Generation and Optimization SIGMETRICS - International Conference on Measurement and Modeling of Computer Systems PLDI - ACM SIGPLAN Programming Language Design and Implementation ICS - International Conference on Supercomputing HPCA - Annual Symposium on High Performance Computer Architecture MICRO - Annual IEEE/ACM International Symposium on Microarchitecture PACT Euro-Par : European conference on all aspects of parallel computing Revues : IEEE Computer et IEEE Micro. - International Conference on Parallel Architectures and Compilation Techniques 12