PowerPC et DCBZ (pour Krabob)
-
Nico a écrit :
Ceci dis, si un codeur utilise “dcbz” ou “dcbzl”, il ne peux pas être
sur que son programme marchera sur certaines machines/version de
l’OS…
Il en est sûr s’il se contente de ce qui est expliqué dans la documentation, c’est à dire en évitant de compléter cette information à partir d’un constat fait sur un processeur particulier.
En l’occurence, DCBZ ne fait qu’initialiser une ligne de cache. Nul part il est écrit qu’une ligne de cache fait 32 octets. Cette caractéristique est dépendante du processeur.
L’erreur a été de considérer qu’une ligne de cache faisait 32 octets, et donc que DCBZ initialisait 32 octets. Les applications ont été conçues sur cette hypothèse (fausse), si bien qu’IBM a dû modifier son implémentation (qui était conforme, au départ) pour assurer une compatibilité ascendante.
L’ajout de DCBZL n’aurait pas dû être nécessaire si tout le monde s’était astreint à respecter la doc. On se retrouve maintenant avec une instruction spécifique au “G5”, et elle pourrait être à l’origine de problème de compatibilité dans le futur.
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › PowerPC et DCBZ (pour Krabob)