FR2805058A1 - COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM - Google Patents

COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM Download PDF

Info

Publication number
FR2805058A1
FR2805058A1 FR0101560A FR0101560A FR2805058A1 FR 2805058 A1 FR2805058 A1 FR 2805058A1 FR 0101560 A FR0101560 A FR 0101560A FR 0101560 A FR0101560 A FR 0101560A FR 2805058 A1 FR2805058 A1 FR 2805058A1
Authority
FR
France
Prior art keywords
program
instruction
unit
application program
indicator
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
FR0101560A
Other languages
French (fr)
Other versions
FR2805058B1 (en
Inventor
Daniel Ciezinger
Hans Borgs
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Publication of FR2805058A1 publication Critical patent/FR2805058A1/en
Application granted granted Critical
Publication of FR2805058B1 publication Critical patent/FR2805058B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features

Abstract

Elle comprend l'agencement d'un support de données portable avec des moyens pour mémoriser un programme d'application constituée d'une suite d'instructions ainsi qu'une unité de processeur qui traite chacune des instructions sur lesquelles est dirigé un indicateur d'instruction.Une unité de transfert (60), qui est reliée avec l'unité de processeur (10) et les moyens de mémoire, fait passer l'indicateur d'instruction (22) à la prochaine instruction à traiter et le réglage de l'indicateur d'instruction (22) pour l'instruction suivante à traiter est activé par la réalisation de chaque instruction traitée en dernier.It includes the arrangement of a portable data medium with means for storing an application program consisting of a sequence of instructions as well as a processor unit which processes each of the instructions on which a data indicator is directed. A transfer unit (60), which is connected with the processor unit (10) and the memory means, passes the instruction indicator (22) to the next instruction to be processed and the setting of the instruction. The instruction indicator (22) for the next instruction to be processed is activated by the execution of each instruction last processed.

Description

DU0 SPICATA, X2805058DU0 SPICATA, X2805058

DU PL!IC;ATA&FROM PL! IC; ATA &

STRUCTURE INFORMATIQUE POUR UN SUPPORT  IT STRUCTURE FOR A SUPPORT

DE DONNEES PORTABLEPORTABLE DATA

L'invention se rapporte à l'arrangement d'un support de données portable pour l'exécution de codes de programme interprétants. En particulier, l'invention concerne une structure informatique pour un support de données portable, un procédé pour la réalisation et l'interprétation d'un programme d'application ainsi qu'un ensemble de moyens d'exploitation pour la structure informatique. De plus l'invention se rapporte à un support de données portable avec une structure informatique pour l'exécution  The invention relates to the arrangement of a portable data medium for the execution of interpretive program codes. In particular, the invention relates to a computer structure for a portable data carrier, a method for producing and interpreting an application program as well as a set of operating means for the computer structure. In addition, the invention relates to a portable data carrier with a computer structure for execution

d'un programme d'application.an application program.

Il est de pratique courante de réaliser des processus de traitement de données dans lesquels des données utiles fixées à l'avance sont traitées par utilisation de supports de données portables, en particulier sous la forme de cartes à puce. Une tendance de développement tend à améliorer la flexibilité de tels supports de données portables intelligents aussi bien en ce qui concerne les fonctionnalités réalisables  It is common practice to carry out data processing processes in which useful data fixed in advance is processed by the use of portable data carriers, in particular in the form of smart cards. A development trend tends to improve the flexibility of such intelligent portable data carriers as well with regard to the achievable functionalities.

qu'en ce qui concerne la compatibilité des composants participants. Selon une propo-  as regards the compatibility of the participating components. According to a proposal

sition connue du document EP-A-794 519, le système d'exploitation d'une carte à puce doit être formé comme système d'interprétation pour que le code de programme à prendre en charge se transforme en code spécifique de processeur et exécutable par le processeur à carte. Le systèmes d'interprétation proposé permet le rechargement de codes de programme sur une carte à puce et rend possible l'exécution d'un programme par différents processeurs. L'interprétation des codes de programme à prendre en charge a cependant pour conséquence une réduction notoire de la vitesse de prise en charge, par exemple par rapport à un code de programme obtenu par compilation.  sition known from document EP-A-794 519, the operating system of a smart card must be trained as an interpretation system so that the program code to be supported is transformed into specific code of processor and executable by the card processor. The interpretation system proposed allows the reloading of program codes on a smart card and makes it possible to execute a program by different processors. The interpretation of the program codes to be supported, however, results in a noticeable reduction in the speed of support, for example compared to a program code obtained by compilation.

Pour rendre possible une vitesse d'exécution plus élevée, le document USA-  To make possible a higher execution speed, the document USA-

367 685 propose l'utilisation d'un système hybride d'interprétationcompilation, la compilation et l'interprétation étant activées l'une derrière l'autre. Le code de  367 685 proposes the use of a hybrid interpretation-compilation system, compilation and interpretation being activated one behind the other. The code of

programme d'application est d'abord transmis par compilation en un format intermé-  application program is first transmitted by compilation in an intermediate format

diaire exécutable, qui est ensuite interprété. Dans le code de programme de format intermédiaire, les références symboliques contenues sont remplacées dans une l145FRdoc - 5 féwricr2001 - 1113  executable diary, which is then interpreted. In the intermediate format program code, the symbolic references contained are replaced in a l145FRdoc - 5 féwricr2001 - 1113

2 28050582 2805058

première boucle d'interprétation par des références numériques. L'interprétation est commandée par une routine principale d'interprétation. Pendant l'exécution de l'interprétation, la routine principale d'interprétation lit une instruction à prendre en charge puis appelle une séquence de programme correspondante, rédigée en langage machine et qui est exécutable immédiatement par l'unité de processeur, séquence de programme qui est ensuite exécutée par l'unité de processeur. Après le lancement de l'exécution, l'unité de processeur continue avec l'interprétation de l'instruction suivante. Pendant l'exécution d'une séquence de programme en langage machine dans une mémoire, l'adresse de l'instruction suivante à interpréter est conservée généralement dans la zone de mémoire empilée de la mémoire centrale associée à  first interpretation loop with numerical references. Interpretation is controlled by a main interpretation routine. During the execution of the interpretation, the main interpretation routine reads an instruction to be taken in charge then calls a corresponding program sequence, written in machine language and which is immediately executable by the processor unit, program sequence which is then executed by the processor unit. After the execution starts, the processor unit continues with the interpretation of the following instruction. During the execution of a program sequence in machine language in a memory, the address of the next instruction to be interpreted is generally kept in the stacked memory area of the main memory associated with

l'unité de processeur.the processor unit.

Le problème que se propose de résoudre l'invention est d'obtenir une structure informatique interprétante pour un support de données portable, de telle sorte que la  The problem which the invention proposes to solve is to obtain an interpretive computer structure for a portable data medium, so that the

vitesse d'exécution d'un programme d'application soit encore augmentée.  execution speed of an application program is further increased.

Ce problème est résolu par une structure informatique pour un support de données portable avec des moyens de mémoire pour mémoriser un programme d'application consistant en une suite d'instructions et avec une unité de processeur pour l'exécution interprétante du programme d'application, chaque instruction, vers laquelle est dirigé un indicateur d'instruction, étant traitée, caractérisée par une unité  This problem is solved by a computer structure for a portable data medium with memory means for memorizing an application program consisting of a sequence of instructions and with a processor unit for the interpretative execution of the application program, each instruction, to which an instruction indicator is directed, being processed, characterized by a unit

de transfert reliée avec l'unité de processeur, avec les moyens de mémoire compre-  transfer device connected with the processor unit, with the memory means

nant le programme d'application et avec l'indicateur d'instruction, unité de transfert  the application program and with the instruction indicator, transfer unit

qui comprend au moins un élément de programme logique, qui indique une ampli-  which includes at least one logic program element, which indicates an ampli

tude de pas de réglage, et unité de transfert qui règle l'indicateur d'instruction après l'exécution du traitement d'une instruction à chaque fois à l'amplitude de pas de réglage indiquée dans un élément de programme logique. La structure informatique selon l'invention se caractérise en ce qu'elle prévoit pour le réglage de l'indicateur d'instruction désignant la prochaine instruction de programme d'application à prendre en charge, une unité de transfert spécialement prévue pour cela. Elle rend superflue la mémorisation de l'adresse de retour dans la pile de mémoire. Ainsi, l'économie des opérations de transfert et de retour diminue le temps de traitement d'une instruction du programme. Pour cela, l'unité de transfert est réalisée sous la  adjustment step study, and transfer unit which adjusts the instruction indicator after the execution of the processing of an instruction each time at the amplitude of adjustment step indicated in a logic program element. The computer structure according to the invention is characterized in that it provides for the setting of the instruction indicator designating the next application program instruction to be supported, a transfer unit specially provided for this. It makes it unnecessary to store the return address in the memory stack. Thus, the economy of transfer and return operations decreases the processing time of a program instruction. For this, the transfer unit is produced under the

forme d'un programme invariable à l'intérieur de l'unité de processeur.  form of an invariable program inside the processor unit.

Selon un autre mode de réalisation de l'invention, l'unité de transfert est reliée à une unité de mémoire de code machine, dans laquelle se trouve un code de programme, rédigé en langage machine et correspondant à chaque instruction à interpréter du programme d'application. L'unité de transfert est reliée à une unité de stockage de tables qui associe un élément de programme de l'unité de mémoire de code de machine à chaque instruction du programme d'application. L'unité de 1I145FRdoc - 5 févner 2001 - 2/13  According to another embodiment of the invention, the transfer unit is connected to a machine code memory unit, in which there is a program code, written in machine language and corresponding to each instruction to be interpreted from the program d 'application. The transfer unit is connected to a table storage unit which associates a program element of the machine code memory unit with each instruction of the application program. The unit of 1I145FRdoc - 5 Feb 2001 - 2/13

3 28050583 2805058

transfert est réalisée sotus la forme d'un programme non modifiable et réalisable par  transfer is carried out in the form of a non-modifiable and achievable program by

l'unité de processeur.the processor unit.

Le problème posé est également résolu par un procédé pour la réalisation de l'interprétation d'un programme d'application composé d'une suite d'instructions par une structure informatique fonnée d'un support de données portable, chacune des instructions à traiter étant indiquée par un indicateur d'instruction, caractérisé en ce que le réglage de l'indicateur d'instruction pour indiquer l'instruction suivante à  The problem also is solved by a method for carrying out the interpretation of an application program composed of a sequence of instructions by a computer structure formed from a portable data medium, each of the instructions to be processed being indicated by an instruction indicator, characterized in that setting the instruction indicator to indicate the next instruction to

traiter est produit par l'exécution de chaque instruction traitée en dernier. Le traite-  process is produced by the execution of each instruction processed last. The Treaty-

ment d'une instruction se produit pendant qu'un élément de programme corres-  instruction occurs while a program element matches

pondant, rédigé en langage machine, est détecté et exécuté. Les éléments de programme correspondants rédigés en langage machine sont stockés de manière séparée du programme d'application. Il est appliqué au moins un élément de programme logique rédigé en langage machine et qui produit un réglage de  laying, written in machine language, is detected and executed. The corresponding program elements written in machine language are stored separately from the application program. At least one logic program element written in machine language is applied which produces a setting of

l'indicateur d'instruction.the instruction indicator.

Les éléments de programme rédigés en langage machine et correspondant aux instructions sont chacun isolés par une séquence d'ordre, qui produit l'exécution d'un élément de programme logique. Une table est utilisée pour détecter un élément de programme rédigé en langage machine et correspondant à une instruction d'un programme d'application, table qui associe l'adresse d'un élément de programme rédigé en langage machine à chaque instruction possible d'un programme d'application. Le procédé selon l'invention a l'avantage, pour enchaîner la prise en charge d'un programme d'application, qu'aucun programme principal d'interprétation d'attaque n'est nécessaire. L'ajustement de l'indicateur d'instruction pour désigner chacune des instructions à prendre en charge est réalisé à partir de chacune des  The program elements written in machine language and corresponding to the instructions are each isolated by a sequence of order, which produces the execution of a logical program element. A table is used to detect a program element written in machine language and corresponding to an instruction of an application program, a table which associates the address of a program element written in machine language with each possible instruction of a application program. The method according to the invention has the advantage, for linking the support of an application program, that no main attack interpretation program is necessary. The adjustment of the instruction indicator to designate each of the instructions to be taken care of is carried out from each of the

instructions exécutées en dernier.  instructions executed last.

Le problème posé ci-dessus est également résolu par un ensemble de moyens d'exploitation pour la mise en oeuvre d'une structure informatique d'un support de données portable pour l'exécution interprétante d'un programme d'application composé d'une suite d'instructions, avec une première unité de programme qui rend une unité de processeur exécutante de la structure informatique capable de trouver chaque instruction à traiter ensuite, du programme d'application, avec une deuxième unité de programme qui comporte des éléments de programme, représentés en langage machine immédiatement exécutables par l'unité de processeur, éléments de programme qui correspondent chacun à une instruction fixée à l'avance dans un programme d'application et dont ils produisent l'exécution, ainsi qu'avec une troisième unité de programme qui comporte au moins un élément de programme logique rédigé en langage machine, et qui contraint la structure informatique à 18145FRdoc - 5 févrie 2001 - 3/13  The problem posed above is also solved by a set of operating means for the implementation of a computer structure of a portable data carrier for the interpretive execution of an application program composed of a sequence of instructions, with a first program unit which makes a processor unit executing the computer structure capable of finding each instruction to be processed next, of the application program, with a second program unit which comprises program elements, represented in machine language immediately executable by the processor unit, program elements which each correspond to an instruction fixed in advance in an application program and the execution of which they produce, as well as with a third program unit which includes at least one logic program element written in machine language, and which constrains the IT structure to 18145ENdoc - 5 f Évrie 2001 - 3/13

4 28050584 2805058

transmettre la suite de l'exécution du programme à la première unité de programme.  transmit the rest of the program execution to the first program unit.

Les éléments de programme sont isolés de la deuxième unité de programme chacun par une séquence d'ordre qui contraint l'unité de processeur exécutante à exécuter un élément de programme logique. La première unité de programme de l'unité de processeur prépare une information qui indique dans la deuxième unité de mémoire l'élément de programme à traiter ensuite. La première unité de programme contraint l'unité de processeur à déterminer un indicateur, de manière qu'il indique dans le programme d'application la prochaine instruction à traiter. La première unité de  The program elements are isolated from the second program unit each by an order sequence which compels the executing processor unit to execute a logic program element. The first program unit of the processor unit prepares information which indicates in the second memory unit the program element to be processed next. The first program unit forces the processor unit to determine an indicator, so that it indicates in the application program the next instruction to be processed. The first unit of

programme exploite l'instruction à traiter et désignée par l'indicateur pour détenni-  program uses the instruction to be processed and designated by the indicator to determine

ner l'informnation sur l'élément de programme à exécuter à la suite.  information on the program element to be executed next.

L'invention comporte une unité de programme contenant le code de pro-  The invention includes a program unit containing the program code.

gramme susceptible d'être exécuté par l'unité de processeur et au moins un élément de programme logique, qui assure le réglage de l'indicateur d'instruction sur chacune  gram which can be executed by the processor unit and at least one logic program element, which sets the instruction indicator on each

des instructions exécutées par la suite. Un dispositif de routine d'interprétation prin-  instructions executed thereafter. A main routine interpretation device

cipale provoquant la prise en charge du programme d'application n'est donc plus nécessaire. Chaque élément de programme obtenu depuis un code de programme exécutable par l'unité de processeur comprend une séquence de programme, qui  cipal causing the support of the application program is therefore no longer necessary. Each program element obtained from a program code executable by the processor unit includes a program sequence, which

bifurque vers un élément de programme logique.  branches off to a logical program element.

L'invention concerne également: - un support de données portable avec une structure informatique pour l'exécution d'un programme d'application, caractérisé en ce que la structure informatique est constituée comme décrit ci-dessus; - l'utilisation du procédé pour la réalisation de l'interprétation d'un programme d'application décrit ci-dessus pour l'exploitation d'un support de données portable présentant une structure informatique pour l'exécution d'un programme d'application; l'utilisation de l'ensemble des moyens d'exploitation constituant un produit informatique pour un dispositif de structure informatique d'un support de  The invention also relates to: - a portable data medium with an IT structure for the execution of an application program, characterized in that the IT structure is constituted as described above; the use of the method for carrying out the interpretation of an application program described above for the operation of a portable data medium having a computer structure for the execution of an application program ; the use of all the operating means constituting a computer product for a computer structure device of a support

données portable apte à l'exécution d'un programme d'application.  portable data suitable for executing an application program.

Un exemple de mode de réalisation de l'invention est expliqué par la suite en se référant au dessin dans lequel:  An exemplary embodiment of the invention is explained below with reference to the drawing in which:

La figure 1 représente la structure d'une structure informatique proposée.  Figure 1 shows the structure of a proposed IT structure.

La figure 2 montre le mode opératoire de cette structure informatique.  Figure 2 shows the operating mode of this IT structure.

La figure 3 montre le processus de la prise en charge d'un programme  Figure 3 shows the process of taking over a program

d'application.of application.

La figure I montre la structure informatique proposée, avec les liaisons effica-  Figure I shows the proposed IT structure, with the efficient links

ces fonctionnelles et les éléments impliqués. Une plate-forme de réalisation physique pour la structure représentée peut être en particulier le système informatique d'un 18145FRdoc - 5 février2001 -4/13  these functional and the elements involved. A physical production platform for the structure represented can be, in particular, the computer system of an 18145ENdoc - February 5, 2001 -4/13

28050582805058

support de données portable, de préférence sous la forme d'une carte à puce c'est-à-  portable data carrier, preferably in the form of a smart card,

dire un système considérablement réduit en ce qui concerne ses ressources physi-  say a considerably reduced system with regard to its physical resources

ques. Le coeur de la structure représentée à la figure I constitue une unité de proces-  ques. The heart of the structure shown in Figure I constitutes a process unit

seur 10 centrale, qui est formée d'une manière classique en soi pour l'exécution de s l'interprétation de codes de programme rédigés en langage machine. Dans l'unité de processeur 10 centrale (CPU) sont réalisés un premier dispositif (IP) de réglage d'indicateur 20 pour le réglage d'un indicateur d'instruction 22 ainsi qu'un deuxième dispositif (PC) de réglage d'indicateur 30 pour le réglage d'un indicateur de programme 32. L'indicateur d'instruction 22 désigne une adresse d'une première zone de mémoire 40 (mémoire de programme d'application), dans laquelle se trouve  seur 10 central, which is formed in a conventional manner per se for the execution of s interpretation of program codes written in machine language. In the central processor unit 10 (CPU) are made a first indicator setting device (IP) 20 for setting an instruction indicator 22 as well as a second indicator setting device (PC) 30 for setting a program indicator 32. The instruction indicator 22 designates an address of a first memory area 40 (application program memory), in which is located

un programme d'application constitué d'une pluralité d'instructions simples.  an application program consisting of a plurality of simple instructions.

L'indicateur de programme 32 indique une adresse de départ dans une deuxième zone de mémoire 50 dans laquelle se trouve un code de machine rédigé en langage  The program indicator 32 indicates a starting address in a second memory area 50 in which there is a machine code written in language

machine et exécutable par l'unité de processeur 10 centrale.  machine and executable by the central processor unit 10.

Le dispositif de réglage d'indicateur d'instruction 20 est relié avec une unité de transfert 60 par une liaison 24 de signal bidirectionnel, unité de transfert 60 qui est désignée par la suite comme interprète interne. Le dispositif indicateur d'instruction communique à l'interprète la position de l'indicateur d'instruction 22 par la liaison 24 de signal. En sens inverse, l'interprète interne 60 provoque le réglage de  The instruction indicator adjuster 20 is connected to a transfer unit 60 by a bidirectional signal link 24, transfer unit 60 which is designated subsequently as internal interpreter. The instruction indicator device communicates to the interpreter the position of the instruction indicator 22 by the signal link 24. In the opposite direction, the internal interpreter 60 causes the adjustment of

l'indication d'instruction 22.instruction indication 22.

L'interprète 60 interne est relié au deuxième dispositif de réglage d'indicateur au moyen d'une autre liaison de signal 34. L'interprète contraint ainsi le dispositif  The internal interpreter 60 is connected to the second indicator adjustment device by means of another signal link 34. The interpreter thus constrains the device

