DC-UFRPE/Licenciatura Plena em Computação/Arquitetura e organização de computadores

DC-UFRPE/Licenciatura Plena em Computação/Arq. Org. de Computadores

editar

< DC-UFRPE‎ | Licenciatura Plena em Computação

Índice

editar

Programa da Disciplina

editar

Conteúdos do período letivo 2022.1

1 Introdução

    1.1 Conceitos Básicos

    1.2 Contexto Histórico

    1.3 Sistemas Computacionais

2 Processadores

    2.1 Aritmética computacional

    2.2 Unidade de Lógica e Aritmética

    2.3 Unidade de Controle

    2.4 Definições iniciais sobre instrução

3 Hierarquia de Memória

    3.1 Memória Principal

    3.2 Memória cache

    3.3 Memória Secundária

4 Entrada e saída (E/S)

    4.1 Interfaces e tipos de transmissão

    4.2 Dispositivos

    4.3 Métodos operativos de E/S

5 Representação de Dados

    5.1 Tipos de dado

    5.1.1 Caractere

    5.1.2 Lógico

    5.1.3 Numérico

    5.2 Representações.

6 Arquiteturas

    6.1 CISC

    6.2 RISC

7 Conjunto de instruções

    7.1 Formato

    7.2 Operandos

    7.3 Endereçamento

    7.4 Assemby e Assembler

8 Arquiteturas não convencionais (tópico extra)

    8.1 Inovações

Nome: Arquitetura e Org. Computadores Código: 014063
Departamento: Computação Área: DC
Carga-horária total: 60 horas Créditos: 4
Carga-horária semanal: 4 horas (teóricas: 2; práticas: 2; EAD*: 0)
Pré-requisitos: Circuitos Digitais Co-requisitos: Nenhum

Ementa

editar
 
Exemplo de processador I5 3230m

Organização de computadores: memórias, unidades centrais de processamento, entrada e saída. Linguagens de montagem. Modos de endereçamento e conjunto de instruções. Mecanismos de interrupção e de exceção. Barramento, comunicações, interfaces e periféricos. Subsistemas de entrada/saída. Organização hierárquica de memória. Arquiteturas RISC e CISC. Pipeline. Paralelismo de baixa granularidade. Processadores super-escalares e super-pipeline. Introdução à processadores vetoriais, matriciais, multiprocessadores e multi-computadores. Introdução a arquiteturas paralelas e não convencionais. Outras arquiteturas.

Objetivos

editar

Objetivo geral • Entender o funcionamento básico de um processador, suas instruções e seu relacionamento com dispositivos periféricos e de armazenamento

Específicos:

  • Estudar o funcionamento básico de um processador;
  • Conhecer o fluxo de execução de instruções, estudando todos os principais elementos que operam para sua realização.
  • Entender o formato e uso de instruções através do uso de linguagem de montagem e de máquina;
  • Entender a hierarquia de memória e seu relacionamento com o processador;
  • Entender a interface e formas de comunicação dos dispositivos periféricos com o processador;
  • Analisar e avaliar parâmetros de projeto de arquiteturas de computadores

O que é Arquitetura de Computadores? Por que devo estudar?

Conteúdo Programático

editar
  • 1. Abstrações e Tecnologia do Computador
1.1 Por baixo de um programa
1.2 Desempenho de computadores
1.3 De uniprocessadores para multiprocessadores
2.1 Operações e operandos de um computador
2.2 Operações com números com e sem sinal
2.3 Representando instruções no computador
2.4 Instruções para tomada de decisões
2.5 Suporte a procedimentos
2.6 Constantes e endereçamento de memória
2.7 Paralelismo e instruções
2.8 Tradução e inicialização de um programa
  • 3. O Processador
     
    Processador I5 3230m
3.1 Convenções de projeto
3.2 Construindo um datapath
3.3 Datapath Pipeline e controle
3.4 Hazards do pipeline
3.5 Exceções e interrupções
3.6 Superescalares
  • 4. Hierarquia de memória
     
    Memória 2GB DDR3 Desktop RAM 1333Mhz
4.1 Os princípios de cache
4.2 Medir e melhorar o desempenho de cache
4.3 Memória virtual
4.4 Máquinas virtuais
4.5 Paralelismo e hierarquias de memória
  • 5. Armazenamento e outros temas de E/S
     
    Disco rígido
5.1 Confiança, confiabilidade e disponibilidade
5.2 Armazenamento em disco
5.3 Conexão de processadores, memória e dispositivos E/S
5.4 Sistema operacional
5.5 Medidas de desempenho
5.6 Projetando um sistema de E/S
  • 6. Multicores, Multiprocessadores e Clusters
6.1 Programas de processamento paralelo
6.2 Multiprocessadores de memória compartilhada
6.3 Clusters e outros multiprocessadores message-passing
6.4 Hardware multithreading
6.5 SISD, MIMD, SIMD e SPMD
6.6 Introdução ao multiprocessador baseado em rede

Links externos de apoio à disciplina

editar

Playlist de apoio feito pela professora da disciplina:

Bibliografia

editar

Bibliografia básica:

editar
  1. Hennessy, J., Patterson, D., “Computer Organization and Design”, 4 th Edtion Revised Printing, Morgan Kaufmann-Elsevier, 2012.
  2. Parhami, B. "Arquitetura de Computadores: de microprocessadores a supercomputadores". 1ª Edição. 2008.
  3. Stallings, W. Arquitetura e Organização de Computadores, décima edição. São Paulo, Makron Books, 2017.
  4. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 4th edition, Morgan Kaufmann-Elsevier, 2006

Bibliografia Complementar:

editar
  1. Tanembaum, A.S. Organização Estruturada de Computadores. Rio de Janeiro, LTC, 2001.
  2. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 3rd edition, Morgan Kaufmann-Elsevier, 2002.
  3. Hennessy, J., Patterson, D., "Computer Architecture: A Quantitative Approach", 5th edition, Morgan Kaufmann-Elsevier, 2011.
  4. Clements A. “Computer Organization & Architecture: Themes and Variations”, Cengage Learning, 2013.
  5. Harris, D., Harris, S. “Digital Design and Computer Architecture”, 2sd edition, Morgan Kaufmann-Elsevier, 2012.
  6. Stallings, W., “Computer Organization and Architecture”, 9th Edition, 2012