bipide - apresentação tcc 1

37
Grupo de Sistemas Embarcados e Distribuídos Ambiente de Desenvolvimento Integrado para uma Arquitetura de Processador Simplificada por Paulo Viníccius Vieira Orientador: Prof. Dr. André Luis Alice Raabe Co-orientador: Prof. Dr. Cesar Albenes Zeferino Itajaí, 11 de dezembro de 2008

Upload: vinycc

Post on 11-Jun-2015

629 views

Category:

Documents


1 download

DESCRIPTION

apresentacao TCC 1 - Ambiente de Desenvolvimento integrado para a Arquitetura dos processadores BIP - BipIde

TRANSCRIPT

Page 1: BipIde - Apresentação TCC 1

Grupo de Sistemas Embarcados e Distribuídos

Ambiente de Desenvolvimento Integrado para uma Arquitetura de

Processador Simplificada

por

Paulo Viníccius Vieira

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

Itajaí, 11 de dezembro de 2008

Page 2: BipIde - Apresentação TCC 1

2

Sumário da apresentação

Introdução

Fundamentação teórica

Projeto

Considerações finais

Referências

Page 3: BipIde - Apresentação TCC 1

3

Introdução

Contextualização e motivação

Alunos costumam apresentar dificuldades na aprendizagem de conceitos de programação

As disciplinas de Arquitetura e Organização de Computadores fornecem subsídios para a aprendizagem e compreensão da lógica de programação

Page 4: BipIde - Apresentação TCC 1

4

Introdução

Contextualização e motivação

BIP – Basic Instruction-set Processor Processador simplificado projetado para auxiliar o aprendizado Utilizado para apresentação de conceitos básicos para um

melhor entendimento das abstrações utilizadas nas disciplinas da área de Algoritmos e Programação

Usado em disciplinas como Computação Básica, Arquitetura de Computadores, Programação, Circuitos Digitais

Page 5: BipIde - Apresentação TCC 1

5

Introdução

Contextualização e motivação

Simuladores de arquitetura 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 6: BipIde - Apresentação TCC 1

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 Codificação do programa em linguagem de máquina

Page 7: BipIde - Apresentação TCC 1

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 Portugolexibir a linguagem assembly ilustrar o estado dos componentes dos processadores

BIP

Page 8: BipIde - Apresentação TCC 1

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

Page 9: BipIde - Apresentação TCC 1

9

Introdução

Objetivos específicos Consolidar conceitos sobre compiladores e arquitetura

e organização de computadores Estudar a arquitetura dos processadores BIP Implementar e disponibilizar um ambiente de

desenvolvimento integrado programação em linguagem Portugolsimulação dos processadores BIP I e BIP II

Testar e verificar o sistema Documentar e redigir artigo

Page 10: BipIde - Apresentação TCC 1

10

Introdução

Justificativa Promove integração multidisciplinar Aplica e estende conceitos estudados na faculdade Será disponibilizada uma ferramenta que poderá ser

aplicada no ensino, possibilitando a integração entre conceitos da lógica de programação com aspectos de hardware, favorecendo o entendimento das abstrações utilizadas nas disciplinas da área de Algoritmos e Programação

Page 11: BipIde - Apresentação TCC 1

11

Fundamentação teórica

Arquitetura e Organização de Computadores

Processadores BIP

Compiladores

Simuladores de Arquitetura

Page 12: BipIde - Apresentação TCC 1

12

Fundamentação teórica

Arquitetura Refere-se aos atributos visíveis ao programador

Atributos arquiteturais Conjunto de instruções Formatos e tipos de dados Modos de endereçamento Memórias de programa e dados Registradores

Page 13: BipIde - Apresentação TCC 1

13

Fundamentação teórica

Conjunto de Instruções Todas as instruções reconhecidas por um computador

Classe de Instrução Grupos de instruções com propósito e formato

semelhante carga, armazenamento, aritmética, desvio

Page 14: BipIde - Apresentação TCC 1

14

Fundamentação teórica

Organização Trata de como o processador é implementado Refere-se aos atributos do processador não visíveis ao

programador

Caminho de Dados unidade de execução banco de registradores

Unidade de Controle gerencia o fluxo interno de dados, a memória e a comunicação com os

dispositivos de entrada e saída

Page 15: BipIde - Apresentação TCC 1

15

Fundamentação teórica

Organização da Memória

Processador Processador

Memória(Dados e Programa)

Memória de Dados

Memória de Programa

(a) Arquitetura Princeton (b) Arquitetura Harvard

Page 16: BipIde - Apresentação TCC 1

16

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 17: BipIde - Apresentação TCC 1

