Вы находитесь на странице: 1из 10

UNIVERSIDADE DE CAXIAS DO SUL

CAMPUS UNIVERSITÁRIO DA REGIÃO DOS VINHEDOS


CENTRO DE CIÊNCIAS EXATAS, DA NATUREZA E DE TECNOLOGIA
CURSO DE TECNOLOGIA EM PROCESSAMENTO DE DADOS

Simulador do Processador Neander


T&D-Bench Simulator
Manual do Usuário

por
Júlio César Maccali

revisado por
Prof. Christian Zambenedetti

orientação: Sandro Neves Soares

Bento Gonçalves, outubro de 2006.


SUMÁRIO

1 Download e instalação do simulador.......................................................................................3


1.1 Execução do simulador....................................................................................................3
2 Área de trabalho do simulador.................................................................................................4
3 Operando o simulador..............................................................................................................5
3.1 Carregando programas na memória.................................................................................5
3.2 Mensagens relacionadas ao programa carregado.............................................................6
3.3 Executando a simulação de programas............................................................................6
3.4 Compreendendo o diagrama de blocos............................................................................7
3.5 Interrompendo a simulação..............................................................................................7
3.6 Configurando a visualização de dados.............................................................................7
3.6 Alterando parâmetros na execução da simulação.............................................................7
3.7 Exemplo de programa em código Assembly..................................................................10
3

1 Download e instalação do simulador


Para instalar e executar o simulador, siga os seguintes passos:
a) Faça o download do arquivo TDSim.zip, enviando um email de solicitação para <
tdwmaster@ucs.br > com a sua identificação (nome e empresa). O link para o
arquivo de instalação será enviado como resposta;
b) Salve o arquivo TDSim.zip em uma pasta temporária na sua unidade de disco rígido;
c) Crie a pasta TDSim na raiz da sua unidade de disco rígido e descompacte o arquivo
TDSim.zip dentro dela;
d) Edite o arquivo SetJavaPath.bat, especificando na linha “SET PATH=...” a
pasta onde se encontra o Java Runtime Environment (JRE), que precisa estar instalado
no seu computador. Veja mais informações sobre a instalação do JRE na página da
Sun (java.sun.com).

1.1 Execução do simulador


Para executar o simulador, você deve acessar a pasta onde foi instalado o T&D-
Bench Simulator, via “ Prompt de comando”. Após, digite o comando:
simula vneander
4

2 Área de trabalho do simulador


Ao executar o simulador, será aberta imediatamente a sua área de trabalho. Além do
menu principal, onde são acessadas as funções específicas para controle da simulação, há
painéis onde são visualizados os resultados da simulação em um determinado tempo. Estes
painéis mostram, entre outras informações, o programa que está sendo executado, o conteúdo da
memória e o diagrama de blocos. A figura 2.1 mostra a área de trabalho do simulador.

Figura 2.1 – área de trabalho do simulador


5

3 Operando o simulador
A simulação ocorre de maneira depurativa, ou seja, passo-a-passo. O simulador
carrega um programa Assembly, escolhido pelo usuário, e executa-o ciclo a ciclo, instrução a
instrução, ou um número estipulado de ciclos ou instruções. A simulação pode ser
acompanhada das seguintes formas, através dos painéis de dados:
● para cada tempo simulado, o simulador atualiza o estado dos componentes estruturais do
processador, conforme o comportamento que eles desempenham ao executar uma dada
instrução. Isso pode ser visualizado na aba “Caminho de Dados”, onde encontra-se o
diagrama de blocos do processador;
● as instruções e os dados do programa podem ser visualizados na memória principal
(painel “mem CONTEÚDO”), ainda na aba “Caminho de Dados”;
● na aba “Controle” é possível visualizar o estágio atual de execução de uma instrução, o
seu opcode, operação na ALU e descrição;
● é possível também, a qualquer momento, verificar o estado de um componente estrutural
específico (entradas, saídas, atributos e conteúdo) na aba “Caminho de Dados(2)”.
Seleciona-se o componente e o seu estado é mostrado.

3.1 Carregando programas na memória


Os programas são criados na linguagem Assembly, em um editor de textos qualquer,
e salvos com a extensão “txt” ou “asm”. Estes arquivos podem ficar armazenados em qualquer
pasta, porém o padrão é salvar dentro da pasta <dir.de
instalação>\processors\neander\programs. O simulador não carrega nenhum
arquivo quando é executado pela primeira vez. Para carregar um programa, clique no menu
“Arquivo – Abrir programa...” e escolha o programa Assembly para executar,
conforme mostram as figuras 3.1 e 3.2.

Figura 3.1 – menu “Arquivo – Abrir programa...”

Figura 3.2 – janela “Abrir Arquivo...”


6

3.2 Mensagens relacionadas ao programa carregado


Ao carregar um determinado programa, o simulador ativa, automaticamente, a aba
“Mensagens”, mostrando o código Assembly, bem como possíveis mensagens de erro no
código do programa. A figura 3.3 mostra um programa com um erro na quarta linha. A
instrução correta é “STA X”. Caso não existam erros no código do programa, deve-se clicar na
aba “Caminho de Dados” para acompanhar a execução da simulação.

Figura 3.3 – mensagem de erro em um programa

3.3 Executando a simulação de programas


O T&D-Bench Simulator po de simular uma ou várias unidades de tempo
(ciclos de relógio) por vez e também uma ou várias instruções completas de uma só vez.
Uma instrução é composta de vários ciclos. A figura 3.4 mostra o menu “Simular”, onde há
as opções para a execução da simulação.

Figura 3.4 – menu de execução da simulação

Primeiro, uma das opções de simulação, por ciclos ou instruções, deve estar
marcada.
O item de menu “Simular” executa a simulação de um ciclo ou uma instrução,
conforme a opção de simulação escolhida. Há também, abaixo do menu “Arquivo”, um botão
com a letra “S” que é um atalho para o item de menu “Simular”. Clicando neste botão o
processador irá avançar uma unidade de tempo ou uma instrução completa.
Através do item de menu “Simular...” é possível realizar a simulação de
várias unidades de tempo ou de várias instruções com apenas um comando. Para isso, na
caixa de diálogo que se abre, é necessário digitar a quantidade de ciclos ou o número de
instruções, conforme a opção de simulação escolhida, a serem executadas e clicar no
botão “OK”.
7

3.4 Compreendendo o diagrama de blocos


O diagrama de blocos apresenta o estado da organização do processador durante a
simulação, com valores impressos nas próprias representações gráficas de componentes
estruturais e suas portas, no lugar da visualização em tabelas como ocorre nas outras janelas do
simulador. Conforme a simulação avança, o usuário notará que alguns componentes e linhas se
destacam, alterando sua cor. As três cores significam algum tipo de ação que ocorreu no último
tempo simulado, de acordo com a seguinte descrição:
● Branco – inativo
● Laranja – leitura
● Amarelo – ativação
● Vermelho – escrita

Os componentes que representam circuitos seqüenciais – registradores e memórias,


por exemplo – alternam entre as cores branco, laranja e vermelho. Já os componentes que
representam circuitos combinacionais – somadores, multiplexadores e ULAs, por exemplo –
apenas alternam entre amarelo e branco.

3.5 Interrompendo a simulação


A simulação pode ser interrompida através do menu “Arquivo”, opção “Reset”.
Isso interrompe a execução do programa carregado e inicializa o processador. Para
executar novamente uma simulação, um programa deve ser carregado pelo menu
“Arquivo – Abrir programa...”. Quando a simulação de um programa termina,
caso se queira iniciá-la novamente é necessário recarregar o programa.

3.6 Configurando a visualização de dados


No menu “Exibir” há as opções para a visualização dos dados, conforme mostra
a figura 3.5. Estão disponíveis as visualizações nas bases “Decimal”, “Hexadecimal” e
“Binária”. Alterar a base numérica fará com que todos os valores no diagrama de blocos, e
nas tabelas da interface gráfica, sejam apresentados de acordo com o novo parâmetro
escolhido.

Figura 3.5 – menu “Exibir”

3.6 Alterando parâmetros na execução da simulação


No menu “Alterar” há as opções para configuração, alteração e
execução de componentes do processador que está sendo simulado, conforme
mostra a figura 3.6.
O item de menu “Configurar processador...” não é
utilizado para a simulação do processador Neander.
8

No item de menu “Alterar valor de porta...” é possível


atribuir novos valores a portas de entrada e de controle dos componentes estruturais (ver
figura 3.7). Isso pode ser importante, em conjunto com o item de menu “Executar...”,
para demonstrar o funcionamento individual de componentes estruturais enquanto nenhum
programa em Assembly tenha sido carregado.

Figura 3.6 – menu “Alterar”

Figura 3.7 – janela para alterar valor de porta

A figura 3.8 mostra um exemplo onde foram atribuídos valores às portas de entrada
E1 e E2 do componente MPXPC, assim como a sua porta de controle SEL.

Figura 3.8 – alterando valores de portas do componente MPXPC

No item de menu “Alterar conteúdo...” é possível atribuir novos


valores ao conteúdo dos componentes estruturais que representam circuitos sequenciais,
conforme mostra a figura 3.9. Para o processador Neander, somente é usado o
parâmetro “X”. Se o componente selecionado for memória (MEM), em “X”
deve ser colocado o endereço de memória. Se o componente selecionado for
um registrador (PC), em “X” deve ser colocado sempre zero. No campo
“Valor”, em qualquer caso, deve ser colocado o novo valor a ser atribuído. Isso
pode ser importante, em conjunto com o item de menu “Executar...”, para demonstrar o
9

funcionamento individual de componentes estruturais enquanto nenhum programa em


Assembly tenha sido carregado.
No item de menu “Executar...”, que é mostrado na figura 3.10, é possível
executar o comportamento de um componente estrutural específico, após serem atribuídos
valores às suas portas de entrada e de controle, e mesmo ao seu conteúdo. Isso é importante
para demonstrar o funcionamento individual de componentes estruturais enquanto nenhum
programa em Assembly tenha sido carregado.

Figura 3.9 – janela para atribuir valores ao conteúdo dos componentes

Figura 3.10 – executando o componente MPXPC

O novo estado do componente MPXPC, após a atribuição de valores que foi


mostrada na figura 3.8, é mostrado na figura 3.11.

Figura 3.11 – resultado da execução do componente MPXPC


10

3.7 Exemplo de programa em código Assembly


ORG 10
loop:LDA X
ADD Y
STA X
fim: HLT
X DEF BYTE=10
Y DEF BYTE=5

Em todos os programas carregados no simulador do processador Neander, a


primeira instrução deve ser um “ORG”, seguida do endereço de memória no qual dar-se-á a
carga do programa. Ex.: ORG 10 carrega o programa a partir do endereço 10 da memória.
O programa anterior, simplesmente, faz X = X+Y.

Вам также может понравиться