Arquitetura de Computadores
Objetivos
A UC estrutura-se no binómio software/hardware para compreender a relações entre os algoritmos e as cargas das aplicações e assim tirar partido, em termos de desempenho das tecnologias dos processadores atuais. Após a frequência da UC os alunos deverão ser capazes de:
- Caracterizar as métricas relativas ao desempenho, na sua relação com a codificação de programas C/C++;
- Identificar o impacto da utilização explicita/implícita da hierarquia de memória;
- Descrever os conceitos associados ao encadeamento da execução de instruções e as limitações inerentes a este paradigma;
- Justificar o impacto associado à super-escalaridade no desempenho dos processadores;
- Aplicar as técnicas de processamento vetorial de código em processadores e aceleradores;
- Identificar as oportunidades para explorar ao nível lógico e físico as modernas arquiteturas com múltiplos processadores, através da utilização do paralelismo de múltiplos fios de execução.
Programa
- Métricas de Avaliação do Desempenho e respetiva inter-relação: tempo de execução, número médio de ciclos de relógio por instrução (CPI), período de relógio e número de instruções executadas; ciclos por elemento (CPE);
- Hierarquia de Memória: conceitos; localidade, organização (mapeamento, políticas de escrita e substituição);
- Paralelismo ao nível das instruções: encadeamento e super-escalaridade;
- Paralelismo ao nível dos dados: processamento vetorial;
- Paralelismo ao nível dos fios de execução: múltiplos núcleos de processamento;
- Computação heterogénea : CPUS/GPUS, modelo de programação.
Bibliografia
- Computer Systems: A Programmer’s Perspective, 3rd Edition; Randal E. Bryant and David R. O’Hallaron, ISBN13: 9780134092669, Pearson, 2016.
- Multicore and GPU Programming An Integrated Approach, Gerassimos Barlas, Elsevier, Inc 2015.
- Computer Organization and Design, David Patterson and John Hennesy, 5th Edition, Elsevier, Inc 2013.
- Parallel Programming for Multicore and Cluster Systems, Thomas Rauber, Gudula Rünger, Springer-Verlag Berlin Heidelberg 2010, 2013
- Computer Architecture, A Quantitative Approach-Morgan Kaufmann, Hennessy&Patterson-, 6th Edition, Elsevier, Inc, 2017.