Introdução a Arquitetura de Computadores

Alisson Vasconcelos de Brito


Índice

1. Introdução
1.1. O que é a Arquitetura de um Computador?
1.2. Por que estudar Arquitetura de Computadores?
1.3. Um aluno de Licenciatura em Computação precisa estudar
1.4. Arquitetura geral
1.4.1. Operações básicas
1.5. Sistemas Analógicos x Sistemas Digitais
1.6. O Transistor
1.7. A Lei de Moore
1.8. A evolução dos computadores
1.8.1. O ENIAC
1.8.2. A Arquitetura de von Neumann
1.8.3. A IBM
1.8.4. As gerações dos computadores
1.8.5. Memórias de semicondutores
1.8.6. A Intel
1.8.7. A Apple e a Microsoft
1.9. Recapitulando
1.10. Atividades
2. Unidade Central de Processamento (CPU)
2.1. O que é um programa?
2.1.1. Software X Hardware
2.2. Estrutura de uma CPU
2.2.1. Os papéis dos barramentos e da memória
2.2.2. Os registradores
2.2.3. Unidade Lógica e Aritmética (ULA)
2.2.4. Unidade de Controle (UC)
2.3. Ciclo de Instrução
2.3.1. Busca de Dados
2.4. Interrupções
2.5. Sobre o desempenho
2.6. Exemplo de execução de um programa
2.7. Aumentando o desempenho com Pipeline
2.8. Limitações do Pipeline
2.8.1. Medidas de desempenho
2.8.2. Exemplos de calcular o desempenho de um processador
2.9. Recapitulando
3. Unidade de Controle
3.1. Introdução
3.2. Microoperações
3.2.1. Busca de Instrução
3.2.2. Busca indireta
3.2.3. Execução
3.2.4. Salvar resultado
3.2.5. Salto condicional
3.3. Tipos de Microoperações
3.4. Decodificação
3.5. Exemplo
3.5.1. Busca de Instrução
3.5.2. Decodificação
3.5.3. Busca de Dados
3.5.4. Execução
3.5.5. Salva Resultados
3.5.6. Instrução completa
3.6. Recapitulando
4. Conjunto de Instruções
4.1. Introdução
4.2. O projeto de um Conjunto de Instruções
4.2.1. Arquitetura
4.3. Aspectos do Projeto do Conjunto de Instruções
4.3.1. Modelo de Memória
4.3.2. Tipos de Dados
4.3.3. Formato das Instruções
4.3.4. Tipos de Instruções
4.3.5. Modos de Endereçamento
4.4. RISC x CISC
4.4.1. Afinal, qual a melhor abordagem?
4.5. Recapitulando
5. Sistema de Memória
5.1. Introdução
5.2. Princípio da Localidade
5.3. Funcionamento do Sistema de Memória
5.4. Memórias de Semicondutores
5.4.1. Random-Access Memory (RAM)
5.4.2. Dynamic RAM (DRAM)
5.4.3. Static RAM (SRAM)
5.4.4. Synchronous Dynamic RAM (SDRAM)
5.4.5. Double-Data Rate SDRAM (DDR-DRAM)
5.4.6. Read-Only Memory (ROM)
5.5. Memórias Secundárias
5.6. Memória Virtual
5.7. Memória Cache
5.7.1. Tamanho
5.7.2. Função de mapeamento
5.7.3. Política de substituição
5.8. Recapitulando
Glossário

Lista de Figuras

1.1. Arquitetura básica de um computador
1.2. Sinal Analógico versus Sinal Digital
1.3. Estrutura de um transistor tipo MOSFET
1.4. Abertura e fechamento da porta do transistor tipo MOSFET
1.5. Evolução do número de transistores nos processadores em comparação com a Lei de Moore
1.6. Estrutura da Máquina de von Neumann
2.1. Estrutura de uma CPU
2.2. Estrutura de uma CPU com barramentos
2.3. Estrutura de uma CPU com registradores
2.4. Ciclo de Instrução
2.5. Ciclo de Instruções com interrupções
2.6. Execução com várias interrupções
2.7. Processador adaptado para trabalhar com Pipeline de cinco estágios
2.8. Execução em pipeline de cinco estágios
3.1. Execução em Microoperações
4.1. ISA baseado em Pilha
4.2. ISA baseado em Acumulador
4.3. ISA Registrador-Registrador
4.4. ISA Registrador-Memória
5.1. Hierarquia de Memória
5.2. Estrutura de uma DRAM para amazenar um Bit
5.3. Estrutura de uma SRAM com transistores compartilhando carga do bit 1
5.4. Funcionamento da Memória Cache

Lista de Tabelas

2.1. Exemplo de configuração de um processador
3.1. Exemplo de um programa de duas instruções armazenado na memória
3.2. Memória após execução do programa.
4.1. Exemplo de uma memória organizada por bytes
4.2. Exemplo de uma memória Big Endian
4.3. Exemplo de uma memória Little Endian
4.4. Arquiteturas RISC x CISC