You are on page 1of 13

Arquitetura de Computadores II

Aula 3 Reviso DTL/IM/UFRRJ Marcel William Rocha da Silva

Objetivos da aula
Aula passada
Reviso Arquitetura I
Arquitetura do conjunto de instrues MIPS

Aula de hoje
Reviso Arquitetura I
Ponto flutuante Desempenho de computadores

Representao numrica
Na arquitetura MIPS palavras de 32 bits
Nmeros sem sinal de 0 at 2^32 Nmero com sinal de -2^31 at 2^31 (usando complemento a 2)

Quando a computao resulta em um nmero fora deste limite?


Overflow indica para o usurio (programador) que os limites foram ultrapassados

O que fazer quando os nmeros so maiores ainda?


Distncia da terra at a lua = 1,496 10^11 metros Raio atmico do oxignio = 60 10^-12 metros Representao com ponto flutuante!

Ponto flutuante
Baseada em representao cientfica
1.234.000 = 1,234 * 10^6 -0,00001 = - 1,0 * 10^(-5)

Em binrio (-1)^s * (1 + F) * 2^E


s = bit de sinal F = parte fracionria E = expoente

Ponto flutuante
Uso dos 32 bits da palavra para representar sinal, frao e expoente Padro IEEE 754
Preciso simples (float) = 32 bits (1 palavra)
0 - 31

s E (expoente)
1 bit 8 bits

F (frao)
23 bits

Preciso dupla (double) = 64 bits (2 palavras)


0 - 31 32 - 63

s E (expoente)
1 bit 11 bits

F (frao)
20 bits

F (frao)
32 bits

Ponto flutuante (IEEE 754)


Representao: (-1)^s * (1 + F) * 2^(E - bias) Parte fracionaria sempre armazenada normalizada
Deve-se somar 1 ao valor de F 0,0101 1,01 * 2^(-2) 1 + 0,01

Expoente armazenado como nmero inteiro positivo pela adio de um bias (-127 ou -1023)
Valor real obtido pela subtrao do bias Objetivo facilitar comparao de magnitude
Preciso simples
E (8) 0 0-254 F (23) 0 qualquer

Preciso dupla
E (11) 0 0-2046 F (52) 0 qualquer

Objeto representado
zero verdadeiro (0) nmero FP

255
255

0
no-zero

2047
2047

0
no-zero

infinito
not a number (NaN)

Desempenho
Entender os fatores que influenciam o desempenho de programas sendo executados em um sistema importante
Permite identificar possveis aprimoramentos e desenvolver novos projetos

Mtricas de desempenho
Quantificam a influencia dos fatores no desempenho dos sistemas

Mtricas de desempenho
Tempo de execuo (tempo de resposta)
Tempo necessrio para executar do incio ao fim um programa Importante para o usurio final Desempenho inversamente proporcional
desempenho_X = 1/tempo_resposta_X

Exemplo
Se o sistema A n vezes mais rpido que B...

desempenhoA t _ respostaB n desempenhoB t _ respostaA

Mtricas de desempenho
Tempo de CPU
Tempo gasto pela CPU executando aquele programa Trs fatores influenciam esta mtrica
Tempo de CPU contagemde instrues CPI duraode clock

segundos instrues ciclos de clock segundos programa programa instruo ciclos de clock

Tempo de CPU
Tempo de CPU contagemde instrues CPI duraode clock

Contagem de instrues
Nmero de instrues executadas pelo programa Depende do tipo de instrues suportadas pela arquitetura
Compilador pode gerar cdigo menor menos instrues para realizar o mesmo trabalho

Tempo de CPU
Tempo de CPU contagemde instrues CPI duraode clock

CPI (Ciclos de clock por instruo)


Depende da complexidade da implementao de uma arquitetura Instrues possuem tempo variado de execuo
Instrues simples poucos ciclos de clock Instrues complexas muitos ciclos

Um programa possui diferentes tipos de instruo CPI uma mdia ponderada pela frequncia relativa de cada instruo no programa

Tempo de CPU
Tempo de CPU contagemde instrues CPI duraode clock

CPI (Ciclos de clock por instruo)


Exemplo:
Op ALU Load Store Freq 50% 20% 10% CPIi 1 5 3 Freq x CPIi
.5 1.0 .3

Branch

20%

.4

2.2

Exemplo
Assumindo o seguinte conjunto de instrues
A: CPI=1 B: CPI=2 C: CPI=3

O compilador/montador gera dois programas


Prog1: Possui 2 tipo A, 1 tipo B e 2 tipo C Prog2: Possui 4 tipo A, 1 tipo B e 1 tipo C

Qual possui o melhor tempo de CPU?


Prog1 = 2*1 + 1*2 + 2*3 = 10 ciclos de clock Prog2 = 4*1 + 1*2 + 1*3 = 9 ciclos de clock

You might also like