1. A set associative cache memory, comprising: an array of storage elements arranged as M sets by N ways, wherein each set of the M sets belongs in one of L mutually exclusive groups; an allocation unit that allocates the storage elements of the array in response to memory accesses that miss in the cache memory; wherein each of the memory accesses selects a set of the M sets; wherein each of the memory accesses has an associated memory access type (MAT) of a plurality of predetermined MATs, wherein the MAT is received by the cache memory; a mapping that comprises a plurality of replacement policies to select among the N ways into which to allocate into; wherein the mapping, for each group of the L mutually exclusive groups, and for each MAT of the plurality of predetermined MATs, associates the MAT with a subset of one or more of the N ways of the array, so that the mapping accommodates different replacement policies for at least two different MATs in within at least one of the L mutually exclusive groups; and wherein for each memory access of the memory accesses, the allocation unit allocates into a way of the subset of one or more ways of the selected set that the mapping associates with the MAT of the memory access and with one of the L mutually exclusive groups in which the selected set belongs.