Thèse soutenue

Génération des adresses des instructions pour les processeurs superscalaires fortment pipelinés
FR
Accès à la thèse
Auteur / Autrice : Antony Fraboulet
Direction : André Seznec
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2004
Etablissement(s) : Rennes 1

Mots clés

FR

Mots clés contrôlés

Mots clés libres

Résumé

FR

L'allongement des pipelines d'instructions à chaque nouvelle génération de processeurs entraîne un problème d'accès au générateur d'adresses des instructions à charger. Pour le résoudre, les processeurs actuels utilisent une génération d'adresses hiérarchique. Un petit prédicteur d'adresses accédé en un cycle est associé à un prédicteur plus lent mais plus précis. Ce dernier a pour fonction de corriger les chargements prédits par le petit prédicteur. La faiblesse de ce type de prédicteur est la faible précision du petit prédicteur induisant d'innombrables bulles dans le pipeline. Nous avons montré que l'indexation des pre��dicteurs plusieurs cycles en avance est une solution alternative intéressante à la génération d'adresses hiérarchique. La prédiction de la direction des branchements conditionnels et des adresses des branchements indirects reste du même ordre de grandeur tout en diminuant considérablement le nombre de mauvais chargements. Nous avons ensuite montré qu'un générateur d'adresses indexé plusieurs cycles en avance pouvait être découplé du chargement des instructions. Le chargement de plusieurs blocs non contigus par cycle est alors possible sans ajout de port de lecture sur l'antémémoire d'instructions. Le débit de chargement obtenu est supérieur à celui obtenu avec un générateur d'adresses classique indexé plusieurs cycles en avance. Pour simplifier l'implémentation et/ou limiter la consommation électrique, ce générateur d'adresses peut aussi être cadencé à une fréquence d'horloge plus faible que celle de l'unité de chargement des instructions. Le débit de chargement alors obtenu est du même ordre que celui obtenu avec un générateur d'adresses indexé plusieurs cycles en avance non découplé du chargement des instructions.