Arquitectura de Computadores
0
2022-2023
02000605
Computadores
Português
Inglês
Presencial
6.0
Opcional
2º Ciclo - Mestrado
Conhecimentos de Base Recomendados
Programação de Computadores, Estrutura de Dados e Algoritmos, Sistemas de Microprocessadores, Sistemas de Operação, Estruturas de Dados e Algoritmos
Métodos de Ensino
Aulas teóricas, recorrendo a meios audiovisuais, com exposição dos conceitos, princípios e teorias fundamentais e com a resolução de exercícios práticos elementares que concretizem o interesse prático da matéria e exemplifiquem a sua aplicação real.
Aulas laboratoriais onde os estudantes são guiados em aspetos específicos do desenvolvimento e análise dos resultados, permitindo-lhes explorar os conceitos através de exercícios práticos formativos e de avaliação.
Resultados de Aprendizagem
Esta disciplina tem como objectivos introduzir as técnicas fundamentais em que se baseiam os sistemas computacionais atuais, desenvolver aptidões na análise dos benefícios de diferentes opções de projeto de sistemas computacionais, fornecendo as bases para o desenvolvimento de software explorando as características do hardware de suporte. As competências adquiridas nesta unidade curricular constituem as bases para o desenvolvimento de sistemas computacionais e aplicações de elevado desempenho.
Estágio(s)
NãoPrograma
1. Fundamentos de Arquitetura de Computadores
Revisão de conceitos básicos, Métricas de desempenho
2. Paralelismo ao nível das instruções
Execução e limitações ao paralelismo das instruções.
Optimização estática e dinâmica. Preditores, execução especulativa e redução de dependências.
3. Hierarquia de memória
Localidade espacial e temporal. Caches, organização e optimizações.
Proteção. Memória virtual e máquinas virtuais.
4. Extensões multimédia e processadores vetoriais
Vantagens do uso de instruções/arquiteturas vetoriais
Modificações nas arquiteturas dos processadores para suportar instruções vetoriais
5. Excepções, interrupções e suporte ao multiprocessamento.
6. Sistemas multiprocessador e paralelismo ao nível de tarefas
7. Arquiteturas de memória partilhada simétrica e assimétrica. Protocolos de consistência e sinronização em memória distribuida. MPI e OpenMP.
8. Armazenamento de dados.
Suportes e caracterização das falhas. Desempenho. Sistemas redundantes.
Docente(s) responsável(eis)
Paulo Jorge Carvalho Menezes
Métodos de Avaliação
Avaliação
Exame: 50.0%
Trabalho laboratorial ou de campo: 50.0%
Bibliografia
John L. Hennessy, David A. Patterson, Computer Architecture: A Quantitative Approach, 5th Edition, Morgan Kaufmann, 2011