Arq. Org.Computadores

<DC-UFRPE‎ | Bacharelado em Ciências da Computação

Programa da Disciplina

editar
Nome: Arquitetura em Ciências da Computação Código: 06508
Departamento: Bacharelado em Ciências da Computação Área: BCC
Carga-horária total: 60 horas Créditos: 4
Carga-horária semanal: 4 horas (teóricas: 4; práticas: 0; EAD*: 0)
Pré-requisitos: Programação I, Programação II, Algoritmos e Estrutura de Dados,

Teoria da Computação e Circuitos Digitais.

Ementa:

editar
  • Sistemas numéricos. Aritmética binária: ponto fixo e flutuante. Organização de computadores: memórias, unidades centrais de processamento, entrada e saída. Linguagens de montagem. Modos de endereçamento, conjunto de instruções. Mecanismos de interrupção e de exceção. Barramento, comunicações, interfaces e periféricos. Organização de memória. Memória auxiliar. Arquiteturas RISC e CISC. Pipeline. Paralelismo de baixa granularidade. Processadores superescalares e superpipeline. Multiprocessadores. Multicomputadores. Arquiteturas paralelas e não convencionais. Introdução à organização de computadores. Classificação. Sistemas de memória hierárquica. Subsistemas de entrada/saída. Processadores vetoriais. Processadores matriciais. Multiprocessadores. Outras arquiteturas.

Objetivos:

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

Conteúdo Programático:

editar

TÓPICO 1: INTRODUÇÃO, ABSTRAÇÃO E TECNOLOGIA DO COMPUTADOR

editar

Este tópico além da introdução, engloba os seguintes conceitos:

Tópico 1: Introdução, Abstração e Tecnologia do Computador

1.1. Por debaixo de um programa

1.2. Desempenho de Computadores

1.3. De uniprocessadores para multiprocessadores

TÓPICO 2. INSTRUÇÕES DE LINGUAGEM DE MÁQUINA

editar

O tópico 2  "Instruções Linguagem de Máquina" engloba os seguintes subtópicos

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 e Switch/Case

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

TÓPICO 3. O PROCESSADOR

editar

O Tópico 3. O Processador engloba os seguintes subtópicos:

3.1 Convenções de projeto

3.2 Construindo um datapath

3.3 Datapath Pipeline e controle

3.3.1 Hazards de Dados em instruções com a ULA

3.3.2. Hazards de Dados Load-Use

3.3.3. Hazards

3.4 Hazards do pipeline

3.5 Exceções e interrupções

3.6 Superescalares

TÓPICO 4 - HIERARQUIA DE MEMÓRIA

editar

Tópico 4. Hierarquia de memória

4.1 Os princípios de cachê

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

TÓPICO 5 - PROCESSADORES PARALELOS

editar

Tópico 5 - Processadores Paralelos

5.1. Desafios do Paralelismo

5.2. Tipos de Sistemas de Processadores Paralelos

5.3. Mutiprocessadores Simétricos (SMP) ou Multiprocessadores de Memória Compartilhada

5.4. Acesso Não Uniforme a Memória (NUMA)

5.5. Clusters e Computadores em Escala de Warehouse

5.6. Multithreading

5.7 GPU

TÓPICO 6. ARMAZENAMENTO E OUTROS TÓPICO EM E/S

editar

6. Armazenamento e Outros Tópico em E/S

6.1 Confiança, confiabilidade e disponibilidade

6.2 Armazenamento em disco

6.3 Conexão de processadores, memória e dispositivos E/S

6.4. Sistema Operacional

6.5 Medidas de desempenho

6.6 Projetando um sistema de E/S



Materiais de apoio para estudo:

Bibliografia básica:

editar
  1. Patterson, D. A. e Hennessy, John L. Organização e Projeto de Computadores. 5ª Edição;
  2. Stallings, William. Arquitetura e Organização de Computadores. 8ª Edição;
  3. Tanenbaum, Andrew S. Organização Estruturada De Computadores. 5ª Edição.