FR2574197A1 - DATA SEQUENCE TYPE PROCESSOR - Google Patents
DATA SEQUENCE TYPE PROCESSOR Download PDFInfo
- Publication number
- FR2574197A1 FR2574197A1 FR8518010A FR8518010A FR2574197A1 FR 2574197 A1 FR2574197 A1 FR 2574197A1 FR 8518010 A FR8518010 A FR 8518010A FR 8518010 A FR8518010 A FR 8518010A FR 2574197 A1 FR2574197 A1 FR 2574197A1
- Authority
- FR
- France
- Prior art keywords
- data
- bus
- information module
- information
- processor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
LE PROCESSEUR A SEQUENCE DE DONNEES EST UN PROCESSEUR DONT LE FONCTIONNEMENT N'EST PAS REGI PAR LE DEROULEMENT SEQUENTIEL D'UN PROGRAMME MAIS PAR LA DISPONIBILITE DES DONNEES NECESSAIRES A L'ACCOMPLISSEMENT DE FONCTIONS SPECIFIEES. IL COMPREND NOTAMMENT PLUSIEURS PROCESSEURS DE MODULE D'INFORMATION 23A-23C CONNECTES A UN BUS COMMUN 21 AUQUEL EST EGALEMENT CONNECTE UN CIRCUIT D'ARBITRAGE 32 QUI GERE L'ACCES AU BUS. LES DONNEES SONT ORGANISEES EN MODULES D'INFORMATION COMPRENANT CHACUN UNE ZONE D'ETIQUETTE ET UNE ZONE DE DONNEES D'OPERANDE, ET L'INTERCOMMUNICATION ENTRE LES DIFFERENTS PROCESSEURS DE MODULE D'INFORMATION S'EFFECTUE PAR LE TRANSFERT DE MODULES D'INFORMATION SUR LE BUS COMMUN. CHAQUE PROCESSEUR DE MODULE D'INFORMATION COMPREND UN CERTAIN NOMBRE D'UNITES DE TRAITEMENT 25A-25C EXECUTANT LES FONCTIONS EXIGEES, ET DES PROCESSEURS D'ENTREE ET DE SORTIE 30, 31.THE DATA SEQUENCE PROCESSOR IS A PROCESSOR THE OPERATION OF WHICH IS NOT GOVERNED BY THE SEQUENTIAL CONDUCT OF A PROGRAM BUT BY THE AVAILABILITY OF THE DATA NECESSARY FOR THE PERFORMANCE OF SPECIFIC FUNCTIONS. IT INCLUDES IN PARTICULAR SEVERAL INFORMATION MODULE PROCESSORS 23A-23C CONNECTED TO A COMMON BUS 21 TO WHICH IS ALSO CONNECTED AN ARBITRATION CIRCUIT 32 WHICH MANAGES ACCESS TO THE BUS. THE DATA ARE ORGANIZED IN INFORMATION MODULES EACH INCLUDING A LABEL AREA AND AN OPERAND DATA AREA, AND INTERCOMMUNICATION BETWEEN THE DIFFERENT INFORMATION MODULE PROCESSORS IS MADE BY TRANSFERRING INFORMATION MODULES ON THE COMMON BUS. EACH INFORMATION MODULE PROCESSOR INCLUDES A NUMBER OF PROCESSING UNITS 25A-25C PERFORMING THE REQUIRED FUNCTIONS, AND INPUT AND OUTPUT PROCESSORS 30, 31.
Description
PROCESSEUR DU TYPE A SEQUENCE DE DONNEESDATA SEQUENCE TYPE PROCESSOR
La présente invention concerne un ordinateur du The present invention relates to a computer of the
type utilisant un processeur à séquence de données. Con- type using a data sequence processor. Con-
trairement à un ordinateur classique, dans lequel l'exécu- trairement to a conventional computer, in which the execution
tion d'instructions s'effectue sous la commande d'une sé- quence de programme, le processeur à séquence de données travaille sous la dépendance de la disponibilité de données d'opérandes. Dans un ordinateur classique, la circulation de données est commandée par l'exécution séquentielle d'un programme. Du point de vue d'un organigramme, le programme est un ensemble séquentiel d'opérations exécutées l'Une après l'autre. Si le programme exige le calcul de plusieurs instruction is carried out under the control of a program sequence, the data sequence processor works under the dependence of the availability of operand data. In a conventional computer, the circulation of data is controlled by the sequential execution of a program. From the point of view of an organization chart, the program is a sequential set of operations executed one after the other. If the program requires the calculation of several
fonctions, ces calculs sont de façon habituelle effec- functions, these calculations are usually performed
tués en série.killed in series.
A titre d'exemple, si un programme doit accomplir For example, if a program is to accomplish
deux opérations, la première consistant en une fonction uti- two operations, the first consisting of a utility function
lisant des informations d'entrée de données A, B et C et reading data entry information A, B and C and
produisant une information de sortie D, et la seconde con- producing output information D, and the second
sistant en une fonction qui utilise des informations d'en- sistant to a function that uses information from
trée de données B et C et qui produit une information de data entry B and C and which produces information of
sortie E, ces opérations sont effectuées séquentiellement. output E, these operations are carried out sequentially.
De façon h a bi tu e e, toutes les données sont enregis- In a h a bi tu e e way, all data is saved
trées dans une mémoire commune. L'ordinateur accomplit les actions suivantes: (1) il accède, dans l'ordre, aux données entered into a common memory. The computer performs the following actions: (1) it accesses the data in order
A, puis B, puis C dans la mémoire, (2) il accomplit les opé- A, then B, then C in the memory, (2) it performs the operations
rations arithmétiques ou logiques nécessaires pour mettre en oeuvre la fonction, et (3) il produit les données de sortie D qui sont ensuite introduites dans la mémoire. L'ordinateur arithmetic or logical rations necessary to implement the function, and (3) it produces the output data D which are then introduced into the memory. Computer
accède ensuite à-nouveau à la mémoire pour obtenir les va- then accesses the memory again to obtain the values
leurs de données B et C qui sont utilisées pour effectuer their data B and C which are used to perform
les opérations arithmétiques ou logiques de la fonction sui- the arithmetic or logical operations of the following function
vante. La valeur de sortie résultante E est introduite à son tour dans la mémoire. Dans un tel ordinateur classique commandé par une séquence de programme, la vitesse à laquelle le traitement peut avoir lieu est limitée par la cadence à laquelle les boasts. The resulting output value E is in turn entered into the memory. In such a conventional computer controlled by a program sequence, the speed at which processing can take place is limited by the rate at which the
instructions peuvent être exécutées en série, et par le - instructions can be executed in series, and by the -
temps d'accès séquentiel aux données dans la mémoire commune. sequential access time to data in the common memory.
Cette dernière limitation est liée à ce qu'on appelle le This last limitation is linked to what is called the
"goulet d'étranglement de Von Neumann", cette expression dé- "Von Neumann's bottleneck", this expression
signant la réalité suivante: quelle que soit la rapidité de fonctionnement du processeur, toutes les données doivent signing the following reality: whatever the speed of operation of the processor, all the data must
être alignées en une seule file avant de pouvoir être trai- be aligned in a single file before they can be processed
tées. Dans l'exemple de l'ordinateur classique commandé par une séquence de programme de type série qu'on vient de décrire, la seconde fonction ne pourrait pas être accomplie avant l'achèvement de la première fonction, bien que les tees. In the example of the conventional computer controlled by a serial type program sequence which has just been described, the second function could not be performed before the completion of the first function, although the
données (B et C) nécessaires en tant qu'informations d'en- data (B and C) needed as information
trée pour la seconde fonction soient déjà disponibles dans for the second function are already available in
la mémoire au moment du commencement du calcul de la pre- memory at the start of the calculation of the first
mière fonction.best function.
Une technique de l'art antérieur pour surmonter cette limitation de vitesse a consisté dans l'utilisation de processeurs multiples fonctionnant en parallèle. Pour l'exemple qu'on vient de décrire, on pourrait programmer un ordinateur équipé de processeurs parallèles, de façon que A prior art technique for overcoming this speed limitation has been the use of multiple processors operating in parallel. For the example just described, we could program a computer equipped with parallel processors, so that
la première fonction soit accomplie par un processeur pen- the first function is performed by a processor
dant que la seconde fonction est accomplie par un processeur while the second function is performed by a processor
parallèle séparé. Cependant, même dans une telle configura- separate parallel. However, even in such a configuration
tion, les processeurs sont en concurrence pour l'accès à la mémoire de données commune, ce qui fait intervenir le même goulet d'étranglement de Von Neumann. Le premier processeur tion, processors compete for access to the common data memory, which involves the same Von Neumann bottleneck. The first processor
-2574197-2574197
doit accéder séquentiellement aux données A, B et C, tandis que le second processeur doit accéder séquentiellement et séparément aux données B et C. Cet alignement en série de données impose ainsi une limitation de vitesse inhérente, même pour un ordinateur à traitement parallèle du type a must access data A, B and C sequentially, while the second processor must access data B and C sequentially and separately. This alignment in series of data thus imposes an inherent speed limitation, even for a computer with parallel processing of the type at
commande par séquence de programme. control by program sequence.
Un processeur à séquence de données a au contraire une organisation fondamentalement différente. On utilise le On the contrary, a data sequence processor has a fundamentally different organization. We use the
traitement parallèle, mais on élimine le goulet d'étangle- parallel processing, but the bottleneck is eliminated-
ment de Von Neumann en distribuant directement les données aux diverses unités de traitement parallèles. Dans chacune de ces unités, la fonction demandée est accomplie dès que les données nécessaires sont disponibles. On obtient une Von Neumann by distributing the data directly to the various parallel processing units. In each of these units, the requested function is performed as soon as the necessary data are available. We get a
amélioration notable de la vitesse d'exécution. notable improvement in execution speed.
Dans l'exemple décrit ci-dessus, les diverses don- In the example described above, the various data
nées A, B et C sont distribuées directement et simultanément aux diverses unités de traitement. L'unité de traitement qui est affectée à l'accomplissement de la première fonction accepte les données A, B et C et elle effectue immédiatement le calcul de cette fonction pour donner la valeur de sortie A, B and C are distributed directly and simultaneously to the various processing units. The processing unit which is assigned to the performance of the first function accepts the data A, B and C and it immediately performs the calculation of this function to give the output value
D. Simultanément, pendant que les données B et C sont ap-- D. Simultaneously, while data B and C are ap--
pliquées à la première unité de traitement, elles sont éga- applied to the first processing unit, they are also
lement appliquées à l'unité de traitement séparée qui a la applied to the separate processing unit which has the
configuration appropriée pour accomplir la seconde fonction. appropriate configuration to perform the second function.
Cette unité accepte les données B et C et elle calcule immé- This unit accepts data B and C and calculates immediately
diatement la seconde fonction, en produisant une valeur de sortie E. Ainsi, dans un processeur à séquence de données, des opérations fonctionnelles sont accomplies non pas d'une manière séquentielle, sous la commande d'une séquence de programme, mais sous la dépendance de la disponibilité de diat the second function, by producing an output value E. Thus, in a processor with data sequence, functional operations are carried out not in a sequential way, under the control of a program sequence, but under the dependence the availability of
données d'opérandes.operand data.
Un but de l'invention est de procurer un mode de An object of the invention is to provide a mode of
réalisation d'un tel processeur à séquence de données. realization of such a data sequence processor.
On parvient à ce but grâce à un processeur a sé- This is achieved by a separate processor.
quence de données dans lequel des données d'opérandes sont data quency in which operand data is
transmises dans le système sous la forme de modules d'infor- transmitted in the system in the form of information modules
mation comportant chacun une zone d'étiquette qui contient une identification, et une zone de données qui contient une valeur de données d'opérande. - Les modules d'information sont transmis sur un bus, qu'on appelle ici un "bus de circulation", auquel sont connectés plusieurs processeurs de modules d'information ou "cartes à séquence de données". Chaque processeur de module d'information comprend une ou plusieurs unités de traitement Each having a label area which contains an identification, and a data area which contains an operand data value. - The information modules are transmitted on a bus, here called a "traffic bus", to which several processors of information modules or "data sequence cards" are connected. Each information module processor includes one or more processing units
et chacune d'elles a une configuration lui permettant d'ac- and each of them has a configuration allowing it to
complir une certaine fonction exigeant des données d'entrée spécifiques, ou bien elle peut être commandée de façon à perform a certain function requiring specific input data, or it can be controlled to
accomplir une telle fonction.perform such a function.
Chaque carte à séquence de données comprend égale- Each data sequence card also includes
ment un processeur de module d'information d'entrée (PME) an input information module (PME) processor
qui contrôle l'identification ou la zone d'étiquette de cha- which controls the identification or label area of each
que module présent sur le bus de circulation. Le PME recher- module present on the circulation bus. The SME is looking for
che des modules d'information qui contiennent des données d'opérandes demandées par les unités de traitement qui se trouvent sur la même carte à séquence de données. Lorsque le PME reconnaît, au moyen de l'identification contenue dans la che information modules which contain operand data requested by the processing units which are on the same data sequence card. When the SME recognizes, by means of the identification contained in the
zone d'étiquette du module d'information sur le bus de cir- tag area of the information module on the bus
culation, que le module d'information présent est demandé par une telle unité de traitement, il introduit les données d'opérandes provenant de ce module d'information dans une mémoire qui se trouve sur la carte à séquence de données elle-même. Lorsque toutes les données d'opérandes demandées qui sont nécessaires à une unité de traitement particulière culation, that the present information module is requested by such a processing unit, it introduces the operand data coming from this information module into a memory which is located on the data sequence card itself. When all the requested operand data which is necessary for a particular processing unit
ont été reçues et introduites dans la mémoire du PME, l'uni- have been received and entered in the memory of the PME, the uni-
té de traitement execute la fonction. processing tee performs the function.
A titre d'exemple, si l'unité de traitement doit accomplir une fonction exigeant des données d'entrée A, B et C, le PME recherche sur le bus de circulation des modules d'information ayant les valeurs d'identification de zone d'étiquette "A", "B" et "C". Lorsque ces modules d'information By way of example, if the processing unit is to perform a function requiring input data A, B and C, the PME searches on the circulation bus for information modules having the zone identification values d 'label "A", "B" and "C". When these information modules
sontdétectés, le PME enregistre les données d'opérandes cor- are detected, the PME saves the data of operands cor-
respondantes. Dès que les valeurs d'opérandes pour les trois informations d'entrée "A", "B" et "C" ont toutes été reçues, respondents. As soon as the operand values for the three input information "A", "B" and "C" have all been received,
l'unité de traitement peut accomplir immédiatement la fonction. the processing unit can immediately perform the function.
Chaque processeur de module d'information ou carte Each information module processor or card
à séquence de données comporte également un processeur de mo- data sequence also includes a mo-
dule d'information de sortie (PMS). Dès que l'unité de trai- output information module (PMS). As soon as the processing unit
tement produit une valeur de données de sortie, le PMS assem- output data value, the PMS assem-
ble cette valeur en un nouveau module d'information de sortie. ble this value in a new output information module.
A titre d'exemple, si l'unité de traitement accomplit une fonction ayant une information de sortie désignée par "D", le PMS produit un nouveau module d'information ayant dans la zone For example, if the processing unit performs a function having output information designated by "D", the PMS produces a new information module having in the area
d'étiquette une identification correspondant à "D", et conte- label an identification corresponding to "D", and contains
nant dans la zone de données la valeur de données réelle pro- in the data area the actual data value pro-
duite par l'unité de traitement.picked up by the processing unit.
Le PMS assemble en file les modules d'information de sortie nouvellement produits, pour les transmettre au bus de circulation. Un circuit d'arbitrage est associé au bus de circulation et ce circuit interroge chacun des processeurs de module d'information pour déterminer les processeurs qui ont des modules d'information prêts à être émis. Le circuit d'arbitrage accorde l'accès à un seul processeur de module d'information à la fois, sur la base d'une priorité tournante appropriée. Le processeur de module d'information auquel l'accès est accordé émet alors vers le bus de circulation le The PMS assembles the newly produced output information modules in a row to transmit them to the traffic bus. An arbitration circuit is associated with the circulation bus and this circuit interrogates each of the information module processors to determine the processors which have information modules ready to be transmitted. The arbitration circuit grants access to only one information module processor at a time, based on an appropriate rotating priority. The information module processor to which access is granted then transmits to the circulation bus the
premier module d'information dans la file. first information module in the queue.
L'invention englobe également des configurations à plusieurs bus de circulation. Les bus de circulation sont interconnectés par des processeurs de modules d'information inter-bus appropriés qui transfèrent d'un bus de circulation à un autre uniquement les modules d'information que demande The invention also encompasses configurations with several traffic buses. The circulation buses are interconnected by processors of appropriate inter-bus information modules which transfer from one circulation bus to another only the information modules that request
le bus récepteur.the receiving bus.
La commande de configuration par ordinateur du pro- The computer configuration command of the pro-
cesseur à séquence de données de l'invention permet une af- data sequence stopper of the invention allows a
fectation arbitraire de fonctions particulières à chacune arbitrary assignment of specific functions to each
des unités de traitement sur des cartes à séquence de don- processing units on data sequence cards
nées individuelles. On peut ainsi reconfigurer sélectivement le système pour optimiser les performances pour une applica- tion particulière. Une telle reconfiguration constitue en fait une "programmation" du processeur à séquence de données, individual born. It is thus possible to selectively reconfigure the system to optimize the performance for a particular application. Such a reconfiguration in fact constitutes a "programming" of the data sequence processor,
permettant de réaliser un certain ensemble de fonctions mu- allowing to realize a certain set of functions mu-
tuellement liées.tally related.
L'invention sera mieux comprise à la lecture de la The invention will be better understood on reading the
description qui va suivre de modes de réalisation, donnés à description which follows of embodiments, given at
titre d'exemples non limitatifs. La suite de la description title of nonlimiting examples. The rest of the description
se réfère aux dessins annexés sur lesquels: La figure 1 est un schéma synoptique du processeur refers to the appended drawings in which: FIG. 1 is a block diagram of the processor
à séquence de données de base conforme à l'invention. with a basic data sequence according to the invention.
La figure 2 représente le format d'un module d'in- Figure 2 shows the format of an information module.
formation utilisé dans le processeur à séquence de données training used in the data sequence processor
de la figure 1.of figure 1.
La figure 3 est une représentation schématique d'une fonction représentative mise en oeuvre par une unité de traitement incorporée dans le processeur à séquence de FIG. 3 is a schematic representation of a representative function implemented by a processing unit incorporated in the sequence processor
données de la figure 1.data in figure 1.
La figure 4 est une représentation schématique ou "diagramme de flux de données" de l'ensemble de fonctions mutuellement liées qui peuvent être mises en oeuvre par le Figure 4 is a schematic representation or "data flow diagram" of the set of mutually related functions that can be implemented by the
processeur à séquence de données de la figure 1. Figure 1 data sequence processor.
La figure 5 est un schéma synoptique d'un proces- Figure 5 is a block diagram of a process
seur de module d'information représentatif qui est utilisé representative information module that is used
dans le système de la figure 1.in the system of figure 1.
La figure 6 est un schéma synoptique d'un autre mode de réalisation du processeur à séquence de données de Figure 6 is a block diagram of another embodiment of the data sequence processor of
l'invention utilisant deux bus d'acheminemente modules d'in- the invention using two bus routing modules
formation séparés, avec des moyens prévus pour le transfert sélectif de modules d'information sélectionnés entre ces bus. La figure 7 est un schéma synoptique d'un mode de separate training, with means provided for the selective transfer of selected information modules between these buses. Figure 7 is a block diagram of a mode of
réalisation du processeur à séquence de données de l'inven- realization of the inventive data sequence processor
tion utilisant plusieurs bus d'acheminement de modules d'in- tion using several bus routing modules
formation interconnectés.interconnected training.
La figure 8 est un schéma synoptique montrant une configuration pour l'entrée et/ou la sortie de données du Figure 8 is a block diagram showing a configuration for data input and / or output of the
processeur à séquence de données de l'invention. data sequence processor of the invention.
La figure 9 est un schéma synoptique d'un système facilitant la reconfiguration commandée par ordinateur d'un Figure 9 is a block diagram of a system facilitating computer-controlled reconfiguration of a
processeur à séquence de données conforme a l'invention. data sequence processor according to the invention.
La figure 1 représente un processeur à séquence de données de base, 20, conforme à l'invention. Il comprend un bus 21 (qu'on appelle quelquefois un "bus de circulation Figure 1 shows a basic data sequence processor, 20, according to the invention. It includes a bus 21 (sometimes called a "traffic bus"
de données"), par lequel on transfère des modules d'infor- "), by which information modules are transferred
mation. Le format de module d'information 22 (figure 2) comprend une zone d'étiquette 22t contenant une "étiquette" ou identificateur, et une zone de données 22d contenant une mation. The information module format 22 (FIG. 2) comprises a label zone 22t containing a "label" or identifier, and a data zone 22d containing a
valeur de données d'opérande réelle. actual operand data value.
Un certain nombre de processeurs de module d'in- A number of input module processors
formation 23 sont connectés au bus de circulation de données 21 (on appelle quelquefois chacun des processeurs 23 une formation 23 are connected to the data circulation bus 21 (sometimes each of the processors 23 is called a
"carte à séquence de données", et on les désigne individuel- "data sequence card", and they are designated individually-
lement par les références 23a, 23b, etc). Chaque processeur by references 23a, 23b, etc.). Each processor
de module d'information 23 comporte une section d'accomplis- of information module 23 includes a section of accomplis
sement de fonction 24 qui contient une ou plusieurs unités de traitement 25. Ces unités de traitement accomplissent le function 24 which contains one or more processing units 25. These processing units accomplish the
traitement réel, arithmétique, mathématique, logique ou au- real, arithmetic, mathematical, logical or other processing
tre, des données reçues dans un format de module d'informa- data received in an information module format
tion à partir du bus de circulation de données. tion from the data traffic bus.
Chaque unité de traitement 25 a une configuration prévue pour l'accomplissement d'une certaine fonction (f) Each processing unit 25 has a configuration intended for the performance of a certain function (f)
sur certaines données d'entrée. Ceci est représenté schéma- on some input data. This is shown diagrammatically
tiquement sur la figure 3, sur laquelle le cercle ou "noeud" tick in Figure 3, where the circle or "knot"
26 représente une certaine fonction (fa) qui doit être ac- 26 represents a certain function (fa) which must be ac-
complie par l'une des unités de traitement 25. La fonction (fa) exige trois données d'entrée désignées par les flèches complies with one of the processing units 25. The function (fa) requires three input data designated by the arrows
ou "arcs" portant les références A(1), B(2) et C(3). Le ré- or "arcs" bearing the references A (1), B (2) and C (3). The re-
sultat de l'accomplissement de la fonction (fa) est la géné- result of the performance of the function (fa) is the general
ration d'une donnée de sortie désignée par la flèche ou l'arc D(4). A titre d'exemple simple, la fonction (fa) peut être le calcul d'un gradient de température g dans une paroi ayant une épaisseur w, avec une température-extérieure to et une température intérieure ti, conformément à la formule: t -ti g = (Equation 1) w Pour réaliser cette opération, l'unité de fonction 26 doit recevoir trois valeurs de données d'entrée. Dans l'exemple de la figure 3, la température extérieure peut être fournie par le chemi* ou l'arc Ao L'étiquette relative ration of an output given by the arrow or the arc D (4). As a simple example, the function (fa) can be the calculation of a temperature gradient g in a wall having a thickness w, with an outside temperature to and an inside temperature ti, according to the formula: t - ti g = (Equation 1) w To perform this operation, the function unit 26 must receive three values of input data. In the example of figure 3, the outside temperature can be provided by the chemi * or the arc Ao The relative label
à cet arc est le nombre "l". Ainsi, les données d'entrée re- to this arc is the number "l". So the input data re-
présentant la température extérieure to pourraient être re- presenting the outside temperature to could be re-
présentées par un module d'information ayant le format 22 de la figure 2, dans lequel la partie d'étiquette 22t contient la valeur "1" qui indique que les données conjointes sont associées à l'arc ou au chemin A (et représentent donc une valeur de température extérieure to). La zone de données 22b presented by an information module having the format 22 of FIG. 2, in which the label part 22t contains the value "1" which indicates that the joint data are associated with the arc or with the path A (and therefore represent an outdoor temperature value to). Data area 22b
contiendrait alors la valeur numérique réelle de la tempéra- would then contain the actual numerical value of the temperature
ture extérieure to o De façon correspondante, la valeur de température intérieure ti peut être fournie sur l'arc B ayant une valeur outside ture to o Correspondingly, the inside temperature value ti can be provided on arc B having a value
d'étiquette "2", ce qui fait que son format de module d'in- label "2", which means that its module format
formation associé aurait la valeur "2" dans la zone d'éti- associated formation would have the value "2" in the labeling area
quette 22t et la valeur appropriée de température intérieure ti dans la zone de données 22d. Il en est de môme pour la valeur d'épaisseur de paroi w appliquée sur l'arc C, ayant une valeur d'étiquette de "3", ce qui fait que son module d'information conteindrait la valeur "3" dans la zone d'étiquette 22t et la valeur appropriée de l'épaisseur de quet 22t and the appropriate indoor temperature value ti in data area 22d. The same is true for the wall thickness value w applied to the arc C, having a label value of "3", which means that its information module would contain the value "3" in the zone 22t label and the appropriate thickness value
paroi w dans la zone de données 22d. wall w in data area 22d.
Lorsque la fonction 26 est exécutée (par exemple When function 26 is executed (e.g.
conformément à l'exemple de l'équation (1) ci-dessus), la va- according to the example in equation (1) above), the value
leur de sortie résultante est fournie sur un arc de sortie D ayant l'étiquette "4". La valeur de données calculée pour le gradient g peut ainsi être fournie selon un format de module d'information, par un module d'information ayant une valeur de zone d'étiquette "4" (associée à l'arc de sortie D) et their resulting output is provided on an output arc D having the label "4". The data value calculated for the gradient g can thus be supplied according to an information module format, by an information module having a label zone value "4" (associated with the output arc D) and
contenant dans la zone de données 22d la valeur de g, calcu- containing in the data area 22d the value of g, calculated
lée en utilisant les données d'entrée qui sont appliquées au using the input data that is applied to the
moment considéré au noeud 26.moment considered at node 26.
En appliquant la figure 3 au processeur à séquence de données réel 20 de la figure 1, on note que l'une des unités de traitement 25 aurait la configuration appropriée pour mettre en oeuvre l'équation (1) ci-dessus. L'unité de By applying FIG. 3 to the real data sequence processor 20 of FIG. 1, it is noted that one of the processing units 25 would have the configuration suitable for implementing equation (1) above. The unit of
traitement 25a pourrait ainsi être constituée par un micro- treatment 25a could thus be constituted by a micro-
processeur programmé de façon à mettre en oeuvre cette équa- processor programmed to implement this equation
tion, ou bien elle pourrait être constituée par du matériel ou un microprogramme spécialisé destiné à la mise en oeuvre tion, or it could be made up of specialized hardware or firmware intended for implementation
de l'équation M1).from equation M1).
Pour accumuler les données nécessaires aux unités To accumulate the data necessary for the units
de traitement 25, chaque carte à séquence de données 23 com- 25, each data sequence card 23 includes
prend un processeur de module d'information d'entrée (PME) takes an input information module (PME) processor
, décrit ci-après de façon plus détaillée. Le PME 30 con- , described below in more detail. The PME 30
trôle tous les modules d'information transmis sur le bus de checks all the information modules transmitted on the bus
circulation de données 21 pour déterminer si l'un d'eux con- data flow 21 to determine if any of them
tient des données nécessaires à l'une des unités de traite- keeps data necessary for one of the processing units
ment 25 se trouvant sur la même carte à séquence de données. 25 on the same data sequence card.
Dans l'exemple qu'on vient de décrire, dans lequel l'unité de traitement 25a met en oeuvre l'équation (1) ci-dessus, le PME 30 recherche des modules d'information qui ont des valeurs de zone d'étiquette de "1", "2" et "3"' du fait que In the example just described, in which the processing unit 25a implements equation (1) above, the PME 30 searches for information modules which have tag area values of "1", "2" and "3" 'because
ces modules d'information sont ceux qui contiennent les va- these information modules are those which contain the
leurs de données pour la température extérieure to, la tem- their data for the outside temperature to, the time
pérature intérieure t. et l'épaisseur de paroi w, dont i indoor temperature t. and the wall thickness w, of which i
l'unité de traitement 25a a besoin en tant que données d'en- the processing unit 25a needs as input data
trée. Si de tels modules d'information sont présentssur le bus de circulation de données 21, le processeur de module d'information d'entrée 31 accepte le module et il enregistre dans une mémoire appropriée les données contenues dans le very. If such information modules are present on the data circulation bus 21, the input information module processor 31 accepts the module and stores the data contained in the data in an appropriate memory.
module d'information.information module.
Dès que les trois valeurs de données t0, ti et w As soon as the three data values t0, ti and w
ont toutes été reçues et enregistrées dans le PME 30, l'uni- have all been received and registered in PME 30, the uni
té de traitement 25 peut immédiatement accomplir la fonction (fa), c'està-dire qu'elle peut calculer immédiatement la processing tee 25 can immediately perform the function (fa), i.e. it can immediately calculate the
valeur de gradient g correspondante, conformément à l'équa- corresponding gradient value g, in accordance with the equa-
tion (1).tion (1).
La valeur résultante du gradient g, calculée par l'unité de traitement 25a elle-même, est fournie dans le format de module d'information, pour être appliquée au bus de circulation de données 21. Pour effectuer ceci, la carte à séquence de données 23 (figure 1) comprend un processeur de module d'information de sortie (PMS) 31 qui assemble des modules d'information en vue de leur application au bus. Dès que l'unité de traitement 25a a calculé la nouvelle valeur The resulting value of the gradient g, calculated by the processing unit 25a itself, is supplied in the information module format, to be applied to the data circulation bus 21. To do this, the sequence card of Data 23 (Figure 1) includes an output information module processor (PMS) 31 which assembles information modules for application to the bus. As soon as the processing unit 25a has calculated the new value
de g, ce PMS 31 assemble un module d'information qui con- from g, this PMS 31 assembles an information module which
tient dans sa zone d'étiquette 22t la valeur "4" correspon- holds in its label zone 22t the value "4" corresponding
dant à l'arc D(4) relatif au noeud ou à la fonction 26 (fi- dant to the arc D (4) relative to the node or to the function 26 (fi-
gure 3). Le PMS 31 place dans la zone de données 22d de ce module d'information la nouvelle valeur pour le gradient g qui vient d'être calculée par l'unité de traitement 25a. Le PMS 31 signale ensuite au bus 21 que ce processeur de module d'information 23a contient un nouveau module d'information gure 3). The PMS 31 places in the data zone 22d of this information module the new value for the gradient g which has just been calculated by the processing unit 25a. The PMS 31 then signals to the bus 21 that this information module processor 23a contains a new information module
prêt à être appliqué sur le bus de circulation de données. ready to be applied to the data traffic bus.
Ultérieurement, lorsque ce module d'information est émis sur Later, when this information module is issued on
le bus 21, il devient disponible pour toute unité de traite- bus 21, it becomes available for any milking unit
ment qui a besoin de la valeur de gradient g en tant que ment which needs the gradient value g as
données d'entrée.input data.
La circulation des modules d'information sur le The circulation of information modules on the
bus 21 est commandée par un circuit d'arbitrage 32 qui ef- bus 21 is controlled by an arbitration circuit 32 which
fectue une opération d'interrogation et d'autorisation d'accès. Dans un mode de réalisation considéré à titre d'exemple, le bus de circulation de données 21 peut comprendre une ligne de signal d'interrogation séparée et spécialisée, performs an interrogation and access authorization operation. In an embodiment considered by way of example, the data circulation bus 21 can comprise a separate and dedicated interrogation signal line,
et une ligne de signal d'autorisation d'accès séparée et spé- and a separate and specific access authorization signal line
cialisée, allant du PMS 31 de chaque processeur de module d'information 23 vers le circuit d'arbitrage 22. Un seul module d'information peut être transmis sur specialized, going from the PMS 31 of each information module processor 23 to the arbitration circuit 22. A single information module can be transmitted on
le bus de circulation de données 21 à un instant quelconque. the data circulation bus 21 at any time.
Un système représentatif peut avoir une cadence de 4 MHz, ce qui fait que le bus de circulation de données 21 peut A representative system can have a rate of 4 MHz, so that the data traffic bus 21 can
transmettre quatre millions de modules d'information par se- transmit four million information modules per week
conde, un à la fois. Chaque module d'information peut compor- count, one at a time. Each information module can include
ter 32 bits, comprenant une zone d'étiquette à 16 bits 22t et 32-bit ter, including a 16-bit 22t label area and
une zone de données à 16 bits 22d, et ces 32 bits sont trans- a 16-bit data area 22d, and these 32 bits are trans-
nmis en parallèle sur le bus de circulation de données 21. nmis in parallel on the data circulation bus 21.
A tout instant, le circuit d'arbitrage 32 détermine par l'intermédiaire des lignes de signal d'interrogation quels sont ceux des processeurs de module d'information 23 At all times, the arbitration circuit 32 determines, via the interrogation signal lines, which of the information module processors 23
qui contiennent présentement un module d'information en at- which currently contain an information module at-
tente d'être transmis au bus de circulation de données. A attempts to be transmitted to the data traffic bus. AT
chaque cycle, le circuit d'arbitrage 32 émet un signal d'au- each cycle, the arbitration circuit 32 emits a signal of
torisation d'accès à un seul des processeurs de module d'in- torization of access to only one of the processor modules
formation 23 qui sont associés au bus 21, ce qui permet à ce processeur d'émettre un module d'information sur le bus de formation 23 which are associated with bus 21, which allows this processor to transmit an information module on the bus
circulation de données.circulation of data.
Le circuit d'arbitrage 32 utilise avantageusement, The arbitration circuit 32 advantageously uses,
mais non obligatoirement, une technique de priorité "tour- but not necessarily, a priority technique "tour-
nante". Initialement, le circuit d'arbitrage scrute séquen- nante ". Initially, the arbitration circuit scans sequentially
tiellement les processeurs de module d'information. (Par exemple,s'il y a seize processeurs 23 connectés au bus de circulation de données 21, le circuit d'arbitrage détermine information module processors. (For example, if there are sixteen processors 23 connected to the data circulation bus 21, the arbitration circuit determines
tout d'abord si le processeur n l contient un module d'in- first of all if the processor n l contains an information module
formation à émettre, puis il contrôle le processeur n 2, n 3, etc.) Dès que le circuit d'arbitrage a déterminé qu'un training to transmit, then it controls processor n 2, n 3, etc.) As soon as the arbitration circuit has determined that a
processeur contient un module d'information prêt à l'émis- processor contains an information module ready for transmission
sion, il émet vers ce processeur un signal d'autorisation sion, it sends an authorization signal to this processor
d'accès. On considérera par exemple qu'il s'agit du proces- access. For example, consider that this is the process
seur n 5. Dès que ce processeur n 5 a émis le module d'in- sor n 5. As soon as this processor n 5 has issued the information module
formation sur le bus de circulation de données, le circuit d'arbitrage 32 modifie l'ordre séquentiel du processeur n 5 correspondant, pour lui donner le numéro ayant la plus fai- ble priorité. Ensuite, au fur et à mesure de la génération de chaque signal d'autorisation d'accès, l'ordre de priorité du processeur de module d'information correspondant est fixé training on the data circulation bus, the arbitration circuit 32 modifies the sequential order of the corresponding processor n 5, to give it the number having the lowest priority. Then, as each access authorization signal is generated, the order of priority of the corresponding information module processor is fixed
de façon similaire à la valeur la plus faible. Cette confi- similarly to the lowest value. This confi-
guration garantit l'accès à chaque carte de données une fois guration guarantees access to each data card once
tous les 16 cycles. Il faut cependant noter que cette tech- every 16 cycles. However, it should be noted that this technology
nique d'arbitrage ne constitue qu'un exemple et qu'on pour- arbitration is just one example and we can
rait utiliser n'importe quelle technique d'arbitrage de bus appropriée, en association avec le processeur à séquence de could use any suitable bus arbitration technique in combination with the sequence processor
données 20 de l'invention.data 20 of the invention.
Le processeur à séquence de données 20 de la fi- The data sequence processor 20 of the fi
gure i permet d'effectuer des calculs complexes de manière gure i allows complex calculations to be made
asynchrone, les diverses fonctions constitutives étant ac- asynchronous, the various constituent functions being ac-
complies séparément dans des unités de traitement 25 indi- compline separately in individual treatment units
viduelles. Chacune de ces unités accomplit sa propre fonc- empty. Each of these units performs its own function.
tion spécialisée dès que les données d'entrée qui lui sont nécessaires ont été assemblées par le processeur de module d'information d'entrée associé. Le "diagramme de flux de données" de la figure 4 représente schématiquement le type specialized as soon as the necessary input data have been assembled by the associated input information module processor. The "data flow diagram" in Figure 4 schematically represents the type
de calcul complexe que peut accomplir le processeur à sé- of complex computation that can be accomplished by the processor
quence de données 20. Chacun des noeuds ou fonctions fl à data quence 20. Each of the nodes or functions fl to
f5 apparaissant sur la figure 4 représente un processus par- f5 appearing in figure 4 represents a process par-
ticulier, mathématique, arithmétique, logique ou autre, ac- particular, mathematical, arithmetic, logical or other, ac-
compli par l'une respective des unités de traitement 25. A titre d'exemple, le noeud f2 peut correspondre à la fonction (fa) sur la figure 3 et cette fonction peut être accomplie compli by a respective one of the processing units 25. As an example, the node f2 can correspond to the function (fa) in FIG. 3 and this function can be performed
par l'unité de traitement 25a. La fonction f peut être af- by the processing unit 25a. The function f can be displayed
fectée à l'unité de traitement 25b qui fait également partie de la carte à séquence de données 23a. Les fonctions fl' f4 et f5 peuvent être affectées à trois unités de traitement respectives 25c, 25d, 25e dans le même processeur de module d'information 23a. Selon une variante, certainesdes fonctions fl', f4 et f5' ou toutes ces fonctions, peuvent être affectées à des unités de traitement 25 dans des processeurs de module d'information 23 séparés. assigned to the processing unit 25b which is also part of the data sequence card 23a. The functions fl 'f4 and f5 can be assigned to three respective processing units 25c, 25d, 25e in the same information module processor 23a. According to a variant, some of the functions f1 ', f4 and f5' or all of these functions can be assigned to processing units 25 in separate information module processors 23.
Une caractéristique importante du système de l'in- An important feature of the information system
vention consiste en ce que l'affectation des diverses fonc- vention consists in that the allocation of the various functions
tions aux unités de traitement particulières est complètement arbitraire. On peut affecter l'accomplissement de n'importe quelle fonction à n'importe quelle unité de traitement. En tions to particular processing units is completely arbitrary. You can assign the performance of any function to any processing unit. In
outre, le système de l'invention accepte également la situa- in addition, the system of the invention also accepts the situation
tion dans laquelle il y a davantage de fonctions à accomplir tion in which there are more functions to be performed
* que d'unités de traitement. On peut parvenir à ceci en fai-* only processing units. This can be achieved by doing
sant fonctionner en temps partagé une ou plusieurs des unités de traitement 25, pour accomplir séparément deux fonctions ou able to operate one or more of the processing units 25 in a time-sharing manner, to perform two functions separately or
plus. A titre d'exemple, on peut donner à l'unité de traite- more. As an example, the processing unit can be given
ment 25a dans le processeur de module d'information 23 une configuration lui permettant d'accomplir les deux fonctions f2 et f3' L'unité de traitement 25a peut par exemple être 25a in the information module processor 23 a configuration allowing it to perform the two functions f2 and f3 'The processing unit 25a can for example be
constituée par un microprocesseur ayant deux programmes en- consisting of a microprocessor having two programs
registrés séparés, l'un pour accomplir la fonction f2 et l'autre pour accomplir la fonction f3' En outre, les périodes pendant lesquelles une telle separately registered, one to perform function f2 and the other to perform function f3 'In addition, the periods during which such
unité de traitement 25a accomplit la fonction f2 ou la fonc- processing unit 25a performs the function f2 or the function
tion f3 ne sont pas nécessairement fixées. Elles peuvent au contraire être déterminées de façon dynamique en fonction de tion f3 are not necessarily fixed. On the contrary, they can be determined dynamically according to
la disponibilité des données d'entrée nécessaires à l'accom- the availability of the input data necessary for the accom-
plissement de la fonction particulière. folding of the particular function.
A titre d'exemple, la fonction f2 exige des valeurs de données provenant des arcs A, B et C, correspondant aux As an example, function f2 requires data values from arcs A, B and C, corresponding to
modules d'information ayant les étiquettes "1", "2" et "3". information modules with the labels "1", "2" and "3".
D'autre part, la fonction f4 exige des données d'entrée pro- On the other hand, function f4 requires input data pro-
venant des arcs G et H, caractérisés par des modules ayant coming from arcs G and H, characterized by modules having
les étiquettes "7" et "8". Le processeur de module d'informa- the labels "7" and "8". The information module processor
tion d'entrée 30 associé accumulera tous ces modules d'infor- input 30 associated partner will accumulate all these information modules
mation, c'est-à-dire les modules ayant les étiquettes 1, 2, 3, 7 et 8. Le processeur de module d'information d'entrée peut alors indiquer à l'unité de traitement 25a le moment auquel les données appropriées ont été assemblées pour l'une ou l'autre des fonctions f2 et f4' L'unité de traitement 25a mation, that is to say the modules having the labels 1, 2, 3, 7 and 8. The input information module processor can then indicate to the processing unit 25a when the appropriate data have been assembled for one or other of the functions f2 and f4 'The processing unit 25a
peut alors accomplir le nécessaire, en fonction de la dispo- can then accomplish the necessary, depending on the availability
nibilité des données.data reliability.
A titre d'exemple, le PME 30 peut recevoir tout d'abord un module d'information ayant l'étiquette "1", puis un module d'information ayant l'étiquette "7", et ensuite un For example, the PME 30 can first receive an information module having the label "1", then an information module having the label "7", and then a
module d'information ayant l'étiquette "8". A ce point, tou- information module with the label "8". At this point, all
tes les données pour l'accomplissement de la fonction f4 sont disponibles, mais toutes les données nécessaires pour the data for the performance of function f4 are available, but all the data necessary for
la fonction f2 ne sont pas encore disponibles. Par consé- the f2 function is not yet available. Therefore
quent, le PME 30 peut indiquer cette situation à l'unité de traitement 25a. Ce processeur se placera alors de lui-même quent, the PME 30 can indicate this situation to the processing unit 25a. This processor will then place itself
dans les conditions correspondant à l'exécution de la fonc- under the conditions corresponding to the performance of the function-
tion f4' il accomplira immédiatement cette fonction et il tion f4 'it will immediately perform this function and it
fournira une valeur de sortie qui sera mise (par le proces- seur de module d'information de sortie 31) sous un format de module will provide an output value which will be put (by the output information module processor 31) into a module format
d'information ayant l'étiquette g"9", associée à l'arc information label g "9", associated with the arc
de sortie I(9) de la fonction f4.of output I (9) of function f4.
Ensuite, le PME 30 peut recevoir des modules d'in- Then the PME 30 can receive information modules.
formation ayant les étiquettes "2" et "3". A ce point, tou- formation having the labels "2" and "3". At this point, all
tes les données (ayant les étiquettes 1, 2 et 3) nécessaires à l'accomplissement de la fonction f2 auront été assemblées par le PME 30. En présence de cette situation, l'unité de your data (with labels 1, 2 and 3) necessary for the performance of function f2 will have been assembled by the PME 30. In the presence of this situation, the unit of
traitement 25a établira elle-même ses conditions de fonc- treatment 25a will itself establish its operating conditions
tionnement et accomplira la fonction f2' Bien entendu, les fonctions f2 et f4 pourraient être affectées à des unités de traitement séparées (et c'est function and will perform the function f2 'Of course, the functions f2 and f4 could be assigned to separate processing units (and this is
généralement le cas), comme par exemple les unités respec- generally the case), as for example the units respec-
tives 25a et 25c. Dans ce cas, dès que le PME 30 a reçu des modules d'information ayant les étiquettes "1", "2" et "3", l'unité de traitement 25a accomplit la fonction f2' De tives 25a and 25c. In this case, as soon as the PME 30 has received information modules having the labels "1", "2" and "3", the processing unit 25a performs the function f2 'De
façon similaire, dès que le PME 30 a reçu des modules d'in- similarly, as soon as the PME 30 has received information modules
formation ayant les étiquettes '7" et "8", l'unité de trai- formation having the labels' 7 "and" 8 ", the processing unit
tement 25c accomplit la fonction f2. A titre d'exemple, si des modules d'information sont reçus dans l'ordre suivant (par valeur d'étiquette): "2"', "7", "1", "3" et "8", l'uni- té de traitement 25a commencera à accomplir la fonction f2 au moment de la réception du module d'information "3", du fait que toutes les données d'entrée nécessaires sont alors disponibles. L'unité 25c commencera à accomplir la fonction 25c performs the function f2. For example, if information modules are received in the following order (by label value): "2" ', "7", "1", "3" and "8", the processing unit 25a will start to perform function f2 upon receipt of the information module "3", since all the necessary input data are then available. Unit 25c will begin to perform the function
f4 au moment de la réception du module d'information "8". f4 when the information module "8" is received.
En outre, comme on le décrira davantage ci-après, plusieurs valeurs pour un ou plusieurs arcs peuvent être reçues avant qu'un ensemble de données nécessaire complet soit assemblé pour accomplir une fonction-particulière. La In addition, as will be described further below, several values for one or more arcs may be received before a complete necessary data set is assembled to accomplish a particular function. The
fonction sera accomplie au moment de la réception de l'en- function will be completed upon receipt of the
semble complet, en utilisant les données d'entrée pour cha- seems complete, using the input data for each
que arc, sur la base du "premier reçu". On supposera a titre d'exemple que des modules d'information sont reçus dans l'ordre suivant (par valeur d'étiquette): "2", "1", "1", that bow, based on the "first receipt". By way of example, it will be assumed that information modules are received in the following order (by label value): "2", "1", "1",
"3". A ce point, toutes les données d'entrée seront disponi- "3". At this point, all input data will be available.
bles pour accomplir la fonction f2' mais deux valeurs de to perform the function f2 'but two values of
données auront été reçues pour l'arc A(1). L'unité de trai- data will have been received for arc A (1). The processing unit
tement 25a accomplira la fonction f 2' mais elle utilisera la première valeur reçue parmi les deux valeurs de données de 25a will perform the function f 2 'but it will use the first value received from the two data values of
l'arc A(1) (c'est-à-dire qu'elle utilisera la valeur de don- arc A (1) (that is, it will use the data value
nées provenant de celui des deux modules d'information ayant l'étiquette "1" qui a été reçu en premier). La valeur de born from that of the two information modules with the label "1" which was received first). The value of
données provenant du module d'information reçu ultérieure- data from the information module received later-
ment avec l'étiquette "1" sera conservée pour l'utilisation par l'unité de traitement 25a dès que de secondes valeurs de données pour les arcs B(2) et C(3) auront également été reçues. Le même processeur de module d'information d'entrée (figure 1) accepte des modules d'information exigés pour toutes les fonctions accomplies par toutes les unités de traitement 25a, 25b, 25c, etc, dans la section d'exécution ment with the label "1" will be kept for use by the processing unit 25a as soon as second data values for the arcs B (2) and C (3) have also been received. The same input information module processor (Figure 1) accepts information modules required for all functions performed by all processing units 25a, 25b, 25c, etc., in the execution section
de fonction 24 de la même carte a séquence de données. Ain- function 24 of the same card has data sequence. Ain-
si, si-les unités de traitement 25a, 25b et 25c ont des configurations prévues pour accomplir respectivement les fonctions f2' f5 et f4, le PME 30 dans le processeur de if, if the processing units 25a, 25b and 25c have configurations intended to perform the functions f2 ′ f5 and f4 respectively, the PME 30 in the processor
module d'information 23 assemblera tous les modules d'in- information module 23 will assemble all information modules
formation nécessaires pour toutes ces fonctions. training required for all these functions.
On notera dans cet exemple qu'un arc d'entrée I(a) de la fonction f5 correspond à une sortie d'un autre noeud It will be noted in this example that an input arc I (a) of the function f5 corresponds to an output of another node
(f4) qui est traité sur la même carte à séquence de données. (f4) which is processed on the same data sequence card.
Dans ce cas, les modules d'information ayant I'étiquette "9" seront néanmoins reçus par le PME 30 à partir du bus de circulation de données 21, au moment de leur émission sur ce bus par le PMS 31 dans la même carte à séquence de don" In this case, the information modules having the label "9" will nevertheless be received by the PME 30 from the data circulation bus 21, at the time of their transmission on this bus by the PMS 31 in the same card to donation sequence "
nées.born.
La figure 5 représente un exemple de configuration Figure 5 shows an example configuration
du processeur de module d'information d'entrée 30. Le pro- of the input information module processor 30. The pro-
cesseur de module d'information d'entrée 30 comprend unemé-- input information module terminator 30 includes a
moire d'étiquettes demandées 33 qui enregistre les numéros d'identification correspondant aux étiquettes de modules d'information exigés par les unités de traitement dans la section d'exécution de fonction 24 du même processeur de requested label memory 33 which stores the identification numbers corresponding to the information module labels required by the processing units in the function execution section 24 of the same processor.
module d'information. Dans l'exemple dans lequel les fonc- information module. In the example in which the functions
tions f2' f4 et f5 sont accomplies par des unités de trai- f2 'f4 and f5 are accomplished by processing units
tement se trouvant sur ce processeur de module d'information on this information module processor
ou sur cette carte à séquence de données, des modules d'in- or on this data sequence card, information modules
formation relatifs aux arcs A, B, C, F, G, H et I sont exi- training relating to arcs A, B, C, F, G, H and I are exi-
gés. Les numéros d'identification d'étiquette correspondants "1"t "2", "3", "116", "7"n, "8"t et "9" sont donc enregistrés aged. The corresponding label identification numbers "1" t "2", "3", "116", "7" n, "8" t and "9" are therefore recorded
dans la mémoire 33.in memory 33.
A l'apparition de chaque module d'information sur le bus de circulation de données, un comparateur d'étiquette 34 détermine si ce module d'information est exigé par la carte à séquence de données considérée, en comparant la zone When each information module appears on the data circulation bus, a label comparator 34 determines whether this information module is required by the data sequence card in question, by comparing the area
d'étiquette du module d'information avec toutes les identi- information module label with all identi-
fications d'étiquettes exigées qui sont contenues dans la mé- required labels which are contained in the manual
moire 33.moire 33.
Si le module d'information est exigé, le compara- If the information module is required, the comparison
teur 34 indique à un circuit approprié de commande d'entrée de données en mémoire, 35, d'accepter le module d'information et de charger les données provenant du module d'information tor 34 indicates to an appropriate memory input control circuit, 35, to accept the information module and to load the data coming from the information module
dans une position appropriée dans une mémoire 36. in an appropriate position in a memory 36.
La mémoire 36 peut avantageusement, mais non obli- The memory 36 can advantageously, but not obli-
gatoirement, être du type premier entré-premier sorti. La mémoire 36 est également avantageusement organisée de façon à comporter des zones d'enregistrement de données séparées 36a, 36b, 36c..., chacune d'elles travaillant en un mode premier entré-premier sorti, pour enregistrer respectivement uniquement des données associées à des modules d'information ayant l'étiquette d'identification correspondante. A titre d'exemple, la zone d'enregistrement 36a peut être affectée à l'enregistrement de valeurs de zone de données provenant de modules d'information associés à l'arc A ayant l'étiquette temporarily, be of the first-in-first-out type. The memory 36 is also advantageously organized so as to comprise separate data recording zones 36a, 36b, 36c ..., each of them working in a first in-first out mode, for respectively recording only data associated with information modules with the corresponding identification label. By way of example, the recording area 36a can be assigned to recording data area values from information modules associated with the arc A having the label
d'identification "1". De façon similaire, les zones d'enre- identification "1". Similarly, the registration areas
gistrement respectives 36b à 36g peuvent enregistrer unique- respective records 36b to 36g can record only-
ment des données provenant des zones de données de modules d'information ayant des valeurs d'étiquette respectives "2", data from the data areas of information modules having respective label values "2",
"3", "6", "7", "8" et "9"."3", "6", "7", "8" and "9".
L'ordre dans lequel divers modules d'information apparaissent sur le bus de circulation de données 21 est The order in which various information modules appear on the data circulation bus 21 is
relativement arbitraire ou aléatoire. M a i s, le proces- relatively arbitrary or random. M a i s, the process
seur de module d'information d'entrée 30 assemble les don- input information module 30 assembles data
nées entrantes dans l'ordre approprié pour l'application à incoming entries in the correct order for application to
la section d'exécution de fonction 24. the function execution section 24.
A titre d'exemple, le premier module d'information sur le bus 21 peut avoir une étiquette "5". Si la carte à By way of example, the first information module on the bus 21 can have a label "5". If the card
séquence de données n'a pas besoin de ce module d'informa- data sequence does not need this information module
tion, le comparateur d'étiquette 34 reconnaît le fait que l'étiquette "5" n'est pas une de celles enregistrées dans tion, the label comparator 34 recognizes the fact that the label "5" is not one of those recorded in
la mémoire 33. Cette étiquette n'est donc pas acceptée. memory 33. This label is therefore not accepted.
Le module d'information suivant sur le bus 21 peut The following information module on bus 21 can
avoir une étiquette "3". Dans ce cas, le comparateur d'éti- have a label "3". In this case, the comparator of
quette 34 agit sur le circuit de commande d'entrée 35 de fa- quette 34 acts on the input control circuit 35 in a
çon qu'il accepte le module d'information. La valeur de don- Let’s accept the information module. The donation value
nées correspondante (identifiée symboliquement par le terme "1C11) est introduite dans la première position de mémoire dans la zone d'enregistrement 36c. Le module d'information suivant qui est accepté peut avoir une étiquette "2", et ses données B1 sont introduites dans la première position dans la zone d'enregistrement en mémoire 36b. Il peut arriver que le module d'information suivant qui est accepté par le PME corresponding data (symbolically identified by the term "1C11) is entered in the first memory position in the recording area 36c. The next information module which is accepted may have a label" 2 ", and its data B1 are entered in the first position in the memory recording area 36b. It may happen that the following information module which is accepted by the SME
ait également une étiquette "3". Ses données C2 sont in- also has a label "3". Its C2 data is in-
troduites dans la position immédiatement suivante dans la zone d'enregistrement 36c. Il faut noter la manière selon laquelle deux valeurs de données provenant de l'arc C sont produced in the immediately next position in recording area 36c. Note how two data values from arc C are
enregistrées dans la mémoire premier entré-premier sorti 36. stored in first-in-first-out memory 36.
Cependant, la section d'exécution de fonction 24 n'a pas encore accompli le calcul initial de la fonction f 2, du fait qu'elle doit encore recevoir une première valeur de données provenant de l'arc A. However, the function execution section 24 has not yet completed the initial calculation of the function f 2, since it must still receive a first data value from the arc A.
Si cette information est reçue à la suite, le com- If this information is received as a result, the
parateur d'étiquette 34 introduit la valeur de données cor- label processor 34 enters the correct data value
respondante A1 provenant du module d'information ayant l'étiquette "1", dans la première position de mémoire dans respondent A1 from the information module with the label "1", in the first memory position in
la zone d'enregistrement 36a. Le contenu de la mémoire pre- recording area 36a. The content of the pre-
mier entré-premier sorti 36 présente alors l'aspect qui est mier in-out 36 then presents the aspect which is
représenté sur la figure 5. A ce moment, un circuit de com- shown in Figure 5. At this time, a com-
mande de sortiede mémoire 37 reconnaît qu'un ensemble de données complet (comprenant ici les valeurs A1, B1 et C1) nécessaire pour accomplir la fonction f2' est présent dans la mémoire 36. Un circuit de commande 37 prélève ensuite memory output command 37 recognizes that a complete data set (including here the values A1, B1 and C1) necessary to perform the function f2 'is present in memory 36. A control circuit 37 then takes
ces valeurs dans la mémoire 36 (selon un ordre premier-en- these values in memory 36 (in a first-in-order
tré-premier sorti), et il les applique à la section d'exé- very first out), and it applies them to the exe section
cution de fonction 24 pour l'exécution de la fonction f2' Lorsque cette fonction a été exécutée, la section cution of function 24 for the execution of function f2 'When this function has been executed, the section
d'exécution de foncton 24 émet une valeur de don- of execution of function 24 emits a data value
nées (c'est-à-dire une valeur de sortie D1 de la fonction f2 calculée à partir des valeurs de données d'entrée A1, B et C1) qui est associée à l'arc D. Cette valeur de données D1 est appliquée à un circuit de formation de module d'in- born (i.e. an output value D1 of the function f2 calculated from the input data values A1, B and C1) which is associated with the arc D. This data value D1 is applied to an information module training circuit
formation 38 (figure 5) dans le processeur de module d'in- training 38 (figure 5) in the information module processor
formation de sortie 31. Le circuit 38 reconnaît le fait que les données de sortie D1 ont été produites par l'unité de traitement accomplissant la fonction f2' ce qui fait que ces données représentent des données sur l'arc D, et doivent donc être incorporées dans un module d'information ayant une output formation 31. The circuit 38 recognizes the fact that the output data D1 has been produced by the processing unit performing the function f2 ', which means that these data represent data on the arc D, and must therefore be incorporated into an information module having a
valeur d'étiquette "4". Par conséquent, le circuit de forma- label value "4". Consequently, the training circuit
tion de module d'information 38 forme un module d'informa- information module 38 forms an information module
tion ayant la valeur d'étiquette "4" et la valeur de données D1. Ce module d'information nouvellement formé est placé dans une file d'attente de modules d'information de sortie 39 qui peut être constituépar une mémoire premier entré-premier sorti. L'introduction du module d'information dans la file d'attente 39 agit également sur un circuit d'interrogation et d'autorisation d'accès 40, de façon qu'il émette un signal d'interrogation vers le circuit d'arbitrage tion having the label value "4" and the data value D1. This newly formed information module is placed in a queue of output information modules 39 which can be constituted by a first-in-first-out memory. The introduction of the information module into the queue 39 also acts on an interrogation and access authorization circuit 40, so that it transmits an interrogation signal to the arbitration circuit
32, par le bus 21. Ce signal indique que cette carte a sé- 32, by bus 21. This signal indicates that this card has
quence de données particulière contient un module d'informa- particular data quency contains an information module
tion prêt à être émis sur le bus. Lorsque le circuit d'arbi- tion ready to be issued on the bus. When the arbi- circuit
trage 32 renvoie un signal d'autorisation d'accès à cette carte à séquence de données, le circuit de commande 40 émet sur le bus 21 le module d'information qui a été enregistré trage 32 returns an authorization signal for access to this data sequence card, the control circuit 40 transmits on the bus 21 the information module which has been recorded
en premier dans la file d'attente 39. first in queue 39.
Il existe certaines limites pratiques en ce qui concerne le nombre de processeurs de module d'information 23 qui peuvent être associés à un seul bus de circulation de données 21 dans la configuration de la figure 1. On voit clairement que lorsqu'on ajoute des processeurs de module There are certain practical limits with regard to the number of information module processors 23 which can be associated with a single data circulation bus 21 in the configuration of FIG. 1. It is clearly seen that when processors are added of module
d'information 23 supplémentaires à un seul bus de circula- 23 additional information to a single bus
tion de données, on dispose d'une plus grande capacité de tion of data, we have a greater capacity for
traitement simultané,et unplus grand nombre de modules d'infor- simultaneous processing, and a greater number of information modules
mation sont donc produits pendant un intervalle de temps mation are therefore produced during a time interval
donné. Cependant, la cadence de transfert de modules d'in- given. However, the transfer rate of information modules
formation sur le bus de circulation de données fixe une li- training on the data traffic bus fixes a
mite supérieure au nombre de modules d'information qui peu- more than the number of information modules that can
vent être transmis entre des cartes à séquence de données can be transmitted between data sequence cards
pendant un intervalle de temps donné. during a given time interval.
Pour surmonter cette limitation, la configuration To overcome this limitation, the configuration
de la figure 6 montre comment on peut augmenter considéra- in figure 6 shows how we can significantly increase
blement la capacité du système en utilisant deux sous-sys- the capacity of the system using two subsystems
tèmes de bus de circulation de données, ou plus, indépen- or more data traffic bus themes
dants mais en relation mutuelle, ayant chacun la configura- but in mutual relation, each having the configuration
tion générale de la figure 1. L'utilisation de processeurs de module d'information de transfert inter-bus 41A, 41B, de type approprié, permet d'assurer la transmission de modules d'information entre les soussystèmes de bus de circulation general tion of FIG. 1. The use of processors of inter-bus transfer information module 41A, 41B, of an appropriate type, makes it possible to ensure the transmission of information modules between the circulation bus subsystems
de données séparés.separate data.
Le système 20' représenté à titre d'exemple sur la figure 6 combine le processeur à séquence de données 20 de la figure 1, ayant des cartes à séquence de données (CSD) 23a, 23b... 23i, avec un processeur à séquence de données 20A semblable, comportant un bus de circulation de données 21A et des processeurs de module d'information ou des CSD associés 23j, 23k... 23m. Un circuit d'arbitrage 32A ayant une configuration semblable à celle du circuit d'arbitrage 32 est associé au bus de circulation de données 21A. Les cartes de processeur de module d'information de transfert inter-bus, 41A et 41B, ayant une configuration similaire, interconnectent les bus de circulation de données 21 et 21A. Ces cartes, considérées conjointement, facilitent le transfert de modules d'information entre les bus 21 et 21A. Cependant, tous les modules d'information présents sur chaque bus ne sont pas transférés vers l'autre. Au contraire, seuls les modules d'information qui sont exigés pour les The system 20 'shown by way of example in FIG. 6 combines the data sequence processor 20 of FIG. 1, having data sequence cards (CSD) 23a, 23b ... 23i, with a sequence processor data 20A similar, comprising a data circulation bus 21A and information module processors or associated CSDs 23j, 23k ... 23m. An arbitration circuit 32A having a configuration similar to that of the arbitration circuit 32 is associated with the data circulation bus 21A. The inter-bus transfer information module processor cards, 41A and 41B, having a similar configuration, interconnect the data flow buses 21 and 21A. These cards, considered together, facilitate the transfer of information modules between buses 21 and 21A. However, all the information modules present on each bus are not transferred to the other. On the contrary, only the information modules which are required for the
fonctions accomplies dans les processeurs de module d'infor- functions performed in information module processors
mation 23j-23m associés au bus 21A sont transmis du bus 21 vers le bus 21A. Inversement, seuls les modules d'information exigés pour les fonctions accomplies dans les processeurs 23a-23i connectés au bus 21 sont transférés du bus 21A vers le bus 21. On peut ainsi obtenir un débit optimal de modules d'information sur chacun des bus de circulation de données 21 et 21A, sans exiger que les deux bus de circulation de données traitent tous les modules d'information nécessaires dans le système complet. On peut exprimer ceci différemment en disant que chacun des bus de circulation de données 21 et 21A ne traite que les modules d'information nécessaires à mation 23j-23m associated with bus 21A are transmitted from bus 21 to bus 21A. Conversely, only the information modules required for the functions performed in the processors 23a-23i connected to the bus 21 are transferred from the bus 21A to the bus 21. It is thus possible to obtain an optimal throughput of information modules on each of the bus data flow 21 and 21A, without requiring the two data flow buses to process all of the necessary information modules in the complete system. We can express this differently by saying that each of the data circulation buses 21 and 21A only processes the information modules necessary for
l'accomplissement des fonctions dans les processeurs de mo- the performance of functions in the mo-
dule d'information qui sont associés au bus respectif. dule of information which are associated with the respective bus.
La carte de transfert inter-bus 41A elle-même res- The 41A inter-bus transfer card itself
semble à un processeur de module d'information. En effet, du point de vue du bus de circulation de données 21, la carte de transfert inter-bus 41A se présente exactement comme l'un quelconque des autres processeurs de module d'information seems to an information module processor. Indeed, from the point of view of the data circulation bus 21, the inter-bus transfer card 41A looks exactly like any of the other information module processors
connectés à ce bus.connected to this bus.
En particulier, la carte de transfert inter-bus 41A comprend un processeur de module d'information d'entrée A qui comporte une mémoire d'étiquettes exigées 33A. Cette mémoire 33A enregistre cependant une liste des étiquettes pour tous les modules d'information exigés par les sections In particular, the inter-bus transfer card 41A comprises an input information module processor A which includes a required label memory 33A. This memory 33A however stores a list of labels for all the information modules required by the sections
d'exécution de fonction 24 de toutes les CSD 23j-23m asso- of execution of function 24 of all CSD 23d-23m asso-
ciées au bus de circulation de données 21A. Un comparateur ciées to the data circulation bus 21A. A comparator
d'étiquette 34A compare les étiquettes de chacun des modu- 34A compares the labels of each module
les d'information présents sur le bus 21 avec celles exigées the information present on bus 21 with those required
par le bus 21A (qui sont enregistrées dans la mémoire 33A). by bus 21A (which are stored in memory 33A).
Si le comparateur 34A indique que le module d'information If comparator 34A indicates that the information module
présent sur le bus 21 est exigé par le bus 21A, le compara- present on bus 21 is required by bus 21A, the comparison
teur valide une porte 42A qui transmet le module d'informa- tor validates a door 42A which transmits the information module
tion du bus 21 vers un circuit émetteur 43A. Le circuit émetteur 43A émet à son tour le module d'information vers un circuit récepteur 44B dans la carte de transfert inter-bus tion of the bus 21 to a transmitter circuit 43A. The transmitter circuit 43A in turn transmits the information module to a receiver circuit 44B in the inter-bus transfer card
41B associée.41B associated.
Cette carte 41B, qui a exactement la même configu- This 41B card, which has exactly the same configuration-
ration que la carte de transfert inter-bus 41A, comprend un ration that the inter-bus transfer card 41A, includes a
processeur de module d'information de sortie 31B. Il compor- output information module processor 31B. It includes
te une file d'attente de modules d'information de sortie 39B qui introduit le module d'information transféré à partir du récepteur 44B dans une file d'attente ou une mémoire premier te a queue of output information modules 39B which introduces the information module transferred from the receiver 44B into a queue or a memory first
entré-premier sorti. Le PMS 31B comporte également un cir- in-out. The PMS 31B also has a circuit
cuit de commande d'interrogation et d'autorisation d'accès B. Sous l'effet de la présence d'un module d'information dans la file d'attente 39B, ce circuit produit un signal d'interrogation sur le bus de circulation de données 21A. Le control circuit for interrogation and access authorization B. Under the effect of the presence of an information module in the queue 39B, this circuit produces an interrogation signal on the circulation bus 21A. The
circuit d'arbitrage 32A traite la carte de transfert inter- arbitration circuit 32A processes the inter-transfer card
bus 41B d'une manière identique à celle selon laquelle il bus 41B in the same way that it
traite l'un quelconque des processeurs de module d'informa- processes any of the information module processors
tion 23j-23m qui sont associés au bus de circulation de don- tion 23j-23m which are associated with the data circulation bus
nées 21A. Ainsi, à la réception d'une interrogation prove- born 21A. Thus, upon receipt of an interrogation prove-
nant de la carte de transfert inter-bus 41B, il applique un from the 41B inter-bus transfer card, it applies a
signal d'autorisation d'accès, dans l'ordre de priorité ap- access authorization signal, in order of priority ap-
proprié. Sous l'effet de ce signal d'autorisation d'accès, le PMS 31B transfère le module d'information de la file d'attente 39B vers le bus de circulation de données 21A. Le transfert d'un module d'information du bus 21 vers le bus property. Under the effect of this access authorization signal, the PMS 31B transfers the information module from the queue 39B to the data circulation bus 21A. The transfer of an information module from bus 21 to the bus
21A est ainsi accompli.21A is thus accomplished.
Inversement, le transfert d'un module d'informa- Conversely, the transfer of an information module
tion du bus 21A vers le bus 21 s'effectue par l'intermé- tion from bus 21A to bus 21 is carried out via
diaire du processeur de module d'information d'entrée 30B de la carte de transfert inter-bus 41B, d'un émetteur 43B diary of the input information module processor 30B of the inter-bus transfer card 41B, of a transmitter 43B
associé, d'un récepteur 44A dans la carte de transfert in- associated, with a receiver 44A in the transfer card
ter-bus 41A, et d'un processeur de module d'information de sortie 31A. Bien entendu, la mémoire d'étiquettes exigées 33B dans le PME 30B contient une liste des étiquettes de tous les modules d'information exigés pour l'exécution de ter-bus 41A, and an output information module processor 31A. Of course, the required label memory 33B in the PME 30B contains a list of the labels of all the information modules required for the execution of
toutes les fonctions sur le bus 21.all functions on bus 21.
Dans le système 20' de la figure 6, chacun des sous-systèmes 20 et 20A fonctionne d'une manière complètement indépendante de l'autre. En fait, chaque sous-système 20, 20A ignore la présence de l'autre sous-système. L'interface, cons- tituée par les cartes de transfert inter-bus associées 41A ou In the system 20 ′ in FIG. 6, each of the subsystems 20 and 20A operates in a completely independent manner from the other. In fact, each subsystem 20, 20A ignores the presence of the other subsystem. The interface, constituted by the associated inter-bus transfer cards 41A or
41B, considère le système individuel 20 ou 20A exactement com- 41B, considers the individual system 20 or 20A exactly as
me n'importe quel autre processeur de module d'information me any other information module processor
connecté au bus de circulation de données 21 ou 21A associé. connected to the associated data circulation bus 21 or 21A.
L'invention n'est pas limitée aux configurations à The invention is not limited to configurations with
un ou deux bus de circulation de données des figures 1 et 6. one or two data circulation buses in Figures 1 and 6.
Au contraire, on peut interconnecter un ensemble de sous-sys- On the contrary, we can interconnect a set of subsystems
tèmes semblables à celui de la figure 1, ayant chacun leur propre bus de circulation de données, pour former un système temes similar to that of Figure 1, each having their own data traffic bus, to form a system
global. En outre, les interconnexions entre les bus de cir- global. In addition, the interconnections between the bus lines
culation de données sont entièrement arbitraires ou peuvent data culation are entirely arbitrary or may
être entièrement sélectionnées.be fully selected.
La figure 7 représente schématiquement un exemple Figure 7 schematically shows an example
d'un tel système à plusieurs bus de circulation de données. of such a system with several data circulation buses.
Dans ce système, chacun des sous-systèmes de processeur à séquence de données séparés 20B a 20F comporte son propre bus de circulation de données respectif 21B à 21F. Chacun des sous-systèmes a une configuration semblable à celle de la In this system, each of the separate data sequence processor subsystems 20B to 20F has its own respective data flow bus 21B to 21F. Each of the subsystems has a configuration similar to that of the
figure 1, avec ses processeurs de module d'information asso- Figure 1, with its associated information module processors
ciés 23B à 23F et son propre circuit d'arbitrage associé 32B- ciés 23B to 23F and its own associated arbitration circuit 32B-
32F.32F.
Dans la configuration de la figure 7, le sous- In the configuration of Figure 7, the sub-
système 20B est interconnecté aux sous-systèmes 20C, 20D et system 20B is interconnected to subsystems 20C, 20D and
F par des paires respectives de cartes de transfert inter- F by respective pairs of inter-
bus 41B-41C, 41B-41D et 41B-41F. De façon similaire, le sous- bus 41B-41C, 41B-41D and 41B-41F. Similarly, the sub-
système 20C est interconnecté aux sous-systèmes 20D et 20F par les cartes de transfert inter-bus 41C-41D et 41C-41F. De 20C system is interconnected to the 20D and 20F subsystems by the 41C-41D and 41C-41F inter-bus transfer cards. Of
façon similaire, les sous-systèmes 20E et 20F sont intercon- similarly, the 20E and 20F subsystems are interconnected
nectés par les cartes de transfert inter-bus 40E-40F. connected by the 40E-40F inter-bus transfer cards.
Comme dans le système décrit en relation avec la figure 6, chaque paire de cartes de transfert inter-bus 41 As in the system described in relation to FIG. 6, each pair of inter-bus transfer cards 41
transfère, entre les bus interconnectés,uniquement les modu- transfers, between the interconnected buses, only the modules
les d'information qu'exige le bus récepteur. the information required by the receiving bus.
Comme le montre la figure 8, les circuits d'en- As shown in Figure 8, the input circuits
trée et de sortie de données du processeur à séquence de input and output of processor sequence data
données 20 peuvent être réalisés par une ou plusieurs car- data 20 can be realized by one or more
tes d'entrée/sortie (E/S) 45 associées au bus de circula- input / output (I / O) 45 associated with the traffic bus
tion de données 21. Une telle carte d'E/S 45 a une configu- data card 21. Such an I / O card 45 has a configuration
ration qui est largement similaire à celle d'un processeur de module d'information 23. Cependant, au lieu de comporter ration which is largely similar to that of an information module processor 23. However, instead of comprising
une unité de traitement 25 contenue dans la section d'exé- a processing unit 25 contained in the exe section
cution de fonction 24, elle comporte un récepteur d'entrée cution of function 24, it includes an input receiver
46 et/ou un émetteur de sortie 47 approprié. 46 and / or an appropriate output transmitter 47.
Le processeur de module d'information d'entrée The input information module processor
30i dans la carte d'E/S 45 enregistre une liste des étiquet- 30i in the I / O board 45 stores a list of labels-
tes pour tous les modules d'information ayant des données qui doivent être émises par l'émetteur de sortie 47 vers un certain dispositif externe tel qu'un modem, une imprimante, un visuel à tube cathodique ou autre. Ainsi, chaque fois tes for all the information modules having data which must be sent by the output transmitter 47 to a certain external device such as a modem, a printer, a cathode ray tube display or the like. So every time
qu'un module d'information est présent sur le bus 21 et con- that an information module is present on bus 21 and con-
tient des données à émettre par l'émetteur 47, ce module d'information est accepté par le PME 30i et il est dirigé holds data to be sent by the transmitter 47, this information module is accepted by the PME 30i and is directed
vers le dispositif de sortie par l'intermédiaire de l'émet- to the output device via the transmitter
teur 47.tor 47.
Inversement, des données qui doivent être intro- Conversely, data that must be intro
duites sur le bus de circulation de données 21 sont appli- data on the data circulation bus 21 are applied
quées par l'intermédiaire du récepteur 46 à un processeur de module d'information de sortie 31i dans lequel elles quées via the receiver 46 to a processor of module of information output 31i in which they
sont assemblées en un module d'information, avec l'éti- are assembled into an information module, with the label
quette appropriée. Le nouveau module d'information est en- appropriate quette. The new information module is in
suite introduit en file d'attente et il est appliqué au bus 21 d'une manière identique à celle mise en oeuvre par le processeur de module d'information de sortie 31, décrit en continuation introduced into the queue and it is applied to the bus 21 in a manner identical to that implemented by the output information module processor 31, described in
relation avec la figure 5.relationship to Figure 5.
La définition de la configuration et l'initiali- The definition of the configuration and the initiali-
sation du système global de processeur à séquence de données peuvent être effectuées par un ordinateur auxiliaire ou une unité centrale de traitement (UCT) 50 qui est interconnecté, sation of the overall data sequence processor system can be carried out by an auxiliary computer or a central processing unit (CPU) 50 which is interconnected,
comme le montre la figure 9, aux processeurs de-module d'in- as shown in figure 9, the de-module processors
formation ou cartes à séquence de données, associés au pro- cesseur à séquence de données 20. En particulier, chacune training or data sequence cards, associated with the data sequence processor 20. In particular, each
des cartes de processeur de module d'information 23a, 23b... information module processor cards 23a, 23b ...
23i associées au bus à circulation de données 21 (comme dé- 23i associated with the data traffic bus 21 (as a
crit en relation avec la figure 1), peut également être in- crit in relation to figure 1), can also be in-
terconnectée à l'UCT 50 par un bus séparé 51. Un but de cette configuration est de permettre de sélectionner et terconnected to the CPU 50 by a separate bus 51. One purpose of this configuration is to allow selection and
d'initialiser sous la commande de l'ordinateur 50 les fonc- to initialize under computer control 50 the functions
tions spécifiques qui sont accomplies par chacune des unités specific actions that are accomplished by each unit
de traitement 25 dans chacune des cartes à séquence de don- 25 in each of the data sequence cards
nées 23.born 23.
A titre d'exemple, l'unité de traitement 25a peut For example, the processing unit 25a can
être. constituée elle-même par un microprocesseur et une mé- be. itself constituted by a microprocessor and a mete
* moire de programme dans laquelle sont enregistrés le ou les* program memory in which the
programmes appropriés destinés à faire en sorte que le mi- appropriate programs to ensure that the mid-
croprocesseur accomplisse une ou plusieurs fonctions spéci- croprocessor performs one or more specific functions
fiées fl' f2' etc. Il n'est pas nécessaire que ces fonctions et leurs programmes correspondants soient fixés à l'avance dans l'unité de traitement 25a. Ils peuvent au contraire être introduits dans l'unité de traitement 25a à partir de l'ordinateur 50 au moment o le processeur à séquence de données 20 est initialisé pour accomplir une certaine tâche fied fl 'f2' etc. These functions and their corresponding programs need not be set in advance in the processing unit 25a. On the contrary, they can be introduced into the processing unit 25a from the computer 50 at the time when the data sequence processor 20 is initialized to accomplish a certain task.
de calcul. Une telle configuration procure une grande sou- Calculation. Such a configuration provides great support.
plesse dans les applications dans lesquelles le processeur crashes in applications in which the processor
à séquence de données de l'invention est employé. The invention's data sequence is used.
Si un utilisateur particulier, travaillant sur un If a particular user, working on a
certain projet, désire que l'unité de traitement 25a ac- certain project, wishes that the processing unit 25a ac-
complisse la fonction (fa) de la figure 3, avant d'accomplir le calcul réel, il commande à l'ordinateur 50 d'introduire dans l'unité de traitement 25a le programme d'ordinateur approprié pour accomplir la fonction (fa). On peut de façon completes the function (fa) of FIG. 3, before accomplishing the actual calculation, it commands the computer 50 to introduce into the processing unit 25a the appropriate computer program to perform the function (fa). We can so
correspondante utiliser l'UCT 50 pour charger d'autres fonc- corresponding use the UCT 50 to load other functions
tions appropriées dans d'autres unités de traitement 25 dans appropriate treatment in other treatment units 25 in
les sections d'exécution de fonction 24 de certains des pro- the function execution sections 24 of some of the pro-
cesseurs de module d'information ou des cartes à séquence de données 23 qui sont associés au bus de circulation de données information module terminators or data sequence cards 23 which are associated with the data traffic bus
21, ou dans tous ces processeurs.21, or in all of these processors.
Il n'est pas obligatoire que cette opération de chargement de fonction soit effectuée avant que le processeur This function loading operation does not have to be performed before the processor
à séquence de données 20 effectue réellement son calcul. Ain- with data sequence 20 actually performs its calculation. Ain-
si, l'UCT 50 peut réellement contrôler le traitement qui est effectué par le système de processeur 20 et introduire de if, the CPU 50 can really control the processing which is carried out by the processor system 20 and introduce
façon dynamique des changements dans le système à des ins- dynamically changes in the system at ins-
tants appropriés. Dans ce but, une carte de contrôle du appropriate ones. For this purpose, a control card of the
fonctionnement et de correction de défauts 52 in- operation and fault correction 52 in-
terconnecte le bus de circulation de données 21 et le bus 51. connects the data circulation bus 21 and the bus 51.
Cette carte 52 peut avoir une configuration (par le fait This card 52 can have a configuration (by the fact
qu'elle comporte un processeur de module d'information d'en- that it includes an information module processor
trée semblable au PME 30 de la figure 5) lui permettant de détecter la présence de modules d'information ayant certaines very similar to PME 30 in Figure 5) allowing it to detect the presence of information modules having certain
étiquettes particulières, et de contrôler les valeurs de don- particular labels, and to control the data values
nées qui leur sont associées. L'ordinateur 50 peut alors être associated with them. The computer 50 can then be
programmé, par exemple, de façon à réagir à certaines condi- programmed, for example, to react to certain conditions
tions de données dans des modules d'information ayant certai- data in information modules having certai-
nes étiquettes. Sous l'effet de la détection de ces condi- our labels. Under the effect of the detection of these conditions
tions, l'ordinateur peut alors changer ou modifier les fonc- the computer can then change or modify the functions
tions accomplies par une ou plusieurs des unités de traite- one or more of the milking units
ment dans le processeur de module d'information 23. On réa- in the information module processor 23. We realize
lise ainsi une commande dynamique du système. thus reads dynamic control of the system.
Une fonction différente mais connexe de l'ordina- A different but related function of the computer-
teur 50, qui est utilisée à la fois pour l'initialisation et 50, which is used for both initialization and
pour le changement dynamique de fonction des unités de trai- for the dynamic change of function of the processing units
tement, consiste à charger dans les mémoires d'étiquettes consists of loading into the label memories
exigées 33 (figure 5) de chaque processeur de module d'in- requirements 33 (Figure 5) of each module processor
formation d'entrée 30 la liste d'étiquettes de modules d'in- input training 30 the list of labels of in-
formation qui sont exigées par la section d'exéction de fonction 24 associée. Ainsi, dans l'exemple décrit ci-dessus, training which are required by the associated function execution section 24. So in the example described above,
lorsque 1'UCT 50 établit la configuration de l'unité de trai- when the UCT 50 establishes the configuration of the processing unit
tement 25a pour qu'elle accomplisse la fonction f2 de la fi- 25a so that it performs the function f2 of the fi-
gure 4, l'UCT 50 introduit simultanément dans la mémoire d'étiquettes exigées 33 les étiquettes "1", "2" et "3" qui sont associées aux modules d'information contenant les données exigées pour accomplir cette fonction. De façon similaire, gure 4, the CPU 50 simultaneously introduces into the memory for required labels 33 the labels "1", "2" and "3" which are associated with the information modules containing the data required to perform this function. In the same way,
l'UCT 50 charge dans le circuit de formation de module d'in- the UCT 50 loads in the module training circuit
formation 38 du PMS 31 (figure 5) l'information nécessaire training 38 of PMS 31 (figure 5) the necessary information
pour que des données de sortie provenant de l'unité de trai- so that output data from the processing unit
tement 25a et associées à l'arc D soient assemblées en un mo- 25a and associated with arc D are assembled in a mo-
dule d'information ayant l'étiquette "4" nécessaire. information package with label "4" required.
De façon similaire, si le système de traitement à séquence de données comporte plus d'un bus de circulation de données, l'UCT 50 initialise égaJement les cartes de transfert inter-bus 41A, 41B (figure 6), de façon à introduire dans les Similarly, if the data sequence processing system comprises more than one data circulation bus, the CPU 50 also initializes the inter-bus transfer cards 41A, 41B (FIG. 6), so as to introduce into the
mémoiresd'étiquettes exigées 33A et 33B les valeurs d'étiquet- label memories required 33A and 33B label values-
tes de modules d'information qui doivent être respectivement of information modules which must be respectively
transmis du bus 21 vers le bus 21A et inversement. transmitted from bus 21 to bus 21A and vice versa.
L'UCT 50 (figure 9) a encore une autre fonction qui consiste à contrôler l'existence de défauts de fonctionnement dans le processeur 20 pendant qu'il fonctionne. Par exemple, si une unité de traitement particulière, soit l'unité de traitement 25a dans le processeur de module d'information 23, présente un défaut pendant une opération de traitement, l'UCT peut reconnaître cette situation. Elle peut par exemple reconnaître cette situation par l'absence de tout module d'in- The CPU 50 (FIG. 9) has yet another function which consists in checking the existence of operating faults in the processor 20 while it is operating. For example, if a particular processing unit, namely the processing unit 25a in the information module processor 23, presents a fault during a processing operation, the CPU can recognize this situation. It can for example recognize this situation by the absence of any information module.
formation ayant l'étiquette "4" (qui doit être émis par cette formation having the label "4" (which must be issued by this
unité de traitement), pendant un certain intervalle de temps. processing unit), for a certain period of time.
Dans ce cas, l'UCT 50 pourrait modifier le système de façon In this case, the UCT 50 could modify the system in a way
dynamique afin qu'une autre unité de traitement 25, fonction- dynamic so that another processing unit 25, function-
nant correctement, exécute la fonction qui avait été affectée correctly, performs the function that was assigned
précédemment à l'unité de traitement 25a défectueuse. previously to the faulty processing unit 25a.
Une autre fonction de i'UCT 50 est d'optimiser la configuration du processeur à séquence de données 20 pour un Another function of i'UCT 50 is to optimize the configuration of the data sequence processor 20 for a
calcul particulier. Par exemple, si on sait qu'un calcul par- particular calculation. For example, if we know that a calculation par-
ticulier exige un beaucoup plus grand nombre d'opérations re- particular requires a much greater number of re-
latives à une certaine fonction particulière fx, par rapport au nombre de calculs pour d'autres opérations nécessaires, l'UCT 50 peut définir la configuration du système de façon que plusieurs unités de traitement 25 aient la configuration relating to a certain particular function fx, in relation to the number of calculations for other necessary operations, the CPU 50 can define the configuration of the system so that several processing units 25 have the configuration
appropriée pour accomplir la fonction f. appropriate to perform the function f.
x Une caractéristique particulière du processeur à x A special characteristic of the processor
séquence de données 20 considéré consiste en ce qu'il n'uti- data sequence 20 considered is that it does not use
lise aucune mémoire globale à laquelle toutes les fonctions tentent d'accéder simultanément. La vitesse de calcul dans un tel système à mémoire globale est souvent limitée par les reads no global memory which all functions are trying to access simultaneously. The speed of calculation in such a global memory system is often limited by the
demandes d'accès concurrentes à la base de données commune. concurrent access requests to the common database.
On élimine donc cette difficulté ainsi que le goulet d'étran- We therefore eliminate this difficulty as well as the bottleneck
glement de Von Neumann associé.associated Von Neumann settlement.
Il va de soi que de nombreuses modifications peu- It goes without saying that many modifications can
vent être apportées au dispositif décrit et représenté, sans can be made to the device described and shown, without
sortir du cadre de l'invention.depart from the scope of the invention.
Claims (12)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67835884A | 1984-12-05 | 1984-12-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2574197A1 true FR2574197A1 (en) | 1986-06-06 |
Family
ID=24722458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8518010A Pending FR2574197A1 (en) | 1984-12-05 | 1985-12-05 | DATA SEQUENCE TYPE PROCESSOR |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS61184641A (en) |
DE (1) | DE3542436A1 (en) |
FR (1) | FR2574197A1 (en) |
GB (1) | GB2168182A (en) |
IL (1) | IL77145A0 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1329431C (en) * | 1988-09-02 | 1994-05-10 | Pierre A. Radochonski | Single bus graphics data processing pipeline |
DE68926043T2 (en) * | 1989-07-20 | 1996-08-22 | Toshiba Kawasaki Kk | Multiprocessor computer system |
GB9705908D0 (en) * | 1997-03-21 | 1997-05-07 | Abbotsbury Software Ltd | Apparatus for the management of digital information |
US6374319B1 (en) | 1999-06-22 | 2002-04-16 | Philips Electronics North America Corporation | Flag-controlled arbitration of requesting agents |
JP4317296B2 (en) * | 1999-09-17 | 2009-08-19 | 株式会社ターボデータラボラトリー | Parallel computer architecture and information processing unit using this architecture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0036766A1 (en) * | 1980-03-21 | 1981-09-30 | Concurrent Processing Systems Proprietary Limited | Computer system and interface therefor |
FR2538140A1 (en) * | 1982-12-21 | 1984-06-22 | Thomson Csf Mat Tel | Bus coupling system for multiple-bus data processing system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1503324A (en) * | 1974-02-28 | 1978-03-08 | Burroughs Corp | Digital data processors and methods of operating such processors |
US4387441A (en) * | 1981-04-16 | 1983-06-07 | Ncr Corporation | Data processing system wherein at least one subsystem has a local memory and a mailbox memory within the local memory for storing header information |
GB2107497B (en) * | 1981-10-15 | 1986-01-15 | Nat Res Dev | Digital computers |
-
1985
- 1985-10-11 GB GB08525140A patent/GB2168182A/en not_active Withdrawn
- 1985-11-26 IL IL77145A patent/IL77145A0/en unknown
- 1985-11-30 DE DE19853542436 patent/DE3542436A1/en not_active Withdrawn
- 1985-12-05 FR FR8518010A patent/FR2574197A1/en active Pending
- 1985-12-05 JP JP60274259A patent/JPS61184641A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0036766A1 (en) * | 1980-03-21 | 1981-09-30 | Concurrent Processing Systems Proprietary Limited | Computer system and interface therefor |
FR2538140A1 (en) * | 1982-12-21 | 1984-06-22 | Thomson Csf Mat Tel | Bus coupling system for multiple-bus data processing system |
Non-Patent Citations (3)
Title |
---|
COMPUTER, vol. 15, no. 2, février 1982, pages 51-57, IEEE, Long Beach, CA, US; I. WATSON et al.: "A practical data flow computer" * |
IEE PROCEEDINGS-E, vol. 128, no. 5, septembre 1981, pages 218-224, Old Woking, Surrey, GB; J.G.D. DA SILVA et al.: "Design of a processing subsystem for the Manchester data-flow computer" * |
SYSTEMS-COMPUTERS-CONTROLS, vol. 15, no. 5, septembre-octobre 1984, pages 11-19, Scripta Publishing Co., Silver Spring, Maryland, US; K. OYAMA et al.: "Theoretical analysis of distributed data flow computer by means of queueing model" * |
Also Published As
Publication number | Publication date |
---|---|
DE3542436A1 (en) | 1986-06-05 |
GB2168182A (en) | 1986-06-11 |
IL77145A0 (en) | 1986-04-29 |
JPS61184641A (en) | 1986-08-18 |
GB8525140D0 (en) | 1985-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220078078A1 (en) | Fpga-enabled compute instances | |
EP1805611B1 (en) | Task processing scheduling method and device for implementing same | |
BE1000819A3 (en) | Computer control unit with a direct access memory programmable. | |
EP0020202B1 (en) | Multiprocessing system for signal treatment | |
Zhao et al. | Packaging and sharing machine learning models via the Acumos AI open platform | |
Hollabaugh | Embedded Linux: hardware, software, and interfacing | |
FR2557322A1 (en) | INTEGRATED CIRCUIT WITH VERY LARGE SCALE SUBDIVISED IN ISOCHRONOUS REGIONS AND METHOD FOR DESIGNING AND CONTROLLING IT USING A MACHINE | |
FR2486682A1 (en) | TREATMENT SYSTEM | |
FR2622989A1 (en) | RECONFIGURABLE MULTIPROCESSOR MACHINE FOR SIGNAL PROCESSING | |
CN110430100A (en) | Network connectivty detection method and device | |
CN106341438A (en) | Request processing method and device | |
FR2573888A1 (en) | SYSTEM FOR THE SIMULTANEOUS TRANSMISSION OF BLOCKS OF DATA OR VECTORS BETWEEN A MEMORY AND ONE OR MORE DATA PROCESSING UNITS | |
EP1158405A1 (en) | System and method for managing a multi-resource architecture | |
CH621201A5 (en) | ||
EP0039635B1 (en) | Method for centralised arbitration and centralised arbiter | |
FR3103585A1 (en) | Method for managing the configuration of access to peripherals and their associated resources of a system on chip forming for example a microcontroller, and corresponding system on chip | |
Patterson | Learn AWS Serverless Computing: A Beginner's Guide to Using AWS Lambda, Amazon API Gateway, and Services from Amazon Web Services | |
EP2124153B1 (en) | Methods and device for implementing multi-functional peripherals using a single standard driver | |
FR2574197A1 (en) | DATA SEQUENCE TYPE PROCESSOR | |
JP2023541529A (en) | Quantum controller fast path interface | |
EP0032862A1 (en) | Device for the superposition of successive data transfer phases between several units of a data processing system | |
FR2522423A1 (en) | DATA PROCESSING UNIT | |
FR2876197A1 (en) | METHOD FOR THE FLEXIBLE MANAGEMENT OF MULTIPLE ACTIVITIES EXECUTED ON PARTITIONABLE PLATFORMS OF A MULTI-PROCESSOR SYSTEM | |
CN107797845A (en) | Method and apparatus for accessing container | |
US20230097508A1 (en) | Pre-allocation of cloud resources through anticipation |