Escolar Documentos
Profissional Documentos
Cultura Documentos
33
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
34
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
7 4 3 0
Código Não Utilizados
Figura 1 – Arquitetura do NEANDER-X 7 0
Dado Imediato / Endereço Direto ou Indireto
A Tabela 1 exibe o conjunto de instruções do
NEANDER-X. As instruções podem ter um ou dois Figura 2 – Formato básico das instruções
bytes (Figura 2). Nas instruções com apenas um byte,
os 4 bits mais significativos contêm o código da 4. A linguagem do montador NEANDER-X
operação. As instruções com dois bytes, são aquelas
que fazem referência a um dado imediato ou operando Foi definida uma linguagem de montagem (assembly
na memória. Os 4 bits de mais baixa ordem do primeiro language) para este processador obedecendo a regras
byte são reservados para futuras expansões. usualmente encontradas nos programas comerciais:
Tabela 1 – Conj. de instruções do NEANDER-X a) Formato geral das instruções
Cod. Instrução Descrição Uma linha pode conter alguns dos seguintes
0000 NOP nenhuma operação elementos: um rótulo, um operador ou uma
pseudo-instrução, um operando opcional e
0001 STA ender armazena acumulador (store)
comentários. São permitidas linhas vazias.
0010 LDA ender carrega acumulador (load)
0011 ADD ender soma b) Comentários no programa
0100 OR ender operação lógica “ou”
0101 AND ender operação lógica “e” Os comentários são começados por ponto e
0110 NOT operação lógica “negação” vírgula, e podem também ocorrer no final das
linhas de instruções.
0111 SUB ender subtração
1000 JMP ender desvio incondicional (jump) c) Rótulos
1001 JN ender desvio condicional (jump on
negative) Um rótulo é um nome dado à próxima posição de
1010 JZ ender desvio condicional (jump on memória. O nome é seguido por dois pontos (a
zero) única exceção é a pseudo-instrução EQU).
1011 JNZ ender desvio condicional (jump on not
zero) d) Pseudo Instruções
1100 IN ender operação de entrada no
dispositivo “ender” ORG ender – ORG (origin) indica ao montador
1101 OUT ender operação de saída no dispositivo que a próxima instrução ou dado será colocado na
“ender” posição ender de memória.
1110 LDI imed carrega o valor imediato “imed”
no acumulador var EQU imed – EQU (equate) atribui um nome
1111 HLT término da execução (halt) (rótulo) a um determinado valor. Entre muitos usos
possíveis, esse comando pode ser usado para
Como mencionado anteriormente, existem três especificar variáveis que são posicionadas em um
modos de endereçamento: endereço específico de memória.
35
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
Simbólico Comentários
ORG 0
LDA X ; o acumulador recebe o valor de X
ADD Y ; o acumulador é somado com Y
ADD W ; o acumulador é somado com W
STA Z ; o acumulador é copiado para Z
HLT ; o processador para
36
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
programa compilado se reflete na alteração da Por último, notamos que para muitos estudantes o
memória, que é imediatamente exibida no painel domínio das representações hexadecimal e binária,
correspondente. Caso se deseje, é possível copiar o necessário para verificar e alterar a memória, só se dá
conteúdo desta janela para a área de transferência, para depois de algum tempo. Mesmo sabendo que as
colar em algum editor (como o Word ou Bloco de calculadoras do Windows e do Linux exibem
Notas) possibilitando eventuais embelezamentos e resultados em várias bases, incluímos um conversor de
impressão a posteriori. bases (mostrado na Figura 7), que é muito mais
simples.
6. Estratégias didáticas
O uso do Neander torna possível a introdução
gradual dos conhecimentos de arquitetura de
computadores, permitindo que os alunos façam
Figura 5 – Janela de listagem de compilação diversas experiências práticas com o simulador. Busca-
se nesse processo muito mais que apresentar conceitos
O número de instruções do NEANDER-X é pequeno teóricos e nomenclaturas, mas conduzir o aluno a uma
(apenas 16 instruções) mas apesar disso notamos que é visão abrangente e em pequena medida, crítica sobre a
importante tornar disponível uma “ajuda online” estrutura e o conjunto de instruções, que permita gerar
interativa, que é ativada pelo menu do programa, um curiosidade para estudos futuros mais aprofundados.
sistema de entrada interativa de instruções e pseudo- Descrevemos em seguida as possíveis fases do
instruções. A função de criação tutorada de programas, trecho do curso de arquitetura em que o NeanderWin é
mostrado na Figura 6, faz com que o aluno cometa parte integrante:
menos erros e a compreenda melhor o significado das
instruções e produza um formato de instrução correto a) Se inicia com uma breve explicação sobre
interativamente. significado do ACC, PC e flags, com exemplos em
pequenos programas de 2 a 5 linhas.
b) Após o entendimento destes conceitos básicos,
uma série de exercícios demonstram o uso das
instruções em operações típicas de programação
(movimentação de dados, loops, decisões, acesso a
vetores), aplicados a pequenos algoritmos.
c) Terminada esta fase, os outros elementos
arquiteturais (ALU, registradores, fluxos de dados,
etc) são apresentados na forma de pequenas
animações computacionais, geradas em Flash,
sobre a Figura 1, mostrando o fluxo interno de
dados de algumas instruções.
d) Concluindo, uma discussão final expande as idéias
simples, consolidando uma nomenclatura mais
geral de arquitetura de CPUs.
37
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
floresça com mais vigor, deixando também o aluno interação entre os alunos. Em alguns casos, os próprios
com base para assimilar as fases c e d, muito mais alunos sugeriam soluções diferentes, ou criticavam
pesadas do ponto de vista teórico. aspectos da solução apresentada. A partir da aplicação
deste simulador, verificamos uma melhoria
7. Estudo de caso considerável na absorção dos conceitos abordados na
disciplina e no interesse de estudar outros tópicos
O simulador NeanderWin foi utilizado como teóricos do curso que não eram cobertos pelo
ferramenta de apoio para a disciplina de Arquitetura de simulador.
Computadores do curso de Sistemas de Informação da Notamos também que o desempenho acadêmico
Universidade Estácio de Sá desde 2004, com um (notas de prova), no mesmo curso e na mesma
público estimado de 1000 alunos, ao longo destes três faculdade, dos alunos que faziam uso do simulador era
anos. superior aos alunos de turmas que não utilizavam este
Essa disciplina, assistida em geral no segundo tipo de apoio didático. Infelizmente, não possuímos
período do curso de Análise de Sistemas, apresentava levantamentos estatísticos precisos a respeito, mas
um quadro de dificuldade de aplicação para todos os observamos que durante dois primeiros períodos a
professores, notadamente devido à apatia e falta de média das turmas que usaram o simulador ficou entre
interesse dos alunos em compreender o funcionamento de 15 e 30 por cento acima das outras. Os formulários
interno do computador e, em especial, do seu de avaliação, que são preenchidos pelos alunos ao fim
processador. dos períodos também mostraram avaliação superior
Neste curso noturno, muitos alunos eram para o quesito “uso de recursos pedagógicos”. Estamos
provenientes do mercado, existindo também uma conscientes de que esses são dados passíveis de
enorme disparidade de conhecimentos (desde pessoal contestação, pois não estamos levando em
de escritório até técnicos de manutenção, incluindo uns consideração aspectos relativos ao desempenho pessoal
poucos programadores e analistas de sistemas formados dos professores.
na prática e à busca de um diploma).
Alguns alunos já traziam um conhecimento prévio 8. Conduzindo o aluno da linguagem de
sobre a arquitetura de computadores do tipo IBM/PC, alto nível à linguagem de máquina
focando o seu interesse em um nível superficial,
principalmente sobre a maneira mais eficiente de Uma idéia que temos explorado em algumas turmas
interligar módulos e placas para incrementar o que têm melhor resposta pedagógica, consiste em fazer
desempenho final do computador e quando com que os alunos aprendam a aplicação semântica das
apresentados a uma arquitetura teórica, era difícil instruções através da tradução manual de pequenos
estabelecer uma conexão entre sua vivência, muitas trechos de programas criados gerados numa linguagem
vezes com conceitos equivocados, e os conceitos muito simples (que denominamos MicroBasic), seguida
teóricos apresentados sobre arquitetura de se simulação no NeanderWin.1
computadores. Essa idéia leva o aluno a uma visão crítica sobre o
Como tentativa de trazer o curso para uma visão de uso das instruções, e produz como subproduto o
mercado, tentou-se usar no curso uma arquitetura entendimento empírico sobre o trabalho que um
comercial simples, explicada com poucos detalhes compilador tem que executar. Os pontos mais
(8080), mas quando defrontados com a complexidade importantes da limitação deste dialeto são:
de detalhes intrínseca de um processadores real, isso
era motivo de uma grande confusão, tanto para o Só variáveis inteiras, denominadas de A a Z;
professor, como para os alunos.
As operações aritméticas são limitadas a ”+" e "-";
Após a introdução do uso do simulador NeanderWin,
notamos em nossas turmas um aumento do interesse e Todas as linhas são numeradas;
participação dos alunos nas aulas em que o simulador Comandos: INPUT, PRINT, LET, GOTO, IF,
era utilizado com uso do computador acoplado com FOR, STOP.
recursos audiovisuais. O uso do simulador na sala de
aula, através do uso de um computador conectado a um
projetor de multimídia, permitiu, em curto espaço de
tempo, o desenvolvimento e teste de soluções (em
alguns casos, até mesmo mais de uma solução) para 1
Como o MicroBasic é um dialeto muito simples de
problemas simples. Basic, é também possível testar o algoritmo criado
Durante a aula problemas simples eram apresentados utilizando um interpretador qualquer desta linguagem,
aos alunos, que produziam soluções no papel. mas como os programas que criamos são sempre muito
Posteriormente uma solução “de professor” era simples, não temos notícia de nenhum aluno que tenha
apresentada e discutida na classe, criando grande feito tal execução.
38
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
39
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2006
40