DE10006291A1 - 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 - Google Patents

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

Info

Publication number
DE10006291A1
DE10006291A1 DE2000106291 DE10006291A DE10006291A1 DE 10006291 A1 DE10006291 A1 DE 10006291A1 DE 2000106291 DE2000106291 DE 2000106291 DE 10006291 A DE10006291 A DE 10006291A DE 10006291 A1 DE10006291 A1 DE 10006291A1
Authority
DE
Germany
Prior art keywords
program
instruction
unit
pointer
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2000106291
Other languages
German (de)
Inventor
Daniel Ciesinger
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
Priority to DE2000106291 priority Critical patent/DE10006291A1/en
Priority to FR0101560A priority patent/FR2805058B1/en
Publication of DE10006291A1 publication Critical patent/DE10006291A1/en
Ceased 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

The processor (10) has instruction and program indicator controls (IP,PC), a transfer unit (60) and memory zones for applications (40), machine code (50) departure addresses (70) and stacking (80). An instruction indicator (22) signals an address in the applications memory and the transfer unit (60) acts as an internal interpreter. A memory zone (70) provides the departure address in the machine code memry zone (50).

Description

Die Erfindung betrifft die Ausgestaltung eines tragbaren Datenträgers zur Ausführung von zu interpretierendem Programmkode. Im einzelnen betrifft die Erfindung eine Computeranordnung nach der Gattung des Hauptan­ spruchs, ein Verfahren nach der Gattung des unabhängigen Anspruchs 5 sowie ein Programmerzeugnis nach der Gattung des unabhängigen An­ spruchs 11. Weiter betrifft die Erfindung einen tragbaren Datenträger gemäß dem unabhängigen Anspruch 16.The invention relates to the design of a portable data carrier for Execution of program code to be interpreted. In particular concerns the invention a computer arrangement according to the genus Hauptan claim, a method according to the preamble of independent claim 5 as well as a program product according to the genre of the independent An Proverb 11. The invention further relates to a portable data carrier independent claim 16.

Es ist gängige Praxis, datenverarbeitende Prozesse, in denen vorgegebene Nutzdaten verarbeitet werden, unter Verwendung von tragbaren Datenträ­ gern, insbesondere in Gestalt von Chipkarten zu realisieren. Eine Entwick­ lungstendenz geht dabei hin, die Flexibilität solcher intelligenter tragbaren Datenträger sowohl hinsichtlich der damit realisierbaren Funktionalitäten als auch hinsichtlich der Kompatibilität der beteiligten Komponenten zu verbes­ sern. Gemäß einem aus der Schrift EP 794 519 A1 bekannten Vorschlag soll dazu das Betriebssystem einer Chipkarte als Interpretersystem gestaltet sein, das abzuarbeitenden Programmkode in von dem Kartenprozessor ausführ­ baren, prozessorspezifischen Kode umsetzt. Das vorgeschlagene Interpreter­ system erlaubt das Nachladen von Programmkodes auf eine Chipkarte und ermöglicht die Ausführung eines Programmes durch unterschiedliche Pro­ zessoren. Das Interpretieren des abzuarbeitenden Programmkodes bedingt allerdings eine merkliche Herabsetzung der Abarbeitungsgeschwindigkeit beispielsweise gegenüber einem durch Kompilierung erhaltenen Programm­ kode.It is common practice to use data processing processes in which given User data are processed using portable data carriers gladly, especially in the form of chip cards. A development there is a tendency towards flexibility, such intelligent, wearable Data carriers both with regard to the functionalities that can be implemented as too verbes regarding the compatibility of the components involved ser. According to a proposal known from the document EP 794 519 A1 the operating system of a chip card can be designed as an interpreter system, execute the program code to be processed by the card processor implementable, processor-specific code. The proposed interpreter system allows the reloading of program codes onto a chip card and enables the execution of a program by different professionals cessors. The interpretation of the program code to be processed requires however, a noticeable reduction in processing speed for example compared to a program obtained by compilation code.

Um eine höhere Ausführungsgeschwindigkeit zu ermöglichen, schlägt US- 5,367,685 die Verwendung eines hybriden Compiler-Interpreter-Systems vor, das Compilierung und Interpretation hintereinanderschaltet. Der An­ wenderprogrammcode wird dabei zunächst durch Compilierung in ein ausführbares Zwischenformat überführt, das dann interpretiert wird. Im Zwi­ schenformatprogrammkode enthaltene symbolische Referenzen werden da­ bei in einer ersten Interpretationsschleife durch numerische Referenzen er­ setzt. Getrieben wird die Interpretation von einer Interpreterhauptroutine. Die Ausführung der Interpretation erfolgt dabei, indem die Interpreter­ hauptroutine eine abzuarbeitende Instruktion liest und daraufhin eine korre­ spondierende, in von der Prozessoreinheit unmittelbar ausführbarer Ma­ schinensprache abgefaßte Programmsequenz aufruft, welche die Prozes­ soreinheit sodann ausführt. Nach Abschuß der Ausführung fährt die Prozes­ soreinheit mit der Interpretation der nächsten Instruktion fort. Die Adresse der nachfolgend zu interpretierenden Instruktion wird während der Aus­ führung einer Maschinensprachen-Programmsequenz in einem Speicher, üblicherweise im Stapelspeicherbereich des der Prozessoreinheit zugeordne­ ten Arbeitsspeichers gehalten.To enable a higher execution speed, US 5,367,685 the use of a hybrid compiler interpreter system that compiles and interprets in series. The An User program code is first compiled into an executable  Intermediate format transferred, which is then interpreted. In the middle symbolic references contained in the format program code will be there in a first loop of interpretation through numerical references puts. The interpretation is driven by a main interpreter routine. The interpretation is carried out by the interpreter main routine reads an instruction to be processed and then a correct one sponding, to the extent directly executable by the processor unit calls program language that calls the processes sor unit then executes. After the execution is finished, the process runs unit continues to interpret the next instruction. The address the instruction to be interpreted below is during the off maintenance of a machine language program sequence in a memory, usually assigned to the processor unit in the stack memory area memory.

Der Erfindung liegt die Aufgabe zugrunde, eine interpretierende Computer­ anordnung für einen tragbaren Datenträger so zu gestalten, daß die Ge­ schwindigkeit der Ausführung eines Anwendungsprogrammes weiter er­ höht wird.The invention has for its object an interpretive computer arrangement for a portable data carrier so that the Ge speed of execution of an application program is increased.

Diese Aufgabe wird gelöst durch eine Computeranordnung gemäß dem un­ abhängigen Anspruch 1. Die erfindungsgemäße Computeranordnung zeich­ net sich dadurch aus, daß es zur Einstellung des die nächste abzuarbeitende Anwendungsprogramminstruktion bezeichnenden Instruktionszeigers über eine speziell dafür vorgesehene Weiterschalteinheit verfügt. Sie macht die Speicherung einer Rücksprungadresse im Stapelspeicherbereich überflüssig. Entsprechend den eingesparten Sprung- und Rücksprungoperationen ver­ ringert sich die Zeit zur Bearbeitung einer Programminstruktion. Zweckmäßig ist die Weiterschalteinheit in Form eines unveränderbaren Program­ mes innerhalb der Prozessoreinheit realisiert.This object is achieved by a computer arrangement according to the un dependent claim 1. The computer arrangement according to the invention is characterized by the fact that it is the setting of the next to be processed Application program instruction designating instruction pointer via has a specially designed relay unit. She does that No need to store a return address in the stack area. According to the saved jump and return operations ver the time for processing a program instruction is reduced. Appropriately  is the relay unit in the form of an unchangeable program mes realized within the processor unit.

Die angegebene Aufgabenstellung wird desweiteren durch ein Verfahren gemäß dem unabhängigen Anspruch 5 gelöst. Das erfindungsgemäße Ver­ fahren hat den Vorteil, daß, um die Abarbeitung eines Anwendungspro­ grammes weiterzubringen, kein treibendes Interpretationshauptprogramm erforderlich ist. Das Verstellen des Instruktionszeigers zur Bezeichnung der jeweils abzuarbeitenden Instruktion erfolgt aus der jeweils zuletzt ausge­ führten Instruktion heraus.The specified task is furthermore through a procedure solved according to independent claim 5. The Ver driving has the advantage that in order to process an application pro to advance grammes, not a main program of interpretation is required. Moving the instruction pointer to indicate the the instruction to be processed follows from the last one carried out instruction.

Die vorgenannte Aufgabenstellung wird desweiteren durch ein Program­ merzeugnis gemäß dem unabhängigen Anspruch 11 gelöst. Erfindungsge­ mäß beinhaltet eine den von der Prozessoreinheit ausführbaren Programm­ kode enthaltende Programmeinheit zumindest ein Schaltprogrammelement, welches die Einstellung des Instruktionszeigers auf die jeweils als nächstes auszuführende Instruktion bewirkt. Die Einrichtung einer die Abarbeitung des Anwendungsprogrammes vorantreibenden Hauptinterpreterroutine ist daher nicht erforderlich. Jedes aus von der Prozessoreinheit ausführbarem Programmkode aufgebaute Programmelement enthält eine Programmse­ quenz, welche auf ein Schaltprogrammelement verzweigt.The above task is also carried out by a program product solved according to independent claim 11. Invention Ge One contains the program that can be executed by the processor unit program unit containing code at least one circuit program element, which sets the instruction pointer to the next one respectively instruction to be executed. The establishment of a processing of the application program is the main interpreter routine therefore not necessary. Each of which can be executed by the processor unit Program code constructed program element contains a program sequence that branches to a circuit program element.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend unter Bezugnah­ me auf die Zeichnung näher erläutert.An embodiment of the invention is below with reference me explained in more detail on the drawing.

Es zeigen:Show it:

Fig. 1 die Struktur einer vorgeschlagenen Computeranordnung, Fig. 1 shows the structure of a proposed computer arrangement,

Fig. 2 die Funktionsweise dieser Computeranordnung, FIG. 2, the operation of the computer arrangement,

Fig. 3 den Ablauf der Abarbeitung eines Anwenderprogrammes. Fig. 3 shows the execution of a user program.

Fig. 1 veranschaulicht die Struktur der vorgeschlagenen Computeranordnug mit den funktionellen Wirkverbindungen der beteiligten Elemente. Physika­ lische Realisierungsplattform für die dargestellte Struktur kann insbesondere das Computersystem eines tragbaren Datenträgers, vorzugsweise in Gestalt einer Chipkarte, d. h. ein hinsichtlich seiner physikalischen Ressourcen stark beschränktes System sein. Den Kern der in Fig. 1 gezeigten Struktur bildet eine zentrale Prozessoreinheit 10, welche in an sich üblicher Weise zur inter­ pretierenden Ausführung von in einer Maschinensprache vorliegendem Programmkode ausgebildet ist. In der zentralen Prozessoreinheit 10 sind eine erste Zeigerstelleinrichtung 20 zur Verstellung eines Instruktionszeigers 22 sowie eine zweite Zeigerstelleinrichtung 30 zur Verstellung eines Pro­ grammzeigers 32 realisiert. Der Instruktionszeiger 22 zeigt auf eine Adresse eines ersten Speicherbereiches 40, in dem sich ein aus einer Vielzahl von Ein­ zelinstruktionen aufgebautes Anwenderprogramm befindet. Der Pro­ grammzeiger 32 zeigt auf eine Startadresse in einem zweiten Speicherbereich 50, in dem sich von der zentralen Prozessoreinheit 10 ausführbarer, in Ma­ schinensprache abgefaßter Maschinenkode befindet. Fig. 1 illustrates the structure of the proposed Computeranordnug with the functional connections of the elements involved. Physical implementation platform for the structure shown can be, in particular, the computer system of a portable data carrier, preferably in the form of a chip card, ie a system that is very limited in terms of its physical resources. The core of the structure shown in FIG. 1 is formed by a central processor unit 10 , which is designed in a conventional manner to interpret program code present in a machine language. In the central processor unit 10 , a first pointer setting device 20 for adjusting an instruction pointer 22 and a second pointer setting device 30 for adjusting a program pointer 32 are implemented. The instruction pointer 22 points to an address of a first memory area 40 in which there is a user program constructed from a multiplicity of individual instructions. The program pointer 32 points to a start address in a second memory area 50 , in which the central processor unit 10 contains executable machine code written in machine language.

Über eine bidirektionale Signalverbindung 24 ist die Instruktionszeigerstel­ leinrichtung 20 mit einer Weiterschalteinheit 60 verbunden, welche im fol­ genden als innerer Interpreter bezeichnet wird. Diesem teilt die Instrukti­ onszeigerstelleinrichtung 20 über die Signalverbindung 24 die Position des Instruktionszeigers 22 mit. In der Gegenrichtung bewirkt der innere Inter­ preter 60 eine Verstellung des Instruktionszeigers 22. Via a bidirectional signal connection 24 , the instruction pointer setting device 20 is connected to a relay unit 60 , which is referred to below as the internal interpreter. This instructs the pointer pointer setting device 20 via the signal connection 24 of the position of the instruction pointer 22 . In the opposite direction, the inner interpreter 60 causes the instruction pointer 22 to be adjusted.

Mittels einer weiteren Signalverbindung 34 ist der innere Interpreter 60 mit der zweiten Zeigerstelleinrichtung 30 verbunden. Darüber veranlaßt er die Zeigerstelleinrichtung 30, den Programmzeiger 32 zu setzen.The inner interpreter 60 is connected to the second pointer setting device 30 by means of a further signal connection 34 . In addition, he causes the pointer setting device 30 to set the program pointer 32 .

Mittels einer weiteren Signalverbindung 62 ist der innere Interpreter 60 mit dem Anwenderprogrammspeicherbereich 40 verbunden. Die Signalverbin­ dung 62 dient dabei zum Auslesen des Inhaltes der durch den Instruktions­ zeiger 22 bezeichneten Adresse im Anwenderprogrammspeicherbereich 40.The inner interpreter 60 is connected to the user program memory area 40 by means of a further signal connection 62 . The signal connection 62 serves to read out the content of the address designated by the instruction pointer 22 in the user program memory area 40 .

Vom inneren Interpreter 60 ausgehend ist weiterhin ein Adreßzeiger 64 auf einen dritten Speicherbereich 70 gerichtet. Darin befindet sich eine Tabelle, welche jedem aus dem Anwenderprogrammspeicherbereich 40 ausgelesenen Befehl eine Startadresse zuordnet, die im zweiten Speicherbereich 50 ein in Maschinensprache ausgeführtes Programmelement 500, 520 bezeichnet. Auf die Startadresse ist der von der zentralen Prozessoreinheit 10 ausgehende Programmzeiger 32 gerichtet.Starting from the inner interpreter 60 , an address pointer 64 is also directed to a third memory area 70 . This contains a table which assigns a start address to each command read from the user program memory area 40 , which in the second memory area 50 denotes a program element 500 , 520 executed in machine language. The program pointer 32 emanating from the central processor unit 10 is directed to the start address.

Dem zweiten Speicherbereich 50 ist über eine bidirektionale Datenverbin­ dung 52 desweiteren ein vierter Speicherbereich 80 zugeordnet, welcher der Prozessoreinheit 10 als Stapelspeicher dient.The second memory area 50 is also assigned a fourth memory area 80 via a bidirectional data link 52 , which serves as a stack memory for the processor unit 10 .

Die technische Realisierung der in Fig. 1 dargestellten Struktur in einer Hardwarebasis erfolgt im Hinblick auf eine möglichst gute Zweckmäßigkeit angepaßt an die gegebenen Hardwareeinrichtungen. In einer zweckmäßigen Realisierungsform sind der erste, zweite und dritte Speicherbereich 40, 50, 70 in Gestalt eines EEPROMs realisiert, der Stapelspeicher 80 in einem RAM. Der innere Interpreter 60 ist zweckmäßig durch ein, in einem ROM abgeleg­ tes Mikroprogramm dargestellt, die Zeigerstelleinrichtungen 20, 30 als Regi­ ster der zentralen Prozessoreinheit 10. The technical implementation of the structure shown in FIG. 1 on a hardware basis takes place with a view to the best possible suitability, adapted to the given hardware devices. In an expedient implementation, the first, second and third memory areas 40 , 50 , 70 are realized in the form of an EEPROM, the stack memory 80 in a RAM. The inner interpreter 60 is expediently represented by a micro program stored in a ROM, the pointer setting devices 20 , 30 as registers of the central processor unit 10 .

Fig. 2 veranschaulicht die Funktionsweise des in Fig. 1 dargestellten Systems. Der erste Speicherbereich 40 sei dabei mit einem Anwenderprogramm be­ legt, dessen Instruktionen die Gestalt eines Bytekodes haben, der Instrukti­ onszeiger 22 zeige auf einen ersten Bytekode-Befehl 42 des Anwenderpro­ grammes. Fig. 2 illustrates the operation of the system shown in Fig. 1. The first memory area 40 is loaded with a user program, the instructions of which have the form of a byte code, the instruction pointer 22 shows a first byte code command 42 of the user program.

Den durch den Instruktionszeiger 22 bezeichneten Bytekode-Befehl 42 liest der innere Interpreter 60 aus und ermittelt ein den Bytekode-Befehl 42 um­ setzendes, in Maschinenkode abgefaßtes Programmelement 500, 520 im zweiten Speicherbereich 50. Hierfür benutzt er die im dritten Speicherbereich 70 abgelegte Tabelle, welche jedem in der Bytekode-Syntax enthaltenen Bytekode-Befehl 42, 44 die Startadresse 76, 78 eines den Befehl realisierenden Maschinenkodeprogrammelements 500, 520 im zweiten Speicherbereich 50 zuordnet.The inner interpreter 60 reads the byte code command 42 denoted by the instruction pointer 22 and ascertains a program element 500 , 520 which converts the byte code command 42 and is written in machine code in the second memory area 50 . For this purpose, he uses the table stored in the third memory area 70 , which assigns the start address 76 , 78 of a machine code program element 500 , 520 implementing the command in the second memory area 50 to each byte code command 42 , 44 contained in the byte code syntax.

Die Bytekode-Befehle 42, 44 sind in der Tabelle im dritten Speicherbereich 70 in fortlaufender Reihe durch einen auf den Anfang der Tabelle bezogenen Offset-Wert repräsentiert, der einen fortlaufenden Index 72, 74 bildet. Der Index 72, 74 wird zweckmäßig unmittelbar aus der Darstellung der Byte­ kode-Befehle 42, 44 im ersten Speicherbereich 40 unter Berücksichtigung der Wortlänge der Sartadressen 76, 78 abgeleitet. Im Falle einer üblichen Byte­ kode-Darstellung der Startadressen resultiert er, wie in Fig. 2 angedeutet, durch Multiplikation der Bytekode-Befehle 42, 44 im ersten Speicherbereich 40 mit der Zahl Zwei. Auf den jeweils einen Bytekode-Befehl 42, 44 entspre­ chenden Index 72, 74 im dritten Speicherbereich 70 richtet der innere Inter­ preter 60 den Adreßzeiger 64 und liest die zugeordnete Startadresse 78 aus. The byte code commands 42 , 44 are represented in the table in the third memory area 70 in a continuous row by an offset value which relates to the beginning of the table and which forms a continuous index 72 , 74 . The index 72 , 74 is expediently derived directly from the representation of the byte code commands 42 , 44 in the first memory area 40 , taking into account the word length of the type addresses 76 , 78 . In the case of a conventional byte code representation of the start addresses, it results, as indicated in FIG. 2, by multiplying the byte code commands 42 , 44 in the first memory area 40 by the number two. The inner interpreter 60 aligns the address pointer 64 and reads the assigned start address 78 from the respective index 72 , 74 in the third memory area 70 corresponding to a byte code command 42 , 44 .

Entsprechend der gefundenen Startadresse 78 übermittelt der innere Inter­ preter 60 der Zeigerstelleinrichtung 30 in der zentralen Prozessoreinheit 10 über die Signalverbindung 34 einen Setzbefehl, auf den hin die Zeigerstel­ leinrichtung 30 den Programmzeiger 32 auf die bezeichnete Startadresse im zweiten Speicherbereich 50 stellt. Das dort abgelegte, aus einer Folge von Maschinenkodesequenzen gebildete Programmelement 500, 520 wird von der zentralen Prozessoreinheit 10 ausgeführt. Jedes Programmelement 500, 520 umfaßt dabei Programmschritte, welche den zugrundeliegenden Byte­ kode-Befehl 42, 44 realisieren. Am Schluß jedes Programmelementes 500, 520 befindet sich desweiteren eine Befehlssequenz 540, 550, welche die zentrale Prozessoreinheit 10 veranlaßt, ein Schaltprogrammelement 600, 610, 620 aus­ zuführen.Corresponding to the starting address 78 found , the inner interpreter 60 of the pointer setting device 30 in the central processor unit 10 transmits a setting command via the signal connection 34 , to which the pointer setting device 30 sets the program pointer 32 to the designated starting address in the second memory area 50 . The program element 500 , 520 stored there and formed from a sequence of machine code sequences is executed by the central processor unit 10 . Each program element 500 , 520 comprises program steps which implement the underlying byte code command 42 , 44 . At the end of each program element 500 , 520 there is also an instruction sequence 540 , 550 which causes the central processor unit 10 to execute a circuit program element 600 , 610 , 620 .

Das Schaltprogrammelement 600, 610, 620 korrespondiert nicht zu einem Bytekode-Befehl eines Anwenderprogrammes, sondern wirkt als Teil des inneren Interpreters 60. Es befindet sich vorzugsweise gleichfalls im dritten Speicherbereich 70 und besteht wie die Programmelemente 500, 520 aus von der zentralen Prozessoreinheit 10 unmittelbar ausführbarem, in Maschinen­ sprache abgefaßtem Kode. Eine erste Befehlssequenz 612, 622 des Schaltpro­ grammelementes 610, 620 veranlaßt dabei die Zeigerstelleinrichtung 20 der zentralen Prozessoreinheit 10 dazu, den Instruktionszeiger 22 auf den näch­ sten Bytekode-Befehl 44 im ersten Speicherbereich 40 zu richten. Eine weitere Befehlssequenz 614, 624 bewirkt, daß der innere Interpreter 60 den auf den dritten Speicherbereich 70 gerichteten Adreßzeiger 64 verstellt, um die dem Bytekodebefehl 44 zugehörige Startadresse 76, 78 eines ausführbaren Pro­ grammelementes 500, 520 aufzufinden und damit dessen Ausführung zu veranlassen. The switching program element 600 , 610 , 620 does not correspond to a byte code command of a user program, but acts as part of the inner interpreter 60 . It is preferably also located in the third memory area 70 and, like the program elements 500 , 520, consists of code that can be executed directly by the central processor unit 10 and written in machine language. A first command sequence 612 , 622 of the circuit program element 610 , 620 causes the pointer setting device 20 of the central processor unit 10 to direct the instruction pointer 22 to the next byte code command 44 in the first memory area 40 . Another command sequence 614 , 624 causes the inner interpreter 60 to adjust the address pointer 64 directed to the third memory area 70 in order to find the start address 76 , 78 of an executable program element 500 , 520 associated with the byte code command 44 and thus cause its execution.

Häufig erfordern verschiedene Instruktionen eines Anwenderprogrammes unterschiedliche Stellschrittweiten des Instruktionszeigers. Sprungbefehle etwa definieren in der Regel bereits die Position des Instruktionszeigers, so daß eine Verstellung durch ein Schaltelement nicht erforderlich ist. In einem typischen in Bytekodeform vorliegenden Anwenderprogramms besitzen deweiteren die Bytekode-Befehle 42, 44 in der Regel Operanden mit ver­ schiedenen Bytezahlen. In solchen Fällen sind zweckmäßig mehrere Schalt­ programmelemente 600, 610, 620 vorgesehen, welche eine Verstellung des Instruktionszeigers 22 um unterschiedliche Schrittweiten bewirken.Different instructions of a user program often require different setting increments of the instruction pointer. Jump commands, for example, usually already define the position of the instruction pointer, so that adjustment by a switching element is not necessary. In a typical user program in byte code form, the byte code instructions 42 , 44 generally have operands with different numbers of bytes. In such cases, a plurality of switching program elements 600 , 610 , 620 are expediently provided, which cause the instruction pointer 22 to be adjusted by different increments.

Ein erstes Schaltelement 600 dient dabei zur Durchführung von Sprungbe­ fehlen. Es beinhaltet keine Verstellung des Instruktionszeigers 22, sondern umfaßt nur eine Befehlssequenz, die bewirkt, daß der innere Interpreter 60 den Adreßzeiger 64 zum Auffinden der einem vorgegebenen Bytekodebefehl 44 zugehörigen Startadresse 76, 78 eines ausführbaren Programmelementes 500, 520 verstellt, um damit dessen Ausführung zu veranlassen. Weitere Schaltprogrammelemente 610, 620 ergeben sich aus der Struktur der Byte­ kodesyntax. Weisen die Bytekode-Befehle Vorzugsglängen auf, überwiegen etwa Befehle mit entweder ein oder zwei Bytes, werden zweckmäßig auf die Vorzugslängen abgestimmte Schaltelemente 610, 610 angelegt. Ein Schalt­ programmelement 610 bewirkt etwa eine Verstellung des Instruktionszeigers 22 um ein Byte, ein anderes Schaltprogrammelement 620 um zwei Bytes. In ersterem besteht entsprechend die auf die Position des Instruktionszeigers 22 wirkende Befehlssequenz 612 aus einer Inkrementierung, im zweitem aus einer Addition der Zahl Zwei 622. Analog lassen sich weitere Schaltpro­ grammelemente zur Errzielung weiterer Schrittweiten einrichten.A first switching element 600 is used to perform jump commands. It does not include adjustment of the instruction pointer 22 , but only comprises an instruction sequence which causes the inner interpreter 60 to adjust the address pointer 64 to find the start address 76 , 78 of an executable program element 500 , 520 associated with a given byte code instruction 44 , in order to thereby execute it cause. Additional circuit program elements 610 , 620 result from the structure of the byte code syntax. If the byte code commands have preferred lengths, for example commands with either one or two bytes predominate, switching elements 610 , 610 matched to the preferred lengths are expediently created. A switching program element 610 causes an adjustment of the instruction pointer 22 by one byte, another switching program element 620 by two bytes. Correspondingly, in the former, the command sequence 612 acting on the position of the instruction pointer 22 consists of an increment, in the second an addition of the number two 622 . Analogously, further circuit program elements can be set up to achieve further step sizes.

Entsprechend den durch die verschiedenen Schaltprogrammelemente 600, 610, 620 bewirkten unterschiedlichen Sprungweiten werden die zu den Bytekode-Befehlen 42, 44 korrespondierenden Programmelemente 500, 520 durch verschiedene Programmsequenzen 540, 550 zum Aufrufen der Schalt­ programmelemente 600, 610, 620 abgeschlossen. Eine erste Programmse­ quenz 540 bewirkt etwa den Aufruf eines Schaltprogrammelements 610, das zu einer Inkrementierung des Instruktionszeigers 22 um ein Byte führt, wäh­ rend eine andere Programmsequenz 550 ein Schaltprogrammelement 620 aufruft das zu einer Verstellung des Instruktionszeigers 22 um zwei Bytes führt.Corresponding to the different jump sizes caused by the different switching program elements 600 , 610 , 620 , the program elements 500 , 520 corresponding to the byte code commands 42 , 44 are completed by different program sequences 540 , 550 for calling the switching program elements 600 , 610 , 620 . A first program sequence 540 , for example, calls up a circuit program element 610 which leads to an incrementation of the instruction pointer 22 by one byte, while another program sequence 550 calls up a circuit program element 620 which leads to an adjustment of the instruction pointer 22 by two bytes.

Fig. 3 veranschaulicht in einem Flußdiagramm die generelle Schrittfolge bei der Abarbeitung eines Anwenderprogrammes mit Hilfe des vorgeschlage­ nen inneren Interpreters. Sie startet, Schritt 100, mit der Einstellung des In­ struktionszeigers 22 auf die erste Instruktion, d. h. etwa auf den ersten Byte­ kode-Befehl, des Anwenderprogrammes durch die in der zentralen Prozes­ soreinheit 10 angeordnete Zeigerstelleinrichtung 20. Die danach erreichte Position des Instruktionszeigers 22 meldet die zentrale Prozessoreinheit 10 an den inneren Interpreter 60, Schritt 102, der darauf die Abarbeitung fort­ setzt. Fig. 3 illustrates in a flowchart the general sequence of steps in the execution of a user program with the help of the proposed inner interpreter. It starts, step 100 , with the setting of the instruction pointer 22 to the first instruction, that is to say to the first byte code command, of the user program by the pointer setting device 20 arranged in the central processor unit 10 . The central processor unit 10 reports the position of the instruction pointer 22 then reached to the inner interpreter 60 , step 102 , which then continues processing.

