arquitetura de computadores - instituto de informática - ufgfmc/arqcomp/fundamentos2.pdf ·...

34
Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática – UFG 1o. Semestre / 2005 Fundamentos Parte 2

Upload: lamdan

Post on 11-Nov-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Arquitetura de Computadores

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

FundamentosParte 2

Page 2: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Princípios de Projeto de Computadores

Page 3: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Três áreas de aplicação com características diferentes

Computação em desktopcusto / desempenho – sistema dedicado

Servidorescusto / desempenho em relação a:

confiabilidade, disponibilidade, throughput, escalabilidade

Computadores embarcadoscusto, consumo de energia (potência)

Page 4: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

A tarefa do projetista...

Determinar:requisitos funcionaismetas de preço, potência e desempenhoInfluências importantes

mercado, quantidade de software existente

Otimizar o projetode acordo com as métricas adotadas

custo/desempenho (desktop)throughput e disponibilidade (servidor)consumo de energia (sistemas embarcados)etc.

Page 5: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

A tarefa do projetista

Combinando:Arquitetura do conjunto de instruções

nível ISA – interface hardware/software

Organização do computadorcomponentes funcionais e sua interconexão

Implementação de hardwarecircuitos, tecnologias de integração, etc.

Page 6: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Evolução do custo de Memórias DRAM

Page 7: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Evolução do custo: Caso do Pentium III

Page 8: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Custo de um circuito integrado

Intel Pentium 4

Page 9: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Custo de um circuito integrado

Wafer 8”564 processadoresMIPS64 R20Kprocesso: 0.18µm

Page 10: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Distribuição do custo em um sistema de computação

Gabinete: 6%folha metálica, plástico: 2%

fonte de alimentação, ventoinhas: 2%

cabos, porcas, parafusos: 1%

caixa de transporte, manuais: 1%

Placa do processador: 37%processador: 22%

DRAM (128MB): 5%

Placa de vídeo: 5%

Placa-mãe (E/S e rede on-board): 5%

:Dispositivos de E/S: 37%teclado e mouse: 3%

monitor: 19%

disco rígido: 9%

unidade de DVD: 6%

SO + pacote office básico: 20%Fonte: H&P, 2003

Page 11: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Custo X preço

Page 12: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Desempenho de Sistemas de Computação

Page 13: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Métricas...

tempo de resposta: sistema dedicado

throughput: sistema compartilhado

Medida mais confiável: tempo gasto na execução de programas reais

Tempo de execuçãoY

= n => Computador X é n vezes mais Tempo de execuçãoX rápido que Y

Page 14: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Métricas: tempo

Inclui:acessos a discoacessos à memóriaatividades de entrada / saídatempo de escalonamentotempo de CPU

tempo de usuáriotempo de sistema: overhead do SOex.: Unix time utility:

TUser TSys Latency %Utiliz.90,7µs 12,9µs 2:39 65%

Page 15: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Métodos para medição de desempenho

Aplicações reaisEx.: Word, Photoshop

Aplicações modificadasscripts para simular interação, remoção de E/S

Kernelsfragmentos de uma aplicação ou programa real, usados para isolar o desempenho de características individuais da máquina

Benchmarks de brinquedoexs.: quicksort, quebra-cabeças

Benchmarks sintéticoscódigo “artificial”, corresponde a um perfil médio de execução

Page 16: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Benchmarks mais conhecidos: desktop

SPEC (Standard Performance Evaluation Corporation)

CPU: SPEC CPU2000, SPEC CPU 2004(?)

Gráficos:SPECviewperf: OpenGL

SPECapc: problemas específicos de modelagem de sólidos e CAD 3D

Processamento de alto desempenho

Java

Servidores (e-mail, arquivos, Web)

www.spec.org

Page 17: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Benchmarks mais conhecidos:servidores

SPEC:SPECrate – throughput de processamento

SPECFS – servidor de arquivos

SPECWeb – servidores Web

Consideram as especificidades da arquitetura de servidores (E/S eficiente, multiprocessamento)

Processamento de transaçõesTPC (Transaction Processing Council)

processamento de consultas em BDs, sistemas de apoio a decisão, transações baseadas na Web

www.tpc.org

Page 18: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Benchmarks mais conhecidos:sistemas embutidos

Dificuldade em se ter um único benchmark de uso amploEEMBC (EDN Embedded Microprocessor Benchmark Consortium) – 5 classes:

automotiva / industrialeletrônica de consumoredeautomação de escritóriotelecomunicações

Page 19: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Princípios de projeto...

Tornar rápido o caso comumgastar mais tempo otimizando as partes do sistema que são usadas com mais freqüência

Lei de Amdahl:melhorias de desempenho de partes de um sistema são diluídas no cálculo da melhoria incremental do sistema completo

Fraçãoaperfeiçoada

Tempo de execuçãonovo = Tempo de execuçãoantigo X (1-Fraçãoaperfeiçoada) + Aceleraçãoaperfeiçoada

Page 20: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

A lei de Amdahl: Exemplo

Suponha que um programa gaste 100s para executar em uma certa máquina, com operações de multiplicação respondendo por 80s do total. Por quanto devemos melhorar a velocidade de operações de multiplicação se quisermos que o programa execute 4 vezes mais rápido?

E para executar 5 vezes mais rápido?

Fraçãoaperfeiçoada

Tempo de execuçãonovo = Tempo de execuçãoantigo X (1-Fraçãoaperfeiçoada) + Aceleraçãoaperfeiçoada

Page 21: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Princípios de projeto

Melhorar a equação de desempenho da CPU:

tempo de ciclo de clock: tecnologia de hardware e organizaçãoCPI (ciclos por instrução): organização e arquitetura do conjunto de instruçõesContagem de instruções (por programa): arquitetura do conjunto de instruções e tecnologia de compiladores

