Chapters and
assumed a ``base'' model for prefetching, including a prefetch instruction,
lockup-free caches, etc. In this section, we will examine that model in
more detail and discuss some important tradeoffs. We begin in
Section
by discussing key properties of prefetch
instructions and how to incorporate them into a processor's instruction set architecture. Given that prefetches are performance hints,
and therefore can be dropped, in Section
we
evaluate when it is appropriate to drop prefetches. In
Section
we discuss how prefetches that are not
dropped should proceed through the memory hierarchy, and where the
resulting data should be placed (e.g., should it go directly into the
primary cache). We conclude in Section
by
discussing the more significant hardware modifications needed to support
prefetching, such as providing lockup-free caches.