Vous êtes sur la page 1sur 6

Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007

Ensino de Arquitetura de Computadores em Cursos de Sistemas de Informação

Ricardo Ribeiro dos Santos


Universidade Católica Dom Bosco
Grupo de Pesquisas em Engenharia e Computação
Av. Tamandaré, 6000 - Jardim Seminário
Campo Grande - MS - Brazil
ricr.santos@gmail.com

Resumo está relacionado com a necessidade do conhecimento de


como a organização do hardware e, em especial, do pro-
Este trabalho apresenta um estudo de caso da disci- cessador, pode influenciar a construção de sistemas de soft-
plina de Arquitetura de Computadores no curso de Sistemas ware. Aliás, esse é justamente o conceito de arquitetura
de Informação (SI) da Universidade Católica Dom Bosco. de computador sugerido por Stallings [6]: “uma arquitetura
Tendo como base a revisão de 2003 do Currı́culo de Re- de computador refere-se aos atributos de uma sistema que
ferência para o Bacharelado em Sistemas de Informação, são visı́veis para um programador e que têm um impacto
a ementa dessa disciplina foi definida levando-se em direto no desempenho dos programas”. Ademais, em [4]
consideração as caracterı́sticas do curso e, principal- é mencionado que Arquiteturas de Computadores pode ser
mente, o perfil vislumbrado para um egresso. Diferente vista como uma ciência de comparações e, nesse sentido,
de um curso que utiliza a computação como atividade- o ensino deveria ser focado na compreensão dos conceitos
fim, como é o caso de Engenharia de Computação e fundamentais de forma que os estudantes estejam aptos a
Ciências da Computação, o curso de SI necessita de con- analisar (e tirar suas conclusões sobre) os diversos aspectos
ceitos abrangentes a respeito de Arquiteturas de Computa- que compõem os sistemas de computação com relação às
dores. Esses conceitos são úteis na vida profissional do caracterı́sticas arquiteturais.
futuro egresso pois fornecem o embasamento tecnológico Assim, a motivação dessa disciplina em um curso de SI
necessário para a tomada de várias decisões relacionadas deve ser canalizada para o perfeito entendimento dos prin-
à tecnologia da informação nos ambientes organizacionais cipais elementos que compõem o processador, das medi-
que possa vir a atuar. das para avaliação de seu desempenho e, principalmente, os
elementos (do processador) que afetam diretamente o de-
sempenho do programa. Além disso, em muitos cursos, o
1 Introdução primeiro contato com os conceitos de hardware acontecem
justamente na disciplina de Arquitetura de Computadores.
Os cursos de Sistemas de Informação (SI) e Análise Nesse caso, há de se considerar a necessidade de aplicar
de Sistemas fornecem uma formação voltada para o pro- metodologias de ensino que minimizem a lacuna entre o
jeto, implementação e gerenciamento de sistemas de soft- conhecimento dos estudantes e os detalhes técnicos dos sis-
ware voltados para necessidades das organizações. Nesses temas de computação [3, 7].
cursos, as teorias e conceitos advindos da ciência da Neste artigo, apresenta-se um estudo de caso sobre o
computação assumem um papel de atividade-meio. As- ensino de Arquitetura de Computadores no curso de Sis-
sim, em se tratando de teoria da computação e projeto e temas de Informação da Universidade Católica Dom Bosco
construção de tecnologias de hardware, esses cursos enfa- (UCDB). O artigo apresenta como a ementa da disciplina
tizam o conhecimento abrangente e uso adequado das tec- foi organizada visando satisfazer as expectativas dos estu-
nologias, em contraposição ao estudo em profundidade. dantes e, ao mesmo, fornecer um conjunto de conhecimen-
Diante desse contexto, o ensino da disciplina de Arquite- tos adequados à formação em SI e úteis para aplicação em
tura de Computadores em cursos de SI apresenta-se como suas futuras atividades profissionais.
um grande desafio, uma vez que o professor deve ter em O artigo está organizado conforme segue: Na Seção 2, é
mente que os estudantes não têm como motivação construir detalhado o foco dos cursos de SI de acordo com a versão
processadores [2]. O foco dessa disciplina, no curso de SI, mais atualizada do Currı́culo de Referência proposto pela

1
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007

Sociedade Brasileira de Computação e, em particular, o e Finanças, além de disciplinas que procuram abordar os
foco do curso de SI da UCDB. Na Seção 3 uma ementa aspectos gerenciais das organizações. Por fim, a formação
para a disciplina de Arquitetura de Computadores em cur- humanı́stica contribui com disciplinas como Ética, Sociolo-
sos de SI é sugerida. A Seção 4 relata a experiência da gia e Filosofia que abordam os efeitos da tecnologia sobre
aplicação desse plano de ensino sobre uma das turmas do as organizações e as pessoas.
curso de Bacharelado em Sistemas de informação da Uni- No tocante à área de Arquiteturas de Computadores,
versidade Católica Dom Bosco. Por fim, a Seção 5 resume o CRSI - revisão 2003 - sugere a matéria de Arquite-
as conclusões sobre o trabalho. tura de Computadores com o seguinte escopo: Sistemas
numéricos; Aritmética binária: ponto fixo e ponto flutuante;
2 O Curso de Sistemas de Informação Organização de computadores: memórias, unidade central
de processamento, unidades de entrada e saı́da; Lingua-
gens de montagem; Modos de endereçamento, conjunto de
A denominação de Bacharelado em Sistemas de
instruções; Mecanismos de interrupção e de exceção; Barra-
Informação começou a surgir no Brasil a partir de 1999,
mento, comunicações, interfaces e periféricos; Organização
com a definição das diretrizes curriculares do Ministério
de memória; Memória auxiliar; Arquiteturas RISC e
da Educação e Cultura (MEC) para os cursos da área de
CISC; Pipeline; Paralelismo de baixa granularidade; Pro-
Computação. Essa denominação passou a ser sugerida aos
cessadores superescalares e superpipeline; Multiproces-
cursos de Computação com forte ênfase na formação de re-
sadores; Multicomputadores; Arquiteturas paralelas e não
cursos humanos para atuação no projeto e desenvolvimento
convencionais.
de sistemas de informação nas organizações [1].
Nas recomendações [2] para a construção da grade cur- Claramente, considerando que não há recomendação so-
ricular do curso do SI é enfatizado o foco na formação bre mais de uma disciplina na matéria de Arquitetura de
de um profissional com conhecimento abrangente em Computadores e que a carga-horária sugerida tal disciplina é
computação, cujo campo de atuação varia da continuidade de 72 h/a, a definição de quais conteúdos devem fazer parte
dos estudos em nı́vel de pós-graduação até o oferecimento da ementa da disciplina é uma tarefa bastante difı́cil. A difi-
de serviços de informática e do projeto e desenvolvimento culdade reside na necessidade de abordar os conceitos fun-
de sistemas de software nas organizações. Assim, faz-se damentais para o entendimento da matéria e sua aplicação
necessário que as ementas das disciplinas do curso pro- em outras disciplinas, levando em conta o fato dos estu-
curem contribuir para que tal perfil seja alcançado. dantes não possuirem uma disciplina introdutória sobre o
Mesmo com um perfil de egresso voltado para o oferec- assunto.
imento de serviços e sistemas de software, a possibilidade O Curso de SI da UCDB iniciou suas atividades em Julho
de cursar disciplinas que forneçam uma visão mais concreta de 2002 e conta com um projeto pedagógico1 que vai ao
do funcionamento de todo um sistema computacional (hard- encontro da versão mais atual do CRSI. O curso funciona
ware do computador, sistema operacional, compiladores, no perı́odo noturno, é organizado em disciplinas semestrais
programas aplicativos) é amplamente motivada. Isso é e a entrada de novos estudantes ocorre anualmente através
válido até mesmo para que o futuro profissional tenha uma do oferecimento de 40 novas vagas. Esse curso foi criado
visão abrangente da área. No entanto, há de se cuidar sobre a partir de uma demanda observada na região por profis-
o nı́vel da abordagem dada às disciplinas que fornecem esse sionais com alto conhecimento técnico e formação general-
tipo de conhecimento. O Currı́culo de Referência [2] para ista em Computação. O perfil vislumbrado para o egresso
cursos de Bacharelado em Sistemas de Informação (CRSI) consiste na capacidade de atuar na gerência de centros de
em sua versão de 2003, divide as disciplinas do curso de SI informática, no gerenciamento, projeto e implementação de
quanto à contribuição que podem fornecer para a formação sistemas de informação complexos, entre outras atribuições.
profissional do egresso. Nesse sentido, tem-se: formação Na elaboração do projeto pedagógico já foi definida a ne-
básica em Ciência da Computação, Matemática e Sistemas cessidade de inclusão de uma disciplina de Arquitetura de
de informação; formação tecnológica, formação comple- Computadores, uma vez que essa seria a responsável pelos
mentar e formação humanı́stica e suplementar. conhecimentos de base em sistemas de computação. Além
Na formação básica estão inseridas disciplinas como disso, é nessa disciplina que há possibilidade de mostrar
Álgebra Linear, Geometria Analı́tica, Algoritmos, Com- como conceitos mais abstratos abordados nas disciplinas
putabilidade, Programação e Arquitetura de Computadores. anteriores (portas lógicas, execução de algoritmos no hard-
A formação tecnológica contempla a disciplina de En- ware, interligação entre memória e processador, etc.) são
genharia de Software, além de Bancos de Dados, Redes mapeados para os recursos fı́sicos de um sistema computa-
de Computadores, Sistemas Operacionais e Sistemas Dis- cional.
tribuı́dos. Na formação complementar, o foco concentra-se
no estudo em disciplinas como Administração, Economia 1 Disponı́vel em http://www.bducdb.ucdb.br/index.php3?curso=158

