Patent ID: 7685355

Claim:
A computer-readable storage medium having stored computer-executable instructions for causing a computer to perform steps comprising: performing concurrent lookups for address translation data for use by an emulator to map a simulated physical address to a virtual address of the emulator, wherein performing the concurrent lookups comprises: on a first thread, performing a first lookup for the address translation data in a cache of address translation data, wherein an entry from the cache is to be used by the emulator as the address translation data if the first lookup in the cache results in a match; and on a second thread, receiving the virtual address of the emulator from the first thread and concurrently and speculatively performing a second lookup for the address translation data in a data structure that stores more address translation data than the cache, wherein an entry from the data structure is to be used by the emulator as the address translation data if the first lookup in the cache does not result in a match; determining if the first lookup results in a miss or a match while the second lookup is being performed on the second thread; and using the address translation data from a successful lookup from either the first lookup or the second lookup to map the simulated physical address to the virtual address of the emulator.