Anne Jaigu
07-25-2004, 02:48 AM
Thesis submitted to ENSSAT
Raphaël David - 9 juillet 2003
Architecture reconfigurable dynamiquement pour applications mobiles
http://www.irisa.fr/bibli/publi/theses/2003/david/david.html
Résumé
Conjointement à l'évolution rapide et constante des technologies de la
microélectronique, l'essor des applications embarquées grand public
amène des contraintes de conception sans précédents. Aux traditionnelles
exigences de performance et de moindre coût, s'ajoutent désormais des
contraintes de faible consommation et de flexibilité qui imposent la
définition de nouveaux paradigmes architecturaux. A cette fin, nous
étudions ici une architecture enfouie reconfigurable dynamiquement,
DART. La définition de cette architecture fait suite à un état de l'art
en matière d'architecture reconfigurable et à une analyse du domaine
applicatif. Le premier aspect de ce travail porte donc sur l'extraction
de mécanismes architecturaux autorisant l'association des différentes
contraintes inhérentes aux applications mobiles de prochaines
générations. Suite à la définition des fondements de l'architecture, la
mise en oeuvre de ces concepts constitue le second aspect de ce
travail. Dans un premier temps, l'architecture système de DART est
présentée. Par raffinements successifs, nous atteignons progressivement
les plus bas niveaux de la hiérarchie constituant l'architecture et
détaillons les primitives de calcul, de contrôle et de mémorisation sur
lesquelles est bâti le circuit. Les modèles de programmation
sous-jacents à cette architecture sont par ailleurs explicités. Une
architecture n'étant rien sans outils permettant de l'exploiter, la
chaîne de développement associée à DART fait l'objet du troisième point
de cette étude. Nous démontrons en particulier que par l'association
d'un front-end permettant la transformation et l'optimisation de codes
C, d'un compilateur reciblable et d'un outil de synthèse de haut niveau,
une chaîne de développement efficace peut être construite. Les
différentes optimisations logicielles mises en oeuvre dans ces outils
sont par ailleurs détaillées, de même que le simulateur permettant leur
validation et l'évaluation de la pertinence de la solution proposée. Le
dernier aspect de ce travail concerne la validation des fondements de
l'architecture et de leur mise en oeuvre. Nous présentons pour cela les
résultats issus de l'implémentation de fonctions clés des
télécommunications de troisième génération et analysons le comportement
de DART sur ces applications. Une évaluation poussée de la consommation
d'énergie et des performances nous conduit par ailleurs à comparer DART
à des paradigmes architecturaux plus communs que sont les processeurs
programmables et les FPGAs. Pour assurer le suivi de nos recherches,
nous effectuons finalement une analyse critique de cette architecture et
des outils qui lui sont associés. Nous évoquons également les nombreuses
perspectives de ce traval.
Mots clefs: Traitement du signal, télécommunications, applications
mobiles, architecture reconfigurable, FPGA, processeur programmable,
arithmétique des ordinateurs, compilation, synthèse de haut niveau,
hiérarchie mémoire, estimation de la consommation
Abstract
Together with rapid evolution of microelectronics technology, consumer
embedded applications expansion brings unprecedented conception
constraints. To traditional performance and low-cost requirements, are
nowadays added low-consumption and flexibility constraints which imply
the definition of new architectural paradigms. Consequently we are here
studying a new embedded reconfigurable architecture, DART. The
definition of this architecture comes from the state of the art in
reconfigurable architectures, and to an application domain analysis. The
first part of our work consists in extracting architectural mechanisms
which allow association of the different constraints inherent to next
generation embedded applications. Following these architectural
principles definitions, implementation of these concepts constitutes the
second part of this work. In a first time the system level architecture
of DART is presented. By successive refinements, we gradually reach the
lowest levels of the hierarchy constituting architecture, and detail the
processing, control and storage primitives. The programming models
underlying to this architecture are moreover extracted. An architecture
without programming environnement is unusable. Hence the third part of
our work consists in developing an efficient compilation framework. In
particular, we demonstrate that by the association of a front-end,
allowing transformation and optimisation of C codes, of a retargetable
compiler and a high-level synthesis tool, an efficient development flow
can be built. The different software optimisations implemented in these
tools are moreover depicted, as well as the simulator allowing their
validation and the evaluation of the proposed solution quality. The last
part of our work concerns the architecture validation. For that, we are
presenting results coming from implementations of third generation
telecommunication key applications, and analyse the behavior of DART on
these applications. Thanks to a fine evaluation of the energy
consumption and of the performance, we are also comparing DART to more
traditional architectural paradigms which are the programmable
processors and FPGAs. To follow up our research, we have finally carried
out a critical analysis on this architecture and its associated
developpement tools. We are also discussing about the numerous
perspectives of this research work.
Keywords: Signal processing, telecommunications, embedded applications,
reconfigurable architecture, FPGA, programmable processor, computer
arithmetic, compilation, high-level synthesis, memory hierarchy,
consumption estimation
Raphaël David - 9 juillet 2003
Architecture reconfigurable dynamiquement pour applications mobiles
http://www.irisa.fr/bibli/publi/theses/2003/david/david.html
Résumé
Conjointement à l'évolution rapide et constante des technologies de la
microélectronique, l'essor des applications embarquées grand public
amène des contraintes de conception sans précédents. Aux traditionnelles
exigences de performance et de moindre coût, s'ajoutent désormais des
contraintes de faible consommation et de flexibilité qui imposent la
définition de nouveaux paradigmes architecturaux. A cette fin, nous
étudions ici une architecture enfouie reconfigurable dynamiquement,
DART. La définition de cette architecture fait suite à un état de l'art
en matière d'architecture reconfigurable et à une analyse du domaine
applicatif. Le premier aspect de ce travail porte donc sur l'extraction
de mécanismes architecturaux autorisant l'association des différentes
contraintes inhérentes aux applications mobiles de prochaines
générations. Suite à la définition des fondements de l'architecture, la
mise en oeuvre de ces concepts constitue le second aspect de ce
travail. Dans un premier temps, l'architecture système de DART est
présentée. Par raffinements successifs, nous atteignons progressivement
les plus bas niveaux de la hiérarchie constituant l'architecture et
détaillons les primitives de calcul, de contrôle et de mémorisation sur
lesquelles est bâti le circuit. Les modèles de programmation
sous-jacents à cette architecture sont par ailleurs explicités. Une
architecture n'étant rien sans outils permettant de l'exploiter, la
chaîne de développement associée à DART fait l'objet du troisième point
de cette étude. Nous démontrons en particulier que par l'association
d'un front-end permettant la transformation et l'optimisation de codes
C, d'un compilateur reciblable et d'un outil de synthèse de haut niveau,
une chaîne de développement efficace peut être construite. Les
différentes optimisations logicielles mises en oeuvre dans ces outils
sont par ailleurs détaillées, de même que le simulateur permettant leur
validation et l'évaluation de la pertinence de la solution proposée. Le
dernier aspect de ce travail concerne la validation des fondements de
l'architecture et de leur mise en oeuvre. Nous présentons pour cela les
résultats issus de l'implémentation de fonctions clés des
télécommunications de troisième génération et analysons le comportement
de DART sur ces applications. Une évaluation poussée de la consommation
d'énergie et des performances nous conduit par ailleurs à comparer DART
à des paradigmes architecturaux plus communs que sont les processeurs
programmables et les FPGAs. Pour assurer le suivi de nos recherches,
nous effectuons finalement une analyse critique de cette architecture et
des outils qui lui sont associés. Nous évoquons également les nombreuses
perspectives de ce traval.
Mots clefs: Traitement du signal, télécommunications, applications
mobiles, architecture reconfigurable, FPGA, processeur programmable,
arithmétique des ordinateurs, compilation, synthèse de haut niveau,
hiérarchie mémoire, estimation de la consommation
Abstract
Together with rapid evolution of microelectronics technology, consumer
embedded applications expansion brings unprecedented conception
constraints. To traditional performance and low-cost requirements, are
nowadays added low-consumption and flexibility constraints which imply
the definition of new architectural paradigms. Consequently we are here
studying a new embedded reconfigurable architecture, DART. The
definition of this architecture comes from the state of the art in
reconfigurable architectures, and to an application domain analysis. The
first part of our work consists in extracting architectural mechanisms
which allow association of the different constraints inherent to next
generation embedded applications. Following these architectural
principles definitions, implementation of these concepts constitutes the
second part of this work. In a first time the system level architecture
of DART is presented. By successive refinements, we gradually reach the
lowest levels of the hierarchy constituting architecture, and detail the
processing, control and storage primitives. The programming models
underlying to this architecture are moreover extracted. An architecture
without programming environnement is unusable. Hence the third part of
our work consists in developing an efficient compilation framework. In
particular, we demonstrate that by the association of a front-end,
allowing transformation and optimisation of C codes, of a retargetable
compiler and a high-level synthesis tool, an efficient development flow
can be built. The different software optimisations implemented in these
tools are moreover depicted, as well as the simulator allowing their
validation and the evaluation of the proposed solution quality. The last
part of our work concerns the architecture validation. For that, we are
presenting results coming from implementations of third generation
telecommunication key applications, and analyse the behavior of DART on
these applications. Thanks to a fine evaluation of the energy
consumption and of the performance, we are also comparing DART to more
traditional architectural paradigms which are the programmable
processors and FPGAs. To follow up our research, we have finally carried
out a critical analysis on this architecture and its associated
developpement tools. We are also discussing about the numerous
perspectives of this research work.
Keywords: Signal processing, telecommunications, embedded applications,
reconfigurable architecture, FPGA, programmable processor, computer
arithmetic, compilation, high-level synthesis, memory hierarchy,
consumption estimation