Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de...

29
1 Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Adaptado do material do Prof. Fábio M. Costa Instituto de Informática – UFG 1o. Semestre / 2006 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

Transcript of Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de...

Page 1: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

1

Arquitetura de Computadores

Prof. Eduardo Simões de AlbuquerqueAdaptado do material do

Prof. Fábio M. CostaInstituto de Informática – UFG1o. Semestre / 2006

Fundamentos

Roteiro

FundamentosPrincípios de funcionamento de computadoresPerspectiva históricaTendências tecnológicasPanorama das tecnologias atuaisPrincípios de projeto de computadoresAnálise do desempenho de computadores

Page 2: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

2

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 relacionadosFunção: operação de componentes individuais como parte da estrutura

Função

Processamento de dadosArmazenamento de dadosMovimentação de dadosControle

Page 3: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

3

Visão funcional

Movimentação de dados

Page 4: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

4

Armazenamento

Processamento / Armazenamento

Page 5: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

5

Processamento/ Armazenamento / E/S

Estrutura – visão de alto nível

Computer

Main Memory

InputOutput

SystemsInterconnection

Peripherals

Communicationlines

CentralProcessing Unit

Computer

Page 6: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

6

Estrutura – CPU

Computer Arithmeticand Login Unit

ControlUnit

Internal CPUInterconnection

Registers

CPU

I/O

Memory

SystemBus

CPU

Estrutura – Unidade de Controle

CPU

ControlMemory

Control Unit Registers and Decoders

SequencingLogin

ControlUnit

ALU

Registers

InternalBus

Control Unit

Page 7: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

7

Perspectiva Histórica

Gerações de ComputadoresGeração Zero (1642-1945):

computadores mecânicos e eletromecânicosPascal, Babage, Zuse, Atanasoff, Stibbitz, Aiken

Primeira Geração (1945-1955):eletrônica baseada em válvulasColossus, ENIAC, EDVAC, IAS, EDSAC, IBM 70xTuring, Mauchly & Eckert, Wilkes, von Neumanmemórias de ferrite (núcleo magnético)design típico: máquina de von Neuman

programa armazenado na memória junto com os dados

Page 8: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

8

ENIAC

decimal (não binary)20 acumuladores de 10 dígitosprogramado manualmente por chaves18.000 válvulaspeso: 30 toneladasocupava uma área de aprox. 1200m2

consumo de energia: 140 kWdesempenho: 5000 adições por segundo

A arquitetura de von Neumann• Programa armazenado juntamente com os dados

Page 9: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

9

Exemplo concreto: IAS

1000 palavras de 40 bitsRepresentação binária para os dados2 instruções de 20 bits por palavra

Conjunto de registradores (armaz. na CPU)Memory Buffer RegisterMemory Address RegisterInstruction RegisterInstruction Buffer RegisterProgram CounterAccumulatorMultiplier Quotient

IAS (Princeton, 1952)

Page 10: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

10

Estruturado IAS

A segunda geração (1955-65)

transistormainframes: IBM 7090, 7094, Burroughs B5000minicomputadores: DEC PDP-1, PDP-8primeiro supercomputador: CDC 6600 –

paralelismoSeymour Cray

design típico: arquiteturas de barramento

Page 11: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

11

Arquiteturas com barramento compartilhado

Terceira Geração (1965-80):circuitos integradosfamílias de computadores com uma arquitetura comum (em nível ISA) e ≠s implementações

IBM System/360compatibilidade entre máquinas diferentes

multiprogramaçãoemulação de outras máquinas através de microprogramas distintos para cada arquiteturaDEC PDP-11

Page 12: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

12

Quarta (...) Geração (1980-????)VLSI (Very Large Scale Integration)primeiro microchip: Intel 4004 (1971) – LSIsucessores Intel: 8080, 8086, 8088, 80x86, Pentiumsnão-Intel: Z80, Z8000, 68000, SPARC, PowerPC,...micro-computadores: Apple II, IBM PC, ...estações de trabalho: Sun, DEC Alpha, ...evolução em supercomputadores, paralelismointerconexão em redes, clusters, grid, …dispositivos computacionais embarcados, etc., etc....

