« Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 69 :
L'horloge temps réel a une fréquence de 1 KHz dans les PCs, mais la durée est différente sur les PC non-x86. La fréquence de la RTC est proportionnelle à la fréquence fournie par le générateur d'horloge. En effet, la fréquence de la RTC est fournie en multipliant la fréquence de l'horloge par N, N dépendant de la RTC considérée. Pour expliquer comment la RTC fait, prenons l'exemple d'un PC, où la RTC a une fréquence de 1 KHz, et l'horloge a une fréquence de 32 KHz. La RTC émet une interruption tous les 32 cycles de l'horloge. Pour cela, la RTC contient un compteur qui compte le nombre de cycles écoulés depuis la dernière interruption RTC. Quand ce nombre de cycles comptés atteint 32, la RTC émet une nouvelle interruption et remet à zéro son compteur.
Mais l'émission d'une nouvelle interruption toutes les millisecondes n'est pas la seule utilité de la RTC. Les RTC actuelles contiennent non seulement de quoi faire cela, mais aussi de quoi compter d'autres durées. La RTC contient donc un ou plusieurs ''timers matériels'' (''hardware timer''), des circuits qui comptent à une certaine fréquence. Un de ces ''timer'' est dédié aux interruptions RTC, qui ont lieu toutes les millisecondes, mais
Chaque ''timer'' est composé d'un compteur/décompteur cadencé à une certaine fréquence, souvent la fréquence fournie par le générateur de fréquence. Avec un ''timer'' basé sur un compteur, le compteur est initialisé à 0, est incrémenté à chaque cycle d'horloge, puis émet une interruption quand sa valeur atteint une valeur précise. Pour un décompteur, c'est la même chose, sauf que le décompteur est initialisé à sa valeur initiale, est décrémenté à chaque cycle, et envoie une interruption quand il atteint 0. Pour que les ''timers'' soient configurables, on doit pouvoir préciser combien de cycles il faut compter avant d'émettre une nouvelle interruption. On peut ainsi préciser s'il faut émettre une nouvelle interruption tous les 32 cycles d'horloge, tous les 50 cycles, tous les 129 cycles, etc. Pour cela, il suffit de préciser le nombre de cycles à compter/décompter dans un registre dédié, qui sert à initialiser le compteur/décompteur.
|