Abstract:
PROBLEM TO BE SOLVED: To efficiently simulate a system having a plurality of different types of ECUs by software. SOLUTION: In this simulation system, respective ECU emulators #1 to #n are speculatively emulated. That is, the respective ECU emulators #1 to #n operate asynchronously with an individual clock and increment the original speculative period. Further, a system scheduler is provided to maintain all speculative periods sent by the respective ECU emulators, and the system scheduler updates the final time. When an ECU emulator receives an external input having a time stamp ahead of its own speculative period, the ECU emulator rewinds its own clock to the past time indicated by the time stamp and reexecutes a task. For this, the ECU emulator stores its own internal state, suitably in its own private memory at least for a certain fixed period. Consequently, the task can be reproduced by setting the internal state corresponding to the rewound time. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a technology for understanding the internal state of a built-in program such as an ECU and restoring it to a certain internal state. SOLUTION: In order to specify and/or extract an internal state memory area, the execution flow of a built-in program such as an ECU is analyzed and a control graph is created. An execution path is thereby obtained. Next, data flow analysis of Def/Use is performed for the execution path. The data flow analysis of Def/Use is to obtain all the lists of variables such that referencing (Use) is performed prior to definition (Def). All the lists of variables thus obtained are regarded as the memory area that expresses the internal state. Using the lists thus obtained of the variables expressing the internal state, an input wrapper and an output wrapper are generated and are arranged in front of and behind the analyzed built-in program, respectively. The program with the wrappers thus arranged therein is either complied or assembled into a binary executable program. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To streamline the execution of a program by pre-fetching data necessary to execute it. SOLUTION: A system is provided for causing a computer to execute a recursive access instruction prior to a program subject to pre-fetching. In the system, query instructions to select records satisfying selection conditions from target tables and generate result tables are detected from iterative processing in the program. An initial query instruction to generate an initial table including variable values to be set prior to the start of the iterative processing in the program is generated. A recursive query instruction to generate, by each recursive query corresponding to the sequentially executed iterative processings, the next intermediate table to be referred to in the subsequent iterative processing from the target tables and an intermediate table including the result tables generated by the preceding target query instructions of the iterative processing is next generated. A final query instruction to generate a final table from the intermediate tables sequentially generated by the recursive queries is then generated. COPYRIGHT: (C)2007,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To run a program efficiently in a new processor for parallel processing, such as a multi-core processor. SOLUTION: A compiler is provided, which optimizes parallel processing. The compiler records the number of execution cores being the number of processor cores for executing a target program. First, the compiler detects dominant paths being candidates for execution paths to be continuously executed by a single processor core in the target program. Next, the compiler selects the number of dominant paths which is not more than the number of execution cores to thereby generate a cluster of tasks to be parallelly or continuously executed by a multi-core processor. Then, the compiler calculates an execution time when the number of processor cores, equal to one or more natural numbers executes the generated cluster about each of the one or more natural numbers which are not greater than the number of the execution cores for each generated cluster. Then, the number of processor cores to be allocated to execute each cluster is selected on the basis of the calculated execution time. COPYRIGHT: (C)2007,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To bring response time such as that of a web server close to a target value by more few overheads than up to now. SOLUTION: This control unit is a control unit 25 which controls average response time that is from the time when the information processing system receives a processing request until the time when the system replies to the processing request; and the control unit provides a control unit which is provided with a target response time acquiring part 200 which acquires a target response time that is a target value of an average response time, a predicted response time calculation part 230 which calculates a predicted response time that is a predicted value of average response time at the time when standard period set beforehand passes after the operation mode is set to the information processing system at the case in which either of a plurality of operation modes whose processing performance are different each other, and an operation mode setting part 240 which sets the operation mode to the information processing system when a predicted response time calculated by the predicted response time calculation part is under the target response time. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To more promptly calculate than before the generation frequency of events generated while each central processing unit executes each thread by a thread and by a central processing unit in a system having a plurality of central processing units. SOLUTION: An information processor has a generation frequency counter counting the generation frequencies of respective events in a plurality of central processing units. The storage region for thread of each thread records the cumulative generation frequency of the events in executing the thread by the central processing unit by associating the thread with each central processing unit. The storage region for thread of each thread records the value of the generation frequency counter in the central processing unit at a point of time starting the execution of the thread by the central processing unit. A difference value obtained by subtracting the frequency when starting the thread from the value of the generation frequency counter of the central processing unit is added to the cumulative generation frequency of the event corresponding to the central processing unit in the storage region for thread of the thread at the time of completing the execution of the thread. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To effectively use instructions unique to an architecture. SOLUTION: A compiler comprises a target subprogram detection part for detecting a subprogram including instructions corresponding to all the instructions included in a pattern to be replaced, from a plurality of subprograms of a target program to be optimized, as a target subprogram to be optimized, an instruction sequence modification part for modifying instructions other than the instructions corresponding to the instructions included in the pattern to be replaced, and instructions different in execution dependency from the pattern to be replaced, in the target subprogram, such that the instructions included in the target subprogram match the pattern to be replaced in dependency, and an instruction sequence replacement part for replacing the target subprogram modified by the instruction sequence modification part with a replacement instruction sequence corresponding to the pattern to be replaced. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To provide an optimizing compiler, compiling method, compiler program, and recording medium, capable of efficiently referring to variant values. SOLUTION: This compiler for optimizing a load command of a program comprises: an executable range detecting means for detecting the executable range of the load command, holding the data read out by the load command in a register, and transferring the data to the executing position of the corresponding load command when executing the load command for each of the entire execution paths backward along an execution order from the corresponding load command in the program; a command generating means for generating a pre-load command in the executable range when there is no pre-load command for generating the same data from the same address as the corresponding load command, which is executed prior to the corresponding load command in the executable range for each of the execution paths; and a command replacing means for replacing a command to delete the corresponding load command and to use the data read out by the corresponding load command with a command to use the data read out by the pre-load command. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To solve the problem that in requiring resisters of a number exceeding an analyzed number, the necessary register number consequently exceeds the register number provided in a computer, operation must be performed by using a memory lower in speed than the registers with poor efficiency. SOLUTION: This compiler device for optimizing a program comprises an order limitation information acquisition part for acquiring order limitation information determined between a plurality of instructions of the program; an order determination part for successively determining the execution order of executing each instruction based on the order limitation information; a register number analysis part for analyzing the necessary register number that is the number of registers needed in execution of the instructions with determined execution orders; an instruction detection part for detecting a combination of two instructions, one order being an order-determined instruction, and the other order being an order non-determined instruction, in which an order limitation for executing the one instruction prior to the other instruction is not included in the order limitation information; and an order determination reprocessing part for changing, when the necessary register number exceeds a predetermined number, the one instruction to a state where no execution order is determined and determining the execution orders so as to execute the one command after the other command. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To provide a compiler system which eliminates the trouble of requiring a long collection processing time even though the number of times for performing an execution path is appropriately collected, a compiler program, a recording medium, a compiling method, an execution time information generating device and an execution time information generation program. SOLUTION: This compiler system 10 for optimizing a program on the basis of the frequency at which each processing in a program of an optimization object is carried out is provided with a loop processing detecting part 110 for detecting the repeatedly executed loop processing in the program, a loop processing frequency collecting part 140 for collecting a loop processing frequency at which the loop processing is carried out in the program, an intra-loop processings frequency collecting part 150 for collecting an intra-loop processing frequency being a frequency at which a plurality of intra-loop processings included in the loop processing are respectively carried out with respect to the number of times when the loop processing is carried out, an intra-loop execution information generating part 160 for generating intra-loop execution information showing a frequency at which the plurality of intra-loop processings are respectively carried out when the program is performed on the basis of the loop processing frequency and the intra-loop processing frequency, and an optimizing part for optimizing the program on the basis of the intra-loop exectuion information. A frequency in which each processing of the program is carried out can be collected at a high speed. COPYRIGHT: (C)2004,JPO&NCIPI