2
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007

Nesse sentido, os objetivos vislumbrados para a disci-


plina de Arquitetura de Computadores são:

• Conhecer a organização e estrutura de um processador


e elementos periféricos assim como os componentes
que influenciam no desempenho de um programa.

• Desenvolver programas em linguagem de baixo nı́vel


visando evidenciar como um programa é executado so-
bre o hardware da máquina.

• Conhecer e utilizar medidas para mensurar o desem- Tópico Itens


penho de uma arquitetura de computador. Conceitos Básicos Software e Hardware
UCP
3 Uma Ementa para a Disciplina Arquite- Memória e Barramento
tura de Computadores no Curso de SI Métricas de Desempenho Medidas de Desempenho
Relação entre as medidas de
desempenho
Em muitas Instituições de Ensino Superior, o curso de
Avaliação de Desempenho
Sistemas de Informação não é o único curso da área de
Conjunto de Instruções Operações e Operandos
computação. Ao contrário, o curso de SI é, muitas vezes,
Modos de endereçamento
oferecido à comunidade tendo como base a experiência já
Tipos de instruções
acumulada com outros cursos da área como Ciências da
Montadores, Compiladores e
Computação e Engenharia de Computação. Nesse sen-
Link Editores
tido, muitas disciplinas consideradas “comuns” aos cursos,
Carga de programa
são ensinadas da mesma maneira: mesmo conteúdo, mes-
Exceções e Interrupções
mas avaliações e mesma metodologia. A ocorrência dessa
Aritmética da ULA Representação de inteiros
situação é possı́vel na disciplina de Arquitetura de Com-
Representação em compl.
putadores. Isso porque cursos como Ciências e Engenharia
de 2
de Computação possuem, geralmente, uma ou mais dis-
Operações de Adição,
ciplinas relacionadas a área de Arquiteturas de Computa-
Subtração e Lógicas
dores.
Construção de uma
Como já mencionado, o curso de SI da UCDB iniciou
ULA básica
suas atividades no ano de 2002 e, nessa época, a ementa
Multiplicação e divisão
para Arquitetura de Computadores estava bastante voltada
Representação em ponto
para o projeto de processadores. Uma das razões para isso
flutuante
foi a influência das ementas já existentes das disciplinas
de Arquitetura de Computadores do curso de Engenharia Atividades Práticas Desenvolvimento de progs
de Computação2 da mesma instituição. Esse curso possui em linguagem assembly
as disciplinas de Arquitetura de Computadores I e II e, a
Tabela 1. Ementa (versão antiga) Proposta
ementa inicial para o curso de SI foi construı́da a partir de
para a Disciplina de Arquitetura de Computa-
vários conceitos abordados nessas disciplinas do curso de
dores.
Engenharia. Essa ementa é apresentada na Tabela 1
Após uma análise das recomendações do CRSI e com-
parando essas recomendações com o conteúdo da Tabela 1,
nota-se uma discrepância quanto à ementa proposta e os ob-
jetivos da disciplina no curso. As diferenças começam no
conteúdo a ser abordado. Por exemplo, o tópico “Aritmética
Computacional” volta-se para o projeto da ULA e, portanto,
exige um conjunto de conhecimentos prévios em circuitos
digitais. Além disso, não há um item que aborda, explicita-
mente, como as instruções são executadas na via de dados
do processador. De forma que, ao terminar uma disciplina
2 Informaçõ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ópico Itens à Computação (1o. semestre) como portas lógicas,


