A frequência de uma CPU é um valor médio de quantos ticks existem em um segundo ou tem uma estabilidade física mais forte?
Na minha opinião, não deve ser estável nem instável. Existe alguma informação disponível sobre a variação de uma CPU?
A duração do ciclo de uma CPU está estritamente sincronizada com a vibração do cristal? Ou a CPU precisa apenas garantir um ciclo antes do próximo tick?
Respostas:
Como qualquer coisa complicada, você pode descrever a maneira como uma CPU opera em vários níveis.
No nível mais fundamental, uma CPU é acionada por um relógio preciso. A frequência do relógio pode mudar; pense no SpeedStep da Intel. Mas o tempo todo a CPU está absolutamente 100% bloqueada no sinal do relógio.
As instruções da CPU operam em um nível muito mais alto. Uma única instrução é uma coisa complexa e pode levar de menos de um ciclo a milhares de ciclos para concluir, conforme explicado aqui na Wikipedia .
Então, basicamente, uma instrução consumirá algum número de ciclos de relógio . Nas CPUs modernas, devido a tecnologias como múltiplos núcleos, HyperThreading, pipelining, cache, execução fora de ordem e especulativa, o número exato de ciclos de clock para uma única instrução não é garantido e variará cada vez que você emitir essa instrução. !
EDITAR
Sim e não. 99,99% dos usuários finais estão interessados no desempenho geral , que pode ser quantificado executando vários benchmarks.
O que você está pedindo é informações altamente técnicas. A Intel não publica informações completas ou precisas sobre a latência / taxa de transferência de instruções da CPU .
Há pesquisadores que se encarregaram de tentar descobrir isso. Aqui estão dois PDFs que podem ser do seu interesse:
Infelizmente, é difícil obter dados de variação . Citando o primeiro PDF:
Leitura interessante, no entanto!
fonte
But at all times the CPU is absolutely 100% locked to the clock signal
só se aplica a CPUs síncronas. É bobagem falar de carrapatos em um assíncrono (relógio-less) CPU, mas parecia uma omissão para me :)Claro que não. Mesmo os melhores relógios não são estritamente periódicos. As leis da termodinâmica dizem o contrário:
Os desenvolvedores dos melhores relógios tentam muito, muito difícil, superar as leis da termodinâmica. Eles não podem vencer, mas chegam muito, muito perto de empatar. O relógio na sua CPU? É lixo em comparação com os melhores relógios atômicos. É por isso que o Network Time Protocol existe.
Previsão: Veremos novamente um pouco de caos quando os melhores relógios atômicos do mundo passarem de 2015 30 de junho 23:59:59 UTC para 2015 30 de junho 23:59:60 UTC para 2015 1 de julho de 2015 00:00:00 UTC. Muitos sistemas não reconhecem segundos bissextos e têm o nível de segurança definido como dois (o que impede uma mudança de tempo de mais de um segundo). A oscilação do relógio nesses sistemas significa que o Network Time Protocol, que é um salto em segundo, será rejeitado. Vários computadores vão cair no ventre, exatamente como em 2012.
fonte
Por volta de 2000, quando as velocidades de clock dos processadores começaram a chegar ao intervalo em que os telefones celulares também operavam, tornou-se comum adicionar uma variação à velocidade real do relógio. O motivo é simples: se o clock da CPU for exatamente 900 MHz, toda a interferência eletrônica será gerada nessa frequência. Varie a frequência do relógio um pouco entre 895 e 905 Mhz, e a interferência também é distribuída nesse intervalo.
Isso foi possível porque as CPUs modernas são limitadas pelo calor. Eles não têm problemas para correr um pouco mais rápido por um curto período de tempo, pois podem esfriar quando o relógio desacelera mais tarde.
fonte
Designer de lógica digital aqui. O tempo real necessário para uma rede lógica mudar em resposta a um sinal de entrada é o atraso de propagação . Pense no sistema como:
registers A,B,C... ---> logic cloud ---> registers A',B',C'
O "relógio de inicialização" é a borda do relógio, na qual o primeiro conjunto de registros é alterado. O "relógio de captura" é o próximo limite do relógio, um período depois. Para que o sistema funcione, a saída da nuvem lógica deve ser estável antes que o relógio de captura chegue.
O processo para garantir que isso funcione é uma análise de tempo. Usando uma simulação do sistema com base na física, calcule o pior caso de chegada de qualquer entrada para qualquer saída. O maior desses números no sistema define o período mínimo do relógio.
Observe o pior caso . O tempo real de propagação será mais curto, mas depende da variação do processo de fabricação, temperatura atual e tensão do chip ( PVT ). Isso significa que, em termos práticos, você pode aplicar um relógio mais rápido (overclocking) e pode funcionar. Também pode começar a produzir erros, como decidir
0x1fffffff + 1 = 0x1f000000
se o bit de transporte não chega a tempo.Os chips também podem ter mais de um relógio a bordo (geralmente o FSB é mais lento que o núcleo) e o relógio real pode ser aumentado ou diminuído para fins de controle térmico ou variado (resposta do MSalter sobre o uso do espectro de dispersão para passar nos testes EMC).
fonte
Nem. A duração da instrução será um certo número de marcações do relógio, mas esse número pode variar com base nos requisitos da instrução. Por exemplo, se uma instrução não puder avançar adiante até que um determinado local da memória esteja no cache L1, a instrução não será concluída antes do próximo relógio. Nenhum progresso avançado nessa instrução será feito até que isso aconteça.
Mas quando a CPU decide fazer algo, o método básico pelo qual faz isso é configurar seus comutadores internos para que uma determinada informação seja direcionada a uma parte específica da CPU. Espera que a entrada chegue a essa porção e a saída chegue à próxima porção. Essa parte de espera é o objetivo do relógio.
Imagine um circuito físico que pega duas entradas binárias e as soma, produzindo a soma em algum terceiro conjunto de fios. Para fazer uma adição, a CPU deve providenciar a adição dos dois números para chegar a esse somador e as saídas para, digamos, uma trava de registro da CPU. A CPU não pode dizer à trava para armazenar a saída até que as entradas atinjam o somador, o somador produz a saída e a saída atinge a trava. Esse é o objetivo do relógio - definir o tempo de espera entre organizar a entrada para algum lugar e esperar que a saída esteja pronta para uso.
fonte