FR2795837A1 - Method of comparing timing of data processing in corresponding devices by measuring progress by accumulating meaningful value of time of execution of corresponding instruction - Google Patents

Method of comparing timing of data processing in corresponding devices by measuring progress by accumulating meaningful value of time of execution of corresponding instruction Download PDF

Info

Publication number
FR2795837A1
FR2795837A1 FR9908410A FR9908410A FR2795837A1 FR 2795837 A1 FR2795837 A1 FR 2795837A1 FR 9908410 A FR9908410 A FR 9908410A FR 9908410 A FR9908410 A FR 9908410A FR 2795837 A1 FR2795837 A1 FR 2795837A1
Authority
FR
France
Prior art keywords
execution
instruction
instructions
time
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9908410A
Other languages
French (fr)
Other versions
FR2795837B1 (en
Inventor
Michel Brelet
Patrice Hameau
Stephane Overt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull CP8 SA
Original Assignee
Bull CP8 SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull CP8 SA filed Critical Bull CP8 SA
Priority to FR9908410A priority Critical patent/FR2795837B1/en
Publication of FR2795837A1 publication Critical patent/FR2795837A1/en
Application granted granted Critical
Publication of FR2795837B1 publication Critical patent/FR2795837B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The method involves evaluating an execution time of every instruction performed a microprocessor to execute (23) a program containing a number of instructions. During execution of every instruction, a progress (26) is measured by accumulating meaningful value of the time of execution of this instruction. An Independent claim is included for: (a) a device for performing claimed method

Description

Procédé pour comptabiliser le temps dans un dispositif de traitement d'information, et dispositif associé L'invention concerne un procédé pour comptabiliser le temps dans un dispositif de traitement d'information comprenant des moyens de traitement et des moyens de mémorisation. Method for recording time in an information processing device, and associated device The invention relates to a method for recording time in an information processing device comprising processing means and storage means.

On peut avoir besoin de comptabiliser le temps pour différents traitements internes du dispositif. On peut aussi en avoir besoin pour gérer une communication avec un autre dispositif. Par exemple, dans le domaine des cartes à puce selon la norme 1S07816-3, un lecteur de carte initie une communication avec la carte en lui envoyant un ordre. La carte, à réception de l'ordre, effectue un traitement défini par l'ordre reçu. Une exigence particulière est que la carte doit réagir en envoyant un message au lecteur de carte dans un certain délai, typiquement dans le délai d'une seconde, faute de quoi la carte est déclarée muette par le lecteur de carte, et la communication est interrompue. Soit la carte a fini d'effectuer son traitement dans ce délai, auquel cas elle fournit un résultat du traitement, soit elle n'a pas encore fini, auquel cas elle envoie un message d'attente lui permettant de bénéficier d'un nouveau délai d'une seconde pour finir son traitement. Or, on a constaté que ce délai n'était pas toujours suffisant pour permettre à la carte de finir son traitement. Cela est particulièrement vrai dans le cas d'une carte incorporant une machine virtuelle capable d'interpréter des instructions interprétables, écrites dans un langage évolué, pour les traduire dans un langage propre aux moyens de traitement de la carte. On peut citer à titre d'exemple la machine virtuelle JAVA (marque déposée par la société Sun Microsystems). It may be necessary to count the time for different internal treatments of the device. You may also need it to manage communication with another device. For example, in the field of smart cards according to the 1S07816-3 standard, a card reader initiates communication with the card by sending it an order. The card, upon receipt of the order, performs a processing defined by the order received. A particular requirement is that the card must react by sending a message to the card reader within a certain period, typically within one second, failing which the card is declared silent by the card reader, and the communication is interrupted . Either the card has finished processing within this period, in which case it provides a result of the processing, or it has not yet finished, in which case it sends a waiting message allowing it to benefit from a new period of a second to finish his treatment. However, it was found that this period was not always sufficient to allow the card to finish its processing. This is particularly true in the case of a card incorporating a virtual machine capable of interpreting interpretable instructions, written in an advanced language, to translate them into a language specific to the means of processing the card. We can cite as an example the JAVA virtual machine (trademark registered by the company Sun Microsystems).

Dans la technique connue, seuls les dispositifs de traitement d'information possédant un compteur de temps sont capables de comptabiliser le temps. Toutefois, le fait d'insérer un compteur de temps dans ces dispositifs présente l'inconvénient d'augmenter à la fois le coût de ceux-ci et leur taille. Ceci est particulièrement vrai dans le domaine des cartes à puces : quasiment tous les circuits du commerce, susceptibles d'être mis en carte, ne sont pas dotés d'un compteur de temps réalisé de façon matérielle. In the known technique, only information processing devices having a time counter are capable of counting time. However, the fact of inserting a time counter in these devices has the drawback of increasing both the cost of these and their size. This is particularly true in the field of smart cards: almost all commercial circuits, which can be carded, do not have a hardware time counter.

Aussi, un but principal de l'invention est de proposer des moyens pour comptabiliser le temps dans un dispositif de traitement d'information, sans nécessiter la présence d'un compteur de temps dans celui-ci. Also, a main object of the invention is to propose means for counting time in an information processing device, without requiring the presence of a time counter therein.

L'invention concerne à cet effet un procédé pour comptabiliser le temps dans un dispositif de traitement d'information comprenant des moyens de traitement et des moyens de mémorisation, caractérisé en ce qu'il comprend les étapes consistant à -évaluer un temps d'exécution nécessaire à l'exécution de chaque instruction d'un ensemble d'instructions à exécuter par les moyens de traitement ; -exécuter un programme comprenant un nombre déterminé d'instructions et, au moment de l'exécution de chaque instruction, faire progresser un compteur en ajoutant à une valeur de cumul du compteur une valeur significative du temps d'exécution de cette instruction. To this end, the invention relates to a method for counting time in an information processing device comprising processing means and storage means, characterized in that it comprises the steps consisting in - evaluating an execution time necessary for the execution of each instruction of a set of instructions to be executed by the processing means; execute a program comprising a determined number of instructions and, at the time of the execution of each instruction, advance a counter by adding to a cumulative value of the counter a significant value of the execution time of this instruction.

L'invention concerne aussi le dispositif associé. The invention also relates to the associated device.

D'autres détails et avantages de la présente invention apparaîtront au cours de la description suivante d'un mode d'exécution préféré mais non limitatif, en regard des dessins annexés sur lesquels La figure 1 représente un objet portatif coopérant avec un dispositif de traitement de données ; et La figure 2 est un organigramme d'une procédure de comptage d'instructions selon l'invention. Other details and advantages of the present invention will appear during the following description of a preferred but non-limiting embodiment, with reference to the appended drawings in which FIG. 1 represents a portable object cooperating with a device for processing data; and Figure 2 is a flow diagram of an instruction counting procedure according to the invention.

La figure 1 représente un dispositif de traitement de données 1 coopérant avec un objet portatif 8. Le dispositif de traitement de données comprend de façon connue en soi un microprocesseur 2 auquel sont reliés une mémoire ROM 3, une mémoire RAM 4, des moyens 5 pour coopérer, avec ou sans contact physique, avec l'objet portatif 8, et une interface de transmission 7 permettant au dispositif de traitement de données de communiquer avec un réseau de communication de données. Le dispositif de traitement de données 1 peut en outre être équipé de moyens de stockage tels que des disquettes ou disques amovibles ou non, de moyens de saisie (tels qu'un clavier etlou un dispositif de pointage du type souris) et de moyens d'affichage, ces différents moyens n'étant pas représentés sur la figure 1. FIG. 1 represents a data processing device 1 cooperating with a portable object 8. The data processing device comprises in a manner known per se a microprocessor 2 to which are connected a ROM memory 3, a RAM memory 4, means 5 for cooperate, with or without physical contact, with the portable object 8, and a transmission interface 7 allowing the data processing device to communicate with a data communication network. The data processing device 1 can also be equipped with storage means such as floppy disks or removable disks or not, input means (such as a keyboard and / or a pointing device of the mouse type) and means of display, these different means not being shown in FIG. 1.

Le dispositif de traitement de données peut être constitué par tout appareil informatique installé sur un site privé ou public et apte à fournir des moyens de gestion de l'information ou de délivrance de divers biens ou services, cet appareil étant installé à demeure ou portable. Il peut notamment s'agir aussi d'un appareil dédié aux télécommunications. The data processing device can consist of any computer device installed on a private or public site and capable of providing means of information management or delivery of various goods or services, this device being permanently installed or portable. It may in particular also be a device dedicated to telecommunications.

Par ailleurs, l'objet portatif 8 porte une puce incluant des moyens de traitement de l'information 9, une mémoire non volatile 10, une mémoire volatile de travail RAM 14, et des moyens 13 pour coopérer avec le dispositif de traitement de données 1. Cette puce est agencée pour définir, dans la mémoire 10, une zone secrète 11 dans laquelle des informations une fois enregistrées, sont inaccessibles depuis l'extérieur de la puce mais seulement accessibles aux moyens de traitement 9, et une zone accessible 12 qui est rendue accessible depuis l'extérieur de la puce par les moyens de traitement 9 pour une lecture etlou une écriture d'informations. Chaque zone de la mémoire non volatile 10 peut comprendre une partie non modifiable ROM et une partie modifiable EPROM, EEPROM, ou constituée de mémoire RAM du type "flash" ou FRAM (cette dernière étant une mémoire RAM ferromagnétique), c'est-à-dire présentant les caractéristiques d'une mémoire EEPROM avec en outre des temps d'accès identiques à ceux d'une RAM classique. En tant que puce, on pourra notamment utiliser un microprocesseur autoprogrammable à mémoire non volatile, tel que décrit dans le brevet américain n 4.382.279 au nom de la Demanderesse. Dans une variante, le microprocesseur de la puce est remplacé - ou tout du moins complété - par des circuits logiques, En effet, de tels circuits sont aptes à effectuer des calculs, notamment d'authentification et de signature, grâce à de l'électronique câblée, et non microprogrammée. Ils peuvent notamment être de type ASIC (de l'anglais Application Specific Integrated Circuit ). Avantageusement, la puce sera conçue sous forme monolithique. Furthermore, the portable object 8 carries a chip including means for processing information 9, a non-volatile memory 10, a volatile working memory RAM 14, and means 13 for cooperating with the data processing device 1 This chip is arranged to define, in memory 10, a secret zone 11 in which information, once recorded, is inaccessible from outside the chip but only accessible to the processing means 9, and an accessible zone 12 which is made accessible from outside the chip by the processing means 9 for reading and / or writing information. Each zone of the non-volatile memory 10 can comprise a non-modifiable part ROM and a modifiable part EPROM, EEPROM, or made up of RAM memory of the "flash" or FRAM type (the latter being a ferromagnetic RAM memory), that is to say -display having the characteristics of an EEPROM memory with in addition access times identical to those of a conventional RAM. As a chip, it is possible in particular to use a self-programming microprocessor with non-volatile memory, as described in US Patent No. 4,382,279 in the name of the Applicant. In a variant, the microprocessor of the chip is replaced - or at least supplemented - by logic circuits, Indeed, such circuits are able to carry out calculations, in particular of authentication and signature, thanks to electronics wired, not firmware. They can in particular be of the ASIC type (from the English Application Specific Integrated Circuit). Advantageously, the chip will be designed in monolithic form.

L'objet portatif 8 contient, en tout ou partie en mémoire ROM, une machine virtuelle, par exemple une machine virtuelle JAVA (marque déposée) sous la forme d'un programme interpréteur capable d'interpréter des instructions interprétables écrites dans un langage évolué, universel, pour les transcrire en des instructions élémentaires écrites dans un langage propre aux moyens de traitement 9. Les instructions interprétables sont stockées en mémoire programmable (EEPROM ou équivalent) ou en mémoire ROM. The portable object 8 contains, in whole or in part in ROM memory, a virtual machine, for example a JAVA virtual machine (registered trademark) in the form of an interpreter program capable of interpreting interpretable instructions written in an advanced language, universal, to transcribe them into elementary instructions written in a language specific to the processing means 9. The interpretable instructions are stored in programmable memory (EEPROM or equivalent) or in ROM memory.

La figure 2 illustre une séquence de comptage d'instructions interprétables selon l'invention. Cette séquence est insérée dans le programme interpréteur de l'objet portatif (en variante, la machine virtuelle n'est pas réalisée de façon logicielle mais matérielle, et la séquence de comptage d'instructions selon l'invention est réalisée sous forme matérielle dans la machine virtuelle). A l'étape 21, l'objet portatif 8 reçoit un ordre du dispositif de traitement de données 1 lui demandant d'exécuter des séquences d'instructions interprétables. Ces instructions interprétables peuvent provenir de deux sources simultanément : soit appartenir à une application stockée dans l'objet portatif, soit appartenir à un système d'exploitation de base des moyens de traitement 9. A l'étape 22, on met un compteur à 0, représenté par un nombre N d'instructions interprétables. A l'étape 23, le programme interpréteur exécute la première instruction interprétable de la séquence à exécuter. FIG. 2 illustrates a sequence of counting of interpretable instructions according to the invention. This sequence is inserted into the interpreter program of the portable object (as a variant, the virtual machine is not produced in software but in hardware, and the sequence of counting instructions according to the invention is carried out in hardware form in the virtual machine). In step 21, the portable object 8 receives an order from the data processing device 1 asking it to execute sequences of interpretable instructions. These interpretable instructions can come from two sources simultaneously: either belong to an application stored in the portable object, or belong to a basic operating system of the processing means 9. In step 22, a counter is set to 0 , represented by a number N of interpretable instructions. In step 23, the interpreter program executes the first interpretable instruction of the sequence to be executed.

A l'étape 24, le programme interpréteur détermine si l'instruction interprétable qu'il vient de traiter était la dernière à exécuter ou non. Dans l'affirmative, il rend la main au dispositif de traitement de données 1 à l'étape 25. Dans la négative, le programme interpréteur incrémente le nombre N d'une unité (étape 26). A l'étape 27, il teste si le nombre N d'instructions interprétables déjà traitées est inférieur à un seuil N,.. Dans l'affirmative, il retourne à l'étape 23 pour traiter l'instruction interprétable suivante. Dans la négative, le programme interpréteur envoie (étape 28) un message au dispositif de traitement de données 1 : il s'agit d'un message d'attente pour indiquer au dispositif de traitement de données 1 que l'objet portatif n'a pas fini d'exécuter la séquence d'instructions interprétables demandée. In step 24, the interpreter program determines whether the interpretable instruction which it has just processed was the last to be executed or not. In the affirmative, it returns control to the data processing device 1 in step 25. In the negative, the interpreter program increments the number N by one unit (step 26). In step 27, it tests whether the number N of interpretable instructions already processed is less than a threshold N,. If so, it returns to step 23 to process the next interpretable instruction. If not, the interpreter program sends (step 28) a message to the data processing device 1: this is a waiting message to indicate to the data processing device 1 that the portable object has not not finished executing the requested sequence of interpretable instructions.

On notera que la séquence de comptage d'instructions interprétables de la figure 2 sera déclenchée à chaque fois qu'une quelconque séquence d'instructions interprétables sera exécutée par les moyens de traitement, notamment dans les cas suivants -lors de l'installation d'une application qui vient d'être chargée dans l'objet portatif, à l'occasion de laquelle une séquence d'installation contenue dans l'application sera exécutée ; -lors de chaque exécution d'une application déjà installée. It will be noted that the sequence of counting of interpretable instructions of FIG. 2 will be triggered each time that any sequence of interpretable instructions will be executed by the processing means, in particular in the following cases - during the installation of an application which has just been loaded into the portable object, during which an installation sequence contained in the application will be executed; -on each execution of an application already installed.

La valeur N,ax est déterminée expérimentalement. Une façon de déterminer cette valeur va maintenant être exposée. Le programmeur élabore un petit programme écrit en langage évolué, constitué d'une boucle exécutant n fois la même séquence d'instructions interprétables : cette séquence contient m instructions interprétables. Pour certaines valeurs de n, telles que 256 par exemple, le programmeur constate que l'objet portatif est déclaré muet par le dispositif de traitement de données 1 car il n'a pu exécuter toutes les instructions interprétables du programme dans le délai normalisé d'une seconde. Le programmeur fait alors baisser la valeur de n à 250, puis 240, etc.... jusqu'à trouver une valeur permettant à l'objet portatif de répondre dans le délai d'une seconde: il calcule alors le produit nxm et trouve un nombre. Puis, le programmeur reouvelle l'expérience avec une séquence contenant des instructions interprétables différentes des précédentes : il va trouver des nombres compris par exemple entre 4150 et 4500. II va se donner une marge en choisissant un nombre un peu plus faible que le plus petit de ces nombres, soit par exemple 4096 qui est une puissance de deux: ce nombre constitue le nombre N". . On notera que le nombre NR,ax dépend de la machine virtuelle utilisée, puisque le temps mis par les instructions interprétables pour s'exécuter dépend directement des performances de la machine virtuelle considérée, telle qu'elle a été écrite. The value N, ax is determined experimentally. A way of determining this value will now be explained. The programmer develops a small program written in advanced language, consisting of a loop executing n the same sequence of interpretable instructions n times: this sequence contains m interpretable instructions. For certain values of n, such as 256 for example, the programmer notes that the portable object is declared mute by the data processing device 1 because he was unable to execute all the interpretable instructions of the program within the standardized time of a second. The programmer then lowers the value of n to 250, then 240, etc., until finding a value allowing the portable object to respond within one second: it then calculates the product nxm and finds a number. Then, the programmer renews the experiment with a sequence containing interpretable instructions different from the previous ones: he will find numbers ranging for example between 4150 and 4500. He will give himself a margin by choosing a number a little lower than the smallest of these numbers, for example 4096 which is a power of two: this number constitutes the number N ". Note that the number NR, ax depends on the virtual machine used, since the time taken by the interpretable instructions for s' to execute depends directly on the performance of the virtual machine considered, as it was written.

Une autre façon de déterminer la valeur N,,a, consiste à mesurer la durée réelle de chaque instruction interprétée puis de faire une moyenne statistique des valeurs trouvées. On détermine par ailleurs un délai dans lequel l'objet portatif doit avoir répondu au dispositif de traitement de données 1 : pour un délai théorique d'une seconde, on prendra par exemple une certaine marge en choisissant le délai de 900 ms. La valeur NR,,x est alors obtenue en divisant 900 ms par la durée moyenne d'une instruction interprétée. Another way of determining the value N ,, a, consists in measuring the real duration of each instruction interpreted then in making a statistical average of the values found. A delay is also determined within which the portable object must have responded to the data processing device 1: for a theoretical delay of one second, for example, a certain margin will be taken by choosing the delay of 900 ms. The value NR ,, x is then obtained by dividing 900 ms by the average duration of an interpreted instruction.

Sur la figure 2, on a incrémenté le nombre N d'instructions interprétables juste après l'exécution de l'instruction interprétable courante on aurait aussi pu le faire juste avant, l'essentiel étant que cette incrémentation s'effectue avant qu'une nouvelle instruction interprétable s'exécute. In FIG. 2, the number N of interpretable instructions has been incremented just after the execution of the current interpretable instruction, we could also have done it just before, the main thing being that this incrementation takes place before a new interpretable instruction is executed.

Dans ce qui précède, on a décrit l'invention dans le cadre d'un objet portatif contenant une machine virtuelle et manipulant des instructions interprétables. L'invention s'applique aussi à un objet portatif dépourvu d'une telle machine virtuelle ; elle s'applique aussi à tout autre dispositif de traitement de données ayant à effectuer, sous un certain délai, une certaine opération, cette opération pouvant consister à fournir une réponse à un autre dispositif avec lequel il coopère, ou bien à effectuer un traitement interne.In the foregoing, the invention has been described in the context of a portable object containing a virtual machine and manipulating interpretable instructions. The invention also applies to a portable object devoid of such a virtual machine; it also applies to any other data processing device having to perform, within a certain period, a certain operation, this operation may consist of providing a response to another device with which it cooperates, or else to perform internal processing .

Claims (8)