Conceitos Básicos Bases binária, decimal álgebra booleana e bases de numeração, o relaciona-
e hexadecimal mento e as funções da Memória, da Unidade Central
O Processador de Processamento (UCP) e Barramentos.
Memória e Barramento
Elementos da UCP Conjunto de instruções • Elementos da UCP: Neste tópico, os conceitos de con-
Registradores junto de instruções, registradores, unidade de controle
Unidade de Controle e Unidade de Lógica e Aritmética (ULA) são apre-
ULA sentados. Apresenta-se a interligação desses elemen-
Via de dados tos através de uma via de dados simples e, por fim, o
Pipelines conceito de pipelines assim como a inclusão de reg-
istradores de pipelines na via de dados. Tem-se o
Memória Memória principal
cuidado, neste item, de tomar exemplos de instruções
Memória cache
executando sobre a via de dados a fim de mostrar como
Memória secundária
as partes do processador se interligam e contribuem
Entrada e Saı́da Acesso Direto à Memória
para a execução de uma instrução.
Dirigida à Interrupção
Programada • Memória: Aqui é apresentada a hierarquia de memória
Desempenho em AC Speedup e Eficiência de um processador. A abordagem aqui vai dos reg-
CPI e IPC istradores, como memórias rápidas e de maior custo,
Atividades Práticas Utilização de Simuladores para a memória de armazenamento secundário, mais
(arquiteturas, cache, etc.) lenta e de menor custo. Procura-se apresentar como
Linguagem de montagem as diferentes quantidades de memória e a hierarquia
Desenvolvimento de progs podem afetar o desempenho de um programa. Nesse
em linguagem assembly sentido, o sub-tópico “Memória cache” é tratado com
Pesquisa sobre arquiteturas mais ênfase sendo, inclusive, detalhado em experimen-
comerciais tos práticos com simuladores de memórias cache.

Tabela 2. Ementa Atual da Disciplina de Ar- • Entrada e Saı́da: Neste tópico é apresentado como dis-
quitetura de Computadores do curso de SI. positivos de entrada e saı́da interagem com o proces-
sador.
• Desempenho em AC: O foco aqui é apresentar algumas
medidas de desempenho para que o aluno possa, a par-
com essa ementa, o estudante não tinha a noção de como o tir de informações sobre quantidades de instruções de
processador executa um programa. Uma observação mais um programa, quantidade de ciclos exigidos em cada
detalhada revela que essa ementa segue, de maneira geral, instrução e o tempo de ciclo, determinar o desempenho
a abordagem adotada no livro de Patterson e Hennessy [5]. de processadores.
Apesar de ser um livro amplamente adotado em disciplinas
• Atividades Práticas: Essas atividades visam oferecer
de Arquitetura de Computadores em várias Universidades
a oportunidade para que os estudantes coloquem em
ao redor do mundo, a abordagem empregada nesse livro é
prática os conhecimentos previamente estudados na
mais adequada para cursos onde os alunos tiveram a opor-
disciplina. Pode-se dividir as atividades práticas em
tunidade de estudar o hardware em disciplinas anteriores.
dois grupos: implementação em linguagem assem-
Acredita-se que uma outra bibliografia, mais geral, e que
bly e análise de arquiteturas comerciais. No primeiro
apresente os conceitos fundamentais de maneira mais di-
grupo, o intuito é que os alunos conheçam, na prática,
reta, possa ser de mais valia para um curso onde o primeiro
a implementação de programas em uma linguagem de
contacto com o hardware acontece justamente na disciplina
baixo nı́vel e saibam das questões a serem consider-
de Arquitetura de Computadores.
adas nesse tipo de implementação (hazards e stalls).
Assim, a ementa apresentada na Tabela 1 foi alterada e
No segundo grupo, o objetivo é averiguar como os
nova ementa é apresentada na Tabela 2.
conceitos vistos em sala de aula podem ser observa-
Os itens a seguir detalham os conteúdos trabalhados em dos mesmo em processadores comerciais disponı́veis
cada um dos tópicos dessa nova ementa. atualmente.
• Conceitos Básicos: neste tópico são revisados alguns Diante desse novo conjunto de conteúdos, houve
conceitos já abordados na disciplina de Introdução também a necessidade de alterar a bibliografia básica da

4
Workshop sobre Educação em Arquitetura de Computadores - WEAC 2007

disciplina. Nesse sentido, tem-se sugerido o livro de Sistemas


Algoritmos
Organização e Arquiteturas de Computadores de William Distribuidos

Stallings [6], assim como os livros de Fundamentos de Ar-


quiteturas de Computadores e Arquiteturas de Computa-
dores Pessoais de Fernando Weber [8, 9]. O livro de Introdução à Arquitetura de
Organização e Arquiteturas de Computadores é usado como Computação Computadores

referência básica para os conceitos fundamentais abordados


na disciplina. Por outro lado, os livros de Fundamentos de
Arquiteturas de Computadores e Arquiteturas de Computa- Laboratório de Sistemas

dores Pessoais são amplamente empregados nas atividades Computação Operacionais

práticas, uma vez que os simuladores das arquiteturas Ram-


ses, Neander e Cesar são utilizados. O livro de Arquiteturas Figura 1. Relacionamento entre disciplinas
de Computadores Pessoais auxı́lia nos trabalhos de pesquisa que fornecem os conceitos básicos que são
que envolvem processadores utilizados em computadores adotados em Arquitetura de Computadores e
pessoais. Deve-se ressaltar ainda que a leitura do livro de as disciplinas que utilizam os conceitos tra-
Patterson e Hennessy continua sendo fortemente recomen- balhados em Arquitetura de Computadores.
dada mas, agora, como bibliografia complementar para os
conteúdos das disciplinas.

ciam em Elementos da UCP até Memórias, enquanto a se-


4 Estudo de Caso: O Ensino de Arquitetura
gunda aborda Entrada e Saı́da e Desempenho em Arquite-
de Computadores no Curso de SI da UCDB turas de Processadores. Além disso, exercı́cios do livro
são sugeridos e a resolução de tais exercı́cios contam como
No curso de SI da Universidade Católica Dom Bosco, bônus nas notas das provas. As atividades práticas são avali-
a disciplina de Arquitetura de Computadores é oferecida adas por meio de listas de exercı́cios para o caso das ativi-
aos alunos do 3o. Semestre (2o. Ano) uma vez que esses dades de implementação em linguagem Assembly. O acom-
alunos já passaram por disciplinas básicas como: Algo- panhamento da atividade de pesquisa sobre arquiteturas de
ritmos, Estruturas de Dados e Introdução à Computação processadores é realizado através da escrita de relatórios
(onde são abordadas algumas noções de circuitos digi- técnicos e apresentação oral, por parte dos estudantes, sobre
tais). Além disso, as disciplinas dos semestres seguintes as caracterı́sticas das arquiteturas comerciais pesquisadas.
utilizam os conhecimentos abordados em Arquitetura de
Computadores. Esse é o caso, por exemplo, das disci-
plinas de Sistemas Operacionais e Sistemas Distribuı́dos. 5 Considerações Finais
A Figura 1 exibe o relacionamento entre disciplinas que são
pré-requisitos e outras que utilizam os conceitos trabalha- Este artigo apresentou um estudo de caso sobre o ensino
dos na disciplina de Arquitetura de Computadores do curso de Arquitetura de Computadores em um curso de Sistemas
de Sistemas de Informação da UCDB. de Informação. Nesse curso, a ementa da disciplina de
Na Figura 1 é possı́vel observar a dependência entre Arquitetura de Computadores foi elaborada levando-se em
Arquitetura de Computadores e o conjunto de disciplinas consideração a necessidade de conhecimento abrangente
básicas da computação como: Algoritmos, Estruturas de nos assuntos que abrangem fundamentos e tecnologia de
Dados e Introdução à Computação. Por outro lado, é computação, para o futuro egresso desse curso.
possı́vel observar a dependência das disciplinas de base Os conhecimentos adquiridos em Arquitetura de Com-
tecnológica como Sistemas Operacionais e Sistemas Dis- putadores auxiliam o entendimento de outras áreas além
tribuı́dos para com os conteúdos trabalhados em Arquitetura de serem importantes para saber as razões que podem in-
de Computadores. fluenciar no desempenho de softwares. Nesse sentido, é
A ordem de apresentação do conteúdo da disciplina de importante que um profissional da área tenha conhecimen-
Arquitetura de Computadores segue a disposição dos itens tos abrangentes sobre os elementos que compõem uma ar-
apresentados na Tabela 2. A metodologia utilizada na quitetura de processador e, principalmente, dos possı́veis
apresentação dos assuntos e conceitos é baseada no levan- impactos sobre o desempenho final de seus programas.
tamento de problemas tendo como base os conhecimentos A ementa da disciplina de Arquitetura de Computadores
prévios dos alunos. Em toda aula, os alunos são apresen- aqui apresentada tem sido utilizada em turmas do curso
tados a determinados problemas que são resolvidos através de Sistemas de Informação da Universidade Católica Dom
dos assuntos introduzidos na seqüência da aula. Há duas Bosco desde o segundo semestre de 2003. Através da
avaliações bimestrais: a primeira aborda os tópicos que ini- comparação do desempenho acadêmico 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ável melhoria nos conceitos assimilados pelos estu-
dantes. Além disso, foi possı́vel observar também uma mel-
horia no nı́vel de motivação após o término da disciplina e,
principalmente, no desempenho em outras disciplinas que
utilizam os conceitos abordados em Arquitetura de Com-
putadores.

Referências

[1] C. M. Costa, D. D. Ruiz, J. L. N. Audy, J. M. Jr, and O. J. V.


Furtado. Plano Pedagógico para Cursos de Bacharelado em
Sistemas de Informação. Congresso da Sociedade Brasileira
de Computação (CSBC), 2001.
[2] G. de Trabalho do Currı́culo de Referência para Bachare-
lado em Sistemas de Informação. Currı́culo de Referência
para Cursos de Bacharelado em Sistemas de Informação.
Congresso da Sociedade Brasileira de Computação (CSBC),
2003.
[3] P. Marwedel and B. Sirocic. Bridges to Computer Architec-
ture Education. In Workshop on Computer Architecture Ed-
ucation Held in conjunction with the 31st International Sym-
posium on Computer Architecture, 2004.
[4] Y. N. Patt. Teaching and Teaching Computer Architecture:
Two Very Different Topics. In Workshop on Computer Archi-
tecture Education Held in conjunction with the 30th Interna-
tional 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 Organizaçã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 Archi-
tecture. 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.

Vous aimerez peut-être aussi