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

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

                  

RCM00012 – LABORATÓRIO DE CIRCUITOS DIGITAIS

 

Carga Horária: 32 horas aula
Pré-Requisito: Fundamentos de Arquitetura de Computadores (RCT00013)
Período: 3º do Curso de Ciência da Computação

Presença:

Mínimo de 75% de presença. (Regulamento, Art. 80, §14) (ou seja: no máximo 4 faltas)
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:

Comprovar na prática os conceitos ensinados na disciplina RCT00011 – Circuitos Digitais. Serão abordados os conceitos de portas lógicas, circuitos combinacionais e circuitos sequenciais. Cada aula consistirá da implementação de um circuito digital utilizando-se como hardware uma placa de desenvolvimento com FPGA da ALTERA. O desenvolvimento será feito através do editor esquemático. Não será foco do curso o estudo das linguagens de descrição de hardware. A placa utilizada será a DE2-70 ou DE2-115, mostrada abaixo.


Avaliação:

A avaliação será feita ao longo do semestre, com a execução dos experimentos, com entrega de um relatório a cada aula.

Slides:

Sequência de ações para criar o projeto (resumo). Passo a passo para a criação de um projeto esquemático no QuartusII da Aletra.

 

 


Bibliografia:

[1] Sistemas Digitais – Princípios e Aplicações, 8a Edição, Ronald Tocci e Neal Widmer, Pearson/Prentice Hall
[2] Sistemas Digitais – Uma Abordagem Integrada, John P. Uyemura, Thomson Pioneira
[3] Digital Systems: Principles and Applications, 11 Edition, Ronald Tocci, Neal Widmer, & Greg Moss, Pearson/Prentice Hall

                            

RCM00011 – CIRCUITOS DIGITAIS

Carga Horária: 64 horas aula
Período: 3º 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 do curso de Circuitos Digitais é apresentar ao aluno os princípios, os conceitos e as operações fundamentais que são comuns aos sistemas digitais. O entendimento de circuitos digitais é pré-requisito para posteriormente entender-se o funcionamento de um circuito digital mais complexo: o microprocessador. Serão abordados os conceitos de portas lógicas, circuitos combinacionais e circuitos sequenciais. O conhecimento adquirido será suficiente para permitir a análise e manutenção de qualquer sistema digital.
Avaliação:

  • Três provas: P1, P2 e VR.
  • A VR é destinada a quem perdeu uma das duas provas principais P1 e P2.
  • Matéria da VR e da VS: Todos os capítulos

Slides:

Capítulo 1 – Introdução
Capítulo 2 – Sistemas de Numeração e Códigos
Capítulo 3 – Portas Lógicas e Álgebra Booleana
Capítulo 4 – Circuitos Combinacionais
Capítulo 5 – Aritmética Digital
Capítulo 6 – Circuitos Sequenciais
Capítulo 7 – Contadores
Capítulo 8 – Registradores

Materiais:

Download Lista de exercícios para a P1

Download Lista de exercícios para a P2

Calendário 2019-2

