Bipide - Apresentacao TCC II

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

description

Apresentação de TCC - Bipide: ambiente de desenvolvimento integrado para a arquitetura dos processadores BIP

Transcript of Bipide - Apresentacao TCC II

Page 1: Bipide - Apresentacao TCC II

Bipide

Ambiente de Desenvolvimento Integrado para

a Arquitetura dos Processadores BIP

por

Paulo Viníccius Vieira

Orientador: Prof. Dr. André Luis Alice RaabeCo-orientador: Prof. Dr. Cesar Albenes Zeferino

Itajaí, julho de 2009

Page 2: Bipide - Apresentacao TCC II

2

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

Page 3: Bipide - Apresentacao TCC II

3

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

Page 4: Bipide - Apresentacao TCC II

4

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

Page 5: Bipide - Apresentacao TCC II

5

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

Page 6: Bipide - Apresentacao TCC II

6

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

Page 7: Bipide - Apresentacao TCC II

7

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

Page 8: Bipide - Apresentacao TCC II

8

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

Processadores

IDE

BIP

Page 9: Bipide - Apresentacao TCC II

9

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

Page 10: Bipide - Apresentacao TCC II

10

Fundamentação teórica

Arquitetura e Organização de Computadores

Processadores BIP

Compiladores

Simuladores de Arquitetura

Page 11: Bipide - Apresentacao TCC II

11

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

Page 12: Bipide - Apresentacao TCC II

12

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

Page 13: Bipide - Apresentacao TCC II

13

Fundamentação teórica

Processadores BIP Classes de Instruções

Transferência: STO, LD, LDI

Aritmética: ADD, ADDI, SUB e SUBI

Controle: HLT

BIP I

BIP II

Desvio: BEQ, BNE, BGT, BGE,

BLT, BLE e JMP

Page 14: Bipide - Apresentacao TCC II

14

Fundamentação teórica

BIP I ULA Registradores

PC ACC

Baseado em acumulador

CPU

DatapathControl

Decoder

+

+/–

PCena

1

ACCenaWrAccSelB

SelA

Op

Extensão de Sinal

Data MemoryProgram Memory

WrAccOp

SelASelB

WrPC

Addr Data Addr In_Data Out_Data

WrRam

Wr

Opcode

Operand

Instruction

012

01

Page 15: Bipide - Apresentacao TCC II

15

Fundamentação teórica

CPU

DatapathControl

Decoder

+

1

Extensão de Sinal

Data MemoryProgram Memory

WrAccOp

SelASelB

WrPC

Addr Data Addr In_Data Out_Data

WrRam

Wr

Opcode N Z

Operand

Instruction

012

ACCenaWrAcc

SelA

SelB01

+/–Op

Branch

01

PCena

Z N

BIP II Registradores

PC ACC STATUS

Desvios e laços de repetição

Page 16: Bipide - Apresentacao TCC II

16

Fundamentação teórica

Compiladores programas de computador que traduzem de uma

linguagem para outra

ProgramaFonte

Análise Léxica

Análise Sintática

Análise Semântica

Programa Objeto

Análise Síntese

Compilador

Geração de Código

Page 17: Bipide - Apresentacao TCC II

17

Fundamentação teórica

Trabalhos Similares Simuladores de Arquitetura

Page 18: Bipide - Apresentacao TCC II

18

Fundamentação teórica

Características 4AC MipsItNeander

WinR10k Simularq

VLIW-DLX

Bipide

Programação em alto nível Programação em assembly Visualização da Memória Visualização dos valores dos registradores Execução Passo a Passo Simulação da Organização Identificação de erros de compilação - - - Alteração de valores em tempo de execução - -

Arquivos de Ajuda

Simuladores de Arquitetura

possui não possui -não identificado

Page 19: Bipide - Apresentacao TCC II

19

Desenvolvimento

Projeto

Implementação

Tecnologias Utilizadas

Page 20: Bipide - Apresentacao TCC II

20

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

Page 21: Bipide - Apresentacao TCC II

21

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

Page 22: Bipide - Apresentacao TCC II

22

Projeto

Definição da linguagem subconjunto da linguagem

Portugol que represente as operações suportadas

programa <nome_do_programa>declaracoes

<declaracao_de_variaveis>inicio

<instrucoes_do_programa>fim

programa somadeclaracoes

inteiro a, b, soma

inicioa <- 3b <- 2soma <- a + b

Fim

Page 23: Bipide - Apresentacao TCC II

23

Implementação

Implementação

Compilador Simulador Interface (IDE)

ANTLRWorks

Page 24: Bipide - Apresentacao TCC II

24

Implementação

ANTLRWorks ANTLRWorks

Ferramenta para construção de compiladores

Construção de gramáticas próprias

Geração de componentes reconhecedores de linguagem

Page 25: Bipide - Apresentacao TCC II

25

Implementação

WPF Interface gráfica rica e interativa Melhor experiência do usuário

leiautes avançadossuporte a gráficos vetoriais, 3D, áudio e vídeodefinição de animações

XAML linguagem declarativa para a criação de interfaces

Page 26: Bipide - Apresentacao TCC II

26

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

Page 27: Bipide - Apresentacao TCC II

27

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

Page 28: Bipide - Apresentacao TCC II

28

Implementação

Expression Blend 2

Page 29: Bipide - Apresentacao TCC II

29

Bipide

Page 30: Bipide - Apresentacao TCC II

30

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 Inicio x<-2 Fim

LD 1ADD 2

Page 31: Bipide - Apresentacao TCC II

31

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 1ADD 2

ACC <- 3PC <- 8

Page 32: Bipide - Apresentacao TCC II

32

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

Page 33: Bipide - Apresentacao TCC II

33

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)

Page 34: Bipide - Apresentacao TCC II

34

Avaliação

2. As mensagens de erro lhe auxiliaram de forma adequada?

71,43% (entre 8 e10)

Page 35: Bipide - Apresentacao TCC II

35

Avaliação

3. O sistema lhe proporcionou feedback, ou seja, você conseguiu visualizar todas suas ações?

80,95% (entre 8 e10)

Page 36: Bipide - Apresentacao TCC II

36

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)

Page 37: Bipide - Apresentacao TCC II

37

Avaliação

5. Qual é o grau de satisfação que você atribui à utilização do sistema?

80,95% (entre 8 e10)

Page 38: Bipide - Apresentacao TCC II

38

Avaliação

Resultado geral

78,10% (entre 8 e10)

Page 39: Bipide - Apresentacao TCC II

39

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

Page 40: Bipide - Apresentacao TCC II

40

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

Page 41: Bipide - Apresentacao TCC II

41

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

Page 42: Bipide - Apresentacao TCC II

42

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

Page 43: Bipide - Apresentacao TCC II

43

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.

Page 44: Bipide - Apresentacao TCC II

Bipide

Ambiente de Desenvolvimento Integrado para

a Arquitetura dos Processadores BIP

por

Paulo Viníccius [email protected]

Orientador: Prof. Dr. André Luis Alice RaabeCo-orientador: Prof. Dr. Cesar Albenes Zeferino

Itajaí, julho de 2009