Brevet FR2944622A1 — publié le 20101022

ARCHITECTURE DE SYSTEMES TEMPS REEL DE TRAITEMENT DE DONNEES EMBARQUES SUR PUCE La présente invention a pour objet une architecture générique et modulaire pour l'implémentation sur un système sur puce, connu sous l'abréviation anglo-saxonne SoC (� System on Chip �), reconfigurable ou non de fonctions de traitement de données temps réel incluant des traitements par paquets et/ou des traitements au fil de l'eau. Une application possible de l'invention est la conception d'un système sur puce implémentant un dispositif de transmission de données temps réel, un dispositif de compression de données ou encore un dispositif de cryptographie. L'invention permet, par exemple, d'implémenter et d'interconnecter aisément des fonctions de traitement du signal dans le but de concevoir un système complet. L'invention concerne le domaine technique des systèmes temps réel de traitement de données numériques, par exemple les systèmes de transmission sans fils ou les dispositifs de compression de données. Ces systèmes mettent en oeuvre des algorithmes de nature diverse issus de différents standards qui en spécifient les caractéristiques. Ces algorithmes peuvent être implémentés sur un système sur puce ou système SoC tel qu'un composant à logique programmable de type FPGA (� Field Programmable Gate Array �) ou CPLD (� Complex Programmable Logic Device �), un circuit intégré non reconfigurable de type ASIC (� Application- Specific Integrated Circuit �) ou un circuit intégré partiellement reconfigurable de type ASIP (� Application-Specific Instruction-set Processor �). Ce type de composants présente l'avantage de permettre l'intégration de traitements plus complexes que ce qui est possible de réaliser sur un processeur logiciel, cependant lorsque l'on souhaite mettre à jour ou modifier le traitement exécuté sur ce composant, il est souvent nécessaire de repenser entièrement la conception de l'architecture du système, notamment au niveau du séquencement et de l'interfaçage des traitements. Les architectures actuelles utilisées pour concevoir et implémenter des systèmes de traitement de données ne permettent pas d'éviter un coût de redéveloppement important et ne sont pas suffisamment génériques et paramétrables afin de permettre la modification ou la mise à jour des algorithmes de traitement de données implémentés. La présente invention propose une architecture générique et modulaire permettant de concevoir un dispositif de traitement numérique, par exemple un système de transmission de données. Cette architecture comporte trois types de composants qui peuvent être aisément interconnectés et interfacés les uns aux autres. Ces composants prennent en compte les caractéristiques particulières, notamment en termes de séquencement et d'échanges de données, des algorithmes implémentés. En particulier, certains algorithmes nécessitent la réception d'un bloc ou paquet de données avant de pouvoir effectuer le traitement requis tandis que d'autres algorithmes mettent en oeuvre un traitement au fil de l'eau, c'est-à-dire au fur et à mesure de la réception d'échantillons de données. De plus l'architecture selon l'invention propose un séquencement des traitements distribué dans chaque module et non pas centralisé dans une unité de traitement externe, comme cela est le cas dans certaines solutions de l'art antérieur. L'invention a notamment pour avantage de proposer une architecture modulaire, flexible et hautement paramétrable ce qui est important lorsqu'on souhaite mettre à jour le système de traitement de données avec, par exemple, de nouveaux types d'algorithmes. Les composants conçus pour cette architecture permettent d'implémenter des algorithmes complexes tout en restant facilement interchangeables sans que le séquencement des traitements impose de redéfinir entièrement la conception du système. La généricité de l'architecture proposée par la présente invention est due notamment au fait que les composants spécifiés présentent toujours la même interface de données bien que les traitements qu'ils implémentent diffèrent. A cet effet, l'invention a pour objet une architecture d'un système temps-réel de traitement de données embarqué sur puce, lesdites données étant représentées sous forme d'échantillons, caractérisée en ce qu'elle comporte un ensemble de composants interconnectés entre eux au moyen d'interfaces génériques, ledit ensemble de composants comprenant au moins un composant de mémorisation adapté à stocker lesdits échantillons de données en les regroupant par paquets, un composant de traitement intensif adapté à exécuter un traitement algorithmique temps-réel sur lesdits échantillons de données un par un reçus à un rythme constant et un composant de traitement semi-intensif adapté à exécuter un traitement algorithmique temps-réel sur lesdits échantillons de données regroupés par paquets et reçus à un rythme contrôlé par ledit composant de traitement semi-intensif lui-même. Dans une variante de réalisation de l'invention, ledit composant de 20 traitement semi-intensif comporte au moins : o un module de séquencement adapté à : déterminer la disponibilité dudit composant à traiter la réception d'un nouveau paquet de données, communiquer cette disponibilité au composant connecté en 25 amont, et recevoir une information sur la disponibilité du composant connecté en aval à recevoir un paquet de données, o un module de traitement algorithmique des données, o un module de gestion dynamique des paramètres dudit traitement 30 algorithmique, 10 15 20 25 o un module de gestion des interfaces d'entrée adapté à recevoir des données sous forme de paquets et à les transmettre audit module de traitement algorithmique, o un module de gestion des interfaces de sortie adapté à recevoir les données traitées par ledit module de traitement algorithmique et à les transmettre à un composant connecté en aval en fonction de sa disponibilité. Dans une variante de réalisation de l'invention, ledit module de séquencement dudit composant de traitement semi-intensif est adapté à : ^ déterminer la disponibilité dudit composant à traiter un échantillon de données, communiquer cette disponibilité au composant connecté en amont, et recevoir une information sur la disponibilité du composant connecté en aval à recevoir un échantillon de données. Dans une variante de réalisation de l'invention, ledit composant de mémorisation comporte au moins : o un module de séquencement adapté à : déterminer la disponibilité dudit composant à mémoriser un nouveau paquet de données, communiquer cette disponibilité à un composant connecté en amont, ou recevoir une information sur la disponibilité d'un composant connecté en aval à recevoir un nouveau paquet de données, o une mémoire adaptée à stocker les données reçues par ledit composant de mémorisation, o un module de gestion des interfaces d'entrée adapté à recevoir des données et à les transmettre à ladite mémoire, o un module de gestion des interfaces de sortie adapté à extraire les données de ladite mémoire et à les transmettre à un composant connecté en aval en fonction de sa disponibilité. Dans une variante de réalisation de l'invention, ledit composant de 5 traitement intensif comporte au moins : o un module de traitement algorithmique des données adapté à traiter lesdites données au fil de l'eau, o un module de séquencement adapté à séquencer les traitements exécutés par ledit module de traitement algorithmique et à mettre à 10 jour ses paramètres, o un module de gestion des interfaces d'entrée adapté à recevoir des données provenant d'un composant connecté en amont et à les transmettre audit module de traitement algorithmique, o un module de gestion des interfaces de sortie adapté à recevoir les 15 données traitées par ledit module de traitement algorithmique et à les transmettre à un composant connecté en aval. Dans une variante de réalisation de l'invention, le séquencement des opérations effectuées au sein dudit système est local à chaque composant de ladite architecture. 20 L'invention a également pour objet un système temps-réel sur puce caractérisé en ce que son architecture est conçue selon la description précédente. Dans une variante de réalisation de l'invention, ledit système est un 25 système temps-réel de transmission de données, ou un système temps-réel de compression de données ou un système temps-réel de cryptographie. Dans une variante de réalisation de l'invention, ledit système est un composant à logique programmable de type FPGA ou un circuit complexe programmable de type CPLD ou un circuit intégré non reconfigurable de type 30 ASIC ou un circuit intégré semi reconfigurable de type ASIP. D'autres caractéristiques apparaîtront à la lecture de la description détaillée donnée à titre d'exemple et non limitative qui suit faite en regard de dessins annexés qui représentent : La figure 1, un synoptique de l'architecture générique selon l'invention 5 d'un système de transmission de données, La figure 2, un chronogramme illustrant le séquencement des données entre deux composants de traitement semi-intensif des données selon l'invention, La figure 3, un schéma d'un composant de traitement semi-intensif 10 selon l'invention et ses interfaces, La figure 4, un schéma d'un premier type de composant de mémorisation selon l'invention et ses interfaces, La figure 5, un schéma d'un second type de composant de mémorisation selon l'invention et ses interfaces, 15 La figure 6, un schéma d'un composant de traitement intensif selon l'invention et ses interfaces, La figure 7, un synoptique d'un autre exemple d'utilisation de l'architecture générique selon l'invention pour la conception d'un système de réception de données, 20 La figure 8, un synoptique d'un troisième exemple d'utilisation de l'architecture générique selon l'invention impliquant un système de réception multi-voies. La figure 1 décrit un exemple de réalisation d'une architecture 25 générique selon l'invention pour la conception d'un système de transmission de données sur un circuit intégré de type SoC. Cette architecture comporte trois différents types de composants interconnectés ensemble à l'aide d'interfaces de données et de contrôle du débit. Un premier type de composant, appelé composant de mémorisation 30 101,105 permet de stocker les données 101a,105a reçues en entrée à un rythme de réception donné. Un composant de mémorisation peut servir de mémoire tampon entre deux composants de traitement afin de stocker un nombre de symboles ou d'échantillons de données suffisants pour alimenter le composant suivant. Un composant de mémorisation 101,105 peut, à l'aide d'une interface de contrôle du débit 105b, commander le démarrage ou l'arrêt de l'envoi de données à partir d'un composant situé en amont 104 et directement connecté à lui. Ce composant de mémorisation 101,105 transmet les données stockées en mémoire 102a,106a à un autre composant lorsque ce dernier lui en envoie l'instruction. Un second type de composant, appelé composant de traitement intensif 106,107,108, permet, notamment, d'effectuer des traitements sur les données reçues 106a,107a,108a à un rythme égal à la fréquence d'horloge du dispositif SoC sur lequel est implémenté l'architecture selon l'invention. Lorsque le rythme de transmission des données est proche de la fréquence d'horloge qui est la fréquence maximum à laquelle sont séquencés l'ensemble des traitements, on utilise un composant de traitement intensif qui n'opère pas de contrôle sur le rythme auquel il reçoit les données. Ce composant ne présente, par conséquent, pas d'interface de contrôle du débit et implémente des traitements au fil de l'eau sur les symboles où échantillons de données. Le débit des données en sortie de ce composant ne peut pas être contrôlé par un composant tiers, les données reçues sont traitées au fil de l'eau. Un troisième type de composant, appelé composant de traitement semi-intensif 102,103,104 permet une gestion du rythme de traitement des données plus adaptée aux besoins des fonctions algorithmiques effectivement implémentées dans ce composant 102,103,104. II est utilisé notamment lorsque le rythme des données est inférieur à la fréquence d'horloge du dispositif SoC. Un composant de traitement semi-intensif 102,103,104 commande, à l'aide d'une interface de contrôle 102b,103b,104b, le rythme d'envoi des données 102a,103a,104a à partir du composant 101,102,103 situé en amont et auquel il est immédiatement connecté. Les fonctions algorithmiques implémentées dans un composant de traitement semi-intensif 102,103,104 peuvent traiter les données par paquets entiers ou au fil de l'eau et à un rythme paramétrable. De même, ce type de composant 102,103,104 peut délivrer des données 103a,104a,105a à un autre composant 103,104,105 situé en aval à un rythme déterminé par un contrôle de débit 103b,104b,105b piloté par le composant 103,104,105 auquel il est interconnecté. L'architecture représentée sur la figure 1 est représentative d'un système de transmission de données qui reçoit a son entrée des données numériques 101a sur lesquelles sont effectué un enchainement de 1 o traitements algorithmiques séquencés à des rythmes divers à l'aide des trois composants présentés précédemment. En sortie de la chaine de composants interconnectés, les échantillons de données 109a sont transmis à un convertisseur numérique analogique 109 qui délivre un signal analogique 110a. Un exemple de traitement algorithmique implémenté dans un 15 composant de traitement semi-intensif 102,103,104 est un algorithme de codage canal qui traite des blocs de données. Un composant de traitement intensif 106,107,108 permet d'implémenter, par exemple, un algorithme d'interpolation ou de filtrage de données numériques. Les interfaces des différents composants selon l'invention étant 20 génériques et le séquencement des traitements étant effectué localement par chacun des composants qui pilote le rythme d'envoi des données, cette architecture permet d'éviter des problèmes de séquencement et d'interfaçage lorsqu'on souhaite implémenter une nouvelle version de tout ou partie des traitements algorithmiques mis en oeuvre. 25 La figure 2 schématise un chronogramme illustrant le protocole d'échange de données selon l'invention mis en oeuvre entre deux composants de traitements semi-intensifs. Les évènements intervenant lors du transfert de données entre un composant A et un composant B sont 30 représentés sur la figure 2 en fonction du temps t. Un premier chronogramme 210 schématise les instants de transfert de données en entrée du composant A. Un second chronogramme 220 schématise les durées de traitement des données par le composant A. Un troisième chronogramme 230 schématise la disponibilité du composant B à recevoir et traiter de nouvelles données en provenance du composant A. Un quatrième chronogramme 240 schématise les instants de transfert de données du composant A vers le composant B. Un cinquième chronogramme 250 schématise les durées de traitement des 10 données par le composant B. Un sixième chronogramme 260 schématise les instants de transfert de données depuis le composant B. A un instant 201a, des données sont reçues par le composant A qui exécute un traitement algorithmique sur ces données pendant une durée 15 202a. Le composant A reçoit du composant B, via l'interface de contrôle qui les relie ensemble, une indication sur la disponibilité 230 du composant B. Cette disponibilité est positive 203a, le composant A peut donc transférer les données traitées au composant B à un instant 204a qui suit immédiatement la fin de l'exécution de son traitement algorithmique. Le composant B traite 20 205a à son tour les données qu'il a reçu et les transfère ensuite 206a au composant situé en aval auquel il est connecté. Un second flux de données est reçu 201b par le composant A qui exécute 202b un traitement algorithmique dessus puis vérifie la disponibilité 203a du composant B qui est positive, le composant A transfère alors 204b 25 ses données au composant B qui les traite 205b à son tour. En fonction de la complexité du traitement algorithmique mis en oeuvre, le temps de traitement des données 205b peut être variable et engendrer une indisponibilité 203b du composant B qui ne peut plus recevoir de données à son entrée car il est déjà occupé à traiter les données reçues précédemment. Dans ce cas, le 30 composant A attend que le composant B soit à nouveau disponible afin de lui transmettre 204c de nouvelles données dès que l'indication de disponibilité redevient positive 203c. Le composant A retarde également la réception de nouvelles données 201d à son entrée tant qu'il n'a pas transmis le bloc de données précédent. Le cycle d'enchainement des échanges et des traitements de données continue ensuite classiquement par un traitement 202d du composant A, puis un transfert 204d de A vers B, un traitement 205d du composant B et un transfert 206d vers le composant suivant. La figure 3 schématise l'architecture d'un composant semi-intensif 103 selon l'invention. Ce composant comporte un module 306 de traitement de io données qui exécute un algorithme qui peut être mis à jour ou modifié en fonction des contraintes et besoins du système visé. Il comprend également un module de séquencement 301 qui gère le séquencement dudit composant semi-intensif 103 vis-à-vis de l'architecture globale et notamment des composants 102,104 auxquels il est relié. Le 15 module de séquencement 301 implémente une machine à états qui séquence les traitements à effectuer. II est connecté à un composant 102 situé en amont par l'intermédiaire de deux interfaces. Une première interface 311 de contrôle du débit paquet permet de prévenir le composant 102 situé en amont que le composant 103 est disponible pour recevoir un paquet de 20 données de taille fixée et connue des deux composants 102,103. Une paire d'interface 312a,312b d'entrée permettent d'indiquer respectivement la réception du premier élément et du dernier élément du paquet de données reçu. De façon similaire, les interfaces 317,318a,318b sont connectées au composant 104 situé en aval et permettent de gérer le transfert de paquets 25 de taille connue vers ce composant 104 en fonction de sa disponibilité indiquée par l'intermédiaire de l'interface 317, la paire d'interface 318a,318b indiquant respectivement l'envoi du premier et du dernier élément d'un paquet de données. Dans une variante de réalisation de l'invention, le module de 30 séquencement 301 peut comporter une interface 313 supplémentaire qui permet d'indiquer au composant 102 situé en aval que le composant 103 peut recevoir un symbole de données et non plus un paquet entier de données. Cette interface, optionnelle, permet d'effectuer un contrôle du flux de données avec une granularité plus fine. Dans ce cas, un composant semiintensif 103 peut contrôler précisément le débit d'entrée des données qui lui sont transmises par le composant 102 auquel il est connecté. Cette fonctionnalité est utile afin de gérer au mieux le séquencement des traitements en fonction du débit des données, de la complexité et des contraintes des traitements mis en oeuvre. Un composant semi-intensif 103 comprend également un module 305 qui gère les interfaces d'entrée. Ce module présente deux interfaces, la première 314 indique la validité des données reçues tandis que la seconde 315 correspond aux données d'entrée elles mêmes. Ce module 305 de gestion des interfaces d'entrée transmet les données 315 au module de traitement 306 ou les stocke jusqu'à ce qu'un paquet entier soit reçu. II communique également avec le module de séquencement 301 en lui indiquant l'état de réception des données. Un module 304 gère, de façon similaire, les interfaces de sortie. II présente trois interfaces. La première interface 319 qui est également connectée au module de séquencement 301 est optionnelle. Elle permet de connaître la disponibilité du composant 104 situé en amont afin que le composant 103 lui transmette le prochain symbole de données. Les deux autres interfaces 320,321 permettent respectivement d'indiquer la validité des données transmises et de transmettre ces données. Enfin un module 303 de gestion des paramètres reçoit à son entrée un ensemble 316 de paramètres qui servent à piloter le module de traitement de données 306. Ces paramètres peuvent être remis à jour à la réception de chaque nouveau paquet. Les composants de traitement semi-intensif 102,103,104 peuvent être connectés entre eux indépendamment des traitements algorithmiques implémentés dans le module 306 de traitement des données et ce grâce à la généricité des interfaces qui permettent à chaque composant de transmettre et recevoir des données au fil de l'eau ou par paquets et à un rythme quelconque. Le séquencement étant local à chaque composant, il est aisé d'enlever ou de rajouter un composant dans l'architecture lorsqu'une mise à jour concernant un traitement algorithmique particulier doit être faite. La figure 4 illustre un synoptique de l'architecture d'un premier type de composant de mémorisation 101 selon l'invention. Ce premier type de composant 101 est utilisé, avantageusement, en amont d'une chaine de composants de traitement semi-intensif 102,103,104. Il est connecté au premier composant 102 de cette chaine. Ce composant de mémorisation 101 comporte quatre modules principaux, un module de séquencement 401, un module de gestion des interfaces d'entrée 402, une mémoire 403 et un module de gestion des interfaces de sortie 403. Le module de séquencement 401 implémente une machine à états qui séquence les traitements exécutés par ledit composant de mémorisation 101. II possède deux interfaces 411,412 connectées aux composants situés en amont qui permettent d'indiquer la taille du paquet de données reçu 412 et la validité 411 de cette information de taille. Le composant 102 situé en aval interagit avec ce module de séquencement 401 par l'intermédiaire de quatre interfaces 415,416,417,418. Une première interface 415 permet au composant 102 situé en aval d'indiquer au module de séquencement 401 sa disponibilité à recevoir un paquet de données. Les deux interfaces suivantes 416,417 indiquent respectivement que l'échantillon de donnée transmis correspond au premier ou au dernier élément du paquet de données. Enfin l'interface 418, également connectée au module de gestion des interfaces de sortie 404, permet de recevoir, du composant situé en aval, une information sur sa disponibilité à recevoir le prochain échantillon de donnée. Lorsque le composant de traitement semi-intensif 102 est disponible pour recevoir un paquet ou un échantillon de données, le module de séquencement 401 indique au module de gestion des interfaces de sortie 404 qu'il peut transmettre la ou les données stockées dans la mémoire 403 selon le protocole d'échange de données illustré à l'appui de la figure 2. Le module de gestion des interfaces d'entrée 402 comporte une interface de réception des données 414 et une interface associée 413 indiquant la validité de ces données. Ce module 402 communique avec le module de séquencement 401 et la mémoire 403 afin de stocker les données reçues. La mémoire 403 stocke les données d'entrée à un rythme de réception imposé par le composant situé en amont. Cette mémoire doit être 1 o dimensionnée avantageusement afin de permettre un fonctionnement optimal compte tenu des débits de transmission des données en entrée et en sortie du composant 101. Le module de gestion des interfaces de sortie 404 permet de transmettre les données stockées au composant suivant 102 à un rythme 15 imposé par ce composant 102. Ce module de gestion 404 présente deux interfaces de sortie 419,420 qui servent à transmettre les données 420 et à indiquer leur validité 419. La figure 5 représente un second type de composant de mémorisation 20 105 selon l'invention. Ce type de composant est utilisé en aval d'une chaine de composants de traitement semi-intensif 102,103,104. Il est connecté au dernier composant 104 de cette chaine. Ce composant de mémorisation 105 présente une architecture similaire à celle du composant 101 décrit à l'appui de la figure 4, on retrouve notamment un module de séquencement 501, un 25 module de gestion des interfaces d'entrée 502, une mémoire 503 et un module de gestion des interfaces de sortie 504. Les interfaces sont similaires à celles du composant de mémorisation 101 utilisé en amont d'une chaine de traitement semi-intensif mais cette fois le composant de mémorisation 105 pilote le rythme des données d'entrée. 30 Les interfaces principales du composant sont : une interface de contrôle 511 de réception d'un paquet, une interface 512 indiquant la réception du premier élément du paquet, une interface 513 indiquant la réception du dernier élément du paquet, une interface de contrôle 514 de la réception d'un échantillon de données, un couple d'interfaces 515,516 indiquant respectivement les données reçues du composant en amont 104 et la validité de ces données et un couple d'interfaces 517,518 indiquant respectivement les données transmises au composant suivant et un acquittement de la réception correcte de ces données transmises. La figure 6 schématise l'architecture d'un composant de traitement ~o intensif 107. Ce composant comporte quatre modules principaux, un module de séquencement 601, un module de gestion des interfaces d'entrée 602, un module de traitement des données 603 et un module de gestion des interfaces de sortie 604. Ce type de composant 107 n'opère pas de contrôle sur le débit des données en entrée, il réceptionne les données, échantillon 15 par échantillon à un rythme imposé par le composant 106 auquel il est connecté en amont et retransmet ces données, après les avoir traitées, au même rythme à un composant situé en aval 108. Ce type de composant 107 est préférablement utilisé lorsque les traitements algorithmiques qu'il implémente sont exécutés à un rythme proche de la fréquence d'horloge du 20 composant. Le module de séquencement 601 réceptionne les paramètres 612,613,614 du traitement algorithmique exécuté par le module 603 de traitement de données. Une interface 611 indique la validité de ces paramètres. 25 Le module de gestion des interfaces d'entrée 602 réceptionne les données 616 lorsqu'elles sont valides 615 et les transmet au module de traitement 603 qui les renvoie à son tour au module de gestion des interfaces de sortie 604 une fois qu'elles ont été modifiées par l'algorithme implémenté. Le module de gestion des interfaces de sortie 604 délivre ensuite les 30 données au composant suivant 108 par l'intermédiaire d'une interface de transmission des données 618 et d'une interface indiquant la validité de ces données 617. Dans une variante de réalisation, l'interface 615 indiquant la validité des données en provenance du composant 106 peut être modifiée afin de transmettre à ce composant 106 un acquittement indiquant la réception correcte de ces données. Cette fonctionnalité est particulièrement utile lorsque le composant connecté en amont est un composant de mémorisation qui n'implémente pas de séquencement particulier. La figure 7 schématise un autre exemple de réalisation de l'architecture générique selon l'invention. Les trois composants spécifiés précédemment sont interconnectés afin de concevoir un système de réception de données. Un signal d'entrée analogique est converti numériquement par l'intermédiaire d'un convertisseur analogique numérique 701 qui délivre des échantillons de données à une succession de composants de traitement intensif 702,703,704. Ces composants traitent les données reçues au fil de l'eau sans effectuer de contrôle sur le débit entrant mais peuvent modifier le débit des données en sortie par l'intermédiaire d'une décimation ou d'une interpolation des échantillons de données traités. Les composants de traitement intensif 702,703,704 implémentent, par exemple, un algorithme de démodulation, d'estimation de canal ou de synchronisation en temps et/ou en fréquence. Les données traitées par le dernier composant de traitement intensif 704 sont stockées par un composant de mémorisation 705 qui permet de générer, par exemple, une trame ou un paquet de données de taille connue du récepteur. Deux composants de traitement semi-intensif 706,707 viennent ensuite récupérer les données sous forme de paquets stockés par le composant de mémorisation 705 afin de leur appliquer un traitement algorithmique typique d'un récepteur de données numériques, par exemple, un algorithme de décodage canal. Les données sont enfin stockées dans un dernier composant de mémorisation 708 qui délivre à sa sortie une trame de données, par exemple à destination de couches applicatives. Dans le système décrit à l'appui de la figure 7, les composants de traitement semiintensif peuvent piloter le débit auquel ils reçoivent les données soit par paquets entiers, soit symbole par symbole à un rythme fixé. Le séquencement des traitements est effectué localement par chaque composant. La figure 8 illustre un troisième exemple de réalisation de l'architecture générique selon l'invention utilisée cette fois pour concevoir un récepteur multi-voies. A cet effet quatre branches 800 de signaux convertis numériquement sont considérées en entrée de quatre composants de traitement intensif 801,802,803,804. Ces quatre signaux proviennent, par exemple, de la réception sur quatre fréquences distinctes d'un signal transmis à l'aide d'une technologie multi voies de type OFDM (� Orthogonal Frequency Division Multiplexing �). Les quatre composants de traitement intensif 801,802,803,804 sont connectés à un composant de mémorisation 805 par l'intermédiaire des interfaces décrites à l'appui de la figure 5 , lesdites interfaces permettant de véhiculer des informations de type vecteur à quatre composantes. Les informations transmises par les composants de traitement intensif sont multiplexées afin de générer une seule entrée pour le composant de mémorisation. Un composant de mémorisation 805 peut donc être connecté, à son entrée, à plusieurs composants de traitement qui lui délivrent des informations en parallèle. La chaine de traitement situé en aval du composant de mémorisation 805 est identique à celle décrite à l'appui de la figure 7, un ou plusieurs composants de traitement semi intensifs 806,807 peuvent être enchainés en cascade avant l'utilisation d'un dernier composant de mémorisation 808. REVENDICATIONS1. Architecture d'un système temps-réel de traitement de données embarqué sur puce, lesdites données étant représentées sous forme d'échantillons, caractérisée en ce qu'elle comporte un ensemble de composants interconnectés entre eux au moyen d'interfaces génériques, ledit ensemble de composants comprenant au moins un composant de mémorisation (101,105) adapté à stocker lesdits échantillons de données 1 o en les regroupant par paquets, un composant de traitement intensif (106,107,108) adapté à exécuter un traitement algorithmique temps-réel sur lesdits échantillons de données un par un reçus à un rythme constant et un composant de traitement semi-intensif (102,103,104) adapté à exécuter un traitement algorithmique temps-réel sur lesdits échantillons 15 de données regroupés par paquets et reçus à un rythme contrôlé par ledit composant de traitement semi-intensif (102,103,104) lui-même. 2. Architecture d'un système temps-réel selon la revendication 1 caractérisée en ce que ledit composant de traitement semi-intensif (103) 20 comporte au moins : o un module de séquencement (301) adapté à : ^ déterminer la disponibilité (311) dudit composant (103) à traiter la réception d'un nouveau paquet de données, communiquer cette disponibilité (311) au composant (102) 25 connecté en amont, et recevoir une information sur la disponibilité (317) du composant (104) connecté en aval à recevoir un paquet de données, o un module de traitement algorithmique (306) des données, 30 o un module (303) de gestion dynamique des paramètres dudit traitement algorithmique, o un module de gestion des interfaces d'entrée (305) adapté à recevoir des données (315) sous forme de paquets et à les transmettre audit module de traitement algorithmique (306), o un module de gestion des interfaces de sortie (304) adapté à recevoir les données traitées par ledit module de traitement algorithmique (306) et à les transmettre (321) à un composant (104) connecté en aval en fonction de sa disponibilité (317). 3. Architecture d'un système temps-réel selon la revendication 2 1 o caractérisée en ce que ledit module de séquencement (301) dudit composant de traitement semi-intensif (103) est adapté à : ^ déterminer la disponibilité (313) dudit composant (103) à traiter un échantillon de données, ^ communiquer cette disponibilité (313) au composant (102) 15 connecté en amont, ^ et recevoir une information sur la disponibilité (319) du composant (104) connecté en aval à recevoir un échantillon de données. 20 4. Architecture d'un système temps-réel selon la revendication 1 caractérisée en ce que ledit composant de mémorisation (101,105) comporte au moins : o un module de séquencement (401,501) adapté à : ^ déterminer la disponibilité (511) dudit composant (105) à mémoriser un nouveau paquet de données, ^ communiquer cette disponibilité (511) à un composant (104) connecté en amont, ^ ou recevoir une information sur la disponibilité (415) d'un composant (102) connecté en aval à recevoir un nouveau paquet de données, 25 30 o une mémoire (403,503) adaptée à stocker les données reçues par ledit composant de mémorisation (101,105), o un module de gestion des interfaces d'entrée (402,502) adapté à recevoir des données (414,516) et à les transmettre à ladite mémoire (403,503), o un module de gestion des interfaces de sortie (404,504) adapté à extraire les données de ladite mémoire (403,503) et à les transmettre (420,518) à un composant (102) connecté en aval en fonction de sa disponibilité (415). 5. Architecture d'un système temps-réel selon la revendication 1 caractérisée en ce que ledit composant de traitement intensif (106,107,108) comporte au moins : o un module de traitement algorithmique (603) des données adapté à traiter lesdites données au fil de l'eau, o un module de séquencement (601) adapté à séquencer les traitements exécutés par ledit module de traitement algorithmique (603) et à mettre à jour ses paramètres (612,613,614), o un module de gestion des interfaces d'entrée (602) adapté à recevoir des données (616) provenant d'un composant (106) connecté en amont et à les transmettre audit module de traitement algorithmique (603), o un module de gestion des interfaces de sortie (604) adapté à recevoir les données traitées par ledit module de traitement algorithmique (603) et à les transmettre (618) à un composant (108) connecté en aval. 6. Architecture d'un système temps-réel selon l'une des revendications précédentes caractérisée en ce que le séquencement des opérations effectuées au sein dudit système est local à chaque composant de ladite architecture. 7. Système temps-réel sur puce caractérisé en ce que son architecture est conçue selon l'une des revendications précédentes. 8. Système temps-réel sur puce selon la revendication 7 caractérisé en ce que ledit système est un système temps-réel de transmission de données, ou un système temps-réel de compression de données ou un système temps-réel de cryptographie. io 9. Système temps-réel sur puce selon l'une des revendications 7 ou 8 caractérisé en ce que ledit système est un composant à logique programmable de type FPGA ou un circuit complexe programmable de type CPLD ou un circuit intégré non reconfigurable de type ASIC ou un circuit intégré semi reconfigurable de type ASIP.