Arquitetura de Computadores
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Eletrónica e Sistemas Digitais |
Ocorrência: 2023/2024 - 1S 
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 |
272 |
Plano Oficial |
2 |
- |
6 |
52 |
162 |
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 pessoal;
- 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 numericamente 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 seguinte tópicos:
- Introdução. Áreas de aplicação de computadores e suas características. Programas: linguagens de alto nível, 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, comparação e salto. 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 das penalidades associadas a falhas de 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 resolução de exercícios.
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 utilizadas ferramentas de apoio que detalham a operação interna do CPU e de memória cache.
Software
RARS
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 nas turmas faz perder a frequência que possam ter obtido em ano 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 realizada nas aulas PL (correspondente a Q) obtida no ano anterior e fazer o exame.
Estes estudantes podem ainda optar por se inscrever em turmas, como se fossem estudantes de primeira inscrição, perdendo a frequência (assiduidade) anterior e sendo avaliados como estudantes na 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.
Os docentes responsáveis por esta unidade curricular estão disponíveis 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;
- Prof. Hélio Sousa Mendonça (HSM), hsm@fe.up.pt, gabinete I230.