A system and method is disclosed that reduces intrabank conflicts and
ensures maximum bandwidth on accesses to strided vectors in a
bank-interleaved cache memory. The computer system contains a processor
including a vector execution unit, scalar processor unit, cache controller
and bank-interleaved cache memory. The vector execution unit retrieves
strided vectors of data and instructions stored in the bank-interleaved
cache memory in a plurality of cache banks such that intrabank conflicts
are reduced. Given a stride S of a vector, the strided vectors of data and
instructions stored in the bank-interleaved cache memory are retrieved by
determining R and T using the equation S=2.sup.T *R. If T<=W, W
defining a cache bank 2.sup.W words wide, then, for
0<=i<2.sup.(W-T), 0<=j<2.sup.P, and 0<=k<2.sup.N, words
addressed i+2.sup.(W-T+N) j+2.sup.(W-T) k are accessed on the same cycle.
P defines the bank-interleaved cache memory to contain 2.sup.P sets and N
defines 2.sup.N cache banks in one set of the bank-interleaved cache
memory. If W=N, then the vector words are accessed
sequentially at different cycles.
Een systeem en een methode worden onthuld die intrabank conflicten vermindert en verzekert de maximumbandbreedte op toegangen tot vectoren in een bank-doorschoten voorgeheugen strided. Het computersysteem bevat een bewerker met inbegrip van een vectoruitvoeringseenheid, scalaire bewerkereenheid, geheim voorgeheugencontrolemechanisme en bank-doorschoten voorgeheugen. De vectoruitvoeringseenheid wint strided vectoren van gegevens en instructies die in het bank-doorschoten voorgeheugen in een meerderheid van geheim voorgeheugenbanken opgeslagen terug worden dusdanig dat intrabank de conflicten worden verminderd. Gezien een pas S van een vector, strided vectoren van gegevens en de instructies die in het bank-doorschoten voorgeheugen worden opgeslagen worden teruggewonnen door R en T te bepalen gebruikend de vergelijking S=2.sup.T * R. Als T = N, dan de vectorwoorden opeenvolgend bij verschillende cycli wordt betreden.