Der innere Interpreter 60 liest zunächst im ersten Speicherbereich 40 den durch den Instruktionszeiger 22 bezeichneten Bytekode-Befehl aus, Schritt 104, und ermittelt den zu dem Bytekode-Befehl korrespondierenden Index 72 in der Tabelle im dritten Speicherbereich 70. Gemäß dem ermittelten In­ dex entnimmt er aus der Tabelle im Speicherbereich 70 die Startadresse eines den Bytekode-Befehl realisierenden Maschinenkodeprogrammelementes im zweiten Speicherbereich 50, Schritt 106, und veranlaßt die Zeigerstelleinrich­ tung 30 in der zentralen Prozessoreinheit 10 zur Einstellung des Programm­ zeigers 32 auf die gefundene Startadresse, Schritt 108. Das durch die Star­ tadresse bezeichnete Maschinenkodeprogrammelement 500, 520 wird von der zentralen Prozessoreinheit 10 ausgeführt, Schritt 110. Veranlaßt durch die jeweils auf ein Schaltprogrammelement 600, 610, 620 verweisende Pro­ grammsequenz 540, 550 am Ende jedes Programmelementes 500, 520 ruft die zentrale Prozessoreinheit 10 mit Beendigung der Ausführung eines Pro­ grammelementes 500, 520 jeweils wieder den inneren Interpreter 60 auf, Schritt 112 und übergibt diesem die weitere Programmabarbeitung, Schritt 114. Der innere Interpreter 60 veranlaßt daraufhin gemäß der Vorgabe durch das zuletzt ausgeführte Schaltprogrammelement 540, 550 die Zeigerstellein­ richtung 20 zur Verstellung des Instruktionszeigers 22 und beginnt erneut die Ausführung der Schritte 100 ff.The inner interpreter 60 first reads in the first memory area 40 the byte code command designated by the instruction pointer 22 , step 104 , and determines the index 72 corresponding to the byte code command in the table in the third memory area 70 . According to the determined index, he takes from the table in the memory area 70 the start address of a machine code program element realizing the byte code command in the second memory area 50 , step 106 , and causes the pointer actuating device 30 in the central processor unit 10 to set the program pointer 32 to the found one Start address, step 108 . The machine code program element 500 , 520 designated by the start address is executed by the central processor unit 10 , step 110 . Caused by the program sequence 540 , 550 referring to a circuit program element 600 , 610 , 620 at the end of each program element 500 , 520 , the central processor unit 10 calls the inner interpreter 60 again at the end of the execution of a program element 500 , 520 , step 112 and transfers this to further program processing, step 114 . The inner interpreter 60 then causes the pointer pointer device 20 to adjust the instruction pointer 22 in accordance with the specification by the last executed circuit program element 540 , 550 and starts the execution of steps 100 ff again.

Claims (18)

