thesis

Modéliser la prédiction de branchement pour le calcul de temps d'exécution pire-cas

Defense date:

Jan. 1, 2008

Edit

Institution:

Toulouse 3

Disciplines:

Abstract EN:

The wider and wider use of high-performance processors as part of real-time systems makes it more and more difficult to guarantee that programs will respect their deadlines. While the computation of Worst-Case Execution Times relies on static analysis of the code, the challenge is to model with enough safety and accuracy the behaviour of intrinsically dynamic components. In this report, we focus on the impact of dynamic branch prediction on the worst-case execution time. We present two approaches to model this impact. Local approach examines each branch individually to determine its worst-case number of mispredictions. In the global approach, an ILP system of constraints describes the computation of the branch prediction. Each part of the dynamic branch predictor can be modelled separately: BHT indexing, conflicts on BHT entries and 2-bit counter computation of the prediction. We introduce two branch predictor models: the bimodal predictor and a 2-bit global predictor. We propose a way to compare the effort needed to build the system of constraints that we name modelling complexity. This complexity is quantified as a function of: the number of constraints, the number of variables and the system arity. We analyse the modelling complexity of some branch predictors and we deduce the context of use that fit for the global approach. We examine the differences between the two approaches.

Abstract FR:

De nos jours, les pipelines haute-performance sont de plus en plus utilisés dans les systèmes temps-réel et il devient de plus en plus difficile de garantir que les programmes respecteront leurs échéances. Certains éléments de l'architecture des processeurs récents ont des comportements dynamiques difficiles à modéliser pour le calcul de temps d'exécution pire-cas (WCET) par méthode statique. Dans ce rapport nous étudions l'impact de la prédiction de branchement dynamique sur le temps d'exécution pire-cas. Cet impact dépend de la valeur de la prédiction (correcte ou mauvaise). Deux approches permettent de modéliser la prédiction de branchement dynamique. L'approche locale consiste à estimer le nombre de mauvaises prédictions pire-cas. Par approche globale, le calcul de la prédiction est décrit sous forme de système de contraintes linéaires en nombres entiers. Nous présentons la construction de ce système en fonction des différents mécanismes qui constituent un prédicteur de branchement dynamique (indexation de la table de prédiction, conflits sur les entrées de cette table et calcul de la prédiction par des compteurs). Nous détaillons deux modèles de prédicteurs de branchement : le prédicteur bimodal et un prédicteur global 2-bits. Pour comparer la taille de ces systèmes de contraintes nous proposons une mesure de la complexité de modélisation basée sur le nombre de contraintes, le nombre de variables et l'arité du système. A partir d'une analyse des résultats obtenus, nous précisons les limites des deux approches et dans quels contextes elles sont bien adaptées.