17

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 18: BipIde - Apresentação TCC 1

18

Fundamentação teórica

Processadores BIP

1 formato de instrução

Tipo de Dados: Inteiro

Modos de endereçamento Direto: O operando é um endereço da memória Imediato: O operando é uma constante

Page 19: BipIde - Apresentação TCC 1

19

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 20: BipIde - Apresentação TCC 1

20

Fundamentação teórica

BIP I Registradores:

PC e 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 21: BipIde - Apresentação TCC 1

21

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 22: BipIde - Apresentação TCC 1

22

Fundamentação teórica

Compiladores programas de computador que traduzem de uma

linguagem para outra

Programa Fonte

Programa ObjetoCompiladores

Page 23: BipIde - Apresentação TCC 1

23

Fundamentação teórica

Compiladores Etapas

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 24: BipIde - Apresentação TCC 1

24

Fundamentação teórica

Simuladores de Arquitetura Trabalhos similares

Page 25: BipIde - Apresentação TCC 1

25

Fundamentação teórica

Características 4AC MipsItNeander

WinR10k Simularq

VLIW-DLX

Ferramenta Proposta

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

Page 26: BipIde - Apresentação TCC 1

26

Projeto

Análise de requisitos

Definição da Linguagem

Protótipo de Interfaces

Planejamento do TCC II

Page 27: BipIde - Apresentação TCC 1

27

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çãopermitir a execução do programa passo a passogerar código de máquina para os processadores BIP I e

BIP II

Page 28: BipIde - Apresentação TCC 1

28

Projeto

Requisitos funcionais O sistema deverá:

simular o funcionamento do programa sobre a arquitetura dos processadores BIP I e BIP II

possuir janela de ajudaapresentar funcionalidades típicas de ambientes de

desenvolvimento gerenciamento de arquivos, identação destaque em palavras reservadas localizar e substituir

Page 29: BipIde - Apresentação TCC 1

29

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 30: BipIde - Apresentação TCC 1

30

Projeto

Conjunto de Símbolos Desvios Laços de repetição Operadores

Descrição Portugol

Declarações

programadeclaracoesdefinainiciofiminteiro

Desvios e laços de repetição

se ___ entaosenaofimseenquanto ___ facafimenquantofaca ___ enquantopara __ ate __ passo __ fimpara

Operadores

<-+, ->, <, <=, >=, !=, =

Page 31: BipIde - Apresentação TCC 1

31

Projeto

Protótipo de Interfaces

Page 32: BipIde - Apresentação TCC 1

32

Projeto

Planejamento do TCC II - Metodologia

Implementação Compilador Simulador Ajuda

Verificação Testes e experimentação no sistema

aplicações de teste

ANTLR

Page 33: BipIde - Apresentação TCC 1

33

Projeto

Planejamento do TCC II - Metodologia

Avaliação Experimento de utilização por alunos da disciplina de

algoritmos do primeiro semestre de 2009 identificar como o uso do sistema auxilia na redução da abstração instrumento de avaliação elaborado e aplicado com a turma de 2008/II

para avaliação comparativa

Documentação

Page 34: BipIde - Apresentação TCC 1

34

Projeto

Planejamento do TCC II Cronograma

Page 35: BipIde - Apresentação TCC 1

35

Considerações Finais

Projeto de uma IDE para uso em disciplinas de programação, permitindo relacionar conceitos de Arquitetura de Computadores com a lógica de programação

Revisão bibliográfica dos principais temas Arquitetura e Organização de Computadores Compiladores Processadores BIP

Trabalhos similares

Page 36: BipIde - Apresentação TCC 1

36

Referências

AHO, Alfred V. et al. Compiladores: princípios, técnicas e ferramentas. 2. ed. São Paulo: Pearson Addison-Wesley, 2008.

HENNESSY, John L.; PATTERSON, David A. Arquitetura de computadores: uma abordagem quantitativa, 2003.

LOUDEN, Kenneth C. Compiladores: princípios e práticas. São Paulo: Pioneira Thomson Learning, 2004.

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.

PARR, Terence. ANTLR v3 Documentation. 2007. Disponível em: <http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+documentation>. Acesso em: 15 out 2007a.

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.

WEBER, Raul Fernando. Fundamentos de arquitetura de computadores. 3. ed. Porto Alegre: Sagra Luzzatto, 2004.

Page 37: BipIde - Apresentação TCC 1

Grupo de Sistemas Embarcados e Distribuídos

Ambiente de Desenvolvimento Integrado para uma Arquitetura de

Processador Simplificada

por

Paulo Viníccius Vieira

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

Itajaí, 11 de dezembro de 2008