FR2765700A1 - DATA PROCESSING DEVICE AND METHOD - Google Patents
DATA PROCESSING DEVICE AND METHOD Download PDFInfo
- Publication number
- FR2765700A1 FR2765700A1 FR9808684A FR9808684A FR2765700A1 FR 2765700 A1 FR2765700 A1 FR 2765700A1 FR 9808684 A FR9808684 A FR 9808684A FR 9808684 A FR9808684 A FR 9808684A FR 2765700 A1 FR2765700 A1 FR 2765700A1
- Authority
- FR
- France
- Prior art keywords
- installation
- task
- data processing
- processor
- copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Abstract
Dispositif et procédé de traitement de données comprenant une première installation pour un premier traitement utilisant une ou plusieurs variables globales avec un processeur et une seconde installation pour un second traitement avec le processeur. Au début on établit une copie locale sous la forme d'une variable globale d'au moins une variable globale utilisée par la première installation et qui peut être interrompue lors de la copie; un affichage d'état lisible par la première installation est mis à l'état par la seconde installation au cours de la copie pour afficher la procédure de copie en cours. La première installation vérifie avant une quelconque interruption de la seconde installation, si l'affichage d'état est mis et, dans l'affirmative, au moins une copie locale en forme de variables globales est mise à la valeur actuelle.A device and method for processing data comprising a first installation for a first processing using one or more global variables with a processor and a second installation for a second processing with the processor. At the start, a local copy is established in the form of a global variable of at least one global variable used by the first installation and which can be interrupted during the copy; a status display readable by the first installation is set to the state by the second installation during the copy to display the current copy procedure. The first installation checks before any interruption of the second installation whether the status display is set and, if so, at least one local copy in the form of global variables is set to the current value.
Description
Etat de la technique La présente invention concerne un dispositif et unSTATE OF THE ART The present invention relates to a device and a
procédé de traitement de données comprenant: data processing method comprising:
- une première installation pour exécuter un premier traite- - a first installation to execute a first milking -
ment de données en appliquant une ou plusieurs variables globales à l'aide d'un processeur, data by applying one or more global variables using a processor,
- une seconde installation pour l'exécution d'un second trai- - a second installation for the execution of a second process
tement de données à l'aide d'un processeur conçu pour qu'au début on établisse au moins une copie locale sous la forme data processing using a processor designed so that at the beginning at least one local copy is established in the form
d'une variable globale d'au moins l'une des variables glo- a global variable of at least one of the global variables
bales utilisées par le premier processeur et lors de la co- bales used by the first processor and during the co-
pie, le premier processeur peut l'interrompre, - une installation d'affichage d'état mise à l'état par la seconde installation lors de l'opération de copie et qui peut être lue par la première installation, pour afficher pie, the first processor can interrupt it, - a status display installation set up by the second installation during the copy operation and which can be read by the first installation, to display
l'opération de copie en cours.the current copy operation.
Bien que l'on puisse utiliser n'importe quel dis- Although you can use any device
positif de traitement de données, la présente invention et le positive data processing, the present invention and the
problème à la base de l'invention se rapportent à un disposi- problem underlying the invention relate to a device
tif de traitement de données embarqué dans un véhicule auto- tif data processing on board a motor vehicle
mobile servant à mettre en réseau les différents appareils de commande comportant des capteurs et des actionneurs comme par exemple un système de bus travaillant en temps réel ou encore mobile used to network the various control devices comprising sensors and actuators such as a bus system working in real time or
appelé contrôleur de réseau de zone " Contrôler Area Net- called area network controller "Control Area Net-
work " (CAN).work "(CAN).
On considère un appareil de commande servant à fixer un paramètre du moteur comme par exemple la quantité de carburant à injecter. Différents programmes ou applications du système de fonctionnement se déroulent dans cet appareil de commande qui utilise le processeur en temps partagé. Le We consider a control device used to set an engine parameter such as the amount of fuel to be injected. Different programs or applications of the operating system take place in this control unit which uses the timeshare processor. The
temps de calcul du processeur est réparti entre les diffé- processor computation time is distributed among the different
rents programmes. A chaque tâche est attribuée de manière cy- rents programs. Each task is assigned cy-
clique ou selon certaines priorités, une partie de la click or according to certain priorities, part of the
puissance du calculateur. La commutation entre les différen- computer power. Switching between the different-
tes tâches se fait en général à une vitesse tellement élevée your tasks are usually done at such a high speed
que les interruptions et les reprises ne sont pas percepti- that interruptions and resumptions are not perceived
bles de l'extérieur. Toutes les données utilisées par plu- wheat from the outside. All data used by most
sieurs tâches sont définies comme des variables globales. several tasks are defined as global variables.
Lorsqu'on calcule dans une tâche A les données qui sont traitées ensuite dans une tâche B, il faut garantir la consistance ou cohérence des données si la tâche B peut être interrompue à tout instant par la tâche A. En d'autres termes, avant la fin de la tâche B, il ne faut pas que son When the data which is then processed in a task B is calculated in a task A, the consistency or consistency of the data must be guaranteed if task B can be interrupted at any time by task A. In other words, before the end of task B, its must not be
jeu de données actuel soit modifié, bien que la tâche A four- current dataset is changed, although task A provided
nisse déjà de nouvelles données après l'interruption. new data is already emerging after the interruption.
Pour expliciter de manière plus précise le pro- blème, on considère le cas suivant de la régulation de la vi- To explain the problem more precisely, we consider the following case of the regulation of life.
tesse de rotation (régulation du régime) dans un appareil de rotation speed (speed regulation) in a
commande du moteur.engine control.
L'appareil de commande du moteur calcule la va- The engine control unit calculates the value
leur de réglage du régulateur de vitesse de rotation. adjustment speed regulator.
L'appareil de commande du moteur reçoit la valeur de consigne de la vitesse de rotation à réguler ainsi que le mode de fonctionnement, c'està-dire le comportement de régulation The motor control unit receives the set value of the speed to be regulated as well as the operating mode, i.e. the regulation behavior
(comme par exemple la partie proportionnelle, la partie dif- (such as the proportional part, the different part
férentielle ou la partie intégrale, etc...), par le bus CAN, à partir de l'appareil de commande du véhicule à intervalles or the integral part, etc.), via the CAN bus, from the vehicle control unit at intervals
de 10 ms. Le calcul des paramètres de régulation (jeu de pa- 10 ms. The calculation of the regulation parameters (set of pa-
ramètres de régulation), c'est-à-dire du jeu de paramètres destiné au module de régulation, est reçu par contre dans l'appareil de commande du moteur toutes les 50 ms. Ainsi, il est clair que l'appareil de commande du moteur n'aura pas à recevoir de nouvelles données de l'appareil de commande du véhicule jusqu'à la fin de sa durée de traitement respective de 50 ms bien que l'appareil de commande du véhicule four- nisse de nouvelles données en principe toutes les 10 ms. Actuellement, selon l'état de la technique, on regulation rameters), i.e. from the parameter set intended for the regulation module, is received in the engine control unit every 50 ms. Thus, it is clear that the engine control unit will not have to receive new data from the vehicle control unit until the end of its respective processing time of 50 ms although the engine control unit Vehicle control provides new data in principle every 10 ms. Currently, according to the state of the art,
dispose de trois jeux garantissant la consistance des don- has three games guaranteeing the consistency of the data
nées. Le premier jeu prévoit l'application de copies locales des données qui sont calculées avec la plus grande born. The first game provides for the application of local copies of the data which are calculated with the greatest
priorité, au début de la tâche à priorité la plus faible. priority, at the start of the lowest priority task.
Un inconvénient de cette procédure est de ne plus pouvoir garantir la cohérence des données si la tâche de One drawback of this procedure is that it can no longer guarantee data consistency if the task of
priorité plus faible est interrompue, pendant l'opération de copie proprement dite, par une tâche de priorité plus élevée. lower priority is interrupted during the actual copy operation by a higher priority task.
En effet, dans ce cas, dans la poursuite de la tâche de prio- Indeed, in this case, in the pursuit of the task of priority
rité plus faible, à la fin de l'interruption, les copies déjà appliquées ne sont plus restaurées mais l'opération de copie reprend à l'endroit de l'interruption. C'est pourquoi, après la fin de l'opération de copie, il y aura incohérence entre les données copiées en premier lieu et celles copiées en en rity lower, at the end of the interruption, the copies already applied are no longer restored but the copy operation resumes at the place of the interruption. This is why, after the end of the copy operation, there will be inconsistency between the data copied first and those copied in
second lieu.second place.
Le second jeu prévoit l'application de copies lo- The second game involves the application of lo-
cales de données comme pour le premier jeu. Pendant l'opération de copie, on bloque toutefois toute interruption de sorte que la tâche de priorité la plus élevée ne peut plus Data holds as for the first set. During the copy operation, however, any interruption is blocked so that the highest priority task can no longer
" perturber " la tâche de priorité plus faible. "disrupt" the lower priority task.
Cela présente néanmoins l'inconvénient que le temps de blocage pour la copie de quantités importantes de données comme par exemple pour des structures, soit dépassé However, this has the drawback that the blocking time for copying large amounts of data, for example for structures, is exceeded
ce qui peut conduire à un redémarrage du système de fonction- which can lead to a restart of the operating system-
nement. Ce comportement n'est pas souhaité car il bloque l'ensemble du système, comme par exemple les appareils de ment. This behavior is undesirable because it blocks the entire system, such as, for example,
commande du moteur, pour des ratés à l'injection du carbu- engine control, for fuel injection misfires
rant, ou même cela peut conduire à l'arrêt du moteur. rant, or even this can lead to the engine stopping.
Le troisième jeu prévoit l'application d'une mé- The third game involves the application of a met
moire partagée. Cela constitue dans la mémoire active gérée par le système de fonctionnement une zone dans laquelle sont inscrites en principe toutes les données de programme ou dont on peut extraire en principe toutes les données de programme si le système de fonctionnement le permet. Pour garantir la consistance des données dans le cas envisagé, une tâche de priorité élevée ne peut être enregistrée de nouveau dans la mémoire partagée que si la tâche de priorité inférieure a terminé ses copies locales. Cela signifie que, pendant la réalisation des copies locales par la tâche de priorité basse, l'accès à la mémoire partagée est interdit à la tâche shared moire. This constitutes in the active memory managed by the operating system a zone in which all the program data are written in principle or from which all the program data can be extracted in principle if the operating system allows it. To ensure data consistency in this case, a high priority task can only be saved to shared memory again if the lower priority task has completed its local copies. This means that, while local copies are made by the low priority task, access to shared memory is prohibited for the task
de priorité élevée.of high priority.
Cela présente l'inconvénient qu'il faut gérer la mémoire partagée par le système de fonctionnement ce qui aboutit à une mise en oeuvre de moyens plus importants, This has the drawback that it is necessary to manage the memory shared by the operating system, which results in an implementation of greater resources,
c'est-à-dire à une intervention plus importante dans le sys- that is to say to a more significant intervention in the sys-
tème de fonctionnement.operating teme.
Comme inconvénient des solutions connues évoquées As a disadvantage of the known solutions mentioned
ci-dessus, on a également le fait que ces solutions ne pré- above, we also have the fact that these solutions do not pre-
sentent pas de sécurité suffisante et/ou nécessitent la mise feel insufficient security and / or require
en oeuvre de moyens trop importants. using too great a means.
Avantages de l'inventionAdvantages of the invention
La présente invention a pour but de remédier à ces inconvé- The object of the present invention is to remedy these drawbacks
nients et concerne à cet effet, un dispositif de traitement de données du type défini ci-dessus caractérisé en ce que la première installation est conçue pour qu'avant la fin d'une nients and concerns for this purpose, a data processing device of the type defined above characterized in that the first installation is designed so that before the end of a
interruption respective de la seconde installation, elle vé- respective interruption of the second installation, it
rifie que l'installation d'affichage d'état soit mise à l'état et que dans l'affirmative, au moins une copie sous confirms that the status display system is brought up to date and that, if so, at least one copy under
forme de variables globales soit surscrite avec la valeur ac- form of global variables be oversubscribed with the value ac-
tuelle de ces variables.tual of these variables.
L'invention concerne également un procédé de traitement de données caractérisé en ce qu': - on exécute un premier traitement de données en utilisant The invention also relates to a data processing method characterized in that: - a first data processing is carried out using
une ou plusieurs variables globales à l'aide d'une instal- one or more global variables using an instal-
lation de processeur, - on exécute un second traitement de données à l'aide de l'installation de processeur qui établit initialement au moins une copie locale sous la forme d'une variable globale d'au moins une variable globale utilisée par la première processor connection, - a second data processing is carried out using the processor installation which initially establishes at least one local copy in the form of a global variable of at least one global variable used by the first
installation et qui, lors de la copie, peut être interrom- installation and which, when copying, can be interrupted
pue par le premier traitement de données, stinks by the first data processing,
- on affiche l'opération de copie en cours du second traite- - the copy operation in progress of the second draft is displayed -
ment de données, d'une manière lisible par le premier trai- data, legibly by the first processing
tement de données et, - on contrôle dans le premier traitement de données, si data processing and, - we check in the first data processing, if
l'affichage est mis à l'état, avant la fin d'une interrup- the display is set to the state, before the end of an interrupt
tion respective du second traitement de données et dans l'affirmative, le dépassement d'au moins une copie locale respective second data processing and if so, the overflow of at least one local copy
sous la forme de variables locales avec leur valeur ac- in the form of local variables with their ac-
tuelle.tuelle.
Le dispositif et le procédé de traitement de don- The data processing device and method
nées selon l'invention offrent l'avantage de permettre d'assurer une bonne cohérence des données avec des moyens simples, c'est-à-dire sans la mise en oeuvre de matériel de born according to the invention have the advantage of making it possible to ensure good consistency of the data with simple means, that is to say without the use of
programme important.important program.
La cohérence des données est également assurée par des données qui sont en relation étroite et ainsi ne peu- Data consistency is also ensured by data that are closely related and thus cannot
vent être traitées que dans les mêmes conditions, c'est-à- dire des données qui ne doivent pas provenir de deux cycles can be processed only under the same conditions, i.e. data which must not come from two cycles
différents du premier traitement de données. different from the first data processing.
Les problèmes liés à l'interdiction d'interruption sont éliminés et l'accès au système est faible et se fait localement et non pas sur le plan du système de fonctionnement. The problems related to the prohibition of interruption are eliminated and access to the system is weak and is done locally and not in terms of the operating system.
La caractéristique générale à la base de la pré- The general characteristic underlying the pre-
sente invention est celle consistant à ce qu'une première tâ- sente invention is that consisting that a first task-
che ou une première application de priorité élevée fixe certaines variables globales utilisées dans une seconde tâche de priorité plus faible. Pendant une opération de copie de données, dans la seconde tâche, on pose un drapeau global ou un affichage d'état lisible par une première tâche. En cas d'interruption de cette opération de copie de données par la première tâche, avant la fin de l'interruption, on vérifie l'état du drapeau dans la première tâche et, dans le cas o celui-ci est mis, cette information est considérée comme une che or a first application of high priority fixes certain global variables used in a second task of lower priority. During a data copy operation, in the second task, a global flag or a status display readable by a first task is set. In the event of interruption of this data copy operation by the first task, before the end of the interruption, the state of the flag in the first task is checked and, if it is set, this information is considered a
indication d'une modification possible de données déjà lues. indication of a possible modification of data already read.
Ainsi, la première tâche ne surscrit que les variables modi- Thus, the first task only oversubscribes the modified variables.
fiées ou toutes les variables locales déjà utilisées par la trusted or all the local variables already used by the
seconde tâche en leur surscrivant la valeur actuelle, varia- second task by oversubscribing the current value to them, varying
bles qui sont déjà définies comme variables globales à cet effet. La réalisation de copies locales se fait au début de la seconde tâche de priorité faible, c'est-à-dire avant toute poursuite de traitement des données à copier. La surscription which are already defined as global variables for this purpose. Local copies are made at the start of the second low priority task, that is to say before any further processing of the data to be copied. Oversubscription
des copies locales se fait le cas échéant à la fin de la pre- local copies are made if necessary at the end of the first
mière tâche de priorité plus élevée, c'est-à-dire au plus tôt après que toutes les modifications des variables globales highest priority task, i.e. as soon as possible after all changes to the global variables
utilisées par la seconde tâche aient été terminées. used by the second task have been completed.
Suivant d'autres caractéristiques avantageuses de l'invention: According to other advantageous features of the invention:
- on attribue une première priorité élevée à la première ins- - a first high priority is assigned to the first ins-
tallation pour l'utilisation de l'installation de proces- tallation for the use of the process installation
seur et,sister and,
- on associe une seconde priorité faible à la seconde instal- - a second low priority is associated with the second instal-
lation pour l'utilisation de l'installation de processeur, lation for the use of the processor installation,
- on associe une première durée courte à la première instal- - a first short duration is associated with the first installation -
lation pour l'utilisation de l'installation de processeur et, lation for the use of the processor installation and,
- on associe une seconde durée longue à la seconde installa- - a second long duration is associated with the second installation
tion pour l'utilisation de l'installation de processeur, - on poursuit avec le second traitement de données à la fin tion for the use of the processor installation, - we continue with the second data processing at the end
d'une interruption respective à l'endroit de l'inter- of a respective interruption at the place of the inter-
ruption,ruptured,
- on détermine dans le premier traitement de données les co- - in the first data processing, the co-
pies locales utilisées par la seconde installation. local magpies used by the second installation.
Selon un développement préférentiel, la première According to a preferential development, the first
installation présente une première priorité élevée et la se- installation has a high priority first and the se-
cond installation une seconde priorité faible pour cond installation a second low priority for
l'utilisation du processeur.processor usage.
Selon un autre développement préférentiel, une première durée courte est associée à la première installation According to another preferred development, a first short duration is associated with the first installation
et une seconde durée longue est associée à la seconde instal- lation pour l'utilisation du processeur. Selon un autre développement préférentiel, la se- and a second long duration is associated with the second installation for the use of the processor. According to another preferential development, the se-
conde installation est conçue pour qu'à la fin d'une inter- This installation is designed so that at the end of an inter-
ruption quelconque, elle continue à l'endroit de l'interruption. Cela est avantageux pour perdre le moins de any break, it continues at the point of interruption. This is advantageous for losing the least
temps possible pour l'exécution du second traitement de don- possible time for the execution of the second data processing
nées.born.
Selon un autre développement préférentiel, la première installation comporte une installation de détermina- According to another preferential development, the first installation comprises an installation for determining
tion qui sert à déterminer la copie locale ou les copies lo- cales servant à la seconde installation. Cela présente l'avantage de n'avoir à remettre à jour que certaines varia-35 bles modifiées fixées par le premier traitement de données ou utilisées par le second traitement de données. which is used to determine the local copy or local copies used for the second installation. This has the advantage of having to update only certain modified variables fixed by the first data processing or used by the second data processing.
Dessins Des exemples de réalisation de l'invention sont représentés dans les dessins et seront décrits ci-après de manière plus détaillée. Ainsi:5 - la figure 1 montre un chronogramme d'une première tâche A et d'une seconde tâche B, si la première tâche A interrompt Drawings Examples of embodiments of the invention are shown in the drawings and will be described below in more detail. Thus: 5 - Figure 1 shows a timing diagram of a first task A and a second task B, if the first task A interrupts
la seconde tâche B après une copie, selon un premier exem- the second task B after a copy, according to a first example
ple de réalisation de l'invention, - la figure 2 montre un chronogramme d'une première tâche A ple embodiment of the invention, - Figure 2 shows a timing diagram of a first task A
et d'une seconde tâche B lorsque la première tâche A inter- and a second task B when the first task A inter-
rompt la seconde tâche B lors d'une copie selon le premier exemple de réalisation de l'invention, breaks the second task B during a copy according to the first embodiment of the invention,
- la figure 3 est une vue schématique des étapes de traite- - Figure 3 is a schematic view of the milking stages-
ment de données dans une première tâche A selon un exemple de réalisation de l'invention, data in a first task A according to an exemplary embodiment of the invention,
- la figure 4 est une vue schématique des étapes de traite- - Figure 4 is a schematic view of the milking stages -
ment de données dans une seconde tâche selon un second data in a second task according to a second
exemple de réalisation de l'invention. exemplary embodiment of the invention.
Description des exemples de réalisation Description of the exemplary embodiments
La figure 1 montre un chronogramme d'une première tâche A et d'une seconde tâche B lorsque la première tâche A Figure 1 shows a timing diagram of a first task A and a second task B when the first task A
interrompt la seconde tâche B après l'opération de copie, se- interrupts the second task B after the copy operation, se-
lon un premier exemple de réalisation de l'invention. lon a first embodiment of the invention.
A la figure 1, les références tl, t2, t3, t4, t5 désignent cinq instants successifs portés sur l'axe vertical des temps. Les références Al, A2, A3, A4 désignent des blocs In FIG. 1, the references tl, t2, t3, t4, t5 designate five successive instants carried on the vertical time axis. The references A1, A2, A3, A4 denote blocks
de programme respectifs d'une tâche ou d'une application A, ayant une première priorité élevée. Les références B1, B2, B3, B4, B5 désignent des blocs de programme respectifs d'une30 tâche ou d'un programme d'application B ayant une seconde priorité plus faible. L'expression " bloc de programme " re- of the respective program of a task or application A, having a high first priority. The references B1, B2, B3, B4, B5 denote respective program blocks of a task or of an application program B having a second lower priority. The expression "program block" represents
présente une partie de l'ensemble du programme. Les deux tâches A et B sont traitées selon le programme de décalage de temps en tenant compte de leur prio- presents a part of the whole program. The two tasks A and B are processed according to the time shift program, taking into account their priority.
rité dans la même installation de processeur ou plus simple- ment processeur. En particulier, la tâche A calcule les variables Vl et V2 nécessaires à la tâche B. Pour cela il faut veiller à ce que la tâche B ne puisse utiliser qu'une paire de données cohérentes pour Vl et V2 pendant l'exécution in the same processor installation or more simply a processor. In particular, task A calculates the variables Vl and V2 necessary for task B. To do this, care must be taken that task B can only use a pair of consistent data for Vl and V2 during execution.
pour des raisons de cohérence des données. for reasons of data consistency.
Le traitement commence à l'instant t, avec le bloc de programme Ai de la tâche A qui contient entre autres le calcul des données des variables globales Vl et V2. L'expression " variables globales " désigne dans la présente The processing begins at time t, with the program block Ai of task A which contains inter alia the calculation of the data of the global variables Vl and V2. The expression "global variables" denotes herein
description le fait qu'au moins également la tâche B accède à description the fact that at least also task B accesses
de telles variables.such variables.
A l'instant t2, la tranche d'exécution de la tâ- At time t2, the execution tranche of the task
che A se termine et la tâche B commence par le bloc de pro- che A ends and task B begins with the program block
gramme B1; dans celui-ci le drapeau F est mis à l'état logique "1"; ce drapeau F représente l'installation d'affichage d'état selon l'invention. Le drapeau F montre gram B1; in this the flag F is put in the logical state "1"; this flag F represents the state display installation according to the invention. Flag F shows
ainsi le début et le déroulement de l'opération de copie. thus the start and progress of the copy operation.
Ensuite, dans la tâche B, selon les blocs de pro- Then, in task B, according to the pro-
gramme B2 et B3, on effectue les copies locales des variables V1 et V2, à savoir GLK1 comme copie de V1 dans B2 et GLK2 gram B2 and B3, local copies of the variables V1 and V2 are made, namely GLK1 as a copy of V1 in B2 and GLK2
comme copie de V2 dans B3.as a copy of V2 in B3.
Il est expressément indiqué que les variables It is expressly stated that the variables
GLK1, GLK2 et F sont également des variables globales, c'est- GLK1, GLK2 and F are also global variables, that is-
à-dire des variables auxquelles peut accéder également la tâ- that is, variables that the task can also access
che A. Dans le bloc de programme B4, le drapeau F est mis à l'état logique " 0 " pour indiquer la fin de che A. In the program block B4, the flag F is set to the logic state "0" to indicate the end of
l'opération de copie.the copy operation.
A l'instant t3, la tranche d'exécution de la tâ- At time t3, the execution tranche of the task
che B est terminée et la tâche A redémarre avec le bloc de programme A2 qui contient entre autres le nouveau calcul des che B is finished and task A restarts with the program block A2 which contains among other things the new calculation of
données des variables globales V1 et V2. data of the global variables V1 and V2.
Dans le bloc de programme suivant A3 qui arrive dans l'ordre après tous les nouveaux calculs des variables Vl, V2 nécessaires à la tâche B, la tâche A vérifie si le In the following program block A3 which arrives in order after all the new calculations of the variables Vl, V2 necessary for task B, task A checks whether the
drapeau F a été ou non mis à l'état. Comme dans le cas pré- flag F has been set or not. As in the pre-
sent, l'interruption de la tâche s'est produite apres l'opération de copie et le drapeau F est à l'état logique sent, the interruption of the task occurred after the copy operation and the flag F is in the logical state
" 0 "."0".
Comme la tâche A est informée que la tâche B est en possession des copies correspondantes nécessaires GLK1, GLK2, et que ces copies n'ont pas été utilisées par la tâche As task A is informed that task B is in possession of the necessary corresponding copies GLK1, GLK2, and that these copies have not been used by task
A, aucune autre étape n'est nécessaire et la tâche A se ter- A, no further steps are required and task A is completed
mine avec le bloc de programme A4 à l'instant t4. mine with program block A4 at time t4.
Puis la tâche B se poursuit avec le bloc de pro- Then task B continues with the pro-
S gramme B5 qui termine la tâche B ou se poursuit jusqu'à S gram B5 which ends task B or continues until
l'interruption suivante par la tâche A. Toutefois, ni la pre- the next interruption by task A. However, neither the first
mière interruption décrite ni quelqu'autres interruptions ne mettent en danger la cohérence des données dans la tâche B. the first described interruption or any other interruption jeopardizes the consistency of the data in task B.
La figure 2 montre un chronogramme pour une pre- Figure 2 shows a timing diagram for a pre-
mière tâche A et une seconde tâche B, lorsque la première tâ- first task A and a second task B, when the first task
che A interrompt la seconde tâche B lors de l'opération de copie, selon le premier exemple de réalisation de l'invention. A la figure 2, les références t1, t2, t3', t4', t5 désignent cinq instants successifs représentés sur l'axe vertical des temps. Les références Ai, A2, A3, A4' désignent che A interrupts the second task B during the copy operation, according to the first exemplary embodiment of the invention. In FIG. 2, the references t1, t2, t3 ', t4', t5 designate five successive instants represented on the vertical time axis. The references Ai, A2, A3, A4 'denote
des blocs de programme respectifs d'une tâche ou d'un pro- respective program blocks of a task or program
gramme d'application A; les référence B1, B2, B3, B4, B5 dé- application gram A; the references B1, B2, B3, B4, B5 de-
signent des blocs de programme respectifs des tâches ou sign respective program blocks of tasks or
programme d'application B. Les références soulignées corres- application program B. The underlined references correspond to
pondent aux parties déjà décrites à la figure 1. lay the parts already described in Figure 1.
Le traitement commence comme ci-dessus à l'instant tl avec le bloc de programme Ai de la tâche A qui contient entre autres le calcul des données des variables The processing begins as above at time tl with the program block Ai of task A which contains inter alia the calculation of the data of the variables
globales V1, V2.V1, V2.
A l'instant t2, le temps alloué à la tâche A est terminé et la tâche B commence par le bloc de programme B1 At time t2, the time allocated to task A has ended and task B begins with program block B1
dans lequel le drapeau F est mis à l'état logique " 1 "; ce- in which the flag F is set to the logical state "1"; this-
la affiche le début et le déroulement de l'opération de co- the displays the start and progress of the co-operation
pie. Puis, dans la tâche B, par le bloc de programme B2, on effectue une copie locale GLK1 des variables Vl. A pie. Then, in task B, by the program block B2, a local copy GLK1 of the variables Vl is made. A
l'instant t3', on interrompt la tranche d'exécution de la tâ- at time t3 ', the execution portion of the task is interrupted
che B par la tâche A; la tâche A se poursuit par le bloc de programme A2 qui contient entre autres le nouveau calcul des che B by task A; task A continues with the program block A2 which contains inter alia the new calculation of
données des variables globales Vl, V2. data of the global variables Vl, V2.
Dans le bloc de programme suivant A3, qui arrive dans l'ordre, après tous les nouveaux calculs des variables VI, V2 utilisés par la tâche B, la tâche A vérifie que le In the following program block A3, which arrives in order, after all the new calculations of the variables VI, V2 used by task B, task A checks that the
drapeau F a été ou non mis à l'état. Comme dans le cas pré- flag F has been set or not. As in the pre-
sent l'interruption de la tâche B s'est effectuée pendant l'opération de copie et le drapeau F est à l'état logique feels that task B was interrupted during the copy operation and the flag F is in the logical state
" 1 "."1".
La tâche A est ainsi informée de ce que la tâche B n'est pas en possession des copies cohérentes nécessaires Task A is thus informed that Task B is not in possession of the necessary consistent copies
GLK1, GLK2 et que d'autres étapes sont nécessaires pour assu- GLK1, GLK2 and that further steps are required to ensure
rer la cohérence des données.rer consistency of data.
Pour cela, la tâche A poursuit le bloc de pro- To do this, task A continues the pro-
gramme A4' dans lequel s'exécute la copie de la tâche B, c'est-à-dire que dans GLK1 on a une copie de V1 et dans GLK2 gram A4 'in which the copy of task B is executed, i.e. in GLK1 we have a copy of V1 and in GLK2
une copie de V2.a copy of V2.
Il convient de remarquer de manière générale que la tâche A n'aura en principe qu'à renouveler les copies dont la variable correspondante s'est modifiée. Cela peut servir à In general, it should be noted that task A will in principle only have to renew the copies whose corresponding variable has changed. This can be used to
des gains de temps pour des quantités importantes de données. time savings for large amounts of data.
A l'instant t4, la tranche d'exécution de la tâ- At time t4, the execution tranche of the task
che A est terminée et celle-ci se termine. che A is finished and this one ends.
Puis la tâche B se poursuit à l'endroit o elle a Then task B continues where it has
été précédemment interrompue, et réalise dans le bloc de pro- previously interrupted, and performs in the program block
gramme B3 une copie locale GLK2 des variables V2. Puis, dans le bloc de programme B4, on met le drapeau F à l'état logique gram B3 a local GLK2 copy of the variables V2. Then, in the program block B4, the flag F is put in the logic state
" O " pour indiquer la fin de l'opération de copie. "O" to indicate the end of the copy operation.
Puis dans la tâche B on poursuit avec le bloc de programme B5 qui termine la tâche B ou se déroule jusqu'à Then in task B we continue with the program block B5 which ends task B or runs until
l'interruption suivante par la tâche A. Ni la première inter- the next interrupt by task A. Neither the first interrupt
ruption décrite ni une quelconque interruption ne mettant en ruptures described or any interruption that does not
danger la cohérence des données dans la tâche B. En particu- danger the consistency of the data in task B. In particular
lier, toute autre interruption de la tâche B par la tâche A link, any other interruption of task B by task A
conduit à la situation décrite en relation avec la figure 1. leads to the situation described in relation to Figure 1.
La figure 3 montre un schéma des étapes de trai- Figure 3 shows a diagram of the processing steps
tement de données dans une première tâche A selon le second data in a first task A according to the second
exemple de réalisation de l'invention. exemplary embodiment of the invention.
La tâche A occupe une tranche d'exécution ou de temps fixe de 10 ms. Dans les étapes S1 et S2, on calcule Task A occupies a fixed execution or time slot of 10 ms. In steps S1 and S2, we calculate
les données utilisées pour les variables globales V1, V2 uti- the data used for the global variables V1, V2 used
lisées. Dans la zone en tirets, il y a n'importe quelle autre read. In the dashed area, there is any other
étape de traitement de données.data processing step.
A la fin de la tâche A dans les étapes S4-S7, si nécessaire, c'est-à- dire si le drapeau F est à l'état logique " 1 ", on répète l'opération de copie de Vl dans GLK1 et de V2 dans GLK2 pour la tâche B. La figure 4 est une vue schématique des étapes de At the end of task A in steps S4-S7, if necessary, that is to say if the flag F is in the logic state "1", the operation of copying Vl in GLK1 is repeated and of V2 in GLK2 for task B. Figure 4 is a schematic view of the steps of
traitement de données dans une seconde tâche B selon le se- data processing in a second task B according to the
cond exemple de réalisation de l'invention. cond exemplary embodiment of the invention.
La tâche B occupe une tranche d'exécution fixe de Task B occupies a fixed execution tranche of
ms. Dans les étapes S1'-S4', on copie les variables globa- ms. In steps S1'-S4 ', we copy the global variables
les V1, V2 utilisées par la tâche B dans les variables globa- the V1, V2 used by task B in the global variables
les GLK1, GLK2. Ce n'est que pendant cette opération de GLK1, GLK2. It is only during this operation of
copie, que le drapeau F est à l'état logique " 1 " pour affi- copy, that the flag F is in the logical state "1" to display
cher, lors d'une interruption par la tâche A, la nécessité de mesure pour éviter l'incohérence de données. Dans la zone en traits interrompus, il y a n'importe quelle autre étape de expensive, during an interruption by task A, the need for action to avoid data inconsistency. In the dashed area, there is any other step of
traitement de données.data processing.
A la fin de la tâche B, dans l'étape S5', on poursuit le traitement des copies locales GLK1 et/ou GLK2; la présente invention garantit alors que, pour le déroulement de la tâche B, on calcule toujours une seule et même paire de At the end of task B, in step S5 ′, processing of the local copies GLK1 and / or GLK2 is continued; the present invention then guarantees that, for the progress of task B, one and the same pair of
variables cohérentes.consistent variables.
Bien que la présente invention ait été décrite Although the present invention has been described
ci-dessus dans le cas d'un exemple de réalisation préféren- above in the case of a preferred embodiment example
tiel, elle n'est pas limitée à cet exemple et peut être modi- tiel, it is not limited to this example and can be changed
fiée de manière très différente. trusted in a very different way.
En particulier, les deux installations pour ef- In particular, the two installations for ef-
fectuer un traitement des données ainsi que l'installation d'affichage d'état, peuvent être réalisées non seulement sous perform data processing as well as the installation of status display, can be performed not only under
la forme de programmes mais également sous la forme de cir- the form of programs but also in the form of
cuits câblés.cooked wired.
En outre, dans le présent exemple de réalisation, les tâches A et B ont utilisé en commun deux variables V1 et Furthermore, in the present exemplary embodiment, tasks A and B used two variables V1 and
V2. L'invention est toutefois applicable à un nombre quelcon- V2. The invention is however applicable to any number.
* que de variables utilisées en commun. L'expression " variables " désigne ainsi de manière générale une grandeur variable. En outre, la présente invention n'est pas seule- ment applicable pour accorder entre elles deux tâches avec un drapeau, mais plusieurs tâches qui utilisent chaque fois un drapeau par paire.5 L'association de différents intervalles de temps à différentes tâches n'est pas indispensable. Une tâche de ms est appelée à des intervalles de 50 ms; une tâche de ms est appelée à des intervalles de 10 ms. Cela signifie simplement qu'une tâche de 50 ms ne peut durer au maximum que 50 ms et qu'une tâche de 10 ms peut durer au maximum 10 ms pour que la tâche respective ne se répète pas d'elle même et* that of variables used in common. The expression "variables" thus generally designates a variable quantity. Furthermore, the present invention is not only applicable for granting two tasks with a flag to one another, but several tasks which each use a flag in pairs. The association of different time intervals with different tasks does not is not essential. An ms task is called at 50 ms intervals; a ms task is called at 10 ms intervals. This simply means that a task of 50 ms can only last a maximum of 50 ms and a task of 10 ms can last a maximum of 10 ms so that the respective task does not repeat itself and
déclenche ainsi un redémarrage du système de fonctionnement. Mais cela ne signifie pas que la durée doit être égale à 50 ms ou 10 ms. thus triggers a restart of the operating system. But that does not mean that the duration must be equal to 50 ms or 10 ms.
NOMENCLATURENOMENCLATURE
tl, t2, t3, t4, t5, Instants t3', t4' A1 - A4 - A4' Blocs de programme tl, t2, t3, t4, t5, Instants t3 ', t4' A1 - A4 - A4 'Program blocks
B1 - B5B1 - B5
Vl, V2 Variables globales GLK1, GLK2 Variables globales pour les copies locales F Drapeau Si - S7 Etapes de programme pour la tâche A Si' - S5' Etapes de programme pour la tâche A Vl, V2 Global variables GLK1, GLK2 Global variables for local copies F Flag If - S7 Program steps for task A If '- S5' Program steps for task A
Claims (5)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997128971 DE19728971C2 (en) | 1997-07-07 | 1997-07-07 | Data processing device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2765700A1 true FR2765700A1 (en) | 1999-01-08 |
FR2765700B1 FR2765700B1 (en) | 2000-10-06 |
Family
ID=7834902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9808684A Expired - Fee Related FR2765700B1 (en) | 1997-07-07 | 1998-07-07 | DATA PROCESSING DEVICE AND METHOD |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE19728971C2 (en) |
FR (1) | FR2765700B1 (en) |
GB (1) | GB2328299B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519265B1 (en) * | 1999-05-28 | 2003-02-11 | Sony Corporation | System and method for context switching in an electronic network |
DE102004017050A1 (en) | 2004-04-07 | 2005-10-27 | Robert Bosch Gmbh | Data consistency in data processing systems |
DE102005051673A1 (en) * | 2005-10-28 | 2007-05-03 | Vector Informatik Gmbh | Measuring device and measuring method for the detection of ECU variables |
CN103049334B (en) * | 2012-12-14 | 2015-09-30 | 华为技术有限公司 | A kind of method of task process and virtual machine |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0365728A1 (en) * | 1988-10-28 | 1990-05-02 | International Business Machines Corporation | Resource access for a multiprocessing computer system |
EP0454610A2 (en) * | 1990-04-27 | 1991-10-30 | International Business Machines Corporation | Method and device for concurrency control of shared data updates and queries |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4875159A (en) * | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
US5513349A (en) * | 1994-03-24 | 1996-04-30 | International Business Machines Corporation | System and method for safing of asynchronous interrupts |
-
1997
- 1997-07-07 DE DE1997128971 patent/DE19728971C2/en not_active Expired - Fee Related
-
1998
- 1998-07-06 GB GB9814645A patent/GB2328299B/en not_active Expired - Fee Related
- 1998-07-07 FR FR9808684A patent/FR2765700B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0365728A1 (en) * | 1988-10-28 | 1990-05-02 | International Business Machines Corporation | Resource access for a multiprocessing computer system |
EP0454610A2 (en) * | 1990-04-27 | 1991-10-30 | International Business Machines Corporation | Method and device for concurrency control of shared data updates and queries |
Non-Patent Citations (1)
Title |
---|
FEELEY M J ET AL: "DISTRIBUTED SHARED MEMORY WITH VERSIONED OBJECTS", ACM SIGPLAN NOTICES, vol. 27, no. 10, 1 October 1992 (1992-10-01), pages 247 - 262, XP000327302, ISSN: 0362-1340 * |
Also Published As
Publication number | Publication date |
---|---|
FR2765700B1 (en) | 2000-10-06 |
DE19728971C2 (en) | 2003-10-09 |
DE19728971A1 (en) | 1999-01-14 |
GB2328299A (en) | 1999-02-17 |
GB2328299B (en) | 1999-07-07 |
GB9814645D0 (en) | 1998-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632365B (en) | Service resource adjusting method, related device and equipment | |
Schafer et al. | Tasklets:" better than best-effort" computing | |
EP1337919B1 (en) | Security method making deterministic real time execution of multitask applications of control and command type with error confinement | |
EP1418501A1 (en) | Method of administration of applications on virtual machines | |
EP1782201A2 (en) | Method for controlling a software process, method and system for redistributing or continuing operation in a multi-computer architecture | |
WO2011036377A1 (en) | System and method for managing interleaved execution of command threads | |
EP1535203A1 (en) | Editor and method for editing formulae for calculating the price of a service and system for automatic costing of a service | |
EP3477894A1 (en) | Method and device for controlling virtualized broadband remote access server (vbras), and communication system | |
CN107451147A (en) | A kind of method and apparatus of kafka clusters switching at runtime | |
CN112445615A (en) | Thread scheduling system, computer equipment and storage medium | |
CN111104227A (en) | Resource control method and device of K8s platform and related components | |
EP2203817A2 (en) | Method for managing preemptions in a real-time operating system | |
JP2007257163A (en) | Operation quality management method in distributed program execution environment | |
FR3047821A1 (en) | METHOD AND DEVICE FOR MANAGING A CONTROL DEVICE | |
FR2765700A1 (en) | DATA PROCESSING DEVICE AND METHOD | |
EP2850520B1 (en) | Method for the management of task execution in a computer system | |
CA2414523A1 (en) | Method for automatically implanting software functions on a set of processors | |
EP2667302B1 (en) | Method for managing the starting of instances of applications on virtual machines of a distributed network | |
CN112559176A (en) | Instruction processing method and device | |
US20050050541A1 (en) | Method of and apparatus for task control, and computer product | |
CA2886466A1 (en) | Multi-core data treatment system with local and global input/output devices and graphical interface comprising such a data treatment system | |
CN109939441B (en) | Application multi-disk verification processing method and system | |
EP3460664B1 (en) | Method for managing onboard software modules for an electronic calculator of an electrical switchgear | |
EP2530586B1 (en) | Method for generating software | |
EP2278466A1 (en) | Apparatus and method for the distributed execution of digital data processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20080331 |