O que significa “salvar os ciclos de clock pode fazer uma diferença substancial no tempo de execução”?

0

O texto a seguir está discutindo o desenvolvimento histórico do UNIX:

The next important milestone was the rewriting of UNIX in the programming language C. This was an unheard-of strategy at the time. It was generally felt that something as complex as an OS, which must deal with time-critical events, had to be written exclusively in assembly language. Reasons for this attitude include the following:

  • Processor and bus speeds were relatively slow, so saving clock cycles could make a substantial difference in execution time.

Não entendo porque salvar ciclos de clock resultaria em um tempo de execução mais rápido.

Não é verdade que os ciclos de clock mais rápidos (e mais freqüentes) são melhores para o tempo de execução do processador? Nesse caso, o objetivo não seria aumentar os ciclos do relógio em vez de "salvá-los" (reduzir)?

Eu agradeceria muito se alguém pudesse por favor reservar um tempo para esclarecer este ponto.

    
por The Pointer 18.01.2017 / 16:09

1 resposta

0

Quando você programa em assembler (código de máquina), você sabe quantos ciclos de cpu usam cada instrução, para que você saiba com antecedência quanto tempo levará uma rotina.

No entanto, se você usar uma linguagem de alto nível que é compilada (uma compilação é uma tradução para código de máquina), então é mais incerto quanto tempo um processo pode levar. Além disso, há uma dependência da capacidade do compilador de otimizar o código final de acordo com o tipo de CPU usado.

Código não otimizado significa mais ciclos de CPU para realizar a mesma tarefa.

    
por 18.01.2017 / 17:01