Sei sulla pagina 1di 10

Mtodo de aprendizado de arquitetura de microprocessadores baseado em projetos e validao usando simulao funcional Carlos Augusto Paiva da Silva Martins1

capsm@pucminas.br

Joo Batista Torres Corra 2


joaobtc@ig.com.br

Lus Fabrcio Wanderley Ges2


o_cabra@uol.com.br

Luiz Eduardo Ramos2


luizedu@net.em.com.br

Talles Henrique Medeiros2


talles_puc@hotmail.com

Pontifcia Universidade Catlica de Minas Gerais Instituto de Informtica Laboratrio de Sistemas Digitais e Computacionais - LSDC Av. Dom Jos Gaspar 500 30535-610 Belo Horizonte Minas Gerais Resumo Apresentamos nesse trabalho um novo mtodo de aprendizado de arquitetura de microprocessadores. Esse mtodo baseado no construtivismo, aprendizado baseado em problemas reais, desenvolvimento de projetos de microprocessadores reais como motivao para o estudo da teoria e validao dos microprocessadores projetos atravs de simuladores funcionais desenvolvidos pelos prprios alunos. Apresentamos os resultados, alguns projetos de microprocessadores no nvel de conjunto de instrues e seus simuladores funcionais, da aplicao desse mtodo na disciplina arquitetura de computadores do curso de cincia da computao da Pontifcia Universidade Catlica de Minas Gerais. Posteriormente, os alunos e o professor da disciplina analisam os resultados, destacando as principais diferenas, vantagens e desvantagens do novo mtodo. Abstract We present in this work a new learning method of microprocessors architecture. This method is based on constructivism, problem based learning, and development of real microprocessors design as motivation for theory study and validation of microprocessors design through functional simulators developed by students. We present the results, some microprocessors design in the instruction set architecture level and its functional simulators, of the method application in the computer architecture discipline of the computer science course on the Pontifical Catholic University of Minas Gerais. Later, the students and professor analyze the results, highlighting the main differences, advantages and disadvantages of the new method. Palavras Chaves mtodo de aprendizado, arquitetura de microprocessadores, projeto de microprocessadores
1 Professor do Instituto de Informtica 2 Alunos curso cincia da computao e bolsistas de iniciao cientfica

1. Introduo Temos observado nos ltimos anos um aumento significativo na utilizao e complexidade dos sistemas de informao, principalmente na complexidade de especificao, projeto, implementao, validao, programao e aprendizado da teoria dos sistemas computacionais. Analisando os sistemas computacionais usados nos ltimos anos e principalmente os usados atualmente, observamos muitas inovaes nas arquiteturas [1,2] e nas tecnologias [3] utilizadas nas implementaes. Entre os elementos construtivos mais importantes dessas arquiteturas podemos destacar os elementos de processamento (processadores), entrada e sada, e armazenamento (memria principal, cache e secundria). Mas sem dvida alguma, os elementos de maior destaque, pela importncia, evoluo e complexidade, so os microprocessadores que atualmente so usados como elementos de processamento em quase todos os sistemas computacionais. Considerando o estado da arte em termos de microprocessadores podemos destacar alguns microprocessadores modernos como o Pentium III, Pentium IV, Itanium, Alpha, PowerPC, R10000, UltraSparc III [4-8]; suas principais caractersticas tcnicas como alto desempenho, escalabilidade, baixo consumo de energia e as principais tcnicas utilizadas para a obteno dessas caractersticas como conjunto de instrues reduzido, pipeline, paralelismo no nvel de instrues, memria cache de mltiplos nveis [4-7, 9]. Analisando a evoluo e o estado atual dos microprocessadores podemos destacar alguns problemas importantes, que foram a motivao inicial desse trabalho, como: i) aumento da complexidade, arquitetural e tecnolgica, dos microprocessadores; ii) dificuldades no uso e entendimento dos recursos tcnicos dos microprocessadores modernos; iii) falta de motivao dos alunos para o estudo da teoria e a no aplicao dos conhecimento adquiridos em atividades prticas realsticas; iv) dificuldade para ensino e principalmente para aprendizado dos conceitos, caractersticas, tcnicas relacionadas e exemplos de microprocessadores quando se usavam apenas os mtodos tradicionais baseados em leitura da teoria e alguns exerccios manuais; v) e principalmente as deficincias e inadequao dos mtodos didticos tradicionais usados atualmente no ensino e aprendizado dos microprocessadores e sua programao em linguagem de montagem (assembly). Deste modo, estamos interessados principalmente no ensino e aprendizado dos conhecimentos relacionados aos microprocessadores e nos problemas de aprendizado causados pelos pontos citados. Os nossos principais objetivos so: i) motivar as pessoas para o estudo e aprendizado dos conhecimentos tericos e prticos sobre microprocessadores, como sendo o caminho para a proposta e desenvolvimento de solues de problemas e resposta de perguntas reais atuais e futuras sobre esses dispositivos e sua utilizao; ii) analisar os mtodos tradicionais de ensino e aprendizado de microprocessadores e sua aplicao em cursos de graduao, considerando a opinio e viso dos alunos (aprendizes) e dos professores; iii) desenvolver um novo mtodo de ensino e aprendizado de arquitetura de microprocessadores, envolvendo os vrios nveis de abstrao (microarquitetura, conjunto de instrues, sistema operacional, linguagem de montagem e linguagem de alto nvel); iv) facilitar o aprendizado dos conceitos bsicos dos microprocessadores, das tcnicas avanadas de projeto, tcnicas que otimizam o desempenho dos microprocessadores, programao usando linguagem de montagem e de alto nvel. Com base no contexto, motivaes e objetivos apresentamos uma proposta de soluo dos problemas considerados, que nesse caso um mtodo de aprendizado de arquitetura de microprocessadores. Quanto abrangncia e importncia desse trabalho, destacamos que os conhecimentos relacionados aos microprocessadores so ensinados ou pr-requisito em vrias disciplinas nos cursos tcnicos, graduao e ps-graduao em computao e reas afins como engenharias.

2. Mtodo proposto Inicialmente estudamos e analisamos [10] alguns mtodos tradicionalmente usados no ensino e aprendizado de arquitetura de computadores [11-13] de modo geral, e especialmente de microprocessadores [13-15]. Conclumos que as principais caractersticas desses mtodos so: i) abordagem instrucionista, onde o aprendiz est recebendo conhecimentos, muitas vezes de modo passivo e sem uma postura analtica e crtica; ii) didtica baseada na participao de aulas tericas, leitura da teoria e realizao de exerccios manuais; iii) pouco ou nenhum uso de ferramentas computacionais para auxlio no processo de aprendizado; iv) possibilidades de erros no aprendizado e compreenso incorreta da teoria ensinada, usando alguns mtodos tradicionais, pois no existem atividades de comprovao prtica da teoria estudada. Os casos trabalhados nos exerccios manuais nem sempre cobrem uma boa parte das possibilidades e demandam muito trabalho; v) possibilidades de ocorrncia de erros que no so detectados pelos estudantes, o que produz o aprendizado de conceitos incorretos e erros na anlise da aplicao da teoria em situaes reais e prticas. Finalizando, conclumos que os mtodos de ensino tradicionais so muito tericos e instrucionistas, onde os alunos muitas vezes decoram a teoria sem analisar e questionar as solues e tcnicas ensinadas, e principalmente so obrigados a estudar a teoria sem motivao e sem relacionar essa teoria com situaes e problemas do mundo real. Deste modo, o aprendiz possuir deficincia no domnio da teoria, pouca viso analtica e crtica, e pouca experincia em anlise e sntese de casos reais. Na definio dos fundamentos do mtodo proposto consideramos o comportamento e a interao dos indivduos no mundo moderno, que caracterizado pelos avanos tecnolgicos e pela ansiedade. E observamos que os mtodos tradicionais foram criados em outra poca, com diferentes caractersticas, que no so representativas e realsticas atualmente. Conclumos que os mtodos tradicionais e o comportamento das pessoas participantes do processo de aprendizado so muito diferentes dos seus equivalentes no cotidiano das pessoas. A seguir apresentamos uma descrio detalhada do mtodo proposto, desenvolvido com base na anlise de alguns mtodos tradicionais, destacando os conceitos fundamentais, as principais diretrizes, aspectos de implementao e operacionais. 2.1 Conceitos fundamentais Entre os conceitos fundamentais, fundamentos basilares do mtodo proposto, podemos destacar: i) tentar unir motivao, diverso, prazer e aprendizado; ii) o maior enfoque do mtodo no aprendizado e no no ensino, usando abordagem construtivista, onde o aprendiz constri os conhecimentos atravs de atividades prticas e no recebe o conhecimento como uma coisa pronta, fechada e definitiva [16]; iii) uso de situaes e problemas reais, inclusive desafios, como elementos de motivao para o estudo de tpicos tericos. Baseado no conceito de aprendizado baseado em problemas (Problem Based Learning - PBL) [16]; iv) uso de projetos como ferramenta (tcnica) de auxlio ao aprendizado, permitindo a aplicao da teoria estudada ou construda para solucionar problemas reais e validar os conhecimentos estudados (gerados). Os projetos permitem mostrar a complexidade de problemas reais, o que no possvel com o uso de exerccios simples; v) uso de trabalhos em grupos, nesse caso projeto em grupo, como tcnica de aprendizado; vi) uso do computador como ferramenta de apoio ao ensino e aprendizado; vii) uso de simulao funcional como tcnica (ferramenta) de apoio ao ensino e aprendizado; viii) estudo dos objetos em vrios nveis de abstrao; ix) uso da internet e tecnologias WEB como auxlio ou suporte ao aprendizado. Os aspectos visuais e dinmicos da hipermdia melhoram a qualidade do material de suporte ao estudo e tambm do material produzidos pelos alunos como parte das atividades relacionadas ao estudo, pesquisa e projeto; x) uso de confeco de artigos, como forma de verificao da teoria estudada e principalmente como contato com a cincia e metodologia cientfica.

