Brevet FR3051933A1 (20171201)
REVENDICATIONS1. Dispositif (DV2) de traitement parallélisé de données, comprenant : - une première unité (U0) comprenant des sorties parallèles (Si) pour fournir des mots binaires (wi) en parallèle, et - une seconde unité (U1) comprenant des entrées parallèles (Ei) pour recevoir un ensemble (W) de mots binaires (wi) en parallèle fournis par la première unité (U0), caractérisé en ce que la seconde unité (U1) est configurée pour lire simultanément, au cours d'une même étape de lecture, tout ou partie des mots binaires de l'ensemble (W) de mots binaires (wi) appliqué sur ses entrées parallèles, et renvoyer une instruction (Nj) de purge de certains mots binaires de l'ensemble de mots binaires, et en ce qu'il comprend une unité de mise en correspondance de données (BDG) reliant les sorties parallèles de la première unité (U0) aux entrées parallèles de la seconde unité (U1) et configurée pour : - fournir à la seconde unité (U1) un premier ensemble de mots binaires (W, W1) fourni par la première unité (U0), - après lecture par la seconde unité (U1) d'une partie (a0-a4) des mots binaires du premier ensemble (W, W1) de mots binaires, fournir à la seconde unité (U1) le ou les mots (a5-a7) du premier ensemble de mots binaires n'ayant pas été purgés, et un ou plusieurs mots binaires (b0-b4) d'un second ensemble de mots binaires (W', W2) fourni par la première unité.\n<CLM>\1\tDispositif selon la revendication 1, dans lequel l'unité de mise en correspondance de données (BDG) est également configurée pour, lorsqu'une partie du second ensemble (W2) de mots binaires a été purgée, fournir à la seconde unité (U1) le ou les mots binaires (bl-b7) du second ensemble de mots binaires n'ayant pas été purgés et un ou plusieurs mots binaires (c0) d'un troisième ensemble (W3) de mots binaires fourni par la première unité.\n<CLM>\1\tDispositif selon l'une des revendications 1 et 2, dans lequel : - la seconde unité (U1) est configurée pour, lors de la lecture d'une partie des mots binaires appliqués sur ses entrées parallèles, lire des mots binaires (a0-a4) présents sur des entrées à plus haute priorité de lecture, et - l'unité de mise en correspondance de données (BDG) est configurée pour, après purge par la seconde unité d'une partie (a0-a4) de mots binaires du premier ensemble de mots binaires, appliquer sur les entrées à plus haute priorité de la seconde unité des mots (a5-a7) 3051933 28 du premier ensemble (W1) de mots binaires précédemment appliqués sur des entrées parallèles et n'ayant pas été purgés, et appliquer sur des entrées parallèles à plus faible priorité de lecture de la seconde unité un ou plusieurs mots binaires (b0-b4) du second ensemble (W2) de mots binaires. 5\n<CLM>\1\tDispositif selon la revendication 3, dans lequel l'unité de mise en correspondance de données comprend : - au moins deux registres d'entrée (R1, R2) agencés en parallèle et ayant chacun des entrées parallèles reliées aux sorties de la première unité (U0), 10 - un registre de sortie (R3) ayant des sorties reliées aux entrées parallèles de la seconde unité (U1), - un circuit à réorganisation de données (BS) reliant des sorties des registres d'entrée à des entrées parallèles du registre de sortie, et - un circuit de contrôle (CCT1) configuré pour : 15 - charger dans les registres d'entrée des ensembles (W1, W2, W3, W4, W5) de mots binaires (a0-a7, b0-b7, c0-c7, dO-d7, e0-e7) fournis par la première unité, et charger dans le registre de sortie, par l'intermédiaire du circuit à réorganisation de données, des mots binaires présents dans les registres d'entrée, - commander le circuit à réorganisation de données en fonction du nombre de mots 20 binaires (Nj) ayant été purgés, de manière à charger dans des cellules à plus haute priorité de lecture du registre de sortie les mots binaires (a5-a7) présents dans les registres d'entrée et n'ayant pas été purgés, et charger dans des cellules de plus faible priorité du registre de sortie des mots binaires (b0-b4) présents dans les registres d'entrée et n'ayant pas encore été présentés à la seconde unité. 25\n<CLM>\1\tDispositif selon la revendication 4, dans lequel le circuit de contrôle (CCT1) est configuré pour charger dans l'un des registres d'entrée (R1, R2) un nouvel ensemble (W3) de mots binaires fourni par la première unité (U0) au moins lorsque tous les mots binaires de l'ensemble (W2) de mots binaires présent dans le registre d'entrée ont été purgés. 30\n<CLM>\1\tDispositif selon l'une des revendications 1 à 5, dans lequel la seconde unité est configurée pour déterminer le nombre de mots binaires qu'elle lit au cours d'une même étape de lecture en fonction des mots binaires précédemment lus ou en fonction d'une consigne externe. 35 3051933 29\n<CLM>\1\tDispositif selon l'une des revendications 1 à 6, dans lequel la première unité est un processeur, un circuit d'interface de communication série/parallèle, un circuit d'adaptation d'un nombre de bus agencés en parallèle, un circuit de modification de fréquence d'horloge, ou une combinaison de ces éléments. 5\n<CLM>\1\tCircuit intégré à réseau de portes programmables, comprenant un dispositif selon l'une des revendications 1 à\n<CLM>\1\t9. Procédé de traitement de données au moyen d'un dispositif de traitement 10 parallélisé de données (DV2) comprenant une première unité (U0) comprenant des sorties parallèles (Si) pour fournir des mots binaires (wi) en parallèle, et une seconde unité (U1) comprenant des entrées parallèles (Ei) pour recevoir un ensemble (W) de mots binaires (wi) en parallèle fournis par la première unité (U0), procédé caractérisé en ce qu'il comprend les étapes consistant à : 15 - au moyen de la seconde unité (U1), lire simultanément, au cours d'une étape de lecture, tout ou partie des mots binaires de l'ensemble (W) de mots binaires (wi) appliqué sur ses entrées parallèles, et renvoyer, après une étape de lecture, une instruction (Nj) de purge de certains mots binaires de l'ensemble de mots binaires, et - après lecture par la seconde unité (U1) de tout ou partie (a0-a4) des mots binaires du 20 premier ensemble (W, W1) de mots binaires, fournir à la seconde unité (U1) le ou les mots (a5-a7) du premier ensemble de mots binaires n'ayant pas été purgés, et un ou plusieurs mots binaires (b0-b4) d'un second ensemble de mots binaires (W', W2) fourni par la première unité. 25\n<CLM>\1\tProcédé selon la revendication 9, comprenant l'étape consistant à, lorsqu'une partie du second ensemble (W2) de mots binaires a été purgée, fournir à la seconde unité le ou les mots binaires (bl-b7) du second ensemble de mots binaires n'ayant pas été purgés et un ou plusieurs mots binaires (c0) d'un troisième ensemble (W3) de mots binaires fourni par la première unité. 30\n<CLM>\1\tProcédé selon l'une des revendications 9 et 10, comprenant les étapes consistant à: - lors de la lecture de tout ou partie (a0-a4) des mots binaires appliqués sur les entrées parallèles de la seconde unité, lire des mots binaires (a0-a4) présents sur des entrées à plus 35 haute priorité de lecture, et 3051933 30 - après purge d'une partie (a0-a4) des mots binaires du premier ensemble (W1) de mots binaires, appliquer sur les entrées à plus haute priorité de lecture de la seconde unité des mots (a5-a7) du premier ensemble de mots binaires précédemment appliqués sur des entrées de plus faible priorité de lecture et n'ayant pas été purgés, et appliquer sur des 5 entrées parallèles à plus faible priorité de lecture de la seconde unité un ou plusieurs mots binaires (b0-b4) du second ensemble (W2) de mot binaire.\n<CLM>\1\tProcédé selon l'une des revendications 9 à 11, comprenant l'étape consistant à prévoir, entre la première et la seconde unité, une unité de mise en correspondance de 10 données (BDG) reliant les sorties parallèles de la première unité (U0) aux entrées parallèles de la seconde unité (U1) et comprenant au moins deux registres d'entrée (R1, R2) agencés en parallèle et ayant chacun des entrées parallèles reliées aux sorties de la première unité (U0), un registre de sortie (R3) ayant des sorties reliées aux entrées parallèles de la seconde unité (U1), et un circuit à réorganisation de données (BS) reliant 15 des sorties des registres d'entrée à des entrées parallèles du registre de sortie.\n<CLM>\1\tProcédé selon la revendication 12, comprenant une étape consistant à charger dans l'un des registres d'entrée (R1 R2) un nouvel ensemble de mots binaires fourni par la première unité, au moins lorsque tous les mots binaires de l'ensemble de mots binaires 20 présent dans le registre d'entrée ont été purgés.\n<CLM>\1\tProcédé pour réaliser, dans un circuit intégré à réseau de portes programmables (FPGA), un dispositif (DV2) exécutant une fonction de traitement parallélisé de données nécessitant des étapes de lecture simultanée de mots binaires (wi) dans un ensemble (W) de 25 mots binaires véhiculés par des bus de données parallèles, procédé comprenant : - une étape (F01) de description fonctionnelle de la fonction de traitement en utilisant un langage à haut niveau d'abstraction et en utilisant une variable non typée de taille non spécifiée (F01) pour désigner les mots binaires (wi) devant être lus simultanément, - une étape (F02) de définition de contraintes matérielles à prendre en compte dans la 30 réalisation du dispositif et incluant un choix d'un degré de parallélisme du dispositif, - à partir de la définition fonctionnelle et des contraintes matérielles, une étape (F03) de description matérielle du dispositif présentant le degré de parallélisme choisi, en utilisant comme architecture cible un dispositif conforme à l'une des revendications 1 à 7 dans lequel la seconde unité (U1) exécute la fonction de traitement des données, et 3051933 31 - à partir de la description matérielle du dispositif, une étape (F04) de configuration du circuit intégré à réseau de portes programmables, pour obtenir le dispositif présentant le degré de parallélisme choisi. 5\n<CLM>\1\tProcédé selon la revendication 14, comprenant les étapes consistant à : - tester le dispositif (F05), - remanier (F02) la définition des contraintes matérielles du dispositif de manière à modifier son degré de parallélisme, sans modifier la description fonctionnelle (F01) de la fonction de traitement, 10 - remanier (F03) la description matérielle du dispositif à partir de la définition remaniée des contraintes matérielles, et - à partir de la description matérielle remaniée du dispositif, reconfigurer (F04) le circuit intégré à réseau de portes programmables, pour obtenir le dispositif présentant le degré de parallélisme modifié. 15