Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Expert Confirmé Sénior
    Avatar de transgohan
    Homme Profil pro Baptiste ROUSSEL
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    1 754
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste ROUSSEL
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 754
    Points : 4 723
    Points
    4 723

    Par défaut Lecture du TSC

    Bonjour,

    j'ai récemment retouché à une librairie C++ appelant de l'assembleur (instruction rdtsc) pour récupérer la valeur du TSC.
    Et je l'ai retouchée justement parce que la lecture de la valeur dans le registre ne correspondait pas totalement à la valeur du compteur.

    A savoir que la machine tournait en 64bits, le TSC est une valeur sur 64bits je pensais donc naïvement la retrouver dans le registre RAX. Sauf que je n'y ai retrouvé que 32 des 64 bits...
    En effet en cherchant sur le net j'ai trouvé des billets indiquant qu'il fallait lire EAX et EDX pour obtenir la valeur complète.

    Mais je n'ai trouvé aucune explication depuis ce jour !
    Quelqu'un aurait-il un document que je n'aurai trouvé expliquant cela ? Ou bien une explication ?
    Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 452
    Points : 13 911
    Points
    13 911

    Par défaut

    Bonsoir,

    Citation Envoyé par transgohan Voir le message
    Quelqu'un aurait-il un document que je n'aurai trouvé expliquant cela ? Ou bien une explication ?
    Oui : le document de référence, « Intel® 64 and IA-32 Architectures Software Developer’s Manual », en ligne sur le site d'Intel.

    On y lit page 4-460 :

    Loads the current value of the processor’s time-stamp counter (a 64-bit MSR) into
    the EDX:EAX registers. The EDX register is loaded with the high-order 32 bits of the
    MSR and the EAX register is loaded with the low-order 32 bits. (On processors that
    support the Intel 64 architecture, the high-order 32 bits of each of RAX and RDX are
    cleared.)


    This instruction was introduced by the Pentium processor.

    C'est une instruction qui est apparue avec le Pentium, à une époque où l'architecture x86_64 n'était pas encore établie, et qui est restée telle quelle depuis, comme toutes les autres instructions de cette époque.

  3. #3
    Expert Confirmé Sénior
    Avatar de transgohan
    Homme Profil pro Baptiste ROUSSEL
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    1 754
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste ROUSSEL
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 754
    Points : 4 723
    Points
    4 723

    Par défaut

    Ah génial ! Merci.

    J'avais cherché sur leur site mais j'ai fini par me perdre... Mon anglais qui n'est pas assez correct ou bien leur organisation qui ne me revient pas.
    Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •