2015-11-05 2 views

Répondre

4

La plupart des caches modernes ne stockent pas les données sous la forme d'un bloc séquentiel d'octets, mais utilisent plutôt des techniques bancaires et d'entrelacement en raison de considérations de plan d'étage ou de synchronisation. En outre, la plupart des caches utilisent des techniques de correction d'erreur, de sorte que des bits supplémentaires peuvent être entrelacés avec les données. En conséquence, il n'y a pas de sens réel à discuter de l'endianness d'un cache, puisque l'ordre interne est généralement altéré par des considérations de conception. En plus de cela, dans la plupart des cas, les caches fournissent les données dans une granularité de ligne complète, il est donc inutile de demander quel offset vous commencez à lire.

Enfin, l'endianness est une question d'architecture, c'est ainsi que vous interprétez les données que vous obtenez de la CPU. Il existe pour décrire les options possibles dans lesquelles vous pouvez interpréter les données. Les caches sont micro architecturaux, donc par définition votre comportement fonctionnel de CPU devrait être inconscient à eux, et ils sont libres d'implémenter n'importe quelle structure interne qu'ils veulent. La question peut toujours être significative si vous avez un moyen de jeter un coup d'œil interne dans le cache, et que vous souhaitez traduire cela en une valeur, auquel cas la considération ci-dessus s'applique, et chaque processeur peut différer.

+0

Je soupçonnais quelque chose dans ce sens. Merci d'avoir accepté. –