Como Escrever Um Emulador

Índice:

Como Escrever Um Emulador
Como Escrever Um Emulador

Vídeo: Como Escrever Um Emulador

Vídeo: Como Escrever Um Emulador
Vídeo: COMO UM EMULADOR É CRIADO ? 2024, Maio
Anonim

A emulação é uma tentativa de imitar um dispositivo em um sistema específico. Existem três maneiras de construir emuladores: recompilação e interpretação dinâmica e estática. Para obter o efeito de velocidade máxima durante o trabalho, é recomendável usar todos os três métodos. Vamos considerar um exemplo de como escrever um emulador de processador típico.

Como escrever um emulador
Como escrever um emulador

Instruções

Passo 1

Selecione uma linguagem de programação. A alternativa recomendada e provavelmente a única alternativa é C e Assembler. Em C, você pode fazer código que será portado para outras plataformas. É relativamente simples de entender e depurar, mas muito mais lento do que outros. O montador se diferencia por sua alta velocidade de trabalho, pois utiliza registradores de processador, o que contribui para a aproximação do programa ao de recompilação. No entanto, é muito difícil rastrear e corrigir códigos nele. É importante conhecer bem o idioma escolhido e otimizar bem o código para aumentar a velocidade.

Passo 2

Atribua um valor inicial ao contador cíclico e do programa. O contador cíclico conta o número de ciclos de clock após os quais a interrupção ocorre, e o software PC mostra a área da memória na qual está a próxima instrução de opcode.

etapa 3

Depois de receber o opcode, subtraia o número de ciclos de clock necessários para executar o opcode do contador de loop. Observe que alguns comandos diferem no número de tiques dependendo dos argumentos. Para tais comandos, altere o contador no código de execução mais tarde.

Passo 4

Após a execução bem-sucedida do opcode, verifique a necessidade de acionar interrupções. Neste ponto, conclua as tarefas que precisam ser sincronizadas com urgência no tempo.

Etapa 5

Verifique cada passagem do ciclo quanto à necessidade de concluir seu trabalho. Lembre-se que o programa deve ser modular, uma vez que a maioria dos computadores é formada por módulos, e um emulador típico deve, se possível, ser igual ao sistema original. Isso proporcionará uma depuração mais rápida e fácil do programa, e você poderá usar os mesmos módulos para emuladores diferentes, porque muitos computadores são baseados nos mesmos modelos de processadores ou processadores de vídeo.

Recomendado: