Professional Documents
Culture Documents
APRESENTAO
WEAC 2011
Workshop sobre Educao em Arquitetura de Computadores
SUMRIO
13
19
25
Resumo
Este artigo descreve uma experincia de produo de
material didtico para o ensino do projeto de
processadores para uma disciplina terica e prtica
conhecida por Sistemas, Processadores e Perifricos
obrigatria aos cursos de Graduao em Engenharia
Eltrica, Engenharia de Controle e Automao e
Engenharia de Sistemas da UFMG. A construo de
materiais didticos desenvolvidos para essa disciplina
segue diretrizes encontradas em metodologias ativas
de ensino orientadas a projetos. considerada uma
proposta para atividades de laboratrio, motivando os
alunos a adquirir e construir seu prprio
conhecimento atravs da auto-aprendizagem com
materiais didticos desenvolvidos especificamente
para este fim. Os alunos tomam decises de projeto e
apresentam suas prprias solues, ao invs da
simples repetio de tarefas pr-determinadas
encontradas em metodologias de ensino prticas
baseadas em guias de aula. Os resultados observados
so o aumento da motivao, do aprendizado e da
participao dos alunos nas aulas e atividades
propostas.
1. Introduo
Este artigo trata do relato de caso da aplicao da
metodologia de Ensino Orientado a Projetos e o
desenvolvimento de material didtico para uma
disciplina prtica de laboratrio cujo nome Sistemas,
Processadores e Perifricos (SPP). Essa disciplina
obrigatria aos cursos de Engenharia Eltrica,
Engenharia de Controle e Automao e Engenharia de
Sistemas na UFMG, onde o aprendizado do projeto de
processadores um dos objetivos.
O material didtico desenvolvido foi norteado pela
metodologia de ensino que tem seus princpios
inspirados na metodologia conhecida como Problem
Based Learning PBL, amplamente divulgada em
literatura [1]. O elemento chave dessa metodologia de
2. Contextualizao
SPP uma disciplina obrigatria para trs cursos
de graduao da UFMG: em Engenharia Eltrica, em
Engenharia de Controle e Automao e em Engenharia
de Sistemas, totalizando aproximadamente 150 alunos
matriculados a cada semestre. SPP composta de uma
carga horria semestral de 45 horas de aulas tericas e
30 horas de aulas prticas em laboratrio (total de
75h/semestre). Todas as aulas tericas acontecem
concomitantemente com as aulas prticas. A disciplina
SPP de carter formativo do aluno na rea de
Projetos de Sistemas Digitais dos cursos supracitados e
tem como pr-requisitos s disciplinas de Sistemas
Digitais e Laboratrio de Sistemas Digitais, onde o
enfoque de projetos de sistemas digitais modernos
baseados em linguagens de descrio de hardware e
uso de dispositivos lgicos programveis deve ser
ensinado e praticado em aulas de laboratrio.
De forma geral, os objetivos da disciplina SPP so 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
funes para as quais foi projetado.
b) Identificao e caracterizao de um
perifrico, sua forma de comunicao com
processadores e seus modos de operao.
Antes do desenvolvimento do material didtico
aqui apresentado, as aulas de laboratrio desta
disciplina eram baseadas em roteiros com experincias
bem definidas e repetitivas, onde o aluno executava
tarefas
pr-determinadas,
devendo
apresentar
pr-relatrios no incio de cada aula de laboratrio ao
professor da disciplina. Desta forma, os pr-relatrios
permitiam identificar se o aluno havia estudado o
assunto previamente e se preparado para as atividades
presenciais da aula prtica da semana. Os roteiros de
laboratrio da aula prtica estavam sempre atrelados ao
assunto dado na aula terica da semana.
Para se alcanar o primeiro objetivo geral da
disciplina, o professor apresentava em sala de aula o
desenvolvimento de um processador definido para fins
didticos, conhecido por MIC-1 [3]. O projeto desse
processador era dividido em oito aulas prticas na
forma de roteiros de atividades. O aluno era convidado
a projetar o processador MIC-1 na linguagem de
descrio de hardware VHDL e valid-lo atravs de
um simulador de cdigos de descrio de hardware
produzidos da mesma linguagem. O segundo grande
objetivo dessa disciplina era alcanado com o estudo
de perifricos e sua programao na linguagem
Assembly da arquitetura da famlia de processadores da
Intel. Esse objetivo era alcanado em sete aulas
prticas, sendo cada uma com o seu prprio roteiro de
atividades abordando a programao de um perifrico.
4. Materiais e mtodos
As condies mnimas de utilizao de
equipamentos e material didtico existente em
laboratrio para realizao das atividades prticas
devem estar funcionalmente disponveis desde o
primeiro dia de aula. O material didtico constitudo
de kits DE2-Altera de dispositivos lgicos
programveis para cada grupo de alunos, capazes de
ser reconfigurados por software Quartus II - Altera [8],
[9]. Os kits de dispositivos lgicos programveis
necessitam de um microcomputador com todo o
software necessrio ao desenvolvimento do projeto,
instalados em cada bancada para cada grupo de alunos.
A caracterizao da forma semi-presencial da
disciplina, onde o estudo e o desenvolvimento das
etapas de projeto do processador e da programao de
pequenos sistemas com o uso de perifricos, bem como
o envio dessas atividades de cada etapa semanalmente
ao professor demandam o apoio de uma plataforma de
ensino a distncia. A plataforma Moodle Minha
UFMG utilizada intensamente, onde professores,
monitores-bolsistas e alunos a utilizaro como meio
para consulta ao material didtico, esclarecimento de
dvidas, troca de informao atravs dos fruns para
realizao das atividades propostas. Semanalmente,
todos os grupos de alunos devem submeter suas tarefas
de cada etapa de projeto para apreciao e comentrios
do professor dentro de um prazo estabelecido pelo
mesmo.
As atividades presenciais semanais em laboratrio
consistem na realizao de testes por parte dos alunos
das atividades a distncia que desempenharam na
semana. Esses testes so realizados utilizando-se os
kits
de desenvolvimento
de projetos [8].
Esclarecimentos de dvidas remanescentes com o
5. Resultados
Os objetos de aprendizado desenvolvidos segundo
a metodologia do Ensino Orientado a Projetos se
encontram disponveis, comunidade da UFMG, no
repositrio de objetos de aprendizado do GIZ Rede
de Desenvolvimento de Prticas de Ensino Superior,
vinculado a Pr-Reitoria de Graduao da UFMG sob
a licena 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 so obtidos
e divulgados semestralmente pela Pr-Reitoria de
Graduao da UFMG. Um total de 269 alunos j
cursou esta disciplina utilizando essa metodologia de
ensino. A figura 4 mostra quantitativamente a
afirmao sobre o aumento da motivao dos alunos na
disciplina diante da metodologia de ensino proposta
nesse trabalho. O grfico 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 didtico
considerado como bom a muito bom. Os alunos
afirmam que as vdeo-aulas propiciam uma base
primordial para o desenvolvimento de seus projetos.
Por fim, os documentos que acompanham o material
didtico e o desenvolvimento de um exemplo de
projeto de um processador so objetos de
aprendizagem essenciais para o sucesso da aplicao
dessa metodologia.
Agradecimentos
50%
A Pr-Reitoria de Graduao
o da UFMG pelo suporte
financeiro ao projeto de desenvolvimento do material
didtico apresentado nesse artigo.
40%
30%
Ruim
20%
Mdio
10%
Bom
0%
7. Referncias
Muito bom
[1] Donoso-Garcia,
Garcia, P. F., Martins, L. F.; Cortizo, P. C.
Ensino Orientado ao Projeto: Uma Experincia para o
Ensino de Eletrnica nas disciplinas de laboratrio de
Eletrnica
nica e Eletrnica de Potncia. Eletrnica de
Potncia (Florianpolis), v. 13, p. 109-116,
109
2008.
60%
50%
40%
30%
20%
10%
0%
[2] Donoso-Garcia,
Garcia, P. F., Torres, L. Ensino Orientado
ao projeto desafio: uma experiencia para o ensino de
controle, instrumentao e eletrnica. In: Congresso
Brasileiro de Educao em Engenharia, 2007,
2007 Curitiba.
XXXV COBENGE 2007. p. 3B05--1-3B05-15.
Ruim
Mdio
Bom
Muito bom
6. Consideraes finais
[6] de Oliveira,
veira, A. S. e Andrade, F. S. Sistemas
Embarcados - Hardware e Firmware na Prtica. 1a.
Edio. Editora rica, 2006.
Resumo
O conceito de memria cache um tpico
importante visto principalmente na disciplina de
Arquitetura de Computadores, em cursos da rea de
computao. Esse um assunto no qual muitos alunos
sentem dificuldades, isso se deve ao cunho
extremamente terico das aulas na maioria dos cursos
ofertados. Um simulador se mostra uma ferramenta
importante neste cenrio. Este artigo apresenta um
estudo comparativo entre os principais simuladores de
memria cache disponveis, visando avaliar sua
aplicabilidade como ferramenta de apoio ao ensino em
cursos introdutrios de arquitetura de computadores.
O estudo aponta que um dos principais empecilhos
aplicao destas ferramentas a dificuldade em
localizar estes aplicativos.
1. Introduo
No decorrer da evoluo dos sistemas
computacionais, a diferena de velocidade entre a
unidade central de processamento e a memria
principal se tornou um obstculo ao aumento do
desempenho dos computadores. Uma das formas
encontradas para mitigar essa problemtica foi o
emprego de uma pequena poro de memria veloz e
de custo mais elevado, denominada memria cache,
localizada entre o processador e a memria principal.
A memria cache armazena temporariamente os
dados e instrues que possuem maior probabilidade
de serem usados pelo processador, reduzindo o nmero
de acessos memria principal. A memria cache
largamente empregada nas arquiteturas computacionais
modernas. Sua utilizao visa melhora de
desempenho do sistema.
O conceito de memria cache est inserido na
2. Memria cache
Figura 2. Esquema de uma memria cache
[9].
3. Simuladores
3.2 DCMSim
3.1 KSH
O KSH foi desenvolvido na Pontifcia Universidade
Catlica de Minas Gerais e desenvolvido na linguagem
de programao Java. Esta ferramenta pode ser
executada em modo grfico ou via console, ambos
possuindo as mesmas funcionalidades. O KSH
implementa as trs arquiteturas de memria cache:
mapeamento direto; mapeamento associativo e
mapeamento associativo por conjunto. Suas polticas
de substituio so FIFO e LRU. Possui tcnicas de
escrita: write back e write through e o acesso
memria pode ser de modo sequencial ou paralelo.
3.4 Dinero IV
Desenvolvido pelo Dr. Jan Edler da NEC Researchs
Corporation e pelo prof. Mark D. Hill do
Departamento de Cincia da Computao da
Universidade de Wisconsin. O Dinero IV um
simulador de memria cache baseado nas referncias
do memory trace que permite a simulao de caches
multi-nveis dentre seus mais diversos tipos, como, por
exemplo, uma cache separada para instruo e uma
para dados. Possui melhor desempenho e portabilidade
do que seu antecessor, o Dinero III.
O Dinero IV no apresenta o tempo decorrido da
simulao, sendo a sua principal funcionalidade o
clculo das taxas de acerto e de erro dos acessos feitos
memria cache. Suas polticas de substituio so:
LRU; FIFO ou aleatria. Os vrios parmetros de cada
cache podem ser configurados separadamente em
relao aos fatores como: arquitetura; poltica e
estatsticas. Durante a inicializao realizada a
configurao, uma cache por vez, comeando por cada
nvel, desde a memria principal. Aps a inicializao,
os nveis superiores so alimentados a cada referncia
atravs por uma chamada simples de uma funo,
enquanto que os nveis mais baixos da hierarquia so
tratados de maneira automtica. O Dinero IV foi
testado nos ambientes: x86/Linux, Alpha/Linux,
Alpha/OSF, SGI/IRIX-6, RS6000/AIX, x86/Solaris, e
Sparc/Solaris.
3.3 MSCSim
MSCSim (Multilevel and Split Cache Simulator), foi
desenvolvido na Pontifcia Universidade Catlica de
Minas Gerais. Desenvolvido tambm em Java e
implementa as arquiteturas de cache: mapeamento
direto; mapeamento associativo e associativo por
conjunto. Polticas de substituio: FIFO e LRU.
Polticas de escrita: write back e write through. Acesso
memria: paralelo e sequencial. O programa possui
interface grfica composta de vrios ambientes, sendo a
janela principal composta de um menu principal e um
espao onde mostrado os arquivos usados
recentemente (configuraes e traces). Seu memory
trace pode ser feito atravs de um trace generator no
programa, o qual permite a criao manual ou
randmica seguindo o formato: <endereo>
<(L)eitura/(E)scrita> <(I)nstruo/(D)ado>.
Quanto configurao da arquitetura, pode
ser elaborada ou ser importada de um arquivo prdefinido. possvel dividir a cache em vrios nveis e
diferenciar as caractersticas de cada nvel. Depois de
configurada a arquitetura e informado o trace, surge o
ambiente de simulao uma janela com abas:
simulao, memria cache, memria principal e
estatsticas a simulao pode ocorrer passo-a-passo
ou diretamente.
10
11
5. Resultados
Todos os simuladores apresentaram problemas de
disponibilidade do aplicativo e do cdigo fonte. O
DCMSim possui o aplicativo disponvel, porm em
uma verso incompleta. O Dinero IV disponvel no
site do autor, enquanto que para obter o MSCSim,
necessrio entrar em contato com seus autores, os quais
no retornaram os inmeros contatos realizados. No
foram encontradas fontes para o KSH.
A partir do estudo comparativo realizado, podemos
verificar que h uma grande carncia nas ferramentas
de simulao. Mesmo havendo vrios trabalhos
publicados, no possvel encontrar os simuladores,
exceto o Dinero IV, tanto por estes no 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 anlise. Ele possui a interface com
mais informaes e as animaes permitem uma
melhor visualizao das mudanas durante a simulao.
J o Dinero IV obteve o pior desempenho. A operao
via console e a falta de informaes durante a
simulao, tornam o uso e a compreenso difceis,
sendo no indicado para o ensino.
7. Referncias
[1] Coutinho, L. M. N.; Mendes, J. L. D.; Martins, C. A. P.
S. MSCSim Simulador de Memria Cache, Split e
Multinveis, 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
memria cache com carregamento dinmico de mdulos
e execuo de script de configurao, 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. Concluses
Nesse ambiente conclui-se que apenas um nico
simulador atende s principais caractersticas que um
simulador didtico deve possuir. Porm, o programa
no foi localizado e as inmeras tentativas de contato
com os autores no obtiveram xito.
Dessa maneira, os objetivos do artigo foram
alcanados e foi percebida a carncia da existncia de
simuladores que possam auxiliar o ensino sobre
memria 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, atravs, por
exemplo, de um servio de hospedagem permanente de
arquivos. O projeto da interface grfica deve primar
por criar um ambiente agradvel, no qual o aluno possa
obter as informaes do funcionamento e de
desempenho de vrias organizaes diferentes de
memria cache.
Juntamente com os artigos analisados nesse estudo,
este trabalho complementa as pesquisas realizadas
sobre simuladores de memria cache mostrando um
12
2. Trabalhos Relacionados
Os simuladores computacionais so recursos
tecnolgicos que podem auxiliar em diversas reas. No
contexto abordado neste trabalho, os simuladores
auxiliam os professores a provocar, favorecer e
orientar situaes controladas de ensino e
aprendizagem, pedagogicamente interessantes para o
nvel de ensino que deseja. Do ponto de vista
pedaggico, simuladores computacionais so softwares
teis e simples, uma vez que levam os alunos a
interagirem com os mesmos, o que lhes facilita a
compreenso de conceitos abstratos, leis e
caractersticas do mundo fsico.
Segundo Felix [4], em tal disciplina notvel a
necessidade de ferramentas grficas e didticas para
auxiliar o aprendizado. Especificamente para explicar a
arquitetura de processadores, pois so necessrias
muitas figuras para ilustrar os caminhos de dados e de
controle quando uma instruo executada.
Para a disciplina de Organizao e Arquitetura de
Computadores, podemos citar algumas ferramentas
voltadas para o campo da informtica educativa,
especificamente em uma das reas correlatas
(processadores) ao tema da pesquisa. Dentre os vrios
processadores, dos mais simples aos mais complexos,
destacamos o processador MIPS (Microprocessor
1. Introduo
A anlise dos sistemas computacionais atuais, seu
entendimento uma tarefa difcil, principalmente
embasado apenas na teoria. Logo, o estudo da
disciplina Organizao e Arquitetura de Computadores
podem ser facilitados com a utilizao de simuladores
[3], sendo uma abordagem benfica para que os alunos
entendam seu comportamento e possam visualizar a
execuo de programas para montagem real de uma
arquitetura.
Existem muitas tcnicas de ensino utilizando
simuladores para representar arquiteturas reais ou
hipotticas [2]. Estas tcnicas, porm, no permitem
uma abordagem construtivista onde os alunos possam
criar suas prprias arquiteturas.
Neste sentido, esse trabalho aborda uma
metodologia para modelagem e simulao 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 matemtico de computao
13
as
de
F
S
N
S
S
S
S
Ambiente e Complexidade
Suporte ao Projeto
Apresentao Visual
Nvel de Simulao
Ensino a Distncia
Detalhamento da Implementao
14
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 Organizao e
Arquitetura de Computadores. Mas para conseguir
xito em tal objetivo, foram verificadas algumas
barreiras para a utilizao da ferramenta: i) Ptolemy
um software para fins cientficos e industriais com
interface pouca amigvel para usurios inexperientes.
ii) Ptolemy no 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 no ter controle sobre
o que os alunos fizeram com o ambiente ou com os
atores.
Alm destas barreiras, foi realizada uma anlise de
usabilidade no framework Ptolemy, buscando
compreender e apontar as necessidades do software
para torn-lo uma ferramenta de ensino eficaz, para
auxlio na disciplina de Arquitetura de Computadores,
de forma mais simples e mais amigvel.
Na realizao da avaliao de usabilidade, foi
utilizada a tcnica diagnstica de inspeo via
checklist, com o auxlio da ferramenta Ergolist1,
desenvolvida pelo Laboratrio de Utilizabilidade da
UFSC/SENAI (LabiUtil), coordenado pelo Prof. Dr.
Walter de Abreu Cybis. Essa ferramenta possui dezoito
checklists, totalizando 193 questes.
Na Figura 1 apresentado um grfico referente s
estatsticas da avaliao de usabilidade do Ptolemy II
na ferramenta Ergolist. O eixo horizontal apresenta os
15
5. Roteiro didtico
16
6. Consideraes Finais
17
Referncias
18
Abstract
1. Introduca o
Estudos recentes vem mostrando uma preocupaca o em
mudar a abordagem tradicional de ensino para os novos
jovens da geraca o Y [3]. Os jovens nascidos nas duas
u ltimas decadas sao considerados por alguns pesquisadores como geraca o Y. Sao dinamicos, fazem muitas tarefas
simultaneas, mas tem grande dificuldade ao ficarem presos
em uma sala de aula para manter a concentraca o por mais
de 50 minutos [3].
A disponibilidade da tecnologia com a internet e suas facilidades de uso vem gerando modificaco es na sociedade.
Os jovens fazem uso intenso da internet, por meio de notebooks, telefones celulares, se comunicam por redes sociais,
etc.
O uso da tecnologia e uma alternativa com a disponibilidade de recursos multimdia, ferramentas colaborativas em
stios na internet com animaco es, vdeos, etc. Uma ferramenta interessante sao os clickers [2]. O professor faz a
exposica o da aula e varias pausas entre os topicos. Mostra
perguntas simples no formato de multipla escolha, falso ou
verdadeiro, afirmativas. O estudante responde com o clicker escolhendo a opca o sim ou nao, a, b ou c. No mesmo
instante o professor tem o retorno dos alunos e sabe se deve
2. Memoria
Os conceitos de memoria cache e virtual sao muito importantes para a compreensao do alto desempenho dos computadores e sua evoluca o nas u ltimas decadas. A ideia de
memoria cache e simples e em geral bem assimilada pelos estudantes. O uso de notaca o decimal e um exerccio
numerico simples gera rapidamente resultados na compreensao das polticas de escrita. A seca o 2.1 mostra um
exerccio simples com este intuito. O conceito de paginaca o
em dois nveis com a paginaca o da tabela de paginas e uso
19
L
0
1
2
...
9
Cache
Tag Dado
12
1
12
2
40
3
tempo
Memoria
End Dado
L
0
1
2
Cache
T
D
12
1
12
2
40
3
t
43
24
01
d
430
241
5
tempo
t
d
32
10
41
411
41
45
Memoria
End
Dado
120
1
121
2
402
3
012
12
430
430
320
320
241
241
411
411
2.1. Cache
A metodologia deste trabalho, envolve a elaboraca o de
exerccios numericos para os topicos de arquitetura. Os
exerccios tem o objetivo de complementar os exerccios ja
disponibilizados em livros classicos da literatura [4].
Iremos ilustrar um exerccio simples com uma cache
de mapeamento direto, sistema decimal para facilitar a
introduca o ao assunto, poltica de escrita write-back. O estudante tem que preencher o conteudo inicial da cache que
aparece em branco (veja figura 1). Executar a sequencia
de operaco es e deixar o conteudo final da cache, mostrando
o rastreio das operaco es. Os estudantes compreende sem
dificuldade os conceitos e manipulando os tags e dados numericamente ao executar o exerccio.
Suponha o seguinte enunciado para o exerccio: Ex1.
Mapeamento Direto: Suponha uma cache no sistema decimal com 10 posico es e uma memoria com 1000 posico es.
Suponha que o Tag tenha os valores 12, 12, 40 armazenados nas linhas 0, 1 e 2 e armazene os dados 1, 2 e 3 nas
linhas 0, 1 e 2, respectivamente. Para a memoria suponha
que mem(i) armazena i. Execute uma sequencia de escritas
e leituras: Ler 430, escrever 10 em 320, ler 241, escrever
5 na 012, ler 411 e escrever 45 na 411. Suponha a poltica
write-back (so atualiza a memoria no caso da retirada do
dado da cache). Qual o estado final dos dados na cache e na
memoria ? .
O resultado final do exerccio e ilustrado na Figura 2.
A evoluca o dos tag e dos dados na cache sao mostrados
ao longo da linha de tempo, entre as tabelas da cache e
memoria, onde t e usado para os tags e d para os dados. Na
memoria, como usamos um campo extra para endereco, os
enderecos podem ser ordenados ou aparecer na sequencia
do exerccio mostrando no tempo como a memoria e alterada ou nao, ja que a poltica write-back e adotada no
exerccio.
A primeira coluna mostra a linha e deixa claro o conceito do Tag do mapeamento direto. O fato de escrever
2.2. Virtual
Esta seca o apresenta um exemplo de paginaca o em dois
nveis com TLB. O exemplo e dimensionado para o estudante visualizar todo o possvel conteudo da memoria real
e virtual em uma u nica folha como ilustrado na figura 3. A
pagina de memoria possui 4 entradas. A memoria real tem
32 entradas em 8 molduras. A memoria virtual tem 64 entradas em 16 paginas. O tamanho da TLB pode variar, no
exemplo usamos uma TLB com 4 entradas.
A tabela de pagina tem 2 nveis. O primeiro nvel tem 2
bits ou 4 entradas. Cada entrada leva a 2 bits ou 4 entradas
no segundo nvel. Ou seja, sao dimensionados no tamanho da pagina. O endereco virtual tem 6 bits no formato
P1 P0 S1 S0 O1 O0 . Onde P e o primeiro nvel, S o segundo
nvel e O e o offset dentro O endereco real tem 5 bits no formato M2 M1 M0 O1 O0 , onde M e a moldura e O e o offset.
A TLB realiza o mapeamento direto entre P1 P0 S1 S0 para
M2 M1 M0 .
Varios conceitos sao trabalhados no exerccio. Suponha
o conteudo inicial das memorias ilustrado na Figura 3. Considere o exemplo sem o uso da TLB para o estudante realizar o mapeamento e verificar que sao feitos tres acessos a
memoria real em um caso de sucesso no mapeamento. Suponha a busca do endereco virtual 3 = 000011. Suponha que
o primeiro nvel da tabela fique sempre alocado na moldura
000. Para o primeiro nvel onde P1 P0 = 00, a posica o de
memoria real 00000 e lida e retorna 7 = 111. Para o segundo nvel como S1 S0 = 00, a posica o de memoria real
sera 11100 ou 28 em decimal que sera lida e retornara o
valor 6 = 110. Finalmente, o dado e encontrado no terceiro acesso no endereco real 11011 onde a moldura sera a
moldura 6 e o offset e 3, o acesso retornara o dado t, que e
20
diferente do dado da memoria virtual onde a posica o 3 armazena d. Ou seja, o estudante visualiza que a memoria real
pode ser atualizada sem a necessidade de atualizar a virtual.
A TLB pode ser introduzida, mostrando que a pagina 0
esta diretamente mapeada na moldura 6. As outras entradas
da TLB podem ser mostradas ao estudante. Outra questao e
perguntar para o estudante se ele consegue fazer o mapeamento inverso e responder as perguntas: Quais as molduras
que estao ocupadas e quais estao livres ? Quais as paginas
que estao mapeadas na memoria real e em quais molduras ?
Neste exemplo apenas a moldura dois esta livre. As molduras 0, 7 e 3 armazenam a tabela de pagina e as molduras 1,
4, 5 e 6 armazenam as paginas.
No caso de uma falha no segundo nvel, como a moldura 2 esta livre, ela pode ser alocada para a nova pagina.
Apos a alocaca o da moldura 2, o que ocorre com a TLB
? Se outra pagina for acessada, quais molduras e paginas
serao afetadas ? Neste ponto, os conceitos de poltica de
escrita, substituica o na memoria e na TLB sao apresentados. O que deve ser feito: remover uma moldura com um
pedaco da tabela de pagina ou com uma pagina fsica. Todos estes pontos podem ser abordados com uma sequencia
de operaco es de leitura e escrita.
Para facilitar o rastreio das operaco es em sequencias,
uma marcaca o de tempo com t1 , t2 , . . . , tn pode ser usada
para que o estudante mostre no diagrama da memoria da
figura 3 o que foi modificado em cada passo. Neste exemplo, sao executadas 5 operaco es de t1 a t5 . O conteudo da
memoria real, virtual e TLB sao atualizados e o estudante
tem uma visao completa de todas as operaco es e decisoes
envolvidas.
4. Resultados Preliminares
Como o trabalho ainda e inicial, alguns exerccios ja vem
sendo utizados a varios semestres e outros a apenas um ou
dois semestres. Algumas consideraco es iniciais podem ser
observadas. A tabela 1 mostra a media das notas dos estudantes de Organizaca o de Computadores II nos anos de
2009, 2010 e 2011. Aparentemente parece que a metodologia nao surgiu efeito com a queda da media e aumento das
reprovaco es, mas iremos explicar a seguir. Por exemplo, em
uma cidade a media de paes e 1 por pessoa, onde uma pessoa come tres paes e outras duas nenhum. Temos que olhar
com calma a distribuica o das notas na geraca o da media.
Em 2011, o uso da metodologia com exerccios em quase
todas as aulas foi aplicado. Em 2010 e 2009, os estudantes
apenas faziam pequenas avaliaco es de 1 ponto de 10 em
10 dias sobre os topicos. A diferenca em 2011 foi disponibilizar sempre para o estudante uma ou duas folhas com
desenhos e exerccios que ele vai completando e fazendo
durante a aula. Esta dinamica tem deixado os estudantes
menos dispersos e mais colaborativos e alem de exporem
suas duvidas e participarem mais das aulas.
Ano
2009
2010
2011
3. Encaminhamento
Esta seca o mostra um exerccio simples onde o estudante
necessita completar o caminho de dados do processor MIPS
com pipeline de 5 estagios. O objetivo e que o estudante
participe e encontre os caminhos dos dados em presenca de
encaminhamentos, interagindo durante a aula. Ele recebe o
desenho basico e apenas precisa completar algumas linhas
no instante de tempo correto. Este material complementa
o texto do livro classico de Patterson e Hennessy [4]. Em
geral no diagrama de tempo, o estudante iniciante nao tem
muita dificuldade para visualizar, mas muitos tem duvidas
na hora de desenhar os fios extras no caminho de dados.
Na figura 4 sao ilustrados dois trecho de programas em
execuca o. Primeiro, o diagrama e entregue ao estudante
para completar. A figura mostra a soluca o do exerccio,
onde cada fio extra (linha em destaque no caminho de dados) adicionado e numerado e o numero deve aparecer no
diagrama de tempo da execuca o das etapas pipeline das
instruco es.
Este exerccio tem sido usado nos tres u ltimos anos do
Alunos
28
38
43
Media
68,4
66,1
65,6
Reprovados
2
2
10
65+
75
73
77
85+
1
3
5
21
de 60 a 65, 5 estudantes tiveram media superior a 85 pontos. Em 2009 apenas 1 estudante obteve 85 pontos. Em
2010 tres estudantes obtiveram desempenho superior a 85
pontos. Ainda e cedo para concluir, mas o que pode ser
observado que mesmo com avaliaco es mais rigorosas em
2011 e um numero significativo de reprovados, a media da
turma se manteve. A parcela da turma que participou efetivamente dos exerccios contribuiu para que notas maiores
sustentassem a media. Nao foi usado nenhum ajuste (provas suplementares, exerccios extras) que beneficia-se alunos que tivessem notas proximas do mnimo exigido.
Em 2011, 46% dos alunos tiveram media acima de 65
pontos. Em 2010 foram 55% e em 2009 forma 68% da
turma. Apesar de ter o menor numero de alunos com media
superior a 65 pontos em 2011, eles tiveram notas melhores
que gerou uma media proxima aos anos anteriores mesmo
com avaliaco es mais rigorosas. Para os alunos com notas
acima de 65 pontos, a media em 2009 foi 75, em 2010 caiu
para 73 e em 2011 subiu para 77. Ou seja, a metade da
turma que participou efetivamente dos exerccios em 2011
foi aprovada com notas maiores que dos anos anteriores.
Outro efeito, foi a reduca o nas duvidas de u ltima hora antes das grandes avaliaco es. Os estudantes se mostraram
mais preparados. Nao foi medido, mas o tempo medio para
resoluca o das provas tambem diminuiu. Metade da turma
resolvia a prova em torno de uma hora a uma hora e meia,
uma vez que ja estavam mais preparados para resolver as
questoes da avaliaca o.
nais, maquinas de estados, assembler e projeto de um processador multiciclo. O segundo curso para o qual foi apresentada a metodologia deste trabalho tem 60 horas e envolve
os topicos de pipeline e tecnicas de paralelismo a nvel de
instruca o, memoria cache e virtual, arquiteturas paralelas.
A avaliaca o dos desempenho da metodologia atraves das
notas nos tres u ltimos anos e muito preliminar, pois o conjunto dos estudantes e muito pequeno. O que foi observado e a melhoria na iteraca o professor/aluno, o aumento no
numero de perguntas e participaca o nas aulas. Estes pontos
nao foram medidos. Apenas dois exerccios foram detalhados no artigo, mas uma serie de exerccios foram aplicados.
Por restrico es de espaco nao foram apresentados aqui.
Uma adaptaca o da metodologia esta tambem em fase
de testes. Durante as aulas praticas no laboratorio, o estudante responde a questoes e exerccios gerados no ambiente didatico PVANET da Universidade Federal de Vicosa
e no ambiente do Google Formularios. O problema da ferramenta do Google e a falta de formataca o nas questoes e
a impossibilidade de colocar figuras. Apesar disso, para
questoes simples, o Google e bem facil para o professor
formular o questionario, gerar um link WEB, onde os estudantes respondem rapidamente as questoes de multipla escolha ou check box. O professor tem imediatamente acesso
aos graficos das respostas e pode avaliar se os pontos abordados estao sendo repassados para os alunos. O mais importante e o retorno e a participaca o dos alunos nas aulas,
seja por meio de uma simples folha de papel ou um recurso
multimdia/internet. Outro estudo recente, mostrou a importancia de se estudar computaca o sem o uso de computadores para desenvolver o raciocnio computacional. O experimento vem mostrando bons resultados com criancas e
jovens [1].
Em resumo, os resultados mostraram que metade da
turma participou das atividades com um retorno na melhoria das notas e reduca o no tempo medio para realizar
as avaliaco es. Em se tratando de um curso de Ciencia da
Computaca o, onde os alunos em geral nao se interessam
pelo hardware, outras estrategias devem ser avaliadas e experimentadas para ampliar ainda mais a participaca o.
5. Consideraco es Finais
Este trabalho apresenta uma ferramenta simples e talvez considerada obsoleta, onde retornamos a uma folha
de papel. Apesar de simples, o mecanismo aumenta a
participaca o do estudante em sala de aula e evita a dispersao com a participaca o efetiva dos estudantes que passam a responder as questoes durante a aula, ter duvidas e
compreender o assunto. Uma soluca o mais atual com apoio
da tecnologia seria o uso de tablet que ja vem sendo feito
em algumas escolas. A ideia pode ser transportada para o
tablet sem problema. Pois a metodologia propoe o uso de
exerccios quantitativos para o estudante colocar em pratica
durante a aula os conceitos que vao sendo introduzidos, reduzindo as abstraco es atraves de exemplos concretos onde
ele pode interagir e calcular.
Uma ressalva importante e o contexto dos estudantes
da Universidade Federal de Vicosa. Apenas estudantes do
curso de Ciencia da Computaca o foram avaliados, onde
alguns tem mais dificuldade ou pouca familariadade com
apresentaca o estrutural e paralela dos circuitos digitais. Os
estudantes tem apenas dois cursos na a rea de hardware. O
primeiro curso de Organizaca o tem carga horaria de 90 horas e o conteudo: algebra Booleana, circuito combinacio-
Referencias
[1] M. Fellows. Computer Science Unplugged. Lulu, 2005.
[2] J. Fitch. Student feedback in the college classroom: A technology solution. Educational Technology Research and Development, 52:7177, 2004. 10.1007/BF02504773.
[3] L. Leszczynski. A cara da geraca o y. Revista Ensino Superior,
2010.
[4] D. A. Patterson and J. L. Hennessy. Computer organization
and design - the hardware / software interface (4. ed.). Morgan Kaufmann, 2009.
22
23
24
1. Introduo
Com o objetivo de auxiliar o processo de ensinoaprendizagem nos semestres iniciais de cursos de
Cincia da Computao, foi proposta uma abordagem
interdisciplinar envolvendo conceitos de arquitetura e
organizao de computadores nas disciplinas ligadas a
aprendizagem de programao [1]. Este enfoque parte
de um problema frequente relatado por pesquisadores
da rea, os quais apontam o alto nvel de abstrao
envolvido nos conceitos de programao como um dos
principais aspectos que dificultam a aprendizagem
inicial de programao. Acredita-se que a reduo da
abstrao envolvida nesses conceitos pode diminuir os
problemas de aprendizagem apresentados pelos alunos
iniciantes [2,3].
Para atender esse objetivo, foi desenvolvida uma
famlia de processadores de baixa complexidade
denominada BIP (Basic Instruction-set Processor).
25
26
5. Arquitetura do BIP IV
A especificao do BIP IV aproveita algumas
instrues presentes no BIP e estende o BIP III. Alm
de possibilitar operaes de entrada-e-sada e chamada
de procedimentos, foram includas instrues de
deslocamento e de manipulao de vetores.
Para suportar as operaes de E/S, foi adotado o
mtodo de E/S mapeada em memria, utilizado no
BIP, no sendo necessrias grandes modificaes na
arquitetura e na organizao do processador [7]. Os
registradores IN_PORT (entrada) e OUT_PORT
(sada) so utilizados para acesso interfaces de E/S. A
Tabela 1 resume a arquitetura do BIP IV, identificando
as classes de instruo suportadas pelos diferentes
processadores da famlia (do BIP I ao BIP IV).
O cdigo de operao dos processadores BIP
composto por 5 bits, permitindo identificar at 32
instrues. O conjunto de instrues do BIP IV
formado por 28 instrues. Do total de 32 cdigos de
operao possveis, restam trs para novas instrues,
sendo que um utilizado para representar a instruo
de retorno de interrupo no BIP [7]. Ressalta-se que
as instrues acrescentadas ao BIP IV foram herdadas
do processador BIP.
A organizao do BIP IV foi baseada na
organizao do processador BIP III com a adio de
alguns componentes presentes no BIP para suportar
manipulao de vetores e chamada de sub-rotinas,
alm dos pinos de E/S (registradores IN_PORT e
OUT_PORT). Estes componentes incluem uma pilha
de suporte a procedimentos, onde ser salvo o endereo
de memria da instruo seguinte chamada da subrotina e uma unidade de manipulao de vetores.
4. Proposta interdisciplinar
As iniciativas de criao de processadores com
objetivo didtico normalmente buscam apoiar as
disciplinas diretamente envolvidas, como Arquitetura
e Organizao de Computadores. A criao da famlia
de processadores BIP, com suas diferentes verses,
permitiu trabalhar nveis de complexidade diferentes e
com isso explorar os conceitos de arquitetura e
organizao de computadores em diferentes disciplinas
do primeiro, segundo, terceiro e stimo semestres do
curso de Cincia da Computao da UNIVALI. De
forma semelhante, esse aspecto facilitou o
estabelecimento de relaes entre as diferentes
disciplinas
envolvidas,
numa
abordagem
interdisciplinar. [1].
Sabe-se que a utilizao de processadores
simplificados no ensino, como o caso dos
processadores BIP, auxilia a melhorar a compreenso
de conceitos relacionados aprendizagem inicial de
programao reduzindo seu grau de abstrao. Essa
abordagem pode facilitar a aprendizagem dos alunos
que apresentam problemas em lidar com abstraes
[1].
Motivados por essa proposta, uma srie de trabalhos
foram desenvolvidos, disponibilizando novos recursos
e ferramentas a serem utilizados na abordagem citada,
entre os quais a criao de um microcontrolador
baseado na arquitetura BIP (o BIP) [7] e o ambiente
de desenvolvimento Bipide [4], o qual inclui
simuladores para os processadores BIP I e BIP II.
A fim de dar continuidade a esta proposta
interdisciplinar, um novo integrante da famlia BIP foi
desenvolvido. Este processador, designado BIP IV,
possui
funcionalidades
intermedirias
aos
processadores BIP III e BIP, permitindo operaes de
E/S, manipulao de vetores e o uso de subrotinas.
Estes recursos suprem uma necessidade apresentada
pelos processadores disponibilizados anteriormente, no
que diz respeito s restries arquiteturais impostas
pelas verses anteriores.
O suporte a este novo processador no ambiente
Bipide tambm foi implementado, permitindo ao aluno
compreender as novas funcionalidades atravs de
27
Registradores
Classe de instuo
(Processadores)
(BIP I-IV)
(BIP II-IV)
(BIP III-IV)
(BIP IV)
28
Simulador
NeanderWin
GNUSim8085
MipsIt
ABACUS
WinMIPS64
Bipide
Interface de E/S
Chaves e visor
Campo Editvel
Chaves e LEDs
Chaves e LEDs
Terminal
Chaves e LEDs
6.2. Implementao
Para contemplar o suporte ao BIP IV, o ambiente
Bipide foi alterado de modo a suportar as seguintes
caractersticas dos processadores BIP III e BIP IV: (i)
operaes de E/S; (ii) utilizao de vetores; (iii)
chamada de sub-rotinas com passagem de parmetros;
e (iv) operaes de lgica. Para isso, as alteraes
feitas no Bipide incluem mudanas na gramtica
Portugol e novas verificaes nas aes semnticas,
assim como alteraes na gerao de cdigo assembly
e mudanas no simulador.
Em sua verso anterior, o simulador do Bipide
permitia escolher entre os processadores BIP I e BIP II,
refletindo em mudanas nas instrues disponveis,
ilustraes e animaes do processador. Para manter
esse conceito, o simulador foi alterado de modo a
permitir escolher, alm do BIP I e BIP II, os
processadores BIP III e BIP IV. Entre as alteraes
feitas na IDE, destaca-se ainda a interface de E/S,
ilustrada pelo item 8 da Figura 1, onde possvel
visualizar o contedo dos registradores $in_port e
$out_port. Pode-se ainda atribuir valores ao registrador
$in_port atravs das chaves disponveis na interface ou
digitando-os em notao decimal.
29
[2]
7. Concluses
[6]
[3]
[4]
[5]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
Referncias
[1]
[18]
[19]
30