You are on page 1of 44

Bipide

Ambiente de Desenvolvimento Integrado para


a Arquitetura dos Processadores BIP

por
Paulo Viníccius Vieira
Orientador: Prof. Dr. André Luis Alice Raabe
Co-orientador: Prof. Dr. Cesar Albenes Zeferino

Itajaí, julho de 2009


Sumário da apresentação

ü Introdução

ü Fundamentação Teórica

ü Desenvolvimento
ü Projeto
ü Implementação
ü Tecnologias utilizadas

ü Verificação e Avaliação
ü Considerações finais
Introdução
ü Contextualização e motivação

ü Alunos costumam apresentar dificuldades na


aprendizagem de Algoritmos e Programação

ü Alto nível de abstração apresentado nos conceitos de


programação
Introdução
ü Contextualização e motivação

ü As disciplinas de Arquitetura e Organização de


Computadores fornecem subsídios para compreensão
da lógica de programação

ü Permitem estabelecer relações dos conceitos de


programação com aspectos concretos do hardware
ü variáveis
ü atribuições
ü operações aritméticas
ü laços de repetição
Introdução
ü BIP - Basic Instruction-set Processor

ü Desenvolvido por pesquisadores do Laboratório de


Sistemas Embarcados e Distribuídos (LSED) – UNIVALI

ü Processador simplificado projetado para auxiliar o aprendizado

ü Utilizado para apresentação de conceitos básicos que permitem


relacionar programação alto nível com sua representação em
hardware
ü Usado em disciplinas como Computação Básica, Arquitetura de
Computadores, Programação, Circuitos Digitais
Introdução
ü Definição do problema

ü Alto nível de abstração apresentado nos conceitos de


programação
ü Simuladores focados na Arquitetura e Organização de
Computadores
ü Simuladores disponíveis para ensino costumam
apresentam uma interface de usuário pouco elaborada
ou com muitos recursos
ü Codificação do programa em linguagem baixo nível
Introdução
ü Solução proposta

ü Ambiente de Desenvolvimento Integrado (IDE) que


auxilie na utilização dos processadores BIP na
aprendizagem de programação:
ü criação e execução de programas em linguagem
Portugol
ü tradução em linguagem assembly
ü ilustração do estado dos componentes dos processadores
BIP
ü Redução da abstração envolvida nos conceitos de
Programação
Introdução
ü Objetivo geral

ü Construção de um ambiente de desenvolvimento


integrado que possibilite a criação de programas e
ilustre sua execução, relacionando-os aos aspectos da
arquitetura dos processadores BIP I e BIP II

Ambiente de Desenvolvimento Integrado


IDE

Processadores
BIP
Introdução
ü Objetivos específicos
ü Consolidar conceitos sobre Arquitetura e Organização
de computadores e Compiladores
ü Estudar a arquitetura dos processadores BIP
ü Implementar e disponibilizar um ambiente de
desenvolvimento integrado
ü programação em linguagem Portugol
ü visualização do assembly e do estado dos componentes
dos processadores BIP I e BIP II
ü Testar e verificar o sistema
ü Documentar e divulgar o projeto
Fundamentação teórica

ü Arquitetura e Organização de Computadores

ü Processadores BIP

ü Compiladores

ü Simuladores de Arquitetura
Fundamentação teórica

ü Processadores BIP
ü Desenvolvido por pesquisadores do Laboratório de
Sistemas Embarcados e Distribuídos (LSED) – UNIVALI
ü relacionar programação alto nível com sua representação em
hardware
ü auxiliar no aprendizado de Arquitetura e Organização de
Computadores

ü Três Versões:
ü BIP I, BIP II, μBIP
Fundamentação teórica

ü Processadores BIP
ü BIP I
ü níveis de linguagem
ü constantes e variáveis
ü representação de dados
ü conjuntos de instruções
ü geração de código em linguagem de máquina

