2010-10-08 16 views

Répondre

2

Non, il n'y en a pas. Il ne serait pas vraiment de sens pour permettre à quelque chose comme ça pour 3 raisons:

  1. Compte tenu de la taille (et associativities) des caches L2/L3 de x86 moderne, il est fort probable qu'une variable où cela aurait du sens aurait surtout rester dans la cache de toute façon. Autoriser une telle option rendrait la structure de la mémoire cache plus complexe (car elle doit prendre en charge la mémoire «épinglée».)
  2. Cela ne fonctionnerait pas bien avec le thread. Si les variables restaient dans le cache, cela permettrait à un programme de bloquer complètement le cache, ce qui ne serait pas le cas, sinon, quel serait le but d'une telle option?

Je ne sais pas sur le processeur Blackfin une recherche rapide suggère que le L1 n'est pas complètement organisé comme un cache, mais se compose d'une partie de cache et d'une partie de la mémoire adressable explicite. e la variable dans la potion adressable explicite, ce qui a beaucoup plus de sens que d'épingler une variable dans un cache. Ces processros n'auront probablement pas autant de threads en cours d'exécution qu'un CPU typique de fesktop, donc c'est logique.