Baixe o app para aproveitar ainda mais
Prévia do material em texto
WEAC 2011 Workshop sobre Educação em Arquitetura de Computadores APRESENTAÇÃO O Workshop sobre Educação em Arquitetura de Computadores (WEAC) é um evento promovido pela comissão especial em Arquitetura de Computadores e Processamento de Alto Desempenho da Sociedade Brasileira de Computação (SBC). Em sua sexta edição, o WEAC 2011 conta com 5 artigos distribuídos em duas sessões técnicas. Destaca-se o empenho do Comitê de Programa durante o processo de avaliação. Cada artigo recebeu 3 avaliações que consideraram tanto o mérito técnico como a inserção nos tópicos de interesse do evento. Nesta edição, o WEAC promove um painel sobre o livro “Arquitetura de Computadores: educação, ensino e aprendizado”, cujo objetivo é discutir a aplicação do livro e de seus capítulos em disciplinas da graduação e pós-graduação. O WEAC promove também um grupo de discussão sobre a Revista Eletrônica de Educação em Arquitetura de Computadores (REEAC). O objetivo é a criação de um fluxo contínuo de submissões promovendo a divulgação de novas idéias sobre educação em Arquitetura de Computadores. Tenham todos um excelente workshop. Henrique Cota de Freitas Coordenação do WEAC 2011 Vitória, 28 de outubro de 2011 WEAC 2011 Workshop sobre Educação em Arquitetura de Computadores Coordenação do WEAC 2011 Henrique Cota de Freitas (PUC Minas) Comitê de Programa do WEAC 2011 Carlos Augusto Paiva da Silva Martins (PUC Minas) Cesar Albenes Zeferino (UNIVALI) Cesar De Rose (PUCRS) Dilma M da Silva (IBM – USA) Edil Fernandes (UFRJ) Edson Midorikawa (USP) Eduardo Marques (USP) Edward David Moreno (UFS) Gabriel Pereira da Silva (UFRJ) Henrique Cota de Freitas (PUC Minas) Ivan Saraiva Silva (UFPI) Joao Angelo Martini (UEM) Manoel Eusébio de Lima (UFPE) Maurício Pilla (UFPEL) Nahri Moreano (UFMS) Philippe Olivier Alexandre Navaux (UFRGS) Rafael dos Santos (CEITEC) Rafael Dueire Lins (UFPE) Raimundo Barreto (UFAM) Ricardo Santos Ferreira (UFV) Roberto A Hexsel (UFPR) Rodolfo Jardim de Azevedo (UNICAMP) Romanelli Lodron Zuim (PUC Minas) Ronaldo Augusto de Lara Gonçalves (UEM) Sandro Neves Soares (UCS) Sandro Rigo (UNICAMP) Sérgio Takeo Kofuji (USP) SUMÁRIO Metodologia de Ensino Orientada a Projetos e Criação de Material Didático aplicada ao Projeto de Processadores Ricardo Duarte (UFMG), Pedro Donoso-Garcia (UFMG) 1 Simuladores de Memória Cache, um Estudo Comparativo Direcionado ao Ensino Matheus Xavier (IFCE), Jardel Rodrigues (IFCE), Otávio Júnior (IFCE) 7 Extensão do Ptolemy para o ensino de Organização e Arquitetura de Computadores André Torres (UFPB), Alisson Brito (UFPB) 13 Arquitetura de Computadores em uma Simples Folha de Papel Ricardo Ferreira (UFV) 19 BIP IV: Especificação e Suporte na Ferramenta Bipide Paulo Rech (UNIVALI), Paulo Vieira (UNIVALI), Cesar Zeferino (UNIVALI), André Raabe (UNIVALI) 25 Metodologia de Ensino Orientada a Projetos e Criação de Material Didático aplicada ao Projeto de Processadores Ricardo de Oliveira Duarte, Pedro Francisco Donoso Garcia Depto. de Engenharia Eletrônica – Escola de Engenharia Universidade Federal de Minas Gerais Av. Antônio Carlos, 6627 – Campus da Pampulha – CEP 31.270-901 – Belo Horizonte, MG (ricardoduarte@ufmg.br, pedro@cpdee.ufmg.br) Resumo Este artigo descreve uma experiência de produção de material didático para o ensino do projeto de processadores para uma disciplina teórica e prática conhecida por Sistemas, Processadores e Periféricos obrigatória aos cursos de Graduação em Engenharia Elétrica, Engenharia de Controle e Automação e Engenharia de Sistemas da UFMG. A construção de materiais didáticos desenvolvidos para essa disciplina segue diretrizes encontradas em metodologias ativas de ensino orientadas a projetos. É considerada uma proposta para atividades de laboratório, motivando os alunos a adquirir e construir seu próprio conhecimento através da auto-aprendizagem com materiais didáticos desenvolvidos especificamente para este fim. Os alunos tomam decisões de projeto e apresentam suas próprias soluções, ao invés da simples repetição de tarefas pré-determinadas encontradas em metodologias de ensino práticas baseadas em guias de aula. Os resultados observados são o aumento da motivação, do aprendizado e da participação dos alunos nas aulas e atividades propostas. 1. Introdução Este artigo trata do relato de caso da aplicação da metodologia de Ensino Orientado a Projetos e o desenvolvimento de material didático para uma disciplina prática de laboratório cujo nome é Sistemas, Processadores e Periféricos (SPP). Essa disciplina é obrigatória aos cursos de Engenharia Elétrica, Engenharia de Controle e Automação e Engenharia de Sistemas na UFMG, onde o aprendizado do projeto de processadores é um dos objetivos. O material didático desenvolvido foi norteado pela metodologia de ensino que tem seus princípios inspirados na metodologia conhecida como Problem Based Learning – PBL, amplamente divulgada em literatura [1]. O elemento chave dessa metodologia de ensino é a forma como os alunos propõem a solução para um projeto em Engenharia enunciado, por meio dos conhecimentos adquiridos e na integração deles com outros conhecimentos. A partir da identificação dos requisitos mínimos determinados pelo projeto proposto pelo professor, inicia-se o fracionamento do projeto em etapas, que necessita de profundo entendimento de conceitos, análise e técnicas envolvidas na sua solução. O aluno é incentivado a construir seu próprio aprendizado estudando os conceitos em material didático cuidadosamente desenvolvido para esse fim e de outros disponibilizados, para a realização de sua própria solução da situação-problema proposta. O aluno é orientado a definir, documentar, implementar seu próprio projeto e testá-lo em laboratório. O professor atua como orientador das atividades propostas e trabalha como ator facilitador da construção do conhecimento de cada estudante, esclarecendo dúvidas sobre seus projetos, sugerindo alternativas de projeto e referências bibliográficas para o desenvolvimento das soluções, além de avaliar o aprendizado e o envolvimento do aluno no projeto. Essa metodologia de ensino já vem sendo empregada em algumas disciplinas do curso de Engenharia Elétrica e de Engenharia de Controle e Automação, mas especificamente nas disciplinas de laboratório de Eletrônica I, Eletrônica de Potência e Controle I na UFMG desde 2006. Conforme observa Donoso-Garcia, professor da disciplina de laboratório de Eletrônica I, “tal abordagem no âmbito da Engenharia se aproxima muito do modus operandis, encontrado em diversas indústrias no desenvolvimento de novos produtos tecnológicos” [2]. A partir de uma especificação parcial de um conjunto de instruções e requisitos da arquitetura, o aluno é convidado a envolver-se ativamente com o processo de criação da sua própria solução. O desenvolvimento do processador é realizado seguindo orientações gerais passadas pelo professor da disciplina. Como o aluno é responsável por suas próprias decisões de projeto, isso faz com que o seu aprendizado se torne mais agradável, estimulante e próximo da realidade Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 1 enfrentada na vida profissional de um engenheiro. Para que isso se torne uma realidade, um conjunto de objetos multimidiáticos, enfatizando os conceitos e a base teórica necessária ao desenvolvimento da situação-problema deve ser desenvolvido e apresentado ao aluno no início das atividades da disciplina. O enfoque desse trabalho concentra-se no relato de um caso de aplicação de uma metodologia de ensino orientada a projetos e a criação do material didático voltadoao projeto de processadores nas aulas práticas da disciplina SPP. A abordagem de ensino orientada a projetos possibilita a valorização das habilidades e competências individuais de cada aluno e também estimula o trabalho em grupo, pois implica na constante troca de experiências dos atores envolvidos no processo. Essa abordagem também estimula o professor que ministra a disciplina a cada semestre por vivenciar diferentes soluções e situações práticas com a cada situação-problema proposta. Para cada semestre letivo, o professor pode e deve elaborar uma nova situação-problema, de forma que os alunos se sintam motivados e desafiados a desenvolver um trabalho inédito. A teoria tem uma importância substancial e não é menosprezada, mas prioritariamente se enfatiza que esta serve como subsídio para a realização de trabalhos práticos, e não apenas uma simples memorização de conceitos teóricos, sem relacionamento com a prática. Os alunos têm sido incentivados a serem atores participantes do ensino e não apenas receptores de informações prontas. Por outro lado, o professor torna-se um gestor de ensino, auxiliando e provendo suporte para o aprendizado dos alunos e não apenas repetindo conteúdo teórico extraído de livros. Nas aulas de laboratório onde são utilizados os guias ou roteiros contendo descrição de experimentos, estes se mostram repetitivos e muitas vezes desconexos com a evolução inerente de certos temas abordados em disciplinas de uma área tecnológica. Desta forma, o aluno desenvolve menos sua criatividade. O artigo está organizado da seguinte forma: Na seção 2 apresenta-se o contexto no qual a disciplina era ministrada até então, seus objetivos e as justificativas observadas para o desenvolvimento do um novo material didático e a mudança da metodologia de ensino. Na seção 3 apresenta-se a Estruturação do Projeto de construção do material didático. Na seção 4, apresenta-se uma síntese dos Materiais e Métodos desenvolvidos para a aplicação da metodologia de ensino orientada a projetos, empregada na disciplina. O método de avaliação utilizado também é brevemente relatado nessa mesma seção. Na seção 5, apresenta-se uma descrição dos resultados alcançados. Considerações finais compõem a última seção. 2. Contextualização SPP é uma disciplina obrigatória para três cursos de graduação da UFMG: em Engenharia Elétrica, em Engenharia de Controle e Automação e em Engenharia de Sistemas, totalizando aproximadamente 150 alunos matriculados a cada semestre. SPP é composta de uma carga horária semestral de 45 horas de aulas teóricas e 30 horas de aulas práticas em laboratório (total de 75h/semestre). Todas as aulas teóricas acontecem concomitantemente com as aulas práticas. A disciplina SPP é de caráter formativo do aluno na área de Projetos de Sistemas Digitais dos cursos supracitados e tem como pré-requisitos às disciplinas de Sistemas Digitais e Laboratório de Sistemas Digitais, onde o enfoque de projetos de sistemas digitais modernos baseados em linguagens de descrição de hardware e uso de dispositivos lógicos programáveis deve ser ensinado e praticado em aulas de laboratório. De forma geral, os objetivos da disciplina SPP são de capacitar o aluno para: a) O entendimento do funcionamento e o projeto de um processador, suas partes, como estas se integram e se comunicam para realizar funções para as quais foi projetado. b) Identificação e caracterização de um periférico, sua forma de comunicação com processadores e seus modos de operação. Antes do desenvolvimento do material didático aqui apresentado, as aulas de laboratório desta disciplina eram baseadas em roteiros com experiências bem definidas e repetitivas, onde o aluno executava tarefas pré-determinadas, devendo apresentar pré-relatórios no início de cada aula de laboratório ao professor da disciplina. Desta forma, os pré-relatórios permitiam identificar se o aluno havia estudado o assunto previamente e se preparado para as atividades presenciais da aula prática da semana. Os roteiros de laboratório da aula prática estavam sempre atrelados ao assunto dado na aula teórica da semana. Para se alcançar o primeiro objetivo geral da disciplina, o professor apresentava em sala de aula o desenvolvimento de um processador definido para fins didáticos, conhecido por MIC-1 [3]. O projeto desse processador era dividido em oito aulas práticas na forma de roteiros de atividades. O aluno era convidado a projetar o processador MIC-1 na linguagem de descrição de hardware VHDL e validá-lo através de um simulador de códigos de descrição de hardware produzidos da mesma linguagem. O segundo grande objetivo dessa disciplina era alcançado com o estudo de periféricos e sua programação na linguagem Assembly da arquitetura da família de processadores da Intel™. Esse objetivo era alcançado em sete aulas práticas, sendo cada uma com o seu próprio roteiro de atividades abordando a programação de um periférico. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 2 Relatos dos alunos descreviam a pouca motivação pelas aulas práticas devido a constante repetição e constatação de resultados descritos nos roteiros. Também relatavam sobre as aulas, que por se tratarem de atividades repetitivas já vivenciadas e desenvolvidas por alunos de turmas anteriores, não se sentiam motivados a preparar os pré-relatórios, tornando essa atividade um mero cumprimento de tarefas decorrentes da metodologia de ensino empregada na disciplina. Com a metodologia baseada em roteiros de aulas, os professores percebiam o baixo interesse e a pouca motivação dos alunos. Em geral os alunos não percebiam a razão de estarem estudando certos assuntos, por não terem a noção do todo. Todos esses sinais apontavam para a necessidade de mudança na estratégia de ensino. 3. Estruturação do material da disciplina A metodologia de ensino proposta para essa disciplina é centrada no Ensino Orientado ao Projeto, baseada em aliar a teoria à prática, apresentando conceitos teóricos fundamentais, mas sempre procurando exemplificar aos alunos como aplicá-los [1]. A teoria usada para a base do desenvolvimento dos objetos de ensino utilizados na disciplina SPP foi baseada em livros-texto contemporâneos, referência das áreas, de Sistemas Digitais [4], Arquitetura e Organização de Computadores [5] e Projetos com Microcontroladores [6]. A fim de alcançar o primeiro objetivo da disciplina (mencionado na seção 2) e com base nos livros-textos citados foi desenvolvido o material didático contendo teoria e aspectos práticos do projeto de processadores. Um sequenciamento completo do projeto de um processador dividido em etapas foi elaborado. Um exemplo completo de projeto de um processador foi apresentado, desde a especificação de requisitos, seguindo cada uma das etapas do sequenciamento de projeto citado. Desta forma, os alunos são orientados ao estudo, ao desenvolvimento e à documentação dos procedimentos realizados para seus projetos. Paralelamente para cada etapa de projeto, documentos- modelos foram elaborados, no intuito de manter um padrão de documentação de projeto e facilitar a avaliação dos trabalhos. Alcançando-se o primeiro objetivo da disciplina, na oitava aula, é realizado um Workshop, onde os alunos testam por completo seus projetos em um kit de desenvolvimento de projetos baseado em dispositivo lógico programável (FPGA – Field Programmable Gate Arrays), e apresentam seus trabalhos. Neste evento são incentivados a discussão dos trabalhos, com aportes de novas idéias baseadas na experiência adquiridas pelos alunos. Uma apostila focando o segundo objetivo da disciplina, que é o de identificar e caracterizar um periférico e desenvolver pequenos sistemas com o uso do mesmo, também foi desenvolvida [7]. Essa apostila contém o material teórico mínimo e aplicação da teoria nas atividades práticas relacionada ao estudo deperiféricos de um microcontrolador, sua programação e o desenvolvimento de pequenos sistemas, utilizando-se os periféricos estudados. Exemplos de programação e uso de cada periférico são apresentados em cada seção da apostila. Complementando o material disponibilizado para os alunos, foram selecionados manuais, tutoriais e folhas de dados de processadores e microcontroladores comerciais e material de apoio, (softwares e tutoriais) que auxiliam o aluno no uso das ferramentas empregadas no laboratório e na realização dos trabalhos propostos. Todo o material didático desenvolvido foi estruturado de forma a permitir seu crescimento e atualização com outras técnicas de projeto de processadores que venham a ser agregadas, sem ser necessário efetuar modificações nos objetos de aprendizagem já produzidos. 4. Materiais e métodos As condições mínimas de utilização de equipamentos e material didático existente em laboratório para realização das atividades práticas devem estar funcionalmente disponíveis desde o primeiro dia de aula. O material didático é constituído de kits DE2-Altera de dispositivos lógicos programáveis para cada grupo de alunos, capazes de ser reconfigurados por software Quartus II - Altera [8], [9]. Os kits de dispositivos lógicos programáveis necessitam de um microcomputador com todo o software necessário ao desenvolvimento do projeto, instalados em cada bancada para cada grupo de alunos. A caracterização da forma semi-presencial da disciplina, onde o estudo e o desenvolvimento das etapas de projeto do processador e da programação de pequenos sistemas com o uso de periféricos, bem como o envio dessas atividades de cada etapa semanalmente ao professor demandam o apoio de uma plataforma de ensino a distância. A plataforma Moodle – Minha UFMG é utilizada intensamente, onde professores, monitores-bolsistas e alunos a utilizarão como meio para consulta ao material didático, esclarecimento de dúvidas, troca de informação através dos fóruns para realização das atividades propostas. Semanalmente, todos os grupos de alunos devem submeter suas tarefas de cada etapa de projeto para apreciação e comentários do professor dentro de um prazo estabelecido pelo mesmo. As atividades presenciais semanais em laboratório consistem na realização de testes por parte dos alunos das atividades a distância que desempenharam na semana. Esses testes são realizados utilizando-se os kits de desenvolvimento de projetos [8]. Esclarecimentos de dúvidas remanescentes com o Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 3 professor da disciplina são também tratadas presencialmente nesses encontros. Ainda dentro do tempo de aula, o professor avalia a participação individual e o conhecimento de cada aluno sobre os assuntos tratados na etapa. Um recurso didático importante desenvolvido para a aplicação dessa metodologia de ensino é a vídeo- aula. As vídeo-aulas foram construídas a partir de narrações de animações produzidas respectivamente com os softwares Camtasia Studio© e Microsoft PowerPoint©. As vídeo-aulas apresentam de forma concisa e objetiva toda a teoria e o sequenciamento de projeto, apresentando as etapas para o desenvolvimento de um processador. Desta forma, um exemplo do projeto de um processador completo é apresentado nas vídeo-aulas, sugerindo ao aluno como aliar a teoria à prática. A Figura 1 mostra o sequenciamento de etapas de projeto do processador proposto ao aluno desenvolvido com base nos livros-texto citados [4][5]. Adicionalmente foram elaboradas dez guias de projeto que orientam passo a passo os alunos no desenvolvimento e documentação de suas soluções nas referidas etapas de acordo com modelos fornecidos para cada fim. Figura 1. Sequenciamento do Projeto. Em síntese geral o material didático produzido para a disciplina é composto pelos seguintes artefatos: a) Um planejamento de aulas sugestivo para a parte teórica da disciplina, contendo o assunto que deverá ser tratado em cada aula, material de referência e a conexão com as atividades fim, tratadas em laboratório. b) Um planejamento de atividades em laboratório, contendo o objetivo de cada atividade presencial, material que deverá ser produzido pelo aluno na etapa e material de referência disponível ao aluno para a execução da etapa. c) Nove vídeo-aulas com animações explicando a base teórica necessária para o aluno projetar, documentar e desenvolver sua própria solução para a situação-problema proposta. d) Um documento contendo as especificações de requisitos mínimas do processador proposto. e) Dez guias de projeto, as quais orientarão os alunos nas atividades de documentação, implementação e validação de suas soluções para submissão da tarefa semanal. f) Material para referência no desenvolvimento dos projetos. Esse material fica disponível no ambiente Moodle – Minha UFMG para acesso dos alunos e também no repositório de objetos de aprendizagem GIZ-UFMG [10] e está organizado em sumários, aula a aula (vide Figura 2). Estão disponíveis materiais para aprendizado e consulta sobre aspectos relacionados à Linguagem de Descrição de Hardware; Material de referência e usuário do Kit de desenvolvimento e do ambiente de programação que o aluno deverá usar para validar a sua solução. g) Um modelo para elaboração de cada etapa de projeto do processador, que cada grupo de alunos deverá submeter à apreciação do professor pelo ambiente Moodle. h) Um exemplo completo do projeto de um processador, seguindo as etapas do seqüenciamento de projeto apresentado, acompanhado de toda documentação necessária: códigos e simulações utilizados no projeto, conforme modelo sugerido pelo professor. i) Um roteiro sugestivo de avaliação de trabalhos dos workshops para o professor. j) Um documento informativo para o aluno contendo os critérios que são utilizados na avaliação dos workshops. k) Uma apostila com a teoria mínima necessária ao projeto de sistemas com microcontroladores e seus periféricos. A Figura 2 mostra um sumário do curso organizado no ambiente Moodle. Cada sumário está associado a uma aula e a uma etapa do sequenciamento do projeto do processador. Todas as aulas são apresentadas de forma padronizada, contendo os seguintes itens: objetivo da aula; material que o grupo deverá produzir; material para estudo e atividades propostas, separadas em documentos, vídeo-aulas e softwares. Cada aula também apresenta um link para submissão das tarefas da etapa de projeto para avaliação e comentários do professor. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 4 Figura 2. Organização da Disciplina no Moodle A Figura 3 apresenta um slide de uma das nove vídeo-aulas, visualizada com o auxílio de um navegador de Internet. Observa-se uma via de dados de um processador simples de três instruções. A esquerda dessa imagem observa-se um recurso utilizado na criação dos vídeos, de grande utilidade para o aluno, que é a navegação por slides utilizados na produção da aula. Esse recurso possibilita ao aluno interromper e voltar a assistir o vídeo de onde parou sem se preocupar em tomar nota do tempo do momento no qual parou de assistir. Figura 3. Imagem com o Trecho de uma Vídeo-aula 4.1. Aplicação do material produzido Na primeira aula de SPP é apresentada a proposta da disciplina, mostrando os objetivos, a metodologia de trabalho e o material que o aluno terá a disposição para desenvolver sua solução, bem como as formas das atividades avaliativas. Os alunos são agrupados em duplas ou trios, para realizar todas as atividades propostas no semestre. Cada grupo seguirá seu próprio projeto, tomará suas próprias decisões e proporá uma solução. Incentiva-se a discussão entre os membros de um grupo para definir as possíveis decisões sobre as etapas de projeto do processador. A disciplina de SPP tem dois objetivosclaros e distintos, citados na seção 2. Cada objetivo é tratado em um módulo composto por sete aulas de 2h/aula. No início do primeiro módulo é apresentado ao aluno uma situação-problema do módulo, ou seja, o documento de requisitos mínimos de projeto do processador no semestre, também são apresentados os instrumentos que ele terá a sua disposição para desenvolver a sua própria solução e o modo de utilizá-los. Nas seis aulas subsequentes do módulo 1, cada dupla deverá criar, desenvolver, testar e documentar sua solução com o acompanhamento e a orientação presencial do professor responsável pela turma. Na última aula do módulo, cada grupo deverá apresentar sua solução para a turma. Essa último aula presencial funciona como um workshop. As últimas sete aulas compõem o segundo módulo, onde pretende-se alcançar o segundo grande objetivo da disciplina. O objeto de aprendizado principal desse segundo módulo é a apostila, que apresenta sete situações-problemas, que induzem o grupo de alunos a criarem suas próprias soluções. A avaliação da disciplina é realizada por meio de avaliações parciais semanais e no final de cada módulo. Os alunos são arguidos individualmente semanalmente e são atribuídos conceitos ao grupo e a cada aluno do grupo, em cada etapa de projeto. 5. Resultados Os objetos de aprendizado desenvolvidos segundo a metodologia do Ensino Orientado a Projetos se encontram disponíveis, à comunidade da UFMG, no repositório de objetos de aprendizado do GIZ – Rede de Desenvolvimento de Práticas de Ensino Superior, vinculado a Pró-Reitoria de Graduação da UFMG sob a licença Creative Commons [10]. Essa metodologia de ensino com todos os objetos de aprendizagem desenvolvidos vem sendo aplicada há dois semestres na disciplina SPP (2010/2 e 2011/1). Resultados quantitativos a partir de enquetes com os alunos sobre as disciplinas e os professores são obtidos e divulgados semestralmente pela Pró-Reitoria de Graduação da UFMG. Um total de 269 alunos já cursou esta disciplina utilizando essa metodologia de ensino. A figura 4 mostra quantitativamente a afirmação sobre o aumento da motivação dos alunos na disciplina diante da metodologia de ensino proposta nesse trabalho. O gráfico de barras da Figura 5 mostra que o aluno considera que seu aprendizado melhorou com a nova metodologia aplicada nos semestres de 2010/2 e 2011/1. Ainda como resultado quantitativo da mesma enquete, 63% e 62% (respectivamente em 2011/1 e 2010/2) contra 41% e 40% (respectivamente em 2010/1 e 2009/2) afirmam que o material didático é considerado como bom a muito bom. Os alunos afirmam que as vídeo-aulas propiciam uma base primordial para o desenvolvimento de seus projetos. Por fim, os documentos que acompanham o material didático e o desenvolvimento de um exemplo de projeto de um processador são objetos de aprendizagem essenciais para o sucesso da aplicação dessa metodologia. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 5 Figura 4. Grau de motivação com relação à disciplina Figura 5. Meu aprendizado na disciplina 6. Considerações finais As vantagens da adoção dessa metodolo ensino são muitas: (i) Alunos mais motivado projetar, tomar decisões de projeto e analisar o impacto das decisões tomadas. Cabe-lhes desenvolver uma postura ativa perante o processo de aprendizagem e reconhecer que o professor não é mais o único a decidir sobre os caminhos a serem seguidos. professor, essa metodologia de ensino proporciona uma dinâmica constante a cada seme em que uma nova situação-problema é elaborada e proposta aos alunos. O professor é o condutor da formação da experiência prática do aluno, mostrando os possíveis rumos a serem tomados e corrigindo erros conceituais que possam surgir no percurso desvantagem: (i) necessita dedicação professor; (ii) demanda ferramenta de en distância bem instalada, funcional e disponível Vários tipos de objetos de aprendizagem podem ser desenvolvidos segundo essa metodologia, que o princípio que a norteia seja obedecido, aliar a teoria à prática para o desenvolvimento da situação-problema, conduzindo o aluno as suas próprias escolhas e decisões de projeto. materiais desenvolvidos, cabe destacar que vídeo-aulas são um dos objetos de ap principais desenvolvidos nesse trabalho. 0% 10% 20% 30% 40% 50% 0% 10% 20% 30% 40% 50% 60% Grau de motivação com relação à Meu aprendizado na disciplina As vantagens da adoção dessa metodologia de mais motivados para e analisar o impacto lhes desenvolver uma postura ativa perante o processo de aprendizagem e reconhecer que o professor não é mais o único a decidir sobre os caminhos a serem seguidos. (ii) Para o essa metodologia de ensino-aprendizagem proporciona uma dinâmica constante a cada semestre, problema é elaborada e proposta aos alunos. O professor é o condutor da ia prática do aluno, mostrando is rumos a serem tomados e corrigindo erros no percurso. Como desvantagem: (i) necessita dedicação intensiva do professor; (ii) demanda ferramenta de ensino a distância bem instalada, funcional e disponível. objetos de aprendizagem podem segundo essa metodologia, desde que a norteia seja obedecido, ou seja, prática para o desenvolvimento da conduzindo o aluno as suas sões de projeto. Dentre os , cabe destacar que as de aprendizado nesse trabalho. Agradecimentos A Pró-Reitoria de Graduação da UFMG financeiro ao projeto de desenvolvimento do material didático apresentado nesse artigo. 7. Referências [1] Donoso-Garcia, P. F., Martins, L. F.; Cortizo, P. C. Ensino Orientado ao Projeto: Uma Experiência para o Ensino de Eletrônica nas disciplinas de laboratório de Eletrônica e Eletrônica de Potência. Potência (Florianópolis), v. 13, p. 109 [2] Donoso-Garcia, P. F., Torres, L. Ensino Orientado ao projeto desafio: uma experiencia para o ensino de controle, instrumentação e eletrônica. Brasileiro de Educação em Engenharia, 2007 XXXV COBENGE 2007. p. 3B05- [3] Tanenbaum, A. S. Organização Estruturada de Computadores. 5ª Edição, Prentice Hall, 2006. [4] Vahid, F. Sistemas Digitais: Projeto, Otimização e HDLs, Bookman, 2008. [5] Patterson, D. A., Hennessy, J. L. Organização e Projeto de Computadores - A Interface Hardware/ Software. 3a. Edição. Editora Campus, 2005. [6] de Oliveira, A. S. e Andrade, F. S. Sistemas Embarcados - Hardware e Firmware na Prática. 1a. Edição. Editora Érica, 2006. [7] Oliveira Junior, M., Duarte, R. O. Apostila sobre Introdução ao Projeto com Microcontroladores e Programação de Periféricos. DELT 2011. Disponível por acesso restrito a comunidade da UFMG em: <https://dspaceprod01.grude.ufmg.br/dspace/handle/O AUFMG/545/browse?type=title>, agosto de 2011. [8] Altera Corporation©: DE2 Development and Education Board User Manual – Disponível para download <http://www.abramovbenjamin.net/altera_ acessado em 24 de agosto de 2011. [9] Altera Corporation©: Introduction to Quartus II Software - Version 10.0, 2011. <http://www.altera.com/literature/manual/archives/int ro_to_quartus2.pdf>, acessado em 24 de agosto de 2011. [10] Repositório da Rede de Desenvolvimento de Práticas de Ensino Superior, Pró Graduação - UFMG. Disponível por acesso restrito em: <https://dspaceprod01.grude.ufmg.br/dspace/handle/O AUFMG/545/browse?type=title>, agosto de 2011. Ruim Médio Bom Muito bom Ruim Médio Bom Muito bom ção da UFMG pelo suporte financeiro ao projeto de desenvolvimento do material Garcia, P. F., Martins, L. F.; Cortizo, P. C. Projeto: Uma Experiência para o Ensino de Eletrônica nas disciplinas de laboratório de nica e Eletrônica de Potência. Eletrônica de Potência (Florianópolis), v. 13, p. 109-116, 2008. Garcia, P. F., Torres, L. Ensino Orientado desafio: uma experiencia para o ensino de controle, instrumentação e eletrônica. In: Congresso Brasileiro de Educação em Engenharia, 2007, Curitiba. -1-3B05-15. ] Tanenbaum,A. S. Organização Estruturada de ão, Prentice Hall, 2006. ] Vahid, F. Sistemas Digitais: Projeto, Otimização e ] Patterson, D. A., Hennessy, J. L. Organização e A Interface Hardware/ . 3a. Edição. Editora Campus, 2005. veira, A. S. e Andrade, F. S. Sistemas Hardware e Firmware na Prática. 1a. ] Oliveira Junior, M., Duarte, R. O. Apostila sobre Introdução ao Projeto com Microcontroladores e ção de Periféricos. DELT – EE – UFMG, 2011. Disponível por acesso restrito a comunidade da UFMG em: https://dspaceprod01.grude.ufmg.br/dspace/handle/O >, acessado em 24 de DE2 Development and – Version 1.3, 2006. download em: http://www.abramovbenjamin.net/altera_de2.pdf>, . Introduction to Quartus II 10.0, 2011. Disponível em: http://www.altera.com/literature/manual/archives/int cessado em 24 de agosto de Rede de Desenvolvimento de or, Pró-Reitoria de UFMG. Disponível por acesso restrito em: https://dspaceprod01.grude.ufmg.br/dspace/handle/O >, acessado em 24 de Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 6 Simuladores de Memória Cache, um Estudo Comparativo Direcionado ao Ensino Matheus Arleson Sales Xavier¹, Jardel das Chagas Rodrigues¹, Otávio Alcântara de Lima Júnior¹ ¹Laboratório de Eletrônica e Sistemas Embarcados (LAESE) Instituto Federal de Educação, Ciência e Tecnologia do Ceará (IFCE) Av. Contorno Norte, 10 – CEP: 61925-315 – Maracanaú, Ceará matheusarleson@gmail.com, jardel.ifce@gmail.com, otavio@ifce.edu.br Resumo O conceito de memória cache é um tópico importante visto principalmente na disciplina de Arquitetura de Computadores, em cursos da área de computação. Esse é um assunto no qual muitos alunos sentem dificuldades, isso se deve ao cunho extremamente teórico das aulas na maioria dos cursos ofertados. Um simulador se mostra uma ferramenta importante neste cenário. Este artigo apresenta um estudo comparativo entre os principais simuladores de memória cache disponíveis, visando avaliar sua aplicabilidade como ferramenta de apoio ao ensino em cursos introdutórios de arquitetura de computadores. O estudo aponta que um dos principais empecilhos à aplicação destas ferramentas é a dificuldade em localizar estes aplicativos. 1. Introdução No decorrer da evolução dos sistemas computacionais, a diferença de velocidade entre a unidade central de processamento e a memória principal se tornou um obstáculo ao aumento do desempenho dos computadores. Uma das formas encontradas para mitigar essa problemática foi o emprego de uma pequena porção de memória veloz e de custo mais elevado, denominada memória cache, localizada entre o processador e a memória principal. A memória cache armazena temporariamente os dados e instruções que possuem maior probabilidade de serem usados pelo processador, reduzindo o número de acessos à memória principal. A memória cache é largamente empregada nas arquiteturas computacionais modernas. Sua utilização visa à melhora de desempenho do sistema. O conceito de memória cache está inserido na disciplina de Arquitetura de Computadores. Motivar os alunos a estudar Arquitetura de Computadores pode ser um problema quando o aluno acredita não ser necessário conhecer arquitetura para desenvolver softwares. O desafio em motivar os alunos pode não estar somente na disciplina de Arquitetura de Computadores, mas em todas as disciplinas de um curso, quando estas deixam ausente a correlação de importância com Arquitetura de Computadores [1]. Portanto, devem-se utilizar mecanismos para solucionar essa problemática e tornar a disciplina mais atrativa e menos complexa para os alunos. A utilização de simuladores didáticos contribui para uma melhor compreensão do assunto, uma vez que esses são capazes de traduzir para a realidade os conceitos teóricos através de uma introdução de forma clara e didática dos mesmos [2]. À medida que a complexidade e variedade de sistemas computacionais aumentam, a adequação desses como ferramentas pedagógicas nos cursos de Arquitetura de Computadores diminuem. Em consequência disso, muitos instrutores estão se voltando para simuladores como auxiliares de ensino, muitas vezes empregando o valioso tempo de ensino/pesquisa para construí-los [3]. Um simulador de memória cache pode ser utilizado para facilitar as aulas e auxiliar no aprendizado de sistemas computacionais modernos. O objetivo geral do artigo é realizar um estudo comparativo de alguns simuladores de memória cache e sua empregabilidade no ensino, com o intuito de facilitar o processo de seleção da ferramenta usada como apoio ao ensino em cursos introdutórios de arquitetura de computadores. Alguns simuladores já foram propostos com esse objetivo e os mesmos serão analisados no decorrer desse trabalho, dentre os quais foram selecionados: KSH [4], MSCSim [5], DCMSim Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 7 [6] e o Dinero IV [7]. O restante do trabalho está organizado em cinco seções. A seção 2 traz o conceito de memória cache e explica brevemente o seu funcionamento. A seção 3 do artigo detalha cada simulador. A seção 4 do artigo exibe os parâmetros de comparação e características desejáveis em um simulador utilizado no ambiente ensino-aprendizagem. A seção 5 faz um estudo comparativo dos simuladores. A seção 6 mostra as conclusões deste artigo. Finalmente, a última seção mostra as referências utilizadas nesse trabalho. 2. Memória cache Ao passar dos anos, os processadores e outros dispositivos conseguiram um aumento incrível na velocidade de processamento das informações, o que não foi acompanhado pela memória principal, tornando-se lenta e atrasando as demais operações [8]. Na Figura 1 é mostrada claramente essa diferença. Nesse âmbito, precisava-se de uma unidade intermediária que acelerasse as operações que a envolviam. Ao analisar o comportamento dos programas, percebeu-se que o processador tende a referenciar endereços de memória próximos, devido ao grande uso de estruturas de repetições e dados, localizados um após o outro na memória [9]. Figura 1. Evolução de desempenho - Memória x CPU [8]. A Figura 2 mostra o posicionamento da memória cache no sistema, onde a mesma pode ser dividida em vários níveis de acordo com a proximidade da CPU, proporcionando uma melhoria no desempenho global. A cache mantém um bloco de informações, composto das posições de memória mais recentemente utilizadas, como também o conteúdo das posições de memória próximas, pois estas possuem alta probabilidade de serem acessadas nas próximas referências de memória . Figura 2. Esquema de uma memória cache [9]. Para que esta operação ganhe velocidade, a cache fica próxima ao processador e é feita deste mesmo material. Apenas quando um dado referenciado não está na cache, um acesso à memoria principal é feito. A Figura 3 apresenta um resumo das operações envolvidas na busca de uma posição de memória em um sistema empregando memória cache. Figura 3. Funcionamento da cache [9]. Embora existam diversas implementações, poucos elementos básicos de projeto servem para classificar e diferenciar as diversas arquiteturas. O primeiro deles: o tamanho da memória cache. Quanto maior, mais caro e rápido, até certo ponto, fica o sistema. Como a cache é feita do mesmo material do processador, o custo por bit é muito elevado e o tempo de procura é maior. A função de mapeamento determina como a cache é preenchida, podendo ser de forma direta: cada bloco da memória principal é mapeado para apenas uma linha de cache, associativa: um bloco pode ser alocado em qualquer linha da cache, associativa por conjunto: a cache é dividida em conjuntos, com certo número de linhas cada e um bloco pode estar associado a qualquer Workshop sobre Educação em Arquiteturade Computadores (WEAC 2011) 8 linha de um conjunto já pré-determinado. Os algoritmos de substituição determinam como os dados serão substituídos, podendo ser pelas técnicas: Least Frequently Used (LFU), os dados menos frequentemente utilizados serão substituídos; First In First Out (FIFO), o primeiro dado a entrar é o primeiro a sair; Least Recently Used (LRU), os dados menos recentemente usados são descartados primeiro; ou de forma aleatória. A política de escrita determina como os dados serão atualizados na memória principal, podendo ser de forma simultânea: write through ou os dados são escritos temporariamente na cache e depois na memória, o que denominamos write back. Por fim, o tamanho do bloco, que determina a quantidade de dados de um bloco alocado e a quantidade de níveis, para um sistema com vários níveis de cache. Atualmente a memória cache vem evoluindo e já não está apenas presente nos processadores, mas em quase todos os dispositivos que necessitam dessa aceleração, como os discos-rígidos, por exemplo. Podemos encontrar também sistemas com vários níveis de cache ou caches separadas para dados e instruções. 3. Simuladores Esta seção analisa as características presentes nos simuladores, exibindo suas principais funcionalidades e modos de operação. No presente artigo foram escolhidos quatro simuladores para realização do estudo, entretanto outras ferramentas podem ser encontradas, como o SMPCache [10] e o Loop-way Cache [11], por exemplo. Alguns critérios para a escolha dos simuladores foram adotados, a saber: ou grau de exibição dos simuladores em relação às pesquisas realizadas na web sobre o tópico de memória cache e as documentações encontradas referentes aos mesmos, sejam estas artigos ou páginas da internet. 3.1 KSH O KSH foi desenvolvido na Pontifícia Universidade Católica de Minas Gerais e desenvolvido na linguagem de programação Java. Esta ferramenta pode ser executada em modo gráfico ou via console, ambos possuindo as mesmas funcionalidades. O KSH implementa as três arquiteturas de memória cache: mapeamento direto; mapeamento associativo e mapeamento associativo por conjunto. Suas políticas de substituição são FIFO e LRU. Possui técnicas de escrita: write back e write through e o acesso à memória pode ser de modo sequencial ou paralelo. Figura 4. Visão geral do simulador KSH. O seu memory trace pode ser um arquivo de texto ou um comando via teclado. O programa possui basicamente três ambientes de execução: o primeiro, logo após o menu do programa, é o controle da simulação, que permite tanto a observação passo-a- passo, quanto visualizar diretamente o final da simulação; o segundo, abaixo do controle da simulação, é onde é possível observar as informações; o terceiro, à direita, informa o conteúdo do memory trace. 3.2 DCMSim DCMSim (Didatic Cache Memory Simulator) é um simulador que foi projetado na Digital and Computational System Groups (GSDC) na Pontifícia Universidade Católica. A primeira versão foi iniciada como um trabalho universitário, enquanto que a última versão foi desenvolvida como um trabalho de graduação, ambos foram escritos em Java. A última versão, selecionada para o estudo, implementa as seguintes arquiteturas de cache: mapeamento direto; associativa e associativa por conjunto. Políticas de substituição: FIFO e LRU. Políticas de escrita: write back e write through. Os dados de entrada são representados pelo conjunto de acessos à memória. O memory trace apresenta-se na forma de um arquivo de texto onde cada linha representa um acesso à memória e tem suas linhas neste formato: <endereço> <indicação de (d)ado ou (i)nstrução> <indicação de (l)eitura ou (e)scrita> <dado/instrução>. Possui um recurso denominado MissAnalyst que analisa os acertos e erros dos acessos realizados na memória cache. Na seção denominada LogBox, as estatísticas do tempo de acesso são exibidas, tanto da iteração corrente, como de toda a simulação. Isso possibilita gerar um arquivo de relatório contendo a sequência das ocorrências, configurações e os resultados da simulação. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 9 Figura 5. Visão geral do DCMSim. 3.3 MSCSim MSCSim (Multilevel and Split Cache Simulator), foi desenvolvido na Pontifícia Universidade Católica de Minas Gerais. Desenvolvido também em Java e implementa as arquiteturas de cache: mapeamento direto; mapeamento associativo e associativo por conjunto. Políticas de substituição: FIFO e LRU. Políticas de escrita: write back e write through. Acesso à memória: paralelo e sequencial. O programa possui interface gráfica composta de vários ambientes, sendo a janela principal composta de um menu principal e um espaço onde é mostrado os arquivos usados recentemente (configurações e traces). Seu memory trace pode ser feito através de um trace generator no programa, o qual permite a criação manual ou randômica seguindo o formato: <endereço> <(L)eitura/(E)scrita> <(I)nstrução/(D)ado>. Quanto à configuração da arquitetura, pode ser elaborada ou ser importada de um arquivo pré- definido. É possível dividir a cache em vários níveis e diferenciar as características de cada nível. Depois de configurada a arquitetura e informado o trace, surge o ambiente de simulação – uma janela com abas: simulação, memória cache, memória principal e estatísticas – a simulação pode ocorrer passo-a-passo ou diretamente. Figura 6. Visão geral do MSCSim. 3.4 Dinero IV Desenvolvido pelo Dr. Jan Edler da NEC Researchs Corporation e pelo prof. Mark D. Hill do Departamento de Ciência da Computação da Universidade de Wisconsin. O Dinero IV é um simulador de memória cache baseado nas referências do memory trace que permite a simulação de caches multi-níveis dentre seus mais diversos tipos, como, por exemplo, uma cache separada para instrução e uma para dados. Possui melhor desempenho e portabilidade do que seu antecessor, o Dinero III. O Dinero IV não apresenta o tempo decorrido da simulação, sendo a sua principal funcionalidade o cálculo das taxas de acerto e de erro dos acessos feitos à memória cache. Suas políticas de substituição são: LRU; FIFO ou aleatória. Os vários parâmetros de cada cache podem ser configurados separadamente em relação aos fatores como: arquitetura; política e estatísticas. Durante a inicialização é realizada a configuração, uma cache por vez, começando por cada nível, desde a memória principal. Após a inicialização, os níveis superiores são alimentados a cada referência através por uma chamada simples de uma função, enquanto que os níveis mais baixos da hierarquia são tratados de maneira automática. O Dinero IV foi testado nos ambientes: x86/Linux, Alpha/Linux, Alpha/OSF, SGI/IRIX-6, RS6000/AIX, x86/Solaris, e Sparc/Solaris. Figura 7. Resultado de uma simulação realizada pelo Dinero IV. 4. Comparação entre os simuladores Essa seção apresenta a comparação entre os simuladores selecionados, através da análise de seus respectivos artigos. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 10 4.1 Parâmetros de comparação Após a análise dos simuladores, algumas características fundamentais foram discutidas e essa seção mostra os requisitos essenciais desejados em um simulador. Como a interface gráfica é a forma de interação com o usuário, esta deve ser intuitiva, de forma que a ferramenta seja fácil de utilizar. É importante que o processo de utilização do ambiente de simulação aconteça em etapas. O usuário deve passar por cada etapa, inserindo as informações solicitadas sobre a arquitetura simulada até a conclusão da simulação e exibição dos resultados. A visibilidade das informações é fundamental, aferramenta deve mostrar como é feito o acesso à memória cache, através da exibição de todos os parâmetros envolvidos no controle da mesma. Ao final da simulação, é esperado um relatório, cujo conteúdo mostraria uma descrição detalhada do desempenho do sistema. Para evitar erros, a geração do memory trace deve seguir um modelo fácil e deve ser feita de forma manual ou aleatória dentro do aplicativo. É essencial a disponibilização do aplicativo e de seu código fonte. Alguns dos trabalhos desenvolvidos não estão disponíveis para download e o contato dos desenvolvedores não é mais válido. Após o desenvolvimento da ferramenta, esta deve ser disponibilizada de forma simples, através, por exemplo, de sites que ofereçam hospedagem permanente. 4.2 Estudo comparativo Após a análise dos artigos dos simuladores de acordo com os critérios escolhidos, foi possível verificar que a maioria dos simuladores analisados não atende a alguns critérios. Dos simuladores selecionados apenas o Dinero IV não apresenta uma cache dividida para dados e instruções, enquanto que todos os outros possuem tal recurso. Em relação à quantidade de níveis de memória cache apenas o KSH e o DCMSim não apresentam a possibilidade de realizar simulações com vários níveis de cache. Os tipos de acesso sequencial e paralelo, bem como o tempo de cada acesso são características apenas do KSH e do MSCSim, os outros simuladores não disponibilizam tal opção. Os erros de compulsório, conflito e capacidade que podem ocorrem em um acesso à memória cache são pertinentes apenas aos simuladores Dinero IV e MSCSim. Em relação ao memory trace, a maioria dos simuladores usa arquivos de texto elaborados pelo usuário, baseados em um modelo pré-definido. Embora não seja uma tarefa tão complexa, uma função randômica que gere o memory trace é importante, sendo o MSCSim o único simulador que possui tal recurso. O Dinero IV utiliza um trace gerado pelo próprio programa. No quesito intuitividade, o que mais demonstrou deficiência foi o Dinero IV, pois não apresenta interface gráfica e nem comandos simples para as operações, que são exclusivamente via console. Todos os outros possuem interfaces gráficas, variando em complexidade. A ferramenta que se mostrou mais completa foi o MSCSim, apresentando uma interface bem estruturada. Na análise da visibilidade de informações, o MSCSim se destaca, exibindo uma gama de informações em sua simulação, além de possuir animações que ajudam a visualizar as modificações. O DCMSim e o KSH apresentam apenas as informações básicas e o Dinero IV não apresenta informações durante sua simulação, apresentando apenas um arquivo de relatório ao término. O MSCSim possui um recurso de importação de arquivos de extensão xml com arquiteturas pré- definidas para este fim. Já o KSH possui um script de configuração, porém a edição do mesmo é mais trabalhosa. Todos os outros não apresentam nenhuma forma de implementação de tutoriais. A tabela 1 mostra as características básicas, que foram os parâmetros de comparação existentes nos simuladores, e outras características adicionais que se mostraram presentes nos mesmos. Tabela 1. Características gerais pertinentes aos simuladores Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 11 5. Resultados Todos os simuladores apresentaram problemas de disponibilidade do aplicativo e do código fonte. O DCMSim possui o aplicativo disponível, porém em uma versão incompleta. O Dinero IV é disponível no site do autor, enquanto que para obter o MSCSim, é necessário entrar em contato com seus autores, os quais não retornaram os inúmeros contatos realizados. Não foram encontradas fontes para o KSH. A partir do estudo comparativo realizado, podemos verificar que há uma grande carência nas ferramentas de simulação. Mesmo havendo vários trabalhos publicados, não é possível encontrar os simuladores, exceto o Dinero IV, tanto por estes não estarem mais disponibilizados, quanto pela impossibilidade de contato com os idealizadores. Dos trabalhos selecionados, o MSCSim se destaca, sendo a ferramenta mais completa em todos os quesitos avaliados em nossa análise. Ele possui a interface com mais informações e as animações permitem uma melhor visualização das mudanças durante a simulação. Já o Dinero IV obteve o pior desempenho. A operação via console e a falta de informações durante a simulação, tornam o uso e a compreensão difíceis, sendo não indicado para o ensino. 6. Conclusões Nesse ambiente conclui-se que apenas um único simulador atende às principais características que um simulador didático deve possuir. Porém, o programa não foi localizado e as inúmeras tentativas de contato com os autores não obtiveram êxito. Dessa maneira, os objetivos do artigo foram alcançados e foi percebida a carência da existência de simuladores que possam auxiliar o ensino sobre memória cache. Assim, surge a necessidade de que sejam elaborados novos simuladores de acordo com os estudos já realizados, onde sejam implementadas as funcionalidades expostas nesse artigo. As novas ferramentas devem, primeiramente, ser disponibilizadas de forma simples, através, por exemplo, de um serviço de hospedagem permanente de arquivos. O projeto da interface gráfica deve primar por criar um ambiente agradável, no qual o aluno possa obter as informações do funcionamento e de desempenho de várias organizações diferentes de memória cache. Juntamente com os artigos analisados nesse estudo, este trabalho complementa as pesquisas realizadas sobre simuladores de memória cache mostrando um estudo comparativo, de modo a facilitar a escolha de uma ferramenta de simulação que possa ser empregada na disciplina de arquitetura de computadores. 7. Referências [1] Coutinho, L. M. N.; Mendes, J. L. D.; Martins, C. A. P. S. “MSCSim – Simulador de Memória Cache, Split e Multiníveis”, VI WSCAD, 2005, pp. 193-196. [2] Djordjevic, J.; Nikolic, B.; Mitrovic, M. “A Memory System for Education”, The Computer Journal, Vol. 48, No. 6, 2005, pp. 630-641. [3] Yurcik, W.; Wolffe, G. S.; Holliday, M. A; “A Survey of Simulators Used in Computer Organization/Architecture Courses”, Summer Computer Simulation Conference (SCSC), Society for Computer Simulation (SCS), 2001. [4] Ribeiro, A. S.; Duarte, R. P. “KSH: Simulador de memória cache com carregamento dinâmico de módulos e execução de script de configuração”, IV Workshop em Sistemas Computacionais de Alto Desempenho, 2003, pp. 160-163. [5] Cordeiro, E. S.; Stefani, I. G. A.; Soares, T.; Martins, C. A. P. S. “DCMSim: Didactic Cache Memory Simulator”, Frontiers in Education Conference – FIE 2003, Boulder – Colorado, v. 2003, pp. F1C14-F1C19, 2003. PDF. [6] Coutinho, L. M. N.; Mendes, J. L. D.; Martins, C. A. P. S. “MSCSim – Multilevel and Split Cache Simulator”, IV Workshop em Sistemas Computacionais de Alto Desempenho, 2006, pp. 193-196, (in portuguese). [7] Edler, J. Dinero IV Trace-Driven Uniprocessor Cache Simulator. Disponível em: http://www.cs.wisc.edu/~markhill/DineroIV/. [8] Hennessy, J. L.; Patterson, D. A. “Computer Organization and Design: The Hardware/Software Interface”, 3rd Edition, Morgan Kaufman, 2005. [9] William Stallings. “Organização e Arquitetura de Computadores”, 5ª Edição, Pearson Prentice Hall, 2002. [10] Vega M. A.; Martin R.; Zarallo F.A.; Sánchez J. M.; Gómez, J. A. "SMPCache: Simulador de Sistemas de Memoria Caché en Multiprocesadores Simétricos". Actas de las Xi Jornadas de Paralelismo, 2000, pp.3-8. [11] Moreira, L.; Pontes, B.; Fernandes, G.; Vidal, J. M.; Wanderley Netto, E. B.; Loop-way Cache. In Anais do Workshop em Sistemas Computacionais de Alto Desempenho, Oct, 24-27, pp. 197-200 Rio de Janeiro, Brazil,2005. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 12 Extensão do Ptolemy para o ensino de Organização e Arquitetura de Computadores André L. L Torres, Alisson V. Brito Universidade Federal da Paraiba Programa de Pós-Graduação em Informática {atorres, alissonbrito}@dce.ufpb.br Resumo A utilização de simuladores na educação se faz cada vez mais presente nas atividades pedagógicas. Nesta nova realidade, várias aplicações visam facilitar a construção do conhecimento por parte dos professores em relação aos alunos, através de métodos dinâmicos e expondo aulas para múltiplos ramos sem haver grande esforço ou repetições desnecessárias. Neste sentido, este trabalho apresenta uma extensão desenvolvida numa ferramenta de modelagem e simulação de sistemas concorrente baseada em atores, denominada Ptolemy, para contribuir com o processo de ensino-aprendizagem da disciplina de Organização e Arquitetura de Computadores. A extensão permite a criação de roteiros didáticos que abordam a disciplina e a verificação automática dos mesmos. 1. Introdução A análise dos sistemas computacionais atuais, seu entendimento é uma tarefa difícil, principalmente embasado apenas na teoria. Logo, o estudo da disciplina Organização e Arquitetura de Computadores podem ser facilitados com a utilização de simuladores [3], sendo uma abordagem benéfica para que os alunos entendam seu comportamento e possam visualizar a execução de programas para montagem real de uma arquitetura. Existem muitas técnicas de ensino utilizando simuladores para representar arquiteturas reais ou hipotéticas [2]. Estas técnicas, porém, não permitem uma abordagem construtivista onde os alunos possam criar suas próprias arquiteturas. Neste sentido, esse trabalho aborda uma metodologia para modelagem e simulação de sistemas concorrentes baseada em atores, utilizando um Framework denominado Ptolemy [6]. A metodologia abordada possui um grande potencial educacional ainda pouco explorado. Onde um modelo de atores é definido como um modelo matemático de computação concorrente que trata “atores” como sendo os elementos primitivos da computação concorrente digital [6]. Dada as limitações das soluções e propostas existentes, este trabalho propõe uma metodologia para o ensino de Organização e Arquitetura de Computadores apoiada pela simulação de sistemas concorrentes baseada em atores e pela ferramenta Ptolemy II, desenvolvida pela Universidade de Berkeley. O objetivo geral deste trabalho é prover um simulador que possibilite um ambiente didático onde os alunos possam criar seus próprios modelos de arquitetura de maneira simples, interativa e didática. 2. Trabalhos Relacionados Os simuladores computacionais são recursos tecnológicos que podem auxiliar em diversas áreas. No contexto abordado neste trabalho, os simuladores auxiliam os professores a provocar, favorecer e orientar situações controladas de ensino e aprendizagem, pedagogicamente interessantes para o nível de ensino que deseja. Do ponto de vista pedagógico, simuladores computacionais são softwares úteis e simples, uma vez que levam os alunos a interagirem com os mesmos, o que lhes facilita a compreensão de conceitos abstratos, leis e características do mundo físico. Segundo Felix [4], em tal disciplina é notável a necessidade de ferramentas gráficas e didáticas para auxiliar o aprendizado. Especificamente para explicar a arquitetura de processadores, pois são necessárias muitas figuras para ilustrar os caminhos de dados e de controle quando uma instrução é executada. Para a disciplina de Organização e Arquitetura de Computadores, podemos citar algumas ferramentas voltadas para o campo da informática educativa, especificamente em uma das áreas correlatas (processadores) ao tema da pesquisa. Dentre os vários processadores, dos mais simples aos mais complexos, destacamos o processador MIPS (Microprocessor Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 13 without Interlocked Pipe Stages). O MIPS é uma arquitetura de microprocessador projetada com objetivo de oferecer alto desempenho na execução de código compilado. Suas instruções são todas de 32 bits, mesmo nos processadores de 64 bits, como forma de manter a compatibilidade. Todas as operações aritméticas no MIPS utilizam valores contidos nos registradores e os resultados também são colocados em um registrador. O WebMIPS [1] possui uma plataforma gráfica visualmente agradável para simular a arquitetura MIPS com pipeline. Ele possui a vantagem de ser uma plataforma disponível na Internet, proporcionando uma interface dinâmica, a qual o estudante pode ter acesso sem ter que instalar módulos do simulador. O DIMIPSS [4] (Didact Interactive MIPS Simulator) é um software multiplataforma de simulação da execução (caminho de dados e de controle) das instruções do MIPS Monociclo. Ele recebe um programa em linguagem de montagem (assembly), o converte para a linguagem de máquina e representa graficamente o comportamento do caminho de dados e de controle durante a sua execução. O MARS (Mips Assembly and Runtime Simulator) desenvolvido por Vollmar e Sanderson [9] é uma ferramenta em Java com a IDE gráfica implementada usando Swing que simula um conjunto de instruções do MIPS32. A versão atual é a 3.8 e implementa 98 instruções, 36 pseudo-instruções e 17 chamadas de sistemas. Outra ferramenta é o WinMIPS64 [8] que simula a arquitetura pipeline do microprocessador MIPS64, apresentando um conjunto de 32 registradores para números inteiros, e 32 para números representados em pontos flutuantes. O WinMIPS64 [8] possibilita a visualização da instrução passando pelos pipelines, e ainda estatísticas relativas à execução, como, por exemplo, quantidade de ciclos que determinada instrução consumiu para passar por todos os estágios do pipeline. E por último descrevemos o MipsIt [3] que é um ambiente de desenvolvimento integrado e que também realiza a simulação do processador MIPS, possibilitando a programação em alto nível e permitindo relacionar conceitos de programação com organização e arquitetura de computadores. A Tabela 1 descreve uma análise comparativa entre ferramentas de simulação. Os tópicos abordados baseiam-se nos estudos de [7] para avaliar o potencial educacional dos simuladores. Tabela 1: Análise comparativa entre as ferramentas no ensino de Arquitetura de Computadores Ferramentas A B C D E F WebMIPS AA N S IL S S DIMIPSS BA N S IL N N MARS BA N S PL N S WinMIPS64 BA N N IL S S MipsIt AA N S IL/PL N S Ptolemy BA/AA S S CL/IL N S Legenda: (A) Ambiente e Complexidade (B) Suporte ao Projeto (C) Apresentação Visual (D) Nível de Simulação (E) Ensino a Distância (F) Detalhamento da Implementação Onde (A) avalia se o simulador apresenta noções básicas da introdução à Organização e Arquitetura de Computadores. Os níveis de avaliação são Arquitetura Básica (BA) e Arquitetura Avançada (AA). O critério (B) avalia se o simulador inclui ferramentas de apoio à elaboração de modulos informatizados reutilizáveis ou apenas simula sistemas pré-definidos. Para o critério (C) existem aqueles simuladores que detalham visualmente o funcionamento interno de um sistema computacional seguindo um fluxo de dados, ou aqueles onde os resultados são apresentados de forma textual, com a possibilidade de seu pós processamento. Ainda sobre os critérios utilizados, o (D) diz respeito ao nível de detalhamento do comportamento de um objeto exposto, com base no nivel mais baixo de granularidade suportado durante uma seção de simulação. Podendo ser: Nível de Clock (CL), Nível de Instrução (IL) ou Nível de Programa (PL). Para o critério (E), com base na disponibilidade de suporte para ensino à distância, os simuladores podem ser divididos entre aqueles com e sem suporte para o critério. E finalizando o (F) avalia se ossimuladores fornecem detalhes da execução visíveis durante a simulação. Após a análise das ferramentas verificou-se que o Ptolemy é o único que possibilita suporte ao projeto (B), pois permite que o aluno crie seus próprios elementos e possa reutilizá-los em diferentes níveis de abstração, como também em outros projetos e arquiteturas. Além disso, o Ptolemy possui algumas vantagens em relação às outras ferramentas, como por exemplo: i) no WebMIPS [1] as modificações que ocorrem nos caminhos de dados e controle durante a execução das instruções não são apresentadas; ii) O DIMIPSS [4] não é uma ferramenta web, dificultando o ensino a distância. Além de só implementar um pequeno número de instruções do MIPS monociclo; iii) Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 14 o MARS não possui suporte a depuração e não permite que o usuário desfaça etapas de execução; iv) o WinMIPS64 [8] não possui uma área para edição do código de execução pelo usuário; v) já o sistema MipsIt [3] a arquitetura do processador MIPS, ilustrada no MipsIt, possui complexidade acima do desejável para ilustração de conceitos aos alunos que estão ingressando em cursos de Computação. Podemos concluir que apesar do framework Ptolemy não ser um simulador didático (não possuindo um procedimento para o ensino a distância e de ter uma interface gráfica complexa), ele oferece a funcionalidade de criação de um repositório de atores, possibilitando ao aluno criar seus próprios cenários, como também seus atores, além de ser uma ferramenta gratuita e com o código fonte aberto, possibilitando que novas funcionalidades e mudanças na sua interface sejam realizadas para torná-la uma ferramenta apropriada para fins educacionais. 3. Framework Ptolemy Este trabalho se baseia no uso do Ptolemy [6], criado e mantido na Universidade de Berkeley, como uma ferramenta de ensino de Organização e Arquitetura de Computadores. Mas para conseguir êxito em tal objetivo, foram verificadas algumas barreiras para a utilização da ferramenta: i) Ptolemy é um software para fins científicos e industriais com interface pouca amigável para usuários inexperientes. ii) Ptolemy não oferece nenhum tipo de ajuda sobre como o aluno deverá montar seus ambientes. iii) Caso um professor configure um ambiente para que seja trabalhado por seus alunos, ele não terá controle sobre o que os alunos fizeram com o ambiente ou com os atores. Além destas barreiras, foi realizada uma análise de usabilidade no framework Ptolemy, buscando compreender e apontar as necessidades do software para torná-lo uma ferramenta de ensino eficaz, para auxílio na disciplina de Arquitetura de Computadores, de forma mais simples e mais amigável. Na realização da avaliação de usabilidade, foi utilizada a técnica diagnóstica de inspeção via checklist, com o auxílio da ferramenta Ergolist1, desenvolvida pelo Laboratório de Utilizabilidade da UFSC/SENAI (LabiUtil), coordenado pelo Prof. Dr. Walter de Abreu Cybis. Essa ferramenta possui dezoito checklists, totalizando 193 questões. Na Figura 1 é apresentado um gráfico referente às estatísticas da avaliação de usabilidade do Ptolemy II na ferramenta Ergolist. O eixo horizontal apresenta os 1 Para acessar o Ergolist, visite: http://www.labiutil.inf.ufsc.br/ergolist/check.htm critérios de avaliação e o eixo vertical apresenta o percentual de questões conformes, não-conformes e não-aplicáveis em cada critério. Após a avaliação, podem-se destacar problemas de usabilidade nos seguintes critérios, cujo percentual de questões não-conformes se sobressaíram: • Feedback: o Ptolemy II apresentou quase 60% de questões não-conformes, tendo em vista que, por existir uma documentação muita extensa, muitas tarefas executadas não fornecem um feedback apropriado para o usuário ficar mais seguro do que está fazendo; • Flexibilidade: o sistema deve disponibilizar diversas formas de se realizar uma tarefa e possibilitar efetuar modificações. Com quase 67% de questões não-conformes, no Ptolemy II só é possível essa flexibilidade se o usuário conhecer Java e XML; • Proteção contra erros: esse critério diz respeito aos mecanismos de detecção e prevenção de erros de entrada de dados ou comandos e ações não recuperáveis. O Ptolemy II obteve mais de 85% de questões não-conformes, pois a maioria dos erros é detectada na validação dos arquivos XML e classes Java; Buscando atender às necessidades do software para torná-lo uma ferramenta apropriada para o ensino de Organização e Arquitetura de Computadores, o trabalho descreve duas melhorias: i) tornar sua interface mais amigável, com instruções em português, e para que instruções passo a passo sejam dadas aos alunos na montagem de seus ambientes na forma de atividades; ii) Verificar automaticamente os exercícios feitos pelos alunos e dar feedback sobre o que pode ser melhorado. 4. Extensão Ptolemy para fins educacionais A extensão desenvolvida permite que o usuário modele suas próprias arquiteturas utilizando o repositório de atores específicos para a disciplina de Arquitetura de Computadores. A nova interface contribuirá para que o professor demonstre na prática aos seus alunos tópicos abordados na ementa da disciplina, como: hierarquia de memória, registradores, barramentos, dispositivos de entrada/saída e a abordagem estrutural no estudo de computadores. De forma a especificar a nova arquitetura do Ptolemy para fins educacionais, foram utilizados padrões de projeto de interface [5], estudo de Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 15 Figura 1: Avaliação da usabilidade do Ptolemy algumas ferramentas educacionais (seção 2) e abordagens para software educativo. Inicialmente foram desenvolvidos atores para representação dos componentes da arquitetura do processador MIPS como estudo de caso. Com a aplicação da ferramenta almeja-se estender sua aplicação para outras arquiteturas de processadores, memórias, dispositivos de Entrada e Saída etc. 4.1. Interface gráfica Vergil A nova interface foi implementada na versão 8.0.1 do Ptolemy. Seu desenvolvimento foi na linguagem de programação Java, utilizando o compilador Eclipse Helios Service Release 2. Ao acessar a interface gráfica [6], o usuário decidirá se deseja abrir um ambiente de modelagem para: (a) criar um novo projeto ou abrir um projeto já desenvolvido, podendo este ser (b) um projeto salvo no computador ou (c) um roteiro didático também salvo. No caso (a) o usuário utilizará a interface para modelagem e simulação, onde terá duas opções: i) criar um roteiro didático, clicando na opção do menu “Descrição de Exercício” (Figura 3), utilizando os atores da biblioteca, selecionando os obrigatórios, suas propriedades e as conexões entre eles, além de salvá-lo e/ou simulá-lo ou ii) criar seu próprio modelo utilizando a biblioteca, salvá-lo e/ou simulá-lo. Em relação ao item (b) o usuário poderá abrir projetos existentes, adicionar/editar atores, salvá-los e simulá-los por último, o item (c) possibilita que ele abra roteiros didáticos existentes, resolvendo os exercícios propostos, verifique possíveis erros através do Checker e receba um checklist da avaliação. A Figura 2 apresenta uma visão geral da estrutura para modelagem e simulação em Arquitetura de Computadores, seguindo uma aplicação didática do professor para o aluno. Na nova interface é visualizada as mudanças sugeridas para criação dos roteiros didáticos e da avaliação automática dos alunos, respectivamente, (a) Descrição do Exercício e (b) Verificação Automática. 5. Roteiro didático Para ilustrar o roteiro didático aplicado aos alunos, é detalhado um exercício sobre o comportamento de uma Unidade Lógica Aritmética – Arithmetic Logic Unit (ALU) que é a unidade do processador que executa as operações aritméticase lógicas referenciadas pelos códigos de operações (opcodes). O ator criado para representar a ALU suporta oito operações (AND, OR, ADD, SUB, MUL, DIV, SLT, E NOR) em um circuito combinacional que calcula uma saída de 32 bits baseada em duas entradas de 32 bits e uma entrada de 4 bits que especifica a operação da ALU a ser executada além de computar bits para verificar se existiu overflow. No Ptolemy, a simulação é orientada ao ator. Logo, o aluno poderá estudar o caminho de dados e controle verificando o fluxo de dados através da simulação do cenário, pois as interações entre atores são mensagens com base na passagem dos dados de entrada e saída. No exercício sugerido (Figura 3), o aluno deverá resolver a equação (2X+Y)2 utilizando números binários. O exercício consiste na utilização das operações da ALU, calculando a equação na base binária, onde X = 10 e Y = 11. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 16 Figura 2: Visão geral da estrutura da nova interface gráfica O aluno deverá adicionar seis atores (ALU) ao cenário, juntamente com outros atores que correspondem aos valores de X,Y (ator Const) e Operação da ALU, além dos atores Clock e Display (para exibir o resultado), conectando-os de forma que suas relações efetuem os cálculos para a equação sugerida, informando na sua saída o valor binário numa sequência de 32 bits. Figura 3: Exercício proposto De forma a oferecer um feedback ao aluno, o mesmo poderá utilizar a opção do menu Verificação Automática para corrigir possíveis erros no seu cenário. Onde, caso o aluno não adicione algum ator obrigatório ao cenário, será informado uma mensagem de erro, conforme a Figura 4. Figura 4: Erro (Ator obrigatório pendente) A Figura 5 ilustra dois exemplos da resolução do exercício, um feito de forma correta, e outro com erros cometidos pelo aluno. No projeto “ALUAluno.xml” o aluno seguiu todas as recomendações da Figura 3 e teve como resultado o valor “11001”. Já no projeto “ALUAlunoErrado.xml” o aluno não seguiu as recomendações para o valor de entrada de Y, adicionando o valor “111” e conectou indevidamente a entrada “operation code” da ALU4 na relação conectada a operação da ALU (Multiplicação), sendo a correta a da (Adição). Logo, o resultado não foi o esperado. Outras mensagens de erros foram configuradas para colaborar com o aprendizado do aluno. Na Figura 6 são apresentados os erros referentes à propriedade do ator Y (valor indevido) e das conexões dos atores e suas relações. 6. Considerações Finais A extensão do Ptolemy ainda está em desenvolvimento, mas pelo seu potencial educacional que possibilita aos alunos criarem seus próprios modelos, combinarem novos elementos em diferentes níveis de abstração e ampliarem seus estudos, espera- se com sua aplicação em sala de aula que os alunos possam resolver roteiros didáticos e verifiquem os erros existentes de uma forma clara e intuitiva. Na próxima etapa, a extensão criada incorporará a verificação automática na nova interface gráfica e será aplicada com alunos de graduação em Ciências da Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 17 Figura 5: Resolução do exercício Figura 6: Mensagens de erro informadas no projeto do aluno Computação a fim de efetuar testes e analisar os resultados produzidos. Referências [1] Branovic, I, Giorgi, R e Matinelli, E., 2004. WebMIPS: A New Web-Based MIPS Simulation Environment for Computer Architecture Education, Proceedings of the 31st Annual International Symposium on Computer Architecture, Munchen, Germany. [2] Brito, A. V. Simulação Baseada em Atores para o Ensino de Arquitetura de Computadores. Apresentado no Workshop sobre Educação em Arquitetura de Computadores (WEAC) – Simpósio Brasileiro de Arquitetura de Computadores. SBAC, São Paulo, 2009. [3] Brorsson, M. MipsIt: a simulation and development environment using animation for computer architecture education. In Proceedings of 2002 Workshop on Computer Architecture Education: Held in Conjunction with the 29th international Symposium on Computer Architecture (Anchorage, ACM, New York, NY, 12. p. WCAE‘02.Alaska),p.1 -8. [4] Felix, A. F; Pousa, C. V. e Carvalho, M. B. DIMIPSS: Um simulador didático e interativo do MIPS . Apresentado no Workshop sobre Educação em Arquitetura de Computadores (WEAC) – Simpósio Brasileiro de Arquitetura de Computadores. SBAC, Ouro Preto - MG, 2006. [5] Koscianski, A., Soares, M. S. Qualidade de Software: Aprenda as metodologias e técnicas modernas para o desenvolvimento de software. Editora: Novatec. São Paulo – SP. 2007. [6] Lee, A, 2007. Neuendorffer, S. Tutorial: Building Ptolemy II Models Graphically. Technical Report No. UCB/EECS-2007-129. [7] Nikolic, B., Radivojevic, Z., Djordjevic, J and Milutinovic V, 2009. A Survey and Evaluation of Simulators Suitable for Teaching Courses in Computer Architecture and Organization. IEEE Transactions on Education, Vol. 52, No. 4. [8] Scott, M. WinMips64, version 1.5, School of Computing, Dublin City University, Ireland, 2006. [9] Vollmar, K. and Sanderson, P., A MIPS Assembly Language Simulator Designed For Education. The Journal of Computing Sciences in Colleges, Vol. 21, No. 1, 2005. Workshop sobre Educação em Arquitetura de Computadores (WEAC 2011) 18 Arquitetura de Computadores em uma Simples Folha de Papel Ricardo Ferreira Departamento de Informa´tica Universidade Federal de Vicosa Vicosa, MG, 36570 000 ricardo@ufv.br Abstract Este trabalho apresenta um estudo inicial do uso de uma ferramenta simples para coletar um retorno dos alu- nos e uma participac¸a˜o efetiva nas aulas de arquiteturas de computadores. Os estudantes fazem exercı´cios sim- ples em conjunto com o professor ou isoladamente, du- rante a apresentac¸a˜o dos conceitos teo´ricos. Dois temas sa˜o abordados no artigo: memo´ria e encaminhamento de instruc¸o˜es. Os exercı´cios sa˜o formatados para ficar em uma folha de papel. O uso foi avaliado apenas em um semestre letivo e apresentou uma melhora qualitativa. Os resultados ainda sa˜o preliminares para uma avaliac¸a˜o quantitativa. 1. Introduc¸a˜o Estudos recentes vem mostrando uma preocupac¸a˜o em mudar a abordagem tradicional de ensino para os novos jovens da gerac¸a˜o Y [3]. Os jovens nascidos nas duas u´ltimas de´cadas sa˜o considerados por alguns pesquisado- res como gerac¸a˜o Y. Sa˜o dinaˆmicos, fazem muitas tarefas simultaˆneas, mas tem grande dificuldade ao ficarem presos em uma sala de aula para manter a concentrac¸a˜o por mais de 50 minutos [3]. A disponibilidade da tecnologia com a internet e suas fa- cilidades de uso vem gerando modificac¸o˜es na sociedade. Os jovens fazem uso intenso da internet, por meio de note- books, telefones celulares, se comunicam por redes sociais, etc. O uso da tecnologia e´ uma alternativa com a disponibili- dade de recursos multimı´dia, ferramentas colaborativas em sı´tios na internet com animac¸o˜es, vı´deos, etc. Uma ferra- menta interessante sa˜o os clickers [2]. O professor faz a exposic¸a˜o da aula e va´rias pausas entre os to´picos. Mostra perguntas simples no formato de mu´ltipla escolha, falso ou verdadeiro, afirmativas. O estudante responde com o clic- ker escolhendo a opc¸a˜o sim ou na˜o, a, b ou c. No mesmo instante o professor tem o retorno dos alunos e sabe se deve retornar ao to´pico e explicar ou esclarecer o assunto ou se pode seguir adiante, tendo uma ideia precisa da percepc¸a˜o dos alunos. Notebooks ou celulares tambe´m podem ser usa- dos neste tipo de abordagem atrave´s da rede WIFI que esta´ disponı´vel na maioria dos ambientes universita´rios. Ja´ os clickers e o software especı´fico tem que ser adquiridos para tal finalidade. Apesar da teconologia ajudar e trazer grandes benefı´cios, muitas vezes o uso intensivo de projetores multimı´dia gera muita dispersa˜o na turma. Este trabalho apresenta uma ideia simples de baixo custo
Compartilhar