Architecture des ordinateurs
Résumé
Depuis plusieurs années, l'un des principaux moteurs de la performance permettant de répondre aux nouvelles exigences des applications, de plus en plus complexes, vient de l'augmentation des capacités de traitement en parallèle des architectures. Par exemple, l'approche " more-than-moore " propose d'intégrer sur un même support matériel, la puce électronique, de très nombreuses fonctionnalités, on parle alors de systèmes sur puce complexes (" System-On-Chip ") ou SoC. Ces systèmes offrent des capacités de traitement très fortes en partie grâce aux recherches en architecture de machines. En effet, la diminution de finesse de gravure des circuits intégrés n'explique pas tout à elle seule. Certes, elle permet d'intégrer plus d'éléments de calcul, de mémorisation et de communication sur une même puce, mais il faut organiser ces nombreux éléments afin de les faire travailler collectivement de façon efficace. Nous assistons à la généralisation des systèmes multiprocesseurs, homogènes ou hétérogènes, à la fois dans le monde du calcul généraliste (" General Purpose Computing ") et dans le monde des systèmes embarqués, au sein duquel on peut même observer l'apparition d'architectures massivement parallèles. Cette augmentation de la complexité des circuits va cependant de pair avec les coûts de conception et de fabrication qui évoluent également de manière exponentielle, combinés à des contraintes de " time to market " toujours plus fortes, et des standards/normes de plus en plus complexes. Les architectures de ces systèmes tirent parti de ces incroyables possibilités technologiques avec l'augmentation du nombre de cœurs et de la volumétrie des hiérarchies mémoires internes, l'ajout d'accélérateurs de calcul intégrés, etc. Mais il ne faut pas croire que tout ceci peut se faire simplement en appliquant les techniques connues. Il est nécessaire de repenser les méthodes de conception des architectures, les mécanismes d'utilisation efficace des ressources présentes dans ces nouvelles architectures ainsi que les méthodes de conception de circuits pour pouvoir exploiter ce potentiel. Les articles de ce numéro présentent les résultats de différents travaux de recherche effectués dans la communauté de l'architecture des machines en France. Ceux-ci couvrent le large spectre de la gestion complexe des ressources (sur des aspects de contrôle et mémorisation), de l'évaluation des performances atteintes (traces d'exécution et précision de certains calculs arithmétiques) mais adressent aussi les problèmes de conception de nouvelles architectures (prédiction de branchement et architectures reconfigurables). Loin de couvrir l'ensemble des travaux effectués en France, les articles présentés ici permettent une approche de certains verrous encore bloquants en conception d'architectures de machines, embarquées ou non.