Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
197 words
A binary program conversion apparatus, used for converting a first binary program which consists of a plurality of first instruction blocks into a second binary program which is executed in a computer having a cache memory, comprising: executing means for executing the first instruction blocks of the first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing the second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the first instruction blocks, ones of the second instruction blocks having been copied into the addition area wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 2
Dependent Claim
197 words
A binary program conversion apparatus, used for converting a first binary program which consists of a plurality of first instruction blocks into a second binary program which is executed in a computer having a cache memory, comprising: executing means for executing the first instruction blocks of the first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing the second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the first instruction blocks, ones of the second instruction blocks having been copied into the addition area wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 3
Dependent Claim
38 words
A binary program conversion apparatus according to claim 1 , wherein said producing means produces the second binary program including a part in which the second instruction blocks corresponding to the executed first instruction blocks are arranged successively.
Claim 4
Dependent Claim
156 words
A binary program conversion apparatus according to claim 1 , further comprising: creating means for creating a line data indicating lines of the cache memory which are to be used when the produced second binary program is executed in the computer; and controlling means for controlling said executing means so as to execute third instruction blocks of a third binary program, said generating means so as to generate second executed blocks information from the executed third instruction blocks, and said producing means so as to produce a fourth binary program from the second executed blocks information and the line data, the fourth binary program comprising fourth instruction blocks corresponding to the executed third instruction blocks, wherein when the fourth binary program is executed in the computer, the computer stores the fourth instruction blocks corresponding to the executed third instruction blocks at locations in lines of the cache memory except the lines indicated by the line data.
Claim 5
Dependent Claim
130 words
A binary program conversion apparatus according to claim 1 , further comprising: recognizing means for recognizing a frequency of use for data access of every line of the cache memory by monitoring running states of the executed first instruction blocks of the first binary program; and selecting means for selecting from a recognition result of said recognizing means lines having the lowest frequency of use from all lines of the cache memory to use for storing the second instruction blocks corresponding to the executed first instruction blocks, and wherein said producing means produces the second binary program which causes, when being executed in the computer, the computer to store the second instruction blocks corresponding to the executed first instruction blocks at locations in the lines selected by said selecting means.
Claim 6
Dependent Claim
81 words
A binary program conversion apparatus according to claim 2 , further comprising: searching means for searching from the second binary program a second instruction block containing on its end a conditional branch instruction whose branch destination is set for a next second instruction block; and changing means for changing a branch condition and the branch destination of the conditional branch instruction so that a transition from the searched second instruction block to the next second instruction block takes place without branching.
Claim 7
Dependent Claim
65 words
A binary program conversion apparatus according to claim 1 , wherein said producing means produces the second binary program which causes, when being executed in the computer, the computer to store the second instruction blocks in the cache memory when the total size stored is within cache memory size, and wherein the second instruction blocks are selected according to the executing frequency of each block.
Claim 8
Dependent Claim
29 words
The binary program conversion apparatus according to claim 1 , wherein said producing means produces the second binary program without using a symbol table of the first binary program.
Claim 9
Dependent Claim
83 words
The binary program conversion apparatus according to claim 1 , further comprising securing means for securing the additional area in the first binary program, wherein said executing means executes the first binary program having the secured additional area, and said producing means further comprises copying ones of the first instruction blocks into the secured additional area of the first binary program using the executed blocks information such that the copied ones of the first instruction blocks in the secured additional area are executed.
Claim 10
Dependent Claim
51 words
The binary program conversion apparatus according to claim 1 , wherein ones of the first instruction blocks correspond to a same line in the cache memory, and ones of the second instruction blocks corresponding to the ones of the first instruction blocks correspond to different respective lines in the cache memory.
Claim 11
Dependent Claim
188 words
A binary program conversion method, used for converting a first binary program having first instruction blocks into a second binary program which is executed in a computer having a cache memory, comprising: executing the first instruction blocks of the first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating executed blocks information from the executed first instruction blocks; and producing the second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the first instruction blocks of the first binary program, ones of the second instruction blocks having been copied into the additional area, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during the process of converting the second binary program from the first binary program.
Claim 12
Dependent Claim
188 words
A binary program conversion method, used for converting a first binary program having first instruction blocks into a second binary program which is executed in a computer having a cache memory, comprising: executing the first instruction blocks of the first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating executed blocks information from the executed first instruction blocks; and producing the second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the first instruction blocks of the first binary program, ones of the second instruction blocks having been copied into the additional area, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during the process of converting the second binary program from the first binary program.
Claim 13
Dependent Claim
38 words
A binary program conversion method according to claim 10 , wherein said producing comprises producing the second binary program including a part in which the second instruction blocks corresponding to the executed first instruction blocks are arranged successively.
Claim 14
Dependent Claim
139 words
A binary program conversion method according to claim 10 , further comprising: creating a line data indicating lines of the cache memory which are to be used when the produced second binary program is executed in the computer; and controlling said executing executes a third binary program comprising third instruction blocks, and said generating generates second executed blocks information from the executed third instruction blocks, and said producing produces a fourth binary program from the second executed blocks information and the line data, the fourth binary program comprising fourth instruction blocks corresponding to the executed third instruction blocks, wherein when the fourth binary program is executed in the computer, the computer stores the fourth instruction blocks corresponding to the executed third instruction blocks at locations on lines of the cache memory except the lines indicated by the line data.
Claim 15
Dependent Claim
114 words
A binary program conversion method according to claim 10 , further comprising: recognizing a frequency of use for data access of every line of the cache memory by monitoring running states of the executed first instruction blocks of the first binary program; and selecting lines having the lowest frequency of use from all lines of the cache memory to use for storing second instruction blocks based on a recognition result of said recognizing the frequency of use, and wherein said producing comprises producing the second binary program which causes, when executed in the computer, the computer to store second instruction blocks corresponding to the executed first instruction blocks at locations in the selected lines.
Claim 16
Dependent Claim
70 words
A binary program conversion method according to claim 11 , further comprising: searching a second instruction block containing on its end a conditional branch instruction whose branch destination is set for a next second instruction block; and changing a branch condition and the branch destination of the conditional branch instruction so that a transition from the searched second instruction block to the next second instruction block takes place without branching.
Claim 17
Dependent Claim
64 words
A binary program conversion method according to claim 10 , wherein producing step involves producing the second binary program which causes, when being executed in the computer, the computer to store the second instruction blocks in the cache memory when the total size stored is within cache memory size, wherein the second instruction blocks are selected according to the executing frequency of each block.
Claim 18
Dependent Claim
181 words
A recording medium for recording programs for making a computer having a cache memory function as: executing means for executing first instruction blocks of a first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing a second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks of the first binary program, ones of the second instruction blocks having been copied into the additional area, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instructions blocks are not stored within the cache memory, and object code of the first binary program is used during the process of converting the second binary program from the first binary program.
Claim 19
Dependent Claim
181 words
A recording medium for recording programs for making a computer having a cache memory function as: executing means for executing first instruction blocks of a first binary program after an additional area has been added to the first binary program, the additional area having a size of up to and including a size of the cache memory; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing a second binary program from the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks of the first binary program, ones of the second instruction blocks having been copied into the additional area, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instructions blocks are not stored within the cache memory, and object code of the first binary program is used during the process of converting the second binary program from the first binary program.
Claim 20
Dependent Claim
251 words
A binary program conversion apparatus, used for converting a first binary program including a plurality of object modules having a plurality of first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding means for adding an additional area to the first binary program, the additional area having a size up to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; executing means for executing first instruction blocks of the first binary program with the additional area added; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing the second binary program by copying the first instruction blocks of the plurality of object modules into different areas where any other second instruction blocks of the second binary program are not stored within the additional area based on the executed blocks information, the second binary program comprising the second instruction blocks corresponding to the first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 21
Dependent Claim
251 words
A binary program conversion apparatus, used for converting a first binary program including a plurality of object modules having a plurality of first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding means for adding an additional area to the first binary program, the additional area having a size up to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; executing means for executing first instruction blocks of the first binary program with the additional area added; generating means for generating executed blocks information from the executed first instruction blocks; and producing means for producing the second binary program by copying the first instruction blocks of the plurality of object modules into different areas where any other second instruction blocks of the second binary program are not stored within the additional area based on the executed blocks information, the second binary program comprising the second instruction blocks corresponding to the first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 22
Dependent Claim
24 words
A binary program conversion apparatus according to claim 17 , wherein the size of the additional area is the same as the cache memory.
Claim 23
Independent Claim
220 words
A method of converting a first binary program comprising a plurality of object modules having first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding an additional area to the first binary program, the additional area being an additional area having a size corresponding to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; executing the first instruction blocks of the first binary program; generating executed blocks information from the executed first instruction blocks; and producing the second binary program by copying the executed first instruction blocks of the plurality of the object modules into different areas within the additional area based on the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instructions blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 24
Independent Claim
220 words
A method of converting a first binary program comprising a plurality of object modules having first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding an additional area to the first binary program, the additional area being an additional area having a size corresponding to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; executing the first instruction blocks of the first binary program; generating executed blocks information from the executed first instruction blocks; and producing the second binary program by copying the executed first instruction blocks of the plurality of the object modules into different areas within the additional area based on the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores the second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instructions blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 25
Dependent Claim
28 words
A method of converting a first binary program as recited in claim 19 , wherein the size of the additional area is the same as the cache memory.
Claim 26
Dependent Claim
241 words
A computer program embodied on a computer-readable medium for converting a first binary program comprising a plurality of object modules having first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: an adding element to add an additional area to the first binary program, the additional area being an additional area having a size up to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; an executing element to execute the first instruction blocks of the first binary program; an generating element to generate executed blocks information from the executed first instruction blocks; and a producing element to produce the second binary program by copying the executed first instruction blocks of the plurality of the object modules into different areas within the additional area based on the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 27
Dependent Claim
241 words
A computer program embodied on a computer-readable medium for converting a first binary program comprising a plurality of object modules having first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: an adding element to add an additional area to the first binary program, the additional area being an additional area having a size up to and including a size of the cache memory, and adding instructions of the additional area being jumped to from the first instruction blocks; an executing element to execute the first instruction blocks of the first binary program; an generating element to generate executed blocks information from the executed first instruction blocks; and a producing element to produce the second binary program by copying the executed first instruction blocks of the plurality of the object modules into different areas within the additional area based on the executed blocks information, the second binary program comprising second instruction blocks corresponding to the executed first instruction blocks, wherein when the second binary program is executed in the computer, the computer stores second instruction blocks corresponding to the executed first instruction blocks at locations where any other second instruction blocks are not stored within the cache memory, and object code of the first binary program is used during a process of converting the second binary program from the first binary program.
Claim 28
Dependent Claim
23 words
A computer program as recited in claim 21 , wherein the size of the additional area is the same as the cache memory.
Claim 29
Dependent Claim
371 words
A binary program conversion apparatus, used for converting a first binary program comprising first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding means for adding a cache blocking area of predetermined size comprising a plurality of lines to the first binary program; executing means for executing the first binary program; generating means for generating executed blocks of information indicating first instruction blocks in the first binary program executed by said executing means; and producing means for producing, by copying the first instruction blocks into different areas within the cache blocking area based on the executed blocks of information generated by said generating means, the second binary program which contains second instruction blocks corresponding to the plurality of the first instruction blocks and which causes, when being executed in the computer, the computer to store second instruction blocks corresponding to the first instruction blocks executed by said executing means at different locations of the cache memory, wherein the source code of the first binary program is not used to create the second binary program, wherein the producing means compares a total size of the executed first instruction blocks with the size of the cache blocking area, and if the total size of the first instruction blocks is not larger than the size of the cache blocking area, determines a number of the lines, L, necessary for holding all of the executed instruction blocks, selects L number of lines of the cache memory, of which a frequency in use is low, produces the second binary program by copying the first instruction blocks into the location in the cache blocking area, the location corresponding to the selected lines, if the total size of the first instruction blocks is larger than the size of the cache blocking area, selects the larger number of the first instruction blocks in the order of frequency of being executed so that the total size of the selected first instruction blocks does not exceed the size of the cache blocking area, and produces the second binary program by copying the selected first instruction blocks into the cache blocking area.
Claim 30
Dependent Claim
371 words
A binary program conversion apparatus, used for converting a first binary program comprising first instruction blocks into a second binary program which is executed in a computer having a cache memory without using a source code of the first binary program, comprising: adding means for adding a cache blocking area of predetermined size comprising a plurality of lines to the first binary program; executing means for executing the first binary program; generating means for generating executed blocks of information indicating first instruction blocks in the first binary program executed by said executing means; and producing means for producing, by copying the first instruction blocks into different areas within the cache blocking area based on the executed blocks of information generated by said generating means, the second binary program which contains second instruction blocks corresponding to the plurality of the first instruction blocks and which causes, when being executed in the computer, the computer to store second instruction blocks corresponding to the first instruction blocks executed by said executing means at different locations of the cache memory, wherein the source code of the first binary program is not used to create the second binary program, wherein the producing means compares a total size of the executed first instruction blocks with the size of the cache blocking area, and if the total size of the first instruction blocks is not larger than the size of the cache blocking area, determines a number of the lines, L, necessary for holding all of the executed instruction blocks, selects L number of lines of the cache memory, of which a frequency in use is low, produces the second binary program by copying the first instruction blocks into the location in the cache blocking area, the location corresponding to the selected lines, if the total size of the first instruction blocks is larger than the size of the cache blocking area, selects the larger number of the first instruction blocks in the order of frequency of being executed so that the total size of the selected first instruction blocks does not exceed the size of the cache blocking area, and produces the second binary program by copying the selected first instruction blocks into the cache blocking area.