A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device comprising a processor and a cache subsystem comprising a cache memory, causes the computing device to;
- segment the cache memory of the cache subsystem such that the cache memory comprises a plurality of cache segments, wherein each cache segment in the plurality of cache segments is associated with a different data property of data stored in the cache segment;
- configure software executing on the processor to direct cache accesses to one of the cache segments based on a corresponding data property of the cache accesses by the software;
- and
- process, by the processor, a data access operation from the software executing on the processor, based on an identifier of a cache segment in one of an effective address provided by the software or a page table entry corresponding to the effective address provided by the software, wherein the identifier comprises a cache segmentation enablement bit that indicates cache segmenting is used with a page frame corresponding to the page table entry and one or more cache segment selection bits that each indicate a cache segment to be used for caching the cache lines from the page frame corresponding to the page table entry.