La fréquence d'un processeur est-elle une valeur moyenne d'environ combien de ticks d'horloge il y a en une seconde ou a-t-il une stabilité physique plus forte?
À mon avis, il ne doit être ni stable ni instable. Alors, y a-t-il des informations disponibles sur la variance d'un processeur?
La durée de cycle d'une CPU est-elle strictement synchronisée avec la vibration du cristal? Ou faut-il simplement que le processeur réalise un cycle avant le prochain tick?
Réponses:
Comme toute chose compliquée, vous pouvez décrire le fonctionnement d’un processeur à différents niveaux.
Au niveau le plus fondamental, un processeur est piloté par une horloge précise. La fréquence de l'horloge peut changer; pense SpeedStep d'Intel. Mais à tout moment, le processeur est absolument verrouillé à 100% sur le signal d'horloge.
Les instructions de la CPU fonctionnent à un niveau beaucoup plus élevé. Une seule instruction est une chose complexe et peut prendre de moins d'un cycle à des milliers de cycles pour terminer comme expliqué ici sur Wikipedia .
Donc, fondamentalement, une instruction consomme un certain nombre de cycles d'horloge . Dans les processeurs modernes, en raison de technologies telles que les cœurs multiples, l'HyperThreading, le traitement en pipeline, la mise en cache, le dérèglement et l'exécution spéculative, le nombre exact de cycles d'horloge pour une seule instruction n'est pas garanti et varie chaque fois que vous émettez une telle instruction. !
MODIFIER
Oui et non. 99,99% des utilisateurs finaux sont intéressés par les performances globales , qui peuvent être quantifiées en exécutant divers tests.
Ce que vous demandez, ce sont des informations hautement techniques. Intel ne publie pas d’informations complètes ou précises sur la latence / le débit des instructions de l’UC .
Il y a des chercheurs qui ont pris l'initiative d'essayer de comprendre cela. Voici deux fichiers PDF pouvant vous intéresser:
Malheureusement, il est difficile d’obtenir des données sur la variance . Citant du premier PDF:
Lecture intéressante quand même!
la source
But at all times the CPU is absolutely 100% locked to the clock signal
ne s'applique qu'aux CPU synchrones. C'est idiot de parler de ticks dans un processeur asynchrone (sans horloge), mais cela me semblait une omission :)Bien sûr que non. Même les toutes meilleures horloges ne sont pas strictement périodiques. Les lois de la thermodynamique disent le contraire:
Les développeurs des toutes meilleures horloges s’efforcent, très difficilement, de dépasser les lois de la thermodynamique. Ils ne peuvent pas gagner, mais ils arrivent très près du seuil de rentabilité. L'horloge sur votre CPU? C'est des déchets en comparaison de ces meilleures horloges atomiques. C'est pourquoi le protocole de temps réseau existe.
Prédiction: nous assisterons encore une fois au chaos lorsque les meilleures horloges atomiques du monde iront du 2015 30 juin 23:59:59 UTC à 2015 30 juin 23:59:60 UTC à 2015 1 juillet 2015 00:00:00 UTC. Trop de systèmes ne reconnaissent pas les secondes intercalaires et définissent leur niveau de sécurité sur deux (ce qui empêche toute modification de l'heure de plus d'une seconde). La gigue d'horloge dans ces systèmes signifie que la seconde intercalaire du protocole temporel de réseau sera rejetée. Un certain nombre d'ordinateurs vont faire faillite, comme en 2012.
la source
Vers l'an 2000, lorsque les vitesses d'horloge des processeurs ont commencé à entrer dans la plage d'utilisation des téléphones mobiles, il est devenu courant d'ajouter une variation à la vitesse d'horloge réelle. La raison est simple: si l'horloge du processeur est exactement de 900 MHz, toutes les interférences électroniques sont générées à cette fréquence. Variez la fréquence d'horloge d'un bit entre 895 et 905 MHz, et le brouillage est également réparti sur cette plage.
Cela a été possible parce que les processeurs modernes sont limités en chaleur. Ils n'ont aucun problème à courir un peu plus vite pendant une courte période, car ils peuvent se refroidir quand l'horloge est ralentie plus tard.
la source
Concepteur de logique numérique ici. Le temps réel nécessaire à un réseau logique pour changer en réponse à un signal d'entrée est le délai de propagation . Pensez au système comme:
registers A,B,C... ---> logic cloud ---> registers A',B',C'
L '"horloge de lancement" est le bord d'horloge auquel le premier ensemble de registres change. "L'horloge de capture" est le prochain front d'horloge une période plus tard. Pour que le système fonctionne, la sortie du nuage logique doit être stable avant l'arrivée de l'horloge de capture.
Le processus permettant de s’assurer que cela fonctionne est une analyse temporelle. À l'aide d'une simulation du système basée sur la physique, calculez l' heure d'arrivée dans le pire des cas pour toute entrée d'une sortie. Le plus grand de ces chiffres dans le système définit la période d'horloge minimale.
Notez le pire des cas . Le temps de propagation réel sera plus court, mais cela dépendra de la variation du processus de fabrication, de la température actuelle et de la tension de la puce ( PVT ). Cela signifie concrètement que vous pouvez appliquer une horloge plus rapide (overclocking) et que cela peut fonctionner. Il peut également commencer à générer des erreurs, par exemple en décidant que
0x1fffffff + 1 = 0x1f000000
si le bit de report n'arrive pas à temps.Les puces peuvent également avoir plus d'une horloge à bord (généralement, le FSB est plus lent que le cœur) et l'horloge réelle peut être augmentée ou diminuée à des fins de contrôle thermique ou variée (réponse de MSalter sur l'utilisation du spectre étalé pour réussir les tests de CEM).
la source
Ni. La durée de l'instruction sera d'un certain nombre de tics d'horloge, mais ce nombre peut varier en fonction des exigences de l'instruction. Par exemple, si une instruction ne peut pas avancer jusqu'à ce qu'un emplacement de mémoire particulier soit dans le cache L1, l'instruction ne sera pas terminée avant le prochain coup d'horloge. Aucun progrès dans cette instruction ne sera fait jusqu'à ce que cela se produise.
Mais lorsque le processeur décide de faire quelque chose, la méthode de base par laquelle il le fait est de configurer ses commutateurs internes de manière à ce qu'un élément d'information particulier parvienne à une partie particulière du processeur. Il attend que l'entrée arrive à cette partie et que la sortie arrive à la partie suivante. Cette partie d'attente est le but de l'horloge.
Imaginez un circuit physique qui prend deux entrées binaires et les additionne, en générant la somme sur un troisième jeu de fils. Pour effectuer une addition, la CPU doit faire en sorte que les deux numéros soient ajoutés pour atteindre cet additionneur et les sorties pour atteindre, par exemple, un verrou de registre de la CPU. La CPU ne peut pas demander au verrou de stocker la sortie tant que les entrées n'atteignent pas l'additionneur, l'additionneur produisant la sortie et la sortie atteignant le verrou. C’est l’objet de l’horloge - de définir le temps d’attente entre l’organisation d’une entrée et son espoir que la sortie sera prête à être utilisée.
la source