A system and method for reducing linear address aliasing is described. In one
embodiment,
a portion of a linear address is combined with a process identifier, e.g., a page
directory base pointer to form an adjusted-linear address. The page directory base
pointer is unique to a process and combining it with a portion of the linear address
produces an adjusted-linear address that provides a high probability of no aliasing.
A portion of the adjusted-linear address is used to search an adjusted-linear-addressed
cache memory for a data block specified by the linear address. If the data block
does not reside in the adjusted-linear-addressed cache memory, then a replacement
policy selects one of the cache lines in the adjusted-linear-addressed cache memory
and replaces the data block of the selected cache line with a data block located
at a physical address produced from translating the linear address. The tag for
the cache line selected is a portion of the adjusted linear address and the physical
address produced from translating the linear address.