From 2eb000c15817633cfe515e192690ea7bb60b19ae Mon Sep 17 00:00:00 2001 From: Per Thomas Lundal Date: Thu, 3 Apr 2014 21:26:53 +0200 Subject: [PATCH] More about ghb --- report.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/report.tex b/report.tex index 0163a92..cd223ec 100644 --- a/report.tex +++ b/report.tex @@ -57,7 +57,7 @@ \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. @@ -65,6 +65,8 @@ \subsection{Global History Buffer} 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}