Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
Ensino de Arquitetura de Computadores em Cursos de Sistemas de Informac¸a˜ o Ricardo Ribeiro dos Santos Universidade Cat´olica Dom Bosco Grupo de Pesquisas em Engenharia e Computac¸a˜ o Av. Tamandar´e, 6000 - Jardim Semin´ario Campo Grande - MS - Brazil
[email protected]
Resumo
est´a relacionado com a necessidade do conhecimento de como a organizac¸a˜ o do hardware e, em especial, do processador, pode influenciar a construc¸a˜ o de sistemas de software. Ali´as, esse e´ justamente o conceito de arquitetura de computador sugerido por Stallings [6]: “uma arquitetura de computador refere-se aos atributos de uma sistema que s˜ao vis´ıveis para um programador e que tˆem um impacto direto no desempenho dos programas”. Ademais, em [4] e´ mencionado que Arquiteturas de Computadores pode ser vista como uma ciˆencia de comparac¸o˜ es e, nesse sentido, o ensino deveria ser focado na compreens˜ao dos conceitos fundamentais de forma que os estudantes estejam aptos a analisar (e tirar suas conclus˜oes sobre) os diversos aspectos que comp˜oem os sistemas de computac¸a˜ o com relac¸a˜ o a` s caracter´ısticas arquiteturais. Assim, a motivac¸a˜ o dessa disciplina em um curso de SI deve ser canalizada para o perfeito entendimento dos principais elementos que comp˜oem o processador, das medidas para avaliac¸a˜ o de seu desempenho e, principalmente, os elementos (do processador) que afetam diretamente o desempenho do programa. Al´em disso, em muitos cursos, o primeiro contato com os conceitos de hardware acontecem justamente na disciplina de Arquitetura de Computadores. Nesse caso, h´a de se considerar a necessidade de aplicar metodologias de ensino que minimizem a lacuna entre o conhecimento dos estudantes e os detalhes t´ecnicos dos sistemas de computac¸a˜ o [3, 7]. Neste artigo, apresenta-se um estudo de caso sobre o ensino de Arquitetura de Computadores no curso de Sistemas de Informac¸a˜ o da Universidade Cat´olica Dom Bosco (UCDB). O artigo apresenta como a ementa da disciplina foi organizada visando satisfazer as expectativas dos estudantes e, ao mesmo, fornecer um conjunto de conhecimentos adequados a` formac¸a˜ o em SI e u´ teis para aplicac¸a˜ o em suas futuras atividades profissionais. O artigo est´a organizado conforme segue: Na Sec¸a˜ o 2, e´ detalhado o foco dos cursos de SI de acordo com a vers˜ao mais atualizada do Curr´ıculo de Referˆencia proposto pela
Este trabalho apresenta um estudo de caso da disciplina de Arquitetura de Computadores no curso de Sistemas de Informac¸a˜ o (SI) da Universidade Cat´olica Dom Bosco. Tendo como base a revis˜ao de 2003 do Curr´ıculo de Referˆencia para o Bacharelado em Sistemas de Informac¸a˜ o, a ementa dessa disciplina foi definida levando-se em considerac¸a˜ o as caracter´ısticas do curso e, principalmente, o perfil vislumbrado para um egresso. Diferente de um curso que utiliza a computac¸a˜ o como atividadefim, como e´ o caso de Engenharia de Computac¸a˜ o e Ciˆencias da Computac¸a˜ o, o curso de SI necessita de conceitos abrangentes a respeito de Arquiteturas de Computadores. Esses conceitos s˜ao u´ teis na vida profissional do futuro egresso pois fornecem o embasamento tecnol´ogico necess´ario para a tomada de v´arias decis˜oes relacionadas a` tecnologia da informac¸a˜ o nos ambientes organizacionais que possa vir a atuar.
1 Introduc¸a˜ o Os cursos de Sistemas de Informac¸a˜ o (SI) e An´alise de Sistemas fornecem uma formac¸a˜ o voltada para o projeto, implementac¸a˜ o e gerenciamento de sistemas de software voltados para necessidades das organizac¸o˜ es. Nesses cursos, as teorias e conceitos advindos da ciˆencia da computac¸a˜ o assumem um papel de atividade-meio. Assim, em se tratando de teoria da computac¸a˜ o e projeto e construc¸a˜ o de tecnologias de hardware, esses cursos enfatizam o conhecimento abrangente e uso adequado das tecnologias, em contraposic¸a˜ o ao estudo em profundidade. Diante desse contexto, o ensino da disciplina de Arquitetura de Computadores em cursos de SI apresenta-se como um grande desafio, uma vez que o professor deve ter em mente que os estudantes n˜ao tˆem como motivac¸a˜ o construir processadores [2]. O foco dessa disciplina, no curso de SI,
1
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
Sociedade Brasileira de Computac¸a˜ o e, em particular, o foco do curso de SI da UCDB. Na Sec¸a˜ o 3 uma ementa para a disciplina de Arquitetura de Computadores em cursos de SI e´ sugerida. A Sec¸a˜ o 4 relata a experiˆencia da aplicac¸a˜ o desse plano de ensino sobre uma das turmas do curso de Bacharelado em Sistemas de informac¸a˜ o da Universidade Cat´olica Dom Bosco. Por fim, a Sec¸a˜ o 5 resume as conclus˜oes sobre o trabalho.
e Financ¸as, al´em de disciplinas que procuram abordar os aspectos gerenciais das organizac¸o˜ es. Por fim, a formac¸a˜ o ´ human´ıstica contribui com disciplinas como Etica, Sociologia e Filosofia que abordam os efeitos da tecnologia sobre as organizac¸o˜ es e as pessoas. No tocante a` a´ rea de Arquiteturas de Computadores, o CRSI - revis˜ao 2003 - sugere a mat´eria de Arquitetura de Computadores com o seguinte escopo: Sistemas num´ericos; Aritm´etica bin´aria: ponto fixo e ponto flutuante; Organizac¸a˜ o de computadores: mem´orias, unidade central de processamento, unidades de entrada e sa´ıda; Linguagens de montagem; Modos de enderec¸amento, conjunto de instruc¸o˜ es; Mecanismos de interrupc¸a˜ o e de excec¸a˜ o; Barramento, comunicac¸o˜ es, interfaces e perif´ericos; Organizac¸a˜ o de mem´oria; Mem´oria auxiliar; Arquiteturas RISC e CISC; Pipeline; Paralelismo de baixa granularidade; Processadores superescalares e superpipeline; Multiprocessadores; Multicomputadores; Arquiteturas paralelas e n˜ao convencionais. Claramente, considerando que n˜ao h´a recomendac¸a˜ o sobre mais de uma disciplina na mat´eria de Arquitetura de Computadores e que a carga-hor´aria sugerida tal disciplina e´ de 72 h/a, a definic¸a˜ o de quais conte´udos devem fazer parte da ementa da disciplina e´ uma tarefa bastante dif´ıcil. A dificuldade reside na necessidade de abordar os conceitos fundamentais para o entendimento da mat´eria e sua aplicac¸a˜ o em outras disciplinas, levando em conta o fato dos estudantes n˜ao possuirem uma disciplina introdut´oria sobre o assunto. O Curso de SI da UCDB iniciou suas atividades em Julho de 2002 e conta com um projeto pedag´ogico1 que vai ao encontro da vers˜ao mais atual do CRSI. O curso funciona no per´ıodo noturno, e´ organizado em disciplinas semestrais e a entrada de novos estudantes ocorre anualmente atrav´es do oferecimento de 40 novas vagas. Esse curso foi criado a partir de uma demanda observada na regi˜ao por profissionais com alto conhecimento t´ecnico e formac¸a˜ o generalista em Computac¸a˜ o. O perfil vislumbrado para o egresso consiste na capacidade de atuar na gerˆencia de centros de inform´atica, no gerenciamento, projeto e implementac¸a˜ o de sistemas de informac¸a˜ o complexos, entre outras atribuic¸o˜ es. Na elaborac¸a˜ o do projeto pedag´ogico j´a foi definida a necessidade de inclus˜ao de uma disciplina de Arquitetura de Computadores, uma vez que essa seria a respons´avel pelos conhecimentos de base em sistemas de computac¸a˜ o. Al´em disso, e´ nessa disciplina que h´a possibilidade de mostrar como conceitos mais abstratos abordados nas disciplinas anteriores (portas l´ogicas, execuc¸a˜ o de algoritmos no hardware, interligac¸a˜ o entre mem´oria e processador, etc.) s˜ao mapeados para os recursos f´ısicos de um sistema computacional.
2 O Curso de Sistemas de Informac¸a˜ o A denominac¸a˜ o de Bacharelado em Sistemas de Informac¸a˜ o comec¸ou a surgir no Brasil a partir de 1999, com a definic¸a˜ o das diretrizes curriculares do Minist´erio da Educac¸a˜ o e Cultura (MEC) para os cursos da a´ rea de Computac¸a˜ o. Essa denominac¸a˜ o passou a ser sugerida aos cursos de Computac¸a˜ o com forte eˆ nfase na formac¸a˜ o de recursos humanos para atuac¸a˜ o no projeto e desenvolvimento de sistemas de informac¸a˜ o nas organizac¸o˜ es [1]. Nas recomendac¸o˜ es [2] para a construc¸a˜ o da grade curricular do curso do SI e´ enfatizado o foco na formac¸a˜ o de um profissional com conhecimento abrangente em computac¸a˜ o, cujo campo de atuac¸a˜ o varia da continuidade dos estudos em n´ıvel de p´os-graduac¸a˜ o at´e o oferecimento de servic¸os de inform´atica e do projeto e desenvolvimento de sistemas de software nas organizac¸o˜ es. Assim, faz-se necess´ario que as ementas das disciplinas do curso procurem contribuir para que tal perfil seja alcanc¸ado. Mesmo com um perfil de egresso voltado para o oferecimento de servic¸os e sistemas de software, a possibilidade de cursar disciplinas que fornec¸am uma vis˜ao mais concreta do funcionamento de todo um sistema computacional (hardware do computador, sistema operacional, compiladores, programas aplicativos) e´ amplamente motivada. Isso e´ v´alido at´e mesmo para que o futuro profissional tenha uma vis˜ao abrangente da a´ rea. No entanto, h´a de se cuidar sobre o n´ıvel da abordagem dada a` s disciplinas que fornecem esse tipo de conhecimento. O Curr´ıculo de Referˆencia [2] para cursos de Bacharelado em Sistemas de Informac¸a˜ o (CRSI) em sua vers˜ao de 2003, divide as disciplinas do curso de SI quanto a` contribuic¸a˜ o que podem fornecer para a formac¸a˜ o profissional do egresso. Nesse sentido, tem-se: formac¸a˜ o b´asica em Ciˆencia da Computac¸a˜ o, Matem´atica e Sistemas de informac¸a˜ o; formac¸a˜ o tecnol´ogica, formac¸a˜ o complementar e formac¸a˜ o human´ıstica e suplementar. Na formac¸a˜ o b´asica est˜ao inseridas disciplinas como ´ Algebra Linear, Geometria Anal´ıtica, Algoritmos, Computabilidade, Programac¸a˜ o e Arquitetura de Computadores. A formac¸a˜ o tecnol´ogica contempla a disciplina de Engenharia de Software, al´em de Bancos de Dados, Redes de Computadores, Sistemas Operacionais e Sistemas Distribu´ıdos. Na formac¸a˜ o complementar, o foco concentra-se no estudo em disciplinas como Administrac¸a˜ o, Economia
1 Dispon´ıvel
2
em http://www.bducdb.ucdb.br/index.php3?curso=158
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
Nesse sentido, os objetivos vislumbrados para a disciplina de Arquitetura de Computadores s˜ao: • Conhecer a organizac¸a˜ o e estrutura de um processador e elementos perif´ericos assim como os componentes que influenciam no desempenho de um programa. • Desenvolver programas em linguagem de baixo n´ıvel visando evidenciar como um programa e´ executado sobre o hardware da m´aquina. • Conhecer e utilizar medidas para mensurar o desempenho de uma arquitetura de computador.
T´opico Conceitos B´asicos
3 Uma Ementa para a Disciplina Arquitetura de Computadores no Curso de SI
M´etricas de Desempenho
Em muitas Instituic¸o˜ es de Ensino Superior, o curso de Sistemas de Informac¸a˜ o n˜ao e´ o u´ nico curso da a´ rea de computac¸a˜ o. Ao contr´ario, o curso de SI e´ , muitas vezes, oferecido a` comunidade tendo como base a experiˆencia j´a acumulada com outros cursos da a´ rea como Ciˆencias da Computac¸a˜ o e Engenharia de Computac¸a˜ o. Nesse sentido, muitas disciplinas consideradas “comuns” aos cursos, s˜ao ensinadas da mesma maneira: mesmo conte´udo, mesmas avaliac¸o˜ es e mesma metodologia. A ocorrˆencia dessa situac¸a˜ o e´ poss´ıvel na disciplina de Arquitetura de Computadores. Isso porque cursos como Ciˆencias e Engenharia de Computac¸a˜ o possuem, geralmente, uma ou mais disciplinas relacionadas a a´ rea de Arquiteturas de Computadores. Como j´a mencionado, o curso de SI da UCDB iniciou suas atividades no ano de 2002 e, nessa e´ poca, a ementa para Arquitetura de Computadores estava bastante voltada para o projeto de processadores. Uma das raz˜oes para isso foi a influˆencia das ementas j´a existentes das disciplinas de Arquitetura de Computadores do curso de Engenharia de Computac¸a˜ o2 da mesma instituic¸a˜ o. Esse curso possui as disciplinas de Arquitetura de Computadores I e II e, a ementa inicial para o curso de SI foi constru´ıda a partir de v´arios conceitos abordados nessas disciplinas do curso de Engenharia. Essa ementa e´ apresentada na Tabela 1 Ap´os uma an´alise das recomendac¸o˜ es do CRSI e comparando essas recomendac¸o˜ es com o conte´udo da Tabela 1, nota-se uma discrepˆancia quanto a` ementa proposta e os objetivos da disciplina no curso. As diferenc¸as comec¸am no conte´udo a ser abordado. Por exemplo, o t´opico “Aritm´etica Computacional” volta-se para o projeto da ULA e, portanto, exige um conjunto de conhecimentos pr´evios em circuitos digitais. Al´em disso, n˜ao h´a um item que aborda, explicitamente, como as instruc¸o˜ es s˜ao executadas na via de dados do processador. De forma que, ao terminar uma disciplina
Conjunto de Instruc¸o˜ es
Aritm´etica da ULA
Atividades Pr´aticas
Itens Software e Hardware UCP Mem´oria e Barramento Medidas de Desempenho Relac¸a˜ o entre as medidas de desempenho Avaliac¸a˜ o de Desempenho Operac¸o˜ es e Operandos Modos de enderec¸amento Tipos de instruc¸o˜ es Montadores, Compiladores e Link Editores Carga de programa Excec¸o˜ es e Interrupc¸o˜ es Representac¸a˜ o de inteiros Representac¸a˜ o em compl. de 2 Operac¸o˜ es de Adic¸a˜ o, Subtrac¸a˜ o e L´ogicas Construc¸a˜ o de uma ULA b´asica Multiplicac¸a˜ o e divis˜ao Representac¸a˜ o em ponto flutuante Desenvolvimento de progs em linguagem assembly
˜ antiga) Proposta Tabela 1. Ementa (versao para a Disciplina de Arquitetura de Computadores.
2 Informac ¸ o˜ es dispon´ıveis em http://www.bducdb.ucdb.br/index.php3?curso=130
3
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
T´opico Conceitos B´asicos
Elementos da UCP
Mem´oria
Entrada e Sa´ıda
Desempenho em AC Atividades Pr´aticas
Itens Bases bin´aria, decimal e hexadecimal O Processador Mem´oria e Barramento Conjunto de instruc¸o˜ es Registradores Unidade de Controle ULA Via de dados Pipelines Mem´oria principal Mem´oria cache Mem´oria secund´aria Acesso Direto a` Mem´oria Dirigida a` Interrupc¸a˜ o Programada Speedup e Eficiˆencia CPI e IPC Utilizac¸a˜ o de Simuladores (arquiteturas, cache, etc.) Linguagem de montagem Desenvolvimento de progs em linguagem assembly Pesquisa sobre arquiteturas comerciais
a` Computac¸a˜ o (1o. semestre) como portas l´ogicas, a´ lgebra booleana e bases de numerac¸a˜ o, o relacionamento e as func¸o˜ es da Mem´oria, da Unidade Central de Processamento (UCP) e Barramentos. • Elementos da UCP: Neste t´opico, os conceitos de conjunto de instruc¸o˜ es, registradores, unidade de controle e Unidade de L´ogica e Aritm´etica (ULA) s˜ao apresentados. Apresenta-se a interligac¸a˜ o desses elementos atrav´es de uma via de dados simples e, por fim, o conceito de pipelines assim como a inclus˜ao de registradores de pipelines na via de dados. Tem-se o cuidado, neste item, de tomar exemplos de instruc¸o˜ es executando sobre a via de dados a fim de mostrar como as partes do processador se interligam e contribuem para a execuc¸a˜ o de uma instruc¸a˜ o. • Mem´oria: Aqui e´ apresentada a hierarquia de mem´oria de um processador. A abordagem aqui vai dos registradores, como mem´orias r´apidas e de maior custo, para a mem´oria de armazenamento secund´ario, mais lenta e de menor custo. Procura-se apresentar como as diferentes quantidades de mem´oria e a hierarquia podem afetar o desempenho de um programa. Nesse sentido, o sub-t´opico “Mem´oria cache” e´ tratado com mais eˆ nfase sendo, inclusive, detalhado em experimentos pr´aticos com simuladores de mem´orias cache. • Entrada e Sa´ıda: Neste t´opico e´ apresentado como dispositivos de entrada e sa´ıda interagem com o processador.
Tabela 2. Ementa Atual da Disciplina de Arquitetura de Computadores do curso de SI.
• Desempenho em AC: O foco aqui e´ apresentar algumas medidas de desempenho para que o aluno possa, a partir de informac¸o˜ es sobre quantidades de instruc¸o˜ es de um programa, quantidade de ciclos exigidos em cada instruc¸a˜ o e o tempo de ciclo, determinar o desempenho de processadores.
com essa ementa, o estudante n˜ao tinha a noc¸a˜ o de como o processador executa um programa. Uma observac¸a˜ o mais detalhada revela que essa ementa segue, de maneira geral, a abordagem adotada no livro de Patterson e Hennessy [5]. Apesar de ser um livro amplamente adotado em disciplinas de Arquitetura de Computadores em v´arias Universidades ao redor do mundo, a abordagem empregada nesse livro e´ mais adequada para cursos onde os alunos tiveram a oportunidade de estudar o hardware em disciplinas anteriores. Acredita-se que uma outra bibliografia, mais geral, e que apresente os conceitos fundamentais de maneira mais direta, possa ser de mais valia para um curso onde o primeiro contacto com o hardware acontece justamente na disciplina de Arquitetura de Computadores. Assim, a ementa apresentada na Tabela 1 foi alterada e nova ementa e´ apresentada na Tabela 2. Os itens a seguir detalham os conte´udos trabalhados em cada um dos t´opicos dessa nova ementa.
• Atividades Pr´aticas: Essas atividades visam oferecer a oportunidade para que os estudantes coloquem em pr´atica os conhecimentos previamente estudados na disciplina. Pode-se dividir as atividades pr´aticas em dois grupos: implementac¸a˜ o em linguagem assembly e an´alise de arquiteturas comerciais. No primeiro grupo, o intuito e´ que os alunos conhec¸am, na pr´atica, a implementac¸a˜ o de programas em uma linguagem de baixo n´ıvel e saibam das quest˜oes a serem consideradas nesse tipo de implementac¸a˜ o (hazards e stalls). No segundo grupo, o objetivo e´ averiguar como os conceitos vistos em sala de aula podem ser observados mesmo em processadores comerciais dispon´ıveis atualmente.
• Conceitos B´asicos: neste t´opico s˜ao revisados alguns conceitos j´a abordados na disciplina de Introduc¸a˜ o
Diante desse novo conjunto de conte´udos, houve tamb´em a necessidade de alterar a bibliografia b´asica da
4
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
disciplina. Nesse sentido, tem-se sugerido o livro de Organizac¸a˜ o e Arquiteturas de Computadores de William Stallings [6], assim como os livros de Fundamentos de Arquiteturas de Computadores e Arquiteturas de Computadores Pessoais de Fernando Weber [8, 9]. O livro de Organizac¸a˜ o e Arquiteturas de Computadores e´ usado como referˆencia b´asica para os conceitos fundamentais abordados na disciplina. Por outro lado, os livros de Fundamentos de Arquiteturas de Computadores e Arquiteturas de Computadores Pessoais s˜ao amplamente empregados nas atividades pr´aticas, uma vez que os simuladores das arquiteturas Ramses, Neander e Cesar s˜ao utilizados. O livro de Arquiteturas de Computadores Pessoais aux´ılia nos trabalhos de pesquisa que envolvem processadores utilizados em computadores pessoais. Deve-se ressaltar ainda que a leitura do livro de Patterson e Hennessy continua sendo fortemente recomendada mas, agora, como bibliografia complementar para os conte´udos das disciplinas.
Sistemas Distribuidos
Algoritmos
Introdução à Computação
Arquitetura de Computadores
Laboratório de Computação
Sistemas Operacionais
Figura 1. Relacionamento entre disciplinas ´ ˜ que fornecem os conceitos basicos que sao adotados em Arquitetura de Computadores e as disciplinas que utilizam os conceitos trabalhados em Arquitetura de Computadores.
ciam em Elementos da UCP at´e Mem´orias, enquanto a segunda aborda Entrada e Sa´ıda e Desempenho em Arquiteturas de Processadores. Al´em disso, exerc´ıcios do livro s˜ao sugeridos e a resoluc¸a˜ o de tais exerc´ıcios contam como bˆonus nas notas das provas. As atividades pr´aticas s˜ao avaliadas por meio de listas de exerc´ıcios para o caso das atividades de implementac¸a˜ o em linguagem Assembly. O acompanhamento da atividade de pesquisa sobre arquiteturas de processadores e´ realizado atrav´es da escrita de relat´orios t´ecnicos e apresentac¸a˜ o oral, por parte dos estudantes, sobre as caracter´ısticas das arquiteturas comerciais pesquisadas.
4 Estudo de Caso: O Ensino de Arquitetura de Computadores no Curso de SI da UCDB No curso de SI da Universidade Cat´olica Dom Bosco, a disciplina de Arquitetura de Computadores e´ oferecida aos alunos do 3o. Semestre (2o. Ano) uma vez que esses alunos j´a passaram por disciplinas b´asicas como: Algoritmos, Estruturas de Dados e Introduc¸a˜ o a` Computac¸a˜ o (onde s˜ao abordadas algumas noc¸o˜ es de circuitos digitais). Al´em disso, as disciplinas dos semestres seguintes utilizam os conhecimentos abordados em Arquitetura de Computadores. Esse e´ o caso, por exemplo, das disciplinas de Sistemas Operacionais e Sistemas Distribu´ıdos. A Figura 1 exibe o relacionamento entre disciplinas que s˜ao pr´e-requisitos e outras que utilizam os conceitos trabalhados na disciplina de Arquitetura de Computadores do curso de Sistemas de Informac¸a˜ o da UCDB. Na Figura 1 e´ poss´ıvel observar a dependˆencia entre Arquitetura de Computadores e o conjunto de disciplinas b´asicas da computac¸a˜ o como: Algoritmos, Estruturas de Dados e Introduc¸a˜ o a` Computac¸a˜ o. Por outro lado, e´ poss´ıvel observar a dependˆencia das disciplinas de base tecnol´ogica como Sistemas Operacionais e Sistemas Distribu´ıdos para com os conte´udos trabalhados em Arquitetura de Computadores. A ordem de apresentac¸a˜ o do conte´udo da disciplina de Arquitetura de Computadores segue a disposic¸a˜ o dos itens apresentados na Tabela 2. A metodologia utilizada na apresentac¸a˜ o dos assuntos e conceitos e´ baseada no levantamento de problemas tendo como base os conhecimentos pr´evios dos alunos. Em toda aula, os alunos s˜ao apresentados a determinados problemas que s˜ao resolvidos atrav´es dos assuntos introduzidos na seq¨ueˆ ncia da aula. H´a duas avaliac¸o˜ es bimestrais: a primeira aborda os t´opicos que ini-
5 Considerac¸o˜ es Finais Este artigo apresentou um estudo de caso sobre o ensino de Arquitetura de Computadores em um curso de Sistemas de Informac¸a˜ o. Nesse curso, a ementa da disciplina de Arquitetura de Computadores foi elaborada levando-se em considerac¸a˜ o a necessidade de conhecimento abrangente nos assuntos que abrangem fundamentos e tecnologia de computac¸a˜ o, para o futuro egresso desse curso. Os conhecimentos adquiridos em Arquitetura de Computadores auxiliam o entendimento de outras a´ reas al´em de serem importantes para saber as raz˜oes que podem influenciar no desempenho de softwares. Nesse sentido, e´ importante que um profissional da a´ rea tenha conhecimentos abrangentes sobre os elementos que comp˜oem uma arquitetura de processador e, principalmente, dos poss´ıveis impactos sobre o desempenho final de seus programas. A ementa da disciplina de Arquitetura de Computadores aqui apresentada tem sido utilizada em turmas do curso de Sistemas de Informac¸a˜ o da Universidade Cat´olica Dom Bosco desde o segundo semestre de 2003. Atrav´es da comparac¸a˜ o do desempenho acadˆemico nas atividades pro-
5
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007
postas pela disciplina com a ementa aqui apresentada e uma ementa anteriormente utilizada, foi poss´ıvel observar uma consider´avel melhoria nos conceitos assimilados pelos estudantes. Al´em disso, foi poss´ıvel observar tamb´em uma melhoria no n´ıvel de motivac¸a˜ o ap´os o t´ermino da disciplina e, principalmente, no desempenho em outras disciplinas que utilizam os conceitos abordados em Arquitetura de Computadores.
Referˆencias [1] C. M. Costa, D. D. Ruiz, J. L. N. Audy, J. M. Jr, and O. J. V. Furtado. Plano Pedag´ogico para Cursos de Bacharelado em Sistemas de Informac¸a˜ o. Congresso da Sociedade Brasileira de Computac¸a˜ o (CSBC), 2001. [2] G. de Trabalho do Curr´ıculo de Referˆencia para Bacharelado em Sistemas de Informac¸a˜ o. Curr´ıculo de Referˆencia para Cursos de Bacharelado em Sistemas de Informac¸a˜ o. Congresso da Sociedade Brasileira de Computac¸a˜ o (CSBC), 2003. [3] P. Marwedel and B. Sirocic. Bridges to Computer Architecture Education. In Workshop on Computer Architecture Education Held in conjunction with the 31st International Symposium on Computer Architecture, 2004. [4] Y. N. Patt. Teaching and Teaching Computer Architecture: Two Very Different Topics. In Workshop on Computer Architecture Education Held in conjunction with the 30th International Symposium on Computer Architecture, 2003. [5] D. A. Patterson and J. L. Hennessy. Computer Organization and Design: A Hardware/Software Interface. McGraw-Hill, 3 edition, 2005. [6] W. Stallings. Arquitetura e Organizac¸a˜ o de Computadores. Prentice-Hall, 2002. [7] P. J. Teller, M. Nieto, and S. Roach. Combining Learning Strategies and Tools in a First Course in Computer Architecture. In Workshop on Computer Architecture Education Held in conjunction with the 30th International Symposium on Computer Architecture, 2003. [8] R. F. Weber. Arquitetura de Computadores Pessoais. Sagra Luzzatto, 2 edition, 2000. [9] R. F. Weber. Fundamentos de Arquitetura de Computadores. Sagra Luzzatto, 2 edition, 2001.
6