Departamento de Informática e Estatística

Programas de Ensino
Visitante (Entrar)

Programa de Ensino 20082

Aprovado pelo Departamento em: 25-6-2008

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5366 - Arquitetura de Computadores I (b2)
    • Carga horária: 72 horas-aula      Teóricas: 72      Práticas: 0
    • Período: Início da oferta da disciplina até a presente data
  2. Curso(s):
    • Ciências da Computação (208)
  3. Requisito(s):
    • Ciências da Computação (208)
      • EEL5310 - Sistemas Digitais
  4. Ementa:
    • Noções de organização interna de computadores: unidade central de processamento, memória, entrada/saida. Organização da unidade de processamento:unidade aritmética e lógica, unidade aritmética em ponto flutuante. Organização da unidade de controle: hardware fixo e microprogramação. Linguagem de máquina. Modos de endereçamento. Tipos de operações. hierarquia e gerenciamento de memória. Subsistemas de entrada/saida. Mecanismos de aceleração. Processadores RISC. Arquiteturas especiais.
  5. Objetivo(s):
    • Geral: Apresentar a interação entre hardware e software, delineando a interface entre o hardware, o compilador e o sistema operacional, além de introduzir noções quantitativas quanto ao impacto do hardware no desempenho de programas.
    • Específicos:
      1. Descrever o suporte de hardware necessário à execução de programas.
      2. Apresentar os conceitos fundamentais de um computador em termos de seus componentes básicos (processador, sistema de memória e dispositivos de entrada e saída) abstraindo-se da implementação física.
      3. Mostrar ao aluno exemplos reais e contemporâneos desses componentes básicos.
  6. Conteúdo Programático:
    • ORGANIZAÇÃO DE UM COMPUTADOR [5 horas-aula]
      • Componentes básicos de um computador.
      • O papel da tecnologia de circuitos integrados no projeto de um computador.
      • Tendências tecnológicas na construção de computadores.
    • DESEMPENHO EM UM COMPUTADOR [7 horas-aula]
      • Medida e métrica de desempenho.
      • Programas para avaliação de desempenho (“benchmarks”).
      • Formas de comparação de desempenho.
      • Exemplo real de comparação de desempenho
    • O CONJUNTO DE INSTRUÇÕES DE UM COMPUTADOR [13 horas-aula]
      • Suporte para operações em HW.
      • Suporte para operandos em HW.
      • Representação de instruções.
      • Instruções aritméticas e lógicas.
      • Instruções para tomadas de decisão.
      • Suporte para procedimentos.
      • Modos de endereçamento.
      • Papéis do compilador, assembler, ligador e carregador.
      • Exemplos de tradução de linguagem de alto nível em assembly.
      • Exemplo real: instruções IA-32.
    • ARITMÉTICA INTEIRA [3 horas-aula]
      • Representação em ponto fixo.
      • Adição e subtração.
      • Overflow e extensão de sinal.
    • O PROCESSADOR: UNIDADES DE PROCESSAMENTO E CONTROLE [13 horas-aula]
      • Estrutura de uma unidade de processamento (UP).
      • Exemplo de implementação mono-ciclo de uma UP.
      • Exemplo de implementação de uma UP com múltiplos ciclos.
      • Unidade de controle (UC) microprogramada.
      • Tratamento de exceções.
      • Exemplo real: organização de CPUs IA-32 recentes.
    • ACELERAÇÃO COM TÉCNICAS DE “PIPELINING” [11 horas-aula]
      • Hazards estruturais, de dados e de controle.
      • Impacto dos hazards no desempenho.
      • Organização de uma UP com pipeline e respectiva unidade de controle.
      • Técnicas avançadas de pipelining: despacho múltiplo, especulação, escalonamento dinâmico.
      • Exemplo real: o pipeline de uma CPU IA-32 recente.
    • GERENCIAMENTO DE MEMÓRIA [11 horas-aula]
      • A estrutura hierárquica de memória.
      • Memórias cache: associatividade e múltiplos níveis.
      • Memória virtual e suporte de HW para tradução de endereços (TLB).
    • DISPOSITIVOS DE ENTRADA E SAÍDA (E/S) [9 horas-aula]
      • Tipos e características de dispositivos de E/S.
      • Conexão de dispositivos de E/S com processador e memória.
      • Interfaceamento de dispositivos de E/S com a memória, o processador e o sistema operacional (polling, via interrupção, DMA).
      • Exemplo real: sistema embarcado
  7. Bibliografia Básica:
    • David A. Patterson and John L. Hennessy, “Computer Organization and Design: The Hardware/Software Interface”, 3rd edition, Morgan Kaufmann Publishers, San Francisco, California, USA, 2007.
  8. Bibliografia Complementar:
    • John L. Hennessy and David A. Patterson, “Computer Architecture: A Quantitative Approach”, 4th edition, Morgan Kaufmann Publishers, San Francisco, California, 2003.