FR2569071A1 - DIGITAL SIGNAL PROCESSING DEVICE - Google Patents

DIGITAL SIGNAL PROCESSING DEVICE Download PDF

Info

Publication number
FR2569071A1
FR2569071A1 FR8315649A FR8315649A FR2569071A1 FR 2569071 A1 FR2569071 A1 FR 2569071A1 FR 8315649 A FR8315649 A FR 8315649A FR 8315649 A FR8315649 A FR 8315649A FR 2569071 A1 FR2569071 A1 FR 2569071A1
Authority
FR
France
Prior art keywords
samples
memory access
memories
addresses
sample
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.)
Granted
Application number
FR8315649A
Other languages
French (fr)
Other versions
FR2569071B1 (en
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
Priority to FR8315649A priority Critical patent/FR2569071B1/en
Priority to GB08423616A priority patent/GB2157860B/en
Priority to NL8402908A priority patent/NL8402908A/en
Priority to CA000464224A priority patent/CA1227881A/en
Priority to DE19843435816 priority patent/DE3435816A1/en
Publication of FR2569071A1 publication Critical patent/FR2569071A1/en
Application granted granted Critical
Publication of FR2569071B1 publication Critical patent/FR2569071B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

DANS CE DISPOSITIF DE TRAITEMENT NUMERIQUE DE SIGNAL, COMPORTANT N OPERATEURS 2 QUI COMMUNIQUENT ENTRE EUX ET QUI COMPORTENT CHACUN UNE UNITE DE CALCUL 3 ET UNE MEMOIRE 4 CONTENANT LES ECHANTILLONS DU SIGNAL A TRAITER, UN SEQUENCEUR 1 QUI COMMANDE IDENTIQUEMENT LES N OPERATEURS, ET DES MOYENS D'ADRESSAGE EN ECRITURE ET EN LECTURE 1,5, 6 DES N MEMOIRES, LES MOYENS D'ADRESSAGE EN ECRITURE ET LECTURE DES N MEMOIRES SONT TELS QUE PLUSIEURS TRAITEMENTS PEUVENT ETRE MENES EN PARALLELE EN EXECUTANT SIMULTANEMENT LES MEMES TRANSFORMATIONS ELEMENTAIRES SUR DES LOTS D'ECHANTILLONS CORRESPONDANTS A DES PRISES EQUIDISTANTES LE LONG DE LA TRANCHE DE SIGNAL ACQUISE. APPLICATION AU TRAITEMENT NUMERIQUE DE SIGNAL.IN THIS DIGITAL SIGNAL PROCESSING DEVICE, INCLUDING N OPERATORS 2 WHO COMMUNICATE WITH EACH OTHER AND WHICH EACH INCLUDES A COMPUTING UNIT 3 AND A MEMORY 4 CONTAINING THE SAMPLES OF THE SIGNAL TO BE PROCESSED, A SEQUENCER 1 WHICH COMMANDS THE OPERATORS IDENTIALLY WRITING AND READING ADDRESSING 1,5, 6 OF THE N MEMORIES, THE WRITING AND READING ADDRESSING OF N MEMORIES ARE SUCH AS SEVERAL PROCESSINGS CAN BE CARRIED OUT IN PARALLEL BY SIMULTANEOUSLY CARRYING OUT THE SAME ELEMENTARY TRANSFORMATIONS ON LOTS SAMPLES CORRESPONDING TO EQUIDISTANT TAPS ALONG THE ACQUIRED SIGNAL RANGE. APPLICATION TO DIGITAL SIGNAL PROCESSING.

Description

DISPOSITIF DE TRAITEMENT NUMERIQUE DE SIGNALDIGITAL SIGNAL PROCESSING DEVICE

La présente invention concerne un dispositif de traitement numérique  The present invention relates to a digital processing device

de signal.of signal.

Généralement ce type de traitement se distingue du traitement de  Generally this type of treatment differs from the treatment of

type informatique par le volume d'opérations traitées (celui-ci étant supé-  type by the volume of transactions processed (the latter being higher than

rieur d'un ordre de grandeur au moins à la puissance de calcul d'un processeur d'usage général) et par la stationnarité des algorithmes (les transformations réalisées au cours du temps sur le signal à traiter étant  at least the order of magnitude of the computing power of a general-purpose processor) and the stationarity of the algorithms (the transformations carried out over time on the signal to be processed being

constituées de séquences immuables dopérations élémentaires faisant inter-  consisting of immutable sequences of elementary

venir éventuellement des coefficients invariables ou variant lentement dans  possibly come from invariant or slowly varying coefficients in

le temps par rapport à la récurrence de calcul).  time compared to recurrence of calculation).

On connait deux types de dispositifs permettant d'effectuer un trai-  There are two types of devices that make it possible to

tement numérique de signal, l'un ayant une structure multiprocesseurs (ou MIMD, pour Multiple Instruction Stream, Multiple Data Stream), l'autre ayant une stucture multiopérateurs (ou SIMD, pour Simple Instruction  a multiprocessor structure (or MIMD, for Multiple Instruction Stream, Multiple Data Stream), the other having a multi-operator structure (or SIMD, for Simple Instruction

Stream, Multiple Data Stream).Stream, Multiple Data Stream).

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 stucture, la réalisation d'une application de traitement de signal passe classiquement par la décomposition de la chaine de traitement en une suite  In the case of the multiprocessor structure, the device consists of several processors in relation to each other and each having its sequencer, its computing unit, its memories, etc. With such a structure, the realization of a signal processing application typically goes through the decomposition of the processing chain into a sequel

plus ou moins linéaire de transformations élémentaires et par la spécialisa-  more or less linear elementary transformations and by the specialization

tion des processeurs en fonction de ces transformations élémentaires. Pour effectuer cette chaine de traitement, les processeurs, souvent organisés en  processors based on these elementary transformations. To perform this chain of processing, the processors, often organized into

"pipe-line", assurent chacun une ou plusieurs de ces transformations élémen-  "pipeline", each provide one or more of these

taires successives; ils sont donc différenciés, au moins par leur programme.  successively; they are therefore differentiated, at least by their program.

Une autre possibilité de réalisation d'une application de traitement de signal avec la structure multiprocesseurs consiste à faire exécuter la chaine  Another possibility of implementing a signal processing application with the multiprocessor structure is to execute the string

complète de traitement dans chaque processeur mais sur une partie seule-  processing in each processor but on a single part-

ment des échantillons du signal d'entrée, les processeurs se relayant dans le  samples of the input signal, the processors taking turns in the

temps pour assurer la prise en compte continue des échantillons d'entrée.  time to ensure that input samples are taken into account continuously.

Les processeurs ndont alors plus besoin dêtre différenciés par leur program-  Processors no longer need to be differentiated by their

me. Mais, comme un échantillon de sortie est généralement calculé à partir d'c une suite cd'échantillons dentrée, les suites d'é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 simultanément N échantillons de sortie à partir de suites de ne échantillons crd'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 n < N) , d'o une mauvaise utilisation du e  me. However, since an output sample is usually calculated from c a sequence of input samples, the sequences of input samples stored in the memories of the different processors must then overlap to a large extent, hence the misuse of the input sample. overall memory volume. For example, according to this last mode of use, N processors simultaneously calculate N output samples from sequences of no input samples stored in the memories of these operators and having starting samples remote from a sampling period. . The same input sample must then be stored in as many memories as there are samples in a sequence (if n <N), hence the misuse of the e

volume de mémoire disponible.available memory.

