Arquitetura de Computadores - INF

Propaganda
Arquitetura de Computadores
Prof. Fábio M. Costa
Instituto de Informática – UFG
1o. Semestre / 2005
Fundamentos
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
Análise do desempenho 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
individuais como parte da estrutura
Função
Processamento de dados
Armazenamento de dados
Movimentação de dados
Controle
Visão funcional
Movimentação de dados
Armazenamento
Processamento /
Armazenamento
Processamento/
Armazenamento / E/S
Estrutura – visão de alto nível
Peripherals
Computer
Central
Processing
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
Main
Memory
Estrutura – CPU
CPU
Computer
Arithmetic
and
Login Unit
Registers
I/O
System
Bus
Memory
CPU
Internal CPU
Interconnection
Control
Unit
Estrutura – Unidade de
Controle
Control Unit
CPU
Sequencing
Login
AL
U
Internal
Bus
Registers
Control
Unit
Control Unit
Registers and
Decoders
Control
Memory
Perspectiva Histórica
Geraçõ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
programa armazenado na memória junto com os dados
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. 1200m2
consumo de energia: 140 kW
desempenho: 5000 adições por segundo
A arquitetura de von Neumann
• Programa armazenado juntamente com os dados
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
Multiplier Quotient
IAS (Princeton, 1952)
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
design típico: arquiteturas de barramento
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, …
dispositivos computacionais embarcados, etc., etc....
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
Over 100,000,000 devices on a chip
Espectro da computação
Tendências Tecnológicas
Influências
Tecnologia
Linguagens de
Programação
Aplicações
Computer
Architecture
Sistemas
Operacionais
História
Lei 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 em CPUs
Contagem de transistores
Fonte: Intel Corp.
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):
http://www.intel.com/technology/silicon/mooreslaw/index.htm
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
tecnologia de processadores
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
Barramentos de alta velocidade e hierárquicos
Tendências: Aumento relativo
de desempenho
Log of Performance
Supercomputers
Mainframes
Minicomputers
Microprocessors
Year
1970
1975
1980
1985
1990
1995
Melhorias de Desempenho:
Freqüência (clock) X Arquitetura
Fonte: Intel
Explorando o paralelismo em
um chip
Fonte: Intel
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
Suporte para multi-tarefa
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
http://www.intel.com/intel/intelis/museum/online/hist_micro/hof/index.htm
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
2005: Extensão de 64bits para acesso a memória
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)
Segmento de baixo custo
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:
Pentium M + Chipset 855/915 + suporte wireless (802.11b/g)
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)
Barramento do sistema: até 533MHz, 128bits
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
Barramento do sistema: até 800MHz
AMD
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
PowerPC (IBM)
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/
http://www.go-dsp.com/fet/essentialguide-fet.html
DSPs – Digital Signal
Processors
Fonte: Texas Instruments
Leitura Recomendada
STALLINGS, W. Arquitetura e
Organização de Computadores,
Tradução da 5ª Edição, PrenticeHall, 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.
Cap. 2
Recursos na Internet
Intel: http://www.intel.com/
Intel Museum:
http://www.intel.com/intel/intelis/museum/index.htm
IBM: http://www.ibm.com
PowerPC
http://www-03.ibm.com/chips/products/powerpc/
The History of Computing Project
http://www.thocp.net/index.htm
Download