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

  1. 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);
  2. Hierarquia de Memória: conceitos; localidade, organização (mapeamento, políticas de escrita e substituição);
  3. Paralelismo ao nível das instruções: encadeamento e super-escalaridade;
  4. Paralelismo ao nível dos dados: processamento vetorial;
  5. Paralelismo ao nível dos fios de execução: múltiplos núcleos de processamento;
  6. Computação heterogénea : CPUS/GPUS, modelo de programação.

Bibliografia

  1. Computer Systems: A Programmer’s Perspective, 3rd Edition; Randal E. Bryant and David R. O’Hallaron, ISBN13: 9780134092669, Pearson, 2016.
  2. Multicore and GPU Programming An Integrated Approach, Gerassimos Barlas, Elsevier, Inc 2015.
  3. Computer Organization and Design, David Patterson and John Hennesy, 5th Edition, Elsevier, Inc 2013.
  4. Parallel Programming for Multicore and Cluster Systems, Thomas Rauber, Gudula Rünger, Springer-Verlag Berlin Heidelberg 2010, 2013
  5. Computer Architecture, A Quantitative Approach-Morgan Kaufmann, Hennessy&Patterson-, 6th Edition, Elsevier, Inc, 2017.

Atualizado: