Arquitetura de Computadores
Prof. Fábio M. Costa
Instituto de Informática – UFG
1o. Semestre / 2005
Roteiro
Fundamentos
Princípios de funcionamento de computadores
Perspectiva histórica
Tendências tecnológicas
Panorama das tecnologias atuais
Princípios de projeto de computadores
Princípios do funcionamento de
computadores
Estrutura e função de um sistema de
computação
Estrutura: quais os componentes e como
eles estão relacionados
Função: operação de componentes
Função
Processamento de dados
Armazenamento de dados
Movimentação de dados
Controle
Processamento /
Armazenamento
Processamento/
Estrutura – visão de alto nível
Computer Main Memory Input Output Systems Interconnection Peripherals Communication lines Central Processing Unit ComputerEstrutura – CPU
Computer Arithmetic and Login Unit Control Unit Internal CPU Interconnection Registers CPU I/O Memory System Bus CPUEstrutura – Unidade de
Controle
CPU Control Memory Control Unit Registers and Decoders Sequencing Login Control Unit AL U Registers Internal Bus Control UnitGerações de Computadores
Geração Zero (1642-1945):
computadores mecânicos e eletromecânicos
Pascal, Babage, Zuse, Atanasoff, Stibbitz, Aiken
Primeira Geração (1945-1955):
eletrônica baseada em válvulas
Colossus, ENIAC, EDVAC, IAS, EDSAC, IBM 70x
Turing, Mauchly & Eckert, Wilkes, von Neuman
memórias de ferrite (núcleo magnético)
design típico: máquina de von Neuman
ENIAC
decimal (não binary)
20 acumuladores de 10 dígitos
programado manualmente por chaves
18.000 válvulas
peso: 30 toneladas
ocupava uma área de aprox. 1200m
2consumo de energia: 140 kW
A arquitetura de von Neumann
Exemplo concreto: IAS
1000 palavras de 40 bits
Representação binária para os dados
2 instruções de 20 bits por palavra
Conjunto de registradores (armaz. na CPU)
Memory Buffer Register
Memory Address Register
Instruction Register
Instruction Buffer Register
Program Counter
Accumulator
Estrutura
do IAS
A segunda geração (1955-65)
transistor
mainframes: IBM 7090, 7094, Burroughs
B5000
minicomputadores: DEC PDP-1, PDP-8
primeiro supercomputador: CDC 6600 –
paralelismo
Seymour Cray
Arquiteturas com barramento
compartilhado
Terceira Geração (1965-80):
circuitos integrados
famílias de computadores com uma arquitetura
comum (em nível ISA) e ≠s implementações
IBM System/360
compatibilidade entre máquinas diferentes
multiprogramação
emulação de outras máquinas através de
microprogramas distintos para cada arquitetura
DEC PDP-11
Quarta (...) Geração (1980-????)
VLSI (Very Large Scale Integration)
primeiro microchip: Intel 4004 (1971) – LSI
sucessores Intel: 8080, 8086, 8088, 80x86, Pentiums
não-Intel: Z80, Z8000, 68000, SPARC, PowerPC,...
micro-computadores: Apple II, IBM PC, ...
estações de trabalho: Sun, DEC Alpha, ...
evolução em supercomputadores, paralelismo
interconexão em redes, clusters, grid, …
Em resumo:
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965 on
Up to 100 devices on a chip
Medium scale integration - to 1971
100-3,000 devices on a chip
Large scale integration - 1971-1977
3,000 - 100,000 devices on a chip
Very large scale integration - 1978 to date
100,000 - 100,000,000 devices on a chip
Ultra large scale integration
Influências
Computer ArchitectureTecnologia
Linguagens de Programação Sistemas Operacionais História AplicaçõesLei de Moore
Aumento da densidade de componentes em chips
Gordon Moore – co-fundador da Intel
O número de transistores em um chip dobra a cada ano
Desde os anos 1970 houve uma desaceleração
O número de transistores dobra a cada 18 meses O custo de um chip permanece inalterado
Densidade mais alta representa circuitos de interconexao mais curtos: melhor desempenho
Tamanho menor: maior flexibilidade
Menor consumo e necessidade de resfriamento Menos interconexoes: aumenta a confiabilidade
Contagem de transistores
A Lei de Moore na Intel
Processador Ano Núm. de Transistores
-4004 1971 2,250 8008 1972 2,500 8080 1974 5,000 8086 1978 29,000 286 1982 120,000 Intel386 processor 1985 275,000 Intel486 processor 1989 1,180,000 Intel® Pentium® processor 1993 3,100,000 Intel® Pentium® II processor 1997 7,500,000 Intel® Pentium® III processor 1999 24,000,000 Intel® Pentium® 4 processor 2000 42,000,000 Intel® Itanium® processor 2002 220,000,000 Intel® Itanium® 2 processor 2003 410,000,000
Contagem de transistores
Atualmente:
Tecnologia de 65nm: 0,5 bilhão de
transistores em um chip
Fonte: Intel
Mais informações e demo sobre a lei de Moore (Intel):
Outros fatores que afetam o
desempenho: novas técnicas
Pipelining
Cache dentro do processador
Caches de nível 1 e 2
Previsão de desvios
Análise de fluxo de dados
Execução especulativa
Desempenho:
Processador X Memória
Grande aumento da velocidade dos
processadores
Grande aumento na capacidade de
armazenamento das memórias
Mas:
A velocidade de acesso à memória não
acompanhou o desenvolvimento da
Características de DRAMs e
Processadores
Soluções
Aumentar o numero de bits lidos/escritos de
uma vez
i.e., aumentar “largura” da memória
Melhorar a interface com a memória: caches
Reduzir a freqüência dos acessos
caches mais complexas, dentro do chip da
CPU
Aumentar a largura de banda da interconexão
Tendências: Aumento relativo
de desempenho
Microprocessors Minicomputers Mainframes Supercomputers 1995 Year 1990 1970 1975 1980 1985 Log o f P e rf or m a n c eMelhorias de Desempenho:
Freqüência (clock) X Arquitetura
Explorando o paralelismo em
um chip
Exemplo: Evolução do Pentium
8080
primeiro microprocessador de propósito geral via de dados (barramento interno) de 8 bits
Usado no primeiro computador pessoal – Altair
8086
bem mais poderoso 16 bits
cache de instruções, pré-busca de algumas instruções
8088: (barramento externo de 8 bits) usado no primeiro IBM PC
80286
16 Mbytes de memória endereçável
80386
32 bits
Exemplo: Evolução do Pentium
80486
esquema de caches sofisticado pipeline de instruções
co-processador matemático embutido no chip
Pentium
super-escalar
múltiplas instruções executadas em paralelo
Pentium Pro
organização super-escalar aprimorada
técnica agressiva de renomeação de registradores (…) previsão de desvios, análise de fluxo de dados, execução especulativa
Exemplo: Evolução do Pentium
Pentium II
tecnologia MMX (MultiMedia eXtensions) processamento gráfico e de áudio & vídeo
Pentium III
instruções de ponto flutuante adicionais para gráficos 3D
Pentium 4
mais melhorias de ponto flutuante e multimídia
mais paralelismo (2005: “dual core” - dois procs. em um)
Itanium
64 bits (IA-64)
Exercício:
Veja as páginas Web da Intel para mais detalhes
Panorama das Tecnologias
Atuais de Processadores
Pentium 4
Clock: 2 a 3,8GHz
Tecnologia de integração: 0,90µm (2Q05: 65nm)
Barramento do sistema: até 1066MHz (real: 266MHz)
Hyper-pipelining & Hyper-Threading
Unidade de ponto flutuante de 128bits
Cache nível 2 de até 2MB, integrada
SIMD2 (1 fluxo de instruções, vários fluxos de dados)
P4 Extreme Edition (3,8 GHz)
otimizado para jogos, aplicações gráficas e multimídia de alto desempenho
Celeron D
Clock: 2,26MHz a 3,06GHz
Barramento do sistema: 533MHz
Cache nível 2: 256KB
SIMD, execução especulativa, análise
de fluxo de dados
Barramento interno dual (via da cache
separada da via principal de dados)
Pentium M
®
Clock: 1,5MHz a 2,13GHz
Projetado para vários níveis de operação em
baixo consumo de energia (com taxas de clock
reduzidas) – SpeedStep
Até 2MB de cache de nível 2, integrada no chip
Barramento do sistema: 533MHz
Tamanho reduzido
Otimizado para computação móvel
Tecnologia Centrino:
Itanium2
Arquitetura de 64bits (IA-64)
Voltado para o mercado de servidores
Clock: 1,0 a 1,6GHz
Caches integradas no chip
L1: 32KB
L2: 256KB
L3: até 9MB
Paralelismo interno explícito (EPIC)
Xeon MP
Também voltado para o mercado de
servidores
Clock: 1,4 a 3,6GHz
Arquitetura NetBurst (mesma do P4)
SIMD2, Hyper Threading
3 níveis de caches integradas
L2: até 2MB; L3: até 4MB
Barramento dual de memória
UltraSPARC IV
Sun Microsystems
Multi-threading com 2 pipelines UltraSPARC III no
mesmo chip
Super-escalar
64 bits
66M transitores
Clock: 1,05 a 1,2GHz
Caches
nível 1: uma por pipeline (64KB dados, 32KB instruções nível 2: 16MB externa ao chip
DSPs – Digital Signal
Processors
Conversão entre sinais analógicos em sinais digitais Processamento dos sinais em tempo real
Algumas aplicações:
sensores em automóveis, eletrodomésticos, ferramentas, etc. processamento de voz em telefones celulares
video e imagem (câmeras digitais) aviônica
biométrica
Requisitos e arquiteturas diferentes dos processadores de propósito geral
Mais Informações: Texas Instruments
http://dspvillage.ti.com/
DSPs – Digital Signal
Processors
Leitura Recomendada
STALLINGS, W. Arquitetura e
Organização de Computadores,
Tradução da 5ª Edição, Prentice-Hall, 2002.
Cap. 1 e 2
PATTERSON, D.A.; HENNESSY, J.L. Projeto e Organização de
Computadores: A Interface
Hardware / Software, Tradução da
2a Edição, LTC, 2000.
Cap. 1
TANENBAUM, A.S. Organização
Estruturada de Computadores,
Tradução da 4a Edição, LTC, 2001.