Simulador
Software o qual simula, gráficamente, o resultado da execução de um dado programa, fosse este escrito na memória do processador ICMC.
Este encontra-se disponível em duas versões:
-
"Original": possui como dependências do simulador os pacotes
gtk2
encurses
, os quais devem ser instalados (recomenda-se com o gerenciador de pacotes da sua distribuição) antes de poder ser utilizado. -
Browser: pode ser utilizado diretamente em um navegador gráfico. Este foi testado nos navegadores Firefox (v129.0.1, 64-bit) e Chromium (v127.0.6533.119, 64-bit);
Apenas o simulador original necessita ser instalado para ser utilizado, aquele browser está acessível no endereço https://thiagoambiel.github.io/SimuladorICMC/. Não obstante, abaixo está descrito o processo de instalação para ambas as versões, tal que possam ser utilizados localmente.
Instalação
Execute os seguintes comandos em seu terminal:
- Original
- Browser
wget https://github.com/de-abreu/Processador-ICMC/raw/master/simulator/original_simulator.zip
unzip original_simulator.zip
cd original
gcc *.c -o sim
Com isso você terá em mãos o executável sim
. Leve-o ao diretório em que estiver trabalhando, conforme sua conveniência.
Assume-se pelo comando open
que o browser a ser utilizado é aquele definido como sendo o padrão para o usuário em questão.
wget https://github.com/de-abreu/Processador-ICMC/raw/master/simulator/browser_simulator.zip
unzip browser_simulator.zip
open browser/index.html
Uso
Arquivos necessários à simulação
Os simuladores necessitam de um par de arquivos .mif
para operarem sobre: o primeiro referente ao programa - e gerado pelo montador - e o segundo ao charmap correspondente, respectivamente. Para o simulador original, estes podem ser repassados conforme o comando
./sim programa.mif charmap.mif
Enquanto o simulador para browser, este, quando aberto, apresenta uma interface gráfica que propicia a navegação pelo gerenciador de arquivos para selecionar estes mesmos arquivos.
Descrição da interface gráfica
Ambos os simuladores possuem interfaces semelhantes entre si, as quais devem figurar os seguintes dois componentes destacados em colorido:
- Registradores Ao topo estão descritos os valores armazenados nos registradores.
- Instruções A atual instrução sendo lida (primeira linha) e as instruções seguintes armazenadas na memória.
Para saber o que são, quais são, e o que fazem os registradores, consulte a referente seção.
A tempo de escrita deste documento, existem uma variedade de simuladores alternativos desenvolvido por alunos do ICMC. Dentre os quais:
- OpenGL_Simulator por Breno Queiroz e Maria Eduarda Moreira;
- goICMCsim por Lucas Pulcinelli;
- ICMC's CPU Emulator por Vinicius Giroto (este trata-se de uma IDE que contém seu próprio simulador).