Saltar para:
Logótipo
Você está em: Início > L.EEC012

Arquitetura de Computadores

Código: L.EEC012     Sigla: AC

Áreas Científicas
Classificação Área Científica
OFICIAL Eletrónica e Sistemas Digitais

Ocorrência: 2024/2025 - 1S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Eletrotécnica e de Computadores
Curso/CE Responsável: Licenciatura em Engenharia Eletrotécnica e de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L.EEC 308 Plano Oficial 2 - 6 52 162

Docência - Responsabilidades

Docente Responsabilidade
António José Duarte Araújo Regente

Língua de trabalho

Português

Objetivos

Esta unidade curricular introduz os princípios de funcionamento de um computador moderno e a sua arquitetura geral, com ênfase na contribuição de cada subsistema para o desempenho global.

A análise da tecnologia de implementação física dos computadores (em especial da organização do CPU e da hierarquia de memória), assim como da arquitetura do conjunto de instruções (ISA), possibilitará aos estudantes identificar e descrever princípios fundamentais da operação dos computadores, das linguagens de programação (assembly em particular), e do desenvolvimento de software.

Resultados de aprendizagem e competências

Após completarem esta unidade curricular, os estudantes deverão ser capazes de:

  • Identificar e descrever os principais subsistemas de um computador pessoal: unidade de processamento, memória e periféricos;
  • Explicar e avaliar o desempenho de computadores em cenários simples envolvendo a equação fundamental do desempenho e a lei de Amdahl;
  • Classificar e caracterizar os tipos de instruções de uma unidade de processamento;
  • Explicar os princípios básicos da codificação de instruções e identificar o seu impacto sobre o desempenho;
  • Escrever programas simples em linguagem assembly RISC-V envolvendo operações aritméticas e booleanas, comparações e saltos;
  • Descrever o funcionamento de uma unidade de processamento uniciclo;
  • Descrever e explicar o conceito de pipeline e o seu impacto no desempenho;
  • Descrever o funcionamento de uma unidade de processamento em pipeline;
  • Aplicar os conhecimentos de máquinas de estados à análise da unidade de controlo de uma unidade de processamento em pipeline;
  • Identificar os conflitos de dados e de controlo que podem surgir numa unidade de processamento em pipeline;
  • Calcular o impacto dos conflitos de pipeline no desempenho para cenários simples;
  • Distinguir entre memórias estáticas e dinâmicas, e identificar as respetivas áreas de utilização;
  • Explicar o princípio de funcionamento dos dois tipos de memórias;
  • Identificar os vários níveis da hierarquia de memória de um computador;
  • Explicar o princípio de funcionamento da memória cache;
  • Descrever a organização de uma memória cache (associatividade) e o tratamento de faltas no acesso a memória;
  • Avaliar a influência da hierarquia de memória sobre o desempenho.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Bons conhecimentos na área de Sistemas Digitais assim como noções básicas de Programação.

Programa

O programa de Arquitetura de Computadores é composto pelos seguintes tópicos:


  • Introdução. Áreas de aplicação de computadores e suas características. Programas: linguagens de alto nível versus linguagens de baixo nível. Modelo conceptual da execução de um programa.

  • Componentes de um computador: CPU (percurso de dados e unidade de controlo), memória e periféricos de entrada/saída. Evolução da tecnologia de processadores e memórias.

  • Noções básicas de desempenho de CPUs. Equação básica de desempenho. Benchmarks (SPEC). Consumo de energia. Lei de Amdahl.

  • Conjunto de instruções de um processador RISC-V. Tipos de instruções: aritméticas, lógicas, acessos a memória, comparações e saltos. Modos de endereçamento. Codificação de instruções.

  • Conceitos básicos de programação em linguagem assembly. Análise e implementação de programas simples com recurso a um emulador da arquitetura RISC-V (RARS).

  • Organização de uma unidade de processamento. Organização uniciclo de um CPU. Conceito de pipelining. Organização de um percurso de dados em pipeline. Controlo de pipeline. Conflitos de pipeline: conflitos de dados e de controlo. Estratégias de tratamento dos conflitos. Impacto dos conflitos sobre o desempenho.

  • Memórias estáticas e dinâmicas: organização e modelo conceptual. Hierarquia de memória.

  • Memória cache: princípio de funcionamento, organização interna, associatividade e tratamento de faltas. Desempenho de CPU com memória cache. Redução da penalidade associada a faltas no acesso.

Bibliografia Obrigatória

David A. Patterson & John L. Hennessy; Computer Organization and Design, The Hardware/Software Interface - RISC-V edition, Elsevier, 2nd edition, 2021. ISBN: 978-0-12-820331-6
António José Araújo, Hélio Sousa Mendonça; Slides, conjuntos de exercícios e outros documentos, 2023

Métodos de ensino e atividades de aprendizagem

Nas aulas teóricas serão expostos os assuntos sobre arquitetura de computadores em geral e a arquitetura RISC-V em particular, acompanhados da apresentação de exemplos.

Nas aulas práticas laboratoriais serão resolvidos exercícios envolvendo os assuntos abordados nas aulas teóricas. Adicionalmente serão desenvolvidos e testados programas simples em assembly RISC-V recorrendo a um simulador (RARS), assim como ferramentas de software que detalham a operação interna do CPU e de memória cache.

Software

RARS
Ripes; WebRISC-V; QtRVSim

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 60,00
Teste 40,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 110,00
Frequência das aulas 52,00
Total: 162,00

Obtenção de frequência

A obtenção de frequência exige que os estudantes se inscrevam em turmas (para participarem nas aulas PL) e não excedam o número limite de faltas, correspondente a 25% das aulas PL previstas, isto é, não tenham mais de 3 faltas.

A inscrição em turma faz perder a frequência que possam ter obtido em ano letivo anterior.

Fórmula de cálculo da classificação final

A classificação final (CF) da época normal é calculada pela expressão:

CF = 0,4 x Q + 0,6 x E

em que:

  • Q = Questionários realizados em aulas PL
  • E = Exame

Estudantes que tenham obtido frequência (assiduidade) no ano letivo anterior podem obter CF realizando apenas o exame (CF=E) ou, em alternativa, usando a componente de avaliação distribuída (Q) obtida no ano anterior e fazer o exame.
Estes estudantes podem ainda optar por se inscrever em turmas, perdendo a frequência (assiduidade) anterior, sendo avaliados como se fossem estudantes de primeira inscrição.

Estudantes sem obtenção de frequência não são admitidos a exame.

A classificação obtida no exame da época de recurso, se superior, substitui a classificação obtida no exame (E).

Melhoria de classificação

A melhoria de classificação pode ser efetuada realizando o exame de recurso ou o exame na época normal do ano letivo seguinte.

Observações

Dúvidas relativas a assuntos das aulas PL deverão ser colocadas, preferencialmente, aos docentes das respetivas turmas.

O responsável por esta unidade curricular está disponível para atendimento por marcação (via e-mail) ou em horário a definir:
Prof. António José Araújo (AJA), aja@fe.up.pt, gabinete I236.

 

Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-25 às 05:53:56 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias