Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Arquitectura de Computadores e Sistemas Operativos
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2023/2024
Pré-requisitos / Pre-Requisites
Nenhuns.
Objetivos Gerais / Objectives
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.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1. Compreender o significado de medidas de desempenho e saber quantificar o ganho trazido por modificações numa arquitectura. OA2. Saber de que modo são geralmente estruturadas as instruções-máquina. OA3. Saber de que forma se processa a execução de um programa, compreendendo os principais mecanismos nela envolvidos. OA4. Distinguir os principais elementos numa arquitectura básica de um processador e saber de que forma se relacionam entre si. OA5. Compreender o conceito de pipeline e saber identificar conflitos de estruturais, de dados e de controlo. OA6. Compreender o funcionamento de uma memória cache. OA7. Compreender o funcionamento e desenho das arquitecuras paralelas actuais. OA8. Saber como escrever um programa paralelo em MPI.
Conteúdos Programáticos / Syllabus
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.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
Conteúdos programáticos (CP) -> Objectivos de aprendizagem (AO) CP1->OA1 CP2->OA2,OA3 CP3->OA4 CP4->OA4,OA5 CP5->OA6 CP6->OA7,OA8
Avaliação / Assessment
A avaliação pode ser periódica ou apenas por exame final: A - Avaliação periódica: A avaliação é feita por 2 testes escritos, um efectuado durante o período lectivo e o outro na data de 1ª época. Cada teste conta 50% para a nota final e não tem nota mínima. B - Avaliação por exame: A avaliação é feita por um exame final (em 1ª época ou em 2ª época ou em época especial) com um peso de 100% na nota final. Nota mínima: 9.5 valores.
Metodologias de Ensino / Teaching methodologies
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.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
O alinhamento entre cada instrumento de avaliação e os objectivos definidos para a UC é realizado da seguinte forma: Exame: OA1 a OA8 (todos os objetivos) Laboratórios: OA1 a OA8 (todos os objetivos)
Observações / Observations
Bibliografia Principal / Main Bibliography
David Patterson, John Henessy, Computer Organization and Design - MIPS Edition: The Hardware/Software Interface, 6th Edition, Morgan Kaufmann, 2020.
Bibliografia Secundária / Secondary Bibliography
Guilherme Arroz, José Monteiro, Arlindo Oliveira, Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores, 5ª Edição, IST Press, 2020 J. Cavanagh, X86 Assembly Language and C fundamentals, CRC Press, 2013. A. Tanenbaum, Structured Computer Organization , 6th Ed., Prentice Hall, 2012.
Data da última atualização / Last Update Date
2024-02-16