1. A system comprising: a processor having a prefetch unit configured to generate addresses for accessing data from a system memory, the prefetch unit including: a first prediction unit configured to generate a first memory address according to a first prefetch algorithm; a second prediction unit configured to generate a second memory address according to a second prefetch algorithm; and an arbitration unit configured to select either the first or second memory address for use during a given prefetch operation.