An analysis and experimental approach to teaching data prefetching on CMP

At our university, since the Spring of 2005, we have been teaching a first course about data cache on CMP from computer architecture. We have accomplished several goals. The most important of which is the analysis and experimental approach for pull-based data prefetching and push-based data prefetching on CMP. The pedagogical style embodied in this course fosters a good understanding of the relationship between memory wall and data prefetching for the students early in their experience.