seg12/8/20191Apresentação da Disciplina
Cap 1 - Introdução; Representações Numéricas; Instrumentação Industrial; Analógico x Digital; Sistemas Analógicos e Digitais; Vantagens e Limitações das técnicas digitais; Conversão A/D e D/A; Desvantagens dos S.D.; Sinal Amostrado (sample and hold); Harmônicos (Fourier)
sex16/8/20192Sistemas de Numeração Digital; Contagem Decimal x Binária; Contadores Binários; Representação de Quantidades Binárias; O Dip Switch; Exemplos de CIs: 74HCT245/74HC245; Sinais Digitais e Diagramas de Tempo; Visualização de Diagramas de tempo: osciloscópio digital; Circuitos Digitais/Circuitos Lógicos; Transmissão Paralela e Serial; Circuitos com Memória; O Computador Digital; Circuito digital de uma CPU
seg19/8/20193Cap. 2 - Sistemas de Numeração e Códigos
Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade
sex23/8/20194Cap. 3 - Portas Lógicas e Álgebra Booleana; Tabela Verdade; Operações OR e AND; Portas OR e AND; Exemplos; Inversor; Resumo das Operações Lógicas Booleanas; Expressões Algébricas; Avaliando a Saída dos Circuitos Lógicos
seg26/8/20195Implementando circuitos a partir de expressões Booleanas; Portas NAND e NOR; Teoremas Booleanos;
sex30/8/20196Teoremas Booleanos
seg2/9/20197Teoremas de Demorgan; Universalidade das portas NAND e NOR; Símbolos Lógicos Padrão IEEE/ANSI
sex6/9/20198Cap. 4 - Circuitos Combinacionais; Soma de produtos e produto de somas; Simplificação algébrica; Mintermos e maxtermos; Simplificação Algébrica
seg9/9/20199Projeto de circuitos lógicos combinacionais; Mapas de Karnaugh
sex13/9/201910Mapas de Karnaugh
seg16/9/201911Mapas de Karnaugh
sex20/9/201912Portas XOR e XNOR; Gerador e Verificador de Paridade; Circuitos para habilitar e desabilitar; MUXES e DEMUXES
seg23/9/201913Cap. 5 - Aritmética Digital
Números decimais; Números binários positivos; Adição Binária; Números negativos; Extensão do bit de sinal; Adição e Subtração ; Overflow Aritmético.
sex27/9/201914Circuitos Aritméticos; Somador Binário Paralelo; Projeto de um Full Adder (FA); Somador completo com registradores; Atraso de propagação do Carry; Circuitos Integrados somadores
seg30/9/201915Exercícios
sex4/10/201916P1
seg7/10/201917Correção da prova/vista
sex11/10/201918Cap 6 - Circuitos Sequenciais
Circuitos com memória; Latches NAND e NOR e exemplos de utilização; Estado do Flip-flop ao ligar o circuito ; Pulsos digitais; Sinais de clock e flip-flops com clock – circuitos síncronos e assíncronos
seg14/10/2019recesso
sex18/10/201919Flip-flop S-R com clock de transição positiva e negativa; Circuito interno de um flip-flop com clock; Flip-flop J-K com clock
seg21/10/2019Semana Academica
sex25/10/2019Semana Academica
seg28/10/2019dia do servidor público
sex1/11/201920Flip-flop D com clock; Latch D (latch transparente); Entradas Assíncronas PRESET e CLEAR; Flip-flop T
seg4/11/201921Aplicações com flip-flops; Sincronização com flip-flops; Detecção de sequências de entrada; Armazenamento e transferência de dados ; Transferência de dados paralela; Transferência de dados serial: registradores de deslocamento (shift registers); Transferência Serial vs Paralela; Divisão de frequência e contadores binários (assíncronos); Contador BCD; Dispositivos SCHMITT-TRIGGER; Multivibrador monoestável; Circuitos Geradores de Clock; Osciladores Schmitt-Trigger; Timer 555 usado como um multivibrador astável
sex8/11/201922Cap. 7 - Contadores
Contadores Assíncronos (Ripple); MOD número; Divisão de Frequência; Atraso de propagação nos contadores assíncronos; Contadores Síncronos; Contadores com MOD-number < 2^N; Contadores Síncronos DOWN e UP/DOWN; Contadores com PRESET; Contadores UP/DOWN com PRESET; Arranjos Multi-estágios; Decodificando um Contador
seg11/11/201923Análise e projeto de Contadores Síncronos com flip-flops JK e D
sex15/11/2019proclamação da república
seg18/11/201924Análise e projeto de Contadores Síncronos com flip-flops JK e D
sex22/11/201925Análise e projeto de Contadores Síncronos com flip-flops JK e D
seg25/11/201926Cap 8 - Registradores
PARALLEL IN / PARALLEL OUT 74LS174/74HC174
SERIAL IN / SERIAL OUT —74ALS166/74HC166
PARALLEL IN / SERIAL OUT— 74ALS165/74HC165
SERIAL IN / PARALLEL OUT—74ALS164/74HC164
Shift-registers como Contadores – Contador em anel
Shift-registers como Contadores – Contador Johnson
sex29/11/201927Shift-registers como Contadores – Contador em anel e Contador Johnson
seg2/12/201928Exercícios
sex6/12/201929P2
seg9/12/201930VR
sex13/12/201931VS

Bibliografia:

[1] Sistemas Digitais – Princípios e Aplicações, 8a Edição, Ronald Tocci e Neal Widmer, Pearson/Prentice Hall
[2] Sistemas Digitais – Uma Abordagem Integrada, John P. Uyemura, Thomson Pioneira
[3] Digital Systems: Principles and Applications, 11 Edition, Ronald Tocci, Neal Widmer, & Greg Moss, Pearson/Prentice Hall

              

Copyright ©2017 - STI - Todos os direitos reservados

Skip to content