Em resumo:Vacuum tube - 1946-1957Transistor - 1958-1964Small scale integration - 1965 on

Up to 100 devices on a chipMedium scale integration - to 1971

100-3,000 devices on a chipLarge scale integration - 1971-1977

3,000 - 100,000 devices on a chipVery large scale integration - 1978 to date

100,000 - 100,000,000 devices on a chipUltra large scale integration

Over 100,000,000 devices on a chip

Page 13: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

13

Espectro da computação

Tendências Tecnológicas

Page 14: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

14

Influências

ComputerArchitecture

Tecnologia Linguagens deProgramação

SistemasOperacionais

História

Aplicações

Lei de MooreAumento da densidade de componentes em chipsGordon Moore – co-fundador da Intel

O número de transistores em um chip dobra a cada ano

Desde os anos 1970 houve uma desaceleraçãoO número de transistores dobra a cada 18 meses

O custo de um chip permanece inalteradoDensidade mais alta representa circuitos de interconexao mais curtos: melhor desempenhoTamanho menor: maior flexibilidadeMenor consumo e necessidade de resfriamentoMenos interconexoes: aumenta a confiabilidade

Page 15: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

15

Contagem de transistores em CPUs

Contagem de transistores

Fonte: Intel Corp.

Page 16: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

16

A Lei de Moore na Intel

Processador Ano Núm. de Transistores-----------------------------------------------------------------------------------------------4004 1971 2,2508008 1972 2,5008080 1974 5,0008086 1978 29,000286 1982 120,000Intel386 processor 1985 275,000Intel486 processor 1989 1,180,000Intel® Pentium® processor 1993 3,100,000Intel® Pentium® II processor 1997 7,500,000Intel® Pentium® III processor 1999 24,000,000Intel® Pentium® 4 processor 2000 42,000,000Intel® Itanium® processor 2002 220,000,000Intel® Itanium® 2 processor 2003 410,000,000

Situação atual

Page 17: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

17

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

PipeliningCache dentro do processadorCaches de nível 1 e 2Previsão de desviosAnálise de fluxo de dadosExecução especulativa

Page 18: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

18

Desempenho:Processador X Memória

Grande aumento da velocidade dos processadoresGrande aumento na capacidade de armazenamento das memóriasMas:

A velocidade de acesso à memória não acompanhou o desenvolvimento da tecnologia de processadores

Características de DRAMs e Processadores

Page 19: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

19

Soluções

Aumentar o numero de bits lidos/escritos de uma vez

i.e., aumentar “largura” da memóriaMelhorar a interface com a memória: cachesReduzir a freqüência dos acessos

caches mais complexas, dentro do chip da CPU

Aumentar a largura de banda da interconexãoBarramentos de alta velocidade e hierárquicos

Tendências: Aumento relativo de desempenho

Microprocessors

Minicomputers

MainframesSupercomputers

1995Year

19901970 1975 1980 1985

Log

of P

erfo

rman

ce

Page 20: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

20

Melhorias de Desempenho:Freqüência (clock) X Arquitetura

Fonte: Intel

Explorando o paralelismo em um chip

Fonte: Intel

Page 21: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

21

Exemplo: Evolução do Pentium8080

primeiro microprocessador de propósito geralvia de dados (barramento interno) de 8 bitsUsado no primeiro computador pessoal – Altair

8086bem mais poderoso16 bitscache de instruções, pré-busca de algumas instruções8088: (barramento externo de 8 bits) usado no primeiro IBM PC

8028616 Mbytes de memória endereçável

8038632 bitsSuporte para multi-tarefa

Exemplo: Evolução do Pentium

80486esquema de caches sofisticadopipeline de instruçõesco-processador matemático embutido no chip

Pentiumsuper-escalarmúltiplas instruções executadas em paralelo

