Abstract:
PROBLEM TO BE SOLVED: To prevent the influence of other calls, interrupts, exceptions and the like when a value of an interrupt mask register in an embedded system or the like is changed. SOLUTION: The architecture of a CPU is changed so that the content of the interrupt mask register can be changed directly according to the result of decoding an instruction decoder of the CPU. Normally, the change does not require a lot of time and effort in changing the design of the CPU. An extended CALL instruction and an extended software interrupt instruction are added to the CPU. The extended CALL instruction and the extended software interrupt instruction also have the function of changing the value of the interrupt mask register. The single instruction simultaneously calls a process and changes the value of the interrupt mask register, and atomicity is achieved by disabling interrupts during execution of the single instruction. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a code generation technique which adapt a code to dynamically modified profile information in response to the modification of profile information. SOLUTION: System configuration information is obtained. In dependence on it, a load process and a store process are performed, where they are called LoadX and StoreX, respectively. On the other hand, normal load process and store process are called load and store, respectively. Accordingly, the invention assumes a system configuration for each compile unit. Under this assumption, a load/store instruction for finding access to the normal RAM/ROM is converted not into the LoadX/StoreX instruction into the normal load/store instruction. This brings an optimization effect to compiling. An execution code obtained above is systematically registered in a two-dimensional table with an start address of a guest and an index of system configuration information as a key. This allows an optimization code obtained by searching the table to be executed in execution. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To efficiently simulate a system having a plurality of different types of ECU by software. SOLUTION: Each ECU emulator is speculatively emulated. That is, when the ECU emulator or each physical device simulator is called as a logical process, any critical path is not created, and each logical process is executed in parallel as much as possible, and even when any input event is not delivered in each logical process, the input is predicted, and the processing is advanced. This speculative execution makes it possible to previously execute processing without waiting for the output of another logical process so that the parallelism of processing can be increased. When the actual input to be received with delay is not matched with the predicted and speculatively executed input, it is determined that the speculative execution fails, and the status is returned to the previous time, and the processing is re-executed based on the actual input. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a data processing apparatus, a data processing method, and a program for aligning three-dimensional images. SOLUTION: The data processing apparatus 10 is equipped with down sample processing means 44-48 for lowering the resolution of a fixed image 40, first registering means (50, 52) for performing a registration between the fixed image with the resolution lowered by the down sample processing means 44-48 and the moving image with the lowered resolution like the fixed image with the lowered resolution, and second registering means (54, 56) for performing the registration of the fixed image with the lowered resolution and the moving image with the lowered resolution by using a linear transformation parameter output by the first registering means 52 as an initial value and stores pixel data to be used for the calculation of the mutual information volume in a main memory in a manner to be continuously accessed to execute by fetching the pixel data in a local memory. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To allocate a proper register to a plurality of variables by solving the problem of delaying an execution speed of a generating command train since a variable using method is not adapted to properties of registers allocated to the variables in a computer mutually different in the respective properties of a plurality of registers. SOLUTION: This compiler converts a source program into the command train of a processor, and is provided with a simultaneously using variable acquiring part 220 for acquiring a variable simultaneously used with the variables in a plurality of respective variables used in the source program, an allocation order forming part 230 for forming a plurality of allocation orders between the plurality of variables allocated to the registers different from a variable simultaneously used with the variables, an allocation precedence acquiring part 300 for acquiring allocation precedence for indicating to which register the plurality of respective variables are preferentially allocated among the plurality of registers and a register allocation part 310 for allocating the plurality of variables to the registers according to one allocation order selected on the basis of the allocation precedence among the plurality of allocation orders. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To realize an efficient compile by decreasing the number of interference between variables while guaranteeing the possibility of the parallel execution of instruction in graph coloring. SOLUTION: The compiler for translating the source code of a program described in a programming language into a machine word and optimizing the program, is provided with a DAG analyzing part 11 for constructing and analyzing the DAG of an instruction from the program as a processing target, an interference graph constructing part 12 for constructing an interference graph showing the presence/absence of interference between variables to be used for this instruction on the basis of the analyzed result and a graph coloring part 13 for performing register assignment to this instruction based on the constructed interference graph and when the running time of this entire program is to be extended without parallel executing prescribed plural instructions, this interference graph constructing part 12 constructs the interference graph by deciding that these plural instructions interfere the variables to be used.
Abstract:
PROBLEM TO BE SOLVED: To provide a program execution method for realizing much higher level optimization. SOLUTION: A program executing device 1 realizes transition between a compile processing and interpreter processing in the middle of the execution of a method. When there is not any problem on execution even if moving a transition point to the entrance of a loop, the transition point of a code is moved to the entrance of a loop, and when the transition point is positioned inside the loop, a point for post dominating the entrance of the loop and the transition point is copied just before the loop. Thus, the transition point is allowed to have information for generating a re-calculation code so that re- execution can be executed.
Abstract:
PROBLEM TO BE SOLVED: To provide a compiler capable of executing the byte code of Java at a high speed with limited resources. SOLUTION: The byte code 14 is converted to an intermediate code 102 whose operation code is the address of processing routines corresponding to the respective byte codes and the processing routines are executed in the order of the intermediate codes. At the time, the intermediate code is turned to a fixed length and the bit position of the operation code is also fixed in it. Also, the processing routines are arranged in successive areas on a memory and an offset from the leading address of a processing routine group 104 is used for the operation code. Further, the vacancy of the pipeline of a CPU is utilized and a part (generation of operand and jump) of an instruction group for jumping to the processing routine of the next intermediate code and a part (pre-fetch of intermediate code and address calculation of processing routine) of the instruction group for jumping to the processing routine of the intermediate code after the next are executed parallelly to the original processing for the intermediate code.
Abstract:
PROBLEM TO BE SOLVED: To fast run a compiled object program by extracting correctly the reduction, i.e., a loop pattern that frequently appears in a source program out of this source program. SOLUTION: The reduction is detected out of a loop (Step 21) and then converted into a loop that can be carried out effectively and in parallel (Step 22). Finally, the reduction communication is generated based on the converted loop and optimized (Step 23). The detection of reduction consists of three sub- steps. That is, a model is first produced in regard to the mask expression masking every substitute sentence in the loop. In other words, an expression tree concerning the execution condition of every substitute sentence is generated. Then it's decided whether the reduction consists of an expression tree of merged substitute sentences based on the expression tree of a prescribed conditional expression and also the data dependence relation.
Abstract:
PROBLEM TO BE SOLVED: To provide a technique for efficiently testing stability by avoiding a combinatorial explosion regardless of the number and quality of nonlinear blocks when switched linearization is utilized for a simulation system including a plurality of nonlinear blocks to form a system having a plurality of states. SOLUTION: When the states are changed according to an operation scenario and the following state is not attained yet, the simulation system places a software guard 1202 showing that the state is not attained. In response to encountering the guard, whether the state is safe or not is tested.When the state is safe, the simulation system deletes the guard and places another guard at the next state. On the other hand, when the state is unstable, the simulation system replaces the guard by an unstable guard 1204. Then, it records an appearance state of a transition, and suitably ends the simulation. COPYRIGHT: (C)2011,JPO&INPIT