The document describes several hardware-based data prefetching schemes that aim to reduce memory stalls by prefetching data into caches before it is needed by a program. It introduces fixed offset prefetching, stride-based prefetching, and tag correlated prefetching. It then discusses the simulation setup used to evaluate these schemes and presents results on their performance in terms of CPI, cache hit rate, and average memory access time. The tag correlated prefetching scheme achieved the best overall performance but at the cost of higher hardware complexity compared to the other schemes.