Anda di halaman 1dari 9

Desempenho

Existem vrios critrios aceitveis: Tempo de execuo; Dbito (trabalho


executado por unidade de tempo); etc.
Se Dx representar o desempenho do computador X e Tx o tempo de
execuo de um programa no mesmo computador, ento Dx = 1/Tx.
Dizer que o computador X n vezes mais rpido que o computador Y
equivale a dizer que Dx/Dy = n = Ty/Tx
Tempo de resposta:Tempo decorrido entre incio e fim de execuo
Tempo de CPU:

RMV FEUP 2003/2004

Sistema (Txs) + Utilizador (Txu)

Arquitectura de Computadores Avaliao de Desempenho

Ciclos de Relgio
Em vez de reportar o tempo de execuo em segundos, frequente a sua
quantificao em ciclos
Segundos/ Programa = (Ciclos/ Programa) * (Segundos/ Ciclo)
Perodo T (Tempo de ciclo) = Nmero de segundos por ciclo
Frequncia f = 1/T = Nmero de ciclos por segundo (1 Hz = 1 ciclo/ segundo)
Por exemplo, um relgio com uma frequncia de 200 MHz, possui um perodo
T = 1/(200*106) segundos = 5*10-9 segundos = 5 nanosegundos

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Tempos de execuo
Para um dado programa, Tu = Nc * T, em que Nc o nmero de ciclos de
relgio necessrios para executar o programa.
Por outro lado, Nc = Ni * CPI, em que Ni o nmero de instrues executadas
pelo programa e CPI o nmero mdio de ciclos de relgio por instruo.
Ento,

Tu = Ni * CPI * T

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Clculo de desempenho: Um exemplo (1)


Um CPU possui as seguintes caractersticas:
Classe
A
B
C

CPI
1
2
3

O autor de um compilador pretende escolher entre duas sequncias de


instrues:
Sequncia
1
2

Nmero de Instrues
A
B
C
2
1
2
4
1
1

Pretende-se saber:
- A sequncia que executa mais instrues
- A mais rpida
- O CPI de cada uma

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Clculo de desempenho: Um exemplo (2)


Sequncia 1
N1i = 2 + 1 + 2 = 5
N1c = (2 * 1) + (1 * 2) + (2 * 3) = 10
CPI1 = 10/5 = 2
Sequncia 2
N2i = 4 + 1 + 1 = 6

Mais instrues

N2c = (4 * 1) + (1 * 2) + (1 * 3) = 9

Menos ciclos

CPI2 = 9/6 = 1.5

Melhor CPI

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Mtricas de desempenho: MIPS


MIPS Millions of Instructions Per Second
MIPS = Ni/(Tu * 106) = f/(CPI * 106)

Tu = Ni/(MIPS * 106)

Em geral, mquinas mais rpidas ndice MIPS maior. Contudo:


1. MIPS no depende do conjunto de instrues (no serve para comparar
mquinas com instrues diferentes);
2. Depende dos programas e dos respectivos dados de entrada;
3. Pode evoluir de forma contrria ao desempenho!

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Mtrica MIPS: Exemplo


Para a mquina do exemplo anterior (pgina 4), foi medido o
nmero de instrues para o mesmo programa com compiladores
diferentes.
Compilador
Compilador 1
Compilador 2

N de instrues por classe (106)


A
B
C
5
1
1
10
1
1

Suponhamos que f = 100 MHz. Qual cdigo mais rpido de


acordo com MIPS? E de acordo com o tempo de execuo?

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Soluo
N1c

= 10 * 106

N2c

= 15 * 106

CPI1

= N1c/(7 * 106) = 1.43

CPI2

= N2c/(12 * 106) = 1.25

MIPS1 = (100 * 106)/(1.43 * 106) = 69.9

MIPS2 = (100 * 106)/(1.25 * 106) = 80.0

T1u

T2u

= (N1i * CPI1)/f
= (7 * 1.43)/100 = 0.10 S

RMV FEUP 2003/2004

= (N2i * CPI2)/f
= (12 * 1.25)/100 = 0.15 S

Arquitectura de Computadores Avaliao de Desempenho

Concluso
- Desempenho especfico para um dado programa ou conjunto de
programas
- Para uma dada arquitectura, melhoria de desempenho pode ser
obtida por:
- Aumento da frequncia de relgio (sem efeitos adversos no CPI);
- Melhoramentos na organizao do processador por forma a baixar o CPI;
- Melhoramentos nos compiladores por forma a baixar o CPI e/ ou o nmero de
instrues.

RMV FEUP 2003/2004

Arquitectura de Computadores Avaliao de Desempenho

Anda mungkin juga menyukai