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

Arquitetura de Computadores

Código: L.EIC006     Sigla: AC

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia Informática e Computação

Ocorrência: 2022/2023 - 2S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Eletrotécnica e de Computadores
Curso/CE Responsável: Licenciatura em Engenharia Informática e Computação

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.EIC 550 Plano Oficial 1 - 6 52 162
Mais informaçõesA ficha foi alterada no dia 2023-02-03.

Campos alterados: Fórmula de cálculo da classificação final, Componentes de Avaliação e Ocupação, Obtenção de frequência

Língua de trabalho

Português

Objetivos

ENQUADRAMENTO

A arquitetura de um computador reflete o avanço tecnológico atual, mas também estabelece os limites das suas capacidades e do seu desempenho. Variantes do conjunto de instruções ARM são usadas na grande maioria das plataformas móveis (tablete, telemóveis) atuais. Tanto a arquitetura do sistema como o conjunto de instruções têm um impacto profundo na prática diária dos engenheiros informáticos.

OBJETIVOS ESPECÍFICOS

A unidade curricular "Arquitetura de Computadores" tem por objetivo desenvolver, combinar e aplicar de forma integrada conceitos das áreas de Arquitetura de Computadores e de Linguagens de Programação.  Assim, a unidade curricular explora as relações entre o conjunto de instruções e a programação de baixo nível (linguagem "assembly"). Os mecanismos de apoio à execução eficiente de programas, como encadeamento de instruções e predição de saltos,  também serão tratados. Reconhecendo que a arquitetura de computadores vai muito para além da arquitetura do CPU, a unidade curricular abordará também os subsistemas de memória, armazenamento e periféricos. Após a conclusão com sucesso desta unidade curricular, o estudante terá adquirido a capacidade de identificar e descrever a arquitetura das plataformas computacionais em uso atualmente, bem como a capacidade de aplicar as técnicas de programação "assembly" na implementação de algoritmos.

DISTRIBUIÇÃO PERCENTUAL

  • Componente científica: 60%
  • Componente tecnológica: 40%

Resultados de aprendizagem e competências

Após frequentar esta unidade curricular, o estudante deve ser capaz de:

  1. Explicar as convenções de chamada de procedimentos e escrever programas assembly.
  2. Descrever instruções SIMD e aplicá-las em sub-rotinas de elevado desempenho.
  3. Explicar “pipelining” básico no nível das instruções e o seu efeito no desempenho.
  4. Explicar os mecanismos para lidar com dependências de dados e de controlo.
  5. Descrever organizações de memória “cache” e explicar o seu uso para melhorar o desempenho.
  6. Avaliar o desempenho dos processadores de núcleo único.
  7. Descrever a organização básica de um multiprocessador simétrico (com vários núcleos e memória partilhada).
  8. Explicar a interação do processador com os dispositivos de entrada / saída (E/S).
  9. Explicar o uso de interrupções.
  10. Descrever as características das atuais tecnologias de armazenamento secundário e avaliar o seu impacto sobre o desempenho.

Modo de trabalho

Presencial

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

Pré-requisito:

- Fundamentos de sistemas computacionais (L.EIC004) : princípios da programação em linguagem "assembly" (RISC-V) e de organização de computadores.

Programa


  1. Introdução às plataformas computacionais (CPU, memória e periféricos).

  2. Arquitetura RISC-V. Convenções de chamada entre linguagens (invocação, passagem de parâmetros).

  3. Instruções SIMD para paralelismo explícito de dados.

  4. Princípios básicos de avaliação de desempenho de um CPU.

  5. Paralelismo ao nível de instruções: “pipelining”; limitações; gestão de dependências de dados e de controle. Predição de saltos.

  6. Organizações comuns de memórias “cache” e o seu impacto no desempenho.

  7. Organização básica de um processador “multicore”.

  8. Interface com periféricos: “polling”, interrupções, DMA.

  9. Subsistemas de armazenamento de dados (discos magnéticos, unidades de estado sólido, RAID).

  10. Estimação de desempenho de tarefas que envolvem atividade E/S significativa.

Bibliografia Obrigatória

David A. Patterson; Computer organization and design. ISBN: 978-0-12-820331-6 (Versão RISC-V)
Bruce Jacob; Spencer W. Ng ; David T.Wang; Memory Systems - Cache, DRAM, Disk (Existe no portal Knovel)

Bibliografia Complementar

Jain, A., & Lee, C; Cache Replacement Policies, Morgan & Claypool , 2019. ISBN: 9781681735764

Observações Bibliográficas

O livro de Patterson & Hennessey está disponvel no portal Knovel

Métodos de ensino e atividades de aprendizagem

A unidade curricular tem uma componente teórica baseada em aulas de exposição dos diversos temas acompanhados da apresentação de exemplos e respetiva discussão. As aulas teórico-práticas incluem a apresentação, análise e resolução de um conjunto de questões e de casos de estudo, bem como a discussão e resolução de problemas que serão testados numa plataforma computacional ou num emulador de CPU.

Software

RARS
WebRISC-V

Palavras Chave

Ciências Tecnológicas > Engenharia > Engenharia de computadores

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 90,00
Participação presencial 10,00
Total: 100,00

Componentes de Ocupação

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

Obtenção de frequência

Não existem requisitos de frequência.

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

A frequência de ocorrências anteriores não é considerada.

A avaliação distribuída é composta por dois testes (1h30 cada) e pela participação presencial

A nota de participação (P) é dada por P = min(2; N × 0,2), em que N é o número de aulas TP semanais frequentadas (assiduidade).

A nota dos testes (NT) é dada por: NT = T1 × 0,5 + T2 × 0,5
em que T1 e T2 são as notas dos 1.º e 2.º teste, respetivamente (escala 0-20).

A nota final (NF) é dada por:

  • estudantes não isentos de presença nas aulas TP: NF = 0,9 × NT +  P
  • estudantes isentos de presença nas aulas TP: NF = NT.

O recurso para obtenção de aprovação pode ser global (prova de 2H00) ou parcial (T1 ou T2, 1H30 cada).

Melhoria de classificação

A classificação pode ser melhorada através da realização de uma prova sobre toda a matéria (2h00).

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-14 às 10:33:47 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias