Uso do Bipide

Univali – Curso de Bacharelado em Ciência da Computação

 

Disciplina: Algoritmos e Programação – 1º Período

Forma de uso: A abordagem anteriormente utilizada nesta disciplina resumia-se a uma breve explicação sobre o funcionamento de um computador, ilustrando os componentes básicos da arquitetura de Von Neumann e em seguida realizava-se a introdução de conceitos como variáveis, atribuições e operações de entrada-e-saída.
Com a introdução do BIP, a explicação dos conceitos básicos de arquitetura de computadores tornou-se mais detalhada e os conceitos apresentados não restringiram-se apenas à disciplina de Algoritmos e Programação. Foram mostrados exemplos de programas em português estruturado (Portugol) e os correspondentes na linguagem de montagem.
Após a apresentação da arquitetura do BIP e a aplicação de exercícios sobre a construção de programas em linguagem de montagem, os principais aspectos observados com relação à aprendizagem dos alunos foram:

  • Os alunos demonstraram alguma dificuldade inicial em compreender as instruções de linguagem de montagem, mas rapidamente passaram a adquirir fluência na resolução dos exercícios;
  • A compreensão da existência do acumulador tornou a operação de atribuição mais clara. O que acontecia com o resultado intermediário da operação A+1 em A <- A + 1 antes ficava obscuro;
  • Um problema recorrente em vários semestres, em que alguns alunos declaravam contantes inteiras como se fossem variáveis (Ex: inteiro 5) ou ainda realizavam operações de atribuição para constantes (5 <- 3 + 2), não ocorreu nos semestres em que foi usada a abodagem com o BIP.

 

Disciplina: Computação Básica – 2º Período

Forma de uso: Nesta disciplina, o BIP passou a ser utilizado como processador de referência para ilustrar os conceitos de arquitetura e de organização de computadores, permitindo um melhor entendimento por parte dos alunos a respeito dos atributos arquiteturais de um processador e da diferença entre os conceitos de arquitetura e organização.
No estudo da arquitetura, foram apresentados os principais conceitos relacionados, utilizando o BIP para exemplificar os diferentes atributos arquiteturais, como, por exemplo, o tamanho da palavra de dados, o tamanho da palavra de instrução, tipos de dados, formato de instrução, modos de endereçamento, registradores e conjunto de instrução. Uma vez feita a explanação desses conceitos e o estudo da arquitetura do BIP, foram apresentadas as relações entre comandos de alto nível e comandos na linguagem de montagem do BIP.
Na sequencia, para reduzir o nível de abstração, foram mostrados os códigos binário equivalentes de alguns programas-exemplo, o que permitiu ilustrar o conceito de linguagem de máquina, processo de geração de código executável e o papel do compilador e do montador nesse processo.
Com relação ao estudo de organização de computadores, o BIP foi utilizado para ilustrar o funcionamento de um processador. O grau de abstração adotado nesse estudo foi definido considerando que os alunos do primeiro período não possuem conhecimentos sobre circuitos digitais. Inicialmente, foram explicadas as funcionalidades dos blocos construtivos do BIP, sem preocupação com a sua estrutura interna. Em seguida, foi mostrada a construção do processador para a execução de cada instrução e, por fim, foi apresentado um modelo simplificado da organização do BIP. Foram realizadas atividades de fixação em que os alunos foram orientados a destacar os componentes e os canais do processador utilizados na execução de cada instrução, conforme ilustrado na Figura 6.9.
A partir dos exercícios de análise da execução das instruções na organização do BIP, os alunos demonstraram entendimento básico a respeito da operação do processador e dos diferentes níveis de abstração: arquitetural e organizacional

 

Disciplina: Circuitos Digitais – 2º Período

Forma de uso: Esta disciplina tem por objetivo caracterizar e aplicar os fundamentos da Eletrônica Digital para aplicações em análise de circuitos utilizados em um computador. Nela, o aluno aprende as técnicas necessárias para implementar os blocos construtivos básicos de um processador, como, por exemplo: registradores, somadores, decodificadores e multiplexadores, entre outros.
Nesta disciplina, o BIP foi utilizado para exemplificar o uso desses blocos construtivos para a construção de um sistema digital do tipo processador programável. Como a disciplina é baseada em ferramentas de captura de esquemático e de simulação lógica, foi aplicada uma atividade na qual os alunos deviam implementar o BIP utilizando essas ferramentas e analisar o funcionamento do processador através de diagramas de forma de onda produzidos pelo simulador.
O processador permitiu que os alunos vislumbrassem a aplicação dos conceitos estudados na disciplina aproximando-a da disciplina seguinte no curso (Arquitetura e Organização de Computadores). Ao mesmo tempo, essa atividade teve o efeito de um projeto integrador, incentivando os alunos a resgatar conceitos já estudados em outras disciplinas.

 

Disciplina: Arquitetura e Organização de Computadores – 3º Período

Forma de uso: Esta disciplina tem por objetivo geral ampliar a visão sobre arquitetura e organização de computadores, com vistas à programação na linguagem de montagem de um processador, identificando aspectos do projeto da sua organização. A disciplina utiliza o livro “Organização e Projeto de Computadores” de Patterson e Hennessy (2005) como livro-texto e, portanto, adota o processador MIPS como arquitetura de referência ao longo do semestre.
No entanto, no momento em que os conceitos de arquitetura e de organização começam a serem tratados, os processadores BIP são utilizados como referência inicial para ilustrar esses conceitos e resgatar o aprendizado obtido em disciplinas anteriores do Curso. Posteriormente, ao se realizar o estudo do MIPS, é feita uma análise comparativa das características arquiteturais e organizacionais dos dois processadores. Procura-se também discutir as diretrizes de projeto do BIP, demonstrando que o foco na simplicidade do processador lhe impõe limitações quando comparado a um processador cujo projeto é focado no desempenho, como o MIPS.
O papel do BIP nesta disciplina é diferente do seu papel nas disciplinas das fases iniciais. A sua contribuição está em permitir um aumento incremental da complexidade dos temas abordados ao longo do semestre. Como a arquitetura do MIPS não foi especificada visando o aprendizado, mas sim a facilidade de implementação do processador e o seu desempenho, iniciar o estudo dos conceitos de arquitetura e de organização a partir do BIP tende a facilitar o entendimento inicial desses conceitos.

 

Disciplina: Compiladores – 7º Período

Forma de uso: A utilização da Família BIP na disciplina de compiladores proporcionou uma alternativa para demonstrar todas as fases de construção do compilador, na qual inicia-se definindo a arquitetura da linguagem alvo para então se definir os aspectos sintáticos e léxicos da linguagem de alto nível.
O conjunto de instruções do BIP mostrou-se bastante simples, permitindo a geração direta do código através de ações semânticas sem passar por linguagens intermediárias. Essa característica possibilitou a substituição da linguagem intermediária que vinha sendo utilizada até então (Linguagem da Máquina Virtual de Pilha), viabilizando à maioria dos alunos concluir a etapa de geração de código (o que raramente ocorria em semestres anteriores). Além disso, alguns trabalhos iniciados na disciplina tiveram continuidade na forma de trabalhos de conclusão de curso.

place

Projeto BIP

O Projeto BIP busca contribuir para o ensino de conceitos sobre programação e funcionamento de sistemas computacionais por meio de um modelo simplificado de processador especificado segundo uma abordagem multidisciplinar e focado na facilitação do aprendizado pelos estudantes.

Contato

E-Mail: contato@bipide.com.br

© 2013 Bipide – Ambiente de Desenvolvimento Integrado para os Processadores BIP