FR2569071A1 - DIGITAL SIGNAL PROCESSING DEVICE - Google Patents
DIGITAL SIGNAL PROCESSING DEVICE Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/8015—One 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)
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)
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)
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)
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 |
-
1983
- 1983-09-30 FR FR8315649A patent/FR2569071B1/en not_active Expired
-
1984
- 1984-09-18 GB GB08423616A patent/GB2157860B/en not_active Expired
- 1984-09-21 NL NL8402908A patent/NL8402908A/en not_active Application Discontinuation
- 1984-09-28 DE DE19843435816 patent/DE3435816A1/en not_active Ceased
- 1984-09-28 CA CA000464224A patent/CA1227881A/en not_active Expired
Patent Citations (2)
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)
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)
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 |