Rapport_1_MASCOTTE.doc 1/83 Révision 2, 23 janv. 07
Projet
Maîtrise et Contrôle des Temps d’Exécution (MasCotTE )
Sous projet 3
Benchmarking et recommandations d'utilisation
des micro-contrôleurs implémentant des mécanismes d'anticipation
Rapport 2
Etude de la variabilité d'exécution de benchmark automobiles
sur processeurs MPC5554 et Star12X
Benoît Vabre, Jacques Collet, Yves Crouzet
Laboratoire d'Analyse et d'Architecture des Systèmes du CNRS
7 avenue du colonel Roche 31077 Toulouse Cedex
Rapport_1_MASCOTTE.doc 2/83 Révision 2, 23 janv. 07
Rapport_1_MASCOTTE.doc 3/83 Révision 2, 23 janv. 07
Plan
I: INTRODUCTION .................................................................................................................. 5
II: ARCHITECTURE ET CONFIGURATION DES PROCESSEURS ................................. 8
A: ARCHITECTURES DU PROCESSEUR STAR12X ..................................................................... 8
B: ARCHITECTURE DU PROCESSEUR MPC5554 ...................................................................... 9
B1.Introduction ................................................................................................................ 9
B2.La hiérarchie mémoire ............................................................................................... 9
B3.Latences ................................................................................................................... 12
B4.Prédicteur de branchement ...................................................................................... 12
B5.Horloge .................................................................................................................... 13
C: FONCTIONS DE GESTION DE L'ARCHITECTURE .................................................................. 13
C1.Star 12X ................................................................................................................... 13
C2.MPC 5554 ................................................................................................................ 13
III: METHODOLOGIE DE MESURE ..................................................................................... 20
A: METHODOLOGIE DE MESURE ........................................................................................... 20
A1.Principe général ....................................................................................................... 20
A2.Automatisation des tests ........................................................................................... 20
A3.La bibliothèque iConnect et le contrôle d’exécution ................................................ 22
B: ENVIRONNEMENT D'EXECUTION ...................................................................................... 24
IV: BENCHMARK ANGLE2TIME .......................................................................................... 26
A: PROBLEMATIQUE DE L'ALLUMAGE DES BOUGIES ............................................................. 26
A1.Généralités ............................................................................................................... 26
A2.Extrapolation d'allumage ......................................................................................... 27
B: ALGORITHME EXECUTE PAR LE BENCHMARK................................................................... 29
C: MODIFICATIONS APPORTEES AU CODE A LA VERSION ORIGINALE .................................... 32
D: EXECUTION SUR MPC 5554 ............................................................................................. 35
D1.Etude de la variabilité d'exécution .......................................................................... 35
D2.Taille en mémoire du benchmark ............................................................................. 36
D3.Conclusion ............................................................................................................... 36
E: EXECUTION SUR STAR12X .............................................................................................. 37
E1.Remarques préliminaires liées à l'architecture du Star12X ..................................... 37
E2.Etude de la variabilité d'exécution ........................................................................... 38
E3.Taille en mémoire du benchmark ............................................................................. 38
V: BENCHMARK « TABLELOOKUP AND INTERPOLATION » ................................... 40
A: INTERPOLATION ............................................................................................................... 40
A1.Intérêt de l‘interpolation .......................................................................................... 40
A2.Précision d‘interpolation ......................................................................................... 41
B: ALGORITHME EXECUTE PAR LE BENCHMARK................................................................... 42
C: MODIFICATIONS DU CODE APPORTEES A LA VERSION ORIGINALE .................................... 44
D: EXECUTION SUR MPC 5554 ............................................................................................. 44
D1.Etude de la variabilité d'exécution .......................................................................... 44
D2.Taille en mémoire de l'application .......................................................................... 46
E: ETUDE DE L'EXECUTION SUR STAR12X ........................................................................... 47
Rapport_1_MASCOTTE.doc 4/83 Révision 2, 23 janv. 07
E1.Remarques préliminaires liées à l'architecture du Star12X ..................................... 47
E2.Etude de la variabilité d'exécution ........................................................................... 47
E3.Taille en mémoire occupée par l'application ........................................................... 48
VI: BENCHMARK « TOOTH TO SPARK » ........................................................................... 50
A: DESCRIPTION DU PROGRAMME ........................................................................................ 50
A1.Rappels simple sur l'injection .................................................................................. 50
A2.Vecteur d’entrée du programme............................................................................... 50
A3.Grandeurs calculées par le programme ................................................................... 52
A4.Variables intermédiaires .......................................................................................... 52
A5.Modifications apportées à la version originale ........................................................ 53
B: ALGORITHME EXECUTE PAR LE BENCHMARK................................................................... 54
C: ETUDE DE L'EXECUTION SUR MPC5554 EN MODE MONOTACHE ...................................... 57
C1.Espace mémoire occupé par l'application ............................................................... 57
C2.Influence du cache et du prédicteur de branchement............................................... 57
C3.Influence des options de compilation ....................................................................... 61
C4.Influence du prefetch de mémoire flash ................................................................... 63
C5.Influence de l'algorithme de tri ................................................................................ 66
C6.Influence du verrouillage du cache (lock, flush) ...................................................... 69
D: ETUDE DE L'EXECUTION SUR STAR12X ........................................................................... 70
D1.Espace mémoire occupé par l'application ............................................................... 70
D2.Variabilité d'exécution ............................................................................................. 70
VII: EXECUTION MULTITACHE SOUS OSEKTURBO ...................................................... 72
A: EXECUTION SUR MPC5554 SOUS OSEKTURBO ................................................................ 72
A1.Le RTOS OSEK : ...................................................................................................... 72
A2.OIL - configuration de l’application : ...................................................................... 72
A3.Les services fournis : ................................................................................................ 72
VIII: CONCLUSION ..................................................................................................................... 78
ANNEXE 1 : METHODOLOGIE DE CAPTURE DES LATENCES D'ACCES EN
MEMOIRE POUR LE MPC5554 .................................................................................................. 80
A. LA MEMOIRE FLASH .................................................................................................. 80
1.lecture : ....................................................................................................................... 80
B. LA MEMOIRE SRAM ................................................................................................... 81
1.lecture : ....................................................................................................................... 81
2.écriture : ..................................................................................................................... 83
Rapport_1_MASCOTTE.doc 5/83 Révision 2, 23 janv. 07
I: Introduction
Ce deuxième rapport décrit les travaux réalisés dans le cadre de l’étude de la variabilité
d’exécution. Ce document fait suite au premier rapport du projet Mascotte et détaille donc
la partie IVC concernant les objectifs et la méthodologie d’étude de la variabilité
d’exécution.
Ce rapport présente cette étude benchmark par benchmark du plus simple et facile à
aborder au plus complet et réaliste. Les trois benchmarks utilisés proviennent de EEMBC :
Angle2Time, TableLookup et Tooth2Spark. Il convient avant de commencer cette étude, de
décrire l’architecture des processeurs et la plateforme logicielle. Les travaux s’achèveront
ensuite par une présentation du micro noyau temps réel dédié à l’automobile : OSEK.
Le rapport est divisé en six parties, comme décrit ci-dessous :
- Section II :
Description de l’architecture et de la configuration des processeurs
- Section III :
Présentation de la méthodologie de mesure
- Section IV :
Benchmark Angle2Time
- Section V :
Benchmark « TableLookup and Interpolation »
- Section VI :
Benchmark « Tooth to Spark » (étude détaillée en fonction des différents facteurs
qui influence la variabilité d’exécution)
- Section VII :
Exécution multitâche sous OsekTurbo
La sixième partie représente le cœur de ce document. On étudie de façon systématique
la variabilité d’exécution en fonction de nombreux mécanismes d’accélérations ou en
fonction de l’algorithme.
Introduction
1
1 / 83 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !