1. A method of simulating memory accesses comprising: simulating memory accesses with a software simulation system for simulating a computer system operating as an application on top of a host operating system, wherein the host operating system resides between the software simulation system and host hardware and moderates transactions between the software simulation system and the host hardware, wherein simulating memory accesses with the software simulation system includes: analyzing a sequence of simulated instructions of the software simulation system including a memory access made by a first simulated instruction of the sequence of simulated instructions using analyzer code; determining with at least a high probability that is less than 100%, based on analyzing the sequence of simulated instructions, that another memory access made by another simulated instruction in the sequence of simulated instructions is to access the same memory page as the memory access made by the first simulation instruction; after determining the another memory access is to access the same memory page, performing a virtual to physical translation to obtain a translated address for the memory access made by the first simulated instruction using a hash lookup that is implemented with a plurality of simulated instructions; and after determining the another memory access is to access the same memory page, performing the another memory access using the translated address and no hash lookup or need for privileged operating system support.