Casa > C > Como Funcionam Os Emuladores?

Como funcionam os emuladores?

Existem muitas maneiras diferentes de construir emuladores, mas no final todos eles se esforçam para conseguir o mesmo: fornecer um ambiente no qual o código foreigh possa rodar, de preferência de tal forma que o código não tenha como distinguir esta plataforma emulada do hardware orignal para o qual foi projetado.

Essencialmente, você're criando a matriz. Faça o software pensar que as coisas ao seu redor são reais.

Emulação é'não é estritamente usado para emulação de console de videogame, mas isso'é um caso muito útil, então I'vai focar nisso.

Existem 2 maneiras de se construir um software de emulação:

  • A maneira mais simples é imitar o hardware em si, a estrutura interna da máquina original. Você pega o código e executa a operação solicitada como o hardware original o faria. Isto é chamado de emulação de baixo nível (LLE), e it's tipicamente é muito preciso dado que você're basicamente escrevendo um modelo de software do que você're tentando emular. Mas este método também é bastante caro em termos computacionais. Nem tudo precisa de ser replicado em perfeitos detalhes. Existe outra forma?
  • High level Emulation (HLE), pelo contrário, tenta replicar o comportamento da plataforma emulada em vez de a modelar perfeitamente. Afinal, quem se importa se você'está fazendo as coisas de maneira diferente desde que o resultado final seja o mesmo?

emuladores HLE empregam táticas como a recompilação dinâmica para tentar extrair mais desempenho também. O problema com esta abordagem é que você'está tentando fornecer uma função similar ao que o hardware faz sem replicar o hardware em questão. O que acontece quando os desenvolvedores de jogos usam truques especiais e não documentados que os emuladores fizeram't consideram? Bem, você tem problemas. Com o LLE, o modelo de software irá (esperançosamente) executar as instruções como pretendido, dado que está a tentar imitar a máquina. Mas o HLE pode acabar com cenários onde os bugs ocorrem porque os devs fizeram algo não planejado.

Existe obviamente algum nível de sobreposição entre as 2 abordagens.

Também, considere que a maioria dos softwares de emulação não é estritamente um ou outro, e frequentemente emula ambos dependendo do que está sendo especificamente emulado (imitar uma cpu de 1mhz dos anos 70 é provavelmente bom, mas você não't gostaria de modelar o comportamento completo de um drive de disco, por exemplo)

De Jehial Bizcassa

Como escrever uma descrição de direitos autorais de áudio em um vídeo do YouTube :: Os produtos Bose valem o preço?