80 likes | 230 Views
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 »
E N D
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 langage logiciel compilateur jeu d’instructions (ISA) micro-architecture matériel transistor
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