1. A subsettable top level cache comprising: a cache memory, means to specify subsets of the cache memory via executing instructions, means to provide cache like behavior within the subsets, and means to specify via executing instructions which subset to access for data, thereby enabling a compiler to allocate data and instructions likely to be needed close in execution time to different subsets of the said subsettable top level cache, which then avoids thrashing between those data and/or instructions allocated to different subsets of the cache.