57
Aula 3: Conceitos B´ asicos e Medidas de Desempenho Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda Passos (UFF) Conceitos B´ asicos FAC 1 / 52

Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

  • Upload
    hahanh

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Aula 3: Conceitos Basicos e Medidas de Desempenho

Fernanda Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

Material baseado nos slides do prof. Diego Passos

Fernanda Passos (UFF) Conceitos Basicos FAC 1 / 52

Page 2: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Conceitos Basicos

Fernanda Passos (UFF) Conceitos Basicos FAC 2 / 52

Page 3: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Sistema de Computacao

Conjunto de componentes integrados com o objetivo de manipular dados e gerarinformacoes uteis.Exemplos de componentes:

I Processador.I Memoria.I Dispositivos de E/S.

Fernanda Passos (UFF) Conceitos Basicos FAC 3 / 52

Page 4: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Unidade Mınima de Informacao: Bit

No nıvel mais basico, computadores representam informacoes atraves de bits.I Binary Digit.

Dois possıveis valores: 0 ou 1.Computadores mais antigos trabalhavam com algarismos decimais.

I Dez possıveis valores.I Com o uso da eletronica digital, bits se tornaram mais praticos.

Fernanda Passos (UFF) Conceitos Basicos FAC 4 / 52

Page 5: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Componentes Basicos de um Sistema de Computacao

Fernanda Passos (UFF) Conceitos Basicos FAC 5 / 52

Page 6: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Algoritmo

Especificacao das operacoes necessarias para um dado objetivo.Exemplo: atualizacao de saldo em conta bancaria.

Enquanto houver DOCs, faca:Leia proximo DOC.Leia numero da conta a partir do DOC.Encontre conta cujo numero corresponde ao do DOC.Se tipo do DOC e deposito:

Entao NovoSaldo = Saldo + valor.Se tipo do DOC e retirada:

Entao NovoSaldo = Saldo - valor.Escrever NovoSaldo no lugar de Saldo.

Fim Enquanto

Fernanda Passos (UFF) Conceitos Basicos FAC 6 / 52

Page 7: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Instrucoes Basicas

Algoritmo e executado pelo hardware.Mas hardware nao entende operacoes complexas como “Leia o numero da conta a partir doDOC”.E preciso traduzir estas operacoes para instrucoes basicas.

I Aquelas entendidas pelo hardware.Exemplos de instrucoes basicas comuns:

I Some dois numeros.I Mova uma informacao de um lugar da memoria para outro.I Leia um caractere correspondente a uma tecla pressionada.

Fernanda Passos (UFF) Conceitos Basicos FAC 7 / 52

Page 8: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Linguagem de Alto Nıvel vs. Linguagem de Baixo Nıvel

Quando descrevemos um algoritmo em termos das instrucoes basicas de um processador,estamos utilizando a Linguagem de Maquina.Problema: a linguagem de maquina e pouco legıvel.

I Difıcil para um humano compreender rapidamente.Solucao: criar uma linguagem mais legıvel e um programa que faca a traducao ouinterpretacao.

I Tal programa e um compilador ou interpretador.Resultado: hierarquia de linguagens.

I Linguagens de baixo nıvel: proximas do que e entendido pelo hardware.I Linguagens de alto nıvel: mais abstratas e legıveis.

Fernanda Passos (UFF) Conceitos Basicos FAC 8 / 52

Page 9: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Linguagem de Maquina, Assembly e de Alto Nıvel

Linguagem de Maquina:Representacao binaria das instrucoes de maquina.

Linguagem Assembly ou de Montagem:Representacao simbolica das instrucoes de maquina.Montador ou assembler: linguagem assembly → linguagem de maquina.

Linguagem de Alto Nıvel:Linguagem mais legıveis pelo ser humano, composta por palavras e notacao algebrica.Compilador: traduz uma linguagem de alto nıvel para linguagem de assembly.

Fernanda Passos (UFF) Conceitos Basicos FAC 9 / 52

Page 10: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Linguagem de Maquina, Assembly e de Alto Nıvel (II)

Programa emlinguagem dealto nível (em C)

Programaem linguagemassembly(para o MIPS)

Programaem linguagemde máquina(para o MIPS)

swap(int v[], int k)

{ int temp;

temp = v[k];

v[k] = v[k+1];

v[k+1] = temp;

}

swap:

multi $2, $5,4

add $2, $4,$2

lw $15, 0($2)

lw $16, 4($2)

sw $16, 0($2)

sw $15, 4($2)

jr $31

Compilador Assembler

00000000101000100000000100011000

0000000010000010000100000100001

10001101111000100000000000000000

10001110000100100000000000000100

10101110000100100000000000000000

10101101111000100000000000000100

00000011111000000000000000001000

Fernanda Passos (UFF) Conceitos Basicos FAC 10 / 52

Page 11: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Componentes: Processador

UCP: Unidade Central de Processamento.I Ou CPU, do ingles Central Processing Unit.

Capaz de entender e executar uma operacao definida por uma operacao de maquina.Formados por bilhoes de componentes eletronicos encapsulados em um involucro (chip).

Fernanda Passos (UFF) Conceitos Basicos FAC 11 / 52

Page 12: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Componentes: Memoria

Dispositivo de armazenamento deinformacoes.

I Dados, instrucoes.Processador acessa informacoes namemoria.

I Proxima instrucao a ser executada.I Operandos da instrucao a ser executada.

Organizada em varios nıveis.I Registradores.I Cache.I Memoria principal.I Memoria secundaria.

Registradores

Memória Cache

Memória Principal

Memória Secundária

Fernanda Passos (UFF) Conceitos Basicos FAC 12 / 52

Page 13: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Componentes: Memoria Principal

Dispositivo de memoria acessado frequentemente pelo processador.Programas e dados precisam ser carregados nesta memoria, antes de utilizados peloprocessador.Nos computadores modernos mais comuns, esta memoria e do tipo RAM.

I Random Access Memory.I Significa que processador pode acessar qualquer posicao da memoria a qualquer momento.

Fernanda Passos (UFF) Conceitos Basicos FAC 13 / 52

Page 14: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Componentes: Enderecamento da Memoria Principal

A memoria e dividida em varias posicoes de tamanhos iguais.Cada posicao apresenta um endereco correspondente.O endereco e usado para acessar uma posicao de memoria especıfica.

ProcessadorDadosEndereço

Memória

0123

... ...

110110100

Fernanda Passos (UFF) Conceitos Basicos FAC 14 / 52

Page 15: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Memoria Secundaria

Memoria nao-volatil.I Dados nao sao perdidos se computador e desligado.

Geralmente, em grande quantidade (relativamente a memoria principal).Processador nao pode acessar diretamente.Tempos de acesso sao muito maiores.Exemplo: disco rıgido, pendrive, cartao de memoria.

Fernanda Passos (UFF) Conceitos Basicos FAC 15 / 52

Page 16: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Dispositivos de Entrada

Necessarios para a introducao de dados e programas pelo usuario.Exemplos de dispositivos:

I Mouse, teclado, touchscreen, microfone.I Mas tambem pendrive, cartao de memoria, . . .

Fernanda Passos (UFF) Conceitos Basicos FAC 16 / 52

Page 17: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Dispositivos de Saıda

Necessarios para apresentacao dos resultados da computacao.Exemplos de dispositivos:

I Monitor, impressora.I Em certos casos, leds.I Dispositivos de armazenamento em massa tambem podem ser considerados.

Fernanda Passos (UFF) Conceitos Basicos FAC 17 / 52

Page 18: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Interconectando os Componentes: Barramentos

Componentes precisam se interconectar de alguma forma.I e.g., processador precisa acessar memoria principal.I e.g., dados lidos de dispositivo de E/S precisam ser armazenados em memoria.

Interconexao e feita atraves de barramentos.I Meio compartilhado de comunicacao.I Conjunto de fios: cada um representa um bit.

...Componente 1 Componente 2 Componente 3 Componente n

Fernanda Passos (UFF) Conceitos Basicos FAC 18 / 52

Page 19: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Subdivisoes de um Barramento

Na pratica, fios de um barramento sao divididos em grupos:I Barramento de dados (BD).I Barramento de endereco (BE).I Barramento de controle (BC).

...Componente 1 Componente 2 Componente 3 Componente n

Endereço

Dados

Controle

Fernanda Passos (UFF) Conceitos Basicos FAC 19 / 52

Page 20: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Exemplo de Comunicacao via Barramento

Suponha que o processador deseja escrever o valor 75 no endereco 37 da memoria principal.

I BC: indica comunicacao entre UCP e memoria e operacao de escrita.I BD: contem o valor do dado (no caso, 75).I BE: contem o endereco a ser escrito (no caso, 37).

UCP

Memória

Endereço

Dados

Controle

75 3737

0...

...75

Fernanda Passos (UFF) Conceitos Basicos FAC 20 / 52

Page 21: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Barramento de Controle: Detalhes

Fios (bits) independentes.Cada fio (bit) tem um significado diferente.

I Requisitar leitura.I Requisitar escrita.I . . .

ProcessadorMemóriaPrincipal

INT

ACK

L

E

Barramentode

Controle

Legenda:

INT - Interrogação

ACK - Ok

L - Sinal de Leitura

E - Sinal de escrita

...

Fernanda Passos (UFF) Conceitos Basicos FAC 21 / 52

Page 22: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Barramento de Enderecos: Detalhes

L fios (bits) relacionados.Cada fio (bit) e visto como um algarismobinario.Conjunto ordenado de bits indica umnumero.

I O endereco.L e a largura do barramento.

I Quanto maior a largura, mais enderecospodem ser representados.

I Para uma largura L, 2L enderecos.

ProcessadorMemóriaPrincipal

Bit 0

Barramentode

Endereço

...

Bit 1

Bit 2

Bit L

Fernanda Passos (UFF) Conceitos Basicos FAC 22 / 52

Page 23: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Barramento de Dados: Detalhes

Similar ao barramento de enderecos.I Fios (bits) sao relacionados.I Algarismos binarios de um numero.

F Dado a ser armazenado/lido.Tambem possui uma largura L′.

I Possivelmente diferente de L.I E possıvel transferir 2L′ valores diferentes.

ProcessadorMemóriaPrincipal

Bit 0

Barramentode

Dados

...

Bit 1

Bit 2

Bit L'

Fernanda Passos (UFF) Conceitos Basicos FAC 23 / 52

Page 24: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Barramentos: Taxa de Transferencia

Um barramento opera a uma determinada frequencia.I Uma transferencia no barramento demora algum tempo.I Quantas vezes podemos utiliza-lo em um determinado intervalo?I Valor dado (normalmente) em Hz (1/s).

A frequencia de operacao e a largura do barramento de dados determinam a taxa detransferencia.

I Seu valor equivale a quanto de dado e transferido em uma unidade de tempo (e.g. 5Mb/s).I Quanta informacao podemos transmitir em um determinado intervalo?

Exemplo:I Largura (de dados): 32 bits.I Frequencia: 100 MHz.I Taxa de transferencia: L× F = 32× 100 = 3200 Mb/s ou 3, 2 Gb/s.

Fernanda Passos (UFF) Conceitos Basicos FAC 24 / 52

Page 25: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Barramentos nos Computadores Modernos

Processador poderia estar conectado a todos os dispositivos por um unico barramento.Mas isso e ineficiente.

I Dispositivos tem tempos de acesso muito diferentes.I Memoria principal e rapida.I Dispositivos de E/S sao lentos.

F E alguns, mais lentos que outros.Solucao: multiplos barramentos ligados por pontes.

I Barramento do sistema (processador, memoria principal e memoria cache).I Barramento de E/S de alta velocidade (HDs, placa de rede, placa de vıdeo, . . . ).I Barramento de E/S de baixa velocidade (teclado, mouse, impressora, scanner, . . . ).

Fernanda Passos (UFF) Conceitos Basicos FAC 25 / 52

Page 26: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Pontes: Northbridge e Southbridge

Pontes conectam barramentos.Northbridge:

I UCP.I Barramentos de placas graficas.I Barramento de memoria.

Southbridge:I Barramento PCI.I Dispositivos de E/S lentos.

Northbridge e Southbridge formam o chipset.I Dentro do chipset, ha um barramento interno.

Front-side bus: conecta UCP ao Northbridge.

UCP

Flash ROM(BIOS)

Super I/OPorta Serial

Porta ParalelaTecladoMouse

Northbridge

(hub controladorda memória)

Southbridge(hub controlador

de E/S)IDE

SATAUSB

EthernetAudio Codec

CMOS Memory

PlacaGráfica

On-Board

Gerador de ClockPlaca

Gráfica

BarramentoGráfico de

Alta Velocidade(AGP ou PCI

Express)

Chipset

Front-sidebus

Barramentode Memória

Bancos de Memória

BarramentoPCI

Slots PCI

LPCBus

BarramentoInterno

BarramentoPCI

Cabeamentose Conectores

Fernanda Passos (UFF) Conceitos Basicos FAC 26 / 52

Page 27: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Unidades de Informacao: Byte

Unidade basica e o bit (b).I Toda informacao precisa ser codificada em um ou mais bits.

Outra unidade comum e o byte (B).I Grupo ordenado de 8 bits.I Definido pela IBM como unidade basica de armazenamento e transferencia de dados.I Comumente precedido de um multiplicador, ou prefixo:

Decimal BinarioValor Prefixo Valor Prefixo1000 K (kilo) 1024 Ki (kibi)10002 M (mega) 10242 Mi (mebi)10003 G (giga) 10243 Gi (gibi)10004 T (tera) 10244 Ti (tebi)10005 P (peta) 10245 Pi (pebi)10006 E (exa) 10246 Ei (exbi)10007 Z (zetta) 10247 Zi (zebi)10008 Y (yota) 10248 Yi (yobi)

Fernanda Passos (UFF) Conceitos Basicos FAC 27 / 52

Page 28: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Unidades de Informacao: Octeto vs. Byte

Hoje, o byte e universalmente entendido como um conjunto de 8 bits.Mas isso nem sempre foi verdade.

I Alguns computadores ja consideraram bytes de 7 bits, por exemplo.Para evitar ambiguidades, algumas vezes se utiliza o termo octeto para designar umconjunto ordenado de 8 bits.

Fernanda Passos (UFF) Conceitos Basicos FAC 28 / 52

Page 29: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Unidades de Informacao: Palavra

Unidade de informacao natural para um dado processador.Tamanhos de palavra tıpicos (atualmente): 32 bits, 64 bits.Conceito muito importante em arquiteturas de computadores.Normalmente, define o numero de bits usado em diversos aspectos de um processador.

I Tamanho da maior parte dos registradores.I Numero de bits sobre os quais operacoes sao realizadas.I Numero de bits transferidos entre UCP e memoria.I Tamanho de uma instrucao.I . . .

Note que processadores reais nem sempre usam o tamanho da palavra para todos estesaspectos.

I O tamanho dos registradores e o mais comum.

Fernanda Passos (UFF) Conceitos Basicos FAC 29 / 52

Page 30: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Outras Unidades de Informacao: Arquivo e Registro

Arquivo: conjunto de dados de um mesmo tipo para uma dada aplicacao.Exemplos:

I Arquivo listando alunos da turma.I Arquivo contendo um vıdeo.

Arquivos normalmente sao compostos por registros.I Um aluno especıfico no arquivo de alunos.I Um quadro especıfico no vıdeo.

Arquivos sao tipicamente armazenados em memoria secundaria.

Fernanda Passos (UFF) Conceitos Basicos FAC 30 / 52

Page 31: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Medidas de Desempenho

Fernanda Passos (UFF) Conceitos Basicos FAC 31 / 52

Page 32: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Desempenho de um Computador

Aspecto importante para projetistas e usuarios.Escolher hardware adequado a determinado sistema.Mas nao e trivial.

I Computadores modernos sao complexos e certos aspectos de difıcil predicao.

Outro problema: como definimos desempenho?I Vazao.I Tempo de resposta.

Fernanda Passos (UFF) Conceitos Basicos FAC 32 / 52

Page 33: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Desempenho de um Computador

Aspecto importante para projetistas e usuarios.Escolher hardware adequado a determinado sistema.Mas nao e trivial.

I Computadores modernos sao complexos e certos aspectos de difıcil predicao.Outro problema: como definimos desempenho?

I Vazao.I Tempo de resposta.

Fernanda Passos (UFF) Conceitos Basicos FAC 32 / 52

Page 34: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Medidas Comuns de Desempenho: Tempo de Resposta

Suponha que um usuario leigo deseje comprar um computador para sua casa.Ha dois modelos disponıveis, A e B.Ele quer comprar o computador “mais rapido”.Como ele fara a comparacao?Para este tipo de ambiente, normalmente consideramos “mais rapido” o computador capazde terminar mais rapidamente uma determinada tarefa.

Tempo de RespostaIntervalo entre o inıcio e o fim da execucao de uma determinada tarefa.

Fernanda Passos (UFF) Conceitos Basicos FAC 33 / 52

Page 35: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Medidas Comuns de Desempenho: Vazao

Suponha agora um administrador de um data center.Ele precisa escolher um novo servidor para atender a requisicoes a uma pagina web.O que e importante neste caso?Para um data center, mais importante que o tempo de resposta para uma requisicaoindividual, e atender ao maior numero possıvel de requisicoes por unidade de tempo.

I Exemplo: requisicoes atendidas por segundo.

VazaoQuantidade de trabalho realizada por unidade de tempo.

Fernanda Passos (UFF) Conceitos Basicos FAC 34 / 52

Page 36: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Vazao vs. Tempo de Resposta

Tempo de resposta e vazao sao relacionados.De fato, normalmente, reduzir o tempo de resposta equivale a aumentar a vazao.

0,25 0,5

A

B

(s)

0,75 1,0

Fernanda Passos (UFF) Conceitos Basicos FAC 35 / 52

Page 37: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Vazao vs. Tempo de Resposta (II)

Mas isso nem sempre e verdade.Processador A pode executar 3 tarefas em paralelo.

0,25 0,5

A

B

(s)

0,75 1,0

Fernanda Passos (UFF) Conceitos Basicos FAC 36 / 52

Page 38: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Metrica de Desempenho

Considerando tempo de resposta ou tempo de execucao como metrica de desempenho:I Maximizar desempenho ⇐⇒ minimizar tempo de resposta.I Para um computador x :

Desempenhox = 1Tempo de execucaox

Relacao: ”Computador x e n vezes mais rapido que y”.DesempenhoxDesempenhoy

= n

Fernanda Passos (UFF) Conceitos Basicos FAC 37 / 52

Page 39: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Relacao de Desempenho

Exemplo: tarefa em computador A dura 10 segundos e em um computador B dura 15segundos.O quanto A e mais rapido que B?

DesempenhoA = 110 e DesempenhoB = 1

15

n =DesempenhoADesempenhoB

=1

101

15= 15

10 = 1, 5

Logo, A e 1, 5 vezes mais rapido que B.

Fernanda Passos (UFF) Conceitos Basicos FAC 38 / 52

Page 40: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Tempo: Metrica de Desempenho

Tempo de resposta e uma das metricas mais comuns de desempenho.I Inclui acesso a disco, acesso a memoria, E/S, execucoes do S.O.

Outros termos: tempo de execucao, tempo de relogio ou tempo decorrido.

Tempo de CPU:Tempo real que a CPU (processador) gasta calculando uma tarefa especıfica.

I e.g. sem contar por esperas de E/S.

Fernanda Passos (UFF) Conceitos Basicos FAC 39 / 52

Page 41: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Tempo: Metrica de Desempenho

Tempo de resposta e uma das metricas mais comuns de desempenho.I Inclui acesso a disco, acesso a memoria, E/S, execucoes do S.O.

Outros termos: tempo de execucao, tempo de relogio ou tempo decorrido.

Tempo de CPU:Tempo real que a CPU (processador) gasta calculando uma tarefa especıfica.

I e.g. sem contar por esperas de E/S.

Fernanda Passos (UFF) Conceitos Basicos FAC 39 / 52

Page 42: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Desempenho da CPU

Definicoes:I Ciclo de clock: processador opera em ciclos (intervalos de tempo discreto).I Duracao do ciclo: ciclos geralmente tem sempre a mesma duracao.

F e.g. 250 nanossegundos ou 250 ns.I Frequencia de Operacao: inverso da duracao do ciclo.

F e.g. 4 gigahertz ou 4 GHz.

Tempo de execucao da CPU para um programa:Tempo de CPU = no de ciclos de clock× duracao do ciclo

ou

Tempo de CPU = no de ciclos de clockfrequencia de operacao

Fernanda Passos (UFF) Conceitos Basicos FAC 40 / 52

Page 43: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Desempenho da Instrucao de CPU

CPU executa um conjunto de instrucoes para cada programa.Vamos fazer, agora, referencia ao numero de instrucoes de um programa.

I Numero de instrucoes influencia diretamente no tempo de execucao.

No de ciclos de clock por programa:No de ciclos de clock = Numero de instrucoes× CPI

CPI: numero medio de ciclos de clock por instrucoes.I Instrucoes podem exigir diferentes quantidades de tempo.

Fernanda Passos (UFF) Conceitos Basicos FAC 41 / 52

Page 44: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Equacao Classica de Desempenho da CPU

3 fatores:I Numero de instrucoes.I CPI (ciclos de clock por instrucoes).I Duracao do ciclo.

Equacao classica do tempo de CPU:Tempo de CPU = Numero de instrucoes× CPI× Duracao do ciclo

ou

Tempo de CPU = Numero de instrucoes×CPIFrequencia de operacao

Fernanda Passos (UFF) Conceitos Basicos FAC 42 / 52

Page 45: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Equacao Classica de Desempenho da CPU

3 fatores:I Numero de instrucoes.I CPI (ciclos de clock por instrucoes).I Duracao do ciclo.

Equacao classica do tempo de CPU:Tempo de CPU = Numero de instrucoes× CPI× Duracao do ciclo

ou

Tempo de CPU = Numero de instrucoes×CPIFrequencia de operacao

Fernanda Passos (UFF) Conceitos Basicos FAC 42 / 52

Page 46: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Equacao Classica de Desempenho da CPU (II)

Exemplo: computadores A e B com mesmo conjunto de instrucoes.I A: duracao de ciclo de 250 ps e CPI de 2, 0.I B: duracao de ciclo de 500 ps e CPI de 1, 2.

Qual computador e mais rapido e por quanto?

Tempo de CPUA = I × 2, 0× 250 = 500× I psTempo de CPUB = I × 1, 2× 500 = 600× I ps

Desempenho da CPUADesempenho da CPUB

=Tempo de execucaoBTempo de execucaoA

= 600×I500×I = 1, 2

A e 1,2 vezes mais rapido que B para esse programa.

Fernanda Passos (UFF) Conceitos Basicos FAC 43 / 52

Page 47: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Equacao Classica de Desempenho da CPU (II)

Exemplo: computadores A e B com mesmo conjunto de instrucoes.I A: duracao de ciclo de 250 ps e CPI de 2, 0.I B: duracao de ciclo de 500 ps e CPI de 1, 2.

Qual computador e mais rapido e por quanto?

Tempo de CPUA = I × 2, 0× 250 = 500× I psTempo de CPUB = I × 1, 2× 500 = 600× I ps

Desempenho da CPUADesempenho da CPUB

=Tempo de execucaoBTempo de execucaoA

= 600×I500×I = 1, 2

A e 1,2 vezes mais rapido que B para esse programa.

Fernanda Passos (UFF) Conceitos Basicos FAC 43 / 52

Page 48: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Equacao Classica de Desempenho da CPU (II)

Exemplo: computadores A e B com mesmo conjunto de instrucoes.I A: duracao de ciclo de 250 ps e CPI de 2, 0.I B: duracao de ciclo de 500 ps e CPI de 1, 2.

Qual computador e mais rapido e por quanto?

Tempo de CPUA = I × 2, 0× 250 = 500× I psTempo de CPUB = I × 1, 2× 500 = 600× I ps

Desempenho da CPUADesempenho da CPUB

=Tempo de execucaoBTempo de execucaoA

= 600×I500×I = 1, 2

A e 1,2 vezes mais rapido que B para esse programa.

Fernanda Passos (UFF) Conceitos Basicos FAC 43 / 52

Page 49: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Outras Metricas de Desempenho: Eficiencia Energetica

Em alguns sistemas, o consumo energetico e tao ou mais importante que vazao ou tempode resposta.

I Dispositivos alimentados por bateria.I Grandes data centers com alto consumo energetico.

Neste caso, queremos ter boa vazao ou tempo de resposta.Mas relativamente ao consumo energetico.

I Quanto trabalho e feito por unidade de energia consumida?

Fernanda Passos (UFF) Conceitos Basicos FAC 44 / 52

Page 50: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Outras Metricas de Desempenho: MIPS

MIPS: milhoes de instrucoes por segundo.I Computadores mais rapidos tem MIPS mais altos.

MIPS = Numero de instrucoesTempo de execucao×106

MIPS = Numero de instrucoesNumero de instrucoes×CPI

Frequencia de Operacao ×106

MIPS = Frequencia de OperacaoCPI×106

Fernanda Passos (UFF) Conceitos Basicos FAC 45 / 52

