8 votes

Y a-t-il une minuterie dans l'unité centrale ?

Nous utilisons des minuteries dans notre code ; je suis simplement curieux de savoir comment elles sont réellement mises en œuvre. Y a-t-il un timer dans le circuit logique du CPU ou en dehors de la puce du CPU - par exemple, une horloge externe ou quelque chose comme ça ?

Si ce n'est pas le cas, alors où est la minuterie ? Pas besoin d'explication détaillée sur la fabrication d'un timer matériel, concentrez-vous simplement sur la localisation du timer sur la carte matérielle que nous avons.

11voto

Alastair McCormack Points 1727

Il existe de nombreux types d'horloges et de minuteries dans le matériel informatique. Tous les ordinateurs de base sont équipés d'un cristal, comme une montre numérique, qui sert à synchroniser l'unité centrale et détermine la "vitesse de l'horloge" en Hz.

La plupart des processeurs intègrent un certain nombre de minuteries qui utilisent la vitesse de l'horloge pour calculer le temps relatif entre deux points. Cela permet aux programmeurs système de définir une minuterie qui se déclenchera dans un certain nombre de cycles d'horloge du cristal. La minuterie avertit l'unité centrale de traitement que le temps défini s'est écoulé en activant une ligne d'interruption, à laquelle le programmeur attache un morceau de code.

Les systèmes d'exploitation et les langages de programmation font généralement abstraction des temporisateurs d'interruption afin que vous n'ayez pas à travailler directement avec eux.

La plupart des ordinateurs avancés, comme les PC, disposent d'une horloge en temps réel qui peut stocker l'heure et la date réelles du calendrier, mais qui n'est pas souvent utilisée pour les opérations de chronométrage.

Pour répondre à votre question :

en localisant le timer sur la carte matérielle, nous avons

cela dépend beaucoup de votre matériel et de la minuterie qui vous intéresse. Vous ne pourrez pas voir physiquement la plupart des minuteries ou horloges, mais le cristal est souvent facile à trouver et ressemble à une petite capsule métallique - Voir http://www.electronicrepairguide.com/how-to-test-crystal.html

8voto

Nikos C. Points 18676

Il existe de nombreux timers sur les machines x86. Le plus connu est le TSC (Time Stamp Counter). Il se trouve à l'intérieur du CPU. Ensuite, il y a les PIT (Programmable Interval Timer) sous forme de puces sur la carte mère, comme les Intel 8253 et 8254. Je ne suis pas sûr qu'ils soient encore utilisés. Un autre timer est le HPET (High Precision Event Timer). Il n'est pas à l'intérieur du CPU et c'est le plus récent des trois.

Il y a aussi, bien sûr, l'horloge en temps réel alimentée par une batterie. Je ne suis pas sûr que cela compte comme une minuterie. Probablement pas.

Le système d'exploitation détermine quelle minuterie est utilisée. Sur certains systèmes, c'est le TSC qui est utilisé, sur d'autres, c'est le HPET. Le TSC est généralement préféré car il se trouve à l'intérieur du CPU, ce qui le rend très rapide d'accès. Vous ne pouvez pas vraiment accéder à un timer spécifique directement à partir du code C sans instructions d'assemblage qui parlent directement au matériel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X