DC-UFRPE/Bacharelado em Ciência da Computação/Arquitetura e Organização de Computadores
Programa da Disciplina
[editar | editar código-fonte]Nome: | ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES |
Código: | 14064 |
Departamento: | Departamento de Computação (DC) |
Área: | Computação |
Carga-horária total: | 60 horas |
Créditos: | 4 |
Pré-requisitos: | CIRCUITOS DIGITAIS (Cód. 14063) |
Ementa
[editar | editar código-fonte]- 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 | editar código-fonte]- Entender o funcionamento básico de um processador, suas instruções e seu relacionamento com dispositivos periféricos e de armazenamento.
Conteúdo
[editar | editar código-fonte]TÓPICO 1: INTRODUÇÃO, ABSTRAÇÃO E TECNOLOGIA DO COMPUTADOR
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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
Bibliografia Básica
[editar | editar código-fonte]- Patterson, D. A. e Hennessy, John L. Organização e Projeto de Computadores. 5ª Edição.
- Stallings, William. Arquitetura e Organização de Computadores. 8ª Edição.
- Tanenbaum, Andrew S. Organização Estruturada De Computadores. 5ª Edição.