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: transistors (Intel 8086) 1989: 1 M transistors (Intel ) 1999: 130 M transistors (HP PA-8500) Les performances des processeurs doublent tous les 18 mois: 1989: Intel 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 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 langage logiciel 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)
Microarchitecture Vision macroscospique 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