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
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
CPI
1
2
3
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
Mais instrues
N2c = (4 * 1) + (1 * 2) + (1 * 3) = 9
Menos ciclos
Melhor CPI
Tu = Ni/(MIPS * 106)
Soluo
N1c
= 10 * 106
N2c
= 15 * 106
CPI1
CPI2
T1u
T2u
= (N1i * CPI1)/f
= (7 * 1.43)/100 = 0.10 S
= (N2i * CPI2)/f
= (12 * 1.25)/100 = 0.15 S
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.