Page 51: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Outras Metricas de Desempenho: MFLOPS

MFLOPS: milhoes de operacoes de ponto flutuante por segundo.I Semelhante a MIPS mas com instrucoes de operacao em ponto flutuante.I Operacoes em ponto flutuante tendem a ser mais lentas e variam de processador para

processador.Problemas do MFLOPS (e do MIPS):

I Que tipo de instrucao e considerada?I Como comparar arquiteturas com conjunto de instrucoes diferentes?

Mesmo assim, sao bons indicativos de desempenho.

Fernanda Passos (UFF) Conceitos Basicos FAC 46 / 52

Page 52: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Outras Metricas de Desempenho: MFLOPS e TOP 500

Fernanda Passos (UFF) Conceitos Basicos FAC 47 / 52

Page 53: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Benchmarks

Benchmark: programa usado para comparar desempenho de computadores.SPEC (system performance evaluation cooperative):

I Criou um conjunto padrao de benchmark.I SPEC CPU2006 e o mais recente.I Conjunto de 12 benchmarks de inteiros (CINT2006) e 17 benchmarks de ponto flutuante

(CFP2006).I SPECratio: normalizacao do tempo de execucao em relacao a um processador de referencia.I Medida de resumo CINT2006 ou CFP2006:

F Media geometrica dos SPECratios.

Fernanda Passos (UFF) Conceitos Basicos FAC 48 / 52

Page 54: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Benchmarks (II)

Valores para CINT2006 em um processador Opteron X4.

Descricao Nome Numero deinstrucoes ×109 CPI Duracao do

ciclo (ns)Tempo deexecucao (s)

Tempo de re-ferencia (s) SPECratio

Processamento destring interpretado perl 2.118 0,75 0,4 637 9.770 15,3

Compactacao declassificacao de blocos bzip2 2.389 0,85 0,4 817 9.650 11,8

Compilador C GNU gcc 1.050 1,72 0,4 724 8.050 11,1Otimizacao combi-natoria mcf 336 10,00 0,4 1.345 9.120 6,8

Jogo de xadrez (IA) sjeng 2.176 0,96 0,4 837 12.100 14,5...

Media geometrica 11,7

Fernanda Passos (UFF) Conceitos Basicos FAC 49 / 52

Page 55: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Fatores que Influenciam o Desempenho

Um computador possui diversos componentes.I Processador.I Memoria.I Dispositivos de E/S.I Barramentos.I . . .

O desempenho do computador como um todo depende da interacao entre estescomponentes.

I E dos seus desempenhos individuais.Exemplo:

I Um disco rıgido lento resultara em pouca eficiencia na leitura de arquivos mesmo comprocessadores rapidos.

Fernanda Passos (UFF) Conceitos Basicos FAC 50 / 52

Page 56: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Medidas Comuns de Desempenho de Componentes

Processadores:I Velocidade de execucao de instrucoes: numero de instrucoes por segundo (FLOPS, MFLOPS,

EFLOPS, . . . ).I Grau de paralelismo: numero de nucleos.

Memoria:I Tempo de acesso (s).

Barramentos:I Frequencia (Hz).I Largura (bits).I Taxa de transferencia (b/s)

Dispositivos de E/S:I Latencia (s).I Vazao (b/s).

Fernanda Passos (UFF) Conceitos Basicos FAC 51 / 52

Page 57: Aula 3: Conceitos Básicos e Medidas de Desempenhofernanda/2016-1/FAC/aulas/aula03.pdf · Aula 3: Conceitos B´asicos e Medidas de Desempenho Fernanda Passos Universidade Federal

Ordens de Grandeza

Nos computadores modernos, as ordens de grandeza sao geralmente extremas.I Tempos muito curtos.I Volumes de dados muito grandes.I Numero de instrucoes muito grande.I Dimensoes dos componentes muito pequenas.

Por este motivo, unidades de medidas sao muitas vezes diferentes das usadas no dia a dia.

ComprimentoUnidade Descricao

Micrometro (µm) 10−3 mmNanometro (nm) 10−6 mm

Angstrom (A) 10 nm

TempoUnidade Descricao

Milissegundo (ms) 10−3 sMicrossegundo (µs) 10−6 sNanosegundo (ns) 10−9 sPicosegundo (ps) 10−12 s

Fernanda Passos (UFF) Conceitos Basicos FAC 52 / 52