If you really need performance, the variable is better in the CPU register.
If you cannot use case, for example, because you need to share the same value in different threads or cores (multi-core is becoming common now!), You need to store this variable in memory.
As already mentioned, you cannot force some cache memory to use a call or keyword. However, caches are not completely stupid: if you often use a block of memory, you should not have problems to save it in the cache.
Keep in mind that if you manage to write a lot of space from different cores to this memory, you will strain the cache coherency blocks in the processor, because they need to make sure that all caches and the actual memory below are stored in synchronization. Simply put, this will reduce the overall performance of the CPU.
Note that the opposite (non-caching) exists as a property that you can assign parts of your memory to heaps.
source share