Some fixes
This commit is contained in:
@@ -35,7 +35,7 @@ The processor can now perform operations on this data and use its end result wit
|
||||
Programs have a tendency to reference data that is nearby in the memory space of already referenced data.
|
||||
This tendency, spatial locality, arises because related data is often clustered together, for example in arrays or structures.
|
||||
When calculations are performed on those arrays, sequential access patterns can be observed as one element is processed after the other.
|
||||
Spatial locality can be exploited by organizing blocks of data in so called \textit{cache blocks} or \textit{cache lines}, which are larger than a single data word.
|
||||
Spatial locality can be exploited by organizing blocks of data in so-called \textit{cache blocks} or \textit{cache lines}, which are larger than a single data word.
|
||||
This is a passive form of making use of spatial locality, as referenced data will also cause nearby words to be loaded into the same cache line, making them available for further accesses.
|
||||
|
||||
An active form of exploiting spatial locality is the use of \textit{prefetching}.
|
||||
@@ -125,7 +125,7 @@ In case of a \textit{write-through} cache, the underlying memory is updated imme
|
||||
Because the DRAM provides a significantly lower bandwidth than the cache, this comes at a performance penalty.
|
||||
To mitigate the problem, a write buffer can be used, which allows the processor to make further progress while the data is written.
|
||||
|
||||
An alternative is a so called \textit{write-back} cache.
|
||||
An alternative is a so-called \textit{write-back} cache.
|
||||
Instead of writing the updated value immediately to the underlying memory, it will be written back when the corresponding cache line is evicted.
|
||||
To identify if a cache line has to be written back, a so-called \textit{dirty-bit} is used; it denotes if the value has been updated while it has been in the cache.
|
||||
If this is the case, it must be written back to ensure consistency, otherwise it is not necessary.
|
||||
@@ -149,7 +149,7 @@ Figure \ref{fig:virtual_address} shows an exemplary division of a virtual addres
|
||||
\end{figure}
|
||||
|
||||
Before a process can access a specific region in memory, the kernel has to translate the virtual page number into a physical page number.
|
||||
For conversions, so called \textit{page tables} are used to look up the physical page number.
|
||||
For conversions, so-called \textit{page tables} are used to look up the physical page number.
|
||||
Page tables are usually multiple levels deep (e.g. 4-levels on x86), so a single conversion can cause a number of memory accesses, which is expensive.
|
||||
To improve performance, a \revabbr{translation lookaside buffer}{TLB} is used, which acts like a cache on its own for physical page numbers.
|
||||
|
||||
@@ -203,7 +203,7 @@ An architecture of an MSHR file is illustrated in Figure \ref{fig:mshr_file}.
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\tikzfig{img/mshr_file}
|
||||
\caption[Miss Holding Status Register File \cite{Jahre2007}.]{Miss Holding Status Register File \cite{Jahre2007}. V refers to a valid bit.}
|
||||
\caption[Miss Status Holding Register File \cite{Jahre2007}.]{Miss Status Holding Register File \cite{Jahre2007}. \textit{V} refers to a valid bit.}
|
||||
\label{fig:mshr_file}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Reference in New Issue
Block a user