Arquitetura de Computadores - PPGComp
Avisos:
Bem-Vindos!
-Ementa
Revisão dos conceitos básicos de arquitetura de computadores: conjunto de instruções, pipeline e cache; paralelismo no nível de instrução: pipeline e superscalaridade; Organização da memória: cache e memória virtual; Arquiteturas multiprocessadas: CMP e SMP.
-C/H
60 horas
-Bibliografia
JOHN L. HENNESSY AND DAVID A. PATTERSON. 2011. Computer Architecture, Fifth Edition: A Quantitative Approach (5th ed.).Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
DAVID A. PATTERSON AND JOHN L. HENNESSY. 2013. Computer Organization and Design: The Hardware/Software Interface (5th ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
JACK DONGARRA, IAN FOSTER, GEOFFREY FOX, WILLIAM GROPP, KEN KENNEDY, LINDA TORCZON, AND ANDY WHITE (Eds.). 2003. Sourcebook of Parallel Computing . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
PETER PACHECO. 2011. An Introduction to Parallel Programming (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
+ artigos e materiais (Links ao longo do Conteúdo Programático)
Conteúdo Programático
--PARTE I - Prof. Marcio Oyamada
1. Introdução
Conceitos de arquitetura e organização de computadores
RISC x CISC
Programação em linguagem de máquina
Métricas e avaliação de desempenho de processadores
2. Processador
Pipeline: caminho de dados e controle
Hazard de dados
Hazard de controle
Paralelismo de instruções
3. Hierarquia de Memória
Cache: tamanho, associatividade
Memória virtual
Coerência de caches
--PARTE II - Prof. Guilherme Galante
4. Arquiteturas Paralelas
Tipos e níveis de paralelismo
Conceitos de execuções paralelas e concorrentes
Classificação de arquiteturas paralelas
Multiprocessadores e Multicores
Multicomputadores
Arquiteturas Vetoriais e GPUs
5. Introdução a ambientes e ferramentas de programação paralela
Programação em memória compartilhada: OpenMP
Programação em memória distribuída: MPI
Programação em aceleradores: OpenACC