Home
Arquitetura de Computadores: educação, ensino e aprendizado
Contents
1. Figura 13 Import ncia do Tablet PC no aprendizado dos alunos na disciplina de Arquitetura de Computadores 20 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Uma parcela muito pequena achou que o Tablet PC n o colaborou em nada com seu aprendizado Uma pacela significativa achou que o Tablet PC n o teve influ ncia no seu processo de aprendizado adotando uma posi o de neutralidade Outra parcela significativa ressaltou a import ncia do Tablet PC no seu aprendizado Nesse ponto pode se destacar que quase metade dos alunos encontrou alguma import ncia no Tablet PC durante seu processo de aprendizado 47 4 2 Resultados do uso do Tablet PC em aulas ativas e colaborativas Vis o do docente A possibilidade de fornecer atividades durante a aula e ter as respostas dos alunos dispon veis instantaneamente para avaliar o n vel de reten o cria novas alternativas de ensino A partir da introdu o do Tablet PC em sala foram inclu das atividades de motiva o no in cio de cada aula onde os alunos em grupos deviam resolver pequenas tarefas relacionadas com o tema da aula Antes da aula sobre caches os alunos foram expostos a uma listagem de n meros representando endere os de mem ria com a restri o de que teriam apenas 4 lugares tempor rios para armazenar os n meros mais utilizados Na primeira vers o eles sabiam todos os n meros que seriam apr
2. memory space mem1l pre conf object cpul_space memory space 96 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Gconf cpu0O space default target conf phys mem 0 0 conf phys mem conf cpu0 physical_memory conf cpu0 space conf cpu0_space timing_model conf id0 conf cpul_space default_target conf phys_mem 0 0 conf phys_mem conf cpul physical_memory conf cpul_space conf cpul_space timing_model conf idl Como o simulador trabalha em n vel de conjunto de instru es as penalidades para os diversos componentes simulados s o definidos em termos de ciclo de rel gio Desta maneira uma lat ncia de leitura de dados deve ser modelada em termos de ciclos considerando a fregii ncia que se deseja modelar e o tempo de acesso Uma importante ferramenta para estimar par metros de mem ria cache e mem ria principal o software Cacti 29 Assim pode se modelar todas as estimativas de tempo de acesso s mem rias considerando as estimativas de lat ncia fornecidas por essa ferra menta Para modelar uma mem ria corretamente no Cacti deve se fornecer informa es como a tecnologia de integra o freqii ncia de opera o e outros par metros os quais de vem ser definidos previamente para os experimentos e podem ser desenvolvidos em sala de aula com os alunos 3 6 3 Discos Imagens e Checkpoints Ao instalar os pacotes do Simics pode se notar que diversas m
3. As cargas de trabalho com grandes n veis de paralelismo em thread executam aplica es independentes com processos independentes Aplica es de visualiza o e multim dia processamento de transa es e aplica es cient ficas de ponto flutuante s o exemplos destas cargas de trabalho Esta pesquisa serviu como base para o processador Hydra CMP 17 e tamb m gerou resultados para o processador UltraSparc T1 9 Atualmente a grande maioria dos processadores de prop sito geral s o exem plos de arquiteturas com n cleos homog neos iguais e para um mesmo prop sito de funcionamento aplica es gerais no caso do GPP General Purpose Processor No entanto projetos de processadores multi core para aplica es em sistemas embarcados frequentemente possuem n cleos heterog neos 18 10 Nesse caso cada n cleo ou conjunto de n cleos respons vel por processamentos espec ficos e distintos dos de mais Uma classe de processadores que representa adequadamente as arquiteturas com n cleos heterog neos s o os processadores conhecidos como MPSoCs Multi Processor System on Chip 19 Estes processadores podem apresentar mais de um processador GPP General Purpose Processor ou ASIP Application Specific Instruction Set Archi tecture interno ao chip por m cada um desses possui caracter sticas diferentes onde um determinado n cleo pode se adequar melhor a um conjunto de aplica es enquanto outro n cleo se encaixa melho
4. As linhas de pesquisas envolvidas s o Desenvolvimento de aplica es de processamento de imagens e v deo especialmente simula o de processamento de sinais UWB Desenvolvimento de jogos Projeto de processadores especiais utilizando como base o projeto de chip do OpenSPARC TI T2 para o desenvolvimento de pesquisas relacionadas com integra o SoC System on Chip interface de rede PCle controladores DRAM e mem ria cache O aluno que iniciar o curr culo far as disciplinas de acordo com seu plano de pesquisa e planejamento da estrutura curricular a ser discutida com o orientador A quantidade de disciplinas estipulada pelo programa de p s gradua o em Engenharia El trica da POLI USP 148 Cap tulo 5 Arquitetura de Computadores Arquiteturas Avan adas de Computadores Programa o em Arquiteturas Avan adas educa o ensino e aprendizado Projeto de Sistemas Reconfigur veis Projeto de Microprocessadores Especiais Jogos Processamento Projeto de Sistemas Eletr nicos e An lise de Sobre Sil cio Tarefas awe Interativos Imagens e V deos System Level Disciplinas Existentes Disciplinas Propostas Disciplinas Relacionadas Figure 5 1 Curr culo de Engenheiro de Hardware e HPC Analisando esta proposta de Elenco de Disciplinas para forma o de curr culo pretendemos responder a seguinte quest o que tipo de perfil acad mico profissional poderemos forma
5. Formas de programa o Hierarquia de mem ria Funcionalidade dos diferentes bancos de mem ria Controle da mem ria distribu da Canais de DMA Renderiza o de imagens Pipeline gr fico Processadores de v rtices e de fragmentos Programa o baseada em stream Circuitos de E S Sa da de v deo NTSC PAL DTV VESA Controlador USB e IEEE 1394 Sa da de udio em 48 canais Outros usos do console Aplica es cient ficas Uso de sistemas operacionais n o nativos Linux Cluster de consoles isto restringia muito a compreens o do todo para amenizar este efeito colateral nos exemplos 2 e 3 esperamos de uma a duas semanas para comunicar o particio namento entre os grupos Pesquisa No problema do exemplo 1 uma das principais dificuldades dos alunos foi a escassez de refer ncias de qualidade para determinados t picos tais como detalhes da arquitetura e formas de programa o do PlayStation 2 J nos exemplos 2 e 3 a principal dificuldade dos alunos foi a filtragem de material amplamente dispon vel Em todos os exemplos a dificuldade de compreens o de termos e conceitos esteve presente N vel de profundidade A dificuldade de pesquisa fez se acompanhar de um estudo pouco aprofundado de muitos dos conceitos abordados nos problemas Aspectos como multiprocessamento organiza o de mem ria redes de interconex o formas de programa o sistemas o
6. 140 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado interessadas de alguma forma no cont nuo desenvolvimento desta interface entre elas AMD IBM Sun Microsystems e Intel 4 10 6 Modelos de balanceamento de carga e TBB Na se o 4 4 foi apresentada a grande dificuldade de se paralelizar um c digo sequencial sem que houvesse informa es expl citas por parte do programador indicando os trechos desejados para a paraleliza o e ou como os processos deveriam se comunicar entre si por exemplo Por m atualmente algumas linguagens est o sendo desenvolvidas com o objetivo de tornar cada vez mais eficiente esta transforma o visando n o somente uma paraleliza o autom tica de c digo mas tamb m economizar ao m ximo recursos e minimizar o tempo total de execu o Entre elas podemos citar a linguagem Cilk e as bibliotecas Kaapi e TBB sendo esta ltima apresentada ainda nesta se o O ponto em comum entre essas tr s abordagens a utiliza o de modelos de balanceamento de carga para escalonamento din mico de tarefas No escalonamento din mico a partir de estimativas dos custos das tarefas das apli ca es elas s o alocadas a recursos Mas nesse caso como o ambiente completamente din mico costuma se permitir a aloca o de tarefas no momento de sua cria o Isto feito atrav s de mecanismos de balanceamento de carga os recursos menos carregados recebem as tare
7. es e oferece suporte para implementa es em ANSI C ANSI C e ANSI Fortran Fortran90 importante ressaltar que MPI 2 foi criado de modo que o MPI 1 seja um sub conjunto do MPI 2 apesar de algumas fun es estarem deprecated Assim programas em MPI 1 continuam funcionando em implementa es de MPI 2 O principal destaque na especifica o de MPI 2 a gerenciamento din mico dos processos pois permitido a cria o possivelmente em m quinas distintas e a finaliza o cooperativa isto de modo que a integridade do sistema seja garantida de processos mesmo depois de a aplica o ter come ado sua execu o Al m disso permite estabelecer comunica o entre processos que foram disparados separadamente 17 Outra nova funcionalidade a chamada One sided Communications que s o roti nas para a comunica o unidirecional Inclui opera es com put get e accumulate que possibilitam ler e escrever em mem ria remota e opera es de redu o atrav s de algumas tarefas tasks Exitem tamb m opera es de coletivas e de sincroniza o fazendo com que em ambientes de mem ria compartilhada este modelo apresente se mais conveniente do que troca de mensagens 10 Uma cole o de fun es tamb m est o disponibilizadas no MPI 2 chamadas de I O Paralelo que foram projetadas para permitir abstra o das dificuldades na manipula o de I O entrada e sa da em sistemas distribu dos Tamb m p
8. o algumas das linguagens que utilizam m ltiplos paradigmas s o a PI 9 a Orca 14 e a SR 4 Synchronizing Resources Orca uma linguagem baseada em objetos na qual processos pai podem passar objetos para seus filhos estabele cendo uma comunica o A comunica o poss vel inclusive em m quinas diferentes A linguagem SR fornece suporte a vari veis compartilhadas por processos mensagens ass ncronas rendezvous e multicast Os processos s o agrupados em m dulos chamados recursos que s o dinamicamente criados e que realiza comunica o por meio de sem foros Diferentes recursos se comunicam por opera es definidas explicitamente como procedimentos 4 9 3 Java Assim como as demais linguagens interpretadas Java usa shared memory baseada em threads que se comunicam e sincronizam com vari veis de condi o 24 As API s Ap plication Programming Interface JNT s Java Native Interface e sockets facilitam a ex tens o pois fornecem as funcionalidades os padr es e as ferramentas necess rias As Java Virtual Machines VM garantem portabilidade j que o nico requisito necess rio uma VM adequada ao sistema operacional Por isso Java um importante exemplo de linguagem em que o usu rio especifica a comunica o e a decomposi o 131 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Java Virtual Machines VM As VM s de Java s o respons veis pela interpreta o do
9. o dos problemas de aprendizagem associados necessidade de abstra o 191 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 6 5 Agradecimentos Os autores agradecem ao CNPq pelo apoio concedido para realiza o da pesquisa via Edital Universal 2008 Processo No 477820 2008 5 Capes pelo apoio continuidade da pesquisa via Edital Prosup 2010 Cursos Novos Aux lio No 2140 2010 e UNIVALI pelo cont nuo suporte s atividades desta pesquisa 6 6 Refer ncias Carbone A e Kaasboll J 1998 A survey of methods used to evaluate computer science teaching In Proceedings of the 3rd Conference on Teaching of Computing Dublin p 41 45 Clements A 1999 Selecting a processor for teaching computer architecture Microprocessor and Microsystems v 23 n 5 p 281 290 Good J e Brna P 2004 Program comprehension and authentic measurement a scheme for analyzing descriptions of programs Journal of Human Computer Studies v 61 n 2 p 169 185 Hostins H e Raabe A L A Auxiliando a aprendizagem de algoritmos com a ferramenta Webportugol In XIV Workshop de Educa o em Computa o XXVII Congresso da SBC 2007 Rio de Janeiro Anais do XXVII Congresso da SBC 2007 v 1 p 96 105 Khalife J T 2006 Threshold for the introduction of Programming Providing Learners with a Simple Computer Model In Proceedings of the 28th International Conference on Information T
10. Este cap tulo apresentou a experi ncia do grupo de professores do curso de Engenharia de Computa o da Universidade Estadual de Feira de Santana UEFS na aplica o da metodologia PBL Problem Based Learning Aprendizagem Baseada em Problemas em disciplinas relacionadas rea de Arquitetura de Computadores mais especificamente no estudo integrado de Sistemas Digitais o qual engloba as disciplinas de Arquitetura de Computadores e Arquitetura de Computadores Avan ada A experi ncia relatada faz parte de um processo evolutivo em andamento cujas 67 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 12 Conceitos trabalhados no problema exemplo 3 do Caso 4 cont Conceito Escopo Tratado Compara o com mainframes Sistemas operacionais Clusters de GPUs Formas de programa o Rede de interconex o entre n s Rede de armazenamento SAN Storage Area Network Rede de interconex o en Gigabit Ethernet Gigabyte System Network Giganet In tre n s GPU finiBand Myrinet Rede de armazenamento Armazenamento de blocos SAN Storage Area Protocolos Network Sistemas de arquivos Mainframes x clusters Aplica es custo desempenho disponibilidade escala bilidade manutenabilidade software Paradigma stream processing explora o de paralelismo Linguagens C CTM CUDA Organiza o de threads grid block warp I kernel Protocolo
11. Ro ADD Ri R2 Ri Ri R SUB R R2 Ri Ri R2 MUL Ri R2 Rj R Ro er DIV R R2 R R R2 Aritm tica NEG R R R ABS R R R INC R R R 1 DEC R R R 1 AND Ri R2 Ri Rj AND R2 oat OR R R2 Ri R OR Rp TORIGA NOT R Re NOTR CMP Ri R2 compara R e R2 configurando flags BR R desvio incondicional para o endere o R BRC R desvio para o endere o R se carry 1 Transfer ncia BRZ R desvio para o endere o R se zero 1 de controle BRO R desvio para o endere o R se over flow 1 BRS R desvio para o endere o R se sign 1 NOP nenhuma opera o 2 4 1 2 Exemplo 2 Processador com Pipeline Para n o esgotar o formato do processor seq encial este problema solicitou a imple menta o em FPGA atrav s de VHDL de uma arquitetura paralela com as seguintes especifica es presen a de 5 est gios funcionais de execu o paralela interfaceamento com m dulos de mem ria separados para dados e instru es cada qual com capacidade de armazenamento de 4 Gbytes e endere amento por bytes modo Big Endian instru es e opera es internas em 32 bits 16 registradores de prop sito geral RO R15 conjunto de instru es fornecido modos de endere amento imediato base deslocamento e a regis trador possibilidade de lidar com 3 hazards RAW consecutivos sem ter que paralisar a propaga o de instru es entre os est gios funcionais 2 4 1 3 Exemplo 3 Processador Digital de Sinais Est
12. Verifica o do Projeto OpenSPARC Bibliografia OLUKOTUM Kunle Chip Multiprocessor Architecture Synthesis Lectures on Computer 2007 David Weaver 2008 OpenSPARC Internals OpenSPARC T1 Microarchitecture Specification Sun report 2008 OpenSPARC T1 processor design and verification User s Guide Sun report 2008 5 4 2 Programa o em Arquiteturas Avan adas A proposta desta disciplina pretende inspirar o desenvolvimento de um novo curso que aborde aplica es de dados intensivos em larga escala propondo uma base para simula es cient ficas de engenharia em sistemas heterog neos e no futuro em sistemas h bridos com cluster de Cell GPU FPGA Atualmente a computa o escal vel de extrema import ncia para as reas de ci ncia e engenharia devo a quest o do tempo despendido com grandes modelos matem ticos Um dos objetivos ao oferecer este curso preparar os estudantes da engenharia com interesse em processamento de imagens eletromagnetismo introduzindo conceitos elementares de algoritmos da computa o imagem e f sica como estudo de caso para realiza o de atividades pr ticas de simula es Nesta disciplina pretendemos oferecer um breve introdu o em programa o paralela MPI OpenMP e t cnicas de debugg paralelo Ao apresentar estas t cnicas de debugg pretende se que o aluno tenha um no o de um programa segiiencial MPI OpenMP escrito em C e Fortran Ao final do embasamento te
13. es conjuntos de instru es programa o em linguagem de montagem e gera o de c digo em linguagem de m quina BIP II acrescenta instru es de desvio com foco na inclus o de suporte aos conceitos de estruturas de controle para desvios condicionais e incondicionais e la os de repeti o e BIP III acrescenta instru es de l gica focando na inclus o de suporte a opera es de l gica bit a bit A seguir apresentada a especifica o da fam lia BIP identificando se seus atributos arquiteturais e explicando o porqu de cada escolha tomada 6 2 1 Atributos Arquiteturais da Fam lia BIP Com base nas diretrizes de projeto discutidas previamente foram definidos os seguintes atributos para a arquitetura da Fam lia BIP l Palavras de instru o e de dados Os tamanhos das palavras de instru o e de dado foram fixados em um mesmo valor 16 bits para viabilizar implementa es baseadas em uma nica mem ria para o armazenamento de instru es e de dados arquitetura de von Neumann e em mem rias separadas arquitetura Harvard Registradores A arquitetura prev quatro registradores PC Program Counter IR Instruction Register STATUS e ACC sendo que o uso de alguns desses registradores varia conforme a implementa o do processador Por exemplo numa implementa o monociclo com arquitetura Harvard o PC aponta para a instru o corrente e o IR n o necess rio pois a sa da da mem ria de i
14. finclude lt stdio h gt finclude lt stdlib h gt finclude lt omp h gt finclude magic instruction h int main int argc char argv int t_id MAGIC 1 ifdef _OPENMP printf Executando OpenMP gt d threads n omp get max threads else printf Executando Normal gt 1 thread n endif ifdef _OPENMP pragma omp parallel private t_id endif t id omp get thread num printf Oi mundo da thread d n t id ifdef _OPENMP Sincronizacao endif printf Isso eh impresso por apenas uma thread n MAGIC BREAKPOINT No c digo HelloWorld c importante notar que foi inclu da a biblioteca magic instruction h no inicio do c digo e ent o foram utilizadas as chamadas MAGIC 1 e MAGIC BREAKPOINT A fun o MAGIC ir retornar para o Simics e executar se dispon vel alguma fun o de callback pr definida J a fun o MAGIC BREAKPOINT faz com que a simula o pare ao executar essa fun o Dessa maneira com essas fun es a gama de possibilidades de uso do simulador aumenta bastante uma vez que o usu rio pode instrumentar qualquer c digo a fim de interagir com o sistema simulado Ressaltando que a biblioteca magic instruction h est contida no pacote de instala o do Simics Abaixo segue a defini o da fun o em Python no Simics para ser executada du rante o callback da fun o MAGIC def a callback user arg cpu arg print numero de ciclos cpu c
15. o aos assuntos tratados apenas nas aulas te ricas pode se destacar su perescalaridade e processadores VLIW T picos especiais alguns ausentes da ementa foram discutidos em semin rios Conforme visto nos estudo de casos estes apresentaram resultados vari veis os quais dependeram principalmente da receptividade dos alunos Neste ponto constatou se que ao excluir se a parte de implementa o do produto final os alunos relaxaram Esta uma corre o que dever ser feita nas pr ximas oportunidades que semin rios forem aplicados Conforme pode se constatar ao longo do cap tulo a metodologia PBL como qual quer outra de ensino aprendizagem possui seus pr s e contras Considerando positiva a experi ncia que estamos desenvolvendo no curso de Engenharia de Computa o da UEFS podemos afirmar que o uso de PBL influencia de forma ampla a forma o de um aluno n o s em termos acad micos mas tamb m em seu comportamento individual e em grupo Os alunos passam a ter um perfil onde se destaca a capacidade de expressar e ouvir opini es tomar decis es e comunicar se de forma colaborativa entre outras carac ter sticas que podem ser adquiridas mediante a aplica o da metodologia PBL relativas sua forma o human stica e t cnica No caso espec fico da rea de Arquitetura de Computadores o perfil de aluno obtido com a aplica o da metodologia PBL muito interessante por tratar se de uma das reas cujo escopo e imp
16. o de conceitos como v ri veis atribui es e opera es de entrada e sa da Com a introdu o do BIP I a explica o dos conceitos b sicos de arquitetura de computadores tornou se mais detalhada e os conceitos apresentados n o restringiram se apenas disciplina de Algoritmos e Programa o Foram mostrados exemplos de programas em portugu s estruturado Portugol e os correspondentes na linguagem de montagem O Portugol vem sendo adotado nesta disciplina como uma linguagem de programa o simplificada visando reduzir a complexidade na cria o dos primeiros programas eliminando a dificuldade que alguns alunos apresentam com o idioma ingl s e com detalhes espec ficos da interface dos compiladores e ambientes de programa o comerciais Hostins e Raabe 2007 Posteriormente foram realizados exerc cios com os alunos sobre a constru o de programas em linguagem de montagem A seguir s o apresentados exemplos de exerc cios com as respostas esperadas em destaque 180 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Exemplo de Exerc cio 1 Dado o trecho de c digo a seguir escrito na linguagem de montagem do BIP comente cada linha do c digo identificando a opera o realizada LDI 0 ACC lt 0 ADDI 1 ACC ACC 1 ADD B ACC ACC B cn Resposta esperada STO A A ACC Exemplo de Exercicio 2 Dado o trecho de c digo a seguir escrito em linguagem de alt
17. 00111 SUBI operando ACC lt ACC operando Aritm tica A instru o HLT halt tem a fun o de desabilitar a atualiza o do PC paralisando a execu o do programa Nas demais instru es o PC incrementado em uma unidade A instru o STO store realiza a transfer ncia do conte do do registrador ACC para uma posi o do espa o de endere amento de mem ria Mem ria operando Quanto s instru es de carga a instru o LD load realiza uma opera o de transfer ncia de uma posi o do espa o de endere amento de mem ria para o acumulador enquanto que a instru o LDI load immediate carrega uma constante o operando no acumulador Com rela o s instru es aritm ticas s o disponibilizadas instru es de soma e de subtra o entre o acumulador e uma posi o do espa o de endere amento de mem ria e entre o acumulador e uma constante S o elas ADD add SUB subtract ADDI add immediate e SUBI subtract immediate Embora a instru o SUBI possa ser dispensada pelo uso do ADDI com um operando negativo como feito no MIPS Patterson e Hennessy 2005 optou se por disponibilizar a instru o SUBI para conferir uma maior facilidade ao aprendizado Quanto aos modos de endere amento as instru es LDI ADDI e SUBI utilizam o modo imediato enquanto que as instru es STO LD ADD e SUB utilizam o modo direto Em todas essas instru es o acumulador utilizado como um operando impl c
18. 11 bits A arquitetura utiliza entrada e sa da E S mapeada em mem ria sendo que o acesso E S realizado usando as mesmas instru es de acesso mem ria A organiza o dos espa os de endere amento pode ser explorada de diferentes maneiras Pode ser definido um espa o de endere amento nico para instru es dados e E S conforme ilustrado na Figura 6 2 a Por m se o processador utilizar uma organiza o de mem ria tipo Harvard podem ser definidos dois espa os de endere amento separados um para instru es e outro para dados e E S como ilustrado na Figura 6 2 b Essa abordagem permite implementar programas com at 2K instru es e 2K posi es de dados e de E S TFF TFF TFF E S a 512 posi es E S SFF 1024 posi es Dados 512 posi es 400 sa Instru es 3FF 2048 posi es Instru es Dados 1024 posi es 1024 posi es 000 000 000 a b Figura 6 2 Alternativas de organiza o do espa o de endere amento a unificado b dividido 6 Modos de endere amento Foram definidos dois modos de endere amento imediato e direto O modo imediato ilustrado na Figura 6 3 utilizado para opera es envolvendo um registrador o ACC ou o PC e o operando da instru o neste caso uma constante de 11 bits com o sinal representado em complento de dois O modo de endere amento direto utilizado para opera es entre o acumulador e
19. 2007 4 SMITH J E SOHI G S The microarchitecture of superscalar processors IEEE v 83 n 12 p 1609 1624 1995 108 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 5 STALLINGS W Computer Organization and Architecture Designing for Perfor mance Fourth USA Prentice Hall 1996 6 OLUKOTUN K et al The case for a single chip multiprocessor In Proceedings ASPLOS Int Symp on Architectural Support for Programming Languages and Oper ating Systems S 1 IEEE 1996 p 2 11 7 SINHAROY B et al Power5 system microarchitecture IBM Journal of Research and Development v 49 n 4 5 2005 8 BARROSO L A et al Piranha a scalable architecture based on single chip multi processing In Proceedings ISCA Int Symp on Computer Architecture S 1 IEEE 2000 p 282 293 9 KONGETIRA P AINGARAN K OLUKOTUN K Niagara a 32 way multi threaded sparc processor IEEE Micro v 25 n 2 p 21 29 2005 10 KUMAR R et al Heterogeneous chip multiprocessors IEEE Computer v 38 n 11 p 32 38 2005 11 FREITAS H C NAVAUX P O A Chip Multithreading Conceitos Arquite turas e Tend ncias Disserta o Trabalho Individual Universidade Federal do Rio Grande do Sul Porto Alegre Brasil 2006 12 SPRACKLEN L ABRAHAM S Chip multithreading Opportunities and chal lenges In Proceedings HPCA Int Symp on High Performance Computer Architec t
20. A primeira uma organiza o monociclo baseada em uma arquitetura Harvard com mem rias separadas para armazenar instru es e dados Figura 6 5 a J a segunda uma organiza o multiciclo baseada em uma arquitetura de von Neumann com uma mem ria unificada Figura 6 5 b Os diagramas apresentados abstraem alguns aspectos de implementa o como o uso de multiplexadores a largura dos canais e os sinais de controle os quais ser o detalhados posteriormente Unidade Central de Processamento Unidade Central de Processamento Controle Caminho de Dados Controle Caminho de Dados Extens o de Sinal Extens o de Sinal Decodificador PC Cod Operando Instru o Instru o Addr Data Addr In Data Out Data Addr In Data Out Data Mem ria de Instru es Mem ria de Dados Mem ria a b Figura 6 5 Organiza es alternativas a Harvard monociclo b von Neumann multiciclo A Unidade Central de Processamento UCP do BIP I estruturada em dois blocos o Controle e o Caminho de Dados O Controle inclui o registrador PC um somador para atualizar o valor do PC e o decodificador que gera os sinais de controle necess rios para a execu o de cada instru o O Caminho de Dados por sua vez inclui o registrador ACC
21. Al m disso podemos diferenciar os computadores entre outros aspectos pelo modo como lidam com a organiza o da mem ria distribu da cada processador possui a sua pr pria mem ria ou compartilhada importante frisar que estas poss veis organi za es de um computador paralelo t m papel importante na elabora o de um modelo de computa o paralela O cap tulo est organizado na seguinte estrutura Na se o 4 2 enumeramos fatos que favorecem ou desfavorecem a computa o paralela a fim de entender melhor o seu contexto e o impacto de inova es tecnol gicas que ela representa Na se o 4 3 definido o conceito de modelo de programa o paralela As se es de 4 4 at 4 9 de finem a hierarquia de classes de modelos a estrutura escolhida para a organiza o destes diferentes modelos Na se o 4 10 estudamos importantes modelos principalmente para a ltima d cada da rea computacional que n o foram inclu dos na classifica o Por fim na se o 4 11 fazemos alguns coment rios sobre a influ ncia da abordagem escolhida no ensino da programa o paralela assim como os poss veis caminhos para os quais a computa o paralela tende seguir 4 2 Vantagens e Desvantagens do Paralelismo Discutir vantagens e desvantagens um eficiente modo de estimular o interesse no assunto e fixar o aprendizado dos conceitos te ricos sendo aplicados na pr tica Nesta se o sugerimos explorar os principais motivos pelo
22. High Performance For tran utilizam esse tipo de paralelismo e adicionam mais paralelismo direto incluindo constru es para especificar como as estruturas ser o alocadas aos processadores e ope ra es de redu o Neste tipo de modelos existe um desempenho garantido e ainda poss vel medir os custos 4 6 Decomposi o Expl cita Nesta classe de modelos o paralelismo e a decomposi o s o expl citos por m o ma peamento comunica o e sincronismo s o impl citos importante deixar claro que tais modelos precisam de decis es quanto quebra do trabalho em peda os por m deixam ao cargo do desenvolvedor do software as implica es destas decis es Ou seja modelos deste tipo exigem programas abstratos que especifiquem os peda os em que ser o dividi dos mas a disposi o destes segmentos nos processadores e a maneira com que eles v o se comunicar n o precisa ser descrita explicitamente Os principais modelos representantes desta classe s o BSP Bulk Synchronous Parallelism e LogP 16 A apresenta o destes 2 modelos se mostra suficiente para a compreens o do conceito e das caracter sticas da Decomposi o Expl cita 4 6 1 BSP Bulk Synchronous Parallelism um modelo ideal para aplica es cuja comunica o baseada em troca de mensagens As propriedades da rede de interconex o deste modelo s o capturadas atrav s de alguns par metros da arquitetura Uma m quina abstrata de BSP consiste de
23. Nos dois componentes curriculares convencionais s o ministradas aulas te ricas sobre os assuntos de sistemas digitais mais especificamente sobre arquitetura de computadores Podemos citar os seguintes t picos abordados no componente curricular Arquitetura de Computadores KR WO N om nN Classifica o de Computadores Conjunto de Instru es Modos de Endere amento Linguagem de Descri o de Hardware Verilog Unidade de Controle Hardwired Unidade de Controle Microprogramada M quinas de Estados Finitos Mem ria Cache Dispositivos de Entrada Sa da Normalmente a ordem num rica acima equivale ordem cronol gica dos assun tos ministrados em sala de aula Por sua vez para o componente curricular Arquitetura de Computadores Avan ada temos nN A O Classifica o de Mem rias Sistema de Mem ria Tipos de Mem ria Dispositivos L gicos Program veis Arquitetura Pipeline Pipeline Conflitos Estruturais e Depend ncias de Dados e de Controle Conceitos Intermedi rios sobre Pipeline 44 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado 8 Arquitetura Superescalar 9 Sistema de Interconex o 10 Sistema Multiprocessado 11 Mem ria Virtual No componente curricular PBL os t picos necess rios para a resolu o dos pro blemas s o os mais variados dependendo obviamente do problema especificado e do grau de cobertura dos ass
24. caso cada uma destas threads ou fluxo de instru es inicia em endere os diferentes de mem ria O suporte multithreading possui duas abordagens 1 2 Implicit Multithread ing e Explicit Multithreading e Implicit Multithreading Explora o do paralelismo existente em programas se quenciais atrav s de especula o no n vel de thread Nessa abordagem um pro cessador gera m ltiplas threads especulativas de um nico programa seqiiencial dinamicamente ou estaticamente com ajuda do compilador e executa todas con correntemente e Explicit Multithreading Explora o do paralelismo existente entre programas de origens diferentes As threads geradas a partir de cada um desses programas podem ser executadas em um mesmo pipeline Nos dois casos cada uma das threads possui um banco de registradores e conta dores de programa espec ficos representando cada um dos m ltiplos contextos em ativi dade no processador A diferen a est no uso de execu o especulativa de threads de um mesmo programa seqiiencial na abordagem implicit multithreading ou na execu o de threads independentes e de programas distintos na abordagem explicit multithreading Um nico n cleo de processamento escalar ou superescalar pode suportar m lti plas threads Pequenas modifica es na organiza o interna do n cleo s o respons veis por permitir a execu o simult nea ou chaveada das threads Ainda em se tratando de multithreading po
25. com a vi sualiza o do diagrama do sistema a ser avaliado ficam evidentes os componentes n o 87 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado principais mas que s o relevantes ao estudo n cleos de processamento interconex o e mem ria principal e o componente principal do estudo que o pr prio sistema de mem ria cache Assim o objetivo final do estudo indicar formas de reduzir o impacto do sistema de mem ria cache e melhorar o desempenho final do sistema Os servi os dispon veis aos n cleos de processamento atrav s da interconex o ao sistema de mem ria cache s o definidos de forma sucinta como leitura e escrita de dados Estes servi os podem ser propagados at a mem ria principal Os servi os devem oferecer alto desempenho evitando assim eventuais paradas dos n cleos de processamento 3 4 2 M tricas de Avalia o A escolha das m tricas do sistema importante uma vez que atrav s dessas m tricas as an lises ser o feitas e assim deve ser poss vel indicar qual sistema apropriado para cada situa o ou seja as m tricas devem ser pontos de compara o entre os sistemas avaliados Algumas m tricas para o sistema de mem ria cache s o e M tricas de Desempenho Faltas de leituras de dados na mem ria cache Faltas de escritas de dados na mem ria cache Porcentagem de faltas de dados na mem ria cache Faltas de dados na mem ria cache a c
26. conhecimentos de arquitetura de computadores Entretanto observa se que um menor n mero de professores apresentam e de alunos aprendem m todos e t cnicas de projeto e de tomada de decis o em contextos projeto e ou de utiliza o pr tica dos conhecimentos de arquitetura de computadores Finalmente em poucos cursos os alunos s o motivados pelos seus professores a utilizar os aspectos e conhecimentos relacionados com arquitetura dos computadores para a melhoria do desempenho computacional de diferentes tipos de algoritmos e programas que devem ser propostos e elaborados com este prop sito Normalmente as influ ncias dos modelos de computa o sequencial paralelo distribu do etc e das arquiteturas dos computadores no desempenho computacional e at mesmo na qualidade dos resultados n o s o apresentadas e discutidas pelos professores e posteriormente exploradas e investigadas de modo mais profundo pelos alunos Estes fatos s o muito graves pois a maior parte dos alunos que iniciam as disciplinas diretamente relacionadas com arquitetura de computadores pouco interessada e ou pouco motivada para o aprendizado dos t picos relacionados com a arquitetura de computadores E as atividades que integram o uso de t picos de arquitetura no desenvolvimento de programas com melhores requisitos funcionais e principalmente com melhores requisitos n o funcionais podem ser um dos caminhos mais eficientes para motivar e valorizar o entendimento e o
27. disciplina codificados utilizando se a linguagem C e a API OpenMP Os programas devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes 2 Modifica es nas diretivas OpenMP sugeridas e orientadas pelo professor da disciplina usando estudos dirigidos e posterior avalia o de desempenho de programas paralelos codificados utilizando se a linguagem C e a API OpenMP Os diferentes programas modificados devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes 3 Desenvolvimento de programas paralelos simples orientados pelo professor da disciplina e posterior avalia o de desempenho de programas paralelos desenvolvidos utilizando se a linguagem C e a API OpenMP Os programas desenvolvidos s o executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes Em todas as atividades propostas os alunos devem ser motivados a preparar relat rios e at mesmo artigos nos formatos de artigos de eventos cient ficos como por exemplo do WSCAD WIC e do WSCAD SSC Nos ltimos semestres
28. figura 21 mostra um gr fico do tr fego de dados no servidor no m s de outubro O eixo Y mostra a quantidade de dados transferidos em MB enquanto o eixo X mostra os dias do m s de Outubro 5000 4500 4000 3500 3000 2500 2000 ac 1500 1000 500 cw linho Score as 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 28 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Figura 21 Tr fego de dados no servidor m s de Outubro Foi aplicada uma prova no dia 13 de Outubro Como podemos ver ha um aumento sistem tico no tr fego de dados a partir do dia 9 de Outubro mostrando que os alunos come am a estudar para a prova com cerca de 4 dias de anteced ncia Esse padr o se repetiu para a segunda prova com o tr fego do servidor aumentando drasticamente 4 dias antes da prova Outro dado interessante a quantidade de acessos nicos s aulas A figura 22 ilustra o n mero de acessos nicos a cada uma das aulas O gr fico mostra no eixo Y o n mero de alunos e no eixo X a data da aula Olhando a correspond ncia da data com o conte do podemos levantar que as aulas mais acessadas foram as referentes a Hazards e Mem ria Virtual Isso permite que o docente tenha uma no o de quais t picos os alunos est o tendo mais dificuldade Numa eventual d vida sobre o que explicar numa aula de revis o ou qual t pico gastar mais tempo o professor tem uma indica o mais concreta de quais pontos n
29. heran a default todos os objetos definidos em IDL herdam implicitamente da interface Object pr pria do CORBA Ela define opera es comuns a todos os objetos CORBA 20 Al m de uma linguagem de defini o de interfaces CORBA oferece o mapea mento desse c digo declarativo para a linguagem de programa o utilizada para o desen Bhttp www corba org 139 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado volvimento de clientes e servidores Outra funcionalidade importante de CORBA o ORB Object Request Broker um conjunto de m dulos que gerenciam a comunica o entre objetos Alguns autores o definem com um barramento de objetos Com ele objetos podem fazer requisi es a outros objetos que podem estar localizados localmente ou remotamente de forma trans parente Essa transpar ncia assegura que o cliente objeto requisitante n o tenha conhe cimento de quais mecanismos utilizados na comunica o com o objeto requisitado 4 10 5 OpenMP Open Multi Processing OpenMP 4 uma API desenvolvida para sistemas que utilizam mem ria compartilhada com suporte s linguagens C C e Fortran e tamb m a diferen tes arquiteturas como Unix e Windows Al m de portabilidade tem como objetivos apre sentar um modelo escal vel e fornecer ao programador uma interface simples e flex vel 10 Por meio de threads que s o criadas a partir de uma nica thread principal o programador pode man
30. modelos de smart phones ou PDAs por m os modelos que realmente se destacam s o aqueles que contam com um sensor magn tico chamado de digitizer para detec o da escrita ao inv s de sensores de press o resistivos ou capacitivos diretamente embutidos na tela A tecnologia do digitizer utilizado semelhante tecnologia empregada em Tablets de mesa sendo que a tela dotada de um receptor de RF capaz de captar a posi o da caneta numa taxa de 100hz com uma resolu o de 600 pontos por polegada 7 Em geral h uma leve perda de precis o nos cantos da tela a qual impercept vel na maioria dos modelos A tela dos Tablet PCs mais modernos pode ser girada em 180 e dobrada por cima de seu teclado sendo essa forma chamada de slate A figura 1 mostra um Tablet PC nas suas duas formas e a figura 2 mostra um esquem tico do hardware da interface pen based Figura 1 Tablet PC na forma normal e na forma slate Al m da precis o inerente ao hardware h um tratamento especial realizado pelo sistema operacional Windows 5 Os pontos da localiza o da caneta n o s o simplementes amostrados como comum na implementa o de outros dispositivos H diversos algoritmos de tratamento na escrita transformando o conjunto desses pontos em diversas curvas fazendo com que a qualidade de escrita fique ainda Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado melhor o que possibilita o desenho de s mb
31. ncia em processadores convencionais Uma das transforma es no compilador mais eficientes eliminar a cria o de alguns tipos de atores e substituir mensagens enviadas a atores no mesmo processador por chamadas de fun es Assim n o poss vel determinar o verdadeiro custo de exe cutar um programa Actor sem a especifica o de como os atores s o mapeados para os processadores e threads Um dos pontos fracos do modelo Actors que cada ator processa sua fila de men sagem sequencialmente e isso pode se tornar um gargalo para o desempenho Para tratar esse problema foram propostas duas extens es do modelo Actors Concurrent Aggregates e ActorSpace Concurrent Aggregates CA extende o paradigma de Orienta o a Objetos para o contexto de computa o paralela incorporando objetos concorrentes chamada de m to dos concorrentemente e agregados cole o de objetos distribu dos 8 Assim esse modelo se torna bastante conveniente para explorar o paralelismo em computadores mas sivamente paralelos no qual n o h recursos de serializa o desnecess rios CA com bina orienta o a objetos com concorr ncia Essa mistura permite o uso de poderosas ferramentas como a abstra o de dados para esconder a complexidade da programa o paralela em particular o gerenciamento da concorr ncia sincroniza o e distribui o de tarefas Um agregado em CA uma cole o homog nea de objetos que s o agrupados e referenc
32. o ensino e aprendizado 30 00 25 00 20 00 15 00 10 00 5 00 0 00 45 00 40 00 35 00 30 00 25 00 20 00 15 00 10 00 5 00 0 00 40 00 35 00 30 00 25 00 20 00 15 00 10 00 5 00 0 00 Uso do Livro Texto 20 69 18 97 m EE Z 17 24 i E Muito Menos Menos Idem Mais Muito Mais Uso de Notas de Aula Pessoais 40 35 33 33 17 54 7 02 E Muito Menos Menos Idem Mais Muito Mais Uso de Notas de Aula do Professor 35 71 30 36 19 64 10 71 3 57 E Muito Menos Menos Idem Mais Muito Mais 27 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Uso de Lista de Exerc cios 60 00 53 57 50 00 40 00 30 00 25 00 1 TS 20 00 14 29 10 00 3 57 E 3 57 0 00 Muito Menos Menos Idem Mais Muito Mais Outros Materais 70 00 58 82 60 00 50 00 1 F 40 00 30 00 26 47 20 00 11 76 10 00 a 2 94 oa 0 00 Muito Menos Menos Idem Mais Muito Mais Figura 20 Comparativo do uso de materais did ticos no curso Al m das medi es expl citas atrav s dos question rios os videos permitem a utiliza o de medidas impl citas como o log de acesso do servidor WEB para levantarmos algumas informa es relevantes sobre o comportamento dos alunos A
33. o do ambiente pode ser feita em uma simula o simples diferente da modelagem da m quina final Dessa forma a simula o tende ser mais veloz e ent o somente ao final da prepara o do ambiente deve se criar um estado persistente o qual ir manter as modifica es no disco r gido simulado Ap s a completa configura o do sistema chega a hora de modelar a arquitetura que for adequada para os experimentos e carregar o estado persistente previamente criado Assim ao final da carga do sistema ou durante os testes o usu rio tamb m pode criar eventuais pontos de checagem como forma de backup ou at mesmo aux lio durante a simula o 3 6 4 Inserindo Arquivos no Ambiente Simulado Uma das fun es b sicas para uma simula o completa a inser o de arquivos no am biente simulado O simulador Simics permite a inser o de arquivos de tr s maneiras distintas por m dulo de kernel rede local ou imagem de CD ROM Os estados persis tentes de discos r gidos disponibilizados pela Virtutech possuem uma prepara o especial do sistema operacional onde o m dulo de kernel chamado SimicsFS carregado ao ker nel permite que dentro da simula o o usu rio possa montar o sistema de arquivos da m quina hospedeiro ou seja onde se encontra instalado o Simics Mesmo com a facilidade que um m dulo j incorporado ao kernel possa propiciar ao montar um ambiente de simula o come ando desde a instala o do sistema opera ci
34. picos relacionados com a arquitetura de computadores Estes resultados observados independem dos interesses futuros dos alunos inclusive dos alunos interessados no desenvolvimento de algoritmos desenvolvimento de software e at em engenharia de software Sendo que os ltimos demonstram interesse inicial em engenharia de software paralelo Deste modo conclui se que as atividades com enfoque formativo que integram o desenvolvimento de software aplicativo avalia o de desempenho de software sequencial e paralelo e arquitetura de computadores motivam os alunos continuidade e ao aprofundamento do estudo e aprendizado dos t picos relacionados com arquitetura de computadores 7 5 3 Atividades posteriores s disciplinas Arquitetura de Computadores As atividades desenvolvidas nos per odos posteriores s disciplinas Arquitetura de Computadores devem ocorrer tanto dentro de disciplinas quanto em atividades interdisciplinares ou multidisciplinares Apresentam se v rias propostas de atividades e as avalia es e an lises dos resultados iniciais produzidos com as primeiras implementa es de algumas dessas atividades propostas 7 5 3 1 Atividades nas disciplinas posteriores Nas disciplinas finais dos cursos principalmente nas que s o relacionadas engenharia de software e s principais reas de aplica o os professores devem mostrar aos alunos os impactos da arquitetura do computador no desempenho dos programas de cada rea d
35. ricas cient ficas destaca se o paradigma data parallel que distribui os vetores por m ltiplos processadores e ent o os c lculos s o atribu dos de acordo com o vetor de elementos mais relevante para o processador Um pr processador gera o c digo de distribui o de dados que varia de acordo com a plataforma a partir de diretivas em programas implementados em C ou Fortran Data parallel pode ser implementada com MPI Message Passing Inteface e em sistemas de mem ria compartilhada com bibliotecas de threads Um exemplo de linguagem que usa este paradigma o High Performance Fortran HPF que integra diretivas data parallel na linguagem do core e do compilador Outro tipo de comunica o utilizado em sistemas de mem ria distribu da o ren dezvous 7 No rendezvous um processo faz uma chamada de entry uma requisi o para um outro processo que deve executar uma chamada de accept para tal entry devolver se o 4 10 3 130 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado uma resposta Se o processo que deve executar o accept n o puder faz lo o processo que efetuou a requisi o entra em uma fila e suspenso at que se possa dar o accept Assim processos trocam par metros e executam regi es cr ticas e os mecanismos de exclus o m tua e sincroniza o de tarefas reduzem o n mero de primitivas necess rias As linguagens Ada e Concurrent C utilizam rendezvous e geralmente n o
36. rico espera se que o aluno esteja familiarizado ambiente computacional de alto desempenho e compiladores paralelos para as seguintes plataformas IBM Blade Cell QS21 SUN Fire 10000 Estaremos introduzindo o desenvolvimento de aplica es com o paradigma da programa o CELL A vantagem da utiliza o deste paradigma a interface com usu rio em termos de ambiente de desenvolvimento integrado com IBM full System Simulator para o processador CELL O simulador dispensa qualquer plataforma mas como a inten o obter ganho de desempenho nas aplica es h suporte para simula o em plataforma real IBM Blade Cell ou PS3 161 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Conte do 1 Introdu o aos Sistemas de Alto Desempenho do PAD Vis o Geral do Sistema Kyoto IBM Blade Cell QS 21 Vis o Geral do Sistema Danger SUN Fire 10000 Requisitos de Software 2 Introdu o Programa o Paralela Introdu o Programa o MPI Introdu o Programa o OpenMP Laborat rio MPI Hands on Laborat rio OpenMP Hands on T cnicas de Compila o e Otimiza o 3 Laborat rio de Fundamento sobre Equa o de Jacobi Introdu o sobre Equa o de Jacobi Exerc cio 1 Entender a sintax do algoritmo C C e compilar na arquitetura HPC Exerc cio 2 Compilar o algoritmo OpenMP do Jacobi Exerc cio 3 Paraleliza o de Mem ria Distribu da Algoritmo MPI do Jacobi 4 Programa o
37. uma unidade aritm tica de soma e de subtra o e um circuito para estender o sinal 173 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado do operando de 11 para 16 bits A principal diferen a entre a UCP das duas organiza es est no uso do registrador IR no Controle A organiza o de Harvard dispensa esse registrador pois a mem ria de instru o mant m em sua sa da a instru o corrente J a organiza o de von Neumann precisa do IR pois ap s a busca da instru o a mem ria pode ser utilizada com fonte ou destino de alguma opera o As duas organiza es n o incluem o registrador STATUS no Caminho de Dados pois o conjunto de instru es do BIP I n o possui instru es que analisem esse registrador Al m das organiza es ilustradas outras varia es podem ser implementadas Por exemplo adicionando o registrador IR organiza o Harvard e com as devidas modifica es no bloco de decodifica o pode ser constru da uma organiza o com um pipeline de dois est gios sobrepondo a busca e a execu o de duas instru es subsequentes assim como feito nos microcontroladores PIC da Microchip 2003 A Figura 6 6 apresenta um detalhamento da organiza o Harvard monociclo Nela podem ser observados os multiplexadores de sele o do Caminho de Dados os sinais de controle gerados pelo Decodificador e a largura dos canais que interligam os componentes Os circuitos utilizados na
38. 10 00 0 00 0 00 0 00 Muito Ruim Ruim Regular Muito Boa Figura 16 Qaulidade dos videos segundo os alunos Uma vez que a principal inten o ao gravar os v deos fornecer aos alunos um material extra para estudo uma vari vel importante a ser medida a introdu o de alguma forma de indexa o dos v deos permitindo que os alunos naveguem mais facilmente para o trecho desejado A figura 17 ilustra que 81 dos alunos acharam que importante ter alguma forma de indexa o mostrando assim que agrande maioria realmente n o est interessada em utilizar o v deo como substituto da aula e sim consultar partes deste para esclarecimento de d vidas Import ncia da Indexa o dos V deos 50 00 p 45 45 45 00 40 00 34 55 35 00 30 00 25 00 20 00 14 55 15 00 z 0 anor 3 60 o A IC J 0 00 Sem Pouco Neutro Importante Muito Import ncia Importante Importante Alguma Figura 17 Import ncia da indexa o dos v deos para busca 24 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Apesar dessa tend ncia de utiliza o de partes do v deo para revis o alguns alunos utilizaram o v deo como substituto da aula toda em alguns casos especiais A figura 18 mostra que 26 dos alunos que tinham que faltar a uma aula preferiram faz lo nessa mat ria Alunos que tinham compromissos pessoais como co
39. 2008 Ap s um breve hist rico da evolu o dos jogos eletr nicos e da contextualiza o desse mercado o problema prop e a seguinte situa o a empresa para a qual os alu nos trabalham pretende lan ar jogos com temas regionais e educacionais e precisa que 62 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado a equipe de P amp D fa a um levantamento de requisitos para entrar neste mercado Como arquitetura alvo proposta a arquitetura PlayStation 2 em fun o de sua base instalada O problema sugere que a equipe elabore um levantamento das caracter sticas ar quiteturais desse console e sua forma de programa o com consider vel n vel de deta lhamento Foi fornecido um diagrama b sico dessa arquitetura como mostra a Figura 2 6 Hennessy amp Patterson 2008 Como produto foi solicitado que os alunos preparassem um semin rio com no m ximo 30 minutos dura o Nesse semin rio a equipe al m de apresentar os resultados obtidos deveria responder a quest es levantadas pela audi ncia ou seja tutores e colegas dos outros grupos tutoriais Mecanismo Emotion Sintetizador gr fico f N cleo de CPU Ai Unidade Unidade Soa ieee vetorial 0 vetorial 1 300 MHz c SIMD J pips ae VPU VPU i s IL 16 processadores 64 bits 150 MHz de pons paralelos 150 MHz 512 Barramento de 128 bits 150 MHz 1 024 bits NTSC PAL
40. A R et al Evaluating non deterministic multi threaded commer cial workloads Computer Architecture Evaluation using Comercial Workloads 2002 31 ALAMELDEEN A R WOOD D A Variability in architectural simulations of multi threaded workloads In Proceedings HPCA Int Symp on High Performance Computer Architecture S 1 s n 2003 p 7 18 110 Cap tulo 4 Modelos para Programa o em Arquitetura Multi core Alfredo Goldman USP gold ime usp br Alberto Hideki Ueda USP alberto ueda usp br Camila Mari Matsubara USP camila matsubara O usp br Jo o Paulo dos Santos Mota USP joao mota Qusp br Abstract Given the ease of reaching the physical limits of performance computing parallel tasks on multi core processors is a natural way for technological development In this sense learning new paradigms becomes essential In this chapter we guide this study based on Programming Models tools that intermediate building software and its implementation in parallel A programming model is an interface that provides mechanisms for control over parallelization system We describe the models classified according to the criteria of level of abstraction In addition we present the advantages and disadvantages of each class and some implementation examples Finally we discuss the influence of the approach in teaching parallel programming as well as paths for which parallel computing probably will follow Resumo Di
41. Academic Publishers 2000 COMPTON K Configurable computing A survey of systems and software Northwestern University Dept of ECE 1999 Relat rio t cnico HUTCHINGS B L Implementation approaches for reconfigurable logic applications In Moore W editors FIELD PROGRAMMABLE LOGIC AND APPLICATIONS 1995 Springer Verlag Berlin 1995 p 419 428 GUCCIONE S A Design advantages of run time reconfiguration In Schewel J et al editors RECONFIGURABLE TECHNOLOGY FPGAS FOR COMPUTING AND APPLICATIONS PROC SPI 3844 1999 Anais Bellingham WA SPIE The International Society for Optical Enginnering 1999 p 87 92 Nesta disciplina os alunos demonstraram um interesse muito grande na utiliza o de dispositivos l gicos program veis para implementar os projetos de pesquisa relacionados com suas respectivas disserta es e teses Atrav s dos laborat rios propostos foi poss vel aplicar a metodologia de projeto com o aux lio de ferramentas de desenvolvimento atuais Os exemplos pr ticos foram muito teis na fixa o dos conceitos apresentados nas introdu es te ricas A verifica o de novas arquiteturas foi realizada atrav s de simula es funcional e de tempo ap s a implementa o das mesmas no dispositivo l gico program vel FPGA 5 4 Proposta de Disciplinas z Uma das maiores contribui es deste cap tulo a proposta de duas disciplinas importantes para o curr culo de Arquitetura de Computadores da Es
42. Architecture A Hard ware Software Approach San Francisco USA Morgan Kaufmann 1999 22 PATTERSON D A HENNESSY J L Organiza o e projeto de computadores Second Rio de Janeiro Brasil Editora Campus 2005 23 BJERREGAARD T MAHADEVAN S A survey of research and practices of network on chip ACM Computing Surveys v 38 p 1 51 2006 24 JAIN R The art of computer systems performance analysis techniques for exper imental design measurement simulation and modeling New York USA J Wiley 1991 25 JOHN L K EECKHOUT L Performance Evaluation and Benchmarking Boca Raton USA Taylor amp Francis Group 2006 26 MAGNUSSON P et al Simics A full system simulation platform IEEE Computer Micro v 35 n 2 p 50 58 Feb 2002 ISSN 0018 9162 27 SIMONG Inaccurate Simulation Simics Forum 2007 Disponivel em lt https www simics net mwf topic_show pl pid 55029 gt Acesso em agosto 2008 Dispon vel em lt https www simics net mwf topic show pl pid 55029 gt 28 VIRTUTECH SIMICS Simics 3 0 User Guide for Unix s n 2007 Dispon vel em lt http www simics net gt Acesso em junho 2008 Dispon vel em lt http www simics net gt 29 THOZIYOOR S et al A comprehensive memory modeling tool and its application to the design and analysis of future memory hierarchies In Proceedings ISCA Int Symp on Computer Architecture S 1 s n 2008 p 51 62 30 ALAMELDEEN
43. CORBA 20 Diante da diversidade de hardware e software que encontramos atualmente e da dificuldade de compatibilidade a CORBA atua de modo que seus objetos os compo nentes de software que s o disponibilizados pelo padr o possam se comunicar de forma transparente para o desenvolvedor mesmo que para isso seja necess rio interoperar com outro software em outro sistema operacional e em outra ferramenta de desenvolvimento interoperabilidade local ou remota entre aplica es CORBA um dos modelos mais populares de objetos distribu dos juntamente com seu maior concorrente o DCOM Dis tributed Component Object Model tecnologia propriet ria da Microsoft O surgimento deste padr o datado de 1991 mas a vers o 2 0 foi disponibilizada em 1994 CORBA utiliza a IDL Interface Definition Language uma linguagem baseada em C e usada para definir a interface de um objeto que composta pelas opera es que esse objeto oferece assim como os seus tipos de dados Diferentemente de linguagens de programa o a IDL n o tem comandos condicionais ou de repeti o uma linguagem puramente declarativa Logo os objetos n o s o implementados em IDL mas apenas definidos Isso garante a independ ncia da interface dos objetos de qualquer linguagem de programa o A IDL d suporte a tipos simples n meros inteiros caracteres strings a tipos complexos enumera es exce es e at a heran a m ltipla Existe tamb m uma
44. Computadores educa o ensino e aprendizado 1 int prefixsums int x 2 int i left right 3 bsp_pushregister amp left sizeof int 4 bsp_sync 5 right x 6 for i 1 i lt bsp_nprocs ix 2 7 if bsp pid i lt bsp nprocs 8 bsp put bsp pid i amp right amp left O sizeof int 9 bsp sync 10 if bsp pid gt i 11 right left right 12 13 bsp_popregister amp left 14 return right AS a As chamadas bsp_pushregister e bsp_popregister s o necess rias para que cada processo possa acessar pelo nome vari veis armazenadas em um heap ou pilha em pro cessos remotos 4 6 2 LogP Outro tipo de abordagem o LogP mais detalhes sobre esse modelo em 16 que usa threads com contextos locais atualizadas por meio de comunica o global Entretanto LogP n o tem um barramento de sincroniza o de ponta a ponta isto que alcan a todas as threads O LogP prop e ser um modelo abstrato capaz de capturar a realidade tecnol gica da computa o paralela Este modelo de computa o paralela usa quatro par metros L o g e P da o nome do modelo lat ncia L overhead o largura da faixa de comunica o gap g e o n mero de processadores P 11 Um conjunto de programas foi projetado com o modelo LogP e implementados na m quina paralela CM 5 para avaliar a utilidade do modelo Por m foi comprovado que o modelo LogP n o mais poderoso que BSP O CM 5 Conne
45. Computadores educa o ensino e aprendizado temas de Mem ria Mecanismos de Entrada e Sa da e Semin rios Cada caso engloba tr s exemplos de problemas cada qual acompanhado pela descri o sucinta do produto esperado Ao final de um estudo de caso s o detalhados os conceitos explorados pelo conjunto de problemas assim como as dificuldades encontradas em seu desenvolvimento e os resultados obtidos pelos alunos 2 4 1 Caso 1 Projeto de um Processador Este caso abrange problemas referentes ao projeto de um processador os quais s o relati vamente complexos para um aluno de segundo semestre uma vez que exigem o estudo e a aplica o de conceitos n o vistos ou pouco abordados at ent o envolvendo aspectos arquiteturais linguagens de descri o de hardware e ferramentas de EDA 2 4 1 1 Exemplo 1 Processador Seqiiencial Este problema apresentou diferentes vers es de forma a ser aplicado a turmas distintas Em sua primeira vers o foi solicitada a implementa o de um processador em FPGA usando VHDL com as seguintes caracter sticas arquitetura microprogramada capaci dade de endere amento de 64 kbytes de mem ria principal opera es em 8 bits 4 regis tradores de prop sito geral sendo um deles o acumulador conjunto de instru es Tabela 2 4 modos de endere amento e formatos de instru es fornecidos Figura 2 3 Modo de endere amento imediato immediate addressing mode operando constante immedi
46. Ee A O 10 00 t L 5 2 13 4 26 0 00 L o fi q Muito Distra do Neutro Concentrado Muito Distra do Concentrado Figura 8 Aten o dos alunos durante as aulas ativas e colaborativas Uma porcentagem alarmante dos alunos 51 disse ter se sentido mais distra da nessas aulas em compara o a aulas tradicionais Acredita se que a rela o alunos por Tablet PC especialmente elevada nessa classe de 1 Tablet PC para cada 4 alunos a principal causa de tal distra o Os Tablet PCs foram utilizados numa sala de aula tradicional com cadeiras e mesas individuais dispostas em linhas e colunas H uma sala especial na Unicamp equipada com mesas e cadeiras que permitem uma melhor disposi o dos alunos permitindo assim uma melhor intera o entre os grupos de alunos Nessa sala no entanto os alunos que se sentavam mais ao canto tinham alguma dificuldade para trabalhar com seus colegas Alguns coment rios dos alunos ilustram que estes tiveram uma vis o semelhante do problema ais Tablets para diminuir a divis o do tempo de uso entre alunos e cadeiras para melhor apoiar ou mesas o Tablet Acho que um maior n mero de Tablets dispon veis sanaria o problema da distra o causada Sala grande atrapalhou o uso do Tablet PC pois ficaram muito espa ados os alunos As aulas com o Tablet PC foram muito boas apesar de facilitar a distra o Poderia haver um aumento no n mero de Tablet PC
47. MPI Message Passing Interface Protocolo PVM Parallel Virtual Machine Formas de programa o de clusters Sistemas operacionais Linux versus Windows para clusters Paralelismo ILP DLP Data Level Parallelism e TLP Task Level Paralle Instruction Level Pa lism rallelism bases remontam ao projeto do referido curso o primeiro no pa s a ter o curr culo base ado na metodologia PBL Neste curso com prazo de integraliza o em 10 semestres os estudos integrados nos quais o m todo PBL obrigatoriamente empregado representam cerca de 30 da carga hor ria total de 4345 horas Em rela o aos demais componentes curriculares do curso as disciplinas das reas de matem tica f sica e qu mica s o leci onadas de forma tradicional ao passo que as disciplinas optativas e os projetos anuais 3 no total apresentam varia es de m todos did ticos inclusive h bridos com PBL de acordo com as especificidades de cada disciplina O fato de um curso na rea de Engenharia estar baseado em uma metodologia pouco aplicada a cursos nesta rea acarreta conseq ncias opostas Por um lado dificulta a aquisi o de referenciais te ricos mais espec ficos rea por outro potencializa a troca de experi ncias atrav s de resultados concretos obtidos no exerc cio da metodologia esta troca de experi ncias ocorre em um primeiro momento dentro do pr prio curso De forma geral os pro
48. Virtutech para download e devem ser colocados em pasta especifica dentro da instala o do Simics J as instala es feitas pelo usu rio costumam ser do tipo disk e essas precisam apenas ser copiadas para dentro do workspace do usu rio para que comecem a funcionar 97 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Al m desses dois tipos de arquivos de imagem o aluno pode ainda gerar c pias de seguran a durante a simula o seja do estado persistente do disco r gido ou de todo contexto simulado registradores disco mem ria etc Para a grava o de estados persistentes importante que o disco a ser salvo esteja sincronizado ou seja todos os dados devem sofrer um write back para o disco r gido e ent o se pode utilizar os comandos save persistent state para gravar ou load persistent state para carregar o estado do disco r gido da m quina simulada No Linux por exemplo o aluno pode fazer a sincroniza o como o comando sync ou ent o desligando a m quina simulada Para a cria o de checkpoints das m quinas simuladas com todos dados da exe cu o deve se utilizar os comandos write configuration para salvar e read configuration para carregar o ponto de restaura o salvo No entanto esse modo de salvamento n o permite que a arquitetura seja modificada pois isso poderia criar inconsist ncias na sim ula o Como esse recurso de cria o de estados persistentes a prepara
49. a ess ncia da aula Equipados com Tablet PCs os docentes precisam apenas de dispositivos que permitam a captura e grava o da tela de seu desktop e do udio Esse m todo em contrapartida grava o de aulas usando c meras convencionais tem a vantagem de ser extremamente barato e simples A presen a de c meras de boa resolu o e uma equipe de grava o dispens vel uma vez que o docente pode capturar o conte do que antes seria exposto no quadro negro diretamente no seu Tablet PC A taxa de captura de quadros pode ser extremamente baixa cerca de 2 a 5 quadros por segundo uma vez que n o necess rio capturar os gestos do docente Isso traz outro benef cio indireto que a gera o de v deos com uma baixa taxa de bits Os v deos ficam com um tamanho final diminuto se comparados aos v deos de aulas capturados com c meras tendo assim requerimentos de banda de transmiss o extremamente relaxados fazendo com que tanto o seu upload para um servidor quanto a visualiza o pelos alunos seja muito r pida Um software que comumente utilizado na gera o de screencasts o Camtasia Studio Ele permite que o docente grave sua tela e seu udio podendo gerar ao final da aula um arquivo de v deo no formato escolhido O Camtasia suporta a maioria de codecs Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado populares como flash video e windows media video sendo escolha do docente o formato mai
50. aprendizado de arquitetura de computadores Deste modo os alunos percebem que a arquitetura de computadores n o est relacionada somente com os aspectos do hardware dos computadores Finalmente as atividades desenvolvidas podem ser complementadas com a apresenta o de novas defini es do termo arquitetura de computador mostrando que o termo relacionado com aspectos sist micos do software e do hardware do computador E tamb m que os conhecimentos de arquitetura s o essenciais para o projeto e o desenvolvimentos de algoritmos e softwares de melhor desempenho e qualidade Finalmente observa se que muito sen o a maioria dos professores que lecionam as disciplinas diretamente relacionadas com Arquitetura de Computadores n o s o especialistas n o realizam pesquisas na rea e possuem forma o semelhante a muitos professores das demais disciplinas Este fato muito grave principalmente pelo risco de prejudicar simultaneamente os aspectos de motiva o e qualidade do aprendizado Existem impactos negativos nos t picos e conte dos que normalmente s o ensinados e aprendidos nas disciplinas diretamente relacionadas com a arquitetura de computadores mas acredita se que os maiores impactos negativos est o relacionados com os aspectos metodol gicos utilizados nessas disciplinas Al m disso um outro impacto negativo o aprendizado de arquitetura de computadores de modo pouco integrado com o desenvolvimento de software
51. arquiteturas paralelas dos processadores com m ltiplos n cleos e tamb m as diversidades das arquiteturas paralelas dos sistemas de computa o envolvendo de modo isolado e integrado os elementos de processamento os elementos de armazenamento e os elementos de comunica o Aprendizado dos t picos de modo integrado com atividades de projeto e desenvolvimento de algoritmos e softwares com diferentes requisitos funcionais e requisitos n o funcionais para execu o em diferentes classes de sistemas de computa o Neste contexto os alunos s o motivados a tomadas de decis o relacionadas com os modelos de computa o e com as arquiteturas de sistemas de computa o mais indicadas para a solu o computacional de cada problema 7 6 Conclus es De modo global espera se que este cap tulo seja utilizado como texto de refer ncia sobre a origem evolu o e atualidade do termo Arquitetura de Computadores e como texto de suporte para an lises e reflex es sobre a educa o em Arquitetura de Computadores e indiretamente sobre a pr pria arquitetura de computadores Apresentou se neste cap tulo uma an lise da origem e da evolu o ao longo dos anos das principais defini es do termo Arquitetura de Computador que foram apresentadas na literatura Pretende se futuramente a prepara o de uma vers o mais elaborada dessa an lise no formato de um artigo que ser submetido para um peri dico da rea de arquitetura de c
52. atividades docentes influenciados pelos conhecimentos aprendidos e pelas cren as inicialmente constru das na poca em que eram alunos Deste modo observa se uma maior dificuldade para alterar o significado do termo e minimizar os seus impactos na qualidade do aprendizado dos alunos dos per odos anteriores pois inicialmente deve se alterar o significado do termo e a conduta dos seus professores das demais disciplinas Estes fatos indicam a necessidade de desenvolver se atividades espec ficas para e com os professores das demais disciplinas e especialidades da computa o no curto prazo para minimizar os impactos negativos e inicialmente aumentar o interesse e a motiva o dos professores no aprendizado e uso aplicado dos conhecimentos de arquitetura de computadores nas suas especialidades para posteriormente minimizar os impactos negativos sobre os alunos durante essas disciplinas Entretanto a es e atividades podem ser propostas pelos professores de arquitetura de computadores aos professores dessas disciplinas anteriores Na se o 7 5 algumas dessas atividades s o indicadas 202 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 3 2 Impactos do significado do termo nas disciplinas diretamente relacionadas Arquitetura de Computadores Nas disciplinas diretamente relacionadas arquitetura de computadores observa se que normalmente os professores apresentam e os alunos aprendem os t picos ou
53. ativo e colaborativo fato not rio que dispositivos de entrada como mouse e teclado foram elaborados de forma a valorizar a produtividade Sendo assim notebooks apesar da mobilidade tamanho de tela e poder computacional n o traziam muitos benef cios quando utilizados nesse ambiente pois falta lhes o principal elemento criativo papel e caneta Estes podem ser considerados como uma esp cie de extens o de nosso c rebro sendo essenciais para o desenvolvimento de solu es criativas 2 Uma vez que h um dispositivo com um custo relativamente baixo come aram a surgir os primeiros aplicativos educacionais que visavam tirar proveito desse hardware sendo poss vel destacar dois deles em especial Classroom Presenter 1 e Dyknow Ambos t m uma base de funcionalidades semelhantes sendo o primeiro um projeto de c digo fonte aberto feito por alunos e professores da Universidade de Washington e o segundo Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Dyknow um software propriet rio que conta com mais op es de controle e seguran a que o Classroom Presenter A figura 3 ilustra a interface do software E Classroom Presenter 3 Instructor Disconnected Ele Edit View Tools Decks Student Help sije ojojn 0 7 s S n 4 2007 AMath mi DOE ae Draw a picture of yourself To sbre your gue test press ee Sacson 10 16 2007 matics Seminar Figura 3 Inte
54. atraso inicial para que os alunos pudessem ter acesso a ferramenta de simula o Por m a exig ncia logo no inicio do semestre de projetos bem descritos com objetivos claros facilitou a execu o dos trabalhos pelos alunos permitindo tamb m uma maior intera o com sugest es e criticas na etapa de proposta fazendo os alunos pensar sobre as metas reais e resultados esperados de maneira a fortalecer tamb m os conceitos 106 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Atividades Jan Fev Mar Abr Mai Jun Jul Pedido de Licen as X Prepara o de Discos Virtuais X Introdu o Disciplina Apresenta o Te rica do Simics Defini o do Projeto aos Alunos Apresenta o Pr tica do Simics Data Limite da Entrega dos Projetos X Apresenta o de Andamento dos Trabalhos X Apresenta o Final dos Trabalhos Atividade de Monitoria X X X IX Tabela 3 1 Cronograma de Atividades SI gt lt P lt PS P lt gt lt de metodologia cientifica A introdu o ao Simics e o suporte dado aos alunos se mostrou mais eficiente nesse segundo ano No entanto percebeu se a necessidade de introduzir o ambiente de simula o ainda mais cedo logo no in cio da disciplina mesmo antes do ensino te rico sobre arquiteturas paralelas Dessa forma os alunos ter o uma no o mais s lida do simulador e suas funcionalidades facilit
55. auxilia a melhorar a compreens o de conceitos relacionados aprendizagem inicial de programa o Entende se que ao reduzir o grau de abstra o envolvido com a aprendizagem de conceito ligados ao uso de mem ria opera es aritm ticas desvios e la os poss vel facilitar a aprendizagem dos alunos que em geral apresentam problemas em lidar com abstra es As rela es entre as abstra es estudadas nas disciplinas da rea de Programa o e sua representa o no n vel arquitetural do processador s o listadas na Tabela 6 9 Tabela 6 9 Rela es entre conceitos de Programa o e de Arquitetura suportadas pelo BIP Conceitos de Programa o Conceitos de Arquitetura de Computadores Vari vel Posi o na mem ria Constante Operando imediato na instru o Atribui o Acesso mem ria para leitura e ou escrita de em uma posi o Opera o aritm tica Utiliza o de unidade de soma subtra o Comandos com m ltiplas opera es Uso de uma instru o para cada opera o realizada Desempenho dos programas N mero de instru es na linguagem de montagem Papel do compilador Tradu o da linguagem de alto n vel para a linguagem de montagem A abordagem utilizada anteriormente exist ncia do BIP resumia se a uma breve explica o sobre o funcionamento de um computador ilustrando os componentes b sicos da arquitetura de Von Neumann e em seguida realizava se a introdu
56. chapter details the architecture of the BIP family of processors and discusses the results of its use in each of the courses mentioned Resumo Este capitulo apresenta os resultados de um experimento envolvendo diferentes disciplinas de um curso de gradua o em Ci ncia da Computa o relacionadas ao uso de uma fam lia de processadores simplificados a qual foi concebida para auxiliar na aprendizagem de conceitos de arquitetura de computadores A fam lia de processadores foi denominada BIP Basic Instruction set Processor e possui tr s vers es denominadas BIP I BIP II e BIP III com complexidades e recursos incrementais As diferentes vers es tornaram se um recurso did tico utilizado com enfoques diferentes nas disciplinas de Algoritmos e Programa o Circuitos Digitais Arquitetura e Organiza o de Computadores e Compiladores O cap tulo detalha a arquitetura da fam lia de processadores BIP e discute os resultados de sua utiliza o em cada uma das disciplinas mencionadas Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 6 1 Introdu o A compreens o do funcionamento da arquitetura do computador e de seu processador possui import ncia central na forma o dos alunos dos cursos de gradua o em Ci ncia da Computa o Al m de fornecer os conhecimentos b sicos para possibilitar a inser o do aluno no contexto da pesquisa e do desenvolvimento de hardware essa compreens o auxilia o entendim
57. complexidade do processador foi adotada uma arquitetura orientada a acumulador com caracter sticas derivadas da arquitetura dos microcontroladores PIC da Microchip 2003 No entanto algumas escolhas foram feitas no sentido de conferir uma regularidade arquitetural maior do que a desses microcontroladores nos quais as palavras de dado e de instru o t m tamanhos diferentes e a largura do campo de c digo de opera o pode variar para as diversas classes de instru o Essas escolhas foram baseadas na assertiva apresentada por Patterson e Hennessy 2005 de que quanto mais regular for a arquitetura de um processador mais f cil ser a sua implementa o Al m disso entende se que a regularidade tamb m favorece o entendimento da arquitetura do processador 168 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Disso foi realizada uma especifica o arquitetural de uma fam lia de processadores simplificados denominada BIP Basic Instruction set Processor contendo tr s modelos de processador cada um com suporte incremental ao entendimento de conceitos de Algoritmos e Programa o e oferecendo recursos adicionais para seu uso em outras disciplinas em uma abordagem interdisciplinar BIP I inclui apenas instru es de aritm tica e de acesso mem ria de dados tendo como foco o suporte ao entendimento de conceitos como n veis de linguagem constantes vari veis representa o de dados e de instru
58. da UEFS cujas m quinas na poca possu am processadores Pentium 4 Para isso um programa de teste em assembly deveria ser constru do 2 4 2 3 Exemplo 3 Esquemas de Endere amento A motiva o do exemplo 3 foi a necessidade que os sistemas multitarefa tem de desvin cular os endere os das instru es e dados relativos a um determinado programa de seus endere os absolutos O uso de esquemas de segmenta o e pagina o permitem ao sis tema operacional liberdade de alocar partes de um programa em execu o em regi es de mem ria que melhor lhe convier de acordo com o conjunto de programas em execu o num dado momento Foi apresentado no texto do problema o esquema de segmenta o e pagina o definido na arquitetura de 32 bits da Intel A 32 conforme as Figuras 2 4 e 2 5 A partir dessa arquitetura foi solicitado aos alunos que projetassem e implemen tassem os m dulos referentes ao esquema de tradu o de endere os virtuais em f sicos da arquitetura IA 32 Os m dulos deveriam ser codificados em VHDL e a implementa o ser feita no software de EDA Quartus II da Altera 2 4 2 4 Conceitos Trabalhados De forma geral os problemas do Caso 2 trabalharam com os conceitos expressos na Tabela 2 7 2 4 2 5 Dificuldades no Desenvolvimento Os principais problemas encontrados nos problemas do Caso 2 s o enumerados a seguir Compreens o dos conceitos envolvidos Uma vez que o texto do exemplo 2 n o apre sentava
59. data parallel s o paradigmas de particionamento mapeamento e comunica o que garantem o gerenci amento transparente da decomposi o e comunica o em modelos expl citos sendo pe as chaves para o in cio do entendimento desse tipo de arquitetura No paradigma message passing s o oferecidos mecanismos para troca de infor ma o de processos necessitando da utiliza o de sistemas de suporte run time para lidar com o uso de aplica es aloca o de processos trocas entre mensagens e objetos S o utilizadas opera es de send e receive para identificar processos endere os e mensagens Em sistemas de mem ria distribu da o message passing permite que sejam implemen tados programas eficientes Tais programas demandam detalhamento na paraleliza o por m este o modelo mais eficiente e que tamb m fornece suporte a outros modelos inclusive de mais altos n veis Em comunica o por shared memory assim como nas t cnicas de sistemas opera cionais com mem ria compartilhada s o utilizadas vari veis compartilhadas e sem foros Entretanto troca se a multiprograma o pelo multiprocessamento verdadeiro Como o programador precisa realizar a comunica o sincroniza o e mapeamento de processos particionamento distribui o e entrada e sa da de dados h maior dificuldade na explo ra o do paralelismo e no aprendizado sendo estes sistemas caracterizados como de baixo n vel No caso do estudo de aplica es num
60. de abstra o Outra tend ncia a utiliza o de modelos de abstra o intermedi ria que procuram esconder alguns detalhes mas ainda explorando o paralelismo ao m ximo gerando programas robustos e com desempenho previs vel Al m disso tamb m poss vel observar a crescente necessidade de caracter sticas como esca labilidade e interoperabilidade dos programas A primeira tend ncia pode influenciar positivamente no ensino no sentido de fa cilitar o aprendizado j que o aluno n o precisa lidar com os detalhes ao passo que a exig ncia do detalhamento faz com que o aluno conhe a os mecanismos por tr s do para lelismo e entenda melhor o que acontece com seu c digo Alguns modelos no entanto fogem desta tend ncia e conseguem fornecer um 143 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado desempenho previs vel e satisfat rio Esses modelos parecem mostrar o caminho para o desenvolvimento de linguagens com as caracter sticas necess rias para constru es de bons programas paralelos Assim os avan os no desenvolvimento de modelos paralelos tem convergido no sentido da simplifica o e facilita o Esse tipo de linguagem permite a expans o e maior populariza o do paralelismo dado que abstraem da complexidade da arquitetura Refer ncias 1 AHMED Shakil CARRIERO Nicholas GELERNTER David A Program Build ing Tool for Parallel Applications Princeton University 1994 pag
61. de mem rias cache privadas ou compartilhadas influencia no projeto do sistema uma vez que quest es sobre a implementa o do protocolo de coer ncia e consist ncia entre as mem rias al m da quantidade de portas de entrada e sa da necess rias na mem ria cache largura de banda de interconex o e rea do projeto s o afetados pelo modelo de organiza o de mem ria privada ou compartilhada 80 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Interconex o Interconex o Mem ria Principal Mem ria Principal a Mem rias cache privadas b Mem rias cache compartilhada Figura 3 3 Diagrama representando organiza es de mem rias cache apresen tando mem rias cache privadas 3 3 a e compartilhadas 3 3 b O desempenho do sistema tamb m pode ser influenciado pelo modo de compartil hamento de mem ria cache adotado uma vez que o compartilhamento poder favorecer o desempenho reduzindo o n mero de faltas quando os processadores que compartilham es tiverem trabalhando no mesmo conjunto de dados Por outro lado a quantidade de faltas de dados relacionadas ao conflito de endere os e capacidade pode aumentar se os dados em uso n o forem os mesmos nos processadores que compartilham a mem ria cache Juntamente com esse modelo de mem ria compartilhada entre v rios n cleos al gumas preocupa es foram inseridas durante o projeto de uma mem ria cache para os novos processadores com m l
62. de paralelismo vem dando lugar a uma abordagem diferente A fim de aumentar ainda mais o desempenho e ainda algumas vezes diminuir a pot ncia dissipada o uso de processadores com m ltiplos n cleos CMPs Chip Multi Processors 6 vem sendo consolidada 7 8 9 10 como uma boa abordagem para o aumento do desempenho de computa o 76 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Ainda com a t cnica de m ltiplos n cleos no mesmo chip nada impede que sejam utilizadas superescalaridade e SMT em cada n cleo mas nesses casos pode haver um aumento consider vel na rea do CMP em fun o da duplica o de registradores al m de outros componentes Em fun o desta nova abordagem de projeto os processadores com m ltiplos n cleos e que suportam m ltiplas threads tamb m s o conhecidos como CMT ou Chip Multithreading 11 12 3 2 1 Processadores Multithreading Nos projetos atuais de processadores um dos grandes objetivos a extra o m xima do desempenho Uma das formas est na explora o do paralelismo seja na execu o das instru es ou nos fluxos de instru es Nesse contexto podemos considerar que um fluxo de instru es uma thread e que uma thread um processo ou parte de um programa em execu o Se um processador suporta a execu o de m ltiplas threads 13 14 15 16 significa que esse processador capaz de executar fluxos de instru es diferentes Nesse
63. de um ambiente de simula o que propicie aos alunos e professores a explora o de diferentes configura es de arquiteturas e organiza o Para isso ser apresentado de forma descritiva como utilizar um ambiente de simula o completo em sala de aula al m das poss veis m tricas de avalia o de de sempenho que podem ser aplicadas A meta final difundir as experi ncias relacionadas ao uso de um simulador completo em sala de aula tendo como foco uma melhor forma o dos alunos para pr xima gera o de processadores many core Para isso os m todos apresentados foram definidos a partir do trabalho de pesquisa que visava a avalia o de mem rias cache compartilhadas em diferentes arquiteturas de processadores many core e dos resultados de avalia es dos trabalhos executados pelos alunos Este cap tulo organizado da seguinte forma A Se o 3 2 apresenta uma breve introdu o sobre arquiteturas de processadores multi core e many core A Se o 3 3 trar conceitos relacionados as arquiteturas de mem ria cache compartilhadas que ser o ob jeto de estudo desse cap tulo A Se o 3 4 ir apresentar um m todo para avalia o de mem ria cache compartilhadas A Se o 3 5 mostra a import ncia de ambientes de simu 75 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado la o de sistemas completos A Se o 3 6 foca principalmente na apresenta o do Simics A Se o 3 7 apresenta algun
64. diferentes processos o remetente e o destinat rio Quando um pro cesso chama um procedimento remoto de um outro processo o destinat rio executa o c digo do procedimento e devolve para o remetente os par metros de sa da Assim como rendezvous que ser apresentado mais a diante RPC uma forma de coopera o s n crona isto durante a execu o do procedimento o processo remetente bloqueado sendo reativado com o retorno dos par metros de sa da A sincroniza o total de RPC pode limitar o aproveitamento de um alto n vel de paralelismo entre os processos que comp em um programa concorrente Algumas linguagens baseadas neste mecanismo s o DP Cedar e Concurrent CLU 4 7 4 Linguagens de coordena o com contexto Linguagens de Coordena o com contexto estendem a ideia de Linda Um dos pontos desfavor veis de Linda que ela fornece um nico e global espa o de tuplas e portanto impede um desenvolvimento modular de software Um exemplo a linguagem Ease que inclui ideias de Occam Programas que adotam Ease possuem m ltiplos espa os de tuplas denominados contextos e podem ser vis veis a apenas algumas threads Como as threads que acessam um contexto especif co s o conhecidas estes contextos assemelham se a algumas das propriedades de Occam como canais Mais detalhes sobre Occam em 25 As threads le m e escrevem dados em contextos como se eles fossem espa os de tuplas de Linda Ease possui muitas proprie
65. discute individualmente sobre seu produto com o aluno que apresenta sua solu o e demonstra conhecimentos adquiridos O tutor diagnostica o aprendizado aponta defici ncias no aprendizado e esclarece pontos que n o foram tra tados durante os encontros tutoriais realimentando o processo de aprendizagem Neste momento o tutor deve fazer uma avalia o aplicando um conceito BB que varia de O at 5 conforme apresentado na Tabela 2 2 O conceito O aplicado ao aluno que de monstra ter adquirido todos os conhecimentos de acordo com os objetivos que deveriam ser atingidos pelo problema e 5 para o aluno que n o conseguir atingir nenhum dos conhecimentos propostos com o problema Tabela 2 2 Composi o de notas Elementos Pontua o Produto 10 0 Bate Bola BB de 5 0 at O Produto Corrigido PC 10 0 Nota final do produto PC BB 10 0 Desempenho nas sess es tutoriais 10 0 Em geral depois da avalia o do bate bola os alunos t m oportunidade de corrigir seu produto PC demonstrando o aprendizado dos pontos falhos apontados pelo tutor aprofundando a discuss o e compreens o destes e melhorando a avalia o dos produtos elaborados 47 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Na tabela 2 3 mostra se os principais pontos que devem ser observados pelo tu tor no processo de atribui o de nota referente solu o ou produto obtido pelos alunos Note se
66. dos alunos que devem ser encorajados a procurar a monitoria sempre que estejam com d vidas De um modo geral a metodologia cumpriu com o esperado Os alunos projetaram e desenvolveram uma arquitetura de processador multi core simularam esta arquitetura em um ambiente completo com sistema operacional rede e programas reais Al m disto os alunos ao final da disciplina conseguiram desenvolver e avaliar um programa paralelo para a arquitetura proposta 107 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 3 8 Conclus es Os processadores multi core e many core est o se tornando realidade e representam um novo paradigma em arquiteturas de computadores uma vez que esses diversos n cleos de processamento dispon veis nos atuais e futuros processadores devem tirar proveito do paralelismo no n vel de fluxo de instru es Nesse panorama o ensino de arquiteturas paralelas de grande import ncia para a forma o das futuras gera es de cientistas da computa o Esse ensino de arquiteturas paralelas deve envolver n o apenas os n cleos de processamento desses novos proces sadores mas tamb m todos os dispositivos que v o oferecer suporte adequado para o funcionamento desses n cleos de processamento Visando assim o ensino de arquiteturas paralelas esse cap tulo apresentou uma experi ncia de ensino de novas arquiteturas auxiliado por um ambiente de simula o completo Podemos observar qu
67. e no aprendizado de Arquitetura de Computadores Carlos Augusto Paiva da Silva Martins Resumo Neste cap tulo s o indicadas e analisadas algumas das principais defini es e significados do termo Arquitetura de Computador que foram apresentadas na literatura ao longo dos anos S o analisados os principais impactos do significado do termo nos processos de ensino e de aprendizado de arquitetura de computadores no Brasil apresentada uma proposta de defini o para o termo que considera de modo integrado e hier rquico as arquiteturas do sistema de computa o do software e do hardware S o apresentadas sugest es de atividades relacionadas ao ensino e aprendizado de arquitetura de computadores que utilizam as defini es e significados do termo de modo motivador e citados alguns resultados iniciais produzidos com a sua utiliza o Finalmente apresenta se a conclus o que possui uma discuss o dos ganhos produzidos pela utiliza o motivadora do termo e do seu significado Espera se que esse cap tulo contribua nos aumentos de interesse motiva o e qualidade no aprendizado da arquitetura de computadores Ao longo do cap tulo utilizam se perguntas para motivar estudos an lises reflex es discuss es e pesquisas Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 1 Introdu o No contexto geral da arquitetura de computadores um grande n mero ou at mesmo a maioria dos alunos dos cursos
68. em computadores que utilizam diferentes modelos de processadores que possuem diferen as em rela o hierarquia de mem ria cache e outros aspectos arquiteturais e de diferentes fabricantes 3 Avalia o de desempenho de programas paralelos fornecidos pelo professor da disciplina codificados utilizando se a linguagem C e a API OpenMP o prop sito de explorar os aspectos arquiteturais dos computadores como n mero de n cleos mem ria cache e pipeline Os programas devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos com diversos n meros de n cleos e que possuem outras diferen as arquiteturais em rela o hierarquia de mem ria e outros aspectos arquiteturais e de diferentes fabricantes 4 Modifica es nas diretivas OpenMP sugeridas e orientadas pelo professor da disciplina usando estudos dirigidos e posterior avalia o de desempenho de programas paralelos codificados utilizando se a linguagem C e a API OpenMP Os diferentes programas modificados devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas e de diferentes fabricantes 5 Desenvolvimento de programas paralelos simples orientados pelo professor da disciplina e posterior avalia o de desempenho de programas paralelos desenvolvidos utilizando se a linguagem C e a API OpenMP Os programas desenvolvidos s o
69. em grade de 128 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado c lulas Figura 4 3 DPU s o similares a Unidades de Processamento Central CPU Cada c lula compartilha a informa o com suas vizinhas imediatamente depois do pro cessamento Analogamente s din micas sist licas do cora o computadores sist licos realizam opera es de maneira r tmica incremental e repetitiva e passam dados para c lulas vizinhas ao longo de uma ou mais dire es Em particular cada elemento computa um resultado incremental e o computador sist lico deriva o resultado final interpretando os resultados parciais de todo o array input data streams ee ee E ee gr pa a pipe inp i gt E y es 5 B soru horu a vao y Li E Lz g Em ra S lpr pra Fria DPL i E Eu BA co PL pl DP pO Ta lec e E PEHE ouput data streams Figura 4 3 Array Sist lico Fonte 27 Um programa paralelo com um array sist lico deve especificar como as infor ma es s o mapeadas nos elementos sist licos e o fluxo de informa es atrav s dos ele mentos Arrays de alto n vel program veis permitem o desenvolvimento de algoritmos sist licos por meio da defini o de paralelismo inter e intrac lulas e a comunica o en tre as c lulas O princ pio de comunica o r tmica diferencia arrays sist licos de outros computadores paralelos e a programabilidade de alto n vel deste mode
70. em todas as mem rias cache que possuem a c pia de cada dado Assim n o existe nenhum diret rio centralizador Geralmente todas as mem rias cache encontram se em um mesmo barramento e todos espionam snoop a movimenta o no barramento no caso de alguma outra mem ria possuir c pia de blocos solicitados Como em diversos projetos de multiprocessadores as mem rias cache est o conec tadas a uma nica mem ria principal interconectadas por um barramento os protocolos de coer ncia de mem ria cache mais populares s o os baseados na t cnica de snooping pois tiram proveito da infra estrutura pr existente Como exemplo desse tipo de proto colo pode se citar o protocolo MESI 5 sendo que o nome MESI v m das iniciais dos estados poss veis de um dado durante opera o modified exclusive shared e invalid Os pontos chave 21 de um barramento que possui suporte coer ncia s o que todas as transa es devem ser vis veis para todos os controladores de mem ria cache Assim cabe ao protocolo de coer ncia garantir que todas as transa es de mem ria apare am no barramento e que todos os controladores fa am as a es necess rias ao verem transa es relevantes 3 3 3 Modelos de Consist ncia Os modelos de consist ncia de mem ria cache tratam o grau de consist ncia que dev er existir no sistema apresentando solu es sobre quando um valor atualizado em uma mem ria cache qualquer dever ser vis vel aos outros
71. ensinado Para medi o do impacto dos alunos foram utilizados question rios baseados em outros que j vinham sendo utilizados em trabalhos anteriores adaptados s necessidades da avalia o nessa disciplina O principal objetivo desses question rios era obter informa es quantitativas e qualitativas sobre a metodologia de apresenta o do curso o grau de impacto das aulas ativas e colaborativas no aprendizado dos alunos os h bitos de estudo fora da classe e a aceita o do Tablet PC por parte dos alunos 4 Resultados Ao fim do semestre foram aplicados os question rios referidos na se o anterior Apesar do custo do equipamento n o ser proibitivo sabe se que nem toda institui o de ensino pode dispor de verba suficiente para montar um laborat rio que suporte a realiza o de aulas ativas e colaborativas conforme descrito neste cap tulo Para tanto a an lise de resultados est dividida em quatro subse es As duas primeiras ir o analisar os par metros pertinentes utiliza o de Tablet PCs nas aulas ativas e colaborativas sendo a primeira referente avalia o feita pelos alunos e a segunda a avalia o feita pelo docente permitindo assim que o leitor tenha uma clara vis o dos benef cios e desvantagens de se montar um laborat rio ou sala de aula com Tablet PCs As duas ltimas subse es a exemplo da primeira avalia o analisam os par metros pertinentes 14 Cap tulo 1 Arquitetura de Computado
72. espa o de endere amento compartilhado sem a preocupa o com a real aloca o de mem ria Isto requer refer ncias remotas de mem ria ou para ser com piladas em mensagens ou para ser ativadas por mensagens em tempo de execu o At aqui os resultados n o sugerem que esta abordagem escal vel 4 7 3 Linguagens funcionais com anota o Linguagens funcionais com anota o facilitam o trabalho do compilador permitindo aos programadores fornecer informa es extras sobre como particionar a computa o em partes e mape las Um exemplo deste tipo de linguagem Paralf uma linguagem funcional baseada em avalia o postergada Entretanto Paralf permite ao usu rio controlar a ordem de avali a o por anota es expl citas Em Paralf a comunica o e sincroniza o s o impl citas mas existe uma nota o de mapeamento para especificar quais express es ser o avaliadas em cada processador Uma express o seguida da anota o onproc ser analisada no processador identificado como proc Por exemplo a express o f x on self 1 h x on sel f 124 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado denota a computa o da sub express o f x em um processador vizinho em paralelo com o da execu o de h x Uma outra abordagem o mecanismo de Chamada de Procedimento Remoto RPC que uma extens o da chamada de procedimento tradicional Um RPC uma chamada entre dois
73. est o relacionados com a arquitetura do computador 4 Esta defini o independente do tipo e da complexidade do computador considerado como por exemplo um computador embutido um tablet um desktop um servidor ou um supercomputador 5 Existe alguma diferen a entre a Arquitetura do computador e a Arquitetura do hardware do computador ou s o a mesma coisa Se existem alguma diferen a ent o a arquitetura de um computador n o est relacionada somente com o seu hardware 6 Durante a execu o de um software aplicativo em um determinado computador a arquitetura desse computador pode influenciar o tempo de resposta vaz o e outras m tricas relacionadas ao desempenho computacional Finalmente destaca se que nas tabelas das reas do conhecimento a rea da computa o possui uma sub rea denominada Sistemas de Computa o e dentro dessa ltima existem especialidades denominadas Arquitetura de Computadores e Hardware Neste contexto de evolu o do termo Arquitetura de Computadores ao longo dos anos outros termos muito relacionados como Estrutura de Computador e Organiza o de Computador continuam sendo utilizados por m com menor enfase e destaque Al m disso tamb m surgiram e ou evolu ram outros termos relacionados como Arquitetura de Hardware Arquitetura de Software e Arquitetura de Sistema Entretanto n o encontramos defini es de destaque na li
74. exemplo a opera o rd Brasil 2X Portugal procura pelas tuplas que possuam tr s elementos em que o primeiro Brasil ltimo Portugal e o segundo um elemento do mesmo tipo que o X Por tr s destas tr s opera es b sicas Linda utiliza a opera o eval t que cria implicitamente um novo processo para avaliar a tupla e inseri la no Espa o de Tuplas As opera es de Linda separam as partes de recebimento e envio de informa o em uma comunica o a thread de envio n o lida com a thread de recebimento nem mesmo sabe se esta existe Este modelo requer do desenvolvedor o gerenciamento de threads mas reduz a carga imposta pela coordena o da comunica o Infelizmente um Espa o de Tuplas n o est necessariamente implementado com garantia de desempenho portanto tal modelo n o possibilita medi es de custo 123 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Outro ponto importante a metodologia de desenvolvimento de software Para tratar disto foi implementado um ambiente de programa o de alto n vel chamado Linda Program Builder LPB para dar suporte ao projeto e desenvolvimento de programas em Linda Este ambiente guia o usu rio para o projeto codifica o e monitoramento de programas e a execu o do software Linda Uma descri o completa do LPB encontrado em 1 4 7 2 Linguagens de comunica o sem mensagens Linguagens de comunica o sem mensag
75. ilustrada previamente na Figura 6 6 essa organiza o inclui os circuitos necess rios implementa o das instru es de desvio i um multiplexador na entrada do PC para permitir a carga do valor do operando e ii o registrador STATUS com os flags N e Z Unidade Central de Processamento Controle Decodificador Caminho de Dados Extens o de Sinal Opcode Operando BA STATUS vv Memoria de Instru es Addr Data Rd Wr Addr In Data Out Data Mem ria de Dados Figura 6 7 Organiza o monociclo do BIP Il baseada em uma arquitetura tipo Harvard 177 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 6 2 4 Arquitetura e Organiza o do BIP HI O BIP III estende o conjunto de instru es do BIP II adicionando nove instru es de l gica bit a bit as quais s o descritas na Tabela 6 6 Tabela 6 6 Conjunto de instru es estendido do BIP III Gas Instru o Opera o Classe 01111 NOT ACC NOT ACC L gica 10000 AND operando ACC lt ACC AND Mem ria operando Logica 10001 ANDI operando ACC lt ACC AND operando L gica 10010 OR operando ACC lt ACC OR Mem ria operando L gica 10011 ORI operando ACC ACC OR operando L gic
76. implementa o da UCP s o aqueles tipicamente estudados em disciplinas de Eletr nica Digital decodificador registrador somador somador subtrator multiplexador e mem ria A exce o bloco de extens o de sinal que converte o canal de 11 bits do operando para a largura da palavra do Caminho de Dados 16 bits Essa convers o feita pela atribui o do bit sinal do operando bit 10 aos bits 11 15 da interface de sa da do bloco Unidade Central de Processamento Controle Caminho de Dados Extens o de Sinal Decodificador WrPC E PC Opcode 5 11 16 Instru o VV Addr Data Rd Wr Addr In Data Out Data Mem ria de Instru es Mem ria de Dados Figura 6 6 Organiza o monociclo do BIP baseada em uma arquitetura tipo Harvard Vale destacar que as organiza es ilustradas n o incluem uma interface de E S No entanto por utilizar entrada e sa da mapeada em mem ria perif ricos e dispositivos de 174 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado E S podem ser facilmente acrescentados conectando os ao barramento da mem ria de dados 6 2 3 Arquitetura e Organiza o do BIP II O BIP II uma extens o do BIP I e possui as mesmas caracter sticas arquiteturais Ele foi especificado para suportar estruturas de controle usadas em des
77. inicialmente o termo arquitetura de computador Posteriormente deve se analisar o termo arquitetura na atualidade considerando as suas diversas utiliza es e os seus diferentes significados Finalmente deve se considerar e discutir as principais tend ncias futuras de utiliza o e de significado do termo arquitetura 7 4 2 Proposta de re defini o para o termo Arquitetura de Computador A recente transi o no paradigma de computa o predominante de computa o sequencial para computa o paralela produziu uma oportunidade sem precedentes para o in cio dos processos de revitaliza o e revaloriza o da rea arquitetura de computadores e da sua educa o nos diversos cursos da rea de computa o 205 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado Entretanto uma das etapas iniciais e fundamentais destes processos deve ser exatamente discutir e redefinir os principais termos envolvidos entre os quais podem ser destacados os termos computador e arquitetura de computador No contexto dessa redefini o surgem algumas perguntas iniciais que precisam ser analisadas discutidas e respondidas Entre as quais destacam se a Na pr tica para que serve o termo e quem precisa e utiliza o termo b Uma redefini o do termo arquitetura de computador realmente importante e necess ria c Quando esta redefini o deve ser realizada d Quem deve realizar esta
78. nos professores que ter o que deixar de ser o centro das aten es e fonte de conhecimento e passar a ser treinadores e facilitadores do processo de 38 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado aquisi o do conhecimento A aprendizagem torna se centrada do estudante em lugar de centrada no professor Felder amp Brent 2003 Komatsu et al 1998 A estrat gia do PBL tenta engajar estudantes em autenticas tarefas do mundo real para aumentar a efici ncia do aprendizado Os estudantes s o tipicamente organizados em grupos e enfrentam projetos com o instrutor fazendo o papel de treinador e facilitador No caso das engenharias cada time projeta e constr i um sistema completo Na medi cina os estudantes diagnosticam definem o tratamento e eventualmente acompanham o desenvolvimento do paciente Em administra o definem estrat gias preparam apresen ta es e relat rios sobre abordagens para problemas organizacionais Seja qual for a rea do conhecimento o ambiente de aprendizagem deve simular situa es profissionais nas quais os estudantes tenham que trabalhar com diferentes tipos de conhecimento Os projetos devem adotar uma ampla gama de habilidades n o somente aquelas relacionadas ao conhecimento ou quest es t cnicas mas tamb m habilidades pr ticas tais como e Deparar se com informa es imprecisas ou incompletas N o raro problemas do mundo real cont m uma quantidade insufi
79. o ensino e aprendizado Al m das ferramentas geradas com o aux lio do ArchC no mbito do trabalho de conclus o de curso no qual o uBIP foi desenvolvido tamb m foi implementado um modelo do microcontrolador na linguagem de descri o de hardware VHDL o qual foi sintetizado e prototipado em FPGA Field Programmable Gate Array O prot tipo f sico foi validado executando se as aplica es do Dalton Project O uso do BIP como refer ncia para este trabalho mostrou que apesar de suas limita es arquiteturais definidas de modo a favorecer o aprendizado a arquitetura do BIP pode ser estendida para incluir funcionalidades tipicamente encontradas em processadores comerciais O uBIP ainda n o foi aplicado em atividades de ensino Por enquanto est o sendo realizadas atividades de desenvolvimento no sentido de integrar perif ricos de comunica o serial ao microcontrolador No futuro pretende se utilizar a experi ncia obtida nesses desenvolvimentos para elaborar roteiros de projetos a serem realizados em disciplinas avan adas na rea de projeto de sistemas computacionais conforme j mencionado 6 3 6 2 BipIde Neste trabalho de conclus o de curso Viera 2009 Vieira Raabe e Zeferino 2010 foi implementada uma IDE para desenvolvimento de pequenos algoritmos em Portugol e sua convers o na linguagem de montagem do BIP A IDE inclui um simulador da arquitetura e da organiza o do BIP II que possibilita aos alunos testarem seus
80. o tenham ficado claros para os alunos Acessos nicos por aula po x x x a SY amp OJ amp amp gQ N Q O O O k A E K f 7 i s q 4 A A J xs 5 o TT ee ee Ye GR ee Pee SY Y Figura 22 Numero de acessos nicos para cada aula 4 4 Resultados do uso do Tablet PC para apresenta o da lousa e para grava o de screencasts vis o do docente O modelo adotado de screencast permite que os alunos assistam novamente exatamente a mesma aula que assistiram em sala Desta forma eles t m maior controle sobre a navega o nos videos movimentando para os momentos desejados das aulas e tirando d vidas espec ficas no momento que desejarem Um exemplo disto o padr o de acesso aos v deos o qual possui altas taxas de transfer ncia do servidor durante a noite e madrugada Tamb m sobre as taxas de transfer ncias do servidor poss vel distinguir as aulas mais assistidas e com isto fornecer mais exerc cios para sanar as d vidas dos alunos Outro ponto importante a considerar que o trabalho de grava o extremamente simples bastante um microfone de mesa e software para tal fim no Tablet PC 29 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado 5 Conclus es A utiliza o de Tablet PCs no ensino de Arquitetura de Computadores resultou num melhor aproveitamento do curso por parte dos alunos As mudan as introduzidas cumpriram seus objetivos principais que
81. openmp org wp about openmp l http supertech csail mit edu cilk Shttp kaapi gforge inria fr http www threadingbuildingblocks org 0https computing Ilnl gov tutorials parallel_comp DesignLoadBalance 141 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado 4 10 7 Processamento em GPU e CUDA As unidades de processamento gr fico mais conhecidas como GPUs do ingl s Graph ics Processing Units s o centrais respons veis por executar instru es descritas por um dado programa de computador assim como as CPUs Central Processing Units tradi cionais Por m dado seu alto poder de processamento e uma s rie de otimiza es as GPUs s o muito utilizadas na manipula o de imagens e gr ficos em diversas reas tais como simuladores cada dia mais realistas cinema e outras reas de entretenimento em sua maioria na ind stria de jogos S o encontradas em dispositivos espec ficos para processamento de v deo tais como placas de v deo ou ainda nas chamadas mother board placas m e de certos com putadores por m neste ltimo com um poder reduzido Quanto a sua organiza o interna existem algumas varia es dependendo de sua finalidade principal ou fabricante Podem possuir mem ria pr pria o que facilita acesso aos dados e otimiza as opera es ou podem compartilhar mem ria com a CPU da m quina o que pode causar perda de desempenho Sua arquitetura altamente paralela e seu poder d
82. processadores Embora a quest o sobre a consist ncia de dados na mem ria cache pare a trivial de um elevado grau de complexidade pois tratar a consist ncia de dados significa escol her o momento em que as vari veis devam ser atualizadas nas suas c pias Por m essa escolha envolve tamb m o algoritmo executado nos diversos processadores al m de ser um tratamento sobre condi o de corrida uma vez que pode haver disputa por recursos O modelo mais simples de consist ncia de dados o chamado consist ncia se quencial que implementado de forma simples e exige que um processador retarde a conclus o de qualquer acesso mem ria at que todas as invalida es causadas se com pletem Outro tipo de modelo tamb m difundido o modelo de consist ncia relaxado 22 que envolve o programador ao gerar programas paralelos e consiste em permitir que as leituras e grava es se completem fora de ordem mas requer o uso de opera es de sincroniza o para impor ordena o fazendo com que o programa seja sincronizado e comporte se como se estivesse em um processador mono processado 83 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 3 3 4 Interconex es Como os diversos dispositivos de um sistema processadores mem rias portas de entrada e sa da e demais dispositivos precisam se comunicar essa a tarefa das interconex es Algumas das principais caracter sticas de compara o en
83. programa o e implementa o dessas abstra es em hardware Por m os modelos de processadores tipicamente utilizados por professores de disciplinas introdut rias s o abstratos demais e n o permitem estabelecer essas rela es Uma alternativa seria utilizar modelos de processadores mais detalhados como aqueles adotados nas disciplinas espec ficas da rea de Arquitetura de Computadores e g MIPS x86 Por m esses processadores s o demasiadamente complexos para serem aplicados em disciplinas do primeiro ano e poucos s o os livros texto da rea 167 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado que os descrevem propiciando uma integra o entre a arquitetura do processador e a programa o em alto n vel Uma exce o o livro Organiza o e Projeto de Computadores de Patterson e Hennessy 2005 no qual os autores descrevem o processador MIPS com nfase na explora o da interface entre o hardware e software permitindo a interliga o dos conceitos apresentados com aqueles estudados nas disciplinas de programa o Essa abordagem favorece a interdisciplinaridade e a rela o entre os conceitos mais abstratos da programa o de alto n vel e a realiza o f sica do processador No entanto o pouco embasamento dos alunos nas fases iniciais torna inadequado o uso de processadores com o grau de complexidade do MIPS e alternativas mais simples podem e devem ser buscadas N
84. programas acompanhando as a es realizadas no n vel da organiza o do processador A Figura 6 11 mostrada na pr xima p gina ilustra a interface do Biplde cujos recursos s o descritos a seguir 1 Simula o apresenta os bot es que permitem ao usu rio controlar a simula o do programa e verificar sua execu o passo a passo incluindo as a es a seguir e Simular inicia a simula o de um programa e Pausar interrompe temporariamente a simula o do programa e Parar interrompe a simula o do programa e Continuar continua a simula o do programa at o seu final e Repetir repete a ltima instru o simulada e e Pr ximo simula a pr xima instru o do programa 2 Velocidade atrav s desta op o o usu rio pode controlar a velocidade com que ocorre a simula o do programa 3 Simulador de instru es o usu rio pode simular uma instru o espec fica do processador sem a necessidade de escrever um programa completo Para isso poder ser digitado o valor do operando no campo espec fico e pressionado o bot o correspondente instru o que dever ser simulada 4 Portugol exibe o programa Portugol que est sendo simulado Neste editor a linha do programa que est sendo simulada aparece destacada 189 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 1 Bipide lelak Programa o EF Sin Configura es Ajuda IE
85. qual o paralelismo t m conquistado cada vez mais destaque 24 No mundo real as a es e acontecimentos ocorrem de forma paralela Certos aspectos da cogni o humana s o paralelos como fazer duas coisas ao mesmo tempo por exemplo Como a programa o uma forma de express o das computa es do mundo real natural que estas possam ser elaboradas em m quinas paralelas e que se tenha maior interesse neste tipo de computa o No entanto o que ocorre que a maior parte dos programas s o escritos de forma sequencial e para que isso ocorra acaba se impondo uma ordem aos acontecimentos que na verdade s o independentes Uma consequ ncia dessa ordena o de eventos a com bina o de partes do c digo que exigem uma ordem de ocorr ncia e partes que s o inde pendentes Essa combina o dificulta o discernimento das rela es dos trechos do c digo atrapalhando o entendimento do programa e dificultando o aprendizado Al m do entendimento do c digo a ordena o artificial das a es tamb m inter fere na sua compila o sendo mais dif cil para o compilador perceber quais partes do c digo s o pass veis de troca de ordem de execu o e quais n o s o Aliada conveni ncia do paralelismo do mundo real a paraleliza o das com puta es tamb m traz a vantagem do maior desempenho Apesar da obten o deste de sempenho n o ser trivial existem reas que exigem essa melhora pois empregam grandes processa
86. quinas n o funcionam corretamente por falta da imagem do disco r gido Isso acontece pois essas imagens costumam ser bastante grandes e por isso a Virtutech disponibiliza os arquivos de imagem separados apenas na se o de downloads do site www simics net Dessa maneira ao fornecer a ferramenta de simula o aos alunos importante fornecer tamb m informa es sobre como conseguir essas imagens de discos que j pos suem um sistema operacional instalado Assim os alunos poder o avan ar mais rapida mente para a parte de modelagem e simula o diminuindo assim poss veis atrasos que essa etapa de instala o e configura o possa causar ao projeto Seguindo o exemplo da Virtutech que disponibiliza sistemas pr configurados para as m quinas a serem simuladas Os professores ou monitores da disciplina podem deixar imagens de sistemas prontos com as ferramentas b sicas necess rias aos alunos para que essa etapa n o consuma muito tempo do projeto Para a cria o dessas m quinas pr configuradas existem dois tipos de arquivos b sicos de imagem de discos r gidos no Simics os arquivos do tipo craff e os arquivos do tipo disk Esses dois tipos de arquivos s o gerados pelo pr prio simulador e podem ser gerados para qualquer sistema configurado de forma que os alunos podem apenas obter esses arquivos e conectar em suas simula es Os arquivos do tipo craff costumam ser de pacotes mais consolidados como os cedidos pela
87. redefini o e Como esta redefini o deve ser realizada No contexto das poss veis respostas uma an lise do estado da arte mostra que os pesquisadores e a pr pria comunidade cient fica diretamente relacionada com a arquitetura de computadores n o est interessada e n o tem se dedicado em termos quantitativos e qualitativos discuss o e ao processo de redefini o do pr prio termo Um dos in meros exemplos desta situa o a defini o Computer Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional performance and cost goals Computer architecture is not about using computers to design buildings apresentada no site WWW Computer Architecture Page 18 considerado o principal site relacionado com Arquitetura de Computadores Uma an lise dos problemas relacionados com os n veis de interesse motiva o e conhecimento dos t picos relacionados com arquitetura de computadores mostra que os principais impactos negativos produzidos pelas defini es do termo e seus significados ocorrem durante a gradua o dos futuros profissionais das reas da computa o Deste modo observa se que a discuss o e uma poss vel redefini o do termo dever ser realizada pelo menos inicialmente no contexto da comunidade diretamente envolvida e interessada na educa o em arquitetura de computadores Um aspecto importante aproveitar a possibilid
88. ria Interconex o de multiprocessadores gr ficos n cleos de processamento controladores de mem ria N cleos de processamento stream processing cores Arquitetura de Gi E 4 multiprocessadores Rupee BLANCO ACOS am Clusters de ULAs 8 Unidades de ponto flutuante processors Controladores de mem ria Interconex o de multipro Compartilhamento de mem ria cessadores gr ficos Interconex o de n cleos Redes de interconex o full crossbar mesh e ring de processamento contro ladores de mem ria Circuitos e dispositivos Canais de acesso mem ria de E S PCI Express LRF Local Register File Organiza o de mem ria SRF Stream Register File Mem ria global off chip Organiza o de dispositi Arranjos RAID vos de armazenamento es superficiais n o aprofundando t picos essenciais tais como sistemas operacionais formas de programa o e decodificadores embutidos Por fim o problema do exemplo 3 produziu apresenta es de n vel variado dentro de um mesmo grupo tutorial devido extens o do escopo o seccionamento dos t picos dentro de cada grupo promoveu uma perda significativa da compreens o geral Quanto aos tens apresenta o organiza o e tempo pode se observar a falta de articula o dos alunos em preparar uma apresenta o fechada coesa com delineamento adequado de conceitos e terminologia consistente ao longo da apresenta o 2 5 Conclus o
89. s o linguagens familiares ao estudante de programa o uma vez que Ada por exemplo foi desenvolvida para programas em tempo real e utilizada na avia o e em naves espaciais 19 4 9 2 Modelos Na decomposi o e comunica o expl citas podem ser utilizados paradigmas espec ficos ou gerais que s o de grande import ncia no ensino de tais modelos A maioria utiliza paradigmas espec ficos pois com a utiliza o de paradigmas gerais apesar de se obter desempenho garantido e medidas de custo s o exigidos maiores detalhes que dificultam a programa o e portanto exigem maiores esfor os no aprendizado O MPI Message Passing Inteface por exemplo uma ferramenta que faz uso de message passing troca de mensagens no desenvolvimento de programas paralelos O MPI pode ser aplicado s linguagens C C que frequentemente s o utilizadas em ambientes de ensino al m de Fortran 77 e 90 e usualmente empregado em computa o de alto desempenho Existem muitas implementa es e quase todo hardware possui su porte para MPI e muitos programas que o utilizam podem ser executados em diferentes plataformas sem a necessidade de se reescrever c digo Em Ada o paralelismo baseado em processos chamados tasks que se sincronizam por rendezvous A linguagem imperativa e orientada a objetos O seu compilador capaz de otimizar a sa da do programa mas para tanto requer maiores informa es sobre o c digo 19 Como exce
90. se executar uma dada aplica o em uma m quina real obter o seu IPC e ent o configurar no Simics fazendo uma configura o fina para a simula o Essa configura o tamb m pode ser utilizada em in meras experi ncias como por exemplo simula o de n cleos heterog neos onde um ou mais n cleos tem uma capacidade de computa o diferente dos demais Para suportar essas configura es de IPC tr s conceitos s o utilizados para simu la o step cycles e time O entendimento desses conceitos fundamental para alunos de arquiteturas e pode ser exercitado utilizando o simulador O n mero de steps nada mais que o n mero de instru es completadas ou ex ce es ocorridas Ou seja s o as instru es completadas somadas com as instru es que n o foram completadas por que alguma exce o ocorreu Onde cada instru o ir contar como um step A quantidade de cycles o n mero de ciclos executados desde que a m quina sim ulada foi ligada A quantidade de cycles e steps n o s o necessariamente iguais uma vez que uma instru o pode gerar eventos de alta lat ncia como acesso mem ria al m do que esse n mero pode ser influenciado tamb m pelo IPC configurado para o processador O time dentro do simulador n o influenciado pela m quina em que a simula o est sendo executada m quina hospedeira De forma que hospede e hospedeiro s o to talmente independentes Para a atualiza o do tempo dentro d
91. sentido inverso representam os avan os mais recentes e podem indicar tend ncias para o futuro 4 10 1 PRAM Parallel Random Access Machine ou PRAM como mais comumente conhecido con siste em um dos modelos de computa o paralela mais amplamente estudados servindo de base para diversos outros modelos tais como APRAM Asynchronous Parallel Ran dom Access Machine LPRAM Local Memory Parallel Random Access Machine 16 Devido sua ampla import ncia conceitual no estudo e desenvolvimento de algo ritmos eficientes PRAM se apresenta como um dos modelos mais importantes quando se tem como objetivo o ensino ou aprendizado de computa o paralela pois a teoria na qual ele se baseia d enfoque resolu o de problemas paralelos e seus algoritmos Entretanto alguns pontos presentes nesta teoria tornam PRAM um modelo de dif cil implementa o pr tica como veremos mais adiante Este modelo consiste em um conjunto de processadores trabalhando de forma sincronizada Figura 4 4 ou seja podem executar instru es independentes mas s o sincronizados antes de cada instru o processadores esses que possuem cada um uma mem ria local pr pria e uma mem ria global comum a todos Esta mem ria global compartilhada entre o conjunto de processadores sendo que existem diferentes protoco los para organizar o acesso Control Figura 4 4 Estrutura do modelo PRAM Fonte 15 S o alguns deles 134 Cap tulo 4 Ar
92. significativa Este cap tulo busca enfatizar 166 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado As diretrizes para elabora o da fam lia de processadores proposta 2 De que forma os conceitos foram trabalhados de maneira incremental nas diferentes disciplinas correlatas discutindo pontos positivos negativos e dificuldades 3 As ferramentas computacionais utilizadas e constru das para apoiar a aplica o da abordagem e 4 Os resultados do ponto de vista did tico Acredita se que por ser uma proposta que difere da abordagem tradicional de ensino na rea possua uma contribui o relevante para a comunidade interessada no ensino de Computa o como um todo O restante deste cap tulo est organizado em tr s se es A Se o 2 apresenta a fam lia de processadores BIP Basic Instruction Set Processor fazendo uma an lise introdut ria dos processadores existentes para o ensino de Arquitetura de Computadores e fundamentando a necessidade de concep o da Fam lia BIP Na sequ ncia a se o est dividida em quatro subse es que descrevem as caracter sticas gerais da Fam lia BIP e a arquitetura e a organiza o de cada vers o do processador A Se o 3 detalha as estrat gias conte dos organiza o did tica e ferramentas utilizadas para condu o de atividades de aprendizagem com a fam lia de processadores BIP Apresenta se uma descri o geral de como foi viabilizada a in
93. temos desenvolvidos atividades de avalia o de desempenho de programas paralelos onde os alunos utilizam estudos dirigidos para avaliar e analisar os impactos de otimiza es de c digo relacionadas com o n mero de threads utilizados e com a utiliza o eficiente das mem rias cache no desempenho dos programas paralelo A maioria dos alunos mostra se muito interessada e motivada no aprendizado dos detalhes das arquiteturas paralelas dos processadores com m ltiplos n cleos ap s a verifica o na pr tica e o entendimento dos ganhos de desempenho causados pela utiliza o dos conhecimentos das arquiteturas paralelas utilizadas na execu o dos programas Os alunos observam e entendem a import ncia do aprendizado dos t picos relacionados com a arquitetura de computadores mesmo e at principalmente para os alunos interessados principalmente ou somente no desenvolvimento de algoritmos e de software Deste modo conclui se que as atividades propostas com enfoque mais informativo que integram o desenvolvimento de software aplicativo avalia o de desempenho de software paralelo e arquitetura de computadores motivam os alunos ao in cio do estudo e do aprendizado dos t picos relacionados com arquitetura de computadores mesmo antes das disciplinas diretamente relacionadas com a arquitetura de computadores 7 5 1 2 Atividades interdisciplinares ou multidisciplinares anteriores Nos per odos iniciais dos cursos deve se envolver t picos da
94. the Eckert Mauchly Computers Stern 1981 Neste contexto inicial como analisado com mais detalhes na pr xima subse o a primeira utiliza o do termo Computer Architecture em um documento p blico foi no livro Planning a Computer System Project Stretch Buchholz 1962 7 2 2 Origem do termo Arquitetura de Computador Atualmente acredita se que o termo Arquitetura de Computador foi criado originalmente no idioma ingl s Computer Architecture e definido como Computer architecture like other architecture is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints Architecture must include engineering considerations so that the design will be economical and feasible but the emphasis in architecture is upon the needs of the user whereas in engineering the emphasis is upon 197 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado the needs of the fabricator e publicado inicialmente no cap tulo 2 intitulado Architectural Philosophy escrito por Frederick Phillips Brooks Jr do livro intitulado Planning a Computer System Project Stretch editado por Werner Buchholz Buchholz 1962 Recomenda se fortemente a leitura desse cap tulo 2 enfatizando se que outros termos tamb m s o utilizados ao longo dos cap tulos do livro Destaque especial para o c
95. um barramento pode ser visto de forma simplista como uma forma de compartilhamento de um conjunto de fios essa interconex o de baixo custo A forma cl ssica de um barramento apresenta dois conjuntos de linhas de comu nica o um conjunto de controle e outro conjunto de linhas de dados como ilustrado na Figura 3 5 As linhas de controle s o usadas para gerenciar as requisi es e confirma es al m de informar o tipo dos dados que est o trafegando nas linhas de dados As linhas de dados s o apenas linhas de propaga o de informa es entre origem e destino Mem ria Principal Figura 3 5 Diagrama de um barramento com canais de controle e dados interli gando processadores e mem ria cache a mem ria principal Como diversos componentes est o compartilhando um mesmo meio f sico do bar ramento o protocolo do barramento contido nas linhas de controle as quais implemen tam qual ser a pol tica de uso do barramento O barramento tamb m pode ser classificado como rede din mica de interconex o uma vez que a topologia de comunica o n o existe a priori 3 3 6 Matrizes de Chaveamento A matriz de chaveamento tamb m conhecida como crossbar ou crossbar switch possui um custo elevado por m tamb m simples Assim embora uma rede de interconex o possa ocupar grandes reas do projeto para interligar um grande n mero de dispositivos essa interconex o se mant m simples uma vez que ao adicionar novas p
96. uma cole o de processadores abstratos cada um com mem ria local conectados por uma rede de interconex o arquitetura de mem ria distribu da cujas ni cas propriedades de interesse s o e o tempo para fazer uma sincroniza o no barramento e o grau de velocidade com que dados constantes continuamente e aleatoriamente endere ados podem ser entregues g Esses par metros de BSP s o determinados experimentalmente para cada com putador paralelo 120 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Um programa abstrato de BSP consiste de p threads e dividido em supersteps 11 Cada superstep consiste de uma computa o em cada processador usando apenas valores mantidos localmente uma transmiss o de mensagem global de cada processador para qualquer conjunto de outros processadores e um barramento de sincroniza o Ao final de um superstep os resultados das comunica es globais tornam se vis veis no am biente local de cada processador Processors Local Computation Communication DSG aiia EEE Synchronisation Figura 4 1 superstep de um programa BSP figuras s o ferramentas poderosas no ensinamento de conceitos Fonte 24 Intuitivamente o tempo de cada superstep da ordem de o tempo dos c lculos locais mais o tempo de todas as comunica es mais o tempo da sincroniza o no barra mento Formalmente temos se a computa o local m xima em um passo demor
97. 00 5 00 2 13 0 00 0 00 i Muito Pior Pior Idem Melhor Muito Melhor Figura 11 Acesso ao professor para esclarecimentos de d vidas durante a aula Diretamente do gr fico poss vel notar que maioria dos alunos 62 achou que as aulas ativas e colaborativas permitem um acesso ao professor melhor ou muito melhor sendo que apenas uma parcela muito pequena 2 achou a nova abordagem pior em rela o ao acesso ao professor Conclui se ent o que o uso de Tablet PCs em aulas ativas e colaborativas permite ao docente se comunicar melhor com os alunos fazendo com que os mesmos notem que o instrutor consegue esclarecer melhor as d vidas levantadas pela classe Outro ponto a ser avaliado pelos alunos verificar como a nova metodologia de aplica o de exerc cios se compara ao modelo tradicional comum o instrutor passar um exerc cio para os alunos no quadro negro que devem ent o resolv lo numa folha de papel Por fim um aluno escolhido para apresentar sua solu o na lousa Assim foi perguntado aos alunos se papel e caneta eram prefer veis ao Tablet PC A ordem da pergunta nesse caso importante uma vez que os participantes de um question rio t m certa tend ncia em concordar com a afirma o que lhes proposta Como o interesse validar essa nova metodologia inverteu se a ordem l gica da pergunta pois assim garante se que se houver alguma tend ncia ela ser direcionada para a prefer nci
98. 1950 ambas nos EUA Costa et al 2007 Mon tero amp Gonzalez 2009 Mantri et al 2008 Chang amp Lee 2006 Ainda que muito j tenha sido escrito sobre PBL n o se pode definir uma funda menta o te rica explicita para a sua origem pelo simples fato de que essa fundamenta o n o foi estabelecida pelos seus idealizadores Entretanto o conceito de aprendizagem motivada pela necessidade de solu o de problemas pode ser atribu do a Dewey o qual definiu o princ pio da aprendizagem aut noma Schmidt 1993 Penaforte 2001 Wo ods 1995 Uma an lise conceitual dos efeitos do PBL e suas rela es com as teorias de aprendizagem de Dewey Piaget e outros pode ser obtida no trabalho de Douchy et al Dochy et al 2003 Uma extensa s ntese dos estudos sobre o m todo PBL pode ser encontrada no trabalho de Albanese e Mitchell Alabanese amp Mitchell 1993 a qual baseou se num estudo anal tico comparativo dos resultados de 41 pesquisas sobre resultados do m todo PBL em escolas de medicina da Austr lia Canad Estados Unidos e Holanda Os autores analisaram quest es sobre custos de uso do m todo PBL impactos na carga hor ria e na satisfa o dos docentes volume de conhecimento aos quais os alunos eram expostos desenvolvimento da capacidade cognitiva dos alunos e a depend ncia criada pelo modelo de aprendizagem em grupo sobre os profissionais formados via PBL J Vernon e Blake Vernon amp Blake 1993 reali
99. 1S Apresenta es de Trabalhos 26 11Q Apresenta es de Trabalhos 12 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Os slides de todas as aulas forma disponibilizadas de antem o para os alunos Aquelas anotadas pelo professor as solu es de exerc cios em sala de aula e as submiss es dos alunos foram disponibilizadas no site da disciplina para que os alunos pudessem acess las ap s a aula correspondente A figura 5 ilustra exemplos de transpar ncias anotadas pelo docente durante a aula que foram posteriormente dispobilizadas para os alunos Novamente ressaltamos que devido ao uso do Tablet PC estas anota es foram feitas exatamente sobre o conte do projetado em sala de aula Os screencasts gravados foram disponibilizados no m ximo 1 semana ap s a aula ministrada sendo tamb m postados como um link na p gina de disciplinas Monte um diagrama da execu o das instru es Tempo __ a o Iw 1 10052 le D Ex Mem SE Bs a Iw 3 100 4 if WD Ex MEM w8 Iw 5 100 6 IF Iw 7 100 8 tw 9 100 10 seca est Tela E ji it as ret E Multicycle Approach OOO pes nen of vic Rg Figura 5 Slides anotados pelo docente O curso contou com um total de 79 alunos matriculados em seu in cio Destes 1 aluno trancou a disciplina 5 foram reprovados por falta e 6 foram reprovados por nota Esses dados ser o compa
100. 2007 e Centro de Excel ncia CoE SUN em OpenSPARC OpenSPARC Workshop 2008 OSUM OpenSPARC Brazil 2008 Tais centros promovem contribui es em recursos materiais e ferramentas para o desenvolvimento de um bom curr culo de processadores avan ados no ensino de Arquitetura de Computadores 5 3 Proposta de Elenco de Disciplinas Apresentaremos o elenco das disciplinas relacionadas com a forma o em Arquitetura de Computadores no contexto da P s Gradua o em Engenharia El trica da Universidade de S o Paulo USP Nesta se o discutiremos a estrutura do elenco das disciplinas e focaremos inicialmente na base do curr culo em Arquitetura de Computadores que s o as disciplinas j existentes no departamento Arquiteturas Projeto de Avan adas de Sistemas Computadores Reconfigur veis Figure 5 2 Disciplinas Existentes No momento as disciplinas que j existem no Programa de Engenharia El trica s o Arquiteturas Avan adas de Computadores I e Projeto de Sistemas Reconfigur veis que est o em processo de revis o de ementa Como estas disciplinas s o a base para o nosso elenco de disciplinas iniciaremos com a apresenta o das disciplinas ementa e experi ncias 5 3 1 Arquiteturas Avan adas de Computadores Atualmente esta disciplina realizada em 12 semanas composta de t picos avan ados em Arquitetura de Computadores de modo que aluno tenha uma vis o do que h de mais avan ado em termos de organ
101. 3 1 Infra estrutura Desde 2002 a UNICAMP conta com um laborat rio equipado com Tablet PCs Nesse ano tr s Tablet PCs modelo HP TC1100 foram doados ao instituto pela Microsoft Research Nesse per odo inicial n o havia cen rio de uso sendo que muitos professores ainda ministravam seus cursos utilizando transpar ncias f sicas anotando por cima destas quando necess rio No primeiro semestre de 2004 foi ministrado um curso de Arquitetura de Computadores utilizando o Tablet PC sendo o Tablet PC operado apenas pelo docente Seu uso consistiu basicamente numa plataforma para proje o de transpar ncias digitais e anota o do docente em cima das mesmas n o existindo nesse per odo softwares capazes de armazenar as anota es do docente Este somente poderia efetu las num slide e ao trocar para outro as mesmas desapareciam Outro problema era a impossibilidade de criar um novo slide em branco Esse fato apesar de parecer simples atrapalha toda a log stica da aula uma vez que caso o docente queira escrever algo num slide em branco ele ter que ir at o quadro negro provocando uma quebra no ritmo da aula e perda da capacidade de digitalizar automaticamente o conte do escrito Outro fator a atrapalhar esta dualidade na aula a luminosidade da frente da sala que tem que ser reduzida para a proje o e ampliada para melhor visualiza o do quadro Ainda assim essa forma de apresenta o com transpar ncias digitais deu maio
102. 3 turmas e ao final os autores afirmam que houve uma mudan a positiva na atitude de aprendizagem dos estudantes que passaram a ser agentes ativos do seu aprendizado Segundo os autores o PBL melhorou os conceitos de ci ncia de computa o as habilidades de uso de softwares dos estudantes Uma experi ncia do uso de PBL no Chitkara Institute of Engineering and Techno logy Norte da ndia relatada por Mantri Dutt Gupta e Chitkara Mantri et al 2008 41 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Os autores compararam os resultados obtidos por dois grupos de alunos da disciplina Ele tr nica Anal gica Um grupo chamado de grupo de tratamento TG aprendeu atrav s do m todo PBL e um grupo de controle CG aprendeu pelo m todo tradicional Os resulta dos apontaram um aumento significativo no desempenho dos alunos de PBL com rela o s notas obtidas nas provas e exames de habilidades no final do semestre Os autores argumentam que essa melhora foi causada por uma maior motiva o dos alunos de PBL associada a um maior tempo de estudo que esses dedicaram no curso O ensino da disciplina Sistemas Operacionais usando PBL Holon Institute of Tech nology Israel relatado por Pelleh et al Pelleh et al 2008 Os autores apontam uma atitude positiva por parte dos estudantes e a melhoria em suas habilidades de colabora o e comunica o como resultados diretos do m todo PBL Um exemplo mais
103. 32 icl config_assoc 2 icl config_virtual_index 0 icl config_virtual_tag 0 icl config_write_back 0 icl config_write_allocate 0 icl config_replacement_policy lru icl penalty_read 0 icl penalty_write 0 icl penalty_read_next 0 icl penalty_write_next 0 Gicl timing model 12cl Mem ria Cache de Dados L1 idl dcl pre conf object dcl g cache dcl cpus conf cpul del config_line_number 1024 dcl config_line_size 32 dcl config_assoc 2 edcl config virtual index 0 Gdci config virtual tag 0 edcl config write back 0 Gdci config write allocate 0 edci config replacement policy lru dcl penalty_read 0 dcl penalty_write 0 dcl penalty_read_next 0 dcl penalty_write_next 0 dcl timing_model 12cl ts_il pre conf object ts_il trans splitter ts il cache icl Gts il timing model icl Gts il next cache line size 64 Gts dl pre conf object ts dl trans splitter Gts dl cache dcl Gts dl timing model dcl Gts dl next cache line size 64 ID Splitter para Mem ria Cache L1 idl pre conf object idl id splitter idl ibranch ts il ts dl I idl dbranch N veis Superiores de Mem ria Cache 12c0 higher_level_caches ico dc0 612cl higher level caches icl dcl Snoopers 12c0 snoopers 12cl 12cl snoopers 12c0 mem0 pre conf object cpu0_space
104. 4 a utiliza o de uma correta metodologia para avalia o de desem penho de sistemas computacionais evita diversos problemas como a falta de objetivos objetivos viciados abordagem n o sistem tica an lise sem compreender o problema m tricas incorretas de desempenho carga de trabalho n o representativa t cnicas erradas para avalia o descaso com par metros importantes ignorar fatores significantes projeto experimental inapropriado entre outros S o diversos problemas que podem ocorrer caso n o haja um correto planejamento dos experimentos Para evitar problemas em nosso projeto de avalia o podemos seguir diversos passos para assegurar que estamos efetuando as an lises com rigor acad mico As etapas a seguir foram adaptadas de 24 e aplicadas ao nosso projeto 3 4 1 Defini o do Sistema e Servi os Esta etapa visa definir os objetivos do estudo delimitando o sistema a ser avaliado A Figura 3 8 apresenta um diagrama gen rico do sistema de mem ria cache a ser avaliado onde est o definidos por blocos os principais componentes do sistema como os n cleos de processamento a interconex o o sistema de mem ria cache e a mem ria principal delimitando ainda o escopo que compreende ao processador sendo que tais componentes est o em um mesmo chip I r Sistema Processador l Figura 3 8 Defini o do sistema a ser estudado Mesmo sem a defini o clara da arquitetura e organiza o do sistema
105. 57 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 7 Conceitos trabalhados nos problemas dos caso 2 Conceito Escopo Tratado Exemplo Hierarquia de mem ria le2 Endere os l gicos lineares e f sicos Esquemas de tradu o de endere os em ambi entes multitarefa na arquitetura IA 32 Esquemas de segmenta o e pagina o para controle de mem ria virtual Tradu o de endere os virtuais em f sicos Princ pios de localidade temporal espacial Organiza es de mem ria cache completa Mem ria cache mente associativa conjunto associativa ma 1 e2 peamento direto Tratamento de faltas leitura escrita Pol ticas de substitui o de linhas FIFO LRU Pol ticas de atualiza o write through write back Simula o de circuitos digitais Organiza o de mem ria PIURE RIE S ntese de circuitos digitais utilizando VHDL res Arquitetura 80x86 263 Outros Linguagem assembly 80x86 Programas de teste 2 2 4 3 Caso 3 Mecanismos de Entrada Saida E S Os problemas discutidos nesta se o tratam de no es b sicas sobre barramentos e dis positivos de E S visando que os alunos compreendam o funcionamento de barramentos arbitragem de barramentos mecanismos de acesso ao barramento tipos de barramentos e os princ pios b sicos de entrada e sa da de dados para o processador Ser o apresentados tr s exemplos de p
106. 89 pages 133 143 17 MPI Message Passing Interface Forum MPI 2 Extensions to the Message Passing Interface November 2003 http www mpi forum org docs mpi 20 html mpi2 report html 18 MOORE Gordon E Cramming more components onto integrated circuits In Readings in computer architecture 2000 Publisher Morgan Kaufmann Publishers Inc pages 56 59 19 MUNDLE David A FISHER David A Parallel Processing in Ada Domesticat ing Parallelism Incremental Systems Corp 1986 pages 20 25 20 NARDI Alexandre Componentes CORBA Disserta o de Mestrado Instituto de Matem tica e Estat stica USP S o Paulo 2003 21 PEYTON JONES S L LESTER D Implementing Functional Programming Languages International Series in Computer Science Prentice Hall Englewood Cliffs NJ 1992 22 SACCA Juliana KOYAMA Julio C sar Hiroshi TAMAE Yoshio Rodrigo MUZZI Fernando Augusto Garcia Processador Cell Broadband Engine Sim p sio de Ci ncias Aplicada da FAEF v 4 2007 pages 431 435 23 SILVA Lu s Moura Buyya Rajkumar Parallel Programming Models and Paradigms ACM Computing Surveys Vol 30 No 2 1998 24 SKILLICORN David B TALIA Domenico Models and Languages for Parallel Computation In Journal ACM Computing Surveys 1998 pages 123 169 145 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado 25 THEODOROPOULOS G K TSAKOGIANNIS G K WOODS V Occam an as
107. Arquitetura de Computadores educa o ensino e aprendizado Editora Sociedade Brasileira de Computa o SBC Organizadores Carlos Augusto Paiva da Silva Martins Philippe Olivier Alexandre Navaux Rodolfo Jardim de Azevedo S rgio Takeo Kofuj1 Arquitetura de Computadores educa o ensino e aprendizado Organizadores Carlos Augusto Paiva da Silva Martins PUC Minas Philippe Olivier Alexandre Navaux UFRGS Rodolfo Jardim de Azevedo UNICAMP S rgio Takeo Kofuji USP ISBN 978 85 7669 263 8 Ano de publica o 2012 Editora Sociedade Brasileira de Computa o SBC Sum rio Cap tulo 1 Aplica o de Tablet PCs no Ensino de Arquitetura de Computadores Pedro Henrique Borges de Almeida Rodolfo Jardim de Azevedo Cap tulo 2 Ensino de Arquitetura de Computadores Uma Abordagem Utilizando a Metodologia de Aprendizagem Baseada em Problemas Wagner L A de Oliveira Anfranserai M Dias Antonio L Apolin rio Jr Angelo A Duarte Tiago de Oliveira Cap tulo 3 Ensino de arquiteturas de processadoresmany core e mem rias cache utilizando o simulador Simics Marco Antonio Zanata Alves Henrique Cota de Freitas Philippe Olivier Alexandre Navaux Cap tulo 4 Modelos para Programa o em Arquitetura Multi core Alfredo Goldman Alberto Hideki Ueda Camila Mari Matsubara Jo o Paulo dos Santos Mota Cap tulo 5 Proposta de um Elenco de Disciplinas de P s Gradua o para Forma o de Arquitetura de Computador
108. CELL Introdu o ao uso do Simulador para o processador CELL O uso da biblioteca OpenCV na Blade Cell QS21 Algoritmos para Processamento de Imagens Algoritmos para Aplica es UWB Introdu o ao Algoritmo FDTD para CELL Bibliografia Maurice Herlihy Nir Shavit Art of Multiprocessor Programming Elsevier 2008 Barbara Chapman Gabriele Jost Ruud van der Pas Using OpenMP Portable Shared Memory Parallel Programming Darryl Gove Solaris Application Programming Ist version Prentice Hall 2008 David E Culler and Jaswinder Pal Singh with Anoop Gupta Parallel Computer Architecture A Hardware Software Approach 1998 ISBN 1558603433 Michael J Quinn Parallel Programming in C with MPI and Open MP McGraw Hill 2003 ISGN 0072822562 5 5 Conclusao A proposta inovadora do elenco de disciplinas apresentado neste capitulo com algumas ja sendo ministradas na Escola Polit cnica da Universidade de Sao Paulo USP esta ainda em uma fase inicial de discuss o com os v rios professores do departamento A hierarquia de disciplinas apresentada bem como o inter relacionamento entre elas ainda dever o passar por um per odo de an lise para se tornar um curr culo de refer ncia Neste cap tulo foram definidas as disciplinas base para o curr culo Arquiteturas Avan adas de Computadores e Projeto de Sistemas Reconfigur veis A disciplina Arquiteturas Avan adas de Computadores foi totalmente atualizada mantend
109. DTV VESA Controle DMA IPU UF de de decodificador de Mem ria de v deo mem ria DRAM embutida de 4 MB 10 canais MPEG EIS com v rias portas 400 MHz 37 5 MHz 32 bits Chip de som de 48 canais OVD FIOM Processador de E S CPU MIPS de 34 MHz compativel com Playstation Barramento local Circuitos de E S Mem ria principal USB e DRDRAM de 32 MB IEEE 1394 PCMCIA Modem a Figura 2 6 Esquema descritivo da arquitetura do PlayStation 2 Sony 2 4 4 2 Exemplo 2 Arquiteturas Embutidas para Celulares A motiva o central deste problema era despertar os alunos para a diferen a entre as arquiteturas Uma arquitetura embutida deve lidar com restri es de hardware e de ali menta o de seus circuitos devido ao tamanho reduzido do equipamento que a embarca Visando um exemplo que fizesse parte do conv vio di rio dos alunos foi escolhida as arquiteturas de telefonia m vel para as quais os alunos deveriam compreender o funci onamento b sico e como interagem os componentes de hardware e de software de tais sistemas assim como a sua rela o com o ambiente externo Cada grupo ficou encarregado de um estudo aprofundado sobre assuntos de um t pico espec fico A separa o dos t picos ficou definida da seguinte forma e componentes de hardware da arquitetura de um telefone celular e sua intera
110. FFSET PDE PAGE DIRECTORY ENTRY TLBI TLBINDEX VPN1 VIRTUAL PAGE NUMBER 1 PTE PAGE TABLE ENTRY CT CACHE TAG VPN2 VIRTUAL PAGE NUMBER2 PPN PHYSICAL PAGE NUMBER Cl CACHE INDEX PPO PHYSICAL PAGE OFFSET CO CACHE OFFSET Figura 2 5 Detalhes do esquema de pagina o parte inferior da Figura 2 4 2 4 2 6 Resultados O desempenho alcan ado pelos alunos nos exemplos 1 e 2 foi muito bom com um apro veitamento de 80 e 95 respectivamente J no exemplo 3 o desempenho foi fraco com aproveitamento em torno de 40 No exemplo 1 a nica falha cometida pelos alunos foi na implementa o da po l tica de substitui o de linhas LRU na qual ocorriam situa es de mal funcionamento n o removendo a linha menos recentemente utilizada Contudo tal situa o foi explici tada nos relat rios apresentados O exemplo 2 foi bastante interessante em suas primeiras discuss es que envol viam quest es te ricas interessantes sobre o funcionamento das mem rias cache seus n veis e estrat gias de gerenciamento No entanto a partir do momento que uma proposta de algoritmo foi definida as sess es tutoriais passaram a ser pouco produtivas uma vez que os problemas enfrentados pelos grupos eram fundamentalmente t cnicos vinculados a implementa o na linguagem assembly No exemplo 3 a dificuldade de compreens o dos conceitos envolvidos e a comple xidade do problema foram fatores determinantes para o mal desempenho obtido
111. LE 89 Proccedings of the Parallel Architectures and Languages Europe Vol ume I 1989 Publisher Springer Verlag pages 19 33 10 GOLDMAN Alfredo KON Fabio Grades Computacionais Conceitos Funda mentais e Casos Concretos In Tomasz Kowaltowski e Karin Breitman Org At ualiza es em Inform tica 2008 Editora PUC Rio SBC pp 55 104 144 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado 11 HAMBRUSCH Susanne E Models for parallel computation In Proceedings of Workshop on Challenges for Parallel Processing International Conference on Parallel Processing 1996 pages 92 95 12 HEWITT Carl E A Universal Modular Actor Formalism for Artificial Intel ligence In Proceedings of International Joint Conference on Articial Intelligence 1973 13 High Performance Computing Lawrence Livermore National Laboratory CA http computing lInl gov 14 KAASHOEK M Frans MICHIELS Raymond BAL Henri TANENBAUM An drew S Transparent fault tolerance in parallel orca programs In Proceedings of the Symposium on Experiences with Distributed and Multiprocessor Systems III 1992 pages 297 312 15 KRISHNAMURTHY Arvind PRAM Algorithms Parallel Computing Yale Uni versity 2004 16 LI Zhiyong MILLS Peter H REIF John H Models and Resource Metrics for Parallel and Distributed Computation In Proceedings of the 28th Annual Hawaii International Conference on System Sciences 19
112. Language Programming MLP um sistema paralelo orientado a ob jetos projetado para desenvolver aplica es paralelas de arquitetura independente Esse sistema integra um modelo de computa o dirigido a dados com o paradigma orientado a objetos O modelo dirigido a dados sustenta um alto grau de paralelismo enquanto o paradigma orientado a objetos esconde boa parte do ambiente paralelo do usu rio MLP uma extens o de C O compilador e o apoio em tempo de execu o da linguagem s o planejados para alcan ar alto desempenho Os programas em Mentat s o representados como grafos dirigidos Os v rtices s o elementos de computa o que executam algumas fun es e as arestas modelam depend ncia de dados entre esse elementos O compilador gera c digo para construir e executar as depend ncias de dados do grafo Deste modo paralelismo inter objetos em Mentat bastante transparente para o programador Por exemplo 24 sejam A B C D E vetores e considere as instru es A vectop add B C M vect_op add A vect_op add D E O compilador e o sistema em tempo de execu o detectam que as duas somas B C e D E n o t m depend ncia de dados e podem ser executadas em paralelo Ent o o resultado automaticamente encaminhado para o final da soma 4 8 3 Arrays sist licos Um Array Sist lico composto de uma matriz de Unidades de Processamento de Dados DPU chamados de c lulas Essa matriz corrresponde a uma arquitetura
113. Neste trabalho o aluno desenvolveu e avaliou um programa para convolu o de imagens escrito em MPI Ao final do primeiro ano notamos que o projeto da arquitetura dos processadores poderia ser mais bem elaborado pelos alunos nos pr ximos semestres uma vez que a pro posta da disciplina deixaria de ser uma novidade fazendo com que os pr ximos alunos tenham uma real no o do grau de dificuldade e do tempo necess rio para realiza o do projeto Al m disto trabalhos com o grau de dificuldade e ou profundidade j apresen tados deveriam ser melhorados Portanto seria solicitado e esperado que os pr ximos trabalhos fossem mais complexos A introdu o ao Simics e o suporte dado aos alunos se mostrou eficiente No entanto percebeu se a necessidade de introduzir o ambiente de simula o logo no in cio da disciplina mesmo antes do ensino te rico sobre arquiteturas paralelas o que foi feito no segundo ano adotando a ferramenta de simula o A atividade de monitoria tamb m foi mais incentivada para que os alunos pudessem tirar d vidas mais rapidamente Assim no segundo ano da disciplina o m todo de ensino do simulador evoluiu onde mais materiais did ticos foram preparados e algumas formas de apresentar o simu lador e exigir projetos tamb m evolu ram Neste segundo ano tamb m foi aperfei oado o 105 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado ambiente a ser disponibilizado aos alunos pa
114. Software Interface 6 Nos anos anteriores a n o ser pela metodologia de apresenta o diferenciada pelo uso de Tablet PCs a estrutura do curso foi tradicional contando com aulas magnas listas de exerc cios e trabalhos sobre temas pr definidos Em 2008 o curso manteve estrutura semelhante aos anos anteriores por m o docente passou a gravar os screencasts de suas aulas utilizando o Camtasia Studio Em partes do curso principalmente aquelas em que a explica o do conte do envolvia grande utiliza o de diagramas e figuras foram distribu dos Tablet PCs aos alunos e problemas relacionados ao tema eram propostos para resolu o e envio de solu es para ao professor durante a aula A tabela 2 resume o calend rio de aulas mostrando em quais destas foram gravados v deos ou realizados exerc cios ativos e colaborativos Para cada linha da tabela indicado o conte do ministrado e a data da aula bem como marcado um X para ilustrar que foi gravado um v deo dessa aula ou que foram realizadas atividades ativas e colaborativas Na primeira linha da tabela por exemplo podemos ver que no dia 06 08 uma quarta feira foi dada a aula de Apresenta o do Curso e Introdu o e para essa aula foi gravado o v deo mas n o houve a realiza o de exerc cios ativos e colaborativos importante ressaltar que era desejado introduzir a nova tecnologia passo a passo a fim de permitir que os estudantes se acostumassem com esta Primeir
115. Stack apontado pelo registrador SP Stack Pointer A Figura 6 10 ilustra a organiza o do uBIP Nessa figura podem ser observados alguns dos novos componentes de hardware sendo que os perif ricos est o representados pelo bloco SFR Special Function Registers O conjunto de instru es do BIP III foi estendido para oferecer o suporte arquitetural para uso desses recursos As novas instru es descritas na Tabela 6 11 incluem i duas instru es para manipula o de vetor baseadas no modo de endere amento indireto STOV store vector e LDV load vector ii uma instru o de chamada de procedimentos CALL e iii duas instru es de retorno de procedimento RETURN e RETINT sendo que RETINT return from interrupt serve para realizar o retorno de rotinas de atendimento a interrup es 187 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Inte CPU Unidade de Controle Exengo de Caminho de Dados Pilha Sinal Stack in Stack out WrEn Op a SFRs E Decodificador 4 tack_wr Controle de sees Wo pies Interrup es oxoo1 4 Wroate rlwren SelB data out Sec gt Bo 2 1 04 SourcePC e d Opcode N o ni N na PC STATUS is_vgctor is_vector ni O o Manipula o E fs deVetores 5 addr out RA Addr Out Data Wr A
116. a es dos pr prios alunos e tamb m s o influenciadas pelas opini es cren as e a es dos professores das disciplinas cursadas pelos alunos Os atuais professores atuam nas suas atividades docentes influenciados pelos conhecimentos aprendidos e pelas cren as inicialmente constru das na poca em que eram alunos Deste modo observa se uma maior dificuldade para alterar o significado do termo e minimizar os seus impactos na qualidade do aprendizado dos alunos dos per odos anteriores pois inicialmente deve se alterar o significado do termo e a conduta dos seus professores das demais disciplinas Entretanto observa se uma menor dificuldade para alterar o significado do termo e minimizar os seus impactos na qualidade do aprendizado dos alunos dos per odos posteriores pois os alunos j possuem conhecimentos te ricos de arquitetura de computadores e aplicados ao desenvolvimento de algoritmos e programas otimizados pela utiliza o de conhecimentos de arquitetura de computadores Mesmo assim deve se alterar o significado do termo e a conduta dos professores dessas disciplinas posteriores Estes fatos indicam a necessidade de desenvolver se atividades espec ficas para e com os professores das demais disciplinas e especialidades da computa o no curto prazo para minimizar os impactos negativos e inicialmente aumentar o interesse e a motiva o dos professores no aprendizado e uso aplicado dos conhecimentos de arquitetura de computadore
117. a o a Objetos focado no paralelismo Arrays sist licos e algumas linguagens como Mentat Programming Language 24 4 8 1 Actors ActorSpace e Concurrent Aggregates O modelo mais importante nesta classe Actors Foi criado em 1973 por Carl Hewitt Peter Bishop e Richard Steiger e publicado no artigo intitulado A Universal Modular Actor Formalism for Artificial Intelligence 12 Nesse modelo mant m se cole es de objetos chamados atores onde cada um deles tratado como a primitiva universal da computa o concorrente Cada ator tem uma fila de mensagens e executa repetidamente a seguinte sequ ncia e l a pr xima mensagem e envia mensagens a outros atores cuja identidade ele conhece e e toma decis es locais definindo um novo comportamento que determinar sua res posta para a pr xima mensagem 126 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado e Ele tamb m pode criar um n mero finito de novos atores Os nomes de atores s o objetos que podem ser passados atrav s de mensagens Mensagens s o entregues assincronamente e desordenadamente Por m para Actors os itens desempenho garantido e medi o de custos n o poss vel porque a comuni ca o total em um programa Actors n o limitada Al m disso como este modelo altamente distribu do cada ator toma decis es individualmente responsabilidade dos compiladores serializar a execu o para obter efici
118. a o de uma aula com Tablet PCs Os problemas citados s o todos abordados pois tendo acesso s solu es o docente pode ter uma vis o clara e r pida do entendimento global conhecendo os erros e acertos praticados por quase todos eles resolvendo assim o problema de retorno Diferentemente do modelo tradicional no qual geralmente o instrutor consegue retorno somente dos melhores alunos normalmente convidados a ir at a lousa apresentar sua solu o neste caso poss vel ter um panorama mais completo sobre o grau de entendimento da classe otimizando o tempo de aula focando em t picos espec ficos que n o foram bem entendidos pelos alunos Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Outro problema claramente abordado a inclus o de alunos t midos nas atividades uma vez que a submiss o da solu o de seus exerc cios pode ser feita de forma an nima De maneira semelhante aos m todos tradicionais os alunos com maior facilidade no aprendizado terminam suas solu es mais rapidamente que o restante interrompendo assim o rac cionio de estudantes mais lentos Com o uso de Tablet PC todos alunos t m um tempo razo vel para pensar fazendo com que todos passem a desempenhar um papel mais interessante na sala de aula Al m disso o docente pode apresentar mais de uma forma correta de chegar ao mesmo resultado fazendo com que os alunos exercitem sua criatividade O docente tamb m consegue gar
119. a 10100 XOR operando ACC lt ACC XOR Mem ria operando L gica 10101 XORI operando ACC lt ACC XOR operando L gica 10110 SLL operando ACC lt ACC lt lt operando L gica 10111 SRL operando ACC lt ACC gt gt operando L gica A organiza o do BIP III similar organiza o do BIP II As poucas modifica es necess rias referem se substitui o do somador subtrator do caminho de dados por uma unidade funcional integrando uma UAL Unidade Aritm tica L gica e barrel shifters para realizar os deslocamentos de bits direita e esquerda Al m disso o Decodificador deve ser atualizado para identificar as novas instru es A Tabela 6 7 logo a seguir apresenta a codifica o definida para o sinal Op que comanda a Unidade Funcional o qual passa a ter 3 bits de largura no BIP III Tabela 6 7 Opera es suportadas pela unidade funcional do BIP III Op Opera o Instru es 000 Soma ADD e ADDI 001 Subtra o SUB e SUBI 010 Fun o l gica E AND e ANDI 011 Fun o l gica OU OR e ORI 100 Fun o l gica XOR XOR e XORI 101 Fun o l gica NOT NOT 110 Deslocamento l gico para a esquerda SLL 111 Deslocamento l gico para a direita SRL 178 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 6 3 Utiliza o do BIP no Ensino As iniciativas de cria o de processadores com objetivo did tico normalmente bus
120. a Digital Circuits Design Se quence Pages 358 362 of IEEE Region 5 Technical Conference ISBN 978 1 4244 1280 8 Oliveira W L A DE de Arruda G H M amp Bittencourt R A 2007 Uso do M todo PBL no Ensino de Arquitetura de Computadores In Proceedings of the 2007 International Conference on Engineering and Computer Education Pelleh Moshe Haberman Bruria amp Rosenthal Tammy 2008 Linking Theory Prac tice and System Level Perception Using a PBL Approach in an Operating Systems Course The Journal of Issues in Informing Science and Information Technology 5 395 408 Penaforte J 2001 John Dewey e as Ra zes Filos ficas da Aprendizagem Baseada em Problemas S o Paulo Hucitec Ramos E M F 1999 Forma o do Engenheiro Desafios da Atua o Docente Tend n cias Curriculares e Quest es Contempor neas da Educa o Tecnol gica Florian polis Editora da UFSC 72 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Ribeiro L R C 20084 Aprendizagem baseada em problemas PBL na educa o em engenharia Revista de Ensino de Engenharia 27 23 32 Ribeiro L R C 2008b Aprendizagem Baseada em Problemas PBL Uma Experi ncia no Ensino Superior S o Carlos SP Brasil ELUFSCAR Santos J A M Angelo M F amp Loula A 2008a Utiliza o do m todo PBL em um Estudo Integrado de Programa o In Anais do XXXVI Congresso Brasileiro de Educa o em Enge
121. a de papel e caneta A figura 12 mostra os resultados obtidos para essa pergunta 19 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Papel e caneta vs Tablet PC 45 00 42 55 40 00 35 00 30 00 25 53 25 00 O 20 00 14 89 15 00 E 9 9 10 00 4 L 8 51 8 51 0 00 Discordo Discordo Neutro Concordo Concordo Plenamente Plenamente Figura 12 Prefer ncia dos alunos papel e caneta vs Tablet PC A maioria dos alunos disse discordar da afirma o mostrando que preferem a utiliza o de Tablet PC para a realiza o dos exer cios ao inv s de papel e caneta Al m disso alguns alunos citaram que o fato do Tablet PC permitir que eles visualizassem qualquer transpar ncia do docente e suas anota es fez com que eles pudessem acompanhar melhor a aula Uma descri o emblem tica disso O recurso de poder voltar em slide e rel lo muito poderoso Dependendo da disciplina se voc perdeu um slide voc perdeu o resto da aula Por fim a figura 13 mostra os resultados encontrados quando os alunos foram perguntados sobre a import ncia do Tablet PC no seu aprendizado nessa disciplina Import ncia do Tablet PC no aprendizado 50 00 44 68 45 00 40 43 40 00 35 00 30 00 25 00 20 00 15 00 10 00 6 38 6 38 a Em 0 00 a Nada Pouco Neutro Importante Muito Importante Importante Importante
122. a disciplina que est sendo estudada No m todo PBL a avalia o do estudante um processo cont nuo que se inicia no primeiro dia O professor deve atentar para aspectos de conhecimento t cnico do assunto de habi lidades na solu o de problemas e trabalho em grupo e nas atitudes durantes as atividades realizadas Amador et al 2007 Schwartz 2001 consenso na literatura que uma parte do rendimento dos alunos seja avaliada atrav s de auto reflex es e auto avalia es Os modelos de auto avalia o a serem segui dos variam ligeiramente entre si e de forma geral procuram fazer com que o aluno avalie sua contribui o com id ias e fatos para a solu o do problema a forma como colaborou para que o grupo chegasse solu o do problema e os recursos usados para a obten o de informa o Como a auto avalia o geralmente p e os alunos em uma posi o dif cil principalmente para aqueles alunos que ainda s o novi os no estudo com PBL reco mend vel que no in cio o professor auxilie com um modelo ou definindo de forma direta os crit rios de auto avalia o Eventualmente com o amadurecimento dos alunos estes mesmos podem passar a definir crit rios pr prios para si e para o grupo O professor tamb m tem oportunidade de se auto avaliar no processo de guiar os estudantes Delisle Delisle 1997 sugere um conjunto de crit rios de avalia o que o professor pode usar para analisar seu pr prio desempenho na tutori
123. a dos grupos Esse conjunto de crit rios procura avaliar se o professor cria um ambiente prop cio para os desenvolvimento dos trabalhos se os alunos foram encorajados a refletir sobre o conhe cimento necess rio para a solu o do problema al m de crit rios quanto a infra estrutura e os recursos usados nos trabalhos A efici ncia do problema deve ser questionada ao final de cada problema usando 40 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado uma avalia o que contemple ainda conforme Deslile Delisle 1997 um conjunto b sico de quest es Essas quest es procuram avaliar se o problema atingiu os objetivos curriculares desenvolveu habilidades de pensamento e racioc nio nos estudantes e representou bem problemas do mundo externo e se relaciona com interesses dos estudantes ou desperta interesse nos estudantes e tem um n vel de complexidade adequado e era poss vel de ser solucionado com os recursos disponibilizados aos estudantes Esse um conjunto de quest es b sico e pode ser acrescido de outros que sirvam para adequar a avalia o realidade da institui o As respostas a estas quest es servir o como base para eventuais ajustes no problema para os pr ximos grupos 2 2 5 PBL e Engenharias O m todo PBL possui uma sintonia natural com a engenharia j que em sua vida pr tica um engenheiro freqiientemente se depara com situa es nas quais os problemas enfrenta d
124. a informa es sobre o resultado da ltima opera o De acordo com o valor resultante dessa subtra o a instru o de desvio condicional determina se o desvio deve ser tomado ou n o A instru o de desvio gerada de acordo com o operador relacional utilizado linha 4 O nome do r tulo colocado em uma pilha linha 5 para utiliza o ao final da express o linha 9 O m todo add instrucao linha 10 adiciona a instru o em uma estrutura de dados que ser utilizada para a gera o de c digo e posterior uso na simula o do programa Alguns trabalhos iniciados na disciplina tiveram continuidade na forma de trabalhos de conclus o de curso Uma das ferramentas desenvolvidas descrita a seguir consistiu de um simulador que ser utilizado futuramente na disciplina 6 3 6 Trabalhos de Conclus o de Curso Dois trabalhos de conclus o de curso relacionados ao BIP j foram realizados no Curso de Ci ncia da Computa o da UNIVALI Em um deles foi desenvolvido um microcontrolador baseado na arquitetura BIP o uBIP Em outro foi desenvolvida uma IDE Integrated Development Environment denominada Biplde que inclui simuladores do BIP I e do BIP II Esses trabalhos s o relatados resumidamente a seguir 6 3 6 1 uBIP Visando estender o uso do BIP para disciplinas avan adas nas reas de projeto de sistemas digitais e de sistemas embarcados foi desenvolvido um microcontrolador baseado na arquitetura BIP o qual foi denomina
125. a simula o utilizada a quantidade de cycles dividida pela fregii ncia definida para o processador Essa inde pend ncia importante para que o simulador se mantenha determin stico e assim inde pendente da carga de trabalho que a m quina hospedeira esteja executando o simulador dever retornar sempre resultados coerentes da simula o Considerando o isolamento da m quina simulada podemos notar que os resulta dos de desempenho de uma simula o podem ser vistos tanto dentro do simulador como se estivesse em um sistema real o ent o o aluno pode utilizar as Magic Instruction dentro do c digo a ser executado e ent o obter o n mero exato de ciclos de execu o A segunda alternativa efetuando a instrumenta o do c digo com Magic Instruction considerado o modo mais preciso e interessante para que sejam feitas medi es de desempenho Uma vez que uilizando Magic Instruction pode se al m de automatizar o processo de gera o de estat sticas e relat rios esse modo permite tamb m obter mais resultados como as estat sticas da mem ria cache do simulador As estat sticas da mem ria cache dispon veis no Simics s o obtidas por m todos que podem ser executados em qualquer objeto de mem ria cache no Simics abaixo segue a lista e breve descri o das principais estat sticas dispon veis 101 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e stat copy back N mero de transa
126. ada mil instru es executadas MPKI Total de ciclos para a execu o da carga de trabalho Tempo total de execu o da carga de trabalho Tempo total de espera de dados por requisi es de leitura e escrita Tempo m dio de atendimento das requisi es de leitura e escrita N mero de instru es por segundo MIPS Numero de opera es de ponto flutuante por segundo MFLOPS Instru es prontas por ciclos de m quina IPC e M tricas F sicas Area ocupada pela mem ria cache Consumo de pot ncia din mica do sistema de mem ria cache Consumo de pot ncia est tica do sistema de mem ria cache 3 4 3 Projeto de Experimentos O objetivo de um projeto de experimento DoE Design of Experiment correto obter o m ximo de informa es com o menor n mero de experimentos Al m disso uma correta an lise desses experimentos tamb m ajuda a identificar v rios fatores ou os fatores que mais influenciam no desempenho Alguns tipos de design existem e podem ser considerados para o estudo de desem penho computacional Alguns deles s o 24 88 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e Simple Design E considerado um dos mais simples consiste em variar um fator por vez e verificar como cada fator influ ncia no desempenho e Full Factorial Design Este modelo utiliza todas as combina es de fatores pos s veis e faz o mesmo para cada
127. ade de discutir com os pr prios criadores do termo Brooks 1962 Amdahl 1964 que ainda est o vivos as motiva es as raz es e as justificativas da defini o original e quais seriam as defini es ideais do termo na atualidade e at no futuro 2 O grande desafio redefinir o termo arquitetura de computador de modo sist mico hier rquico e integrador Considerando se inicialmente quantos e quais subsistemas m dulos s o necess rios para que o computador possa executar os comportamentos desejados de acordo com os principais requisitos funcionais e n o funcionais antes de definir quais subsistemas ser o implementados como software ou como hardware E posteriormente determinar de modo integrado e hier rquico quais m dulos dever o ser implementados como hardware obrigat rio program vel ou n o program vel e ou como software n o obrigat rio Na redefini o do termo arquitetura de computador deve se considerar explicitamente os termos Arquitetura de Sistema Arquitetura de Hardware e 206 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado Arquitetura de Software e os seus significados dentro de uma abordagem sist mica e hier rquica Posteriormente deve se analisar e discutir a necessidade de evolu o do significado e da pr pria defini o do termo no futuro considerando se as poss veis evolu es dos objetos denominados computadores aos quais o termo
128. ado Electronic System Conference amp Exhibition IP 08 Grenoble Design and Reuse p 193 197 Pereira M C 2008 BIP Microcontrolador B sico para o Ensino de Sistemas Embarcados Trabalho de Conclus o de Curso Ci ncia da Computa o Universidade do Vale do Itaja Pimentel E P Franca V F Noronha R V e Omar N 2003 Avalia o cont nua da aprendizagem das compet ncias e habilidades em programa o de computadores In Workshop de Inform tica na Escola Anais do XXIII Congresso da Sociedade Brasileira de Computa o Porto Alegre SBC The ArchC Team 2007 The ArchC project home page Dispon vel em lt http www archc org gt The Dalton Project Team 2001 The UCR Dalton Project University of California Riverside Dispon vel em lt http www cs ucr edu dalton gt Vieira P V 2009 Biplde Ambiente de Desenvolvimento Integrado para a Arquitetura dos Processadores BIP Trabalho de Conclus o de Curso Ci ncia da Computa o Universidade do Vale do Itaja Vieira P V Raabe A L A e Zeferino C A 2010 Bipide ambiente de desenvolvimento integrado para a arquitetura dos processadores BIP Revista Brasileira de Inform tica na Educa o v 18 p 32 43 Weber R F 2004 Fundamentos de arquitetura de computadores Porto Alegre Sagra Luzzatto 193 Cap tulo O Termo Arquitetura de Computador no Passado Presente e Futuro impactos do seu significado no ensino
129. ado do programa Dessa maneira o resultado de um problema computacional pode ser entendido como uma solu o de um sistema gerado a partir dessas fun es A t cnica utilizada para computar o valor de uma fun o chamada graph reduc tion 21 Nela as fun es s o representadas como rvores e a t cnica consiste em sele cionar subestruturas do grafo reduzi las a formas mais simples e recoloc las no grafo f cil perceber que essa abordagem paraleliz vel afinal duas partes do grafo com intersec o vazia podem ser valoradas separadamente e simultaneamente Ent o v rios processadores podem procurar por partes redut veis independentemente Infelizmente essa ideia n o costuma funcionar Pois apenas as redu es que con tribuem para o resultado final deveriam ser realizadas j que calcular outras seria al m de um desperd cio de recursos uma altera o na l gica do programa Fica muito dif cil determinar de forma eficiente que partes independentes do programa necessitam ser computadas de fato para se chegar ao resultado final Isso s poss vel a partir de uma an lise sofisticada do programa como um todo Logo esse modelo n o capaz garan tir bom desempenho ou ter seu custo estimado Por essa e outras dificuldades a parallel graph reduction teve um sucesso limitado para computadores de mem ria compartilhada Para os computadores de mem ria distribu da ainda n o se sabe qual a efetividade dessa abordage
130. adores e Projeto de Sistemas Reconfigur veis e duas disciplinas propostas com o intuito de serem implementadas em um per odo de dois anos Projeto de Microprocessadores Especiais e Programa o em Computa o de Alto Desempenho HPC Esse n cleo de disciplinas coordenado pelo grupo de Computa o Pervasiva e Alto Desempenho PAD LSI USP e se relaciona com outras disciplinas existentes no Departamento de Sistemas Eletr nicos da Escola Polit cnica da USP proporcionando duas linhas de especializa o uma em desenvolvimento de aplica es HPC e outra em projeto de microprocessadores As disciplinas mais diretamente relacionadas s o Jogos Eletr nicos Interativos Processamento e An lise de Imagens e V deos e Projeto de Sistemas sobre Sil cio Tarefas System Level Essa estrutura apresentada na Figura 01 Essas disciplinas ter o como abordagem proporcionar meios do aluno efetivamente compreender aspectos como a microarquitetura de processadores atrav s de ferramentas como simuladores emuladores em FPGA e outros bem como oferecer oportunidade de compreender o impacto da mudan a de par metros e caracter sticas da microarquitetura no desempenho custo e consumo de energia e programabilidade Pretende se oferecer neste curr culo uma base s lida em Arquitetura de Computadores conhecimento das t cnicas de reconfigura o parcial de FPGA e Programa o para Computa o de Alto Desempenho e Sistemas Heterog neos
131. ados pelo OU e pelo E As sim as duas senten as envolvidas no OU ou no E podem ser avaliadas simultaneamente Linguagens de l gica paralela impl cita permitem decomposi o autom tica da rvore de execu o em uma rede de processos paralelos Isso poss vel pelo suporte da linguagem an lise sint tica tanto na compila o quanto na execu o Como as outras abordagens j discutidas essa abordagem bastante abstrata e n o pode garantir bom desempenho apesar de s vezes consegui lo Avalia es de custo n o podem ser feitas porque linguagens de l gica impl cita s o muito din micas isto interpretam apenas em tempo de execu o muitos comportamentos que outras linguagens interpretam durante a compila o 4 4 4 Skeletons algor tmicos e homom ficos Esta classe de modelos prop em alto n vel de abstra o A programa o abstrata baseada em unidades ou componentes fundamentais cujas implementa es est o pr definidas Em outras palavras os programas s o constru dos conectando se blocos pron tos building blocks Esses blocos mant m o n vel de abstra o alto porque s o unidades fundamentais com as quais o programador trabalha e podem ocultar uma quantidade arbi tr ria de complexidade No contexto de programa o paralela estes blocos s o chamados skeletons Skeletons algor tmicos s o aqueles que encapsulam as primitivas de controle e co munica o da aplica o 23 Cada skeleton c
132. agem de uso de um ambiente de simula o de sistema completo chamado Simics em sala de aula focando no projeto simula o e avalia o das arquiteturas de proces sadores many core Para dar suporte a esta abordagem foram utilizadas as experi ncias de avalia o de mem rias cache compartilhadas em processadores many core a qual ser apresentada ao longo deste cap tulo juntamente com resultados obtidos por alunos em sala de aula Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 3 1 Introdu o A busca por desempenho computacional tem aumentado ao longo das d cadas atrav s da explora o de t cnicas como pipeline superescalaridade e multithreading Estas t cnicas aumentam o paralelismo de execu o das aplica es e assim reduzem o tempo de exe cu o e obten o de resultados Com base nestas t cnicas o projeto de uma arquitetura pode focar o paralelismo no n vel de instru o ou threads Arquiteturas superescalares t m como caracter stica principal a execu o paralela de instru es e exploram o au mento da freqii ncia de opera o para atingir altas taxas de desempenho O suporte a m ltiplas threads 1 2 uma alternativa de explora o de paralelismo n o mais no n vel de instru es mas no n vel de fluxo de instru es threads A principal diferen a entre arquiteturas superescalares e multithreading pode ser explicada pelas cargas de tra balho Cargas com alto paralelis
133. alhes da arquitetura do computador paralelo Al m disso um modelo de programa o reproduz restri es de m quinas con cretas existentes tenta ter m xima aplicabilidade em m quinas existentes e tamb m nas futuras faz uma estimativa do desempenho e do custo do programa 11 Como modelos s o considerados m quinas abstratas existem diferentes n veis de abstra o Para a apresenta o dos modelos de programa o em arquitetura multi core sugerimos aqui uma classifica o de acordo com esse n vel de abstra o e de detalha mento baseada em 24 e a descri o dos mesmos em ordem decrescente importante ressaltar que a maioria dos modelos n o foi criada com a ambi o de funcionar bem para todos os casos Para evitar que o estudo sobre modelos se torne de masiadamente complexo e exaustivo esta classifica o n o aborda todos os modelos que ja existiram e sim aqueles que trouxeram alguma inova o importante e suas principais caracter sticas 115 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Em cada classe h diferentes n veis de grau de controle sobre a estrutura e a co munica o o que permite que se possa ter diferentes vis es sobre o paralelismo e introduz ao programador as op es dispon veis de controle e decis es sobre a paraleliza o bem como as distintas formas de racioc nio utilizadas para cada tipo de modelo Assim tem se diferentes abordagens do ensino do ra
134. an adas de Computadores I prop e o uso de dois principais simuladores Simics Virtutech e o IBM full System Simulator for Cell Broadband Engine IBM Simulator Para o uso do simulador Simics analisaremos o sistema de mem ria e os protocolos de cache dos seguintes processadores Toshiba Cell PPU Toshiba Cell SPU e UltraSPARC T1 UltraSPARCT2 Existem outros trabalhos correlatos consagrados como o simulador Multifacet GEMS Martin 2005 pela Universidade de Wisconsin espec fico para arquiteturas SMP e simulam eficientemente arquiteturas CMP Para a disciplina proposta de Microprocessadores Especiais se far uso da ferramenta para projeto de chip o RTL Verilog do OpenSPARC T1 T2 OpenSPARC A disciplina faz refer ncia a tr s cursos de Arquiteturas Avan adas de Universidades de excel ncia e pesquisadores renomados como UC Berkeley Asanovic Institui o Polit cnica de Budapeste Sima e Universidade SMU EI Rewini Para revis o dos conceitos de arquitetura e organiza o de computadores adota se o livro Organiza o e Projeto de Computadores Interface Hardware Software al m do Arquitetura de Computadores Uma abordagem Quantitativa Patterson Hennessy Como bibliografias b sicas para o contexto do curso s o adotados os seguintes livros para aprendizagem de programa o Cell o livro Programming the Cell processor For games graphics and computation por Mattew Scarpino Scarpino 2008 e para aprendi
135. ando a proposta de projetos por parte dos alunos O uso de uma nica carga de trabalho por todos os alunos n o foi suficiente criar ambiente competitivo entre os alunos por m a disponibiliza o dessas aplica es parale las antes mesmo dos alunos aprenderem conceitos de programa o paralela foi de grande import ncia para o bom andamento dos trabalhos Uma vez que os alunos puderam testar suas arquiteturas e apresentar resultados de desempenho durante um semin rio de anda mento Com isso os alunos ficaram de certa forma mais nivelados evoluindo no projeto da disciplina de forma mais tranquila Mostramos o cronograma sugerido para a utiliza o do simulador em sala de aula na Tabela 3 1 Como pode ser visto no cronograma existem duas etapas antes mesmo do in cio das aulas que ocorre no m s de Mar o essas etapas s o planejadas para dar mais tempo de prepara o do ambiente de simula o para os alunos Depois podemos ver 6 etapas planejadas para o in cio das aulas onde s o apresentados aos alunos o ambiente de simula o e tamb m sugerido alguns trabalhos para que os alunos tenham tempo de propor seus projetos para a disciplina Ent o nas pr ximas 3 atividades s o marcadas as datas de entrega e apresenta o dos trabalhos Finalmente a ltima atividade listada de monitoria deve ocupar praticamente todos os meses com aulas da disciplina sendo que essa e a atividade que faz o acontecer mais facilmente por parte
136. ante da facilidade para se alcancar os limites fisicos de desempenho computacional a paraleliza o de tarefas em m ltiplos n cleos de processamento um caminho nat ural para a evolu o tecnol gica Nesse sentido o aprendizado de novos paradigmas passa a ser essencial Neste cap tulo orientamos tal estudo com base em Modelos de Programa o recursos intermedi rios entre a constru o de um software e sua execu o em paralelo Um modelo de programa o uma interface que disponibiliza mecanis mos de controle sobre a paraleliza o do sistema Descrevemos os modelos classificados conforme o crit rio de n vel de abstra o Al m disso apresentamos as vantagens e desvantagens de cada classe e alguns exemplos de implementa o Por fim discutimos a influ ncia da abordagem no ensino da programa o paralela assim como os poss veis caminhos para os quais a computa o paralela tende seguir Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado 4 1 Introdu o Este cap tulo apresenta os t picos iniciais a serem abordados no in cio do processo de ensino de programa o paralela Apresenta tamb m as principais motiva es para o apro fundamento nos estudos desta rea e a import ncia dos modelos no suporte ao avan o do paralelismo Partindo de conceitos b sicos tais como o que processamento paralelo veremos rapidamente algumas vantagens deste sobre o processamento sequencial poss veis
137. antir que os alunos apliquem parte da carga hor ria praticando alguns exerc cios Por fim como todo o conte do digital o docente pode disponibilizar ao fim da aula o conjunto de slides anotados para os alunos normalmente colocando os numa p gina da Internet criada para a disciplina Nos trabalhos mais recentes encontrados na literatura 8 9 10 11 e 12 sobre a utiliza o desse ambiente no ensino pode se ressaltar a exist ncia de diversos resultados positivos no impacto sobre os estudantes destacando se a prefer ncia pela metodologia de ensino com os Tablet PCs sobre a metodologia tradicional H ind cios de melhora quantitativa como aumento de notas de alunos de alunos que aprenderam utilizando essa metodologia em rela o tradicional Os experimentos realizados at o momento por m foram feitos com grupos de alunos muito pequenos n o podendo assim serem tomados como verdade absoluta 2 3 Grava o de screencasts utilizando Tablet PCs Outro benef cio trazido pela introdu o de Tablet PCs a possibilidade de se gravar screencasts das aulas Conforme explicado anteriormente um screencast consiste na grava o de um v deo que contenha o udio do ambiente principalmente a voz do docente sincronizado s anota es deste Na rea de exatas o conte do essencial de uma aula n o est na express o e gestos do docente Apesar destes serem importantes o material passado atrav s dos slides e anota es
138. ap tulo 3 do mesmo livro Entretanto por muitos anos acreditou se que a defini o original do termo era The term architecture is used here to describe the attributes of a system as seen by the programmer i e the conceptual structure and functional behavior as distinct from the organization of the data flow and controls the logical design and the physical implementation que foi apresentada no artigo intitulado Architecture of the IBM System 360 escrito por G M Amdahl G A Blaauw e F P Brooks Jr e publicado no IBM Journal of Research and Development Amdahl 1964 7 2 3 Evolu o do termo Arquitetura de Computador Ao longo dos anos a defini o original do termo Computer Architecture foi alterada ou modificada por diversos autores e apresentada em in meras fontes da literatura mas essencialmente permaneceu a ideia entendimento ou significado que a arquitetura dos computadores relacionada exclusivamente com o hardware do computador Uma prova desse fato a defini o Computer Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional performance and cost goals Computer architecture is not about using computers to design buildings atualmente apresentada no principal site relacionado com a arquitetura de computadores que o WWW Computer Architecture Page Na atualidade dentre as diversas defini es existentes para
139. aplicativo e ou b sico 203 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 3 3 Impactos do significado do termo nos per odos posteriores s disciplinas Arquitetura de Computadores Nas disciplinas dos per odos posteriores s disciplinas Arquitetura de Computadores principalmente nas relacionadas com engenharia de software e com as principais reas de aplica o observa se que na maior parte dos cursos os alunos n o s o motivados pelos seus professores a continuar considerando e valorizando os aspectos relacionados com as arquiteturas e com as implementa es dos computadores que s o utilizados para a execu o dos programas desenvolvidos a partir dos algoritmos propostos e elaborados Normalmente as influ ncias das arquiteturas no desempenho computacional e at mesmo na qualidade dos resultados n o s o apresentadas e discutidas pelos professores e posteriormente exploradas e investigadas pelos alunos Considerando se os per odos posteriores realiza o das disciplinas diretamente relacionadas com a arquitetura de computadores ou os per odos finais dos cursos observa se que os alunos j possuem muitos conhecimentos relacionados com a arquitetura de computadores inclusive sobre as defini es do termo Deste modo observa se que os principais impactos negativos relacionados s defini es e significados do termo Arquitetura de Computadores s o causados pelas opini es cren as e
140. apresentadas Por isto dividimos o conte do desse cap tulo em quatro subse es e A primeira ir discutir o Tablet PC em mais detalhes al m de mostrar como esse equipamento pode ser utilizado para a cria o de ambientes de ensino ativo e colaborativo assim como utilizado para a grava o de screencasts Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado e A segunda subse o aborda as principais mudan as realizadas no referido curso de Arquitetura de Computadores de forma que esse utilizasse os Tablet PCs para as atividades colaborativas e a grava o de screencasts e A terceira descreve os resultados encontrados no curso em que a metodologia foi utilizada e A quarta apresenta as conclus es obtidas pelos pesquisadores com base nos resultados apurados 2 1 Tablet PC o equipamento Da vasta gama de dispositivos m veis que surgiram na ltima d cada pode se destacar o Tablet PC como um equipamento que re ne um conjunto de funcionalidades considerada bem pr xima do ideal para aplica o em ambientes educacionais Grosso modo ele pode ser definido como um notebook com alta mobilidade por m dotado de interface pen based seu grande diferencial Al m disso fatores como baixo peso alta mobilidade compatibilidade com softwares de PC e longa dura o da bateria tamb m s o diferenciais desse dispositivo A interface pen based do Tablet PC permite escrita diretamente na tela como alguns
141. ar tempo w e o n mero m ximo de valores enviados ou recebidos por qualquer processador h ent o o tempo total t para um superstep dado por t wthg l onde g e s o os par metros de rede Logo facil determinar o custo de um programa esse tempo estimado depende da aleatoriedade do mapeamentos das threads e da estima tiva do tempo limite para a comunica o Portanto programas BSP devem ser decompostos em threads mas o mapeamento das threads feito automaticamente A comunica o derivada do mapeamento das threads e a sincroniza o depende do programa como um todo O modelo simples e convenientemente abstrato mas necessita de uma metodologia de constru o de soft ware A medi o de custos apresenta o custo real de um programa em qualquer tipo de arquitetura para o qual g e s o conhecidos Ap s a conclus o da apresenta o do modelo sugerimos uma descri o do estado do modelo nos dias atuais como uma forma de motiva o do estudo associado a um exemplo de aplica o A vers o mais atual de implementa o de BSP usa um biblioteca SPMD Single Program Multiple Data que pode ser nas linguagens C ou Fortran A biblioteca oferece opera es para colocar dados na mem ria local a partir de um processo remoto put para acessar os dados de um processo remoto get e para sincronizar A seguir um exemplo de um pequeno programa para computar somas de prefixos 24 121 Cap tulo 4 Arquitetura de
142. ara mem ria cache L1 10 ciclos para mem ria cache L2 e 60 ciclos para a mem ria principal Al m da modelagem no simulador foi desenvolvido um programa paralelo em OpenMP para decodifica o de MP3 Em um segundo trabalho do primeiro ano foi modelado um processador dual core Pentium 4 de 2GHz Onde cada n cleo possui uma mem ria cache L1 de 64 kB e os dois n cleos compartilham uma mem ria cache L2 de 2 MB Foi utilizado uma lat ncia de 3 ciclos para a mem ria cache L1 e 14 ciclos para a mem ria cache L2 Neste tra balho o aluno estudou a organiza o do Intel Core Duo n cleo Yonah para especificar as lat ncias do projeto A aplica o avaliada nesta arquitetura foi um decodificador MPEG paralelizado atrav s de MPI Um terceiro trabalho do primeiro ano foi focado na arquitetura UltraSparc II O aluno modelou um processador com quatro n cleos mantendo tamb m a tend ncia mostrada nos trabalhos anteriores de compartilhamento de mem ria cache L2 e mem rias cache L1 locais e privadas No entanto o aluno desenvolveu dois modelos no primeiro a mem ria cache L2 compartilhada entre todos os quatro n cleos no segundo a mem ria cache L2 dividida em duas sendo que apenas dois n cleos compartilham cada uma delas No primeiro modelo a mem ria cache L1 possui 32 kB e a mem ria cache L2 possui 1024 kB No segundo modelo a mem ria cache L1 permanece com o mesmo tamanho mas as mem rias cache L2 possuem agora 512 kB cada uma
143. aracter sticas o uso de interrup es em Assembly tamb m se mostrou um ponto cr tico no processo de aprendizado Uso da ferramenta de aux lio No texto do problema era indicado como ferramenta de auxilio a ferramenta emu8086 O curva de aprendizado para essa ferramenta foi mais alta do que o esperado Elimina o de efeitos colaterais do sistema operacional Os alunos demoraram a per ceber que o sistema operacional poderia exercer influ ncia nos resultados obtidos dependendo da estrat gia adotada para provocar falhas na cache Dificuldades de implementa o Durante a fase de implementa o do exemplo 1 os alu nos tiveram dificuldades em atacar a pol tica de substitui o LRU Em determinados casos a forma simplificada da implementa o falhava em rela o escolha da linha menos recentemente usada Foi adotada para a pol tica de atualiza o a op o de forma mais simples write through As implementa es da falta de escrita foram tratadas apenas na mem ria principal No exemplo 3 os alunos n o conseguiram implementar o diret rio de cache e o diret rio e a tabela de p ginas 56 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado 32 20 12 ENDERE O LINEAR VIRTUAL ven VPO al Ris TLBT TLBI ENDERE O F SICO DIRET RIO TABELA DE DE P GINAS P GINAS PDBR VPN VIRTUAL PAGE NUMBER PDBR PAGE DIRECTORY BASE REGISTER TLBT TLBTAG VPO VIRTUAL PAGE O
144. aralelas dos sistemas de computa o envolvendo de modo isolado e integrado os elementos de processamento os elementos de armazenamento e os elementos de comunica o No futuro deve se explorar de modo formativo as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos tanto os processadores de prop sito geral quanto os processadores gr ficos com m ltiplos n cleos e tamb m os processadores h bridos que integram processadores de prop sito geral e processadores gr ficos com m ltiplos n cleos Como exemplo desse tipo de atividades destacam se 210 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado l Avalia o de desempenho de programas sequenciais fornecidos pelo professor da disciplina codificados utilizando se a linguagem C com o prop sito de explorar os aspectos arquiteturais dos computadores como mem ria cache e pipeline Os programas devem ser executados em computadores que utilizam diferentes modelos de processadores que possuem diferen as em rela o hierarquia de mem ria cache e outros aspectos arquiteturais e de diferentes fabricantes 2 Desenvolvimento de programas sequenciais orientados pelo professor da disciplina e posterior avalia o de desempenho de programas desenvolvidos utilizando se a linguagem C com o prop sito de explorar aspectos arquiteturais dos computadores como mem ria cache e pipeline Os programas desenvolvidos devem ser executados
145. arantir apenas a influ ncia da carga de trabalho submetida os dois projetos possu am as mesmas lat ncias de acessos mem ria principal mesmo tempo de acesso mem ria cache e a mesma ocupa o de rea Ent o as mesmas cargas de trabalho com caracter sticas de opera es de n meros inteiros ponto flutuante e de multiprograma o foram aplicadas aos dois projetos Os resultados demonstraram que para cargas de trabalho onde os fluxos de in stru es das aplica es n o s o paraleliz veis o ganho favor vel ao processador su perescalar em 30 Nesse caso existe uma explora o melhor do paralelismo no n vel de instru o Para aplica es onde existe um baixo paralelismo de threads o ganho ainda favor vel arquitetura superescalar mas no m ximo de 10 No entanto onde h um 78 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 21mm gt Teas mal ache Pe inetuetion 32 KI na Decode amp Data gache 32 KB Reorder Butor Instruction Que and Out of Order L Logic Clocking amp Pads On Chip L2 Cache 256KB On Chip L2 Cache 256KB S 43 6 EE 3 2 5 E 8 q Integer Unit Floating Point Unit Figura 3 1 Comparativo de processadores 6 a Processador superescalar b Processador multi core grande paralelismo no n vel de thread o ganho passa a ser da arquitetura CMP variando de 50 a 100 em rela o ao superescalar
146. ares para simula o e s ntese enquanto que um deles utiliza a linguagem assembly como ferramenta 2 4 2 1 Exemplo 1 Mem ria Cache e Hierarquia de Mem ria O objetivo desse problema foi a implementa o de um controlador de mem ria cache em FPGA usando a linguagem VHDL capaz de se adaptar a um processador e uma mem ria principal com as caracter sticas listadas na tabela 2 6 Tabela 2 6 Caracteristicas da arquitetura do Exemplo 1 do Caso 2 Processador Mem ria Principal Cache 10 bits de endere amento SDRAM capacidade de 64 bytes barramento de dados de 8 capacidade de 1k x 8 esti mapeamento associativo bits pulada para o problema por conjuntos 2 Way clock de 10MHz linha de dados de 64 bits 4 linhas por conjunto sinais de controle R ler da mem ria W escrever na mem ria e ACK si nal de entrada que indica o fim uma opera o reali zada sinais de controle R lei tura W escrita BURST modo rajada 6 1 1 1 e CLK clock linhas de 8 palavras sendo cada palavra 1 byte pol tica de substitui o FIFO First In First Out ou LRU Least Recently Used 54 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado 2 4 2 2 Exemplo 2 Mem ria Cache Linguagem Assembly O problema deste exemplo apresentava para os alunos o seguinte desafio comprovar a exist ncia de mem ria cache nos computadores do laborat rio de hardware
147. arquitetura est relacionado no contexto do termo composto arquitetura de Computador Finalmente considera se que o ideal seria a utiliza o dos termos Sistema de Computa o e Arquitetura de Sistema de Computa o em substitui o aos termos Computador e Arquitetura de Computador e uma nova vers o da defini o utilizando se o termo Arquitetura de Sistema de Computa o Neste contexto devem ser considerados os diversos tipos de sistemas de computa o incluindo se os denominados n o convencionais ou n o tradicionais e algumas das arquiteturas denominadas n o convencionais como as arquiteturas reconfigur veis arquiteturas evolutivas arquiteturas inteligentes e arquiteturas aut nomas Ao finalizar a descri o do grande desafio algumas perguntas fundamentais devem ser consideradas Uma nica defini o do termo pode representar de modo ideal toda a diversidade dos objetos denominados computador considerando inclusive as diferentes classes de computadores 9 12 13 16 poss vel criar uma defini o do termo que posteriormente seja utilizada de modo generalizado globalizado e at padronizado Quais as vantagens e desvantagens de uma padroniza o na defini o do termo ou at mesmo de uma defini o padr o do termo arquitetura de computador Deste modo pode se afirmar que a principal meta do grande desafio de redefini o do termo produzir uma defi
148. arquitetura multicore 152 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Conte do 1 Revis o de Arquitetura de Computadores Introdu o de conceitos M tricas de Desempenho Computacional Tecnologias Gera o de Computadores Pipeline de Processadores Tend ncias em Escalabilidades Classes de computadores 2 Microarquiteturas Avan adas Arquitetura RISC e CISC Arquiteturas Superescalares Arquiteturas VLIW 3 Classifica o de Arquiteturas Paralelas Flynn Arquitetura SMP Arquitetura SMP NUMA Arquitetura SMP NUMA H brida 4 Arquiteturas Multicore Arquitetura de Mem ria Compartilhada Arquitetura de Mem ria Distribu da 5 Arquitetura Multithreading Limita es no Projeto de Chip Hardware CMP CMT HMT Gera es SPARC Microarquitetura do SPARC V8 V9 Virtualiza o de Hardware Introdu o ao processador OpenSPARC T1 T2 6 Arquitetura Heterog nea Introdu o ao Ecosistema Cell BE Introdu o ao Processador Cell Broadband Engine Vis o geral do Cell Hardware Componentes PPE e SPE s Vis o geral do Cell Software SDK ferramentas simulador e bibliotecas otimizadas Arquitetura Cell BE Conceitos b sicos de programa o para Cell DMA Mailboxes SIMD Introdu o ao Cell SDK 3 1 Hands on Programa Hello World PPExSPE Hands on Programa DMA e Mailboxes Hands on Programa SIMD Hands on Ferramenta para an lise estat stica do tempo da SPU 153 Cap tul
149. arquiteturas com mem ria distribu da ainda n o competitiva Como muito agendamento feito dinamicamente em tempo de execu o medidas de custos n o s o poss veis 4 5 2 Linguagens l gicas expl citas Tamb m s o chamadas de linguagens l gicas concorrentes e podem ser vistas como uma nova interpreta o de cl usulas Horn cl usulas com no m ximo 1 literal positivo Isso significa que uma cl usula com objetivo at mico C pode ser visto como um processo um objetivo conjuntivo C1 Cn pode ser visto como uma rede de processos e uma vari vel l gica usada entre dois subobjetivos distintos pode ser vista como um canal de comunica o entre dois processos Exemplos de linguagens dessa classe s o PARLOG 4 Delta Prolog Concurrent Prolog O paralelismo alcan ado pelo enriquecimento de uma linguagem l gica como o Prolog com alguns mecanismos para a anota o de programas Uma outra linguagem onde o paralelismo deve ser explicitado pelo desenvolvedor o Multilisp Esta linguagem uma extens o de Lisp onde oportunidades para o para lelismo s o criadas usando a anota o future Nela h uma correspond ncia direta entre threads e futures A express o future X representa que o valor X est parcialmente calcu lado e cria um processo para computar X possibilitando paraleliza o entre o processo que deve computar aquele valor e o processo que deve usar aquele valor Quando o valor de X computado o valo
150. articular com 4 nodos simulados onde foram avaliadas diferentes configura es de nodos com diferentes capacidades de processa mento Os resultados diferente do esperado n o mostraram perdas de desempenho ao adicionar o nodo gargalo na pequena rede mesmo assim o aluno usou esses resultados como motiva o para criar uma nova metodologia de avalia o para atacar novamente o problema Um terceiro trabalho do segundo ano apresentou diversas simula es de arquite turas de multi core com 1 2 8 e 16 n cleos de processamento Onde o aluno motivado por outros artigos que diziam que poderia haver queda de desempenho com 16 n cleos resolveu apresentar um trabalho avaliando o ganho de desempenho conforme se aumen tou o n mero de n cleos de processamento Nessa simula o diferentemente do que foi simulado no artigo base o aluno n o simulou a conten o na mem ria que seria gerado por exemplo por conflitos de acesso a um n mero restrito de portas de acesso Como resultado n o houve quedas de desempenho conforme aumentou a quantidade de n cleos de processamento levantando a hip tese sobre a influ ncia da conten o de mem ria a qual deve ter grande influ ncia no desempenho final do sistema multi core O segundo ano da disciplina com o Simics foi positivo entretanto houve um contratempo inicial relacionado com as licen as do Simics uma vez que a Virtutech estava com algumas mudan as no fornecimento de licen as houve um
151. as Desta forma os processadores superescalares s o capazes de aumentar consideravelmente o desempenho na execu o de cargas de trabalho com alto paralelismo no n vel de instru es O suporte a m ltiplas threads 2 1 uma alternativa de explora o de par alelismo n o mais no n vel de instru es mas no n vel de fluxo de instru es threads Isso significa um aumento na vaz o de threads podendo mais de uma thread ser execu tada ao mesmo tempo ao contr rio da superescalaridade onde a vaz o de instru es de uma nica thread Diversas s o as t cnicas para explora o do paralelismo no n vel de threads sendo que a mais conhecida a SMT Simultaneous Multithreading que suportada por uma arquitetura superescalar Ao longo de d cadas as t cnicas de aumento de profundidade do pipeline aliado ao aumento da frequ ncia de trabalho do processador ciclo de rel gio foram utilizadas a fim de obter o m ximo desempenho a cada nova gera o de processador O custo para esse ganho de desempenho foi o aumento da complexidade da unidade de controle dos processadores assim como o aumento no consumo de pot ncia e temperatura do sistema computacional Entretanto esta forma tradicional de aumento de desempenho come ou a apresentar problemas f sicos relacionados com o alto grau de integra o dos componentes como o atraso do fio consumo de pot ncia est tica entre outros Assim essa complexa abordagem de extra o
152. as de v deo Quatorze alunos estimaram o n mero de v deos que foram consultados por eles chegando a uma m dia de 11 v deos Usaram V deo 100 00 90 00 80 00 70 00 60 00 50 00 40 00 30 00 20 00 13 79 0 00 N o Sim 86 21 Figura 14 Percentagem de alunos que utilizaram v deos como material de estudo Alguns coment rios dos alunos que ilustram o uso dos v deos Qtde de horas pelo menos 5 horas foi mais utilizado p tirar d vidas de coisas que n o entendi ou alguma coisa extra ao livro Aproximadamente 5 videos na I prova e 1 30hs de v deos diversos na 2 prova Os v deos as aulas abrangem bastante o conte do proposto no livro texto E uma tima id ia a ser continuada mas talvez a qualidade do som poderia melhorar Tirando as aulas de introdu o eu assisti todos os v deos Tamb m foi perguntado para os alunos se estes tiveram problemas na utiliza o dos v deos O formato escolhido para publica o foi o Flash Video uma vez que sites populares como o YouTube utilizam esse formato esperado que a grande maioria dos usu rios tenha o software necess rio para assistir os v deos instalados em suas m quinas A figura 15 mostra que uma quantidade pequena embora n o desprez vel dos alunos 20 teve problema na visualiza o dos v deos Era pedido aos alunos que tiveram problemas para que detalhassem o ocorrido A maioria da
153. as de cada rea de aplica o sendo executados Na atualidade deve se explorar as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos tanto os processadores de prop sito geral com m ltiplos n cleos quanto se poss vel os processadores gr ficos ou seja as GPUs Como exemplo desse tipo de atividades destacam se 1 Avalia o de desempenho de programas paralelos que realizam c lculos matem ticos simples como o c lculo de pi ou a manipula o de matrizes fornecidos pelo professor orientador da atividade codificados utilizando se a linguagem C e a API OpenMP Os 213 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado programas devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes Os alunos devem realizar an lises estat sticas dos resultados de desempenho utilizando medidas estat sticas como diferentes tipos de m dias vari ncia desvio padr o e coeficiente de varia o Posteriormente os alunos devem preparar tabelas e gr ficos para a apresenta o e a an lise dos resultados Finalmente os alunos devem preparar relat rios e at mesmo artigos nos formatos de artigos de eventos cient ficos como por exemplo do WSCAD WIC Nestas atividades deve se explorar com maior profundidade as diversidades das
154. ate value Campo Destination ImmediateValue Register Tamanho 5 3 8 Faixa Bits 15 11 10 8 7 0 Modo de endere amento direto por registrador register direct addressing mode operando conte do do registrador Modo de endere amento indireto por registrador register indirect addressing mode operando conte do da posi o de mem ria especificada pelo conte do do registrador Zano AddrMode res rve Destination Source P 00 01 10 Register Register Tamanho 5 2 3 3 3 ee cm 15 11 10 9 8 6 5 312 0 bit 10 modo de endere amento do registrador destino DestinationRegister O direto 1 indireto bit 9 modo de endere amento do registrador fonte SourceRegister 0 direto 1 indireto Figura 2 3 Formatos de instru es A segunda vers o do problema alterou o conjunto de instru es o tipo de arqui tetura LOAD STORE a capacidade de endere amento da mem ria principal 4 kbytes o tamanho dos operandos 16 bits e omitiu o formato de instru es A terceira vers o promoveu altera es semelhantes al m de acrescentar um prefetch buffer para o armaze namento de 8 instru es 49 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 4 Conjunto de instru es para o processador vers o 1 Tipo Instru o Operandos Descri o Transfer ncia MOVC R Const R Const de dados MOV R R2 Ri R2 Ri Rol R1
155. bjetivos de aprendizagem devem ser incorporados ao problema Alguns autores prop em que estes objetivos sejam apresentados somente depois da solu o No entanto nos estudos integrados de Sistemas Digitais os objetivos de aprendizagem costumam ser incorporados ao problema A elabora o dos problemas um processo colaborativo entre todos os tutores que participam do estudo integrado Para cada problema define se um tema os objetivos de aprendizagem uma descri o do problema um cronograma dos tutoriais e aulas bem como os prazos para a entrega da solu o especifica o do produto a ser entregue e um detalhamento de recursos de aprendizagem Os problemas neste estudo integrado envol vem na maioria dos casos a execu o de projetos com desenvolvimento de produtos sejam relat rios programas ou solu es utilizando dispositivos l gicos program veis como FPGAs 2 3 3 Avalia o As avalia es dos estudos integrados de engenharia de computa o da UEFS s o com postas por um conjunto de elementos Nos estudos integrados de Sistemas Digitais bem como em outros estudos integrados da UEFS como Programa o Concorr ncia e Co nectividade as avalia es s o baseadas no produto elaborado a partir dos problemas e no desempenho do aluno durante as sess es tutoriais Oliveira et al 2007 Santos et al 2008a A avalia o do produto composta pela an lise de um programa desenvolvido 46 Cap tulo 2 Arquitetura
156. bordagens de Ensino e Contexto no Brasil N o h na literatura uma abordagem totalmente definida a respeito desta quest o de ensino em Arquitetura de Computadores Contudo temos de nos conscientizar que certos enfoques de estrutura de hardware e projeto de chip n o s o t o relevantes em determinados curr culos de ci ncia da computa o mas sim mais pertinentes para engenharia da computa o Clements 2009 Futuras dire es do curr culo em Arquitetura s o discutidas em um artigo sobre a utiliza o compila o em sil cio para hardware software co design Downton 2002 uma contribui o da Universidade de Essex Reino Unido T cnicas de aprendizagem Kock 2003 s o abordadas por Kock e referenciadas em nossas disciplinas propostas A elabora o desta proposta visa contemplar tamb m as necessidades e impactos na sociedade em que alunos e professores est o inseridos a realidade do mercado de trabalho bem como a capacidade de provocar mudan as nesses contextos Visa tamb m 150 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado a atualidade do conte do t cnico estado da arte e a busca por novos horizontes tecnol gicos Masetto 2003 As tend ncias multicore e manycore fazem com que seja introduzido no elenco de disciplinas algo que j vem sendo explorado na disciplina atual de Arquiteturas Avan adas de Computadores I o surgimento dos novos Centro de Compet ncia IBM Cell Portal CellBR
157. cConnell J 1996 Active Learning And Its Use in Computer Science In Integrating Technology into CSE 10 Price Edward Simon Beth 2007 A Survey to Assess the Impact of Tablet PC Based Active Learning Preliminary Report and Lessons Learned The Impact of Tablet PCs and Pen based Technology on Education Beyond the Tipping Point p 97 105 11 Prince M 2004 Does Active Learning Work A review of the research In Journal of Engineering Education 93 3 223 232 12 Simon Beth Anderson Ruth SU Jonathan 2004 Preliminary Experiences with a Tablet PC Based System to Support Active Learning in Computer Science Course In Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education Session Technology in CS education table of contents p213 217 United Kingdom 32 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado 13 Subhlok J Johnson O Subramaniam V Vilalta R Yun C 2007 Tablet PC video based hybrid coursework in computer science report from a pilot project ACM SIGCSE Bulletin Issue 1 p 74 78 Tablet PC Review http www tabletpcreview com 33 Cap tulo 2 Ensino de Arquitetura de Computadores Uma Abor dagem Utilizando a Metodologia de Aprendizagem Baseada em Problemas Wagner L A de Oliveira Anfranserai M Dias Antonio L Apolin rio Jr Angelo A Duarte Tiago de Oliveira E mails wagner an f ran
158. ca diferen a o fato de ser comum a aus ncia de drives de CD DVD nos Tablet PCs a fim de se obter maior mobilidade e economia de energia A tabela 1 ilustra as principais caracter sticas da configura o de um modelo de Tablet PC da HP tx1040br vendido por cerca de R 3 500 00 no mercado nacional Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Tabela 1 Configura o do Tablet HP tx1040br Processador AMD Turion X2 Dual Core 2 0 GHz 1 MB L2 Cache Mem ria 3072 MB DDR2 800 MHz HD 250 GB Resolu o do visor 1280 x 800 Tamanho da tela 12 1 Tecnologias sem fios LAN Sem Fios 802 1 1a b g n e Bluetooth Unidade tica SuperMulti DVD RW Webcam WebCam HP Pavilion Microfone Portas de E S externas 3 USB 2 0 1 VGA 15 pin 1 RJ 11 Modem 1 RJ 45 LAN 1 TV Out S Video 2 saidas para fones de ouvido 1 entrada para microfone 1 Porta de Expans o Expansion Port 3 2 Consumer IR receptor de controle remoto Peso 1 96 kg Dimens es do produto Lx Px A 224 x 306 x 38 mm Sistema operacional instalado Windows Vista Business 2 2 Utiliza o de Tablet PCs para a montagem de ambientes de ensino ativos e colaborativos Dadas as caracter sticas de hardware citadas na se o anterior poss vel entender porque o Tablet PC possibilitou e est popularizando a utiliza o de dispositivos computacionais na montagem de ambientes de ensino
159. cam apoiar as disciplinas diretamente envolvidas como Arquitetura e Organiza o de Computadores A cria o da fam lia de processadores BIP buscou transcender esse enfoque induzindo um leque de possibilidades de explora o dos conceitos envolvidos em diferentes disciplinas da Ci ncia da Computa o em uma abordagem interdisciplinar As tr s vers es do processador BIP permitiram trabalhar n veis de complexidade diferentes e com isso envolver disciplinas do primeiro segundo terceiro e s timo semestres do curso de Ci ncia da Computa o da Universidade do Vale do Itaja UNIVALI al m de envolver trabalhos de conclus o de curso Sabe se que existem varia es na matriz curricular e na nomenclatura de disciplinas nos cursos de Ci ncia da Computa o de institui es distintas Tendo isso em vista a Tabela 6 8 apresenta um extrato da organiza o curricular utilizada no curso de Ci ncia da Computa o da UNIVALI Foram acrescidas informa es sobre as ementas das disciplinas em que os conceitos do BIP foram trabalhos a fim de permitir ao leitor estabelecer uma rela o destas com as disciplinas correlatas em outras institui es que possuam o curso de Ci ncia da Computa o Tabela 6 8 Extrato da matriz curricular do curso de Ci ncia da Computa o da Universidade do Vale do Itaja UNIVALI 1 Per odo Disciplina C H Ementa Conceitos preliminares Manipula o de dados Estruturas de 120 controle de flu
160. carga densa de s mbolos diagramas e equa es dentre outros que s o de dif cil reprodu o com o uso de mouse e teclado Com isso temos uma interface que possibilita que os alunos exer am toda a sua criatividade ao mesmo tempo em que utilizam as facilidades providas por um computador Com isso abre se campo para o desenvolvimento de uma s rie de novas metodologias de ensino que explorem correntes pedag gicas de efic cia comprovada por m de dif cil implanta o A metodologia aqui discutida refere se s praticas de ensino ativo e colaborativo onde os alunos s o instigados a resolverem exerc cios durante a aula saindo assim do papel de meros espectadores e participando melhor da aula Com o uso de Tablet PCs pode se aplicar essa metodologia de forma a atingir os seguintes objetivos e Melhorar a forma de apresenta o do conte do e Aumentar a participa o dos estudantes durante a aula fazendo com que alunos t midos ou com dificuldades no aprendizado sejam mais participativos e Fornecer uma forma de retorno r pido para o professor e Fornecer material did tico extra aos alunos em especial os slides do professor com anota es e v deos das aulas Todas essas mudan as ser o discutidas no decorrer deste cap tulo em detalhes mostrando as dificuldades envolvidas em sua aplica o assim como o uso dessa metodologia afetou o curso de Arquitetura de Computadores ministrado na Unicamp Cap tulo 1 Arquitetu
161. caso mostrou se que para as atuais e futuras tecnologias de integra o as tradicionais t cnicas de ganho de desempenho obtidas com modifica es na mem ria cache como aumento do tamanho das mem rias incremento da associatividade maiores tamanhos da linha etc n o devem apresentar ganhos reais de desempenho caso o acr scimo de lat ncia gerado por essas t cnicas n o seja reduzido a fim de equilibrar entre a redu o na taxa de faltas de dados e o tempo de acesso aos dados Nos trabalhos desenvolvidos pelos alunos apresentados a seguir foi utilizado o simulador Simics simulando sistemas operacionais Linux ou Solaris com compiladores GNU GCC ou Sun Studio respectivamente 104 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Inicialmente os alunos utilizaram arquiteturas de processadores dual core e quad core conhecidas sem efetuar mudan as que representassem altera es ou uma nova pro posta de arquitetura As configura es principais de tr s trabalhos feitos no primeiro ano que a disciplina adotou o Simics para auxilio no ensino s o descritas a seguir Um primeiro trabalho do primeiro ano modelou um processador quad core AMD Opteron de 64 bits As mem rias cache L1 s o locais a cada n cleo possuem tamanho de 128 kB cada e n o s o privadas A mem ria cache L2 possui tamanho de 512 kB e compartilhada entre todos os n cleos Os ciclos de penalidade para cada mem ria s o 3 ciclos p
162. chiero M Ortega D COTSon Infrastructure for full System Simulator ACM Transaction on Computer Systems Vol 43 Issue 1 52 61 January 2009 Magnusson P S Christensson M Eskilson J Forsgren D Hallberg G Hogberg J Larsson F Moestedt A Werner B 2002 Simics A full System Simulator Platform IEEE Computer Vol 5 Issue 2 50 58 Scott Beamer 2009 Section 1 Introduction to Simics University of Berkeley Shrenik Mehta David Weaver Jhy Chun Wang Ashley Saulsbury Partha Tirumalai Raj Prakash OpenSPARC T1 Tutorial ASPLOS XII 2006 Thatcher Thomas 2009 OpenSPARC Program Updates RAMP Retreat January 2009 Berkeley 164 Cap tulo 6 Um Enfoque Interdisciplinar no Ensino de Arquitetura de Computadores Cesar Albenes Zeferino Andr Luis Alice Raabe Paulo Viniccius Vieira e Maicon Carlos Pereira Abstract This chapter presents the results of an experiment involving different courses of a Bachelor in Computer Science related to the use of a simple processors family designed to assist in learning concepts of computer architecture The family of processors is called BIP Basic Instruction set Processor and has three versions named BIP I BIP II and BIP III with incremental resources and complexity These different versions were used for teaching concepts related to Introductory Programming Digital Circuits Computer Architecture and Organization and Compilers The
163. ciente ou imperfeita de informa es Em medicina um paciente pode confundir se ou ser impreciso ao dar uma informa o ao seu m dico Em engenharia muitas vezes deve se lidar com incertezas sobre as informa es do ambiente onde um produto ir ser utilizado e Comprometimento e auto regula o Os estudantes envolvem se mais no processo de aprendizagem quando eles devem definir seus pr prios objetivos dentro das res tri es impostas pelas regras gerais definidas pelos instrutores dos cursos Uma das restri es mais comuns e sempre presentes no mundo real refere se ao tempo em que um projeto deve ser conclu do e Trabalho cooperativo Os estudantes devem sempre se organizar para dividir a tare fas entre si e para posteriormente consolidar os trabalhos individuais em um nico trabalho e Rela es interdisciplinares Problemas complexos envolvem conhecimentos minis trados em diversas disciplinas Na metodologia de ensino tradicional centrada em aulas na qual via de regra os professores focalizam um assunto espec fico e abs traem o efeito do contexto Diferentemente no PBL as quest es interdisciplinares s o inevit veis j que os estudantes acabam lidando com problemas comuns do contexto profissional em lugar de lidar com abstra es Segundo Thomas et al Thomas et al 1999 existem cinco crit rios que um projeto deve atender para ser considerado um problema adequado ao uso em PBL e Deve estar centralizados no curri
164. cioc nio paralelo e s o apresentadas algumas lingua gens utilizadas para a implementa o de programas paralelizados A seguir descrevemos o conte do de cada classe de modelos 4 4 Nada Expl cito Quanto mais um modelo de computa o paralela afastar o programador das decis es sobre o paralelismo melhor ele deve ser considerado Entretanto modelos como este s o muito abstratos e dif ceis de implementar devido a grande quantidade de infer ncias que s o necess rias para realizar a paraleliza o de forma totalmente automatizada A automatiza o deve estar em todas as fases da paraleliza o dividir o programa em partes adequadas mapear essas partes nos processadores escalon las e sincroniz las Por m apesar do muito trabalho investido essa abordagem se mostrou ineficaz de vido a dificuldade em se determinar de antem o se essencial paralelizar um determinado aspecto do programa Isto s poss vel se desde o in cio do projeto for escolhido um mo delo voltado para esta quest o por m isso muito abstrato e custoso As abordagens propostas mantendo alto n vel de abstra o s o variadas e mostradas nesta se o 4 4 1 Programa o funcional de ordem superior Programa o funcional um paradigma de programa o que trata a computa o como uma avalia o de fun es matem ticas e que evita estados ou dados mut veis Ela en fatiza a aplica o de fun es ao inv s de enfatizar mudan as no est
165. ck 0 Gdc0 config write allocate 0 edc0 config replacement policy lru dc0 penalty_read 0 dcO0 penalty_write 0 dc0 penalty_read_next 0 dc0 penalty_write_next 0 dcO timing_model 12c0 0 Gts i0 pre conf object ts 10 trans splitter ts_i0 cache ic0 Gts i0 timing model ic0 Gts i0 next cache line size 64 Transaction Splitter para Mem ria Cache L1 de Dados Gts dO pre conf object ts d0 trans splitter ts_d0 cache dc0 ts_d0 timing_model dc0 ts_d0 next_cache_line_size 64 ID Splitter para Mem ria Cache L1 id0 pre conf object id0 id splitter GidO ibranch ts i0O Gid0 dbranch ts do Mem ria Cache L2 12cl 12cl pre conf object 12c1 g cache 12cl cpus conf cpul 12cl config_line_number 16384 12cl config_line_size 64 12cl config_assoc 8 12cl config_virtual_index 12cl config_virtual_tag 0 12cl config_write_back 1 12cl config_write_allocate 1 12cl config_replacement_policy lru 12cl penalty_read 0 12cl penalty_write 0 12cl penalty_read_next 0 12cl penalty_write_next 0 12cl timing_model staller0 0 95 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Mem ria Cache de Instru es L1 icl icl pre conf object icl g cache icl cpus conf cpul icl config_line_number 1024 icl config_line_size
166. clo convencional de ensino onde os conceitos te ricos s o estudados antes da apresenta o de qualquer problema o aluno nesta nova metodologia de aprendizado deve realizar todo o levantamento bibliogr fico necess rio para a resolu o do problema iniciando uma reflex o cr tica sobre o problema aplicado 35 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado O problema deve ser capaz de despertar no aluno a motiva o para que este tenha inte resse suficiente para adquirir a base te rica que lhe falta para compreender e solucionar os problemas propostos Por fim na fase final deste ciclo etapa de realiza o o aluno deve utilizar os conceitos te ricos estudados para a produ o de um produto final aproximando a teoria aprendida com a pr tica e permitindo ao aluno a compreens o da realidade apre sentada A realiza o de solu es para os problemas estudados anteriormente sedimenta definitivamente a compreens o do assunto Ao analisarem diversas metodologias de aprendizagem ativa os fundadores do curso verificaram que o m todo PBL seria uma excelente candidata para aplica o do ciclo de situa o fundamenta o realiza o no contexto de um componente curricular de dura o semestral dos Santos et al 2007 Outras metodologias que implementam este ciclo tais como aprendizagem por projetos e estudo independente McKeachie 1999 s o tamb m utilizadas em outros componentes curriculares d
167. cola Polit cnica Estas duas disciplinas que oferecem duas oportunidades de pesquisas bem importantes para esta nova era Exascale que estamos entrando eProjeto de Microprocessadores Especiais Disciplina baseada em microprocessadores CMT Chip Multithread ePrograma o em Arquiteturas Avan adas Disciplina baseada em t picos avan ados de programa o para Computa o de Alto Desempenho em processadores aceleradores GPU e FPGA 159 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado 5 4 1 Projeto de Microprocessadores Especiais A disciplina de Projeto de Microprocessadores especiais visa oferecer ao aluno uma introdu o ao projeto de microprocessadores CMT baseado em c digo aberto O foco da disciplina introduzir o ambiente de projeto de microprocessadores multicore utilizando o Verilog RTL para o OpenSPARC TI Espera se que ao final do curso o aluno esteja familiarizado com v rios t picos quentes de pesquisa como integra o SoC rede de interconex o inter connection network comunica o de dados entre processadores e mem ria controlador de mem ria DRAM e cache O curso baseado em aulas te ricas com t picos introdut rios e de pesquisa e finalmente alguns laborat rios Conte do 1 Introdu o ao Chip Multithreading CMT Processadores SMT Simultaneous Multithreading IEEE Micro 1997 Recentes tend ncias em arquitetura de processadores NIT Treaty India 2007 2 In
168. configura o poss vel e Fractional Factorial Design Este modelo utiliza regras de escolha de combina es a fim de reduzir o n mero de experimentos mesmo assim essa t cnica continua gerando um bom n vel de detalhamento dos resultados O modelo Fractional Factorial Design um dos modelos mais indicados para avalia o de desempenho principalmente em sistemas simulados onde o n mero de ex perimentos deve ser controlado e n o muito grande Dentro deste modelo tamb m existem algumas sub estrat gias de projeto como os designs fatoriais 2 2 e os designs fato riais com replica o 2 r Ap s o estudo sobre os tipos de designs de experimentos foi decidido utilizar o modelo Fractional Factorial Design no projeto de avalia o de mem rias cache uma vez que esse design se molda melhor aos requisitos de simula o e teste pretendidos e a escolha do sub modelo foi feita de acordo com cada experimento pretendido escolhendo o mais adequado s necessidades 3 5 Simula o de Sistemas Completos A avalia o de desempenho pode ser classificada em modelagem de desempenho e medi o de desempenho 25 a modelagem de desempenho tipicamente dividida em simula o e modelagem anal tica Assim a avalia o de sistemas computacionais 24 pode ser feita de tr s maneiras diferentes modelagem anal tica simula o ou medi es A modelagem de desempenho tipicamente utilizada em est gios anteriores ao processo d
169. conhecimentos das arquiteturas paralelas utilizadas na execu o dos programas Os alunos observam e entendem a import ncia do aprendizado dos t picos relacionados com a arquitetura de computadores mesmo e at principalmente para os alunos interessados principalmente ou somente no desenvolvimento de algoritmos e de software Deste modo conclui se que as atividades propostas com enfoque mais informativo que integram o desenvolvimento de software aplicativo avalia o de desempenho de software paralelo e arquitetura de computadores motivam os alunos continuidade e aprofundamento do estudo e do aprendizado dos t picos relacionados com arquitetura de computadores mesmo ap s as disciplinas diretamente relacionadas com a arquitetura de computadores Os alunos das disciplinas compiladores e sistemas operacionais deveriam utilizar os conhecimentos relacionados com os t picos de AC nas atividades desenvolvidas nas respectivas disciplinas Muitas vezes os alunos de compiladores n o trabalham com os t picos relacionados com a gera o de c digo para uma arquitetura espec fica ou idealmente para mais de uma arquitetura espec fica 7 5 3 2 Atividades interdisciplinares ou multidisciplinares posteriores Nas disciplinas finais dos cursos principalmente nas relacionadas com engenharia de software e com as principais reas de aplica o os professores devem mostrar aos alunos os impactos da arquitetura do computador no desempenho dos program
170. ction Machine 5 uma maquina da Thinking Machines Corpora tion de processamento massivamente paralelo que possui mem ria local com endere a mento local a capacidade de difundir e sincronizar instru es sincroniza o entre os processadores e a exist ncia de hardware especial para suporte ao paralelismo de dados Tem 16384 processadores ocupa um espa o de 30 metros quadrados e atinge desempenho de mais de 1 Teraflops 10 2 opera es de ponto flutuante por segundo 4 7 Mapeamento Expl cito Modelos deste tipo necessitam de comandos para especificar como o c digo decomposto em partes e para quais dispositivos estas partes s o delegadas no entanto eles fornecem certa abstra o quanto comunica o e o sincronismo entre as partes Aqui o desenvolve dor do software deve n o s dividir o trabalho em peda os mas tamb m deve considerar o melhor lugar para colocar estes peda os em cada processador Como a localidade tem efeito no desempenho da comunica o torna se inevit vel que a rede de interconex o entre os processadores seja bem clara Por isso todos os modelos desta classe objetivam reduzir a responsabilidade do desenvolvedor de se preocupar com os c lculos de comuni 122 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado ca es Para facilitar a apresenta o desta categoria de modelos de programa o esta se o est dividida em linguagens de diferentes tipos de coorde
171. culum do curso e Deve focar em quest es que induzam os estudantes a encontrar os conceitos cen trais 39 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado e Suas atividades devem envolver a constru o dos conhecimentos dos estudantes e Deve ser conduzidos pelos estudantes e Deve ser realista e n o abstrato 2 2 4 Formas de Avalia o Avaliar sempre uma atividade cr tica em qualquer m todo de aprendizagem Encon trar o equil brio entre a exig ncia que deve ser feita no processo avaliativo e a correta mensura o da evolu o do estudante ou em outras palavras do seu aprendizado uma atividade que exige uma grande dose de dedica o dos docentes No PBL essa dificuldade n o menor que no m todo tradicional mas permite ao docente lidar com mais possibi lidades de avalia o do que apenas as provas relat rios e trabalhos t picos dos m todos convencionais Bruner Bruner 1973 e Ramos Ramos 1999 indicam que o processo de avali a o deve atender s necessidades de alunos professores e especialistas das disciplinas levando em considera o que o processo de avalia o em um ambiente de trabalho coo perativo deva ser realizado pelos alunos por seus pares e pelo tutor Tipicamente o problema PBL demanda o desenvolvimento de um produto na forma de um relat rio apresenta o artefato programa de computador ou qualquer ou tro elemento que esteja em concord ncia com
172. da rea de computa o pouco interessado e ou pouco motivado para o aprendizado dos t picos relacionados com a arquitetura de computadores Este fato causado pelo menos em parte pela cren a e entendimento que a arquitetura de computadores est relacionada somente com os aspectos do hardware dos computadores A maior parte das defini es do termo arquitetura de computador utilizadas nos ltimos anos e atualmente contribui para este entendimento e tamb m para a produ o desses problemas Hennessy 2012 Al m disso muitos professores principalmente das disciplinas que s o realizadas no in cio dos cursos e ou que n o s o relacionadas diretamente com a rea de arquitetura de computadores tamb m n o possuem grande interesse nos seus t picos nem mesmo de modo aplicado e n o valorizam a utiliza o dos conhecimentos da rea de arquitetura de computadores nas suas reas de atua o e especialidades Deste modo esses professores n o apresentam e n o exemplificam para os alunos a import ncia dos t picos de arquitetura de computadores para as atividades relacionadas com o projeto e o desenvolvimento de t cnicas algoritmos e softwares nas suas respectivas disciplinas e principalmente na forma o dos profissionais de todas as demais reas relacionadas computa o Os fatos apresentados anteriormente pelo menos indiretamente contribuem muito para o desinteresse e a desmotiva o dos alunos em rela o ao es
173. dades do modelo Linda por m torna mais f cil a implementa o com garantia de desempenho Ease tamb m ajuda na decomposi o possibilitando a mesma estrutura o de processos de Occam Outra linguagem relacionada ISETL Linda uma extens o do paradigma SETL para computa o de conjuntos Este modelo adiciona os espa os de tuplas de Linda como um tipo de dados e os trata como objetos de primeira classe Uma outra linguagem se melhante baseada em Fortran Opus que possui paralelismo tanto de opera es quanto de dados mas deixa a comunica o ser mediada pelas abstra es de dados compartilha dos Estes s o objetos aut nomos vis veis para qualquer subconjunto de opera es mas internamente s o sequenciais isto somente um nico m todo de cada objeto pode estar ativo por vez Estes objetos s o na realidade um tipo de generaliza o de monitores 4 7 5 Skeletons de comunica o S o skeletons que estendem a ideia de blocos pr estruturados de constru o para a comu nica o Um skeleton deste tipo uma uni o de n veis computacionais que consistem em computa es locais independentes com n veis de comunica o constitu dos de padr es fixos em uma topologia abstrata Estes padr es s o cole es de arestas em que cada aresta funciona como um canal de difus o A Figura 4 2 mostra um esqueleto usando duas eta pas de comunica o combinando os com dois padr es diferentes de comunica o Este m
174. dades funcionais J no caso do IMT e BMT apenas instru es de uma thread s o executadas por ciclo onde a troca entre threads ativas acontece a cada ciclo no caso do IMT e para o BMT a troca ocorre ao executar um evento de alta lat ncia No caso do multi core ou CMP Chip Multiprocessor cada n cleo recebe uma nica thread mas duas instru es de cada thread podem ser executadas ao mesmo tempo Assim para que um n cleo passe a operar sobre outra thread deve haver uma troca de contexto o que um evento de mais alta lat ncia que a troca entre threads ativas 3 3 Arquiteturas de Mem rias Cache Compartilhadas Devido ao aumento do n mero de n cleos de processamento dentro do processador novos modos de organiza o da hierarquia de mem ria est o sendo estudados As mem rias cache para esses processadores podem ser privadas ou compartilhadas conforme apresenta a Figura 3 3 Em um modelo de organiza o de mem ria cache privada cada processador possui sua pr pria hierarquia de mem ria cache totalmente isolada como apresentado na Figura 3 3 a somente interconectada aos demais n cleos por meio da mem ria principal No modelo de mem ria cache compartilhada ilustrado na Figura 3 3 b existe pelo menos um n vel na hierarquia de mem rias cache compartilhada entre dois ou mais n cleos de processamento No caso ilustrado a mem ria cache est compartilhada a cada dois n cleos de processamento A utiliza o de modelos
175. ddr In Data Out Data Mem ria de Instru es Mem ria de Dados Figura 6 10 Organiza o do uBIP Tabela 6 11 Conjunto de instru es estendido pelo uBIP C digo da Opera o 11000 STOV operando Mem ria operando INDR ACC Manipula o de vetor 11001 LDV operando ACC lt Mem ria operando INDR Manipula o de vetor Instru o Opera o Classe 11010 RETURN PC lt ToS Suporte a procedimentos 11011 RETINT PC lt ToS Suporte a procedimentos 11100 CALL operando PC lt operando Suporte a ToS lt PC procedimentos O uBIP foi desenvolvido utilizando se o ArchC The ArchC Team 2007 como suporte para especifica o arquitetural e gera o de c digo O ArchC uma linguagem de descri o de arquitetura Architecture Description Language ADL baseada no SystemC e que foi desenvolvida pelo Instituto de Computa o da Universidade de Campinas IC UNICAMP O ArchC permite descrever a arquitetura do processador e a sua hierarquia de mem ria gerando automaticamente ferramentas como um simulador de conjunto de instru es um montador um ligador e um depurador as quais foram geradas para o uBIP A especifica o arquitetural foi validada com base em testes unit rios das instru es e na execu o de aplica es especificadas no testbench do Dalton Project The Dalton Project Team 2001 188 Cap tulo 6 Arquitetura de Computadores educa
176. de safios dessa abordagem na resolu o de problemas os tipos de arquitetura poss veis e por fim modelos de programa o aplicados em ambiente paralelos que ser o o assunto principal deste cap tulo Podemos dizer simplificadamente que a computa o paralela se baseia no con ceito de divis o e conquista quando se tem uma tarefa demasiada complexa ou que exija grande capacidade de processamento uma abordagem interessante dividir em tarefas menores de prefer ncia independentes e a partir da construir a solu o para o problema 23 Pode se fazer uma analogia interessante com uma montadora de carros as pe as far is painel bateria entre outros s o confeccionadas ao mesmo tempo em diferentes lu gares para posteriormente formarem um autom vel Desta forma a produ o otimizada poupando tempo de fabrica o equipamentos e consequentemente poupando recursos financeiros Este princ pio b sico da computa o paralela Embora a tecnologia dos processadores se desenvolva em um ritmo surpreendente dobrando sua capacidade a cada 18 meses segundo revis es recentes da Lei de Moore 18 estamos em uma poca em que os computadores sequenciais aproximam se dos limites f sicos A computa o paralela se torna deste modo uma solu o vi vel para au mentar a efici ncia no processamento e o desempenho dos computadores atuais Nesse contexto o paralelismo surge com a inten o de superar tr s limites important
177. de Computadores Desde a primeira defini o e aplica o do m todo PBL na escola de medicina da Uni versidade McMaster este m todo vem sendo adaptado e utilizado em muitos contextos diferentes no ensino de diversas reas do conhecimento Santos et al 2008b Striegel amp Rover 2002 Essa adapta o para outros tipos de contextos de aprendizagem e de ensino resultou em formatos e abordagens alternativas ao modelo McMaster original Martinez Mones et al 2005 Northern III 2007 No modelo original apresentado por McMaster um conjunto de problemas costuma representar o pilar principal dos elementos curricu lares sendo que os conhecimentos necess rios para a sua solu o s o em grande parte buscados pelos pr prios alunos que trabalham em grupos de oito a doze indiv duos con duzidos pelo tutor Ribeiro 2008a O modelo PBL original sofreu algumas modifica es na sua aplica o em rela o ao m todo PBL aplicado no Estudo Integrado de Sistemas Digitais da UEFS pelo simples fato das solu es buscadas no ensino dessas reas n o se reduzirem obten o de um 42 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado diagn stico e escolha de um entre v rios tratamentos Na engenharia de computa o o processo de resolu o do problema mais complexo frequentemente resultando em v rias solu es poss veis al m de ser necess rio a realiza o de um produto real ou concre
178. de Computadores educa o ensino e aprendizado e ou um relat rio com resultados e conceitos te ricos referentes ao problema al m de uma sess o denominada bate bola Para a realiza o desta sess o um barema de avali a o definido em fun o dos objetivos que devam ser atendidos em cada problema Os baremas s o utilizados com o intuito de definir um crit rio nico para ser utilizado por todos os tutores durante a avalia o dos produtos Na Tabela 2 1 apresenta se um barema gen rico o qual pode ser adaptado dependendo do problema que est sendo aplicado Tabela 2 1 Padroniza o no processo de avalia o do produto pelos tutores Item Aspecto Pontua o Fomiata ore Esto Organiza o do texto normas ABNT 0 5 Gram tica e Ortografia 0 5 Introdu o coerente e motivadora 0 5 Conte do Te rico Conceitos te ricos corretos e adequados 1 0 Refer ncias apropriadas e citadas no texto 0 5 a Resultado e detalhamento da solu o 6 5 Solu o Conclus es sobre o projeto 0 5 Como pode ser observado na Tabela 2 1 para a formata o estilo do relat rio est sendo considerado um ponto para o conte do te rico atribuiram se dois pontos e para a solu o do problema sete pontos Penaliza es tamb m podem ser aplicadas nos casos de atraso aus ncia de c pia impressa e c pias de textos entre os alunos Com a soma destes itens tem se a nota do produto No bate bola o tutor
179. demos ter diversos tipos de explora o de paralelismo no n vel de threads como SMT Simultaneous Multithreading IMT In terleaved Multithreading e BMT Block Multithreading e Simultaneous Multithreading Esse tipo avan ado de multithreading se aplica a pro cessadores superescalares Um processador superescalar simples busca instru es da mesma thread a cada ciclo do processador Em um processador SMT o proces sador pode buscar instru es de v rias threads a cada ciclo do processador Esse 77 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado tipo de multithreading se prevalece do fato de que para uma nica thread o n mero de instru es paralelas a serem buscadas e executadas limitado Assim buscando instru es de m ltiplas threads o processador tenta reduzir o n mero de unidades funcionais sem uso a cada ciclo de rel gio e Interleaved Multithreading A execu o de cada thread alternada em cada ciclo de rel gio do processador Esse modo de trabalho visa remover todas paradas por depend ncia de dados de um pipeline Uma vez que uma thread relativamente independente das outras threads existe menos chance de uma instru o precisar es perar por um dado de uma instru o executada anteriormente uma vez que existir instru es de outras threads intercaladas no pipeline e Block Multithreading Cada thread executada at que seja bloqueada por um evento que normalmente c
180. des desenvolvidas nos per odos anteriores s disciplinas Arquitetura de Computadores devem ocorrer tanto dentro de disciplinas quanto em atividades interdisciplinares ou multidisciplinares Na atualidade deve se explorar de modo informativo e motivador as diversidades das arquiteturas paralelas dos processadores de prop sito geral com m ltiplos n cleos No futuro deve se explorar de modo informativo e motivador as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos tanto os processadores de prop sito geral com m ltiplos n cleos quanto os processadores gr ficos ou seja as GPUs e at mesmo os processadores h bridos que integram processadores de prop sito geral e processadores gr ficos com m ltiplos n cleos Apresentam se v rias propostas de atividades e as avalia es e an lises dos resultados iniciais produzidos com as primeiras implementa es de algumas dessas atividades propostas 7 5 1 1 Atividades nas disciplinas anteriores Nas disciplinas iniciais dos cursos principalmente nas relacionadas com algoritmos e estruturas de dados e com programa o os professores devem mostrar aos alunos os 208 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado impactos da arquitetura do computador no desempenho dos programas sendo executados Como exemplo desse tipo de atividades destacam se 1 Avalia o de desempenho de programas paralelos fornecidos pelo professor da
181. dio base Aplicativos Rede de telefonia m vel 2 4 4 6 Resultados Os tr s problemas deste estudo de caso tinham dois objetivos principais explorar te mas n o tratados em sala de aula e em outros problemas e desenvolver habilidades de apresenta o Para prop sitos de avalia o foram considerados os seguintes quesitos com respectivos pesos apresenta o 20 organiza o 20 tempo 10 dom nio 25 e clareza de exposi o 25 Considerando se os tens dom nio e clareza de exposi o apesar da escassez de refer ncias sobre alguns t picos o problema do exemplo 1 PlayStation 2 gerou os me lhores resultados com maior envolvimento por parte dos alunos uma poss vel explica o seria a proximidade do tema abordado com o universo jovem Entretanto de forma con tr ria outro objeto relacionado a tal universo n o gerou boas apresenta es o celular exemplo 2 diante de extenso material bibliogr fico os alunos produziram apresenta 66 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 11 Conceitos trabalhados no problema exemplo 3 do Caso 4 Conceito Escopo Tratado Arquitetura de multiprocessadores gr ficos Organiza o de dispositivos de armazenamento Circuitos e dispositivos de E S Componentes internos GPU a Organiza o de mem
182. do uBIP l se microbip 186 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Pereira 2008 Pereira e Zeferino 2008 Esse microcontrolador estende as caracter sticas dos processadores BIP agregando novas instru es perif ricos e funcionalidades t picas de microcontroladores Para a especifica o deste microcontrolador foi feita uma pesquisa junto a professores e engenheiros de desenvolvimento de hardware de empresas de base tecnol gica Essa consulta permitiu definir as caracter sticas de uma primeira vers o do microcontrolador e estabelecer um roadmap para futuras vers es Para essa primeira vers o foram selecionadas e implementadas as seguintes caracter sticas e Suporte a endere amento de vetores e Suporte a chamadas de procedimentos e Suporte a interrup es e Portas de E S bidirecionais e e Temporizador program vel com prescaler Para tal foi necess rio incluir hardware adicional no processador como um registrador para endere amento indireto de vetores INDR uma pilha em hardware para salvamento de contexto e um controlador de interrup es al m dos perif ricos selecionados A pilha em hardware usada para salvar o contexto do programa nas chamadas de procedimentos e no atendimento de uma interrup o Utilizando se uma abordagem similar adotada nos microcontroladores PIC da Microchip 2003 apenas o valor de PC 1 salvo na pilha cujo topo ToS Top of
183. dos Por outro lado problemas complexos superdimensionados sur gem por v rios motivos incluindo prazos de desenvolvimento apertados especifica es extensas e ou abertas falhas de forma o dos alunos e presen a de distratores Al m disso sem os cuidados devidos problemas considerados de m dia complexidade podem tornar se simples mediante uma busca mais detalhada na internet descoberta de solu es prontas Boas pr ticas para a elabora o de um problema incluem planejamento separar os conceitos abordados e elaborar o problema com anteced ncia realiza o de buscas na internet pensar com a cabe a do aluno e manuten o de um hist rico de pro dutos relat rios com observa es sobre dificuldades de desenvolvimento em problemas passados Em rela o aos alunos al m do n vel de complexidade dos problemas uma de suas principais reclama es refere se sobrecarga de atividades uma vez que a resolu o dos problemas os mant m em atividade de estudo constante Outra queixa refere se a diferen as de comportamento dos professores tutores o que tenta se amenizar com as reuni es de acompanhamento entre tutores 69 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Os casos tratados neste cap tulo referem se a uma parcela dos problemas apresen tados ao longo desses anos no Estudo Integrado de Sistemas Digitais Geralmente em um semestre s o dados tr s ou quatro problemas Devid
184. e Educa o em Arquitetura de Computadores Workshop sobre Educa o em Arquitetura de Computadores WEAC 2010 p 13 17 Barton R S 1961 Functional Design of Computers Communications of the ACM v 4 n 9 p 405 1961 Barton R S 1961 A New Approach to the Functional Design of a Digital Computer Proceedings of the Western Joint Computer Conference May 1961 p 393 396 Bell C G Newell A 1971 Computer Structures Readings and Examples McGraw Hill Brainerd J G and Sharpless T K The ENIAC Electrical Engineering 67 2 p 163 172 1948 Reprinted 1999 in Proceedings of the IEEE 87 6 1031 1043 Brooks F P Jr 1962 Architectural Philosophy in Planning a Computer System W Buchholz ed McGraw Hill 1962 p 5 16 Buchholz W 1962 Planning a Computer System Project Stretch McGraw Hill 1962 Burks Arthur W Walter Electronic Computing Circuits of the ENIAC Proceedings of the Institute of Radio Engineers I R E August 1947 vol 35 n 8 pp 756 767 Burks Arthur W Burks Alice R 1981 The ENIAC The First General Purpose Electronic Computer IEEE Annals of the History of Computing vol 3 n 4 p 310 399 1981 Ching F D K 1996 A Visual Dictionary of Architecture Wiley 1996 Ching F D K Jarzombek M M Prakash V 2006 A Global History of Architecture Wiley 2006 Eckert Jr J Presper Weiner James R Welsh H F
185. e aplica o sendo executados Na atualidade deve se explorar as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos tanto os processadores de prop sito geral com m ltiplos n cleos quanto se poss vel os processadores gr ficos ou seja as GPUs Como exemplo desse tipo de atividades destacam se l Avalia o de desempenho de programas paralelos relacionados com a disciplina fornecidos pelo professor da disciplina codificados utilizando se a linguagem C e a API OpenMP Os programas devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes 2 Modifica es nas diretivas OpenMP sugeridas e orientadas pelos professores da disciplina e da disciplina arquitetura de computadores usando estudos dirigidos e posterior avalia o de desempenho de programas paralelos codificados utilizando se a linguagem C e a API OpenMP Os diferentes programas modificados devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes 3 Desenvolvimento de programas paralelos simples e relacionados com a disciplina orientados pelos professores da disciplina e da disciplina arquitetura de computadores e posterior ava
186. e identificadas por um n mero threadId As threads de um mesmo bloco podem ser sincronizadas por uma chamada da rotina syncthreads 4 11 Conclus o Sugerimos neste cap tulo o ensino de m todos paralelos de programa o apresentando os diversos modelos e linguagens dispon veis Foram discutidas caracter sticas importantes para o aprendizado de desenvolvimento de programas corretos que exploram bem o para lelismo e com desempenho previs vel como a facilidade de programa o metodologias de corretude independ ncia de arquiteturas simplicidade abstra o garantia de desem penho e de custo A partir dessas caracter sticas os modelos foram divididos em seis classes desde modelos mais abstratos que geralmente satisfazem os crit rios do desenvolvimento do software mas n o permitem a previs o do desempenho at modelos mais concretos para os quais poss vel prever o desempenho mas tornam a constru o do software compli cada Ao final apresentamos modelos e linguagens importantes tanto para a teoria com putacional como PRAM quanto para a parte pr tica como TBB e CUDA Esses mode los e linguagens n o est o inseridos dentro da classifica o proposta mas s o de grande influ ncia e destaque nos ltimos anos Pela descri o e explora o dos modelos poss vel observar tend ncias como a programa o em n veis mais altos e menor detalhamento da paraleliza o do c digo provenientes da necessidade
187. e o simulador Simics apresentado nesse cap tulo possui diversas caracter sticas positivas como controle flexibilidade parametriza o e demais funcionalidades que justificam o seu uso em sala de aula como ferramenta de ensino para disciplinas de arquitetura paralela Atrav s dos dois anos de experi ncia de utiliza o desse simulador em sala de aula podemos notar a import ncia do profundo entendimento do funcionamento da fer ramenta e do bom planejamento de atividades para que os alunos possam tirar proveito de todos os recursos dispon veis em prol do aprendizado Entretanto devemos considerar a ado o de um plano de melhorias cont nuas ao longo dos anos a fim de aprimorar os materiais did ticos e manuais de uso do simulador cronogramas de atividades e planos de ensino Dessa maneira podemos fornecer cada vez mais suporte aos alunos mudando tamb m o foco para as futuras arquiteturas e pesquisas 3 9 Agradecimentos Agradecemos ao CNPq CAPES e FAPEMIG que contribu ram com o financiamento para o desenvolvimento deste trabalho Refer ncias 1 UNGERER T ROBIC B SILC J A survey of processors with explicit multi threading ACM Computing Surveys v 35 n 1 p 29 63 2003 2 UNGERER T ROBIC B SILC J Multithreaded processors British Computer Society v 45 n 3 p 320 348 2002 3 HENNESSY J L PATTERSON D A Computer Architecture A Quantitative Ap proach Fourth USA Elsevier Inc
188. e problema buscou a compreens o do funcionamento de uma arquitetura para um sis tema transformacional atrav s do projeto e implementa o de um m dulo IDCT Inverse Discrete Cosine Transform em FPGA voltado para o padr o MPEG 2 MP ML usando a linguagem Verilog Ap s breve explica o do Sistema Visual Humano o texto do problema apre sentou express es das transformadas discretas de cosseno direta e inversa relacionando amostras dos componentes de brilho e de cor de um bloco de 8x8 pixels no dom nio 50 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado espacial com coeficientes da transformada no dominio das freqii ncias A partir deste cen rio foi solicitado aos alunos a implementa o de um sistema transformacional ca paz de decodificar um quadro completo de imagem dentro das restri es temporais do padr o considerando se a sub amostragem 4 2 0 2 4 1 4 Conceitos Trabalhados De forma geral os problemas do Caso 1 trabalharam com os conceitos expressos na Tabela 2 2 com graus variados de aprofundamento do escopo tratado 2 4 1 5 Dificuldades no Desenvolvimento As dificuldades de desenvolvimento dos problemas de Projeto de um Processador vari aram de acordo com a turma e o problema mas em geral houve certa uniformidade entre grupos tutoriais distintos ao tratarem de um mesmo problema Na seqiiencia as principais dificuldades s o descritas relacionando as com os exemplos tratad
189. e processamento mencionado an teriormente abrem um vasto leque de op es para o uso das GPUs fazendo desta forma com que se tornem alvo de interesse crescente por parte da academia e da ind stria em c l culos matem ticos complexos Elas trabalham em conjunto com a CPU se encarregando de c lculos referentes a opera es com matrizes e v rtices tranforma es lineares e ou tras opera es matem ticas constantemente presentes em aplica es gr ficas deixando a CPU livre para outras tarefas ganhando em desempenho e qualidade de imagem Em consequ ncia disso o uso de GPUs vem se tornando uma tend ncia e assim foram desenvolvidas algumas linguagens e interfaces de programa o para GPUs facili tando o desenvolvimento de software utilizando esta arquitetura Temos alguns exemplos importantes como a linguagem BrookGPU desenvolvida por equipes de pesquisa da Uni versidade de Stanford e CUDA desenvolvida pela NVIDIA empresa americana muito conhecida principalmente por produzir hardware de acelera o gr fica de alta qualidade Compute Unified Device Architecture ou simplesmente CUDA uma arquitetura de computa o paralela que oferece uma interface de programa o com rotinas e fun es que permitem ao programador fazer uso das GPUs presentes nos hardwares de acelera o gr fica da NVIDIA Funciona como uma extens o da linguagem ANSIC ou seja progra madores utilizam a linguagem C como linguagem principal e conforme nec
190. e projeto quando os sistemas ainda n o est o dispon veis Desta forma medi es s podem ser efetuadas se algum sistema similar j estiver implementado N o havendo prot tipo dispon vel simula es s o alternativas vi veis para sistemas completos enquanto modelos anal ticos s o mais adequados para subsistemas Para os sistemas computacionais como subsistemas de mem ria onde existem muitas vari veis a complexidade muito alta tornando dif cil a cria o de modelos anal ticos que representem corretamente o sistema Al m disso modelos anal ticos nesses casos costumam apresentar baixa precis o Assim a simula o se torna a ferramenta mais apropriada para estimar e comparar caracter sticas de diferentes organiza es e arquiteturas de mem rias mantendo uma boa precis o e boa generaliza o dos resultados obtidos 3 6 Utilizando o Simics em Sala de Aula O ambiente de simula o adotado foi o Simics da Virtutech AB 26 o qual foi escolhido por ser um simulador completo de sistema no n vel do conjunto de instru es 89 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Atualmente para se obter o Simics necess ria a submiss o para a Virtutech e aprova o de um projeto utilizando o Simics o que deve ser feito pelo orientador ou professor respons vel O projeto pode ser tanto de pesquisa ou de uso em sala de aula e deve conter informa es b sicas a respeito de uso e
191. ea de computa o com muitas dificuldades para o projeto e o desenvolvimento de algoritmos e de softwares que utilizem os sistemas de computa o de modo mais eficiente e otimizado em rela o s suas caracter sticas arquiteturais 195 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado A motiva o principal para a escrita deste cap tulo foi produzir um texto em l ngua portuguesa relacionado educa o em arquitetura de computadores que possa ser utilizado por alunos e professores apresentando e analisando Algumas das principais defini es do termo arquitetura de computador que foram apresentadas na literatura ao longo dos anos considerando os contextos da cria o evolu o e atualidade do termo arquitetura de computador Os principais impactos positivos e negativos das defini es e dos significados do termo arquitetura de computador nos processos de ensino e de aprendizado dos conte dos da pr pria arquitetura de computadores e tamb m de modo geral nos processos de ensino e de aprendizado da computa o nos diversos cursos relacionados com a rea de computa o Algumas sugest es de atividades relacionadas ao ensino e aprendizado de arquitetura de computadores que utilizam as defini es e significados do termo de modo motivador S o citados alguns resultados iniciais produzidos com a sua utiliza o Uma proposta vers o inicial de nova defini o para o term
192. eadas em tais GPUs incluindo a rede de interconex o entre n s e a organiza o de SANs Storage Area Networks Outros aspectos a pesquisar inclu am vantagens e desvantagens entre as arquiteturas encontradas compara o de clusters com mainframes supercomputadores especializados formas de programa o e sistemas operacionais 2 4 4 4 Conceitos Trabalhados Os problemas dos exemplos 1 2 e 3 possuem caracter sticas bem distintas de forma que os conceitos trabalhados nos mesmos e seu grau de profundidade s o apresentados em tabelas separadas respectivamente Tabelas 2 9 2 10 2 11 e 2 12 2 4 4 5 Dificuldades no Desenvolvimento Apesar da diversifica o os problemas propostos como semin rios apresentaram dificul dades de desenvolvimento semelhantes conforme descri o seguinte Escopo Nos tr s problemas o texto dava margem a um escopo amplo cabendo aos alu nos a escolha do que seria tratado Para restringir o escopo direcionando melhor a pesquisa no exemplo 1 definimos o que cada grupo tutorial abordaria Contudo 64 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 9 Conceitos trabalhados no problema exemplo 1 do Caso 4 Conceito Multiprocessamento Escopo Tratado Arquitetura da CPU principal MIPS IIT Arquitetura da CPU de E S MIPS Arquitetura SIMD Decodificador MPEG Processadores do sintetizador grafico Intera o dos processadores
193. echnology Interfaces p 71 76 Lins R D 2000 Uma Proposta de Plano Pedag gico para a mat ria de Compiladores In II Curso de Qualidade de Cursos de Gradua o da Area de Computa o e Inform tica Congresso Anual da SBC Menezes C S e Nobre A M 2002 Um ambiente cooperativo para apoio a cursos de introdu o a programa o In Workshop de Educa o em Computa o Anais do XXII Congresso da Sociedade Brasileira de Computa o Porto Alegre SBC Microchip 2003 PICI6F62X Data Sheet FLASH Based 8 Bit CMOS Microcontroller Arizona Morandi D Raabe A L A e Zeferino C A 2006 Processadores para ensino de conceitos b sicos de Arquitetura de Computadores In Anais do 1 Workshop sobre Educa o em Arquitetura de Computadores p 17 24 Morandi D Pereira M C Raabe A L A e Zeferino C A 2006 Um processador b sico para o ensino de conceitos de arquitetura e organiza o de computadores Revista H fen v 30 n 58 p 73 80 Parr T 2009 ANTLR v3 Documentation Dispon vel em lt http www antlr org gt Patterson D A e Hennessy J L 2005 Organiza o e projeto de computadores a interface hardware software S o Paulo Campus Pereira M C e Zeferino C A 2008 uBIP a simplified microcontroller architecture for education in embedded systems design In Proceedings of the IP Based 192 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendiz
194. ed yes run command file simics targets machine staller0 pre conf object staller0 trans staller Gstaller0 stall time 0 12c0 pre conf object 12c0 g cache 12c0 cpus conf cpu0 12c0 config_line_number 16384 12c0 config_line_size 64 12c0 config_assoc 8 12c0 config_virtual_index 0 12c0 config_virtual_tag 0 94 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e12c0 config write back 1 12c0 config write allocate 1 12c0 config replacement policy lru 12c0 penalty read 0 12c0 penalty write 0 e12c0 penalty read next 0 12c0 penalty write next 0 12c0 timing model staller0 Mem ria Cache de Instru es L1 ic0 Bico pre conf object ic0 g cache Gic0 cpus conf cpu0d Gic0 config line number 1024 Gic0 config line size 32 Gic0 config assoc 2 Gic0 config virtual index 0 Gic0 config virtual tag 0 Gic0 config write back 0 Gic0 config write allocate 0 Gic0 config replacement policy lru Gic0 penalty read 0 Gic0 penalty write 0 Gic0 penalty read next 0 Gic0 penalty write next 0 GicO0 timing model 12c0 Mem ria Cache de Dados L1 id0 dcO pre conf object dc0 g cache dcO cpus conf cpu0d dc0 config_line_number 1024 edc0 config line size 32 dc0 config_assoc 2 dc0 config_virtual_index dc0 config_virtual_tag 0 edc0 config write ba
195. edido por meio de testes objetivos ser igual o inferior ao dos alunos de m todos convencionais Solomon Solomon 2003 apresenta um estudo indicando que em um contexto educacional multidisciplinar PBL se destaca como uma das estrat gias de ensino mais in teressantes j que induz o estudante a encontrar inter rela es entre conceitos presentes em diversos conjuntos de conhecimento 2 2 2 Objetivos O objetivo do PBL desenvolver de forma integrada um conjunto de conhecimentos habilidades e atitudes atrav s da solu o de problemas reais usando tanto aprendizagem aut noma indiv duo quanto colaborativa equipes e grupos Dessa forma o PBL procura atingir simultaneamente os objetivos de aprendi zagem ativa aprendizagem integrada aprendizagem cumulativa e aprendizagem para a compreens o Hadgraft 1998 Hadgraft amp Holecek 1995 A aprendizagem ativa se d pela elabora o de respostas s perguntas do problema A aprendizagem integrada con seguida pela elabora o de problemas que exijam o conhecimento de diversas sub reas para a elabora o de suas respostas A aprendizagem cumulativa se consegue escalando gradativamente a complexidade dos problemas at que se chegue a problemas t o comple xos quanto aqueles enfrentados por um profissional que inicia sua carreira Finalmente a aprendizagem para a compreens o conseguida dando se tempo para reflex o sobre as respostas retroalimentando os alunos sobre se
196. enas um m todo ou fun o Considerando que o principal objeto de estudo o sistema de mem ria cache optou se por n o utilizar o modo MAI uma vez que este modo levaria ao aumento signi ficativo de complexidade de simula o do processador o que acarretaria a problemas de restri o de tempo tornando proibitiva a simula o de aplicativos inteiros 3 6 2 Modelagem de Mem rias Cache Um exemplo de modelagem de um processador com dois n cleos de processamento com mem rias cache de primeiro e segundo n vel privadas para cada um dos n cleos ilustrado na Figura 3 9 L1 Instruction L1 Data Cache Cache L2 Cache L2 Cache trans staller Main Memory Figura 3 9 Diagrama de modelagem de um chip multi core adaptado de 28 Na Figura 3 9 podemos ver os seguintes componentes internos do Simics respon s veis pela correta simula o da mem ria cache e Id splitter Utilizado para fazer a separa o entre instru es e dados para a mem ria cache correta 93 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e Splitter M dulo respons vel por particionar os dados a fim de s alocar a quanti dade de dados coerente com o tamanho de mem ria e Trans staller Dispositivo simples que simula a lat ncia de acesso da mem ria principal Al m dos componentes inerentes modelagem da mem ria cache no simulador podemos ver os seguintes componentes referentes ao modelo de c
197. enquanto uma m quina real consegue gerenciar a execu o de mais instru es utilizando superescalari dade e outros componentes de desempenho Fora essa limita o diversos componentes como barramentos pr busca e com portamentos do sistema como gargalos de acesso a recursos n o s o totalmente simula dos Desse modo fica claro que o objetivo do simulador Simics simular m quinas no n vel de conjunto de instru es e n o efetuar uma simula o exata de todos dispositivos 91 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Entretanto o simulador bastante til para a compara o de execu o de cargas de tra balho em diferentes organiza es modeladas dentro do pr prio simulador uma vez que as tend ncias ocorridas nas simula es devem se repetir em sistemas reais Logo o sim ulador Simics fornece um ambiente controlado e com determinismo controlado prop cio para avalia o de sistemas computacional futuros 27 Algumas dessas limita es podem servir de inspira o aos alunos como o fato de n o ser considerado a conten o de n mero de portas da mem ria por exemplo pode intrigar o aluno e lev lo a propor a cria o de um modulo para que o Simics modele esse comportamento de gargalo mais corretamente Al m desse exemplo outros podem ser pensados e sugeridos aos alunos como forma de incentivo a cria o de novos m dulos e melhorias na ferramenta 3 6 1 Modos de Op
198. ens reduzem a carga overhead de gerencia mento de comunica o simulando esta comunica o de modo que se ajuste mais natural mente s threads Por exemplo ALMS 24 lida com a troca de mensagens como se os canais de comunica o fossem mapeados na mem ria Referir se para certas vari veis em diferentes threads funciona como transferir uma mensagem de uma para as outras PCN Program Composition Notation e Compositional C tamb m ocultam a comunica o por meio de vari veis de uso nico Uma requisi o de leitura de uma dessas vari veis bloqueia a thread se seu valor ainda n o foi mapeado ou atualizado por outra thread Esta abordagem similar ao uso de bits cheios vazios em vari veis uma ideia antiga que volta a ser importante em arquiteturas multi threads Em particular na linguagem PCN os processos que compartilham uma vari vel de defini o conseguem por meio desta se comunicar uns com os outros Por exemplo na composi o paralela produtor X consumidor X ambos os processos produtor e consumidor podem usar a vari vel X para se comu nicar entre si Em PCN o mapeamento dos processos para os devidos n cleos definido pelo programador ou pelas anota es em suas fun es ou ainda por um mapeamento de topologias virtuais para f sicas A extens o l gica do mapeamento de comunica o para a mem ria a Mem ria Compartilhada Virtual em que a abstra o fornecida para o pro grama de um nico
199. ento da necessidade e do papel do software b sico e fornece subs dios fundamentais para a aprendizagem e para a compreens o da l gica de programa o Considerando esse ltimo aspecto fato amplamente conhecido que alunos apresentam dificuldades na aprendizagem de conceitos de algoritmos e programa o em especial no primeiro ano do curso Carbone e Kasboll 1998 Menezes e Nobre 2002 Pimentel et al 2003 Good e Brna 2004 Khalife 2006 Essa dificuldade est relacionada entre outros aspectos aus ncia de afinidade com o racioc nio l gico formal que o fundamento para a capacidade de abstra o dos alunos Nesse sentido o estudo da arquitetura do computador cria a possibilidade de estabelecer rela es dos conceitos de programa o com aspectos concretos do hardware reduzindo assim a necessidade de abstra o Nesse contexto identifica se uma falta de sincronia nos curr culos tradicionais em que o estudo da arquitetura e da organiza o do computador ocorre depois do ensino da programa o Para contornar esse problema em muitos cursos costuma se apresentar algumas no es b sicas de arquitetura e organiza o de computadores aos alunos em disciplinas que fornecem uma introdu o geral Computa o tipicamente no primeiro ano do curso No entanto essa abordagem normalmente apresenta dois problemas i a falta de uma articula o adequada entre os professores das disciplinas introdut rias a fim de estabelec
200. entrada e sa da Em compara o com os casos anteriores os problemas com a linguagem de descri o de hardware praticamente inexistem e as dificuldades se concen tram em como aplicar os conceitos sobre os dispositivos para resolver os problemas O problema descrito na se o 2 4 3 1 apresentou os problemas listados a seguir 60 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Adequa o do processador Para construir a arquitetura pedida no problema os alunos deveriam adequar o processador desenvolvido adicionando sinais de controle para realiza o da comunica o entre os processadores Alguns alunos apresentaram problemas nesta modifica o devido a forma com que foi desenvolvida a unidade de controle do processador Controle de acesso Os quatro processadores deveriam acessar uma mem ria comparti lhada utilizando um nico barramento que se faz necess rio um controle de acesso referente as requisi es de acesso O mecanismo de controle deveria permitir o acesso igualit rio entre os processadores Este mecanismo de acesso n o foi imple mentado Fila de requisi es As requisi es de acesso deveriam obedecer uma fila uma fez que o controle de acesso n o foi implementado a fila de requisi es n o funcionou Transfer ncia de pacotes A transfer ncia entre as mem rias locais e a compartilhada deveria ser feita em pacotes o que n o foi alcan ado sendo transmitido apenas um byte por
201. er uma sincronia na apresenta o dos conte dos para que se possa beneficiar a aprendizagem de programa o e ii a limita o dos modelos utilizados para a apresenta o dos conceitos b sicos de arquitetura Buscando abordar esses problemas uma pesquisa foi realizada pelos autores deste cap tulo na Universidade do Vale do Itaja UNIVALI a fim de desenvolver e disponibilizar uma s rie de processadores com um conjunto de instru es m nimo para auxiliar o aprendizado de conceitos de arquitetura e organiza o de computadores de modo incremental Morandi Raabe e Zeferino 2006 Morandi et al 2006 Dessa forma os processadores desenvolvidos serviram de refer ncia para a apresenta o dos conceitos b sicos necess rios ao melhor entendimento das abstra es utilizadas nas disciplinas da rea de Algoritmos e Programa o A iniciativa de desenvolver uma fam lia de processadores acabou permitindo que fosse dado um enfoque interdisciplinar aos conceitos de arquitetura e organiza o de computadores vislumbrando seus desdobramentos em diferentes disciplinas correlatas a saber Computa o B sica Circuitos Digitais Arquitetura e Organiza o de Computadores e Compiladores Essa caracter stica tornou se um diferencial desta abordagem uma vez que muito frequentemente os alunos relatam que n o conseguem compreender plenamente as rela es entre as disciplinas e nesse sentido a abordagem utilizada fornece uma contribui o
202. era o Para simula o de mem ria cache o Simics prov ferramentas bastante flex veis para configurar dispositivos Em uma simula o de mem ria cache o Simics permite tanto observar informa es a respeito de tempo como a respeito das informa es contidas na mem ria O simulador possui dois modelos pr modelados de mem rias cache g cache e g cache ooo e O modelo g cache fornece uma modelagem b sica de uma mem ria cache ligada a um processador executando as instru es em ordem e fornecendo relat rios sobre as atividades realizadas e O modelo g cache ooo al m das funcionalidades apresentadas pela g cache prov ainda a possibilidade de ser utilizada em simula es de processamento fora de ordem 000 Out Of Order Mesmo com esses modelos pr definidos de execu o importante saber quais dispositivos est o por tr s ao executar os dois modelos pr modelados uma vez que muitas vezes eses modelos n o atendem a todas necessidades do experimento Por esse motivo costuma se n o utilizar esses modelos prontos e sim modelar o sistema e habilitar o modo desejado do simulador Existem tr s modos de simula o aceitos pelo Simics Normal Stall e MAI Esses modos s o habilitados na hora de executar o Simics pelas flags fast stall e mai respec tivamente segue abaixo a descri o de cada um desses modos de opera o e O modo Normal fast fornece um ambiente de simula o onde n o s o considera do
203. eram aumentar a participa o dos alunos dar um retorno em tempo real para o professor sobre o entendimento dos estudantes melhorar a comunica o entre alunos e professor e fornecer um material extra classe que fosse til aos alunos A primeira preocupa o era se a introdu o da nova metodologia n o ia ser por demais complicada Ao avaliarmos a dificuldade dos estudantes para se adaptar ao ambiente encontramos uma pequena porcentagem de estudantes que tiveram algum tipo de dificuldade A maior participa o dos alunos ficou evidenciada pelos resultados de maior participa o individual e em grupo mostrando que os alunos perceberam que suas a es tiveram um efeito direto no decorrer das aulas Houve tamb m uma melhora na percep o que os alunos t m sobre o acesso ao docente para esclarecimento de d vidas Uma vez que o docente tinha acesso s solu es de exerc cios dos alunos ele podia avaliar erros comuns e discut los com a classe O docente tamb m teve a oportunidade de mostrar mais de uma solu o para um problema inclusive solu es erradas trabalhando assim diversas maneiras diferentes de se chegar ao resultado correto A prefer ncia pelos Tablet PCs ao inv s de papel e caneta mostra a import ncia de tais dispositivos no processo de aprendizado tornando os um bom investimento para aprimorar a qualidade do ensino Isso requer no entanto algumas modifica es no curso como a inclus o de exerc cios vol
204. eri ncia pode se apenas instalar o pacote espec fico a ser utilizado Depois de efetuada a instala o faz se necess ria a configura o do workspace nesse ponto o aluno pode criar a rea de trabalho no local de maior conveni ncia Ap s a cria o do workspace a pasta onde o mesmo foi criado receber diversos links para os execut veis do Simics e tamb m para as m quinas suportadas pela atual instala o Para que os alunos possam utilizar o Simics necess rio que eles definam em suas m quinas as vari veis de ambiente VTECH LICENSE FILE e LM LICENSE FILE para o valor porta servidor de licen asj Dessa maneira o Simics ir encontrar o caminho para o servidor de licen as O simulador suporta a simula o completa de diversos tipos de m quinas e pro cessadores Alpha ARM PPC IA 64 x86 MIPS Sparc V8 Sparc V9 e at UltraSparc T1 Entretanto para o melhor andamento do trabalho sugerido que os alunos utilizem apenas uma determinada m quina facilitando assim a intera o entre os alunos e tamb m o trabalho de monitoria A escolha pela m quina e arquitetura dos processadores a serem simulados pode ser feita considerando diversos fatores como Sistema de prop sito geral Suporte a multi core Suporte a ponto flutuante Suporte avan ado mem ria cache e Suporte a ilimi tados n cleos de processamento Desta maneira apenas os sistemas Serengeti SunFire e x86 440BX apresentam as caracter sticas neces
205. eriam atrapalhar os alunos durante as aulas ativas com Tablet PC Apesar das expectativas negativas em rela o ao conforto a figura 9 mostra que a maioria 74 dos alunos se sentiu confort vel ou muito confort vel na sala de aula Conforto 60 00 50 00 50 00 40 00 0 30 00 23 91 20 00 17 39 8 70 10 00 o 0 00 Muito Desconfort vel Neutro Confort vel Muito Desconfort vel Confort vel Figura 9 Conforto dos alunos em sala de aula Apesar dos alunos terem se sentido mais dispersos durante a aula o question rio mostrou dois dados importantes os alunos acharam que sua participa o tanto individualmente dentro do grupo quanto individualmente dentro da sala de aula aumentou A figura 10 mostra os gr ficos que indicam essa mudan a 17 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Participa o Individual 50 00 46 81 45 00 40 00 ee 34 04 7 o 30 00 25 00 20 00 15 00 12 77 10 00 6 38 0 500 og E 0 00 Muito Menor Menor Idem Maior Muito Maior Participa o do Grupo na Classe 45 00 40 00 38 30 ee 34 04 o 30 00 4 E 4 pp 25 00 20 00 17 02 0 15 00 10 64 10 00 5 00 i 0 00 0 00 Muito Menor Menor Idem Maior Muito Maior Figura 10 Participa o dos alunos Pode se nota
206. es 161 178 2 AL JAROODI Jamela MOHAMED Nader JIANG Hong SWANSON David An overview of parallel and distributed Jav for heterogeneous systems ap proaches and open issues Scientific International Journal for Parallel and Dis tributed Computing 2002 Volume 5 n 4 3 ARMSTRONG Joe Programming Erlang Software for a Concurrent World Publisher Pragmatic Bookshelf 2007 4 BAL Henri E A comparative study of five parallel programming languages Proc Of Spring 91 Conf On Open Distributed Systems 1991 pages 209 228 5 BORODIN A HOPCROFT J E Routing merging and sorting on parallel mod els of computation STOC 82 Proceedings of the fourteenth annual ACM sympo sium on Theory of computing 1982 pages 338 344 6 BULL Mark and TELFORD Scott Programming Models for Parallel Java Applications UKHEC Technical report 2000 http www ukhec ac uk publications reports paralleljava pdf 7 CHANDLER Angie FINNEY Joe Rendezvous An alternative approach to conflict resolution for real time multi user applications 13th Journal Euromicro Conference on Parallel Distributed and Network based Processing 2005 pages 160 167 8 CHIEN Andrew KARAMCHETI Vijay PLEVYAK John ZHANG Xingbin Concurrent Aggregates CA Language Report Version 2 0 TR Dep Computer Science University of Illinois at Urbana Champaign 1993 9 DALLY William WILLS Scott Universal mechanisms for concurrency In PAR
207. es 22 Power Wall a capacidade de dissipa o do calor Memory Wall a efici ncia na comuni ca o com a mem ria e Frequency Wall a frequ ncia do cristal oscilador Estes limites s o descritos com mais detalhes na se o 4 2 Portanto a computa o paralela um objeto de grande estudo tanto por parte da rea acad mica como por parte das grandes corpora es comerciais Decidir quais tare fas podem ser executadas independentemente maneiras timas de divis o dessas tarefas aumento da velocidade de comunica o entre os processadores desenvolvimento de lin guagens com suporte ao paralelismo estes s o apenas alguns dos aspectos relevantes quando se visa a constru o de sistemas paralelos eficientes Baseado nesse contexto este trabalho aborda os modelos de computa o paralela Estes modelos s o esp cies de interface entre o baixo n vel ou seja a implementa o do hardware e o alto n vel Tais modelos permitem ao programador abstrair de detalhes da implementa o de baixo n vel e se concentrar no desenvolvimento do software Utilizando esta abstra o temos que em geral computadores paralelos possuem uma arquitetura b sica constitu da pelos seguintes componentes processadores que s o lhttp www intel com technology mooreslaw 112 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado basicamente os mesmo de computadores sequenciais mem ria e uma rede de comuni ca o
208. es Sergio T Kofuji Jussara M Kofuji M rcio Lobo Netto Wang J Chau Filippo Valiante Filho Leonardo A G Garcia Edward David Moreno Edson Horta Eduardo Lima Durgam Vahia Cap tulo 6 Um Enfoque Interdisciplinar no Ensino de Arquitetura de Computadores Cesar Albenes Zeferino Andr Luis Alice Raabe Paulo Viniccius Vieira Maicon Carlos Pereira Cap tulo 7 O Termo Arquitetura de Computador no Passado Presente e Futuro impactos do seu significado no ensino e no aprendizado de Arquitetura de Computadores Carlos Augusto Paiva da Silva Martins 34 74 111 147 165 194 Lista de autores dos cap tulos Alberto Hideki Ueda cap tulo 4 Alfredo Goldman cap tulo 4 Andr Luis Alice Raabe cap tulo 6 Anfranserai M Dias cap tulo 2 Angelo A Duarte capitulo 2 Antonio L Apolinario Jr capitulo 2 Camila Mari Matsubara capitulo 4 Carlos Augusto Paiva da Silva Martins capitulo 7 Cesar Albenes Zeferino capitulo 6 Durgam Vahia capitulo 5 Edson Horta Eduardo Lima capitulo 5 Edward David Moreno capitulo 5 Filippo Valiante Filho capitulo 5 Henrique Cota de Freitas capitulo 3 Joao Paulo dos Santos Mota capitulo 4 Jussara M Kofuji capitulo 5 Leonardo A G Garcia capitulo 5 Maicon Carlos Pereira capitulo 6 Marcio Lobo Netto capitulo 5 Marco Antonio Zanata Alves capitulo 3 Paulo Viniccius Vieira capitulo 6 Pedro Henrique Borges de Almeida capitulo 1 Philippe Oliv
209. es como integra o do SoC interface de rede PCle e controladores de mem ria DRAM J a disciplina Programa o Avan ada de Computadores prop e um aprendizado nico em computa o de alto desempenho escal vel para simula es cient ficas na rea da ci ncia e engenharia No futuro ser o realizadas simula es em processadores especiais como GPU e FPGA incorporados na arquitetura da IBM Blade Cell A disciplina traz embasamento te rico e pr tico em programa o paralela e programa o cell introduz t cnicas de compila o e otimiza o bibliotecas algoritmos para processamento de imagens e aplica o UWB De acordo com a proposta do elenco de disciplinas como trabalho futuro pretendemos descrever mais tr s disciplinas importantes para o curr culo j existentes no departamento de sistemas eletr nicos Jogos Eletr nicos Interativos Processamento e An lise de Imagens e V deos e Projetos de Sistemas sobre Sil cio Refer ncias Patterson David 2008 Future of Computer Architecture Talks at UC Berkeley December 12 2008 Downton A C Fleury M Self R P Noakes P D Future Directions in Computer Architectures Curricula Silicion Compilation for Hardware Software co design Department of Electronic Systems Engineering University of Essex UK 2002 Clements Alan Work in Progress Computer Architecture Meets Ubiquitous Computing ASEE IEEE Frontiers in Education Conference Santo An
210. es de copy back iniciadas pela mem ria cache e stat data read N mero de leituras de dados na mem ria cache e stat data read miss N mero de leituras de dados que n o estavam na mem ria cache e stat data write N mero de escritas de dados na mem ria cache e stat data write miss N mero de escrita de dados que n o estavam na mem ria cache e stat inst fetch N mero de busca de instru es na mem ria cache e stat inst fetch miss N mero de busca de instru es que n o estavam na mem ria cache e stat mesi exclusive to shared N mero de opera es do protocolo MESI do tipo Exclusivo para Compartilhado e stat mesi invalidate N mero de opera es de invalida es de dados do protocolo MESI e stat mesi modified to shared N mero de opera es do protocolo MESI do tipo Modificado para Compartilhado e stat transaction N mero total de transa es observadas pela mem ria cache 3 6 8 Determinismo nas Simula es A etapa de resultados de uma avalia o de desempenho uma das mais importantes uma vez que todos os dados e as an lises feitas acerca dos dados devem ser compilados e apresentados de forma clara e objetiva Justamente nesta etapa que ocorrem muitos erros ligados avalia o do sistema computacional 24 como ignorar a varia o das medidas apresenta o dos resultados de forma incorreta assim como omitir as limita es do sistema Por isso quando estamos trabalha
211. esentados e indicaram os n meros que mais ocorriam Em seguida eles deviam realizar a mesma opera o mas sem levar em conta o conhecimento sobre a listagem tomando decis es passo a passo A terceira atividade consistia em modelar uma forma de endere ar rapidamente os 4 lugares tempor rios conforme o endere o de entrada Para cada um destes passos as solu es intermedi rias de v rios grupos de alunos eram comentadas anonimamente na frente da sala e as alternativas mais fact veis eram escolhidas para dar prosseguimento aula 4 3 Resultados do uso do Tablet PC para apresenta o da lousa e para grava o de screencasts vis o dos alunos Esta se o apresenta como o comportamento dos alunos foi afetado pelo fato de terem acesso aos screencasts das aulas e qual sua rea o ao novo modo de apresenta o Quanto ao modo de apresenta o nenhum aluno apresentou queixa pelo contr rio os alunos acharam que as aulas foram bastante claras e ricas visualmente Sua f cil adapta o ao ambiente conforme discutido anteriormente mostra que os alunos n o tiveram problema algum quanto ao uso do Tablet PC associado ao projetor N o surgiram reclama es relativas ao ritmo das aulas o que era recorrente em semestres anteriores Elaborou se um question rio para avaliar o comportamento dos alunos com as mudan as introduzidas Particularmente o interesse era verificar como a distribui o dos slides anotados pelo professor e d
212. ess rio fazem uso de rotinas implementadas pela arquitetura CUDA dentro de seu programa permitindo programa o de alto n vel ao mesmo tempo em que poss vel lidar com rotinas de baixo n vel tais como aloca o e libera o de mem ria Como explicado anteriormente as GPUs funcionam basicamente como um co processador trabalhando em conjunto com a CPU principal Assim ao programar em CUDA poss vel escolher onde uma fun o ser executada atrav s de qualificadores disponibilizados pela linguagem S o eles e device fun es qualificadas nesta categoria s podem ser chamadas e execu 2 http graphics stanford edu projects brookgpu talks html 142 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado tadas pelo dispositivo que cont m a GPU nunca pela CPU central e host fun es qualificadas com o marcador host s podem ser chamadas e executadas pela CPU da m quina chamada de host nunca pela GPU E o valor padr o se nada for declarado e global fun es desta categoria s o chamadas pelo host mas s o executadas na GPU Como CUDA n o possui suporte a recurs o fun es declaradas como device ou global n o podem ser executadas recursivamente a menos que esteja sendo executado o modo emulado permitindo executar programas em CUDA mesmo sem a presen a de um hardware com GPUs Tamb m possui rotinas para cria o de threads sendo que as threads s o divididas em blocos
213. ess rios Para esses problemas parece n o ser vi vel a adapta o Aliado a essa dificuldade h problemas de desempenho serializa o de objetos Java transforma o de objetos e refer ncias em estruturas que facilitem a comunica o e do RMI A adapta o tem resultado em processos custosos quando comparado com outros mecanismos o que parece limitar sua aplicabilidade 132 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Com rela o a adapta es de bibliotecas n o nativas o MPI apesar de n o ser orientado a objetos pode ser implementado em Java com por exemplo socket program ming RMI JNI Java toc interface ou PVM Como exemplo de implementa o temos o NPAC s mpiJava que utiliza o modelo de liga o MPI C como base e interfaces para diferentes implementa es nativas de MPI Desta forma no paralelismo em Java h a quest o de comunica o entre threads e entre VM s o que pode possibilitar a constru o de softwares mais complexos Para a obten o de ainda maior efici ncia do modelo seriam necess rias JNI s eficientes para a comunica o entre processadores Portanto em aplica es paralelas o modelo nativo atual de threads provavelmente limitar a capacidade de programa o No entanto modificar o modelo ou utiliz lo em conjunto com outro modelo de comunica o pode ser complicado 4 9 4 Paraleliza o de la os Uma das aplica es mais bvias do paraleli
214. esse contexto deve se buscar uma arquitetura simplificada que permita estabelecer uma rela o entre as necessidades dos alunos que est o come ando a programar e as representa es em hardware correspondentes necess rio realizar a identifica o das principais fontes de incompreens o para os estudantes de modo a prover formas de minimizar suas dificuldades Por exemplo podem ser citadas algumas rela es importantes entre a programa o de alto n vel e a sua implementa o no hardware sob a forma de conceitos de arquitetura e organiza o de computadores Entre essas rela es destacam se e Declara o de vari vel e aloca o de mem ria e Constantes e operandos imediatos e Atribui o de vari veis e sua correspond ncia com as opera es de acesso mem ria e e Opera es aritm ticas e sua execu o no hardware Nesse sentido discuss es continuadas entre professores das reas de Algoritmos e Programa o e de Arquitetura de Computadores na Universidade do Vale do Itaja UNIVALI levaram concep o de uma arquitetura simplificada de processador tendo duas diretrizes principais de projeto 1 Facilitar o aprendizado da arquitetura e o entendimento dos conceitos por ela ilustrados por alunos da primeira fase do curso de Ci ncia da Computa o da UNIVALI e 2 Viabilizar e facilitar o uso da arquitetura em disciplinas mais avan adas promovendo uma integra o interdisciplinar Para minimizar a
215. essor Por m as etapas apresentadas no diagrama auxiliam os alunos no sentido de viasualizar toda a organiza o do m todo de trabalho utilizando o simulador de forma que utilizando os passos apresentados os alunos tendem a reduzir o tempo total do projeto 103 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 3 7 Estudo de Casos Nesta se o ser apresentado um estudo de caso de avalia o de mem rias cache em multi core utilizando o Simics que serviu de experi ncia para a ado o do simulador no ensino de arquiteturas Tamb m ser o mostrados como exemplo seis trabalhos apresenta dos pelos alunos dividido pelos dois anos ministrados da disciplina chamada Introdu o ao Processamento Paralelo e Distribu do da P s Gradua o em Computa o da Univer sidade Federal do Rio Grande do Sul Com a cont nua demanda por desempenho computacional as mem rias cache v m sendo largamente adotadas nos diversos tipos de projetos arquiteturais de computa dores Os atuais processadores dispon veis no mercado apontam na dire o do uso de mem rias cache L2 compartilhadas No entanto ainda n o esta claro quais os ganhos e custos inerentes desses modelos de compartilhamento da mem ria cache Assim nota se a import ncia de estudos que abordem os diversos aspectos do compartilhamento de mem ria cache em processadores com m ltiplos n cleos Portanto esse estudo de caso visou avaliar diferentes com
216. estudo dos princ pios de funcionamento dos sistemas computacionais Nesse contexto o BIP I passou a ser utilizado como processador de refer ncia para ilustrar os conceitos de arquitetura e de organiza o de computadores permitindo um melhor entendimento por parte dos alunos a respeito dos atributos arquiteturais de um processador e da diferen a entre os conceitos de arquitetura e organiza o No estudo da arquitetura foram apresentados os principais conceitos relacionados utilizando o BIP I para exemplificar os diferentes atributos arquiteturais como por exemplo o tamanho da palavra de dados o tamanho da palavra de instru o tipos de dados formato de instru o modos de endere amento registradores e conjunto de instru o Uma vez feita a explana o desses conceitos e o estudo da arquitetura do BIP I foram apresentadas as rela es entre comandos de alto n vel e comandos na linguagem de montagem do BIP I Ap s os alunos realizaram exerc cios de fixa o similares aos ilustrados na Sub se o 6 3 1 Na sequencia para reduzir o n vel de abstra o foram mostrados os c digos bin rio equivalentes de alguns programas exemplo o que permitiu ilustrar o conceito de 182 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado linguagem de m quina processo de gera o de c digo execut vel e o papel do compilador e do montador nesse processo Com rela o ao estudo de organiza o de com
217. etura de computadores devem ser iniciadas de modo mais informativo e aplicado nos per odos anteriores s disciplinas Arquitetura de Computadores idealmente no in cio dos cursos As atividades devem ocorrer tanto dentro de disciplinas quanto em atividades interdisciplinares ou multidisciplinares Posteriormente atividades com enfoque formativo e tamb m com enfoque aplicado devem ser desenvolvidas nas disciplinas diretamente relacionadas Arquitetura de Computadores Finalmente as atividades com enfoque aplicado devem ser desenvolvidas nos per odos posteriores s disciplinas diretamente relacionadas Arquitetura de Computadores Apresentam se v rios tipos de atividades propostas para desenvolvimento nos per odos anteriores s disciplinas Arquitetura de Computadores nas disciplinas diretamente relacionadas com a arquitetura de computadores e nos per odos posteriores s disciplinas Arquitetura de Computadores Em cada atividade existem as subatividades que devem ser executadas pelos professores e as subatividades que devem ser executadas pelos alunos No futuro com a disponibilidade cada vez maior de computadores com diferentes arquiteturas como arquiteturas reconfigur veis e outras arquiteturas n o convencionais e at com arquiteturas h bridas as atividades propostas devem utilizar computadores que possuem os diversos tipos de arquitetura 7 5 1 Atividades anteriores s disciplinas Arquitetura de Computadores As ativida
218. executadas simultaneamente adicionam detalhes que n o aparecem na computa o sequencial Um exemplo a depend ncia de um mesmo recurso por v rias atividades que s o executadas em paralelo necess rio maior aten o e cuidado ao lidar com recursos compartilhados neste caso Al m deste tipo de complica es o fato de a teoria para computa o paralela ter iniciado seus estudos ap s a cria o de sua tecnologia faz com que esta ainda n o pos sua uma base s lida e ainda restem d vidas quanto a representa es abstratas l gica de 3Na verdade o limite ainda menor no caso da eletricidade em fios de cobre por exemplo 114 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado racioc nio e algoritmos eficazes dificultando a obten o de resultados reais timos A rea ainda n o foi totalmente explorada e exige mais estudos para que atinja sua maturi dade Para o alcance da maturidade no estudo do paralelismo ainda necess rio o en tendimento do equil brio entre as partes do computador paralelo e sua influ ncia no de sempenho Fatores como a velocidade do processador a comunica o e o desempenho da hierarquia de mem ria afetam o alcance de resultados que se consideram ating veis na teoria e que ainda n o foram alcan ados Al m do equil brio e desempenho estes fatores tamb m influenciam na portabi lidade do c digo Isso porque entre computadores monoprocessados um mesmo p
219. executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas e de diferentes fabricantes Em todas as atividades propostas os alunos devem ser motivados a preparar relat rios nos formatos de artigos de eventos cient ficos como por exemplo do WSCAD WIC e do WSCAD SSC Os professores devem avaliar todos os artigos preparados pelos alunos e motivar os autores dos melhores artigos submeter os mesmos para o WSCAD WIC Nos ltimos semestres temos desenvolvido algumas dessas atividades na disciplina Arquitetura de Computadores III que uma disciplina do quarto per odo do curso Ci ncia da Computa o da PUC Minas Atualmente todos os alunos preparam relat rios no formato de artigo do WSCAD WIC que s o avaliados pelo professor da disciplina Dentro os melhores artigos preparados e submetidos pelos alunos muitos t m sido aprovados e publicados nos ltimos anos no WSCAD WIC A grande maioria dos alunos mostra se muito interessada motivada e convencida 211 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado que o dom nio dos conhecimentos relacionados com a arquitetura de computadores principalmente das arquiteturas paralelas dos processadores com m ltiplos n cleos produz na pr tica ganhos de desempenho significativos na execu o dos programas Os alunos comprovam de modo formativo a import ncia do aprendizado dos t
220. exerc cios de an lise da execu o das instru es na organiza o do BIP I os alunos demonstraram entendimento b sico a respeito da opera o do processador e dos diferentes n veis de abstra o arquitetural e organizacional 63 3 Circuitos Digitais Esta disciplina tem por objetivo caracterizar e aplicar os fundamentos da Eletr nica Digital para aplica es em an lise de circuitos utilizados em um computador Nela o aluno aprende as t cnicas necess rias para implementar os blocos construtivos b sicos de um processador como por exemplo registradores somadores decodificadores e multiplexadores entre outros Nesta disciplina o BIP I foi utilizado para exemplificar o uso desses blocos construtivos para a constru o de um sistema digital do tipo processador program vel Como a disciplina baseada em ferramentas de captura de esquem tico e de simula o l gica foi aplicada uma atividade na qual os alunos deviam implementar o BIP I utilizando essas ferramentas e analisar o funcionamento do processador atrav s de diagramas de forma de onda produzidos pelo simulador Diversos alunos j haviam estudado o BIP I nas disciplinas de Computa o B sica e ou de Algoritmos e Programa o o que facilitou a realiza o da atividade No entanto mesmo para aqueles que n o haviam tido a oportunidade de estudar o BIP I a compreens o acerca da sua arquitetura e da sua organiza o tamb m foi facilitada pela simplicidade do pr
221. fas 10 Assim em tempo de execu o o escalonamento revisto com base nas condi es atuais dos processos alterando as aloca es se julgar necess rio o que n o poss vel no escalonamento est tico O uso deste tipo de mecanismo objetiva o aproveitamento m ximo dos recursos dispon veis deixando os ocupados o maior tempo poss vel Neste contexto a Intel desenvolveu a biblioteca Threading Building Blocks para C possibilitando implementa es de programas que utilizem os diversos n cleos dos atuais processadores multi core Seu modelo de balanceamento chamado de task steal ing e funciona basicamente da seguinte maneira se um dos n cleos j completou o seu trabalho enquanto outros possuem uma razo vel quantidade de tarefas em suas respecti vas filas a TBB rearranja estas tarefas retirando algumas de uns dos n cleos ocupados e repassando para o que est livre importante ressaltar que todo este processo ocorre sem a requisi o ou manipula o do programador que pode concentrar se somente em sua implementa o Dentre as componentes dispon veis na TBB destacam se os Containers que se aplicam exclus o m tua concurrent queue concurrent vector concurrent hash map as opera es at micas fetch and add fetch and store compare and swap e o Task Scheduler que possibilita o acesso direto a cria o e ativa o de tarefas A TBB encontra se na vers o 2 1 lan ada em julho de 2008 6http
222. fessores do curso de Engenharia de Computa o da UEFS puderam constatar a partir dos estudos cient ficos realizados e das experi ncias exercidas desde 2003 ano de implanta o do curso a necessidade de alguns elementos para o bom andamento do curso conforme descri o seguinte O primeiro elemento considerado o processo de adapta o ao m todo PBL o 68 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado qual abrange professores e alunos Todo professor novo no curso passa por uma oficina de uma semana antes de ministrar aulas ou tutoriar um grupo Nesta oficina o pro fessor trava contato com o m todo atrav s da apresenta o e do estudo de suas bases te ricas abrang ncia desafios e formas de avalia o Al m disso o docente introdu zido pr tica do m todo e elabora o de problemas atrav s da an lise de resultados de problemas e projetos apresentados nos estudos integrados Em rela o aos alunos a primeira semana de aulas reservada exclusivamente para a compreens o e pr tica do m todo Este processo complementado com o in cio das atividades nos estudos integra dos Naturalmente por serem egressos de um sistema educacional tradicional h certa dificuldade inercial de adapta o havendo inclusive casos de desist ncia nos primeiros semestres O segundo elemento levantado o comprometimento dos professores tutores O papel dos tutores n o se limita apenas a
223. gan Kaufmann 2000 Martins C A P S Redefini o do Termo Arquitetura de Computador Workshop sobre Educa o em Arquitetura de Computadores WEAC 2009 p 92 95 Martins C A P S Impactos na rea da computa o causados pela heterogeneidade de modelos de arquitetura materiais e princ pios f sicos utilizados na implementa o de sistemas de computa o II semin rio sobre Grandes Desafios da Computa o no Brasil 2009 p 1 3 Muller D E The place of logical design and switching theory in the computer curriculum Communications of the ACM v 7 n 4 April 1964 ACM p 222 225 Null L 2006 The Essentials of Computer Organization and Architecture 2 edition Jones amp Bartlett Pub 2006 Patterson D A Hennessy J L 2008 Computer Organization and Design The Hardware Software Interface 4 edition Morgan Kaufmann 2008 Pugh E W Johnson L R Palmer J H 1991 IBM s 360 and Early 370 Systems MIT Press 1991 Smith R E A Historical Overview of Computer Architecture IEEE Annals of the History of Computing v 10 n 4 oct 1988 p 277 303 Stallings W 2005 Computer Organization and Architecture Designing for Performance 7 edition Prentice Hall 2005 Stern Nancy 1981 From ENIAC to UNIVAC An appraisal of the Eckert Mauchly Computers Bedford Massachusetts Digital Press Silva A R Valad o E F F Figueiredo R S Mart
224. hos correlatos que motivaram e justificaram a aplica o desta no curso de Arquitetura de Computadores no 2 semestre do ano de 2008 Al m do ambiente de ensino ativo e colaborativo tamb m colocou se em pr tica a id ia de grava o de screencasts que nada mais s o do que um v deo contendo a fala do docente durante a aula sincronizadas com a apresenta o de seus slides not rio citar aqui que a inten o n o a gera o de material que substitua a aula ou para aplica o em ensino dist ncia mas sim a obten o de um conte do de apoio que permita aos alunos tirarem d vidas pontuais surgidas durante a aula ou que alunos faltantes possam ter acesso ao conte do produzido em sala de aula Tem se portanto a gera o de um material que atende a um nicho muito espec fico de alunos sendo estes os matriculados na pr pria disciplina Para que esta id ia se torne fact vel necess rio que a grava o dos screencasts n o acarrete em mudan as bruscas na metodologia de apresenta o e ensino do docente bem como n o produza a necessidade de um esfor o extraclasse muito grande como a necessidade de manipula o e edi o do conte do gerado Como essas id ias s o de certa forma independentes umas das outras isto pode se montar um ambiente ativo e colaborativo sem gravar screencasts e vice versa alguns leitores podem achar interessantes ou pass veis de implantan o algumas das t cnicas e ferramentas aqui
225. i es mais abstratas que ser o as mais robustas e invariantes e defini es menos abstratas ou mais concretas que ser o as menos robustas e mais variantes entre as diferentes arquiteturas de computadores e tamb m ao longo do tempo 200 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 3 Impactos do significado do termo na educa o em arquitetura de computadores Nesta se o apresentam se e analisam se exemplificando se sempre que poss vel os principais impactos positivos e negativos dos significados do termo Arquitetura de Computador no processo de educa o em arquitetura de computadores considerando se de modos isolado e integrado o ensino e o aprendizado S o considerados isoladamente as influ ncias e os impactos causados entre os quais destacam se os relacionados ao interesse a motiva o a dedica o e a facilidade de entendimento dos alunos das disciplinas diretamente relacionadas com arquitetura de computadores dos professores das disciplinas relacionadas com arquitetura de computadores e dos alunos e professores das demais disciplinas Ao analisar se os impactos do termo na educa o em arquitetura de computadores deve se considerar individualmente e diferentemente os cursos de ci ncia da computa o e os demais cursos relacionados com a computa o Isso deve se aos diferentes perfis dos egressos dos diversos cursos da rea e quantidade e profundidade dos conte dos
226. iados por um nico nome como se cada agregado fosse um conjunto de atores que possuem caracter sticas semelhantes Um agregado multi acess vel ou seja capaz de receber v rias mensagens simultaneamente diferentemente de outros modelos lingua gens orientada a objetos O modelo ActorSpace extende o modelo Actor para evitar serializa es desne cess rias Um espa o ator um conjunto de atores computacionalmente passivo que representa um contexto de emparelhamento de padr es ActorSpace utiliza um modelo de comunica o baseada em padr es de destino cada um dos quais est associado com uma lista de atributos de atores Assim mensagens podem ser enviadas para todos os membros ou um membro arbitr rio do grupo definido pelo padr o tornando a comunica o mais eficiente 4 8 2 Modelos Orientado a Objetos A partir de agora apresentaremos uma abordagem superficialmente similar focada em modelos orientado a objetos que consiste em estender linguagens orientada a objetos sequenciais fazendo com que mais de uma thread esteja ativa ao mesmo tempo A primeira maneira chamada Orienta o a objetos Externa permite threads de controle no n vel mais alto da linguagem Os objetos continuam com sua fun o de reunir 127 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado c digo logicamente relacionados Dessa forma a declara o de um objeto funciona como um mecanismo de comunica o visto q
227. idade da interconex o se conectar a diferentes tipos de dispositivos e tamb m da capacidade de que a cada nova gera o o projeto poder ser em grande parte reutilizado Uma interconex o pode ser feita de diversas formas e mesmo assim durante anos a solu o adotada tem sido a interconex o por barramento Por m atualmente existem diversas formas de interconex es que est o sendo estudadas a fim de serem implemen tadas nos processadores multiprocessados que o caso das interconex es por matrizes de chaveamento ou por redes intra chip tamb m conhecidas como NoC Network on Chip 23 3 3 5 Barramentos Um barramento um canal de comunica o compartilhado que utiliza um conjunto de fios para conectar diversos dispositivos ou subsistemas As principais vantagens dessa interconex o a simplicidade reusabilidade e o baixo custo A simplicidade do barramento considerada a partir do ponto de vista de que novos dispositivos podem ser agregados facilmente sem grandes modifica es por m o 84 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado barramento n o totalmente escal vel pois o mesmo n o se adapta para aumentar a vaz o de dados ao adicionar um novo componente interconectado Quanto reusabilidade como o projeto de barramentos muitas vezes segue a de terminados padr es esses podem ser reusados a cada nova gera o com pouca ou nen huma modifica o Como o projeto de
228. ier Alexandre Navaux capitulo 3 Rodolfo Jardim de Azevedo capitulo 1 Sergio T Kofuji capitulo 5 Tiago de Oliveira capitulo 2 Wagner L A de Oliveira capitulo 2 Wang J Chau capitulo 5 Cap tulo 1 Aplica o de Tablet PCs no Ensino de Arquitetura de Computadores Pedro Henrique Borges de Almeida pedrohbalmeida gmail com Rodolfo Jardim de Azevedo rodolfo ic unicamp br Instituto de Computa o UNICAMP Av Albert Einstein 1251 Sala 10 Cidade Universitaria 13083 852 ou Caixa Postal 6176 Cidade Universitaria 13083 970 Telefone 55 19 3521 5857 Fax 55 19 3521 5847 Resumo N o novidade alguma a introdu o de dispositivos computacionais no ambiente de sala aula Sejam eles notebooks PDAs celulares ou qualquer outro tipo de dispositivo m vel a eles dado o cr dito de permitir que o ambiente de ensino seja melhor aproveitado Dentre esses dispositivos m veis destaca se o Tablet PC que possui grande mobilidade poder computacional semelhante ao dos notebooks modernos tela dotada de interface pen based e rede wireless Tem se assim um hardware bastante promissor para o desenvolvimento de aplicativos e pr ticas que tirem proveito de diversos paradigmas de ensino como o ensino ativo e colaborativo cujos benef cios j foram demonstrados na literatura A UNICAMP possui uma sala de aula com 21 Tablet PCs e infra estrutura wireless Com esses equipamentos foi poss vel a montagem de
229. inguagem de montagem Teste de if A B LD A j ACC lt A condi o do tipo Bloco 1 SUB B ACC lt ACC B if then BNE L1 Bloco 2 Bloco 1 Li Bloco 2 Teste de BE uae f LD A j ACC lt A condi o do tipo Bloco 1 SUB B GACC lt ACC B if then else else BNE L1 Bloco 2 Bloco 1 JMP L2 Bloco 3 L1 Bloco 2 L2 Bloco 3 La o de i Oe LDI 0 ACC 0 repeti o do tipo while i lt 10 STO I TO lt ACC while Bloco 1 L1 itt SUBI 10 ACC lt ACC 10 BGE 12 Bloco 2 Bloco 1 LD I FACC lt I ADDI 1 ACC lt ACC 1 STO I I lt ACC JMP Ll L2 BLOCO 2 176 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Tabela 6 5 Uso da linguagem de montagem do BIP II Parte II Abstra o C digo de alto n vel C digo na linguagem de montagem La o de i 0 LDI O FADE 0 repeti o do tipo do STO I I lt ACC do while Bloco 1 L1 Lrt l Bloco 1 whale 1 lt 10 LD I ACC e I Bloco 2 ADDI 1 ACC lt ACC 1 STO I I lt ACC SUBI 10 ACC lt ACC 10 BLT L1 Bloco 2 La o de for i 0 i lt 10 i Implementa o em linguagem de repeti o do tipo Bloco 1 montagem id ntica implementa o do for la o de repeti o do tipo while Bloco 2 A Figura 6 7 apresenta a organiza o Harvard monociclo do processador BIP II Em rela o organiza o do processador BIP I
230. ins C A P S Abordagem pr tica fundamentada em an lises e modifica es de programas paralelos para motiva o ao aprendizado de Arquitetura de Computadores Workshop sobre Educa o em Arquitetura de Computadores WEAC 2010 p 9 12 Von Neumann J 1945 First Draft of a Report on the EDVAC Moore School of Electrical Engineering University of Pennsylvania June 30 1945 Corrected and 216 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado complete version published in IEEE Annals of the History of Computing vol 15 No 4 1993 pp 27 75 Wiki 2012 Architecture http en wikipedia org wiki Architecture Wilkes M V 1951 The EDSAC Computer International Workshop on Managing Requirements Knowledge AFIPS 1951 Wilkes M V 1975 Early computer developments at Cambridge The EDSAC Radio and Electronic Engineer vol 45 n 7 pp 332 335 Williams M R 1993 The Origins Uses and Fate of the EDVAC IEEE Annals of the History of Computing Vol 15 No 1 Jan pp 22 38 WWW Computer Architecture Page 2012 http www cs wisc edu arch www 217
231. iprocessadas que associam mem rias cache a cada um dos processadores do sistema Assim em arquiteturas onde a mem ria cache est associada somente mem ria principal n o existem problemas de coer ncia de mem ria cache Podemos ver um diagrama da arquitetura com mem rias cache associadas em blocos ou associada somente mem ria principal na Figura 3 4 onde se pode observar duas arquiteturas de mem ria cache uma com problema de co er ncia de dados 3 4 a e outra sem problemas de coer ncia de dados 3 4 b 20 Interconex o Mem ria Principal Mem ria Principal a Com problemas de coer ncia b Sem problemas de coer ncia Figura 3 4 Arquiteturas de mem ria cache com problema de coer ncia de dados 3 4 a e sem problemas de coer ncia de dados 3 4 b adaptado de 20 Para que uma mem ria cache seja capaz de manter a coer ncia de dados necess ria a ado o de um protocolo de coer ncia para assegurar o controle de compartilhamento 82 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado de qualquer bloco de dados entre v rias mem rias cache e processadores Existem duas classes principais de protocolos atualmente em uso para assegurar a coer ncia de mem rias cache e Baseado em Diret rio O status sobre o compartilhamento de um bloco de mem ria alocado apenas em uma posi o chamada diret rio e Snooping O status sobre o compartilhamento de um bloco replicado
232. ipular como ser executado seu c digo especificando quais os trechos que devem ser paralelizados e quais vari veis dever o ser compartilhadas Tais informa es s o fornecidas atrav s de diretivas para o compilador semelhantes a comen t rios Segue abaixo um pequeno exemplo de c digo em que feita a inicializa o de um vetor por meio de diversas threads 1 int main int argc char x xargv 2 const int N 100000 3 int i al N 4 fpragma omp parallel for 5 for i 0 i lt N i 6 ali 2 x i y return O 8 3 As principais vantagens de OpenMP em rela o aos outros modelos residem na despreocupa o com sincroniza o de mensagens em rela o interface MPI a flexi bilidade mesmo em rela o aplica es sequenciais um compilador comum interpretar as diretivas OpenMP apenas como coment rios e a possibilidade de paralelizar diversos trechos de c digo sem modific los estruturalmente diminuindo a incid ncia de erros de programa o Por m a interface ainda n o apresenta alguns recursos desej veis como um verifi cador de erros confi vel garantia de m xima efici ncia no uso da mem ria compartilhada e sincroniza o autom tica de entrada e sa da de dados Encontra se atualmente na vers o 3 0 2008 e administrada pela comunidade OpenMP ARB OpenMP Architecture Review Board composta por diversas empresas 4http openmp org Shttps computing In gov tutorials openMP
233. iteturas LOAD STORE Modos de endere a Imediato direto por registrador e indireto por 1e 2 mento registrador Formatos de instru o Relacionamento com o conjunto de instru ese 1 e 2 os modos de endere amento Microprograma o Temporiza o das instru es projeto do con 1e2 junto de microinstru es e defini o de seu se quenciamento programa de controle Paralelismo Uso de pipeline para explorar ILP Instruction 2 Level Parallelism Linguagens de descri o de hardware Projeto RTL VHDL Verilog E Ferramentas de s ntese e simula o Compromissos conflitantes tradeoffs entre ve 3 locidade de processamento e rea ocupada no hardware Verilog com relativa anteced ncia Contudo isto funciona melhor quando o Pro jeto de um Processador corresponde ao segundo problema dentro do EI o que d maior margem de tempo visto que o aprendizado de uma linguagem de descri o de hardware relativamente complexo neste ponto do curso os alunos t m pouco conhecimento at sobre linguagens de programa o tais como C e Java Temporiza o Uma das principais dificuldades dos alunos consistiu em misturar blocos 52 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado combinacionais e seqiienciais em um mesmo projeto n o atentando para a inser o de registradores nas entradas e ou sa das de determinados blocos combinacionais al m da n o observ ncia do tempo de e
234. itivo indicavam qual estava usando o barramento Para verificar se o dado transferido estava correto foi utilizado um display de 7 segmentos 2 4 3 3 Exemplo 3 Controlador de Barramento PCI O terceiro exemplo sobre barramentos e dispositivos E S foi inspirado na id ia de de senvolvimento de uma placa de v deo simples que pudesse ser ligada a um processador desenvolvido em um problema anterior Visando o entendimento de como essa conex o feita em dispositivos dispon veis no mercado foi escolhido o barramento PCI Para que o dispositivo pudesse ser constru do em laborat rio devido as restri es de mem ria da FPGA dispon vel foi adotado um padr o entrela ado de exibi o de imagens em televi sores com entrada v deo componente compat vel com o formato PAL 4 2 0 O problema consistiu em projetar e implementar em FPGA um controlador de barramento PCI que permita a conex o de at 4 controladores de E S ao barramento 59 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tamb m era parte do projeto o desenvolvimento do hardware para o interfaceamento de dois controladores de E S um deles para um placa respons vel pela gera o de amostras digitais dos sinais de v deo componente que seriam gravadas na mem ria principal e um para o hardware de exibi o de imagens equipado com buffer que permita o armazena mento de uma linha horizontal de imagem proveniente da mem ria principal Ambos co
235. ito atuando como operando fonte e ou destino das opera es realizadas Na Tabela 6 2 s o apresentados alguns exemplos de uso da linguagem de montagem do BIP I para a implementa o de abstra es representadas em linguagens de alto n vel Como pode ser observado pelo seu conjunto de instru es o BIP I consiste basicamente de uma calculadora program vel que realiza opera es de soma e subtra o com vari veis e constantes No entanto apesar de limitado esse conjunto de instru es permite ilustrar v rias rela es entre as abstra es estudadas nas disciplinas da rea de Algoritmos e Programa o e sua representa o no n vel arquitetural do processador conforme ser discutido posteriormente 172 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Tabela 6 2 Uso da linguagem de montagem do BIP Abstra o C digo de alto n vel C digo na linguagem de montagem Atribui o A 10 LDI 10 ACC lt 10 de uma constante STO A cA lt ACC Atribui o A B LD B ACC lt B de uma vari vel STO A cA lt ACC Comando com uma A A 1 LD A ACC A opera o aritm tica ADDI 1 ACC ACC 1 STO A 7A lt ACC Comando com A A B 3 LD A ACC A m ltiplas opera es ADD B ACC lt ACC B aritm ticas SUBI 3 ACC ACC 3 STO A 7A ACC Na Figura 6 5 s o apresentadas duas alternativas de organiza o para o BIP I
236. ivo uma equipe de profissionais da Ericsson liderada pelo cientista da computa o Joe Armstrong 3 realizou experimentos com base na lin guagem Prolog dando origem a linguagem em quest o Desde ent o Erlang vem ga nhando espa o sendo utilizada em muitos projetos da Ericsson e por in meras outras em presas como o Facebook chat backend e tamb m por universidades ap s o lan amento de vers es open source Devido a preocupa o com a portabilidade de sistemas escritos em Erlang foi implementada uma m quina virtual que funciona como as j conhecidas m quinas vir tuais para uma linguagem interpretada um c digo escrito em Erlang compilado em byte codes que por sua vez s o interpretados pela m quina virtual Desta forma desde que haja uma m quina virtual Erlang instalada na plataforma n o haver problemas de Shttp www ida liu se chrke Shttp www2 in tum de seidl http erlang org Shttp www erlang com br brhistor asp 136 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado compatibilidade o que torna a linguagem altamente port vel e retira a necessidade de implementar vers es para arquiteturas espec ficas Dada a natureza das aplica es para as quais a linguagem foi inicialmente proje tada sistemas de telecomunica o Erlang apresenta um poderoso suporte a concorr n cia Cada m quina virtual Erlang tamb m chamada de n pode criar processos que s o executados e
237. iza o de sistemas h bridos CPU convencional GPU FPGA CELL e principalmente arquiteturas paralelas No sistema FENIX da USP existem todas as disciplinas oferecidas por escolas No momento a disciplina de Arquiteturas Avan adas de Computadores est sendo atualizado para atender a nova Era Exascale 151 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Para cada disciplina o sistema apresenta as seguintes informa es C digo Nome rea de Concentra o Data de Cria o N mero de Cr ditos Carga Hor ria Total em horas semanas Te rica Pr tica Estudos Objetivos Justificativa Ementa Metodologia Forma de Avalia o e Bibliografia A seguir apresentamos a ementa da disciplina Arquitetura de Computadores Disciplina PSI5846 Arquiteturas Avan adas de Computador I rea de Concentra o 3142 Cria o 30 06 2003 Ativa o 30 06 2003 Desativa o Nr de Cr ditos 8 Carga Hor ria Te rica Pr tica Estudos Dura o 3 0 7 12 semanas 120 horas Docentes Responsaveis Sergio Takeo Kofuji Marcio Lobo Importancia da Disciplina Introduzir Arquiteturas Avan adas de Computadores com nfase em processadores especiais como aceleradores de aplica es cient ficas e de engenharia Questionar com o aluno a quest o do desempenho computacional em fun o da carga de trabalho e do custo Introduzir quest es de pesquisa em alta como a programabilidade para
238. l Broadband Engine Processor Home Page lt http www alphaworks ibm com tech cellsystemsim gt OpenSPARC The OpenSPARC World s First Free 64 bit CMT Microprocessors Home Page lt http www opensparc net gt Martin M Sorin D et al 2005 Multifacet s General Execution driven Multiprocessor Simulator GEMS Toolset Computer Architecture News CAN 1 8 Asanovic Krste 2009 Computer Science 152 Computer Architecture and Engineering Sima Dezo 2009 Prof Dr habil Dezs Sima Site lt http nik bmf hu sima oktatas htm gt El Rewini 2008 CSE 8383 Spring 2008 Hennessy amp Patterson 2007 Computer Architecture A Quantitative Approach Fourth Edition Morgan Kaufmann Scarpino Mathew 2008 Programming the Cell Processor for Games Graphics and Computation Foreward by Dr Duc Vianny Technical Solution Architect IBM Olukotun Kunle Hammond Lance 2007 Chip Multiprocessor Architecture Techniques to Improve Throughput and Latency Synthesis Lectures on Computer Morgan amp Claypool Weaver David 2008 OpenSPARC Internals Hiramatsu K Roberto 2008 Sistema de Vis o Computacional sobre processadores com arquitetura multi n cleos Tese de Doutorado em Engenharia El trica USP Moscinski Jerzy Changing Tools and Methods in Engineering Proceeding of International Conference on Engineering Education ICEE Coimbra Portugal 2007 Orgolho E Falcon A Faraboschi P Mon
239. la e Alunos com maior facilidade no aprendizado acabam atropelando alunos que necessitam de mais tempo para pensar em determinadas quest es propostas pelo docente durante a aula e Alunos normalmente trabalham fora da sala de aula em lista de exer cios sendo que o docente s consegue perceber as principais defici ncias da classe tardiamente ap s a prova A proposta que o ambiente de aula seja configurado conforme a figura 4 Ve se assim que uma aula ativa e colaborativa com Tablet PCs intercala peda os de aula com conte do expositivo e peda os de aula em que exigido dos alunos de forma colaborativa a solu o de alguns problemas relacionados com o conte do ensinado A solu o desses exerc cios feita por grupos de pelo menos 2 alunos sendo reservada uma rea de escrita privada para cada grupo Ao terminar a solu o de um exerc cio o grupo deve envi la para o Tablet PC do docente de forma identificada ou an nima O uso de Tablet PCs nesse ambiente essencial porque torna a montagem deste fact vel e otimizada pois com papel e caneta tradicionais a log stica muitas vezes inviabiliza ambientes com tal grau de intera o eS Be Projetor a gt D slides anota es N gt T I slides anota es N Ea solu es de exercicios E Al a eee el solu es de exercicios b D S Tablet PC y gt Rede Wireless Instrutor Tablet PCs Alunos Figura 4 Configur
240. le Program Multiple Data MPI suporta tanto a comuni ca o ponto a ponto quanto a coletiva ou seja os processadores podem efetuar opera es para enviar mensagens de um determinado processo a outro ou um grupo de processos pode efetuar opera es de comunica es globais Al m disso MPI capaz de supor tar comunica o ass ncrona e programa o modular atrav s de mecanismos de comu nicadores que permitem ao usu rio MPI definir m dulos que encapsulem estruturas de comunica o interna Entre todas as vantagens do MPI est o e Portabilidade Pode se colocar uma aplica o em uma plataforma diferente sem alterar o c digo desde que a nova plataforma suporte o padr o MPI e Disponibilidade H uma enorme variedade de implementa es dispon veis e Funcionalidade Mais de 300 rotinas est o definidas em MPI e Padroniza o a nica especifica o de passagem de mensagens considerada um padr o E suportada virtualmente por todas as plataformas HPC E capaz de substi tuir praticamente todas as bibliotecas anteriores Existem duas vers es do MPI que s o populares atualmente MPI 1 que d nfase a passagem de mensagem e tem um ambiente est tico de execu o e o MPI 2 conclu da em 1996 que inclui novas caracter sticas tais como I O paraleliz vel Input Output gerenciamento din mico de processos e opera es de leitura e escrita em mem ria re mota 10 Al m disso MPI 2 especifica mais de 500 fun
241. lia o de cada aluno que deve atribuir sua nota justificando a para todos os alunos do grupo Quanto aos componentes curriculares convencionais ou seja os m dulos de Ar quitetura de Computadores e Arquitetura de Computadores Avan ada s o realizadas avalia es pelo professor respons vel pelas duas disciplinas Normalmente as avalia es dos dois componentes convencionais s o provas te ricas escritas aplicadas duas em cada m dulo No entanto na avalia o final do m dulo pode ser considera ou n o uma ou mais avalia es referentes aos produtos produzidos no componente PBL Para a composi o da m dia final dos alunos tem sido adotada uma m dia aritm tica que pode variar dependendo do n vel de dificuldade cobrado tanto nos componentes convencionais como no componente PBL Atualmente os dois componentes convencio nais respondem a 70 da nota final do aluno no estudo integrado enquanto o componente PBL respons vel pelo restante 30 Neste caso vale destacar a import ncia da avali a o do produto que pode entrar na composi o tanto dos componentes convencionais como do estudo integrado j que os produtos refletem os conte dos de aprendizagem de forma integradora 2 4 Estudo de Casos Nesta se o ser o analisados problemas aplicados no Estudo Integrado de Sistemas Di gitais os quais foram divididos em quatro categorias Projeto de um Processador Sis 48 Cap tulo 2 Arquitetura de
242. lia o de desempenho de programas paralelos desenvolvidos utilizando se 212 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado a linguagem C e a API OpenMP Os programas desenvolvidos s o executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes Em todas as atividades propostas os alunos devem ser motivados a preparar relat rios nos formatos de artigos de eventos cient ficos como por exemplo do WSCAD WIC WSCAD SSC e nos eventos cient ficos diretamente relacionados com as reas de interesse de cada aluno Nos ltimos semestres iniciamos o desenvolvimento de atividades de avalia o de desempenho de programas paralelos relacionados com reas de aplica o como processamento digital de imagens e intelig ncia computacional onde os alunos desenvolvem programas paralelos utilizando diferentes linguagens e APIs para a avalia o e a an lise dos impactos de otimiza es de c digo relacionadas com o n mero de threads utilizados e com a utiliza o eficiente das mem rias cache no desempenho dos programas paralelo Os alunos envolvidos nas atividades mostraram se interessados e motivados no aprofundamento do aprendizado de arquiteturas paralelas dos processadores com m ltiplos n cleos para o aumento dos ganhos de desempenho causados pela utiliza o dos
243. lo proporciona flexibilidade da arquitetura sist lica Um exemplo a linguagem Alpha onde programas s o expressados como equa es de recorr ncia Elas s o traduzidas para a forma sist lica definindo se um espa o vetorial que pode ser transformado geometricamente e levando em considera o as depend ncias de dados Um exemplo de aplica o avalia o polinomial A regra de Horner para avaliar um polin mio y an x An 1 x an 2 x an 3 x ta x ao Um array sist lico linear em que os processadores s o arranjados em pares um multiplica sua entrada por x e passa o resultado para a direita e o pr ximo soma a e passa o resultado para a direita para o pr ximo par 129 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Vantagens r pido e escal vel Desvantagens caro dif cil de construir e altamente especializado para aplica es muito particulares 4 9 Tudo Expl cito Nesta categoria encontram se t cnicas modelos e linguagem em que os detalhes da de composi o e comunica o s o expl citos e portanto a aplica o espec fica para uma arquitetura e o estudo dificultado pela necessidade de grande detalhamento no c digo Esta a classe que corresponde primeira gera o de computa o paralela 4 9 1 Paradigmas de particionamento mapeamento e comunica o Message passing shared memory mem ria compartilhada rendezvous e
244. luenciar o tempo de simula o O Simics trabalha com m ltiplos processadores da seguinte forma Tomando o caso hipot tico de 4 processadores sendo simulados o Simics ir executar N ciclos do processador 0 N ciclos do processador 1 e assim por diante em um esquema de fila circular Para simula es onde n o estamos interessados exatamente no efeito das mem rias cache ou o tempo exato de simula o n o importante o n mero de passos executados N pode ser grande J nos casos onde queremos ter resultados mais precisos deve se usar N 1 O comando para definir o tempo dessa troca de execu o o cpu switch time cycles o qual indicado utilizar valor igual a 1 apenas quando estamos com todo ambiente 100 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado de simula o pronto e queremos fazer testes em nossa arquitetura Dessa maneira com cada processador executando 1 ciclo por vez a simula o pode gerar resultados mais pr ximos da realidade por m essa troca de execu o custosa no ponto de vista de tempo de simula o Ap s a configura o do tempo de troca de execu o entre processadores outro par metro importante que pode ser configurado no Simics a quantidade de instru es executadas por ciclo IPC de cada processador Essa configura o pode ser feita pelo m todo set step rate de cada processador onde a configura o padr o igual a 1 Com esse par metro pode
245. m 116 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado 4 4 2 Interleaving Uma segunda abordagem poss vel a Interleaving entrela amento que descreve um m todo para organizar dados de maneira n o cont gua para aumentar o desempenho do programa uma t cnica onde os bits de um bloco de dados s o entrela ados com o uso de uma matriz O entrela amento consiste simplesmente da mudan a na ordem dos bits Esta abordagem deriva de ideias de multiprograma o em sistemas operacionais e usado principalmente em sistemas de transmiss o e comunica o de dados Se o objeto a ser computado pode ser dividido em um conjunto de sub computa es que comutam ent o existe uma liberdade consider vel e conveniente para o Interleaving Cada parte do c digo associada a uma express o booleana Na computa o do programa todas as express es s o avaliadas e aquelas que aparecem como verdadeiras ter o seus sub programas executados Esse processo ent o repetido Como a abordagem anterior modelos de Interleaving s o simples e abstratos por m dif cil garantir bom desempenho e imposs vel avaliar seu custo 4 4 3 Linguagens de l gica paralela impl cita Linguagens de l gica impl cita exploram o fato de que o processo de resolu o de pesquisa l gica cont m muitas atividades que podem ser feitas em paralelo Os principais tipos de paralelismo inerentes de programas l gicos s o aqueles caus
246. m Figura 19 Percentagem de alunos que assistiriam a aula via WEB Com rela o ao m todo de estudo dos alunos achou se interessante avaliar quais materais eles utilizaram para estudar durante o curso uma vez que agora eles tiveram sua disposi o os screencasts e tamb m os slides anotados do professor Foi pedido aos alunos que eles comparassem em rela o com outras disciplinas que n o utilizam o Tablet PC o uso de livro texto lista de exerc cios notas de aula pessoais notas de aula do docente e de outros como a Internet A figura 20 mostra os resultados obtidos Podemos ver que em rela o ao livro texto e lista de exerc cios houve uma boa distribui o dos alunos sendo que podemos concluir que as modifica es introduzidas no curso n o afetaram pelo menos n o de maneira sistem tica o uso desses recursos did ticos na rotina de estudo dos alunos Essa tend ncia n o se repete em rela o ao uso de notas de aulas pessoais com 58 dos alunos citando que fez menor uso de suas anota es pessoais e apenas uma pequena parcela 9 respondendo que fez mais ou muito mais uso de anota es pessoais em compara o a cursos que n o utilizaram Tablet PC O uso de notas de aula do professor passou a ser mais ou muito mais utilizado por 50 dos alunos indicando que frente facilidade de consulta os estudantes consideram esse material uma boa fonte de conte do 26 Cap tulo 1 Arquitetura de Computadores educa
247. m paralelo e se comunicam atrav s de um sistema ass ncrono de mensagens Cada mensagem recebida colocada numa fila de mensagens sendo posteriormente con sumida pelo processo receptor n o havendo portanto uso de mem ria compartilhada Assim se ocorre um erro em tempo de execu o apenas o processo onde ocorreu o erro terminado garantindo a seguran a de outros processos Outro aspecto interessante da linguagem reside na possibilidade de substitui o de partes do c digo em tempo de execu o do sistema o que tamb m conhecido como hot swapping Isto poss vel entre outros fatores pois uma aplica o em Erlang n o carregada inteiramente desde o princ pio de sua execu o mas sim aos poucos conforme determinadas partes do c digo v o sendo requisitadas o que chamado de carregamento incremental Assim torna se poss vel a manuten o e substitui o de partes do c digo em sistemas ainda em execu o sendo que esta caracter stica de extrema import n cia quando se trata de aplica es em telefonia web services e outros servi os vitais que demandam alta confiabilidade e manuten o r pida e eficiente ou ainda sistemas que pos suem extensas entradas de dados e c lculos exaustivos tais como nas reas de bioinfor m tica e meteorologia 4 10 3 Message Passing Interface O Message Passing Interface MPI uma especifica o padr o que oferece infraestru tura para a comunica o de dados entre mui
248. ma contribui o para forma o de pesquisadores e profissionais na rea de Arquitetura de Computadores e reas afins uma vez que discute e prop e um elenco de disciplinas avan adas de p s gradua o concebendo a id ia de futuro em Arquitetura de Computadores A id ia respondermos pergunta que tipo de perfil acad mico profissional devemos formar diante das novas e futuras tecnologias de processadores Qual seria a melhor grade curricular para este elenco de disciplinas que d suporte a forma o em Arquitetura de Computadores e reas afins O objetivo apresentar uma ementa resumida do elenco das disciplinas propostas e introduzir com mais detalhes a disciplina de Arquiteturas Avan adas de Computadores I Por fim discutiremos as experi ncias com uso de simuladores trabalhos futuros e o foco das atividades em laborat rio Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado 5 1 Introdu o Este cap tulo tem como objetivo principal apresentar um elenco de disciplinas visando a forma o de um pesquisador acad mico e de um profissional especialista na rea de Arquitetura de Computadores com foco na nova era de tecnologias emergentes impulsionadas pelas barreiras de mem ria pot ncia e largura de banda A inova o neste cap tulo apresentar um curr culo diferenciado composto por um n cleo de quatro disciplinas sendo duas disciplinas base j existentes Arquitetura Avan adas de Comput
249. maior parte dos cursos os alunos n o s o motivados pelos seus professores a considerar e valorizar os aspectos relacionados com as arquiteturas e com as implementa es dos computadores que s o utilizados para a execu o dos programas desenvolvidos a partir dos algoritmos propostos e elaborados Normalmente as influ ncias das arquiteturas no desempenho computacional e at mesmo na qualidade dos resultados n o s o apresentadas e discutidas pelos professores e posteriormente exploradas e investigadas pelos alunos Deve se observar que a maior parte desses alunos possuem computadores com processadores de prop sito geral com m ltiplos n cleos e que os impactos das arquiteturas nos desempenhos dos algoritmos e softwares desenvolvidos poderiam ser explorados de modo informativo e motivador ao aprendizado de arquitetura de computadores Considerando se os per odos anteriores realiza o das disciplinas diretamente relacionadas com a arquitetura de computadores ou os per odos iniciais dos cursos observa se que os alunos n o possuem ou possuem poucos conhecimentos relacionados com a arquitetura de computadores inclusive sobre as defini es do termo Deste modo observa se que os principais impactos negativos relacionados s defini es e significados do termo Arquitetura de Computadores s o causados pelas opini es cren as e a es dos professores das disciplinas cursadas pelos alunos Os atuais professores atuam nas suas
250. mentos e as melhores t cnicas sequenciais ainda n o s o suficientes como o caso da previs o do tempo 5 por exemplo Usamos como base a classifica o inicialmente proposta por Skillicorn 24 113 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Por m a dificuldade de aumento do desempenho n o est apenas na implemen ta o do c digo mas tamb m na capacidade f sica da m quina que confronta fundamen tos f sicos como o n mero de transistores dentro de um processador Um processador nico possui seus limites que j podem estar pr ximos da capacidade atual Al m disso o potencial do processador pode ser limitado por fatores econ micos como por exem plo o desenvolvimento de processadores de sil cio e arsenieto de g lio que melhoram o desempenho mas tem custo elevado Os tr s principais limites 22 s o e Power Wall O incremento no desempenho dos processadores est limitado pela capacidade de dissipa o de calor e energia e Memory Wall O desempenho de programas est limitado pela efici ncia na ativi dade de transferir dados da mem ria principal para o processador e vice versa e Frequency Wall A capacidade de processamento do processador depende da fre qu ncia do cristal oscilador dada em ciclos clocks Quanto mais ciclos por se gundo mais opera es s o executadas em um mesmo tempo A velocidade m xima poss vel a da luz cujo limite est pr ximo de se
251. mo no n vel de instru es podem ser melhores suportadas por arquiteturas superescalares enquanto cargas com alto paralelismo no n vel de threads s o melhores suportadas por arquiteturas multithreading As abordagens single threading e superescalares tradicionais v m dando lugar a abordagens diferentes a fim de aumentar ainda mais o desempenho e reduzir o consumo de pot ncia O projeto de processadores com t cnicas multithreading e m ltiplos n cleos de processamento mais simples arquiteturas com pouco suporte de paralelismo no n vel de instru o vem sendo consolidado como uma alternativa para o aumento do desempenho computacional Para a nova gera o de processadores com arquiteturas many core a quantidade elevada de n cleos demanda um novo tipo de projeto baseado em um sistema heterog neo com diversos n cleos diferentes mem rias cache redes de interconex es protocolos de coer ncia adequados a fim de obter um alto desempenho no sistema final Neste contexto de arquiteturas many core fica clara a necessidade do ensino de diversos novos conceitos aos alunos nas disciplinas de arquiteturas de computadores En tretanto essa tarefa de ensino pode ser um pouco abstrata caso os alunos n o consigam aplicar e trabalhar mesmo que em ambiente simulado os conceitos aprendidos em sala de aula Portanto o objetivo principal desse cap tulo apresentar uma experi ncia de en sino e avalia o de processadores many core atrav s
252. mo se fossem vari veis Ex inteiro 5 ou ainda realizavam opera es de atribui o para constantes 5 lt 3 2 n o ocorreu nos semestres em que foi usada a abodagem com o BIP I e Como a explica o sobre o BIP I reuniu turmas de per odos diferentes Algoritmos e Programa o do 1 per odo e Arquitetura e Organiza o de Computadores I do 3 per odo ficou claro aos alunos do primeiro per odo que os conceitos seriam importantes tamb m para a sequ ncia do curso A aplica o do processador BIP I permitiu confirmar a efetividade da abordagem proposta uma vez que os alunos puderam consolidar os conceitos estudados na disciplina da rea de Programa o No entanto p de se evidenciar que o conjunto de instru es limitado do BIP 1 restringiu o seu uso por n o suportar a implementa o de estruturas de controle desvios condicional e incondicional no n vel arquitetural Essa limita o prevista no in cio do projeto j foi contornada com a disponibiliza o da arquitetura do BIP II Por m esse processador ainda n o foi utilizado nesta disciplina Nas pr ximas turmas pretende se aplicar o BIP I inicialmente para apresentar os conceitos introdut rios e ap s o seu entendimento utilizar o BIP II para ampliar a abrang ncia dos conceitos abordados 6 3 2 Computa o B sica Esta disciplina tem por objetivo apresentar uma vis o geral da Ci ncia da Computa o aos alunos ingressantes no curso com nfase no
253. muitos casos essa rede de interconex o formada por diversos roteadores um em cada dispositivo in terligados Logo podem n o existir liga es diretas entre todos os dispositivos sendo necess rio ent o que um pacote trafegue entre os roteadores para chegar ao seu destino A pol tica de roteamento da interconex o a que determina como os pacotes ser o chaveados para chegar ao destino Assim a forma de chaveamento depende da topologia da rede de interconex o A Figura 3 7 apresenta um diagrama de utiliza o de uma rede de interconex o intra chip de tamanho 5x4 20 roteadores conectando diversos n cleos de processa mento a quatro bancos de mem ria cache No caso ilustrado o tempo de comunica o entre n cleo e mem ria cache pode variar dependendo da localiza o do n cleo na rede de interconex o onde os n cleos mais pr ximos ir o conseguir acessar a mem ria cache com apenas dois saltos hops ou seja passando apenas pelo roteador local e roteador da mem ria cache enquanto que nos piores casos a comunica o poder custar de 5 at 8 saltos dependendo do banco de mem ria que o n cleo precisar acessar 86 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Mem ria Principal Figura 3 7 Diagrama de uma rede de interconex o intra chip NoC interligando diversos n cleos de processamento 3 4 M todo de Avalia o de Mem rias Cache Compartilhadas De acordo com 2
254. n System for Active and Collaborative Learning The Impact of Tablet PCs and Pen based Technology on Education Vignettes Evaluations and Future Directions Purdue University Press p 21 30 2 Backon Joel 2006 Student Minds and Pen Technologies A Wonderful Pedagogical Marriage The Impact of Tablet PCs and Pen based Technology on Education Vignettes Evaluations and Future Directions Purdue University Press p l 11 3 Bransford J Brown A Cooking R 2000 How People Learn Brain Mind Experience and School National Academy Press 4 Carryer J Edward 2006 The Tablet PC as a Platform for Screencasting Lectures The Impact of Tablet PCs and Pen based Technology on Education Vignettes Evaluations and Future Directions Purdue University Press p 41 48 5 Crooks Clayton E 2004 Developing Tablet PC Applications Charles River Media 6 Hennessy John L Patterson David A Goldberg David 2002 Computer Architecture A Quantitative Approach Third Edition Morgan Kaufmann 3rd edition 7 Jarrett R Su Philip 2002 Building Tablet PC Applications Microsoft Press 8 Koile Kimberle Singer David 2006 Development of a Tablet PC Based System to Increase Instructor Student Classroom Interactions and Student Learning The Impact of Tablet PCs and Pen based Technology on Education Vignettes Evaluations and Future Directions Purdue University Press p 115 122 9 M
255. nCV no Cell Apresentaremos um exemplo pr tico de um aplicativo portado da plataforma x86 para a plataforma Cell BE O objetivo geral analisar algoritmos simples de processamento de imagens subdivis o das imagens em partes menores para processamento e tratamento de bordas de regi es Como objetivo espec fico apresentaremos a biblioteca OpenCV integrada no IBM full System Simulator suas capacidades e funcionalidades Al m disso este exemplo servir de pano de fundo para o desenvolvimento de conceitos espec ficos relacionados programa o para a arquitetura Cell como por exemplo o uso de DMAs para transfer ncias de dados entre os diversos n cleos e de double e multi buffering para aumentar a efici ncia destas transfer ncias A justificativa para este enfoque estudar o processador atrav s de aplica es espec ficas para processamento de imagens e tamb m dar suporte disciplina de Algoritmos para Processamento e An lise de Imagens do Departamento de Sistemas Eletr nicos Os resultados desta pesquisa foram apresentados em um concurso da IBM que ganhou o pr mio de 4 lugar nas Am ricas Cell Contest Beyond on Gaming 2007 e em uma Tese de Doutoramento intitulada Hiramtasu 2008 Sistema de Vis o Computacional sobre Processadores com Arquitetura de Multiplos N cleos 156 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado 5 3 1 5 Ferramentas para OpenSPARC I Optam
256. na o de comunica o funcionais e de coordena o com contexto Em cada tipo descrevemos as principais ca racter sticas do modelos e apresentamos pequenos exemplos 4 7 1 Linguagens de coordena o Linguagens de coordena o simplificam a comunica o separando os aspectos computa cionais dos programas de seus aspectos comunicativos e estabelecendo um padr o pr prio para comunica o importante ressaltar que apesar de classificada em Mapeamento Expl cito a principal preocupa o desse tipo de linguagem facilitar a comunica o tornando a mais abstrata para o desenvolvedor ao inv s de se preocupar com t cnicas para explicitar o mapeamento Isso justificado pelo fato de que a comunica o a etapa seguinte ao mapeamento Come amos a descri o deste tipo de modelo com um exemplo o modelo Linda 24 que substitui a comunica o ponto a ponto por um grande reposit rio compartilhado pelos processos e de onde s o recuperados associativamente Este reposit rio compar tilhado chamado de Espa o de Tuplas 4 O modelo Linda cont m tr s opera es de comunica o e IN retira uma tupla do Espa o de Tuplas baseado em valores de alguns de seus campos devolvendo nos par metros de quem a requisitou os valores da tupla re movida e RD read faz o mesmo que o anterior exceto pelo fato que l a tupla do Espa o de Tuplas antes de remov la e OUT coloca uma tupla no reposit rio Por
257. ndicional foi necess rio incluir o registrador STATUS em especial os flags booleanos Z zero e N negative Qualquer instru o de compara o e desvio condicional deve ser precedida por uma instru o de subtra o SUB ou SUBI Dependendo do resultado dessa opera o os flags Z Zero e N Negative do registrador STATUS s o definidos em O FALSE ou em 1 TRUE As instru es de desvio condicional ent o verificam o valor desses flags para determinar se o desvio deve ser tomado ou n o conforme o tipo de compara o associado Essa estrat gia se deve limita o do formato de instru o o qual suporta um nico operando expl cito Esse operando usado para codificar o endere o de desvio enquanto que os valores comparados s o processados pela instru o de subtra o As instru es de desvio utilizam o modo de endere amento imediato quando carregam o endere o de desvio no PC o qual considerado um operando impl cito As tabelas a seguir apresentam exemplos de uso do conjunto de instru es do BIP II para implementar as estruturas de controle Nas tabelas utiliza se o termo Bloco i para designar um segmento de c digo que representa uma sequ ncia de instru es que executa alguma tarefa a qual irrelevante para o contexto do exemplo Tabela 6 4 Uso da linguagem de montagem do BIP II Parte I Abstra o C digo de alto n vel C digo na l
258. ndo em sistemas reais normalmente s o feitas m ltiplas medi es e t cnicas estat sticas s o utilizadas para garantir que as medi es s o estatisticamente significantes Logo o objetivo dessa metodologia garantir que efeitos causados por fatores n o controlados n o levem a falsas conclus es Assim ao trabalhar com um simulador determin stico onde todas as execu es de uma mesma aplica o iniciadas de um mesmo checkpoint v o retornar os mesmos resultados uma vez que o simulador ir executar as mesmas opera es e sofrer de mesmas lat ncias do hardware como o caso do Simics poder amos considerar que temos um resultado plaus vel a partir de apenas uma medi o Entretanto devemos considerar que o fato do simulador ser determin stico n o garante que a carga de trabalho tamb m ser determin stica Ou seja pequenas varia es iniciais do estado do simulador podem levar a carga de trabalho ou o sistema operacional a caminhos de execu o diferentes 30 dessa maneira a execu o nica do experimento pode levar a falsas conclus es 102 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado Logo certos cuidados devem ser tomados na simula o com rela o varia o dos resultados obtidos uma vez que o simulador que estamos utilizando determin s tico Para inser o de n o determinismo entre as execu es cada aplica o pode por exemplo ser executada a partir de dife
259. nenhuma pista sobre o assunto nas primeiras sess es as discuss es te ricas foram pouco produtivas uma vez que os alunos precisaram de algum tempo para compreenderem os conceitos envolvidos No caso do exemplo 3 a maior difi culdade foi a compreens o do mecanismo de convers o de endere os Estabelecimento de crit rios de teste No problema A busca por uma estrat gia que permitisse verificar a exist ncia da mem ria cache s pode ser atacada a partir da compreens o dos mecanismos envolvidos no seu gerenciamento Uma das difi culdades encontradas foi como estabelecer crit rios para testar os limites da cache tamanho de linha n mero de linhas por conjunto A abordagem adotada por todos os grupos tutoriais foi a elabora o de vetores de teste de forma a provocar substitui o de linhas na cache 55 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado SELECTOR OFFSET ENDERE O L GICO o Deg TABELA DE DESCRITORES w o w a i DESCRITOR SEGTO p ENDERE O LINEAR DIRECTORY PAGE OFFSET FRAME DE PAGINA VIRTUAL ENDERE O F SICO lt o F s i s DIRET RIO DE P GINAS TABELA DE P GINAS O lt a PAGE DIRECTORY ENTR PAGE TABLE ENTRY PAGE DIRECTORY BASE REGISTER Figura 2 4 Esquema de segmenta o paginada na arquitetura IA 32 Linguagem Assembly Esse problema foi o primeiro contato dos alunos com a lingua gem Assembly Al m da dificuldade em assimilar suas c
260. nentes s o nomeados e com dois cliques sobre eles exibida uma janela informativa a respeito do componente 7 Registradores exibe os valores dos registradores do processador durante a simula o do programa e 8 Descri o exibe o nome da instru o simulada e uma descri o da a o ocorrida a fim de auxiliar o usu rio a compreender o que est ocorrendo no processador 190 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado A ferramenta tem sido utilizada para apoiar a apresenta o do BIP I e BIP II na disciplina Algoritmos e Programa o do primeiro per odo e tamb m na disciplina Compiladores para fornecer um ambiente de simula o para o c digo gerado pelos compiladores desenvolvidos pelos alunos 6 4 Considera es finais A abordagem apresentada neste cap tulo enfatizou uma vis o multi e interdisciplinar do ensino de conceitos de arquitetura de computadores sendo que o desenvolvimento da fam lia de processadores levou em conta as necessidades das diferentes disciplinas envolvidas Essa caracter stica configura se como principal diferencial desta proposta As atividades de aprendizagem j conduzidas apontaram diversos aspectos positivos Os principais s o 1 Uma integra o mais natural entre os conceitos de programa o circuitos digitais arquitetura de computadores e compiladores 2 A possibilidade de utilizar um mesmo modelo de computa o durante boa parte do percurs
261. ng Chian amp Lee Greg C 2006 Outubro Incorporating PBL in a High School Computer Science Course Pages 9 14 of Frontiers in Education Conference 36th Annual CNE 2002 9 de abril Resolu o CNE CES 11 2002 Di rio Oficial da Uni o Se o 1 Costa L R J Honkala M amp Lehtovuori A 2007 Applying the Problem Based Lear ning Approach to Teach Elementary Circuit Analysis IEEE Transactions on Educa tion 50 1 de Ensino de Engenharia ABENGE Associa o Brasileira 1991 maio Perfil do Enge nheiro do S culo XXI Delisle R 1997 How to Use Problem Based Learning in the Classroom Alexandria Association for Supervision and Curriculum Development Dochy Filip Segers Mien den Bossche Piet Van amp Gijbels David 2003 Effects of problem based learning a meta analysis Learning and Instruction 13 October 533 568 dos Santos D M B Pinto G R P R Sena C P P Bertoni F C amp Bittencourt R A 2007 Aplica o do m todo de Aprendizagem Baseada em Problemas no curso de Engenharia da Computa o da Universidade Estadual de Feira de Santana In Congresso Brasileiro de Educa o em Engenharia COBENGE Felder R M amp Brent R 2003 Learning by doing Chem Eng Educ 37 282 283 71 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Groh amp Duch Al 2001 The Power of Problem Based Learning la edn FALMER KP Hadgraft R 1998 Pr
262. nharia Santos S C Batista M C M Cavalcanti A P C Albuquerque J amp Meira S R L 2008b Outubro Usando PBL na Qualifica o de Profissionais em Engenharia de Software In F rum de Educa o do XXII Simp sio Brasileiro de Engenharia de Software SBES Schmidt H G 1993 Foundations of problem based learning some explanatory notes Medical Education 27 6 422 432 Schwartz Peter 2001 Problem Based Learning Case Studies Experience and Practice la edn Routledge Solomon G 2003 Project Based learning A Primer Technol Learn 23 20 30 Striegel A amp Rover D 2002 novembro Problem based Learning in an Introduc tory Computer Engineering Course Pages FIG7 FIG12 of Frontiers in Education FIE Thomas J W Mergendoller J R amp Michaelson A 1999 Project Based Learning A Handbook for Middle and High School Teachers Buck Institute for Education Vernon D T A amp Blake R L 1993 Does Problem Based Learning Work A Meta Analisys of Evaluative Research Academic Medicine 68 550 563 Woods D R 1995 Problem Based Learning Helping Your Students Gain the Most From PBL Hamilton ON Canada Waterdown 73 Cap tulo 3 Ensino de arquiteturas de processadores many core e mem rias cache utilizando o simulador Simics Marco Antonio Zanata Alves UFRGS mazalves Oinf ufrgs br Henrique Cota de Freitas PUC Minas cota pucminas br Philippe Olivier Alexand
263. ni o mais completa e geral do termo arquitetura de computadores considerando se as diferentes classes de computadores independentemente dos seus aspectos de implementa o f sica e os seus principais aspectos e atributos arquiteturais Deve se considerar que a redefini o do termo ser um processo complexo demorado e at pol mico Estes aspectos indicam que o processo de redefini o do termo arquitetura de computadores realmente ser um grande desafio Destaca se que uma redefini o do termo com possibilidade de aceita o e utiliza o internacional seria uma contribui o significativa da comunidade brasileira de educa o em arquitetura de computadores inicialmente no contexto de educa o em arquitetura de computadores posteriormente no contexto de arquitetura de computadores e finalmente no contexto geral da computa o e da sua educa o 207 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 5 Atividades de educa o ensino e aprendizado em arquitetura de computadores Considerando os impactos negativos das defini es do termo Arquitetura de Computadores na educa o em Arquitetura de Computadores apresentados na se o 7 3 apresenta se nesta se o um conjunto de atividades que foram propostas para melhorar o interesse a motiva o e a qualidade dos conhecimentos aprendidos As atividades de ensino e de aprendizado relacionadas com a educa o em arquit
264. nstru es mant m a instru o a ser executada durante todo o ciclo da instru o J numa implementa o multiciclo o IR deve ser usado para armazenar a instru o corrente pois o PC atualizado durante o ciclo de instru o para apontar para a pr xima instru o a ser executada O registrador STATUS inclui flags referentes execu o da ltima instru o Z Zero N Negative e C Carry Finalmente o registrador ACC o acumulador armazena o resultado da ltima opera o aritm tica Modelos de execu o Pelo fato de ter um nico registrador de prop sito geral o ACC foi considerado que as operac es aritm ticas e l gicas poderiam processar operandos oriundos da mem ria de dados o que tamb m ocorre nos microcontroladores PIC Dessa forma s o suportados os modelos de execu o Registrador Registrador e Registrador Mem ria 169 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 4 Formato de instru o Foi definido um nico formato de representa o para todo o conjunto de instru es Esse formato ilustrado na Figura 6 1 composto por dois campos um c digo de opera o de 5 bits e um operando expl cito de 11 bits 15141312111098 76543210 C d Opera o Operando Figura 6 1 Formato de instru o 5 Espa os de endere amento O espa o de endere amento limitado a 2048 posi es devido largura do campo de operando da instru o
265. nsultas m dicas e exame de carteira de motorista deixaram para realizar tais atividades no hor rio da disciplina de Arquitetura de Computadores porque sabiam que teriam os v deos e slides do professor dispon veis para consulta via WEB Os alunos foram questionados sobre quantas faltas eles tiveram gra as disponibiliza o dos v deos Foi encontrada uma m dia de 3 faltas sendo o m ximo 6 e o m ximo de faltas permitidas eram 8 durante o semestre Faltaram Porque Havia V deos 80 00 74 14 70 00 60 00 50 00 40 00 25 86 30 00 20 00 10 00 0 00 N o Sim Figura 18 Alunos que indicaram que faltaram aula por saber que o v deo seria colocado online Tamb m foi perguntado aos alunos se eles assistiriam a uma aula remotamente em tempo real mostrando o mesmo v deo que era produzido nos screencasts Surpreendentemente 48 dos alunos responderam que assistiram a uma aula remotamente caso esta fosse transmitida via WEB Esse resultado abre portas para alguns testes como por exemplo aulas de tutoria virtual em que a presen a n o obrigat ria e afins Como n o o escopo deste trabalho n o foram realizados testes nesse sentido 25 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Assistiriam Aula Remotamente 53 00 51 79 _ 52 00 51 00 50 00 49 00 ES 48 21 48 00 47 00 46 00 N o Si
266. ntroladores de E S deviam possuir mecanismos DMA Direct Memory Access embu tidos 2 4 3 4 Conceitos Trabalhados Os conceitos trabalhados no problemas do caso 2 4 3 est o apresentados de forma resu mida na Tabela 2 8 Tabela 2 8 Conceitos trabalhados nos problemas do caso 3 Conceito Escopo Tratado Exemplo Tipos de barramentos n mero de fios tipo de informa o transferida localiza o f sica 1 263 Barramentos T cnicas de comunica o s ncrona assin crona Arbitragem centralizada distribu da Tratamento de prioridades 2e3 Padrao PCI 3 Tipos de dispositivos mestre escravo l1 2e3 Dispositivos E S Controle de acesso a dispositivos externos por 1 meio de um barramento de dados comum a Controladores de acesso direto mem ria 2 e3 DMAC Processamento Topologias 1 paralelo Compartilhamento de mem ria de dados Padr es de v deo Formato PAL 4 2 0 entrela ado 3 Projeto RTL Linguagens de descri o de hardware VHDL 1 2e3 Simula o de circuitos digitais 2 4 3 5 Dificuldades no Desenvolvimento A metodologia PBL se caracteriza pela constru o do conhecimento pela resolu o de problemas Geralmente os alunos n o tem uma base conceitual forte ao in cio de um problema isto gera algumas dificuldades na resolu o dos mesmos Cronologicamente os casos 1 e 2 s o apresentados aos alunos antes dos problemas relacionados aos meca nismos de
267. o arquitetura de computador que considera de modo integrado e hier rquico as arquiteturas do sistema de computa o do software e do hardware Esta proposta motivada pelos poss veis impactos positivos dessa redefini o com o prop sito de iniciar uma discuss o sobre a import ncia a relev ncia e a necessidade da redefini o do termo Arquitetura de Computador Em fun o das dificuldades e da complexidade dessa tarefa acredita se que esta redefini o deve ser um processo coletivo cooperativo e colaborativo envolvendo inicialmente os representantes das comunidades acad mica cient fica e industrial que atuam no contexto da arquitetura de computadores e posteriormente os representantes das comunidades acad mica cient fica e industrial que atuam no contexto mais amplo da computa o Uma discuss o dos poss veis ganhos produzidos pela utiliza o motivadora do termo e do seu significado na educa o em arquitetura de computadores Espera se que esse cap tulo seja um material de refer ncia e que a utiliza o do seu conte do possa auxiliar e contribuir no aumento do interesse motiva o e dedica o dos alunos para o estudo e o aprendizado de alta qualidade dos t picos relacionados com a arquitetura de computadores Espera se tamb m que uma das principais causas desses aumentos seja o entendimento de modo te rico e aplicado que a arquitetura de computadores n o relacionada somente com o hardware e q
268. o extens o do conte do progra m tico do referido estudo integrado n o poss vel tratar todos os t picos da ementa nos problemas por outro lado tamb m n o poss vel a total dissocia o de conte do entre as aulas te ricas e os conceitos trabalhos nos problemas Assim o ideal o planejamento das atividades de ensino antes do in cio do semestre para tratar todo o conte do pro gram tico e tamb m evitar poss veis descompassos entre assuntos tratados nos m dulos te ricos e nos problemas dos grupos tutoriais Mesmo com tal planejamento continua se dependendo do desenvolvimento da turma h casos em que os alunos consideram dif cil o estudo por conta pr pria de determinados assuntos julgando que estes deveriam ter sido introduzidos antes nas aulas te ricas Em outras situa es nas atividades dos grupos tutoriais se percebe a n o assimila o adequada de alguns assuntos j abordados semanas antes nas aulas te ricas A assimila o um ponto importante percebe se claramente que os t picos tra tados nos grupos tutoriais s o melhor assimilados do que os tratados apenas em aulas te ricas devido ao tempo que os alunos passam convivendo com um problema de duas a seis semanas Disso resulta diferen as entre as turmas de acordo com os problemas apresentados Por exemplo turmas que n o receberam um problema curto de linguagem assembly tiveram desempenho inferior no projeto do processador Em rela
269. o os estudantes tiveram a oportunidade de entrar em contato com o Tablet atrav s da nova forma de apresenta o e da grava o dos screencasts deixando para come ar a usar o Tablet PC efetivamente ap s algumas aulas Tabela 2 Calend rio do curso Exerc cio Data Conte do V deo com Tablet PC 06 08Q Apresenta o do Curso Introdu o X 11 08S Cap tulo 2 Cojunto de Instru es X 11 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado 13 08Q Cap tulo 2 Conjunto de instru es 18 08S Cap tulo 2 Conjunto de instru es 20 08Q Cap tulo 3 Multiplicador e Divisor 25 08S Capitulo 3 Representa o de Ponto Flutuante XX XxX KM 27 08Q Cap tulo 4 Desempenho Cap tulo 4 Desempenho Ap ndice B Constru o da ALU gt lt 01 09S 03 09Q Cap tulo 5 Constru o do Datapath monociclo 08 09S Capitulo 5 Datapath monociclo e controle 10 09Q Cap tulo 5 Datapath monociclo e controle 15 09S Controle do datapath monociclo 17 09Q Microprograma o XX MM KK 22 09S Capitulo 6 Pipeline 29 09S Capitulo 6 Pipeline 01 10Q Capitulo 6 Hazards X X 06 10S Capitulo 6 Branch Prediction x x 08 10Q Aula de Exercicio 20 10S Capitulo 7 Cache X 22 10Q Cap tulo 7 Cache X 03 11S Cap tulo 7 Mem ria Virtual X X 05 11Q Cap tulo 8 Entrada e Sa da X X 10 11S Cap tulo 8 Entrada e Sa da X X 12 11Q Multicore 17 11S Aula de Exerc cio 24 1
270. o somente a representa o em n vel de portas l gicas Linguagens de descri o de hardware Nas vers es 1 e 2 do exemplo 1 os alunos des conheciam totalmente a linguagem VHDL e seus paradigmas o que provocou um aumento do n mero estimado de aulas de consultoria de duas para quatro A partir da vers o 3 do exemplo 1 e nos demais exemplos procurou se amenizar tal dificuldade atrav s da inser o de aulas te ricas de VHDL e posteriormente 51 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 5 Conceitos trabalhados nos problemas dos caso 1 Conceito Escopo Tratado Exemplo Componente Menos ULA Unidade L gica Aritm tica UC Unidade de Controle 1 2e3 UCP Registradores Componentes externos Comunica o processador mem ria 1 2e3 UCP Aritm tica bin ria VEA Configura o de flags tuas Microprogramada uso de microinstru es ver 1e 2 UC sus Hardwired uso de circuito l gico M quina de estados finita 1 2e3 Centralizada versus Distribu da 2 Prop sito espec fico versus prop sito geral Registradores Implementa o atrav s de circuitos l gicos 1 2e3 proibido o uso de vari veis VHDL Verilog Uso de barramento interno nico entre registra dores explora o de buffers tri state Aritm ticas l gicas transfer ncia de controle e Conjunto de instru es transfer ncia de dados le2 M quinas de 1 2 e 3 endere os Arqu
271. o 5 Arquitetura de Computadores educa o ensino e aprendizado 7 Arquitetura Many core Introdu o processadores many core processadores multicore e programa o C VSCSE Summer School Wen mei W Hwu and Nady Obeid 2009 Modelo de Programa o CUDA Lecture 2 David Kirk NVIDIA and Wen mei W Hwu 2009 CUDA Threads Lecture 3 David Kirk NVIDIA and Wen mei W Hwu 2009 CUDA Memories Lecture 4 David Kirk NVIDIA and Wen mei W Hwu 2009 8 Processadores Processadores Comerciais Servidores Blades Servidor Blade Cell Servidor Blade Cell H brido Cell GPU Cluster de FPGA Xilinx 9 T picos Especiais Sistemas Embarcados Introdu o FPGA Ementa Revis o de Arquitetura de Computadores Microarquiteturas Avan adas Classifica o das Arquiteturas Paralelas Flynn Arquiteturas Multicore Arquiteturas Multithreading Arquitetura Heterog nea Arquitetura Many core Processadores T picos Especiais Bibliografia H El Rewini M Abd El Barr Advanced Computer Architecture and Parallel Processing Wiley 2005 OLUKOTUM Kunle Chip Multiprocessor Architecture Synthesis Lectures on Computer 2007 David Weaver OpenSPARC Internals 2008 Architecture Morgan Culler et al Parallel Computer Architecture A H S Approach 1999 PATTERSON David amp Hennessy Computer Architecture Quantitative Approach 3rd Edition 2007 PATTERSON David amp Hennessy Computer Organization and Design the Hardware Sof
272. o WSCAD WIC 7 5 2 Atividades nas disciplinas diretamente relacionadas com a Arquitetura de Computadores Nas disciplinas diretamente relacionadas com a arquitetura de computadores os professores devem mostrar aos alunos que os conhecimentos relacionados com a arquitetura dos computadores podem produzir impactos significativos no desempenho dos algoritmos e dos programas executados nos computadores com diferentes arquiteturas utilizados nas atividades Al m disso os professores devem mostrar aos alunos que os conhecimentos dos diferentes t picos relacionados com a arquitetura dos computadores tamb m podem produzir ganhos significativos na qualidade dos resultados produzidos pelos programas algoritmos e estruturas de dados executados nos diferentes computadores utilizados nas atividades Com a realiza o das atividades propostas para os per odos anteriores apresentadas em 7 5 1 muitos alunos podem se motivar e iniciar um aprendizado antecipado durante os per odos anteriores Entretanto esta motiva o pode diminuir durante as disciplinas diretamente relacionadas arquitetura de computadores se n o bem executadas a ponto de prejudicar o interesse e at mesmo a qualidade dos conhecimentos aprendidos durante essas disciplinas Na atualidade nestas atividades deve se explorar com maior profundidade as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos e tamb m as diversidades das arquiteturas p
273. o acompanhamento das sess es tutoriais A ne cessidade de renova o de problemas os quais amparam se em situa es do mundo real exige dos tutores atualiza o constante de conhecimento e conex o com a realidade es perada para os egressos Adicionalmente os tutores de um Estudo Integrado devem ter disponibilidade para reuni es peri dicas as quais s o utilizadas para averiguar o anda mento do aprendizado dos alunos assim como as solu es que est o sendo encontradas em grupos tutoriais distintos Em rela o ao foco deste cap tulo os tutores que atuam no Estudo Integrado de Sistemas Digitais necessitam algumas vezes projetar e implementar ao menos parcialmente os produtos requiridos em problemas que exigem implemen ta o de forma a visualizar e antecipar eventuais dificuldades para os alunos a serem clarificadas em aulas de consultoria Isto ocorreu por exemplo em alguns problemas do estudo de casos 1 O terceiro elemento necess rio ao bom funcionamento da metodologia a ade qua o da complexidade dos problemas Este um ponto cr tico causador de muitas queixas pelos alunos algumas vezes os problemas s o considerados desestimulantes ou simples outras vezes s o considerados complexos ou super dimensionados Uma fonte de problemas simples desestimulantes a subestima o da capacidade dos alunos falta de acompanhamento conhecimento de problemas j tratados pela turma incluindo ou tros estudos integra
274. o bastante interessante nem todos os n veis de config ura o citados est o dispon veis em todas as arquiteturas simuladas devendo ser consul tado o manual para cada arquitetura a fim de saber a disponibilidade Uma vez que os atuais processadores utilizam mecanismos de pre fetch impor tante ponderar o uso do modo de busca de instru es onde por um lado pode ser mais real stico o registro de busca apenas quando uma nova linha de mem ria acessada ou por outro lado o registro de todas as buscas com lat ncias reduzidas podem gerar mel hores aproxima es Assim importante a discuss o em sala de aula sobre os modos de busca de dados e qual o modo dever ser adotado a fim de gerar uma simula o mais real stica e envolver os alunos no tema gerando um pensamento mais cr tico sobre as arquiteturas e seus mecanismos 3 6 7 M tricas e configura es de execu o Uma vez que o Simics trabalha em n vel de conjunto de instru es o simulador n o capaz de indicar qual ser o IPC da m quina simulada uma vez que os est gios de um pipeline por exemplo n o s o simulados Por m o simulador permite que sejam configurados diversos mecanismos a respeito da execu o durante a simula o A primeira configura o necess ria para uma simula o mais realista o tempo de troca de execu o entre processadores n cleos Essa configura o existe por causa da forma de implementa o do simulador e pode inf
275. o com os componentes de software 63 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado e software b sico de um telefone celular e sua intera o com os recursos de hardware do aparelho e aplicativos de um telefone celular e sua intera o com o software b sico e com os recursos de hardware do aparelho e recursos de hardware e de software de um telefone celular tangentes comunica o assim como a rede de interconex o e a arquitetura de esta es r dio base 2 4 4 3 Exemplo 3 Clusters O objetivo deste problema era a compreens o de conceitos inerentes a arquiteturas de multicomputadores particularmente clusters explorando tanto os aspectos arquiteturais de n s computacionais quanto as tecnologias de interconex o entre tais n s Ap s uma breve introdu o sobre clusters o texto do problema limitou o escopo da pesquisa a ser realizada sobre commodity clusters em especial os montados com GPUs Graphics Processing Units Os alunos deveriam encontrar uma GPU existente no mercado que servisse de n computacional Caracter sticas arquiteturais da GPU escolhida deveriam ser estudadas e apresentadas tais como microarquitetura e interconex o de seus processadores internos circuitos e dispositivos de E S organiza o de mem ria e organiza o dos dispositivos de armazenamento Al m das caracter sticas de uma GPU comercial os alunos deveriam pesquisar arquiteturas de clusters bas
276. o curso como projetos anuais e trabalho de conclus o de curso Ap s essa breve descri o dos motivos que levaram os fundadores do curso de Engenharia da Computa o da UEFS de adotar a metodologia de aprendizado PBL apre sentamos na seqii ncia deste cap tulo a experi ncia do grupo de professores deste curso no uso do m todo PBL no ensino das disciplinas relacionadas rea de Arquitetura de Computadores Inicialmente na se o 2 2 apresentamos a fundamenta o te rica da metodolo gia PBL descrevendo brevemente o hist rico da aplica o do m todo no mundo os seus objetivos conceitos fundamentais da metodologia formas de avalia o e a correla o entre o m todo PBL e a engenharia Ap s a fundamenta o te rica na se o 2 3 abordamos os conceitos do m todo PBL sobre a sele o de t picos elabora o de proble mas projetos e formas de avalia o aplicados no curso de Engenharia da Computa o da UEFS mais especificamente no Estudo Integrado de Sistemas Digitais o qual engloba as disciplinas de Arquitetura de Computadores e Arquitetura de Computadores Avan ada Na se o 2 4 apresentamos quatro estudos de casos de problemas projetos que j foram previamente aplicados no Estudo Integrado de Sistemas Digitais a saber Projeto de um processador Sistema de Mem ria Mecanismos de Entrada Sa da e Semin rios Em cada um dos casos descrevemos os conceitos que foram trabalhados durante a aplica o do p
277. o da linguagem ANSI C adicionando a esta rotinas para o suporte ao de senvolvimento de programas paralelos Tem como filosofia distribuir as threads entre todos os processadores dispon veis desde o come o da execu o calculando o tamanho das tarefas e distribuindo com base nisso A linguagem introduz o conceito de grupo ou seja os processadores dispon veis s o divididos em grupos e dentro de seu respectivo grupo todos os processadores execu tam suas tarefas de modo s ncrono sendo que poss vel existirem subgrupos dentro de grupos criando uma hierarquia 4 10 2 Linguagem Erlang Erlang consiste de uma linguagem de programa o desenvolvida nos laborat rios da Ericsson em meados dos anos 80 Existem duas teorias para a origem do nome Erlang a primeira defende que foi dado em homenagem ao matem tico dinamarqu s Agner Krarup Erlang autor de muitas contribui es cient ficas que se aplicam principalmente ao campo da telefonia J a segunda justifica pela combina o de Ericsson Language Erlang nasceu de uma busca por uma nova ferramenta que combinasse elementos de linguagens j conhecidas com outros elementos que suprissem as necessidades carac ter sticas de sistemas de telecomunica o tais como lidar com in meras tarefas concor rentes um sistema confi vel de tratamento de erros e possibilidade de manuten o em partes do c digo sem a necessidade de afetar todo o sistema Visando conseguir tal objet
278. o do aluno na gradua o 3 A redu o de problemas de aprendizagem relacionados com as abstra es envolvidas nos conceitos introdut rios de programa o tais como vari veis constantes e atribui es 4 Uma ilustra o melhor fundamentada aos alunos dos per odos iniciais da rela o entre os desvios la os a linguagem de montagem e o funcionamento do processador 5 Facilidade na consolida o de conceitos de arquitetura e organiza o de computadores pelo uso de uma arquitetura de refer ncia em diferentes disciplinas 6 Consolida o dos conceitos de circuitos digitais pelo uso do BIP como projeto integrador ao final da disciplina 7 Ao utilizar o conjunto de instru es do BIP a etapa de gera o de c digo dos trabalhos de compiladores foi conclu da pela maioria dos alunos 8 Ap s a experi ncia no uso do BIP iniciou se um processo de reflex o acerca do melhor encadeamento dos conte dos entre as disciplinas envolvidas Como resultado dessa reflex o foram identificados aspectos desej veis que ser o buscados em trabalhos futuros e Rever a organiza o curricular do curso buscando reduzir a dist ncia entre a disciplina Arquitetura de Organiza o de Computadores e a disciplina Compiladores e Promover o uso dos processadores BIP em outras disciplinas como por exemplo a disciplina de Sistemas Operacionais e e Conduzir experimentos controlados a fim de obter evid ncias emp ricas sobre a redu
279. o funcionamento os conhecimentos adquiridos pelos alunos cobriram entre 50 e 60 do assunto abordado neste problema O exemplo da se o 2 4 3 2 foi implementado quase por completo faltando ape nas a parte adaptativa do gerenciamento de prioridade No que se refere aos t picos abordados o aproveitamento dos alunos foi entre 70 e 80 Por fim o problema da se o 2 4 3 3 alcan ou o resultado esperado apesar de um dos grupos n o ter implementado o gerenciamento de requisi es m ltiplas Praticamente todos os pontos escolhidos para o problema foram estudados pelos alunos resultando em um desempenho m dio de 85 2 4 4 Caso 4 Semin rios Habilidades de apresenta o necess rias atua o profissional futura dos alunos podem ser exploradas em problemas PBL O presente caso mostra tr s exemplos de problemas de curto prazo de desenvolvimento tr s semanas cada qual gerando como produto final a apresenta o de um semin rio envolvendo todos os grupos tutoriais 2 4 4 1 Exemplo 1 Arquiteturas Embutidas para Videogames O objetivo desse problema foi fazer com que os alunos adquirissem no es b sicas sobre arquiteturas embutidas Como motiva o foi proposto um estudo sobre a arquitetura do console de videogame PlayStation 2 da Sony Al m de ser uma plataforma bastante co nhecida dos alunos essa arquitetura possui uma vasta documenta o dispon vel tanto na internet quanto em livros como Hennessy amp Patterson
280. o n vel escreva o c digo equivalente na linguagem de montagem do BIP identificando nos coment rios a opera o realizada por cada comando na linguagem de montagem C digo em linguagem de alto n vel X 0 Y c e2 X X Y C digo na linguagem de montagem do Bis ENEMIAEATEEN Resposta esperada Exemplo de Exerc cio 3 Dado o trecho de c digo a seguir escrito na linguagem de montagem do BIP comente cada linha de c digo e obtenha o c digo equivalente em linguagem de alto n vel C digo na Fe de montagem do BIP LD B f ACC lt B ADDI 1 ACC ACC 1 SUB C ACC ACC C STO A A ACC Resposta esperada Ap s a apresenta o da arquitetura do BIP I e a aplica o de exerc cios similares aos exemplificados acima os principais aspectos observados com rela o aprendizagem dos alunos foram 181 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado e Os alunos demonstraram alguma dificuldade inicial em compreender as instru es de linguagem de montagem mas rapidamente passaram a adquirir flu ncia na resolu o dos exerc cios e A compreens o da exist ncia do acumulador tornou a opera o de atribui o mais clara O que acontecia com o resultado intermedi rio da opera o A 1 em A lt A 1 antes ficava obscuro e Um problema recorrente em v rios semestres em que alguns alunos declaravam contantes inteiras co
281. o o seu prop sito original de apresentar t picos avan ados em arquitetura de computadores por m agora consolidando o laborat rio pr tico do uso de simuladores para o mais variados fins 162 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado A disciplina de Projeto de Sistemas Reconfigur veis vem trazendo uma contribui o importante no que refere realiza o de projeto pr tico abordando as t cnicas de reconfigura o parcial implementadas em um FPGA da Xilinx A contribui o que vamos propor na disciplina ser a inser o de uma arquitetura multicore mais especificamente um chip multithreading Adotaremos o uso do OpenSPARC por possuir o c digo fonte do chip aberto ideal para disciplina porque poderemos testar a implementa o de dois cores em um FPGA A proposta de mais duas disciplinas para compor o curr culo de p s gradua o do departamento de sistemas eletr nicos surgiu do amadurecimento das pesquisas desenvolvidas no Centro de Compet ncia Cell da IBM e o Centro de Excel ncia em OpenSPARC da SUN na USP S o dois novos centros de grande import ncia em termos de tecnologia CELL e tecnologia SPARC respectivamente A disciplina de Projeto de Microprocessadores Especiais introduz o curr culo OpenSPARC uma vez que aprofunda na arquitetura CMT e utiliza o RTL Verilog do OpenSPARC T1 para abordar t picos extremamente relevantes no meio cient fico e no mercado de projeto de processador
282. o requerido de acordo com o grupo tutorial O problema do exemplo 2 53 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado foi totalmente contemplado por um dos grupos tutoriais atingindo entre 70 e 80 do exigido nos demais grupos o principal motivo de sucesso do grupo que o implementou em sua totalidade foi o de seguir a arquitetura proposta por Patterson e Hennessy Hen nessy amp Patterson 2008 J o problema do exemplo 3 foi aplicado com modifica es em duas oportunidades ficando a implementa o aqu m do esperado Na primeira vez em que foi aplicado os tutores pouco interferiram na condu o das discuss es o que fez com que muitos distratores presentes no texto do problema desviassem a aten o do foco do problema em um dos grupos os alunos perderam muito tempo discutindo aspectos do esquema de decodifica o de audio e v deo do padr o MPEG 2 Mesmo tendo reformulado o texto do problema apresentando o para nova turma de forma mais direta os alunos n o foram bem sucedidos em sua implementa o devido sobretudo complexidade matem tica da simplifica o de opera es matriciais com componentes cosseno 2 4 2 Caso 2 Sistemas de Mem ria Neste caso ser o apresentados tr s problemas que abordam t picos relacionados ao con trole gerenciamento e acesso sistemas de mem ria Dois problemas tem por objetivo o desenvolvimento de projetos de circuitos digitais utilizando softw
283. o termo Computer Architecture destacam se as seguintes A defini o apresentada na quinta edi o do livro Computer Architecture a quantitative approach que a seguinte In this book the word architecture covers all three aspects of computer design instruction set architecture organization or mocroarchitecture and hardware Hennessy 2012 Neste livro s o apresentados os seguintes trechos Several years ago the term computer architecture often referres only to instruction set design Other aspects of computer design were called implementation often insinuating that implementation is uninteresting or less challenging We believe this view is incorrect The architect s or designer s job is much more than instruction set design and the technical hurdles in the other aspects of the project are likely more challenging than those encoutered in instruction set design Hennessy 2012 Nos contextos da origem e da atualidade das definigdes do termo pode se e deve se refletir sobre algumas perguntas e principalmente sobre algumas das suas poss veis respostas 198 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 1 A arquitetura de um computador est relacionada somente com os componentes do seu hardware 2 Os componentes do firmware n o est o relacionados com a arquitetura do computador 3 Os componentes do software b sico como o sistema operacional e outros n o
284. oblem based learning A vital step towards a new work Environ ment Int J Eng Educ 14 14 23 Hadgraft R amp Holecek D 1995 Viewpoint Towards Total Quality Using Problem Based Learning Int J Eng Educ 11 8 13 Hennessy John L amp Patterson David A 2008 Arquitetura de Computadores Uma Abordagem Quantitativa 4a edi o edn Editora Campus Elsevier Komatsu R S Zanolli M B Lima V V amp Branda L A 1998 Guia do Processo de Ensino Aprendizagem Aprender a Aprender 2a edn Mar lia SP Brasil Faculdade de Medicina de Mar lia Mantri A Dutt S Gupta J P amp Chitkara M 2008 Design and Evaluation of a PBL Based Course in Analog Electronics IEEE Transactions on Education 51 4 432 438 Martinez Mones A Gomez Sanchez E Dimitriadis Y A Jorrin Abellan I M Rubia Avi B amp Vega Gorgojo G 2005 Multiple Case Studies to Enhance Project Based Learning in a Computer Architecture Course EEE Transactions on Educa tion 48 3 482 489 McKeachie W J 1999 Teaching Tips Strategies Research and Theory for College and University Teachers Boston EUA Houghton Mifflin Company Montero E amp Gonzalez M J 2009 Student Engagement in a Structured Problem Based Approach to Learning A First Year Electronic Engineering Study Module on Heat Transfer IEEE Transactions on Education 52 214 221 Northern III J 2007 Abril Project Based Learning For
285. ocessador O processador permitiu que os alunos vislumbrassem a aplica o dos conceitos estudados na disciplina aproximando a da disciplina seguinte no curso Arquitetura e Organiza o de Computadores Ao mesmo tempo essa atividade teve o efeito de um projeto integrador incentivando os alunos a resgatar conceitos j estudados em outras disciplinas 184 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado 6 3 4 Arquitetura e Organiza o de Computadores I Esta disciplina tem por objetivo geral ampliar a vis o sobre arquitetura e organiza o de computadores com vistas programa o na linguagem de montagem de um processador identificando aspectos do projeto da sua organiza o A disciplina utiliza o livro Organiza o e Projeto de Computadores de Patterson e Hennessy 2005 como livro texto e portanto adota o processador MIPS como arquitetura de refer ncia ao longo do semestre No entanto no momento em que os conceitos de arquitetura e de organiza o come am a ser tratados os processadores BIP s o utilizados como refer ncia inicial para ilustrar esses conceitos e resgatar o aprendizado obtido em disciplinas anteriores do Curso Posteriormente ao se realizar o estudo do MIPS feita uma an lise comparativa das caracter sticas arquiteturais e organizacionais dos dois processadores Procura se tamb m discutir as diretrizes de projeto do BIP demonstrando que o foco na simplicidade do
286. oche Fim de evitar inconsist ncia escreve dados na cache en memoria Mas pe melhores performance pot me vee Me baffar da exc to tm ini de cade cado ie direktem PI memoria eserita qe ee i Voc consegue extrapolar para um processador Periodo do clock de 200ps Esque am temporariamente as depend ncias entre instru es Quantas fases seriam Quais seriam as fases Dica lembre se do controle do datapath multiciclo Todas as fases gastam o mesmo tempo Pu p j e eee 0 9 0 o9 eeeee a A E se existirem depend ncias de dados le ID Ex MEM wB Fa a o diagrama de tempo abaixo ignorando as depend ncias Indique as depend ncias e mostre por que elas atrapalham Tempo Exemplo Qual o tempo m dio para ler ou escrever num disco com 10 000 RPM Seek time m dio de 6ms Taxa de transfer ncia de 50 MB s A Overhead do te ie de 0 2ms Eh o overhead ex tint ater Eca di Ooms 4 2 es al pe tes enc i MSE G2 See f a Sono d240 3 099 TE 324 ms ana naan Figura 6 Exemplos de exerc cios enviados pelos alunos Dadas essas mudan as no curso foi necess rio elaborar um m todo de avalia o que permitisse uma an lise de impacto destes no aprendizado dos alunos bem como avaliar do lado do docente se o retorno dado pelos alunos durante as aulas o ajuda a ter uma ideia mais precisa do entendimento destes sobre o conte do
287. odelo uma jun o de ideias de BSP e de skeletons algor tmicos somando se conceitos 125 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado como Adaptive Routing e difus o que s o suportados pelas novos designs de arquitetura O modelo razoavelmente independente da arquitetura pois os skeletons de co munica o podem ser constru dos assumindo uma topologia sem conex es especiais como objetivo os resultados obtidos podem ser usados para construir ent o implementa es para topologias para interconex es mais sofisticadas Este modelo possibilita garantia de desempenho e apresenta medi es de custo lt Processors gt DJ r PDQ 00 Figura 4 2 Um skeleton de comunica o Fonte 24 4 8 Comunica o Expl cita Esta se o apresenta uma abordagem para modelos onde o paralelismo decomposi o mapeamento e comunica o s o expl citos por m o sincronismo impl cito Note que neste o desenvolvedor faz a maior parte das decis es de implementa es e reduzem apenas as responsabilidades de sincroniza o associadas a comunica o Geralmente isso feito com uma sem ntica ass ncrona mensagens s o entregues mas o remetente n o depende da entrega e o recebimento de m ltiplas mensagens pode causar travamento Para apoiar o desenvolvimento nesta se o apresentamos os modelos Actors Ac torSpace Concurrent Aggregates Orient
288. odos alunos 94 dizendo que a qualidade destes foi boa ou muito boa Em mat rias onde h uma grande densidade de figuras s mbolos diagramas e esquemas seria muito oneroso capturar a aula Esses materais s o a ess ncia da aula sendo que para captur los num v deo convencional seria necess rio pelo menos uma c mera e um operador al m do v deo ter que ser disponibilizado numa alta resolu o para legibilidade dos detalhes O uso do Tablet PC permite que o docente sem preju zo do conte do da aula possa grav la apertando um simples bot o al m de gerar um v deo com um tamanho muito reduzido cerca de 60MB hora e boa resolu o Mesmo com esse tamanho alguns alunos com conex es de Internet mais lentas reclamaram da velocidade sendo esse um fator de import ncia na qualidade dos v deos Outro ponto citado foi a qualidade dos v deos e o fato de perguntas dos alunos n o serem capturadas pelo microfone do docente Alguns coment rios dos alunos que ilustram esses problemas foram 23 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado O udio do video deixou um pouco a desejar N o foi poss vel ouvir perguntas dos alunos N o poss vel escutar o que os alunos falam suas d vidas e respostas Editar v deos removendo d vidas inaudiveis e piadas fora de contexto Qualidade dos V deos 60 00 50 00 39 62 40 00 30 00 Lo 20 00
289. olos complicados de forma extremamente precisa O reconhecimento de escrita tamb m bem preciso por m n o foi utilizado durante a execu o deste trabalho Caneta eletr nica n o utiliza bateria Sensor de Press o Circuito indutivo Placa com sensores Figura 2 Esquematico do hardware de escrita Grande parte do esfor o de projeto do hardware da interface pen based dos Tablet PCs foi voltada para fazer com que a sensa o de escrita seja a mais parecida poss vel com a escrita numa folha de papel convencional As interfaces pen based tradicionais existentes nos PDAS e smart phones n o abordam esse problema com o mesmo cuidado Isso faz com que ao contr rio desses dispositivos onde o foco principal fica no custo da tela e no consumo de energia a escrita em Tablet PCs equipados com os digitizers seja uma experi ncia radicalmente diferente da escrita nos dispositivos previamente citados sendo que s o tomados cuidados com o material de revestimento da tela para aproximar a sensa o de rugosidade encontrada durante a escrita em papel convencional e com o sensor de press o da caneta que funciona de forma muito precisa Al m disso o tamanho de tela dos Tablet PCs semelhante ao de uma folha de tamanho A4 eliminando assim restri es quanto rea de escrita diminuta encontrada nos dispositivos menores O poder de processamento dos Tablet PCs atuais semelhante ao de notebooks convencionais sendo a ni
290. omputadores Posteriormente apresentou se uma proposta de re defini o para o termo Arquitetura de Computadores que considera de modo integrado e hier rquico as arquiteturas do sistema de computa o do software e do hardware Considera se que este processo de redefini o um grande desafio e espera se que o conte do dessa se o seja um motivador e material de refer ncia inicial desse grande desafio Posteriormente apresentou se com conjunto de sugest es de atividades relacionadas ao ensino e aprendizado de arquitetura de computadores que utilizam as defini es e significados do termo de modo motivador Os resultados iniciais obtidos com a utiliza o de algumas propostas de atividades apresentadas j produziram ganhos significativos em termos de motiva o interesse e qualidade do aprendizado de arquitetura de computadores Finalmente espera se que esse cap tulo contribua cada vez mais nos aumentos de interesse motiva o e qualidade no aprendizado da arquitetura de computadores 214 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado References Amdahl G M Blaauw G A Brooks F P Jr 1964 Architecture of the IBM System 360 IBM Journal of Research and Development vol 8 no 2 april 1964 p 87 101 Anselmo D N Mendes I T Silveira L G H D Carvalho M B Campos Jr R O Martins C A P S Proposta de Cria o de uma Revista Eletr nica Sobr
291. onal a tarefa de compilar o kernel com o m dulo SimicsFS pode n o ser muito f cil Assim o usu rio ainda conta com duas alternativas para carregar os arquivos para den tro da simula o ou habilitando a rede do h spede m quina que est sendo simulada e ativando o suporte do Simics para conex o com a rede real Ou ent o ainda pode mos contar com a inser o dos arquivos pela simula o de uma unidade de CD ROM na m quina simulada para isso basta criar um arquivo de imagem do tipo ISO mkisofs l o New Image iso r Files to image e ent o utilizar os comandos new file cdrom file New Image iso para criar um CD virtual com o arquivo iso e ent o o comando cd0 insert 98 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado media New Image para inserir o CD virtual no dispositivo de CD ROM da m quina simulada 3 6 5 Magic Instruction O Simics fornece uma maneira de intera o entre simula o e simulador bastante sim ples e eficiente conhecida como Magic Instruction A Magic Instruction nada mais que uma biblioteca com as fun es MAGIC e MAGIC BREAKPOINT essas fun es quando chamadas elas executam um c digo em linguagem de montagem que n o mod ifica nenhum registrador mas reconhecido pelo simulador como sendo a chamada da Magic Instruction e ent o efetua a tarefa indicada Um c digo simples de HelloWorld c em OpenMP com a chamada para a Magic Instruction segue abaixo
292. onentes curriculares conven cionais a saber Arquitetura de Computadores e Arquitetura de Computadores Avan ada Al m desses dois componentes o estudo integrado composto de um componente PBL Cada componente convencional dos componentes curriculares i e m dulos mat rias e laborat rios d o suporte ao aluno para a resolu o dos problemas especificados no componente PBL cabendo aos docentes respons veis por estes componentes convenci onais a escolha da melhor metodologia para ensinar seus conte dos i e por meio de aulas expositivas semin rios visitas externas etc Uma vantagem deste modelo est na possibilidade dos recursos humanos e materiais serem previamente alocados a partir da demanda de conhecimentos prevista para os problemas Com rela o carga hor ria do estudo integrado tem se quatro horas semanais para o componente curricular convencional Arquitetura de Computadores duas horas semanais para o componente Arquitetura de Computadores Avan ada e duas horas se manais para o componente PBL No componente PBL as quatro horas semanais s o divididas em duas sess es tutoriais cada uma contendo duas horas semanais 43 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Componente PBL Arquitetura de Arquitetura de Computadores Computadores Avan ada Figura 2 2 Modelo PBL parcial adotado no estudo integrado de Sistemas Digitais da UEFS 2 3 1 Sele o de T picos
293. onstru o tornar seguro e diminuir o overhead das m quinas virtuais de modo que o software possa migrar entre o datacenter e o celular Arquiteturas com suporte a programa o altamente produtiva prop e novos computadores que ir o remover os gargalos de desempenho para um novo ambiente de programa o altamente eficiente tal como o Ruby ou Python Estas linguagens permitem uma redu o do n mero de linhas de c digo de forma consider vel Ent o inventar computadores que suportem tais sistemas Ruby e Python pode aumentar a escala de processadores preservando a produtividade Neste cap tulo discutiremos a atualiza o e descri o das ementas das disciplinas o inter relacionamento experi ncias did ticas e resultados das disciplinas existentes e a proposta de duas novas disciplinas para o programa Como objetivo espec fico do cap tulo temos apresentar uma proposta de elenco de disciplinas para forma o de um curr culo proposta de disciplinas elabora o de ementas atualizadas que demandam HPC e projeto de processadores uma discuss o detalhada das ementas disciplinas existentes e seus inter relacionamentos e concluir a import ncia e contribui o deste trabalho Este cap tulo est organizado nos seguintes t picos Introdu o Abordagens de Ensino e Contexto no Brasil Proposta do Elenco de Disciplinas Proposta de Disciplinas Disciplinas Existentes Inter relacionamento de Ementas e Conclus o 5 2 A
294. ontrole de coer ncia de estado das mem ria cache privadas e MESI Snooper Componente definido para indicar quais mem rias cache de mesmo n vel devem utilizar o modo snooper a fim de manter coer ncia e Higher Level Indica ao m dulo de coer ncia do simulador quais mem rias cache por exemplo mem ria cache L1 est o em n veis superiores e que se comunicar o diretamente com cada mem ria cache de n vel inferior por exemplo mem ria cache L2 As interconex es utilizadas no simulador s o transparentes assim pode se con siderar que as conex es entre os componentes como processador e mem ria cache s o ponto a ponto Entretanto poss vel definir uma lat ncia para as interconex es de mem ria cache logo todas as transa es que tiverem que passar pela interconex o ir causar lat ncia ao sistema Os par metros de defini o das lat ncias de interconex es no Simics est agregada com cada mem ria cache essas lat ncias s o sempre definidas como lat ncia para acessar o pr ximo n vel ou seja partindo do n vel mais pr ximo do n cleo de processamento para o n vel inferior da mem ria Seguindo o exemplo de modelagem abaixo apresentado os experimentos descritos na pr xima se o foram modelados fazendo as devidas modifica es na organiza o e par metros das mem rias cache de acordo com as caracter sticas a serem estudadas e avaliadas Snum_cpus 2 Scpu class ultrasparc iii plus Scluster
295. or faltas caiu Mesmo assim em casos especiais os alunos faltaram aula 30 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado porque sabiam que nessa disciplina haveria um v deo da aula como material extra Isso permite que o aluno realize suas atividades extra classe sem grandes prejuizos podendo depois assistir ao v deo da aula no momento mais conveniente Houve poucas reclama es referentes qualidade e disponibilidade dos v deos A maioria das reclama es referia se falta de udio das perguntas dos alunos e qualidade de udio Os v deos tamb m fornecem ao professor maneiras indiretas de medir as pr ticas de estudo dos alunos destacando quais pontos ficaram menos claros durante o semestre Como trabalho futuro planeja se uma forma de introduzir ndices nos v deos a fim de facilitar a visualiza o de partes espec ficas dos mesmos Outro ponto a elabora o de experimentos que permitam uma avalia o quantitativa verificando se h benef cios diretos do uso do Tablet PC no desempenho dos alunos H tamb m a necessidade de consolidar quais exerc cios s o mais adequados para aplica o em aulas ativa e colaborativas 31 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado 6 Refer ncias 1 Anderson R Anderson Ruth Chung O Davis K M Davis Peter Prince C Razmov V Simon Beth 2006 Classroom Presenter A Classroom Interactio
296. orresponde a uma padroniza o de algum algoritmo ou fragmento de algoritmo e pode se compor um conjunto de skeletons sequen cialmente O programador escolhe quais blocos deseja usar o compilador escolhe como cada algoritmo ser implementado e como ser a paraleliza o dentro de cada skeleton e entre eles 117 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado A abordagem de skeletons algor tmicos simples e abstrata Entretanto como os programas precisam ser expressos como composi o dos skeletons dados a expressivi dade de linguagens de programa o abstrata baseadas em skeletons algor tmicos algo que ainda est em aberto Por outro lado poss vel garantir bom desempenho com os skeletons se eles forem bem escolhidos o que tamb m leva a uma poss vel avalia o de custo J o modelo skeleton homom rfico baseado em estruturas de dados Os skeletons nesse modelo s o organizados em conjuntos um para cada estrutura de dados espec fica um para listas um para rvores etc Todos os homomorfismos em uma estrutura de dados podem ser implementados em padr o computacional recursivo e paraleliz vel A comu nica o necess ria por estes tipos de skeletons dedut vel a partir de cada estrutura de dados Por m muito comum que n o sejam muitos os requisitos de comunica o A abordagem de skeleton homom rfico tamb m simples e abstrata e o m todo de constru o dos homomorfism
297. ort ncia s o sempre crescentes o que demanda por profissionais altamente adaptativos com bons conhecimentos t cnicos e desenvolvedores de solu es criativas 70 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Refer ncias Bibliogr ficas Alabanese M A amp Mitchell S 1993 Problem Based Learning A Review of Literature on its Outcomes and Implementation Issues Academic Medicine 68 52 81 Amador J A Miles L amp Peters C B 2007 The Practice of Problem Based Lear ning A Guide to Implementing PBL in the College Classroom Anker Publishing Company Inc Angelo M F amp Santos J A M 2009 An lise dos Problemas Aplicados a um Es tudo Integrado de Concorr ncia e Conectividade Utilizando PBL In Anais da VI Confer ncia Internacional Educa o em Engenharia e Computa o Bittencourt R A amp Figueiredo O A 2003 O Curr culo do Curso de Engenharia de Computa o da UEFS Flexibiliza o e Integra o Curricular Pages 171 182 of Anais do XXIII Congresso da Sociedade Brasileira de Computa o vol 4 Campi nas SBC Bittencourt R A Figueiredo O A amp Farias P C M A 2002 Projeto do Curso de Gradua o em Engenharia de Computa o da UEFS Universidade Estadual de Feira de Santana Tech rept UEFS Universidade Estadual de Feira de Santana Bruner J S 1973 Uma nova teoria da aprendizagem Rio de Janeiro Bloch Editores Chang Li
298. ortas para dispos itivos n o adiciona muita complexidade no controle No entanto a chave crossbar assim como o barramento n o escal vel como solu o de interconex o global o que dificulta um projeto com quantidade elevada de n cleos de processamento A Figura 3 6 apresenta uma ilustra o de uso de uma chave crossbar interconectando mem rias cache de primeiro n vel de diversos processadores com mem rias cache L2 compartilhadas cada um possuindo duas portas de comunica o Dessa maneira apenas dois n cleos podem ser conectados a cada banco de mem ria cache simultaneamente 85 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado O Circuito Aberto O Circuito Fechado Figura 3 6 Diagrama de uma matriz de chaveamento interconectando proces sadores e mem rias cache Em uma rede de chaveamento pode se interconectar dois dispositivos quaisquer desde que esses n o se encontrem j ocupados Uma alternativa para o alto custo a utiliza o de v rias matrizes de chaveamento em forma o hier rquica 3 3 7 Redes Intra Chip Com a promessa de r pido aumento no n mero de n cleos de processamento dentro do processador aumenta a motiva o de estudos sobre formas diferentes de interconex o entre os v rios dispositivos dentro do chip Com o intuito principal de aumentar a escalabilidade e reduzir o custo da inter conex o diversos estudos abordam as redes de interconex o intra chip Em
299. os Aritm tica bin ria Nos problemas dos exemplos 1 e 2 ao projetarem a ULA alguns alunos cometeram pequenas falhas relativas representa o de n meros negativos bit de sinal complemento de 2 Como a aritm tica bin ria dada em semestre anterior no Estudo Integrado EI de Introdu o ao Hardware solicitou se maior nfase sobre o seu ensino Portas l gicas Na maioria dos problemas deste caso foi solicitada a implementa o de parte do processador atrav s de portas l gicas para que os alunos n o perdessem este tipo de abstra o Pode se observar que melhores resultados de aprendizagem foram obtidos ao solicitar se a representa o da ULA atrav s de portas l gicas as sim como dos registradores atrav s de flip flops J a UC demandou um tempo de projeto maior comprometendo o resultado final devido extens o da representa o M quinas de estados finitas A modelagem de tais m quinas mostrou se um ponto cr tico no desenvolvimento dos projetos Assim solicitou se maior nfase sobre a modelagem e implementa o dessas m quinas no EI de Introdu o ao Hardware Ferramentas Nos primeiros semestres letivos em que o EI foi ministrado os alunos desconheciam o ambiente utilizado Altera Quartus IN o que implicou em um aumento consider vel de aulas de consultoria Para suavizar a curva de aprendizado do ambiente o EI de Introdu o ao Hardware passou a adot lo em parte de seus problemas explorand
300. os 79 alunos matriculados na disciplina 49 responderam a esse question rio As respostas foram organizadas segundo a escala de Likert com 5 grada es sendo o texto ajustado quando necess rio O primeiro par metro medido relativo ao uso de Tablet PCs em aulas ativas e colaborativas a dificuldade de adapta o dos alunos a esse novo ambiente A figura 7 mostra os resultados obtidos Dificuldade no uso dos equipamentos 50 00 r 46 81 45 00 40 00 35 00 30 00 25 00 20 00 34 04 15 00 E Ro 10 64 10 00 8 51 sei o 5 00 0 00 Muito Dif cil Dif cil Neutro F cil Muito F cil Figura 7 Dificuldade de adapta o dos alunos ao ambiente ativo e colaborativo O gr fico nos mostra que a grande maioria dos alunos 81 disse que se adaptou de forma muito f cil ou f cil ao novo ambiente Na primeira aula ativa e colaborativa s o 15 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado dadas breves instru es de utiliza o que mostraram se suficientes para que os alunos entendessem o funcionamento do equipamento e a din mica da aula Poucos alunos tiveram dificuldade sendo ajudados pessoalmente quando necess rio O segundo par metro em quest o refere se aten o dos alunos na sala de aula A figura 8 ilustra o resultado obtido Aten o 60 00 51 06 50 00 40 00 MM Loo MB 30 00 23 40 20 00
301. os apresentam dificuldades que precisam ser contornadas com novas tecnologias ou com a combina o inovadora de tecnologias existentes Tal qual na medicina a engenharia tamb m se vale da segiiencia Hip tese Diagn stico Tratamento quando o enge nheiro realiza trabalhos de manuten o em equipamentos ou estruturas e nesse sentido seu trabalho se assemelha com o de um m dico ao tratar um paciente N o de espantar portanto que o m todo PBL tenha rapidamente se espalhado pelo ensino das engenharias Um trabalho relatando o uso de PBL no curso Engenharia El trica e Engenharia de Comunica es da Helsinki University of Technology Finl ndia descrito por Costa Honkala e Lehtovuori Costa et al 2007 Estes autores relatam o uso de PBL desde 1999 na disciplina de Laborat rio de Teoria de Circuitos e declaram que o m todo PBL tem uma vantagem pequena em rela o ao m todo tradicional quando s o comparadas as notas m dias dos alunos Eles afirmam que a maior import ncia do PBL reside cria o de uma boa atmosfera de aprendizagem pelo refor o da autoconfian a dos estudantes que passam a ter maior habilidade cr tica e de questionamento Outro trabalho realizado por Chang e Lee Chang amp Lee 2006 descreve a in corpora o de PBL no curso de Ci ncia da Computa o na National Taiwan Normal Uni versity Taiwan tamb m relata a melhoria no ambiente de sala de aula O trabalho foi realizado com 605 estudantes em 1
302. os das estruturas de dados naturalmente gera um ambi ente rico para as transforma es equacionais poss vel utilizar esse modelo com bom desempenho al m de permitir uma avalia o de custo 4 4 5 Linguagens de processamento celular Linguagens de processamento celular s o baseadas no modelo de execu o de um aut mato celular Um aut mato celular consiste de uma distribui o n dimensional de c lu las onde cada c lula est conectada a um conjunto finito de c lulas ditas adjacentes Uma c lula tem um estado escolhido de um alfabeto finito O estado de um aut mato celular completamente definido pelos valores das vari veis em cada c lula As c lulas t m seus valores atualizados atrav s de uma fun o de transi o que tem como par metro o estado da c lula atual e de um conjunto de c lulas pr ximas a ele a uma dist ncia fixada Nesse ambiente poss vel que as fun es de transi o sejam aplicadas simul taneamente em partes distintas do aut mato possibilitando a paraleliza o Exemplos de linguagens com esse tipo de abordagem s o Cellang CARPED CDL e CEPROL Essa abordagem permite bom desempenho tanto em sistemas de mem ria distribu da quanto compartilhada 4 5 Paralelismo Expl cito A segunda maior classe de modelos essa em que o paralelismo expl cito em programas abstratos mas o desenvolvedor n o precisa explicitar como os c lculos computacionais ser o divididos em partes nem como e
303. os por utilizar o processador OpenSPARC T1 porque ele possibilita o estudo de implementa o de FPGA no processador OpenSPARC T1 Foi adquirido uma placa da Xilinx ML401 com altera o do chip Para implementar dois cores do OpenSPARC em um FPGA Virtex 5 de 65nm necess rio uma placa espec fica com um custo bem elevado Atualmente a comunidade OpenSPARC j conta com um kit da Xilinx ML505 FPGA Virtex 5 XUPV5 LX110T Como o foco do Centro de Excel ncia em OpenSPARC a implementa o do FPGA no OpenSPARC ent o o nosso objeto de estudo o OpenSPARC T1 Na disciplina de Arquiteturas Avan adas de Computadores introduzimos apenas a parte te rica da microarquitetura do OpenSPARC abordando um padr o de simula o muito adotado no mercado e na academia o Simics Atualmente a disciplina de Projeto de Sistemas Reconfigur veis introduz dispositivos l gicos program veis e apresenta as t cnicas de reconfigura o parcial implementando o projeto em uma placa bem mais simples sem introduzir a quest o de uma arquitetura multicore em um FPGA O OpenSPARC T1 possui dois pacotes importantes um para projeto de processador OpenSPARC T1 Chip Design e outro para estudo da Arquitetura e Modelagem de Performance OpenSPARC T1 for Architecture and Performance Modeling Tools O Verilog RTL para OpenSPARC T1 um pacote para simula o de projeto e verifica o do chip OpenSPARC T1 baseado no processador UltraSPARC V8 Este pacote faz
304. os screencasts modificava a forma de estudo dos alunos Al m disso estat sticas de utiliza o como a quantidade de alunos que acessou os screencasts como material de estudo a quantidade de screencasts vistos e as partes mais assistidas tamb m fizeram parte do question rio Eles tamb m foram questionados sobre sua assiduidade sala de aula frente a exist ncia dos v deos interesse em assistir as aulas remotamente import ncia de indexa o a fim de facilitar a visualiza o de trechos espec ficos das aulas nesse caso n o havia indexa o conforme ser explicado posteriormente Por fim questionou se a facilidade para assistir os v deos os problemas ocorridos ao tentar faze lo e ainda sobre a qualidade destes Esse 21 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado question rio foi respondido por 58 dos 79 alunos matriculados no curso Todos os resultados aqui apresentados s o referentes a esses 58 alunos A figura 14 mostra que a grande maioria dos alunos dos 58 que responderam o question rio utilizou os v deos sendo 86 dos estudantes Os estudantes que n o utilizaram o v deo n o apresentaram os motivos para tanto Um levantamento no servidor apontou uma m dia de 36 acessos nicos para cada screencast sendo o n mero m nimo de acessos igual a 18 e o m ximo igual a 50 Dezessete alunos estimaram a quantidade de horas de v deo assistidas sendo que o resultado uma m dia de 18 hor
305. ossibilitam o f cil acesso 138 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado a arquivos por meio de uma estrutura padronizada Entretanto algumas pesquisas que v m sendo feitas sobre essa ferramenta mostra que ela n o tem bom desempenho Por exemplo implementa es paralelizadas para multiplica o de matrizes esparsas usando a biblioteca de I O do MPI apresentam resultados de efici ncia muito ruins Al m dessas inova es MPI 2 apresenta extens es de comunica es coletivas opera es coletivas n o bloqueantes aplica o de opera es coletivas para intercomuni cadores 4 10 4 CORBA Ainda no contexto de ambientes distribu dos apresentamos o modelo CORBA cujo diferencial a orienta o a objetos Common Object Requesting Broker Architecture a arquitetura padr o proposta pela OMG Object Management Group para estabelecer e simplificar a troca de dados entre sistemas distribu dos heterog neos A OMG uma organiza o formada por empresas dos diferentes ramos da in form tica desenvolvimento produ o venda Inicialmente somavam se treze empresas hoje j s o setecentos e cinquenta entre elas est o Cannon IBM Sun Apple e ou tras Essas empresas trabalham sem fins lucrativos para promover a cria o e elabora o de modelos e padr es que proporcionem a interoperabilidade entre aplica es que usam tecnologia orientada a objeto Dessa maneira nasceu a tecnologia
306. p e Gi 191 s10 a00 sua 4001 sum aces Execu o Simulador de In s Portugol Assembly 3 inteiro x 2 E 4 defina y 3 a a y A inicio 4 text o se 3 lt 5 entao LDI 3 7 y lt 0 STO 100 E 8 fimse A 7 LDI 5 d 9 se 3 gt 5 entao s STO 101 s o y lt 0 o LD 100 1 senao 10 SUB 101 2 y lt 1 11 BGE FIMSE1 13 fimse 12 LDI o 14 fim 13 STO y Je m TE eae m Organiza o BIP II PC LD Carregando valor armazenado em uma posi o da mem ria d armazenando no registrador gt Acumulador Instru o Endere o Figura 6 11 Interface do Biplde 5 Assembly exibe o c digo assembly gerado pelo compilador Neste editor a linha do programa que est sendo simulada aparece destacada destacado tamb m o bloco de instru es assembly que correspondem linha do c digo em alto n vel destacada na janela Portugol permitindo ao usu rio verificar quais instru es assembly foram geradas para executar uma instru o Portugol No programa da Figura 6 11 foram geradas sete linhas de c digo assembly para executar a instru o Portugol correspondente em destaque 6 Organiza o do processador exibe a imagem da organiza o do processador BIP I ou BIP II sobre a qual s o feitas anima es que representam a execu o das instru es no processador A fim de facilitar o entendimento do simulador OS seus principais compo
307. parte da Comunidade OpenSPARC que disponibiliza o c digo fonte dos processadores UltraSPARC V8 32 bits e UltraSPARC V9 64 bits Mehta 2006 Na disciplina que est sendo proposta Projeto de Microprocessadores Especiais que vamos introduzir o estudo aprofundado da microarquitetura do OpenSPARC TI realizando a simula o do projeto inicialmente O objetivo maior criar um curr culo de refer ncia para se trabalhar com o ambiente do OpenSPARC T1 Chip Design Os temas a serem abordados ser o coer ncia de mem ria e a comunica o dos processadores com os perif ricos Atualmente o pacote OpenSPARC T1 1 6 Release ja implementa 4 threads no T1 core para o Virtex 5 FPGAs ePlaca ML505 V5LX110T e Arquivos de projetos EDK EDK 9 2 eScripts para rodar a regress o RTL em hardware Em Berkeley o projeto RAMP Thatcher 2009 j est testando a implementa o do FPGA em OpenSPARC para projeto multicore Inicialmente ser proposto na disciplina os seguintes objetivos ensinar como customizar e usar o OpenSPARC rodar um c digo OpenSPARC modificar caracter sticas b sicas configura o do n mero de cores e threads e finalmente configurar o ambiente de simula o A arquitetura OpenSPARC T1 possui simuladores para o modelo de arquitetura SPARC Podemos citar SAM e o Legion Introduziremos o SAM para an lise de desempenho gera o de traces e simula o dirigida execu o J o Legion um simulador que pos
308. partilhamentos de mem ria cache modelando e aplicando cargas de trabalho sobre as diferentes organiza es a fim de obter resultados significativos sobre o desempenho e a influ ncia do compartilhamento da mem ria cache em processadores multi core Para isso foram avaliados diversos compartilhamentos de mem ria cache uti lizando o simulador Simics avaliando t cnicas tradicionais de aumento de desempenho como aumento da associatividade maior tamanho de linha maior tamanho de mem ria cache e tamb m aumento no n mero de n veis de mem ria cache investigando a corre la o entre essas arquiteturas de mem ria cache e os diversos tipos de aplica es da carga de trabalho avaliada Os resultados mostraram a import ncia da integra o entre os projetos de arquite tura de mem ria cache e o projeto f sico da mem ria a fim de obter o melhor equil brio entre tempo de acesso mem ria cache e redu o de faltas de dados Notou se nos resultados dentro do espa o de projeto avaliado que devido s limita es f sicas e de desempenho as organiza es 1Core L2 e 2Cores L2 com tamanho total igual a 32 MB bancos de 2 MB compartilhados tamanho de linha igual a 128 bytes representam uma boa escolha de implementa o f sica em sistemas de prop sito geral obtendo um bom desempenho em todas aplica es avaliadas sem grandes sobrecustos de ocupa o de rea e consumo de energia Al m disso como conclus o deste estudo de
309. peracionais explora o de paralelismo e protocolos de co munica o foram pouco trabalhados ao longo das sess es tutoriais Organiza o da apresenta o Antes um descuido do que uma dificuldade a organiza o da apresenta o foi relegada em todos os problemas ltima sess o tutorial antes da apresenta o 65 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Tabela 2 10 Conceitos trabalhados no problema exemplo 2 do Caso 4 Conceito Escopo Tratado Processadores microcontroladores e DSPs Mem ria embutida tipos de dispositivos Circuitos e dispositivos de E S Cart es de mem ria Hardware Embutido Acesso e controle de c meras Utiliza o de circuitos de radio frequ ncia RF Bootloader Codificadores decodificadores de udio e v deo Chip da operadora Sistemas operacionais para arquiteturas embutidas Sistema Operacional Sistema de arquivos SO Gerenciamento de mem ria Compiladores cruzados emuladores Ferramentas de software livres e comerciais Formas de programa o e intera o com o SO Toolkits gr ficos Bibliotecas otimizadas em C Acionamento de aplicativos por reconhecimento de fala Navegadores de Internet Central de Comuta o e Controle C lulas e Cobertura Padr es e protocolos de transmiss o Controle de tr fego Moduladores e demoduladores Configura o da rede de interconex o Canais de dados Roteamento Arquitetura de esta es r
310. por problemas na compila o do kernel seja por problemas internos no simulador Al m disso essa m quina com suporte a mem ria cache ativo apresentou alguns problemas j reportados como bugs pela Virtutech Fora esses problemas essa m quina apresenta um tempo de simula o superior as duas outras eleita por esses motivos atualmente todos os alunos s o desencorajados a utilizarem a m quina x86 440BX em suas simula es at que os problemas citados sejam resolvidos Assim s o recomendadas apenas as m quinas SunFire e Serengeti para o uso dos alunos Aos alunos que necessitem eventualmente de outra m quina mais especifica em seus experimentos essa deve ser adotada com bastante cautela observando atentamente as limita es descritas no manual do usu rio referente m quina escolhida Algumas limita es do Simics s o amplamente conhecidas as principais s o dadas uma vez que o simulador Simics n o modela todos os componentes de um hardware real ja que o simulador trabalha no n vel de conjunto de instru es Dessa forma os resultados de tempo de execu o no simulador s o dados basi camente em instru es e ciclos O n mero de ciclos dado pelo n mero de instru es executadas mais os ciclos em espera gerados pelas lat ncias de todos os componentes modelados Normalmente a execu o no simulador desconsiderando os eventos de alta lat ncia de uma instru o por ciclo par metro pr definido pelo IPC
311. por cima das anota es do docente A pr xima funcionalidade que o que realmente torna esse tipo de aula especial a introdu o de reas de escrita que podem ser compartilhadas entre todos os participantes da aula podendo se definir a aula como o conjunto de reas de escrita existentes em todos os Tablet PC Nesse contexto h regras que permitem a organiza o do ambiente a fim de organizar o fluxo de aula de forma produtiva Podemos imaginar ent o que a aula passa a ter um estado global dado pelo conjunto de reas de escrita existentes nos Tablet PCs dos alunos e do professor Essas reas podem ent o ser compartilhadas entre os participantes segundo alguns casos de uso Por exemplo um estudante resolve um exerc cio numa rea de escrita existente em seu Tablet PC local e envia essa solu o para o Tablet PC do docente a fim de que ele a corrija Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado O principal objetivo enquadrar esses cen rios de uso e adequar a utiliza o dessas reas compartilhadas de modo a atenuar alguns problemas que frequentemente ocorrem em sala de aula dentre os quais pode se destacar e O docente n o possui um retorno adequado do entendimento dos alunos sobre determinado t pico Muitas vezes ao perguntar se a classe est entendendo determinado conte do a resposta um constragendor sil ncio e Alunos t midos dificilmente s o participativos em sala de au
312. processador lhe imp e limita es quando comparado a um processador cujo projeto focado no desempenho como o MIPS O papel do BIP nesta disciplina diferente do seu papel nas disciplinas das fases iniciais A sua contribui o est em permitir um aumento incremental da complexidade dos temas abordados ao longo do semestre Como a arquitetura do MIPS n o foi especificada visando o aprendizado mas sim a facilidade de implementa o do processador e o seu desempenho iniciar o estudo dos conceitos de arquitetura e de organiza o a partir do BIP tende a facilitar o entendimento inicial desses conceitos 6 3 5 Compiladores A utiliza o da Fam lia BIP na disciplina de compiladores proporcionou uma alternativa para demonstrar todas as fases de constru o do compilador seguindo a abordagem sugerida por Lins 2000 na qual inicia se definindo a arquitetura da linguagem alvo para ent o se definir os aspectos sint ticos e l xicos da linguagem de alto n vel O conjunto de instru es do BIP mostrou se bastante simples permitindo a gera o direta do c digo atrav s de a es sem nticas sem passar por linguagens intermedi rias conforme ilustra a Tabela 6 10 Essa caracter stica possibilitou a substitui o da linguagem intermedi ria que vinha sendo utilizada at ent o Linguagem da M quina Virtual de Pilha viabilizando maioria dos alunos concluir a etapa de gera o de c digo o que raramente ocorria em semestres ante
313. prop sito espec fico e ou dedicado Neste contexto do futuro do termo as seguintes peguntas s o fundamentais Quais s o as principais tend ncias e perspectivas futuras de utiliza o dos diversos tipos de sistemas de computa o Quais s o as principais tend ncias e perspectivas futuras em termos de arquiteturas dos diversos tipos de sistemas de computa o Quais s o as principais tend ncias e perspectivas futuras em termos de tecnologias de implementa o dos diversos tipos de sistemas de computa o Considera se que no futuro em fun o das principais tend ncias futuras da computa o e dos diversos tipos de sistemas de computa o incluindo os denominados n o convencionais ou n o tradicionais sendo que em alguns desses sistemas n o existe software e tamb m n o existe arquitetura de software os impactos negativos produzidos pelas defini es e significados do termo arquitetura de computadores poder o ser ainda maiores Deste modo devemos analisar quais s o as principais tend ncias e perspectivas futuras de utiliza o e de significado do termo considerando os diversos tipos de sistemas de computa o incluindo os denominados n o convencionais ou n o tradicionais sendo que em alguns desses sistemas n o existe software e tamb m n o existe arquitetura de software Acredita se que as defini es do termo devam ser abrangentes robustas e pouco variantes no tempo Deste modo devem existir defin
314. putadores o BIP I foi utilizado para ilustrar o funcionamento de um processador O grau de abstra o adotado nesse estudo foi definido considerando que os alunos do primeiro per odo n o possuem conhecimentos sobre circuitos digitais Inicialmente foram explicadas as funcionalidades dos blocos construtivos do BIP I sem preocupa o com a sua estrutura interna Em seguida foi mostrada a constru o do processador para a execu o de cada instru o e por fim foi apresentado um modelo simplificado da organiza o do BIP I ilustrado na Figura 6 8 Foram realizadas atividades de fixa o em que os alunos foram orientados a destacar os componentes e os canais do processador utilizados na execu o de cada instru o conforme ilustrado na Figura 6 9 Unidade Central de Processamento Controle Caminho de Dados Extens o de Sinal Decodificador yyy PC Cod Operando NE Instru o Addr Data Addr In Data Out Data Mem ria de Instru es Mem ria de Dados Figura 6 8 Organiza o Harvard monociclo do BIP vis o simplificada 183 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado xtens o de Sinal Addr Out Data Mem ria de Dados a b Figura 6 9 Exerc cio sobre a organiza o do BIP I a execu o da instru o LDI b execu o da instru o ADD A partir dos
315. que as pontua es referenciadas nas tabelas 2 1 2 2 e 2 3 indicam apenas uma refer ncia base e n o s o absolutas para todos os problemas propostos podendo ser adap tadas de acordo com as caracter sticas particulares e necessidades de cada problema ou t pico abordado Tabela 2 3 Resultado e detalhamento da solu o Pontos a serem observados Pontua o Explica o e n vel de detalhamento adequado do produto 2 5 Desempenho e custo do produto obtido 2 0 Compara es com outras solu es 1 0 Identifica o de limites apresentado vantagens e desvantagens da solu o alcan ada 1 0 Al m das avalia es dos produtos uma nota de desempenho complementa o pro cesso de avalia o do aluno no estudo integrado Esta nota reflete a participa o o en volvimento o comprometimento nos encontros do grupo tutorial as contribui es levan tadas o cumprimento das metas definidas em cada encontro a organiza o dos trabalhos do grupo entre outras habilidades relacionadas din mica em grupo Al m dessa forma de avalia o do desempenho do aluno existe tamb m a possibilidade da auto avalia o Neste procedimento os tutores inicialmente fazem uma avalia o de cada aluno ao final de cada encontro da sess o tutorial justificando a nota com base nos objetivos de de sempenho Depois de alguns encontros e familiariza o dos alunos com os crit rios de avalia o inicia se um processo de auto ava
316. quitetura de Computadores educa o ensino e aprendizado e EREW Exclusive Read Exclusive Write Conflitos de leitura ou escrita n o s o permitidos e CREW Concurrent Read Exclusive Write Permite a leitura ao mesmo tempo Mas conflitos de escrita n o s o permitidos Este o modelo PRAM padr o e CRCW Concurrent Read Concurrent Write Permite a leitura e a escrita ao mesmo tempo por processos diferentes Quando pensamos em escrita concorrente concurrent write vemos que surge o problema de conflitos de escrita ou seja mais de um processador escrevendo no mesmo local da mem ria compartilhada ao mesmo tempo Existem diferentes pol ticas de trata mento para esses casos Algumas delas s o e Arbitr rio escolhe arbitrariamente aquele que ir escrever naquele local da mem ria e Prioridade assume que existe uma hierarquia de prioridades entre os processadores e aquele com maior prioridade ganha e Combinac o combina os valores de alguma forma e Detec o algum valor especial escrito quando h uma tentativa concorrente de escrita O modelo PRAM assume como verdade certos aspectos a cerca da arquitetura do computador com o prop sito de prover uma maior abstra o e facilitar o desenvolvimento de algoritmos neste contexto Algumas das conjecturas feitas por esse modelo s o e h um n mero ilimitado de processadores e h uma quantidade ilimitada de mem ria e o custo de acesso a mem ria sempre
317. r liberdade e qualidade ao conte do dos slides utilizados pelo docente Na rea de Arquitetura de Computadores esse fato extremamente importante visto que boa parte do conte do do curso s o esquemas de processadores incluindo m quinas de estados datapaths pipelines e esquemas de barramentos A capacidade do docente de escrever por cima desses conte dos foi motivo de grande sucesso entre os alunos tornando a aula 10 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado mais organizada e com uma grande riqueza visual na explica o dos detalhes da disciplina No come o de 2007 a UNICAMP recebeu uma doa o de 21 Tablet PCs da HP modelos TC4200 e TC4400 mais hardware para a montagem de uma rede wireless fruto do envio de uma proposta entitulada An annotation based tool for collaborative learning using mobile technology a um Technology for Teaching Grant da HP Assim foi poss vel montar um laborat rio para a pr tica de ensino ativo e colaborativo descrito nos moldes da se o anterior Esse foi o material usado durante as aulas do curso avaliado nesse cap tulo 3 2 Descri o do curso O curso de Arquitetura de Computadores da UNICAMP tem a dura o de um semestre e oferecido apenas uma vez por ano ministrado desde 2004 pelo prof Rodolfo Jardim de Azevedo O curso segue o tradicional livro texto de David A Patterson and John L Hennessy Computer Organization Design The Hardware
318. r a um segundo conjunto de aplica es A Figura 3 2 estendida de 2 apresenta uma compara o entre um superescalar de quatro vias 3 2 a um processador SMT Simultaneous Multithreading 3 2 b um processador IMT Interleaved Multithreading 3 2 c um processador BMT Block Mul tithreading 3 2 d sendo todos CMT superescalares de quatro vias e por fim um pro cessador multi core onde cada um dos dois n cleos um superescalar de duas vias 3 2 e Fora o processador superescalar simples todos os processadores s o CMTs que suportam de duas CMP at quatro threads SMT IMT e BMT simult neas No pro cessador superescalar simples apenas uma thread est ativa por vez A assim apenas instru es de uma thread s o executadas at que haja uma troca de contexto Para o processador SMT quatro threads ficam ativas A B Ce D al m disso instru es das 79 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado bo Fale ol jo bebo Pa Par a Superescalar b SMT d BMT e CMP Figura 3 2 Comparativo entre processadores superescalar processadores mul tithreading e multi core Na vertical est ilustrado a linha do tempo de execu o na horizontal encontram se as vias de execu o de cada processador Pode se ver ainda as vias de execu o ocupadas com os fluxos de instru o A B C e D quatro threads podem ser executadas em um mesmo ciclo de m quina aproveitando to das as uni
319. r alcan ado Processadores pticos surgem como possibilidade para solu o do problema de desempenho mas uma solu o que s deve estar dispon vel em algumas d cadas As sim o emprego do paralelismo interno processadores superescalares que permite a exe cu o de mais de uma instru o simultaneamente vem ajudando a solucionar o problema e mesmo que a velocidade dos processadores continue a aumentar no ritmo que apresenta atualmente o paralelismo interno pode ainda ser uma alternativa economicamente mais interessante para algumas aplica es Novas tecnologias t m atrelado ao seu pre o o custo de projeto e fabrica o que elevam o seu valor e tamb m diminuem consideravelmente o pre o de gera es anteriores Como a melhora no desempenho de gera o para gera o tem sido de aproximadamente uma ordem decimal a uni o de processadores de gera es anteriores tamb m depen dendo do custo de conex o pode obter velocidades de processamento pr ximas dos de ltima gera o com custo reduzido Portanto os altos pre os de processadores de ltima gera o a diminui o do pre o de gera es anteriores e a ordem de magnitude de melhora de desempenho entre as gera es favorecem o projeto inteligente e ajudam na dissemina o do uso de redes de trabalho com um conjunto de in meros computadores de baixo custo Entretanto tamb m existem fatores que complicam a paraleliza o computacional Atividades que s o
320. r no nosso programa em especial E como agregar as pesquisas j consolidadas no departamento para dar suporte s disciplinas que ser o propostas Segundo David Patterson Patterson 2008 em sua ltima palestra sobre o Futuro da Arquitetura dos Computadores h duas classes interessantes de computadores para o futuro Datacenter um computador Amazon Google Microsoft constroem 50 000 mil computadores para rodar software como um servi o Software as a Service SaaS Celular um computador Milh es de celulares a cada dia est o promovendo um incremento cada vez maior de funcionalidade A quest o mais importante abordada por David Patterson a descri o das reas que trar o uma grande oportunidade para a Arquitetura de Computadores comentadas a seguir Tend ncias Manycore o objetivo da rea inventar computadores capazes de executar os programas de forma eficiente port vel correta e escal vel Esta tend ncia permite que o software use muitos co processadores 149 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado simples com energia eficiente ao inv s de um nico processador que dispenda uma grande quantidade de energia Nova arquitetura para Seguran a prop e nova arquitetura apoiada em itens de seguran a e privacidade enfrentados na rea de tecnologia da informa o TI Novas caracter sticas est o sendo estudadas em um projeto de chip para acelerar a c
321. r que um dos objetivos iniciais o de tornar os alunos mais participativos em sala de aula foi atingido O ambiente ativo e colaborativo montado dessa forma permite que os alunos t midos e aqueles que precisam de um pouco mais tempo de racioc nio do que os melhores alunos da classe tamb m possam participar ativamente das aulas com Tablet PC Nesse ponto vale ressaltar que a submiss o dos exerc cios pode ser feita de forma an nima e esses alunos antes exclu dos podem ter sua solu o escolhida pelo professor para ser alvo de uma discuss o com a classe Outro fato relevante que a diversidade de solu es com que o professor tem contato muito maior permitindo que ele tenha uma vis o geral do entendimento da classe e que ele visualize erros comuns cometidos pelos alunos corrigindo os imediatamente Al m disso poss vel mostrar para a classe mais de uma solu o valorizando alunos 18 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado criativos e fazendo com que a turma tome contato com diferentes solu es aumentando seu senso cr tico A comprova o da melhor participa o do professor est indicada na figura 11 que mostra a percep o dos alunos sobre o acesso ao professor para esclarecimento de d vidas durante a aula Acesso ao professor o 45 00 40 43 40 00 36 17 35 00 i 30 00 25 00 1 f 1 i 21 28 20 00 15 00 1 E 7 f 1 f 10
322. r substitui o future 4 5 3 Estrutura est tica O modelo de estrutura est tica baseia se no paralelismo de dados isto na aplica o de opera es monol ticas em objetos de uma estrutura de dados Inicialmente parece um modelo de programa o de expressividade limitada mas uma forma poderosa de descrever muitos algoritmos interessantes Os algoritmos s o analisados no sentido de encontrar situa es em que uma mesma opera o aplicada repetidamente em diferentes dados sem que essas opera es interajam Por exemplo tome um vetor como a estrutura de dados em quest o e uma fun o que mapeia cada elemento do vetor em um novo elemento que depende exclusivamente do valor inicial Nesse caso o mapeamento de cada elemento independente o que corresponde a uma opera o monol tica sobre uma estrutura de dados Por exemplo considere a linguagem Fortran com a adi o de um la o ForAll onde 119 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado as intera es s o independentes e podem ser executadas concorrentemente O seguinte trecho de c digo paraleliz vel 24 ForAll I 1 N J 12M A I J I x B J E preciso ter cuidado para que os la os n o usem o mesmo endere o entre ex press es diferentes O compilador nem sempre pode verificar isto portanto tarefa para o programador fazer esta verifica o Muitos dialetos de Fortran como o Fortran D ou o HPF
323. ra de Computadores educa o ensino e aprendizado 2 Utiliza o do Tablet PC no Ensino de Arquitetura de Computadores Quando se fala em ensino ativo e colaborativo evoca se uma id ia geral que tem como principal argumento a transfer ncia da maioria da responsabilidade do aprendizado para o aluno fazendo com que ele tenha um papel crucial no seu processo de aprendizagem Para tal objetivo o instrutor dever modificar a estrutura tradicional das aulas magnas de forma a incluir atividades pr ticas que fa am com que os alunos exercitem suas habilidades comportamentais e cognitivas 3 A implementa o de tais ambientes pode se dar de diversas formas as quais s o motivo constante de pesquisa e controv rsia entre os educadores Quest es versando sobre quando e como aplicar os exerc cios s o constantes e pr ticas similares normalmente n o obt m o mesmo resultado quando aplicadas a cursos diferentes Outra quest o pertinente sobre os tipos de exerc cios que devem ser aplicados sendo os mais comuns na literatura as discuss es entre os alunos a resolu o de problemas ou at mesmo o estudo de exemplos resolvidos N o cabe no escopo deste trabalho um levantamento mais detalhado dos resultados obtidos em diversas reas o leitor mais interessado poder consultar a se o de refer ncias para encontrar material espec fico Ser o discutidos aqui a t cnica que foi utilizada no curso e os resultados encontrados em trabal
324. rados com os cursos de semestres anteriores na se o de resultados Nas aulas colaborativas os alunos foram instru dos a formarem grupos de 4 pessoas pegarem um Tablet PC no in cio da aula e seguirem um breve procedimento de inicializa o e conex o com o Tablet PC do instrutor Esse processo levou cerca de 5 a 10 minutos para ser executado por aula sendo um pouco mais demorado na primeira Alguns alunos optaram por seguir a aula sem a utiliza o do dispositivo durante as aulas ativas e colaborativas no entanto foram minoria e em alguns momentos do curso foram convidados a testarem o equipamento n o havendo por m insist ncia por parte do docente ou obrigatoriedade na utiliza o do equipamento Todos os Tablet PCs utilizaram o sistema operacional Windows Vista e o software Classroom Presenter para se conectar ao Tablet PC do docente A figura 6 ilustra algumas solu es dos alunos que foram submetidas para o Tablet PC do docente 13 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Caches de Instru es e de Dados As duas mem rias que vimos no datapath monociclo e no pipeline s o na apo a processadores t m uma cache de instru es e uma lados A cache de dados difere da cache de instru es pela capacidade de suportar escritas O que voc modificaria no seu modelo anterior para suportar escritas Acrescentaria um sinal de controle ge habili tarry tal Jun o e ligar a mem ria na c
325. ratamento de prioridades quando houvessem requisi es m ltiplas Alguns grupos assumiram que essa situa o n o ocorreria e n o implementaram o gerenciamento das mesmas 61 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado Padr o de v deo O estudo sobre o padr o de v deo adotado consumiu um tempo maior que o estimado A informa o a ser extra da do padr o era apenas o tamanho do buffer a ser utilizado Os alunos se aprofundaram demais no assunto o que diminui o tempo de pesquisa sobre o padr o PCI e de desenvolvimento do hardware Interface A constru o da interface que seria entregue aos alunos para teste do hardware implementado n o ficou dispon vel em tempo h bil para a realiza o dos testes pr ticos Por isso foi apresentada apenas a simula o do projeto que ocasionou a uma dificuldade maior na apresenta o dos resultados 2 4 3 6 Resultados O desenvolvimento do projeto apresentado no problema da se o 2 4 3 1 foi prejudicado por eventos externos O produto apresentado pelos alunos n o atendeu as especifica es exigidas conseguindo apenas a comunica o byte a byte entre dois processadores ape nas As requisi es de acesso n o obedeceram ao esquema de fila sendo realizadas de forma independente Em resumo se um processador solicitasse o uso do barramento o mesmo seria obtido independente de que o barramento estivesse sendo utilizado por outro processador Apesar do n
326. razer Mitchell Herbert F 1951 The UNIVAC System International Workshop on Managing Requirements Knowledge AFIPS 1951 p 6 16 Fazio M Moffett M Wodehouse L 2008 A World History of Architecture 2 edition McGraw Hill 2008 Fletcher B 1956 A History of Architecture on the Comparative Method Charles Scribner s Sons 1956 Godfrey M D Hendry D F 1993 The Computer as von Neumann Planned It IEEE Annals of the History of Computing Vol 15 No 1 1993 pp 11 21 215 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado Goldstine A A Report on the ENIAC Electronic Numerical Integrator and Computer Part 1 Technical Description of the ENIAC Ballistics Research Laboratory 1946 Goldstine H H Goldstine A The Electronic Numerical Integrator and Computer ENIAC Mathematical Tables and Other Aids to Computation Vol 2 No 15 Jul 1946 pp 97 110 Reimpress o Goldstine H H Goldstine A The Electronic Numerical Integrator and Computer ENIAC Annals of the History of Computing IEEE Vol 18 n 1 pp 10 16 Hennessy J L Patterson D A 2006 Computer Architecture A Quantitative Approach 4 edition Morgan Kaufmann 2006 Hennessy J L Patterson D A 2012 Computer Architecture A Quantitative Approach 5 edition Morgan Kaufmann 2012 Hill M D Jouppi N P Sohi G S 2000 Readings in Computer Architecture Mor
327. re Navaux UFRGS navaux inf ufrgs br Abstract Concerning the rise of new generations of many core processors with the possibility of tens or hundreds of processor cores for general purpose the teaching of processor ar chitecture becomes a great challenge especially considering the rapid development of the area In this context there is also several design alternatives with new concepts and techniques that increase the exploration space for students in disciplines related to the computer architectures This chapter presents an approach of using a full system simu lation environment called Simics in the classroom focusing on design simulation and evaluation of architectures of many core processors To support this approach we used our experience of evaluating of shared cache memory on many core processors which will be presented throughout this chapter together with results obtained by students in the classroom Resumo Com o surgimento das novas gera es de processadores many core com possibilidade de dezenas ou centenas de n cleos de processamento de prop sito geral o ensino de ar quitetura de processadores se torna um grande desafio principalmente considerando a r pida evolu o da rea Neste contexto surgem tamb m v rias alternativas de projeto com novos conceitos e t cnicas que aumentam o espa o de explora o dos alunos nas disciplinas relacionadas arquitetura de computadores Este cap tulo apresenta uma abord
328. re uma quantidade distinta de palavras e foram classificados da seguinte forma e dispositivo A que transfere palavras isoladas e dispositivo B que transfere blocos de quatro palavras dispositivo C que transfere blocos de oito palavras dispositivo D que transfere blocos de tamanho vari vel contendo de uma a dez palavras Outra restri o de projeto era a forma de acesso ao barramento quando eram reali zadas requisi es simult neas Se dois dispositivos solicitassem o barramento ao mesmo tempo para transferir at oito palavras a prioridade de ambos seria a mesma e o rbitro obedecia a pol tica round robin Caso um dos dispositivos solicitasse uma transmiss o su perior a oito palavras este dispositivo teria acesso ao barramento para transmitir apenas quatro palavras em seguida o outro dispositivo enviaria seu bloco de palavras e o acesso retornaria ao primeiro dispositivo para que o restante das palavras fossem transferidas O rbitro do barramento foi implementado em uma FPGA utilizando a linguagem VHDL onde a CPU era apenas um processo que disponibilizava periodicamente o bar ramento e uma mem ria de tamanho m ximo de 6 KBytes foi preenchida somente com valores de 0 a 9 para simular os dados a serem enviados pelos dispositivos As solicita es do barramento pelos dispositivos foram feitas por meio de chaves do tipo push button Um LED indicava a disponibilidade do barramento Quatro LED s um para cada dispos
329. recente o trabalho realizado por Montero e Gonzalez Mon tero amp Gonzalez 2009 com a aplica o de PBL no estudo de Transfer ncia de Calor para alunos do primeiro ano do curso de Gradua o em Engenharia Eletr nica na Escuela Polit cnica Superior de la Universidad de Burgos Espanha Os autores concluem que um dos fatores chaves para o sucesso do m todo no curso foi o grande interesse que os problemas despertaram nos alunos por conta de sua contextualiza o dentro da engenha ria el trica Eles comentam que ainda que o m todo PBL cobrisse menos assuntos do que seriam poss veis com um m todo tradicional os alunos obtiveram um aprendizado mais consistente e profundo do que foi apresentado o que gerou resultados acad micos superi ores aos conseguidos em anos anteriores Eles comentam por fim alunos de primeiro ano precisam ser mais assessorados pelo tutor j que n o possuem maturidade suficiente para abordar problemas abertos Diversas experi ncias positivas v m sendo relatadas na literatura indicando que o PBL um m todo que aumenta a efici ncia do processo de aprendizagem em engenha rias Essas experi ncias tamb m apontam que o maior esfor o e tempo despendido por professores e alunos se compensam pelo aprofundamento no aprendizado dos conceitos Al m do mais em todos os casos s o relatadas melhoras na atmosfera em sala de aula o que certamente contribui para um maior desempenho dos alunos 2 3 PBL e Arquitetura
330. relacionados com a arquitetura de computadores ensinados pelos professores e aprendidos pelos alunos dos diferentes cursos Finalmente observa se que tamb m existem diferen as entre cursos com mesma denomina o de diferentes institui es de ensino em fun o dos projetos pedag gicos dos cursos da forma o dos professores e dos perfis esperados dos egressos de cada institui o Nesta se o analisam se os impactos do termo na educa o em arquitetura de computadores somente nos cursos de ci ncia da computa o em fun o da experi ncia do autor Espera se no futuro com a participa o de outros professores realizar an lises semelhantes nos demais cursos da rea da computa o Nas an lises considera se a educa o em arquitetura de computadores tanto no contexto das disciplinas denominadas ou diretamente relacionadas com arquitetura de computadores quanto nas disciplinas n o relacionadas diretamente mas que muitas vezes s o as ideais para a apresenta o informativa e aprendizado de t picos e ou para a valoriza o e a motiva o inicial para o aprendizado dos t picos relacionados com a arquitetura de computadores Deste modo existem impactos nas pr prias disciplinas diretamente relacionadas com a arquitetura de computadores e tamb m nas demais disciplinas dos cursos da rea de computa o Al m disso existem impactos negativos de longo prazo pois os futuros professores das demais disciplinas dos diversos c
331. rentes checkpoints fazendo assim o sistema agir de forma n o determin stica pelas interrup es causadas pelo sistema operacional levando assim as cargas de trabalho a diferentes caminhos de execu o Para essa forma de exe cu o podemos ap s cada execu o de uma determinada aplica o criar um checkpoint diferente a partir do qual a pr xima execu o e medi o daquela mesma aplica o ser feita Al m da preocupa o em rela o ao determinismo do sistema pode se tamb m planejar reduzir poss veis efeitos transientes 31 executando previamente cada aplica o da carga de trabalho a fim de aquecer a mem ria cache salvando o estado do sistema ap s essa primeira execu o de cada aplica o Ent o somente a partir desse estado salvo executa se e mede se cada aplica o da carga de trabalho 3 6 9 Fluxo de Projeto Proposto Ap s apresentar os conceitos e funcionalidades do simulador importante fixar um fluxo de projeto para que os alunos possam se guiar durante a execu o do projeto proposto Assim com a experi ncia ganha ap s alguns testes e avalia es com o Simics foi desenvolvido o fluxo de projeto apresentado na Figura 3 10 Figura 3 10 Diagrama do fluxo de simula o proposto O fluxo de projeto apresentado n o considera as etapas de design de experimentos nem de an lise estat sticas sendo que essas etapas podem ser agregadas aos projetos na forma que mais for conveniente ao prof
332. res educa o ensino e aprendizado a utiliza o do Tablet PC como plataforma de apresenta o e de screencasts sob o ponto de vista dos alunos e do docente As mudan as relativas apresenta o e grava o de screencasts demandam somente um Tablet PC para o docente sendo muito mais atrativas do ponto de vista financeiro e log stico Foram pass veis de an lise medidas que indiquem mudan as nos h bitos no comportamento e na motiva o dos alunos durante o curso N o foram levadas em conta medidas como notas finais pois n o foi montado um experimento adequado para tanto Apesar do conte do ser o mesmo os cursos s o din micos e a dificuldade das provas pode variar baseada na percep o do entendimento da classe pelo professor bem como o ritmo da mat ria ministrada durante o curso Isso faz com que compara es de rendimento entre alunos desse semestre e de semestres distintos embora v lidas do ponto de vista informal para verifica o de algo extraordin rio sejam impr prias para um estudo cient fico Outros par metros no entanto como porcentagens de aprova o e reprova o e n mero de faltas por sua maior regularidade podem nos mostrar algo mais significativo sobre a mudan a de comportamento dos alunos 4 1 Resultados do uso do Tablet PC em aulas ativas e colaborativas Vis o dos alunos Para avaliar como os alunos reagiram nova metodologia das aulas foi aplicado um question rio ao final do curso D
333. resultados esperados Ap s a submiss o e aprova o a Virtutech dever entrar em contato liberando o acesso para a download e instala o do Simics e tamb m do servidor de licen as nesse caso o servidor de licen as do tipo flutuante ou seja ele trabalha com empr stimos de licen as aos usu rios Uma vez recebido acesso aos recursos necess ria a instala o do servidor de licen as em algum servidor acess vel pelos alunos A vers o do Simics utilizada neste cap tulo a 4 0 assim vamos nos limitar a abordar apenas os detalhes relacionados a essa vers o Mesmo assim s o poucas as modifica es no ponto de vista do usu rio entre as diferentes vers es Uma das primeiras barreiras que podem aparecer em se tratando de utiliza o de software com finalidade educacional o sistema operacional que o aluno costuma utilizar Nesse ponto o Simics possui vers es para alguns dos sistemas operacionais mais utilizados Linux Windows e Solaris Dessa forma a escolha pela ferramenta pode ser feita mais amplamente pois n o apresenta limita es nesse sentido A instala o atualmente feita de maneira bastante intuitiva portanto n o ser discutida com muitos detalhes Por m sugerimos que no primeiro momento sejam insta lados todos os pacotes dispon veis al m do pacote b sico tais pacotes dizem respeito m quina a ser simulada como por exemplo X86 Sparc Mips etc Por m conforme for adquirida mais exp
334. rface do Classroom Presenter A principal vantagem oferecida pelos Tablet PCs a capacidade de realizar anota es sobre os slides do instrutor Esse fato traz benef cios normalmente ressaltados por alunos que nunca participaram de uma aula apresentada com Tablet PCs Com a capacidade de anotar sobre seus slides a lousa do instrutor fica mais organizada al m de poupar tempo do professor em ter que ir ao quadro explicar alguns conceitos que s vezes n o podem ser feitos com a utiliza o de um computador dotado apenas de interfaces de entrada padr o como mouse e teclado A necessidade de um software pr prio para apresenta o crucial pois apesar de softwares tradicionais como o PowerPoint aceitarem a inser o de anota es digitais eles n o t m uma interface adequada para esse fim Essa vantagem apesar da rela o com a montagem de ambientes de ensino ativo e colaborativo n o suficiente para criar uma nova metodologia de ensino Contando com a capacidade de acesso rede wireless existente nos Tablet PCs poss vel trabalhar com um aplicativo onde o professor compartilhe suas transpar ncias e anota es com outros alunos que estejam equipados com Tablet PCs sendo que suas anota es podem ser replicadas em tempo real na tela dos alunos Esta outra pequena vantagem no modo de apresenta o uma vez que um aluno que tenha perdido parte do racioc nio pode revisar o conte do e at mesmo fazer anota es pessoais
335. ria um longo per odo de espera Tal evento pode ser uma falta de dados na mem ria cache criando assim uma lat ncia para acesso aos dados Dessa maneira ao inv s de esperar o evento de alta lat ncia o processador dever trocar a execu o para outra thread que esteja pronta para execu o A thread que ocasionou o evento de alta lat ncia s receber status de pronta para execu o assim que sair do estado de espera Esse modelo de multithreading visa esconder as altas lat ncias de acesso mem ria mascarando essas lat ncias com a execu o de outro fluxo de instru es 3 2 2 Processadores Multi Core Pesquisas sobre as melhores alternativas de projeto de arquiteturas de processadores t m usado basicamente o estudo de cargas de trabalho para entender melhor o comportamento do processador Um dos primeiros estudos que identificou o potencial do uso de chip multiproces sor foi proposto em 6 onde foi apresentado um estudo onde dois tipos de arquiteturas foram expostos a um mesmo tipo de carga de trabalho O estudo procurou definir qual o melhor tipo de arquitetura para cargas onde havia um baixo ou grande paralelismo no n vel de thread A Figura 3 1 6 apresenta os dois tipos de arquiteturas que foram comparadas uma arquitetura superescalar com execu o de seis instru es simult neas e uma arquitetura com m ltiplos n cleos de processamento suportando duas instru es simult neas por n cleo de processamento Para g
336. riores Para ilustrar melhor a simplicidade do processo de gera o de c digo na Tabela 6 10 demonstrada a gera o de um desvio condicional para a linguagem Portugol Foi utilizada a ferramenta ANTLR3 Parr 2009 para apoiar a gera o do analisador l xico e sint tico 185 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Tabela 6 10 A es Sem nticas para a gera o de desvios condicionais Portugol A es Sem nticas Assembly Se x gt 8 entao 1 cmd se SE expRelacional LD x been eon 2 STO 100 fimse 36 add_instrucao LD resultado Esq LDI 8 4 add instrucao SUB resultado Dir STO 101 be add instrucao opRelacional ENDIF1 LD 100 6 rotulos Push ENDIF1 SUB 101 Ais BLE ENDIF1 8 ENTAO lista_cmdo FIMSE LDI 0 On STO x 10 add_instrucao rotulos Pop ENDIF1 11 ey ag Para a realiza o do desvio condicional inicialmente s o resolvidas as express es dos lados esquerdo e direito do operador relacional Os resultados dessas express es s o armazenados em vari veis tempor rias e posteriormente o resultado da express o do lado direito subtra do do valor resultante da express o do lado esquerdo do operador linhas 3 e 4 As instru es de desvio do BIP baseiam se na execu o pr via de uma instru o de subtra o entre os valores comparados e na an lise do registrador STATUS que armazen
337. ro grama n o obt m desempenho muito vari vel de arquitetura para arquitetura por m em m quinas paralelas pode se obter diferen as de uma ordem de magnitude Essa diferen a de desempenho dependente de estruturas de conex o e do custo da comunica o Por este motivo a portabilidade afetada e para que ela seja poss vel pode ser necess ria a reconstru o do software desestimulando o paralelismo Por m o crescimento de computadores pessoais multiprocessados no mercado es timula o desenvolvimento de programas paralelizados uma vez que a maioria dos aplica tivos atuais planejados essencialmente para um nico processador n o utilizam todo o potencial de um processador multi core 4 3 Vis o Geral sobre os Modelos Um modelo de computa o paralela uma interface respons vel por separar propriedades de alto n vel das de baixo n vel Em outras palavras um modelo uma m quina de abstra o que fornece opera es para a programa o paralela projetado para separar o que diz respeito a desenvolvimento de software do que diz respeito a execu o paralela efetiva e estabelece ao desenvolvedor tanto abstra o quanto estabilidade Abstra o aparece porque as opera es que o modelo fornece s o de mais alto n vel simplificando a estrutura do software e reduzindo as dificuldades na sua constru o Estabilidade aparece porque a constru o do software pode supor uma interface padr o independente dos det
338. roblema projeto as dificuldades no seu desenvolvimento e os resultados obtidos em re la o ao desempenho dos grupos tutoriais de alunos Por fim na se o 2 5 realizamos as considera es finais sobre a aplica o da metodologia PBL no curso de Engenharia da Computa o da UEFS 2 2 Fundamenta o Te rica Essa se o descrever as bases te ricas de PBL e citar os principais autores e textos usa dos para explicar essa metodologia A se o se dividir nos t picos Hist rico Objetivos Metodologia e Formas de Avalia o A se o ser uma fonte de refer ncias que permi tir ao leitor desenvolver habilidades na implementa o da metodologia em sua pr tica Dessa forma pretende se familiarizar o leitor com os fundamentos de PBL de maneira que o mesmo possa avaliar melhor como tal metodologia tem sido aplicada no curso de Engenharia de Computa o da UEFS e por conseguinte possa ser incentivado a incluir 36 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado essa pr tica tamb m em sua disciplina 2 2 1 Hist rico As primeiras refer ncias ao uso de PBL remontam ao final da d cada de 1960 quando o m todo foi aplicado na Faculty of Medicine at the McMaster University Canada to mando como base as experi ncias de ensino de direito da Escola de Direito da Univer sidade de Harvard nos anos 1920 e no m todo de ensino de medicina usado na Case Western Reserve University nos anos
339. roblemas resolvidos pelos alunos o primeiro deles se refere a uma ar quitetura multiprocessada que compartilha uma mem ria de dados O segundo exemplo o desenvolvimento de um rbitro de barramento O terceiro mostra o projeto de um controlador para barramento PCI Peripheral Component Interconnect 2 4 3 1 Exemplo 1 Barramento de Mem ria para uma Arquitetura com M ltiplos Processadores Um dos produtos relacionados ao tema barramento e dispositivos de E S se refere ao desenvolvimento de um controlador para o barramento de dados de uma arquitetura mul tiprocessada implementado em FPGA utilizando a linguagem VHDL A arquitetura constitu da por quatro processadores cada um deles possui 32kB de mem ria de dados local e 4kB de mem ria de programas local O processador em quest o foi desenvolvido pelos alunos em um problema anterior Os quatro processadores compartilham 128kB de mem ria de dados 58 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado 2 4 3 2 Exemplo 2 Controle de Acesso a um Barramento O segundo problema apresentado sobre este tema se refere ao projeto de um rbitro de barramento utilizado por uma CPU para ter acesso a quatro dispositivos de E S A arqui tetura era composta por uma CPU uma mem ria e quatro dispositivos de E S conectados por meio de um barramento controlado por um rbitro de barramento com gerenciamento adaptativo de prioridades Cada dispositivo de E S transfe
340. roveitar a capacidade do processador pois criar threads uma atividade custosa A falta de exist ncia de sincroniza o de barreira para a classe thread mais uma dificuldade a ser superada na produ o de programas paralelos Quando h grande quantidade de processadores fatores como otimiza o de co munica o e localidade interferem na efici ncia ent o single VM deixam de ser atraentes e multi VM se tornam prefer veis Contudo multi VM ainda necessitam do desenvolvi mento de API s que gerenciem o mapeamento das threads na mem ria No momento API s tem sido adaptadas para realizar a comunica o entre VM s bem como bibliotecas de outras linguagens para comunica o entre processadores e extens es incluindo recur SOS NOVOS A Java RMI Java Remote Method Invocation 2 uma API que tem sido adap tada e que permite m todos remotos de chamada em objetos em diferentes MV s em uma rede al m de aplica es distribu das de objetos Java Tamb m constr i camadas que es condem os detalhes de comunica o ao n vel de chamada de m todos do desenvolvedor Essas caracter sticas da Java RMI garantem a solu o de problemas cliente servidor em que um servidor cria objetos que invocam m todos nesses objetos remotamente 6 Essa solu o n o til em aplica es de alto desempenho nas quais geralmente h comuni ca o entre processos que fazem uma c pia local dos dados para a realiza o dos c lculos nec
341. rte foi feito previamente e partes feitas sob demanda de forma a gerar um processo de melhorias continuas ao longo dos anos usando a ferramenta Al m disso nesse segundo ano foram indicadas duas aplica es CG e BT da carga de trabalho paralela NAS para que os alunos pudessem avaliar as arquiteturas ap resentadas Al m disso com a escolha de uma mesma carga de trabalho para todos os alunos efetuarem testes planeja se criar um esp rito competitivo a cada ano a fim de motivar os alunos a criarem propostas cada vez mais interessantes A seguir s o apresentados tr s novos trabalhos feitos pelos alunos no segundo ano em que o Simics foi adotado como ferramenta did tica na disciplina Um primeiro trabalho do segundo ano avaliou a diferen a de desempenho de ar quiteturas de tr s e quatro n veis de mem ria cache e prop s uma hierarquia entrela ada de mem ria O aluno verificou que nas situa es simuladas mais interessante adicionar um quarto n vel de mem ria cache e dividir o terceiro em dois m dulos do que simples mente aumentar o tamanho da mem ria cache L3 Notando que o comportamento se deve ao menor tempo de acesso e a menor conten o pelo acesso a L3 presente nas arquiteturas com mem ria cache L4 simuladas Em um segundo trabalho do segundo ano o aluno teve como objetivo avaliar a influ ncia de se adicionar um nodo gargalo em um sistema de processamento distribu do no caso o aluno criou uma pequena rede p
342. s Outros fatores que podem ter contribu do na distra o dos alunos foram a complexidade dos exerc cios aplicados e a ac stica da sala Alunos frisaram que o uso de exerc cios pontuais para fixa o de conte do seria mais eficientes e ajudaria a resolver parte do problema da distra o j que os eles n o demorariam muito tempo para resolv los Os seguintes coment rios deixam o problema mais claro 16 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado Acredito que o principal motivo da dispers o em sala de aula ap s o in cio da utiliza o do Tablet PC foi o tamanho da sala e a ac stica ruim para uma turma dividida em grupos que fatalmente v o discutir durante a aula A ac stica das salas do PB horrenda sem contar a qualidade dos assentos Um dos pontos que me tiravam a aten o da aula era ver o que pessoas na minha frente estavam fazendo no Tablet Apesar do problema com a distra o houve um comportamento muito interessante por parte dos alunos Os estudantes que acabavam os exerc cios mais rapidamente come aram a ajudar outros grupos a resolverem seu exerc cio fazendo com que a classe trabalhasse de forma mais unida O problema das mesas e cadeiras n o adequadas j era esperado sendo inclu da uma quest o no question rio sobre o conforto dos alunos em sala A falta de apoio adequada bem como o pouco espa o existente entre uma cadeira e outra pod
343. s rias esses requisitos Segue abaixo a descri o das tr s m quinas mais prop cias para suportar as simula es de multi core 90 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e Serengeti As classes de servidor Sun Fire 3800 6800 s o modeladas oferecendo suporte nativo para at 24 processadores UltraSparc II UltraSparc HI Cu T Ul traSparc IV ou UltraSparc IV Essa m quina ainda oferece diversos componentes PCI modelados por m suporta apenas sistemas operacionais Solaris oferecendo scripts para instala o do Solaris 8 9 e 10 e SunFire Modela servidores da classe Sun Enterprise 3500 6500 com suporte nativo para at 30 processadores UltraSparc II Os sistemas operacionais Linux e Solaris s o suportados por esta m quina que tamb m oferece scripts para instala o do Solaris 8 9 e 10 e x86 440BX Pode modelar v rios sistemas com processadores x86 ou AMD64 baseado no chipset Intel 440BX Suporta os sistemas operacionais Windows Linux e NetBSD A BIOS customizada oferece suporte para at 15 processadores por m importante ressaltar que diversas vers es de Linux s o limitadas a 8 proces sadores enquanto vers es de Windows oferecem suportes variados a processadores dependendo da vers o do sistema operacional Ap s efetuar testes na m quina x86 440BX foi verificado que n o h condi es de executar sistemas operacionais com mais de 8 n cleos de processamento seja
344. s adequado Uma vez gravados o instrutor pode disponibilizar esses screencasts de diversas formas sendo que a mais indicada coloc los junto aos slides anotados na p gina da Internet da disciplina Atualmente poss vel encontrar na literatura como proposto por Carryer 4 diversos usos para os screencasts indo de abordagens mais convencionais onde o v deo disponibilizado apenas como material extra de consulta a abordagens mais agressivas onde os cursos s o modificados de forma a terem uma metodologia de ensino h brida na qual os alunos devem assistir os v deos previamente s aulas sendo estas reservadas para a execu o de exerc cios ou trabalhos pr ticos Ambas abordagens t m se mostrado bem sucedidadas mas no caso deste trabalho a abordagem utilizada visa somente a gera o de material de consulta extra que pode ser utilizado pelo alunos para o esclarecimento de d vidas pontuais ou ainda consultado em caso de faltas A captura de v deos dependendo da resolu o utilizada da rea de tela capturada da qualidade de som e de alguns outros fatores pode precisar de um parcela significativa de poder de processamento do computador sendo recomendado ent o a utiliza o de Tablet PCs com uma boa quantidade de mem ria juntamente com um processador dual core um dos cores fica respons vel pela codifica o do v deo e o outro pelas fun es do software de apresenta o e um disco r pido 3 Metodologia
345. s bytecodes e dividem seus sistemas paralelos em ambientes single virtual machine single VM e multiple virtual machine multi VM Em ambientes single VM uma nica m quina virtual executa uma nica aplica o em v rias threads e em ambientes multi VM v rias m quinas virtuais executam aplica es diferentes em processadores diferentes ou n o que se comunicam umas com as outras Assim o single VM mais adequado para arquiteturas de hardware que possuem um nico espa o de endere amento single system image e o multi VM mais adequado a computadores MPP Massive Parallel Processing ou clusters Beowulf 6 Em ambientes single VM pode se utilizar o modelo de threads de Java como paradigmas de programa o paralela sem grandes modifica es necess rio apenas garantir n mero de threads suficientes para ocupar os processadores Em implemen ta es mais recentes de VM s as classes de threads s o implementadas de tal forma que o sistema operacional capaz de enxerg las e aloc las nos diferentes processadores facilitando o acontecimento do processamento paralelo Apesar destas facilidades para escrever programas paralelos com as threads em Java a forma de racioc nio que deve ser utilizada n o a mesma que se aplica nos casos de programas concorrentes ou sequenciais Deve se se manter o n mero de threads igual ao de processadores administrando a cria o e atividade espec fica a cada uma delas de forma a se ap
346. s disciplinas relacionadas com algoritmos e estruturas de dados e das disciplinas relacionadas com matem tica e 209 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado f sica Nestas atividades os professores devem mostrar aos alunos os impactos da arquitetura do computador no desempenho e na qualidade do software sendo executado Na atualidade deve se explorar as diversidades das arquiteturas paralelas dos processadores com m ltiplos n cleos Como exemplo desse tipo de atividades destacam se 1 Avalia o de desempenho de programas paralelos que realizam c lculos matem ticos simples como o c lculo de pi ou a manipula o de matrizes fornecidos pelo professor orientador da atividade codificados utilizando se a linguagem C e a API OpenMP Os programas devem ser executados em computadores que utilizam diferentes modelos de processadores com m ltiplos n cleos que possuem diferentes arquiteturas paralelas com diversos n meros de n cleos e de diferentes fabricantes Os alunos devem realizar an lises estat sticas dos resultados de desempenho utilizando medidas estat sticas como diferentes tipos de m dias vari ncia desvio padr o e coeficiente de varia o Posteriormente os alunos devem preparar tabelas e gr ficos para a apresenta o e a an lise dos resultados Finalmente os alunos devem preparar relat rios e at mesmo artigos nos formatos de artigos de eventos cient ficos como por exemplo d
347. s estudos de caso Por fim a Se o 3 8 trar as principais con clus es relacionadas s experi ncias obtidas 3 2 Arquiteturas de Processadores Multi Core e Many Core O estudo das atuais arquiteturas de processadores multi core dispon veis no mercado de grande import ncia para avaliar a dire o tra ada atualmente pelas ind strias de proces sadores Um dos pontos principais para o desempenho do processador nas arquiteturas multi core est na organiza o da mem ria cache As pesquisas em desenvolvimento e os processadores comerciais apontam diferen as na influ ncia do compartilhamento e dos n veis de mem rias cache escolhidas Nesta se o s o abordadas as principais caracter s ticas dos projetos de processadores com uma vis o evolutiva e dos problemas relacionados na escolha de uma caracter stica espec fica V rios projetos de arquiteturas de processadores v m adotando ao longo de d cadas diversas t cnicas tradicionais 3 4 5 2 1 como pipeline superescalaridade e multithreading para explorar o paralelismo de execu o das aplica es e assim melhorar o desempenho de computadores de prop sito geral Em um pipeline superescalar 4 al m do processamento de instru es ser divi dido em est gios feita uma completa sobreposi o das instru es utilizando para isso o aumento do n mero de unidades funcionais e t cnicas para solucionar falsas depend n cias entre as instru es dentre outr
348. s nas suas especialidades para posteriormente minimizar os impactos negativos sobre os alunos durante essas disciplinas Entretanto a es e atividades podem ser propostas pelos professores de arquitetura de computadores aos professores dessas disciplinas posteriores Na se o 7 5 algumas dessas atividades s o indicadas Na pr xima se o apresentada uma proposta de re defini o para o termo arquitetura de computadores que poderia produzir mais impactos positivos e menos impactos negativos no processo de educa o em arquitetura de computadores e de modo global no processo de educa o em computa o 204 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 4 Proposta de re defini o para o termo arquitetura de computadores Nesta se o apresenta se uma proposta de redefini o para o termo Arquitetura de Computador Entretanto em fun o das dificuldades e da complexidade dessa tarefa conclui se que esta redefini o deve ser um processo coletivo cooperativo e colaborativo envolvendo inicialmente os representantes das comunidades acad mica cient fica e industrial que atuam no contexto da arquitetura de computadores e posteriormente os representantes das comunidades acad mica cient fica e industrial que atuam no contexto mais amplo da computa o Este grande desafio deve ser realizado por um grupo de professores e pesquisadores que trabalhar o continuamente e ter o encon
349. s os atrasos referentes mem ria al m disso esse modo n o fornece estat sticas de mem ria cache confi veis uma vez que nem todos os acessos s o registrados Este modo bastante indicado para a prepara o do ambiente de simula o como por exemplo instala o de compiladores compila o e testes preliminares do am biente de simula o Al m da prepara o do ambiente este modo tamb m pode ser utilizado para simula es onde se requer menor tempo de simula o e n o necess rio considerar as lat ncias de mem ria como para retirar tra os de exe cu o 92 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado e O modo Stall stall um modo de simula o mais lento que o modo normal uma vez que este modo considera o sistema de mem ria modelado e tamb m faz o reg istro de todas as opera es ocorridas nas mem rias caches Este modo indicado para ser utilizado apenas depois que o ambiente de simula o e a m quina a ser simulada estejam totalmente configurados e prontos para os testes e O modo MAI mai conhecido tamb m como modo micro arquitetura capaz de prover simula o com execu o de instru es fora de ordem 000 Embora este modo seja bastante atraente ele n o costuma ser muito utilizado devido ao enorme tempo de simula o exigido Logo este modo mais indicado para simula es de curtos trechos de execu o onde se quer analisar o comportamento de ap
350. s para localidade de dados s o extremamente dif ceis de implementar 6 4 9 6 Modelos com Tudo Expl cito S ntese Java uma linguagem port vel e que s necessita de uma Java Virtual Machine apropri ada Seus modelos de threads que se comunicam e sincronizam s o adequados ao para lelismo mas ainda s o necess rios desenvolvimentos ou adapta es de recursos como a comunica o sincroniza o e distribui o de processos que s o complexos e podem levar ainda algum tempo Ada PI Orca SR e Java s o linguagens que permitem a cria o din mica de processos e comunica o Diferentemente Occam fixa a estrutura dos processos que se 133 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado comunicam por canais ass ncronos Para tanto s o utilizadas as primitivas assignment input e output 24 que podem ser combinadas com construtores paralelos inclusive n o determin sticos Sua aplica o fica restrita a aplica es cr ticas ou pequenas por causa de seu baixo n vel 4 10 Mais Modelos Os modelos e linguagens descritos e estudados nesta se o n o foram inclu dos na classifi ca o acima apesar de serem igualmente importantes aos m todos apresentados at aqui Estes modelos possuem caracter sticas que merecem destaque ou porque correspondem a padr es superiores para a paraleliza o mesmo sendo apenas te ricas e n o t o modernas como o caso de PRAM ou porque no
351. s reclama es se deveu ao fato do servidor de v deos n o estar dispon vel em alguns momentos Os v deos foram colocados numa m quina localizada na sala do docente junto com o site 22 Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado da disciplina Eventualmente problemas como queda de rede no Instituto de Computa o ou desligamentos de energia para reparos na rede el trica do campus da Unicamp foram os principais respons veis por esse problema Apenas um aluno reclamou que uma m quina do laborat rio de inform tica do instituto estava sem o software necess rio para visualiza o dos v deos Teve Problemas ao Visualizar V deos 90 00 80 00 70 00 60 00 50 00 40 00 30 00 20 00 10 00 0 00 79 63 20 37 N o Sim Figura 15 Percentagem de alunos que tiveram problemas na visualiza o dos v deos Alguns coment rios que ilustram os problemas enfrentados pelos alunos Em alguns momentos os v deos n o abriam mas eram raros Alguns n o carregavam Conex o lenta atrapalha Seria interessante poder baixar Como os v deos aqui referidos s o uma reprodu o da tela projetada pelo instrutor sincronizada com seu udio foi perguntado aos alunos se a qualidade dos v deos era boa o suficiente para ser assistida posteriormente A figura 16 mostra que nenhum aluno achou os v deos ruins ou muito ruins com praticamente t
352. serai apolinario angeloduarte tiagoooli ecomp uefs br Endereco Departamento de Tecnologia Universidade Estadual de Feira de Santana Avenida Transnordestina s n Novo Horizonte Feira de Santana BA CEP 440360 900 tel 75 3224 8056 Resumo Esse capitulo tem por objetivo apresentar a experi ncia do grupo de professores do curso de Engenharia de Computa o da Universidade Estadual de Feira de Santana no uso da metodologia Problem Based Learning PBL no ensino das disciplinas relacionadas a rea de Arquitetura de Computadores Ap s uma breve contextualiza o da metodologia PBL discutiremos a forma como esta vem sendo aplicada dentro do curso de Engenharia de Computa o A partir de quatro estudos de casos analisaremos os resultados do uso de PBL no ensino das disciplinas vinculadas rea de Arquitetura de Computadores indicando seus principais ganhos diante das metodologias de ensino tradicionais 2 1 Introdu o A ado o de uma abordagem de ensino utilizando a metodologia de aprendizagem base ada em problemas comumente chamada de PBL no curso de Engenharia da Computa o da UEFS foi motivada na poca pelas discuss es promovidas por minist rios e associ a es ligadas educa o e relacionadas ao perfil profissional de um engenheiro e a sua inser o na sociedade Bittencourt amp Figueiredo 2003 Bittencourt et al 2002 Desta Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendi
353. smo em c digos sequenciais a paraleliza o de la os Como a forma mais comum de se explorar o paralelismo em Java com threads ao n vel de m todo para a execu o de um la o em paralelo necess rio criar um m todo com o la o calcular liga es de la o para cada thread e passar uma inst ncia da classe do m todo para o administrador de tarefas para execu o em cada thread o que tamb m ocorre com c digos em C ou Fortran com a biblioteca de threads POSIX Esse processo muito trabalhoso mas algumas partes podem ser automatizadas usando diretivas de compilador Antigamente havia complica es pelo fato de que estas diretivas eram espec ficas de cada fabricante por m esfor os t m sido feitos em rela o cria o de padr es 4 9 5 Paraleliza o autom tica Uma abordagem diferente para o paralelismo vem sendo abordada com a biblioteca de threads em arquiteturas de shared memory na qual se tenta atingir o processamento de c digos sequenciais para paraleliza o autom tica pelo compilador A paraleliza o do c digo envolve an lise de depend ncia de dados e condi es de concorr ncia que difi cultam o procedimento mesmo considerando apenas la os S o necess rias estrat gias de transforma o de la os de la os de corpos extensos e com chamadas de procedimento Al m disso transforma es aplicadas a la os s o essencialmente locais para cada la o visto que a estrat gia para otimiza es globai
354. so de Engenharia de Com puta o pois o estudo integrado de Sistemas Digitais ocorre no segundo semestre do primeiro ano de universidade e por isso os alunos ainda n o possuem uma base muito s lida seja na rea de hardware seja na rea de software e estrutura de dados para a realiza o de projetos deste n vel No entanto a principal barreira com rela o aos t picos de arquiteturas superescalares VLIW e sistemas multiprocessados est relacionada ao pouco tempo que os alunos disp em para a execu o dos projetos Projetos que envol vam a implementa o em hardware de uma estrutura de dados relativamente complexa para a realiza o da aloca o din mica previs o de desvios e execu o especulativa seja atrav s de registradores l gicos f sicos seja atrav s do buffer de reordenamento passa a ser um obst culo que tomaria um tempo muito grande dos alunos o que impossibilitaria a aplica o de outros problemas e reduziria o grau de cobertura dos t picos do componente PBL Vale ressaltar que o conjunto de problemas aplicados no componente curricular PBL tem por objetivo principal introduzir estruturar e aprofundar os conte dos visto na teoria nos componentes curriculares Arquitetura de Computadores e Arquitetura de Computadores Avan ada 45 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado 2 3 2 Elabora o de Problemas Projetos Um dos aspectos mais importantes para o s
355. ssas partes ser o mapeadas entre os processadores ou ir o se comunicar e sincronizar 4 5 1 Dataflows No modelo Dataflow tudo o que h para ser computado representado como opera es geralmente pequenas e que possuem entradas e resultados expl citos A depend ncia entre os dados do programa determina a ordem de execu o dessas opera es Opera es que n o possuem depend ncias s o computadas concorrentemente As opera es de um programa s o conectadas por caminhos que expressam as 118 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado depend ncias de dados pelos quais os dados fluem da o nome do modelo O compilador pode dividir o grafo que representa essa computa o de qualquer forma Al m disso as opera es s o executadas em uma ordem que depende apenas dos processadores que est o livres em um dado momento j que a depend ncia j est descrita pelos caminhos do grafo Por isso a decomposi o tem pouco efeito sobre o desempenho e pode ser feita automaticamente At mapeamentos aleat rios de opera es em processadores rodam bem na maioria dos sistemas de Dataflow Linguagens de Dataflow s o abstratas e simples por m n o possuem uma me todologia natural de desenvolvimento de software Essas linguagens podem garantir de sempenho de fato a linguagem Sisal compete em efici ncia com Fortran em arquiteturas com mem ria compartilhada No entanto o desempenho em
356. stabiliza o de tais blocos Foi comum a ado o de um sinal de sincronismo de per odo emp rico o qual muitas vezes gerou falhas devido etapa de place amp route a qual geralmente altera a disposi o dos elementos no dispositivo FPGA e consequentemente os tempos de propaga o de sinais A falta de dom nio das ferramentas de an lise temporal existentes no ambiente utilizado prejudicou os alunos em suas decis es Otimiza o do programa de controle Nos problemas dos exemplos 1 e 2 foi facultado aos alunos a escolha da forma de implementa o da UC hardwired projeto base ado na representa o estrutural em n vel de portas l gicas ou microprogramada projeto baseado na representa o comportamental em n vel RTL Devido maior facilidade de projeto os alunos optaram pela microprograma o Al m da quest o de determinar quais sinais de controle a UC ativava simultaneamente definindo a chamada palavra de controle uma das dificuldades recorrentes foi a otimiza o do programa de controle isto a diminui o do tamanho do microprograma Isto de correu do baixo ou inexistente reuso de c digo Exemplo de erro deste tipo foi a gera o de trechos repetidos de microprograma para uma instru o MOV Ri Rj para todas as combina es poss veis de registradores tal desperd cio de espa o de armazenamento poderia ter sido evitado atrav s da ado o de um nico trecho de microprograma com o apoio de um circ
357. stas na mesma ordem por todos os pro cessadores Mesmo que o modelo ideal seja que ap s um processador gravar um dado na mem ria esse seja atualizado instantaneamente em todas as suas c pias esse modelo talvez seja imposs vel de ser implementado A no o de quando um dado gravado ser vis vel para leituras tratada pela consist ncia da mem ria Assim podemos notar que a no o de coer ncia e consist ncia s o complementares pois enquanto a coer ncia define o comportamento de leituras e grava es em uma mesma posi o a consist ncia define o comportamento de leituras e grava es em rela o a aces sos a outras posi es de mem ria 3 3 2 Protocolos de Coer ncia Em um multiprocessador coerente as mem rias cache fornecem tanto a migra o quanto a replica o de dados compartilhados Dessa forma mesmo que existam diversos pro cessadores trabalhando sobre os mesmos dados cada processador dever agir sem se preocupar com a exist ncia de outras c pias dos mesmos dados em outros processadores As mem rias cache coerentes proporcionam migra o pois qualquer dado pode ser movido para a cache e operado de forma transparente Essas mem rias cache tamb m proporcionam replica o pois diversas mem rias cache podem conter c pias de um dado referentes ao mesmo endere o Dessa forma importante ressaltar que de acordo com 20 o problema de coer ncia de dados apresenta se apenas em arquiteturas mult
358. sui um ambiente 157 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado para simula es r pidas desenvolvendo e testando funcionalidade de software em hardware 5 3 1 6 Projeto de Sistemas Reconfigur veis Disciplina PSI5003 Projeto de Sistemas Reconfigur veis rea de Concentra o 3142 Cria o 07 10 2004 Ativa o 07 10 2004 Desativa o Nr de Cr ditos 8 Carga Hor ria Te rica Pr tica Estudos Dura o Total 12 semanas 120 horas Docentes Respons veis Sergio Takeo Kofuji Edson Lemos Horta 158 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Conte do Dispositivos L gicos Program veis EPLDs CPLDs FPGAs reconfigura o em tempo de compila o reconfigura o em tempo de execu o reconfigura o parcial em tempo de execu o metodologia de projeto de sistemas parcialmente reconfigur veis ferramentas de projeto linguagens de descri o de hardware VHDL e Verilog simula o de sistemas reconfigur veis estudo de casos de sistemas parcialmente reconfigur veis projeto de um sistema parcialmente reconfigur vel Bibliografia HDL Chip Design A Practical Guide for Designg Synthesizing and Simulating ASICs and FPGAs Using VHDL or Verilog Douglas J Smith Foreword by Alex Zamfirescu Doone Publications Mar o 1998 Writing Testbenches Functional Verification of HDL Models Janick Bergeron Kluwer
359. tadores eletr nicos digitais pelas suas import ncias hist ricas foram selecionados e analisados o Electronic Numerical Integrator and Computer ENIAC Electronic Discrete Variable Automatic Computer EDVAC Electronic Delay Storage Automatic Calculator EDSAC Universal Automatic Computer I UNIVAC I No contexto do ENIAC primeiro computador eletr nico digital de prop sito geral foram analisados os documentos A Report on the ENIAC Goldstine 1946 The Electronic Numerical Integrator and Computer ENIAC Goldstine 1946 Electronic Computing Circuits of the ENIAC Burks 1947 The ENIAC Brainerd 1948 e The ENIAC The First General Purpose Electronic Computer Burks 1981 No contexto do EDVAC primeiro computador eletr nico digital com programa armazenado foram analisados os documentos First Draft of a Report on the EDVAC Von Neumann 1945 e The Origins Uses and Fate of the EDVAC Williams 1993 e The Computer as von Neumann Planned It Godfrey 1993 No contexto do EDSAC segundo computador eletr nico digital com programa armazenado foram analisados os documentos The EDSAC Computer Wilkes 1951 e Early computer developments at Cambridge The EDSAC Wilkes 1975 No contexto do UNIVAC primeiro computador eletr nico digital produzido comercialmente nos Estados Unidos foram analisados os documentos The UNIVAC System Eckert 1951 e From ENIAC to UNIVAC An appraisal of
360. tados para essas atividades Os exerc cios entretanto devem ser mesclados os mais curtos e numerosos para fixa o do conte do e os mais longos e em menor quantidade para a explora o de conceitos mais elaborados Outro ponto validado nos resultados a necessidade de pelo menos 1 Tablet PC para cada dois alunos no caso de uma aula ativa e colaborativa Numa turma de 80 alunos isso requereria pelo menos 40 Tablets que podem ter um custo proibitivo para muitas institui es de ensino Um n mero menor de Tablet PCs pode levar a um n vel alto de distra o fazendo com que parte dos benef cios trazidos por uma aula ativa e colaborativa sejam perdidos Em rela o nova maneira de apresenta o e uso dos screencasts podemos concluir que s o modifica es extremamente bem sucedidas ainda mais pelo fato de sua facilidade de implanta o Nesse caso ao contr rio das aulas ativas e colaborativas basta apenas um Tablet PC e software adequado sendo o curso ministrado praticamente sem altera es As altera es necess rias se devem ao fato do instrutor ter o recurso de utilizar a tinta digital sobre as transpar ncias eliminando assim a necessidade de ir lousa para mostrar dedu es ou ter de dividi las em v rias transpar ncias Os v deos provocaram uma boa audi ncia e n o tiveram o efeito colateral de espantar os alunos das aulas pelo contr rio Em compara o com semestres anteriores a taxa de reprova o p
361. taformas ISA s testar benchmarks e experimentos modificar caracter sticas no hardware atrav s do acesso de m ltiplas camadas de abstra o e finalmente analisar como os mecanismos arquiteturais trabalham na pr tica com um software real Utilizamos o Simics para uma an lise do programa pesquisas em arquitetura de computadores e debugg do Kernel Scott Beamer 2009 A presente pesquisa est restrita em modifica es nas caracter sticas arquiteturais do processador SPARC e no processador CELL 5 3 1 4 IBM full System Simulator for Cell Broadband Engine utilizado na disciplina de Arquitetura Avan adas de Computadores I O prop sito do uso do IBM full System Simulator for Cell Broadband Engine possibilitar que os desenvolvedores de aplica o tenham contato com a nova tecnologia sem a necessidade de se ter o hardware real dispon vel auxiliando at em uma simula o pr via e tornando as aplica es mais eficientes quando forem executadas em uma m quina real seja em uma IBM Blade Cell Sony PS3 ou Toshiba Cell Para o laborat rio pr tico tem como objetivos iniciar o simulador no modo texto e no modo gr fico como utiliz lo para rodar o Linux sobre o processador Cell BE no ambiente do simulador como utilizar a funcionalidade de profile do simulador para obter dados sobre o desempenho da execu o de uma determinada aplica o Outro enfoque que ser dado no laborat rio com uso do Simulador Cell o Ope
362. tegra o interdisciplinar e a vis o dos autores sobre interdisciplinaridade em Computa o Cada uma das disciplinas envolvidas descrita em uma subse o a saber i Algoritmos e Programa o ii Computa o B sica iii Circuitos Digitais iv Arquitetura e Organiza o de Computadores e v Compiladores discutindo as formas como a arquitetura do BIP foi aplicada para apoiar o aprendizado e a consolida o de conceitos nessas disciplinas Concluindo a se o de considera es finais resgata os principais pontos da proposta e discute as dire es futuras da pesquisa realizada 6 2 Fam lia de Processadores BIP A escolha de modelos de processadores para o ensino de conceitos de arquitetura e organiza o de computadores alvo de estudos frequentes pelos educadores da rea como por exemplo no trabalho apresentado por Clements 1999 que discute aspectos que devem ser levados em considera o na escolha de modelos de processadores a serem aplicados no ensino de gradua o Enquanto alguns autores e professores optam por utilizar modelos hipot ticos de processadores outros adotam processadores reais e comerciais como refer ncia para estudos de caso Para as fases iniciais de um curso de gradua o a sele o de processadores para o ensino concorrente da l gica de programa o e de conceitos de arquitetura de computadores deve facilitar o estabelecimento de rela es entre as abstra es l gicas necess rias
363. temente nas formas escrita oral e gr fica e IX atuar em equipes multidisciplinares e e XIII assumir a postura de permanente busca de atualiza o profissional No entanto nos cursos mais convencionais as compet ncias mencionadas acima n o costumam ocorrer de forma satisfat ria visto que segundo a pr pria ABENGE os cursos tradicionais s o baseados em conhecimento com enfoque no conte do e centrado no professor dos Santos et al 2007 Diante deste cen rio a decis o dos fundadores do curso de Engenharia da Com puta o da UEFS de adotar o m todo PBL ocorreu durante a elabora o do projeto cur ricular Neste projeto curricular o m todo PBL foi considerado como uma das poss veis metodologias a serem utilizadas na tentativa de refor ar a intera o entre teoria e pr tica a qual poderia ser alcan ada por meio de um ciclo denominado situa o fundamenta o realiza o Bittencourt et al 2002 dos Santos et al 2007 Na fase inicial deste ciclo etapa de situa o apresenta se ao aluno um problema ou projeto normalmente do mundo real procurando mant lo em contato com fen me nos e objetos que o motive a adquirir novos conhecimentos t cnicos para a resolu o do problema proposto Na segunda etapa ocorre a fundamenta o em termos da aquisi o de conceitos te ricos necess rios resolu o dos problemas previamente identificados na etapa de situa o Diferentemente do ci
364. teratura para o termo Arquitetura de Computador que utilizem diretamente esses ltimos tr s termos relacionados Deste modo analisando se as diversas defini es do termo utilizadas na atualidade e as poss veis respostas para as perguntas anteriores conclui se que uma nova defini o do termo computer architecture mais atualizada e abrangente poderia produzir impactos positivos de modo particular na educa o em arquitetura de computadores e de modo geral na pr pria rea da arquitetura de computadores O objeto denominado computador ou sistema de computa o tem evolu do muito ao longo dos anos e as suas poss veis arquiteturas tamb m tem evolu do muito Na atualidade com o dom nio dos computadores com arquiteturas paralelas observa se um aumento na diversidade e na heterogeneidade das arquiteturas dos sistemas de computa o 7 2 4 O futuro do termo Arquitetura de Computador Em rela o ao futuro do termo deve se considerar o futuro da computa o com um todo principalmente os diferentes modelos de computa o inclusive os h bridos e n o convencionais o futuro dos computadores principalmente em rela o s diferentes arquiteturas de computadores e s diferentes tecnologias de implementa o de sistemas 199 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado de computa o Neste contexto futuro deve se considerar os computadores de prop sito geral e os computadores de
365. tiplos n cleos de processamento Algumas das quest es que ganharam mais for a nesse novo modelo de mem ria foram o controle de coer n cia entre mem rias cache estrutura de interconex o portas de entrada e sa da para as mem rias entre outras 3 3 1 Coer ncia e Consist ncia da Mem ria Cache Ao tratar de coer ncia de dados em mem rias cache estamos envolvendo dois aspectos importantes O primeiro diz respeito coer ncia que define quais valores devem ser retornados durante a leitura O segundo aspecto a consist ncia que determina quando um valor gravado ser retornado por uma leitura Assim de acordo com 3 um sistema de mem ria considerado consistente se e A ordem do programa for preservada Uma leitura pelo processador P em uma posi o X ap s uma grava o por P em X sem a ocorr ncia de grava es em X por outro processador entre a grava o e leitura por P sempre retorna o valor gravado por Pj e Existe uma vis o coerente da mem ria Uma dada leitura da posi o X pelo proces sador P ap s uma grava o em X por P retorna o valor gravado por P se a leitura e a grava o estiverem bastante separadas no tempo e n o ocorrer nenhuma outra grava o em X entre os dois acessos e Grava es na mesma posi o s o serializadas Duas grava es na mesma posi o 81 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado por dois processadores quaisquer ser o vi
366. to Todo esse processo requer mais tempo e implica conhecimentos conceituais e procedimentais mais dif ceis de serem desenvolvidos de forma aut noma em um tempo compat vel com o per odo de forma o dos alunos No estudo integrado de Sistemas Digitais da UEFS a qual engloba os conte dos de Arquitetura de Computadores emprega se o modelo PBL conhecido na literatura como modelo PBL parcial Ribeiro 2008a como mostrado na figura 2 1 Neste modelo o curr culo tem v rios componentes convencionais e um componente curricular no qual problemas projetos s o trabalhados por grupos de alunos sob supervis o de tutores Neste caso um conjunto de problemas utilizado para introduzir estruturar e aprofundar os conte dos deste componente Os conte dos dos demais componentes A B Ce D s o trabalhados separadamente empregando se metodologias convencionais e desvinculados dos problemas apresentados no componente PBL A principal limita o deste modelo est na probabilidade de que os v rios componentes possam competir em rela o aten o e aos esfor os dos alunos especialmente em raz o de seus diferentes ritmos de ensino e sistem ticas de avalia o de desempenho Componente A Componente Componente PBL B Componente C Componente D Figura 2 1 Modelo PBL parcial No estudo integrado de Sistemas Digitais da UEFS o modelo parcial foi adaptado como mostrado na figura 2 2 Neste caso existem dois comp
367. tonio TX 2009 Kock N Aiken R Dalton D Elesh D Ranare A Sandas C Team Teaching an Advantage Computer Fluency Course A composite perspective Proceedings of Informations Science 0377 0383 IS 2003 Masetto Marcos Tarciso Compet ncia Pedag gica do Professor Universit rio Cap 6 O docente do ensino superior e o curr culo do seu curso pp 67 a 69 Summus Editorial 2003 163 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Portal CellBR Portal do Centro de Compet ncia CELL lt www pad Isi usp br cell gt OpenSPARC Workshop I Workshop em Arquiteturas OpenSPARC lt www pad Isi usp br workshop gt OSUM OpenSPARC Brazil 2008 OpenSource University Meetup OpenSPARC Brazil Group lt http osum sun com group opensparcbrazil gt Loui M C 1988 The case for Assembly Language IEEE Trans Education 31 3 160 164 Fishwick P 2000 Modeling the world IEEE Potentials March 6 10 Simeonovy S Scheinder M 1995 MISM An improved microcode simulator ACM SIGCSE Bull 27 2 13 17 Yehezkel C Yurcik W Pearson M Armstrong D 2002 Three simulator tools for teaching computer architecture Little Man computer and RTLSim ACM Journal on Educational Resources in Computing JERIC Vol 1 Issue 4 60 80 Virtutech The Virtutech Simics Home Page lt http www virtutech com gt IBM Simulator The IBM full System Simulator for Cel
368. tos computadores Por si s MPI n o uma biblioteca mas a especifica o de como deve ser uma biblioteca para este tipo de comu nica o Este padr o foi criado entre os anos de 1992 e 1994 e baseado em conven es da MPI Forum que possui mais de 40 organiza es participantes entre fornecedores pesquisadores desenvolvedores e usu rios 13 O objetivo do MPI estabelecer um padr o para programas com passagem de mensagens que seja port vel eficiente flex vel MPI n o um padr o IEEE ou ISO mas corresponde a um padr o industrial para o desenvolvimento de programas em HPC High Performance Computing A maioria das implementa es de MPI consistem de um conjunto de rotinas dis pon veis principalmente para C C ou Fortran As implementa es mais conhecidas s o MPICH LAM MPI e mais recentemente OpenMPI todas gratuitas e com c digo aberto 10 Uma aplica o implementada com MPI constitu da por processos que se co municam e que acionam fun es para o envio e recebimento de mensagens entre eles 9 10 11 12 www mpi forum org www mcs anl gov research projects mpich2 www lam mpi org www open mpi org 137 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado Geralmente um n mero fixo de processos criado inicialmente Cada um desses pro cessos podem executar diferentes programas Por isso o padr o MPI algumas vezes referido como MPMD Multip
369. tre interconex es s o 20 e Escalabilidade uma caracter stica desej vel em toda interconex o Diz respeito a adaptabilidade da interconex o ao aumento da quantidade de dispositivos e tam b m de carga total de trabalho Assim um sistema escal vel ser de f cil expans o mantendo as caracter sticas principais inalteradas e Desempenho O desempenho desej vel de uma interconex o que essa consiga manipular e dar vaz o a todos os dados em tempo h bil Assim o desempenho indica a capacidade e a velocidade da transfer ncia de dados pela interconex o e Custo O custo de uma interconex o costuma variar proporcionalmente em fun o do n mero de dispositivos interconectados e a capacidade de vaz o e lat ncia Em alguns casos o custo de uma interconex o pode se referir rea ocupada pelo projeto ou pela pot ncia consumida e Confiabilidade Pode ser tratada como a probabilidade da interconex o atender de forma adequada aos dispositivos comunicantes Assim a exist ncia de cam inhos alternativos ou redundantes entre dispositivos aumenta a confiabilidade da interconex o e Funcionalidade Diz respeito s funcionalidades espec ficas da interconex o agre gadas transfer ncia de dados Assim uma interconex o pode implementar outros servi os como buffers de entrada e ou sa da garantia de ordena o na transfer ncia ou at mesmo roteamento autom tico e Reusabilidade Trata da capac
370. trodu o ao OpenSPARC T1 Tutorial ASPLOS XII Innovating with OpenSPARC Microarquitetura do OpenSPARC T1 3 T picos de Pesquisas em OpenSPARC T picos de Pesquisa em OpenSPARC OpenSPARC An Open Platform for Hardware Reliability Experimentation SELSE 2008 Implementa o do FPGA em OpenSPARC Multicore Expo Tokyo 2007 4 Projeto de Chip OpenSPARC Requisitos do Sistema e Ferramentas EDA Como customizar e usar o OpenSPARC OpenSPARC Internals Hands on 1 Execu o dos pacotes test bench environments Chip 1 Chip8 Hands on 2 Rodar a primeira s ntese 5 S ntese do Projeto no OpenSPARC Sintetizando o projeto OpenSPARC usando a biblioteca com tecnologia Synopsys 90nm Sintetizando o projeto OpenSPARC usando a biblioteca aberta Nangate 45nm 6 Conceitos importantes da Microarquitetura Introdu o Integra o SoC System on Chip Visao Geral do CPU cache crossbar CCX Coer ncia de mem ria L2 cache e Ordenamento de instru o Controlador DRAM PCle 7 Configura o do Ambiente de Simula o Simula o e Emula o do Ambiente 8 Verifica o do Projeto OpenSPARC 160 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Ementa Introdu o Chip Multithreading Introdu o ao OpenSPARC T1 T picos de Pesquisas em OpenSPARC Projeto de Chip OpenSPARC S ntese do Projeto no OpenSPARC Conceitos importantes na Microarquitetura Configura o do Ambiente de Simula o
371. tros nas edi es do Workshop sobre Educa o em Arquitetura de Computadores WEAC e estar o publicando os resultados iniciais no International Journal of Computer Architecture Education IJCAE Deste modo est se o tem o prop sito de iniciar uma discuss o sobre a import ncia a relev ncia e a necessidade da redefini o do termo Arquitetura de Computador Neste processo deve se inicialmente avaliar e analisar os principais impactos positivos e negativos que uma redefini o poderia produzir especificamente na educa o em arquitetura de computadores e de modo geral e global na educa o em computa o 7 4 1 O termo Arquitetura O processo de redefini o do termo Arquitetura de Computador um grande desafio tanto no contexto da sua pr pria rea do conhecimento quanto na grande rea da computa o Este processo deve ser iniciado com um amplo estudo e an lise da origem e do significado original do termo arquitetura e tamb m dos principais termos relacionados como arquiteto descri o arquitetural documenta o arquitetural estilo arquitetural projeto arquitet nico e outros Posteriormente deve se analisar a evolu o e a diversifica o do significado do termo arquitetura ao longo do tempo ao ser utilizado em diversas reas do conhecimento diferentes da sua rea de origem Neste contexto uma das utiliza es mais destacadas foi justamente na rea de computa o considerando se
372. tudo e ao aprendizado dos t picos relacionados com a arquitetura de computadores Nesse contexto geral da educa o em computa o existem in meras evid ncias que esses problemas s o pelo menos em parte causados pelas defini es e pelos significados mais difundidos do termo arquitetura de computador e por suas influ ncias nos t picos que s o ensinados e aprendidos nas disciplinas diretamente relacionadas com a arquitetura de computadores e tamb m por suas influ ncias nos aspectos metodol gicos utilizados nos processos de ensino e aprendizagem de arquitetura de computadores Deste modo os problemas motivadores da proposta e da escrita deste cap tulo s o os efeitos e os impactos negativos na educa o em computa o de modo geral e especialmente na educa o em arquitetura de computadores causados pelas defini es e pelos significados do termo arquitetura de computador que s o utilizados e considerados A principal consequ ncia pr tica desses problemas motivadores a forma o de egressos dos cursos da rea de computa o com conhecimentos insuficientes e em alguns casos at deficientes nos t picos relacionados com a arquitetura de computadores Isso produz uma falta de recursos humanos especializados na rea de arquitetura de computadores observada no Brasil principalmente nas atividades de doc ncia e de pesquisa E de modo mais impactante a forma o de profissionais egressos dos diversos cursos da r
373. tware Interface 3rd Edition Elsevier 2004 ASONOVIC Krste et al The Landscape of Parallel Computing Research A View from Berkeley Relat rio T cnico No UCB EECS 2006 183 2006 Dispon vel em http www eecs berkeley edu Pubs TechR pts 2006 EECS 2006 183 pdf O objetivo geral da presente proposta de disciplina de p s gradua o em Arquiteturas Avan adas de Computadores apresentar um curr culo complexo que aborda desde uma revis o dos conceitos de Arquitetura de Computadores at uma vis o do sistema de mem ria e o pipeline de processadores avan ados atrav s de simuladores sistemas de hierarquia de mem ria pipeline complexo taxonomia de arquiteturas paralelas arquiteturas multithread arquiteturas multicore Como arquiteturas de referncia ser o adotados o OpenSparc T1 e T2 multicore homog neo como suporte a multi thread simult neo SMT CELL BE multicore heterog neo GPUs manycore e FPGAs Aceleradores de Aplica es 154 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado Introduziremos as disciplinas Arquiteturas Avan adas de Computadores e Projeto de Sistemas Reconfigur veis como pr requisitos para realizar nosso elenco de disciplinas propostas A revis o citada no primeiro t pico do conte do trata abordagens apresentadas em um curso introdut rio de arquitetura de computadores segundo Loui 1988 Fishwick 2000 Simeonov 1995 Yehezkel 2002 A disciplina de Arquiteturas Av
374. u desenvolvimento e criando oportunidades para a aplica o pr tica dos conhecimentos Komatsu et al 1998 N o suficiente apenas aprender quest es t cnicas para passar em testes e avali a es mas as t cnicas necess rias para enfrentar situa es reais O m todo PBL procura enfatizar as conex es entre diferentes aspectos do mundo profissional em que o estu dante atuar estimulando uma vis o abrangente dos problemas para ilustrar as restri es quanto aos aspectos t cnicos tecnol gicos humanos e sociais da solu o de problemas do mundo real 2 2 3 Metodologia A Aprendizagem Baseada em Problema um m todo de aprendizagem no qual o pro blema comanda o processo de aprendizagem Em outras palavras o problema precede o conhecimento do estudante O problema posto de forma que o estudante descubra que ele precisa aprender algum conhecimento antes que eles possam solucionar o problema Aprender dentro de um contexto onde h um problema a resolver tende a motivar os estudantes e tamb m promove o armazenamento do conhecimento em padr es de mem ria que facilitam sua recupera o posterior para a solu o de novos problemas Groh amp Duch 2001 Ambientes PBL geralmente incluem projetos de pesquisa casos cl nicos bem como problemas de projetos em engenharia que s o mais que uma simples s ntese de co nhecimentos previamente aprendidos Essa abordagem demanda mudan as nos m todos de ensino particularmente
375. ucesso da metodologia PBL est relacionado elabora o de problemas projetos Podemos destacar cinco caracter sticas relevantes para a defini o de um bom problema Santos et al 2008a Angelo amp Santos 2009 e Um problema deve motivar os estudantes Inserir elementos pr ximos da realidade dos estudantes uma estrat gia usada para tornar os problemas mais atraentes e motivar os estudantes na busca de solu es e Os problemas devem levar os estudantes a tomar decis es ou realizar julgamentos baseados em fatos informa es e ou argumenta es l gicas Os problemas devem conduzir os estudantes para a constru o dos argumentos e busca de informa es Isso n o quer dizer que todas as informa es do problema devem ser relevantes para sua solu o Al m disso alguns problemas podem ser projetados para fornecer informa es em diferentes etapas durante a sua solu o e Os problemas devem ser complexos o bastante para que seja necess ria a coope ra o de todos os membros em sua solu o A complexidade deve ser pensada de forma que seja poss vel adotar a estrat gia de dividir para conquistar ou seja separar o problema em partes mais simples para simplificar sua solu o e As quest es iniciais dos problemas devem ser abertas baseadas em conhecimentos pr vios e ou controversas de forma a proporcionar discuss o entre os alunos Este aspecto desperta o sentimento de grupo entre os estudantes e Os o
376. ue ela pode ser alterada por um m todo que est executando em uma thread e observada por um m todo que est executando em outra thread Alguns exemplos de linguagens baseadas em modelos de Orienta o a objetos Externa s o ABCL 1 ABCL R EPL Emerald Concurrent Smalltalk 24 Nessas lin guagens o paralelismo baseado na especifica o de uma thread a cada objeto e no uso de mensagens ass ncronas para reduzir bloqueios ABCL 1 a vers o orientada a objetos do modelo Actors onde objetos indepen dentes podem executar em paralelo Seus princ pios s o praticidade e sem ntica clara de passagem de mensagem S o definidos tr s tipos de passagem de mensagem pas sado presente e futuro Apenas o modo presente opera sincronamente os outros dois modos s o ass ncronos Pra cada um dos tr s mecanismos de passagem de mensagem ABCL 1 proporciona dois modos distintos normal e expresso que corresponde a duas filas de mensagens diferentes que s o processadas serialmente dentre de um objeto Al m disso o paralelismo entre objetos limitado porque em um mesmo objeto pode chegar no m ximo apenas uma mensagem ABCL R uma extens o do ABCL 1 mas que n o vamos abordar neste cap tulo A segunda maneira chamada de Orienta o a objetos Interna encapsula o parale lismo dentro dos m todos de um objeto mas o n vel mais alto da linguagem tem apar ncia sequencial Essa t cnica chamada de paralelismo de dados O Mentat
377. ue est relacionada com os computadores ou com os sistemas de computa o de modo sist mico hier rquico considerando os diversos n veis hier rquicos dos m dulos de software e dos m dulos de hardware de modo isolado e principalmente de modo integrado Deste modo os alunos perceber o na teoria e principalmente na pr tica que os conhecimentos relacionados com a arquitetura de computadores s o importantes e essenciais tamb m para os profissionais envolvidos somente ou principalmente com o projeto e o desenvolvimento de software aplicativo e de sistema que sempre possui requisitos relacionados utiliza o otimizada e eficiente dos recursos dos computadores 196 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado 7 2 O termo Arquitetura de Computador Nesta se o apresentam se os termos utilizados antes da origem do termo arquitetura de computador analisa se o seu significado original e posteriormente analisa se a evolu o do termo e do seu significado ao longo dos anos 7 2 1 Os termos utilizados antes do termo Arquitetura de Computador Uma an lise dos documentos artigos manuais relat rios t cnicos etc relacionados aos primeiros computadores eletr nicos digitais projetados e implementados mostra que o termo Computer Architecture n o era utilizado e que os termos mais utilizados eram Computer Structure e Computer Organization Dentre os primeiros compu
378. uito decodificador externo o qual determi nasse os operandos fonte e destino armazenando os diretamente no registrador de controle armazenador da palavra de controle Intera o com a mem ria Para simplificar o desenvolvimento dos produtos requiridos foi permitido aos alunos o uso de soft IP cores para o controle de mem rias embu tidas no dispositivo FPGA utilizado ao inv s de obrig los a desenvolver tais con troladores Apesar disso em todos os problemas eles tiveram dificuldades quanto temporiza o da mem ria e os protocolos de comunica o utilizados Aulas de consultaria foram dadas para resolver esta dificuldade Outras dificuldades Al m das dificuldades citadas outras foram encontradas de acordo com o problema No exemplo 1 pode se destacar a compreens o do ciclo de ins tru o de um processador e estruturas de armazenamento auxiliares tipo pilha e fila No exemplo 2 os conceitos de paralelismo em n vel de instru es hazards e UC distribu da por est gios pipeline No exemplo 3 a decomposi o de opera es matriciais Para todos os exemplos o paralelismo de processos em linguagens de descri o de hardware Aulas de consultoria abordaram tais dificuldades 2 4 1 6 Resultados Os alunos tiveram bom desempenho no desenvolvimento dos projetos dos exemplos 1 e 2 e baixo desempenho no problema do exemplo 3 As tr s vers es do exemplo 1 apresentaram implementa es contemplando entre 70 e 90 d
379. um ambiente de ensino colaborativo e ativo no qual o professor pode interagir com os estudantes atrav s de exer cios e da troca de anota es digitais Al m disso foi poss vel que o docente gravasse as aulas ministradas em v deo disponibilizando as aos alunos ap s seu t rmino Esse cap tulo ir retratar as bases da metodologia utilizada e quais beneficios se espera obter destas pr ticas O ambiente utilizado ser descrito incluindo modifica es feitas tanto no curso quanto nas ferramentas utilizadas enfatizando como a introdu o do Tablet PC em sala de aula influenciou o comportamento dos alunos Cap tulo 1 Arquitetura de Computadores educa o ensino e aprendizado 1 Introdu o A introdu o de dispositivos computacionais em sala de aula associada a uma metodologia adequada pode resultar numa melhor qualidade de ensino Se sim em que reas O objetivo deste cap tulo responder tais quest es tratando da introdu o de Tablet PCs num curso de Arquitetura de Computadores Dentre o grande n mero de equipamentos eletr nicos que est o sendo lan ados recentemente um deles em especial est chamando a aten o de educadores em todo o mundo o Tablet PC O grande diferencial desse equipamento a associa o entre poder computacional semelhante ao de notebooks mobilidade e interface pen based A possibilidade de escrita precisa direto na tela faz do Tablet PC o equipamento ideal em aulas que tenham uma
380. uma posi o do espa o de endere amento de mem ria apontada pelo operando da instru o como ilustrado na Figura 6 4 170 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Instru o Instru o PC a b Figura 6 3 Modo de endere amento imediato a opera o com o ACC b opera o com o PC Instru o C 1 Opera o Operando ACC Addr Out Data Mem ria Figura 6 4 Modo de endere amento direto 6 2 2 Arquitetura e Organiza o do BIP I O conjunto de instru es do BIP I formado por oito instru es incluindo instru es de controle HLT armazenamento em mem ria STO carga no acumulador LD e LDI e de aritm tica ADD ADDI SUB e SUBI as quais s o descritas na Tabela 6 1 a seguir 171 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Tabela 6 1 Conjunto de instru es do BIP nee Instru o Opera o Classe 00000 HLT Paralisa a execu o do programa Controle 00001 STO operando Mem ria operando ACC Armazenamento 00010 LD operando ACC lt Mem ria operando Carga 00011 LDI operando ACC lt operando Carga 00100 ADD operando ACC lt ACC Mem ria operando Aritm tica 00101 ADDI operando ACC lt ACC operando Aritm tica 00110 SUB operando ACC lt ACC Mem ria operando Aritm tica
381. uniforme e o custo de sincroniza o dos processadores ao final de cada ciclo tamb m dito como uniforme Por m apesar de facilitarem o desenvolvimento de algoritmos a medida que ajuda a manter o foco na sem ntica do problema e diminuem as preocupa es com detalhes de arquitetura estas conjecturas dificultam an lises mais profundas do algoritmo desen volvido tais como o tempo total de execu o e utiliza o de recursos da m quina o que por sua vez torna mais complexo o processo de corretude de algoritmos desenvolvidos sob este modelo Tendo isto em vista foram desenvolvidos modelos baseados no modelo PRAM como alguns j citados acima que tem como preocupa o principal manter a abstra o provida pelo modelo PRAM por m introduzindo mais detalhes sobre a arquitetura na 135 Cap tulo 4 Arquitetura de Computadores educa o ensino e aprendizado tentativa de se aproximar da realidade das m quinas atuais Foram desenvolvidas algumas linguagens neste modelo tais como Fork95 e a XMTC Fork95 apresentado em seguida pois al m de um exemplo pr tico do que pode ser feito baseado no modelo em quest o pode se encarar como um incentivo ao estudo do modelo Fork95 uma linguagem desenvolvida para a arquitetura SB PRAMI com base no modelo PRAM Desenvolvida pelo Prof Dr Christoph Kessler da Link ping Uni versity e pelo Prof Dr Helmut Seidl da Technische Universit t M nchen ano de 1994 uma extens
382. untos que se deve cobrir Tem sido costume a aplica o de tr s ou quatro problemas durante o componente PBL o qual tem dura o de um semestre com carga hor ria total de 60 horas Os problemas iniciais aplicados aos alunos do com ponente PBL costumam estar relacionados aos itens 2 3 e 7 do componente Arquitetura de Computadores Problemas t picos referem se confec o de programas em lingua gem Assembly utilizando uma biblioteca gr fica como por exemplo OpenGL para o desenvolvimento de jogos Ainda nesta linha de projetos o t pico 9 tamb m pode ser coberto com a implementa o em FPGA de jogos utilizando uma linguagem de descri o de hardware como Verilog ou VHDL realizando a interface com dispositivos de entrada e sa da como teclados e monitores de v deo Ap s esses primeiros projetos tamb m costumam ser propostos projetos relacionados ao desenvolvimento de proces sadores RISC seqiienciais ou processadores que utilizem uma estrutura um pouco mais sofisticada como pipeline Desta forma os t picos 4 5 e 6 do componente Arquitetura de Computadores e os t picos 4 5 e 6 do componente Arquitetura de Computadores Avan ada passam a ser cobertos por esses tipos de problemas As maiores dificuldades s o encontradas com rela o aos t picos 8 10 e 11 do componente curricular Arquitetura de Computadores Avan ada Em parte essa dificul dade se explica pelo fato dos alunos estarem iniciando o cur
383. ure S 1 IEEE 2005 p 248 252 13 ACOSTA C et al A complexity effective simultaneous multithreading architecture In Proceedings Int Conf on Parallel Processing S 1 s n 2005 p 157 164 ISSN 0190 3918 14 KOUFATY D MARR D T Hyperthreading technology in the netburst microar chitecture IEEE Micro v 23 n 2 p 56 65 2003 15 GON ALVEZ R NAVAUX P O A Improving smt performance scheduling pro cesses In Proceedings Euromicro Workshop on Parallel Distributed and Network based Processing S 1 s n 2002 p 327 334 16 EGGERS S J et al Simultaneous multithreading A platform for next generation processors IEEE Micro p 12 19 1997 17 HAMMOND L et al The stanford hydra cmp IEEE Micro IEEE Computer Soci ety Press Los Alamitos CA USA v 20 n 2 p 71 84 2000 ISSN 0272 1732 18 KUMAR R et al Single isa heterogeneous multi core architectures for multi threaded workload performance In Proceedings SIGARCH Comput Archit News New York NY USA ACM 2004 v 32 n 2 p 64 ISSN 0163 5964 19 WOLF W The future of multiprocessor system on chip In Proceedings DAC Design Automation Conf S 1 s n 2004 109 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 20 ROSE C A EF D NAVAUX P O A Arquiteturas Paralelas Porto Alegre RS Brasil Editora Sagra Luzzatto 2003 21 CULLER D E SINGH J P Parallel Computer
384. ursos da rea de computa o normalmente s o formados nos cursos de gradua o com a cren a e o entendimento que a arquitetura de computadores est relacionada exclusivamente com o hardware e que n o muito importante ou essencial para os alunos interessados no desenvolvimento de algoritmos e softwares Nas an lises dos impactos deve se considerar que todos os softwares para produzir os seus resultados desejados e esperados ser o executados em sistemas de computa o implementados fisicamente e que as caracter sticas arquiteturais influenciam diretamente na qualidade dos resultados e no desempenho computacional Uma an lise 201 Cap tulo 7 Arquitetura de Computadores educa o ensino e aprendizado mais profunda mostra que as caracter sticas arquiteturais influenciam diretamente no alcance dos requisitos funcionais e principalmente no alcance dos requisitos n o funcionais desses softwares Deste modo n o seria absurdo considerar que o aprendizado de modo aplicado dos conhecimentos de arquitetura de computadores s o essenciais e talvez estejam entre os mais importantes para todos os profissionais da rea de computa o independentemente da sua rea de especializa o 7 3 1 Impactos do significado do termo nos per odos anteriores s disciplinas Arquitetura de Computadores Nas disciplinas iniciais dos cursos principalmente nas relacionadas com algoritmos estruturas de dados e programa o observa se que na
385. vez intermediado pelo processador Elabora o do problema O enunciado do problema se mostrou vago resultando em um grande n mero de elementos distratores que dificultou a compreens o de pon tos fundamentais a implementa o do problema Al m disso o mal dimensiona mento do calend rio das sess es fez com que as sess es ficassem intercaladas com feriados e um congresso no qual parte dos alunos participou O exemplo da se o 2 4 3 2 encontrou as seguintes dificuldades Gerenciamento de prioridades O sistema adaptativo baseado na quantidade de pala vras n o foi implementado Alguns alunos n o conseguiram realizar a contagem das palavras a serem transferidas que era necess rio para o gerenciamento adapta tivo Debouncer As solicita es de acesso ao barramento foram simuladas usando chaves push button acionadas pelos alunos Estas chaves precisam ser associadas a circui tos digitais denominados Debouncer Estes circuitos funcionam como um tipo de temporizador uma vez acionada a chave a sa da do circuito permanece em n vel alto durante um tempo Isso diminui o efeito de ru dos e garante que possam ser testados os casos de requisi es m ltiplas Os alunos n o conseguiram implementar este circuito que teve que ser disponibilizado pelos tutores A se o 2 4 3 3 trata de um controlador de barramento PCI foram encontradas as seguintes dificuldades Tratamento de prioridade O arbitro do barramento deveria realizar o t
386. vios e em la os de repeti o Para tal o conjunto de instru es do BIP I foi estendido incluindo seis instru es de desvio condicional BEQ branch on equal BNE branch on not equal BGT branch on greater than BGE branch on greater than or equal BLT branch on less than e BLE branch on less than or equal Tamb m foi adicionada a instru o de desvio incondicional JMP jump Essas novas instru es s o descritas na Tabela 6 3 Tabela 6 3 Conjunto de instru es estendido do BIP II Os Instru o Opera o Classe 01000 BEQ operando Se STATUS Z 1 ent o Desvio PC lt operando condicional Se n o PC lt PC 1 01001 BNE operando Se STATUS Z 0 ent o Desvio PC lt operando condicional Se nao PC lt PC 1 01010 BGT operando Se STATUS Z 0 e STATUS N 0 ent o Desvio PC lt operando condicional Se nao PC lt PC 1 01011 BGE operando Se STATUS N 0 ent o Desvio PC lt operando condicional Se nao PC lt PC 1 01100 BLT operando Se STATUS N 1 ent o Desvio PC lt operando condicional Se n o PC lt PC 1 01101 BLE operando Se STATUS Z 1 ou STATUS N 1 ent o Desvio PC lt operando condicional Se nao PC lt PC 1 01110 JMP operando PC lt operando Desvio incondicional 175 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado Conforme visto na Tabela 6 3 para suportar as instru es de compara o e desvio co
387. xo Tipos compostos de dados Modulariza o de algoritmos Programa o em linguagem C Hist rico da computa o Sistemas de numera o O Computa o B sica 60 hardware do computador O software do computador Funcionamento b sico do computador 2 Per odo Disciplina C H Ementa Circuitos com portas l gicas Simplifica o de circuitos Circuitos combinacionais Circuitos sequenciais 3 Per odo Disciplina C H Ementa Introdu o arquitetura e organiza o de computadores Conjunto de instru es e programa o em linguagem de montagem Representa o de dados e aritm tica bin ria Organiza o de processadores Processamento em Pipeline 7 Per odo Algoritmos e Programa o Circuitos Digitais 60 Arquitetura e Organiza o de 60 Computadores I Disciplina C H Ementa Vis o geral de um compilador An lise l xica An lise Compiladores 60 sint tica An lise sem ntica Gera o de c digo T picos complementares em compiladores 179 Cap tulo 6 Arquitetura de Computadores educa o ensino e aprendizado A seguir s o relatadas as experi ncias dos autores na utiliza o dos conceitos relacionados ao uso do BIP nas referidas disciplinas 6 3 1 Algoritmos e Programa o A cren a inicial que motivou o enfoque interdisciplinar na concep o da fam lia de processadores BIP foi de que utilizar um modelo simplificado de computador
388. ycles SIM run command file FuncaoA simics eSIM hap add callback Core Magic Instruction a callback None A fun o de callback recebe a chamada da Magic Instruction e ent o executa os comando do arquivo FuncaoA simics que pode conter fun es em Python ou CLI 99 Cap tulo 3 Arquitetura de Computadores educa o ensino e aprendizado 3 6 6 Modo de Busca de Instru es Algumas configura es s o necess rias em se tratando de simula o de mem rias cache a fim de conseguir resultados coerentes e mais pr ximos da realidade Nesse sentido a busca de instru es no simics pode ser habilitada ou desabilitada pelo usu rio de acordo com suas necessidades de simula o Tal configura o feita pelo comando ifm instruction fetch mode esse comando seleciona como as buscas de instru o ser o enviadas para a hierarquia de mem ria du rante a simula o Se configurado para no instruction fetch a hierarquia de mem ria n o ir receber nenhuma busca de instru es durante a simula o Caso configurado para instruction cache access trace a hierarquia de mem ria ir receber uma e apenas uma busca de para cada nova linha de dados acessada onde o tamanho dessa linha da mem ria cache definida pelo atributo instruction fetch line size dentro do processador Por fim caso a busca de instru es for configurada para instruction fetch trace todas as buscas de instru o ser o vis veis Mesmo esse comando send
389. ynchronous hardware description language In Proceedings of the 23rd EUROMICRO Conference New Frontiers of Information Technology 1997 pages 249 256 26 WALKER David RANA Omer The use of Java in high performance comput ing A data mining example In Lecture notes in computer science Volume 1593 1999 pages 861 872 27 WIKIPEDIA the free encyclopedia Systolic Array http en wikipedia org wiki File Systolic_array jpg 146 Cap tulo 5 Proposta de um Elenco de Disciplinas de P s Gradua o para Forma o de Arquitetura de Computadores Sergio T Kofuji Jussara M Kofuji Marcio Lobo Netto Wang J Chau Filippo Valiante Filho Leonardo A G Garcia Edward David Moreno Edson Horta Eduardo Lima Durgam Vahia Abstract This book chapter presents the contribution to background of researcher and professionals in computer architecture and topics related because we propose the deeply discussion and the curricula describing many classes in computer architecture The idea is based on replying to the question what kind of academic perfil and professional must adopt to former the students in new era of new technologies amp processors How the best curricula to implement the catalog of courses in computer architecture area The main goal of this book chapter is focused in describing the syllabus of courses to provide the support and background in computer architecture Resumo Este capitulo de livro apresenta u
390. zado forma para podermos compreender os verdadeiros motivos que levaram os fundadores e colaboradores do curso a adotarem o m todo PBL faremos na sequ ncia um breve relato do panorama existente na poca Desde o final do s culo XX vem ocorrendo v rios debates relacionados s com pet ncias habilidades e atitudes que um engenheiro deve possuir para poder exercer ade quadamente sua pr tica profissional no mundo atual de Ensino de Engenharia 1991 Estes debates foram fortalecidos pela iniciativa do Minist rio da Educa o MEC de re formular as diretrizes curriculares dos cursos de gradua o dos Santos et al 2007 No caso espec fico da engenharia o debate envolvendo a Associa o Brasileira de Ensino de Engenharia ABENGE o sistema CREA CONFEA de regulamenta o e fiscaliza o das atividades dos profissionais de engenharia as institui es de ensino superior e a Comiss o de Especialistas de Ensino de Engenharia do MEC CEEEng MEC levou a aprova o da resolu o 11 2002 pelo Conselho Nacional de Educa o CNE em 2002 CNE 2002 Esta resolu o instituiu diretrizes curriculares nacionais envolvendo o curso de gradua o em engenharia e uma s rie de compet ncias gerais foi levantada nos incisos do artigo quarto desta resolu o dentre as quais podemos destacar CNE 2002 dos Santos et al 2007 e V identificar formular e resolver problemas de engenharia e VIII comunicar se eficien
391. zagem de arquitetura multithread e OpenSPARC os livros Chip Multiprocessor Architecture Techniques To Improve Throughput and Latency por Kunle Olukotum et al Olukotum 2007 OpenSPARC Internals por David Weaver Weaver 2008 5 3 1 2 Simuladores para Ensino e Pesquisa em Arquitetura Nesta se o o objetivo n o descrever detalhes dos simuladores bem como abordar o seu uso dentro de uma perspectiva de pesquisa mas comentar brevemente a import ncia destes simuladores em especial para a disciplina de Arquitetura de Computadores No nosso contexto tanto o Simics quanto o IBM full system Simulator j estavam sendo estudados na disciplina de Arquitetura Avan ada de Computadores Apenas o foco de pesquisa relacionado com o simulador Simics reestringiu se no momento aos processadores OpenSPARC e CELL Para a ferramenta OpenSPARC temos interesse espec fico para projeto de chip e n o o uso do simulador Por isso a inten o propor sugest es de uso de simuladores para a comunidade brasileira no que diz respeito a disciplinas de Arquitetura de Computadores e outras relacionadas 155 Cap tulo 5 Arquitetura de Computadores educa o ensino e aprendizado 5 3 1 3 Simics utilizado na disciplina de Arquitetura Avan adas de Computadores D Por que devemos utilizar o Simics em Laborat rio Segundo Magnusson Magnusson 2002 o ambiente de software do Simics nos permite as seguintes atividades rodar um c digo em diversas pla
392. zaram uma meta an lise estat s tica e buscaram uma compara o quantitativa entre o PBL e os m todos convencionais Um trabalho similar foi realizado por Dochy et al Dochy et al 2003 Neste ltimo foram abordadas quest es sobre os efeitos do PBL sobre conhecimentos e habilidades dos estudantes Ribeiro Ribeiro 2008b defende que os resultados das pesquisas de Albanese e Mitchell Vernon e Blake e Dochy et al Convergem independentemente das diferentes metodologias utilizadas H segundo Ribeiro uma posi o claramente favor vel dos alu nos quanto metodologia nas tr s an lises Existem ainda concord ncia nas pesquisas sobre a prefer ncia dos alunos quando podem escolher entre PBL e m todos convencio nais As pesquisas apontam para um desempenho superior dos alunos de PBL em testes de seus conhecimentos pr ticos quando comparados a alunos de m todos convencionais o que confirmado por notas superiores dos alunos de PBL em avalia es de seus supe riores em est gios Ribeiro salienta ainda que as pesquisas de convergem em rela o opini o dos docentes Segundos essas pesquisas os professores reconhecem o aumento do tempo de dicado doc ncia mas consideram o m todo PBL mais agrad vel que o m todo conven cional Entretanto Ribeiro tamb m aponta diverg ncias entre as pesquisas com rela o 37 Cap tulo 2 Arquitetura de Computadores educa o ensino e aprendizado ao desempenho dos alunos m
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 ハンマドリル Kenroy Home 90902BRZ Instructions / Assembly Smeg UKVI144B Product manual APC AV Black In-Wall Power Filter and Connection Kit Audioline PowerTel 501 Copyright © All rights reserved.
Failed to retrieve file