ü BIP II
ü desvios condicionais e incondicionais
ü laços de repetição
Fundamentação teórica
ü Processadores BIP
ü Classes de Instruções

ü Transferência: STO, LD, LDI

ü Aritmética: ADD, ADDI, SUB e SUBI


BIP I

BIP II ü Controle: HLT

ü Desvio: BEQ, BNE, BGT, BGE,


BLT, BLE e JMP
Fundamentação teórica

ü BIP I
ü ULA
ü Registradores
ü PC
ü ACC
ü Baseado em
acumulador
Fundamentação teórica

ü BIP II
ü Registradores
ü PC
ü ACC
ü STATUS
ü Desvios e
laços de
repetição
Fundamentação teórica

ü Compiladores
ü programas de computador que traduzem de uma
linguagem para outra
Fundamentação teórica

ü Trabalhos Similares
ü Simuladores de Arquitetura
Fundamentação teórica
ü Simuladores de Arquitetura

possui não possui -não identificado


Desenvolvimento

ü Projeto

ü Implementação

ü Tecnologias Utilizadas
Projeto
ü Requisitos funcionais

ü O sistema deverá:
ü permitir ao usuário escrever programas em linguagem
Portugol
ü compilar os programas escritos
ü indicar os erros encontrados durante a compilação
ü permitir a execução do programa passo a passo
Projeto
ü Requisitos funcionais

ü O sistema deverá:
ü gerar código assembly para os processadores BIP I e BIP II
ü simular o funcionamento do programa sobre a arquitetura
dos processadores BIP I e BIP II
ü possuir janelas de ajuda
ü apresentar funcionalidades típicas de ambientes de
desenvolvimento
Projeto

ü Definição da linguagem
ü subconjunto da linguagem
Portugol que represente as
operações suportadas
Implementação

ü Implementação

ANTLRWorks
ü Compilador
ü Simulador
ü Interface (IDE)
Implementação

ü ANTLRWorks ANTLRWorks

ü Ferramenta para construção de compiladores


ü Construção de gramáticas próprias
ü Geração de componentes reconhecedores de linguagem
Implementação

ü WPF
ü Interface gráfica rica e interativa
ü Melhor experiência do usuário
ü leiautes avançados
ü suporte a gráficos vetoriais, 3D, áudio e vídeo
ü definição de animações

ü XAML
ü linguagem declarativa para a criação de interfaces
Implementação

ü XAML
ü Define os elementos de
interface com o usuário,
não sendo capaz de conter
nenhum tipo de lógica de
aplicação
Implementação

ü Expression Blend 2

ü Ferramenta de design interativo


ü aplicações em WPF e Silverlight

ü Interface orientada por design


ü controles padrões do Windows (botões, menus, etc.)
ü elementos gráficos e 3D
ü recursos de áudio e vídeo
ü animar propriedades individuais dos componentes ao longo do
tempo
Implementação
ü Expression Blend 2
Bipide
Verificação

ü Testes
ü Compilador
ü utilizado um conjunto de aplicações Portugol
ü após compilados, os códigos assembly gerados foram
analisados e comparados com os resultados esperados

Programa LD 1
Inicio ADD 2
x<-2
Fim
Verificação

ü Testes
ü Simulador
ü conjunto de instruções assembly para verificar o estado
esperado para os registradores e memórias
ü os valores resultantes foram analisados e comparados com o
obtido previamente na validação do processador µBIP

LD 1 ACC <- 3
ADD 2 PC <- 8
Avaliação

ü Avaliação

ü Aplicação de questionário
ü disciplina de Algoritmos e Programação – UNIVALI
ü 1º período (2009-I)

ü nº de alunos: 21
Avaliação

1. Você acha que o seu nível de conhecimento


foi compatível com as telas e vocabulário
empregado no sistema?

ü 66,67% (entre 8 e10)


Avaliação

2. As mensagens de erro lhe auxiliaram de


forma adequada?

ü 71,43% (entre 8 e10)


Avaliação

3. O sistema lhe proporcionou feedback, ou


seja, você conseguiu visualizar todas suas
ações?
ü 80,95% (entre 8 e10)
Avaliação

4. A estrutura dos painéis do menu lhe parece


disposta de forma lógica por agrupamento de
tipos de opções?
ü 90,48% (entre 8 e10)
Avaliação

5. Qual é o grau de satisfação que você atribui à


utilização do sistema?

ü 80,95% (entre 8 e10)


Avaliação

ü Resultado geral

ü 78,10% (entre 8 e10)


Considerações Finais
ü Pôde-se consolidar e aplicar uma série de conhecimentos
adquiridos durante o bacharelado em Ciência da Computação
ü Teve-se a possibilidade de conhecer e aplicar novas tecnologias
e ferramentas
ü A análise de ferramentas similares serviram para definir
características do ambiente Bipide
ü WPF e Expression Blend 2
ü facilidades para o desenvolvimento de aplicações que exigem
muitos recursos de interface
ü integradas às demais ferramentas e componentes utilizados
resultou em uma interface gráfica capaz de proporcionar uma
melhor experiência para o usuário
Considerações Finais
ü Os objetivos definidos para este trabalho
foram alcançados
Consolidar conceitos sobre Arquitetura e Organização de
computadores e Compiladores
Estudar a arquitetura dos processadores BIP
Implementar e disponibilizar um ambiente de desenvolvimento
integrado que possibilite a programação em linguagem Portugol e
visualização do assembly e do estado dos componentes dos
processadores BIP I e BIP II
Testar e verificar o sistema
Documentar e divulgar o projeto
Considerações Finais

ü Este trabalho é parte integrante de um projeto que visa


promover a integração interdisciplinar
ü permitir que os processadores da família BIP possam ser utilizados
em diferentes fases e disciplinas de cursos de graduação e pós-
graduação.
ü Busca-se ainda elucidar qual o impacto do uso de um
modelo simplificado de computador na compreensão de
conceitos básicos ligados ao ensino inicial de algoritmos
ü o ambiente Bipide irá permitir coletar evidências empíricas sobre a
vantagem em reduzir o nível de abstração envolvido nesta
aprendizagem
Considerações Finais

ü Trabalhos futuros
ü suporte a arquitetura do processador µBIP
ü utilização de diferentes linguagens de alto nível como C,
Java, entre outras
ü suporte a diferentes formatos numéricos
ü otimização do código assembly gerado
ü implementação e integração de novos módulos que
agreguem funcionalidades ao ambiente
ü desenvolvimento de uma versão on-line
ü avaliação da utilização da ferramenta em sala de aula
Referências

ü MORANDI, Diana ; PEREIRA, Maicon Carlos ; RAABE, André Luis Alice ;


ZEFERINO, Cesar Albenes . Um processador básico para o ensino de conceitos de
arquitetura e organização de computadores, 2006.

ü STALLINGS, William. Arquitetura e organização de computadores: projeto para o


desempenho. 5 ed. São Paulo: Prentice Hall, 2005.

ü VAHID, Frank, GIVARGIS, Tony, Embedded system design: a unified


hardware/software introduction, 2002.

ü PARR, Terence. ANTLR v3 Documentation. 2007. Disponível em:


<http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+documentation>. Acesso
em: 15 out 2007a.

ü WILLIAMS, Brennon. Microsoft Expression Blend Unleashed. Pearson Education:


Indianapolis, 2008.

ü MacVITTIE, Lory A. XAML in a Nutshell. Sebastopol: O'Reilly, 2006.


Bipide
Ambiente de Desenvolvimento Integrado para
a Arquitetura dos Processadores BIP
por
Paulo Viníccius Vieira
pauloviniccius@univali.br

Orientador: Prof. Dr. André Luis Alice Raabe


Co-orientador: Prof. Dr. Cesar Albenes Zeferino

Itajaí, julho de 2009

You might also like