2.2 Principais diretrizes Aplicando os conceitos fundamentais no aprendizado de arquitetura de microprocessadores, principalmente no nvel de conjunto de instrues, elaboramos as diretrizes, definindo e caracterizando as principais etapas do mtodo de aprendizado. Partindo da proposio de problemas reais, que o projeto de um microprocessador, os grupos de alunos devem realizar as etapas de especificao, projeto e validao (simulao funcional) dos microprocessadores em nvel de conjunto de instrues. A simulao funcional realizada usando-se simuladores propostos e desenvolvidos pelos prprios alunos. As principais etapas do mtodo proposto so: 1. Palestra inicial do professor, para apresentao dos conceitos e viso geral da rea de arquitetura de microprocessadores. 2. Proposio do problema real, que o projeto de um microprocessador, que pode ser de propsito geral ou dedicado. Cada grupo de alunos tem total liberdade para definir e caracterizar o seu problema real. (PBL) (Palestra do professor). 3. Motivao para o estudo de tpicos da teoria, que so necessrios para o projeto, ou seja, para a soluo de problemas reais e prticos. Os alunos devem perceber que ainda no dominam todos os conhecimentos que so necessrios para resolver o problema real proposto, e concluir sobre a necessidade de estudar novos tpicos da teoria. Posteriormente, devem definir os conhecimentos da teoria que so necessrios para resolver o problema real proposto. (O professor deve auxiliar os grupos na anlise e discusso da teoria necessria para resolver o problema proposto, atuando como motivador e no como transmissor de teoria). 4. Estudo da teoria relacionada aos microprocessadores. (O professor deve auxiliar os alunos no processo de construo do conhecimento, atravs de aulas e outros tipos de atividades). 5. Projeto do microprocessador, com as fases de especificao e desenvolvimento do projeto no nvel abstrao escolhido. Existe algum paralelismo entre as atividades de estudo da teoria e projeto, pois a ltima gera novas necessidades na primeira. (O professor deve auxiliar os grupos nessa etapa, principalmente com relao ao estudo da teoria em funo do projeto). 6. Apresentao e anlise de alguns simuladores de microprocessador, com discusso de tpicos relacionados simulao e ao simulador (software de simulao). Tpico exemplos de simuladores da pgina da disciplina arquitetura de computadores [17]. (Palestra do professor). 7. Desenvolvimento do simulador do microprocessador, com fases de especificao, desenvolvimento e validao do simulador. (O professor deve auxiliar os grupos nessa etapa). 8. Validao do projeto do microprocessador usando o simulador desenvolvido. A validao do microprocessador funciona como verificao geral da aplicao prtica dos conhecimentos gerados ou adquiridos (teoria estudada). (O professor deve auxiliar os grupos nessa etapa) 9. Apresentao do microprocessador projetado e validado em formato hipermdia WEB. 10. Preparao de artigo sobre o microprocessador e simulador desenvolvidos - opcional 11. Validao e avaliao final do projeto, o professor realiza essa etapa e se necessrio consulta e avalia individualmente cada grupo. Aspectos de implementao e operacionais Os projetos sero realizados em grupos, de tamanho reduzido, compostos de alunos com interesses comuns. Deste modo, o professor pode acompanhar cada grupo de modo mais particular e especfico. O professor pode definir os tipos de microprocessadores ou ento dar total liberdade aos grupos. Atualmente, a maior parte dos grupos tem projetado o nvel ISA ou ento ISA e microarquitetura dos microprocessadores. Com relao ao ambiente computacional usado no desenvolvimento e validao dos projetos, cada grupo pode utilizar a linguagem de programao e sistema operacional de sua preferncia. Entretanto, destacamos que essa liberdade de escolha complica a manuteno da

infra-estrutura para a validao, e a prpria avaliao final do microprocessador e do simulador que realizada pelo professor da disciplina. 3. Resultados prticos da validao do mtodo Neste tpico apresentamos alguns resultados da aplicao (validao) do mtodo proposto, que est sendo usado desde 1998 na disciplina arquitetura de computadores [17], inicialmente somente nos tpicos relacionados aos microprocessadores, do curso de bacharelado em cincia da computao da Pontifcia Universidade Catlica de Minas Gerais. Esse curso tem durao de quatro anos, e a seqncia de disciplinas relacionadas : (2 perodo) introduo aos sistemas lgicos (ISL), (3 perodo) organizao de computadores (OC) e (4 perodo) arquitetura de computadores (AC). Nesses anos vrios microprocessadores (nvel ISA) foram projetados e validados usando-se simulao funcional, entre os quais podemos citar: processador de propsito geral CISC, processadores de propsito geral RISC, processadores de propsito especfico CISC, processadores de propsito especfico RISC. Entretanto, apresentamos resumidamente somente dois microprocessadores especificados e projetados no primeiro semestre de 2000, seus respectivos simuladores desenvolvidos e validados, e uma anlise do resultado da aplicao do mtodo na viso dos alunos envolvidos em cada projeto. 3.1 Microprocessador DSP (Digital Signal Processor) Sendo um DSP (digital signal processor), este processador apresenta vantagens sobre aqueles de propsito geral, no tratamento de sinais analgicos (contnuos), presentes no mundo real. Alm disso, ele pode ser usado em diversas aplicaes, tais como multimdia, radares, telefonia, e udio entre outras. Existem instrues e componentes especiais que caracterizam a sua funcionalidade. Dentre eles podemos citar alguns componentes como o multiplicadoracumulador, conversor analgico-digital (CAD), conversor digital-analgico (CDA), bancos de muitos registradores, e as instrues MPY (multiplicao), LDBA (carrega no banco de registradores 1), STBA (armazena no banco de registradores 1) e STBB (armazena no banco de registradores 2). O processador projetado apresenta caractersticas de um RISC (Reduced Instruction Set Computer) tais como: conjunto de instrues reduzido (29 instrues), execuo direta de todas as instrues pelo hardware, maximizao da taxa de emisso de instrues, instrues de fcil decodificao, uso apenas de load e store para referenciar memria e presena de uma grande quantidade de registradores (bancos 1 e 2). O programa simulador do processador, desenvolvido na linguagem C++ utilizando o compilador Borland C++ Builder 4.0 para ambiente Windows, simula um processador ASIP (Application Specific Instruction set Processor). Sua utilizao simples: o usurio escolhe um arquivo binrio contendo as instrues que devero ser executadas passo-a-passo pelo processador. O simulador tambm fornece um assembler que facilita a construo de programas. As figuras 1 e 2 mostram a arquitetura do processador e a interface do simulador.

Fig. 1 Data Path do Processador

Fig. 2 Interface do Simulador

Com relao aos registradores, o processador possui: 4 registradores de propsito geral (16 bits): A, B, C e D; 1 acumulador de 32 bits, responsvel por receber resultados de operaes lgico-aritmticas, somando-as ao seu contedo inicial; 2 registradores de controle de 4 bits que acessam os contedos dos bancos atravs de um endereamento indireto ao registrador (so apontadores para os bancos de registradores); 1 banco de 16 registradores de 16 bits no visveis diretamente ao programador acessveis apenas atravs do registrador de controle do banco (BK1). O banco 1 otimiza a manipulao dos dados escritos pelo CDA no buffer de memria RAM (de 00h a 0Fh); 1 banco de 16 registradores de 32 bits, no visveis diretamente ao usurio (tambm empregam conceito de endereamento indireto ao registrador); 1 registrador de retorno acoplado ao contador de programa, pois disponibilizada apenas uma chamada a procedimento (CALL). O microprocessador possui memria RAM interna de 4 Kbytes, com palavras de 16 bits, dividida em: Buffer de entrada: rea da memria RAM reservada para a escrita do Conversor Analgico-Digital. dividido em 16 palavras de 16 bits (00h a 0Fh); Buffer de sada: regio da memria RAM reservada para a leitura do Conversor Digital-Analgico. Dividido em 32 palavras de 16 bits, que sero lidas pelo DAC como 16 palavras de 32 bits (10h a 3Fh); O restante da memria pode ser usado para armazenamento de dados e instrues. OBS: Ambos os Buffers podem ser alterados via software, no entanto, no uma operao segura se desejamos manter a integridade dos dados. Como eles podem ser alterados pelos conversores, exigem cuidados especiais. O processador possui 29 instrues, onde uma expanso de Opcode foi aplicada na codificao das instrues. Com a expanso, gastamos 16 bits para representar todas elas. Sem a expanso, gastaramos 32 bits. Outras caractersticas importantes so: Tipos de dados: ponto fixo (para simplificao no foi implementado ponto flutuante), inteiros (16 e 32 bits); Barramento de 32 bits com ramificaes para 16 bits, uma vez que os registradores de 16 bits operam sobre o byte menos significativo do barramento; Possui os modos de endereamentos: indireto ao registrador (BK1 e BK2), imediato (instrues que realizam operaes com valores imediatos) e direto (para o restante das instrues). Exemplo de cdigo:
30 LDBA // carrega o BA com o buffer do ADC 31 MVI BK1, 03 // copia imediato p/ pos. apontada por BK1 32 MOV A, BK1 // copia contedo de um reg p/ outro 33 ADD B, A // soma contedos dos regs 34 AND A, C // realiza a operao AND entre os regs 35 OR A, D // realiza a operao OR entre os regs 36 MVI C,03 // copia valor imediato para reg 37 SHR // rotaciona para direita 38 DCR C // decrementa reg 39 CPI C,0 // multiplica reg por imediato 3A JNZ 55d // salto condicional 3B MVI BK2, 05 // copia imediato 3C MOV BK2, ACC // copia contedo para ac. 3D STBB // Armazena em BB 3E HALT // finaliza execuo

Dificuldades e Vantagens O processo de projeto do microprocessador fornece uma idia geral das principais preocupaes dos projetistas e desenvolvedores de processadores. O aluno, em contato com a teoria de arquitetura de processadores, interessado em propor ou desenvolver um conjunto de instrues prprio, obrigado a construir uma ferramenta que permita visualizar o funcionamento e validar sua proposta. Acreditamos que, apesar de ser motivante construir um simulador de processador, este passo no seja totalmente necessrio, tendo em vista o objetivo principal, que projetar o nvel ISA do processador. Atravs do projeto foi possvel acentuar o grau de aprendizado sobre o assunto abordado. Isto foi um diferencial em relao aos outros tpicos que foram trabalhados apenas teoricamente, usando mtodos tradicionais.

O uso de simulao vantajoso pois no necessita de uma infra-estrutura sofisticada e de alto custo, alm de possuir fcil implementao em relao ao desenvolvimento real de um processador. No entanto, a implementao do simulador consome tempo, estando sujeito a erros originados de deficincias conceituais. Apesar de poder testar e validar seu projeto, visualizando seu funcionamento atravs de simulao, este no passa de um projeto virtual. Seria desejvel que o projeto tambm fosse implementado na realidade, ou seja como um prottipo real, para constatao de sua funcionalidade e aplicabilidade. 3.2 Microprocessador dedicado para automao residencial ASIP Um outro microprocessador proposto e desenvolvido foi um microprocessador de aplicao especfica (ASIP) com arquitetura dedicada para um sistema de automao residencial, baseado na idia de se ter casas inteligentes que possam acionar alarmes, controlar a autorizao para entrada na residncia, programao para iluminar determinados cmodos ou at mesmo hora exata para trancar as janelas desta casa. O projeto do microprocessador, nomeado de KMT, iniciou-se com uma proposta de arquitetura de um conjunto de instrues (ISA) adequada para o propsito no qual este hardware seria implantado. Definiu-se ento um microprocessador RISC (Reduced Instruction Set Computer) [2] de 16 bits, com uma memria principal de 128Kbytes composta de clulas de 16 bits, onde ficam armazenados o programa e os dados durante a sua execuo. Como o processador trabalha com registradores de 8 bits, sempre que faz acesso memria, o KMT utiliza-se de um par de registradores carregar ou salvar os dados. O conjunto de instrues definidas do tipo LOAD-STORE, ou seja, so instrues que fazem referncia aos registradores. Das instrues que foram definidas (quadro 1), um total de quatorze, o Opcode varivel. Instrues de desvio e instrues de acesso memria, possuem 3 bits de Opcode enquanto as outras instrues (instrues de comparao, de acesso aos registradores, operaes de E/S e finalizao de programa) possuem 5 bits de Opcode. Os bits restantes da instruo so utilizados para a definio dos registradores, do endereo de memria referenciado ou ento do endereo das portas de entrada ou sada.
******************************************************************************************************** * QUADRO DE INSTRUCOES * ******************************************************************************************************** * INSTRUCAO OP. CODE END/REG/BYTE EXPLICACAO * * LDA End 0 + 00 + 16 Bits de End. A/B [END] * * STA End 0 + 01 + 16 Bits de End.X END A/B * * JMP End 0 + 10 + 16 Bits de End.XXXXXX G/H END * * JZ End 0 + 11 + 16 Bits de End.XXX G/H END se Cy = 0 * * MOV R1, R2 1 + 0000 + XXX + XXX R1 R2 * * MVI R, Byte 1 + 0001 + XXX + XXXXXXXX R BYTE * * CMP R1, R2 1 + 0010 + XXX + XXX Cy 1(R1 = R2) SENAO Cy 0 * * CPI R1, Byte 1 + 0011 + XXX + XXXXXXXX Cy 1(R1=BYTE) SENAO Cy 0 * * OUT Porta 1 + 0100 + XX PORTA A * * IN Porta 1 + 0101 + XX A PORTA * * ADD R1, R2 1 + 0110 + XXX + XXX A REG1 + REG2 * * ADI R1, Byte 1 + 0111 + XXX + XXXXXXXX A REG + BYTE * * INC R1 1 + 1000 + XXX REG REG + 1 * * CFC 1 + 1001 Cy !Cy * * HLT 1 + 1010 FIM DE PROGRAMA * ********************************************************************************************************

quadro 1

O banco de registradores composto de oito registradores com tamanho definido de 8 bits (1 byte), sendo que destes, dois registradores so utilizados como acumulador (16 bits), outros dois como contador de programa e os outros quatro restantes so utilizados como registradores de propsito geral. Tambm tem-se 4 portas de entrada e sada, de 8 bits, que fazem a interface com o meio externo que no caso particular deste processador so os componentes da casa que so controlados eletronicamente como: porto, janelas, portas, iluminao, dispositivos sonoros, eletrodomsticos, etc. Segue abaixo uma tabela a respeito dos registradores.

CDIGO 000

PROPSITO Acumulador(mais significativo) 001 B Acumulador(menos significativo) 010 C Propsito Geral 011 D Propsito Geral 100 E Propsito Geral 101 F Propsito Geral 110 G Contador de Programa 1 111 H Contador de Programa 2 Fig. 3 Descrio dos registradores

REG. A

Fig. 4 Interface do Simulador

Aps a etapa de projeto da arquitetura do microprocessador KMT, onde os alunos buscaram estudar toda teoria vista em aula [18] e em bibliografias diversas que tratam o assunto em questo [8], veio ento a fase de validao atravs de simulao funcional. Definiu-se a linguagem C++ com o compilador Borland C++ Builder 4.0 como ferramenta para codificao do software devido aos recursos voltados ao paradigma de orientao a objetos utilizados durante a codificao do software. Isto para que se pudesse obter uma maior facilidade de manuteno e possveis evolues para verses mais robustas. O simulador deve mostrar o contedo atual da memria, dos registradores e das portas de E/S para cada instruo executada de modo que o projetista possa ento validar o modelo proposto [19]. Entre os pontos vantajosos vistos pelos alunos, pode-se destacar a importncia de extrair do aluno a criatividade em ter que resolver um problema proposto estudando a teoria de arquitetura de computadores, mas alm disso, projetar um processador e desenvolver um simulador que possibilite a validao do modelo proposto. Este mtodo capacita o aluno a compreender com maior clareza aquilo que inicialmente era visto apenas em exerccios manuais e que nem sempre conseguiam ampliar a viso crtica do aluno quanto a uma determinada arquitetura. Infelizmente tambm tm-se visto que a implementao do simulador desde o incio traz um trabalho extra ao aluno, que neste caso indesejvel pela proposta do trabalho definido na disciplina. Com base nisso podemos encontrar simuladores com padres extremamente diferentes, dificultando o entendimento do mesmo, e a avaliao final realizada pelo professor. 4. Concluso Com base na anlise dos resultados obtidos podemos concluir que: Na opinio dos alunos a realizao dos projetos motiva e auxilia no aprendizado da teoria e mostra a importncia desse tpico da disciplina. Entretanto, uma grande parte dos alunos acreditam que o desenvolvimento de um simulador gera uma grande quantidade de trabalho manual (programao) no diretamente relacionado com a teoria dos microprocessadores. Assim conclumos que os alunos aprovaram o uso do novo mtodo de aprendizado. Na viso do professor os resultados foram muito bons, e sero analisados mais detalhadamente no restante do concluso. Entretanto, devemos considerar que esses microprocessadores foram desenvolvidos por grupos de alunos de graduao durante parte da disciplina arquitetura de computadores. Desse modo, no devemos ser muito exigentes e rigorosos na avaliao de alguns aspectos dos microprocessadores projetados. Nesse mtodo existem algumas alteraes no comportamento esperado dos elementos principais no processo de aprendizado que so o professor e os alunos (aprendizes). As principais funes do professor so a

motivao dos alunos, atuando como facilitador de aprendizado, auxiliar e consultor durante o processo de gerao do conhecimento que ocorre no desenvolvimento e validao dos projetos. Sua principal funo no mais ensinar (transmitir) conhecimentos da teoria de modo instrucional, onde o aluno muitas vezes considerado um elemento passivo e at de menor importncia, pois o principal objetivo nas aulas (usando os mtodos tradicionais) transmitir os conhecimentos e no fazer com que o aluno aprenda ou desenvolva esses conhecimentos. Entre as possveis desvantagens do mtodo podemos citar: i) nova postura mais ativa e participativa dos alunos, que requer um esforo extra dos alunos e do professor; ii) as tarefas e atividades do professor so alteradas e exigem uma maior dedicao da sua parte; iii) finalizando, como toda mudana de postura e comportamento demanda um tempo de adaptao das pessoas envolvidas. Considerando os nossos objetivos iniciais conclumos que os alunos ficaram mais motivados para o estudo da teoria, o aprendizado foi mais fcil e produziu melhores resultados, o novo mtodo apresentou melhores resultados que os mtodos tradicionais aplicados em outros tpicos da disciplina arquitetura de computadores. Desse modo, podemos considerar que todos foram alcanados. Observamos que podemos aplicar esse mtodo em outros tpicos da rea de arquitetura de computadores, como hierarquia de memria por exemplo. Atualmente, primeiro semestre de 2001, os alunos da disciplina arquitetura de computadores esto utilizando esse mtodo com o tpico hierarquia de memria de modo geral e memrias cache de modo especial. Realizando projetos de hierarquias de memria e desenvolvendo seus simuladores funcionais. Seria importante destacar que em algumas reas (matrias) da computao o processo de aprendizado mais prtico e experimental, como por exemplo na rea de programao de computadores. Entretanto, muitas vezes as atividades prticas so excessivamente simples, no representam situaes reais e so at desmotivadoras do aprendizado. Tanto que existem alguns trabalhos propondo mtodos diferenciados e inovadores com maior nfase em projetos [20,21]. Entretanto, devemos considerar que existe uma grande diferena entre desenvolver e validar uma projeto de programao e trabalhar com projetos relacionados com arquitetura de microprocessadores. Essas diferenas esto relacionadas com a complexidade dos microprocessadores, aspectos operacionais dos projetos, disponibilidade e custo das ferramentas computacionais de auxlio ao projeto, e facilidade de abstrao dos conceitos envolvidos. importante destacar que esse mtodo de aprendizado pode ser aplicado em sistemas de ensino presencial ou no presencial (a distncia). Deste modo, pode ser usado em sistemas de auto-aprendizado, ensino presencial e ensino distncia.] Alguns alunos da disciplina de arquitetura de computadores, aps o projeto de microprocessadores usando o mtodo proposto, manifestaram interesse e posteriormente foram bolsistas de iniciao cientfica realizando pesquisas relacionadas ao projeto de microprocessadores [22,23]. Em funo dessas pesquisas alguns artigos j foram publicados [24,25]. Entre os possveis trabalhos futuros podemos citar: Avaliao quantitativa do mtodo de aprendizado entre os alunos da disciplina arquitetura de computadores, usando-se mtodos de pesquisa com formulrios e questionrios; Avaliao do mtodo e dos conhecimentos dos alunos experimentalmente, dividindo-se a turma em dois grupos experimentais, e usando-se o mtodo tradicional em um grupo e o mtodo proposto no outro. Entre os trabalhos futuros alguns j foram iniciados, como por exemplo: Desenvolvimento de um simulador de microprocessador configurvel, onde os projetistas podem configurar vrios parmetros importantes do microprocessador e tambm do prprio programa simulador [26]; Desenvolvimento de um sistema para anlise, projeto e ensino de sistemas digitais complexos, incluindo microprocessadores [27], e de um ambiente de desenvolvimento e prototipao

rpida de sistemas computacionais paralelos, dedicados e reconfigurveis contendo microprocessadores [28]. 5. Referncias bibliogrficas
[1] Patterson, D.A ;Hennessy, J.L., "Computer Archietctures a Quantitative Approach", Second Edition, San Francisco, CA: Morgan Kaufmann, 1996. [2] Patterson, D.A ;Hennessy, J.L., "Computer Organization and Design", Second Edition, San Francisco, CA: Morgan Kaufmann, 1998. [3] Hwang, Kai; Xu, Zhiwei, "Scalable Parallel Computing:technology, architectures, programming", Boston, McGraw-Hill, 1998. [4] CPU Info Center, Berkeley, 2001, http://bwrc.eecs.berkeley.edu/CIC/ [5] A Symposium on High-Performance Chips at Stanford 2000, http://www.hotchips.org/index12.html [6] A Symposium on High-Performance Chips at Stanford University 2001, http://www.hotchips.org/ [7] International Symposium on Microarchitecture 2000, http://www.microarch.org/micro33/index.html [8] Tabak, Daniel, Advanced Microprocessor, McGraw Hill, 1995. [9] International Symposium on Computer Architecture 2001, http://www.ee.princeton.edu/~isca2001/ [10] Martins, Carlos A.P.S., "Anlise crtica dos mtodos tradicionais de ensino de arquitetura de computadores usados em cursos de graduao no Brasil e no exterior", Relatrio Tcnico LSDC PUC-MINAS, 2001. http://www.lsdc.inf.pucminas.br/ [11] Workshop on Computer Architecture Education 1998, http://www.ece.neu.edu/wcae98.html [12] Workshop on Computer Architecture Education 1999,
http://www.ece.neu.edu/personal/kaeli/wcae99.html

[13] Workshop on Computer Architecture Education 2000, http://www4.ncsu.edu/~efg/wcae2000.html


http://www.csc.ncsu.edu/eos/users/e/efg/wcae/submissions/Final_Program.html [14] Frontiers in Education Conference 1999, http://fie.engrng.pitt.edu/fie99/ [15] Frontiers in education 2000, http://fie.engrng.pitt.edu/fie2000/

[16] Goulart, Iris B., "A educao na perspectiva construtivista",2 edio, Editora Vozes, 1998. [17] Disciplina arquitetura de computadores, curso cincia computao, PUCMINAS, 2000, exemplos de simuladores, http://www.dcc.pucmg.br/computacao/disciplinas/ac/semestre2_2000/p-downloads.html [18] Tanenbaum, Andrew S, "Structured Computer Organization", 4th Edition, Prentice-Hall, 1999. [19] Soares, Luiz Fernando G., Modelagem e Simulao discreta de sistemas, Ed. Campus, 1992. [20] Borges, Marcos A. F. "Uma nova abordagem para o ensino de banco de dados", Anais do VI Workshop sobre Educao em Informtica, XVIII CNSBC, pp. 445-453, 1998. [21] Borges, Marcos A. F. "Avaliao de uma metodologia alternativa para a aprendizagem de programao", Anais do VIII Workshop de Educao em Computao, XX CNSBC, p. 64, 2000. [22] Castro, Jos T.; Martins, Carlos A. P. S. "Projeto de processador multimdia", Projeto de pesquisa, PROBIC, PUC-MINAS, 1999. [23] Freitas, Henrique C.; Martins, Carlos A. P. S., "Projeto de arquitetura de processador dedicado para roteamentos usando VHDL", Projeto de pesquisa, PROBIC, PUC-MINAS, 1999. [24] Freitas, Henrique C.; Martins, Carlos A. P. S., "Processador dedicado para roteamento em sistemas de comunicao de dados", Anais do I Congresso de Lgica Aplicada Tecnologia (LAPTEC'2000) , set.2000, p. 717-721. [25] Freitas, Henrique C.; Martins, Carlos A.P.S.," Projeto de processador com microarquitetura dedicada para roteamento em sistemas de comunicao de dados", I Workshop de Sistemas Computacionais de Alto Desempenho WSCAD'2000, out.2000, p. 63. [26] Medeiros, Talles H; Martins, Carlos A.P.S.,"Proposta e implementao de um simulador reconfigurvel de microprocessadores", projeto PROBIC/PUC-MINAS, 2001. [27] Rocha, Hegler K. A.; Martins, Carlos A. P. S. "Desenvolvimento e implementao de um sistema para anlise, projeto e ensino de sistemas digitais complexos", Relatrio Tcnico, Exame de qualificao de mestrado, PPGEE, PUC-MINAS, 2000. [28] Martins, Carlos A. P. S., "Proposta e implementao de um ambiente de desenvolvimento e prototipao rpida de sistemas computacionais: paralelos, dedicados e reconfigurveis", Projeto de pesquisa, FIP, PUC-MINAS, 2000.

Potrebbero piacerti anche