RMV AC Avaliacao 1
-
Upload
nadiascarvalho -
Category
Documents
-
view
220 -
download
2
description
Transcript of RMV AC Avaliacao 1
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 1
Desempenho
Existem vários critérios aceitáveis: Tempo de execução; Débito (trabalho executado por unidade de tempo); etc.
Se Dx representar o desempenho do computador X e Tx o tempo de execução de um programa no mesmo computador, então Dx = 1/Tx.
Dizer que o computador X é n vezes mais rápido que o computador Y equivale a dizer que Dx/Dy = n = Ty/Tx
Tempo de resposta:Tempo decorrido entre início e fim de execução
Tempo de CPU: Sistema (Txs) + Utilizador (Tx
u)
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 2
Ciclos de Relógio
Em vez de reportar o tempo de execução em segundos, é frequente a sua quantificação em ciclos
Segundos/ Programa = (Ciclos/ Programa) * (Segundos/ Ciclo)
Período T (Tempo de ciclo) = Número de segundos por ciclo
Frequência f = 1/T = Número de ciclos por segundo (1 Hz = 1 ciclo/ segundo)
Por exemplo, um relógio com uma frequência de 200 MHz, possui um período
T = 1/(200*106) segundos = 5*10-9 segundos = 5 nanosegundos
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 3
Tempos de execução
Para um dado programa, Tu = Nc * T, em que Nc é o número de ciclos de relógio necessários para executar o programa.
Por outro lado, Nc = Ni * CPI, em que Ni é o número de instruções executadas pelo programa e CPI é o número médio de ciclos de relógio por instrução.
Então,
TTu u = N= Nii * CPI * T* CPI * T
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 4
Cálculo de desempenho: Um exemplo (1)
Um CPU possui as seguintes características:
O autor de um compilador pretende escolher entre duas sequências de instruções:
Pretende-se saber:- A sequência que executa mais instruções- A mais rápida- O CPI de cada uma
A B C1 2 1 22 4 1 1
SequênciaNúmero de Instruções
Classe CPIA 1B 2C 3
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 5
Cálculo de desempenho: Um exemplo (2)
Sequência 1
N1i = 2 + 1 + 2 = 5
N1c = (2 * 1) + (1 * 2) + (2 * 3) = 10
CPI1 = 10/5 = 2
Sequência 2
N2i = 4 + 1 + 1 = 6 Mais instruções
N2c = (4 * 1) + (1 * 2) + (1 * 3) = 9 Menos ciclos
CPI2 = 9/6 = 1.5 Melhor CPI
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 6
Métricas de desempenho: MIPS
MIPS ⇒ Millions of Instructions Per Second
MIPS = Ni/(Tu * 106) = f/(CPI * 106) Tu = Ni/(MIPS * 106)
Em geral, máquinas mais rápidas → Índice MIPS maior. Contudo:
1. MIPS não depende do conjunto de instruções (não serve para comparar máquinas com instruções diferentes);
2. Depende dos programas e dos respectivos dados de entrada;
3. Pode evoluir de forma contrária ao desempenho!
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 7
Métrica MIPS: Exemplo
Para a máquina do exemplo anterior (página 4), foi medido o número de instruções para o mesmo programa com compiladores diferentes.
Suponhamos que f = 100 MHz. Qual código é mais rápido de acordo com MIPS? E de acordo com o tempo de execução?
A B CCompilador 1 5 1 1Compilador 2 10 1 1
Compilador Nº de instruções por classe (106)
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 8
Solução
N1c = 10 * 106 N2
c = 15 * 106
CPI1 = N1c/(7 * 106) = 1.43 CPI2 = N2
c/(12 * 106) = 1.25
MIPS1 = (100 * 106)/(1.43 * 106) = 69.9 MIPS2 = (100 * 106)/(1.25 * 106) = 80.0
T1u = (N1
i * CPI1)/f T2u = (N2
i * CPI2)/f
= (7 * 1.43)/100 = 0.10 S = (12 * 1.25)/100 = 0.15 S
RMV – FEUP – 2003/2004 Arquitectura de Computadores – Avaliação de Desempenho 9
Conclusão
- Desempenho é específico para um dado programa ou conjunto de programas
- Para uma dada arquitectura, melhoria de desempenho pode ser obtida por:
- Aumento da frequência de relógio (sem efeitos adversos no CPI);
- Melhoramentos na organização do processador por forma a baixar o CPI;
- Melhoramentos nos compiladores por forma a baixar o CPI e/ ou o número de instruções.