Présentation
EnglishRÉSUMÉ
Cet article introduit la conception conjointe matériel/logiciel des systèmes intégrés sur puce, en exposant les principes et concepts généraux servant à décrire, évaluer/analyser et mettre en œuvre ces systèmes. Il s’appuie sur les étapes clés telles que : la spécification et la modélisation des caractéristiques d’un système (exigences, fonctionnalités), le partitionnement en parties matérielle et logicielle, la synthèse et vérification permettant d’inférer des mises-en-œuvre des deux parties et garantir les exigences des systèmes ; sans oublier la question méthodologique, cruciale pour le concepteur. Il se termine par une réflexion sur l’impact des technologies émergentes (mémoires non volatiles) et des nouveaux paradigmes de calcul (neuro-inspiré, quantique) sur la conception conjointe.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Abdoulaye GAMATIE : Directeur de Recherche au CNRS, - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)
-
Lionel TORRES : Professeur à l’Université de Montpellier, Polytech’Montpellier - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)
INTRODUCTION
Les circuits intégrés permettent l’intégration de fonctions logiques dans une puce de silicium, fonctions basées sur un élément unitaire qui est le transistor. La puissance de ces circuits augmente avec le nombre de transistors, mais une limitation apparaît. En effet, la dissipation thermique devient trop importante en présence d’un grand nombre de composants. Les architectures parallèles offrent une réponse intéressante à cette limitation, puisque la puissance dissipée ne varie plus exponentiellement avec la puissance de calcul comme dans une machine monoprocesseur, mais linéairement sur une machine multiprocesseur.
Par ailleurs, des évolutions importantes apparaissent également aux niveaux logiciel et applicatif. Au regard de tous ces changements, la méthodologie dite de conception-conjointe ou « co-conception » matériel/logiciel apporte une réponse intéressante pour une implantation efficace des systèmes intégrés sur puce.
Cet article offre un aperçu général des principes et concepts généraux relatifs à la conception conjointe matériel/logiciel. Cela est organisé autour des principales étapes d’un flot classique de conception : dans un premier temps, nous abordons la question de la spécification et de la modélisation ; ensuite, nous introduisons les enjeux du partitionnement matériel/logiciel, suivi d’une présentation générale concernant la synthèse et les techniques de vérification ; enfin, des aspects méthodologiques sont discutés au travers d’une illustration basée sur quelques environnements de conception conjointe basée sur des modèles. En guise de discussion ouverte sur une évolution possible des pratiques courantes en conception conjointe matériel/logiciel, nous proposons une brève réflexion concernant les technologies émergentes et les nouveaux paradigmes de calcul.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Spécification et modélisation
2.1 De la nature hétérogène des systèmes
La nature hétérogène des systèmes intégrés sur puce a été brièvement évoquée. En fait, on la retrouve à divers niveaux dans un système : partie logicielle (par exemple, système d’exploitation) versus partie matérielle (par exemple, processeur et mémoire), algorithmique applicative orientée données versus contrôle, architecture matérielle composée de processeurs de même type versus architecture combinant processeurs et divers accélérateurs matériels (par exemple, FPGA ou GPU). Toutes ces caractéristiques requièrent des formalismes et approches de spécification et de modélisation capables de les capturer pleinement. Les sections suivantes présentent un panorama de ces formalismes et approches.
HAUT DE PAGE2.2 Expression des exigences d’un système
L’expression des exigences d’un système pose les prémices de la spécification de celui-ci. Il est important que les caractéristiques/propriétés attendues soient compréhensibles par tous les acteurs prenant part au développement d’un système. Les formalismes de modélisation de ces exigences sont nombreux, allant du langage naturel aux langages formels tels que celui de la méthode B, en passant par les langages semi-formels tels qu'UML. Initialement ciblant le logiciel, ce dernier est utilisé de nos jours pour décrire un système dans son ensemble, c’est-à-dire y compris l’architecture matérielle. Les descriptions à l’aide d’UML offrent plusieurs points de vue couvrant :
-
les aspects statiques d’un système grâce aux diagrammes de classes reflétant des objets et leurs relations, la modularité, des contrats, une généricité, un héritage et une structuration en paquetages ;
-
la perception d’un système par l’utilisateur grâce aux cas d’utilisation ;
-
des aspects dynamiques d’un système grâce aux diagrammes de séquences...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Spécification et modélisation
BIBLIOGRAPHIE
-
(1) - BENVENISTE (A.), CASPI (P.), EDWARDS (S.A.), HALBWACHS (N.), LE GUERNIC (P.), DE SIMONE (R.) - « The synchronous languages twelve years later ». - Proceedings of the IEEE, 91 (1) : 64-83 (January 2003).
-
(2) - AUGUIN (M.), SENTIEYS (O.) - Conception de systèmes sur puce : nécessité d'approches globales face à la concentration des difficultés. - In M. Jemni and D. Trystram, editors, État des lieux en Architecture, Parallélisme et Système. Hermes (2005).
-
(3) - HOARE (C.A.R.) - « Communicating sequential processes », Communications of the ACM. - Vol. 21, n° 8, p. 666-677 (1978).
-
(4) - MILNER (R.) - Communication and Concurrency. - Prentice Hall, International Series in Computer Science, ISBN 0-13-115007-3 (1989).
-
(5) - JANTSCH (A.), SANDER (I.) - « Models of computation and languages for embedded system design ». - vol. 152, n° 2, pages 114-129, IEE...
ANNEXES
SynDEx
SysML
UML
Simulink
https://fr.mathworks.com/products/simulink.html
Accelera SystemC
http://accellera.org/downloads/standards/systemc
Modelica
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive