CA1227881A - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
CA1227881A
CA1227881A CA000464224A CA464224A CA1227881A CA 1227881 A CA1227881 A CA 1227881A CA 000464224 A CA000464224 A CA 000464224A CA 464224 A CA464224 A CA 464224A CA 1227881 A CA1227881 A CA 1227881A
Authority
CA
Canada
Prior art keywords
samples
sample
memory access
memories
addresses
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CA000464224A
Other languages
French (fr)
Inventor
Alain Demeure
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Application granted granted Critical
Publication of CA1227881A publication Critical patent/CA1227881A/en
Expired legal-status Critical Current

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

Abstract

PRÉCIS DE LA DIVULGATION:
Dans un dispositif de traitement numérique de signal, comportant N opérateurs qui communiquent entre eux et qui comportent chacun une unité de calcul et une mémoire contenant les échantillons du signal à traiter, et un séquenceur qui commande identiquement les N opérateurs, les N mémoires sont adressées en écriture et lecture de telle sorte que plusieurs traitements peuvent être menés en parallèle en exécutant si-multanément les mêmes transformations élémentaires sur des lots d'échantillons correspondants à des prises équidistantes le long de la tranche de signal acquise. Application au traite-ment numérique de signal.
PRECISION OF DISCLOSURE:
In a digital signal processing device, with N operators who communicate with each other and who each have a calculation unit and a memory containing the samples of the signal to be processed, and a sequencer which identically controls the N operators, the N memories are addressed in writing and reading so that several treatments can be carried out in parallel by running if-simultaneously the same elementary transformations on batches of samples corresponding to equidistant catches on along the acquired signal slice. Application to milking digital signal.

Description

DISPOSITIF DE Traitement NUMÉRIQUE DE SIGNAL
La présente invention concerne un dispositif de traitement numérique de signal.
Généralement ce type de traitement se distingue du traitement de type informatique par le volume d'opérations traitées (celui-ci étant sué-5 rieur d'un ordre de grandeur au moins à la puissance de calcul cl un processeur d'usage général) et par la stationnait des algorithmes (les transformations réalisées au coqs du temps sur le signal à traiter étant constituées de séquences immuables d'opérations élémentaires faisant inter-venir éventuellement des coefficients invariables ou variant lentement dans 10 le temps par rapport à la récurrence de calcul).
On connait deux types de dispositifs permettant d'effectuer un irai-te ment numérique de signal, Ion ayant une structure multiprocesseurs (ou MIMD, pour Multiple Instruction Stream, Multiple Data Streamer Vautre ayant une suture multiopérateurs (ou SIMD, pour Simple Instruction 15 Stream, Multiple Data Streamer Dans le cas de la structure multiprocesseurs, le dispositif se compose de plusieurs processeurs en relation les uns avec les autres et possédant chacun son séquenceur, son unité de calcul, ses mémoires, etc...Avec une telle structure, la réalisation d'une application de traitement de signal passe 20 classiquement par la décomposition de la chaîné de traitement en une suite plus ou moins linéaire de transformations élémentaires et par la spécialisa-lion des processeurs en fonction de ces transformations élémentaires. Pour effectuer cette chaîné de traitement, les processeurs, souvent organisés en "pipe-line", assurent chacun une ou plusieurs de ces transformations élément 25 laines successives; ils sont donc différenciés, au moins par leur programme.
Une autre possibilité de réalisation d'une application de traitement de signal avec la structure multiprocesseurs consiste à faire exécuter la chaîné
complète de traitement dans chaque processeur mais sur une partie seule-ment des échantillons du signal d'entrée, les processeurs se relayant dans le 30 temps pour assurer la prise en compte continue des échantillons d'entrée.
Les processeurs n'ont alors plus besoin d'être différenciés par leur program-me. Mais, comme un échantillon de sortie est généralement calculé à partir .
y d'une suite d'échantillons d'entrée, les suites échantillons d'entrée stockées dans les mémoires des différents processeurs doivent alors se recouvrir largement, d'où une mauvaise utilisation du volume de mémoire global. Par exemple, suivant ce dernier mode d'utilisation, N processeurs calculent 5 simultanément N échantillons de sortie à partir de suites de ne échantillons d'entrée stockées dans les mémoires de ces opérateurs et ayant des échantillons de départ distants d'une période d'échantillonnage. Un même échantillon d'entrée doit alors être stocké dans autant de mémoires qu'il y a d'échantillons dans une suite (si ne < N), d'où une mauvaise utilisation du 10 volume de mémoire disponible.
Dans le cas de la structure multiopérateurs, le dispositif ne dispose que d'un séquenceur pilotant identiquement plusieurs opérateurs lu opéra-leur, parfois appelé professeur élémentaire, étant constitué d'une mémoire et d'une unité de calcul), et un moyen d'échange entre opérateurs, du type 15 "bus en anneau", est généralement prévu. Le dispositif exécute le même programme sur des flots d'échantillons d'entrée différents. Avec une stuc-ivre multiopérateurs, on ne peut résoudre une application de traitement de signal que dans la mesure où elle est parailélisable, c'est à dire décompo-sable en tâches identiques menées sur des flots différents de signaux 20 d'entrée: il y a autant de flots que d'opérateurs. C'est par exemple le cas d'un traitement de filtrage à exécuter sur chacun des signaux de sortie des cautère une antenne: le signal de chaque capter est appliqué à un opérateur propre à ce capter. L'inconvénient de cette structure est donc qu'elle ne s'applique valablement que pour un type restreint de traitement de 25 signal.
Le dispositif suivant invention s'apparente par sa structure aux dispositifs multiopérateurs, bénéficiant par là de ravanta~e structure d'un séquenceur unique qui pilote identiquement plusieurs opérateurs, mais par son fonctionnement, au deuxième mode utilisation précisé des dispositifs 30 multiprocesseurs, en évitant cependant, grâce à une organisation particu-fière des échantillons ventrée dans les différentes mémoires, et, corrélatif vexent, à un adressage particulier de ces mémoires, la mauvaise utilisation du volume de mémoire inhérente à ce mode utilisation.
Dans le dispositif de traitement numérique de signal suivant libyen lion, comportant des moyens d'acquisition d'échantillons du signal à traiter, N opérateurs qui comportent chacun une unité
de calcul et une mémoire contenant les échantillons du signal à traiter, un séquenceur qui commande identiquement les N osé-retours, des moyens d'adressage en écriture et des moyensd'adressage en lecture des N mémoires, les N unités de calcul communiquant entre elles par un bus en anneau, chacune des N
mémoires comporte une zone réservée au stockage d'échantillons d'entrée organisée en B segments (numérotés de 0 à B-l) con-tenant chacun S échantillons, N segments de même numéro b (éprenant les valeurs 0 à B-l) des N mémoires étant délimités par des adresses identiques et formant une bande de numéro b, l'adresse d'un échantillon dans la zone de mémoire ainsi obtenue four les N opérateurs étant alors définie par les cour-données (b, n, s) où n désigne un numéro d'opérateur (n prenantes valeurs 0 à N-l), b le numéro de bande et s l'adresse ne-latine de cet échantillon dans le segment déterminé par le couple (b, n) (s prenant les valeurs de 0 à S-l), et les moyens d'adressage en écriture des N mémoires comportent des moyens pour assurer un stockage séquentiel des échantillons du signal à traiter, au fur et à mesure de leur arrivée, dans la zone de mémoire ainsi obtenue, suivant des priorités d'écriture crois-sentes, par adresse à l'intérieur d'un segment, numéro dopé-retour, et numéro de bande.
Selon un mode de réalisation préféré de l'invention, les moyens d'adressage en lecture des N mémoires comportent des moyens pour fournir, à chaque accès mémoire commandé par le séquenceur, deux adresses de lecture à chacune des N mémoires:
A =AINF+Sp et A ASUP p et chaque opérateur de numéro n comporte des moyens pour choisir A si n est supérieur ou égal à né, ou A si n est inférieur à né, où AIN et ASup désignent des adresses origine de deux ., y,. .
y bandes adjacentes de numéros bu et bu + l et où (bu, né, su) désignent les coordonnées d'un échantillon pilote relativement à l'accès mémoire considéré, ou échantillon acquis depuis le plus de temps parmi les N échantillons lus dans les N opéra-leurs pendant l'accès mémoire considéré.
L'invention sera mieux comprise au cours de la des-cription qui suit et à l'examen des figures qui la soutiennent.
Celles-ci sont données à titre indicatif et non limitatif des caractéristiques de invention Elles représentent:
là - Figure l, un schéma montrant l'organisation des é-échantillons d'entrée dans les différentes mémoires du dispos-tif suivant l'invention.
- Figure fa, un schéma montrant l'organisation des é-échantillons d'entrée dans les différentes mémoires du dispos si tif suivant l'invention, pour un exemple de traitement numérique dont les étapes successives sont montrées sur la figure 2b.
- Figure 3, un schéma synoptique du dispositif suivant l'invention, selon un premier mode de réalisation.
- Figure 4, un schéma synoptique du dispositif suivant l'invention, selon un second mode de réalisation.
- Figure 5, un schéma illustrant la méthode de lecture des échantillons d'entrée mémorisés (cette Figure est disposée sur la même planche de dessins réglementaires que la Figure 3).
- Figures fa et 6b, des organigrammes montrant les différentes étapes de calcul d'adresse de lecture des Chantal ions d'entrée mémorisés.
- Figure 7, un schéma montrant les moyens d'échange avec le milieu extérieur du dispositif suivant l'invention.
Les mêmes éléments représentés sur des figures dix-frettes portent des références identiques.
A titre d'exemple, la figure l correspond au cas où le nombre d'opérateurs N est égal à 4. A chaque opérateur est attribué un numéro n (de 0 à N-l). Dans la moire de chaque opérateur on délimite un ensemble de B zones adjacentes, chaque zone étant
DIGITAL SIGNAL PROCESSING DEVICE
The present invention relates to a digital processing device signal.
Generally this type of treatment differs from the treatment of IT type by the volume of transactions processed (this being At least an order of magnitude less than the computing power of a general-purpose processor) and by stationing algorithms (the transformations carried out at the time cock on the signal to be processed being made up of immutable sequences of elementary operations possibly come from invariable or slowly varying coefficients in 10 the time compared to the recurrence of computation).
There are two types of device known for performing a digital signal, Ion having a multiprocessor structure (or MIMD, for Multiple Instruction Stream, Multiple Data Streamer Vautre having a multi-operator suture (or SIMD, for Simple Instruction 15 Stream, Multiple Data Streamer In the case of the multiprocessor structure, the device consists of several processors in relation to each other and having each one its sequencer, its computation unit, its memories, etc ... With a such structure, the realization of a signal processing application passes 20 conventionally by decomposing the processing chain into a series more or less linear of elementary transformations and by specialization lion of processors according to these elementary transformations. For perform this chain of processing, the processors, often organized in "pipeline", each provides one or more of these element transformations 25 successive wools; they are therefore differentiated, at least by their program.
Another possibility of implementing a signal processing application with the multiprocessor structure consists in executing the chained complete processing in each processor but only on one part-samples of the input signal, the processors taking turns in the 30 times to ensure continuous consideration of the input samples.
Processors no longer need to be differentiated by their program-me. But, as an output sample is usually calculated from .
y of an input sample suite, the stored input sample suites in the memories of the various processors must then overlap widely, hence misuse of the overall memory volume. By example, according to this last mode of use, N processors calculate 5 simultaneously N output samples from sequences of ne samples stored in the memories of these operators and having starting samples distant by a sampling period. The same input sample must then be stored in as many memories as there are of samples in a sequence (if not <N), hence a misuse of the 10 available memory volumes.
In the case of the multi-operator structure, the device does not have than a sequencer identically controlling several operators or operating their, sometimes called elementary teacher, being made up of a memory and a computing unit), and a means of exchange between operators, of the type 15 "ring bus" is generally provided. The device performs the same program on different input sample streams. With a stucco-drunk multi-operator, you can't solve a processing application signal that insofar as it is parallelisable, i.e. decomposed sand in identical tasks carried out on different streams of signals 20 input: there are as many waves as there are operators. This is for example the case a filtering process to be executed on each of the output signals of the cauterizes an antenna: the signal from each sensor is applied to a operator specific to this capture. The disadvantage of this structure is therefore that it only applies validly for a limited type of processing of 25 signal.
The device according to the invention is similar in structure to multi-operator devices, thereby benefiting from ravanta ~ e structure of a single sequencer which controls several operators identically, but by its operation, in the second mode specified use of the devices 30 multiprocessors, avoiding however, thanks to a particular organization proud of the samples entered in the different memories, and, correlative upset, to a particular addressing of these memories, the misuse the amount of memory inherent in this usage mode.
In the following Libyan digital signal processing device lion, comprising means for acquiring samples of the signal to be processed, N operators each comprising a unit computation and a memory containing the samples of the signal to be processed, a sequencer which identically controls the N dared-returns, write addressing means and read addressing means of the N memories, the N calculation units communicating with each other by a ring bus, each of the N
memories has an area reserved for storing samples input organized into B segments (numbered from 0 to Bl) con-each holding S samples, N segments of the same number b (testing the values 0 to Bl) of the N memories being delimited by identical addresses and forming a number band b, the address of a sample in the memory area as well obtained for the N operators then being defined by the cour-data (b, n, s) where n designates an operator number (n stakeholders values 0 to Nl), b the band number and s the ne-Latin of this sample in the segment determined by the couple (b, n) (s taking the values from 0 to Sl), and the means for writing write addresses of the N memories include means to ensure sequential storage of signal samples to be treated, as soon as they arrive, in the area of memory thus obtained, according to growing writing priorities sentes, by address within a segment, doped number return, and band number.
According to a preferred embodiment of the invention, the means for addressing in reading of the N memories comprise means for providing, on each memory access controlled by the sequencer, two read addresses at each of the N memories:
A = AINF + Sp and A ASUP p and each operator of number n has means for choosing A if n is greater than or equal to born, or A if n is less à né, where AIN and ASup designate origin addresses of two ., y ,. .
y adjacent bands of numbers bu and bu + l and where (bu, born, known) designate the coordinates of a relatively pilot sample to the memory access considered, or sample acquired since more time among the N samples read in the N operations-theirs during the memory access considered.
The invention will be better understood during the following description and examination of the figures which support it.
These are given as an indication and not limitative of characteristics of invention They represent:
there - Figure l, a diagram showing the organization of input samples in the different memories of the device tif according to the invention.
- Figure fa, a diagram showing the organization of input samples in the different memories of the device if tif according to the invention, for an example of treatment digital whose successive stages are shown on the Figure 2b.
- Figure 3, a block diagram of the following device the invention, according to a first embodiment.
- Figure 4, a block diagram of the following device the invention, according to a second embodiment.
- Figure 5, a diagram illustrating the reading method stored input samples (this Figure is arranged on the same sheet of regulatory drawings as Figure 3).
- Figures fa and 6b, flowcharts showing the different steps for calculating Chantal's reading address stored input ions.
- Figure 7, a diagram showing the means of exchange with the external environment of the device according to the invention.
The same elements represented in figures ten-frets have identical references.
By way of example, FIG. 1 corresponds to the case where the number of operators N is equal to 4. Each operator is assigned a number n (from 0 to Nl). In the memory of each operator we define a set of B adjacent zones, each zone being

2'7~
fa appelée segment ayant chacun une même capacité égale à S mots, et destinés au stockage des échantillons. Dans chacune des N
mémoires, cet ensemble de B segments débute à une même adresse origine, et on appelle bande un ensemble de N segments déliai-tés par des adresses identiques et appartenant à des opérateurs distincts.
La localisation d'un échantillon dans les N mémoires est alors définie par les coordonnées (b, n, s) où n désigne le numéro d'opérateur dans lequel est stocké cet échantillon, (n pouvant prendre les valeurs N-l), b le numéro de bande (b pouvant prendre les valeurs O a Bu et s désigne ,~" ;~,~
Adresse relative de l'échantillon dans le cernent déterminé par le couple (bon), (s pouvant prendre les valeurs 0 à S-l).
Dans les mémoires ainsi organisées, les échantillons d'entrée sont stockés séquentiellement, c'est à dire qu'une seule des variables bus est 5 incrémentée à chaque fois, la variable s variant le plus rapidement et la variable b variant le moins rapidement. En d'autres termes, les coordonnées (b (t), n (t), s (t)) de l'échantillon X (i) écrit à un instant t se déduisent des coordonnées (b (t-l), n (t-l), s (t-l)) de l'échantillon X (i-1) écrit à l'instant t-l de la façon suivante:
s (t) = s (t-l) + 1 (modulé S) si s (t) = 0, n (t) = n (t-l) 1 (modulé N) si s (t) 0, n (t) = (t-l) si n (t) = 0 et s (t) = 0,b (t) = b (t-l) + 1 (modulé B) 15 si n (t) Jo O et s (t) 0, b (t) = b (t-l) On explique maintenant avec un exemple en relation avec la Figure 1, le mode d'écriture des échantillons d'entrée dans les mémoires ainsi organe-suées. On désigne par fol le nombre d'échantillons d'entrée X nécessaires à
20 Obtention d'un échantillon de sortie Y et on considère à titre d'exemple les valeurs suivantes de N, B, S et f: N = 4, B = 2, S = 3 et f = 3.
On s'intéresse à l'acquisition de NS (égal à 12) échantillons d'entrée X (i) (i étant un indice qui s'incrémente à chaque période d'échantillonnage), par exemple X (15) à X (26), cette acquisition s'étalant sur une période de 25 temps appelée récurrence (notée R), égale à NS Teck (soit 12 Teck), où Teck est l'interYalle de temps entre deux échantillons d'entrée successifs (ou période d'échantillonnage), les échantillons d'entrée X(3~ à X(14) oyant été
acquis lors de la récurrence précédente R-1, et, entre autres, les Chantal ions d'entrée K à X (2) lors de la récurrence R-2.
30 - Au cours d'une même récurrence, Acquisition (notée A) d' échantillons d'entrée et le traitement (noté T) d'échantillons d' entrée déjà acquis se font simultanément. Ainsi, au cours de la récurrence R, NS soit 12) échantillons - d'entrée X(15) à X (26) sont acquis et, pendant un temps de calcul égal à Ta, avec Ta y- NS Teck, NS I f (soit 15) échantillons d'entrée X (0) à X (14~ sont y traités. Le traitement implique en effet la prise en considération de f échantillons supplémentaires du fait qu'il s'exerce sur des suites de f + 1 échantillons d'entrée.
La zone de mémoire contenant les échantillons d'entrée nécessaires au 5 traitement pendant une récurrence occupe donc NS + f mots. Du fait qu'un même échantillon dtentrée est utilisé plusieurs fois au cours du temps de calcul Ta pour l'obtention de plusieurs échantillons de sortie, cette zone doit être interdite à l'écriture de tout nouvel échantillon d'entrée pendant le temps de calcul Ta à l'intérieur de cette récurrence. Les échantillons acquis 10 doivent donc être stockés, dans le cas de deux bandes, dans la zone disponible de capacité 2NS-~NS+f) échantillons, c'est à dire NS-f Chantal ions. Ainsi deux bandes suffisent à condition que l'on ait Ta Nef Teck.
Dans l'exemple considéré, Ta est égal à 6 Teck et (NS-f) Teck à 9 Teck.
Sur la fi une 1 on a représenté un exemple de localisation de 2 NS f 15 échantillons d'entrée X (0) à X (26) (désignés par leurs indices 0 à 26) dansles différentes mémoires au cours de la récurrence R, d'une part en ce qui concerne le traitement T de NS + f échantillons d'entrée X (0) à X (14), d'autre part en ce qui concerne l'acquisition A de NS échantillons d'entrée-X (15) à X ~26) au cours de cette même récurrence. Les échantills7ns X~0), 20 K et K acquis lors de la récurrence y ont par exemple pour coordonnées (1,2,1) (1,2,2) et (1,3,0), et les échantillons K à X (14) acquis lors de la récurrence R-l (3, 1, 1) à (3, 0, 0). On a représenté ces échantillons avec des hachurés inclinées dans un premier sens (à l'exception des échantillons X (12) à X (14) que l'on a représenté avec des hachurés 25 verticales car ils correspondent aux f échantillons supplémentaires évoqués précédemment) pour indiquer que ce sont des échantillons qui sont conservés d'une récurrence à la suivante. Les échantillons K à X(14) sont ceux traités pendant le temps de calcul Ta au cours de la récurrence R.
On attribue alors aux échantillons X (15) à X (26) acquis au cours de la 30 récurrence R, au fur et à mesure de leur arrivée, les coordonnées (0,3,1) à
(1,3,0). On a représenté les échantillons X(21) à X(26) avec des hachures inclinées dans un deuxième sens pour indiquer que ce sont des échantillons acquis au cours de la récurrence considérée en dehors du temps de calcul Ta.
On a représenté les échantillons X(15~ à X (20) avec un quadrillage pour y indiquer que leur acquisition se fait simultanément avec le traitement (Ta) des échantillons acquis lors des récurrences précédentes.
Suivant le même principe on a également représenté sur la figure 1 la localisation des échantillons d'entrée X(12) à X(3~) dans les différentes 5 mémoires au cours de la récurrence Ré
On explique maintenant, en relation avec les figures fa et 2b, le mode de lecture des mémoires ainsi organisées, en l'illustrant à l'aide d'un exemple de traitement correspondant à un filtrage numérique de type transversal.
La transformation réalisant le filtrage de type transversal est définie 10 par la relation v = Ci X (n-j) Jo où v désigne l'échantillon de sortie obtenu à partir de fol échantillons d'entrée X(n-j) en leur appliquant respectivement des coefficients C). Pour 15 illustrer cet exemple, on choisit un nombre de coefficients fol égal à 4, un nombre d'opérateurs N égal à 4, un nombre de bandes B égal à 3, et un nombre d'échantillons par segment S égal à 4.
On suppose que le dispositif a préalablement acquis des échantillons d'entrée K, par exemple K à X(44), dont la répartition dans les 20 différentes mémoires est montrée sur la figure fa, et on décrit le calcul des échantillons de sortie v.
Les transformations élémentaires effectuées pour cela son réperto-fiées sur la figure 2b où, en abscisse, chaque colonne représente un opérateur différent tandis que l'ordonnée est le temps machine gradué en 25 cycles de calcul, et la colonne de gauche indique la transformation élément taire effectuée simultanément par Jus quatre opérateurs pour les Chantal ions d'entrée K repérés par leur seul numéro i.
On appelle échantillon pilote, de coordonnées bu né, su), relativement à un cycle de calcul donné, lléchan~illon X (i) le plus âgé (c'est à dire ayant 30 Indice i le plus faible) de tous ceux traités simultanément par les différents opérateurs pendant ce cycle de calcul.
Au début du calcul (instant top les échantillons de départ X(10), X~14), X(18~ et X(22), distants chacun de S = 4 périodes d'échantillonna~e, sont lus simultanément, respectivement par les opérateurs de numéros 2, 3, 0 et 1, Échantillon pilote étant alors X(10) de coordonnées (O, 2, 2). Les Chantal long X(10) et X(14), localisés tous les deux dans la bande de numéro 0, sont lus avec une même adresse A, appelée adresse pilote par référence à
l'échantillon pilote X(10) qui est localisé dans cette bande, alors que les échantillons X(18) et X(22), localisés tous les deux dans la bande de numéro 1, sont lus avec une même adresse A appelée adresse copilote. Dans les unités de calcul, ces quatre échantillons sont multipliés simultanément par le coefficient approprié Ci envoyé par le séquenceur.
On fait de même au cours du cycle de calcul suivant avec les 0 échantillons Ill X(15), X(1~) et X(23) qui sont multipliés par Que l'échantillon pilote étant alors Ill A cette étape du traitement, les calculs commencés dans chacun des opérateurs ne peuvent s'y terminer, faute d'avoir tous les échantillons nécessaires dans ont opérateur. Le calcul se poursuit alors dans l'opérateur 15 adjacent qui dispose de la suite des échantillons opérandes r,écessaires. Pour cela les résultats intermédiaires obtenus dans chaque unité de calcul sont transférés vers unité de calcul adjacente: il y a quatre échanges e~ectués au même instant. Ainsi Ci X(10~ + Ci Ill est transféré de l'unité de calcul de opérateur 2 à unité de calcul de opérateur 3.
De manière générale, I'opérateur n dans lequel un calcul ne peut être terminé transmet son résultat partiel à opérateur adjacent n + 1 (modulé Né
qui soit termine, c'est le cas pour f S, soit transmet à l'opérateur adjacent né (modulé N) (c'est le cas pour f > S) jusqu'à épuisement des fol échantillons. A chaque transit dans l'opérateur adjacent, Adresse de lecture 25 repasse par la valeur qui désigne l'échantillon de début de segment.
Les calculs continuent iusqu'à l'obtenlia~ au même instant des quatre résultats de corrélation Hi), Hi 7), Hi) et Hi) qui, comme le montre la ivre haussons rangés dans une zone de mémoire de l'opérateur qui achève le calcul, ce qui présente davantage de minimiser le temps de calcul.
Les calculs se poursuivent en prenant comme échantillons de départ les échantillons Ill X(15), X(19) et X(23), l'échantillon pilote étant alors Ill Suivant le même processus que précédemment, on obtient dans le même temps de calcul Ta quatre résultats Hi), Hi), Hi) et Y (26).
A instant il on a calculé NS, soit 16, échantillons de sortie Hi) à
Hi), car les échantillons de départ (X(10), Ill X(12) etc...) sont distants d'une période d'échantillonnage. De manière plus générale si les échantillons de départ étaient distants de k échantillons, on obtiendrait NS échantillons désertiez k Pour calculer l'échantillon suivant Y (29), il faut disposer des Chantal ions X(26) à X(29), c'est à dire 3 échantillons ayant servi précédemment (f = 3) plus un nouvel échantillon. L'échantillon le plus âgé est X(26) et on retrouve la même configuration d'adresses qu'à instant té avec un décalage d'une bande A cet instant il, il y a 16 échantillons qui ne serviront plus et 10 qui peuvent cire remplacés par de nouveaux échantillons.
Cet exemple de traitement numérique de signal a permis de mieux faire apparaître le principe de invention. En traitement de signal, la stationnait des algorithmes est génératrice de parallélisme temporel.
Suivant invention, ce parallélisme temporel est mis à profit de la manière 15 suivante: pourvu que l'on ait préalablement acquis une tranche suffisante d'échantillons opérandes, plusieurs traitements peuvent ensuite être menés en parallèle en exécutant simultanément les mêmes transformations été-dentaires sur des lots d'échantillons correspondants à des prises équidistant tes le long de la tranche acquise.
La mise à profit de ce parallélisme demande un aménagement de la structure multiopérateurs que non explique maintenant en relation avec la figure 3 représentant la structure du dispositif suivant un premier mode de réalisation de invention.
Comme dans le cas de la structure multiopérateurs ce dispositif y comporte un séquenceur 1 unique qui commande identiquement N opérateurs 20 à UN 1 comportant chacun une unité de calcul (30 à UN l) et une mémoire (40 à UN -l) Suivant l'invention, la zone de mémoire réservée au stockage d!échan-taillons est organisée en bandes et en segments comme on fa vu précédez-30 ment, et, suivant oc premier mode de réalisation, le séquenceur I fournit chaque instant, défini par le cycle mémoire, deux adresses de lecture: une adresse pilote A pour l'accès à la bande bu contenant l'échantillon pilote - relativement à ce cycle mémoire, et une adresse copilote A pour accès à
la bande adjacente bol (modulé y), ainsi que le numéro d'opérateur né dans ., . . _ . _ .
lequel est stocké échantillon pilote.
Chaque opérateur un comporte un comparateur (50 à UNI qui rassi le numéro d'opérateur pilote né et son propre numéro n, et qui fournit un signal de commande à un sélecteur d'adresse un permettant renvoyer vers la 5 mémoire un de opérateur auquel il appartient une adresse Ad égale, soit à
l'adresse pilote A (si n 3 n ), soit à l'adresse copilote A (si n < n ). Outre les adresses pilote et copilote A et A et le numéro né, le séquenceur 1 vénère le code opératoire pour gérer les unités de calcul un et l'accès aux mémoires un' ainsi que les coefficients nécessaires au traitement. Les N
0 unités de calcul 30 à UN I communiquent entre elles par l'intermédiaire ci un bus en anneau 7.
Les unités de calcul un comportent les drcuits appropriés permettant de mettre en oeuvre le traitement des échantillons, qu'ils soient réels ou complexes. Ces circuits se composent d'ensembles spécialisés d'opérateurs 15 élémentaires et de tests agencés de manière à effectuer les algorithmes nécessaires au traitement algorithme de F T, de traitement d'image par exemple).
Le calcul des adresses A et A n'est pas axe séquentiellement car sinon sa durée serait incompatible avec le débit nécessaire au niveau des 20 mémoires des opérateurs.
Ce calcul se décompose en deux phases effectuées par deux circuits distincts: une phase de calcul en relatif, effectuée par un cirât appelé
séquenceur mettre, et une phase de calcul en absolu, off ectuée par un circuit appelé séquenceur esclave. La phase de calcul en absolu pour un 25 accès mémoire donné se fait en parallèle avec la phase de calcul en relatif de accès mémoire suivant.
Le calcul en relatif consiste à calculer les coordonnées (bu, né, su) de échantillon pilote. Le calcul se fait par incrémentation connaissant le nombre IN échantillons séparant deux échantillons pilotes successifs.
30 fi bût net su désignent les coordonnées de l'échantillon pilote relatif vexent à un cycle de calcul se produisant à un instant t, (bu (tel), np(t+l), sp(t+l) les coordonnées de réchanti~on pilote relativement au cycle de calcul suivant se produisant à l'instant tel, et INC(t+l) le nombre Chantal ions séparant ces deux échantillons pilote, on a:
y su (tel) = su il) + IN (tel) (modulés) su + IN (tel ) - sp(t+l) np(t+l) = né + Cl (modulé N) C né + Cl - np(t+l) bp(t+l) = bu + Ci (modulé B) Dans la réalisation, on effectue des tests suivant l'organigramme de la figure fa. Dans exemple de traitement décrit précédemment, IN était constant et égal à 1.
Le calcul en absolu consiste à calculer les adresses pilote et copilote A et A à un instant t, connaissant les adresses origine AIN (t) et 15 ASUp(t) de deux bandes adjacentes dans lesquelles la zone traitée à cet instant t est à cheval, en utilisant les relations suivantes:
A = AINF~t) + su A = ASUp(t) + su où A~NF(t) et ASUp(t) dépendent de bu et su (t) désigne l'adresse relative 20 de échantillon pilote à cet instant t dans le segment auquel il appartient dans la zone traitée, et où ASup(t) est égal à AIN i S (S étant le nombre d'échantillons par segment).
Chaque fois que l'échantillon pilote rentre dans une nouvelle bande, le séquenceur esdave ajoute S aux valeurs de AIN et ASup. l e séquenceur 25 esdave revoit par ailleurs la valeur de l'adresse origine OR; de la zone de stockage des échantillons d'entrée pour le racolage de AIN et ASup lorsque échantillon pi30te passe de la bande B-l à la bande 0.
La signification concrète des variables A, A, AIN, ASup, su et OR apparaît sur la figure 5 où non a représenté, à titre exemple, la zone 30 de stockage des échantillons d'entrée dans les mémoires de quatre opéra-leurs, et où la zone traitée, à cheval sur deux bandes successives, est repérée à raide de hachurés.
Sur organigramme de la figure 6b, on a montré Des opérations effectuées par le séquenceur esclave.

Le séquence maître et le séquenceur esdave sont par exemple réalisés au moyen d'une unité de calcul associée à une mémoire vive téléchargeable contenant les instructions permettant d'effectuer les opéra-lions mentionnées sur cet organigramme.
dans la variante de réalisation représentée sur la figure 4, le calcul des adresses A et A est effectué de manière décentralisée dans chacun des opérateurs, alors que dans le cas de la figure 3 il était effectué de manière centralisée dans le séquenceur esclave.
Cette variante présente par rapport à celle décrite préoedemment avantage de réduire le nombre de connexions entre le séquenceur et les opérateurs. Le séquenceur 1 est simplifié et fournit les coordonnées né et su de l'échantillon pilote, ainsi qu'une commande CA de calcul d'adresse. En revanche, chaque opérateur comporte outre le comparateur un un circuit de calcul adresse un fournissant redresse de lecture Gap ou A) à la rnemoire 15 un.
Pour chaque cycle de calcul, les circuits un exécutent, avec le séquenceur 1, les opérations qui sont indiquées sur les organigrammes des figures fa et 6b.
Chaque circuit un est par exemple réalisé au moyen d'une unité de 20 calcul.
La structure du dispositif suivant l'invention se différente également de la structure des dispositifs multiopérateurs par les moyens permettant les échanges avec l'extérieur, c'est à dire l'acquisition des échantillons ventrée et la restitution des échantillons de sortie. En particulier acquisition 25 permet obtenir l'organisation des échantillons en mémoire, en segments et en bandes.
Les moyens d'échange avec l'extérieur, représentés sur la figure 7, comportent, suivant un premier mode de réalisation, un canal 10, dit canal "d'entrée-sortie mot à mot", reliant les opérateurs 20 à UN 1' et permettant 30 de remplir continuellement dans le temps la zone de mémoire réservée au stockage des échantillons ventrée et de vider la zone de mémoire réservée au stockage d'échantillons de sortie. Les mécanismes contrôlant adressage et les commande de lecture et d'écriture sont du type connu AD (Accès Direct Mémoire) de manière à rendre indépendants le déroulement des .
,~,~, y Ci programmes et les échangés avec le milieu extérieur. Les liaisons entre le canal 10 et les n noires 40 à UN I se font au travers d'amplificateurs bidirectionnels ho à llN_l-Le canal 10 est partagé par deux contrôleurs AD y et 13, un 5 d'entrée et un de sortie, qui fournissent respectivement redresse d'écrituredes échantillons d'entrée et l'adresse de lecture deséchantillons de sortie.
Ces adresses sont obtenues par incrémentations successives pour tenir compte de la disposition séquentielle des échantillons d'entrée et de sortie qui s'effectue comme cela a été vu précédemment selon trois niveaux:
10 bandes, segm frits et opérateurs .
En mode "mot à mot", les échanges mémoire-milieu extérieur sont sélectifs: seul opérateur désigné effectue un cycle mémoire.
Cependant, pour traiter naturellement une application de traitement de signal mettant en oeuvre des tâches identiques, les échanges mémoire-15 milieu extérieur peuvent aussi se faire en mode "parallèle L'acquisition et la restitution sont alors faites simultanément dans tous les opérateurs, chacun disposant d'un canal "d'entrée-sortie parallèle" particulier tl40 à
14N y les liaisons entre canaux et opérateurs se faisant aussi au travers d'amplificateurs bide rectionnels (150 à 15N 1) Ces deux modes de réalisation ont été représentés sur la figure 7, la sélection entre les deux serf ectuant par l'intermé&aire de sélecteurs de mode 160 à 16N 1 sélectionnant rêne des deux séries d'amplificateurs bidirectionnels ho à llN_l et 150 à 15N_l.
Le dispositif n'est pas n édifié par le type d'échantillons ou de 25 traitement effectués. En particulier le type de traitement peut être du traitement d'image.
2'7 ~
fa called segment each having the same capacity equal to S words, and intended for the storage of samples. In each of the N
memories, this set of B segments starts at the same address origin, and we call band a set of N delia segments ted by identical addresses and belonging to separate operators.
The location of a sample in the N memories is then defined by the coordinates (b, n, s) where n denotes the operator number in which this sample is stored, (n can take the values Nl), b the band number (b can take the values O a Bu and s denotes , ~ "; ~, ~
Relative address of the sample in the cernent determined by the couple (good), (s can take the values 0 to Sl).
In the memories thus organized, the input samples are stored sequentially, i.e. only one of the bus variables is 5 incremented each time, the variable s varying most rapidly and the variable b varying the least rapidly. In other words, the coordinates (b (t), n (t), s (t)) of the sample X (i) written at an instant t are deduced from coordinates (b (tl), n (tl), s (tl)) of sample X (i-1) written at the moment tl as follows:
s (t) = s (tl) + 1 (modulated S) if s (t) = 0, n (t) = n (tl) 1 (modulated N) if s (t) 0, n (t) = (tl) if n (t) = 0 and s (t) = 0, b (t) = b (tl) + 1 (modulated B) 15 if n (t) Jo O and s (t) 0, b (t) = b (tl) We now explain with an example in relation to Figure 1, the mode of writing the input samples in the memories thus organ-sweats. We denote by fol the number of input samples X necessary for 20 Obtaining an output sample Y and we consider as an example the following values of N, B, S and f: N = 4, B = 2, S = 3 and f = 3.
We are interested in the acquisition of NS (equal to 12) input samples X (i) (i being an index which increments with each sampling period), for example X (15) to X (26), this acquisition spanning a period of 25 time called recurrence (noted R), equal to NS Teck (i.e. 12 Teck), where Teck is the time interval between two successive input samples (or sampling period), the input samples X (3 ~ to X (14) having been acquired during the previous R-1 recurrence, and, among others, the Chantal input ions K to X (2) during the R-2 recurrence.
30 - During the same recurrence, Acquisition (noted A) of samples input and processing (noted T) of input samples already acquired are done simultaneously. Thus, during the recurrence R, NS let 12) be samples - input X (15) to X (26) are acquired and, during a calculation time equal to Ta, with Ta y- NS Teck, NS I f (i.e. 15) input samples X (0) to X (14 ~ are y treated. Treatment in fact implies taking into account f additional samples of the fact that it is exerted on sequences of f + 1 input samples.
The memory area containing the input samples necessary for 5 processing during a recurrence therefore occupies NS + f words. Because a same input sample is used several times during the Ta calculation for obtaining several output samples, this zone must be prohibited from writing any new input sample during the computation time Ta inside this recurrence. Samples acquired 10 must therefore be stored, in the case of two tapes, in the zone capacity available 2NS- ~ NS + f) samples, i.e. NS-f Chantal ions. So two bands are enough if you have Ta Nef Teck.
In the example considered, Ta is equal to 6 Teck and (NS-f) Teck to 9 Teck.
On fi a 1 we have shown an example of localization of 2 NS f 15 input samples X (0) to X (26) (designated by their indices 0 to 26) in the different memories during the recurrence R, on the one hand as regards concerns the processing T of NS + f input samples X (0) to X (14), on the other hand regarding the A acquisition of NS input samples-X (15) to X ~ 26) during this same recurrence. Samples 7ns X ~ 0), 20 K and K acquired during the recurrence there for example for coordinates (1,2,1) (1,2,2) and (1,3,0), and the samples K to X (14) acquired during the recurrence Rl (3, 1, 1) to (3, 0, 0). We represented these samples with hatched lines tilted in the first direction (except samples X (12) to X (14) which are represented with hatched lines 25 vertical because they correspond to the additional samples mentioned previously) to indicate that these are samples that are kept from one recurrence to the next. Samples K to X (14) are those processed during the calculation time Ta during the recurrence R.
We then attribute to the samples X (15) to X (26) acquired during the 30 recurrence R, as they arrive, the coordinates (0,3,1) to (1,3,0). We have represented the samples X (21) to X (26) with hatching tilted in a second direction to indicate that these are samples acquired during the recurrence considered outside the calculation time Ta.
We have represented the samples X (15 ~ to X (20) with a grid for y indicate that their acquisition is done simultaneously with the processing (Ta) samples acquired during previous recurrences.
Following the same principle, FIG. 1 also shows the location of input samples X (12) to X (3 ~) in the different 5 memories during the D recurrence We now explain, in relation to Figures fa and 2b, the mode of reading the memories thus organized, illustrating it with an example of processing corresponding to a digital filtering of transverse type.
The transformation performing the cross-type filtering is defined 10 by relationship v = Ci X (nj) Jo where v denotes the output sample obtained from fol samples input X (nj) by applying coefficients C) to them respectively. For 15 illustrate this example, we choose a number of fol coefficients equal to 4, a number of operators N equal to 4, a number of bands B equal to 3, and a number of samples per segment S equal to 4.
It is assumed that the device has previously acquired samples input K, for example K to X (44), the distribution of which in the 20 different memories is shown in FIG. Fa, and the calculation of the output samples v is described.
The elementary transformations carried out for this its repertory-shown in Figure 2b where, on the abscissa, each column represents a different operator while the ordinate is the machine time graduated in 25 calculation cycles, and the left column indicates the element transformation silencing carried out simultaneously by Jus four operators for Chantal input ions K identified by their only number i.
We call pilot sample, with coordinates born, su), relatively at a given calculation cycle, lléchan ~ illon X (i) the oldest (i.e. having 30 lowest index i) of all those treated simultaneously by the different operators during this calculation cycle.
At the beginning of the calculation (instant top the starting samples X (10), X ~ 14), X (18 ~ and X (22), each distant from S = 4 sample periods, are read simultaneously, respectively by the operators of numbers 2, 3, 0 and 1, Pilot sample then being X (10) with coordinates (O, 2, 2). Chantal long X (10) and X (14), both located in the band of number 0, are read with the same address A, called pilot address by reference to the pilot sample X (10) which is located in this band, while the samples X (18) and X (22), both located in the number band 1, are read with the same address A called co-pilot address. In the calculation units, these four samples are multiplied simultaneously by the appropriate coefficient Ci sent by the sequencer.
We do the same during the following calculation cycle with the 0 samples Ill X (15), X (1 ~) and X (23) which are multiplied by Que the pilot sample then being Ill At this stage of processing, the calculations started in each of operators cannot finish because they do not have all the samples necessary in have operator. The calculation then continues in the operator 15 adjacent which has the necessary operand samples r. For this the intermediate results obtained in each calculation unit are transferred to adjacent computing unit: there are four exchanges carried out at the same time. Thus Ci X (10 ~ + Ci Ill is transferred from the calculation unit from operator 2 to operator 3 calculation unit.
In general, the operator n in which a calculation cannot be finished transmits its partial result to adjacent operator n + 1 (modulated Born which either ends, this is the case for f S, or transmits to the adjacent operator born (modulated N) (this is the case for f> S) until exhaustion of fol samples. At each transit in the adjacent operator, Reading address 25 returns to the value which designates the segment start sample.
The calculations continue until the obtenlia ~ at the same time of the four correlation results Hi), Hi 7), Hi) and Hi) which, as shown in the drunk bulls stored in a memory area of the operator who completes the computation, which further minimizes the computation time.
The calculations continue taking as starting samples samples Ill X (15), X (19) and X (23), the pilot sample then being Ill Following the same process as before, we get in the same calculation time Ta four results Hi), Hi), Hi) and Y (26).
At the moment we calculated NS, that is 16, output samples Hi) to Hi), because the starting samples (X (10), Ill X (12) etc ...) are distant a sampling period. More generally if the samples were distant from k samples, we would get NS samples desert k To calculate the following sample Y (29), you need the Chantal ions X (26) to X (29), i.e. 3 samples previously used (f = 3) plus a new sample. The oldest sample is X (26) and we finds the same address configuration as instantaneously with an offset of a strip At this moment there are 16 samples which will no longer be used and 10 which can be replaced with new samples.
This example of digital signal processing allowed better reveal the principle of invention. In signal processing, the stationing algorithms generates time parallelism.
According to the invention, this temporal parallelism is taken advantage of in the manner 15 next: provided that a sufficient tranche has been previously acquired of operand samples, several treatments can then be carried out in parallel by performing the same summer transformations simultaneously-dental on batches of samples corresponding to equidistant catches your along the acquired slice.
Taking advantage of this parallelism requires an adjustment of the multi-operator structure that is not explained now in relation to the FIG. 3 representing the structure of the device according to a first mode of realization of invention.
As in the case of the multi-operator structure, this device there includes a single sequencer 1 which identically controls N operators 20 to UN 1 each comprising a calculation unit (30 to UN l) and a memory (40 to UN -l) According to the invention, the memory area reserved for storing exchange!
heels are organized into bands and segments as we saw above 30 ment, and, according to oc first embodiment, the sequencer I provides each instant, defined by the memory cycle, two read addresses: a pilot address A for access to the bu tape containing the pilot sample - relative to this memory cycle, and a co-pilot address A for access to the adjacent bowl strip (modulated y), as well as the operator number born in .,. . _. _.
which is stored pilot sample.
Each operator has a comparator (50 to UNI which reassi the pilot operator number born and his own number n, which provides a control signal to an address selector allowing a return to the 5 memory one of the operator to which it belongs an address Ad equal, i.e.
the pilot address A (if n 3 n), or to the co-pilot address A (if n <n). Outraged the pilot and co-pilot addresses A and A and the born number, the sequencer 1 venerates the operating code to manage the computing units one and the access to memories a 'as well as the coefficients necessary for processing. The N
0 computing units 30 to UN I communicate with each other via a ring bus 7.
The calculation units one include the appropriate products allowing to process the samples, whether they are real or complex. These circuits consist of specialized sets of operators 15 elementary and tests arranged to perform the algorithms necessary for FT algorithm processing, image processing by example).
The calculation of addresses A and A is not sequentially axis because otherwise its duration would be incompatible with the necessary flow at the level of 20 operator memories.
This calculation is broken down into two phases performed by two circuits distinct: a relative calculation phase, performed by a cirate called put sequencer, and an absolute calculation phase, off ected by a circuit called slave sequencer. The absolute calculation phase for a 25 memory access given is done in parallel with the relative calculation phase next memory access.
The relative calculation consists in calculating the coordinates (bu, born, su) of pilot sample. The calculation is done by incrementation knowing the number IN samples separating two successive pilot samples.
30 net cost su designate the coordinates of the relative pilot sample upset a calculation cycle occurring at an instant t, (bu (tel), np (t + l), sp (t + l) the coordinates of the sample ~ we pilot relative to the cycle of following calculation occurring at the instant such, and INC (t + l) the number Chantal ions separating these two pilot samples, we have:
y su (tel) = su il) + IN (tel) (modulated) su + IN (tel) - sp (t + l) np (t + l) = born + Cl (modulated N) C born + Cl - np (t + l) bp (t + l) = bu + Ci (modulated B) In the implementation, tests are carried out according to the flowchart of the figure fa. In the processing example described above, IN was constant and equal to 1.
The absolute calculation consists in calculating the pilot and co-pilot addresses A and A at time t, knowing the addresses of origin AIN (t) and 15 ASUp (t) of two adjacent strips in which the area treated at this instant t is on horseback, using the following relationships:
A = AINF ~ t) + su A = ASUp (t) + su where A ~ NF (t) and ASUp (t) depend on bu and su (t) denotes the relative address 20 of pilot sample at this time t in the segment to which it belongs in the treated area, and where ASup (t) is equal to AIN i S (S being the number of samples by segment).
Each time the pilot sample enters a new strip, the esdave sequencer adds S to the values of AIN and ASup. the sequencer 25 esdave also reviews the value of the original OR address; from the area of storage of input samples for solicitation of AIN and ASup when pi30te sample goes from band Bl to band 0.
The concrete meaning of the variables A, A, AIN, ASup, su and OR appears in Figure 5 where not has shown, for example, the area 30 for storing the input samples in the memories of four opera-their, and where the treated area, straddling two successive bands, is spotted with stiff hatching.
On the flow diagram of FIG. 6b, operations have been shown performed by the slave sequencer.

The master sequence and the esdave sequencer are for example performed by means of a calculation unit associated with a random access memory downloadable containing the instructions for performing the operations lions mentioned in this organization chart.
in the variant embodiment shown in FIG. 4, the calculation of addresses A and A is carried out in a decentralized manner in each of the operators, whereas in the case of FIG. 3 it was carried out centralized in the slave sequencer.
This variant presents compared to that described previously advantage of reducing the number of connections between the sequencer and operators. The sequencer 1 is simplified and provides the coordinates born and su of the pilot sample, as well as a CA command to calculate the address. In on the other hand, each operator comprises in addition to the comparator one a circuit of computation addresses a supplier rectifier for reading Gap or A) to the memory 15 a.
For each calculation cycle, circuits one execute, with the sequencer 1, the operations which are indicated on the flowcharts of the figures fa and 6b.
Each circuit one is for example realized by means of a unit of 20 calculation.
The structure of the device according to the invention also differs of the structure of multi-operator devices by means allowing them exchanges with the outside, that is to say the acquisition of ventrum samples and restitution of the output samples. In particular acquisition 25 makes it possible to obtain the organization of the samples in memory, in segments and in strips.
The means of exchange with the outside, represented in FIG. 7, comprise, according to a first embodiment, a channel 10, called channel "word-for-word input-output", connecting operators 20 to UN 1 'and allowing 30 to continuously fill in the memory area reserved for the stashed sample storage and empty the reserved memory area storage of output samples. Addressing control mechanisms and the read and write commands are of the known type AD (Access Direct Memory) so as to make the progress of the .
, ~, ~, y Ci programs and exchanged with the outside environment. The connections between the channel 10 and the black n 40 to UN I are through amplifiers bidirectional ho to llN_l-Channel 10 is shared by two AD y and 13 controllers, one 5 input and one output, which respectively provide writing rectification of input samples and the reading address of the output samples.
These addresses are obtained by successive increments to keep account for sequential arrangement of input and output samples which takes place as seen above on three levels:
10 strips, fried segm and operators.
In "word for word" mode, memory-external medium exchanges are selective: only designated operator performs a memory cycle.
However, to naturally treat a treatment application signal implementing identical tasks, memory exchanges-15 external environment can also be done in "parallel" mode The acquisition and the restitution are then made simultaneously in all the operators, each with a specific "parallel input-output" channel tl40 to 14N y the links between channels and operators are also made through bi-directional amplifiers (150 to 15N 1) These two embodiments have been represented in FIG. 7, the selection between the two serf ectants via the selection area 160 to 16N mode 1 selecting reins of the two series of amplifiers bidirectional ho to llN_l and 150 to 15N_l.
The device is not built by the type of samples or 25 treatments performed. In particular, the type of treatment may be image processing.

Claims (8)

Les réalisations de l'invention, au sujet des-quelles un droit exclusif de propriété ou de privilège est revendiqué, sont définies comme il suit: The embodiments of the invention, concerning the-what an exclusive property right or lien is claimed, are defined as follows: 1. Dispositif de traitement numérique de signal, comportant des moyens d'acquisition d'échantillons du signal à traiter, N opérateurs qui comportent chacun une unité de calcul et une mémoire contenant les échantillons du signal à
traiter, un séquenceur qui commande identiquement les N opé-rateurs, des moyens d'adressage en écriture et des moyens d'adressage en lecture des N mémoires, les N unités de calcul communiquant entre elles par un bus en anneau, caractérisé en ce que chacune des N mémoires comporte une zone réservée au stockage d'échantillons d'entrée organisée en B segments (nu-mérotés de 0 à B-l) contenant chacun S échantillons, N segments de même numéro b (b prenant les valeurs 0 à B-l) des N mémoires étant délimités par des adresses identiques et formant une bande de numéro b, l'adresse d'un échantillon dans la zone de mémoire ainsi obtenue pour les N opérateurs étant alors défi-nie par les coordonnées (b, n, s) où n désigne un numéro d'opé-rateur (n prenant les valeurs 0 à N-l), b le numéro de bande et s l'adresse relative de cet échantillon dans le segment dé-terminé par le couple (b, n) (s prenant les valeurs de 0 à S-l), et en ce que les moyens d'adressage en écriture des N mémoires comportent des moyens pour assurer un stockage séquentiel des échantillons du signal à traiter, au fur et à mesure de leur arrivée, dans la zone de mémoire ainsi obtenue, suivant des priorités d'écriture croissantes, par adresse à l'intérieur d'un segment, numéro d'opérateur, et numéro de bande.
1. Digital signal processing device, comprising means for acquiring signal samples to be processed, N operators which each include a unit of calculation and a memory containing the samples of the signal to process, a sequencer which identically controls the N oper-writers, writing addressing means and means addressing the N memories, the N calculation units communicating with each other by a ring bus, characterized by each of the N memories has a zone reserved for storage of input samples organized into B segments (nu-meroted from 0 to Bl) each containing S samples, N segments of the same number b (b taking the values 0 to Bl) of the N memories being delimited by identical addresses and forming a strip number b, the address of a sample in the area of memory thus obtained for the N operators then being defi-denies by the coordinates (b, n, s) where n denotes an operating number rator (n taking the values 0 to Nl), b the band number and s the relative address of this sample in the segment terminated by the pair (b, n) (s taking the values from 0 to Sl), and in that the write addressing means of the N memories include means for sequential storage of samples of the signal to be processed, as they are arrival, in the memory area thus obtained, according to increasing writing priorities, by address inside of a segment, operator number, and band number.
2. Dispositif suivant la revendication 1, caractérisé
en ce que les moyens d'adressage en lecture des N mémoires comportent des moyens pour fournir, à chaque accès mémoire com-mandé par le séquenceur, deux adresses de lecture à chacune des N mémoires:

AP = AINF + sp et Ac = ASUP + sp , et en ce que chaque opérateur de numéro n comporte des moyens pour choisir Ap si n est supérieur ou égal à np, ou Ac si n est inférieur à np, où AINF et ASUP désignent des adresses origine de deux bandes adjacentes de numéros bp et bp + 1, et où (bp, np, sp) désignent les coordonnées d'un échantillon pilote relativement à l'accès mémoire considéré, ou échantillon acquis depuis le plus de temps parmi les N échantillons lus dans les N opérateurs pendant l'accès mémoire considéré.
2. Device according to claim 1, characterized in that the addressing means for reading the N memories include means for providing, at each memory access, ordered by the sequencer, two play addresses at each of the N memories:

AP = AINF + sp and Ac = ASUP + sp, and in that each operator of number n has means to choose Ap if n is greater than or equal to np, or Ac if n is less than np, where AINF and ASUP designate addresses origin of two adjacent bands of numbers bp and bp + 1, and where (bp, np, sp) denote the coordinates of a sample pilot relative to the memory access considered, or sample acquired for the longest time among the N samples read in the N operators during the memory access considered.
3. Dispositif suivant la revendication 2, caractérisé
en ce que les moyens pour fournir les adresses Ap et Ac com-portent des moyens pour calculer à chaque accès mémoire, les coordonnées d'un échantillon pilote relatif à un accès mémoire suivant, par incrémentation des coordonnées de l'échantillon pilote relatif à l'accès mémoire actuel d'un nombre égal au nombre d'échantillons séparant deux échantillons successifs utiles à un même traitement.
3. Device according to claim 2, characterized in that the means for providing the Ap and Ac addresses include carry means for calculating at each memory access, the coordinates of a pilot sample relating to a memory access next, incrementing the coordinates of the sample driver relating to the current memory access of a number equal to number of samples separating two successive samples useful for the same treatment.
4. Dispositif suivant la revendication 2, caractérisé
en ce que les moyens pour fournir les adresses Ap et Ac com-portent des moyens pour calculer à chaque accès mémoires des adresses origine AINF(t+l) et ASUP (t+l) de deux bandes adja-centes de numéros bp(t+l) et bp+ 1 (t+l) dont la bande inférieure, de numéro bp(t+l), contient un échantillon pilote relatif à
un accès mémoire suivant, par incrémentation de l'adresse ori-gine AINF(t) relative à l'accès mémoire actuel d'un nombre égal au nombre S d'échantillons par segment, si l'échantillon pilote relatif à l'accès mémoire suivant change de bande par rapport à l'accès mémoire actuel sans toutefois revenir à la bande de numéro 0, par conservation de l'adresse origine AINF(t) s'il ne change pas de bande par rapport à l'accès mémoire actuel, ou par attribution d'une adresse origine (ORG) de la zone réservée au stockage d'échantillons d'entrée dans les N mémoires s'il change de bande en revenant à la bande de numéro 0, l'adresse origine ASUP (t+l) de la bande supérieure de numéro bp + l(t+l) étant obtenue dans tous les cas en ajou-tant le nombre S d'échantillons par segment à l'adresse origine AINF(t+l).
4. Device according to claim 2, characterized in that the means for providing the Ap and Ac addresses include carry means for calculating, at each memory access, origin addresses AINF (t + l) and ASUP (t + l) of two adjacent bands centes of numbers bp (t + l) and bp + 1 (t + l) including the lower band, of number bp (t + l), contains a pilot sample relating to a subsequent memory access, by incrementing the ori-gine AINF (t) relating to the current memory access of a number equal to the number S of samples per segment, if the sample driver related to the following memory access changes band by compared to the current memory access without however returning to the strip of number 0, by keeping the original address AINF (t) if it does not change band with respect to access current memory, or by assigning an origin address (ORG) the area reserved for storing input samples in the N memories if it changes bands by returning to the band number 0, the original ASUP address (t + l) of the upper band of number bp + l (t + l) being obtained in all cases by adding as the number S of samples per segment at the original address AINF (t + l).
5. Dispositif selon la revendication 3, caractérisé
en ce que les moyens pour fournir les adresses Ap et Ac com-portent un séquenceur maître qui calcule à chaque accès mé-moire les adresses Ap et Ac pour cet accès mémoire, et un sé-quenceur esclave qui calcule à chaque accès mémoire les coor-données de l'échantillon pilote relativement à l'accès mémoire suivant.
5. Device according to claim 3, characterized in that the means for providing the Ap and Ac addresses include carry a master sequencer which calculates at each mete access moire the Ap and Ac addresses for this memory access, and a se-slave sequencer which calculates at each memory access the coordinates pilot sample data for memory access following.
6. Dispositif suivant la revendication 2, caractérisé
en ce que les moyens pour fournir les adresses Ap et Ac sont localisés dans le séquenceur.
6. Device according to claim 2, characterized in that the means for providing the Ap and Ac addresses are located in the sequencer.
7. Dispositif suivant la revendication 3, caractérisé
en ce que les moyens pour fournir les adresses Ap et Ac sont localisés pour partie dans chacun des N opérateurs.
7. Device according to claim 3, characterized in that the means for providing the Ap and Ac addresses are partly located in each of the N operators.
8. Dispositif suivant la revendication 4, caractérisé
en ce que les moyens d'acquisition d'échantillons du signal à traiter comportent N canaux d'entrée-sortie reliés aux N mémoires, ce qui permet des échanges mémoire-milieu extérieur en mode "parallèle".
8. Device according to claim 4, characterized in that the signal sample acquisition means to be processed have N input-output channels connected to N memories, which allows memory-environment exchanges outdoor in "parallel" mode.
CA000464224A 1983-09-30 1984-09-28 Digital signal processor Expired CA1227881A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8315649A FR2569071B1 (en) 1983-09-30 1983-09-30 DIGITAL SIGNAL PROCESSING DEVICE
FR8315649 1983-09-30

