RDTSC

From Wikipedia, the free encyclopedia

Capture d'écran d'une console Linux qui affiche en hexadécimal le nombre de ticks après un reset.

L'instruction RDTSC est une instruction pour les processeurs x86.

Drapeaux affectés

L'instruction RDTSC est un mnémonique pour read time stamp counter. L'instruction retourne dans le couple de registre EDX:EAX le nombre de ticks[1] écoulés depuis la dernière remise à zéro du processeur (Reset).

L'instruction lit simplement un registre spécial de 64 bits, nommé time stamp counter (compteur temporel) et place le résultat dans les registres EDX et EAX. La partie haute du compteur temporel (32 bits de poids fort) est placée dans le registre EDX tandis que la partie basse (32 bits de poids faible) est placée dans le registre EAX.

L'instruction fut ajoutée au processeur Pentium.

OpcodeInstructionDescription
0F 31 RDTSC Lit le compteur de temps et place le résultat dans les registres EDX et EAX

Aucun drapeau du registre EFLAGS n'est affecté par cette instruction.

Exceptions générées

Les exceptions générées par l'instruction pour les différents modes d'exécution du processeur sont :

  • Mode protégé
    • Protection générale avec code 0 : #GP(0) ; Condition : Si le drapeau TSD du registre CR4 est armé et que le niveau de privilège est différent de 0.
  • Mode virtuel 8086
    • Protection générale avec code 0 : #GP(0) ; Condition : Si le drapeau TSD du registre CR4 est armé.
  • Mode réel
    • Aucune exception n'est générée dans ce mode d'exécution.

Exemples d'utilisation

Notes

Voir aussi

Related Articles

Wikiwand AI