1. A method of dynamically controlling processor access to a cache memory level in a multi-level cache hierarchy, comprising: determining a cache level attribute for an access operation by at least one of a plurality of processors during runtime using a processor, wherein said cache level attribute comprises a plurality of bits attached permanently to a virtual address and/or a physical address of data and said determination comprises: determining a cache level at which data is to be cached upon creation of the virtual address, wherein the step of determining the cache level includes: determining which of the plurality of processors require access to data; and setting the cache level in dependence on said determination; and generating the cache level attribute corresponding to the determined cache level; and dynamically controlling processor access to the cache memory level based on the cache level attribute.