WO1993025976A1 - Parallel processor for processing multiple data with a series of repetitive instructions - Google Patents

Parallel processor for processing multiple data with a series of repetitive instructions Download PDF

Info

Publication number
WO1993025976A1
WO1993025976A1 PCT/FR1993/000596 FR9300596W WO9325976A1 WO 1993025976 A1 WO1993025976 A1 WO 1993025976A1 FR 9300596 W FR9300596 W FR 9300596W WO 9325976 A1 WO9325976 A1 WO 9325976A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
lines
bits
words
Prior art date
Application number
PCT/FR1993/000596
Other languages
French (fr)
Inventor
Remi Eugene
Cemal Draman
Original Assignee
Technium (Societe Civile D'etudes Et De Recherches)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technium (Societe Civile D'etudes Et De Recherches) filed Critical Technium (Societe Civile D'etudes Et De Recherches)
Publication of WO1993025976A1 publication Critical patent/WO1993025976A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Definitions

  • the present invention relates to a parallel processor for the rapid processing of a large number of data according to an identical algorithm for each of the data.
  • a processor is in particular intended for image processing, pixel by pixel, and real time.
  • processors with parallel architecture are known in the state of the art, in particular processors operating according to the "single instruction stream, multiple data streams" mode.
  • a single control unit manages the operation of a plurality of calculation units, and several data are processed simultaneously.
  • Parallelism of the "single instruction flow, multiple data flows” type is particularly suitable for low-level processing, that is to say for point operations or in a neighborhood independent of the pixel position in 1 ' picture .
  • American patent US 4 144 566 describes in particular a parallel processor comprising a large number of elementary processors connected in parallel on an address bus and a control bus, and each comprising a memory and control and calculation means for operating calculations on the bits addressed in the memory and on bits coming either from the internal memory or from external peripheral organs.
  • the mass memory and said control and calculation means are interconnected to a fast memory of low capacity, the means of. command comprising a single storage scale allowing to operate in series calculations on bits extracted from memory and / or coming from said peripheral.
  • control means is meant in particular structures making it possible to direct information from one or more sources to one or more destinations, and in particular multiplexers.
  • US Pat. No. 4,215,401 describes a massive parallel processor comprising a plurality of elementary computing units UCE, each of the elementary computing units being connected to the neighboring elementary computing units for forming a matrix of interconnected elementary computing units of dimension N x M.
  • the elementary computing units are also connected to a central controller.
  • Each of the elementary computing units comprises a random access memory, an accumulator with one input bit, an accumulator with one output bit and a NAND gate.
  • the use of NAND gates as the processing unit, and the organization of memories imply a relative complexity of the instruction sequences and a limitation of the processing speed.
  • European patent 0 122 048 discloses a computer for parallel processing of data, comprising a plurality of processing cells (P) and a control device for generating control signals in response to program instructions, each cell comprising an element of arithmetic processing having three input terminals (Dl, D2, C) and a plurality of output terminals (PLUS, RETENUE; +, CY, BW). Each cell further includes a plurality of memories operable to provide data input signals to the input terminals of the processing element in response to control signals from the controller.
  • Memories are connected to the controller and the arithmetic processing element such that both arithmetic and logical operations, including logical operations involving a plurality of data input signals, can be executed by the arithmetic processing element in response to the selective application a logic level of ONE binary or ZERO binary from one of the memories at one of the input terminals of the processing element.
  • the aim of the present invention is to optimize the processor in order to balance the resources devoted to managing the formatting of the data and to supplying the elementary computing units with data on the one hand, and the resources devoted the execution of logical and / or arithmetic processing on the other hand.
  • the invention relates more particularly to a parallel processor constituted, in addition to a control part generating all of the commands necessary for the operation of the part assigned to the calculation and to the management of the data, by:
  • UCEi, j having M lines L ce for data input and N lines L cs for data output, each of these lines L ce , L cs being connected to one of the input-output lines L these of the whole;
  • transposition structure performing the so-called "direct” transformation of a set of Q data of P bits into a set of P words of Q bits, a word being constituted by the association of the Q bits of equivalent weight of the Q data, said transposition structure also ensuring the so-called “reciprocal” transformation of P 'words of Q' bits into Q 'data of P' bits.
  • Such a structure communicates with the input-output ports by means of the input of "data” having respectively P and P 'bits, and with the mass memory by "words" having respectively Q and Q' bits.
  • the lines allowing these exchanges can be monodirectional or bidirectional, and distinct or common for transfers of "data” and "words";
  • a set of ports allowing the exchange of data between the transposition structure or the mass memory on the one hand and the outside on the other hand.
  • the different ports do not necessarily have the same number of lines, and can be individually mono-directional or bidirectional; the set of ECUs exchanging data with the memory, the memory exchanging data with the transposition structure and with the set of ports and the transposition structure exchanging data with the set of ports.
  • a "Data" gathers all the bits of the same information.
  • a "Word" groups together all the bits of the same weight of a data set.
  • transposition of data into word- is designated by "direct transposition” while the transposition of "words" into "data” is designated by "reciprocal transposition”.
  • each of the elementary computing units UCEj ⁇ performs identical processing on the data originating from the mass memory, according to instructions supplied identically by the central controller to each elementary computing unit UCEj ⁇ j .
  • This mode of implementation makes it possible to limit the flow of data and therefore to speed up the processing speed of a large number of data.
  • the number ⁇ . K of elementary computing units is typically between a few tens and several thousand, and depends essentially on technological progress in terms of circuit integration.
  • the number L of input-output lines is equal to the number of calculation units, to a submultiple or to a multiple of this number.
  • the number M of inputs of each of the elementary computing units is typically between 1 and 32.
  • the number N • of outputs of each of the elementary computing units is typically between 1 and 32.
  • the length O of input lines -output L raes of the mass memory of large capacity is equal to L or a submultiple of L.
  • P and P ' are equal to the number of lines of the external ports to which they are connected
  • Q and Q ' are equal to the length O of input-output lines L e s - e l a mass memory or to sub-multiples of O.
  • the information present at the output of the set of elementary calculation units is transmitted in whole or in part in one or more cycles, this by connecting for each cycle O L lines of the set of units of elementary calculations at O lines of large capacity memory.
  • the information present at the output ' of the large-capacity memory are transmitted in a cycle at 0 of the L lines of the set of elementary calculation units, the unsolicited elementary calculation units are blocked in writing.
  • the transfers between the large capacity memory and the transposition structure depend on the values of O, Q and Q '
  • the transfers from the large capacity memory to the set of ports as well as the transfers between the set of ports and the large capacity memory depend on the values of R designating the number of lines of the ports requested by the transfer which is less than O.
  • the 'information contained on the input port configured are transmitted in one cycle from 0 to R rows of the large memory capacity.
  • the part of the unsolicited memory is blocked in writing.
  • each of the K elementary calculation units UCE j of a series i of elementary calculation units UCEj. fj accesses the memory elements M j _ r to M j + r and writes to the memory elements M j _ s to M j + S without exchanging data with an elementary calculation units UCE j > or j ⁇ j '.
  • each of the K elementary calculation units UCEj . , j accesses the memory elements Mi_ t , j - r to M + , j + r and writes in the memory elements Mj.
  • _ Uf j _ s to Mi + Ufj + S without exchanging data with an elementary calculation units UCE j >, j 'where i ⁇ i' and j ⁇ j '-
  • FIG. 1 schematically represents the environment of a processor according to the invention
  • FIG. 2 represents the general structure of the processor according to the invention
  • - Figure 3 shows schematically the architecture of a memory element of the transposition structure, according to a first embodiment
  • - Figure 4 shows the memory network and the connections with the various BUSes
  • FIG. 5 shows the block diagram of a cell of the memory network
  • FIG. 6 schematically shows the architecture of a second embodiment of a memory element of the transposition structure
  • FIG. 7 shows the memory network and connections with the various BUS;
  • - Figure 8 shows the block diagram of a cell of the memory array;
  • FIG. 9 schematically represents the architecture of a third embodiment of a memory element of the transposition structure;
  • FIG. 10 shows the memory network and the links with the various BUSes
  • FIG. 11 shows the block diagram of a cell of the memory array
  • FIG. 12 shows the architecture of an Elementary Calculation Unit.
  • FIG. 1 represents the overall architecture of an example of application of a processor according to the invention.
  • the image processing chain essentially comprises three modules (1 to 3).
  • the first module consists of an imaging workstation (1) capable of acquiring and reproducing images in real time, connected to a digital camera (5) and to a monitor (6).
  • This workstation is generally equipped with a video processor (7) provided with a local program memory (8), with a data memory (9) making it possible to store the information coming from a camera, or intended for transfer to a monitor, and several cable operators to perform specific functions.
  • the second module (3) can be composed of a single processor or of a type processor
  • the elementary processor can be a conventional processor, a vector processor, a transputer ...
  • This second module (3) provides medium and high level transformations such as the transition from image to list and the processing of these lists.
  • the third module (4) consists of a processor according to the invention, comprising a calculation structure (101) intended for real-time video processing on the basis of low level algorithms in image processing (calculations on neighborhoods) .
  • This computing structure (101) receives commands from a central controller (102) generating the instructions necessary for the operation of the computing structure (101).
  • the entire architecture is connected on the one hand to a standard industrial BUS (referenced “Multibus” in FIG. 1) - for commands, and on the other hand to a set of digital video BUSs (referenced “BUS images” “in FIG. 1) for data exchanges which allow exchanges of the pipeline type or, by a referral system, more complex communications.
  • a standard industrial BUS referenced “Multibus” in FIG. 1
  • a set of digital video BUSs referenced “BUS images” “in FIG. 1
  • FIG. 2 represents the general structure of the processor according to the invention.
  • the processor comprises:
  • each elementary processor has an output line and 7 input lines.
  • a mass memory having 512 data input-output lines and which allows the writing of 512-bit words.
  • a transposition structure (23) composed of two identical and independent 32 * 512 transposition memories each having an addressing allowing reading or writing in a "given" format (32 bits) and reading and writing in the format "word” (512 bits).
  • Each of the transposition memories allows either a data-to-word transposition or a word-to-data transposition at any time.
  • transposition elements a first type with double orthogonal shift where the shift in one direction corresponds to the access in one format while the shift in an orthogonal direction corresponds to the access in the other format ; a second type with double cross-addressing, one addressing corresponding to access in one format and the other addressing corresponding to addressing in the other format; a third hybrid type allowing access to one format by offset and access to the other format by addressing.
  • FIGS. 3 to 11 represent transposition memories having data and word accesses by addressing •
  • the transposition structure (23) is composed of a transposition memory with reading writing "words" and reading writing "data”
  • such a memory makes it possible to carry out both direct and reciprocal transformations, as illustrated by FIGS. 3 to 5.
  • FIG. 3 schematically represents the architecture of the transposition structure, constituted by a read and write memory "data” and read write write “words”.
  • FIG. 4 represents the memory network and the links with the various BUSes.
  • Each elementary cell (28 to 31) comprises:
  • FIG. 6 represents the general architecture of the “Data” write memory
  • FIG. 7 represents the memory network and the links with the various BUSes.
  • Each elementary cell (50 to 53) includes:
  • FIG. 9 represents the general architecture of the second memory, with "data” reading and “words” writing.
  • FIG. 10 - represents the memory network and the connections with the various BUSes.
  • Each elementary cell (60 to 63) comprises: a memory (68) receiving the signals of the Write command lines (67) and of the "word” lines in Write (64),
  • FIG. 12' represents "the architecture of an Elementary Computing Unit.
  • Each Unit of Elementary computation consists of two RAMs RAM I (70) and RAM II (71), of the dual access memory type to allow simultaneous reading and writing at different addresses, each composed of r words of one bit, and by two calculation structures, the first calculation structure (72) being a serial bit logic and arithmetic unit and the second calculation structure (73) being a parallel word arithmetic unit.
  • the Elementary Computing Unit further comprises a set (74) of multiplexers and registers connecting the outputs and the inputs of the elements.

Abstract

A parallel processor comprising: an assembly (21) of α series of K elemental arithmetic units (UCEi,j), wherein each of the elemental arithmetic units (UCEi,j) has M data input lines (Lce) and N data output lines (Lcs), and each of said lines (Lce, Lcs) is connected to one of the input/output lines (Lces) of the assembly (21); a bulk memory (22) having O input/output lines (Lmes) for writing in and reading out words of O bits, said assembly (21) transferring data to and from said bulk memory; a transposing structure performing the 'direct' conversion of a set of Q data items having P bits into P words having Q bits, said transposing structure further performing the 'reciprocal' conversion of P' words having Q' bits into Q' data items having P' bits; and a set of ports (24) for transferring data to and from the assembly (21), the memory (22) and the transposing structure (23). Said processor may be used to perform repetitive processing, particularly image processing.

Description

PROCESSEUR PARALLELE POUR TRAITEMENT DE MULTIPLE DONNEESPARALLEL PROCESSOR FOR MULTIPLE DATA PROCESSING
PAR UNE SERIE D ' INSTRUCTIONS . REPETITIVES .BY A SERIES OF INSTRUCTIONS. REPETITIVE.
La présente invention concerne un processeur parallèle pour le traitement rapide d'un nombre important de données selon un algorithme identique pour chacune des données. Un tel processeur est en particulier destiné au traitement d'images, pixel par pixel, et temps réel.The present invention relates to a parallel processor for the rapid processing of a large number of data according to an identical algorithm for each of the data. Such a processor is in particular intended for image processing, pixel by pixel, and real time.
On connait dans l'état de la technique différents types de processeurs à architecture parallèle, en particulier des processeurs fonctionnant selon le mode "simple flot d'instruction, multiple flots de données". Pour les processeurs de l'état de la technique, une seule unité de contrôle gère le fonctionnement d'une pluralité d'unités de calculs, et plusieurs données sont traitées simultanément. L'association d'un nombre important d'unités de calcul interconnectées, intégrant chacune des mémoires vives pour le stockage des données et des informations relatives au traitement, ainsi que le résultat des traitements, forme un réseau matriciel. Le parallélisme de type "simple flot d'instruc ion, multiple flots de données" est en particulier adapté aux traitements de bas niveau, c'est-à-dire pour les opérations ponctuelles ou sur un voisinage indépendant de la position du pixel dans 1 ' image .Different types of processors with parallel architecture are known in the state of the art, in particular processors operating according to the "single instruction stream, multiple data streams" mode. For processors of the prior art, a single control unit manages the operation of a plurality of calculation units, and several data are processed simultaneously. The association of a large number of interconnected calculation units, each integrating random access memories for the storage of data and information relating to the processing, as well as the result of the processing, forms a matrix network. Parallelism of the "single instruction flow, multiple data flows" type is particularly suitable for low-level processing, that is to say for point operations or in a neighborhood independent of the pixel position in 1 ' picture .
Le brevet américain US 4 144 566 décrit en particulier un processeur parallèle comportant un grand nombre de processeurs élémentaires raccordés en parallèle sur un bus d'adresse et un bus de commande, et comportant chacun une mémoire et des moyens de commande et de calcul pour opérer des calculs sur les bits adressés dans la mémoire et sur des bits provenant soit de la mémoire interne, soit d'organes périphériques extérieurs. La mémoire de masse et lesdits moyens de commande et de calcul sont interconnectés à une mémoire rapide de faible capacité, les moyens de. commande comportant une seule bascule de stockage permettant d'opérer en série des calculs sur les bits extraits de la mémoire et/ou provenant dudit périphérique.American patent US 4 144 566 describes in particular a parallel processor comprising a large number of elementary processors connected in parallel on an address bus and a control bus, and each comprising a memory and control and calculation means for operating calculations on the bits addressed in the memory and on bits coming either from the internal memory or from external peripheral organs. The mass memory and said control and calculation means are interconnected to a fast memory of low capacity, the means of. command comprising a single storage scale allowing to operate in series calculations on bits extracted from memory and / or coming from said peripheral.
Par "moyen de commande", on entend en particulier des structures permettant d'aiguiller l'information depuis une ou plusieurs sources vers une ou plusieurs destinations, et notamment des multiplexeurs .By "control means" is meant in particular structures making it possible to direct information from one or more sources to one or more destinations, and in particular multiplexers.
Afin d'améliorer la puissance et la vitesse de calcul, le brevet américain US 4 215 401 décrit un processeur parallèle massif comportant une pluralité d'unités de calcul élémentaires UCE, chacune des unités de calcul élémentaires étant reliée aux unités de calcul élémentaires voisines pour former une matrice d'unités de calcul élémentaires interconnectées de dimension N x M. Les unités de calcul élémentaires sont en outre reliées à un contrôleur central.In order to improve the computing power and speed, US Pat. No. 4,215,401 describes a massive parallel processor comprising a plurality of elementary computing units UCE, each of the elementary computing units being connected to the neighboring elementary computing units for forming a matrix of interconnected elementary computing units of dimension N x M. The elementary computing units are also connected to a central controller.
Chacune des unités de calcul élémentaires comprend une mémoire vive, un accumulateur à un bit d'entrée, un accumulateur à un bit de sortie et une porte NAND. L'usage de portes NAND comme l'unité de traitement, et l'organisation des mémoires impliquent une relative complexité des séquences d'instruction et une limitation de la vitesse de traitement.Each of the elementary computing units comprises a random access memory, an accumulator with one input bit, an accumulator with one output bit and a NAND gate. The use of NAND gates as the processing unit, and the organization of memories imply a relative complexity of the instruction sequences and a limitation of the processing speed.
Le brevet européen 0 122 048 divulgue un Ordinateur de traitement en parallèle de données, comprenant une pluralité de cellules de traitement (P) et un dispositif de commande pour engendrer des signaux de commande en réponse à des instructions de programme, chaque cellule comprenant un élément de traitement arithmétique ayant trois bornes d'entrée (Dl, D2,C) et une pluralité de bornes de sortie (PLUS, RETENUE; +, CY, BW) . Chaque cellule comprend en outre une pluralité de mémoires pouvant être commandées pour fournir des signaux d'entrée de données aux bornes d'entrée de l'élément de traitement en réponse a des signaux de commande provenant du dispositif de commandeEuropean patent 0 122 048 discloses a computer for parallel processing of data, comprising a plurality of processing cells (P) and a control device for generating control signals in response to program instructions, each cell comprising an element of arithmetic processing having three input terminals (Dl, D2, C) and a plurality of output terminals (PLUS, RETENUE; +, CY, BW). Each cell further includes a plurality of memories operable to provide data input signals to the input terminals of the processing element in response to control signals from the controller.
Les mémoires sont connectées au dispositif de commande et a l'élément de traitement arithmétique de telle sorte qu'à la fois des opérations arithmétiques et des opérations logiques, comprenant des opérations logiques mettant en jeu une pluralité de signaux d'entrée de données, puissent être exécutées par l'élément de traitement arithmétique en réponse à l'application sélective d'un niveau logique de UN binaire ou de ZERO binaire en provenance de l'une des mémoires à l'une des bornes d'entrée de l'élément de traitement . Le but de la présente invention est d'optimiser le processeur afin d'équilibrer les ressources consacrées à la gestion de la mise en forme des données et à l'alimentation des unités de calcul élémentaires en données d'une part, et les ressources consacrées à l'exécution des traitement logiques et/ou arithmétique d'autre part.Memories are connected to the controller and the arithmetic processing element such that both arithmetic and logical operations, including logical operations involving a plurality of data input signals, can be executed by the arithmetic processing element in response to the selective application a logic level of ONE binary or ZERO binary from one of the memories at one of the input terminals of the processing element. The aim of the present invention is to optimize the processor in order to balance the resources devoted to managing the formatting of the data and to supplying the elementary computing units with data on the one hand, and the resources devoted the execution of logical and / or arithmetic processing on the other hand.
A cet effet, l'invention concerne plus particulièrement un processeur parallèle constitué, outre une partie de contrôle générant l'ensemble des commandes nécessaire au fonctionnement de la partie affectée au calcul et à la gestion des données, par:To this end, the invention relates more particularly to a parallel processor constituted, in addition to a control part generating all of the commands necessary for the operation of the part assigned to the calculation and to the management of the data, by:
- un ensemble d'UCE de α séries de K unités de calcul élémentaires UCEi, j, i désignant un entier compris entre 1 et α et j désignant un entier compris entre 1 et K, ledit ensemble comportant L lignes d'entrée-sortie, chacune des unités de calcul élémentairesa set of UCE of α series of K elementary calculation units UCEi, j , i designating an integer between 1 and α and j designating an integer between 1 and K, said set comprising L input-output lines, each of the elementary computing units
UCEi,j disposant de M lignes Lce pour l'entrée de données et de N lignes Lcs pour la sortie de données, chacune de ces lignes Lce, Lcs étant connectée à l'une des lignes d'entrée-sortie Lces de l'ensemble;UCEi, j having M lines L ce for data input and N lines L cs for data output, each of these lines L ce , L cs being connected to one of the input-output lines L these of the whole;
- une mémoire de masse de grande capacité disposant de O lignes d'entrée-sortie Lmes pour l'écriture et la lecture de mots de O bits, l'ensemble échangeant des données avec ladite mémoire de masse;a large capacity mass memory having O input-output lines L mes for writing and reading words of O bits, the whole exchanging data with said mass memory;
- une structure de transposition effectuant la transformation dite "directe" d'un ensemble de Q données de P bits en un ensemble de P mots de Q bits, un mot étant constitué par l'association des Q bits de poids équivalent des Q données, ladite structure de transposition assurant par ailleurs la transformation dite "réciproque" de P' mots de Q' bits en Q' données de P ' bits. Une telle structure communique avec les ports d'entrée-sortie grâce à l'entrée de "données" ayant respectivement P et P' bits, et avec la mémoire de masse par des "mots" ayant respectivement Q et Q' bits. Les lignes permettant ces échanges peuvent être monodirectionnelles ou bidirectionnelles, et distinctes ou communes pour les transferts de "données" et de "mots" ;a transposition structure performing the so-called "direct" transformation of a set of Q data of P bits into a set of P words of Q bits, a word being constituted by the association of the Q bits of equivalent weight of the Q data, said transposition structure also ensuring the so-called "reciprocal" transformation of P 'words of Q' bits into Q 'data of P' bits. Such a structure communicates with the input-output ports by means of the input of "data" having respectively P and P 'bits, and with the mass memory by "words" having respectively Q and Q' bits. The lines allowing these exchanges can be monodirectional or bidirectional, and distinct or common for transfers of "data" and "words";
- un ensemble de ports permettant l'échange de données entre la structure de transposition ou la mémoire de masse d'une part et l'extérieur d'autre part. Les différents ports ne comportent pas obligatoirement le même nombre de lignes, et peuvent être individuellement mono-directionnels ou bidirectionnels ; l'ensemble d'UCE échangeant des données avec la mémoire, la mémoire échangeant des données avec la structure de transposition et avec l'ensemble de ports et la structure de transposition échangeant des données avec l'ensemble de ports. Dans la présente description, une "Donnée" regroupe l'ensemble des bits d'une même information.- a set of ports allowing the exchange of data between the transposition structure or the mass memory on the one hand and the outside on the other hand. The different ports do not necessarily have the same number of lines, and can be individually mono-directional or bidirectional; the set of ECUs exchanging data with the memory, the memory exchanging data with the transposition structure and with the set of ports and the transposition structure exchanging data with the set of ports. In the present description, a "Data" gathers all the bits of the same information.
Un "Mot" regroupe l'ensemble des bits de même poids d'un ensemble de données.A "Word" groups together all the bits of the same weight of a data set.
La transposition de donnée en mot- est désignée par "transposition directe" alors que la transposition de "mots" en "données" est désignée par "transposition réciproque".The transposition of data into word- is designated by "direct transposition" while the transposition of "words" into "data" is designated by "reciprocal transposition".
Dans le processeur selon l'invention, chacune des unités de calcul élémentaire UCEj^ effectue un traitement identique sur les données provenant de la mémoire de masse, selon des instructions fournies de façon identique par le contrôleur central à chaque unité de calcul élémentaire UCEj^j. Ce mode de réalisation permet de limiter les flux de données et donc d'accélérer la vitesse de traitement d'un nombre important de données.In the processor according to the invention, each of the elementary computing units UCEj ^ performs identical processing on the data originating from the mass memory, according to instructions supplied identically by the central controller to each elementary computing unit UCEj ^ j . This mode of implementation makes it possible to limit the flow of data and therefore to speed up the processing speed of a large number of data.
Le nombre α . K d'unités de calcul élémentaires est typiquement compris entre quelques dizaines et plusieurs milliers, et dépend essentiellement des progrès technologiques en matière d'intégration de circuits.The number α. K of elementary computing units is typically between a few tens and several thousand, and depends essentially on technological progress in terms of circuit integration.
Le nombre L de lignes d'entrée-sortie est égal au nombre d'unités de calcul, à un sous-multiple ou à un multiple de ce nombre.The number L of input-output lines is equal to the number of calculation units, to a submultiple or to a multiple of this number.
Le nombre M d'entrées de chacune des unités de calcul élémentaires est typiquement compris entre 1 et 32. Le nombre N de sorties de chacune des unités de calcul élémentaires est typiquement compris entre 1 et 32. la longueur O de lignes d'entrée-sortie Lraes de la mémoire de masse de grande capacité est égal à L ou à un sous-multiple de L.The number M of inputs of each of the elementary computing units is typically between 1 and 32. The number N of outputs of each of the elementary computing units is typically between 1 and 32. the length O of input lines -output L raes of the mass memory of large capacity is equal to L or a submultiple of L.
P et P ' sont égaux au nombre de lignes des ports externes auxquels ils sont connectésP and P 'are equal to the number of lines of the external ports to which they are connected
Q et Q' sont égaux à la longueur O de lignes d'entrée-sortie L es -e la mémoire de masse ou à des sous-multiple de O.Q and Q 'are equal to the length O of input-output lines L e s - e l a mass memory or to sub-multiples of O.
Les transferts entre l'ensemble d'unités de calcul élémentaires et la mémoire de grande capacité dépendent des valeurs de O et L :The transfers between the set of elementary computing units and the large capacity memory depend on the values of O and L:
* si O ≈ L, l'ensemble des informations présent en sortie d'une des éléments est transféré en un cycle à l'entrée de l'autre élément* if O ≈ L, all the information present at the output of one of the elements is transferred in a cycle to the input of the other element
* si O < L, les informations présentes en sortie de l'ensemble d'unités de calcul élémentaires sont transmises intégralement ou partiellement en un ou plusieurs cycles, ceci en connectant pour chaque cycle O des L lignes de l'ensemble d'unités de calcul élémentaires aux O lignes de la mémoire de grande capacité. Les informations présentes en sortie 'de la mémoire de grande capacité sont transmises en un cycle à 0 des L lignes de l'ensemble d'unités de calcul élémentaires, les unités de calcul élémentaires non sollicitées sont bloquées en écriture. Les transferts entre la mémoire de grande capacité et la structure de transposition dépendent des valeurs de O, Q et Q'* if O <L, the information present at the output of the set of elementary calculation units is transmitted in whole or in part in one or more cycles, this by connecting for each cycle O L lines of the set of units of elementary calculations at O lines of large capacity memory. The information present at the output ' of the large-capacity memory are transmitted in a cycle at 0 of the L lines of the set of elementary calculation units, the unsolicited elementary calculation units are blocked in writing. The transfers between the large capacity memory and the transposition structure depend on the values of O, Q and Q '
* si Q = 0 L'ensemble des informations présent en sortie de structure de transposition est transféré en un cycle à l'entré de la mémoire de grande capacité* if Q = 0 All the information present at the output of the transposition structure is transferred in one cycle to the input of the large capacity memory
* Si Q < O Les informations présentes en sortie de structure de transposition sont transmises en un cycle a Q des O lignes de la mémoire de grande capacité, la partie de la mémoire de grande capacité non sollicitée est bloquée en écriture.* If Q <O The information present at the output of the transposition structure is transmitted in a cycle to Q of the O lines of the large capacity memory, the part of the unsolicited large capacity memory is blocked in writing.
* si Q' = L L'ensemble des informations présent en sortie de la mémoire de grande capacité est transféré en un cycle à l'entré de structure de transposition* if Q '= L All the information present at the output of the large capacity memory is transferred in one cycle to the input of the transposition structure
* si Q' < O les informations présentes en sortie de la mémoire de grande capacité sont transmises intégralement ou partiellement en un ou plusieurs cycles ceci en connectant, pour chaque cycle, Q des O lignes de la mémoire de grande capacité aux Q lignes de structure de transposition.* if Q '<O the information present at the output of the large capacity memory is transmitted in whole or in part in one or more cycles, this by connecting, for each cycle, Q of the O lines of the large capacity memory to the Q structure lines of transposition.
Les transferts de la mémoire de grande capacité vers l'ensemble de ports ainsi que les transferts entre l'ensemble de ports et la mémoire de grande capacité dépendent des valeurs de R désignant le nombre de lignes du ports sollicité par le transfert qui est inférieur à O.The transfers from the large capacity memory to the set of ports as well as the transfers between the set of ports and the large capacity memory depend on the values of R designating the number of lines of the ports requested by the transfer which is less than O.
Pour les transferts de la mémoire de ' grande capacité vers un port configuré en sortie, les informations présentes en sortie de la mémoire de grande capacité sont transmise intégralement ou partiellement en un ou plusieurs cycles, en connecùant R des O lignes de la mémoire de grande capacité aux R lignes du port sollicité en sortie, pour chaque cycle.For transfers from the memory of large capacity to a port configured to output the said information output from the mass storage are sent fully or partially in one or more cycles, connecùant R from O lines of large capacity memory to R lines of the port requested at output, for each cycle.
Pour les transferts d'un port configuré en entrée vers la mémoire de grande capacité, les ' informations présentes sur le port configuré en entrée sont transmises en un cycle à R des 0 lignes de la mémoire de grande capacité. La partie de la mémoire non sollicitée est bloqué en écriture.For transfers from a port configured as input to the high-capacity memory, the 'information contained on the input port configured are transmitted in one cycle from 0 to R rows of the large memory capacity. The part of the unsolicited memory is blocked in writing.
Les transferts entre un port et la structure de transposition dépendent des valeurs de P, P' et de R.The transfers between a port and the transposition structure depend on the values of P, P 'and R.
Les informations présentes en sortie "données" de la structure de transposition sont transmises en un cycle au port configuré en sortie (R = P) .The information present at the "data" output of the transposition structure is transmitted in one cycle to the port configured as output (R = P).
Les information présentes sur un port configuré en entrée sont transmises en un cycle à l'entrée "données" de la structure de transposition (R = P') . Selon un mode de réalisation simplifié, chacune des K unités de calcul élémentaires UCEj d'une série i d'unités de calcul élémentaires UCEj.fj accède aux éléments de mémoire Mj_r à Mj+r et écrit dans les éléments de mémoire Mj_s à Mj+S sans échanger de données avec une unités de calcul élémentaires UCEj> ou j≠j ' .The information present on a port configured as input is transmitted in one cycle to the "data" input of the transposition structure (R = P '). According to a simplified embodiment, each of the K elementary calculation units UCE j of a series i of elementary calculation units UCEj. fj accesses the memory elements M j _ r to M j + r and writes to the memory elements M j _ s to M j + S without exchanging data with an elementary calculation units UCE j > or j ≠ j '.
Avantageusement, chacune des K unités de calcul élémentaires UCEj.,j accède aux éléments de mémoire Mi_t, j-r à M + ,j+r et écrit dans les éléments de mémoire Mj._Uf j_s à Mi+Ufj+S sans échanger de données avec une unités de calcul élémentaires UCEj>,j' où i≠i' et j≠j ' -Advantageously, each of the K elementary calculation units UCEj . , j accesses the memory elements Mi_ t , j - r to M + , j + r and writes in the memory elements Mj._ Uf j _ s to Mi + Ufj + S without exchanging data with an elementary calculation units UCE j >, j 'where i ≠ i' and j ≠ j '-
La présente invention sera mieux comprise à la lecture de la des cript ion qui su it , f a i sant référence aux dessins annexés où : - la f igure 1 représente schémat iquement l ' environnement d ' un processeur selon l ' invention ; la f igure 2 repré sente la st ructure générale du processeur selon l ' invention ; - la figure 3 représente de façon schématique l'architecture d'un élément de mémoire de la structure de transposition, selon un premier mode de réalisation ; - la figure 4 représente le réseau de mémoires et les liaisons avec les différents BUS ;The present invention will be better understood on reading the description which follows, referring to the appended drawings in which: FIG. 1 schematically represents the environment of a processor according to the invention; FIG. 2 represents the general structure of the processor according to the invention; - Figure 3 shows schematically the architecture of a memory element of the transposition structure, according to a first embodiment; - Figure 4 shows the memory network and the connections with the various BUSes;
- la figure 5 représente le schéma de principe d'une cellule du réseau de mémoire ;- Figure 5 shows the block diagram of a cell of the memory network;
- la figure 6 représente de façon schématique l'architecture d'un deuxième mode de réalisation d'un élément de mémoire de la structure de transposition ;- Figure 6 schematically shows the architecture of a second embodiment of a memory element of the transposition structure;
- la figure 7 représente le réseau de mémoires et les liaisons avec les différents BUS ; - la figure 8 représente le schéma de principe d'une cellule du réseau de mémoire ; la figure 9 représente de façon schématique l'architecture d'un troisième mode de réalisation d'un élément de mémoire de la structure de transposition ;- Figure 7 shows the memory network and connections with the various BUS; - Figure 8 shows the block diagram of a cell of the memory array; FIG. 9 schematically represents the architecture of a third embodiment of a memory element of the transposition structure;
- la figure 10 représente le réseau de mémoires et les liaisons avec les différents BUS ;- Figure 10 shows the memory network and the links with the various BUSes;
- la figure 11 représente le schéma de principe d'une cellule du réseau de mémoire ; - la figure 12 représente l'architecture d'une Unité de Calcul élémentaire.- Figure 11 shows the block diagram of a cell of the memory array; - Figure 12 shows the architecture of an Elementary Calculation Unit.
La figure 1 représente l'architecture d'ensemble d'un exemple d'application d'un processeur selon l'invention. La chaîne de traitement d'image comporte essentiellement trois modules (1 à 3) .FIG. 1 represents the overall architecture of an example of application of a processor according to the invention. The image processing chain essentially comprises three modules (1 to 3).
Le premier module est constitué par une station de travail en imagerie (1) capable d'acquérir et de restituer des images en temps réel, connecté à une caméra numérique (5) et à un moniteur (6) . Cette station de travail est généralement équipée d'un processeur vidéo (7) dotée d'une mémoire de programme locale (8), d'une mémoire de données (9) permettant de mémoriser les informations provenant d'une caméra, ou destinées au transfert vers un moniteur, et de plusieurs opérateurs câblés pour réaliser des fonctions spécifiques.The first module consists of an imaging workstation (1) capable of acquiring and reproducing images in real time, connected to a digital camera (5) and to a monitor (6). This workstation is generally equipped with a video processor (7) provided with a local program memory (8), with a data memory (9) making it possible to store the information coming from a camera, or intended for transfer to a monitor, and several cable operators to perform specific functions.
Le deuxième module (3) peut être composé d'un processeur unique ou d'un processeur de typeThe second module (3) can be composed of a single processor or of a type processor
Multiple instruction Multiple donnée, dont le processeur élémentaire peut être un processeur classique, un processeur vectoriel, un transputer ...Multiple instruction Multiple given, of which the elementary processor can be a conventional processor, a vector processor, a transputer ...
Ce deuxième module (3) assure les transformations moyen et haut niveau tel que le passage image à liste et le traitement de ces listes.This second module (3) provides medium and high level transformations such as the transition from image to list and the processing of these lists.
Le troisième module (4) est constitué par un processeur selon l'invention, comportant une structure de calcul (101) destinée au traitement en temps réel vidéo sur la base d'algorithmes du bas niveau en traitement d'images (calculs sur voisinages) . Cette structure de calcul (101) reçoit des commandes provenant d'un contrôleur central (102) générant les instructions nécessaires au fonctionnement de la structure de calcul (101) .The third module (4) consists of a processor according to the invention, comprising a calculation structure (101) intended for real-time video processing on the basis of low level algorithms in image processing (calculations on neighborhoods) . This computing structure (101) receives commands from a central controller (102) generating the instructions necessary for the operation of the computing structure (101).
L'ensemble de l'architecture est connectée d'une part à un BUS industriel standard (référencé "Multibus" sur la figure 1) -pour les commandes, et d'autre part sur un ensemble de BUS vidéo numérique (référencé "BUS images" sur la figure 1) pour les échanges de données qui permettent des échanges de type pipeline ou, par un système d'aiguillage, des communications plus complexes.The entire architecture is connected on the one hand to a standard industrial BUS (referenced "Multibus" in FIG. 1) - for commands, and on the other hand to a set of digital video BUSs (referenced "BUS images" "in FIG. 1) for data exchanges which allow exchanges of the pipeline type or, by a referral system, more complex communications.
La figure 2 représente la structure générale du processeur selon l'invention.FIG. 2 represents the general structure of the processor according to the invention.
Dans l'exemple décrit, le processeur comporte:In the example described, the processor comprises:
- un ensemble d'UCE (21) de 512 unités de calcul élémentaires identiques. Cet ensemble forme un réseau uni-dimensionnel dans lequel chaque processeur élémentaire dispose d'une ligne de sortie et de 7 lignes d'entrée. Chacune des lignes d'indice i parmi les L=512 lignes d'entrée-sortie de l'ensemble d'UCE (21) est connecté à la sortie du processeur élémentaire d'indice i et à l'entrée des 7 processeurs élémentaires d'indice i-3 à i+3.- a set of ECUs (21) of 512 identical elementary calculation units. This set forms a one-dimensional network in which each elementary processor has an output line and 7 input lines. Each of the lines of index i among the L = 512 input-output lines of the set of ECUs (21) is connected to the output of the elementary processor of index i and to the input of the 7 elementary processors of index i-3 to i + 3.
- une mémoire de masse (22) disposant de 512 lignes d'entrée-sortie de données et qui permet l'écriture de mots de 512 bits. une structure de transposition (23) composée de deux mémoires de transposition 32*512 identiques et indépendantes ayant chacune un adressage permettant la lecture ou l'écriture sous un format "donnée" (32 bits) et la lecture et l'écriture sous le format "mot" (512 bits) . Chacune des mémoires de transposition permet à tout moment d'effectuer soit une transposition données-mots, soit une transposition mots-données.- a mass memory (22) having 512 data input-output lines and which allows the writing of 512-bit words. a transposition structure (23) composed of two identical and independent 32 * 512 transposition memories each having an addressing allowing reading or writing in a "given" format (32 bits) and reading and writing in the format "word" (512 bits). Each of the transposition memories allows either a data-to-word transposition or a word-to-data transposition at any time.
- un ensemble de ports (24) composé dans l'exemple décrit de deux ports bi-directionnels de 32 bits .- A set of ports (24) composed in the example described of two bi-directional 32-bit ports.
Le processeur selon l'invention communique avec son environnement extérieur par des données de 32 bits ( Q = Q' = 32 ) . Par contre, la communication entre l'ensemble d'unités de calcul (21) et la mémoire de masse (22) ainsi que la communication entre la mémoire de masse et la structure de transposition s 'effectue avec des données de 512 bits (K=L=0=P=P'=512) .The processor according to the invention communicates with its external environment by 32-bit data (Q = Q '= 32). On the other hand, the communication between the set of computing units (21) and the mass memory (22) as well as the communication between the mass memory and the transposition structure takes place with data of 512 bits (K = L = 0 = P = P '= 512).
La description qui suit concerne plus particulièrement différentes formes de réalisation de la structure de transposition. La transposition de "mots" de 32 bits enThe following description relates more particularly to various embodiments of the transposition structure. Transposing 32-bit "words" to
"données" de 512 bits est assurée par une ou plusieurs mémoires dites de transposition ou "mémoires orthogonales". De tels éléments permettent d'effecteur soit les transformations directes (écriture de "données", lecture de "mots"), soit les transformations réciproques (écriture de "mots", lecture de "données") , soit les deux transformations. Les Ecritures ou Lectures d'informations dans un format peuvent se faire soit par décalage, soit par adressage. On peut distinguer trois types d'éléments de transposition: un premier type à double décalage orthogonal où le décalage dans une direction correspond à l'accès sous un format alors que le décalage dans une direction orthogonale correspond à l'accès sous l'autre format; un deuxième type à double adressage croisé, un adressage correspondant à l'accès sous un format et l'autre adressage correspondant à l'adressage sous l'autre format; un troisième type hybride permettant l'accès à un format par décalage et l'accès à l'autre format par adressage ."data" of 512 bits is ensured by one or more memories called transposition or "orthogonal memories". Such elements make it possible to carry out either the direct transformations (writing of "data", reading of "words"), or the reciprocal transformations (writing of "words", reading of "data"), or the two transformations. The Writes or Readings of information in a format can be done either by shift, or by addressing. We can distinguish three types of transposition elements: a first type with double orthogonal shift where the shift in one direction corresponds to the access in one format while the shift in an orthogonal direction corresponds to the access in the other format ; a second type with double cross-addressing, one addressing corresponding to access in one format and the other addressing corresponding to addressing in the other format; a third hybrid type allowing access to one format by offset and access to the other format by addressing.
Les figures 3 à 11 représente des mémoires de transposition ayant des accès donnée et mot par adressage• Dans le cas où la structure de transposition (23) est composée d'une mémoire de transposition à lecture écriture "mots" et lecture écriture "données", une tel mémoire permet d'effectuer aussi bien les transformations directes que réciproques, comme illustrée par les figures 3 à 5.FIGS. 3 to 11 represent transposition memories having data and word accesses by addressing • In the case where the transposition structure (23) is composed of a transposition memory with reading writing "words" and reading writing "data" , such a memory makes it possible to carry out both direct and reciprocal transformations, as illustrated by FIGS. 3 to 5.
La figure 3 représente de façon schématique l'architecture de la structure de transposition, constituée par une mémoire à Lecture et à Ecriture "données"et à Lecture Ecriture "mots" . La figure 4 représente le réseau de mémoires et les liaisons avec les différents BUS.FIG. 3 schematically represents the architecture of the transposition structure, constituted by a read and write memory "data" and read write write "words". FIG. 4 represents the memory network and the links with the various BUSes.
Chaque cellule (28 à 31) dont la figure 5 représente le schéma de principe communique avec:Each cell (28 to 31) whose figure 5 represents the block diagram communicates with:
- des lignes de commande d'Ecriture "mots" (32), - des lignes de commande de Lecture "mots" (33)- command lines for Writing "words" (32), - command lines for Reading "words" (33)
- des lignes de "données" en Ecriture (34)- lines of "data" in Writing (34)
- des lignes de "données" en Lecture (35)- lines of "data" in Reading (35)
- des lignes de "mots" en Ecriture (36) - des lignes de "mots" en Lecture (37)- lines of "words" in Writing (36) - lines of "words" in Reading (37)
- des lignes de commande d'Ecriture "données" (38)- Write command lines "data" (38)
- des lignes de commande de Lecture "données" (40) .- "Data" read command lines (40).
Chaque cellule élémentaire (28 à 31) comporte :Each elementary cell (28 to 31) comprises:
- une porte OR (41) dont les entrées reçoivent les signaux de commande d'Ecriture "données" et de commande d'Ecriture "mots" par les lignes (32) et (38), une porte OR dont les entrées sont reliées aux lignes de "mots" en écriture (36) et de- an OR gate (41), the inputs of which receive the "data" Write command and "word" Write command signals via the lines (32) and (38), an OR gate, the inputs of which are connected to the lines of "words" in writing (36) and
"données" en Ecriture (34) - une mémoire (45)"data" in Write (34) - a memory (45)
- une porte (43) commandée par le signal provenant des lignes de commande de Lecture "mots"- a door (43) controlled by the signal from the read command lines "words"
(33) et dont la sortie est reliée aux lignes de "mots" en lecture (37) - une porte (44) commandée par le signal provenant des lignes de commande de lecture "données"(33) and the output of which is connected to the lines of "words" in reading (37) - a door (44) controlled by the signal coming from the reading control lines "data"
(40) et dont la sortie est reliée aux lignes de(40) and whose output is connected to the lines of
"données" en Lecture (35) ."data" in Read (35).
Dans le cas où l' élément de mémoire de la structure de transposition ( 23 ) n ' assure pas les deux transf ormations , on peut dist inguer une premiè re architecture de mémoire qui assure les t rans formations directe de données en mot s ( f igures 6 à 8 ) et une seconde architect ure de mémoire qu i a s sure la transformation réciproque de mots en données ( figure 9 à 11 ) .In the case where the memory element of the transposition structure (23) does not ensure the two conversions, we can distinguish a first memory architecture which ensures direct trans formation of data in words s (f Figures 6 to 8) and a second memory architecture which ensures the reciprocal transformation of words into data (Figure 9 to 11).
La figure 6 représente l'architecture générale de la mémoire à Ecriture "données" et àFIG. 6 represents the general architecture of the “Data” write memory and
Lecture "mots" . La figure 7 représente le réseau de mémoires et les liaisons avec les différents BUS.Reading "words". FIG. 7 represents the memory network and the links with the various BUSes.
Chaque cellule (50 à 53) dont la figure 8 représente le schéma de principe communique avec: - des lignes de commande de Lecture "mots" (57)Each cell (50 to 53) whose figure 8 represents the block diagram communicates with: - Reading command lines "words" (57)
- des lignes de "données" en Ecriture (55)- lines of "data" in Writing (55)
- des lignes de "mots" en Lecture (56) - des lignes de commande d'Ecriture "données"- lines of "words" in Reading (56) - writing command lines "data"
(54)(54)
Chaque cellule élémentaire (50 à 53) comporte:Each elementary cell (50 to 53) includes:
- une mémoire (58) recevant les signaux les lignes de commande d'Ecriture "données" (54) et des lignes de "données" en Ecriture (55) ,- a memory (58) receiving the signals the “data” Write command lines (54) and “write” data lines (55),
- une porte (59) commandée par le signal provenant des lignes de commande de Lecture (57) et dont la sortie est reliée aux lignes de "mots" en Lecture (56) .- A gate (59) controlled by the signal from the read control lines (57) and the output of which is connected to the lines of "words" in read (56).
La figure 9 représente l'architecture générale de la seconde mémoire, à Lecture "données" et à Ecriture "mots" .FIG. 9 represents the general architecture of the second memory, with "data" reading and "words" writing.
La figure 10 - représente le réseau de mémoires et les liaisons avec les différents BUS.FIG. 10 - represents the memory network and the connections with the various BUSes.
Chaque cellule (60 à 63) dont la figure 11 représente le schéma de principe communique avec:Each cell (60 to 63) whose figure 11 represents the block diagram communicates with:
- des lignes de commande d'Ecriture "mots" (67),- Writing command lines "words" (67),
- des lignes de "données" en Lecture (66) - des lignes de "mots" en Ecriture (64)- lines of "data" in Reading (66) - lines of "words" in Writing (64)
- des lignes de commande de Lecture "données" (65)- "Data" read command lines (65)
Chaque cellule élémentaire (60 à 63) comporte: - une mémoire (68) recevant les signaux des lignes de commandes d'Ecriture (67) et des lignes de"mots" en Ecriture (64),Each elementary cell (60 to 63) comprises: a memory (68) receiving the signals of the Write command lines (67) and of the "word" lines in Write (64),
- une porte (69) commandée par le signal provenant des lignes de commande de Lecture (65) et dont la sortie est reliée aux lignes de données en- a gate (69) controlled by the signal from the read control lines (65) and the output of which is connected to the data lines in
Lecture (66) . La figure' 12 'représente" l'architecture d'une Unité de Calcul élémentaire. Chaαue Unité de Calcul élémentaire est constituée par deux mémoires vives RAM I (70) et RAM II (71), du type mémoire double accès pour permettre la lecture et l'écriture simultanée à des adresses différentes, composées chacune de r mots de un bit, et par deux structures de calcul, la première structure de calcul (72) étant une unité arithmétique et logique bit série et la seconde structure de calcul (73) étant une unité arithmétique mot parallèle. L'Unité de Calcul élémentaire comporte en outre un ensemble (74) de multiplexeurs et de registres reliant les sorties et les entrées des éléments .Reading (66). Figure ' 12' represents " the architecture of an Elementary Computing Unit. Each Unit of Elementary computation consists of two RAMs RAM I (70) and RAM II (71), of the dual access memory type to allow simultaneous reading and writing at different addresses, each composed of r words of one bit, and by two calculation structures, the first calculation structure (72) being a serial bit logic and arithmetic unit and the second calculation structure (73) being a parallel word arithmetic unit. The Elementary Computing Unit further comprises a set (74) of multiplexers and registers connecting the outputs and the inputs of the elements.
Dans l'exemple décrit, on dispose d'une ligne de sortie et de 7 lignes d'entrée de données.In the example described, there is an output line and 7 data input lines.
La présente invention est décrite dans ce qui précède en référence à un exemple de réalisation non limitatif. The present invention is described in the foregoing with reference to a nonlimiting exemplary embodiment.

Claims

R E V E N D I C A T I O N SR E V E N D I C A T I O N S
1 - Processeur parallèle comportant une pluralité d'unités de calcul élémentaires identiques, des mémoires pour le stockage des données et au moins un contrôleur générant l'ensemble des commandes nécessaire au fonctionnement de la partie affectée au calcul et à la gestion des données, caractérisé en ce qu'il comporte: - un ensemble de (21) de α séries de K unités de Calcul Elémentaires UCEif j, i désignant un entier compris entre 1 et α et j désignant un entier compris entre 1 et K, ledit ensemble comportant L lignes d'entrée-sortie, chacune des unités de calcul élémentaires1 - Parallel processor comprising a plurality of identical elementary calculation units, memories for storing the data and at least one controller generating all the commands necessary for the operation of the part assigned to the calculation and to the management of the data, characterized in that it comprises: - a set of (21) of α series of K Elementary Computing units UCEi fj , i designating an integer between 1 and α and j designating an integer between 1 and K, said set comprising L input-output lines, each of the elementary calculation units
UCEi# j disposant de M lignes Lce pour l'entrée de données et de N lignes Lcs pour la sortie de données, chacune de ces lignes Lce, Lcs étant connectée à l'une des lignes d'entrée-sortie Lces de l'ensemble (21); - une mémoire de masse (22) de grande capacité disposant de O lignes d'entrée-sortie Lmes pour l'écriture et la lecture de mots de 0 bits, l'ensembleUCI # j having M lines L ce for data input and N lines L cs for data output, each of these lines L ce , L cs being connected to one of the input-output lines Lces of the assembly (21); - a mass memory (22) of large capacity having O input-output lines L mes for writing and reading words of 0 bits, all
(21) échangeant des données avec ladite mémoire de masse (22) ; - une structure de transposition effectuant la transformation dite "directe" d'un ensemble de Q données de P bits en un ensemble de P mots de Q bits, un mot étant constitué par l'association des Q bits de poids équivalent des Q données, ladite structure de transposition assurant par ailleurs la transformation dite "réciproque" de P' mots de Q' bits en Q' données de P' bits. Une telle structure communique avec les ports d'entrée-sortie grâce à l'entrée de "données" ayant respectivement P et P' bits, et avec la mémoire de masse par des "mots" ayant respectivement Q et Q' bits . Les lignes permettant ces échanges peuvent être monodirectionnelles ou bidirectionnelles, et distinctes- ou communes pour les transferts de "données" et de "mots" ;(21) exchanging data with said mass memory (22); a transposition structure performing the so-called "direct" transformation of a set of Q data of P bits into a set of P words of Q bits, a word being constituted by the association of Q bits of equivalent weight of the Q data, said transposition structure also ensuring the so-called "reciprocal" transformation of P 'words of Q' bits into Q 'data of P' bits. Such a structure communicates with the input-output ports by means of the input of "data" having respectively P and P 'bits, and with the mass memory by "words" having respectively Q and Q' bits. The lines allowing these exchanges can be monodirectional or bidirectional, and separate - or common for transfers of "data" and "words";
- un ensemble de ports (24) permettant l'échange de données entre l'ensemble (21), la mémoire (22) et la structure de transposition (23) , l'ensemble (21) échangeant des données avec la mémoire (22) , la mémoire (22) échangeant des données avec la structure- de transposition (23) et avec l'ensemble de ports (24) et la structure de transposition (23) échangeant des données avec l'ensemble de ports (24) .- a set of ports (24) allowing the exchange of data between the set (21), the memory (22) and the transposition structure (23), the set (21) exchanging data with the memory (22 ), the memory (22) exchanging data with the transposition structure (23) and with the set of ports (24) and the transposition structure (23) exchanging data with the set of ports (24).
2 - Processeur parallèle selon la revendication 1 caractérisé en ce que chacune des K unités de calcul élémentaires UCEj d'une série i d'unités de calcul élémentaires UCEif j accède aux éléments de mémoire Mj_r à Mj+r et écrit dans les éléments de mémoire Mj_s à Mj+S sans échanger de données avec une unité de calcul élémentaire UCEji ou j≠j ' .2 - Parallel processor according to claim 1 characterized in that each of the K elementary calculation units UCE j of a series i of elementary calculation units UCEi fj accesses the memory elements M j _ r to M j + r and writes in the memory elements M j _ s to M j + S without exchanging data with an elementary calculation unit UCE j i or j ≠ j '.
3 - Processeur parallèle selon la revendication 1 caractérisé en ce que chacune des K unités de calcul élémentaires UCEi,j accède aux éléments de mémoire M _ , j-r à i+t, j+r et écrit dans les éléments de mémoire M _Ufj-s à Mi+U, j+s sans échanger de données avec une unités de calcul élémentaires UCEj'f j' où i≠i' et j≠j ' .3 - Parallel processor according to claim 1 characterized in that each of the K elementary calculation units UCEi, j accesses the memory elements M _, j - r to i + t , j + r and writes to the memory elements M _ Ufj - s at Mi + U , j + s without exchanging data with an elementary calculation units UCE j ' fj ' where i ≠ i 'and j ≠ j'.
4 - Processeur parallèle selon l'une quelconque des revendications précédentes caractérisé en ce que structure de transposition (23) est constituée par au moins une mémoire à Lecture et à Ecriture "données" et à Lecture Ecriture "mots".4 - Parallel processor according to any one of the preceding claims, characterized in that the transposition structure (23) consists of at least one read and write memory "data" and read write write "words".
5 - Processeur parallèle selon l'une quelconque des revendications 1 à 3 caractérisé en ce que structure de transposition (23) est composée de deux types de mémoires, l'un des types correspondant à des mémoires en Ecriture "données" et Lecture "mots", l'autre correspondant à des mémoires en Ecriture "mots" et Lecture "données".5 - Parallel processor according to any one of claims 1 to 3 characterized in that the transposition structure (23) is composed of two types of memories, one of the types corresponding to "Data" write and "Word" read memories, the other corresponding to "Word" write and "Data" read memories.
6 - Processeur parallèle selon l'une quelconque des revendications précédentes caractérisé en ce que chaque Unité de Calcul élémentaire est constituée par deux mémoires vives (70, 71), du type mémoire double accès pour permettre la lecture et l'écriture simultanée à des adresses différentes, composées chacune de r mots de un bit, et par deux structures de calcul, la première structure de calcul (72) étant une unité arithmétique et logique bit série et la seconde structure de calcul (73) étant une unité arithmétique mot parallèle et en ce qu'elle comporte en outre un ensemble (74) de multiplexeurs et de registres reliant les sorties et les entrées des éléments . 6 - Parallel processor according to any one of the preceding claims, characterized in that each elementary computing unit is constituted by two random access memories (70, 71), of the dual access memory type to allow simultaneous reading and writing at addresses different, each composed of r words of one bit, and by two calculation structures, the first calculation structure (72) being a serial bit logic and arithmetic unit and the second calculation structure (73) being a parallel word arithmetic unit and in that it further comprises a set (74) of multiplexers and registers connecting the outputs and the inputs of the elements.
PCT/FR1993/000596 1992-06-16 1993-06-16 Parallel processor for processing multiple data with a series of repetitive instructions WO1993025976A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9207261A FR2692382A1 (en) 1992-06-16 1992-06-16 Parallel processor for processing multiple data by a series of repetitive instructions.
FR92/07261 1992-06-16

Publications (1)

Publication Number Publication Date
WO1993025976A1 true WO1993025976A1 (en) 1993-12-23

Family

ID=9430781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1993/000596 WO1993025976A1 (en) 1992-06-16 1993-06-16 Parallel processor for processing multiple data with a series of repetitive instructions

Country Status (2)

Country Link
FR (1) FR2692382A1 (en)
WO (1) WO1993025976A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0456201A2 (en) * 1990-05-08 1991-11-13 Thinking Machines Corporation Massively parallel processor including slice-wise communications arrangement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0456201A2 (en) * 1990-05-08 1991-11-13 Thinking Machines Corporation Massively parallel processor including slice-wise communications arrangement

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. H. SUNWOO J. K. AGGARWAL: "Flexibly coupled multiprocessors for image processing", PROCEEDINGS OF THE 1988 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 15 August 1988 (1988-08-15), pages 452 - 461, XP000042206 *
R. M. LEA AND I. P. JALOWIECKI: "Associative massively parallel computers", PROCEEDINGS OF THE IEEE, vol. 79, no. 4, April 1991 (1991-04-01), NEW YORK US, pages 469 - 479, XP000238526, DOI: doi:10.1109/5.92041 *

Also Published As

Publication number Publication date
FR2692382A1 (en) 1993-12-17

