Aviso: Se está a ler esta mensagem,
provavelmente, o browser que utiliza não é
compatível com os "standards" recomendados pela W3C. Sugerimos vivamente que actualize
o seu browser para ter uma melhor experiência de
utilização deste "website". Mais
informações em webstandards.org.
Warning: If you are reading this message, probably,
your browser is not compliant with the standards recommended by the W3C. We suggest that you upgrade your
browser to enjoy a better user experience of this website. More
informations on webstandards.org.
Ser English-friendly ou qualquer outra língua-friendly, significa que a UC é leccionada numa língua mas que se pode verificar qualquer uma das
seguintes condições:
1. Existem materiais de apoio em língua inglesa/outra língua;
2. Existem exercícios, testes e exames em língua inglesa/outra língua;
3. Existe a possibilidade de se apresentar trabalhos escritos ou orais em língua inglesa/outra língua.
1
6.0
18.0 h/sem
18.0 h/sem
18.0 h/sem
0.0 h/sem
0.0 h/sem
0.0 h/sem
1.0 h/sem
55.0 h/sem
95.0 h/sem
0.0 h/sem
150.0 h/sem
Em vigor desde o ano letivo
2018/2019
Pré-requisitos
Nenhuns.
Objectivos
No final do semestre, o aluno deverá: - compreender o funcionamento de um processador com uma arquitectura básica; - enumerar técnicas utilizadas para aumento do desempenho de um processador; - conhecer a hierarquia de um sistema de memória actual; - compreender o funcionamento das arquitecturas paralelas atuais.
Programa
CP1. Medidas de desempenho - Análise do desempenho; - Factores que influenciam o desempenho; - Lei de Amdahl e speed-up; - Benchmarks CP2. Conjunto de instruções - Formatos de instrução - Operações com Registos e Memórias - Procedimentos e utilização da pilha - Compilação e optimização - RISC vs CISC: ARM, x86 CP3. Unidade Aritmética - Representação em vírgula flutuante (FP); - Arquitectura para FP. CP4.Arquitectura básica de um processador - Fases de uma instrução - Unidade de controlo e datapath - Processamento uni-ciclo e multi-ciclo. - Pipelining: Desempenho, e conflitos: - Melhoria do desempenho CP5. Sistemas de memória - Hierarquias de memória; - Memória cache; CP6. Arquitecturas paralelas - Medidas de desempenho; - Arquitecturas de memória partilhada; - Arquitecturas de memória distribuída; - Arquitecturas baseadas em GPU.
Processo de avaliação
A avaliação pode ser feita como avaliação periodica (2 avaliações intercalares) ou avaliação final, e engloba duas componentes: - Teoria (60%). Exame relativamente ao conteúdo da teoria. - Laboratório (40%). Realização de um teste de escolha múltipla relativamente ao conteúdo dos laboratórios. A nota do Laboratório superior ou igual a 10 valores é mantida na 1ª e 2ª Época. Os alunos com nota inferior ou sem as duas avaliações intercalares serão reavaliados só na 2ª Época.
Processo de ensino-aprendizagem
Aulas teórico-práticas (1h30 por semana) e práticas/laboratoriais (3h00 por semana).
Além da assiduidade às aulas espera-se do aluno um tempo de trabalho autónomo de, em média, cerca de 6 horas semanais para consulta da bibliografia, revisão de matéria dada, resolução de exercícios propostos e preparação dos Laboratórios.
Observações
Nenhumas.
Bibliografia básica
- Computer Organization and Design: The Hardware / Software Interface, Revised 4th Edition, David Patterson e John Henessy, Morgan Kaufmann, 2012;
- Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores, 2ª Edição, Guilherme Arroz, José Monteiro e Arlindo Oliveira, IST Press, 2009;
- Introduction to Parallel Computing. Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar. Addison Wesley, 2003.
- Textos de apoio disponibilizados no e-learning
Bibliografia complementar
-X86 Assembly Language and C fundamentals, J. Cavanagh, CRC Press, 2013
- Structured Computer Organization, 5th Edition, Andrew Tanenbaum, Prentice-Hall, 2005.
- CUDA by Example: An Introduction to General-Purpose GPU Programming. J. Sanders, E. Kandrot. Addison-Wesley, 2010