DEV Community

Cover image for Dia 16 - 1.6 Desempenho - Parte 1
Matheus Gomes
Matheus Gomes

Posted on

Dia 16 - 1.6 Desempenho - Parte 1

Esse post fala sobre o capítulo 1.6 do livro "Organização e Projeto de Computadores: Interface Hardware/Software"

-

Definindo desempenho

Na computação há duas medidas de desempenho: largura de banda e tempo de execução.

Tempo de execução: Tempo total exigido para o computador completar uma tarefa.

Largura de banda: Número de tarefas completadas por unidade de tempo.

Tomar medidas para reduzir o tempo de resposta, quase sempre melhora a largura de banda. (por exemplo, trocar o processador por uma versão mais rápida) Essa medida é categorizada como escalonamento vertical.

Aumentar a quantidade de processadores normalmente só melhora a largura de banda, porém, se o processamento for tão grande quanto a largura da banda, o tempo de resposta também é melhorado, pois diminuiria tempo de espera de tarefas enfileiradas. Essa medida é categorizada como escalonamento horizontal.

Relacionando desempenho e tempo de execução

Comparando dois computadores:
Se computador A executa um programa em 30 segundos, e B em 60, o quanto A é mais rápido que B?

fórmula de desempenho em tempo de execução

6030=2\frac{60}{30} = 2

A é 2 vezes mais rápido que B. Ou seja, B é 2 vezes mais lento que A.

Então:

A2=B\frac{A}{2} = B

Medindo desempenho

O tempo é a principal medida de desempenho do computador. Mas há distinção entre o tempo decorrido e o tempo que o processador está trabalhando em nosso favor.

O tempo de CPU é o tempo real que a CPU gasta para uma tarefa específica, podendo ser separado em:

Tempo de CPU do usuário: tempo gasto de CPU em um programa.

Tempo de CPU do sistema: tempo gasto do sistema operacional realizando tarefas em favor do programa.

"Para melhorar o desempenho de um programa, deve-se ter uma definição clara de qual é a métrica de desempenho de interesse."

Desempenho da CPU e seus fatores

Ciclo de clock: Tempo para um periodo de clock do processador que trabalha em uma taxa constante.

Período de clock: Extensão de cada ciclo de clock.

Para calcular o tempo de execução da CPU:

Fórmula de tempo de execução da CPU

Então, para melhorar o desempenho é necessário reduzir o número de ciclos de clocks, ou o tamanho do ciclo do clock.

Por exemplo, temos um computador A que executa um programa em 10 segundos. O clock dele é de 2 GHz. E queremos montar um computador B que execute esse programa em 6 segundos, o computador B exigirá 1,2 vezes a quantidade de ciclos de clock do computador A. Precisamos achar que taxa de clock o computador B deve ter.

Computador A:
2 GHz == 2x10⁹
a == ciclos de clock de CPU

10=a2x1010 = \frac{a}{2x10⁹}
a=10x2x10=20x10ciclosa = 10x2x10⁹ = 20x10⁹ ciclos

Computador B:
b == taxa de clock

6=1,2x20x10b6 = \frac{1,2x20x10⁹}{b}
b=1,2x20x106b = \frac{1,2x20x10⁹}{6}
b=0,2x20x101b = \frac{0,2x20x10⁹}{1}
b=4x101=4GHzb = \frac{4x10⁹}{1} = 4GHz

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay