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