[SOS] Wbinvd instruction.

Thomas Petazzoni thomas.petazzoni at enix.org
Lun 20 Déc 16:02:16 CET 2004


Salut,

LfvrChris at aol.com a écrit :

>     Pouvez-vous, s'il vous plaît, m'indiquer à quoi sert l'instruction 
> "*wbinvd*" ainsi que l'instruction "*invd*". Pourquoi sont-elles 
> utilisées lors de l'activation de la pagination dans certains codes ?

Pour ce genre de questions, je te recommande le volume 2 de la 
documentation d'Intel. Elle contient une référence très complète de 
toutes les instructions disponibles.

Pour wbinvd, la documentation est à la page 270 du deuxième tome du 
volume 2 de la documentation (le volume 2 est coupé en deux tomes pour 
les versions récentes de la documentation Intel).

wbinvd : Write Back and Invalidate Cache.

Dans quel contexte as-tu vu cette instruction ? Sur plateforme x86, il 
est peu probable qu'il soit nécessaire de l'utiliser, sauf sur des 
machines très exotiques. M'enfin, je peux me gourer.

Contrairement à ce que disait David (d2), cette instruction ne manipule 
pas les TLB, qui sont aussi des caches, mais des caches de traduction 
d'adresse virtuel->physique, alors que wbinvd travaille sur les caches 
de données/instructions. Je pense que d2 a confondu avec l'instruction 
invlpg qui effectivement invalide certaines entrées du TLB.

invd est exposée à la page 410 du premier tome du deuxième volume de la 
documentation Intel.

invd : Invalidate Cache

Si tu as besoin de plus de détails sur les problèmes de cohérence de 
cache, et des opérations type write back et invalidate, tu peux 
demander. J'ai eu récemment besoin de me frotter à ce genre de 
problèmes, et bien que je n'en sois pas devenu un expert, je peux 
expliquer les principes de base.

Liens vers la documentation d'Intel pour les processeur Pentium IV 
(toute la documentation est valable pour tous les processeurs 
précédents. Quand une instruction n'est pas disponible sur un modèle de 
processeur donné, c'est indiqué).

  - Volume 1 :
    ftp://download.intel.com/design/Pentium4/manuals/25366514.pdf

  - Volume 2, Partie 1 :
    ftp://download.intel.com/design/Pentium4/manuals/25366614.pdf

  - Volume 2, Partie 2 :
    ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf

  - Volume 3 :
    ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf

  - Guide d'optimisation
    ftp://download.intel.com/design/Pentium4/manuals/24896611.pdf

Bonne journée,

Thomas
-- 
PETAZZONI Thomas - thomas.petazzoni at enix.org
http://thomas.enix.org - Jabber: thomas.petazzoni at jabber.dk
http://kos.enix.org, http://sos.enix.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://the-doors.enix.org/pipermail/sos/attachments/20041220/29a8ccc4/signature.pgp


Plus d'informations sur la liste de diffusion Sos