Patent ID: 6691080
Filing Date: 2004-02-10
Classification: G06F

Abstract:
A task execution time estimating method comprising the steps of:inputting a program, an initial data value, an execution start address, and an execution end address to an instruction level simulation portion, and outputting a first execution trace of an instruction including a pipeline stall caused by a factor including a combination of a branch and an instruction; inputting the first execution trace to a cache simulation portion, simulating a pipeline stall caused by a cache miss in correspondence with a cache scheme and a cache size, and outputting a second execution trace; inputting the second execution trace to an execution clock count portion, obtaining the number of execution clocks per instruction in accordance with the pipeline stall caused by a combination of a branch and an instruction and the pipeline stall caused by a cache miss, and outputting the number of execution clocks as a third execution trace; inputting the third execution trace to a simulator which simulates instruction execution of a central processing unit (to be referred to as a CPU hereinafter) having a cache memory and a pipeline controller, and estimating and outputting a first cache hit ratio and a first execution time of an entire program which does not consider any interrupt; inputting the output first execution trace, the first cache hit ratio, the first execution time, an interrupt generation ratio at which an interrupt occurs during task execution, and a cache memory rewrite ratio to a section hit ratio simulation portion, simulating, by a predetermined number of instructions for all interrupts, the cache rewritten in accordance with a cache memory rewrite pattern for all instructions and all interrupts included in the first execution trace, and calculating and outputting an average cache hit ratio; calculating a weighted average between the first cache hit ratio and the average cache hit ratio for each interrupt, and outputting a fourth execution trace including a cache hit ratio considering an interrupt; inputting the fourth execution trace to the execution clock count portion, counting the number of execution clocks for each instruction in accordance with the cache hit ratio and the pipeline stall caused by a combination of a branch and an instruction for each instruction, and outputting the number of execution clocks as a fifth execution trace; inputting the fifth execution trace, and estimating a cache hit ratio and an execution time of an entire program; and combining instruction execution simulators considering an interrupt, thereby estimating an average cache hit ratio and an execution time considering an interrupt.