Dans le cas de la structure multiopérateurs, le dispositif ne dispose  In the case of the multi-operator structure, the device does not have

que cd'un séquenceur pilotant identiquement plusieurs opérateurs (un opéra-  that a sequencer driving identically several operators (an opera-

teur, parfois appelé processeur élémentaire, étant constitué d'une mémoire et d'une unité de calcul), et un moyen d'échange entre opérateurs, du type "bus en anneau", est généralement prévu. Le dispositif exécute le même  the so-called elementary processor, consisting of a memory and a computing unit), and a means of exchange between operators, of the "ring bus" type, is generally provided. The device performs the same

programme sur des flots d'échantillons d'entrée différents. Avec une struc-  program on different input sample streams. With a structure

ture multiopérateurs, on ne peut résoudre une application de traitement de  multioperator, one can not solve a

signal que dans la mesure o elle est parallélisable, dest à dire décompo-  signal that in so far as it is parallelisable, ie to decompose

sable en tâches identiques menées sur des flots différents de signaux dentré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 capteurs d'une antenne: le signal de chaque capteur est appliqué à un opérateur propre à ce capteur. L'inconvénient de cette structure est donc qu'elle ne s'applique valablement que pour un type restreint de traitement de  sand in identical tasks carried out on different streams of input signals: there are as many waves as there are operators. This is for example the case of a filtering treatment to be performed on each of the output signals of the sensors of an antenna: the signal of each sensor is applied to an operator specific to this sensor. The disadvantage of this structure is that it applies validly only for a limited type of processing of

signal.signal.

Le dispositif.. suivant linvention s'apparente par sa structure aux dispositifs multiopérateurs, bénéficiant par là de l'avantage structurel d'un séquenceur unique qui pilote identiquement plusieurs opérateurs, mals par son fonctionnement, au deuxième mode cd'utilisation précité des dispositifs  The device according to the invention is similar in structure to the multi-operator devices, thereby benefiting from the structural advantage of a single sequencer which identically controls several operators, but by its operation, in the second aforementioned mode of use of the devices.

multiprocesseurs, en évitant cependant, grâce à une organisation particu-  multiprocessors, avoiding however, thanks to a particular organization

lière des échantillons d'entrée dans les différentes mémoires, et, corrélati-  of the input samples in the different memories, and, correlated

vement, à un adressage particulier de ces mémoires, la mauvaise utilisation  specifically addressing these memories, the misuse

du volume de mémoire inhérente à ce mode d'utilisation.  the amount of memory inherent in this mode of use.

Dans le dispositif de traitement numérique de signal suivant l'inven-  In the digital signal processing device according to the invention,

tion, 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, 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-1) 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éfinie par les coordonnées (b, n, s) o n désigne le 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 à 5-1), 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  comprising means for acquiring samples of the signal to be processed, N operators each comprising a calculation unit and a memory containing the samples of the signal to be processed, a sequencer which identically controls the N operators, addressing means in writing 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 comprises an area reserved for the storage of input samples organized in B segments (numbered from 0 to B-1) each containing S samples, N segments of the same number b (b taking the values 0 to B-1) of the N memories being delimited by identical addresses and forming a band of number b, the address d a sample in the memory zone thus obtained for the N operators being then defined by the coordinates (b, n, s) denotes the operator number (n taking values 0 to Nl), b the band number e ts the relative address of this sample in the segment determined by the pair (b, n) (s taking the values of 0 to 5-1), and the write addressing means of the N memories include means to ensure a sequential storage of the samples of the signal to be processed, as and when they arrive, in the memory zone thus obtained, according to priorities

d'écriture croissantes, par adresse à l'intérieur d'un segment, numéro d'opé-  increasing writing, by address within a segment, operation number

rateur, et numéro de bande.rator, and band number.

Par ailleurs, 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 à chacune des N mémoires: Ap = AINF+ Sp et Ac = A SUP + Sp et chaque opérateur de numéro n comporte des moyens pour choisir Ap si n est supérieur ou égal à np, ou A si n est inférieur à np o AINF et ASup désignent les adresses origine de deux bandes adjacentes de numéros bp et 3 b + I et o (bp, nps p) désignent les coordonnées de l'é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  Moreover, the read addressing means of the N memories comprise means for providing, at each memory access controlled by the sequencer, two addresses at each of the N memories: Ap = AINF + Sp and Ac = A SUP + Sp and each operator of number n has means for choosing Ap if n is greater than or equal to np, or A if n is less than np o AINF and ASup are the origin addresses of two adjacent bands of numbers bp and 3b + I and o (bp , nps p) designate the coordinates of the pilot sample relative to the memory access considered, or sample acquired for the most time among the N samples read in the N operators during

l'accès mémoire considéré.the memory access considered.

L'invention sera mieux comprise au cours de la description qui suit et à  The invention will be better understood in the course of the description which follows and

l'examen des figures qui la soutiennent. Celles-ci sont données à titre  the examination of the figures that support it. These are given as

indicatif et non limitatif des caractéristiques de l'invention. Elles représen-  indicative and not limiting of the features of the invention. They represent

tent: - Figure 1, un schéma montrant l'organisation des échantillons d'entrée dans les différentes mémoires du dispositif suivant l'invention. - Figure 2a, un schéma montant Pl'organisation des échantillons d'entrée dans les différentes mémoires du dispositif suivant l'invention, pour un exemple de traitement numérique dont les étapes successives sont montrées  tent: - Figure 1, a diagram showing the organization of the input samples in the different memories of the device according to the invention. FIG. 2a, a rising diagram Plorganization of the input samples in the various memories of the device according to the invention, for an example of digital processing of which the successive steps are shown

sur la figure 2b.in Figure 2b.

- Figure 3, un schéma synoptique du dispositif suivant l'invention, selon  FIG. 3, a block diagram of the device according to the invention, according to

un premier mode de réalisation.a first embodiment.

- Figure 4, un schéma synoptique du dispositif suivant l'invention, selon  - Figure 4, a block diagram of the device according to the invention, according to

un second mode de réalisation.a second embodiment.

- Figure 5, un schéma illustrant la méthode de lecture des échantillons  - Figure 5, a diagram illustrating the method of reading samples

d'entrée mémorisés.memorized input.

- Figures 6a et 6b, des organigrammes montrant les différentes étapes  - Figures 6a and 6b, flowcharts showing the different steps

du calcul d'adresse de lecture des échantillons d'entrée mémorisés.  the read address calculation of the stored input samples.

- Figure 7, un schéma montrant les moyens d'échange avec le milieu  FIG. 7, a diagram showing the means of exchange with the medium

extérieur du dispositif suivant Pinvention.  exterior of the device according to the invention.

Les mêmes éléments représentés sur des figures différentes portent  The same elements represented in different figures

des références identiques.identical references.

A titre d'exemple, la figure 1 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 mémoire de chaque opérateur on délimite un ensemble de B zones adjacentes, chaque zone étant appelée segment, ayant chacun une  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 N-1). In the memory of each operator is delimited a set of B adjacent zones, each zone being called segment, each having a

même capacité égale à S mots, et destinés au stockage des échantillons.  same capacity equal to S words, and intended for storing samples.

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  In each of the N memories, this set of B segments starts at the same origin address, and is called a set of N segments

délimités par des adresses identiques et appartenant à des opérateurs dis-  delimited by identical addresses and belonging to operators