de réglage d'indicateur à activer l'indicateur 32 de programme.  indicator setting to activate program indicator 32.

L'interprète interne 60 est relié avec la zone de mémoire 40 du programme d'application au moyen d'une autre liaison 62 de signal. La liaison de signal 62 sert ainsi à extraire le contenu de l'adresse désignée par l'indicateur d'instruction 22 dans  The internal interpreter 60 is linked to the memory area 40 of the application program by means of another signal link 62. The signal link 62 thus serves to extract the content of the address designated by the instruction indicator 22 in

la zone de mémorisation du programme d'application 40.  the storage area of the application program 40.

En partant de l'interprète 60 interne, un indicateur d'adresse 64 est en plus dirigé vers une troisième zone de mémoire (des adresses de départ) 70. Pour cela se  Starting from the internal interpreter 60, an address indicator 64 is additionally directed to a third memory area (of starting addresses) 70. To do this,

trouve une table, qui associe une adresse de départ à chacune des instructions extrai-  finds a table, which associates a starting address with each of the instructions extracted

tes de la zone de mémorisation 40 du programme d'application, adresse de départ qui désigne un élément de programme 500, 520 exécuté en langage machine dans la deuxième zone de mémoire 50. L'indicateur de programme 32 provenant de l'unité  tes of the storage area 40 of the application program, starting address which designates a program element 500, 520 executed in machine language in the second memory area 50. The program indicator 32 coming from the unit

