Você está na página 1de 3

Capítulo 1

Introdução
• Velocidade das mudanças tecnológicas:
– Válvula -> transistor -> IC -> VLSI (item 1.4)
– A cada 1,5 anos dobra a capacidade de memória e a velocidade do
processador (devido ao avanço na tecnologia e no projeto)
• Conceitos a serem aprendidas:
– Como o computador trabalha  fundamentos básico
– Como analisar seu desempenho (ou como não fazê-lo)
– Características que afetam os processadores modernos (caches,
pipelines)
• Porque aprender estes conteúdos?
– Você quer ser chamado de um bom profissional de computação
– Você quer construir software para usuários (necessita de
desempenho)
– Você precisa tomar uma decisão de compra ou oferecer consultorias

1
O que é um computador?
• Componentes:
– entrada (mouse, teclado)
– saída (vídeo, impressora)
– memoria (disk drives, DRAM, SRAM, CD)
– rede
• Nosso principal foco : o processador (datapath e controle)
– implementado usando milhões of transistores
– Impossível entender olhando cada um dos transistores
– Nós precisamos abstrair os conceitos

Abstração High-level
language
swap(int v[], int k)
{int temp;
program temp = v[k];
(in C) v[k] = v[k+1];
v[k+1] = temp;
• Investigação em profundidades }

revelando mais informações


C compiler

• Uma abstração omite detalhes swap:


Assembly

desnecessários, ajuda-nos a language


program
muli $2, $5,4
add $2, $4,$2
(for MIPS) lw $15, 0($2)

com a complexidade lw $16, 4($2)


sw $16, 0($2)
sw $15, 4($2)
jr $31

Assembler

Que detalhes aparecem nesta abstração ?


Binary machine 00000000101000010000000000011000
language 00000000100011100001100000100001
program 10001100011000100000000000000000
(for MIPS) 10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000

2
Conjunto de Instruções de uma Arquitetura - ISA
(Instruction Set Architecture)

• Uma abstração importante


– Interface entre o hardware e o software de baixo nível
– Padronização de instruções, linguagem de máquina, padrões de
bits , etc.
– vantagem: diferentes implementações de uma mesma arquitetura
– desvantagem: algumas coisas inibem o uso de inovações.

Moderno Instruction Set Architectures:


– 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

O que estudaremos
• Desempenho (Capítulo 2)
• Um ISA específico (Capítulo 3)
• Aritimética binária e como construir uma ULA (Capítulo 4)
• Construçãode um processador (Capítulo 5)
• Pipelining para melhorar o desempenho (Capítulo 6)
• Memória: cache e memória virtual (Capítulo 7)
• I/O (Capítulo 8)

Chave para o sucesso: estudo e leitura do livro

Você também pode gostar