WO2013017744A1 - Dispositif pour echanger des donnees entre au moins deux applications - Google Patents
Dispositif pour echanger des donnees entre au moins deux applications Download PDFInfo
- Publication number
- WO2013017744A1 WO2013017744A1 PCT/FR2012/000303 FR2012000303W WO2013017744A1 WO 2013017744 A1 WO2013017744 A1 WO 2013017744A1 FR 2012000303 W FR2012000303 W FR 2012000303W WO 2013017744 A1 WO2013017744 A1 WO 2013017744A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- input
- transmission
- output
- modules
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40026—Details regarding a bus guardian
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Definitions
- the present invention relates to devices for exchanging data of all kinds between at least two applications of any nature whatsoever.
- the present invention aims to provide a device for exchanging data between at least two applications, which meets at least one of the following conditions:
- QOS Quality of Services
- the structure of the device according to the invention can be used by any component that needs to exchange data, in particular the potential users to ensure the connection between the cores of processors as well as between the cores of processors and the external applications. , or also in very high speed routers.
- the subject of the present invention is a device for exchanging data between at least two applications that consume and / or transmit data, characterized in that it comprises:
- each module comprising output / input means adapted to be connected to an application, each module further comprising an internal communication sub-module having a transmission function and a submodule of internal communication having a reception function,
- Each internal communication sub-module having an emission function comprises:
- a transmission state machine (MEF) circuit comprising emission request output means connected to input means of said control module, authorization request input means, transmission connected to output means of said control module, and
- Each internal communication sub-module having a reception function comprises: a reception finite state machine circuit comprising reception request input means for this submodule connected to output means of said control module, and
- FIG. 1 represents, in the form of a block diagram, the principle of producing a device according to the invention for exchanging data between at least two applications, and
- FIG. 2 represents an algorithm serving to illustrate an example of operation of the device according to the invention.
- the device according to the invention for exchanging data between at least two applications consuming and / or transmitting data A1,
- A2 ... with reference to FIG. 1, comprises at least two first and second modules 1, 2, ..., each module comprising output / input means
- Each module further comprises two internal communication sub-modules 102, 103 -
- the device further comprises a control module 20, a synchronization clock 30 of the control module, and a closed-loop transmission line 40.
- Each of the two internal communication sub-modules 102, 202 having a transmission function includes a machine circuit MEF finite state "transmission 104, 204 comprising (i) application of output means of a transmission 105, 205 connected input means of the control module 20, (ii) transmission authorization request input means 106, 206 connected to output means of the control module 20, and a output interface 108, 208 for the data attached to the application A1,
- each sub-module internal communication 103, 203 having a receiving function, it comprises a machine circuit finite state receiving MEF 109, 209 having receiving request inputting means 10, 210 connected to means output of the control module
- the device further comprises means 50 for coupling the two output interfaces 108, 208 and the two input interfaces 112, 212 respectively sub-modules 102, 202 -
- the two internal communication sub-modules 102, 202 each having a transmission function each comprise error management input / output means 107,
- the means 50 for coupling the two output interfaces 108, 208 and the two input interfaces 112, 212 respectively of the sub-modules 102, 202 - 103, 203 with the transmission loop 40 comprise less a multiplexing module 51 associated in a manner known per se to a register 52.
- this multiplexer 51 has three inputs, two inputs respectively connected to the two output interfaces 108, 208 and to the two input interfaces. 112, 212, and another input connected in series in the transmission loop 40.
- the transmission loop 40 it is advantageously constituted by an MCI bus (known to technicians under this abbreviation which means “internal communication means"), and as for the control module 20, it is preferably a module of finite state machine (FEM) management.
- FEM finite state machine
- the transmitting module can receive the transmitted data.
- This function gives it the possibility of verifying that the data having passed through the closed-loop transmission line 40, or pipeline, are in accordance with those transmitted.
- This clock is managed according to one of the following techniques: static technique, dynamic technique, combination of the two previous techniques.
- a synchronous communication whose operation is statically scalable by definition of the reference clock of the operation of the system and dynamically as a function of the instantaneous volume of data to be exchanged on the transmission line allows fine management of the power consumption in case of not used because only the control MEF operates in an "idle” mode, ie "waiting for a request to send one of the modules".
- One of the advantages presented by the structure described above of the means 50 for coupling the two output interfaces 108, 208 and the two input interfaces 112, 212 respectively of the submodules 102, 202 - 103, 203 with the Transmission loop 40 resides in the fact that, in this way, the multiplexer 51 associated with its register 52 manages the emission of two modules, which generates a reduced latency at the level of the pipeline 40, in particular because of the division. two of the number of registers in the pipeline.
- the Applicant obtained 32 Gbits per second for some applications using a data structure of 128 bits at 250 MHz on a 130 nm Asia technology.
- a higher performance technology 45nm and below
- the use of the multiplexer provides two major advantages, the first concerns the injection of the message in the MCI and the second ensures the removal of the MCI message.
- each module 1, 2, ... that sends a message in the MCI bus 40 reads the message.
- This replay allows to feed the database contained in its upper layers and to control the coherence of the message once it has completed the complete tour of the MCI.
- all the modules connected to the MCI bus 40 receive the message and can thus feed the database contained in their own upper layer.
- This principle makes it possible to distribute the data in each module, leaving each module the possibility of accepting or refusing the message.
- This principle makes it possible to create a distributed database between all the modules interconnected with the MCI with a guarantee of coherence both temporal (presence of data at the same time) and spatial (availability of data for all modules).
- the management principle of the MCI bus implemented in the control MEF 20 makes it possible to allocate the bus MCI to a module following the model "DTDMA" (Dymanic Time Division Multiple Access) that allows optimization of the bandwidth of the MCI 40.
- DTDMA Dynamic Time Division Multiple Access
- control MEF assigns the MCI bus to the various modules connected to it in a predefined sequence.
- FIG. 2 illustrates an example with four modules 1, 2, 3 and 4, in which the sequence is as follows: A B C D A ). Only modules that have made a bus request to the control MEF before their turn are allowed to send a message. In the opposite case, their turn is deleted in the sequence considered. The message will then be sent in the following sequence.
- the following table shows the crossing conditions of the control MEF 20.
- module 4 authorized to emit
- the example given above of a possible operation of the device according to the invention demonstrates the advantage of implementing the crossing conditions 15, 25, 35 and 45, which has the effect of injecting a notion of priority. between the modules linked to the physical position of the module in the bus and therefore to assign a probability of access to the bus which decreases according to the number of the module. It should be noted that the independence of the crossing conditions may allow for certain applications an optimization of the communication model.
- each module is controlled by an external wired signal allowing or not access to the MCI bus 40. If the signal allows access, the module can access the medium. If the signal invalidates the access of the module to the MCI, all the access request signals to the control MEF are forced into an invalidation state, which, for the MEF of Control, amounts purely and simply to removing the module. in management algorithms.
- the principles implemented make it possible to calculate the "worst case of latency" to access the MCI for a module in operational mode. This property is important because it allows to size the system with regard to operational constraints.
- the maximum latency is related to the bus cycle time and the number of modules connected to the MCI 40.
- Latency n-1 * (Opening time of the channel
- ⁇ N number of modules connected to the MCI 40 bus
- Pipeline propagation time n / 2 * 4 ns for a 130 nm Asia technology. For finer technologies, the reference time decreases significantly.
- control module 20 As mentioned above, it is also possible to manage any errors, by means of the control module 20, as that which has been defined before.
- the device provides significant benefits.
- it makes it possible to control the transmission errors, to manage the transmission errors of the module 1, 2, ... at the origin of the message and the errors of reception of each module at the reception, to manage the errors related to the management of the transmission time of a message (message detection too short - minimum message size - or too long - maximum message size), to detect latent failures.
- control of transmission errors is based on the use of two independent mechanisms to verify the transmission of a message.
- the first mechanism uses the method of "Hamming" which makes it possible to check the integrity of each elementary data transmitted in the MCI and to dynamically correct an error.
- the second mechanism is that of a message integrity check that is done through the use of a 32-bit CRC associated with the global message. If, therefore, the message has been correctly transmitted (no detected error detection), the control machine makes a request to delete the message in the transmission queue of the module sending the message and to decrement the error counter associated with the message. transmitter module and receiver modules of a unit value (effective until the counter is 0).
- the error counter associated with the module having detected the error is incremented by eight, the other error counters are not modified, the module carries out an immediate retransmission of the message. In the event of a new error, the retransmission of the message will only be carried out during the next sequence managed by the MEF of Control 20 so as not to block the MCI 40 with the continuous transmission of an error message.
- an "error message” is then generated by the control MEF with the identifier of the message in error and the message in error is deleted from the transmission queue at the module considered.
- the control of the time management in the MCI bus 40 is performed by a monitoring function of the transmission time of each module 1, 2, ....
- the monitoring is based on the control of the speaking time of each module.
- the control MEF 20 stops the considered module: a module shutdown by this type of error must generate a reinitialization of the MEF for controlling the emission of the module without generating a loss of message in the transmission fifo, increases by 16 the error counter associated with the transmission function of the module, and gives the hand to the next module without immediate retransmission of the message because it is necessary to wait for the end of reinitialization of the control function of the transmission module 104, 204.
- the message will therefore be re-transmitted to the following sequence.
- an "error message" is generated containing the address of the module that generated the error.
- a value of greater than or equal to 256 causes the emission of the corresponding module to be forbidden.
- reception error counter a value greater than or equal to 256 causes the passivation of the error detection signal vis-à-vis the control module 20 and prohibits any return of the message to the upper layers of the module in question.
- a cyclic life message is sent to each module 1, 2, .. This message corresponds to the "Status-of-Module". This message is emitted by the upper layers.
- the detection of latent failures involves setting up a monitoring of each module to demonstrate that the module has issued at least its "status" message in the period of time considered.
- a "watch dog” mechanism is associated with each module with, as a value, a value slightly greater than the cycle time of the "status" message of the module. The watch dog is reset each time a message is sent by the module.
- the control module of the MCI is considered as a particular module having a function "Emi_MCI” and “Rec_EMI” so that it can issue the "error and status messages" and receive the setting commands.
- This status must also be issued cyclically to maintain the system monitoring function.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
La présente invention concerne les dispositifs pour échanger des données entre au moins deux applications consommatrice et/ou émettrice de données A1, A2. Le dispositif comporte deux modules 1, 2 ayant des sortie/entrée 101, 201 reliées à une application Α1', A2 et comportant deux sous-modules de communication interne 102, 103 - 202, 203 respectivement d'émission 102, 202 et de réception 103, 203, un module de contrôle 20, une horloge de synchronisation 30 et une ligne de transmission en boucle fermée 40, chaque sous-module 102, 202 comportant un circuit MEF d'émission 104, 204 avec une sortie de demande d'une émission 105, 205 reliée au module 20, une entrée 106, 206 de demande d'autorisation d'émission reliée à une sortie du module 20, et, un interface de sortie 108, 208 pour les données attachées à l'application A1, A2 qui lui est liée, chaque sous-module 103, 203 comportant un circuit MEF de réception 109, 209 avec une entrée de demande de réception 110, 210 reliée à une sortie du module 20 et un interface d'entrée 112, 212 pour les données attachées à l'application A1, A2 qui lui est liée, des moyens 50 étant en outre prévus pour coupler les interfaces 108, 208, 112, 212 avec la boucle de transmission 40.
Description
DISPOSITIF POUR ECHANGER DES DONNEES
ENTRE AU MOINS DEUX APPLICATIONS
La présente invention concerne les dispositifs pour échanger des données de toutes sortes entre au moins deux applications de quelque nature que ce soit.
Il est déjà connu de tels dispositifs, mais ils présentent des inconvénients qui sont essentiellement : leur manque de rapidité et de déterminisme dans leurs échanges et leur manque de synchronisation.
II peut être cité à titre d'exemple, les US-A-2004/064662,
2009/193303 et 2001/044912.
Aussi, la présente invention a-t-elle pour but de réaliser un dispositif pour échanger des données entre au moins deux applications, qui réponde à au moins l'une des conditions suivantes :
· permettre une communication à très haut débit entre des modules d'un même composant en offrant, à chaque module, une même probabilité d'accès à un médium ;
• contrôler ce médium de façon déterministe et sûre par la mise en œuvre d'une MEF (Machine à Etats Finis) gérant les instants d'accès et intégrant nativement une fonction de type "bus guardian" pour surveiller le fonctionnement du dispositif ;
• assurer une communication en sécurité (avec une probabilité d'erreurs inférieure à 10"9 par heure de fonctionnement) par la mise en œuvre de mécanismes de détection et de reprise ;
· gérer le transfert de données avec une QOS (Quality of Services) très importante ;
• disposer d'un modèle comportemental permettant de démontrer le niveau de performance du dispositif ;
• disposer d'un modèle de « sûreté de fonctionnement » applicable permettant de garantir le niveau de fonctionnement global du dispositif ;
• permettre une implémentation aisée au niveau microélectronique de par la ségrégation native des fonctions dont l'interconnexion est réalisée par le dispositif.
En outre la structure du dispositif selon l'invention pourra être utilisée par tout composant ayant besoin d'échanger des données, notamment, les utilisateurs potentiels pour assurer la connexion aussi bien entre cœurs de processeurs qu'entre les coeurs de processeurs et les applications extérieures, ou aussi dans des routeurs à très haut débit.
Plus précisément, la présente invention a pour objet un dispositif pour échanger des données entre au moins deux applications consommatrices et/ou émettrices de données, caractérisé par le fait qu'il comporte :
• au moins un premier module et un second module, chaque module comportant des moyens de sortie/entrée aptes à être reliés à une application, chaque module comportant en outre un sous-module de communication interne ayant une fonction émission et un sous-module de communication interne ayant une fonction réception,
• un module de contrôle,
• une horloge de synchronisation du module de contrôle, et
• une ligne de transmission en boucle fermée,
par le fait que :
• chaque sous-module de communication interne ayant une fonction émission comporte :
* un circuit de machine à états finis (MEF) d'émission comportant des moyens de sortie de demande d'une émission reliés à des moyens d'entrée du dit module de contrôle, des moyens d'entrée de demande d'autorisation d'émission reliés à des moyens de sortie du dit module de contrôle, et
* un interface de sortie pour les données attachées à l'application qui lui est liée,
et que :
• chaque sous-module de communication interne ayant une fonction réception comporte :
* un circuit de machine à états finis de réception comportant des moyens d'entrée de demande de réception pour ce sous-module reliés à des moyens de sortie du dit module de contrôle, et
* un interface d'entrée pour les données attachées à l'application qui lui est liée,
et qu'il comporte en outre :
• des moyens pour coupler les deux interfaces de sortie et d'entrée respectivement des sous-modules avec ladite boucle de transmission.
D'autres caractéristiques et avantages de la présente invention apparaîtront au cours de la description suivante donnée en regard des dessins annexés à titre illustratif mais nullement limitatif, dans lesquels :
La figure 1 représente, sous forme d'un bloc-diagramme, le principe de réalisation d'un dispositif selon l'invention pour échanger des données entre au moins deux applications, et
Là figure 2 représente un algorithme servant à illustrer un exemple de fonctionnement du dispositif selon l'invention.
Le dispositif selon l'invention pour échanger des données entre au moins deux applications consommatrice et/ou émettrice de données A1 ,
A2,... par référence à la figure 1 , comporte au moins deux premier et second modules 1 , 2,..., chaque module comportant des moyens de sortie/entrée
101 , 201 aptes à être reliés à une application A1 , A2. Chaque module comporte en outre deux sous-modules de communication interne 102, 103 -
202, 203 ayant respectivement une fonction émission 102, 202 et une fonction réception 103, 203.
Le dispositif comporte en outre un module de contrôle 20, une horloge de synchronisation 30 du module de contrôle, et une ligne de transmission en boucle fermée 40.
Chacun des deux sous-modules de communication interne 102, 202 ayant une fonction émission comporte un circuit de machine à états finis MEF "d'émission 104, 204 comportant (i) des moyens de sortie de demande d'une émission 105, 205 reliés à des moyens d'entrée du module de contrôle 20, (ii) des moyens d'entrée 106, 206 de demande d'autorisation d'émission reliés à des moyens de sortie du module de contrôle 20, et un
interface de sortie 108, 208 pour les données attachées à l'application A1 ,
A2 qui lui est liée.
Quant à chaque sous-module de communication interne 103, 203 ayant une fonction réception, il comporte, un circuit de machine à états finis MEF de réception 109, 209 comportant des moyens d'entrée de demande de réception 10, 210 reliés à des moyens de sortie du module de contrôle
20, et un interface d'entrée 112, 212 pour les données attachées à l'application A1 , A2 qui lui est liée.
Enfin, dans sa définition première, le dispositif comporte en outre des moyens 50 pour coupler les deux interfaces de sortie 108, 208 et les deux interfaces d'entrée 112, 212 respectivement des sous-modules 102, 202 -
103, 203 avec la boucle de transmission 40.
Selon une réalisation préférentielle, les deux sous-modules de communication interne 102, 202 ayant chacun une fonction émission comportent chacun des moyens d'entrée-sortie de gestion d'erreurs 107,
207 reliés à des moyens d'entrée-sortie du module de contrôle 20 et les deux sous-modules de communication interne 103, 203 ayant une fonction réception comportent chacun des moyens d'entrée-sortie de demande de gestion d'erreurs 111 , 211 reliés à des moyens d'entrée-sortie du module de contrôle 20.
En outre, de façon avantageuse, les moyens 50 pour coupler les deux interfaces de sortie 108, 208 et les deux interfaces d'entrée 112, 212 respectivement des sous-modules 102, 202 - 103, 203 avec la boucle de transmission 40 comportent au moins un module de multiplexage 51 associé de façon connue en elle-même à un registre 52. De façon préférentielle, ce multiplexeur 51 est à trois entrées, deux entrées reliées respectivement aux deux interfaces de sortie 108, 208 et aux deux interfaces d'entrée 112, 212, et une autre entrée montée en série dans la boucle de transmission 40.
Quant à la boucle de transmission 40, elle est avantageusement constituée par d'un bus MCI (connu des techniciens sous cette abréviation qui signifie "Moyen de Communication Interne"), et quant au module de contrôle 20, il est de préférence un module de gestion par machine à états finis (MEF).
La mise en œuvre du dispositif défini ci-dessus est basée sur le fait que la ligne de transmission en boucle fermée 40 a une structure en anneau "pipelinée" (selon la terminologie anglosaxonne "pipelined ring") permettant à tout module 1 , 2, ... de diffuser des données sous forme de messages à tous les autres modules.
De ce fait, le module émetteur peut ainsi recevoir les données émises. Cette fonction lui donne la possibilité de vérifier que les données ayant transitées dans la ligne de transmission en boucle fermée 40, ou pipeline, sont bien conformes avec celles émises.
Toute la gestion du dispositif est synchronisée par une horloge unique, ce qui engendre beaucoup d'avantages. En outre, cette horloge est gérée selon l'une des techniques suivantes : technique statique, technique dynamique, combinaison des deux techniques précédentes.
Notamment, une communication synchrone dont le fonctionnement est scalable statiquement par définition de l'horloge de référence du fonctionnement du système et dynamiquement en fonction du volume instantané de données à échanger sur la ligne de transmission permet une gestion fine de la consommation électrique en cas de non utilisation car, seule, la MEF de contrôle fonctionne dans un mode "idle" c'est-à-dire "en attente d'une demande d'émission d'un des modules".
Il est aussi possible de gérer dynamiquement l'horloge de référence en fonction de conditions externes (par exemple pour un processeur alimenté sur batterie, ...).
L'un des avantages présentés par la structure décrite ci-dessus des moyens 50 pour coupler les deux interfaces de sortie 108, 208 et les deux interfaces d'entrée 112, 212 respectivement des sous-modules 102, 202 - 103, 203 avec la boucle de transmission 40 réside dans le fait que, de cette façon, le multiplexeur 51 associé à son registre 52 gère l'émission de deux modules, ce qui engendre un temps de latence réduit au niveau du pipeline 40, du fait notamment de la division par deux du nombre de registres dans le pipeline.
C'est ainsi que le Demandeur a obtenu, pour certaines applications, un débit de 32 Gbits par seconde en utilisant une structure de données de
128 bits à 250 MHz sur une technologie Asie de 130 nm. Sur une technologie plus performante (45nm et en dessous), il est possible d'atteindre des performances largement supérieures à la centaine de Gbits/sec, ce qui peut présenter des avantages majeurs pour la communication, par exemple entre cœurs de processeur, et aussi entre cœurs de processeur et les entrées-sorties d'applications extérieures, ou encore pour les routeurs à très haut débit.
L'utilisation du multiplexeur procure deux avantages majeurs, le premier concerne l'injection du message dans le MCI et le second assure le retrait du message du MCI.
Ainsi, chaque module 1 , 2, ... qui émet un message dans le bus MCI 40 relit le message. Cette relecture permet d'alimenter la base de données contenue dans ses couches supérieures et de contrôler la cohérence du message une fois que celui-ci a effectué le tour complet du MCI. Il est à noter qu'à ce stade tous les modules connectés au bus MCI 40 reçoivent le message et peuvent ainsi alimenter la base de données contenue dans leur propre couche supérieure. Ce principe permet de distribuer les données dans chaque module, laissant à chaque module la possibilité d'accepter ou de refuser le message. Ce principe permet de créer une base de données distribuée entre tous les modules interconnectés au MCI avec une garantie de cohérence à la fois temporelle (présence des données au même instant) et spatiale (disponibilité des données pour tous les modules).
L'ensemble du pipeline est piloté par la même horloge. Ceci engendre donc une structure synchrone dans laquelle sont complètement maîtrisés les temps de propagation. Il est ainsi possible de respecter le temps de "set-up" qui correspond au temps minimum à respecter entre le moment où la donnée est présente en entrée du registre et le moment où le front d'horloge permettant le chargement arrive de chaque registre du pipeline ou de chaque entrée de fifo (fifo est en anglais "First In/First Out" soit en français Première entrée/Première sortie), positionnée en entrée du module 1 , 2,...
De plus, le principe de gestion du bus MCI mis en œuvre dans la MEF de contrôle 20 permet d'attribuer le bus MCI à un module suivant le
modèle « DTDMA » (Dymanic Time Division Multiple Access en terme anglo-saxons) qui permet une optimisation de la bande passante du MCI 40.
C'est ainsi que la MEF de contrôle 20 attribue le bus MCI aux différents modules qui lui sont connectés suivant une séquence prédéfinie.
La figure 2 illustre un exemple avec quatre modules 1 , 2, 3 et 4, dans laquelle la séquence est la suivante : A B C D A ...). Seuls les modules qui ont effectué une demande de bus à la MEF de contrôle 20 avant leur tour de parole sont autorisés à émettre un message. Dans le cas contraire, leur tour de parole est supprimé dans la séquence considérée. Le message sera alors émis dans la séquence suivante. Le TABLEAU ci-après présente les conditions de franchissement de la MEF de contrôle 20.
TABLEAU des Conditions de franchissement :
77" M1 : module 1 autorisé à émettre
12 : !M1 et M2 : module 2 autorisé à émettre
13 : !M1 et !M2 et M3 : module 3 autorisé à émettre
14 : !M1 et !M2 et !M3 et M4 : module 4 autorisé à émettre
15 !M1 et !M2 et !M3 et !M4 : retour à la phase attente
21 M2 : module 2 autorisé à émettre
22 !M2 et M3 : module 3 autorisé à émettre
23 · !M2 et !M3 et M4 : module 4 autorisé à émettre
24 : !M2 et !M3 et !M4 et M1 : module 1 autorisé à émettre
25 : !M1 et !M2 et !M3 et !M4 : retour à la phase attente
31 M3 : module 3 autorisé à émettre
32 !M3 et M4 : module 4 autorisé à émettre
33 !M3 et !M4 et M1 : module 1 autorisé à émettre
34 !M3 et !M4 et !M1 et M2 : module 2 autorisé à émettre
35 !M1 et !M2 et !M3 et !M4 : retour à la phase attente
41 M4 : module 3 autorisé à émettre 42 !M4 et M1 : module 4 autorisé à émettre 43 !M4 et !M1 et M2 : modulé 1 autorisé à émettre 44 !M4 et !M1 et !M2 et M3 : module 2 autorisé à émettre 45 !M1 et !M2 et !M3 et !M4 : retour à la phase attente
L'exemple donné ci-dessus d'un fonctionnement possible du dispositif selon l'invention démontre l'intérêt de mettre en œuvre les conditions de franchissement 15, 25, 35 et 45, ce qui a pour incidence d'injecter une notion de priorité entre les modules liée à la position physique du module dans le bus et donc d'attribuer une probabilité d'accès au bus qui diminue en fonction du numéro du module. Il est à noter que l'indépendance des conditions de franchissement peut permettre pour certaines applications une optimisation du modèle de communication.
Afin de gérer les contraintes liées à la gestion de la sûreté de fonctionnement, chaque module est contrôlé par un signal câblé externe autorisant ou non l'accès au bus MCI 40. Si le signal autorise l'accès, le module pourra accéder au médium. Si le signal invalide l'accès du module au MCI, tous les signaux de demande d'accès à la MEF de contrôle sont forcés en état d'invalidation, ce qui, pour la MEF de Contrôle, revient purement et simplement à supprimer le module dans les algorithmes de gestion.
Les principes mis en œuvre permettent de calculer le « pire des cas de latence » pour accéder au MCI pour un module en mode opérationnel. Cette propriété est importante car elle permet de dimensionner le système au regard des contraintes opérationnelles. Pour un module, le délai de latence maximum est lié au temps de cycle du bus et au nombre de modules connectés au MCI 40.
Soit :
Délai de latence = n-1 * ( Temps ouverture du canal
+ Temps de transmission du message
+ Temps de propagation dans le pipeline
+ Temps de fermeture du canal
+ Temps analyse
)
Avec :
· n : nombre de module connecté au bus MCI 40 ;
• Temps de propagation dans le pipeline = n/2 * 4 ns pour une technologie Asie de 130 nm. Pour des technologies plus fines, le temps de référence diminue sensiblement.
Avec cette équation, il est mis en évidence que, pour des échanges de données (ou messages) de petites tailles, la performance obtenue est liée directement à la performance de la MEF de contrôle. De ce fait, il a été porté un soin particulier à limiter le nombre de coups d'horloge nécessaire à l'ouverture et la fermeture du canal ainsi qu'à l'analyse en fin de transmission.
Comme mentionné ci-avant, il est aussi possible de gérer les éventuelles erreurs, au moyen du module de contrôle 20, comme celui qui a été défini auparavant.
Avec cette structure, c'est-à-dire à contrôle centralisée, le dispositif permet des avantages importants. Notamment, il permet de contrôler les erreurs de transmission, de gérer les erreurs d'émission du module 1 , 2, ... à l'origine du message et les erreurs de réception de chaque module à la réception, de gérer les erreurs liées à la gestion du temps d'émission d'un message (détection de message trop court - taille minimum d'un message- ou trop long - taille maximum d'un message), de détecter les pannes latentes.
Notamment, le contrôle des erreurs de transmission est basé sur l'utilisation de deux mécanismes indépendants afin de vérifier la transmission d'un message. Le premier mécanisme utilise la méthode de "Hamming" qui permet de vérifier l'intégrité de chaque donnée élémentaire transmise dans le MCI et de corriger en dynamique une erreur. Le second mécanisme est celui d'un contrôle d'intégrité du message qui est fait grâce à l'utilisation d'un CRC 32 bits associé au message global.
Si donc le message a été transmis correctement (aucune détection d'erreur détectée), la machine de contrôle effectue une demande d'effacement du message dans la file d'émission du module émetteur du message et de décrément du compteur d'erreurs associé au module émetteur et aux modules récepteur d'une valeur unitaire (effectif tant que le compteur n'est pas à 0).
En revanche, si le message a été détecté en erreur, le compteur d'erreurs associé au module ayant détecté l'erreur est incrémenté de huit, les autres compteurs d'erreurs ne sont pas modifiés, le module effectue une réémission immédiate du message. En cas de nouvelle erreur, la réémission du message ne sera effectuée que lors de la prochaine séquence gérée par la MEF de Contrôle 20 afin de ne pas bloquer le MCI 40 avec l'émission continuelle d'un message en erreur.
Dans le cas où un message est détecté en erreur d'émission pendant trois séquences consécutives, un "message d'erreur" est alors généré par la MEF de contrôle 20 avec l'identifiant du message en erreur et le message en erreur est supprimé de la file d'émission au niveau du module considéré.
La centralisation, au niveau de la MEF de Contrôle 20, des erreurs pouvant être détectées soit au niveau du sous-module d'émission 102, 202 par la MEF de contrôle d'émission 104, 204 soit au niveau des sous- modules de réception 103, 203 par la MEF de contrôle de réception 109, 209, permet de gérer les compteurs d'erreur et de demander la réémission du message. La gestion de ces cas d'erreur est la même que celle décrite • précédemment.
Le contrôle de la gestion du temps dans le bus MCI 40 est réalisé par une fonction de surveillance du temps d'émission de chaque module 1 , 2, .... La surveillance est basée sur le contrôle du temps de parole de chaque module. En cas de non respect du temps de parole, la MEF de contrôle 20 arrête le module considéré : un arrêt de module par ce type d'erreur doit engendrer une réinitialisation de la MEF de contrôle de l'émission du module sans engendrer de perte de message dans la fifo d'émission, augmente de "16" le compteur d'erreurs associé à la fonction d'émission du module, et donne la main au module suivant sans réémission immédiate du message
car il faut attendre la fin de réinitialisation de la fonction de contrôle du module d'émission 104, 204. Le message sera donc réémis à la séquence suivante.
Dans le cas où un compteur d'erreur atteint une valeur supérieure ou égale à 256, un "message d'erreur" est généré contenant l'adresse du module ayant généré l'erreur.
Pour le compteur d'erreurs d'émission, une valeur supérieure ou égale à 256 entraîne l'interdiction d'émission du module correspondant.
Pour le compteur d'erreurs de réception : une valeur supérieure ou égale à 256 entraîne la passivation du signal de détection d'erreur vis-à-vis du module de contrôle 20 et interdit toute remontée du message vers les couches supérieures du module considéré.
Pour éviter toute panne latente, un message de vie cyclique est émis au niveau de chaque module 1 , 2, .. Ce message correspond au « Statut-du- Module ». Ce message est émis par les couches supérieures.
La détection des pannes latentes passe par la mise en place d'une surveillance de chaque module permettant de démontrer que le module a émis au moins son message "statut" dans la période de temps considérée.
Pour assurer cette détection, un mécanisme de "watch dog" (en français littéralement Chien de garde) est associé à chaque module avec, comme valeur, une valeur légèrement supérieure au temps de cycle du message « statut » du module. Le « watch dog » est réarmé à chaque transmission d'un message par le module.
Avec ce mécanisme de réémission systématique du message de « statut du module », le watch dog associé ne doit jamais tomber.
Néanmoins, si cela venait à arriver, un message d'erreur est alors généré par la MEF de contrôle 20 avec l'adresse du module considéré.
Le module de contrôle du MCI est considéré comme un module particulier disposant d'une fonction « Emi_MCI » et « Rec_EMI » de façon à pouvoir émettre les "messages d'erreur et de statut" et recevoir les commandes de paramétrage.
Il dispose d'un statut dont les bits sont issus de la gestion du bus, de l'état des modules et de sa gestion interne :
Pour chaque module, les bits suivants sont identifiés (d'autres peuvent être utilisés en fonction des applications) :
• Bit de validité du module
• Bit associé à la détection de panne latente · Bit associé au compteur d'erreur en émission
• Bit associé au compteur d'erreurs en réception
• Bit représentatif du signal d'invalidation physique
• Bit représentatif du signal d'invalidation logique
Ce statut doit aussi être émis de façon cyclique de façon à entretenir la fonction de surveillance système.
De la même manière, la génération des messages d'erreurs dans le dispositif permet de remonter les erreurs aux applications.
Claims
1. Dispositif pour échanger des données entre au moins deux applications consommatrice et/ou émettrice de données (A1 , A2, ...), caractérisé par le fait qu'il comporte :
• au moins deux premier et second modules (1, 2, ...), chaque module comportant des moyens de sortie/entrée (101 , 201) aptes à être reliés à une application (A1 , A2), chaque module comportant en outre deux sous- modules de communication interne (102, 103 - 202, 203) ayant respectivement une fonction émission (102, 202) et une fonction réception (103, 203),
• un module de contrôle (20),
• une horloge de synchronisation (30) du module de contrôle, et
• une ligne de transmission en boucle fermée (40),
et par le fait que :
• chaque sous-module de communication interne ayant une fonction émission (102, 202) comporte :
* un circuit de machine à états finis (MEF) d'émission (104, 204) comportant des moyens de sortie de demande d'une émission (105, 205) reliés à des moyens d'entrée du dit module de contrôle (20), des moyens d'entrée (106, 206) respectivement de demande d'autorisation d'émission reliés à des moyens de sortie du dit module de contrôle (20), et un interface de sortie (108, 208) pour les données attachées à l'application (A , A2) qui lui est liée,
et que :
• chaque sous-module de communication interne ayant une fonction réception (103, 203) comporte :
* un circuit de machine à états finis (MEF) de réception (109, 209) comportant des moyens d'entrée de demande de réception ( 10, 210) pour ce sous-module reliés à des moyens de sortie du dit module de contrôle (20), et
* un interface d'entrée (112, 212) pour les données attachées à l'application (A1 , A2) qui lui est liée,
INCORPORATION PAR RENVOI (REGLE 20.6) et qu'il comporte en outre
• des moyens (50) pour coupler les deux interfaces de sortie (108, 208) et d'entrée (112, 212) respectivement des sous-modules (102, 202, 103, 203) avec ladite boucle de transmission (40).
2. Dispositif selon la revendication 1 , caractérisé par le fait que les deux sous-modules de communication interne ayant chacun une fonction émission (102, 202) comportent chacun des moyens entrée-sortie de gestion d'erreurs (107, 207) reliés à des moyens d'entrée-sortie du dit module de contrôle (20) et que les deux sous-modules de communication interne ayant chacun une fonction réception (103, 203) comportent chacun des moyens d'entrée-sortie de demande de gestion d'erreurs (111 , 211) reliés à des moyens d'entrée-sortie du dit module de contrôle (20).
3, Dispositif selon l'une des revendications 1 et 2, caractérisé par le fait que les moyens (50) pour coupler les deux interfaces de sortie (108, 208) et d'entrée (112, 212) respectivement des sous-modules (102, 202, 103, 203) avec ladite boucle de transmission (40) comportent au moins un multiplexeur (51) et un registre (52) associé au multiplexeur.
4. Dispositif selon la revendication 3, caractérisé par le fait que ledit multiplexeur est du type à trois entrées, deux entrées reliées respectivement aux deux interfaces de sortie (108, 208) et une autre entrée montée en série dans la boucle de transmission (40).
5. Dispositif selon l'une des revendications précédentes, caractérisé par le fait que ladite boucle de transmission (40) est constituée par un bus MCI.
6. Dispositif selon l'une des revendications précédentes, caractérisé par le fait que ledit module de contrôle (20) est un module de gestion réalisé à partir de machine à états finis (MEF).
7. Dispositif selon l'une des revendications précédentes, caractérisé par le fait que ladite boucle fermée (40) présente une structure en anneau pipelinée.
8. Dispositif selon l'une des revendications précédentes, caractérisé par le fait que ladite horloge est gérée selon l'une des techniques suivantes : technique statique, technique dynamique, combinaison des deux techniques précédentes.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP12751558.3A EP2740039B1 (fr) | 2011-08-01 | 2012-07-24 | Dispositif pour echanger des donnees entre au moins deux applications |
| US14/236,705 US9361261B2 (en) | 2011-08-01 | 2012-07-24 | Device for exchanging data between at least two applications |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR11/02398 | 2011-08-01 | ||
| FR1102398A FR2978850B1 (fr) | 2011-08-01 | 2011-08-01 | Dispositif pour echanger des donnees entre au moins deux applications |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013017744A1 true WO2013017744A1 (fr) | 2013-02-07 |
Family
ID=46755037
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2012/000303 Ceased WO2013017744A1 (fr) | 2011-08-01 | 2012-07-24 | Dispositif pour echanger des donnees entre au moins deux applications |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9361261B2 (fr) |
| EP (1) | EP2740039B1 (fr) |
| FR (1) | FR2978850B1 (fr) |
| WO (1) | WO2013017744A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9967272B1 (en) * | 2017-12-05 | 2018-05-08 | Redberry Systems, Inc. | Real-time regular expression search engine |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010044912A1 (en) | 2000-05-22 | 2001-11-22 | Francis Patrick J. | Reliable hardware support for the use of formal languages in high assurance systems |
| US20040064662A1 (en) | 2002-09-26 | 2004-04-01 | Analog Devices, Inc. | Methods and apparatus for bus control in digital signal processors |
| US20090193303A1 (en) | 2008-01-29 | 2009-07-30 | Giles Grady L | Test access mechanism for multi-core processor or other integrated circuit |
-
2011
- 2011-08-01 FR FR1102398A patent/FR2978850B1/fr not_active Expired - Fee Related
-
2012
- 2012-07-24 US US14/236,705 patent/US9361261B2/en not_active Expired - Fee Related
- 2012-07-24 WO PCT/FR2012/000303 patent/WO2013017744A1/fr not_active Ceased
- 2012-07-24 EP EP12751558.3A patent/EP2740039B1/fr not_active Not-in-force
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010044912A1 (en) | 2000-05-22 | 2001-11-22 | Francis Patrick J. | Reliable hardware support for the use of formal languages in high assurance systems |
| US20040064662A1 (en) | 2002-09-26 | 2004-04-01 | Analog Devices, Inc. | Methods and apparatus for bus control in digital signal processors |
| US20090193303A1 (en) | 2008-01-29 | 2009-07-30 | Giles Grady L | Test access mechanism for multi-core processor or other integrated circuit |
Also Published As
| Publication number | Publication date |
|---|---|
| US20140164665A1 (en) | 2014-06-12 |
| EP2740039A1 (fr) | 2014-06-11 |
| FR2978850A1 (fr) | 2013-02-08 |
| FR2978850B1 (fr) | 2013-09-20 |
| US9361261B2 (en) | 2016-06-07 |
| EP2740039B1 (fr) | 2015-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2793431B1 (fr) | Méthode distribuée d'acquisition de données dans un réseau afdx | |
| EP2923461B1 (fr) | Dispositif et procédé de retransmission de données dans un commutateur réseau | |
| EP1976237B1 (fr) | Attribution d'adresses réseau dans un système de divertissement en vol | |
| WO2002001313A2 (fr) | Procede de transmission d'un agent mobile dans un reseau; emetteur, recepteur, et agent mobile associes | |
| EP2740039B1 (fr) | Dispositif pour echanger des donnees entre au moins deux applications | |
| WO2013011101A1 (fr) | Réseau de transmission d'informations et noeud de réseau correspondant | |
| EP1647112B1 (fr) | Procede et dispositif de transmission de donnees | |
| EP3123330A1 (fr) | Composant electronique a reponse deterministe | |
| EP3198462B1 (fr) | Transmission de donnees synchrones par l'intermediaire d'un bus de donnees serie, notamment un bus spi | |
| EP2783485A1 (fr) | Réseau de transmission d'informations et noeud de réseau programmable | |
| FR3020536A1 (fr) | Procedes d'echange de donnees avec un equipement comprenant des moyens de communication radio | |
| EP2784680B1 (fr) | Procédé d'exécution d'un logiciel sécuritaire et d'un logiciel non sécuritaire entrelacés | |
| WO2014111589A1 (fr) | Interface reseau d'un soc comportant un controleur de communication ameliore | |
| FR3024625B1 (fr) | Procede de gestion d'un appareil de commande cooperant par une liaison ethernet avec une unite de saisie de donnees | |
| WO2013120978A1 (fr) | Reseau de transmission d'informations avec noeuds raccordes en serie et noeud correspondant | |
| WO1989011192A1 (fr) | Reseau local de communications a acces multiples par regulation distribuee de trafic | |
| FR3103583A1 (fr) | Système de gestion des données partagées | |
| US11916915B2 (en) | Method and system for multiplatform file transfer | |
| EP3817294B1 (fr) | Procede et module pour la regulation de la connectivite d objets connectes | |
| FR2983019A1 (fr) | Reseau de transmission d'informations et noeud de reseau associe | |
| FR3033110A1 (fr) | Dispositif de transmission de donnees et vehicule associe | |
| WO2020089558A1 (fr) | Système de transmission de données | |
| FR3079695A1 (fr) | Analyse et filtrage de donnees dans un systeme de transmission de donnees | |
| FR2949030A1 (fr) | Procede et dispositif de synchronisation d'applications dans un reseau | |
| WO2019115463A1 (fr) | Procede de communication securise |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12751558 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2012751558 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14236705 Country of ref document: US |