Skip to content

Commit

Permalink
More DC
Browse files Browse the repository at this point in the history
  • Loading branch information
lundal committed Apr 3, 2014
1 parent 84fb1af commit 8ebd569
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions report.tex
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ \subsection{Delta Correlation Prefetching}
Programs such as those that use large arrays benefit greatly from Stride Prefetching, as they usually access memory in constant repeating intervals.

By storing a history of deltas instead of only the most recent, Data Correlation Prefetching is able to capture much more complex patterns than pure strides.
The history can then be searched for matches to the most recent deltas.
Each stored delta following the match would then be applied to the last address and prefethed.
It does however demand more storage space, which is proportional to the number of deltas.
Fig.~\ref{fig:delta_stream} shows a repeating pattern that can be captured by Delta Correlation but not with Stride Prefetching.
It does however demand more storage space.
In the example, the two most recent deltas matches the first two, enabling a prefetch for address 31 and 40 to be issued.

\begin{figure}[!ht]
\centering
Expand All @@ -63,7 +66,7 @@ \subsection{Global History Buffer}
One such data structure is the Global History Buffer (GHB) \cite{ghb} which is shown in Fig.~\ref{fig:ghb}.
GHB is an $n$-entry First-In, First-Out (FIFO) queue implemented as a circular buffer.
It stores the $n$ most recent L1 cache misses in entries that contain the miss address and a link pointer.
The link pointer is used to chain entries together into time-ordered linked lists that holds the significant access patterns.
The link pointer is used to chain entries together into time-ordered linked lists that hold the significant access patterns.
An Index Table (IT) is used to keep track of these lists.
It maps some key to the most recent element of a linked list.
The IT is based on a FIFO queue like GHB, but significantly smaller as each entry has to be evaluated for each cache miss to look up a matching key.
Expand Down

0 comments on commit 8ebd569

Please sign in to comment.