Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
L0706
Acrónimo :
L0706
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
18.0h/sem
Aula Teórico-Prática (TP) :
18.0h/sem
Aula Prática e Laboratorial (PL) :
18.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Á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