- HPET
-
High Precision Event Timer
Le HPET (High Precision Event Timer, soit Timer Événementiel de Haute Précision, aussi connu sous le nom de Timer Multimédia[1]) est un timer (minuterie, métronome, chronomètre, horloge, ...) sous forme de composant électronique. Le HPET a été développé conjointement par Intel et Microsoft.
Les anciens systèmes d'exploitation ne savent pas utiliser le HPET et peuvent uniquement tourner sur des machines qui ont les anciens systèmes de timer. Certaines machines ont les deux, par exemple HPET + RTC.
Sommaire
Fonctionnalités
Un bloc HPET est constitué d'un compteur et de 3 à 32 timers indépendants. Chaque timer est constitué d'un comparateur et d'un registre pour stocker la valeur à laquelle le timer doit se déclencher. Il peut y avoir au plus 8 blocs HPET. Chaque comparateur peut générer une interruption quand le compteur atteint la valeur préprogrammée, et c'est comme ceci que le timer informera le processeur que le temps donné est écoulé.
Tous les timers peuvent être placés en mode one-shot (littéralement un tir) et certains peut éventuellement supporter le mode périodique. En mode one-shot le timer déclenche une interruption une seule fois lorsque le compteur principal atteint la valeur stockée dans le registre du comparateur. En mode périodique les interruptions sont générés à l'intervalle de temps spécifié.
Applications
Le HPET peut produire des interruptions périodiques à une résolution beaucoup plus haute que le RTC. Le HPET est souvent utilisé pour synchroniser les flux multimédia, ce qui fourni une rendu fluide et réduit la nécessité d'utiliser les autres méthodes de calcul de temps tels que l'instruction RDTSC des processeurs x86.
Comparaison avec les prédécesseurs
Le HPET est désigné pour suppléer et remplacer le PIT 8254 et la fonction d'interruptions périodique des RTC. Comparé à ces anciens circuits, le HPET fonctionne à une plus haute fréquence (au moins 10MHz) et possède un compteur sur 64 bits (bien qu'ils puissent être manipulés en 32 bits).[1]
Le 8254 et le RTC peuvent, tout comme le HPET, être utilisés en mode one-shot, mais le processus de mise en place est tellement lent que leur mode one-shot n'est dans la pratique, jamais utilisé pour les tâches qui requièrent une certaine précision.[2] À la place du mode one-shot les puces 8254 et RTC sont typiquement utilisés en mode périodique avec un très petit intervalle. Par exemple, si une application a besoin d'effectuer plusieurs attentes courtes, il sera plus économique en temps d'utiliser le mode périodique qui tourne constamment à 1ms d'intervalle plutôt que de placer un one-shot chaque fois qu'il est nécessaire. Ceci à cause du coût élevé de la mise en place d'un one-shot sur les puces 2854 et RTC. Ceci va faire qu'une interruption sera déclenchée toutes les millisecondes même si l'application a besoin de travailler moins fréquemment. Il y aura donc des interruptions déclenchés dans le vide. Avec le HPET les interruptions supplémentaires peuvent êtres évitées grâce au coup de la mise en place des one-shot considérablement plus réduits.
Compatibilité
Les systèmes d'exploitation conçus avant le HPET ne peuvent pas l'utiliser, ils peuvent donc tourner uniquement sur les machines disposant d'un ancien système de timer. Les nouveaux systèmes d'exploitation essayent d'utiliser les deux. Quelques machines possèdent les deux systèmes de timer.
Les systèmes d'exploitation suivants sont connus pour ne pas être compatible avec le HPET : Windows XP, Windows Server 2003, et les précédentes versions de Windows. Les anciens Linux. Windows XP contient un driver pour le HPET, mais celui-ci n'est pas fonctionnel.
Les systèmes d'exploitation suivants sont connus pour être capables d'utiliser le HPET : Windows Vista, Windows 2008, les versions de Mac OS X basées les processeurs x86, Linux 2.6 et FreeBSD.
Avec un noyau Linux, vous aurez besoin du nouveau pilote d'horloge matérielle "rtc-cmos" à la place du driver "rtc" d'origine.
Voir aussi
- Programmable Interval Timer (PIT)
- Advanced Programmable Interrupt Controller (APIC)
- RDTSC (read time stamp counter)
- Real Time Clock
References
Catégorie : Circuit intégré
Wikimedia Foundation. 2010.