Instruções Ciclos de clock Segundos X X = Tempo de CPU(seg/progr.) Programa Instrução Ciclo de clock

Dep

end

ênci

as

Page 22: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Ciclos de clockRelatar o desempenho em termos do número de ciclos gastos ao invés de tempo:

“Tics” de clock indicam quando iniciar alguma atividade

Tempo de ciclo = tempo entre ticks = segundos por cicloTaxa de clock (freqüência) = ciclos por segundo

(1Hz = 1 ciclo/segundo)Ex.: processador de 2.4GHz tem um tempo de ciclo de:

segundos ciclos segundos = Xprograma programa ciclo

time

1 = 0,42 x 10 9s = 0,42ns 2.4 x 10 9

Page 23: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Formas de melhorar a eficiência

Reduzir o número de ciclos por programaotimizações feitas pelo compiladorconjunto de instruções otimizado

Reduzir o tempo de clock (i.e., aumentar a freqüência)

tecnologia de hardwareorganização da máquina

segundos ciclos segundos = Xprograma programa ciclo

Page 24: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Número de ciclos gastos em um programa

Poderia assumir que o número de ciclos é igual ao número de instruções do programa:

Mas:algumas instruções são mais complexas do que outras, gastando mais tempo

instruções diferentes gastam tempos diferentes em máquinas diferentes

1st

inst

ruct

ion

2nd

inst

ruct

ion

3rd

inst

ruct

ion

4th

5th

6th ...

Page 25: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Diferentes números de ciclos para diferentes instruções

Multiplicação gasta mais tempo do que adiçãoOperações de ponto flutuante gastam mais tempo que operações de inteirosAcesso à memória toma mais tempo do que acesso a registradores

Page 26: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Exercício: tempo de clock

“Our favorite program runs in 10 seconds on computer A, which has a 400 Mhz. clock. We are trying to help a computer designer build a new machine B, that will run this program in 6 seconds. The designer can use new (or perhaps more expensive) technology to substantially increase the clock rate, but has informed us that this increase will affect the rest of the CPU design, causing machine B to require 1.2 times as many clock cycles as machine A for the same program. What clock rate should we tell the designer to target?”

Page 27: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Tempo de clock e desempenho

Clock rate (MHz)

SP

EC

int

2

0

4

6

8

3

1

5

7

9

10

200 25015010050

Pentium

Pentium Pro

PentiumClock rate (MHz)

SP

EC

fp

Pentium Pro

2

0

4

6

8

3

1

5

7

9

10

200 25015010050

Dobrar a freqüência de clock dobra o desempenho?

Pode uma máquina com clock mais lento ter um desempenho melhor?

Page 28: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Exercício: CPI

Suponha que temos duas máquinas implementando a mesma arquitetura de conjunto de instruções

Para um certo programa:a máquina A tem um período de clock de 10ns e uma CPI = 2,0a máquina B tem um período de clock de 20ns e uma CPI = 1,2

Qual das duas máquinas é mais rápida para este programa? Qual a diferença entre elas?

Se duas máquinas têm a mesma ISA, qual das seguintes quantidades é sempre idêntica?

freqüência de clock, CPI, tempo de execução, número de instruções por programa, MIPS

Page 29: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Exemplo: Número de instruções por programa

Um projetista de compilador está tentando se decidir entre duas seqüências de código para uma máquina particular.Baseado na implementação de hardware, há três classes distintas de instruções: Classe A, Classe B e Classe C, que requerem respectivamente um, dois e três ciclos de clock.

A primeira seqüência tem 5 instruções: 2 de A, 1 de B e 2 de CA segunda seqüência tem 6 instruções: 4 de A, 1 de B e 1 de C

Qual seqüência será mais rápida? Qual a diferença?Qual é a CPI para cada seqüência?

Page 30: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

MIPS

Milhões de instruções por segundomais alto para programas que usam instruções simples

Page 31: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Exemplo: MIPS

Dois compiladores diferentes estão sendo testados para uma máquina de 100MHz com três classes diferentes de instruções: Classe A, Classe B, e Classe C, que requerem 1, 2 e 3 ciclos de relógio respectivamente. Ambos os compiladores são usados para produzir código para um programa em grande escala.

O código do primeiro compilador usa 2 milhões de instruções Classe A, 1 milhão de instruções Classe B, e 2 milhões de instruções Classe C.

O código do segundo compilador usa 4 milhões de instruções Classe A, 1 milhão de instruções Classe B e 1 milhão de instruções classe C.

Qual seqüência será mais rápida de acordo com MIPS?Qual seqüência será mais rápida de acordo com o tempo de exec.?

Page 32: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Resumindo

Desempenho é específico para cada programao tempo de execução total é a medida de desempenho consistente

Para uma dada arquitetura, melhorias de desempenho resultam de:

melhoria na freqüência de relógiomelhorias na arquitetura e na organização do processador para reduzir a contagem de CPImelhorias nos compiladores para reduzir tanto a CPI quanto a contagem de instruções/programa

Armadilha: esperar que melhorias no desempenho de um aspecto da máquina vão afetar seu desempenho global na mesma proporção

Page 33: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Outros princípios de projeto visando desempenho

Explorar o “princípio da localidade”

Explorar as oportunidades de paralelismo

Empregar técnicas de otimização no compilador

Page 34: Arquitetura de Computadores - Instituto de Informática - UFGfmc/arqcomp/Fundamentos2.pdf · automotiva / industrial eletrônica de consumo ... Melhorar a equação de desempenho

Bibliografia

Hennessy & PattersonCap. 1: Fundamentos doProjeto de Computadores

Patterson & HennessyCap. 2: O Papel da Performance