SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
SEAC: Um Simulador Online para Ensino de
                                       Arquitetura de Computadores

       Erick Vagner Cabral de Lima Borges, Igor Lucena Peixoto Andrezza, Eduardo de Lucena Falcão,
                              Glauco Sousa e Silva, Hamilton Soares da Silva
                                               Departamento de Informática
                                         Universidade Federal da Paraíba - UFPB
                                                  João Pessoa, Paraíba,
                          {erickvagnerr, igorlpa90, eduardolfalcao, glauco.sousa6}@gmail.com,
                                                  hamilton@di.ufpb.br


Resumo — No ensino de arquitetura de computadores, um          ou são executados no DOS apenas exibindo os valores
dos principais desafios é fazer com que os alunos              presentes nos registradores, tornando a aprendizagem do
compreendam com mais facilidade o funcionamento de um          funcionamento da arquitetura do processador uma tarefa
processador. Para auxiliar a esta tarefa, são utilizadas       longa e tediosa.
aplicações que simulam tais arquiteturas. A proposta do
                                                                   Para auxiliar esta tarefa, foi desenvolvida uma
presente trabalho é desenvolver uma aplicação,
disponibilizada na web, que simule visualmente as instruções   aplicação com objetivo de prover maior motivação e
de uma arquitetura didática e implementável. É possível        interesse por parte dos alunos em participar das aulas de
visualizar a simulação de tais instruções com ou sem           arquitetura de computadores. Recursos como animações
pipeline, o que facilita a compreensão das mesmas e do         gráficas estão sendo utilizados para facilitar o
funcionamento de um processador enquanto as executam.          entendimento do funcionamento dos processadores, já que
                                                               na prática não é possível ver o caminho percorrido pela
Palavras-chave:   simulador     online,   arquitetura    de    informação processada. Este simulador não exige do
computadores, educação.                                        aluno nenhum grau de programação para que a arquitetura
                                                               seja demonstrada, e dessa forma, é possível efetuar um
                     I.   INTRODUÇÃO                           estudo detalhado dos elementos presentes na arquitetura
                                                               do processador, assim como conhecer e entender o fluxo
    Aplicações para o ensino tem tido uma importância
                                                               que uma instrução percorre.
cada vez maior no cenário educacional, pois facilitam a
transmissão do conhecimento de professores para alunos                     II.   TRABALHOS RELACIONADOS
através de métodos dinâmicos, massificando uma aula
                                                                   Existem      muitas    ferramentas     que    simulam
para múltiplos ramos sem que haja grandes esforços ou
                                                               processadores. Como exemplos temos o Abacus,
repetições desnecessárias. O uso da computação gráfica         WinMIPS64 [8], SATSim [9] e o GNUSim8085[14] .
para auxiliar o desenvolvimento dos métodos e aplicações           O Abacus (desenvolvido para Windows) e o
de aprendizagem tem se mostrado útil em diferentes áreas.      GNUSim8085 (desenvolvido para plataformas Unix)
Como exemplo, pode ser citado o uso de CAD, sistemas           simulam o microprocessador 8085 da Intel, o qual vem
computacionais que auxiliam na construção de desenhos          sendo base do ensino de arquitetura de computadores,
técnicos na geologia, engenharia e arquitetura, visando        devido a sua simplicidade, seguindo o modelo de Von
facilitar o desenvolvimento de um projeto, além de seu         Neumann e sem possuir pipeline. Ambos apresentam os
ensino e entendimento por outros.                              valores dos registradores no decorrer da execução das
    Um dos principais problemas encontrados no ensino          instruções, além de exibir o conteúdo presente na
de arquitetura de computadores é o de facilitar a              memória do processador.
aprendizagem do correto funcionamento de um                        O simulador WinMIPS64 simula a arquitetura do
processador para os alunos e proporcionar também uma           processador MIPS64, que utiliza o pipeline. Essa
visão comparativa sobre algumas possibilidades                 ferramenta possibilita a visualização das instruções
arquiteturais. Um desafio ainda maior é tornar o conteúdo      passando pelos registradores, exibindo os valores
atrativo visualmente, pois nesse contexto, objetos físicos     presentes neles.
para auxilio as aulas podem tornar os processadores um             Para o ensino de arquiteturas superescalares há o
assunto de difícil entendimento.                               SATSim que não se baseia em nenhum processador real,
    Os simuladores atuais, que estão disponíveis para o        dessa maneira ele possibilita a configuração da quantidade
                                                               de unidades funcionais por tipo de instrução, o número de
ensino, apresentam uma interface com usuário pouco
                                                               elementos por buffer de reordenação, e o número de
elaborada, possuindo poucos recursos operacionais, e           instruções buscadas por ciclo, etc.
ainda que considerem o uso das arquiteturas mais simples,
é usual por parte dos alunos ter certa dificuldade de
trabalhar com eles [7]. Muitos destes simuladores exigem
que os alunos codifiquem o sistema, sendo necessário
conhecimento de programação em linguagem de máquina,
III.    FUNDAMENTAÇÃO TEÓRICA                    arquivo, formas e comportamentos de ambientes virtuais
                                                             tridimensionais complexos e interativos.
A. Arquitetura de Processadores                                  A visualização destas cenas descritas em X3D é
    É necessário conhecer a arquitetura interna de um        realizada através de browsers específicos que consistem
