Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2025/2026
Pré-requisitos / Pre-Requisites
Não existem nenhuns requisitos específicos para a frequência desta unidade curricular.
Objetivos Gerais / Objectives
O objetivo geral desta unidade curricular é o de fornecer aos alunos uma compreensão essencial da arquitetura de computadores e dos seus componentes fundamentais. Através do estudo da evolução histórica dos sistemas computacionais, os alunos aprenderão o modelo de arquitetura de von Neumann e suas limitações, além de explorar alternativas modernas. A unidade abrange a representação de dados e programas, o ciclo de execução de instruções e a interação entre o processador e o subsistema de memória e periféricos, capacitando os alunos a entenderem os aspetos básicos do funcionamento interno de um computador. Além disso, serão abordadas as métricas e técnicas de análise de desempenho, preparando os alunos para avaliar e otimizar sistemas computacionais de forma eficaz.
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
Após a conclusão desta UC os alunos devem: OA1. Conhecer o modelo proposto pela arquitetura de von Neumann. OA2. Perceber a relação existente entre o software e o hardware. OA3. Entender a forma como as componentes básicas de um CPU interagem e entender ainda as noções básicas da arquitetura GPU. OA4. Compreender a interação entre o CPU, GPU e o subsistema de memória e periféricos. OA5. Entender a hierarquia de memória e o seu impacto no desempenho. OA6. Compreender as principais métricas e técnicas básicas de análise de desempenho.
Conteúdos Programáticos / Syllabus
P1 Evolução histórica dos computadores, interação pessoa-máquina, impacto na computação moderna; arquitetura von Neumann: modelo, características, limitações; alternativas P2 Representação binária, tipos de dados, armazenamento de instruções e programas; tradução de código: linguagens de programação, compiladores, assembly P3 Tipos e formatos de instruções, modos de endereçamento, acesso à memória, ciclo de execução; fluxo de controlo, transferência de dados P4 CPU, GPU e Periféricos: Estrutura e componentes do CPU (ALU, UC, registos), organização interna, fluxo de dados e controlo, conceitos de pipeline; introdução à GPU; motherboard, portas de comunicação, periféricos P5 Interação CPU-memória, hierarquia de armazenamento, cache (mapeamento, substituição), memória principal, armazenamento persistente (HDDs, SSDs), memória virtual P6 Métricas (CPI, MIPS, FLOPS), fatores que influenciam o desempenho, análise e otimização do uso da memória e do processador, papel do sistema operativo
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
P1, que aborda a evolução histórica e a arquitetura de von Neumann, está relacionado com OA1, permitindo aos alunos conhecerem este modelo e suas limitações. P2 expande a compreensão sobre a representação de dados e programas, ligando-se ao OA2, ao explorar a relação entre software e hardware, incluindo a tradução de código e a interação com a memória. P3 e P4, que detalham os conjuntos de instruções e o funcionamento do CPU e GPU, contribuem para OA3, ao esclarecer a interação entre os componentes básicos do CPU e GPU. P4 também se relaciona com OA4, aprofundando a compreensão da interação entre CPU, GPU, memória e periféricos. P5 trata a hierarquia de memória, diretamente ligada a OA5, abordando a importância da cache e o impacto no desempenho. Por fim, P6, focado na otimização de sistemas computacionais, é essencial para OA6, apresentando métricas de desempenho como CPI, MIPS e FLOPS, bem como técnicas de análise e otimização.
Avaliação / Assessment
Pode ser realizada num dos seguintes modos: 1. Avaliação ao longo do semestre: - Duas provas escritas a realizar durante o semestre com a nota mínima de 8 valores por prova (30% + 30%). - Trabalho prático de grupo e sua apresentação oral (40%). 2. Avaliação por exame: - Prova escrita (100%). Para efeitos de aprovação à UC o aluno deve obter uma classificação igual ou superior a 9.5 valores.
Metodologias de Ensino / Teaching methodologies
Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1 Aulas expositivas teórico-práticas: teoria, demos, audiovisuais. MEA2 Aulas participativas: análise e discussão de casos de estudo. MEA3 Aulas ativas: realização de exercícios/entregáveis do projeto de grupo em lab/apresentações, usando ferramentas do estado-da-arte. MEA4 Trabalho autónomo por parte do aluno: auto-estudo, revisões, realização dos entregáveis do trabalho de grupo em laboratório.
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 UC utiliza metodologias de ensino-aprendizagem (MEA) alinhadas com os objetivos de aprendizagem (OA), promovendo uma compreensão teórica e prática dos sistemas computacionais. As metodologias garantem que os alunos adquiram conhecimentos fundamentais e desenvolvam competências aplicáveis a contextos reais. MEA1 – Aulas expositivas teórico-práticas introduzem conceitos essenciais, como a evolução histórica dos sistemas computacionais, a arquitetura de von Neumann, a organização do processador e a hierarquia de memória. Relacionam-se com OA1 e OA2, garantindo a compreensão do modelo de von Neumann e da relação entre hardware e software. O uso de demonstrações e recursos audiovisuais facilita a assimilação de conceitos abstratos, como o fluxo de controlo e o ciclo de execução de instruções. MEA2 – Aulas participativas baseadas na análise e discussão de casos de estudo e equipamentos físicos, aprofundam as interações entre CPU, GPU, memória e periféricos e a importância da hierarquia de memória, contribuindo para OA3, OA4 e OA5. Ao discutir casos de estudo, os alunos terão a oportunidade de aplicar os conceitos aprendidos, analisar soluções para problemas de desempenho e explorar diferentes tipos de arquitetura e organização de sistemas computacionais, desenvolvendo pensamento crítico e competências de resolução de problemas. MEA3 – Aulas ativas reforçam os conhecimentos adquiridos, com exercícios práticos sobre execução de instruções, análise de ciclos do processador e gestão da hierarquia de memória. Relacionam-se com OA4 e OA5, permitindo a experimentação direta da interação entre CPU, GPU e o subsistema de memória e periféricos. Incluem o uso de ferramentas de modelação e simulação, promovendo a aprendizagem colaborativa. Essas atividades estimulam a aprendizagem prática e a colaboração entre os alunos, com foco na aplicação dos conceitos em cenários reais e na construção de soluções inovadoras. MEA4 – O trabalho autónomo permite aprofundar conteúdos através de leituras, revisões e a contribuição pessoal para o desenvolvimento de projetos em grupo. Ligado a OA6, incentiva a análise de métricas de desempenho e a otimização de sistemas, promovendo autonomia, resolução de problemas complexos de forma independente, autoaprendizagem e pensamento crítico. A combinação destas metodologias assegura que os alunos compreendem os conceitos fundamentais da arquitetura de computadores e desenvolvem competências práticas e analíticas. A integração de teoria e prática permite a aplicação criativa dos conhecimentos, preparando-os para desafios na área da arquitetura de computadores.
Observações / Observations
..
Bibliografia Principal / Main Bibliography
Morris Mano, M., & Ciletti, M. D., ""Computer System Architecture"", Pearson, 6ª edição (2017). Stallings, W., ""Computer Organization and Architecture: Designing for Performance"", Pearson, 10ª edição (2015). Guilherme Arroz, José Monteiro, Arlindo Oliveira, Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores – 6.ª Edição, IST Press, 2024, ISBN: 978-972-8469-54-2."
Bibliografia Secundária / Secondary Bibliography
Data da última atualização / Last Update Date
2025-07-21