« Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 73 :
L''''horloge temps réel''' est un circuit qui compte les secondes, voire les millisecondes. Dans ce qui suit, nous la noterons RTC, ce qui est l'acronyme du terme anglais ''Real Time Clock''. Elle contient des ''timers matériels'' (''hardware timer''), à savoir des compteurs/décompteurs dont le rôle est de compter les cycles d'horloge. La RTC est cadencée par l’horloge de 32KHz générée par l’oscillateur à Quartz, et chaque ''timer'' peut compter/décompter un certain nombre de cycles. Chaque ''timer'' est initialisé avec un certain nombre de cycles, et il émet une interruption à direction du processeur quand ce nombre de cycles est écoulé. Les ''timers'' sont configurables, ce qui permet de préciser après combien de cycles il faut émettre une nouvelle interruption. On peut ainsi préciser s'il faut émettre une interruption après 32 cycles d'horloge, tous les 50 cycles, après 29 cycles, etc.
 
Les ''timers'' peuvent fonctionner en '''mode une fois''' et en '''mode répétitif'''. En mode une fois, le compteur/''timer'' s'arrête une fois qu'il a atteint le nombre de cycles configuré. On doit le réinitialiser manuellement, par l'intermédiaire du logiciel, pour l'utiliser une nouvelle fois. Le rôle de ce mode est de compter pendant une certaine durée. En mode répétitif, le ''timer'' se réinitialise automatiquement avec la valeur de départ, ce qui fait qu'il reboucle à l'infini. Il permet d'émettre une interruption tous les 50 cycles d'horloge, tous les 34 cycles, etc. Concrètement, le mode répétitif divise la fréquence d'entrée, alors que le mode une fois compte durant une durée fixe avant de s'arrêter.
 
La RTC a plusieurs rôles, mais le principal est de générer une interruption toutes les millisecondes, soit à une fréquence de 1KHz. Cela permet au processeur de mettre à jour la date exacte, mais aussi de compter des durées plus courtes, comme le ''ping'' (le temps de latence d'un réseau, pour simplifier), le temps de rafraichissement de l'écran, ou bien d'autres choses. A ce propos, c'est la raison pour laquelle il est impossible de dépasser les 1000 FPS sur les jeux vidéos Windows et Linux. L'interruption en question, l'IRQ8, est utilisée pour mesurer le temps dans les jeux vidéos, compter la durée d'une frame, et sert de ''timing'' pour démarrer le calcul d'une nouvelle image. La fréquence de 1 KHz est obtenue en divisant la fréquence de l’oscillateur à Quartz par 32. Pour cela, la RTC émet une interruption tous les 32 cycles de l'horloge. Elle est initialisée avec un nombre de cycles égal à 32 et fonctionne en mode répétitif.