Skip to content

Commit

Permalink
More about ghb
Browse files Browse the repository at this point in the history
  • Loading branch information
lundal committed Apr 3, 2014
1 parent 6c710f8 commit 2eb000c
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion report.tex
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,16 @@ \subsection{Delta Correlation Prefetching}
\subsection{Global History Buffer}

History based prefetchers need to store access patterns efficient data structure that enables quick access.
One such data structure is the Global History Buffer (GHB) \cite{ghb} as shown in figure \ref{fig:ghb}.
One such data structure is the Global History Buffer (GHB) \cite{ghb} which is shown in figure \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.
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.
The key can be based on any cache miss information, and depending on it a wide variety of history based prefetch methods can be implemented.
By keeping only recent data, it is not subject to any significant amount of stale data, and is better able to capture current access patterns.
Programs changing between several regular patterns may however not benefit from this, as one pattern might fill the whole buffer, causing information of the other to be lost.
In a comparison of different prefetch mechanisms by Péres et al.\cite{microlib}, one using GHB gave the best performance.
\todo{less chance for data going stale}

Expand Down

0 comments on commit 2eb000c

Please sign in to comment.