Você está na página 1de 44

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

Grupo de Sistemas Embarcados e Distribuídos


Sumário da apresentação

ü Introdução

ü Fundamentação teórica

ü Projeto

ü Considerações finais

ü Referências
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
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
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
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
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
ü exibir a linguagem assembly
ü ilustrar o estado dos componentes dos processadores
BIP
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
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 Portugol
ü simulação dos processadores BIP I e BIP II
ü Testar e verificar o sistema
ü Documentar e redigir artigo
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
Fundamentação teórica

ü Arquitetura e Organização de Computadores

ü Processadores BIP

ü Compiladores

ü Simuladores de Arquitetura
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
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
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
Fundamentação teórica

ü Organização da Memória
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

ü 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
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
ü Registradores:
PC e 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

Programa Programa
Fonte Compiladores Objeto
Fundamentação teórica

ü Compiladores
ü Etapas
Fundamentação teórica

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

ü Análise de requisitos

ü Definição da Linguagem

ü Protótipo de Interfaces

ü Planejamento do TCC II
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
ü gerar código de máquina para os processadores BIP I e
BIP II
Projeto

ü Requisitos funcionais
ü O sistema deverá:
ü simular o funcionamento do programa sobre a arquitetura
dos processadores BIP I e BIP II
ü possuir janela de ajuda
ü apresentar funcionalidades típicas de ambientes de
desenvolvimento
ü gerenciamento de arquivos,
ü identação
ü destaque em palavras reservadas
ü localizar e substituir
Projeto

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

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

ü Protótipo de Interfaces
Projeto

ü Planejamento do TCC II - Metodologia

ü Implementação
ü Compilador
ü Simulador
ü Ajuda
ANTLR

ü Verificação
ü Testes e experimentação no sistema
ü aplicações de teste
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
Projeto

ü Planejamento do TCC II
ü Cronograma
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
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.
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

Grupo de Sistemas Embarcados e Distribuídos


ü Simularq
ü VLIW-DLX
ü R10k
ü MipsIt
ü NeanderWin