A cache memory logically partitions a cache array having a single
access/command port into at least two slices, and uses a first cache
directory to access the first cache array slice while using a second
cache directory to access the second cache array slice, but accesses from
the cache directories are managed using a single cache arbiter which
controls the single access/command port. In the illustrative embodiment,
each cache directory has its own directory arbiter to handle conflicting
internal requests, and the directory arbiters communicate with the cache
arbiter. An address tag associated with a load request is transmitted
from the processor core with a designated bit that associates the address
tag with only one of the cache array slices whose corresponding directory
determines whether the address tag matches a currently valid cache entry.
The cache array may be arranged with rows and columns of cache sectors
wherein a given cache line is spread across sectors in different rows and
columns, with at least one portion of the given cache line being located
in a first column having a first latency and another portion of the given
cache line being located in a second column having a second latency
greater than the first latency. The cache array outputs different sectors
of the given cache line in successive clock cycles based on the latency
of a given sector.