universidade federal da paraÍba centro … · plataformas unix) simulam o microprocessador 8085 da...
TRANSCRIPT
1
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA
DEPARTAMENTO DE INFORMÁTICA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
BERG ÉLISSON SAMPAIO CAVALCANTE
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA
DE COMPUTADORES
João Pessoa - PB
2
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
2011
UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA
DEPARTAMENTO DE INFORMÁTICA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
BERG ÉLISSON SAMPAIO CAVALCANTE
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA
DE PROCESSADORES
Monografia apresentada ao Professor Dr.
Leonardo Vidal Batista, tutor do PET.Com,
UFPB, em cumprimento às exigências do PET
do Curso de Ciência da Computação.
ORIENTADOR: Prof. Ms. Hamilton Soares
da Silva
João Pessoa - PB
2011
3
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
BERG ÉLISSON SAMPAIO CAVALCANTE
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Monografia apresentada ao Professor tutor do
PET.Com, UFPB, em cumprimento às
exigências do PET do Curso de Ciência da
Computação.
BANCA EXAMINADORA
Prof. Dr. Leonardo Vidal Batista
Aluno (a) José Ivan Bezerra Vilarouca Filho
Aluno (a) Yuri Gil Dantas
4
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Dedico esse trabalho aos meus pais por tudo que fizeram e tem feito por mim. Também
dedico esse trabalho a todos os meus familiares e amigos que me acompanharam direta ou
indiretamente durante toda a minha graduação e principalmente ao meu avô e minha avô que
não puderam estar presentes nessa conquista.
5
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
AGRADECIMENTOS
A Deus, por proporcionar a realização deste projeto.
Aos meus pais e avós por me darem as bases para que meus esforços fossem transformados
em sucesso.
A minha irmã por estar tão presente em minha vida nesse último ano.
Ao meu tio Reginaldo por toda força dada.
A todos os meus amigos por me apoiarem na luta de estudar em outro estado.
A Liniker Weyne por ser mais que um amigo, um irmão.
Ao meu tutor do PET, o professor doutor Leonardo Vidal Batista, por seu apoio e seus
ensinamentos durante esses dois anos e meio como petiano.
Ao PET.Com pelas oportunidades e conhecimentos adquiridos.
Aos membros do Q7 Soluções por todos esses anos que trabalhamos juntos.
Aos amigos de curso por todo aprendizado que passamos juntos.
Aos meus amigos que nunca me esqueceram mesmo quando eu me afastei muito por conta do
tempo.
A todos que um dia me ajudaram nesta minha graduação.
6
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
“É tão estranho os bons morrem
jovens, assim parece ser quando
me lembro de você que acabou
indo embora cedo demais!”
(Love in the afternoon – Renato Russo)
7
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
RESUMO
Em arquitetura de computadores é um desafio fazer com que os alunos compreendam
o funcionamento de um processador corretamente. Para auxiliar a esta tarefa, são utilizadas
aplicações que simulam essas arquiteturas. A partir dessas barreiras do ensino, se propôs
desenvolver uma aplicação que simula visualmente as intruções de uma arquitetura didática e
implementável. Tais instruções são possíveis de serem visualizadas, tanto com pipeline
quanto sem pipeline, o que facilita a compreensão das mesmas e do funcionamento de um
processador enquanto realiza uma instrução.
PALAVRAS-CHAVE: Arquitetura de Computadores, Processador, Instruções.
8
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
ABSTRACT
In computer architecture is a challenger to make the students understand the processor
working correctly. To help on this task it’s used applications that simulate these
architectures. From this restriction to the education it was proposed the application
development which visually simulates the instructions of a didactic and implementable
architecture. These instructions are possible of being visualized with pipeline or without it.
This feature facilitates the understanding of them and the processor operation.
Keywords: Computer Architecture, Processor, Instruction.
9
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
LISTA DE FIGURAS
Figura 1: Ilustração do Modelo de Von Neumann. .................................................................. 17
Figura 2: Disposição dos Registradores na Microarquitetura. ................................................. 18
Figura 3: Disposição dos Registradores no Simulador. ............................................................ 18
Figura 4: Computador com Seis Níveis, no qual o nível 2 é o ISA. ........................................ 19
Figura 5 – Ilustração da Estratégia do Pipeline ........................................................................ 19
Figura 6 – Objetos do Simulador Modelados no Blender. ....................................................... 21
Figura 7 – Instruções Possíveis para a Arquitetura Utilizada. .................................................. 22
Figura 8 – Tela Inicial do Simulador ........................................................................................ 23
Figura 9 – Descrição do Objetico da Instrução. ....................................................................... 23
Figura 10 – Simulação da Instrução ......................................................................................... 24
Figura 11 – Ilustração da Simulação do Pipeline ..................................................................... 24
10
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
LISTA DE SIGLAS
CAD Computer-aided design
CPU Unidade de Processamento Central
DOS (Disk Operating System) Sistema Operacional em Disco
IJVM Instruções da Máquina Virtual Java
ISA (Instruction Set Architecture) Arquitetura do Conjunto de Instruções
Mic-2 Arquitetura Apresentada por [Tanenbaum 2006]
PET Programa de Educação Tutorial
PET.Com Programa de Educação Tutorial de Computação
UFPB Universidade Federal da Paraíba
ULA Unidade Lógica e Aritmética
X3D Extensible 3D
XJ3D X3D Desenvolvido em Java.
SAI (Scene Access Interface) Interface de Acesso a Cena
11
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
SUMÁRIO
1. INTRODUÇÃO ............................................................................................................. 12
1.1 Trabalhos Relacionados .............................................................................................. 12
1.2 Objetivos ..................................................................................................................... 13 1.3 Contribuições Esperadas ............................................................................................. 14 1.4 Estrutura Da Monografia ............................................................................................. 14
2. FUNDAMENTAÇÃO TEÓRICA ....................................................................................... 15
2.1 Arquitetura de Processadores ...................................................................................... 15 2.2 Registradores ............................................................................................................... 15
2.3 Microarquitetura .......................................................................................................... 18 2.4 Pipeline.. ....................................................................... Erro! Indicador não definido. 2.5 X3D (Extensible 3D) ................................................................................................... 18
3. MATERIAIS E MÉTODOS ................................................................................................. 19
3.1 Materiais ...................................................................................................................... 19 3.2 Implementação ............................................................................................................ 19
3.2.1 Objetos da Cena ........................................................................................................ 19 3.2.2 Instruções Implementadas ........................................................................................ 20 3.2.3 Simulador Desenvolvido .......................................................................................... 20
4. DISCUSSÃO E TRABALHOS FUTUROS ........................................................................ 23
5. CONSIDERAÇÕES FINAIS ............................................................................................... 24
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 25
12
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
1. INTRODUÇÃO
A informática tem tido uma relevância cada vez maior nos dias de hoje no cenário
educacional. Aplicações para o ensino facilitam a transmissão do conhecimento de
professores para alunos através de métodos dinâmicos, massificando uma aula para múltiplos
ramos sem haver grande esforço ou repetições desnecessárias.
O uso da computação gráfica tem se mostrado útil nos métodos de aprendizagem em
diferentes áreas. O uso de CAD, sistemas computacionais que auxiliam na construção de
desenhos técnicos, na geologia, engenharia e arquitetura, por exemplo, mostra o quanto uma
interface gráfica com 3D facilita no desenvolvimento de um projeto, no seu entendimento e
posterior ensino.
Facilitar a aprendizagem do correto funcionamento de um processador para os alunos
e proporcionar também uma visão comparativa sobre algumas possibilidades arquiteturais é
um dos principais problemas encontrados no ensino de arquitetura de computadores. Um
desafio ainda maior é tornar o conteúdo atrativo visualmente. Várias caixas e fios com letras
pequenas tornam os circuitos um assunto de difícil entendimento através de uma simples
leitura.
Os simuladores atuais que estão disponiveis para o ensino apresentam uma interface
de usuário pouco elaborada e com poucos recursos operacionais, e mesmo considerando o uso
de arquiteturas mais simples, é usual por parte dos alunos certa dificuldade de trabalhar com
eles [Borges e Silva 2006]. Grande maioria destes simuladores exige dos alunos codificarem o
sistema, ou seja, é necessário conhecimento em programação de linguagem de máquina ou
rodam no DOS apenas exibindo os valores presentes nos registradores, o que torna a
aprendizagem do funcionamento da arquitetura do processador uma tarefa longa e exigente.
13
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Para auxílio a esta tarefa, está sendo desenvolvida uma aplicação com objetivo de
prover maior motivação e interesse por parte dos alunos em participar das aulas de arquitetura
de computadores. Recursos como animações gráficas tridimensionais estão sendo utilizados
para facilitar o entendimento do funcionamento dos processadores, já que na prática não é
possível ver o caminho percorrido pela informação processada. Este simulador não exige do
aluno nenhum grau de programação para que a arquitetura seja demostrada, Dessa forma é
possível efetuar um estudo detalhado dos elementos presentas na arquitetura.
1.1 Trabalhos Relacionados Existem muitas ferramentas que simulam processadores, como exemplos temos o o
Abacus, WinMIPS64 [Scott 2006], SATSim [Wolf e Wills 2000] e o GNUSim8085 [Sridhar
2002].
O Abacus (desenvolvido em Windows) e o GNUSim8085 (desenvolvido para
plataformas Unix) simulam o microprocessador 8085 da Intel, o qual vem sido base do
ensino de arquitetura de computadores, devido a sua simplicidade, seguindo o modelo de
Von Neumann e sem possuir pipeline. Ambos apresentam os valores dos registradores no
decorrer da execução das instruções, além de exibir o conteúdo presente na memória do
processador.
O simulador WinMIPS64 simula arquitetura do processador MIPS64, que utiliza o
pipeline. Essa ferramenta possibilita a visualização das instruções passando pelos pipelines e
os valores presentes nos registradores.
Para o ensino de arquiteturas superescalares há o SATSim que não se baseia em
nenhum processador real, dessa maneira ele possibilita a configuração da quantidade de
unidades funcionais por tipo de instrução, o número de elementos por buffer de reordenação,
número de instruções buscadas por ciclo e etc.
1.2 Objetivos
O objetivo deste trabalho é desenvolver um sistema que simule o comportamento das
microinstruções em um subconjunto das instruções da Máquina Virtual Java utilizando a
arquitetura de processador Mic-2 apresentada por [Tanenbaum 2006].
Os objetivos específicos deste trabalho são:
14
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
1. Desenvolver um simulador de instruções para facilitar o aprendizado do
funcionamento de uma microarquitetura.
2. Promover uma plataforma de auxílio ao ensino de conceitos básicos a respeito de
microprogramação mostrando o funcionamento em relação a execução das
instruções da IJVM em cima da arquitetura Mic-2 usando um modelo 3D.
1.3 Contribuições Esperadas
Espera-se que, ao término deste trabalho, o simulador desenvolvido possa facilitar o
aprendizado dos alunos que cursam a disciplina de Arquitetura de Computadores no âmbito
da microprogramação.
1.4 Estrutura Da Monografia
A Monografia está estruturada nos seguintes capítulos:
Capítulo 2 – Fundamentação Teórica. Capítulo que visa apresentar e reforçar os principais
conceitos teóricos necessários para o desenvolvimento do trabalho.
Capítulo 3 – Materiais e Métodos. Apresenta a descrição dos recursos computacionais
e os métodos utilizados para desenvolvimento e avaliação do simulador proposto.
Capítulo 4 – Discussão e Trabalhos Futuros. Apresentação e discussão dos trabalhos futuros
para o simulador desenvolvido.
Capítulo 5 – Considerações Finais. Apresentação das contribuições e conclusões do simulador
proposto e algumas perspectivas para trabalhos futuros.
15
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
2. FUNDAMENTAÇÃO TEÓRICA
2.1 Arquitetura de Processadores
É necessário conhecer a arquitetura interna de um processador para facilitar a compreensão de
como ele executa os programas. Em um processador existem vários circuitos chamados de
registradores que funcionam como posições de memória onde o seu acesso é extremamente
rápido.
Todos os processadores usam uma linguagem baseada em códigos numéricos na
memória, onde cada código significa uma instrução no qual chamamos de linguagem de
máquina. Os códigos numéricos são representados por siglas que são os nomes das instruções,
e os operandos dessas instruções são os registradores, valores existentes na memória e valores
constantes.
Alguns processadores são baseados no modelo arquitetural de Von Neumann, e que
considera uma unidade central de processamento (CPU) com apenas uma unidade funcional,
podendo buscar apenas uma instrução por ciclo de execução como demonstrado na Figura 1.
Figura 1 – Ilustração do modelo de Von Neumann
A arquitetura utilizada foi a Mic-2 proposta por [Tanenbaum 2006], que apesar de
não ser comercial é implementável.
2.2 Registradores
Na arquitetura de computadores, um registrador é uma pequena porção de memória localizada
no processador central. Os registradores permitem acessos muito rápidos a dados e são usados
para aumentar a velocidade de execução de programas. Os que são utilizados nessa simulação
são de 32 bits, aos quais foram atribuídos nomes simbólicos como PC, SP, MDR. É
importante salientar que esses registradores só podem ser acessados no nível das
microinstruções (logo, só quem pode acessar é o microprograma).
16
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Os registradores usados na microarquitetura são: MAR (de endereço de memória),
MDR1 e MBR2 (de dados de Memória), PC (contador de programa), SP (apontador da Pilha),
LV (apontador para a base das variaveis locais, localizada na pilha), CPP (aponta para o
POOL de constantes, apontadores para outras áreas de Memória), TOS e OPC (são
temporários) e H (um acumulador). Veja nas figuras 3 e 4 como eles estão dispostos na
arquitetura e no simulador.
Figura 2 – Disposição dos registradores na Figura 3 – Disposição dos registradores no
Microarquitetura Simulador
2.3 Microarquitetura
A lógica digital é uma ferramenta que trabalha apenas com variáveis cujos valores alternam
exclusivamente entre dois estados e não admitem valores intermediários, assim ela é ideal
para trabalhar com grandezas cujos valores são expressos no sistema binário.
O nível de microarquitetura está um nível acima do nível lógico é o ISA, o qual será
simulado. O Caminho de Dados utilizado para a simulação é a parte da CPU que contém a
ULA, suas entradas e saídas. Ele contém os registradores, os quais foram vistos no tópico
anterior.
17
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Figura 4 – Computador com seis níveis, no qual o nível 2 é o ISA.
2.4 Pipeline
Para o ensino de arquitetura de computadores, é interessante demonstrar o conceito de
pipeline, técnica de hardware que permite que a unidade central de processamneto realize a
busca de uma ou mais instruções além da próxima a ser executada. Estas instruções são
colocadas em uma fila de memória dentro do processador (CPU) onde aguardam o momento
de serem executadas, esta técnica faz com que o tempo de processamento de uma instrução
seja menor do que o tempo que seria gasto caso o pipeline não fosse utilizado. A estratégia do
pipeline é demonstrada na Figura 2.
Figura 5 – Ilustração da Estratégia do pipeline
18
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
2.5 X3D (Extensible 3D)
O X3D (Extensible 3D) é um padrão aberto adotado internacionalmente para disponibilização
de conteúdos tridimensionais na Web [Brutzman e Daly 2007]. Ele permite descrever em um
arquivo, formas e comportamentos de ambientes virtuais tridimensionais complexos e
interativos.
A visualização destas cenas descritas em X3D é realizada através de browsers específicos
que consistem em aplicações capazes de interpretar e processar os arquivos X3D,
apresentando os modelos tridimensionais, animados ou não, e permitindo interações do
usuário com os objetos. Os browsers X3D (também chamados de navegadores ou players)
podem se apresentar como plugins ou applets em navegadores Web como o Mozilla Firefox
ou Google Chrome, ou como aplicações independentes [Web3D Consortium 2011].
Para a formação gráfica da cena são utilizados os nós X3D, que por sua vez compõem o
grafo de cena. Cada nó é formado por uma seqüência específica de campos. Os nós descrevem
as funcionalidades disponibilizadas pelo X3D, e os campos servem para especificar os
atributos e características dos nós X3D utilizadas para descrição tridimensional do ambiente.
A interatividade de uma cena X3D pode ser caracterizada por mudanças de posição,
orientação, tamanho, cores ou outras características pertinentes aos campos do nó X3D,
resultando em uma animação. Eventos e rotas são as funcionalidades do X3D que permitem
adicionar tais comportamentos a objetos do ambiente virtual de forma simples. Para
interações mais complexas são utilizados o nó Script e a API SAI (Scene Access Interface)
que permite o controle do grafo de cena através de linguagens de programação [Web3D –
Part 2: Scene Access Interface].
19
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
3. MATERIAIS E MÉTODOS
Este capítulo descreve os recursos utilizados e os métodos que foram desenvolvidos.
A metodologia empregada neste trabalho foi a de implementar o simulador proposto.
Pesquisar e implementar a simulação das microinstruções.
3.1 Materiais
Para gerar o simulador proposto neste trabalho, foi utilizado o browser Xj3D, a API
SAI (Scene Access Interface) que permite manipulação do grafo de cena X3D, e a linguagem
de programação Java, para programar toda interatividade do aplicativo. Tudo foi executado no
ambiente com as seguintes especificações:
Processador: Intel Core 2 Duo T6400 2.00 GHz
Memória (RAM): 3,00 Gb
Tipo de Sistema: Sistema Operacional Windows© Seven™ Professional 32 bits
3.2 Implementação
Nesse subtópico será mostrado como o simulador proposto foi implementado.
3.2.1 Objetos da Cena
Todos os objetos da cena foram modelados no Blender, que é um software open source de
modelagem gráfica em 3 dimensões. Após serem modelados o browser XJ3D permite a
importação desses objetos. A figura 6 mostram todos os objetos da cena após serem
modelados e importados para o browser.
20
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Figura 6 – Objetos do simulador modelados no Blender
3.2.2 Instruções implementadas
Uma instrução é um conjunto de microinstruções que são executadas no processador para que
o resultado seja obtido. As instruções se utilizam da memória, da ULA e principalmente dos
registradores para serem finalizadas. Na figura 7 podemos ver as instruções possíveis para o
simulador em questão.
Figura 7 – Microprogramas possíveis para a arquitetura utilizada.
As instruções implementadas com e sem pipeline são: IADD, IOR, IAND, ISUB,
NOP, ILOAD, dup, BIPUSH BYTE, WIDE, IDC_W1, INC, IFEQ e POP. Restando
apenas IRETURN, SWAP, IF_ICMPEQ e ISTORE.
3.2.3 Simulador Desenvolvido
O simulador produzido demonstra o funcionamento do processador didático apresentado em
[Tanenbaum 2006].
A fim de o comprimento do caminho de execução seja menor, foram utilizados dois
barramentos completos de entrada para a ULA (barramentos A e B) e um barramento de
saída. Todos (ou ao menos a maioria) dos registradores devem ter acesso a ambos os
barramentos de entrada. A vantagem de ter dois barramentos de entrada é que não é possível
adicionar um registrador a outro registrador em um só ciclo.
21
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
O simulador é composto por uma interface gráfica que contém uma lista das instruções
disponíveis, uma breve descrição do objetivo da instrução escolhida e um espaço reservado
para o visualizador da simulação. Na lista fornecida, o usuário escolhe qual instrução do
processador deseja visualizar como ilustrado na Figura 8.
Figura 8 – Tela Inicial do simulador.
Após a escolha da instrução o botão “OK” deve ser pressionado. Então uma breve descrição
com o objetivo da instrução é mostrada logo após, como se observa na Figura 9.
Figura 9 – Descrição do objetivo da instrução.
Ao pressionar o botão “SIMULAÇÃO” ela é iniciada de acordo com a instrução escolhida. A
posição das telas lado a lado facilita a compreensão, já que o usuário pode observar a
descrição do objetivo e o mesmo em ação.
22
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
Figura 10 – Simulação da instrução.
A memória e todos os outros elementos do processador são representados em um contexto
tridimensional. A simulação demonstra a sequência de passos da execução de uma instrução
na Figura 10, desde sua saída da memória até seu retorno, caso ocorra. A exibição de cada
passo é feita através da interpolação das cores ou posição dos elementos que estiverem ativos.
Cada instrução exibida contém um conjunto de micro-instruções que são demonstradas pela
exibição passo-a-passo a cada clock, de acordo com o conceito de pipeline visto
anteriormente, e são marcadas com uma cor diferente com o objetivo de demonstrar o clock e
o pipeline como demonstrado na Figura 11. Para melhor visualização, a câmera acompanha o
fluxo de passos da execução da instrução, focando nos blocos que estão sendo utilizados em
determinado momento da simulação.
Figura 11 – Ilustração da simulação do pipeline.
23
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
4. DISCUSSÃO E TRABALHOS FUTUROS
O entendimento do funcionamento de uma determinada arquitetura é uma tarefa difícil de ser
compreendida quando se estuda apenas a teoria. Isto evidencia a importância do uso de
simuladores neste contexto.
A partir dessa constatação, o simulador apresentado neste trabalho visa facilitar o
entendimento da arquitetura baseada no modelo de Von Neumann. A facilitação da
compreensão ocorre devido à apresentação intuitiva das informações ao usuário pelo
simulador. Os trabalhos correlatos encontrados na literatura apresentam apenas informações
textuais dos valores de registradores, flags e memória, e algumas estatísticas.
O presente trabalho propõe que o fluxo de informações do processador seja ilustrado
através de um ambiente 3D, que torna simples a visualização de informações saindo de um
objeto como o barramento, registrador, ou ula, para outros através da mudança de cores dos
mesmos. O principal objetivo desse simulador é facilitar o entendimento dos alunos de cursos
da Ciência da Computação e similares no estudo da arquitetura dos computadores. Outra
característica que o diferencia positivamente, em relação aos demais simuladores citados
nesse trabalho, é a possibilidade de visualizar uma mesma instrução sendo executado em uma
mesma arquitetura de processador, com e sem o uso do pipeline, facilitando de forma
substancial a compreensão dessa importante evolução ocorrida na área.
Para trabalhos futuros propõe-se a realização de uma avaliação do uso do simulador
por estudantes para coletar a impressão destes e verificar a facilidade de uso, e grau de
aprendizado adquirido, para posterior aperfeiçoamento da aplicação. Propõe-se também a
disponibilização via Web do aplicativo, facilitando o acesso dos alunos à ferramenta e
possibilitando uma facilidade para a prática da Educação à Distância.
24
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
5. CONSIDERAÇÕES FINAIS
Esse trabalho propõe um sistema que simule o comportamento das microinstruções
em um subconjunto das instruções da Máquina Virtual Java utilizando a arquitetura de
processador Mic-2 apresentada por [Tanenbaum 2006]. Com a finalização do trabalho
desenvolvido percebe-se que o objetivo final foi atingido, pois o estudo sobre o assunto foi
realizado e a implementação do simulador obteve sucesso.
25
AMBIENTE DE SIMULAÇÃO GRÁFICA 3D PARA ENSINO DA ARQUITETURA DE
COMPUTADORES
REFERÊNCIAS BIBLIOGRÁFICAS
BORGES, JOSÉ ANTONIO S., SILVA, GABRIEL P. (2006) “NeanderWin - Um
Simulador Didático para uma Arquitetura do Tipo Acumulador” .
BRUTZMAN, D., DALY, L., (2007) “X3D: 3D Graphics for Web Authors”. Morgan
Kaufmann Publishers.
MOREIRA, ANGÉLICA A., MARTINS, CARLOS AUGUSTO PAIVA DA SILVA. (2009)
“R2DSim: Simulador Didático do RISC Reconfigurável”
SCOTT, M. (2006) “WinMips64, version 1.5 ,School of Computing, Dublin City
University, Ireland”, http://www.computing.dcu.ie/~mike/winmips64.html, 07 2009, 20.
SRIDHAR, Z, (2002) “GNUSim8085, versão 1.3”,
http://gnusim8085.sourceforge.net/index.php/Main_Page, 06 2009, 23.
TANENBAUM, ANDREW S. (2006) “Organização Estruturada de Computadores”,
Editora Prentice-Hall.
VERONA, ANDRÉ B., MARTINI, JOÃO A., GONÇALVEZ, TIAGO LOPES (2009)
“SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de
Computadores”.
Web3D Consortium, “X3D – FAQ (Frequented Asked Questions)”. Online:
http://www.lsi.usp.br/~lsoares/x3d/faq.html. Acesso em: março/2011.
Web3D – Part 2: Scene Access Interface, “Extensible 3D (X3D). Part 2: Scene access
interface (SAI). ISO/IEC 197752.2: 2009”. Online:
http://www.web3d.org/x3d/specifications/ISOIECFDIS197752.2X3DSceneAccessInterfac
e/index.html. Acesso em março/2010.
WOLFF, M. e WILLS, L. (2000) “SATSim: A Superscalar Architecture Trace Simulator
Using Interactive Animation”, In: WCAE: Workshop On Computer Architecture
Education, Vancouver, Canada.
ZELENOVSKY, RICARDO. (2002) “PC: um guia Prático de Hardware e
Interfaceamento”, Editora MZ Produções Culturais.