Brevet FR2558614A1 — publié le 19850726

La présente invention concerne un appareil de trai- tement de données du type comprenant plusieurs éléments de traite- ment de données logiquement disposés en rangées et en colonnes de façon a former un réseau. Chaque élément de traitement peut être connecté aux éléments voisins dans le réseau afin de permettre un échange réciproque d'information. Ce type d'appareil de traitement est quelquefois appelé processeur en réseau, ou processeur matriciel, et est par exemple décrit dans les brevets britanniques n 1 445 714 et 1 536 933. Un avantage d'un semblable appareil est que, si le nombre d'éléments de traitement est grand, il est possible d'effectuer simultanément de nombreuses opérations et, par conséquent, la vitesse générale de traitement des données peut être très élevée. Une utilisation d'un tel appareil concerne le trai- tement d'une information d'image codée numériquement, par exemple dans le but de renforcer les images ou d'extraire certaines parti- cularités de ces images afin d'aider a la reconnaissance des formes. Dans ce but, chaque élément de traitement peut être assigné à un ou plusieurs éléments d'image particuliers (parfois appelé pixels) de l'image et être conçu de manière a traiter des variables (par exemple l'intensité) associées à ces éléments d'image. Lorsque l'on souhaite afficher l'image traitée, il faut lire la donnée d'image dans tous les éléments de traitement dans l'ordre correct afin de former un signal vidéo à destination d'une unité d'affichage visuel. La lecture de la donnée d'image est compliquée par le fait que l'unité d'affichage peut être du type à entrelacement, dans lequel toutes les lignes impaires et toutes les lignes paires de l'image sont affichées alternativement. Des problèmes analogues se posent lorsqu'il s'agit de délivrer des données à partir d'une source à entrelacement. Le but de l'irnvention est de faciliter la lecture de données dans les éléments de traitement pour les délivrer à une unité d'affichage à entrelacement, ou l'entrée de données en prove- nance d'une source à entrelacement. Selon l'invention, il est proposé un appareil de traitement de données comprenant plusieurs éléments de traitement de données possédant chacun un registre de données associé servant à recevoir des données de sortie de la part de cet élément, les élé- ments de traitement de données et leurs registres de données associés étant disposés logiquement en rangées et en colonnes, o chaque co- lonne des registres de données comporte des moyens d'interconnexion qui peuvent être sélectivement activés de manière à connecter ensemble les uns ou les autres des éléments suivants: (a) les registres à numérotation paire de cette.colonne, ou (b) les registres à numérotation impaire de cette colonne, ou bien (c) tous les registres de cette colonne, de manière à former dans chaque colonne un trajet de décalage en série permettant de faire sortir les données venant des rangées paires, des rangées impaires ou de toutes les rangées, à raison d'une rangée à la fois. Les registres de données peuvent également être uti- lisés pour donner accès aux éléments de traitement. La description suivante, conçue à titre d'illustra- tion de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexes, parmi lesquels: la figure 1 est un schéma de principe de l'appareil de traitement de données, lequel consiste d'un réseau d'éléments de traitement; et la figure 2 montre des registres de données servant à introduire des données dans une partie du réseau et à faire sortir des données d'une partie du réseau. On se reporte d'abord à la figure 1. L'appareil de traitement comprend un réseau bidimensionnel 10 d'éléments de trai- tement PE, qui sont disposés en rangées et en colonnes afin de for- mer un réseau carré ou rectangulaire. Par exemple, il peut y avoir 1 024 éléments dans le réseau, disposés en 32 rangées et 32 colonnes. Chaque élément est connecté à ses quatre plus proches voisins dans le réseau, suivant les directions respectives nord, est, sud et ouest, de manière à permettre un transfert de données entre eux. L'exception à cette disposition réciproque est donnée par les bords du réseau, o les éléments possèdent moins de quatre voisins; dans 2 5 5 8 6 1 4 ce cas, les éléments situés le long de chaque bord peuvent être con- nectés à ceux situés le long du bord opposé. Il faut noter que la disposition des éléments de trai- tement en rangées et en colonnes se rapportent à leur disposition logique et non pas nécessairement à leur disposition matérielle. Sur le plan matériel, le réseau est conçu à partir de puces de circuit intégré à grande échelle, chacune d'elles con- tenant seize éléments de traitement qui forment un sous-réseau 4 x 4. Soixante-quatre semblables puces, qui sont connectées suivant une configuration 8 x 8, sont nécessaires pour former le réseau 32 x 32 d'éléments de traitement. Chacun des éléments de traitement peut avoir la forme représentée dans les brevets cités ci-dessus, et il n'est donc pas nécessaire de les décrire ici en détail. Une donnée peut être lue dans le réseau comme cela sera décrit, puis placée dans un registre de sortie 11. Cette donnée peut ensuite, après un traitement supplémentaire si cela est néces- saire, être utilisée pour produire un signal vidéo servant à exciter une unité d'affichage visuel à entrelacement 12. Une donnée peut également être délivrée au réseau, par l'intermédiaire d'un registre d'entrée 14. Cette donnée peut être constituée d'une donnée d'image numériquement codée provenant d'un dispositif 15 de codage d'image. Sur la figure 2, sont représentés quatre éléments de traitement 16 à 19formant une colonne du sous-réseau 4 x 4 de l'une des puces. Les quatre éléments 16 à 19 comportent des registres de donnéesd'un seul bit respectifs 20 à 23 qui leur sont associés, pour l'entrée et la sortie des données. Les registres 20 à 23 sont connec- tés à cinq multiplexeurs 24 à 28. Le multiplexeur 24 est un multiplexeur à deux voies, comportant des entrées 0 et 1. L'entrée 0 est connectée à la sortie de l'élément de traitement 16 et l'entrée 1 est connectée, par l'in- termédiaire d'un trajet 29, à la sortie du multiplexeur 28 de la puce précédente. (Dans le cas d'une puce se trouvant sur le bord supérieur du réseau, cette entrée est connectée au registre d'en- trée 14.) La sortie du multiplexeur 24 est connectée à l'entrée du registre 20. Les multiplexeurs 25 à 27 sont tous des multiplexeurs à trois voies, comportant des entrées 0, 1 et 2. Dans chaque cas, l'entrée O est connectée à la sortie de l'élément de traitement correspondant 17, 18 ou 19. L'entrée 1 est connectée au registre précédent 20, 21 ou 22, tandis que l'entrée 2 est connectée de ma- nière à permettre la dérivation de ce registre. Les sorties des multiplexeurs 25 et 27 sont respectivement connectées aux registres 21, 22, 23. Le multiplexeur 28 est un multiplexeur à deux voies ayant des entrées O et 1. L'entrée 0 est connectée à la sortie du registre 23, tandis que l'entrée 1 est connectée de façon à dériver ce registre. La sortie du multiplexeur 28 est connectée à l'entrée 1 du multiplexeur 24 de la puce suivante. (Dans le cas d'une puce se trouvant sur le bord inférieur du réseau, cette sortie est connectée au registre de sortie 11.) Lorsque l'on souhaite faire sortir une donnée du réseau, on commence par positionner chacun des multiplexeurs 24 à 27 de façon à sélectionner l'entrée 0. Ceci permet à chaque élément de traitement d'écrire la donnée dans son registre associé. On peut voir que la totalité des registres contient donc un plan complet de données de sortie des éléments de traitement. La donnée est ensuite décalée, en sortie, hors des registres, de façon à passer dans le registre de sortie 11. Ceci peut s'effectuer suivant trois modes différents. Dans le premier mode, on commute les multiplexeurs 24 à 27 de façon à sélectionner l'entrée 1 et on commute le multiplexeur 28 de façon à sélectionner l'entrée 0. L'effet de ce premier mode est de connecter en série tous les registres de chaque colonne du réseau afin de former un registre de décalage en série. Ceci permet de transférer tout le plan de données dans le registre de sortie 11, à raison d'une rangée à la fois. Suivant le deuxième mode, on commute les multiple]um 25 et 27 de façon à sélectionner l'entrée 2,et on commute le multi- plexeur 28 de façon à sélectionner l'entrée O (les états des autres multiplexeurs n'ont pas d'importance). L'effet de ce deuxième mode est de connecter en série tous les registres à numérotation impaire, soit 21 et 23, de chaque colonne du réseau, en dérivant les registres à numérotation paire. Suivant le troisième mode, les multiplexeurs 24 et 28 sont commutés de façon à sélectionner l'entrée 1 et le multiplexeur 26 est commuté de façon à sélectionner l'entrée 2 (les états des autres multiplexeurs sont sans importance). L'effet de ce troisième mode est de connecter en série tous les registres à numérotation paires soit 20 et 22, de chaque colonne, en dérivant les registres à numé.- rotation impaire. Les deuxième et troisième modes sont particulièrement utiles pour délivrer des données d'image à l'unité 12 d'affichage visuel à entrelacement. Dans ce cas, on charge les registres 20 à 23 avec les données d'image traitées venant des éléments de traite- ment. On décale d'abord en sortie les rangées impaires, à raison d'une à la fois, afin de produire les lignes impaires de l'affichage. On charge de nouveau les registres à l'aide de ces mêmes données, puis on décale en sortie les rangées paires, afin de produire les lignes paires de l'affichage. Il est possible d'écrire les données dans les élé- ments de traitement en utilisant les registres 20 à 23 d'une manière analogue. Dans ce cas, si la donnée d'entrée représente une image entrelacée, on utilise de nouveau le deuxième mode et le troisième mode pour charger les rangées impaires d'abord, puis les rangées paires. Il faut noter que le multiplexeur à deux entrées 28 et le multiplexeur & deux entrées 24 de la puce suivante forment ensemble un circuit de multiplexage qui a la même fonction que l'un des multiplexeurs à trois entrées 25, 26 et 27. On peut donc voir que chaque paire de registres de données adjacents d'une m8me colonne s'interconnecte par l'intermé- diaire d'un circuit de multiplexage. Lorsque les registres adjacents sont tous deux dans la même puce, le circuit de multiplexage comprend un unique multiplexeur à trois entrées 25, 26 ou 27. D'autre part, lorsque les deux registres de données adjacents se trouvent sur des puces différentes, le circuit de multiplexage qui les connecte comprend deux multiplexeurs à deux entrées 28 et 24 distincts qui se trouvent sur les puces respectivement distinctes. Cette dispo- sition assure que seul un unique trajet 29 est nécessaire entre les deux puces pour produire le trajet de décalage de cette colonne, Si l'on remplace la paire de multiplexeurs 28 et 24 par un unique multiplexeur à trois entrées connecté de la même manière que les multiplexeurs 25, 26 et 27, il faudrait deux trajets entre les puces au lieu d'un. Bien entendu, l'homme de l'art sera en mesure d'ima- giner, à partir de l'appareil dont la description vient d'être donnée A titre simplement illustratif et nullement limitatif, diverses va- riantes et modifications ne sortant pas du cadre de l'invention. 2558 6 1 4 R E V E N D I CATIONS 1. Appareil de traitement de données comprenant plusieurs éléments de traitement de données possédant chacun un registre de données associé destiné à recevoir une donnée de sortie de la part de cet élément, les éléments de traitement de données et leurs re- gistres de données associés étant logiquement disposés en rangées et en colonnes, caractérisé en ce que chaque colonne des registres de données (20 à 23) comporte des moyens d'interconnexion (24 à 28) pouvant être sélectivement actionnés pour connecter ensemble les uns ou les autres des éléments suivants: (a) les registres à numérotation paire (20 a 22) de cette colonne, (b) les registres à numérotation impaire (21, 23) de cette colonne, ou bien (c) tous les registres (20 à 23) de cette colonne, de manière à former un trajet de décalage en série dans chaque colonne permettant que les données venant des rangées paires, des rangées impaires ou de toutes les rangées soient décalées en sortie, à raison d'une rangée à la fois. 2. Appareil selon la revendication 1, caractérisé en ce que les moyens d'interconnexion comprennent plusieurs circuits de multiplexage (24 à 28), chacun d'eux interconnectant une paire adja- cente de registres de données (20 à 23) de la même colonne, chaque circuit de multiplexage pouvant être sélectivement activé de façon à sélectionner l'un ou l'autre des éléments suivants: (a) la sortie du premier registre de cette paire de registres de données, ou bien (b) la sortie du registre de données précédant le premier registre de cette paire de registres de données. 3. Appareil selon la revendication 2, caractérisé en ce qu'il comprend plusieurs puces de circuit intégré contenant chacun plusieurs éléments de traitement (16 à 19) formant une partie d'au moins une colonne d'élémentsde traitement, ainsi que leurs registres de données associés (20 à 23) et leurs circuits de multiplexage (24 à 28). 4. Appareil selon la revendication 3, caractérisé en ce que, à chaque fois que deux registres de données adjacents (20, 21 21, 22; 22, 23) de la même colonne se trouvent sur la même puce de circuit intégré, le circuit de multiplexage (25; 26; 27) qui les interconnecte se trouve entièrement sur cette même puce, et, à chaque fois que deux registres de données adjacents (23, 20) de la même colonne se trouvent sur des puces de circuit intégré différentes, le circuit de multiplexage qui les interconnecte comprend deux mul- tiplexeurs distincts (28, 24) se trouvant sur les puces respectives, ces deux multiplexeurs étant interconnectés par un unique trajet (29) reliant les puces. - 5. Appareil selon l'une quelconque des revendications 2 à 4, caractérisé en ce que les circuits de multiplexage peuvent éga- lement être activés pour connecter les sorties des éléments de trai- tement avec leurs registres de données associés. 6. Appareil selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les sorties des trajets de décalage en série formés par les registres de données (20 à 23) et les moyens d'interconnexion (24 à 28) sont connectées à une unité d'affichage visuel à entrelacement (12). 7. Appareil selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les entrées des trajets de décalage en série formés par les registres de données (20 à 23) et les moyens d'interconnexion (24 à 28) sont connectés à la sortie d'un dispo- sitif de codage d'image (15).