Similar Documents

Publication Publication Date Title
EP0597028B1 (en) System architecture having parallel processor array
EP3660849B1 (en) Memory circuit suitable for performing computing operations
EP0020202B1 (en) Multiprocessing system for signal treatment
EP3084588B1 (en) Signal processing module, especially for a neural network and a neuronal circuit
EP2332067A1 (en) Device for the parallel processing of a data stream
FR2860313A1 (en) COMPONENT WITH RECONFIGURABLE ARCHITECTURE DYNAMICALLY
EP0626760A2 (en) Electronic system organized in matrix cell network
CA2254013A1 (en) Shared buffer memory controller
FR2779843A1 (en) Serial multi port memory component comprising RAM memory bank assemblies for use in computer
EP4020475A1 (en) Memory module suitable for performing computing functions
FR2865290A1 (en) METHOD FOR MANAGING DATA IN A MATRIX PROCESSOR AND MATRIX PROCESSOR EMPLOYING THE METHOD
EP0646875A1 (en) Method and system of interconnection to manage messages in a processors network with a parallel structure
EP1803061A1 (en) Reconfigurable, modular and hierarchical parallel processor system
WO1993025976A1 (en) Parallel processor for processing multiple data with a series of repetitive instructions
EP0317413A1 (en) Picture element data-processing device
EP3394799A1 (en) Electronic circuit, particularly for the implementation of neural networks with multiple levels of precision
FR2911973A1 (en) COMMUNICATION GATEWAY BETWEEN TWO ENTITIES
EP0589743B1 (en) Modular device for coupling and multiplexing different type buses
EP0291613A1 (en) Processor with a plurality of serially connected stages
FR2627878A1 (en) DEVICE FOR DIGITAL SIGNAL PROCESSING
FR2754924A1 (en) INPUT / OUTPUT BUFFER MEMORY CIRCUIT CAPABLE OF MINIMIZING THE DATA TRANSFER REQUIRED IN INPUT AND OUTPUT BUFFER OPERATIONS
FR2591365A1 (en) Data manipulation processor for a graphics system and corresponding graphics system
FR2538140A1 (en) Bus coupling system for multiple-bus data processing system
FR2576124A1 (en) CHARACTER GENERATOR AND USE OF SUCH A GENERATOR IN A VISUALIZATION SYSTEM
FR2624631A1 (en) MULTIPROCESSOR SYSTEM, METHOD FOR EXCHANGING INFORMATION IMPLEMENTED, AND SERIAL MULTIPORT MEMORY COMPONENT CAPABLE OF FITTING SAID SYSTEM

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP RU US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase