When emulating a Target architecture on a Host system having a different
architecture, virtual-to-real address translation is typically expensive
in terms of computer cycles. The cost for translating addresses for
instruction fetches can be significantly reduced by maintaining both a
virtual and a real memory address instruction counter. Both are
incremented on each instruction fetch. Virtual to real address translation
is eliminated as long as execution continues on the same real memory page
of instructions. Alternatively, only a real memory address instruction
counter is incremented, while maintaining a delta instruction counter
value to efficiently translate back and forth to and from the
corresponding virtual memory address.
Ao emular uma arquitetura do alvo em um sistema de anfitrião que tem uma arquitetura diferente, a tradução de endereço virtual-à-real é tipicamente cara nos termos de ciclos do computador. O custo para traduzir endereços para esforços de instrução pode significativamente ser reduzido mantendo um contador virtual e real da instrução de endereço da memória. Ambos são incrementados em cada instrução buscam. Virtual à tradução de endereço real é eliminado tão por muito tempo como a execução continua na mesma página real da memória das instruções. Alternativamente, somente um contador real da instrução de endereço da memória é incrementado, ao manter um valor do contador da instrução do delta para traduzir eficientemente para a frente e para trás a e do endereço de memória virtual correspondente.