EP0945796A2 - Simulation method, simulation apparatus and storage medium storing a simulation program - Google Patents

Simulation method, simulation apparatus and storage medium storing a simulation program Download PDF

Info

Publication number
EP0945796A2
EP0945796A2 EP99105940A EP99105940A EP0945796A2 EP 0945796 A2 EP0945796 A2 EP 0945796A2 EP 99105940 A EP99105940 A EP 99105940A EP 99105940 A EP99105940 A EP 99105940A EP 0945796 A2 EP0945796 A2 EP 0945796A2
Authority
EP
European Patent Office
Prior art keywords
routine processes
native
native version
processes
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP99105940A
Other languages
German (de)
French (fr)
Other versions
EP0945796A3 (en
Inventor
Kazuya Hashimoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of EP0945796A2 publication Critical patent/EP0945796A2/en
Publication of EP0945796A3 publication Critical patent/EP0945796A3/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Definitions

  • the present invention relates to a simulation method, simulation apparatus and a storage medium storing thereon a simulation program, and more particularly to a simulation method, simulation apparatus and a storage medium storing thereon a simulation program, in which the operation of a system (i.e., a target system such as facsimile machines, image processing units and the like, that is intended to be developed) is simulated by executing a program (i.e., target program) which a central processing unit, i.e., CPU forming the target system should execute.
  • a system i.e., a target system such as facsimile machines, image processing units and the like
  • Fig. 3 shows a block diagram of an electric architecture of a conventional simulation apparatus disclosed in Japanese Patent Application Laid-Open No. Hei10-31595, which the inventor of the present invention in the subject patent application has previously proposed.
  • This conventional simulation apparatus is substantially constructed of: a target storage portion 1; a target register portion 2; a native code portion 3; a simulation means 4; a non-routine process simulation means 5; a peripheral simulation means 6; a clock number counter means 7; and, a routine process call means 8.
  • the target storage portion 1 is a memory simulating a memory of the target system, and is constructed of: a target program portion 1a, stored in which is a target program to be executed by a central processing unit (hereinafter referred to as the CPU) forming the target system; and, a data portion 1b for storing data which is used when the target program is executed.
  • a target program portion 1a stored in which is a target program to be executed by a central processing unit (hereinafter referred to as the CPU) forming the target system
  • a data portion 1b for storing data which is used when the target program is executed.
  • the target program portion 1a is constructed of a routine process group 9 and a non-routine process storage portion 10.
  • the routine process group 9 is constructed of a group of general-purpose routine processes 9 1 to 9 n such as system calls of operating systems, run-time library functions and the like having passed a check such as debugging checks and the like.
  • the system calls which are incorporated in the operating systems, mean fundamental functions and procedures called forth in the target program.
  • a run-time library means a set of run-time library functions for supporting the execution of the target program when the target program is executed.
  • the run-time library functions mean general-purpose functions, which are large in code size, and, therefore stored in a predetermined storage portion in the form of functions previously described in instruction codes.
  • the non-routine process storage portion 10 stores a plurality of non-routine processes which are inherent in the target program and still have not passed a check such as debugging process and the like.
  • the target register portion 2 is a register which simulates a register used by the target CPU.
  • the native code portion 3 is constructed of: a native code version routine process group 11; and, a transfer means group 12.
  • the native code version routine process group 11 is constructed of a plurality of native version routine processes 11 1 to 11 n converted from the routine processes 9 1 to 9 n , respectively, through the same operational instruction codes (i.e., native codes) which the simulation means 4 is capable of executing.
  • the clock number transfer means group 12 is constructed of a plurality of clock number transfer means 12, to 12 n which store clock numbers required to effect execution of the corresponding native version routine processes 11 1 to 11 n , the clock numbers being previously roughly calculated.
  • the simulation means 4 controls various portions of the simulation apparatus, and sequentially executes the native version routine processes 11 1 to 11 n .
  • the non-routine process simulation means 5 is placed under the control of the simulation means 4 to interpret and execute, one-instruction by one-instruction, the non-routine processes which have been stored on the non-routine process storage portion 10.
  • the peripheral simulation means 6 is constructed of a timer portion 6a and like components. The timer portion 6a causes interruptions at predetermined time intervals. In operation, the peripheral simulation means 6 operates in synchronization with the clock number transferred from the simulation means 4 so as to simulate in operation peripheral circuits (for example, such as timers, external communication equipments and the like) other than the target CPU.
  • the clock number counter means 7 counts clock numbers required to execute the target program in simulating the operation of the target system.
  • the routine process call means 8 is constructed of an entry address table 13 and an address comparison means 14.
  • the entry address table 13 is constructed of a plurality of pairs of routine process entries/native entries 13 1 to 13 n which are combinations of: a plurality of routine process entries which represent start addresses of the individual routine processes 9 1 to 9 n in the target program; and, a plurality of native entries which represent start addresses in the native version routine process group 11 of the native version routine processes 11 1 to 11 n corresponding to the above routine process entries.
  • the address comparison means 14 detects the starts of the routine processes by comparing: addresses of instruction codes which the simulation means 4 should subsequently execute; with the routine process entries/native entries 13 1 to 13 n which form the entry address table 13.
  • the address comparison means 14 is placed under the control of the simulation means 4 to compare: the addresses of instruction codes which the simulation means 4 subsequently should execute; with the routine process entries/native entries 13 1 to 13 n which form the entry address table 13, so that the starts of the routine processes are detected.
  • the address comparison means 14 is placed under the control of the simulation means 4 to judge as to whether or not the addresses of the instruction codes coincide with any one of the routine process entries/native entries 13 1 to 13 n .
  • the simulation means 4 goes to a step SP3 in order to have the non-routine process simulation means 5 simulate the non-routine processes.
  • step SP3 the non-routine process simulation means 5 placed under the control of the simulation means 4 retrieves one instruction from the non-routine processes stored on the non-routine process storage portion 10.
  • step SP4 the target CPU interprets the instruction, and the instruction thus interpreted is then executed in a step SP5 subsequent to the step SP4.
  • the simulation means 4 goes to a step SP6 in which the simulation means 4 selects one of the native version routine processes, which one corresponds to any one of the routine process entries/native entries 13 1 to 13 n , provided that the above any one coincides with the addresses of the instruction codes in the step SP2.
  • the step SP6 is followed by a step SP7 in which the thus selected native version routine processes are executed.
  • step SP7 is followed by a step SP8 in which the clock numbers of the native version processes are retrieved from the clock number transfer means which correspond to the native version routine processes having been executed. The thus retrieved clock numbers of the native version routine processes are then transferred to the clock number counter means 7.
  • the clock number counter means 7 adds the clock numbers (which are required to execute the non-routine processes, or are transmitted from the simulation means 4) to a clock number a counting of which begins from the start of simulation.
  • the step SP9 is followed by a subsequent step SP10 in which the clock number transmitted from the simulation means 4 is transmitted to the peripheral simulation means 6.
  • the step SP10 is followed by a subsequent step SP11 in which a value of the timer 6a is updated. Then, the step SP11 is followed by a subsequent step SP12 in which it is judged as to whether or not a period of time preset in the timer portion 6a has elapsed. When the result of judgement is "YES”, the step SP12 is followed by a step SP13 in which: after a timer interruption request is made, a series of processing procedures are completed. On the other hand, in the step SP12, when the result of judgement is "NO”, a series of processing procedures are immediately completed.
  • the clock number required to execute such process varies each time the process is executed.
  • a process having a loop which may execute various times the number of which times depends on the conditions of the execution it is not possible to use it as the native version routine process.
  • a simulation method, simulation apparatus and a storage medium storing a simulation program in which the operation of a system (i.e., a target system such as facsimile machines, image processing units and the like, that is intended to be developed) is simulated by executing a program (i.e., target program) which a central processing unit, i.e., CPU forming the target system should execute, wherein: a precise and high-speed simulation is realized even when a processing time of a process varies each time the process is executed; and, even when an interruption is caused during the execution of routine processes, such interruption may be simulated.
  • a system i.e., a target system such as facsimile machines, image processing units and the like, that is intended to be developed
  • a program i.e., target program
  • CPU central processing unit
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • the above object of the present invention is accomplished by providing:
  • a storage medium storing thereon a simulation program for realizing a function described in any one of the first to thirtieth aspects of the present invention.
  • the present invention to simulate an interruption caused during an execution of a routine process.
  • Fig. 1 shows a block diagram of an electric architecture of a simulation apparatus of an embodiment of the present invention.
  • the simulation apparatus of this embodiment of the present invention is substantially constructed of: a target memory portion 21; a target register portion 22; a native code portion 23; a simulation means 24; a non-routine process simulation means 25; a peripheral simulation means 26; a target time measuring means 27; a routine process call means 28; a coefficient storage portion 29; and, a host time measuring means 30.
  • the target memory portion 21 is a memory simulating a target apparatus, and is constructed of: a target program portion 21a, stored on which is a target program to be executed by a target CPU constituting the target system; and, a data portion 21b, stored on which is data used during an execution of the target program.
  • the target program portion 21a is constructed of a routine process group 31 and a non-routine process storage portion 32.
  • the routine process group 31 is constructed of a plurality of routine processes 13 1 to 13 n of general-purpose type having passed a check such as debugging processes and the like, for example such as the above-mentioned system calls, run-time library functions, user library functions, standard library functions, and like functions.
  • the user library functions are originally defined in a source program, however, in the present invention, those of general-purpose type and having passed a check such as debugging processes and the like are stored in a predetermined storage portion, and the thus stored ones are defined as the user library functions.
  • the standard library functions they are previously provided in a processing system such as a compiler with a programming language used in describing the source program, and, therefore capable of being used without any user's definition, the standard library functions being stored in a predetermined storage portion.
  • the non-routine process storage portion 32 stores the non-routine processes which are inherent in the target program and still have not passed a check such as debugging processes and the like.
  • the target register portion 22 is a register which simulates a register used by the target CPU.
  • the native code portion 23 is constructed of a plurality of native version routine processes 23 1 to 23 n which are the same operation's native codes converted from the routine processes 31 1 to 31 n , respectively, and capable of being executed by the simulation means 24.
  • the simulation means 24 controls respective portions of the simulation apparatus to sequentially execute the native version routine processes 23 1 to 23 n .
  • the non-routine process simulation means 25 is placed under the control of the simulation means 24 to interpret and execute, one-instruction by one-instruction, the non-routine processes stored in the non-routine process storage portion 32.
  • the peripheral simulation means 26 is constructed of the timer portion 26a and the like which causes interruptions at predetermined time intervals, and operates in synchronization with an execution time transmitted from the simulation means 24 to simulate in operation the peripheral circuits (for example, such as timers, external communication units and the like.) other than the target CPU.
  • the target time measuring means 27 measures a target period of time required to execute the target program.
  • the routine process call means 28 is constructed of an entry address table 33 and an address comparison table 34.
  • the entry address table 33 is constructed of a plurality of pairs of routine process entries/native entries 33 1 to 33 n , each pair of which is a combination of: each of routine process entries representing start addresses of the routine processes 31 1 to 31 n in the target program; and, each of native entries representing start addresses of the corresponding native version routine processes 23 1 to 23 n in the native code portion 23.
  • the address comparison means 34 compares: addresses of the instruction codes which the simulation means 24 should next execute; with the routine process entries/native entries 33 1 to 33 n forming the entry address table 33, and detects the starts of the routine processes.
  • the coefficient ⁇ representing a difference in performance between the target CPU and the host CPU which may serve as the simulation means 24 and the non-routine process simulation means 25.
  • the host time measuring means 30 measures a current time of the host CPU (hereinafter referred to as the current host time) during a simulation of the target system.
  • the address comparison means 34 is placed under the control of the simulation means 24 to compare: the addresses of the instruction codes which next the simulation means 24 should execute; with the routine process entries/native entries 33 1 to 33 n forming the entry address table 33, and judges as to whether or not the starts of the routine processes are detected.
  • the simulation means 24 goes to a step SP22, in which the host time measuring means 30 is placed under the control of the simulation means 24 to measure a current host time T H1 .
  • step SP22 is followed by a step SP23, in which the host time measuring means 30 is still placed under the control of the simulation means 24 to calculate a period of time T I between the current host time T H1 and a time when an interruption occurs (hereinafter referred to as the interruption time), and further to retrieve the coefficient ⁇ from the coefficient storage portion 29.
  • step SP23 is followed by a subsequent step SP24 in which the simulation means 24 simulates the routine processes until the period of time T TI has elapsed or until the simulations of the routine processes are completed.
  • the simulation means 24 selects ones of the native version routine processes 23 1 to 23 n corresponding to any ones of the routine process entries/native entries 33 1 to 33 n specified in the step SP21, and executes the thus selected ones of the native version routine processes 23 1 to 23 n by performing a suitable operation and the like, for example, by loading the data stored on the data portion 21b of the target memory portion 21 onto the target register portion 22.
  • step SP24 is followed by a step SP25 in which the host time measuring means 30 is placed under the control of the simulation means 24 to measure a current host time T H2 .
  • the step SP26 is followed by a step SP27 in which the simulation means 24 judges as to whether or not the target time reaches the interruption time, i.e., whether or not the time T TI has elapsed. More specifically, this judgement is formed on the basis of both the target time T and the conditions of a preset interruption (for example, such as an interruption caused at a time of the hundredth of clock counted from the start of the target program).
  • a preset interruption for example, such as an interruption caused at a time of the hundredth of clock counted from the start of the target program.
  • step SP27 when the result of judgement is "NO”, it is judged that the simulations of the routine processes are completed. As a result, the step SP27 returns to the step SP21 in order to execute a subsequent instruction code.
  • the step SP27 when the result of judgement is "YES”, i.e., when the target time T reaches the interruption time, the simulation of the routine processes executed by the simulation means 24 is interrupted, so that the processing procedure goes to a step SP30.
  • step SP21 when the result of judgement is "NO", i.e., when the address comparison means 34 compares: the addresses of the instruction codes which next the simulation means 24 should execute; with the routine process entries/native entries 33 1 to 33 n forming the entry address table 33 and does not detect any start of the routine processes, the simulation means 24 goes to a step SP28 in order to have the non-routine process simulation means 25 execute the simulations of the non-routine processes.
  • the non-routine process simulation means 25 is placed under the control of the simulation means 24 to retrieve only one instruction of the non-routine processes stored on the non-routine process storage portion 32 of the target memory portion 21 from the non-routine process storage portion 32, identify which instruction of the target CPU is retrieved, and to execute the instruction thus identified. Consequently, the non-routine process simulation means 25 executes the non-routine processes by loading the data stored on the data portion 21b of the target memory portion 21 onto the target register portion 22. Then, the simulation means 24 confirms the completion of the non-routine processes in the step SP28 and goes to a step SP29.
  • the step SP29 is followed by a step SP30 in which: transmitted from the simulation means 24 to the peripheral simulation means 26 is a processing time ⁇ ⁇ (T H2 - T TI ) ⁇ measured in the step SP27; or a processing time T NS measured in the step SP29.
  • the step SP30 is followed by a step SP31 in which the peripheral simulation means 26 is placed under the control of the simulation means 24 to simulate an interruption process caused by the peripheral circuits (for example, such as timers, external communication units and the like). After that, in order to execute a subsequent instruction code, or in order to restart the simulation of the routine processes having been interrupted, the processing procedure returns to the step SP21.
  • the peripheral simulation means 26 updates a value of the timer portion 26a and forces the timer portion 26a to judge as to whether or not a predetermined period of time preset in the timer portion 26 has elapsed.
  • a timer interruption request is made.
  • the processing procedure returns to the step SP21 without taking any action.
  • the present invention may lessen a load imposed on the non-routine process simulation means 25 and reduce the processing time.
  • the target time measuring means 27 measures the target time on the basis of both the processing time of the native routine process and the coefficient ⁇ which represents a difference in performance between the target CPU and the host CPU. Consequently, it is possible for the present invention to simulate any interruption caused during execution of the individual native version routine processes.
  • routine process call means 28 is constructed of the entry address table 33 and the address comparison means 34, the routine process call means 28 is not limited to these components 33, 34 only.
  • the routine process call means 28 may be constructed of: a routine process rewriting means which rewrites instructions stored at entry addresses of all the routine processes 31 1 to 31 n of a routine process group 31 so as to be certain instructions such as undefined instructions and the like which are not used in a program in normal times to cause an exception when executed by a target CPU, and further rewrites several bits subsequent to these rewritten instructions at the entry addresses of native version routine processes 23 1 to 23 n ; and, an undefined instruction detection means which detects rewritten undefined instructions to call the corresponding native version routine processes.
  • the simulation apparatus described above may be constructed of: a host CPU; an internal storage unit such as ROMs, RAMs and the like; a FDD (i.e., floppy disk drive); HDD (i.e., hard disk drive); an external storage unit such as CD-ROM drives and the like; an output means; and, a computer with an input means, wherein all the simulation means 24, non-routine process simulation means 25, peripheral simulation means 26, target time measuring means 27, host time measuring means 30, and the address comparison means 34 are realized by a CPU.
  • the host CPU serves as each of the simulation means 24, non-routine process simulation means 25, peripheral simulation means 26, target time measuring means 27, host time measuring means 30, and the address comparison means 34, and are placed under the control of the simulation program to execute the above-mentioned processes.

Abstract

In the simulation method and apparatus: even if a process varies in processing time each time it is executed, it is possible to simulate the process at high processing speed with high accuracy; and, an interruption occurring during the execution of routine processes (311 to 31n) is also simulated. In the simulation method: native version routine processes (231 to 23n) which a simulation means (24) may execute without interpretation are sequentially executed; and, a plurality of instructions which constitute non-routine processes having not passed a check are sequentially executed by a non-routine process simulation means (25). Based on a coefficient α representing a difference in performance between a target CPU and a host CPU, a host time measuring means (30) measures: a first time immediately before the execution of the native version routine processes (231 to 23n); and, a second time immediately before completion or interruption of the execution of the native version routine processes. Based on the first and the second time, a target time measuring means (27) measures a target time taken for the target CPU to execute the target program.

Description

    BACKGROUND OF THE INVENTION 1. Field of the Invention:
  • The present invention relates to a simulation method, simulation apparatus and a storage medium storing thereon a simulation program, and more particularly to a simulation method, simulation apparatus and a storage medium storing thereon a simulation program, in which the operation of a system (i.e., a target system such as facsimile machines, image processing units and the like, that is intended to be developed) is simulated by executing a program (i.e., target program) which a central processing unit, i.e., CPU forming the target system should execute.
  • 2. Description of the Related Art:
  • Fig. 3 shows a block diagram of an electric architecture of a conventional simulation apparatus disclosed in Japanese Patent Application Laid-Open No. Hei10-31595, which the inventor of the present invention in the subject patent application has previously proposed.
  • This conventional simulation apparatus is substantially constructed of: a target storage portion 1; a target register portion 2; a native code portion 3; a simulation means 4; a non-routine process simulation means 5; a peripheral simulation means 6; a clock number counter means 7; and, a routine process call means 8.
  • In the conventional simulation apparatus having the above construction, the target storage portion 1 is a memory simulating a memory of the target system, and is constructed of: a target program portion 1a, stored in which is a target program to be executed by a central processing unit (hereinafter referred to as the CPU) forming the target system; and, a data portion 1b for storing data which is used when the target program is executed.
  • The target program portion 1a is constructed of a routine process group 9 and a non-routine process storage portion 10. The routine process group 9 is constructed of a group of general-purpose routine processes 91 to 9n such as system calls of operating systems, run-time library functions and the like having passed a check such as debugging checks and the like. Here, the system calls, which are incorporated in the operating systems, mean fundamental functions and procedures called forth in the target program. On the other hand, a run-time library means a set of run-time library functions for supporting the execution of the target program when the target program is executed. The run-time library functions mean general-purpose functions, which are large in code size, and, therefore stored in a predetermined storage portion in the form of functions previously described in instruction codes. As for an instruction string which is of general-purpose type but large in size, it is not efficient to generate an instruction code each time a compiler generates the target program. Consequently, in the prior art, the instruction string is previously transformed into a suitable function described in the form of instruction codes. When the target program is generated, a code for calling the suitable function described above is generated, and thereafter linked in a linker.
  • On the other hand, the non-routine process storage portion 10 stores a plurality of non-routine processes which are inherent in the target program and still have not passed a check such as debugging process and the like.
  • The target register portion 2 is a register which simulates a register used by the target CPU. The native code portion 3 is constructed of: a native code version routine process group 11; and, a transfer means group 12. The native code version routine process group 11 is constructed of a plurality of native version routine processes 111 to 11n converted from the routine processes 91 to 9n , respectively, through the same operational instruction codes (i.e., native codes) which the simulation means 4 is capable of executing. The clock number transfer means group 12 is constructed of a plurality of clock number transfer means 12, to 12n which store clock numbers required to effect execution of the corresponding native version routine processes 111 to 11n, the clock numbers being previously roughly calculated.
  • The simulation means 4 controls various portions of the simulation apparatus, and sequentially executes the native version routine processes 111 to 11n. The non-routine process simulation means 5 is placed under the control of the simulation means 4 to interpret and execute, one-instruction by one-instruction, the non-routine processes which have been stored on the non-routine process storage portion 10. On the other hand, the peripheral simulation means 6 is constructed of a timer portion 6a and like components. The timer portion 6a causes interruptions at predetermined time intervals. In operation, the peripheral simulation means 6 operates in synchronization with the clock number transferred from the simulation means 4 so as to simulate in operation peripheral circuits (for example, such as timers, external communication equipments and the like) other than the target CPU.
  • The clock number counter means 7 counts clock numbers required to execute the target program in simulating the operation of the target system. The routine process call means 8 is constructed of an entry address table 13 and an address comparison means 14. The entry address table 13 is constructed of a plurality of pairs of routine process entries/native entries 131 to 13n which are combinations of: a plurality of routine process entries which represent start addresses of the individual routine processes 91 to 9n in the target program; and, a plurality of native entries which represent start addresses in the native version routine process group 11 of the native version routine processes 111 to 11n corresponding to the above routine process entries. The address comparison means 14 detects the starts of the routine processes by comparing: addresses of instruction codes which the simulation means 4 should subsequently execute; with the routine process entries/native entries 131 to 13n which form the entry address table 13.
  • Now, in operation, the conventional simulation apparatus having the above construction will be described with reference to a flowchart shown in Fig. 4.
  • First, in a step SP1, the address comparison means 14 is placed under the control of the simulation means 4 to compare: the addresses of instruction codes which the simulation means 4 subsequently should execute; with the routine process entries/native entries 131 to 13n which form the entry address table 13, so that the starts of the routine processes are detected. In a step SP2 subsequent to the step SP1, the address comparison means 14 is placed under the control of the simulation means 4 to judge as to whether or not the addresses of the instruction codes coincide with any one of the routine process entries/native entries 131 to 13n. When the result of the above comparison is "NOT", the simulation means 4 goes to a step SP3 in order to have the non-routine process simulation means 5 simulate the non-routine processes.
  • In the step SP3 subsequent to the step SP2, the non-routine process simulation means 5 placed under the control of the simulation means 4 retrieves one instruction from the non-routine processes stored on the non-routine process storage portion 10. The step SP3 is followed by a subsequent step SP4 in which the target CPU interprets the instruction, and the instruction thus interpreted is then executed in a step SP5 subsequent to the step SP4.
  • On the other hand, when the result of judgement in the step SP2 is "YES", i.e., when the addresses of the instruction codes coincide with any one of the routine process entries/native entries 131 to 13n, in order to simulate the native version routine processes, the simulation means 4 goes to a step SP6 in which the simulation means 4 selects one of the native version routine processes, which one corresponds to any one of the routine process entries/native entries 131 to 13n, provided that the above any one coincides with the addresses of the instruction codes in the step SP2. The step SP6 is followed by a step SP7 in which the thus selected native version routine processes are executed. The step SP7 is followed by a step SP8 in which the clock numbers of the native version processes are retrieved from the clock number transfer means which correspond to the native version routine processes having been executed. The thus retrieved clock numbers of the native version routine processes are then transferred to the clock number counter means 7.
  • In a step SP9 subsequent to the step SP8, the clock number counter means 7 adds the clock numbers (which are required to execute the non-routine processes, or are transmitted from the simulation means 4) to a clock number a counting of which begins from the start of simulation. The step SP9 is followed by a subsequent step SP10 in which the clock number transmitted from the simulation means 4 is transmitted to the peripheral simulation means 6.
  • The step SP10 is followed by a subsequent step SP11 in which a value of the timer 6a is updated. Then, the step SP11 is followed by a subsequent step SP12 in which it is judged as to whether or not a period of time preset in the timer portion 6a has elapsed. When the result of judgement is "YES", the step SP12 is followed by a step SP13 in which: after a timer interruption request is made, a series of processing procedures are completed. On the other hand, in the step SP12, when the result of judgement is "NO", a series of processing procedures are immediately completed.
  • Problems to be solved by the present invention are as follows: namely, in the conventional simulation apparatus, it is necessary to previously roughly estimate the clock numbers required to execute the native version routine processes 111 to 11n.
  • Consequently, even in a process having passed a check such as debugging checks and the like, the clock number required to execute such process varies each time the process is executed. In other words, as for the process varying in processing time each time the process is executed, for example, a process having a loop which may execute various times the number of which times depends on the conditions of the execution, it is not possible to use it as the native version routine process.
  • Consequently, as for the process varying in processing time each time it is executed, it is used as the non-routine process which is executed by the non-routine process simulation means 5. However, such non-routine process suffers from its large processing time. Further, since the target CPU is different in processing speed from a CPU (i.e., host CPU) which constitutes a simulation apparatus serving as both the simulation means 4 and the non-routine process simulation means 5, it is impossible for the conventional simulation apparatus to determine a precise clock number. Due to this, it is also impossible for the conventional simulation apparatus to precisely catch an occurrence timing of interruption. Therefore, it is impossible for the conventional simulation apparatus to precisely simulate the target program.
  • Further, in the conventional simulation apparatus, since the clock numbers required to execute the native version routine processes 111 to 11n are previously roughly estimated and stored in the corresponding clock number transfer means 121 to 12n and controlled therein, it is impossible to simulate an interruption caused during the execution of the individual native version routine processes. The above disadvantages are problems inherent in the conventional simulation apparatus.
  • SUMMARY OF THE INVENTION
  • Under such circumstances, the present invention was made. Consequently, it is an object of the present invention to provide a simulation method, simulation apparatus and a storage medium storing a simulation program, in which the operation of a system (i.e., a target system such as facsimile machines, image processing units and the like, that is intended to be developed) is simulated by executing a program (i.e., target program) which a central processing unit, i.e., CPU forming the target system should execute, wherein: a precise and high-speed simulation is realized even when a processing time of a process varies each time the process is executed; and, even when an interruption is caused during the execution of routine processes, such interruption may be simulated.
  • According to a first aspect of the present invention, the above object of the present invention is accomplished by providing:
  • A simulation method for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting the system should execute, the method comprising the steps of:
  • constructing the program out of: a plurality of routine processes which are of general-purpose type and have passed a check; and, a plurality of non-routine processes still not passed the check, the non-routine processes being constructed of a plurality of instructions;
  • sequentially carrying out, in a first process, a plurality of native version routine processes which are executable without interpretation, the native version routine processes corresponding to the plurality of routine processes;
  • carrying out, in a second process, the plurality of the instructions one by one with interpretation;
  • measuring, in a third process, on the basis of a coefficient representing a difference in performance between the first central processing unit and a second central processing unit, a first time immediately before the native version routine processes are carried out; and, a second time immediately before completion of execution of the native version routine processes, or immediately before the second process is interrupted, the second central processing unit carrying out the first and the second process;
  • measuring, in a fourth process, on the basis of the first and the second time and the coefficient, a time taken for the second central processing unit to execute the program.
  • According to a second aspect of the present invention, the above object of the present invention is accomplished by providing:
  • A simulation method for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting the system should execute, the method comprising the steps of:
  • constructing the program out of: a plurality of routine processes which are of general-purpose type and have passed a check; and, a plurality of non-routine processes which still do not pass the check, the non-routine processes being constructed of a plurality of instructions;
  • sequentially carrying out, in a first process, a plurality of native version routine processes which are executable without interpretation, the native version routine processes corresponding to the plurality of routine processes;
  • carrying out, in a second process, the plurality of the instructions one by one with interpretation;
    wherein: in the first process, a first time point immediately before an execution of the native version routine processes is measured; during the execution of the native version routine processes, a first period of time between the first time point and a first interruption time when a first interruption occurs is calculated; a coefficient representing a difference in performance between the first central processing unit and the second central processing unit which carries out the first and the second processes is calculated; and, a second period of time between the first time point and a second interruption time when a second interruption occurs is calculated in the first central processing unit on the basis of the first period of time during the execution of the routine processes corresponding to the native version routine processes; a second time point immediately before completion or interruption of the execution of the native version routine processes is measured after the start in execution of the native version routine processes until the second period of time has elapsed, or until the native version routine processes have been completed; and, a third time point which is required of the first central processing unit for executing the program is calculated on the basis of the first and the second time point and the coefficient.
  • According to a third aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the first aspect of the present invention, wherein:
  • the coefficient represents a ratio in processing speed of the first central processing unit to the second central processing unit for executing the first and the second processes.
  • According to a fourth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the second aspect of the present invention, wherein:
  • the coefficient represents a ratio in processing speed of the first central processing unit to the second central processing unit for executing the first and the second processes.
  • According to a fifth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the first aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a sixth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the second aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a seventh aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the third aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to an eighth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the first aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a ninth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the second aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a tenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the third aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a eleventh aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the fourth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a twelfth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the fifth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a thirteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the sixth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a fourteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation method as set forth in the seventh aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • in the first process, the plurality of native version routine processes are sequentially retrieved from the native version routine process storage portion and executed.
  • According to a fifteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • A simulation apparatus for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting the system should execute, the program being constructed of a plurality of routine processes and a plurality of non-routine processes still not passed the check, wherein the plurality of routine processes are of general-purpose type and have passed a check, and the non-routine processes are constructed of a plurality of instructions, the apparatus comprising:
  • a first simulation means for sequentially carrying out, in a first process, a plurality of native version routine processes which are executable without interpretation, the native version routine processes corresponding to the plurality of routine processes;
  • a second simulation means for carrying out, in a second process, the plurality of the instructions one by one with interpretation;
  • a coefficient storage portion in which a coefficient representing a difference in performance between the first central processing unit and the first and the second simulation means is previously stored;
  • a first time measuring means for determining a first and a second time point on the basis of the coefficient, wherein the first time point is a time immediately before the first simulation means executes the native version routine processes, and, the second time is a time immediately before completion, or interruption of execution of the native version routine processes; and
  • a second time measuring means for measuring a period of time taken for the central processing unit to execute the program on the basis of the first and the second time point and the coefficient.
  • According to a sixteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • A simulation apparatus for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting the system should execute, the program being constructed of a plurality of routine processes and a plurality of non-routine processes still not passed the check, wherein the plurality of routine processes are of general-purpose type and have passed a check, and the non-routine processes are constructed of a plurality of instructions, the apparatus comprising:
  • a first simulation means for sequentially carrying out, in a first process, a plurality of native version routine processes which are executable without interpretation, the native version routine processes corresponding to the plurality of routine processes;
  • a second simulation means for carrying out, in a second process, the plurality of the instructions one by one with interpretation;
  • a coefficient storage portion in which a coefficient representing a difference in performance between the first central processing unit and the first and the second simulation means is previously stored;
  • a first time measuring means for determining a first and a second time point and for calculating a first period of time and a second period of time on the basis of the coefficient and the first period of time, wherein: the first time point is a time immediately before the first simulation means executes the native version routine processes; the second time point is a time immediately before completion or interruption of execution of the native version routine processes; the first period of time is a time from the first time point to an interruption time when an interruption occurs during the execution of the native version routine processes; and, the second period of time is a time from the first time point to an interruption time when an interruption occurs when the central processing unit executes the routine processes corresponding to the native version routine processes; and
  • a second time measuring means for measuring a third period of time taken for the central processing unit to execute the program on the basis of the first and the second time point and the coefficient;
    wherein the first simulation means executes the native version routine processes until the second period of time has elapsed, or until the native version routine processes have been completed.
  • According to a seventeenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the fifteenth aspect of the present invention, wherein:
  • the coefficient represents a ratio in processing speed of the central processing unit to the first and the second simulation means.
  • According to an eighteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the sixteenth aspect of the present invention, wherein:
  • the coefficient represents a ratio in processing speed of the central processing unit to the first and the second simulation means.
  • According to a nineteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The apparatus for heat-treating the substrate, as set forth in the sixth aspect of the present invention, wherein:
  • According to a nineteenth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the fifteenth aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a twentieth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in sixteenth aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a twenty-first aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the seventeenth aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a twenty-second aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the eighteenth aspect of the present invention, wherein:
  • each of the routine processes is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in the program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  • According to a twenty-third aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the fifteenth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-fourth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the sixteenth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-fifth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the seventeenth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-sixth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the eighteenth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-seventh aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the nineteenth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-eighth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the twentieth aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a twenty-ninth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the twenty-first aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a thirtieth aspect of the present invention, the above object of the present invention is accomplished by providing:
  • The simulation apparatus as set forth in the twenty-second aspect of the present invention, wherein:
  • the plurality of native version routine processes are realized through native codes through which the second central processing unit executing both the first and the second process may execute the plurality of routine processes without interpretation;
  • the plurality of native version routine processes thus realized through the native codes are previously stored in a native version routine process storage portion; and
  • the first simulation means sequentially retrieves the plurality of native version routine processes from the native version routine process storage portion and executed.
  • According to a thirty-first aspect of the present invention, the above object of the present invention is accomplished by providing:
  • A storage medium storing thereon a simulation program for realizing a function described in any one of the first to thirtieth aspects of the present invention.
  • With the present invention, it is possible to simulate a process precisely at high processing speed even when the process varies in processing time each time it is executed.
  • Further, it is also possible for the present invention to simulate an interruption caused during an execution of a routine process.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other objects, advantages and features of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings in which:
  • Fig. 1 is a block diagram of an electric architecture of a simulation apparatus of the embodiment of the present invention;
  • Fig. 2 is a flow chart indicating the operation of the simulation apparatus shown in Fig. 1;
  • Fig. 3 is a block diagram of an electric architecture of the conventional simulation apparatus; and
  • Fig. 4 is a flow chart indicating the operation of the conventional simulation apparatus shown in Fig. 3.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Now, the present invention will be described in detail with reference to the accompanying drawings.
  • Fig. 1 shows a block diagram of an electric architecture of a simulation apparatus of an embodiment of the present invention.
  • The simulation apparatus of this embodiment of the present invention is substantially constructed of: a target memory portion 21; a target register portion 22; a native code portion 23; a simulation means 24; a non-routine process simulation means 25; a peripheral simulation means 26; a target time measuring means 27; a routine process call means 28; a coefficient storage portion 29; and, a host time measuring means 30.
  • The target memory portion 21 is a memory simulating a target apparatus, and is constructed of: a target program portion 21a, stored on which is a target program to be executed by a target CPU constituting the target system; and, a data portion 21b, stored on which is data used during an execution of the target program.
  • The target program portion 21a is constructed of a routine process group 31 and a non-routine process storage portion 32. The routine process group 31 is constructed of a plurality of routine processes 131 to 13n of general-purpose type having passed a check such as debugging processes and the like, for example such as the above-mentioned system calls, run-time library functions, user library functions, standard library functions, and like functions. Although the user library functions are originally defined in a source program, however, in the present invention, those of general-purpose type and having passed a check such as debugging processes and the like are stored in a predetermined storage portion, and the thus stored ones are defined as the user library functions. As for the standard library functions, they are previously provided in a processing system such as a compiler with a programming language used in describing the source program, and, therefore capable of being used without any user's definition, the standard library functions being stored in a predetermined storage portion.
  • On the other hand, stored on the non-routine process storage portion 32 are the non-routine processes which are inherent in the target program and still have not passed a check such as debugging processes and the like.
    The target register portion 22 is a register which simulates a register used by the target CPU. The native code portion 23 is constructed of a plurality of native version routine processes 231 to 23n which are the same operation's native codes converted from the routine processes 311 to 31n, respectively, and capable of being executed by the simulation means 24.
  • The simulation means 24 controls respective portions of the simulation apparatus to sequentially execute the native version routine processes 231 to 23n. The non-routine process simulation means 25 is placed under the control of the simulation means 24 to interpret and execute, one-instruction by one-instruction, the non-routine processes stored in the non-routine process storage portion 32. The peripheral simulation means 26 is constructed of the timer portion 26a and the like which causes interruptions at predetermined time intervals, and operates in synchronization with an execution time transmitted from the simulation means 24 to simulate in operation the peripheral circuits (for example, such as timers, external communication units and the like.) other than the target CPU.
  • In simulating in operation the target system, based on a coefficient α described later, the target time measuring means 27 measures a target period of time required to execute the target program. The routine process call means 28 is constructed of an entry address table 33 and an address comparison table 34. The entry address table 33 is constructed of a plurality of pairs of routine process entries/native entries 331 to 33n, each pair of which is a combination of: each of routine process entries representing start addresses of the routine processes 311 to 31n in the target program; and, each of native entries representing start addresses of the corresponding native version routine processes 231 to 23n in the native code portion 23. In operation, the address comparison means 34 compares: addresses of the instruction codes which the simulation means 24 should next execute; with the routine process entries/native entries 331 to 33n forming the entry address table 33, and detects the starts of the routine processes.
  • Previously stored in the coefficient storage portion 29 is the coefficient α representing a difference in performance between the target CPU and the host CPU which may serve as the simulation means 24 and the non-routine process simulation means 25. For example, when the target CPU has a processing speed of 100 MIPS (Mega Instructions Per Second) and the host CPU has a processing speed of 20 MIPS, the coefficient α is as follows: α = 20/100 = 1/5. The host time measuring means 30 measures a current time of the host CPU (hereinafter referred to as the current host time) during a simulation of the target system.
  • Now, the simulation apparatus of the present invention having the above construction will be described in operation, with reference to a flowchart shown in Fig. 2.
  • First, in a step SP21, the address comparison means 34 is placed under the control of the simulation means 24 to compare: the addresses of the instruction codes which next the simulation means 24 should execute; with the routine process entries/native entries 331 to 33n forming the entry address table 33, and judges as to whether or not the starts of the routine processes are detected. When the result of the above judgement in the step SP21 is "YES", the simulation means 24 goes to a step SP22, in which the host time measuring means 30 is placed under the control of the simulation means 24 to measure a current host time TH1 . After that, the step SP22 is followed by a step SP23, in which the host time measuring means 30 is still placed under the control of the simulation means 24 to calculate a period of time TI between the current host time TH1 and a time when an interruption occurs (hereinafter referred to as the interruption time), and further to retrieve the coefficient α from the coefficient storage portion 29. The above period of time TTI is calculated using the following equation (1): TTI = α ·TI
  • After that, the step SP23 is followed by a subsequent step SP24 in which the simulation means 24 simulates the routine processes until the period of time TTI has elapsed or until the simulations of the routine processes are completed. In other words, in the step SP24, the simulation means 24 selects ones of the native version routine processes 231 to 23n corresponding to any ones of the routine process entries/native entries 331 to 33n specified in the step SP21, and executes the thus selected ones of the native version routine processes 231 to 23n by performing a suitable operation and the like, for example, by loading the data stored on the data portion 21b of the target memory portion 21 onto the target register portion 22. Then, the step SP24 is followed by a step SP25 in which the host time measuring means 30 is placed under the control of the simulation means 24 to measure a current host time TH2 . The step SP25 is followed by a step SP26 in which the target time measuring means 27 is placed under the control of the simulation means 24 to measure a target time T according to the following equation (2) with respect to a reference time which is a start time of the target program: T = T + α · (TH2 - TTI )
  • The step SP26 is followed by a step SP27 in which the simulation means 24 judges as to whether or not the target time reaches the interruption time, i.e., whether or not the time TTI has elapsed. More specifically, this judgement is formed on the basis of both the target time T and the conditions of a preset interruption (for example, such as an interruption caused at a time of the hundredth of clock counted from the start of the target program).
  • In the step SP27, when the result of judgement is "NO", it is judged that the simulations of the routine processes are completed. As a result, the step SP27 returns to the step SP21 in order to execute a subsequent instruction code. On the other hand, in the step SP27, when the result of judgement is "YES", i.e., when the target time T reaches the interruption time, the simulation of the routine processes executed by the simulation means 24 is interrupted, so that the processing procedure goes to a step SP30.
  • Further, in the step SP21, when the result of judgement is "NO", i.e., when the address comparison means 34 compares: the addresses of the instruction codes which next the simulation means 24 should execute; with the routine process entries/native entries 331 to 33n forming the entry address table 33 and does not detect any start of the routine processes, the simulation means 24 goes to a step SP28 in order to have the non-routine process simulation means 25 execute the simulations of the non-routine processes.
  • In the step SP28, the non-routine process simulation means 25 is placed under the control of the simulation means 24 to retrieve only one instruction of the non-routine processes stored on the non-routine process storage portion 32 of the target memory portion 21 from the non-routine process storage portion 32, identify which instruction of the target CPU is retrieved, and to execute the instruction thus identified. Consequently, the non-routine process simulation means 25 executes the non-routine processes by loading the data stored on the data portion 21b of the target memory portion 21 onto the target register portion 22. Then, the simulation means 24 confirms the completion of the non-routine processes in the step SP28 and goes to a step SP29.
  • In the step SP29, the target time measuring means 27 is placed under the control of the simulation means 24 to measure the target time T according to the following equation (3): T = T + TNS Where: TNS is a processing time taken for the target CPU to execute one instruction of the non-routine processes.
  • The step SP29 is followed by a step SP30 in which: transmitted from the simulation means 24 to the peripheral simulation means 26 is a processing time {α · (TH2 - TTI)} measured in the step SP27; or a processing time TNS measured in the step SP29. The step SP30 is followed by a step SP31 in which the peripheral simulation means 26 is placed under the control of the simulation means 24 to simulate an interruption process caused by the peripheral circuits (for example, such as timers, external communication units and the like). After that, in order to execute a subsequent instruction code, or in order to restart the simulation of the routine processes having been interrupted, the processing procedure returns to the step SP21. As for the interruption simulation of the peripheral circuits, for example, when an interruption simulation of the timer portion 26a is carried out, the peripheral simulation means 26 updates a value of the timer portion 26a and forces the timer portion 26a to judge as to whether or not a predetermined period of time preset in the timer portion 26 has elapsed. When the preset period of time has elapsed, a timer interruption request is made. On the other hand, when the preset period of time still remains, the processing procedure returns to the step SP21 without taking any action.
  • As described above, in this embodiment of the present invention having the above construction, in contrast with the conventional simulation apparatus, since there is no need to previously roughly estimate the clock number required to execute the native version routine processes 231 to 23n, it is possible to execute even the processes, which vary in processing time each time the processes are executed, as the native version routine processes. Consequently, in comparison with the prior art, the present invention may lessen a load imposed on the non-routine process simulation means 25 and reduce the processing time.
  • Further, in this embodiment of the present invention, when the native version routine processes are executed, a time immediately before execution, or immediately before completion or interruption of the execution is measured by the host time measuring means 30, so that the processing time of the native routine process is determined, whereby the target time measuring means 27 measures the target time on the basis of both the processing time of the native routine process and the coefficient α which represents a difference in performance between the target CPU and the host CPU. Consequently, it is possible for the present invention to simulate any interruption caused during execution of the individual native version routine processes.
  • Due to this, in the present invention, it is possible to obtain a precise target time and precisely catch in occurrence timing the interruption even when there is a difference in performance between the target CPU and the host CPU, which makes it possible to precisely simulate the target program at high processing speed.
  • In the above embodiments, although the routine process call means 28 is constructed of the entry address table 33 and the address comparison means 34, the routine process call means 28 is not limited to these components 33, 34 only. For example, as disclosed in Japanese Patent Application Laid-Open No. Hei10-31595, the routine process call means 28 may be constructed of: a routine process rewriting means which rewrites instructions stored at entry addresses of all the routine processes 311 to 31n of a routine process group 31 so as to be certain instructions such as undefined instructions and the like which are not used in a program in normal times to cause an exception when executed by a target CPU, and further rewrites several bits subsequent to these rewritten instructions at the entry addresses of native version routine processes 231 to 23n ; and, an undefined instruction detection means which detects rewritten undefined instructions to call the corresponding native version routine processes. In the above construction, it is possible to eliminate the entry address table 33.
  • Also, in the embodiments of the present invention, although all the means are described as hardware elements, these means may be software elements. In other words, the simulation apparatus described above may be constructed of: a host CPU; an internal storage unit such as ROMs, RAMs and the like; a FDD (i.e., floppy disk drive); HDD (i.e., hard disk drive); an external storage unit such as CD-ROM drives and the like; an output means; and, a computer with an input means, wherein all the simulation means 24, non-routine process simulation means 25, peripheral simulation means 26, target time measuring means 27, host time measuring means 30, and the address comparison means 34 are realized by a CPU. It is also possible to realize all the functions of these components by using a simulation program which may be stored on a semiconductor memory such as ROMs, FDs, HDs, CD-ROMs and like storage media. In this case, the above-mentioned internal storage unit and the external storage unit form all the target memory portion 21, target register portion 22, native code portion 23, coefficient storage portion 29, and the entry address table 33. On the other hand, the simulation program is retrieved from the storage medium and written into the host CPU to control the operation of the host CPU. When the simulation program is activated, the host CPU serves as each of the simulation means 24, non-routine process simulation means 25, peripheral simulation means 26, target time measuring means 27, host time measuring means 30, and the address comparison means 34, and are placed under the control of the simulation program to execute the above-mentioned processes.
  • It is thus apparent that the present invention is not limited to the above embodiments but may be changed and modified without departing from the scope and spirit of the invention.
  • Finally, the present application claims the priority of Japanese Patent Application No. Hei10-081010 filed on March 27, 1998, which is herein incorporated by reference.

Claims (32)

  1. A simulation method for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting the system should execute, the method comprising the steps of:
    constructing said program out of: a plurality of routine processes (311 to 31n) which are of general-purpose type and have passed a check; and, a plurality of non-routine processes still not passed said check, said non-routine processes being constructed of a plurality of instructions;
    sequentially carrying out, in a first process, a plurality of native version routine processes (231 to 23n) which are executable without interpretation, said native version routine processes (231 to 23n) corresponding to said plurality of routine processes (311 to 31n);
    carrying out, in a second process, said plurality of said instructions one by one with interpretation;
    measuring, in a third process, on the basis of a coefficient representing a difference in performance between said first central processing unit and a second central processing unit, a first time-immediately before said native version routine processes (231 to 23n) are carried out; and, a second time immediately before completion of execution of said native version routine processes (231 to 23n), or immediately before said second process is interrupted, said second central processing unit carrying out said first and said second process;
    measuring, in a fourth process, on the basis of said first and said second time and said coefficient, a time taken for said second central processing unit to execute said program.
  2. A simulation method for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting said system should execute, the method comprising the steps of:
    constructing said program out of: a plurality of routine processes (311 to 31n) which are of general-purpose type and have passed a check; and, a plurality of non-routine processes which still do not pass said check, said non-routine processes being constructed of a plurality of instructions;
    sequentially carrying out, in a first process, a plurality of native version routine processes (231 to 23n) which are executable without interpretation, said native version routine processes (231 to 23n) corresponding to said plurality of routine processes (311 to 31n);
    carrying out, in a second process, said plurality of said instructions one by one with interpretation;
    wherein: in said first process, a first time point immediately before the execution of said native version routine processes (231 to 23n) is measured; during the execution of said native version routine processes (231 to 23n), a first period of time between said first time point and a first interruption time when a first interruption occurs is calculated; a coefficient representing a difference in performance between said first central processing unit and said second central processing unit which carries out said first and said second processes is calculated; and, a second period of time between said first time point and a second interruption time when a second interruption occurs is calculated in said first central processing unit on the basis of said first period of time during the execution of said routine processes (311 to 31n) corresponding to said native version routine processes (231 to 23n); a second time point immediately before completion or interruption of the execution of said native version routine processes (231 to 23n) is measured after the start in execution of said native version routine processes (231 to 23n) until said second period of time has elapsed, or until said native version routine processes (231 to 23n) have been completed; and, a third time point which is required of said first central processing unit for executing said program is calculated on the basis of said first and said second time point and said coefficient.
  3. The simulation method as set forth in claim 1, wherein:
    said coefficient represents a ratio in processing speed of said first central processing unit to said second central processing unit for executing said first and said second processes.
  4. The simulation method as set forth in claim 2, wherein:
    said coefficient represents a ratio in processing speed of said first central processing unit to said second central processing unit for executing said first and said second processes.
  5. The simulation method as set forth in claim 1, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  6. The simulation method as set forth in claim 2, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  7. The simulation method as set forth in claim 3, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  8. The simulation method as set forth in claim 1, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  9. The simulation method as set forth in claim 2, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  10. The simulation method as set forth in claim 3, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  11. The simulation method as set forth in claim 4, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  12. The simulation method as set forth in claim 5, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  13. The simulation method as set forth in claim 6, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  14. The simulation method as set forth in claim 7, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    in said first process, said plurality of native version routine processes (231 to 23n) are sequentially retrieved from said native version routine process storage portion and executed.
  15. A simulation apparatus for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting said system should execute, said program being constructed of a plurality of routine processes (311 to 31n) and a plurality of non-routine processes still not passed said check, wherein said plurality of routine processes (311 to 31n) are of general-purpose type and have passed a check, and said non-routine processes are constructed of a plurality of instructions, said apparatus comprising:
    a first simulation means (24) for sequentially carrying out, in a first process, a plurality of native version routine processes (231 to 23n) which are executable without interpretation, said native version routine processes (231 to 23n) corresponding to said plurality of routine processes (311 to 31n);
    a second simulation means (25) for carrying out, in a second process, said plurality of said instructions one by one with interpretation;
    a coefficient storage portion (29) in which a coefficient representing a difference in performance between said first central processing unit and said first and said second simulation means (24, 25) is previously stored;
    a first time measuring means (30) for determining a first and a second time point on the basis of said coefficient, wherein said first time point is a time immediately before said first simulation means (24) executes said native version routine processes (231 to 23n), and, said second time is a time immediately before completion, or interruption of execution of said native version routine processes (231 to 23n); and
    a second time measuring means (27) for measuring a period of time taken for said central processing unit to execute said program on the basis of said first and said second time point and said coefficient.
  16. A simulation apparatus for simulating in operation a system intended to be developed, by executing a program which a first central processing unit constituting said system should execute, said program being constructed of a plurality of routine processes (311 to 31n) and a plurality of non-routine processes still not passed said check, wherein said plurality of routine processes (311 to 31n) are of general-purpose type and have passed a check, and said non-routine processes are constructed of a plurality of instructions, the apparatus comprising:
    a first simulation means (24) for sequentially carrying out, in a first process, a plurality of native version routine processes (231 to 23n) which are executable without interpretation, said native version routine processes (231 to 23n) corresponding to said plurality of routine processes (311 to 31n);
    a second simulation means (25) for carrying out, in a second process, said plurality of said instructions one by one with interpretation;
    a coefficient storage portion (29) in which a coefficient representing a difference in performance between said first central processing unit and said first and said second simulation means (24, 25) is previously stored;
    a first time measuring means (30) for determining a first and a second time point and for calculating a first period of time and a second period of time on the basis of said coefficient and said first period of time, wherein: said first time point is a time immediately before said first simulation means (24) executes said native version routine processes (231 to 23n); said second time point is a time immediately before completion or interruption of execution of said native version routine processes (231 to 23n); said first period of time is a time from said first time point to an interruption time when an interruption occurs during the execution of said native version routine processes (231 to 23n); and, said second period of time is a time from said first time point to an interruption time when an interruption occurs when said central processing unit executes said routine processes (311 to 31n) corresponding to said native version routine processes (231 to 23n); and
    a second time measuring means (27) for measuring a third period of time taken for said central processing unit to execute said program on the basis of said first and said second time point and said coefficient;
    wherein said first simulation means (24) executes said native version routine processes (231 to 23n) until said second period of time has elapsed, or until said native version routine processes (231 to 23n) have been completed.
  17. The simulation apparatus as set forth in claim 15, wherein:
    said coefficient represents a ratio in processing speed of said central processing unit to said first and said second simulation means (24, 25).
  18. The simulation apparatus as set forth in claim 16, wherein:
    said coefficient represents a ratio in processing speed of said central processing unit to said first and said second simulation means (24, 25).
  19. The simulation apparatus as set forth in claim 15, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  20. The simulation apparatus as set forth in claim 16, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  21. The simulation apparatus as set forth in claim 17, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  22. The simulation apparatus as set forth in claim 18, wherein:
    each of said routine processes (311 to 31n) is incorporated in an operating system, and constructed of at least one of: basic functions and procedures both called out in said program; functions and procedures both defined by a user and having passed a check; functions and procedures previously prepared in processing systems in programming languages; and, functions and procedures previously prepared in the form of instruction codes.
  23. The simulation apparatus as set forth in claim 15, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  24. The simulation apparatus as set forth in claim 16, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  25. The simulation apparatus as set forth in claim 17, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  26. The simulation apparatus as set forth in claim 18, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  27. The simulation apparatus as set forth in claim 19, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  28. The simulation apparatus as set forth in claim 20, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  29. The simulation apparatus as set forth in claim 21, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  30. The simulation apparatus as set forth in claim 22, wherein:
    said plurality of native version routine processes (231 to 23n) are realized through native codes through which said second central processing unit executing both said first and said second process may execute said plurality of routine processes (311 to 31n) without interpretation;
    said plurality of native version routine processes (231 to 23n) thus realized through said native codes are previously stored in a native version routine process storage portion; and
    said first simulation means (24) sequentially retrieves said plurality of native version routine processes (231 to 23n) from said native version routine process storage portion and executed.
  31. A storage medium storing thereon a simulation program for realizing a function described in any one of claims 1 to 30.
  32. A computer program product
    directly loadable into the internal memory of a digital computer,
    comprising software code portions for performing the steps of the method according to any one of claims 1 to 14
    when said product is run on a computer
EP99105940A 1998-03-27 1999-03-24 Simulation method, simulation apparatus and storage medium storing a simulation program Withdrawn EP0945796A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8101098 1998-03-27
JP08101098A JP3147851B2 (en) 1998-03-27 1998-03-27 Simulation method, simulation device, and storage medium storing simulation program

Publications (2)

Publication Number Publication Date
EP0945796A2 true EP0945796A2 (en) 1999-09-29
EP0945796A3 EP0945796A3 (en) 2002-04-10

Family

ID=13734544

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99105940A Withdrawn EP0945796A3 (en) 1998-03-27 1999-03-24 Simulation method, simulation apparatus and storage medium storing a simulation program

Country Status (2)

Country Link
EP (1) EP0945796A3 (en)
JP (1) JP3147851B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007130807A2 (en) 2006-05-03 2007-11-15 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7770050B2 (en) 2006-05-03 2010-08-03 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7792666B2 (en) 2006-05-03 2010-09-07 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
US7813909B2 (en) 2006-05-03 2010-10-12 Sony Computer Entertainment Inc. Register mapping in emulation of a target system on a host system
US8060356B2 (en) 2007-12-19 2011-11-15 Sony Computer Entertainment Inc. Processor emulation using fragment level translation
CN114489816A (en) * 2021-12-22 2022-05-13 瑞芯微电子股份有限公司 Timer device and method for providing timing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4563669B2 (en) * 2003-11-25 2010-10-13 三菱電機株式会社 Instruction simulator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488713A (en) * 1989-12-27 1996-01-30 Digital Equipment Corporation Computer simulation technique for predicting program performance
EP0821306A2 (en) * 1996-07-15 1998-01-28 Nec Corporation High-speed simulation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488713A (en) * 1989-12-27 1996-01-30 Digital Equipment Corporation Computer simulation technique for predicting program performance
EP0821306A2 (en) * 1996-07-15 1998-01-28 Nec Corporation High-speed simulation method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131535B2 (en) 2006-01-30 2012-03-06 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
US7957952B2 (en) 2006-05-03 2011-06-07 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
EP2013680A4 (en) * 2006-05-03 2009-05-06 Sony Computer Entertainment Inc Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7770050B2 (en) 2006-05-03 2010-08-03 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7792666B2 (en) 2006-05-03 2010-09-07 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
US7813909B2 (en) 2006-05-03 2010-10-12 Sony Computer Entertainment Inc. Register mapping in emulation of a target system on a host system
WO2007130807A2 (en) 2006-05-03 2007-11-15 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
EP2013680A2 (en) * 2006-05-03 2009-01-14 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US8234514B2 (en) 2006-05-03 2012-07-31 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
EP2426603A3 (en) * 2006-05-03 2012-08-29 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US8392171B2 (en) 2006-05-03 2013-03-05 Sony Computer Entertainment Inc. Register mapping in emulation of a target system on a host system
US8060356B2 (en) 2007-12-19 2011-11-15 Sony Computer Entertainment Inc. Processor emulation using fragment level translation
US8433555B2 (en) 2007-12-19 2013-04-30 Sony Computer Entertainment Inc. Processor emulation using fragment level translation
CN114489816A (en) * 2021-12-22 2022-05-13 瑞芯微电子股份有限公司 Timer device and method for providing timing

Also Published As

Publication number Publication date
JPH11282718A (en) 1999-10-15
JP3147851B2 (en) 2001-03-19
EP0945796A3 (en) 2002-04-10

Similar Documents

Publication Publication Date Title
US5729554A (en) Speculative execution of test patterns in a random test generator
US5845064A (en) Method for testing and verification of a CPU using a reference model
JPH11232147A (en) Method and device for power estimation, and machine-redable recording medium having recorded power estmation program
JPH10254739A (en) Method for analyzing computer performance data
JPH10254700A (en) Processor performance counter for sampling execution frequency of individual instructions
US7797598B1 (en) Dynamic timer for testbench interface synchronization
US5784550A (en) Method for enhanced functional testing of a processor using dynamic trap handlers
US6983234B1 (en) System and method for validating processor performance and functionality
CN110168507B (en) Speculative replay of executable code
US5592674A (en) Automatic verification of external interrupts
EP0945796A2 (en) Simulation method, simulation apparatus and storage medium storing a simulation program
US6212493B1 (en) Profile directed simulation used to target time-critical crossproducts during random vector testing
CN109992515A (en) Test method and device, electronic equipment
US7684971B1 (en) Method and system for improving simulation performance
US7085964B2 (en) Dynamic test program generator for VLIW simulation
JPH04233040A (en) Simulation system for executing computer program
US7606694B1 (en) Framework for cycle accurate simulation
JP6015865B2 (en) Simulation apparatus, simulation method, and simulation program
JP2007512771A (en) Method and apparatus for generating a delay using a counter
JP2817786B2 (en) Simulation apparatus and simulation method
Wolf et al. Execution cost interval refinement in static software analysis
Gokhale et al. Effect of repair policies on software reliability
US20040034852A1 (en) Simulation method and simulation system of instruction scheduling
JP3214459B2 (en) Simulation method and apparatus
US6886125B2 (en) Testing a processor using a random code generator

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

Kind code of ref document: A2

Designated state(s): DE FR GB

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

RIC1 Information provided on ipc code assigned before grant

Free format text: 7G 06F 9/455 A, 7G 06F 11/34 B

17P Request for examination filed

Effective date: 20020722

17Q First examination report despatched

Effective date: 20021024

AKX Designation fees paid

Free format text: DE FR GB

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20021220