1. Computeranordnung für einen tragbaren Datenträger mit Speichermitteln zur Speicherung eines aus einer Folge von Instruktionen bestehenden An­ wenderprogrammes sowie einer Prozessoreinheit zur interpretierenden Aus­ führung desselben, wobei jeweils die Instruktion bearbeitet wird, auf die ein Instruktionszeiger gerichtet ist, gekennzeichnet durch eine Weiterschaltein­ heit (60), die mit der Prozessoreinheit (10), den das Anwenderprogramm enthaltenden Speichermitteln (40) sowie dem Instruktionszeiger (22) ver­ bunden ist und die jeweils nach Abschluß der Bearbeitung einer Instruktion (42) den Instruktionszeiger (22) auf die nächste zu bearbeitende Instruktion (44) richtet.1.Computer arrangement for a portable data carrier with storage means for storing a user program consisting of a sequence of instructions as well as a processor unit for interpreting the same, whereby the instruction to which an instruction pointer is directed is processed, characterized by a relay unit ( 60 ), which is connected to the processor unit ( 10 ), the storage means ( 40 ) containing the user program and the instruction pointer ( 22 ), and which, after completion of the processing of an instruction ( 42 ), instructs the instruction pointer ( 22 ) on the next instruction to be processed ( 44 ) judges. 2. Computeranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Weiterschalteinheit (60) mit einer Maschinenkodespeichereinheit (50) verbunden ist, in der sich zu jeder möglichen, zu interpretierenden Instruk­ tion (42, 44) des Anwenderprogrammes ein korrespondierender, in Maschi­ nensprache abgefaßter Programmkode (500, 520) befindet.2. Computer arrangement according to claim 1, characterized in that the relay unit ( 60 ) is connected to a machine code storage unit ( 50 ), in which there are any possible interpretable instructions ( 42 , 44 ) of the user program, a corresponding word written in machine language Program code ( 500 , 520 ) is located. 3. Computeranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Weiterschalteinheit (60) mit einer Tabellenspeichereinheit (70) verbunden ist, welche jeder Instruktion (42, 44) des Anwenderprogrammes ein Pro­ grammelement (500, 520) der Maschinenkodespeichereinheit (50) zuordnet.3. Computer arrangement according to claim 1, characterized in that the relay unit ( 60 ) is connected to a table storage unit (70) which assigns a program element ( 500 , 520 ) of the machine code storage unit ( 50 ) to each instruction ( 42 , 44 ) of the user program. 4. Computeranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Weiterschalteinheit (60) in Gestalt eines nichtveränderbaren, von der Prozessoreinheit (10) ausführbaren Programmes realisiert ist. 4. Computer arrangement according to claim 1, characterized in that the relay unit ( 60 ) is realized in the form of a non-changeable, executable by the processor unit ( 10 ) program. 5. Verfahren zur interpretierenden Ausführung eines aus einer Folge von Instruktionen bestehenden Anwenderprogrammes durch eine auf einem tragbaren Datenträger ausgebildete Computeranordnung, wobei die jeweils zu bearbeitende Instruktion durch einen Instruktionszeiger bezeichnet wird, dadurch gekennzeichnet, daß die Verstellung des Instruktionszeigers (22) zur Bezeichnung der als nächstes zu bearbeitenden Instruktion (44) durch die Ausführung der jeweils zuletzt bearbeiteten Instruktion (42) bewirkt wird.5. A method for interpreting execution of a user program consisting of a sequence of instructions by a computer arrangement formed on a portable data carrier, the instruction to be processed in each case being designated by an instruction pointer, characterized in that the adjustment of the instruction pointer ( 22 ) to designate the as the next instruction ( 44 ) to be processed is effected by the execution of the instruction ( 42 ) last processed in each case. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Bearbei­ tung einer Instruktion (42, 44) erfolgt, indem ein korrespondierendes, in Ma­ schinensprache abgefaßtes Programmelement (500, 520) ermittelt und ausge­ führt wird.6. The method according to claim 5, characterized in that the processing of an instruction ( 42 , 44 ) takes place by a corresponding, in machine language drafted program element ( 500 , 520 ) is determined and executed. 7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die zu In­ struktionen korrespondierenden, in Maschinensprache abgefaßten Pro­ grammelemente getrennt von dem Anwenderprogramm gespeichert wer­ den.7. The method according to claim 5, characterized in that the In corresponding corresponding, written in machine language Pro gram elements separately from the user program the. 8. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß mindestens ein in Maschinensprache abgefaßtes Schaltprogrammelement (600, 610, 620) an­ gelegt wird, das eine Verstellung des Instruktionszeigers (22) bewirkt.8. The method according to claim 5, characterized in that at least one drafted in machine language circuit program element ( 600 , 610 , 620 ) is applied, which causes an adjustment of the instruction pointer ( 22 ). 9. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die zu In­ struktionen korrespondierenden, in Maschinensprache abgefaßten Pro­ grammelemente (500, 520) jeweils durch eine Befehlssequenz abgeschlossen werden, die die Ausführung eines Schaltprogrammelementes (600, 610, 620) bewirkt. 9. The method according to claim 5, characterized in that the corresponding to In structures, drafted in machine language Pro program elements ( 500 , 520 ) are each completed by a command sequence that causes the execution of a circuit program element ( 600 , 610 , 620 ). 10. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß zum Auffin­ den des zu einer Instruktion eines Anwenderprogrammes korrespondieren­ den, in Maschinensprache abgefaßten Programmelementes (500, 520) eine Tabelle verwendet wird, die jeder möglichen Instruktion eines Anwender­ programmes die Adresse eines in Maschinensprache abgefaßten Programme­ lementes zuordnet.10. The method according to claim 5, characterized in that a table is used to find the corresponding to an instruction of a user program, the drafted in machine language program element ( 500 , 520 ), which each possible instruction of a user program, the address of a written in machine language Assigns programs to elements. 11. Programmerzeugnis zur Einrichtung des Computersystems eines tragba­ ren Datenträgers für eine interpretierende Ausführung eines aus einer Folge von Instruktionen bestehenden Anwenderprogrammes, mit
einer ersten Programmeinheit (60), welche eine ausführende Prozessorein­ heit (10) des Computersystems dazu befähigt, die jeweils als nächste zu be­ arbeitende Instruktion (42, 44) des Anwenderprogrammes aufzufinden,
einer zweiten Programmeinheit (50), die von der Prozessoreinheit (10) un­ mittelbar ausführbare, in Maschinensprache dargestellte Programmelemente (500, 520) enthält, welche jeweils zu einer in einem Anwenderprogramm vorgegebenen Instruktion (42, 44) korrespondieren und deren Ausführung bewirken,
sowie einer dritten Programmeinheit (50), die mindestens ein in Maschinen­ sprache abgefaßtes Schaltprogrammelement (600, 610, 620) einschließt, wel­ che das Computersystem dazu veranlaßt, die Fortsetzung der Programmaus­ führung an die erste Programmeinheit (60) zu übergeben.
11. Program product for setting up the computer system of a portable data carrier for an interpretive execution of a user program consisting of a sequence of instructions
a first program unit ( 60 ) which enables an executing processor unit ( 10 ) of the computer system to find the instruction ( 42 , 44 ) of the user program to be processed next,
a second program unit ( 50 ) which contains program elements ( 500 , 520 ) which can be directly executed by the processor unit ( 10 ) and which are represented in machine language and which each correspond to an instruction ( 42 , 44 ) specified in a user program and cause its execution,
and a third program unit ( 50 ) which includes at least one circuit program element ( 600 , 610 , 620 ) written in machine language, which causes the computer system to pass on the program execution to the first program unit ( 60 ).
12. Programmerzeugnis nach Anspruch 11, dadurch gekennzeichnet, daß die Programmelemente (500, 520) der zweiten Programmeinheit (50) jeweils durch eine Befehlssequenz (540, 550) abgeschlossen sind, welche die ausfüh­ rende Prozessoreinheit (10) veranlaßt, ein Schaltprogrammelement (600, 610, 620) auszuführen. 12. Program product according to claim 11, characterized in that the program elements ( 500 , 520 ) of the second program unit ( 50 ) are each completed by a command sequence ( 540 , 550 ) which causes the executing processor unit ( 10 ), a circuit program element ( 600 , 610 , 620 ). 13. Programmerzeugnis nach Anspruch 12, dadurch gekennzeichnet, daß die erste Programmeinheit (60) der Prozessoreinheit (10) eine Information bereitstellt, die das als nächstes auszuführende Programmelement (520) in der zweiten Speichereinheit (50) anzeigt.13. Program product according to claim 12, characterized in that the first program unit ( 60 ) provides the processor unit ( 10 ) with information which indicates the program element ( 520 ) to be executed next in the second memory unit ( 50 ). 14. Programmerzeugnis nach Anspruch 11, dadurch gekennzeichnet, daß die erste Programmeinheit (60) die Prozessoreinheit (10) veranlaßt, einen Zeiger (22) so zu bestimmen, daß er die als nächstes zu bearbeitende In­ struktion (44) in dem Anwenderprogramm anzeigt.14. Program product according to claim 11, characterized in that the first program unit ( 60 ) causes the processor unit ( 10 ) to determine a pointer ( 22 ) in such a way that it displays the next instruction to be processed ( 44 ) in the user program. 15. Programmerzeugnis nach Anspruch 15, dadurch gekennzeichnet, daß die erste Programmeinheit (60) die durch den Zeiger (22) bezeichnete, zu bearbeitende Instruktion (42, 44) auswertet, um die Information über das als nächstes auszuführende Programmelement (500, 520) zu ermitteln.15. Program product according to claim 15, characterized in that the first program unit ( 60 ) evaluates the instruction ( 42 , 44 ) to be processed, which is designated by the pointer ( 22 ), in order to obtain the information about the program element ( 500 , 520 ) to be executed next. to investigate. 16. Tragbarer Datenträger mit einer Computeranordnung zur Ausführung eines Anwenderprogrammes, dadurch gekennzeichnet, daß die Computer­ anordnung gemäß Anspruch 1 ausgebildet ist.16. Portable data carrier with a computer arrangement for execution a user program, characterized in that the computer arrangement is designed according to claim 1. 17. Verwendung des Verfahrens nach Anspruch 5 zum Betrieb eines eine Computeranordnung zur Ausführung eines Anwenderprogrammes aufwei­ senden tragbaren Datenträgers.17. Use of the method according to claim 5 for the operation of a Computer arrangement for executing a user program send portable disk. 18. Verwendung des Computererzeugnisses gemäß Anspruch 11 zur Ein­ richtung der Computeranordnung eines zur Ausführung eines Anwender­ programmes geeigneten tragbaren Datenträgers.18. Use of the computer product according to claim 11 for one direction of the computer arrangement one for executing a user programs suitable portable data carrier.
DE2000106291 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 Ceased DE10006291A1 (en)

Priority Applications (2)

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
FR0101560A FR2805058B1 (en) 2000-02-14 2001-02-06 COMPUTER STRUCTURE FOR A PORTABLE DATA MEDIUM

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 (1)

Publication Number Publication Date
DE10006291A1 true DE10006291A1 (en) 2001-08-30

Family

ID=7630710

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000106291 Ceased 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

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
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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2667171B1 (en) * 1990-09-25 1994-08-26 Gemplus Card Int PORTABLE MEDIUM WITH EASILY PROGRAMMABLE MICRO-CIRCUIT AND METHOD FOR PROGRAMMING THIS MICRO-CIRCUIT.
FR2757970B1 (en) * 1996-12-30 1999-03-26 Gemplus Card Int METHOD FOR LOADING A USER PROGRAM INTO A CHIP MEDIUM

Patent Citations (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

Also Published As

Publication number Publication date
FR2805058B1 (en) 2007-11-09
FR2805058A1 (en) 2001-08-17

Similar Documents

Publication Publication Date Title
DE1928202C3 (en) Device for the creation of statistical data on the operational sequence of program-controlled data processing systems
DE4331703C2 (en) Electronic device
DE3732808A1 (en) METHOD AND DEVICE FOR GENERATING AND EDITING INTERRUPT POINTS IN A MONITOR PROGRAM
DE2801563A1 (en) DIALOG PROCESSOR
DE2435691A1 (en) METHOD AND DEVICE FOR ASSIGNING TEST SAMPLES AND DATA
EP0450116B1 (en) Automation apparatus with single-step test
DE10041072A1 (en) Automatic generation of program code involves forming symbol for component with interfaces in graphical editor, offering selection, generating code combining components
EP0838054B1 (en) Graphic control process and device for controlling operations in a network management system
DE1180171B (en) Number calculator
EP1709534B1 (en) The running of a program by a virtual machine
DE1774421B1 (en) MORE PROGRAM DATA PROCESSING SYSTEM
DE10006291A1 (en) 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
EP0035772B1 (en) Microprogramme control apparatus
DE69722584T2 (en) MANUFACTURE OF MACROS IN A CONTROL SYSTEM BY RECORDING REACTIONS
DE2606295C3 (en) Arrangement for the transmission of characters between peripheral units controllable via a multiplex channel and a main memory of a central processor
AT403220B (en) DATA PROCESSING SYSTEM
DE1424756A1 (en) Computing system memory circuit
EP1415206B1 (en) Execution of instructions in an automation system
DE10228200A1 (en) Computer control system for machine tool, has input terminal with keyboard and display module setting up several input parameters and receiving feedback from machine
DE1424756C (en) Circuit arrangement for fail-safe imports or reintroduction of programs m the main memory of a data processing system
EP1055984B1 (en) Method for a fault analysis in microprocessor-controlled installations
EP1249759A1 (en) Program controlled unit
DE2835261C2 (en) Data processing unit
DE1774421C (en) Multi-program data processing system
DE3145080A1 (en) Freely programmable open-loop, closed-loop control

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection