Normalmente queremos relacionar o desempenho e dois computadores diferentes quantitativamente. Usaremos a frase “X é n vezes mais rápido que Y” - ou, “X tem n vezes a velocidade de Y” - para indicar:

Se X for n vezes mais rápido que Y, então o tempo de execução em Y é n vezes maior do que em X

Exemplo

Se o computador A executa um programa em 10 segundos e o computador B executa o mesmo programa em 15 segundos, o quanto A é mais rápido que B?

Resposta

Sabemos que A é n vezes mais rápido que B se:
Portanto, A é 1,5 vezes mais rápido que B.

Medindo o desempenho

Tempo de execução de CPU

O tempo real que a CPU gasta calculando para uma tarefa específica

Tempo de CPU do usuário

O Tempo de CPU gasto em um programa propriamente dito

Tempo de CPU do sistema

Tempo de CPU gasto no sistema operacional realizando tarefas em favor do programa

Quase todos os computadores são construídos usando-se um clock que determina quando os eventos ocorrem no hardware. Esses intervalos de tempo discretos são chamados de Ciclos de Clock.

Desempenho da CPU e seus fatores

Uma formula simples para medir o desempenho final (baseado no tempo de execução da CPU) relaciona as métricas mais básicas (ciclos de clock e tempo do ciclo de clock) ao tempo da CPU:

Melhorando o desempenho

A fórmula mencionada anteriormente deixa claro que o desempenho pode melhorar reduzindo o número de clocks necessários para o programa ou reduzindo o tamanho do ciclo de clock.

Exemplo

Um determinado programa executa em 10 segundos no computador A, que tem um clock de 2GHz. Estamos tentando ajudar um engenheiro a montar um computador B, que executará esse programa em 6 segundos. O projetista determinou que é possível haver um aumento considerável na taxa de clock(Hz), mas esse aumento afetará o restante do projeto da CPU, fazendo com que o computador B exija vezes a quantidade de ciclos de clock do computador A para esse programa. Que taxa de clock o projetista deve ter como alvo?

Resposta

Vamos primeiro achar o número de ciclos de clock exigidos para o programa em A
Agora vamos decobrir o tempo de CPU para B:
Para executar o programa em 6 segundos, B deverá ter o dobro de taxa de clock de A

Desempenho da instrução

O tempo de execução é igual ao número de instruções executas multiplicado pelo tempo médio por instrução

Números de ciclos de clock exigidos para um programa pode ser escrito como:

O termo ciclos de clock por instrução, que é o número médio de ciclos de clock que cada instrução leva para executar, normalmente é abreviado como CPI

Exemplo

Suponha que tenhamos duas implementações da mesma arquitetura de conjunto de instruções. O computador A tem um tempo de ciclo de clock de 250 ps e um CPI de 2.0 para um programa, e o computador B tem um tempo de ciclo de clock de 500 ps e um CPI de 1.2 para o mesmo programa. Qual computador é mais rápido para este programa e por quanto?

Resposta

Sabemos que cada computador executa o mesmo número de instruções para o programa. Vamos chamar esse número de I. Primeiro, encontramos o números de ciclos de clock do processador para cada computador

Agora, podemos calcular o tempo de CPU para cada computador