ARPO: architecture des processeurs superscalaires,VLIW et optimisation
description
Transcript of ARPO: architecture des processeurs superscalaires,VLIW et optimisation
ARPO: architecture des processeurs superscalaires,VLIW et optimisation
André Seznec et François Bodin
Processeurs hautes performances
Processeurs à usage général serveurs, ordinateurs de bureau, ordinateurs de poche
... exécute tous types d’applications
Processeurs « enfouis » téléphone, télévision, voiture ... application spécifique processeur spécialisé ou dérivé d’un processeur à
usage général
« Loi » de Moore
Le nombre de transistors sur un micro-processeur double tous les 18 mois 1972: 2000 transistors (Intel 4004) 1979: 30000 transistors (Intel 8086) 1989: 1 M transistors (Intel 80486) 1999: 130 M transistors (HP PA-8500)
Les performances des processeurs doublent tous les 18 mois: 1989: Intel 80486 16 Mhz (< 1inst/cycle) 1993 : Intel Pentium 66 Mhz x 2 inst/cycle 1995: Intel PentiumPro 150 Mhz x 3 inst/cycle 06/2000: Intel Pentium III 1Ghz x 3 inst/cycle 09/2003: Intel Pentium 4 3.2 Ghz x 3 inst/cycle
Processeurs de plus en plus puissants
Pas juste la technologie
mais aussi: La micro-architecture Le jeu d’instruction la compilation: optimisations pour l’architecture l ’écriture « architecture aware » des applications
L’interface logiciel / matériel
transistor
micro-architecture
jeu d’instructions (ISA)
compilateur
langagelogiciel
matériel
Jeu d’instructions (ISA)
C’est l’interface matériel / logiciel: directement vue par le compilateur Exemples
Intel x86 (1979) MIPS , SPARC (milieu années 80) Alpha (début années 90)
Les ISA évoluent lentement, par ajouts successifs il faut avoir de bonnes raisons pour lancer un nouveau jeu
d’instructions
• plus de raisons pour les processeurs enfouis : applications spécifiques, densité du code, consommation électrique, ...
Microarchitecture
Vision macrocospique de l ’implémentation du matériel: pas besoin de savoir comment fonctionne un transistor !!
Mais comprendre pourquoi un programme séquentiel (en sémantique), lisant ses données et instructions dans une mémoire répondant en 100 ns peut exécuter 3 instructions toutes les 300 ps
Compilation/Optimisation
La structure des codes influe de plus en plus sur le temps d ’exécution souvent un facteur 10 sur le temps d ’exécution
Comprendre les phénomènes Techniques automatiques d ’optimisation
Quelques outils