Patent ID: 7870307
Filing Date: 2011-01-11
Classification: G06F

Abstract:
1. A method of executing a multithreaded emulator, the method comprising: selecting an emulation thread from a plurality of emulation threads for execution, where the emulation thread is executed on a host system to emulate the operations of a target system and the selection of the emulation thread is based off a load balancing scheme, executing the selected emulation thread on the host system; determining whether the executing emulation thread is a direct memory access emulation thread; in response to a determination that the executing emulation thread is a direct memory access emulation thread and that it has stalled, suspending the executing emulation thread and selecting another emulation thread from the plurality of execution threads for execution based off the load balancing scheme; and otherwise, in response to a determination that the executing emulation thread is not a direct memory access emulation thread and that an execution time period associated with the executing emulation thread has expired or that the executing emulation thread has stalled, selecting another emulation thread from the plurality of execution threads for execution based off the load balancing scheme.