REVENDICATIONS 1. Procédé pour comptabiliser le temps dans un dispositif de traitement d'information (8) comprenant des moyens de traitement (9) et des moyens de mémorisation (10,14), caractérisé en ce qu'il comprend les étapes consistant à -évaluer un temps d'exécution nécessaire â l'exécution de chaque instruction d'un ensemble d'instructions à exécuter par les moyens de traitement ; -exécuter (23) un programme comprenant un nombre déterminé d'instructions et, au moment de l'exécution de chaque instruction, faire progresser (26) un compteur en ajoutant à une valeur de cumul du compteur une valeur significative du temps d'exécution de cette instruction.1. Method for counting time in an information processing device (8) comprising processing means (9) and storage means (10,14), characterized in that it comprises the steps consisting in - evaluating an execution time necessary for the execution of each instruction of a set of instructions to be executed by the processing means; executing (23) a program comprising a determined number of instructions and, at the time of the execution of each instruction, advancing (26) a counter by adding to a cumulative value of the counter a significant value of the execution time of this instruction. 2. Procédé selon la revendication 1, dans lequel on définit un temps d'exécution moyen, identique pour toutes les instructions à exécuter par les moyens de traitement, le compteur étant un compteur de nombre d'instructions et progressant d'une unité au moment de l'exécution de chaque instruction.2. Method according to claim 1, in which an average execution time is defined, identical for all the instructions to be executed by the processing means, the counter being a counter for the number of instructions and progressing by one at the time. of the execution of each instruction. 3. Procédé selon la revendication 1, comprenant les étapes consistant à -comparer (27), lors de l'exécution de chaque instruction, ladite valeur de cumul à une valeur de référence ; et -déclencher (28) une opération à effectuer par les moyens de traitement lorsque la valeur de cumul atteint la valeur de référence.3. Method according to claim 1, comprising the steps consisting in comparing (27), during the execution of each instruction, said cumulative value with a reference value; and triggering (28) an operation to be performed by the processing means when the cumulative value reaches the reference value. 4. Procédé selon la revendication 1, dans lequel les instructions sont des instructions interprétables écrites dans un langage évolué, le procédé comprenant l'étape consistant à interpréter ces instructions interprétables afin de les traduire en des instructions élémentaires écrites dans un langage propre aux moyens de traitement et exécutées par les moyens de traitement.4. The method of claim 1, wherein the instructions are interpretable instructions written in an advanced language, the method comprising the step of interpreting these interpretable instructions in order to translate them into elementary instructions written in a language specific to the means of processing and executed by the processing means. 5. Procédé selon la revendication 1, dans lequel le dispositif de traitement d'information (8) coopère avec un autre dispositif de traitement d'information (1) et la valeur de référence correspond à un temps dans lequel le dispositif de traitement d'information doit transmettre un message audit autre dispositif de traitement d'information et, lorsque la valeur de cumul atteint la valeur de référence, les moyens de traitement (9) transmettent (28) ledit message audit autre dispositif de traitement d'information.5. Method according to claim 1, in which the information processing device (8) cooperates with another information processing device (1) and the reference value corresponds to a time in which the processing device information must transmit a message to said other information processing device and, when the cumulative value reaches the reference value, the processing means (9) transmit (28) said message to said other information processing device. 6. Dispositif de traitement d'information (8) comprenant des moyens de traitement (9) et des moyens de mémorisation (10,14), caractérisé en ce qu'il comprend un compteur (26) qui, lors de l'exécution de chaque instruction d'un programme par les moyens de traitement, ajoute à une valeur de cumul du compteur une valeur significative du temps d'exécution de cette instruction.6. Information processing device (8) comprising processing means (9) and storage means (10,14), characterized in that it comprises a counter (26) which, during the execution of each instruction of a program by the processing means, adds to a cumulative value of the counter a significant value of the execution time of this instruction. 7. Dispositif selon la revendication 6, qui comprend -des moyens de comparaison (27) pour comparer, lors de l'exécution de chaque instruction, ladite valeur de cumul à une valeur de référence ; et -des moyens de déclenchement (28) pour déclencher une opération à effectuer par les moyens de traitement lorsque ladite valeur de cumul atteint la valeur de référence.7. Device according to claim 6, which comprises - comparison means (27) for comparing, during the execution of each instruction, said cumulative value with a reference value; and triggering means (28) for triggering an operation to be carried out by the processing means when said cumulative value reaches the reference value. 8. Dispositif selon la revendication 6, dans lequel les instructions sont des instructions interprétables écrites dans un langage évolué et le dispositif comprend des moyens d'interprétation pour interpréter ces instructions interprétables afin de les traduire en des instructions élémentaires écrites dans un langage propre aux moyens de traitement et exécutées par les moyens de traitement.8. Device according to claim 6, in which the instructions are interpretable instructions written in an advanced language and the device comprises interpretation means for interpreting these interpretable instructions in order to translate them into elementary instructions written in a language specific to the means. and executed by the processing means.
FR9908410A 1999-06-30 1999-06-30 METHOD FOR ACCOUNTING TIME IN AN INFORMATION PROCESSING DEVICE, AND ASSOCIATED DEVICE Expired - Fee Related FR2795837B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9908410A FR2795837B1 (en) 1999-06-30 1999-06-30 METHOD FOR ACCOUNTING TIME IN AN INFORMATION PROCESSING DEVICE, AND ASSOCIATED DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9908410A FR2795837B1 (en) 1999-06-30 1999-06-30 METHOD FOR ACCOUNTING TIME IN AN INFORMATION PROCESSING DEVICE, AND ASSOCIATED DEVICE

Publications (2)

Publication Number Publication Date
FR2795837A1 true FR2795837A1 (en) 2001-01-05
FR2795837B1 FR2795837B1 (en) 2004-09-17

Family

ID=9547524

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9908410A Expired - Fee Related FR2795837B1 (en) 1999-06-30 1999-06-30 METHOD FOR ACCOUNTING TIME IN AN INFORMATION PROCESSING DEVICE, AND ASSOCIATED DEVICE

Country Status (1)

Country Link
FR (1) FR2795837B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0237883A1 (en) * 1986-03-12 1987-09-23 Casio Computer Company Limited A card and terminal system
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
WO1995025304A1 (en) * 1994-03-14 1995-09-21 Green Hills Software, Inc. Optimizing time and testing of higher level language programs
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
EP0864979A2 (en) * 1997-03-10 1998-09-16 Digital Equipment Corporation Processor performance counter for sampling the execution frequency of individual instructions
WO1998055922A1 (en) * 1997-06-04 1998-12-10 Marathon Technologies Corporation Loosely-coupled, synchronized execution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0237883A1 (en) * 1986-03-12 1987-09-23 Casio Computer Company Limited A card and terminal system
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
WO1995025304A1 (en) * 1994-03-14 1995-09-21 Green Hills Software, Inc. Optimizing time and testing of higher level language programs
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
EP0864979A2 (en) * 1997-03-10 1998-09-16 Digital Equipment Corporation Processor performance counter for sampling the execution frequency of individual instructions
WO1998055922A1 (en) * 1997-06-04 1998-12-10 Marathon Technologies Corporation Loosely-coupled, synchronized execution

Also Published As

Publication number Publication date
FR2795837B1 (en) 2004-09-17

Similar Documents

Publication Publication Date Title
EP0990204B1 (en) Chip card comprising means for managing a virtual memory, associated communication method and protocol
WO2008129225A1 (en) Method for communicating and transmitting a message relating to a transaction for a contactless application, terminal, secured module and associated systems
EP2688010A1 (en) Update of an operating system for a secure element
FR2667171A1 (en) Portable support with easily programmable microcircuit and method of programming this microcircuit
EP1967949A1 (en) Method of executing a program relating to several services, corresponding electronic device and system
WO2005084107A2 (en) Method and device using a sim card device
EP2239712A1 (en) Method for personalising an electronic device, associated data processing method and device
WO2014076427A1 (en) Nfc device comprising configurable notification means
WO2015091511A1 (en) Binary code authentication
FR3071987A1 (en) METHOD AND SYSTEM FOR RECOGNIZING A USER DURING RADIO COMMUNICATION VIA THE HUMAN BODY
WO2008065264A1 (en) Portable electronic entity and method for customising such electronic entity
EP1817713A1 (en) Method for identifying a user by means of modified biometric characteristics and a database for carrying out said method
EP1240630A1 (en) Method for authenticating a portable object, corresponding portable object, and apparatus therefor
FR2795837A1 (en) Method of comparing timing of data processing in corresponding devices by measuring progress by accumulating meaningful value of time of execution of corresponding instruction
EP1141903B1 (en) Device and method for initialising an applicative programme of an integrated circuit card
FR2835628A1 (en) MANAGEMENT OF THE UPDATE OF INFORMATION ENCODED IN MEMORY
EP3304531B1 (en) Encryption method, corresponding encryption method, devices and programs
EP3671519A1 (en) Transaction securisation using a smartcard
FR2795836A1 (en) Method of evaluation of timing of data processing device by executing program contained in memory while adding time of execution to form accumulated value of time during such operation
FR2789774A1 (en) Security module for secure comparison of an authentication code with one stored in memory has additional auxiliary registers in which randomly chosen data words are placed for use in authenticating the code in the main registers
EP2252978B1 (en) Integrated circuit card having a modifiable operating program and corresponding method of modification
WO2003071733A1 (en) Method for generating secure keys for a cryptographic algorithm
FR2789779A1 (en) Secure processing of a program in a register memory and associated security control module used for access to secure computer systems
EP2304559A1 (en) Method for swapping between two versions of a same application within an information processing device, and said device
EP2544115A1 (en) Method for running a process in a secured device

Legal Events

Date Code Title Description
CA Change of address
TP Transmission of property
ST Notification of lapse

Effective date: 20100226