[Kapitel] Ergänze neue Inhalte
This commit is contained in:
		
							parent
							
								
									fda94edbfd
								
							
						
					
					
						commit
						e86fdd60c4
					
				
					 4 changed files with 261 additions and 6 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								Bilder/Adressrechnen.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Bilder/Adressrechnen.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 112 KiB  | 
| 
						 | 
				
			
			@ -232,7 +232,7 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
 | 
			
		|||
	\item[Valid-Flag] Die Daten werden im Cache geändert und müssen noch in den \acs{HS} zurückgeschrieben werden (nur bei Write-Back-Schreibstrategie)
 | 
			
		||||
\end{description}
 | 
			
		||||
 | 
			
		||||
\subsection{Vollassoziativer Cache}
 | 
			
		||||
\subsection{Vollassoziativer Cache} \index{Cache!Vollassoziativ}
 | 
			
		||||
Jede \acl{HSS} kann in jeder \acl{CL} eingelagert werden (nicht gleichzeitig!)
 | 
			
		||||
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
| 
						 | 
				
			
			@ -306,17 +306,266 @@ Somit ergibt sich als Schaltnetz für einen 4-Bit-Komparator die \autoref{fig:n_
 | 
			
		|||
 | 
			
		||||
\acs{HW}-Aufwand für einen kaskadierbaren 1-Bit-Komparator
 | 
			
		||||
\begin{itemize}[noitemsep]
 | 
			
		||||
	\item[] HW: 42 Transistoren
 | 
			
		||||
	\item[] Zeit: 2 \acs{GLZ}
 | 
			
		||||
	\item HW: 42 Transistoren
 | 
			
		||||
	\item Zeit: 2 \acs{GLZ}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Im Cache reicht der Vergleich auf Gleichheit aller Ziffern parallel:
 | 
			
		||||
 | 
			
		||||
\begin{itemize}[noitemsep]
 | 
			
		||||
	\item 2 $n$-Bit-Zahlen: $n$ Äquivalenzgatter und 1 \code{UND} mit $n$ Eingängen. (vergleiche \autoref{fig:cache_komparator_3})
 | 
			
		||||
 | 
			
		||||
		$\Rightarrow$ $7n$ Transistoren HW-Aufwand
 | 
			
		||||
		$\Rightarrow$ $7n$ Transistoren \acs{HW}-Aufwand
 | 
			
		||||
 | 
			
		||||
		$\Rightarrow$  3 \acs{GLZ} Zeitaufwand
 | 
			
		||||
\end{itemize}\todo{Formatieren, etc}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
\subsection{Direct-Mapped Cache}\index{Cache!Direct-Mapped}
 | 
			
		||||
 | 
			
		||||
\begin{wrapfigure}[8]{r}[15mm]{78mm}
 | 
			
		||||
	\centering
 | 
			
		||||
	\vspace*{-15mm}
 | 
			
		||||
	\begin{tikzpicture}
 | 
			
		||||
		\draw (0.5, 0) rectangle ++(2,1);
 | 
			
		||||
		\node at (1.5, 0.5) (Tag) {Tag};
 | 
			
		||||
		\draw [decorate,decoration={brace,amplitude=6pt,raise=4pt},yshift=0pt]
 | 
			
		||||
		(0.5,1) -- (4,1) node [black,midway,yshift=0.7cm,font=\footnotesize] {
 | 
			
		||||
			Nummer der \acs{HSS}};
 | 
			
		||||
		
 | 
			
		||||
		\draw (2.5, 0) rectangle ++(1.5,1);
 | 
			
		||||
		\node at (3.25, 0.5) (mBit) {$m$-Bit};
 | 
			
		||||
		\draw[->,very thick] (3.25,0) -- ++(0,-1.5);
 | 
			
		||||
		\node[font=\footnotesize,align=center] at (3.25, -2) (mBesc) {Nummer der\\ \acs{CL} im \acs{DMC}};
 | 
			
		||||
		
 | 
			
		||||
		\draw (4, 0) rectangle ++(1.5,1);
 | 
			
		||||
		\node at (4.75, 0.5) (kBit) {$k$-Bit};
 | 
			
		||||
		\draw[->,very thick] (4.75,0) -- ++(0,-0.6);
 | 
			
		||||
		\node[font=\footnotesize,align=center] at (4.75, -1.1) (kBesch) {Position innerhalb\\einer \acs{HSS}};
 | 
			
		||||
	\end{tikzpicture}
 | 
			
		||||
	\caption{Direct-Mapped-Cache-Line}
 | 
			
		||||
	\label{fig:direct_mapped_cache_line}
 | 
			
		||||
\end{wrapfigure}
 | 
			
		||||
 | 
			
		||||
Beim \acf{DMC} gibt es für jede \acs{HSS} nur/genau eine \acs{CL}, in welche diese \acs{HSS} eingelagert werden kann. \newline
 | 
			
		||||
$\Rightarrow$ es ist nur ein Komparator nötig
 | 
			
		||||
 | 
			
		||||
Es ist eine Hash-Funktion notwendig, welche die gekürzte \acs{HSA} auf die \acs{CL}-Nummer abbildet. Die einfachste Hash-Funktion ist \enquote{Modulo} (Rest einer Ganzzahldivision).
 | 
			
		||||
 | 
			
		||||
Modulo ist besonders einfach, falls der Divisor eine Zweierpotenz (\zB $2^m$) an Bits ist, denn dann stellen die niederwertigsten $m$ Bit den gesuchten Rest dar! Nachteil ist, dass dadurch nur Zweierpotenzen an \acsp{CL} möglich sind.
 | 
			
		||||
 | 
			
		||||
Viele Paare von \acs{HSS} können nicht gleichzeitig im Cache gehalten werden (bei gleichem Ergebnis der Hash-Funktion). Eine mögliche Problemlösung: Ausweichfunktion (wird aus Zeitgründen beim Cache nicht verwendet).
 | 
			
		||||
 | 
			
		||||
\textbf{Abhilfe}: \acf{nWAC}
 | 
			
		||||
 | 
			
		||||
\subsection{$n$-Wege-Assoziativ-Cache} \index{Cache!$n$-Wege-Assoziativ-Cache}
 | 
			
		||||
Für jede \acs{HSS} gibt es genau $n$ \acl{CL}, in welche die \acs{HSS} eingelagert werden kann.
 | 
			
		||||
Realisierung über $n$ \acs{DMC}, welche alle jeweils gleich aufgebaut sind.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Kollision}
 | 
			
		||||
Falls beim Einlagern einer \acl{HSS} in den Cache bereits alle für diese \acs{HSS} in Frage kommenden \aclp{CL} belegt sind, handelt es sich um eine Kollision.
 | 
			
		||||
 | 
			
		||||
Eine Kollision kann frühestens auftreten:
 | 
			
		||||
\begin{itemize}[noitemsep]
 | 
			
		||||
	\item beim \acs{VAC}: bei vollem (heißen) Cache
 | 
			
		||||
	\item beim \acs{DMC}: beim zweiten Zugriff
 | 
			
		||||
	\item beim $n$-Wege-\acs{AC}: beim $(n+1)$-ten Zugriff
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
Wie groß ist die Kollisionswahrscheinlichkeit?
 | 
			
		||||
 | 
			
		||||
\begin{tabular}{c@{}llccl}
 | 
			
		||||
	\textbullet~ & \acs{DMC}:         & $p_\text{Kollision beim 2. Zugriff}$  & $=$ & $\frac{1}{\text{Anzahl \acs{CL}}}$ & $=\frac{1}{2^m}$      \\[1.5ex]
 | 
			
		||||
	\textbullet~ & $n$-Wege-\acs{AC}: & $p_\text{Kollision beim n+1 Zugriff}$ & $=$ &        $(\frac{1}{2^m})^n$         & $=(\frac{1}{2^{mn}})$
 | 
			
		||||
\end{tabular}
 | 
			
		||||
 | 
			
		||||
\bigskip
 | 
			
		||||
Beispiel: Vergleich \acs{DMC} mit 2-Wege-\acs{AC}
 | 
			
		||||
 | 
			
		||||
\begin{tabular}{c@{}l@{}ll}
 | 
			
		||||
	\textbullet~ & \acs{DMC}:       & Anzahl \acs{CL} $= 16 \Rightarrow m=4: p_\text{Kollision 2. Zugriff}$   & $=\frac{1}{2^4}=0,0625=6,25\%$                 \\[1.5ex]
 | 
			
		||||
	\textbullet~ & 2-Wege-\acs{AC}:~ & Anzahl \acs{CL} je 8~ $\Rightarrow m=3: p_\text{Kollision 2. Zugriff}$ & $=\frac{1}{2^{3\cdot 2}}=\frac{1}{2^6}=1,5625$
 | 
			
		||||
\end{tabular}
 | 
			
		||||
 | 
			
		||||
\subsection{Verdrängung} \index{Cache!Verdrängung}
 | 
			
		||||
Wenn eine \acs{HSS} in den Cache eingelagert werden soll, muss eine andere aus dem Cache entfernt werden. Eine Kollision ist Voraussetzung für Verdrängung. Mit einer Verdrängungsstrategie wird darüber entschieden, welche der möglichen \acs{HSS} verdrängt wird. In \autoref{sec:verdraengungsstrategie} wird auf die Verdrängungsstrategie eingegangen.
 | 
			
		||||
 | 
			
		||||
\begin{Hinweis}
 | 
			
		||||
	Eine Verdrängungsstrategie ist nur notwendig beim \acs{VAC} und beim $n$-Wege-\acs{AC}. Beim \acs{DMC} braucht man \textit{keine} Verdrängungsstrategie!
 | 
			
		||||
\end{Hinweis}
 | 
			
		||||
 | 
			
		||||
\subsection{Adressrechnen mit Cache}
 | 
			
		||||
 | 
			
		||||
\columnratio{0.6}
 | 
			
		||||
\begin{paracol}{2}
 | 
			
		||||
	\begin{tabular}{c@{}ll}
 | 
			
		||||
		\textbullet~ & 2-Wege-\acs{AC}:                          & $n=2$                  \\[1ex]
 | 
			
		||||
		\textbullet~ & 2 \acs{DMC} mit jeweils 8 \acs{CL}:   & $m=3$                  \\[1ex]
 | 
			
		||||
		\textbullet~ & jede \acs{CL} beinhaltet 16 Worte:    & $k=4$                  \\[1ex]
 | 
			
		||||
		\textbullet~ & \acs{HS} beinhaltet $4096$ \acs{HSA}: & $2^{12}$ Speicherwerte
 | 
			
		||||
	\end{tabular}
 | 
			
		||||
	\switchcolumn
 | 
			
		||||
	Der Tag ist $12-4-3=5$ Bit groß, siehe \autoref{fig:5_Bit_Tag}.
 | 
			
		||||
\end{paracol}
 | 
			
		||||
 | 
			
		||||
\bigskip
 | 
			
		||||
\begin{Hinweis}
 | 
			
		||||
	Die Größe eines Speicherwertes in Bit wird nicht definiert und ist auch unerheblich für die folgenden Überlegungen
 | 
			
		||||
\end{Hinweis}
 | 
			
		||||
 | 
			
		||||
\begin{figure}[!ht]
 | 
			
		||||
	\centering
 | 
			
		||||
	\begin{tikzpicture}
 | 
			
		||||
		\draw (-0.5, 0) rectangle ++(3.5,1.5);
 | 
			
		||||
		\node[align=center] at (1.25, 0.75) (Tag) {$12-m-k$ \\$=5$ Bit Tag};
 | 
			
		||||
		\draw [decorate,decoration={brace,amplitude=6pt,raise=4pt},yshift=0pt]
 | 
			
		||||
		(-0.5,1.5) -- (9,1.5) node [black,midway,yshift=0.7cm] {\acs{HSA} - 12 Bit};
 | 
			
		||||
		
 | 
			
		||||
		\draw (3, 0) rectangle ++(3,1.5);
 | 
			
		||||
		\node[align=center] at (4.5, 0.75) (mBit) {$m$ (3) Bit\\\acs{CL}-Nummer};
 | 
			
		||||
		
 | 
			
		||||
		\draw (6, 0) rectangle ++(3,1.5);
 | 
			
		||||
		\node[align=center] at (7.5, 0.75) (kBit) {$k$ (4) Bit\\ Pos. in \acs{CL}};
 | 
			
		||||
	\end{tikzpicture}
 | 
			
		||||
	\caption{Cache-Line mit $5$-Bit Tag}
 | 
			
		||||
	\label{fig:5_Bit_Tag}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\autoref{fig:adressrechnen} zeigt Cache A (links) und Cache B (rechts), mit denen im folgenden gerechnet wird. Die angefragten \aclp{HSA} müssen auf 12-Bit erweitert werden, denn hier ist eine \acl{CL} 12-Bit groß, wie in \autoref{fig:5_Bit_Tag} zu sehen ist.
 | 
			
		||||
 | 
			
		||||
\begin{figure}[!h]
 | 
			
		||||
	\centering
 | 
			
		||||
	\hspace*{-2cm}
 | 
			
		||||
	\includegraphics[width=\textwidth+4cm]{./Bilder/Adressrechnen.png}
 | 
			
		||||
	\caption{2-Wege-\acs{AC} - Beispiel für Adressrechnen}
 | 
			
		||||
	\label{fig:adressrechnen}
 | 
			
		||||
\end{figure}
 | 
			
		||||
 | 
			
		||||
\columnratio{0.5}
 | 
			
		||||
\begin{paracol}{2}
 | 
			
		||||
	\textbf{angefragte \acs{HSA}}: $42_{10}=101010_2$
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		$\underbrace{0~0~0~0~0}_\text{Tag}\underbrace{~0~~~1~~~0~}_{\text{\acs{CL}-Nr (2)}}\underbrace{~1~~~~0~~~~1~~~~0~}_{\text{Pos. in \acs{CL} (10)}}$
 | 
			
		||||
	\end{center}
 | 
			
		||||
	
 | 
			
		||||
	Cache A \acs{CL}-Nr. 2 ist nicht valide
 | 
			
		||||
	
 | 
			
		||||
	Cache B \acs{CL}-Nr. 2 ist nicht valide
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ ein Miss
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Einlagern der \acs{HSS} (von \acs{HSA} 32 bis 47) \newline
 | 
			
		||||
	\phantom{$\Rightarrow$} in \acs{CL}-Nr. 2
 | 
			
		||||
	
 | 
			
		||||
	\switchcolumn
 | 
			
		||||
	\textbf{angefragte \acs{HSA}}: $0815_{10}=1100101111_2$
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		$\underbrace{0~0~1~1~0}_\text{Tag}\underbrace{~0~~1~~0~}_\text{\acs{CL}-Nr. (2)}\underbrace{~1~~~1~~~1~~~1~}_\text{Pos. in \acs{CL} (15)}$
 | 
			
		||||
	\end{center}
 | 
			
		||||
	
 | 
			
		||||
	Cache-A \acs{CL}-Nr. 2 ist valide, aber falscher Tag.
 | 
			
		||||
	
 | 
			
		||||
	Cache-B \acs{CL}-Nr. 2 ist nicht valide.
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ insgesamt ein Miss
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Einlagern der \acs{HSS} (von \acs{HSA} 800 bis 815) \newline
 | 
			
		||||
	\phantom{$\Rightarrow$} in \acs{CL}-Nr. 2 in Cache B \newline
 | 
			
		||||
	\phantom{$\Rightarrow$} (Cache A nicht möglich)
 | 
			
		||||
\end{paracol}
 | 
			
		||||
\bigskip
 | 
			
		||||
 | 
			
		||||
\columnratio{0.5}
 | 
			
		||||
\begin{paracol}{2}
 | 
			
		||||
	\textbf{angefragte \acs{HSA}}: $0271_{10}$
 | 
			
		||||
	
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		$\underbrace{~0~0~0~1~0~}_\text{Tag}\underbrace{~0~~~0~~~0~}_\text{\acs{CL}-Nr. 0}\underbrace{~1~1~1~1~}_\text{Pos. in \acs{CL} (15)}$
 | 
			
		||||
	\end{center}
 | 
			
		||||
 | 
			
		||||
	Cache A \acs{CL}-Nr. 0 ist nicht valide
 | 
			
		||||
	
 | 
			
		||||
	Cache B \acs{CL}-Nr. 0 ist nicht valide
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Miss
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Einlagen der \acs{HSS} von (\acs{HSA} 256 bis 271) \newline
 | 
			
		||||
	\phantom{$\Rightarrow$} in \acs{CL}-Nr. 0
 | 
			
		||||
	\switchcolumn
 | 
			
		||||
	\textbf{angefragte \acs{HSA}}: $37_{10}$
 | 
			
		||||
	
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		$\underbrace{~0~0~0~0~0~}_\text{Tag}\underbrace{~0~~~1~~~0~}_\text{\acs{CL}-Nr. 2}\underbrace{~0~1~0~1~}_\text{Pos. in \acs{CL} (5)}$
 | 
			
		||||
	\end{center}
 | 
			
		||||
 | 
			
		||||
	\acs{CL}-Nr. 2 in Cache A ist valide, der Tag stimmt überein, also
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Hit in Cache A \acs{CL}-Nr. 2
 | 
			
		||||
\end{paracol}
 | 
			
		||||
 | 
			
		||||
\columnratio{0.5}
 | 
			
		||||
\begin{paracol}{2}
 | 
			
		||||
	\textbf{angefragte \acs{HSA}}: $0675_{10}$	
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		$\underbrace{~0~0~1~0~1~}_\text{Tag}\underbrace{~0~~~1~~~0~}_\text{\acs{CL}-Nr. 2}\underbrace{~0~0~1~1~}_\text{Pos. in \acs{CL} (3)}$
 | 
			
		||||
	\end{center}
 | 
			
		||||
	Tag in \acs{CL}-Nr. 2 von Cache A und Cache B sind verschieden vom angefragten Tag.
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Miss $\Rightarrow$ sogar Kollision
 | 
			
		||||
	
 | 
			
		||||
	$\Rightarrow$ Verdrängung notwendig
 | 
			
		||||
	\switchcolumn
 | 
			
		||||
\end{paracol}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\subsection{Verdrängungsstrategie} \label{sec:verdraengungsstrategie} \index{Cache!Verdrängungsstrategie}
 | 
			
		||||
 | 
			
		||||
\subsubsection{Random}
 | 
			
		||||
Die zu verdrängende Seite wird zufällig aus den möglichen \acs{HSS} ausgewählt.
 | 
			
		||||
 | 
			
		||||
\textit{Bewertung}:\newline
 | 
			
		||||
Erwartete Hit-Rate $=\frac{\text{Größe (Cache)}}{\text{Größe (\acs{HS})}}$ (bei zufällig verteilten Zugriffen, also ziemlich schlecht)
 | 
			
		||||
 | 
			
		||||
$\Rightarrow$ nur für Benchmark-Zwecke
 | 
			
		||||
 | 
			
		||||
notwendiger Aufwand: Zufallszahlengenerator
 | 
			
		||||
\begin{itemize}[noitemsep]
 | 
			
		||||
	\item[$\Rightarrow$] echter Zufall ist sehr teuer \& aufwändig.
 | 
			
		||||
	\item[$\Rightarrow$] für Benchmarks reichen (meist) Pseudozufallszahlen aus
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
\subsubsection{Optimale Strategie}
 | 
			
		||||
Es wird die \acs{HSS} verdrängt, welche in der Zukunft gar nicht mehr oder am längsten nicht mehr gebraucht wird.
 | 
			
		||||
 | 
			
		||||
\textit{Bewertung}: \newline
 | 
			
		||||
Erwartete Hit-Rate = \enquote{systembedingtes Maximum}
 | 
			
		||||
 | 
			
		||||
\textit{Aufwand}: \newline
 | 
			
		||||
\enquote{Blick in die Zukunft} bzw. \enquote{Kristallkugel} $\Rightarrow$  nicht möglich!
 | 
			
		||||
 | 
			
		||||
\textit{Realisierung für Benchmarking}: \newline
 | 
			
		||||
Zweimaliger Durchlauf für genau dieselben Parameter. Der erste Durchlauf für Logfile und zweiter Durchlauf mit optimaler Strategie anhand des Logfiles.
 | 
			
		||||
 | 
			
		||||
\subsubsection{First-In-First-Out (FIFO)}
 | 
			
		||||
Bei der \acf{FIFO}-Strategie wird die \acs{HSS}, welche sich am längsten im Cache befindet, verdrängt (klassische Warteschlangenbedienstrategie).
 | 
			
		||||
 | 
			
		||||
\textit{Aufwand}:\newline
 | 
			
		||||
Timestamp in jeder \acl{CL}. Bei Verdrängung: Suche nach dem Minimum der Timestamps (sehr aufwändig!).
 | 
			
		||||
 | 
			
		||||
\textit{Besser}:\newline
 | 
			
		||||
Verwaltung der \acsp{CL} als einfach verwaltete List, \dash Zeiger auf den Nachfolger in jeder \acs{CL}. Globalen Zeiger auf den ersten und letzten Eintrag für Verdrängung und Einlagerung.
 | 
			
		||||
 | 
			
		||||
\textit{Schlecht unterstützte, aber häufige Zugriffsmuster}: \newline
 | 
			
		||||
Ständig genutzte Datenstücke werden genauso schnell verdrängt wie Daten, die nur ein einziges Mal gebraucht werden. Anders gesagt: Daten, die lange nicht benötigt wurden, werden auch nicht schneller verdrängt, als Daten, die genauso lange im Cache sind, aber erst kürzlich gebraucht wurden.
 | 
			
		||||
 | 
			
		||||
\subsubsection{Least-Recently-Used (LRU)}
 | 
			
		||||
Bei der \acf{LRU}-Strategie wird die \acs{HSS}, auf welche am längsten nicht zugegriffen wurde, verdrängt.
 | 
			
		||||
 | 
			
		||||
\textit{Aufwand}: \newline
 | 
			
		||||
Timestamp mit Update bei jedem Zugriff $\Rightarrow$ Die Suche bei Verdrängung ist zu aufwändig
 | 
			
		||||
 | 
			
		||||
\textit{Besser}:\newline
 | 
			
		||||
Verwaltung als \textit{doppelt} verkettete Liste, \dash Zeiger auf Vorgänger \textit{und} Nachfolger in jeder \acs{CL}. Globalen Zeiger auf ersten und letzten Eintrag.
 | 
			
		||||
 | 
			
		||||
\textit{Schlecht unterstützte Zugriffsmuster}: \newline
 | 
			
		||||
Häufigkeit der Zugriffe wird nicht berücksichtigt, \dash vielfach genutzte \acl{HSS} werden genauso verdrängt wie \acs{HSS} mit nur einem Zugriff)
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -41,16 +41,19 @@
 | 
			
		|||
	
 | 
			
		||||
	\chapter{Abkürzungsverzeichnis}
 | 
			
		||||
	\begin{acronym}[xxxxxxxx]
 | 
			
		||||
		\acro{AC}{Assoziativ-Cache}
 | 
			
		||||
		\acro{BLW}{Bandlaufwerk}
 | 
			
		||||
		\acro{CISC}{Complex Instruction Set Computer}
 | 
			
		||||
		\acro{CL}{Cache Line}
 | 
			
		||||
		\acro{CLA-PA}{Carry-Look-Ahead-Paralleladdierer}
 | 
			
		||||
		\acro{CPU}{Central Processing Unit}
 | 
			
		||||
		\acro{D-FF}{D-Flip-Flop}
 | 
			
		||||
		\acro{DMC}{Direct-Mapped-Cache}
 | 
			
		||||
		\acro{DMF}{Disjunktive Minimalform}
 | 
			
		||||
		\acro{DNF}{Disjunktive Normalform}
 | 
			
		||||
		\acro{ENIAC}{Electronic Numerical Integrator and Computer}
 | 
			
		||||
		\acro{IC}{Integrated Circuit}
 | 
			
		||||
		\acro{FIFO}{First-In-First-Out}
 | 
			
		||||
		\acro{GLZ}{Gatterlaufzeit}
 | 
			
		||||
		\acrodefplural{GLZ}[GLZs]{Gatterlaufzeiten}
 | 
			
		||||
		\acro{HA}{Halbaddierer}
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +62,7 @@
 | 
			
		|||
		\acrodefplural{HSA}[HSA]{Hauptspeicheradressen}
 | 
			
		||||
		\acro{HSS}{Hauptspeicherseite}
 | 
			
		||||
		\acro{HW}{Hardware}
 | 
			
		||||
		\acro{LRU}{Least-Recently-Used}
 | 
			
		||||
		\acro{LW}{Laufwerk}
 | 
			
		||||
		\acro{PC}{Personal Computer}
 | 
			
		||||
		\acro{PA}{Paralleladdierer}
 | 
			
		||||
| 
						 | 
				
			
			@ -70,6 +74,8 @@
 | 
			
		|||
		\acro{SR}{Schieberegister}
 | 
			
		||||
		\acro{UNIVAC}{Universal Automatic Computer}
 | 
			
		||||
		\acro{VA}{Volladdierer}
 | 
			
		||||
		\acro{VAC}{Vollassoziativer Cache}
 | 
			
		||||
		\acro{nWAC}{$n$-Wege-Assozativ-Cache}
 | 
			
		||||
	\end{acronym}
 | 
			
		||||
 | 
			
		||||
	\newpage
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue