princípio de emulação de CPU QEMU

No QEMU, um sistema operacional pode ser executado acima da CPU emulada por software. Como pode ser uma CPU emulada pelo software? Eu quero saber detalhes.

Se a CPU for emulada pelo software, os registros são emulados com a memória do sistema host? digamos que haja um código de montagem ARM

LDRB r0, [r1], nº 1

como isso pode ser emulado no ambiente x86? Meu palpite é que o software de emulação mantém o espaço de mapeamento de memória para r0 (4byte), r1 (4byte) e, em seguida, atualiza o valor de registro para a localização de memória correspondente ... estou errado? Eu quero uma explicação detalhada ...

Agradeço antecipadamente

questionAnswers(1)

yourAnswerToTheQuestion