US2002026633A1PendingUtilityA1

Retargetable information processing system

Priority: Apr 23, 1991Filed: May 18, 1998Published: Feb 28, 2002
Est. expiryApr 23, 2011(expired)· nominal 20-yr term from priority
G06F 11/3698G06F 8/447G06F 8/47G06F 11/362G06F 11/3624
27
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A translator system for translating source programs into machine language programs in an electronic computer system. An object program common to a plurality of different machine types of computers are generated while implementing execution performance equivalent to object programs inherent to the computers. A compiler translates a source program into an abstract object program including an abstract machine instruction sequence and indication concerning allocation of abstract registers. An installer converts the abstract object program into a machine language program of target computer on the basis of executable computer specification information including register usage indication and machine instruction selecting rules.

Claims

exact text as granted — not AI-modified
1 . An information processing system, comprising: 
 a compiler for translating source programs into abstract object programs;    a linker for linking together said abstract object programs to generate a linked abstract object program; and    a plurality of installers provided for different types of machines, for translating said linked abstract object program into machine language programs respectively.    
     
     
         2 . An information processing system according to  claim 1 , wherein said abstract object program is composed of a sequence of instructions for an abstract register machine, 
 wherein said abstract register machine including a plurality of registers and executing transfer instructions between said registers and a memory, computational instructions on the registers and branch instructions for controlling a sequence of executions of said instructions, and    wherein said installers being provided in a number corresponding to a number of different instruction set computers in which instruction specifications differ from one another, wherein one and the same abstract object program resulting from the translation of said source program by said compiler is translated into said machine language programs oriented to said different machine types of the computers, respectively, by means of said installers provided in association with said computers, respectively, for thereby allowing machine language program to be executed by the target computer to which said machine language is oriented.    
     
     
         3 . An information processing system according to  claim 2 , wherein said abstract object program includes, in addition to machine language corresponding instructions representing machine instructions for the target computers, at least one of instructions selected from a group consisting of a generation control instruction for controlling generation of a machine instruction sequence a pseudo-instruction representing a structure of a program, a pseudo-instruction for establishing correspondences between instructions in the program and symbol names, a pseudo-instruction for establishing correspondences between locations or sizes of the memory used by the program and symbol names and a pseudo-instruction indicating debugging information.  
     
     
         4 . An information processing system according to  claim 3 , wherein said abstract object program includes indication for selecting the positions for generation of machine instruction sequence of the computer indicated by said machine instruction sequence corresponding instruction in conformance with register allocation state in which said registers are allocated.  
     
     
         5 . An information processing system according to  claim 2 , wherein said abstract object program includes at least one of an indication for allocation of said registers and an indication for freeing said registers.  
     
     
         6 . An information processing system according to  claim 2 , wherein said abstract object program includes at least one of an indications concerning types of said registers, priorities of the registers in the allocation of said registers and a number of the registers to be preserved.  
     
     
         7 . An information processing system according to  claim 6 , wherein said register allocation priority is determined in dependence on the use frequency of the abstract register or use position thereof.  
     
     
         8 . An information processing system according to  claim 2 , wherein said compiler has a function for performing conversion of the instruction sequence, deletion of instruction, modification of instruction or move of instruction for thereby evading duplicative execution of the instruction in said abstract register machine instruction sequence.  
     
     
         9 . An information processing system according to  claim 2 , wherein said installer has a function for allocating physical registers of said computer to the registers in said abstract object program in conformance with indication of a memory designation pseudo-instruction included in said abstract object program upon generation of said machine language program of said computer from said abstract object program.  
     
     
         10 . An information processing system according to  claim 2 , wherein said installer has a function for selectively determining whether allocation of physical registers of said computer to the registers of said abstract register machine is to be executed offhand or not or for messaging whether said physical registers could be allocated or not.  
     
     
         11 . An information processing system according to  claim 2 , wherein said installer has a function for recording priorities of physical registers of said computer in allocating said physical registers to the registers of said abstract register machine even after allocation command has been issued.  
     
     
         12 . An information processing system according to  claim 2 , wherein said installer has a function capable of changing priorities of physical registers of said computer upon allocating said physical register to abstract registers constituting said registers of the abstract register machine, even after said allocation priorities have been specified, in conformance with position of said abstract register machine instruction being executed or position of said abstract register instruction using said abstract register.  
     
     
         13 . An information processing system according to  claim 2 , wherein said installer has a function of generating the machine language program in a form in which a machine language instruction sequence is changed in conformance with structures of preceding and succeeding instruction sequences, regardless of a form of the abstract register machine instruction sequence which corresponds to said machine language instruction sequence.  
     
     
         14 . An information processing system according to  claim 13 , wherein said installer has a function of generating the machine language program in a form in which a machine language instruction sequence is changed in conformance with situation in which physical registers of the computer are allocated regardless of a form of the abstract register machine instruction corresponding to said machine language instruction sequence.  
     
     
         15 . An information processing system according to  claim 13 , wherein said installer has a function for optimalizing the machine language program in conformance to characteristics of the computer.  
     
     
         16 . An information processing system according to  claim 2 , wherein said installer generates the machine language program from the abstract object program in accordance with machine language instruction generating rules established for said abstract register machine instruction sequence.  
     
     
         17 . An information processing system according to  claim 15 , wherein said installer has a function capable of generating from one and the same abstract object program different machine language programs conforming to the target computers by changing the machine language instruction generating rules for said abstract register machine instruction sequence in conformance to the target computers.  
     
     
         18 . An information processing system, comprising; 
 a compiler for translating a source program into object programs; and    a target computer for executing computational operations in accordance with instructions of said object programs; 
 wherein each of said object programs includes in addition to executable instructions sequence for said target computer at least one of instructions selected from a group consisting of a generation control instruction for controlling allocation or release of registers, a pseudo-instruction representing a structure of the source program, pseudo-instructions for establishing positions of instructions in the program and symbol names, pseudo-instructions for establishing correspondences between locations or sizes of memory used by the program and symbol names and pseudo-instructions and a pseudo-instruction for indicating debugging information.  
   
     
     
         19 . A machine language program generating system, comprising: 
 a compiler for translating source programs into abstract object programs each including an abstract register machine instruction sequence;    a linker for linking together a plurality of said abstract object programs to thereby generated a linked abstract object program; and    an installer for translating a given one of said abstract object programs into a machine language program which is stored in a memory of a computer; 
 wherein said installer is provided for each of the computers having instruction schemes differing from one another, to thereby allow a processing operation indicated by one and the same abstract object program to be executed by each of said plural computers in different instruction set.  
   
     
     
         20 . A debug system loaded with a source program described in a high-level language and an abstract object program generated by translating said source program, wherein said abstract object program has a plurality of abstract registers and is composed of an abstract register machine instruction sequence which includes a transfer instruction between said register and a memory, a computational instruction executed on said registers and a control instruction for controlling the sequence of instructions, 
 said debug system further comprising means for translating said abstract object program into an executable machine language program.    
     
     
         21 . A debug system according to  claim 19 , wherein one and the same abstract object program is executed by a plurality of different machine types of computers.  
     
     
         22 . A debug system according to  claim 19 , wherein one and the same debug system is implemented by a plurality of different machine types of computers.  
     
     
         23 . An information processing system, comprising: 
 a portable storage medium; and    an information processor for performing data transactions with said portable storage medium loaded in said information processor; 
 wherein said portable storing medium stores therein an abstract object program which includes a plurality of abstract registers and is composed of an abstract register machine instruction sequence including a transfer instruction between said register and a memory, computational instructions for said registers and an instruction for controlling the sequence of said computational instructions,  
 said information processing system further including means for reading and translating said abstract object program into an executable machine language program.  
   
     
     
         24 . An information processing system according to  claim 22 , wherein said portable storage medium is constituted by an IC card.  
     
     
         25 . An information processing system according to  claim 22 , wherein said portable storage medium is constituted by a CD-ROM.  
     
     
         26 . A network computer system in which a plurality of different instruction set of computers are connected to a network; 
 wherein at least one of said computers connected to said network functions as a server equipped with the abstract object program set forth in  claim 2;     each of the other computers connected to said network including means for accessing said abstract object program of said server and the installer set forth in  claim 2;  and    each of said other computers connected to said network translating said abstract object program supplied from said server into respective machine language programs for execution thereof by means of said installer provided in association with each of said other computers.    
     
     
         27 . A computer system replacing method, comprising steps of: 
 replacing a computer system incorporating the abstract object program and the installer set forth in  claim 2  by another computer system equipped with the installer set forth in  claim 2;  and    executing the abstract object program before said replacement by the computer system after said replacement.    
     
     
         28 . A method of generating from at least one source program a machine language program suitable for a type of computer, the method being executed by a computer system and comprising the steps of: 
 compiling said at least one source program to generate an abstract object program for an abstract machine; and    translating said abstract object program into a machine language program in accordance with a type of computer, the machine language program being executed by the computer.

Join the waitlist — get patent alerts

Track US2002026633A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.