Arquitetura de Computadores (Pós-Graduação)
Plano de ensino
Conteúdo
Parte I:
Introdução (slides)
Vídeo-aula - Introdução - parte 1
Vídeo-aula - Introdução - parte 2
Processadores (slides)
Vídeo aula - Processadores - parte 1
Vídeo aula - Processadores - parte 2
Sistema de memória (slides)
Vídeo aula - Sistema de Memória - parte 1
Vídeo aula - Sistema de Memória - parte 2
Vídeo aula - Sistema de Memória - parte 3
Atividade 4 - Análise do artigo: "Why Computer Architecture Matters? (Parte I, Parte II e Parte III) - 17/04
Vídeo aula - Sistema de Memória - parte 4
Atividade 5 - Otimização de Código - 25/04
Parte II:
Vídeo aula - Paralelismo em Nível de Instruções - parte 1
Vídeo aula - Paralelismo em Nível de Instruções - parte 2
Atividade 6: Resenha sobre ILP - até dia 15/05
Otimização de Pipeline e por Compilação
Atividade 7: Otimização por compilador (até 22/05)
Processamento paralelo (slides)
Vídeo aula - Processamento paralelo - parte 1
Vídeo aula - Processamento paralelo - parte 2
Parte III:
Computação paralela
Vídeo aula - Programação Paralela
Atividade 8 - Programação paralela com OpenMP
Artigo Científico
Todas as atividades deverão ser enviadas até o dia 30/06!!
Modelo de aulas (Importante!):
Grupo no Discord: https://discord.gg/JVvMKghw
Até o dia 21/03, as aulas serão remotas através do link: https://meet.google.com/vix-faoc-tos
A partir do dia 23/03 as aulas serão realizadas de forma presencial, alternando atividades remotas, com atividades presenciais
Atividades remotas: serão disponibilizados vídeos com aulas anteriores gravadas
Atividades presenciais: nos encontros presenciais serão realizadas aulas de revisão, dúvidas e atividades realizadas em sala
A cada semana será enviada uma mensagem para a turma com a programação das atividades presenciais
Os alunos são estimulados a levarem para as aulas presenciais material (caderno, celular e computador) quando possível para realizar e enviar as atividades já em sala de aula, poupando tempo e garantindo a corretude dos exercícios.
Referências complementares:
Monitoramento de programas para Profiling: https://geekflare.com/application-profiling-software/
Ferramentas para medir desempenho e uso de memória Cache?
VTune da Intel: https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html#gs.zgy15a
Utilize as ferramentas da Intel (https://software.intel.com/en-us/vtune-help-memory-access-analysis)
Matéria da Intel sobre medir desempenho com Intel PCM: https://software.intel.com/content/www/us/en/develop/articles/intel-performance-counter-monitor.html
Valgrind (Linux): https://www.valgrind.org/ e https://valgrind.org/docs/manual/quick-start.html
Comando perf do Linux: https://perf.wiki.kernel.org/index.php/Tutorial#Introduction
Programação paralela com OpenMP:
Curso de Programação Paralela: http://booksite.elsevier.com/9780123742605/
Site do OpenMP: https://www.openmp.org/
Tutorial com hands-on: https://www.openmp.org/wp-content/uploads/Intro_To_OpenMP_Mattson.pdf
Tutorial OpenMP 1: https://www.openmp.org/wp-content/uploads/ntu-vanderpas.pdf
Tutorial OpenMP 2: http://www.nic.uoregon.edu/iwomp2005/iwomp2005_tutorial_openmp_rvdp.pdf
Livros gratuitos: https://www.openmp.org/resources/openmp-books/
Exemplos vistos em sala: https://drive.google.com/drive/folders/1jaVBTxe3zpIZb2BnYBNtflO2yecq2bwP?usp=sharing
Bibliografia recomendada:
Arquitetura e Organização de Computadores - 8ª Ed.. William Stallings,; Editora: Prentice Hall - Br.
Arquitetura de Computadores - Uma Abordagem Quantitativa. John L. Hennesy e David A. Patterson. 5a ed., 2014.
Artigo: Why Computer Architecture Matters? Parte I, Parte II, Parte III
Avaliação
Resenhas e trabalhos - 40%
Para cada capítulo apresentado, deverá ser enviada uma resenha de 1-3 páginas com uma extensão do assunto visto, buscando fontes diversas e resultados práticos
Requisitos e dicas:
As resenhas não devem trazer conteúdos já vistos em aula e nos materiais. Devem trazer extensões, aplicações, atualizações, exemplos da indústria etc.
É obrigatório que o texto seja uma resenha de um texto existente. Pode ser um artigo científico ou jornalístico, ou até mesmo resenha de livros, vídeos, filmes etc.
O texto deve ter uma única página sem separação em seções. Apenas o texto principal e as referências utilizadas.
Utilizem o modelo Latex para elaborar o seu texto. Recomendo utilizarem o próprio Overleaf: https://www.overleaf.com/read/kjfdqcdyhcvy
Artigo Científico (individual) - 60%
Os alunos deverão escrever um artigo científico (máximo de 8 páginas no formato IEEE) - Template no Overleaf
O artigo deve ser sobre um dos temas visto em sala , podendo ser:
Survey (análise de artigos numa área)
Estudo de caso prático
Análise de uma Arquitetura existente (inovadora)
Implementação de alguma técnica
Comparação entre técnicas
Análise de performance
Simulação