Estimation methods of software performance: application to the quick development of optimized code for dsp processor class - Archive ouverte HAL Access content directly
Theses Year : 1999

Estimation methods of software performance: application to the quick development of optimized code for dsp processor class

Méthode d'estimation de performance logicielle : application au développement rapide de code optimise pour une classe de processeurs dsp

(1)
1

Abstract

Current DSP C compilers are generally unable to produce efficient assembly code. In order to respect tight real-time constraints of embedded systems, programmers commonly write DSP code by hand. However programming in assembly language becomes increasingly difficult since DSP applications are becoming larger and more complex. Programming DSP applications in high level language such as C is becoming more prevalent to reduce the development costs, thus the time-tomarket. Moreover, it is well known that it is possible to improve the quality of generated assembly code by modifying the original C source code for the target compiler (i.e. target DSP). In order to make more efficient use of DSP C compilers, and minimize the need to write assembly code by hand, we propose a methodology based on software estimations. A performance evaluation of the code generated by the C compiler is first provided. Then to evaluate the quality of this code, an estimation of an optimized assembly code is also computed from an intermediate representation of GNU-based C compiler. This metric represents the performance of the code as if it had been hand written by an experienced programmer. By comparing this estimation with the generated assembly code, it is easier to determine if the C compiler has produced efficient code and locate parts of the application that need to be optimized. Thus software estimations guide programmers for optimizing time-critical routines of the application. The estimation model is retargetable and based on a DSP intermediate representation. Experimentation with industrial applications has illustrated the interest of this approach.
Les compilateurs C pour processeurs DSP actuellement disponibles sont généralement incapables de générer un code assembleur respectant les contraintes temps réel fortes des systèmes embarqués. Les coûts de développement élevés associés au codage manuel d'applications sur DSP et la pression sans cesse plus forte du « time-to-market » rendent cette situation de plus en plus inacceptable pour les entreprises et militent en faveur d'une approche de haut niveau basée sur l'utilisation de compilateurs. Or, si les compilateurs pour DSP sont globalement inefficaces, il est toutefois possible d'améliorer de manière significative les performances du code assembleur généré en modifiant le code C d'origine pour le compilateur cible (i.e. l'architecture cible) sur les parties de code critiques de l'application. Ces problèmes ont motivé l'élaboration de nouveaux outils permettant d'accélérer ce processus. Nous proposons pour cela d'utiliser des méthodes d'estimations logicielles qui fournissent, à partir d'une description en C de l'application, d'une part les performances du code assembleur généré sans utiliser de simulateur de niveau instruction et d'autre part les performances d'un code assembleur optimisé. Ce dernier code correspond à une estimation d'un code écrit par un programmeur expérimenté. Par comparaison des deux performances il est aisé de localiser rapidement les parties à optimiser dans le code C de l'application. Par cette approche on limite ainsi aux parties réellement critiques, identifiées par la méthode, la nécessité de développer du code assembleur (si nécessaire). Le modèle d'estimation utilisé est multicible et se base sur une représentation intermédiaire orientée schéma de calcul DSP. De nombreuses expérimentations sur des applications industrielles illustrent l'intérêt de l'approche.
Fichier principal
Vignette du fichier
Pegatoquet_PhD_1999.pdf (1.06 Mo) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

tel-01921788 , version 1 (14-11-2018)

Identifiers

  • HAL Id : tel-01921788 , version 1

Cite

Alain Pegatoquet. Méthode d'estimation de performance logicielle : application au développement rapide de code optimise pour une classe de processeurs dsp. Architectures Matérielles [cs.AR]. Universite Nice Sophia Antipolis, 1999. Français. ⟨NNT : ⟩. ⟨tel-01921788⟩
96 View
202 Download

Share

Gmail Facebook Twitter LinkedIn More