Publications (1)

Publication Number Publication Date
CA1227881A true CA1227881A (en) 1987-10-06

Family

ID=9292719

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000464224A Expired CA1227881A (en) 1983-09-30 1984-09-28 Digital signal processor

Country Status (5)

Country Link
CA (1) CA1227881A (en)
DE (1) DE3435816A1 (en)
FR (1) FR2569071B1 (en)
GB (1) GB2157860B (en)
NL (1) NL8402908A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239628A (en) * 1985-11-13 1993-08-24 Sony Corporation System for asynchronously generating data block processing start signal upon the occurrence of processing end signal block start signal
CA1283738C (en) * 1985-11-13 1991-04-30 Atsushi Hasebe Data processor
FR2606184B1 (en) * 1986-10-31 1991-11-29 Thomson Csf RECONFIGURABLE CALCULATION DEVICE
FR2606186B1 (en) * 1986-10-31 1991-11-29 Thomson Csf CALCULATION PROCESSOR COMPRISING A PLURALITY OF STAGES CONNECTED IN SERIES, CALCULATOR AND CALCULATION METHOD IMPLEMENTING SAID METHOD
FR2606183B1 (en) * 1986-10-31 1991-11-29 Thomson Csf DIRECT MEMORY ACCESS SEQUENCER
FR2622989B1 (en) * 1987-11-06 1992-11-27 Thomson Csf RECONFIGURABLE MULTIPROCESSOR MACHINE FOR SIGNAL PROCESSING
GB2299422B (en) * 1995-03-30 2000-01-12 Sony Uk Ltd Object code allocation in multiple processor systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1980000758A1 (en) * 1978-10-06 1980-04-17 Hughes Aircraft Co Modular programmable signal processor
JPS58149555A (en) * 1982-02-27 1983-09-05 Fujitsu Ltd Parallel processing device

Also Published As

Publication number Publication date
NL8402908A (en) 1985-06-03
GB2157860A (en) 1985-10-30
FR2569071A1 (en) 1986-02-14
FR2569071B1 (en) 1988-10-14
DE3435816A1 (en) 1986-04-24
GB2157860B (en) 1987-02-25

Similar Documents

Publication Publication Date Title
CN110058883B (en) CNN acceleration method and system based on OPU
FR2523787A1 (en) METHOD AND DEVICE FOR VIDEO PROCESSING FOR IMAGE ROTATION
CA1227881A (en) Digital signal processor
FR2502822A1 (en) DEVICE AND METHOD FOR SPEECH RECOGNITION
FR2625347A1 (en) NEURONE NETWORK STRUCTURE AND CIRCUIT AND ARRANGEMENT OF NEURON NETWORKS
FR2546017A1 (en) METHOD FOR REALIZING A GEOMETRIC TRANSFORMATION ON A VIDEO IMAGE, AND DEVICES USING THE SAME
EP0142179A1 (en) Sound generating device
EP0511095B1 (en) Coding and decoding method and apparatus for a digital signal
FR2514912A1 (en) NUMERICAL CONTROL METHOD WITH CALCULATOR FOR MOVING A MOBILE ELEMENT IN A MACHINE ACCORDING TO A PREDETERMINED ROUTE
FR2585859A1 (en) VECTOR MASK OPERATION CONTROL UNIT.
FR2634084A1 (en) INTEGRATED CIRCUIT AND IMAGE PROCESSING DEVICE
EP0275765A1 (en) Integrated circuit for digital signal processing
FR2747528A1 (en) STRUCTURE OF DIGITAL FILTER BENCH DEVICE AND ITS OPERATING METHOD
WO2006042736A1 (en) Reconfigurable, modular and hierarchical parallel processor system
FR2772950A1 (en) ELECTRONIC DEVICE FOR CALCULATING A FOURIER TRANSFORM WITH A &#34;PIPELINE&#34; ARCHITECTURE AND CONTROL METHOD THEREOF
JPS6152479B2 (en)
EP0242258B1 (en) Device for the execution of an algorithm (leroux-gueguen) for the coding of a signal by linear prediction
FR2606186A1 (en) CALCULATION PROCESSOR COMPRISING A PLURALITY OF SERIES-CONNECTED STAGES, CALCULATOR AND CALCULATION METHOD USING THE SAME
FR2731854A1 (en) DIGITAL FILTERING DEVICE
EP0373042B1 (en) Integrated circuit for dynamic programming
FR2687871A1 (en) METHOD AND DEVICE FOR FILTERING FOR REDUCING THE PREECHOS OF AN AUDIO-DIGITAL SIGNAL
FR3090163A1 (en) Data processing processor, method and corresponding computer program
EP0104290B1 (en) Digital processor for real time signals
FR2649515A1 (en) DEVICE FOR CALCULATING A PREDICTION FOR IMAGE PROCESSING
FR2527881A1 (en) Digital processing system for colour video signal - convert three conventional chrominance signals into single one-dimensional signal and luminance signal

Legal Events

Date Code Title Description
MKEX Expiry