Ficha Unidade Curricular (FUC)

Informação Geral / General Information


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

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


2026/2027

Pré-requisitos / Pre-Requisites


A unidade curricular não tem pré-requisitos formais. É recomendada a frequência prévia da unidade curricular de Fundamentos de Arquitetura de Computadores.

Objetivos Gerais / Objectives


A unidade curricular tem como objectivo proporcionar uma compreensão integrada da arquitectura e do funcionamento dos microprocessadores, articulando hardware e software. Pretende-se que os estudantes saibam analisar o desempenho de sistemas, interpretar conjuntos de instruções e programar em assembly MIPS, gerindo registos, memória, estruturas de controlo, procedimentos e vírgula flutuante. Abordam-se ainda pipelines, hierarquias de memória, caches, memória virtual, sistemas multicore e compiladores, desenvolvendo competências de análise, programação e optimização de código ao nível do processador.

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


No final da cadeira, o aluno deverá ser capaz de: - OA1 - Analisar e comparar o desempenho de microprocessadores, utilizando métricas, modelos e benchmarks adequados; - OA2 - Compreender o funcionamento da execução de programas em microprocessadores, incluindo o conjunto de instruções, o datapath, o controlo e a hierarquia de memória; - OA3 - Desenvolver programas diretamente em assembly MIPS, implementando operações, estruturas de controlo, acesso à memória e procedimentos; - OA4 - Analisar o impacto de pipelines, memórias cache, memória virtual e arquitecturas multicore no desempenho dos sistemas; - OA5 - Explicar o funcionamento do processo de compilação, incluindo a análise de programas de alto-nível, otimizações e geração de código máquina.

Conteúdos Programáticos / Syllabus


CP1 - Fundamentos de Arquitetura de Computadores - Organização e funcionamento do processador - Análise de desempenho - Arquitetura MIPS CP2 - Programação em assembly MIPS - Operações aritméticas e lógicas e acesso à memória - Estruturas condicionais, ciclos e tradução de algoritmos de alto nível - Memória stack e procedimentos CP3 - Operações em vírgula flutuante - Representação em vírgula flutuante - Operações em vírgula flutuante na arquitetura MIPS CP4 - Processamento em pipeline - Etapas de execução - Conflitos, *forwarding*, *stalls* e previsão de saltos. CP5 - Hierarquias de memória - Memórias *cache* e memória virtual - Análise do tempo médio de acesso CP6 - Compilação - Front end, Middle end e Back end - Relação entre compilação, código gerado e desempenho. CP7 - Introdução às arquiteturas paralelas - Organização de sistemas multicore e paralelismo - Introdução às GPUs

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes


Os conceitos principais que suportam o objectivo de aprendizagem (OA) 1 são discutidos no contexto do conteúdo programático (CP) 1, que serve simultaneamente como uma descrição global da UC, apresentando os vários OA e a sua relação com os CP. Os conteúdos programáticos CP2 e CP3 apresentam os conceitos fundamentais da programação em _assembly_ MIPS, suportando simultaneamente os objectivos de aprendizagem OA2 e OA3. O objectivo de aprendizagem OA4 é suportado pelos conceitos e técnicas discutidas ao nível dos conteúdos CP4, CP5 e CP7. Finalmente, o objectivo de aprendizagem OA5 é suportado pelo conteúdo programático CP6.

Avaliação / Assessment


A UC pode ser realizada através de 2 modalidades de avaliação: 1 - Avaliação ao longo do semestre A avaliação ao longo do semestre é composta por: - (80%) 2 testes: 1 teste realizado a meio do semestre, em data a definir, e um 2.º teste realizado na primeira data da época de exame; - (20%) Trabalhos de laboratório individuais, avaliados através de questionários online a realizar na plataforma de e-learning. A presença na sessão de laboratório é obrigatória para a avaliação ser considerada. A nota final é calculada através de uma média ponderada destas 2 vertentes de acordo com os pesos apresentados tendo em conta que: + A aprovação na componente dos testes obriga à obtenção de uma nota mínima de 7,5 valores em ambos os testes; + A falta a 3 ou mais sessões de laboratório resulta na reprovação automática nesta componente da avaliação; + Para efeitos do cálculo da nota final, os trabalhos de laboratório correspondentes a sessões em que o aluno faltou são cotados com 0 valores; A reprovação em qualquer das componentes de avaliação ao longo do semestre obriga à realização da avaliação por exame final. 2 - Avaliação por exame final A avaliação por exame final é composta por 1 único exame realizado em qualquer das épocas de exame disponíveis, que corresponderá a 100% da nota final.

Metodologias de Ensino / Teaching methodologies


A unidade curricular está estruturada ao longo de 12 semanas lectivas, com 3 aulas distintas semanais: - 1 aula teórica, essencialmente expositiva, onde se apresentam os conceitos e técnicas dos conteúdos programáticos; - 1 aula prática, de carácter idealmente interactivo, onde os os alunos resolvem um conjunto de problemas associados aos conteúdos explorados nessa semana, devidamente apoiados pelo docente em sala de aula; - 1 aula de laboratório, onde o aluno irá implementar no seu computador pequenos programas em assembly ou C, com o apoio do docente presente, que irão ilustrar os conceitos analisados. Os alunos deverão trazer o seu próprio computador portátil. Adicionalmente é esperado do aluno um tempo de trabalho autónomo semanal de 3 a 5 horas para consulta da bibliografia e revisão da matéria, resolução de exercícios e preparação dos trabalhos de laboratórios, sendo encorajada a colaboração entre os vários estudantes.

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


A metodologia de ensino segue o modelo tradicional de ensino destas temáticas, estruturado em aulas teóricas, práticas e laboratoriais, tal como descrito na secção relevante. Este modelo, associado à estruturação dos conteúdos programáticos, permite ao aluno adquirir progressivamente as competências necessárias para cada objectivo de aprendizagem, e estabelecer a relação entre eles. Os procedimentos de avaliação estão estruturados de forma análoga, incidindo progressivamente nos conteúdos programáticos leccionados e, em simultâneo, na demonstração das competências dos objectivos de aprendizagem associados através da avaliação resposta a problemas e da implementação de projectos no âmbito da UC. Em particular, no modalidade de avaliação ao longo do semestre: 1. O 1.º teste incidirá nos conteúdos programáticos CP1 a CP3, o 2.º teste nos conteúdos CP4 a CP7; 2. Os trabalhos de laboratório irão incidir em todos os conteúdos programáticos, sendo o trabalho de cada semana focado nos conteúdos programáticos dados até então e respectivos objectivos de aprendizagem. Na modalidade de avaliação por exame final, o exame incide na totalidade dos conteúdos programáticos.

Observações / Observations


Bibliografia Principal / Main Bibliography


Todos os conteúdos apresentados nas aulas estão disponíveis no sistema de e-learning do ISCTE-IUL.

Bibliografia Secundária / Secondary Bibliography


1. Patterson, D., & Hennessy, J. Computer Organization and Design: MIPS Edition - The Hardware/Software Interface, 6th Edition, Morgan Kaufmann, 2020. 2. Arroz, G., Monteiro, J., & Oliveira, A. Computer Architecture: From Digital Systems to Microprocessors (Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores), 5th Edition, IST Press, 2020.

Data da última atualização / Last Update Date


2026-07-23