de processeur 10 centrale est dirigé sur l'adresse de départ.  of central processor 10 is directed to the starting address.

Une quatrième zone de mémoire 80 (d'empilement) est associée à la deuxième zone de mémoire 50 par une liaison de données 52 bidirectionnelle, et sert de  A fourth memory area 80 (stacking) is associated with the second memory area 50 by a bidirectional data link 52, and serves as

mémoire de pile à l'unité de processeur 10.  processor unit memory 10.

18145FR doc - 5 fcvier 2001 - 5/1318145EN doc - February 5, 2001 - 5/13

6 28050586 2805058

La réalisation technique de la structure représentée sur la figure I dans une base de matériel est effectuée en tenant compte d'une opportunité aussi bonne que possible s'adaptant aux dispositifs de matériel donné. Dans une forme de réalisation avantageuse, les première, seconde et troisième zones de mémoire 40, 50, 70 sont réalisées sous la forme d'une mémoire EEPROM, la pile 80 sous la forme d'une  The technical realization of the structure shown in Figure I in a hardware base is carried out taking into account as good an opportunity as possible adapting to the given hardware devices. In an advantageous embodiment, the first, second and third memory areas 40, 50, 70 are produced in the form of an EEPROM memory, the stack 80 in the form of a

mémoire RAM. L'interprète 60 interne est convenablement représenté par un micro-  RAM memory. The internal interpreter 60 is suitably represented by a micro-

programme enregistré dans une mémoire ROM, les dispositifs indicateurs 20, 30  program stored in a ROM memory, the indicating devices 20, 30

étant des registres de l'unité de processeur 10 centrale.  being registers of the central processor unit 10.

La figure 2 montre le mode de fonctionnement du système représenté sur la figure I. La première zone de mémoire 40 est occupée par un programme d'application, dont les instructions ont la forme d'un code byte et dont l'indicateur d'instruction 22 est pointé sur une première instruction 42 en code byte du  FIG. 2 shows the operating mode of the system represented in FIG. I. The first memory area 40 is occupied by an application program, whose instructions have the form of a byte code and whose instruction indicator 22 is pointed to a first instruction 42 in byte code of

programme d'application.application program.

L'interprète interne 60 extrait l'instruction 42 sous forme de code byte désigné par l'indicateur d'instruction 22 et détermine un élément de programme 500, 520 rédigé en code machine et déplaçant l'instruction 42 en code byte dans la deuxième zone de mémoire 50. Pour cela, il utilise la table déposée dans la troisième zone de mémoire 70, table qui associe à chaque instruction 42, 44 en code byte comprise dans la syntaxe en code byte, l'adresse de départ 76, 78 d'un élément de programme 500, 520 en code machine réalisant l'instruction dans la deuxième zone de mémoire 50. Les instructions 42, 44 en code byte sont représentées sur la table dans la troisième zone de mémoire 70 en ordre continu par une valeur offset ramenée au début de la table, valeur offset qui constitue un index continu 72, 74. L'index 72, 74 est directement dérivé d'une manière appropriée de la représentation des instructions 42, 44 en code byte dans la première zone de mémoire 40 par la prise en compte de la longueur de mot des adresses de départ 76, 78. Dans le cas d'une représentation en code byte courante des adresses de départ, il résulte, comme cela est représenté sur la figure 2, de la multiplication des instructions 42, 44 en code byte dans la première zone de mémoire 40 par le chiffre 2. L'interprète interne 60 dirige l'indicateur 64 d'adresse vers l'index 72, 74 correspondant chaque fois à une instruction 42, 44 en code byte dans la troisième zone de mémoire 70, et il extrait l'adresse de départ 78 associée.  The internal interpreter 60 extracts the instruction 42 in the form of byte code designated by the instruction indicator 22 and determines a program element 500, 520 written in machine code and moving the instruction 42 in byte code in the second zone memory 50. For this, it uses the table stored in the third memory area 70, a table which associates with each instruction 42, 44 in byte code included in the syntax in byte code, the starting address 76, 78 of a program element 500, 520 in machine code carrying out the instruction in the second memory area 50. The instructions 42, 44 in byte code are represented on the table in the third memory area 70 in continuous order by an offset value brought back at the start of the table, offset value which constitutes a continuous index 72, 74. The index 72, 74 is directly derived in an appropriate manner from the representation of the instructions 42, 44 in byte code in the first memory area 40 pa r taking into account the word length of the starting addresses 76, 78. In the case of a representation in current byte code of the starting addresses, it results, as shown in FIG. 2, from the multiplication of instructions 42, 44 in byte code in the first memory area 40 with the number 2. The internal interpreter 60 directs the address indicator 64 to the index 72, 74 corresponding each time to an instruction 42, 44 in code byte in the third memory area 70, and it extracts the associated starting address 78.

Conformément à l'adresse de départ 78 trouvée, l'interprète interne 60 trans-  In accordance with the starting address 78 found, the internal interpreter 60 trans-

met une instruction de commande au dispositif indicateur 30 dans l'unité de proces-  puts a command to the indicating device 30 in the process unit

seur centrale 10 par la liaison de signal 34, instruction de commande sur laquelle le dispositif indicateur 30 oriente l'indicateur de programme 32 sur l'adresse de départ désignée dans la deuxième zone de mémoire 50. L'élément de programme 500, 520 I18145FR.doc - 5 févier 2001 - 6/13  central unit 10 by signal link 34, control instruction on which the indicating device 30 directs the program indicator 32 to the starting address designated in the second memory area 50. The program element 500, 520 I18145EN .doc - February 5, 2001 - 6/13

7 28050587 2805058

qui est déposé dans cette zone et qui est formé d'une suite de séquences de code machine, est exécuté par l'unité de processeur 10 centrale. Chaque élément de programme 500, 520 comprend pour cela des étapes de programme, qui réalisent l'instruction 42, 44 en code byte à la base. A la fin de chaque élément de programme 500, 520, se trouve une séquence d'instructions 540, 550 suivante, que l'unité de processeur 10 centrale contraint à exécuter un élément de programme logique 600,  which is deposited in this area and which is formed by a sequence of machine code sequences, is executed by the central processor unit 10. Each program element 500, 520 includes for this program steps, which carry out the instruction 42, 44 in byte code at the base. At the end of each program element 500, 520, there is a following sequence of instructions 540, 550, which the central processor unit 10 compels to execute a logic program element 600,

610, 620.610, 620.

L'élément de programme logique 600, 610, 620 ne correspond pas à une instruction en code byte d'un programme d'application, mais agit en tant que partie de l'interprète 60 interne. L'élément de programme logique se trouve de préférence aussi dans la deuxième zone de mémoire 50 et se compose, comme les éléments de programme 500, 520, d'un code rédigé en langage machine et exécutable directement par l'unité de processeur 10 centrale. Une première séquence d'instructions 612, 622 de l'élément de programme logique 610, 620 contraint le dispositif indicateur 20 de l'unité de processeur 10 centrale à diriger l'indicateur d'instructions 22 vers la prochaine instruction 44 en code byte dans la première zone de mémoire 40. Une autre séquence d'instruction 614, 624 agit de telle façon que l'interprète interne 60 règle l'indicateur d'adresses 64 dirigé vers la troisième zone de mémoire 70 pour détecter l'adresse de départ 76, 78, appartenant à une instruction 44 en code byte, d'un élément de programme 500, 520 exécutable, et pour provoquer l'exécution de  The logic program element 600, 610, 620 does not correspond to an instruction in byte code of an application program, but acts as part of the internal interpreter 60. The logic program element is preferably also located in the second memory area 50 and is composed, like the program elements 500, 520, of a code written in machine language and executable directly by the central processor unit 10 . A first sequence of instructions 612, 622 of the logic program element 610, 620 forces the indicator device 20 of the central processor unit 10 to direct the instruction indicator 22 to the next instruction 44 in byte code in the first memory area 40. Another instruction sequence 614, 624 acts so that the internal interpreter 60 sets the address indicator 64 directed to the third memory area 70 to detect the starting address 76 , 78, belonging to an instruction 44 in byte code, of an executable program element 500, 520, and to cause the execution of

cette instruction.this instruction.

Fréquemment, différentes instructions d'un programme d'application nécessi-  Frequently, different instructions of an application program require

tent différents pas de progression de réglage de l'indicateur d'instruction. Des  try different steps to adjust the instruction indicator. Of

instructions de saut définissent à peu près en règle générale la position des indica-  jump instructions pretty much generally define the position of the

teurs d'instruction, de sorte qu'un réglage par un élément logique n'est pas néces-  instruction tutors, so adjustment by a logic element is not necessary

saire. Dans un programme d'application typique présent sous la forme de code byte, les instructions 42, 44 en code byte montrent en règle générale des opérandes avec différents chiffres de byte. Dans de tels cas, sont prévus de manière appropriée plusieurs éléments de programme logique 600, 610, 620, qui provoquent un réglage  to be. In a typical application program present in the form of byte code, instructions 42, 44 in byte code generally show operands with different byte digits. In such cases, there are suitably provided several logic program elements 600, 610, 620, which cause an adjustment

de l'indicateur d'instruction 22 selon des pas de progression différents.  of the instruction indicator 22 according to different progression steps.

Un premier élément logique 600 sert pour cela à faire exécuter les instructions de saut. Il ne comporte pas de réglage de l'indicateur d'instruction 22, mais comporte seulement une séquence d'instruction qui agit de manière que l'interprète interne 60  A first logic element 600 is used for this to execute the jump instructions. It does not have an instruction indicator 22 setting, but only has an instruction sequence which acts so that the internal interpreter 60

règle l'indicateur d'adresse 64 pour la détection des adresses de départ 76, 78 appar-  sets the address indicator 64 for the detection of the starting addresses 76, 78 appear-

tenant à une instruction en code byte prédéterminée d'un élément de programme 500, 520 exécutable, afin d'en contraindre l'exécution. D'autres éléments de programme  relating to an instruction in predetermined byte code of an executable program element 500, 520, in order to constrain its execution. Other program elements

logique 610, 620 résultent de la structure de la syntaxe en code byte. Si les instruc-  logic 610, 620 result from the structure of the syntax in byte code. If the instruc-

tions en code byte présentent une longueur préférée, prédominent sensiblement les 18145FR.doc - 5 fwier 2001. 7/13  byte code have a preferred length, significantly predominate 18145EN.doc - 5 fwier 2001. 7/13

8 28050588 2805058

instructions avec un ou deux bytes, et qui sont déposées de manière appropriée sur les éléments logiques 610, 620 sélectionnés et de longueur préférée. Un élément de programme logique 610 provoque par un indicateur d'instruction 26 agissant sur le premier dispositif (IP) de réglage 20, le réglage de l'indicateur d'instruction 22 à un byte et un autre élément 620 de programme logique provoque le réglage à deux bytes. En premier lieu, la séquence d'instruction 612 agissant sur la position de l'indicateur d'instruction 22 consiste en une incrémentation, et en second lieu consiste en une addition 622 du chiffre deux. D'une manière analogue, on peut installer d'autres éléments de programme logique permettant d'obtenir d'autres pas  instructions with one or two bytes, which are appropriately placed on the logic elements 610, 620 selected and of preferred length. A logic program element 610 causes by an instruction indicator 26 acting on the first adjusting device (IP) 20, the setting of the instruction indicator 22 to one byte and another logic program element 620 causes the adjustment two bytes. Firstly, the instruction sequence 612 acting on the position of the instruction indicator 22 consists of an incrementation, and secondly consists of an addition 622 of the number two. Similarly, other logic program elements can be installed allowing other steps to be obtained

de progression.progress.

Conformément aux différentes amplitudes de saut provoquées par l'intermédiaire des différents éléments de programme logique 600, 610, 620, les éléments de programme 500, 520 correspondant aux instructions 42, 44 en code byte, sont isolés par différentes séquences de programme 540, 550 pour l'appel des éléments de programme logique 600, 610, 620. Une première séquence de programme 540 provoque l'appel d'un élément de programme logique 610 qui conduit à l'incrémentation de l'indicateur d'instruction 22 d'un byte, pendant qu'une autre séquence de programme 550 appelle un élément de programme logique 620,  In accordance with the different jump amplitudes caused by the various logic program elements 600, 610, 620, the program elements 500, 520 corresponding to the instructions 42, 44 in byte code, are isolated by different program sequences 540, 550 for calling the logic program elements 600, 610, 620. A first program sequence 540 causes the calling of a logic program element 610 which leads to the incrementation of the instruction indicator 22 by a byte, while another program sequence 550 calls a logic program element 620,

qui conduit à un réglage de l'indicateur d'instruction 22 à deux bytes.  which leads to a setting of the instruction indicator 22 to two bytes.

La figure 3 montre sur un organigramme la suite d'étapes générales lors de la prise en charge d'un programme d'application avec l'aide de l'interprète interne proposé. La suite d'étapes commence, à l'étape 100, avec le positionnement de l'indicateur d'instruction 22 sur la première instruction, c'est-à-dire sur la première instruction en code byte, du programme d'application par le dispositif de réglage indicateur 20 agencé dans l'unité de processeur 10 centrale. L'unité de processeur 10 centrale mentionne la position de l'indicateur d'instruction 22 atteinte par la suite, à l'interprète 60 interne, ce qui correspond à l'étape 102, qui continue la prise en charge. L'interprète interne 60 extrait ensuite dans la première zone de mémoire 40  Figure 3 shows on a flowchart the sequence of general steps when taking charge of an application program with the help of the proposed internal interpreter. The sequence of steps begins, in step 100, with the positioning of the instruction indicator 22 on the first instruction, that is to say on the first instruction in byte code, of the application program by the indicator adjustment device 20 arranged in the central processor unit 10. The central processor unit 10 mentions the position of the instruction indicator 22 subsequently reached, to the internal interpreter 60, which corresponds to step 102, which continues taking over. The internal interpreter 60 then extracts into the first memory area 40

l'instruction en code byte désignée par l'indicateur d'instruction 22, ce qui corres-  the instruction in byte code designated by the instruction indicator 22, which corresponds to

pond à l'étape 104, et détermine l'index 72 correspondant à l'instruction en code byte sur la table dans la troisième zone de mémoire 70. Conformément à l'index déterminé, l'interprète soutire de la table dans la zone de mémoire 70 l'adresse de départ d'un élément de programme en code machine, réalisant l'instruction en code byte, dans la deuxième zone de mémoire 50, ce qui correspond à l'étape 106, et  lays at step 104, and determines the index 72 corresponding to the instruction in byte code on the table in the third memory area 70. In accordance with the determined index, the interpreter draws from the table in the area of memory 70 the starting address of a program element in machine code, carrying out the instruction in byte code, in the second memory area 50, which corresponds to step 106, and

contraint le dispositif indicateur 30 dans l'unité de processeur 10 centrale à position-  constrains the indicating device 30 in the central processor unit 10 to position-

ner l'indicateur 32 du programme sur l'adresse de départ trouvée, ce qui correspond à l'étape 108. L'élément de programme en code machine 500, 520 désigné par 18145FR.doc - 5 fvrir 2001 - 8/13  ner program indicator 32 on the starting address found, which corresponds to step 108. The program element in machine code 500, 520 designated by 18145EN.doc - 5 fvrir 2001 - 8/13

9 28050589 2805058

l'adresse de départ est exécuté par l'unité de processeur 10 centrale, ce qui corres-  the starting address is executed by the central processor unit 10, which corresponds to

pond à l'étape 110. Contrainte par les séquences de programme 540, 550 envoyées chacune à un élément de programme logique 600, 610, 620 à la fin de chaque élément de programme 500, 520, l'unité de processeur 10 centrale appelle de nouveau à chaque fois l'interprète interne 60 à l'achèvement de l'exécution d'un élément de programme 500, 520, ce qui correspond à l'étape 112 et délivre à l'interprète interne 60 la suite de la prise en charge du programme, ce qui correspond à l'étape 114. L'interprète interne 60 contraint alors, confonnément à la proposition par l'élément de programme logique 540, 550 exécuté en dernier, le dispositif de réglage d'indicateur 20 à régler l'indicateur d'instruction 22 et commence de nouveau  lays in step 110. Constraint by the program sequences 540, 550 each sent to a logic program element 600, 610, 620 at the end of each program element 500, 520, the central processor unit 10 calls for new each time the internal interpreter 60 upon completion of the execution of a program element 500, 520, which corresponds to step 112 and delivers to the internal interpreter 60 the continuation of the management of the program, which corresponds to step 114. The internal interpreter 60 then constrains, in accordance with the proposal by the logic program element 540, 550 executed last, the indicator adjustment device 20 to adjust the instruction flag 22 and starts again

l'exécution de l'étape 100 et des suivantes.  the execution of step 100 and following.

Les instructions des étapes 100 à 114 de l'ordinogramme représenté à la figure 3, peuvent se résumer ainsi - a l'étape 100 dans l'unité centrale CPU, régler le premier dispositif de réglage (IP, 20) selon la proposition de l'élément logique; - a l'étape 102: dans l'unité centrale, annoncer le premier dispositif de réglage IP à l'interprète interne (II, 60); - a l'étape 104: dans l'interprète interne II, lire le code byte désigné par le premier dispositif de réglage IP; - a l'étape 106 dans l'interprète interne II, déterminer l'adresse de départ à partir de la table; - a l'étape 108: dans l'interprète interne, placer le deuxième dispositif de réglage (PC, 20) sur l'adresse de départ; - a l'étape 110: dans l'unité centrale CPU, exécuter l'élément de programme en code machine; - a l'étape 112: dans l'unité centrale CPU, passer à l'élément de programme logique; a l'étape 114: dans l'unité centrale CPU, mettre en oeuvre l'élément logique. Bien entendu, la présente invention n'est pas limitée aux modes de réalisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à  The instructions in steps 100 to 114 of the flowchart shown in Figure 3, can be summarized as follows - in step 100 in the central processing unit CPU, adjust the first adjustment device (IP, 20) according to the proposal of the 'logical element; - in step 102: in the central unit, announce the first IP adjustment device to the internal interpreter (II, 60); - in step 104: in the internal interpreter II, read the byte code designated by the first IP adjustment device; - in step 106 in the internal interpreter II, determine the starting address from the table; - in step 108: in the internal interpreter, place the second adjustment device (PC, 20) on the starting address; - in step 110: in the central processing unit CPU, execute the program element in machine code; - in step 112: in the central processing unit CPU, go to the logic program element; in step 114: in the central processing unit CPU, implement the logic element. Of course, the present invention is not limited to the embodiments described and shown, but it is susceptible of numerous variants accessible to

l'homme de l'art sans que l'on ne s'écarte de l'invention.  a person skilled in the art without departing from the invention.

1814SFRdoc - 5 fécr 2001 -9/13 l0 2805058  1814SFRdoc - 5 febr 2001 -9 / 13 l0 2805058

Claims (14)

REVENDICATIONS 1.- Structure infornlatique pour un support de données portable avec des moyens de mémoire pour mémoriscr un programme d'application consistant en une suite d'instructions et avec une unité de processeur pour l'exécution interprétante du programme d'application, chaque instruction vers laquelle est dirigé un indicateur d'instruction étant traitée, caractérisée par une unité de transfert (60) reliée avec l'unité de processeur (10), avec les moyens de mémoire comprenant le programme d'application et avec l'indicateur d'instruction (22), unité de transfert (60) qui comprend au moins un élément de programme logique (600, 610, 620) , qui indique une amplitude de pas de réglage, et qui règle l'indicateur d'instruction (22) après l'exécution du traitement d'une instruction (42) à chaque fois de l'amplitude de pas  1.- Computer structure for a portable data carrier with memory means for storing an application program consisting of a sequence of instructions and with a processor unit for the interpretive execution of the application program, each instruction to which is directed an instruction indicator being processed, characterized by a transfer unit (60) connected with the processor unit (10), with the memory means comprising the application program and with the instruction indicator (22), transfer unit (60) which comprises at least one logic program element (600, 610, 620), which indicates a range of adjustment steps, and which sets the instruction indicator (22) after the execution of the processing of an instruction (42) each time the step amplitude de réglage indiquée dans un élément de programme logique (600, 610, 620).  indicated in a logic program element (600, 610, 620). 2.- Structure informatique selon la revendication 1, caractérisée en ce que l'unité de transfert (60) est reliée à une unité (50) de mémoire de code machine, dans laquelle se trouve un code de programme (500, 520), rédigé en langage machine et correspondant à chaque instruction (42, 44) à interpréter du programme d'application. 3.- Structure informatique selon la revendication 1 ou 2, caractérisée en ce que l'unité de transfert (60) est reliée à une unité (70) de stockage de tables qui associe un élément de programme (500, 520) de l'unité de mémoire de code de machine (50)  2. Computer structure according to claim 1, characterized in that the transfer unit (60) is connected to a unit (50) of machine code memory, in which there is a program code (500, 520), written in machine language and corresponding to each instruction (42, 44) to be interpreted in the application program. 3. Computer structure according to claim 1 or 2, characterized in that the transfer unit (60) is connected to a unit (70) for storing tables which associates a program element (500, 520) of the machine code memory unit (50) à chaque instruction (42, 44) du programme d'application.  at each instruction (42, 44) of the application program. 4.- Structure informatique selon l'une quelconque des revendications 1 à 3,  4.- IT structure according to any one of claims 1 to 3, caractérisée en ce que l'unité de transfert (60) est réalisée sous la forme d'un  characterized in that the transfer unit (60) is designed as a programme non modifiable et réalisable par l'unité de processeur (10).  program not modifiable and achievable by the processor unit (10). 5.- Procédé pour la réalisation et l'interprétation d'un programme d'application composé d'une suite d'instructions par une structure informatique formée d'un support de données portable, chacune des instructions à traiter étant indiquée par un indicateur d'instruction, caractérisé en ce que le réglage de l'indicateur d'instruction (22) pour indiquer l'instruction (44) suivante à traiter est produit par l'exécution de  5.- Method for producing and interpreting an application program composed of a series of instructions by a computer structure formed of a portable data medium, each of the instructions to be processed being indicated by an indicator d instruction, characterized in that the setting of the instruction indicator (22) to indicate the next instruction (44) to be processed is produced by the execution of chaque instruction (42) traitée en dernier.  each instruction (42) processed last. 18145FR.doc - 21 nmai 2001 - 10/13 l 2805058 6.- Procédé selon la revendication 5, caractérisé en ce que le traitement d'une instruction (42, 44) se produit pendant qu'un élément de programme (500, 520)  18145EN.doc - 21 nmai 2001 - 10/13 l 2805058 6.- Method according to claim 5, characterized in that the processing of an instruction (42, 44) occurs while a program element (500, 520 ) correspondant, rédigé en langage machine, est détecté et exécuté.  correspondent, written in machine language, is detected and executed. 7.- Procédé selon la revendication 5 ou 6, caractérisé en ce que les éléments de programme correspondants rédigés en langage machine sont stockés de manière  7.- Method according to claim 5 or 6, characterized in that the corresponding program elements written in machine language are stored so séparée du programme d'application.  separate from the application program. 8.- Procédé selon l'une quelconque des revendications 5 à 7, caractérisé en ce  8.- Method according to any one of claims 5 to 7, characterized in that qu'est appliqué au moins un élément de programme logique (600, 610, 620) rédigé en  that at least one logical program element (600, 610, 620) written in langage machine et qui produit un réglage de l'indicateur d'instruction (22).  machine language and which produces an adjustment of the instruction indicator (22). 9.- Procédé selon l'une quelconque des revendications 5 à 8, caractérisé en ce  9.- Method according to any one of claims 5 to 8, characterized in that que les éléments de programme (500, 520) rédigés en langage machine et corres-  that the program elements (500, 520) written in machine language and corresponding pondant aux instructions sont chacun isolés par une séquence d'ordre, qui produit  laying down instructions are each isolated by an order sequence, which produces l'exécution d'un élément de programme logique (600, 610, 620).  execution of a logic program element (600, 610, 620). 10.- Procédé selon l'une quelconque des revendications 5 à 9, caractérisé en ce  10.- Method according to any one of claims 5 to 9, characterized in that qu'une table est utilisée pour détecter un élément de programme (500, 520) rédigé en langage machine et correspondant à une instruction d'un programme d'application, table qui associe l'adresse d'un élément de programme rédigé en langage machine à  that a table is used to detect a program element (500, 520) written in machine language and corresponding to an instruction of an application program, a table which associates the address of a program element written in machine language at chaque instruction possible d'un programme d'application.  each possible instruction of an application program. I1.- Ensemble de moyens d'exploitation pour la mise en oeuvre d'une structure informatique d'un support de données portable pour l'exécution interprétante d'un programme d'application composé d'une suite d'instructions, l'instruction en cours de traitement étant indiquée par un indicateur d'instruction, avec une première unité de programme (60) qui rend une unité de processeur exécutante (10) de la structure informatique capable de trouver chaque instruction (42, 44) à traiter ensuite, du programme d'application, avec une deuxième unité de programme (50) qui comporte des éléments de programme (500, 520) représentés en langage machine et immédiatement exécutables par l'unité de processeur (10), éléments de programme qui correspondent chacun à une instruction (42, 44) fixée à l'avance dans un programme d'application et dont ils produisent l'exécution, ainsi qu'avec une troisième unité de programme (50) qui comporte au moins un élément de programme logique (600, 610, 620) rédigé en langage machine, qui indique une amplitude de pas de réglage pour le réglage de l'indicateur d'instruction (22) et qui contraint la 1I145FR doc - 21 ri201.11/13  I1.- Set of operating means for the implementation of a computer structure of a portable data carrier for the interpretive execution of an application program composed of a series of instructions, the instruction being processed being indicated by an instruction indicator, with a first program unit (60) which makes an executing processor unit (10) of the computer structure capable of finding each instruction (42, 44) to be processed next, of the application program, with a second program unit (50) which comprises program elements (500, 520) represented in machine language and immediately executable by the processor unit (10), program elements which each correspond to an instruction (42, 44) fixed in advance in an application program and the execution of which they produce, as well as with a third program unit (50) which comprises at least one logic program element (6 00, 610, 620) written in machine language, which indicates an amplitude of step of adjustment for the adjustment of the instruction indicator (22) and which constrains the 1I145EN doc - 21 ri201.11 / 13 12 280505812 2805058 structure informatique à transmettre la suite de l'exécution du programme à la  IT structure to transmit following the execution of the program to the première unité de programme (60).first program unit (60). 12.- Ensemble de moyens d'exploitation selon la revendication 11, caractérisé en ce que les éléments de programme (500, 520) sont isolés de la deuxième unité de programme (50) chacun par une séquence d'ordre (540, 550) qui contraint l'unité de processeur exécutante (10) à exécuter un élément de programme logique (600, 610, 620). 13.- Ensemble de moyens d'exploitation selon la revendication 11 ou 12, caractérisé en ce que la première unité de programme (60) de l'unité de processeur (10) prépare une information qui indique dans la deuxième unité de mémoire (50)  12.- set of operating means according to claim 11, characterized in that the program elements (500, 520) are isolated from the second program unit (50) each by an order sequence (540, 550) which forces the executing processor unit (10) to execute a logic program element (600, 610, 620). 13.- set of operating means according to claim 11 or 12, characterized in that the first program unit (60) of the processor unit (10) prepares information which indicates in the second memory unit (50 ) l'élément de programme (520) à traiter ensuite.  the program element (520) to be processed next. 14.- Ensemble de moyens d'exploitation selon l'une quelconque des revendica-  14.- Set of operating means according to any one of the claims tions 11 à 13, caractérisé en ce que la première unité de programme (60) contraint l'unité de processeur (10) à déterminer un indicateur (22), de manière qu'il indique  tions 11 to 13, characterized in that the first program unit (60) forces the processor unit (10) to determine an indicator (22), so that it indicates dans le programme d'application la prochaine instruction à traiter.  in the application program the next instruction to be processed. 15.- Ensemble de moyens d'exploitation selon la revendication 14, caractérisé en ce que la première unité de programme (60) exploite l'instruction (42, 44) à traiter et désignée par l'indicateur (22) pour déterminer l'information sur l'élément de  15.- set of operating means according to claim 14, characterized in that the first program unit (60) uses the instruction (42, 44) to be processed and designated by the indicator (22) to determine the element information programme (500, 520) à exécuter à la suite.  program (500, 520) to be executed in succession. 16.- Support de données portable avec une structure informatique pour  16.- Portable data carrier with an IT structure for l'exécution d'un programme d'application, caractérisé en ce que la structure infor-  the execution of an application program, characterized in that the structure informs matique est réalisée selon la revendication 1.  material is produced according to claim 1. 17.- Utilisation du procédé selon la revendication 5, pour l'exploitation d'un support de données portable présentant une structure informatique pour l'exécution  17. Use of the method according to claim 5, for the exploitation of a portable data medium having a computer structure for the execution d'un programme d'application.an application program. 18.- Utilisation du produit informatique selon la revendication 11, pour un dispositif de structure informatique d'un support de données portable apte à  18. Use of the computer product according to claim 11, for a computer structure device of a portable data carrier capable of l'exécution d'un programme d'application.  running an application program. 18145FR.doc- 21 mni 2001 - 12/1318145EN.doc- 21 mn 2001 - 12/13
FR0101560A 2000-02-14 2001-02-06 COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM Expired - Fee Related FR2805058B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000106291 DE10006291A1 (en) 2000-02-14 2000-02-14 Electronic structure for portable data support, comprises processor with instruction and program indicator controls also memory zones for applications, machine code, departure addresses and stacking

Publications (2)

Publication Number Publication Date
FR2805058A1 true FR2805058A1 (en) 2001-08-17
FR2805058B1 FR2805058B1 (en) 2007-11-09

Family

ID=7630710

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0101560A Expired - Fee Related FR2805058B1 (en) 2000-02-14 2001-02-06 COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM

Country Status (2)

Country Link
DE (1) DE10006291A1 (en)
FR (1) FR2805058B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
FR2757970A1 (en) * 1996-12-30 1998-07-03 Gemplus Card Int METHOD FOR LOADING A USER PROGRAM INTO A CHIP MEDIUM

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920720A (en) * 1997-02-25 1999-07-06 Microsoft Corporation Efficient computer based virtual machine object structure
DE19810675A1 (en) * 1998-03-12 1999-10-14 Giesecke & Devrient Gmbh Disk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667171A1 (en) * 1990-09-25 1992-03-27 Gemplus Card Int Portable support with easily programmable microcircuit and method of programming this microcircuit
FR2757970A1 (en) * 1996-12-30 1998-07-03 Gemplus Card Int METHOD FOR LOADING A USER PROGRAM INTO A CHIP MEDIUM

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BELL J R: "THREADED CODE", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ACM, NEW YORK, NY, US, vol. 16, no. 6, 1973, pages 370 - 372, XP000996587, ISSN: 0001-0782 *
DEBAERE E H: "A language coprocesor for the interpretation of threaded code", MICROPROCESSING AND MICROPROGRAMMING, ELSEVIER SCIENCE PUBLISHERS, BV., AMSTERDAM, NL, vol. 21, no. 1/5, August 1987 (1987-08-01), pages 593 - 602, XP002114520, ISSN: 0165-6074 *

Also Published As

Publication number Publication date
DE10006291A1 (en) 2001-08-30
FR2805058B1 (en) 2007-11-09

Similar Documents

Publication Publication Date Title
FR2654854A1 (en) ELECTRONIC ARCHIVING SYSTEM.
FR2667171A1 (en) Portable support with easily programmable microcircuit and method of programming this microcircuit
CN108230428B (en) E-book rendering method, electronic equipment and storage medium based on augmented reality
EP1192537A1 (en) Migration of different source languages to an executing medium
GB2390725A (en) Starsticker vending machine and its information updating method
CN101656792B (en) Method and related apparatus for playing songs on mobile terminal
FR2805058A1 (en) COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM
FR2558613A1 (en) APPARATUS FOR PROCESSING PIPELINE TYPE DATA
EP1012710B1 (en) Method for loading an application programme in a chip card
US7706631B2 (en) Method and apparatus for processing image data
CN109672919A (en) Caption presentation method, device and user terminal
JP2011107895A (en) Electronic book
EP1801806A3 (en) Data processing method and storage medium and program for causing computer to execute the data processing method
FR2654533A1 (en) APPARATUS AND METHOD FOR DATA OUTPUT.
CN114140424B (en) Palm vein data enhancement method, palm vein data enhancement device, electronic equipment and medium
Veselá-Prenosilová Moshe Maoz, Ottoman Reform in Syria and Palestina 1840-1861 (Book Review)
JP2006154626A (en) Image presenting device, image presentation method, and slide show presenting device
TW324819B (en) Character forming apparatus
Massé The Reforms and religious Ideas of Sir Sayyid Ahmad Khân
Petrie Templates for Authorship: American Women's Literary Autobiography of the 1930s
Lebray " Give Life Back to Music": a Challenge for Electronic Dance Music
Ostling Is Jesus in the Dead Sea Scrolls?
Morrison The Complete Idiot's Guide to Java 2
TW201104570A (en) Electronic device and method for playing music in electronic device
Hausberger Contribution to the Study of Territorial Whistled Vocalizations of the Starling Sturnus-Vulgaris in Brittany

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20151030