Claims
- 1. A method of improving performance in a simulator environment operable to simulate a platform having at least one processor, said platform running an Operating System (OS) program, comprising:
skipping ahead said OS program's flow on a first processor by an amount of time when said OS program is to enter an idle loop condition on said first processor; and continuing to execute said OS program on said first processor after skipping ahead by said amount of time.
- 2. The method of improving performance in a simulator environment as set forth in claim 1, wherein said first processor's flow is skipped ahead from time T0 by a time T66 , the method further comprising the step of continuing to execute said OS program on a second processor during said time TΔ.
- 3. The method of improving performance in a simulator environment as set forth in claim 1, wherein said first processor's flow is skipped ahead to a time TA, the method further comprising:
if a second processor initiates an inter-processor message directed to said first processor at time T1, where T1 is earlier than TA, skipping backward said OS program's flow on said first processor to T1; servicing said inter-processor message by said first processor; and thereafter, skipping forward said OS program's flow on said first processor to time TA.
- 4. The method of improving performance in a simulator environment as set forth in claim 1, wherein said amount of time is predetermined.
- 5. The method of improving performance in a simulator environment as set forth in claim 1, wherein said amount of time is determined based on an amount of time said OS program is to remain in said idle loop condition.
- 6. The method of improving performance in a simulator environment as set forth in claim 1, wherein said amount of time is determined based on when an external interrupt is to be serviced by said OS program.
- 7. The method of improving performance in a simulator environment as set forth in claim 1, wherein said amount of time is determined pursuant to a timer-based time duration.
- 8. The method of improving performance in a simulator environment as set forth in claim 1, wherein said amount of time is determined based on a minimum of a timer-based time duration and the time when an external interrupt is to be serviced by said OS program.
- 9. The method of improving performance in a simulator environment as set forth in claim 1, wherein said step of skipping ahead said OS program's flow is effectuated by executing a simulator application program interface (API) routine operable to be executed on said platform.
- 10. A system for improving performance in a simulator environment operable to simulate a platform having at least one processor, said platform running an Operating System (OS) program, comprising:
means for skipping ahead said OS program's flow on a first processor by a predetermined amount of time when said OS program is to enter an idle loop condition on said first processor; and means for continuing to execute said OS program on said first processor after skipping ahead by said amount of time.
- 11. The system for improving performance in a simulator environment as set forth in claim 10, wherein said first processor's flow is skipped ahead from time T0 by a time TΔ, the system further comprising means for continuing to execute said OS program on a second processor during said time TΔ.
- 12. The system for improving performance in a simulator environment as set forth in claim 10, wherein said first processor's flow is skipped ahead to a time TA, the system further comprising:
means for skipping backward said OS program's flow on said first processor to T1 if a second processor initiates an inter-processor message directed to said first processor at time T1, where T1 is earlier than TA; means for servicing said inter-processor message by said first processor; and means for skipping forward said OS program's flow on said first processor to time TA after servicing said inter-processor message.
- 13. The system for improving performance in a simulator environment as set forth in claim 10, wherein said amount of time is predetermined.
- 14. The system for improving performance in a simulator environment as set forth in claim 10, wherein said amount of time is determined based on an amount of time said OS program is to remain in said idle loop condition.
- 15. The system for improving performance in a simulator environment as set forth in claim 10, wherein said amount of time is determined based on when an external interrupt is to be serviced by said OS program.
- 16. The system for improving performance in a simulator environment as set forth in claim 10, wherein said amount of time is determined pursuant to a timer-based time duration.
- 17. The method of improving performance in a simulator environment as set forth in claim 10, wherein said amount of time is determined based on a minimum of a timer-based time duration and the time when an external interrupt is to be serviced by said OS program.
- 18. The system for improving performance in a simulator environment as set forth in claim 10, wherein said means for skipping ahead said OS program's flow comprises a simulator application program interface (API) routine operable to be executed on said platform.
- 19. A method of improving performance in a simulator environment operable to simulate a multiprocessor platform, said multiprocessor platform running an Operating System (OS) program, comprising:
upon encountering an OS idle loop condition on a first processor, skipping ahead said OS program's flow on said first processor by an amount of time to time TA; if a second processor initiates an inter-processor message directed to said first processor at time T1, where T1 is earlier than TA, skipping backward said OS program's flow on said first processor to time T1; servicing said inter-processor message by said first processor; and thereafter, skipping forward said OS program's flow on said first processor to time TA.
- 20. The method of improving performance in a simulator environment as set forth in claim 19, further comprising the step of continuing to execute said OS program on said first and second processors when said second processor reaches time TA.
- 21. The method of improving performance in a simulator environment as set forth in claim 19, further comprising the step of providing a return message by said first processor to said second processor in response to said inter-processor message.
- 22. The method of improving performance in a simulator environment as set forth in claim 19, wherein said step of skipping ahead said OS program's flow on said first processor is effectuated by a simulator application program interface (API) routine operable to be executed on said first processor.
- 23. The method of improving performance in a simulator environment as set forth in claim 19, wherein said step of skipping backward said OS program's flow on said first processor is effectuated by a simulator API routine operable to be executed on said first processor.
- 24. The method of improving performance in a simulator environment as set forth in claim 19, wherein said inter-processor message comprises an interrupt.
- 25. The method of improving performance in a simulator environment as set forth in claim 19, wherein said amount of time is determined based on a minimum of a timer-based time duration associated with said first processor and the time when an external interrupt is to be serviced by said first processor.
- 26. A system for improving performance in a simulator environment operable to simulate a multiprocessor platform, said multiprocessor platform running an Operating System (OS) program, comprising:
means for skipping ahead said OS program's flow on a first processor by an amount of time to time TA upon encountering an OS idle loop condition on said first processor; means for skipping backward said OS program's flow on said first processor to time T1 if a second processor initiates an inter-processor message directed to said first processor at time T1, where T1 is earlier than TA; and means for skipping forward said OS program's flow on said first processor to time TA upon servicing said inter-processor message by said first processor.
- 27. The system for improving performance in a simulator environment as set forth in claim 26, wherein said means for skipping ahead said OS program's flow on said first processor by an amount of time to time TA comprises a simulator application program interface (API) routine operable to be executed on said first processor.
- 28. The system for improving performance in a simulator environment as set forth in claim 26, wherein said means for skipping backward said OS program's flow on said first processor to T1 comprises a simulator API routine operable to be executed on said first processor.
- 29. The system for improving performance in a simulator environment as set forth in claim 26, wherein said amount of time is determined based on a minimum of a timer-based time duration associated with said first processor and the time when an external interrupt is to be serviced by said first processor.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application discloses subject matter related to the subject matter disclosed in the following commonly owned co-pending patent application(s): (i) “System And Method For Increasing Performance In Multi-CPU Simulation,” filed even date herewith, Ser. No.: ______ (Docket Number 10019988-1), in the name(s) of: Daniel Tormey and Joe Bolding.