processador para facilitar a compreensão de como ele         em aplicações capazes de interpretar e processar os
executa os programas. Em um processador existem vários       arquivos X3D, apresentando os modelos tridimensionais
circuitos chamados de registradores que funcionam como       (animados ou não) e permitindo interações do usuário
posições de memória cujo acesso é extremamente rápido.       com os objetos. Os browsers X3D (também chamados de
    Todos os processadores usam linguagens baseadas em       navegadores ou players) podem se apresentar como
códigos numéricos na memória, nos quais cada código          plugins ou applets em navegadores Web como o Mozilla
significa uma instrução no qual chamamos de linguagem        Firefox ou Google Chrome, ou como aplicações
de máquina. Estes códigos numéricos são representados        independentes [13].
por siglas que simbolizam os nomes das instruções, e os          Para a formação gráfica da cena são utilizados os nós
operandos dessas instruções são os registradores, valores    X3D, que por sua vez compõem o grafo de cena. Cada nó
existentes na memória ou valores constantes.
                                                             é formado por uma seqüência específica de campos. Os
    Alguns processadores são baseados no modelo
                                                             nós descrevem as funcionalidades disponibilizadas pelo
arquitetural de Von Neumann, que considera uma unidade
central de processamento (CPU) com apenas uma unidade        X3D, e os campos servem para especificar os atributos e
funcional, podendo buscar apenas uma instrução por ciclo     características dos nós X3D utilizadas para descrição
de execução como demonstrado na Figura 1.                    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 da cena
                                                             através de linguagens de programação [12].
                                                                 Para este trabalho, foi utilizado o browser Xj3D, a API
                                                             SAI (Scene Access Interface) que permite manipulação do
       Figura 1. Ilustração do modelo de Von Neumann.[3]     grafo de cena X3D, e a linguagem de programação Java,
                                                             para programar toda interatividade do aplicativo.

    Para o ensino de arquitetura de computadores, é                      IV.   SIMULADOR DESENVOLVIDO
importante demonstrar o conceito de pipeline, técnica que        O simulador produzido demonstra o funcionamento do
permite que a unidade central de processamento realize a     processador didático apresentado em [3], que apesar de
busca de uma ou mais instruções além da próxima a ser        não ser comercial é implementável.
executada. Estas instruções são colocadas em uma fila de         O nível de microarquitetura que será descrito tem a
memória dentro da CPU onde aguardam o momento de             função de simular o nível ISA (Instruction Set
serem executadas. Tal técnica permite que o tempo de         Architecture – Arquitetura do Conjunto de Instruções). O
processamento de uma instrução seja inferior ao que seria    caminho de dados utilizado para a simulação é a parte da
gasto caso o pipeline não fosse utilizado. A estratégia do
                                                             CPU que contém a ULA (Unidade Lógica e Aritmética), e
pipeline é demonstrada na Figura 2.
                                                             suas entradas e saídas. Ele contém vários registradores aos
                                                             quais foram atribuídos nomes simbólicos como PC, SP,
                                                             MDR e MBR, que foi dividido em MBR1 com 8 bits e
                                                             MBR2 com 16 bits (Figura 3). É importante ressaltar que
                                                             esses registradores são acessíveis apenas no nível de
                                                             microarquitetura, pelo microprograma.
                                                                 A fim de que o comprimento do caminho de execução
                                                             da instrução seja menor, foram utilizados dois
                                                             barramentos completos de entrada para a ULA
                                                             (barramentos A e B) e um barramento de saída (Figura 3).
                                                             A maioria dos registradores deve ter acesso a ambos os
                                                             barramentos de entrada. A vantagem de ter dois
          Figura 2. Ilustração da estratégia Pipeline.[3]    barramentos de entrada é que é possível adicionar um
                                                             registrador a outro registrador em um único ciclo.
B. X3D
    O X3D (Extensible 3D) é um padrão aberto adotado
internacionalmente para disponibilização de conteúdos
tridimensionais na Web[4]. Ele permite descrever em um
Figura 4. Tutorial com ilustração do processador Mic-4.[3]




  Figura 3. Caminho de Dados Construído por Regitradores e ULA
              (Fonte: adaptada de Tanembaum[3] )




    Inicialmente o simulador havia sido desenvolvido para
ser uma ferramenta desktop[5][6], entretanto, para facilitar
o acesso por outras Instituições de Ensino, professores e            Figura 5. Tutorial contendo explicação dos componentes do
alunos, e proporcionar um incentivo à prática da Educação                                processador Mic-4.
à Distância, optou-se por disponibilizar o simulador em
um sítio da Internet (http://seac.pet.di.ufpb.br). Neste
sítio, todo o projeto é contextualizado, explicando os               No sitio há dois questionários, os quais tem o
objetivos do mesmo, apresentando o processador utilizado         propósito de dar feedback para os responsáveis pela
para simulação e vídeos-tutoriais de como o mesmo deve           ferramenta. Para que isso ocorra, ambos precisam ser
ser utilizado. Adicionalmente, foram incluídos                   respondidos no momento correto, o primeiro deve ser
questionários para que seja obtido feedback do que se            utilizado antes da utilização do SEAC e o segundo logo
pode melhorar, e se a ferramenta é eficaz (no sentido de         após. O primeiro questionário é composto por perguntas
transmitir conhecimento aos alunos). Para excluir                sobre arquitetura de computadores, em específico sobre a
qualquer processo complicado de instalação ou                    microarquitetura do processador MIC-4. O segundo
configuração da ferramenta e visando torná-la                    questionário possui as mesmas perguntas presentes no
multiplataforma, optou-se por utilizar a tecnologia Java         primeiro com adição de perguntas referentes à usabilidade
Applets[10], que requer apenas a instalação de Java              e experiência de uso do SEAC. Através do cruzamento
(presente na maioria dos computadores), e um navegador           das respostas dadas nos dois questionários sobre o
de Internet. Portanto, uma vez que se tenha o Java               conteúdo, pretende-se avaliar se o simulador está
instalado na máquina, a execução do simulador é                  cumprindo sua função de ensinar tais conteúdos e as
“transparente”, bastando o usuário acessar o sítio               demais perguntas do segundo questionário servem para
supracitado.                                                     avaliar a usabilidade da ferramenta e colher dados para
    A apresentação do processador Mic-4, feita no sítio,         futuras melhorias.
explica resumidamente o que é cada componente do                     Vídeos são disponibilizados aos usuários, dentre eles,
mesmo e sua funcionalidade [3] e pode ser demonstrada            um que explica o site e como se deve utilizar a
nas figuras 4 e 5.                                               ferramenta, servindo de tutorial para os usuários que estão
tendo o primeiro contato com o SEAC. Além do vídeo-         execução da instrução, focando nos blocos que estão
tutorial também são disponibilizados vídeos com a           sendo utilizados em determinado momento da simulação.
exibição de uma mesma instrução com pipeline e sem
pipeline, o que possibilita ao usuário ver, ao menos, uma
                                                            A. Representação do Pipeline
ilustração da instrução sendo executada pela ferramenta,
mesmo que tenha algum problema em sua utilização,
como por exemplo, tentar usar o SEAC através de um              O simulador SEAC visa apresentar aos alunos novos
smartphone.                                                 conceitos relacionados à arquitetura de processadores:
    O simulador é composto por uma interface gráfica que    memórias, barramentos, registradores, decodificadores,
contém uma lista das instruções disponíveis, uma breve      micro-instruções, etc. Um dos conceitos mais
descrição do objetivo da instrução escolhida e um espaço    interessantes relacionados ao processador é o pipeline,
reservado para o visualizador da simulação. Ao escolher a   que possibilita a execução de uma instrução com mais
instrução desejada, uma breve descrição com o objetivo      velocidade apenas alterando o modo de execução das
da instrução é exibida, além das micro-instruções a serem   micro-instruções.
efetuadas. A Figura 6 exibe um usuário escolhendo a             Sabe-se que quando um processador executa uma
instrução IAND, descrita em Tanenbaum[3], para ser          instrução, suas micro-instruções geralmente percorrem o
executada pelo simulador.                                   seguinte caminho: Registradores  ULA 
                                                            Registradores  Memória. Quando essa instrução é
                                                            executada sem pipeline, uma micro-instrução deve
                                                            percorrer solitariamente todo o caminho para que depois a
                                                            próxima micro-instrução possa começar a percorrer o
                                                            mesmo caminho (Figura 8). Quando a instrução é
                                                            executada com pipeline, as micro-instruções podem
                                                            percorrer este caminho simultaneamente, uma após outra,
                                                            e é este fato que torna o pipeline uma estratégia mais
                                                            eficiente (Figura 9).
                                                                No simulador SEAC, foi utilizado um tempo de
                Figura 6. Menu de instruções                aproximadamente 5 segundos para representar cada clock
                                                            e diferentes cores para identificar a execução de cada
                                                            micro-instrução. Desse modo, a cada 5 segundos é
    Ao pressionar o botão “SIMULAR”, a ferramenta           possível perceber uma micro-instrução percorrendo seu
carrega a instrução escolhida, e executa lentamente as      caminho do registrador à memória.
micro-instruções para que o aluno possa compreender o
funcionamento da mesma, ou para que um professor que
utilize a ferramenta para fins didáticos tenha tempo de
explicar cada passo da simulação. A Figura 7 exibe a
simulação da instrução IAND.




                                                                   Figura 8. Simulação da Instrução IAND sem pipeline



            Figura 7. Simulação da Instrução IAND

    A memória e todos os outros elementos do
processador são representados em um contexto gráfico. A
simulação demonstra a sequência de passos da execução
de uma instrução na Figura 7, 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,
demonstrando o conceito de pipeline. Para melhor                       Figura 9. Simulação da IAND com pipeline
visualização, a câmera acompanha o fluxo de passos da
V.    CONCLUSÃO E TRABALHOS FUTUROS                   o processador lida com várias instruções, e também
    O entendimento do funcionamento de uma                    enfatizar ainda mais a importância do pipeline.
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                                        REFERÊNCIAS
contexto.
                                                              [1]    A. A. Moreira, C. A. P. S. Martins, “R2DSim: Simulador Didático
    A partir dessa constatação, o simulador proposto foi             do RISC Reconfigurável”. 2009.
desenvolvido visando facilitar o entendimento da              [2]    A. B. Verona, J. A. Martini, T. L. Gonçalves, “SIMAEAC: Um
arquitetura baseada no modelo de Von Neumann. O                      Simulador Acadêmico para Ensino de Arquitetura de
SEAC foi gerado com o intuito de facilitar a                         Computadores”. 2009.
compreensão, contendo uma apresentação intuitiva das          [3]    A. S. Tanenbaum, “Organização Estruturada de Computadores”,
                                                                     Editora Prentice-Hall. 2006.
informações ao usuário pelo simulador. Os trabalhos
                                                              [4]     D. Brutzman, L. Daly, “X3D: 3D Graphics for Web Authors”.
correlatos encontrados na literatura apresentam apenas               Morgan Kaufmann Publishers. 2007.
informações textuais dos valores de registradores, flags e    [5]    E. L. Falcão, E. V. C. L. Borges, I. L. P. Andrezza, G. S. Silva, B.
memória, e algumas estatísticas.                                     É. S. Cavalcante, H. S. Silva, "Ambiente de Simulação Gráfica 3D
    O presente trabalho propõe que o fluxo de informações            para Ensino da Arquitetura de Processadores", XIX Workshop
do processador seja ilustrado através de um ambiente                 sobre Educação em Computação, 2011.
gráfico, que torna simples a visualização de informações      [6]    E. L. Falcão, E. V. C. L. Borges, I. L. P. Andrezza, G. S. Silva, B.
                                                                     É. S. Cavalcante, H. S. Silva, "Simulador Gráfico 3D para Ensino
saindo de um objeto como o barramento, registrador, ou               da Arquotetura de Processadores", Escola Paraibana de
ULA, para outros através da mudança de cores dos                     Informática, 2011.
mesmos. O principal objetivo desse simulador é facilitar a    [7]     J. A. S. Borges, G. P. Silva “NeanderWin - Um Simulador
aprendizagem de arquitetura de computadores dos alunos               Didático para uma Arquitetura do Tipo Acumulador”. WEAC,
                                                                     2006.
de cursos da Ciência da Computação e similares no estudo
                                                              [8]    M. Scott, “WinMips64, version 1.5, School of Computing, Dublin
da disciplina. Outra característica que o diferencia                 City                                       University,     Ireland”,
positivamente, em relação aos demais simuladores citados             http://www.computing.dcu.ie/~mike/winmips64.html. 2006. 20 de
nesse trabalho, é a possibilidade de visualizar uma mesma            Julho de 2009.
instrução sendo executado em uma mesma arquitetura de         [9]    M. Wolff e L. Wills, “SATSim: A Superscalar Architecture Trace
processador, com e sem o uso do pipeline, facilitando de             Simulator Using Interactive Animation”, WCAE: Workshop On
                                                                     Computer Architecture Education, Vancouver, Canada. 2010
forma substancial a compreensão dessa importante
                                                              [10]   Oracle Java Applet, "Java Applets", http://java.sun.com/applets, 30
evolução ocorrida na área. O simulador foi                           de Agosto de 2012.
disponibilizado via Web para facilitar o acesso dos           [11]   R. Zelenovsky, “PC: um guia Prático de Hardware e
interessados, possibilitando uma facilidade para a prática           Interfaceamento”, Editora MZ Produções Culturais. 2010.
da Educação à Distância.                                      [12]   Web3D – Part 2: Scene Access Interface, “Extensible 3D (X3D).
    Para trabalhos futuros propõe-se a realização de uma             Part 2: Scene access interface (SAI). ISO/IEC 197752.2: 2009”,
avaliação do uso do simulador por estudantes para coletar            http://www.web3d.org/x3d/specifications/ISOIECFDIS197752.2X
                                                                     3DSceneAccessInterface/index.html. Março de 2010.
a impressão destes e verificar a facilidade de uso e o grau
                                                              [13]   Web3D Consortium, “X3D – FAQ (Frequented Asked
de aprendizado adquirido, para posteriormente aperfeiçoar            Questions)”, http://www.lsi.usp.br/~lsoares/x3d/faq.html. Março de
a aplicação. Propõe-se também a possibilidade de                     2011.
visualizar mais de uma instrução sendo executada na           [14]   Z.      Sridhar,    (2002)     “GNUSim8085,         versão      1.3”,
mesma simulação, que facilitará o entendimento de como               http://gnusim8085.sourceforge.net/index.php/Main_Page, 23 de
                                                                     Junho de 2009.

Más contenido relacionado

La actualidad más candente

Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioSuzana Viana Mota
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos iiCarlos Melo
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10ºteacherpereira
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computadorFilipe Duarte
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windowsIvam KN
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadoressetilsonadobmov
 
Vantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesVantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesMarco Martins
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorSuzana Viana Mota
 
Montagem de computadores aula 1
Montagem de computadores   aula 1Montagem de computadores   aula 1
Montagem de computadores aula 1Michel Chagas
 
Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresJorge Ávila Miranda
 
Arquitetura de Hardware
Arquitetura de HardwareArquitetura de Hardware
Arquitetura de HardwareMiguel Correia
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 

La actualidad más candente (20)

Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema Binário
 
Aula 08 - Placa Mãe
Aula 08 - Placa MãeAula 08 - Placa Mãe
Aula 08 - Placa Mãe
 
Hardware
HardwareHardware
Hardware
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos ii
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Informática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - HardwareInformática Básica - Aula 03 - Hardware
Informática Básica - Aula 03 - Hardware
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computador
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windows
 
Aula 01 chipset
Aula 01   chipsetAula 01   chipset
Aula 01 chipset
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadores
 
Vantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesVantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redes
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 
Montagem de computadores aula 1
Montagem de computadores   aula 1Montagem de computadores   aula 1
Montagem de computadores aula 1
 
Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de Computadores
 
Arquitetura de Hardware
Arquitetura de HardwareArquitetura de Hardware
Arquitetura de Hardware
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 

Destacado

Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresEduardo de Lucena Falcão
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para AndroidNelson Glauber Leal
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na PraticaAlessandro Kieras
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 

Destacado (6)

Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
 
8085 2
8085 28085 2
8085 2
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para Android
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 

Similar a SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores

Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMarcelo Mrack
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Marcius Brandão
 
seminario_IC2011_VictorSanchez
seminario_IC2011_VictorSanchezseminario_IC2011_VictorSanchez
seminario_IC2011_VictorSanchezrolisanchez
 
Gerencia memoria simulador
Gerencia memoria simuladorGerencia memoria simulador
Gerencia memoria simuladormarcosfon
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaEduardo de Lucena Falcão
 
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Opencadd Advanced Technology
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Programação avançada
Programação avançada Programação avançada
Programação avançada Ilídio Costa
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisCaio Ribeiro Pereira
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção FonograficaLuiz Avelar
 
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...Alessandro Marchi Panaccione
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração DigitalLuiz Avelar
 

Similar a SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores (20)

10
1010
10
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
 
seminario_IC2011_VictorSanchez
seminario_IC2011_VictorSanchezseminario_IC2011_VictorSanchez
seminario_IC2011_VictorSanchez
 
Gerencia memoria simulador
Gerencia memoria simuladorGerencia memoria simulador
Gerencia memoria simulador
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataforma
 
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Programação avançada
Programação avançada Programação avançada
Programação avançada
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
 
Artigo jaquiel-paim-final
Artigo jaquiel-paim-finalArtigo jaquiel-paim-final
Artigo jaquiel-paim-final
 
Arquitetura paralela
Arquitetura paralelaArquitetura paralela
Arquitetura paralela
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção Fonografica
 
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Cole...
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração Digital
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
 

Más de Eduardo de Lucena Falcão

Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSEduardo de Lucena Falcão
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Eduardo de Lucena Falcão
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchEduardo de Lucena Falcão
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoEduardo de Lucena Falcão
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...Eduardo de Lucena Falcão
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...Eduardo de Lucena Falcão
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Eduardo de Lucena Falcão
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASEduardo de Lucena Falcão
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaEduardo de Lucena Falcão
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I Eduardo de Lucena Falcão
 

Más de Eduardo de Lucena Falcão (20)

Dais 2015
Dais 2015Dais 2015
Dais 2015
 
Wcga 2015
Wcga 2015Wcga 2015
Wcga 2015
 
Minicurso sobre X3D
Minicurso sobre X3DMinicurso sobre X3D
Minicurso sobre X3D
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNS
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Aula 4 - Introdução a aws
Aula 4 - Introdução a awsAula 4 - Introdução a aws
Aula 4 - Introdução a aws
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
Apresentação do Curso
Apresentação do CursoApresentação do Curso
Apresentação do Curso
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústria
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
E-Info
E-InfoE-Info
E-Info
 

SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores

  • 1. SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores Erick Vagner Cabral de Lima Borges, Igor Lucena Peixoto Andrezza, Eduardo de Lucena Falcão, Glauco Sousa e Silva, Hamilton Soares da Silva Departamento de Informática Universidade Federal da Paraíba - UFPB João Pessoa, Paraíba, {erickvagnerr, igorlpa90, eduardolfalcao, glauco.sousa6}@gmail.com, hamilton@di.ufpb.br Resumo — No ensino de arquitetura de computadores, um ou são executados no DOS apenas exibindo os valores dos principais desafios é fazer com que os alunos presentes nos registradores, tornando a aprendizagem do compreendam com mais facilidade o funcionamento de um funcionamento da arquitetura do processador uma tarefa processador. Para auxiliar a esta tarefa, são utilizadas longa e tediosa. aplicações que simulam tais arquiteturas. A proposta do Para auxiliar esta tarefa, foi desenvolvida uma presente trabalho é desenvolver uma aplicação, disponibilizada na web, que simule visualmente as instruções aplicação com objetivo de prover maior motivação e de uma arquitetura didática e implementável. É possível interesse por parte dos alunos em participar das aulas de visualizar a simulação de tais instruções com ou sem arquitetura de computadores. Recursos como animações pipeline, o que facilita a compreensão das mesmas e do gráficas estão sendo utilizados para facilitar o funcionamento de um processador enquanto as executam. entendimento do funcionamento dos processadores, já que na prática não é possível ver o caminho percorrido pela Palavras-chave: simulador online, arquitetura de informação processada. Este simulador não exige do computadores, educação. aluno nenhum grau de programação para que a arquitetura seja demonstrada, e dessa forma, é possível efetuar um I. INTRODUÇÃO estudo detalhado dos elementos presentes na arquitetura do processador, assim como conhecer e entender o fluxo Aplicações para o ensino tem tido uma importância que uma instrução percorre. cada vez maior no cenário educacional, pois facilitam a transmissão do conhecimento de professores para alunos II. TRABALHOS RELACIONADOS através de métodos dinâmicos, massificando uma aula Existem muitas ferramentas que simulam para múltiplos ramos sem que haja grandes esforços ou processadores. Como exemplos temos o Abacus, repetições desnecessárias. O uso da computação gráfica WinMIPS64 [8], SATSim [9] e o GNUSim8085[14] . para auxiliar o desenvolvimento dos métodos e aplicações O Abacus (desenvolvido para Windows) e o de aprendizagem tem se mostrado útil em diferentes áreas. GNUSim8085 (desenvolvido para plataformas Unix) Como exemplo, pode ser citado o uso de CAD, sistemas simulam o microprocessador 8085 da Intel, o qual vem computacionais que auxiliam na construção de desenhos sendo base do ensino de arquitetura de computadores, técnicos na geologia, engenharia e arquitetura, visando devido a sua simplicidade, seguindo o modelo de Von facilitar o desenvolvimento de um projeto, além de seu Neumann e sem possuir pipeline. Ambos apresentam os ensino e entendimento por outros. valores dos registradores no decorrer da execução das Um dos principais problemas encontrados no ensino instruções, além de exibir o conteúdo presente na de arquitetura de computadores é o de facilitar a memória do processador. aprendizagem do correto funcionamento de um O simulador WinMIPS64 simula a arquitetura do processador para os alunos e proporcionar também uma processador MIPS64, que utiliza o pipeline. Essa visão comparativa sobre algumas possibilidades ferramenta possibilita a visualização das instruções arquiteturais. Um desafio ainda maior é tornar o conteúdo passando pelos registradores, exibindo os valores atrativo visualmente, pois nesse contexto, objetos físicos presentes neles. para auxilio as aulas podem tornar os processadores um Para o ensino de arquiteturas superescalares há o assunto de difícil entendimento. SATSim que não se baseia em nenhum processador real, Os simuladores atuais, que estão disponíveis para o dessa maneira ele possibilita a configuração da quantidade de unidades funcionais por tipo de instrução, o número de ensino, apresentam uma interface com usuário pouco elementos por buffer de reordenação, e o número de elaborada, possuindo poucos recursos operacionais, e instruções buscadas por ciclo, etc. ainda que considerem o uso das arquiteturas mais simples, é usual por parte dos alunos ter certa dificuldade de trabalhar com eles [7]. Muitos destes simuladores exigem que os alunos codifiquem o sistema, sendo necessário conhecimento de programação em linguagem de máquina,
  • 2. III. FUNDAMENTAÇÃO TEÓRICA arquivo, formas e comportamentos de ambientes virtuais tridimensionais complexos e interativos. A. Arquitetura de Processadores A visualização destas cenas descritas em X3D é É necessário conhecer a arquitetura interna de um realizada através de browsers específicos que consistem processador para facilitar a compreensão de como ele em aplicações capazes de interpretar e processar os executa os programas. Em um processador existem vários arquivos X3D, apresentando os modelos tridimensionais circuitos chamados de registradores que funcionam como (animados ou não) e permitindo interações do usuário posições de memória cujo acesso é extremamente rápido. com os objetos. Os browsers X3D (também chamados de Todos os processadores usam linguagens baseadas em navegadores ou players) podem se apresentar como códigos numéricos na memória, nos quais cada código plugins ou applets em navegadores Web como o Mozilla significa uma instrução no qual chamamos de linguagem Firefox ou Google Chrome, ou como aplicações de máquina. Estes códigos numéricos são representados independentes [13]. por siglas que simbolizam os nomes das instruções, e os Para a formação gráfica da cena são utilizados os nós operandos dessas instruções são os registradores, valores X3D, que por sua vez compõem o grafo de cena. Cada nó existentes na memória ou valores constantes. é formado por uma seqüência específica de campos. Os Alguns processadores são baseados no modelo nós descrevem as funcionalidades disponibilizadas pelo arquitetural de Von Neumann, que considera uma unidade central de processamento (CPU) com apenas uma unidade X3D, e os campos servem para especificar os atributos e funcional, podendo buscar apenas uma instrução por ciclo características dos nós X3D utilizadas para descrição de execução como demonstrado na Figura 1. 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 da cena através de linguagens de programação [12]. Para este trabalho, foi utilizado o browser Xj3D, a API SAI (Scene Access Interface) que permite manipulação do Figura 1. Ilustração do modelo de Von Neumann.[3] grafo de cena X3D, e a linguagem de programação Java, para programar toda interatividade do aplicativo. Para o ensino de arquitetura de computadores, é IV. SIMULADOR DESENVOLVIDO importante demonstrar o conceito de pipeline, técnica que O simulador produzido demonstra o funcionamento do permite que a unidade central de processamento realize a processador didático apresentado em [3], que apesar de busca de uma ou mais instruções além da próxima a ser não ser comercial é implementável. executada. Estas instruções são colocadas em uma fila de O nível de microarquitetura que será descrito tem a memória dentro da CPU onde aguardam o momento de função de simular o nível ISA (Instruction Set serem executadas. Tal técnica permite que o tempo de Architecture – Arquitetura do Conjunto de Instruções). O processamento de uma instrução seja inferior ao que seria caminho de dados utilizado para a simulação é a parte da gasto caso o pipeline não fosse utilizado. A estratégia do CPU que contém a ULA (Unidade Lógica e Aritmética), e pipeline é demonstrada na Figura 2. suas entradas e saídas. Ele contém vários registradores aos quais foram atribuídos nomes simbólicos como PC, SP, MDR e MBR, que foi dividido em MBR1 com 8 bits e MBR2 com 16 bits (Figura 3). É importante ressaltar que esses registradores são acessíveis apenas no nível de microarquitetura, pelo microprograma. A fim de que o comprimento do caminho de execução da instrução seja menor, foram utilizados dois barramentos completos de entrada para a ULA (barramentos A e B) e um barramento de saída (Figura 3). A maioria dos registradores deve ter acesso a ambos os barramentos de entrada. A vantagem de ter dois Figura 2. Ilustração da estratégia Pipeline.[3] barramentos de entrada é que é possível adicionar um registrador a outro registrador em um único ciclo. B. X3D O X3D (Extensible 3D) é um padrão aberto adotado internacionalmente para disponibilização de conteúdos tridimensionais na Web[4]. Ele permite descrever em um
  • 3. Figura 4. Tutorial com ilustração do processador Mic-4.[3] Figura 3. Caminho de Dados Construído por Regitradores e ULA (Fonte: adaptada de Tanembaum[3] ) Inicialmente o simulador havia sido desenvolvido para ser uma ferramenta desktop[5][6], entretanto, para facilitar o acesso por outras Instituições de Ensino, professores e Figura 5. Tutorial contendo explicação dos componentes do alunos, e proporcionar um incentivo à prática da Educação processador Mic-4. à Distância, optou-se por disponibilizar o simulador em um sítio da Internet (http://seac.pet.di.ufpb.br). Neste sítio, todo o projeto é contextualizado, explicando os No sitio há dois questionários, os quais tem o objetivos do mesmo, apresentando o processador utilizado propósito de dar feedback para os responsáveis pela para simulação e vídeos-tutoriais de como o mesmo deve ferramenta. Para que isso ocorra, ambos precisam ser ser utilizado. Adicionalmente, foram incluídos respondidos no momento correto, o primeiro deve ser questionários para que seja obtido feedback do que se utilizado antes da utilização do SEAC e o segundo logo pode melhorar, e se a ferramenta é eficaz (no sentido de após. O primeiro questionário é composto por perguntas transmitir conhecimento aos alunos). Para excluir sobre arquitetura de computadores, em específico sobre a qualquer processo complicado de instalação ou microarquitetura do processador MIC-4. O segundo configuração da ferramenta e visando torná-la questionário possui as mesmas perguntas presentes no multiplataforma, optou-se por utilizar a tecnologia Java primeiro com adição de perguntas referentes à usabilidade Applets[10], que requer apenas a instalação de Java e experiência de uso do SEAC. Através do cruzamento (presente na maioria dos computadores), e um navegador das respostas dadas nos dois questionários sobre o de Internet. Portanto, uma vez que se tenha o Java conteúdo, pretende-se avaliar se o simulador está instalado na máquina, a execução do simulador é cumprindo sua função de ensinar tais conteúdos e as “transparente”, bastando o usuário acessar o sítio demais perguntas do segundo questionário servem para supracitado. avaliar a usabilidade da ferramenta e colher dados para A apresentação do processador Mic-4, feita no sítio, futuras melhorias. explica resumidamente o que é cada componente do Vídeos são disponibilizados aos usuários, dentre eles, mesmo e sua funcionalidade [3] e pode ser demonstrada um que explica o site e como se deve utilizar a nas figuras 4 e 5. ferramenta, servindo de tutorial para os usuários que estão
  • 4. tendo o primeiro contato com o SEAC. Além do vídeo- execução da instrução, focando nos blocos que estão tutorial também são disponibilizados vídeos com a sendo utilizados em determinado momento da simulação. exibição de uma mesma instrução com pipeline e sem pipeline, o que possibilita ao usuário ver, ao menos, uma A. Representação do Pipeline ilustração da instrução sendo executada pela ferramenta, mesmo que tenha algum problema em sua utilização, como por exemplo, tentar usar o SEAC através de um O simulador SEAC visa apresentar aos alunos novos smartphone. conceitos relacionados à arquitetura de processadores: O simulador é composto por uma interface gráfica que memórias, barramentos, registradores, decodificadores, contém uma lista das instruções disponíveis, uma breve micro-instruções, etc. Um dos conceitos mais descrição do objetivo da instrução escolhida e um espaço interessantes relacionados ao processador é o pipeline, reservado para o visualizador da simulação. Ao escolher a que possibilita a execução de uma instrução com mais instrução desejada, uma breve descrição com o objetivo velocidade apenas alterando o modo de execução das da instrução é exibida, além das micro-instruções a serem micro-instruções. efetuadas. A Figura 6 exibe um usuário escolhendo a Sabe-se que quando um processador executa uma instrução IAND, descrita em Tanenbaum[3], para ser instrução, suas micro-instruções geralmente percorrem o executada pelo simulador. seguinte caminho: Registradores  ULA  Registradores  Memória. Quando essa instrução é executada sem pipeline, uma micro-instrução deve percorrer solitariamente todo o caminho para que depois a próxima micro-instrução possa começar a percorrer o mesmo caminho (Figura 8). Quando a instrução é executada com pipeline, as micro-instruções podem percorrer este caminho simultaneamente, uma após outra, e é este fato que torna o pipeline uma estratégia mais eficiente (Figura 9). No simulador SEAC, foi utilizado um tempo de Figura 6. Menu de instruções aproximadamente 5 segundos para representar cada clock e diferentes cores para identificar a execução de cada micro-instrução. Desse modo, a cada 5 segundos é Ao pressionar o botão “SIMULAR”, a ferramenta possível perceber uma micro-instrução percorrendo seu carrega a instrução escolhida, e executa lentamente as caminho do registrador à memória. micro-instruções para que o aluno possa compreender o funcionamento da mesma, ou para que um professor que utilize a ferramenta para fins didáticos tenha tempo de explicar cada passo da simulação. A Figura 7 exibe a simulação da instrução IAND. Figura 8. Simulação da Instrução IAND sem pipeline Figura 7. Simulação da Instrução IAND A memória e todos os outros elementos do processador são representados em um contexto gráfico. A simulação demonstra a sequência de passos da execução de uma instrução na Figura 7, 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, demonstrando o conceito de pipeline. Para melhor Figura 9. Simulação da IAND com pipeline visualização, a câmera acompanha o fluxo de passos da
  • 5. V. CONCLUSÃO E TRABALHOS FUTUROS o processador lida com várias instruções, e também O entendimento do funcionamento de uma enfatizar ainda mais a importância do pipeline. 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 REFERÊNCIAS contexto. [1] A. A. Moreira, C. A. P. S. Martins, “R2DSim: Simulador Didático A partir dessa constatação, o simulador proposto foi do RISC Reconfigurável”. 2009. desenvolvido visando facilitar o entendimento da [2] A. B. Verona, J. A. Martini, T. L. Gonçalves, “SIMAEAC: Um arquitetura baseada no modelo de Von Neumann. O Simulador Acadêmico para Ensino de Arquitetura de SEAC foi gerado com o intuito de facilitar a Computadores”. 2009. compreensão, contendo uma apresentação intuitiva das [3] A. S. Tanenbaum, “Organização Estruturada de Computadores”, Editora Prentice-Hall. 2006. informações ao usuário pelo simulador. Os trabalhos [4] D. Brutzman, L. Daly, “X3D: 3D Graphics for Web Authors”. correlatos encontrados na literatura apresentam apenas Morgan Kaufmann Publishers. 2007. informações textuais dos valores de registradores, flags e [5] E. L. Falcão, E. V. C. L. Borges, I. L. P. Andrezza, G. S. Silva, B. memória, e algumas estatísticas. É. S. Cavalcante, H. S. Silva, "Ambiente de Simulação Gráfica 3D O presente trabalho propõe que o fluxo de informações para Ensino da Arquitetura de Processadores", XIX Workshop do processador seja ilustrado através de um ambiente sobre Educação em Computação, 2011. gráfico, que torna simples a visualização de informações [6] E. L. Falcão, E. V. C. L. Borges, I. L. P. Andrezza, G. S. Silva, B. É. S. Cavalcante, H. S. Silva, "Simulador Gráfico 3D para Ensino saindo de um objeto como o barramento, registrador, ou da Arquotetura de Processadores", Escola Paraibana de ULA, para outros através da mudança de cores dos Informática, 2011. mesmos. O principal objetivo desse simulador é facilitar a [7] J. A. S. Borges, G. P. Silva “NeanderWin - Um Simulador aprendizagem de arquitetura de computadores dos alunos Didático para uma Arquitetura do Tipo Acumulador”. WEAC, 2006. de cursos da Ciência da Computação e similares no estudo [8] M. Scott, “WinMips64, version 1.5, School of Computing, Dublin da disciplina. Outra característica que o diferencia City University, Ireland”, positivamente, em relação aos demais simuladores citados http://www.computing.dcu.ie/~mike/winmips64.html. 2006. 20 de nesse trabalho, é a possibilidade de visualizar uma mesma Julho de 2009. instrução sendo executado em uma mesma arquitetura de [9] M. Wolff e L. Wills, “SATSim: A Superscalar Architecture Trace processador, com e sem o uso do pipeline, facilitando de Simulator Using Interactive Animation”, WCAE: Workshop On Computer Architecture Education, Vancouver, Canada. 2010 forma substancial a compreensão dessa importante [10] Oracle Java Applet, "Java Applets", http://java.sun.com/applets, 30 evolução ocorrida na área. O simulador foi de Agosto de 2012. disponibilizado via Web para facilitar o acesso dos [11] R. Zelenovsky, “PC: um guia Prático de Hardware e interessados, possibilitando uma facilidade para a prática Interfaceamento”, Editora MZ Produções Culturais. 2010. da Educação à Distância. [12] Web3D – Part 2: Scene Access Interface, “Extensible 3D (X3D). Para trabalhos futuros propõe-se a realização de uma Part 2: Scene access interface (SAI). ISO/IEC 197752.2: 2009”, avaliação do uso do simulador por estudantes para coletar http://www.web3d.org/x3d/specifications/ISOIECFDIS197752.2X 3DSceneAccessInterface/index.html. Março de 2010. a impressão destes e verificar a facilidade de uso e o grau [13] Web3D Consortium, “X3D – FAQ (Frequented Asked de aprendizado adquirido, para posteriormente aperfeiçoar Questions)”, http://www.lsi.usp.br/~lsoares/x3d/faq.html. Março de a aplicação. Propõe-se também a possibilidade de 2011. visualizar mais de uma instrução sendo executada na [14] Z. Sridhar, (2002) “GNUSim8085, versão 1.3”, mesma simulação, que facilitará o entendimento de como http://gnusim8085.sourceforge.net/index.php/Main_Page, 23 de Junho de 2009.