tincts.tincts.

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 0 à N-l) , b le numéro de bande (b pouvant prendre les valeurs 0 à fiB-1) et s désigne l'adresse. relative de l'échantillon dans le segment déterminé par le couple  The location of a sample in the N memories is then defined by the coordinates (b, n, s) the operator number in which this sample is stored, (n being able to take the values 0 to Nl), b the band number (b can take the values 0 to fiB-1) and s is the address. relative of the sample in the segment determined by the couple

(b,n), (s pouvant prendre les valeurs 0 à S-1).  (b, n), (s can take the values 0 to S-1).

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 (b,n,s) est 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-I de la façon suivante: s (t) = s (t-l) + I (modulo S) si s (t) = 0, n (t) = n (t-l) + 1 (modulo N) si s (t) i O, n (t) = (t-l) sin (t) = 0 et s (t)= O,b (t) = b (t-l) + I (modulo B) si n(t)t0ets(t)t0,b(t)=b(t-1) On explique maintenant avec un exemple en relation avec la figure 1,  In the memories thus organized, the input samples are stored sequentially, ie only one of the variables (b, n, s) is incremented each time, the variable s varying most rapidly and the variable b varying the least quickly. In other words, the coordinates (b (t), n (t), s (t)) of the sample X (i) written at a time t are deduced from the coordinates (b (tl), n (tl ), s (tl)) of the sample X (i-1) written at time tI as follows: s (t) = s (tl) + I (modulo S) if s (t) = 0 , n (t) = n (tl) + 1 (modulo N) if s (t) i O, n (t) = (tl) sin (t) = 0 and s (t) = O, b (t) = b (tl) + I (modulo B) if n (t) t0ets (t) t0, b (t) = b (t-1) We now explain with an example in relation with figure 1,

le mode d'écriture des échantillons d'entrée dans les mémoires ainsi organi-  the mode of writing the input samples into the memories thus organi-

sées. On désigne par f+l le nombre d'échantillons d'entrée X nécessaires à l'obtention d'un échantillon de sortie Y et on considère à titre d'exemple les  Sees. The number of input samples X necessary to obtain an output sample Y is denoted by f + 1 and the following are considered by way of example:

valeurssuivantesdeN, B,Setf:N=4,B =2,S=3etf=3.  following values of N, B, Setf: N = 4, B = 2, S = 3 and 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 temps appelée récurrence (notée R), égale à NS Tech (soit 12 Tech), o Tech est l'intervalle de temps entre deux échantillons d'entrée successifs - (ou période d'échantillonnage), les échantillons d'entrée X(3) à X(14) ayant été  We are interested in the acquisition of NS (equal to 12) input samples X (i) (where i is an index that increments at each sampling period), for example X (15) to X (26). ), this acquisition being spread over a period of time called recurrence (rated R), equal to NS Tech (ie 12 Tech), where Tech is the time interval between two successive input samples - (or period of time) sampling), the input samples X (3) to X (14) having been

acquis lors de la récurrence précédente R-1, et, entre autres, les échantil-  acquired during the previous recurrence R-1, and, inter alia, the samples

lons d'entrée X(0) à X (2) lors de la récurrence R-2.  Input lasses X (0) to X (2) during recurrence R-2.

Au cours d'une même récurrence, l'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 à Tc, avec Tc < NS Tech, NS + f (soit 15) échantillons d'entrée X (0) à X (14) sont c 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  During the same recurrence, the acquisition (denoted A) of input samples and the processing (denoted T) of already acquired input samples are done simultaneously. Thus, during the recurrence R, NS (ie 12) input samples X (15) to X (26) are acquired and, during a computation time equal to Tc, with Tc <NS Tech, NS + f ( either 15) input samples X (0) to X (14) are processed. The treatment implies that additional samples are taken into account because it is exerted on sequences of f + 1

échantillons d'entrée.input samples.

La zone de mémoire contenant les échantillons d'entrée nécessaires au traitement pendant une récurrence occupe donc NS + f mots. Du fait qu'un même échantillon d'entrée est utilisé plusieurs fois au cours du temps de calcul Tc 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 Tc à l'intérieur de cette récurrence. Les échantillons acquis doivent donc être stockés, dans le cas de deux bandes, dans la zone  The memory area containing the input samples required for processing during a recurrence therefore occupies NS + f words. Since the same input sample is used several times during the calculation time Tc to obtain several output samples, this area must be prohibited when writing any new input sample during the time calculation Tc within this recurrence. Acquired samples must therefore be stored, in the case of two bands, in the area

disponible de capacité 2NS-(NS+f) échantillons, c'est à dire NS-f échantil-  available of capacity 2NS- (NS + f) samples, ie NS-f sample

lons. Ainsi deux bandes suffisent à condition que l'on ait Tc < (NS-f) Tech.  lons. Thus two bands are sufficient provided that we have Tc <(NS-f) Tech.

cc

Dans Pexemple considéré, Tc est égal à 6 Tech et (NS-f) Tech à 9 Tech.  In the example considered, Tc is equal to 6 Tech and (NS-f) Tech to 9 Tech.

Sur la figure 1 on a représenté un exemple de localisation de 2 NS + f échantillons d'entrée X (0) à X (26) (désignés par leurs indices 0 à 26) dans les 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 échantillons X(0), X(1) et X(2) acquis lors de la récurrence R-2 ont par exemple pour coordonnées (1,2,1) (1,2,2) et (1,3,0), et les échantillons X(3) à X (14) acquis lors de la récurrence R-1 (3, 1, 1) à (3, 0, 0). On a représenté ces échantillons avec des hâchures inclinées dans un premier sens (à l'exception des échantillons X (12) à X (14) que l'on a représenté avec des hâchures verticales car ils correspondent aux f échantillons supplémentaires évoqués précédemment) pour-indiquer que ce sont des échantillons qui sont conserves d'une récurrence à la suivante. Les échantillons X(0) à X(14) sont ceux traités pendant le temps de calcul T au cours de la récurrence R. On attribue alors aux échantillons X (15) à X (26) acquis au cours de la 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  FIG. 1 shows an example of the location of 2 NS + f input samples X (0) to X (26) (denoted by their indices 0 to 26) in the various memories during the recurrence R, d on the one hand with regard to the processing T of NS + f input samples X (0) to X (14), on the other hand with regard to the acquisition A of NS input samples X (15) to X (26) during this same recurrence. The samples X (0), X (1) and X (2) acquired during the recurrence R-2 have, for example, coordinates (1,2,1) (1,2,2) and (1,3,0 ), and the samples X (3) to X (14) acquired during the recurrence R-1 (3, 1, 1) to (3, 0, 0). These samples are shown with one-way sloped ruts (except for samples X (12) to X (14) which have been shown with vertical ruptures as they correspond to the additional samples mentioned previously) for -indicate that they are samples that are preserved from one recurrence to the next. The samples X (0) to X (14) are those processed during computation time T during recurrence R. X (15) to X (26) acquired during recurrence R are then assigned to as they arrived, the coordinates (0,3,1) to (1,3,0). Samples X (21) to X (26) are represented with hatches inclined in a second direction to indicate that they are samples

acquis au cours de la récurrence considérée en dehors du temps de calcul Tc.  acquired during the recurrence considered outside the calculation time Tc.

On a représenté les échantillons X(15) à X (20) avec un quadrillage pour indiquer que leur acquisition se fait simultanément avec le traitement (Tc)  Samples X (15) to X (20) are represented with a grid to indicate that their acquisition is done simultaneously with the treatment (Tc)

des échantillons acquis lors des récurrences précédentes.  samples acquired during previous recurrences.

Suivant le même principe on a également représenté sur la figure 1 la localisation des échantillons d'entrée X(12) à X(38) dans les différentes mémoires au cours de la récurrence R+l On explique maintenant, en relation avec les figures 2a et 2b, le mode de lecture des mémoires ainsi organisées, en l'illustrant à l'aide d'un exemple  According to the same principle, the location of the input samples X (12) to X (38) in the various memories during the recurrence R + 1 is also represented in FIG. 1. Now, with reference to FIGS. and 2b, the reading mode of the memories thus organized, illustrating it with the help of an example

de traitement correspondant à un filtrage numérique de type transversal.  processing corresponding to a cross-type digital filtering.

La transformation réalisant le filtrage de type transversal est définie par la relation: f Y(n) = C. X (n-j) j=O o Y(n) désigne l'échantillon de sortie obtenu à partir de f+l échantillons d'entrée X(n-j) en leur appliquant respectivement des coefficients C. Pour illustrer cet exemple, on choisit un nombre de coefficients f+l égal à 4, un nombre d'opérateurs N égal à 4, un nombre de bandes B égal à 3, et un  The transformation performing the cross-type filtering is defined by the relation: f Y (n) = C. X (nj) j = O where Y (n) denotes the output sample obtained from f + 1 samples. input X (nj) by applying respectively coefficients C. To illustrate this example, we choose a number of coefficients f + 1 equal to 4, a number of operators N equal to 4, a number of bands B equal to 3, and one

nombre d'échantillons par segment S égal à 4.  number of samples per segment S equal to 4.

On suppose que le dispositif a préalablement acquis des échantillons d'entrée X(i), par exemple X(0) à X(44), dont la répartition dans les différentes mémoires est montrée sur la figure 2a, et on décrit le calcul des  It is assumed that the device has previously acquired input samples X (i), for example X (0) to X (44), whose distribution in the different memories is shown in FIG. 2a, and the calculation of the

échantillons de sortie Y(i).Y (i) output samples.

Les transformations élémentaires effectuées pour cela sont réperto-  The elementary transformations performed for this purpose are

rié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  2b o, on the abscissa, each column represents a different operator while the ordinate is the machine time graduated in

cycles de calcul, et la colonne de gauche indique la transformation élémen-  calculation cycles, and the left column indicates the basic transformation

taire effectuée simultanément par les quatre opérateurs pour les échantil-  carried out simultaneously by the four operators for the samples

lons d'entrée X(i) repérés par leur seul numéro iL On appelle échantillon pilote, de coordonnées (bp, np, sp), relativement à un cycle de calcul donné, l'échantillon X (i) le plus âgé (c'est-à dire ayant l'indice i le plus faible) de tous ceux traités simultanément par les différents  Input samples X (i) identified by their single number iL A pilot sample with coordinates (bp, np, sp), relative to a given calculation cycle, is the oldest sample X (i) (c '). that is, having the lowest index i) of all those simultaneously processed by the different

opérateurs pendant ce cycle de calcul.  operators during this calculation cycle.

Au début du calcul (instant t0) les échantillons de départ X(10), X(14), X(18) et X(22), distants chacun de 5 = 4 périodes d'échantillonnage, sont lus simultanément, respectivement par les opérateurs de numéros 2, 3, 0 et 1,  At the beginning of the computation (instant t0) the starting samples X (10), X (14), X (18) and X (22), each separated by 5 = 4 sampling periods, are read simultaneously, respectively by the operators of numbers 2, 3, 0 and 1,

réchantillon pilote étant alors X{10) de coordonnées (0, 2, 2). Les échantil-  pilot sample being then X {10) of coordinates (0, 2, 2). Samples

lons X(10) et X(14), localisés tous les deux dans la bande de numéro 0, sont lus avec une même adresse Ap, appelée adresse pilote par référence à léchantillon pilote X{O10) 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 Ac appelée adresse copilote. Dans les unités de calcul, ces quatre échantillons sont multipliés simultanément par  lons X (10) and X (14), both located in the band of number 0, are read with the same address Ap, called pilot address by reference to the pilot sample X {O10) which is located in this band, then that the samples X (18) and X (22), both located in the band of number 1, are read with the same address Ac called the co-pilot address. In the calculation units, these four samples are multiplied simultaneously by

le coefficient approprié C3 envoyé par le séquenceur.  the appropriate coefficient C3 sent by the sequencer.

On fait de même au cours du cycle de calcul suivant avec les échantillons X(11), X(15), X(19) et X(23) qui sont multipliés par C2,  The same is done during the following calculation cycle with samples X (11), X (15), X (19) and X (23) which are multiplied by C2,

léchantillon pilote étant alors X(11).  the pilot sample being X (11).

A cette étape du traitement, les calculs commencés dans chacun des opérateurs ne peuvent s'y terminer, faute davoir tous les échantillons nécessaires dans cet opérateur. Le calcul se poursuit alors dans l'opérateur adjacent qui dispose de la suite des échantillons opérandes nécessaires. Pour cela les résultats intermédiaires obtenus dans chaque unité de calcul sont transférés vers l'unité de calcul acdjacente: il y a quatre échanges effectués au même instant. Ainsi C3 X(10) + C2 X(11) est transféré de l'unité de calcul  At this stage of the processing, the calculations started in each of the operators can not finish there, for want to have all the necessary samples in this operator. The calculation then continues in the adjacent operator who has the following samples of operands required. For this purpose, the intermediate results obtained in each calculation unit are transferred to the computation unit adjoining: there are four exchanges made at the same time. Thus C3 X (10) + C2 X (11) is transferred from the computation unit

de l'opérateur 2 à l'unité de calcul de lopérateur 3.  from the operator 2 to the calculator unit of the operator 3.

De manière générale, Popérateur n dans lequel un calcul ne peut être terminé transmet son résultat partiel à lopérateur adjacent n + 1 (modulo N) qui soit termine, c'est le cas pour f<S, soit transmet à l'opérateur adjacent n+2 (modulo N) (dest le cas pour f> S) jusqu'à épuisement des f+ l échantillons. A chaque transit dans l'opérateur adjacent, l'adresse de lecture  In general, the operator n in which a calculation can not be completed transmits its partial result to the adjacent operator n + 1 (modulo N) which is terminated, this is the case for f <S, or is transmitted to the adjacent operator n +2 (modulo N) (for the case for f> S) until exhaustion of f + 1 samples. With each transit in the adjacent operator, the read address

repasse par la valeur qui désigne l'échantillon de début de segment.  returns by the value which designates the sample of beginning of segment.

Les calculs continuent jusqu'à l'obtenticn au même instant des quatre résultats de corrélation Y{13), Y{17), Y(21) et Y(25) qui, comme le montre la figure 2a, sont rangés dans une zone de mémoire de l'opérateur qui achève le  Calculations continue until the same moment of the four correlation results Y (13), Y (17), Y (21) and Y (25) which, as shown in FIG. 2a, are arranged in an area memory of the operator who completes the

calcul, ce qui présente lavantage de minimiser le temps de calcul.  calculation, which has the advantage of minimizing the calculation time.

Les calculs se poursuivent en prenant comme échantillons de départ les échantillons X( 1), X(1 5), X(1 9) et X(23), l'échantillon pilote étant alors X(11). Suivant le même processus que précédemment, on obtient dans le  Calculations are continued by taking as samples the samples X (1), X (1 5), X (1 9) and X (23), the pilot sample being X (11). Following the same process as before, we get in the

mêmne temps de calcul Tc quatre résultats Y(14), Y(iS), Y(22) et Y (26).  same calculation time Tc four results Y (14), Y (iS), Y (22) and Y (26).

A linstant t1 on a calculé NS, soit 16, échantillons de sortie Y(13) à Y(28), car les échantillons de départ (X(10), X(11), X(12) etc...) sont distants dune 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 de sortie Y. k Pour calculer l'échantillon suivant Y (29), il faut disposer des échantil- lons X(26) à X(29), dcest à 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 dadresses qu'à l'instant to avec un décalage d'une bande. A cet instant tl, il y a 16 échantillons qui ne serviront plus et  At the moment t1, NS, ie 16, output samples Y (13) to Y (28) have been calculated, since the starting samples (X (10), X (11), X (12), etc.) are distant from a sampling period. More generally, if the starting samples were separated by k samples, we would obtain NS samples of output Y. k To calculate the following sample Y (29), we need X (26) to X ( 29), ie 3 previously used samples (f = 3) plus one new sample. The oldest sample is X (26) and we find the same configuration of addresses as at time to with a shift of a band. At that moment, there are 16 samples that will no longer be used and

qui peuvent être remplacés par de nouveaux échantillons.  which can be replaced by new samples.

Cet exemple de traitement numérique de signal a permis de mieux faire apparaître le principe de invention. En traitement de signal, la  This example of digital signal processing has made it possible to better show the principle of invention. In signal processing, the

stationnarité des algorithmes est génératrice de parallélisme temporel.  Stationarity of the algorithms is generating temporal parallelism.

Suivant linvention, ce parallélisme temporel est mis à profit de la manière suivante: pourvu que l'on ait préalablement acquis une tranche suffisante d'échantillons opérandes, plusieurs traitements peuvent ensuite être menés  According to the invention, this temporal parallelism is exploited in the following manner: provided that a sufficient slice of operand samples has previously been acquired, several treatments can then be carried out

en parallèle en exécutant sumultanément les mêmes transformations élé-  in parallel while performing the same transformations

mentaires sur des lots d'échantillons correspondants à des prises équidistan-  sample lots corresponding to equidistant

tes le long de la tranche acquise.along the acquired slice.

La mise à profit de ce parallélisme demande un aménagement de la structure multiopérateurs que lon explique maintenant en relation avec la figure 3 représentant la structure du dispositif suivant un premier mode de  The advantage of this parallelism requires an arrangement of the multi-operator structure that is now explained in relation to FIG. 3 representing the structure of the device according to a first embodiment of FIG.

réalisation de linvention.realization of the invention.

Comme dans le cas de la structure multiopérateurs ce dispositif comporte un séquenceur 1 unique qui commande identiquement N opérateurs à 2N1 comportant chacun une unité de calcul (30 à 3N 1) et une mémoire (40 a 4N -1)'  As in the case of the multi-operator structure, this device comprises a single sequencer 1 which identically controls N operators at 2N1 each comprising a computing unit (30 to 3N 1) and a memory (40 to 4N -1).

Suivant l'invention, la zone de mémoire réservée au stockage d'échan-  According to the invention, the memory area reserved for the storage of

tillons est organisée en bandes et en segments comme on la vu précédem-  is organized into bands and segments as we have seen

ment, et, suivant ce premier mode de réalisation, le séquenceur 1 fournit à chaque instant, défini par le cycle mémoire, deux adresses de lecture: une adresse pilote Ap pour l'accès à la bande bp contenant l'échantillon pilote relativement à ce cycle mémoire, et une adresse copilote Ac pour l'accès à la bande adjacente bp+l (modulo B), ainsi que le numéro d'opérateur np dans  According to this first embodiment, the sequencer 1 provides at each instant, defined by the memory cycle, two read addresses: a pilot address Ap for access to the band bp containing the pilot sample relative to this memory cycle, and a co-converter address Ac for access to the adjacent band bp + 1 (modulo B), as well as the operator number np in

lequel est stocké léchantillon pilote.  which is stored the pilot sample.

Chaque opérateur 2n comporte un comparateur (50 à 5N_1) qui reçoit le numéro d'opérateur pilote n et son propre numéro n, et qui fournit un p signal de commande à un sélecteur d'adresse 6n permettant d'envoyer vers la mémoire 4n de lopérateur auquel il appartient une adresse Ad égale, soit à l'adresse pilote A (si n > np), soit à l'adresse copilote A (si n < np). Outre p fp) c p les adresses pilote et copilote Ap et Ac et le numéro np, le séquenceur 1 génère le code opératoire pour gérer les unités de calcul 3n et l'accès aux mémoires 4n, ainsi que les coefficients nécessaires au traitement. Les N unités de calcul 30 à 3N-1 communiquent entre elles par l'intermédiaire d'un  Each operator 2n comprises a comparator (50 to 5N_1) which receives the pilot operator number n and its own number n, and which provides a control signal p to an address selector 6n making it possible to send to the memory 4n of the operator to which he belongs an address Ad equal, either to the pilot address A (if n> np) or to the co-pilot address A (if n <np). In addition to the pilot and co-pilot addresses Ap and Ac and the number np, the sequencer 1 generates the operating code for managing the calculation units 3n and the access to the memories 4n, as well as the coefficients necessary for the processing. The N calculation units 30 to 3N-1 communicate with each other via a

bus en anneau 7.bus ring 7.

Les unités de calcul 3n comportent les circuits 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 élémentaires et de tests agencés de manière à effectuer les algorithmes nécessaires au traitement (algorithme de FFT, de traitement d'image par  The calculation units 3n comprise the appropriate circuits making it possible to implement the processing of the samples, whether real or complex. These circuits consist of specialized sets of elementary operators and tests arranged so as to perform the algorithms necessary for the processing (FFT algorithm, image processing by

exemple).example).

Le calcul des adresses A et Ac n'est pas exécuté séquentiellement car p- c sinon sa durée serait incompatible avec le débit nécessaire au niveau des  The computation of the A and Ac addresses is not carried out sequentially because otherwise its duration would be incompatible with the necessary flow at the level of

mémoires des opérateurs.memories of the operators.

Ce calcul se décompose en deux phases effectuées par deux circuits distincts: une phase de calcul en relatif, effectuée par un circuit appelé séquenceur maître, et une phase de calcul en absolu, effectuée par un circuit appelé séquenceur esclave. La phase de calcul en absolu pour un accès mémoire donné se fait en parallèle avec la phase de calcul en relatif  This calculation is divided into two phases performed by two separate circuits: a relative calculation phase, performed by a circuit called master sequencer, and an absolute calculation phase, performed by a circuit called slave sequencer. The absolute calculation phase for a given memory access is done in parallel with the calculation phase in relative

de l'accès mémoire suivant.the next memory access.

Le calcul en relatif consiste à calculer les coordonnées (bp, np, sp) de réchantillon pilote. Le calcul se fait par incrémentation connaissant le  The relative calculation consists of calculating the coordinates (bp, np, sp) of the pilot sample. The calculation is done by incrementation knowing the

nombre INC d'échantillons séparant deux échantillons pilotes successifs.  number INC of samples separating two successive pilot samples.

Si (bp(t), np(t), s (t) désignent les coordonnées de l'échantillon pilote relati-  If (bp (t), np (t), s (t) denote the coordinates of the relative pilot sample

p p p vement à un cycle de calcul se produisant à un instant t, (bp (t+l), np(t+l), sp(tI+l) les coordonnées de l'échantillon pilote relativement au cycle de  p to a computation cycle occurring at a time t, (bp (t + 1), np (t + 1), sp (t I + 1) the coordinates of the pilot sample relative to the cycle of

calcul suivant se produisant à l'instant t+l, et INC(t+I) le nombre d'échantil-  following calculation occurring at time t + 1, and INC (t + I) the number of samples

Ions séparant ces deux échantillons pilote, on a: I1 s (t+Il) = sp (t) + INC (t+l 1) (modulo S) sp(t) + INC (t+l)- s (t+l) c P P  Separating these two pilot samples, we have: I1 s (t + Il) = sp (t) + INC (t + 1) (modulo S) sp (t) + INC (t + 1) - s (t + l) c PP

C1 = SC1 = S

np(t+l) = np(t) + C1 (modulo N) np(t) + C1 - np(t+l)  np (t + 1) = np (t) + C1 (modulo N) np (t) + C1 - np (t + 1)

G2 = NG2 = N

bp(t+l) = bp(t) + C2 (modulo B) Dans la réalisation, on effectue des tests suivant l'organigramme de la figure 6a. Dans rexemple de traitement décrit précédemment, INC était  bp (t + 1) = bp (t) + C2 (modulo B) In the embodiment, tests are carried out according to the flowchart of FIG. 6a. In the example of treatment described above, INC was

constant et égal à 1.constant and equal to 1.

Le calcul en absolu consiste à calculer les adresses pilote et copilote Ap(t) et Ac(t) à un instant t, connaissant les adresses origine AINF (t) et ASUp(t) de deux bandes adjacentes dans lesquelles la zone traitée à cet instant t est à cheval, en utilisant les relations suivantes: A p(t) = AINF(t) + sp(t) Ac(t) =ASup(t) + sp(t) o AINF(t) et Asup,(t) dépendent de bp (t) et sp (t) désigne l'adresse relative 0 de l'échantillon pilote à cet instant t dans le segment auquel il appartient dans la zone traitée, et o ASUp(t) est égal à A1NF(t) + S (S étant le nombre  The absolute calculation consists in calculating the pilot and co-pilot addresses Ap (t) and Ac (t) at a time t, knowing the origin addresses AINF (t) and ASUp (t) of two adjacent bands in which the zone treated at this time. moment t is on horseback, using the following relations: A p (t) = AINF (t) + sp (t) Ac (t) = ASup (t) + sp (t) o AINF (t) and Asup, ( t) depend on bp (t) and sp (t) designates the relative address 0 of the pilot sample at this instant t in the segment to which it belongs in the treated area, and o ASUp (t) is equal to A1NF ( t) + S (S being the number

d'échantillons par segment).samples per segment).

Chaque fois que l'échantillon pilote rentre dans mune nouvelle bande, le séquenceur esclave ajoute S aux valeurs de AINF et ASup. Le séquenceur esclave reçoit par ailleurs la valeur de l'adresse origine ORG de la zone de stockage des échantillons dentrée pour le recalage de AiNF et ASup lorsque  Each time the pilot sample enters a new band, the slave sequencer adds S to the values of AINF and ASup. The slave sequencer also receives the value of the ORG origin address of the input sample storage area for the registration of AiNF and ASup when

Péchantillon pilote passe de la bande B-1 à la bande 0.  The pilot sample goes from band B-1 to band 0.

La signification concrète des variables A c Ap, AINF, Asup, sp et ORG apparatt sur la figure 5 o lon a représenté, à titre dexemple, la zone  The concrete significance of the variables A c Ap, AINF, Asup, sp and ORG appears in FIG. 5 which represents, for example, the area

de stockage des échantillons dentrée dans les rnmémoires de quatre opéra-  storage of samples for entry into the records of four opera-

teurs, et o la zone traitée, à cheval sur deux bandes successives, est  the treated area, straddling two successive bands, is

repérée à raide de hachures.spotted with hatching.

Sur l'organigramme de la figure 6b, on a montré les opérations  On the flowchart in Figure 6b, the operations have been shown

effectuées par le séequenceur esclave.  performed by the slave sequencer.

Le séquenceur maitre et le séquenceur esclave sont par exemple réalisés au moyen d'une unité de calcul associée à une mémoire vive  The master sequencer and the slave sequencer are for example made by means of a calculation unit associated with a random access memory

téléchargeable contenant les instructions permettant d'effectuer les opéra-  downloadable document containing the instructions for carrying out the opera-

tions mentionnées sur cet organigramme.  mentioned in this chart.

Dans la variante de réalisation représentée sur la figure 4, le calcul des adresses Ac et Ap 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  In the variant embodiment shown in FIG. 4, the calculation of the addresses Ac and Ap is done in a decentralized manner in each of the operators, whereas in the case of FIG.

manière centralisée dans le séquenceur esclave.  centrally in the slave sequencer.

Cette variante présente par rapport à celle décrite précédemment davantage 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 np et s p de réchantillon pilote, ainsi qu'une commande CA de calcul d'adresse. En revanche, chaque opérateur comporte outre le comparateur 5n' un circuit de calcul dadresse 8n fournissant t'adresse de lecture (Ap ou Ac) à la mémoire 4n. Pour chaque cycle de calcul, les circuits 8n exécutent, avec le n séquenceur 1, les opérations qui sont indiquées sur les organigrammes des  This variant has compared to that described above to reduce the number of connections between the sequencer and the operators. The sequencer 1 is simplified and provides the coordinates np and s p of the pilot sample, as well as an address calculation command CA. On the other hand, each operator comprises, besides the comparator 5n ', an address calculation circuit 8n providing the reading address (Ap or Ac) to the memory 4n. For each calculation cycle, the circuits 8n execute, with the n sequencer 1, the operations which are indicated on the flowcharts of the

figures 6a et 6b.Figures 6a and 6b.

Chaque circuit 8 est par exemple réalisé au moyen d'une unité de  Each circuit 8 is for example realized by means of a unit of

calcul.calculation.

La structure du dispositif suivant l'invention se différencie également de la structure des'dispositifs multiopérateurs par les moyens permettant les échanges avec Pextérieur, dest à dire l'acquisition des échantillons dentrée et la restitution des échantillons de sortie. En particulier l'acquisition permet dobtenir Pl'organisation des échantillons en mémoire, en segments et  The structure of the device according to the invention is also different from the structure of the multi-operator devices by the means allowing the exchanges with the outside, ie the acquisition of the input samples and the return of the output samples. In particular, the acquisition makes it possible to obtain the organization of the samples in memory, in segments and

en bandes.in strips.

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 à 2N, et permettant de remplir continuellement dans le temps la zone de mémoire réservée au stockage des échantillons d'entrée et de vider la zone de mémoire réservée au stockage d'échantillons de sortie. Les mécanismes contrOlant ladressage et les commande de lecture et décriture sont du type connu ADM (Accès Direct Mémoire) de manière à rendre indépendants le déroulement desprogrammes et les échanges avec le milieu extérieur. Les liaisons entre le canal 10 et les mémoires 40 à 4N-1 se font au travers d'amplificateurs bidirectionnels 1l0 à ilN-I' Le canal 10 est partagé par deux contrôleurs ADM 12 et 13, un d'entrée et un de sortie, qui fournissent respectivement radresse d'écriture  The means of exchange with the outside, represented in FIG. 7, comprise, according to a first embodiment, a channel 10, referred to as the "word-to-word" input-output channel, connecting the operators 20 to 2N, and making it possible to fill the memory area reserved for the storage of the input samples continuously over time and to empty the memory area reserved for the storage of output samples. The mechanisms controlling the addressing and the reading and writing commands are of the known ADM type (Direct Memory Access) so as to make the running of the programs and the exchanges with the external medium independent. The links between the channel 10 and the memories 40 to 4N-1 are via bidirectional amplifiers 110 to 110. The channel 10 is shared by two ADM controllers 12 and 13, one input and one output, which respectively provide write frenzy

des échantillons d'entrée et l'adresse de lecture des échantillons de sortie.  input samples and the read address of the output samples.

Ces adresses sont obtenues par incrémentations successives pour tenir compte de la disposition séquentielle des échantillons dentrée et de sortie qui s'effectue comme cela a été vu précédemment selon trois niveaux:  These addresses are obtained in successive increments to take into account the sequential layout of the input and output samples which is carried out as previously seen according to three levels:

bandes, segments et opérateurs.bands, segments and operators.

En mode "mot à mot", les échanges mémoire-milieu extérieur sont  In "word-by-word" mode, the external memory-environment exchanges are

sélectifs: seul ?opérateur désigné effectue un cycle mémoire.  selective: only? designated operator performs a memory cycle.

Cependant, pour traiter naturellement une application de traitement  However, to naturally treat a treatment application

de signal mettant en oeuvre des tâches identiques, les échanges mémoire-  signal implementing identical tasks, memory exchanges

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 "dentrée-sortie parallèle" particulier (140 à 14N 1), les liaisons entre canaux et opérateurs se faisant aussi au travers  external environment can also be done in "parallel" mode. The acquisition and the restitution are then made simultaneously in all the operators, each having a particular "parallel input-output" channel (140 to 14N 1), the links between channels and operators also being made through

damplificateurs bidirectionnels (150 à 15Nl).  bidirectional amplifiers (150 to 15Nl).

Ces deux modes de réalisation ont été représentés sur la figure 7, la sélection entre les deux s'effectuant par l'intermédiaire de sélecteurs de mode 160 à 16N-1 sélectionnant lune des deux séries damplificateurs bidirectionnels 110 à 11N-1 et 150 à 15N-1 - Le dispositif n'est pas modifié par le type d'échantillons ou de traitement effectués. En particulier le type de traitement peut être du  These two embodiments have been represented in FIG. 7, the selection between the two being effected by means of mode selectors 160 to 16N-1 selecting one of the two bidirectional amplifier sets 110 to 11N-1 and 150 to 15N. -1 - The device is not modified by the type of samples or treatment performed. In particular, the type of treatment may be

traitement dimage.-image processing.-

Claims (8)

REVENDICATIONS 1. Dispositif de traitement numérique de signal, comportant des moyens  1. Digital signal processing device comprising means dacquisition d'échantillons du signal à traiter, N opérateurs (2n) qui compor-  acquisition of samples of the signal to be processed, N operators (2n) which tent chacun une unité de calcul (3n) et une mémoire (4 n) contenant n n notamment les échantillons du signal à traiter, un séquenceur (1) qui commande identiquement les N opérateurs, des moyens d'adressage en écriture et des moyens dadressage en lecture des N mémoires, les N unités de calcul communiquant entre elles par un bus en anneau (7), caractérisé en ce que chacune des N mémoires (3n) comporte une zone réservée au stockage d'échantillons dentrée organisée en B segments (numérotés de 0 à B-I) 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, ladresse dun échantillon dans la zone de mémoire ainsi obtenue pour les N opérateurs étant alors définie par les coordonnées (b, n, s) o n désigne le 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-1), et en ce que les moyens dadressage en écriture des N mémoires comportent des moyens (10, 11n, 12, 13) 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  each of them comprises a computing unit (3n) and a memory (4n) containing nn in particular the samples of the signal to be processed, a sequencer (1) which identically controls the N operators, write addressing means and addressing means in reading of the N memories, the N calculation units communicating with each other via a ring bus (7), characterized in that each of the N memories (3n) comprises a zone reserved for the storage of input samples organized in B segments (numbered from 0 to BI) each containing S samples, N segments of the same number b (b taking the values 0 to B1) of the N memories being delimited by identical addresses and forming a band of number b, the address of a sample in the memory area and obtained for the N operators being then defined by the coordinates (b, n, s) we denote the operator number (n taking the values 0 to Nl), b the band number and s the relative address of this sample in the segment determined by the pair (b, n) (s taking the values from 0 to S-1), and in that the write addressing means of the N memories comprise means (10, 11n, 12, 13) for ensuring a sequential storage of the samples of the signal to be processed, as and when they arrive, in the memory zone thus obtained, according to priorities d'écriture croissantes, par adresse à l'intérieur d'un segment, numéro d'opé-  increasing writing, by address within a segment, operation number - rateur, et numéro de bande.- rator, and band number. 2. Dispositif suivant la revendication 1, caractérisé en ce que les moyens dadressage en lecture des N mémoires comportent des moyens (1 ou 1, 8n) pour fournir, à chaque accès mémoire commandé par le séquenceur (1), deux adresses de lecture à chacune des N mémoires: Ap = AiNF + Sp et Ac = A SUP + Sp et en ce que chaque opérateur (2n) de numéro n comporte des moyens (Sn, 6n ou 5n, 8n) pour choisir Ap si nest supérieur ou égal à np, ou Ac sin est inférieur à np, o AINF et ASUP désignent les adresses origine de deux bandes adjacentes de numéros bp et bp + 1 et o (bp, np, s p) désignent les  2. Device according to claim 1, characterized in that the means for reading addressing N memories comprise means (1 or 1, 8n) for providing, at each memory access controlled by the sequencer (1), two read addresses to each of the N memories: Ap = AiNF + Sp and Ac = A SUP + Sp and in that each operator (2n) of number n has means (Sn, 6n or 5n, 8n) for choosing Ap if nest greater than or equal to np, where Ac sin is less than np, where AINF and ASUP designate the origin addresses of two adjacent bands of numbers bp and bp + 1 and o (bp, np, sp) denote the coordonnées de l'échantillon pilote relativement à l'accès mémoire consi-  coordinates of the pilot sample for the memory access déré,ou échantillon acquis depuis le plus de temps parmi les N échantillons  dere or sample acquired for the most time among the N samples lus dans les N opérateurs pendant ?accès mémoire considéré.  read in N operators during memory access considered. 3. Dispositif suivant la revendication 2, caractérisé en ce que les moyens pour fournir les adresses A et Ac comportent des moyens pour calculer à chaque accès mémoire, les coordonnées de l'échantillon pilote relatif à  3. Device according to claim 2, characterized in that the means for providing the addresses A and Ac comprise means for calculating at each memory access, the coordinates of the pilot sample relating to Paccès mémoire suivant, par incrémentation des coordonnées de l'échan-  Next memory access, by incrementing the coordinates of the sample tillon pilate relatif à l'accès mémoire actuel dun nombre égal au nombre d'échantillons séparant deux échantillons successifs utiles à un même  pilate relative to the current memory access of a number equal to the number of samples separating two successive samples useful to the same traitem ent.treatment. 4. Dispositif suivant l'une des revendications 2 et 3, caractérisé en ce que  4. Device according to one of claims 2 and 3, characterized in that les moyens pour fournir les adresses A et Ac comportent des moyens (1 ou 1,8n) pour calculer à chaque accès memoire les adresses origine AINF(t+l) et Asup(t+l) de deux bandes adjacentes de numéros bp (t+l) et bp+l (t+l) SUP p p dont la bande inférieure, de numéro bp (t+l), contient l'échantillon pilote relatif à raccès mémoire suivant, par incrementation de Padresse origine AINF(t) relative à l'accès mémoire actuel dun nombre égal au nombre S d'échantillons par segment, si l'échantillon pilote relatif à laccès mémoire suivant change de bande par rapport à l'acccè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 de ladresse origine (ORG) de la zone réservée au stockage d'échantillons dentrée dans les N mémoires s'Él change de bande en revenant à la bande de numéro 0, ladresse origine ASUP(t+1) de la bande supérieure de numéro b + 1 (t+l) étant obtenue dans tous les cas en  the means for providing the addresses A and Ac comprise means (1 or 1.8n) for calculating at each memory access the origin addresses AINF (t + 1) and Asup (t + 1) of two adjacent bands of numbers bp (t + l) and bp + 1 (t + 1) SUP pp whose lower band, of number bp (t + 1), contains the pilot sample relating to the following memory connection, by incrementation of the source address AINF (t) relative to the current memory access of a number equal to the number S of samples per segment, if the pilot sample relating to the next memory access changes band with respect to the current memory access without however returning to the number 0 band, by conservation the origin address AINF (t) if it does not change band with respect to the current memory access, or by assigning the origin address (ORG) of the area reserved for storing input samples in the N memories El changes band when returning to the band of number 0, address origin ASUP (t + 1) of the upper band of number b + 1 (t + 1) being obtained in all cases in PP ajoutant le nombre S d'échantillons par segment à ladresse origine  adding the number S of samples per segment to the origin address AiNF(t+ 1). -AiNF (t + 1). - 5. Dispositif selon l'une des revendications 2, 3 et 4, caractérisé en ce  5. Device according to one of claims 2, 3 and 4, characterized in that que les moyens pour fournir les adresses pilote et copilote comportent un séquenceur matre qui calcule à chaque accès mémoire les adresses pilote et sèune mi copilote pour cet accès mémoire, et un séquenceur esclave qui calcule à chaque accès mémoire les coordonnées de l'échantillon pilote relativement à Paccès mémoire suivanto  the means for providing the pilot and co-pilot addresses comprise a master sequencer which calculates at each memory access the pilot addresses and a co-pilot for this memory access, and a slave sequencer which calculates at each memory access the coordinates of the pilot sample relatively to access memory followingo 6. Dispositif suivant l'une des revendications 2 à 5, caractérisé en ce que  6. Device according to one of claims 2 to 5, characterized in that les moyens pour fournir les adresses A et A sont localisés dans le p c I6  the means for providing the addresses A and A are located in the p c I6 séquenceur (1).sequencer (1). 7. Dispositif suivant Pune des revendications 2 à 5, caractérisé en ce que  7. Device according to one of claims 2 to 5, characterized in that les moyens pour fournir les adresses Ap et Ac sont localisés pour partie {(8n)  the means for providing the Ap and Ac addresses are located for part {(8n) dans dchacun des N opérateurs.in each of the N operators. 8. Dispositif suivant l'une des revendications 1 à 7, caractérisé en ce que  8. Device according to one of claims 1 to 7, characterized in that les moyens dacquisition d'échantillons du signal à traiter comportent N canaux dentrée-sortie (14 n) reliés aux N mémoires (4 n), ce qui permet des  the means for acquiring samples of the signal to be processed comprise N input-output channels (14 n) connected to the N memories (4 n), which enables échanges mémoire-milieu extérieur en mode "parallèle'.  memory-external environment exchanges in "parallel" mode.
FR8315649A 1983-09-30 1983-09-30 DIGITAL SIGNAL PROCESSING DEVICE Expired FR2569071B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR8315649A FR2569071B1 (en) 1983-09-30 1983-09-30 DIGITAL SIGNAL PROCESSING DEVICE
GB08423616A GB2157860B (en) 1983-09-30 1984-09-18 Digitally processing a stream of signal samples
NL8402908A NL8402908A (en) 1983-09-30 1984-09-21 DEVICE FOR THE NUMERIC TREATMENT OF SIGNAL.
CA000464224A CA1227881A (en) 1983-09-30 1984-09-28 Digital signal processor
DE19843435816 DE3435816A1 (en) 1983-09-30 1984-09-28 DEVICE FOR NUMERICAL SIGNAL PROCESSING

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
FR2569071A1 true FR2569071A1 (en) 1986-02-14
FR2569071B1 FR2569071B1 (en) 1988-10-14

Family

ID=9292719

Family Applications (1)

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

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2606184A1 (en) * 1986-10-31 1988-05-06 Thomson Csf RECONFIGURABLE CALCULATION DEVICE

Families Citing this family (6)

* 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
FR2606183B1 (en) * 1986-10-31 1991-11-29 Thomson Csf DIRECT MEMORY ACCESS SEQUENCER
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
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

Citations (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

Patent Citations (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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ICL TECHNICAL JOURNAL, vol. 2, no. 2, novembre 1980, pages 191-206, Stevenage, Herts, GB; C.R. JESSHOPE: "Data routing and transpositions in processor arrays" *
PATENT ABSTRACTS OF JAPAN, vol. 7, no. 270 (P-240)[1415], 2 décembre 1983; & JP-A-58 149 555 (FUJITSU K.K.) 05-09-1983 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2606184A1 (en) * 1986-10-31 1988-05-06 Thomson Csf RECONFIGURABLE CALCULATION DEVICE
EP0272165A1 (en) * 1986-10-31 1988-06-22 Thomson-Csf Reconfigurable computing arrangement

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0322966B1 (en) Neural network circuit and structure
EP0372613B1 (en) Process for the backpropagation of errors and neuronal network structure
FR2776093A1 (en) PROGRAMMABLE PROCESSOR CIRCUIT PROVIDED WITH A RECONFIGURABLE MEMORY FOR PRODUCING A DIGITAL FILTER
FR2569071A1 (en) DIGITAL SIGNAL PROCESSING DEVICE
EP0275765B1 (en) Integrated circuit for digital signal processing
EP3084588A1 (en) Signal processing module, especially for a neural network and a neuronal circuit
FR2675969A1 (en) METHOD AND DEVICE FOR ENCODING-DECODING A DIGITAL SIGNAL
FR2634084A1 (en) INTEGRATED CIRCUIT AND IMAGE PROCESSING DEVICE
EP0312463B1 (en) Digital filter device and radar comprising such a device
FR2641631A1 (en) ASSEMBLY OF FAST REAL-TIME FOURIER TRANSFORMATION
FR2747528A1 (en) STRUCTURE OF DIGITAL FILTER BENCH DEVICE AND ITS OPERATING METHOD
EP0237382A1 (en) Digital sampled signal cosine transforming device
FR2731854A1 (en) DIGITAL FILTERING DEVICE
EP0254628A1 (en) Digital signal-processing circuit performing a cosine transform
FR2545629A1 (en) CALCULATION DEVICE FOR QUICK FOURIER TRANSFORMATION
EP0046105B1 (en) Fast digital operator device
EP0104290B1 (en) Digital processor for real time signals
EP0683462A2 (en) Procedure and processor for constructing a piecewise linear function with eventual discontinuities
WO2002084510A2 (en) Modular processor system
EP0373042B1 (en) Integrated circuit for dynamic programming
FR2719397A1 (en) Device for supplying pixels to a series of operators of a mobile image compression circuit.
EP0517218B1 (en) High throughput digital filtering process and device for performing this process
FR2505578A1 (en) DECIMATION FILTERS
FR2546352A1 (en) Method and device for processing a digitised image and their implementation in a mapping radar
FR2509477A1 (en) REAL-TIME CORRELATION DEVICE FOR SEISMIC PROSPECTION

Legal Events

Date Code Title Description
ST Notification of lapse