Arquitetura e Organização de Computadores

GSI514

Professor Silvio E. Quincozes (S. E. Quincozes)

Ementa (resumida): tópicos sobre a arquitetura de Von Neumann, linguagem de montagem, estruturas de conexão, hierarquia de memória, interação com o sistema operacional, arquitetura de conjunto de instruções, unidades de processamento, arquiteturas paralelas e seus tipos (entre outos assuntos relacionados).

Carga horária: 60H.

Contador de visitas

Plano de Ensino

Esta é uma versão informativa resumida, consulte também a versão completa.

Ementa

Ementa da disciplina
  • Visão geral da arquitetura de Von Neumann;
  • Linguagem de montagem;
  • Estruturas de conexão entre processador, memória e E/S;
  • Hierarquia de memória:
    • Cache;
    • Memória principal;
    • Memória secundária.
  • Interação com o sistema operacional;
  • Desempenho na computação:
    • Métricas e seu relacionamento;
    • Benchmarks.
  • Arquitetura do conjunto de instruções:
    • Registradores;
    • Tipos de dados;
    • Tipos de instruções;
    • Representação de instruções;
    • Modos de endereçamento;
    • Procedimentos e manipulação da pilha;
    • RISC x CISC.
  • Unidade central de processamento:
  • Unidade de controle e caminho de dados:
  • Arquiteturas paralelas:
    • Taxonomia de arquiteturas paralelas;
    • Redes de conexão;
    • Multiprocessadores simétricos – SMP;
    • Máquinas Numa;
    • Coerência de cache com múltiplos processadores;
    • Clusters;
    • Processadores vetoriais;
    • Processadores matriciais.
Período 2022/02

Objetivos

Objetivo Geral
  • Capacitar o aluno a compreender o hardware de um sistema computacional e seus vários módulos, desenvolvendo uma visão crítica sobre os requisitos de desempenho associados e adquirir habilidade de programação em linguagem de baixo nível (assembly).
Objetivos específicos:
  • Apresentar uma Visão geral da arquitetura de Von Neumann
  • Compreender as estruturas de conexão entre processador, memória e E/S
  • Compreender a hierarquia de memória e o seu funcionamento
  • Estudar métricas e o desempenho de um sistema computacional
  • Compreender os conceitos fundamentais da arquitetura do conjunto de instruções:
    • Registradores
    • Tipos de dados
    • Tipos de instruções
    • Representação de instruções
    • Modo de endereçamento
    • Procedimentos e manipulação da pilha
  • Estudar as principais partes de um computador
  • Entender a diferença entre arquitetura Risc e Cisc
  • Compreender o funcionamento da Unidade Central de Processamento e seus componentes
  • Estudar arquiteturas paralelas e suas principais características
  • Estudar a linguagem de máquina
Período 2022/02

Programa

Unidade 1: Visão geral dos computadores modernos
  • Máquinas multinível
  • Componentes do computador
  • Modelo de Von Neumann
  • Conceituação, funcionamento e descrição dos componentes
  • Modelo de barramento de sistemas
    • barramentos de dados
    • controle e endereços
    • evolução da arquitetura dos computadores
Unidade 2: Linguagem de máquina
  • Conjunto de instruções e modos de endereçamento
  • Operações e operandos no hardware do computador
  • Representação de instruções de máquina
  • Operações lógicas e aritméticas
  • Instruções para tomada de decisões
  • Modos de endereçamento
  • Introdução ao funcionamento dos compiladores
  • Programação em linguagem de montagem (assembly)
  • Exemplos nas arquiteturas MIPS e IA-32
Unidade 3: Avaliando e compreendendo o desempenho
  • Desempenho da UCP e seus fatores
  • Avaliando o desempenho
  • Benchmarks para avaliação de desempenho
Unidade 4: Caminho de dados e controle
  • Convenções lógicas de projeto
  • Implementação de caminho de dados de ciclo único e multiciclo
  • Tratamento de exceções
  • Projeto da unidade de controle
  • Microprogramação na unidade de controle
5. Melhorando o desempenho com pipeline
  • Conceitos de pipelining
  • Hazards de dados e encaminhamento
  • Hazards de dados e stalls
  • Pipelining avançado
6. Hierarquia de memória
  • Princípios básicos de cache
  • Medindo e melhorando o desempenho da cache
  • Memória virtual
  • Exemplos de hierarquias de memória virtual
7. Subsistema de entrada e saída, barramentos e dispositivos de E/S
  • Armazenamento e confiabilidade
  • Barramentos e outras conexões entre processadores
  • Memória e dispositivos de E/S
  • Técnicas de Entrada e Saída (E/S)
  • Comunicação serial e paralela
  • Medidas de desempenho de E/S
8. Computadores paralelos
  • Taxonomia de computadores paralelos
  • Computação em memória compartilhada e distribuída
  • Desempenho em sistemas paralelos

Avaliação

Datas de Avaliações
  • Primeiro Seminário (S1): 22/03/2023 (10 Pontos);
  • Primeira Prova Teórica (P1): 29/03/2023 (20 Pontos);
  • Segundo Seminário (S2): 25/04/2023 (10 Pontos);
  • Segunda Prova Teórica (P2): 03/05/2023 (20 Pontos);
  • Terceiro Seminário (S3): 31/05/2023 (10 Pontos);
  • Terceira Prova Teórica (P3): 07/06/2023 (20 Pontos)
  • Participação nas Aulas presenciais: 10 Pontos
  • Recuperação (20/06/2023): A recuperação substitui uma das provas, a escolha do aluno. Todo aluno que atingir a frequência mínima de 75% e nota inferior à 60% está elegível para a recuperação.
Período 2022/02

Bibliografia

Básica
  • HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de computadores: uma abordagem quantitativa. 4. ed. Rio de Janeiro: Campus, 2008.
  • TANENBAUM, A. S. Organização Estruturada de Computadores. 5. ed. [S. l]: Prentice- Hall Brasil, 2007.
  • HENNESSY, J. L.; PATTERSON, D. A. Organização e Projeto de Computadores: A Interface Hardware/Software. 3. ed. Rio de Janeiro: Campus, 2005.
  • Complementar
  • DELGADO, J; RIBEIRO, C. Arquitetura de computadores. 2. ed. Rio de Janeiro: LTC, 2009.
  • STALLINGS, W. Arquitetura e organização de computadores. 5. ed. São Paulo: Prentice- Hall Brasil, 2010.
  • MONTEIRO, M. A. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. STALLINGS, W. Arquitetura e organização de computadores: projeto para o desempenho. 5. ed. São Paulo: Prentice Hall, 2002.
  • WEBER, R. F. Fundamentos de Arquitetura de Computadores. 3. ed. Porto Alegre: Sagra-Luzzatto, 2012.
  • Período 2022/02

    Aulas & Materias

    Quartas-Feiras / Sextas-Feiras

    DAS 9:50 ÀS 11:30
    UNIDADE 1: VISÃO GERAL DOS COMPUTADORES MODERNOS
  • 28/02/2023 - Aulas 1 e 2: Máquinas multinível e componentes do computador.
  • 01/03/2023 - Aulas 3 e 4: Modelo de Von Neumann e conceituação, funcionamento e descrição dos componentes.
  • 14/03/2023 - Aulas 5 e 6: Modelo de barramento de sistemas e evolução da arquitetura dos computadores.
  • 15/03/2023 - Aulas 7 e 8: Barramentos de dados, controle e endereços.
  • 21/03/2023 - Aulas 9 e 10: Primeiro Seminário (S1 - 10 pontos).
  • UNIDADE 2: LINGUAGEM DE MÁQUINA
  • 22/03/2023 - Aulas 11: Conjunto de instruções e modos de endereçamento.
  • 22/03/2023 - Aulas 12: Operações e operandos no hardware do computador.
  • 28/03/2023 - Aulas 13 e 14: Representação de instruções de máquina.
  • 29/03/2023 - Aulas 15: Operações lógicas e aritméticas e instruções para tomada de decisões.
  • 29/03/2023 - Aulas 16: Modos de endereçamento e introdução ao funcionamento dos compiladores.
  • 04/04/2023 - Aulas 17 e 18: Programação em linguagem de montagem (assembly) e exemplos nas arquiteturas MIPS e IA-32.
  • 05/04/2023 - Aulas 19 e 20: Primeira Prova Teórica (P1 - 20 pontos).
  • UNIDADE 3: AVALIANDO E COMPREENDENDO O DESEMPENHO
  • 11/04/2023 - Aulas 21 e 22: Desempenho da UCP e seus fatores.
  • 12/04/2023 - Aulas 23 e 24: Avaliando o desempenho e benchmarks para avaliação de desempenho.
  • 18 e 19/04/2023 - Aulas 25 a 28: Segundo Seminário (S2 - 10 pontos).
  • UNIDADE 4: CAMINHO DE DADOS E CONTROLE
  • 25/04/2023 - Aulas 29 e 30: Convenções lógicas de projeto e Implementação de caminho de dados de ciclo único e multiciclo.
  • 26/04/2023 - Aulas 31 e 32: Tratamento de exceções e Projeto da unidade de controle.
  • 02/05/2023 - Aulas 33 e 34: Microprogramação na unidade de controle e Conceitos de pipelining.
  • 03/05/2023 - Aulas 35 e 36: Segunda Prova Teórica (P2 - 20 pontos).
  • UNIDADE 5: MELHORANDO O DESEMPENHO COM PIPELINE
  • 09/05/2023 - Aulas 37 e 38: Conceitos de pipelining e Hazards de dados e encaminhamento.
  • 10/05/2023 - Aulas 39 e 40: Hazards de dados e stalls e Pipelining avançado.
  • UNIDADE 6: HIERARQUIA DE MEMÓRIA
  • 16/05/2023 - Aulas 41 e 42: Princípios básicos de cache e Medindo e melhorando o desempenho da cache.
  • 17/05/2023 - Aulas 43 e 44: Memória virtual e Exemplos de hierarquias de memória virtual.
  • UNIDADE 7: SUBSISTEMA DE ENTRADA E SAÍDA, BARRAMENTOS E DISPOSITIVOS DE E/S
  • 23/05/2023 - Aulas 45 e 46: Armazenamento e confiabilidade e Barramentos e outras conexões entre processadores.
  • 24/05/2023 - Aulas 47 e 48: Memória e dispositivos de E/S e Técnicas de Entrada e Saída (E/S).
  • UNIDADE 8: COMPUTADORES PARALELOS
  • 30/05/2023 - Aulas 49 e 50: Taxonomia de computadores paralelos e Computação em memória compartilhada e distribuída.
  • 31/05/2023 - Aulas 51 e 52: Desempenho em sistemas paralelos.
  • 06,07 e 13/06/2023 - Aulas 53 a 48: Terceiro Seminário (S3 - 10 Pontos).
  • 14/06/2023 - Aulas 59 e 60: Terceira Prova (P3 - 20 Pontos).

  • Contato

    E-mail Institucional

    Universidade Federal de Uberlândia

    Prof. Silvio E. Quincozes
    sequincozes@ufu.br

    Site Pessoal

    Universidade Federal de Uberlândia

    Prof. Silvio E. Quincozes
    https://www.facom.ufu.br/~sequincozes/