Les travaux présentés dans ce document concernent la conception conjointe matériel/logiciel (Hardware/Software Co-design) d'applications orientées multimédia (essentiellement de type "enfouies" ou embedded) à un niveau d'abstraction dit système. Ces travaux sont menés au sein du L.E.S.T.E.R dans le groupe de recherche Adéquation Architecture Systèmes (AAS).<br />Les systèmes enfouis sont de plus en plus présents dans la vie quotidienne, que ce soit pour un usage professionnel ou personnel. On peut citer par exemple les téléphones mobiles, les assistants personnels (PDA), les consoles de jeux vidéos portables, les lecteurs multimédias portables (MP3 et consorts). On trouve aussi de plus en plus de systèmes enfouis dans les automobiles, les appareils domestiques "intelligents" etc. Les fonctions qui peuvent être intégrées dans ce type de système peuvent être, par exemple, de type traitement de signal numérique (filtrage, compression/décompression audio-vidéo,...), de type télécommunication (protocole réseau,...) ou bien encore contrôle/commande (domotique...).<br />La complexité grandissante des applications fait qu'il est nécessaire de pouvoir aborder leurs conceptions à des niveaux d'abstractions élevés. En effet, il est très intéressant de travailler à ces niveaux (par exemple au niveau système) car les gains (en surface/temps/consomation/coût) qu'il est possible d'obtenir par diverses transformations (tant algorithmiques qu'architecturales) sont proportionnels au niveau d'abstraction auquel on se situe. De plus, les décisions prises au niveau système peuvent avoir un impact très important en terme de développement industriel.<br />En effet, une mauvaise adéquation application/architecture (architecture sur/sous-dimensionnée ou mal adaptée aux caractéristiques de l'application) peut imposer, soit de mettre sur le marché un produit trop cher ou peu performant, soit de relancer un cycle de conception entraînant des délais pouvant être rédhibitoires. L'ensemble de ces décisions à prendre peut être vu comme un espace de solutions potentielles à parcourir. Celui-ci étant très vaste pour une application (ensemble des couples algorithmes / architectures), il est nécessaire de l'explorer et d'effectuer des choix afin de le réduire. On conçoit aisément que cette exploration, lorsqu'elle est effectuée au niveau système, doit présenter un bon compromis vitesse (espace des solutions très vaste) Vs. précision (les choix faits sont lourds en conséquence pour la suite du flot de conception).<br />Les outils de conception actuels, pour de tels systèmes, sont connus sous le nom d'outils de codesign et se situent à des niveaux d'abstractions relativement faibles.<br />En outre, la plupart de ces outils partent d'une architecture cible figée (matériel et logiciel, par exemple un processeur et un ASIC) pour laquelle est choisie l'implantation soit matérielle (sur ASIC ou FPGA), soit logicielle de telle ou telle fonction pré-caractérisée. Ces outils ne permettent donc pas d'explorer les architectures propres aux différentes fonctions (estimation statique Vs. estimation dynamique). Il y a donc un nouveau pas à franchir, celui de l'exploration système comme moyen de choisir l'architecture cible ou bien encore de fixer les paramètres pour une architecture cible figée mais générique.<br />La méthode proposée dans cette thèse vise à réduire progressivement l'espace des solutions en permettant au concepteur d'effectuer des compromis entre plusieurs solutions, et ce à chaque niveau d'abstraction en s'appuyant sur un découpage fonctionnel et hiérarchique de l'application qui spécifie progressivement les aspects contrôles, traitements et transferts de données. La méthode est composée des éléments suivant : i) spécification de l'application dans un langage de haut niveau ; ii) caractérisation de l'application par un ensemble de métriques définissant l'orientation transfert mémoire, traitement ou contrôle ainsi que le parallélisme potentiel de ses sous-fonctions ; iii) estimation système dynamique des performances par l'exploration et l'exploitation du parallélisme ; iv) sélection des solutions prometteuses en vue de phases de projections architecturale et logicielle.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00106297 |
Date | 10 April 2003 |
Creators | Le Moullec, Yannick |
Publisher | Université de Bretagne Sud |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | habilitation ࠤiriger des recherches |
Page generated in 0.0019 seconds