Brevet FR3050565A1 (20171027)
REVENDICATIONS1. Système électronique (SE), configuré pour implémenter une application logicielle (AL) décrite sous la forme d'un graphe de type réseau de Kahn (GKPN) comportant des acteurs (Ai), caractérisé en ce que l'un au moins des acteurs (Ai) comporte un processeur (PPn) et l'un au moins des acteurs (Ai) comporte un accélérateur matériel (HW_IPk) et le système (SE) comporte en outre des mémoires tampons (FIFOj) couplées entre les différents acteurs (Ai), et des moyens de traitement (MT) configurés pour permettre un dialogue entre lesdits acteurs (Ai) selon un protocole commun de communication et de synchronisation (PCCS) alors que ledit processeur (PPn) et ledit accélérateur matériel (HW_IPk) sont conçus pour utiliser des protocoles de communication individuels différents.\n<CLM>\1\tSystème selon la revendication 1, dans lequel les moyens de traitement (MT) comportent une mémoire partagée (MP) contenant lesdites mémoires tampons (FIFOj), et des compteurs partagés (CP) et non-partagés (CNP) de synchronisation associés aux mémoires tampons (FIFOj), ledit protocole de communication et de synchronisation (PCCS) appliqué entre les acteurs (Ai) étant basé sur lesdits compteurs partagés (CP) et non-partagés (CNP) de synchronisation.\n<CLM>\1\tSystème selon la revendication 2, dans lequel les moyens de traitement sont configuré pour gérer les mémoires tampons sur la base de jeton, chaque mémoire tampon (FIFOj) comporte au moins un jeton initialement dans un état « LIBRE » et est couplée à un acteur source (A0) et à un acteur destinataire (A1), et les moyens de traitement (MT) sont configurés pour gérer une fonction « RESERVER » utilisable par un quelconque acteur source (AO) et conçue pour demander à la mémoire tampon (FIFOO) couplée audit acteur source (A0) de fournir un jeton dans un état « LIBRE » (JLO), une fonction « POUSSER » utilisable par un quelconque acteur source (A0) et conçue pour renvoyer à la mémoire tampon (FIFOO) 3050565 16 couplée audit acteur source (A0), un jeton modifié (JMO) à la suite d'une modification d'un jeton dans l'état « LIBRE » (JLO), une fonction « CAPTURE » utilisable par un quelconque acteur destinataire (A1) et conçue pour capturer un jeton modifié (JMO) de la 5 mémoire tampon (FIFO0) couplée audit acteur destinataire (A1), et une fonction « LIBERATION » utilisable par un quelconque acteur destinataire (A1) et conçue pour remettre un jeton modifié (JMO) de la mémoire tampon (FIF00) couplée audit acteur destinataire (A1) dans l'état « LIBRE » (JLO). 10\n<CLM>\1\tSystème selon la revendication 3, dans lequel les compteurs partagés (CP) comportent un compteur d'écriture (CE) configuré pour être incrémenté à la suite de chaque mise en oeuvre de la fonction « POUSSER » et un compteur de libération (CL) configuré pour être incrémenté à la suite de chaque mise en oeuvre de la fonction 15 « LIBERATION », et les compteurs non-partagés comportent un compteur de « réservation » (CR) configuré pour être incrémenté à la suite de chaque mise en oeuvre de la fonction « RESERVER », et un compteur de « capture » (CC) configuré pour être incrémenté à la suite de chaque mise en oeuvre de la fonction « CAPTURE ». 20\n<CLM>\1\tSystème selon la revendication 4, dans lequel les moyens de traitement son configurés pour effectuer un blocage de la fonction « RESERVER », sur la base de la valeur de la différence entre le contenu du compteur de réservation (CR) et celui du compteur de libération (CL) et d'une comparaison entre cette valeur de différence 25 et la capacité de la mémoire tampon associée, et pour effectuer un blocage de la fonction « CAPTURE »sur la base de la valeur de différence entre le contenu du compteur d'écriture (CE) et celui du compteur de « CAPTURE » (CC).\n<CLM>\1\tSystème selon la revendication 2, dans lequel le jeu de 30 mémoires tampons (FIFOj) comprend en outre au moins une mémoire tampon de diffusion (FIFO1) couplée à un seul acteur source (A1) et à au moins deux acteurs destinataires (A2 à A4), et au moins une mémoire tampon de collecte (FIFO2) couplée à au moins deux acteurs sources (A2 à A4) et à un seul acteur destinataire (A5), les moyens de 3050565 17 traitement (MT) étant en outre configurés pour gérer les mémoires tampons sur la base de jeton et gérer une fonction « DIFFUSION » utilisable par lesdits au moins deux acteurs destinataires (A2 à A4) et conçue pour capturer 5 parallèlement un même jeton modifié (JM2) généré par ledit seul acteur source (A1) et disponible dans ladite mémoire tampon de diffusion (FIFO1) et pour remettre ensuite ledit même jeton modifié en son état « LIBRE » (JL1), et une fonction « COLLECTE » utilisable par lesdits au moins 10 deux acteurs sources (A2 à A4) et conçue pour que chacun de ces acteurs sources demande à ladite au moins une mémoire tampon de collecte (FIFO2) un jeton en état « LIBRE » (JL2 à JL4) et pour que chacun renvoie ensuite à ladite au moins une mémoire tampon de collecte (FIFO2) un jeton modifié (JM2 à JM4) à la suite d'une 15 modification dudit jeton en état « LIBRE » (JL2 à JL4).\n<CLM>\1\tSystème selon l'une quelconque des revendications précédentes, dans lequel les moyens de traitement (MT) comportent au moins une interface de communication (ICk) couplée entre la mémoire partagée (MP) et ledit au moins un accélérateur matériel (HW IPk), et 20 un moyen de contrôle (MC) configuré pour supporter ledit protocole commun de communication et de synchronisation (PCCS).\n<CLM>\1\tSystème selon la revendication 7, dans lequel le moyen de contrôle (MC) est un moyen d'accès direct à la mémoire (DMA).\n<CLM>\1\tSystème selon les revendications 4 et 8, dans lequel ledit 25 moyen d'accès direct à la mémoire (DMA) est configuré pour être synchronisé via les compteurs partagés (CP) de synchronisation et être programmé par un acteur logiciel.\n<CLM>\1\tSystème selon l'une quelconque des revendications 6 à 8, dans lequel chaque interface de communication (ICk) est configurée 30 pour recevoir un flux de demandes d'opérations provenant dudit accélérateur matériel (HW IPk) correspondant et pour délivrer des commandes d'opérations de mémoire à ladite mémoire partagée (MP), et comprend un moyen de commande des mémoires tampons (MCMT) configuré pour gérer les mémoires tampons (FIFOj) couplées aux 3050565 18 accélérateurs matériels sur la base de jetons, des moyens de synchronisation (MS) configurés pour effectuer des synchronisations des jetons, et un bloc de traitement (BT) configuré pour implémenter ledit protocole. 5\n<CLM>\1\tSystème selon l'une quelconque des revendications précédentes, dans lequel ledit protocole commun de communication de synchronisation (PCCS) est adapté à un traitement parallèle de données entre les acteurs (Ai) et à une utilisation de variables globales partagées par lesdits acteurs (Ai).