Pentium Proorganização super-escalar aprimoradatécnica agressiva de renomeação de registradores (…)previsão de desvios, análise de fluxo de dados, execução especulativa

Page 22: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

22

Exemplo: Evolução do PentiumPentium II

tecnologia MMX (MultiMedia eXtensions)processamento gráfico e de áudio & vídeo

Pentium IIIinstruções de ponto flutuante adicionais para gráficos 3D

Pentium 4mais melhorias de ponto flutuante e multimídiamais paralelismo (2005: “dual core” - dois procs. em um)

Itanium64 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

Page 23: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

23

Pentium 4

Clock: 2 a 3,8GHzTecnologia de integração: 0,90µm (2Q05: 65nm)Barramento do sistema: até 1066MHz (real: 266MHz)Hyper-pipelining & Hyper-ThreadingUnidade de ponto flutuante de 128bitsCache nível 2 de até 2MB, integradaSIMD2 (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

Procesador Pentium 4

Page 24: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

24

Celeron D

Clock: 2,26MHz a 3,06GHzBarramento do sistema: 533MHzCache nível 2: 256KBSIMD, execução especulativa, análise de fluxo de dadosBarramento interno dual (via da cache separada da via principal de dados)Segmento de baixo custo

Pentium M®

Clock: 1,5MHz a 2,13GHzProjetado para vários níveis de operação em baixo consumo de energia (com taxas de clock reduzidas) – SpeedStepAté 2MB de cache de nível 2, integrada no chipBarramento do sistema: 533MHzTamanho reduzidoOtimizado para computação móvel

Tecnologia Centrino:Pentium M + Chipset 855/915 + suporte wireless (802.11b/g)

Page 25: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

25

Itanium2

Arquitetura de 64bits (IA-64)Voltado para o mercado de servidoresClock: 1,0 a 1,6GHzCaches integradas no chip

L1: 32KBL2: 256KBL3: até 9MB

Paralelismo interno explícito (EPIC)Barramento do sistema: até 533MHz, 128bits

Xeon MP

Também voltado para o mercado de servidoresClock: 1,4 a 3,6GHzArquitetura NetBurst (mesma do P4)SIMD2, Hyper Threading3 níveis de caches integradas

L2: até 2MB; L3: até 4MBBarramento dual de memóriaBarramento do sistema: até 800MHz

Page 26: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

26

AMD

UltraSPARC IV

Sun MicrosystemsMulti-threading com 2 pipelines UltraSPARC III no mesmo chipSuper-escalar64 bits66M transitoresClock: 1,05 a 1,2GHzCaches

nível 1: uma por pipeline (64KB dados, 32KB instruçõesnível 2: 16MB externa ao chip

Page 27: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

27

PowerPC (IBM)

DSPs – Digital SignalProcessors

Conversão entre sinais analógicos em sinais digitaisProcessamento dos sinais em tempo realAlgumas aplicações:

sensores em automóveis, eletrodomésticos, ferramentas, etc.processamento de voz em telefones celularesvideo e imagem (câmeras digitais)aviônicabiométrica

Requisitos e arquiteturas diferentes dos processadores de propósito geralMais Informações: Texas Instruments

http://dspvillage.ti.com/http://www.go-dsp.com/fet/essentialguide-fet.html

Page 28: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

28

DSPs – Digital SignalProcessors

Fonte: Texas Instruments

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.

Cap. 2

Page 29: Fundamentos - inf.ufg.breduardo/arq/Fundamentos1-eduardo.pdfFundamentos {Princípios de funcionamento de computadores {Perspectiva histórica {Tendências tecnológicas {Panorama das

29

Recursos na Internet

Intel: http://www.intel.com/ Intel Museum: http://www.intel.com/intel/intelis/museum/index.htm

IBM: http://www.ibm.comPowerPC

http://www-03.ibm.com/chips/products/powerpc/

The History of Computing Projecthttp://www.thocp.net/index.htm