FR 3057127 A1 20180406 FR 1659601 A 20161005 1 PROCESSEUR ADAPTE POUR UN RESEAU ETHERNET COMMUTE DETERMINIS TE La présente invention concerne un processeur à coeurs multiples destiné à être utilisé dans un réseau Ethernet commuté déterministe et un réseau Ethernet commuté déterministe comprenant ledit processeur. CONTEXTE DE L'INVENTION L'invention est relative au domaine des réseaux de communication et plus particulièrement aux réseaux de communication embarqués dans les aéronefs. Les aéronefs comportent généralement un ou plusieurs réseaux de communication embarqués prévus pour permettre des communications entre des équipements embarqués, en particulier des calculateurs embarqués tels que des LRU (« Line Replaceable Unit » en terminologie anglo-saxonne, unité remplaçable spécifique à une fonction) ou des LRM (« Line Replaceable Module » en terminologie anglo-saxonne, unité remplaçable générique). Afin de satisfaire à des exigences réglementaires en matière de certification des aéronefs, un réseau de communication embarqué doit être déterministe. Un réseau de communication est déterministe s'il permet une transmission d'informations entre des équipements connectés à ce réseau avec une durée de transmission (i.e. une latence) inférieure à une durée prédéterminée ainsi qu'une garantie de non perte d'informations durant la transmission. Le standard ARINC 664 part 7 définit un réseau de communication embarqué déterministe, basé sur une technologie Ethernet full-duplex. Un tel réseau peut par exemple correspondre à un réseau de communication AFDX®. Un réseau conforme au standard ARINC 664 part 7 comprend au moins un commutateur (« switch » en terminologie anglo-saxonne) permettant d'interconnecter des équipements et des systèmes terminaux (« end system » en terminologie anglo-saxonne) qui assurent des fonctions d'émission et de réception des données dans le réseau. Chaque communication entre des équipements du réseau emprunte des liens virtuels prédéfinis lors d'une configuration du réseau. Un lien virtuel est défini entre un équipement émetteur et un ou plusieurs équipements récepteurs, via un ou plusieurs commutateurs du réseau. Toutes communications entre équipements sont définies à l'avance, par la définition des liens virtuels, afin de permettre une 3057127 2 configuration des commutateurs. Chaque commutateur comporte une table de configuration prédéfinie en fonction des liens virtuels transitant par ce commutateur. Un commutateur comporte généralement un nombre important de ports de communication, tels que des ports Ethernet, par exemple 24 ports pour certains 5 commutateurs. Or, plus le nombre de ports de communication du commutateur est élevé, plus le nombre de liens virtuels susceptibles de transiter par ce commutateur est élevé et plus la table de configuration est complexe et de taille importante. Etant donnée la complexité d'un tel commutateur, afin de respecter des exigences en particulier en matière de temps de latence, ce commutateur est généralement mis en 10 oeuvre au moyen d'un dispositif électronique spécifique. Il en va de même des systèmes terminaux. Un aéronef moderne peut comporter un nombre élevé de dispositifs spécifiques implémentant des commutateurs ou des systèmes terminaux. Il en résulte une masse, un encombrement et une consommation électrique qu'il serait intéressant de réduire 15 afin d'améliorer les performances de l'aéronef. Il existe des solutions alternatives utilisant des processeurs et des contrôleurs Ethernet génériques. Mais ces solutions ne permettent pas d'atteindre des débits suffisants. Il est souhaitable de pallier ces inconvénients de l'état de la technique. Il est 20 notamment souhaitable de proposer un système permettant de réduire le coût et le poids des réseaux Ethernet commutés déterministes utilisant des liens virtuels tout en atteignant des débits suffisants. Il est de plus souhaitable de définir un système adapté pour héberger des applications, des systèmes terminaux et au moins un commutateur dans un unique équipement. 25 EXPOSE DE L'INVENTION Selon un aspect de la présente invention, la présente invention concerne un dispositif de type processeur à coeurs multiples destiné à être connecté par 30 l'intermédiaire de ports de communication à un réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements, ledit processeur comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de coeurs, caractérisé en ce qu'au moins un groupe de calcul dudit processeur implémente une fonction de commutateur permettant d'interconnecter lesdites équipements dans 3057127 3 ledit réseau, au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d'émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur implémente une application. 5 De cette manière, un même processeur implémente au moins une fonction de commutateur, au moins une fonction de système terminal et au moins une application, ce qui réduit considérablement le poids, l'encombrement, et le coût lié à la mise en oeuvre de telles fonctions et applications. Selon un mode de réalisation, chaque groupe de calcul implémentant une 10 fonction de commutateur est un groupe de calcul applicatif dudit processeur apte à mettre en oeuvre des applications, au moins un premier coeur de chaque groupe de calcul implémentant une fonction de commutateur est alloué à une fonction de routage de trames reçues sur un port de communication dudit processeur, la fonction de routage comprenant une analyse de chaque trame reçue et une utilisation d'une table 15 de routage statique prédéfinie pour déterminer, pour chaque trame reçue, un port de communication dudit processeur sur lequel chaque trame doit être émise, et un deuxième coeur du groupe de calcul implémentant une fonction de commutateur est alloué à une fonction d'émission de chaque trame reçue sur le port de communication déterminé. 20 Selon un mode de réalisation, chaque premier coeur fournit chaque trame reçue à émettre au deuxième coeur par l'intermédiaire d'une file d'attente mémoire de type premier entré premier sorti. Selon un mode de réalisation, chaque groupe de calcul implémentant une fonction de système terminal comprend une partie réception, ladite partie réception 25 étant implémentée par un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, suite à une réception d'une trame dans une mémoire interne du groupe de calcul implémentant la partie réception de la fonction de système terminal, un premier, un deuxième et un troisième dudit groupe de calcul mettent en oeuvre la partie réception du système terminal. 30 Selon un mode de réalisation, le premier coeur analyse un entête de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse d'une zone mémoire tampon dans une mémoire externe audit processeur devant être utilisée pour stocker ladite trame, le deuxième coeur assure une fonction de 3057127 4 transfert de la trame entre la mémoire interne dudit groupe de calcul et la mémoire externe. Selon un mode de réalisation, le troisième coeur met en oeuvre un service de requêtes permettant à des groupes de calcul applicatifs dudit processeur mettant en 5 oeuvre des applications d'accéder, par l'intermédiaire du groupe de calcul implémentant la partie réception de la fonction de système terminal, à la mémoire externe pour y récupérer des données au moment où l'application en a besoin. Selon un mode de réalisation, chaque groupe de calcul implémentant une fonction de système terminal comprend une partie émission, ladite partie émission 10 utilisant un calendrier partagé stocké dans une mémoire interne d'un groupe de calcul entrée/sortie dudit processeur dédié à des communications avec des ressources externes au processeur, ledit calendrier comprenant une succession de périodes de temps, chaque période de temps pouvant être associée à un ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps, ledit 15 calendrier étant renseigné par des applications mises en oeuvre par des groupes de calcul applicatifs dudit processeur et étant lu par un coeur de groupe de calcul implémentant la partie émission de la fonction de système terminal qui prend en charge chaque émission de trame devant être effectuée lorsqu'à un instant courant le calendrier indique qu'une émission de trame doit être effectuée. 20 Selon un deuxième aspect de l'invention, l'invention concerne un système de type réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements comprenant un dispositif selon le premier aspect. Selon un troisième aspect de l'invention, l'invention concerne un véhicule comprenant un système selon le deuxième aspect. 25 Selon un mode de réalisation, le véhicule est un aéronef. BREVE DESCRIPTION DES DESSINS Les caractéristiques de la présente invention mentionnées ci-dessus, ainsi que 30 d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : - la Fig. 1 illustre schématiquement un exemple de véhicule dans lequel est mise en oeuvre l'invention ; 3057127 5 - la Fig. 2 illustre schématiquement un exemple de processeur manycore ; - la Fig. 3 illustre schématiquement un exemple de groupe de calcul ; - La Fig. 4A illustre schématiquement des mécanismes mis en oeuvre par un processeur manycore lors d'une réception d'une trame par une fonction de terminal ; 5 - la Fig. 4B illustre schématiquement un transfert d'une trame vers un groupe de calcul applicatif ; - la Fig. 5A illustre schématiquement un procédé mis en oeuvre par un coeur applicatif d'un groupe de calcul applicatif mettant en oeuvre une application lors d'une émission d'une trame par ledit groupe de calcul applicatif ; 10 - La Fig. 5B illustre schématiquement un procédé mis en oeuvre par un coeur entrée/sortie d'un groupe de calcul entrée/sortie lors d'une émission d'une trame par un groupe de calcul applicatif ; et, - La Fig. 6 illustre schématiquement des mécanismes mis en oeuvre par le processeur manycore lors d'une mise en oeuvre d'une fonction de commutateur par un 15 groupe de calcul applicatif. DESCRIPTION DETAILLEE DE DIVERS MODES DE REALISATION La description détaillée ci-après s'attache à décrire un mode de réalisation de la 20 présente invention dans un contexte d'aéronef comprenant un réseau Ethernet commuté déterministe utilisant des liens virtuels conforme au standard ARINC 664 part 7. Les principes de la présente invention s'appliquent cependant dans un contexte plus large et pourraient s'appliquer à d'autres types de véhicules tels qu'un bateau, un drone, un véhicule automobile, comprenant un tel réseau. Par ailleurs, l'invention 25 s'applique à tous types de réseaux Ethernet déterministes utilisant des liens virtuels, ces réseaux n'étant pas nécessairement conformes au standard ARINC 664 part 7. L'invention pourrait aussi être mise en oeuvre dans un autre contexte qu'un véhicule, sur tous dispositifs ou appareils comprenant un réseau Ethernet commuté déterministe utilisant des liens virtuels. 30 La Fig. 1 illustre schématiquement un exemple de véhicule dans lequel est mise en oeuvre l'invention. Ledit véhicule est un aéronef 2. Cet aéronef 2 comprend une unité de traitement 1 comprenant un processeur 10. Le processeur 10 est un processeur à coeurs multiples. Comme nous le décrivons par la suite, le processeur 10 met en oeuvre des fonctions diverses dont des applications, des fonctions de systèmes 3057127 6 terminaux et au moins une fonction de commutateur. Ce processeur est connecté à un réseau Ethernet commuté déterministe utilisant des liens virtuels 11 conforme au standard ARINC 664 part 7. Des équipements embarqués 12, 13, 14, et 15 sont eux aussi reliés audit réseau Ethernet. 5 On distingue deux types de processeurs à coeurs multiples : les processeurs dits nombreux coeurs (plus connus sous l'appellation anglo-saxonne « manycore ») et les processeurs multiple coeurs («multicore» en terminologie anglo-saxonne). Les processeurs manycore diffèrent des processeurs multicore dans le nombre de coeurs dans un même processeur. Ainsi un ordre de grandeur du nombre de coeurs dans un 10 processeur multicore est une dizaine de coeurs alors qu'un processeur manycore peut contenir une centaine voire un millier de coeurs. Les processeurs manycore et multicore ont ainsi des architectures différentes, adaptées au nombre de coeurs. En général, les processeurs manycore sont organisés en groupes de calcul (cluster en terminologie anglo-saxonne) regroupant plusieurs coeurs partageant des 15 ressources locales au groupe de calcul. Les groupes de calcul d'un processeur manycore peuvent communiquer entre eux et avec des ressources extérieures au groupe de calcul en utilisant un réseau interne au processeur appelé réseau sur puce (« Network on Chip (NoC) » en terminologie anglo-saxonne). Un réseau sur puce NoC peut par exemple être un réseau maillé. 20 Certaines topologies de processeurs manycore comportent deux types de groupes de calcul : les groupes de calcul applicatifs dédiés à des exécutions d'applications et les groupes de calcul entrée/sortie dédiés à des communications avec des ressources externes au processeur. La description détaillée ci-après s'attache à décrire un mode de réalisation de la 25 présente invention utilisant un processeur manycore. Les principes de la présente invention s'appliquent cependant dans un contexte plus large et pourraient s'appliquer à des processeurs multicore. La Fig. 2 illustre schématiquement un exemple de processeur manycore 10. Le processeur manycore 10 comprend une pluralité de groupes de calcul 30 applicatifs 200 à 215 (ici « 16 » groupes de calcul applicatifs) et une pluralité de groupes de calcul entrée/sortie 100 à 115 (ici « 16 » groupes de calcul entrée/sortie). Au moins un des groupes de calcul entrée/sortie est adapté pour communiquer avec une mémoire externe 300 par exemple de type DDR SDRAM (« Double data Rate Synchronous Dynamic Random Access Memory » en terminologie anglo-saxonne : 3057127 7 mémoire à accès aléatoire dynamique synchronisé à débit doublé). Les communications entre les groupes de calculs (applicatifs et/ou entrée/sortie) utilisent un réseau sur puce NoC maillé. Dans ce réseau sur puce NoC maillé, chaque groupe de calcul applicatif est relié à « 4 » autres groupes de calcul (applicatifs et/ou 5 entrée/sortie) et chaque groupe de calcul entrée/sortie est relié à un groupe de calcul applicatif. Chaque groupe de calcul entrée/sortie comprend une pluralité de coeurs, dits coeurs entrée/sortie. Le processeur manycore 10 comprend une pluralité de ports de communication externe non représentés dont des ports Ethernet qui sont des interfaces physiques entre 10 le processeur manycore 10 et le réseau Ethernet commuté déterministe utilisant des liens virtuels 11. La Fig. 3 illustre schématiquement un exemple de groupe de calcul applicatif 200. Le groupe de calcul applicatif 200 comprend « 16 » coeurs numérotés de 2000 à 15 2015, dits coeurs applicatifs, une mémoire interne partagée 2016, et un coeur de gestion de ressources 2017. Le coeur de gestion de ressources 2017 possède des privilèges qui permettent de configurer différentes ressources du groupe de calcul applicatif 200 et notamment de configurer le réseau sur puce NoC. Tous les groupes de calcul du processeur manycore 10 sont supposés identiques au groupe de calcul applicatif 200. 20 Dans le processeur 10, au moins un coeur entrée/sortie exécute un processus maître engendrant des processus esclaves. Chaque processus esclave est exécuté par un groupe de calcul applicatif. Lorsqu'un groupe de calcul applicatif met en oeuvre une application, au moins un coeur applicatif de ce groupe prend en charge une exécution de ladite application. Lorsque l'application est décomposée en plusieurs 25 tâches parallèles (« multithread » en terminologie anglo-saxonne), plusieurs coeurs applicatifs du groupe de calcul applicatif peuvent être impliqués parallèlement dans l'exécution de ladite application. Les coeurs applicatifs se partagent la mémoire interne du groupe de calcul applicatif auquel ils appartiennent lors de l'exécution des tâches. Comme dit plus haut, le processeur manycore 10 implémente au moins une 30 fonction de commutateur. Chaque fonction de commutateur est implémentée par un groupe de calcul applicatif. La fonction de commutateur est implémentée de manière distribuée par une pluralité de coeurs applicatifs. Un but de la fonction de commutateur est de recevoir des trames conformes au standard ARINC 664 part 7, appelées simplement trames par la suite, sur un port de 3057127 8 communication Ethernet du processeur manycore 10, d'analyser ces trames et de les renvoyer sur des ports de communication Ethernet du processeur manycore 10 définis dans une table de routage statique. Les trames sont reçues en provenance d'un équipement embarqué connecté au réseau Ethernet commuté déterministe utilisant des 5 liens virtuels 11 et émises en direction d'un autre équipement embarqué connecté audit réseau Ethernet 11. Dans un réseau conforme au standard ARINC 664 part 7, des données provenant d'équipements embarqués différents ou d'applications différentes circulent. Ces équipements embarqués ou applications ont des niveaux de criticité (« Development 10 Assurance Level (DAL) » en terminologie anglo-saxonne) qui peuvent être différents. Il est souhaitable d'éviter qu'un équipement embarqué ou une application de niveau de criticité faible vienne perturber des données d'un autre équipement embarqué ou d'une autre application ayant un niveau de criticité élevé. Afin d'éviter ces perturbations, une ségrégation spatiale forte est assurée entre les trames reçues ou 15 transmises par chacun des ports de communication Ethernet. Pour ce faire, au moins deux coeurs applicatifs sont alloués à chaque port. Par ailleurs, on attribue des espaces mémoires qui sont différents pour les données de chacun des ports. De plus on attribue des privilèges pour chaque processeur traitant les données d'un port. Si un processeur tente d'accéder à une zone mémoire d'un autre port, il y a aura une exception 20 matérielle qui sera levée. On garantit ainsi un isolement des données. Cette ségrégation spatiale permet d'isoler des problèmes pouvant survenir sur un port de communication Ethernet de manière à ce que ces problèmes n'affectent pas d'autres ports de communication Ethernet. Au moins un premier coeur applicatif implémentant le commutateur est alloué à 25 une fonction de routage des trames. Lors d'une réception d'une trame sur un port de communication Ethernet du processeur manycore 10, le premier coeur applicatif analyse ladite trame, et utilise une table de routage statique prédéfinie pour déterminer, pour chaque trame, le port de communication Ethernet sur lequel chaque trame doit être émise. 30 Un deuxième coeur applicatif du groupe de calcul applicatif implémentant le commutateur est alloué à une fonction d'émission desdites trames reçues sur le port de communication déterminé. Chaque premier coeur applicatif fournit les trames à émettre au deuxième coeur applicatif par l'intermédiaire d'une file d'attente mémoire de type premier entré 3057127 9 premier sorti (« First In, First Out (FIFO) » en terminologie anglo-saxonne). Plus précisément, chaque premier coeur dépose une information représentative de chaque trame à transmettre (i.e. dépose un pointeur sur une zone de la mémoire interne du groupe de calcul applicatif dans laquelle est stockée chaque trame à transmettre) dans 5 la file d'attente. Le deuxième coeur applicatif vérifie la présence d'une information représentative d'une trame à émettre dans la file d'attente et lorsqu'au moins une information représentative d'une trame à émettre est présente, chaque trame à émettre correspondante est émise dans l'ordre d'insertion des informations représentatives des trames dans la file d'attente mémoire. 10 Dans un mode de réalisation, le deuxième coeur applicatif gère la libération des zones mémoire stockant des trames dans la mémoire interne du groupe de calcul applicatif lorsque chaque traitement devant être appliqué auxdites trames a été appliqué. Dans un mode de réalisation, un troisième coeur applicatif, différent de chaque 15 premier et du deuxième coeur applicatif, gère la libération des zones mémoires stockant des trames lorsque chaque traitement devant être appliqué auxdites trames a été appliqué. On dit alors que le troisième coeur (ou le deuxième coeur) assure une fonction de « d'éboueur » (« garbage collector » en terminologie anglo-saxonne). 20 Dans un mode de réalisation, plusieurs groupes de calcul applicatifs du processeur manycore 10 implémentent chacun une fonction de commutateur différente. La Fig. 6 illustre schématiquement des mécanismes mis en oeuvre par le processeur manycore 10 lors d'une mise en oeuvre d'une fonction de commutateur par 25 un groupe de calcul applicatif. Dans une étape 600, le processeur manycore 10 reçoit une trame sur un port de communication Ethernet. Ce port de communication Ethernet correspond à une interface physique sur un lien virtuel sur lequel est connecté l'équipement embarqué émetteur de la trame. 30 Dans une étape 601, la trame est transférée vers la mémoire interne du groupe de calcul applicatif hébergeant la fonction de commutateur. Ce transfert est assuré par une configuration statique d'un contrôleur d'accès direct en mémoire (« Direct Memory Access (DMA) » en terminologie anglo-saxonne) du processeur manycore 10 et en utilisant le réseau sur puce NoC. 3057127 10 Dans une étape 602, le premier coeur assurant la fonction de routage détermine le port de communication Ethernet sur lequel la trame doit être émise et met à disposition ladite trame au second coeur assurant la fonction d'émission par l'intermédiaire de la file d'attente mémoire destinée à cet effet. 5 Dans une étape 603, le deuxième coeur configure des mécanismes matériels du processeur 10 assurant le transfert de la trame de la mémoire interne du groupe de calcul applicatif vers le port Ethernet déterminé. Dans une étape 604, lesdits mécanismes matériels émettent la trame sur le port de communication Ethernet déterminé. Ce port de communication Ethernet 10 correspond à une interface physique sur un lien virtuel sur lequel est connecté l'équipement embarqué destinataire de la trame. La zone mémoire stockant la trame dans la mémoire interne du groupe de calcul applicatif hébergeant la fonction de commutateur est alors libérée. Par ailleurs, le processeur manycore 10 implémente au moins une fonction de 15 système terminal. Il faut alors distinguer une partie réception d'une partie émission d'un système terminal. La partie réception d'un système terminal est implémentée par un groupe de calcul entrée/sortie. A l'image d'un groupe de calcul applicatif, un groupe de calcul entrée/sortie possède une mémoire interne partagée entre les coeurs de ce groupe de 20 calcul entrée/sortie. Cette mémoire interne n'est pas suffisante pour recevoir un ensemble de trames devant être traitées par la fonction de système terminal. Chaque trame est donc reçue dans un premier temps dans des zones mémoires tampon typiquement appelées boîtes aux lettres (mailbox en terminologie anglo-saxonne) situées dans une mémoire externe au processeur manycore 10. L'implémentation d'un 25 système terminal par un groupe de calcul entrée/sortie est justifiée par le fait que parmi tous les groupes de calcul constituant le processeur manycore 10, seuls les groupes de calcul entrée/sortie peuvent accéder rapidement et directement à la mémoire externe. Suite à cette réception dans une boîte aux lettres, chaque trame est prise en charge par des mécanismes matériels (« hardware » en terminologie anglo- 30 saxonne) qui viennent écrire la trame dans la mémoire interne du groupe de calcul entrée/sortie. Suite à cette écriture de la trame en mémoire interne du groupe de calcul entrée/sortie, un premier, un deuxième et un troisième coeurs du groupe de calcul entrée/sortie mettent en oeuvre la partie réception du système terminal. 3057127 11 Le premier coeur analyse un entête MAC (« Medium Access Control » en terminologie anglo-saxonne, contrôle d'accès au médium) de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse de boîte aux lettres devant être utilisée pour stocker la trame. 5 Le premier coeur communique avec le deuxième coeur par l'intermédiaire d'une file d'attente mémoire de type premier entré premier sorti (FIFO). A l'aide de cette file d'attente mémoire, le premier coeur communique au deuxième coeur une adresse en mémoire interne du groupe de calcul entrée/sortie de la trame et une adresse en mémoire externe de la boîte aux lettres devant être utilisée pour stocker la trame. 10 Le deuxième coeur assure une fonction de transfert de la trame entre la mémoire interne du groupe de calcul entrée/sortie et la mémoire externe, i.e. entre l'adresse en mémoire interne du groupe de calcul entrée/sortie et l'adresse en mémoire externe. Le troisième coeur met en oeuvre un service de requêtes conformes au standard ARINC 664 part 7 permettant aux groupes de calcul applicatifs du processeur 15 manycore 10 mettant en oeuvre des applications d'accéder, par l'intermédiaire du groupe de calcul entrée/sortie, à la mémoire externe pour y récupérer des données au moment où l'application en a besoin. Lorsqu'une application mise en oeuvre par un groupe de calcul applicatif doit récupérer une donnée dans la mémoire externe, il transmet une requête au groupe de calcul entrée/sortie par l'intermédiaire du réseau 20 sur puce NoC. Le groupe de calcul entrée/sortie accède alors à la mémoire externe pour y récupérer la donnée souhaitée et retransmet cette donnée vers le groupe de calcul applicatif par l'intermédiaire du réseau sur puce NoC. La Fig. 4A illustre schématiquement des mécanismes mis en oeuvre par le processeur 10 lors d'une réception d'une trame par la fonction de terminal. 25 Dans une étape 400, le processeur manycore 10, par l'intermédiaire d'un port de communication Ethernet, reçoit une trame. Dans une étape 401, la trame est transférée du port de communication Ethernet vers la mémoire interne d'un groupe de calcul entrée/sortie. Ce transfert est assuré par une configuration statique d'un contrôleur d'accès direct en mémoire (« Direct 30 Memory Access (DMA) » en terminologie anglo-saxonne) du processeur manycore 10 et en utilisant le réseau sur puce NoC. Dans une étape 402, un premier coeur entrée/sortie du groupe de calcul entrée/sortie analyse l'entête MAC et utilise une table de configuration prédéfinie pour déterminer l'adresse de la boîte aux lettres devant être utilisée pour stocker la 3057127 12 trame. Lors de l'étape 402, l'adresse en mémoire interne de la trame et l'adresse en mémoire externe de la boîte aux lettres devant être utilisée pour stocker la trame sont inscrites par le premier coeur entrée/sortie dans la file d'attente mémoire destinée à cet effet. 5 Dans une étape 403, un deuxième coeur entrée/sortie du groupe de calcul entrée/sortie effectue le transfert entre la mémoire interne du groupe de calcul entrée/sortie et la boîte aux lettres déterminée en mémoire externe. Pour ce faire, le deuxième coeur entrée/sortie consulte le contenu de la file d'attente mémoire. La Fig. 4B illustre schématiquement un transfert d'une trame vers un groupe de 10 calcul applicatif. Dans une étape 410, le troisième coeur du groupe de calcul entrée/sortie mettant en oeuvre le service de requêtes conformes au standard ARINC 664 part 7 reçoit une requête conforme au standard ARINC 664 part 7 en provenance d'un groupe de calcul applicatif mettant en oeuvre une application. Cette requête indique un numéro de boîte 15 aux lettres dont l'application souhaite récupérer les données. Dans une étape 411, le troisième coeur configure des mécanismes matériels du processeur 10 tels que le contrôleur d'accès direct en mémoire (DMA) et le réseau sur puce NoC pour qu'ils prennent en charge le transfert effectif de la trame de la boîte aux lettres stockant la trame vers le groupe de calcul applicatif ayant effectué la 20 requête. Dans une étape 412, les mécanismes matériels mettent en oeuvre le transfert de la trame. La partie émission d'un terminal utilise un calendrier partagé comprenant une succession de périodes de temps. Dans ce calendrier partagé, chaque période de temps 25 peut être associée à un ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps. Le calendrier partagé est renseigné par des applications mises en oeuvre par des groupes de calcul applicatifs. Lorsqu'une application souhaite émettre une trame, elle met en oeuvre un mécanisme d'émission. 30 Dans une première étape du mécanisme d'émission, l'application positionne la trame depuis une boîte aux lettres contenant la trame vers la mémoire interne du groupe de calcul applicatif mettant en oeuvre l'application. L'application utilise pour cela des mécanismes matériels du processeur 10 tels que le contrôleur d'accès direct 3057127 13 en mémoire (DMA) et le réseau sur puce NoC. Chaque lien virtuel est associé à une file d'attente mémoire de type premier entré premier sorti. Suite au positionnement de la trame dans la mémoire interne du groupe de calcul applicatif, dans une deuxième étape du mécanisme d'émission, l'application poste une 5 requête dans la file d'attente mémoire associée au lien virtuel concerné par ladite émission. La requête indique un identifiant de la boîte aux lettres qui doit être utilisée. Dans une troisième étape du mécanisme d'émission, le coeur de gestion de ressources du groupe de calcul applicatif vient ensuite positionner dans la boîte aux lettres concernée, la trame à émettre, ainsi qu'une information comprenant une adresse 10 de ladite boîte aux lettres à un instant d'émission souhaité dans le calendrier partagé afin d'indiquer qu'une émission est à effectuer audit instant sur le lien virtuel concerné. Le calendrier partagé est stocké dans la mémoire interne d'un groupe de calcul entrée/sortie. Ce calendrier est lu par un coeur entrée/sortie dédié dudit groupe de 15 calcul entrée/sortie. Lorsqu'à un instant courant, le calendrier indique qu'une émission de trame doit être effectuée sur un lien virtuel donné, le coeur entrée/sortie dédié prend en charge ladite émission. Pour ce faire, ledit coeur entrée/sortie configure un mécanisme matériel du processeur 10 qui va émettre les données utiles sur un port Ethernet correspondant au lien virtuel. 20 La Fig. 5A illustre schématiquement un procédé mis en oeuvre par un coeur applicatif d'un groupe de calcul applicatif mettant en oeuvre une application lors d'une émission d'une trame par ledit groupe de calcul applicatif. Dans une étape 500 (première étape du mécanisme d'émission), le coeur applicatif du groupe de calcul applicatif mettant en oeuvre l'application transfère une 25 trame à émettre dans la mémoire interne dudit groupe applicatif. Dans une étape 501 (deuxième étape du mécanisme d'émission), le coeur applicatif poste une requête dans la file d'attente mémoire associée au lien virtuel concerné par ladite émission. Dans une étape 502, (troisième étape du mécanisme d'émission) le coeur de 30 gestion de ressource dudit groupe de calcul applicatif positionne la trame à émettre dans la boîte aux lettres concernée par l'émission et inscrit une information comprenant une adresse de ladite boîte aux lettres à un instant d'émission souhaité dans le calendrier partagé. 3057127 14 La Fig. 5B illustre schématiquement un procédé mis en oeuvre par un coeur entrée/sortie d'un groupe de calcul entrée/sortie lors d'une émission d'une trame par un groupe de calcul applicatif. Dans une étape 510, le coeur entrée/sortie du groupe de calcul entrée/sortie 5 procède à la lecture du calendrier. Cette étape est réalisée en temps réel et en continu par le coeur entrée/sortie. Lorsque, lors de la lecture du calendrier, à un instant courant, une information comprenant une adresse d'une boîte aux lettres contenant une trame à transmettre est indiquée, le coeur entrée/sortie passe à une étape 511. Lors de l'étape 511, le coeur entrée/sortie configure des mécanismes matériels 10 du processeur 10 mettant effectivement en oeuvre l'émission de la trame. Dans une étape 512, les mécanismes matériels mettent effectivement en oeuvre l'émission de la trame. REVENDICATIONS1) Dispositif de type processeur à coeurs multiples (10) destiné à être connecté par l'intermédiaire de ports de communication à un réseau Ethernet commuté déterministe (11) utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15), ledit processeur (10) comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de coeurs, caractérisé en ce qu'au moins un groupe de calcul dudit processeur (10) implémente une fonction de commutateur permettant d'interconnecter lesdits équipements dans ledit réseau (11), au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d'émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur (10) implémente une application. 2) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de calcul implémentant une fonction de commutateur est un groupe de calcul applicatif dudit processeur (10) apte à mettre en oeuvre des applications, au moins un premier coeur de chaque groupe de calcul implémentant une fonction de commutateur est alloué à une fonction de routage de trames reçues sur un port de communication dudit processeur, la fonction de routage comprenant une analyse de chaque trame reçue et une utilisation d'une table de routage statique prédéfinie pour déterminer, pour chaque trame reçue, un port de communication dudit processeur (10) sur lequel chaque trame doit être émise, et un deuxième coeur du groupe de calcul implémentant une fonction de commutateur est alloué à une fonction d'émission de chaque trame reçue sur le port de communication déterminé. 3) Dispositif selon la revendication 2, caractérisé en ce que chaque premier coeur fournit chaque trame reçue à émettre au deuxième coeur par l'intermédiaire d'une file d'attente mémoire de type premier entré premier sorti. 4) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de calcul implémentant une fonction de système terminal comprend une partie réception, ladite partie réception étant implémentée par un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, suite à une réception d'une trame dans une mémoire interne du groupe de 3057127 16 calcul implémentant une partie réception d'une fonction de système terminal, un premier, un deuxième et un troisième coeur dudit groupe de calcul mettent en oeuvre la partie réception du système terminal. 5 5) Dispositif selon la revendication 4, caractérisé en ce que le premier coeur analyse un entête de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse d'une zone mémoire tampon dans une mémoire externe audit processeur (10) devant être utilisée pour stocker ladite trame, le deuxième coeur assure une fonction de transfert de la trame entre la mémoire interne 10 dudit groupe de calcul et la mémoire externe. 6) Dispositif selon la revendication 4 ou 5, caractérisé en ce que le troisième coeur met en oeuvre un service de requêtes permettant à des groupes de calcul applicatifs du processeur (10) mettant en oeuvre des applications d'accéder, par 15 l'intermédiaire du groupe de calcul implémentant la partie réception de la fonction de système terminal, à la mémoire externe pour y récupérer des données au moment où l'application en a besoin. 7) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de 20 calcul implémentant une fonction de système terminal comprend une partie émission, ladite partie émission utilisant un calendrier partagé stocké dans une mémoire interne d'un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, ledit calendrier comprenant une succession de périodes de temps, chaque période de temps pouvant être associée à un 25 ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps, ledit calendrier étant renseigné par des applications mises en oeuvre par des groupes de calcul applicatifs dudit processeur (10) et étant lu par un coeur de groupe de calcul implémentant la partie émission de la fonction de système terminal qui prend en charge chaque émission de trame devant être effectuée lorsqu'à un 30 instant courant le calendrier indique qu'une émission de trame doit être effectuée. 8) Système de type réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15) comprenant un dispositif selon l'une quelconque des revendications 1 à 7. 3057127 17 9) Véhicule comprenant un système selon la revendication 8. 10) Véhicule selon la revendication 9, caractérisé en ce que le véhicule est un aéronef (2). 5