BipIde - Apresentação TCC 1
description
Transcript of BipIde - Apresentação TCC 1
![Page 1: BipIde - Apresentação TCC 1](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/1.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/2.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/3.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/4.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/5.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/6.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/7.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/8.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/9.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/10.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/11.jpg)
11
Fundamentação teórica
Arquitetura e Organização de Computadores
Processadores BIP
Compiladores
Simuladores de Arquitetura
![Page 12: BipIde - Apresentação TCC 1](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/12.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/13.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/14.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/15.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/16.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/17.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/18.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/19.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/20.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/21.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/22.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/23.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/24.jpg)
24
Fundamentação teórica
Simuladores de Arquitetura Trabalhos similares
![Page 25: BipIde - Apresentação TCC 1](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/25.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/26.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/27.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/28.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/29.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/30.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/31.jpg)
31
Projeto
Protótipo de Interfaces
![Page 32: BipIde - Apresentação TCC 1](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/32.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/33.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/34.jpg)
34
Projeto
Planejamento do TCC II Cronograma
![Page 35: BipIde - Apresentação TCC 1](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/35.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/36.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062405/5571f2bd49795947648cf9dd/html5/thumbnails/37.jpg)
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