Professor Luciano Bertini

Professor da Universidade Federal Fluminense – Campus Rio das Ostras

E-mail: lbertini @id.uff.br
Departamento de Ciência da Computação (RCM)
Instituto de Ciência e Tecnologia (ICT)

Pólo Universitário de Rio das Ostras
Universidade Federal Fluminense

RCM00014 – ARQUITETURA DE COMPUTADORES

Postado 25/ago/2017 -

Carga Horária: 64 horas aula
Período: 4º do Curso de Ciência da Computação

Presença:

  • Mínimo de 75% de presença. (Regulamento, Art. 80, §14)
  • Reprovação com média 0 se presença < 75%. (Regulamento, Art. 80, §14)
  • Nenhuma falta será abonada. (Regulamento Art. 80, §15)

Objetivos do curso:

O objetivo deste curso de Arquitetura de Computadores é dar ao aluno um entendimento mais aprofundado do funcionamento de um computador, no nível da CPU. O aluno aprenderá como comparar duas arquiteturas distintas sob o aspecto do desempenho e como são aplicados os benchmarks. Vai entender o funcionamento do conjunto de instruções de uma máquina para poder compreender como os elementos da arquitetura ou da linguagem de máquina são efetivamente usados na execução de um programa escrito em linguagem de alto nível e como suas variações influenciam a implementação eficiente de compiladores. Na segunda metade do curso, para um entendimento mais aprofundado de como é a arquitetura de uma CPU, estudaremos as técnicas de paralelismo a nível de instruções, como as técnicas de pipeline. O curso também aborda multiprocessadores e processamento vetorial, como visão geral de arquiteturas avançadas.

Avaliação:

  • Três provas: P1, P2, VR, um trabalho (T) e um exercício (EX).
  • A VR é destinada a quem perdeu uma das duas provas principais P1 ou P2.
  • A nota final em provas (P) será a média de P1 e P2.
  • A média final (N) será dada por N = 0,7*P+0,2*T+0,1*EX
  • Matéria da VR e da VS: Todos os capítulos

Slides:

Download  Capítulo 1 – Introdução
Download  Capítulo 2 – Conjunto de Instruções
Download  Capítulo 3 – Elementos do Datapath – caminho de dados e controle
Download  Capítulo 4 – Paralelismo a Nível de Instruções
Download  Capítulo 5 – Desempenho
Download  Capítulo 6 – Multiprocessadores

Trabalhos Práticos:

Implementação do conjunto de instruções do MIPS

Download Exercício valendo nota de 20/9/2018 (EX)

Material:


Notas 2019-2:


Calendário 2019-2:

seg12/8/20191Apresentação do programa da disciplina e do contexto.
Capítulo 1 - Introdução; Progresso da tecnologia; Desempenho dos processadores; Classes de Computadores; Arquitetura do Conjunto de Instruções (ISA); Exemplo: MIPS; Energia e Potência nos microprocessadores; CPI; Potência estática vs potência dinâmica; Processo de fabricação de chips
sex16/8/20192Capítulo 2 - Arquitetura do conjunto de Instruções. Introdução; Classificação de Arquiteturas de Conjuntos de Instruções; Exemplo de uma arquitetura com acumulador; Combinações Típicas de Operandos; Endereçamento de Memória
seg19/8/20193Modos de Endereçamento; Modos de endereçamento do Intel 8051; Harvard vs Von Neumann; Tipos e Tamanhos de Operandos; Instruções para Fluxo de Controle; Operações no Conjunto de Instruções; Codificação de Um Conjunto de Instruções; Exemplo: Intel 80x86
sex23/8/20194A arquitetura MIPS; Codificando Instruções MIPS; Exemplos
seg26/8/20195A arquitetura MIPS; Codificando Instruções MIPS; Exemplos
sex30/8/20196A arquitetura MIPS; Codificando Instruções MIPS; Exemplos
seg2/9/20197Capítulo 3 - O Caminho de dados monociclo do MIPS. Introdução; Uma implementação MIPS básica; Sinopse da implementação; Multiplexadores (muxes)
sex6/9/20198Sinais de controle; Implementação monociclo; Metodologia de clocking; Construindo um caminho de dados; Unidade de Controle
seg9/9/20199Operação do caminho de dados; operações básicas da ALU, Loads e Stores
sex13/9/201910Operação do caminho de dados; operações básicas da ALU, Loads e Stores
seg16/9/201911Operação do caminho de dados; Desvios condicionais e jumps incondicionais
sex20/9/201912Operação do caminho de dados; Implementando outras operações: JAL, JR, LUI, SLL, SRL, etc
seg23/9/201913Assembly do MIPS: Convenções para chamada de procedimento e Chamadas de Sistema
sex27/9/201914Assembly do MIPS: Algoritmos recursivos
seg30/9/201915Assembly do MIPS: Algoritmos recursivos
sex4/10/201916Exercício: Codificação de um algoritmo recursivo em MIPS
seg7/10/201917Implementação Multiciclo
sex11/10/201918Implementação Multiciclo
seg14/10/2019recesso
sex18/10/201919P1
seg21/10/2019Semana Academica
sex25/10/2019Semana Academica
seg28/10/2019dia do servidor público
sex1/11/201920Capítulo 4 - Introdução; Ciclo único versus pipeline; Projetando o conjunto de instruções; Pipeline Hazards Pipeline Hazards; Caminho de dados usando o pipeline;
seg4/11/201921Diagramas de Pipeline; Controle do Pipeline; Hazard de dados e forwarding;
sex8/11/201922Detecção do Hazard ; Hazard de dados e forwarding; Hazard de dados e stalls
seg11/11/201923Hazard de desvios; Caminho de dados completo; Exceções
sex15/11/2019proclamação da república
seg18/11/201924Capítulo 5 - Desempenho; Tempo de Execução; Ciclos de Clock; Escala de integração e Desempenho; CPI (Ciclos de Clock por Instrução); Número de Instruções; MIPS (Milhões de Instruções por Segundo); Benchmarks; Lei de Moore; Lei de Amdahl
sex22/11/201925Exercícios
seg25/11/201926Lei de Amdahl e princípio da Localidade; Exercícios e Exemplos Resolvidos; Gargalo de Von Newmann; Influência dos Dispositivos de I/O, memória e Barramentos; Como melhorar a arquitetura
sex29/11/201927Capítulo 6 - Introdução; Programando multiprocessadores; O problema do speed-up; Multiprocessadores conectados por um único barramento; Exemplo de programa paralelo; Coerência de cache em multiprocessadores; Sincronização; Multiprocessadores Conectados por Rede; Clusters; Topologias de rede; Multiprocessadores dentro de um Chip e Multithreading; O Cluster Google; Categorias de Paralelismo (Flynn,1966); Computadores SIMD; Computadores Vetoriais; Computadores MIMD
seg2/12/201928Cálculo do speed-up em um sistema multiprocessado
sex6/12/201929P2
seg9/12/201930VR
sex13/12/201931VS

Bibliografia:

[1] Organização e Projeto de Computadores – a interface hardware/software (3ª Edição) – David A. Patterson, John L. Hennessy
[2] Organização e Projeto de Computadores – a interface hardware/software (2ª Edição) – David A. Patterson, John L. Hennessy
[3] Arquitetura de Computadores Uma Abordagem Quantitativa, John L. Hennessy e David A. Patterson, Tradução da 3ª Edição Americana, Ed. Campus
[4] Computer Architecture: Quantitative Approach, John L. Hennessy e David A. Patterson, Fifth Edition, Elsevier

                  

Copyright ©2017 - STI - Todos os direitos reservados

Skip to content