[Layout] Fixes

This commit is contained in:
Andre Meyering 2017-11-26 13:43:53 +01:00
parent b9ffd045b5
commit 852a1ccff9
Signed by: Andre
GPG key ID: 5A1BBB0FB1D4716B
4 changed files with 53 additions and 43 deletions

View file

@ -629,8 +629,8 @@ Es ist kein spezieller Hardware-Subtrahierer notwendig. Eine Subtraktion wird ü
\item Kleines $1\times 1$ im Binärsystem ist ein einfaches \code{UND} \item Kleines $1\times 1$ im Binärsystem ist ein einfaches \code{UND}
\item Es gibt keine Überträge beim kleinen $1\times 1$ im Binärsystem \item Es gibt keine Überträge beim kleinen $1\times 1$ im Binärsystem
\item Bilden von Zwischensummen \item Bilden von Zwischensummen
\item keine mehrstelligen Überträge bei Addition von zwei Summanden \item Keine mehrstelligen Überträge bei Addition von zwei Summanden
\item rechten Faktor beginnend mit niederwertigster Stelle abarbeiten, siehe \autoref{tbl:multi_rl} \item Rechten Faktor beginnend mit niederwertigster Stelle abarbeiten, siehe \autoref{tbl:multi_rl}
\end{enumerate} \end{enumerate}
\end{paracol} \end{paracol}
@ -665,7 +665,7 @@ Ein $n\times m$-Bit-\acf{PM}, bspw. ein $5\times 4$-Bit-\acl{PM} ist in \autoref
\end{figure} \end{figure}
\begin{Achtung}[frametitle={Hinweis zur Abbildung}] \begin{Achtung}[frametitle={Hinweis zur Abbildung}]
Unbedingt auf die \enquote{0} als Eingang achten! Ansonsten gibt es in der Klausur punktabzug! Unbedingt auf die \enquote{0} als Eingang achten! Ansonsten gibt es in der Klausur punktabzug! Bei unterschiedlicher Stellenanzahl sind Nullen aufzufüllen.
\end{Achtung} \end{Achtung}
\begin{Hinweis} \begin{Hinweis}
@ -680,25 +680,27 @@ Ein $n\times m$-Bit-\acf{PM}, bspw. ein $5\times 4$-Bit-\acl{PM} ist in \autoref
\item $n\cdot m$ ~~ \code{UND} mit jeweils 2 Eingängen $\Rightarrow$ $2\cdot n\cdot m$ Transistoren \item $n\cdot m$ ~~ \code{UND} mit jeweils 2 Eingängen $\Rightarrow$ $2\cdot n\cdot m$ Transistoren
\end{itemize} \end{itemize}
\newpage % Nur für's Layout
\textit{Somit ergibt sich bei\ldots} \textit{Somit ergibt sich bei\ldots}
\begin{enumerate}%[leftmargin=0pt] \begin{enumerate}%[leftmargin=0pt]
\item[\ldots] Verwendung eines \textbf{\acs{RC-PA}}: \item[\ldots] Verwendung eines \textbf{\acs{RC-PA}}:
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item[$\Rightarrow$] $n$-Bit-\acs{RC-PA}: ~ $18n-10$ Transistoren \item[$\Rightarrow$] $n$-Bit-\acs{RC-PA}: ~ $18n-10$ Transistoren
\item[$\Rightarrow$] davon $m-1$: $(m-1)(18n-10)$ Transistoren = $18nm-18n-10m+10$ Transistoren \item[$\Rightarrow$] davon $m-1$: $(m-1)(18n-10)$ Transistoren = $18nm-18n-10m+10$ Transistoren
\item[$\Rightarrow$] Insgesamt: ~~~ $20nm-18n-10m+10$ Transistoren $\Rightarrow O(n)$ \item[$\Rightarrow$] Insgesamt: ~~~ $20nm-18n-10m+10$ Transistoren $\Rightarrow O(nm)$
\end{itemize} \end{itemize}
\item[\ldots] Verwendung eines \textbf{\acs{CLA-PA}} \item[\ldots] Verwendung eines \textbf{\acs{CLA-PA}}
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item $n$-Bit-\acs{CLA-PA}: $\approx O(n\cdot 2^n)$ \item $n$-Bit-\acs{CLA-PA}: $\approx O(n\cdot 2^n)$ \textit{(Achtung: eigentlich $O(n^2\cdot 4^n)$)}
\item $\Rightarrow$ davon $m-1$: ~ $(m-1)\cdot O(n\cdot 2^n) = O(n\cdot m\cdot 2^n)$ \item[$\Rightarrow$] davon $m-1$: ~ $(m-1)\cdot O(n\cdot 2^n) = O(n\cdot m\cdot 2^n)$
\end{itemize} \end{itemize}
\end{enumerate} \end{enumerate}
Hier bei verschieden großen Faktoren also besser $m>n$ bei \ac{CLA-PA}) für geringeren \acs{HW}-Aufwand. Hier bei verschieden großen Faktoren also besser $m>n$ bei \ac{CLA-PA}) für einen geringeren \acs{HW}-Aufwand.
Demgegenüber bei Verwendung von \acs{RC-PA}: Besser $n>m$ für geringeren \acs{HW}-Aufwand. \todo{Besser umformulieren} Demgegenüber sollte bei Verwendung von \acs{RC-PA} besser $n>m$ für geringeren \acs{HW}-Aufwand sein.
\subsubsection{Analyse: Zeitaufwand für die Multiplikation mit Paralleladdierer} \subsubsection{Analyse: Zeitaufwand für die Multiplikation mit Paralleladdierer}
1 \acs{GLZ} für einstellige Multiplikation (\code{UND}-Gatter) sowie $(m-1)~\times$ Berechnungszeit($n$-Bit-\acs{PA}) 1 \acs{GLZ} für einstellige Multiplikation (\code{UND}-Gatter) sowie $(m-1)~\times$ Berechnungszeit($n$-Bit-\acs{PA})
@ -707,34 +709,37 @@ Demgegenüber bei Verwendung von \acs{RC-PA}: Besser $n>m$ für geringeren \acs{
\item Annahme: \acs{PA} sind $n$-Bit-\acs{RC-PA}. \newline \item Annahme: \acs{PA} sind $n$-Bit-\acs{RC-PA}. \newline
Berechnungszeit eines $n$-Bit-\acs{RC-PA}: $2n$ \acs{GLZ} \newline Berechnungszeit eines $n$-Bit-\acs{RC-PA}: $2n$ \acs{GLZ} \newline
Insgesamt: $1+(m-1)\cdot 2n=2nm-2n+1$ \acs{GLZ} \newline Insgesamt: $1+(m-1)\cdot 2n=2nm-2n+1$ \acs{GLZ} \newline
Damit besser $n>m$ bei Verwendung von \acs{RC-PA} um geringeren Zeitaufwand zu bekommen. Damit besser $n>m$ bei Verwendung von \acs{RC-PA}, um geringeren Zeitaufwand zu bekommen.
\item Annahme: \acs{PA} sind $n$-Bit-\acs{CLA-PA} \newline \item Annahme: \acs{PA} sind $n$-Bit-\acs{CLA-PA} \newline
Berechnungszeit eines $n$-Bit-\acs{CLA-PA}: $6$ \acs{GLZ} \newline Berechnungszeit eines $n$-Bit-\acs{CLA-PA}: $6$ \acs{GLZ} \newline
Insgesamt: $1 + (m-1)\cdot 6$ \acs{GLZ} $=6m-5$ \acs{GLZ} $=O(m)$ \newline Insgesamt: $1 + (m-1)\cdot 6$ \acs{GLZ} $=6m-5$ \acs{GLZ} $=O(m)$ \newline
damit: besser $n>m$ bei Verwendung von \acs{CLA-PA}, um geringeren Zeitaufwand zu bekommen \newline Damit besser $n>m$ bei Verwendung von \acs{CLA-PA}, um geringeren Zeitaufwand zu bekommen
$\lightning$ zu großer \acs{HW}-Aufwand (wächst exponentiell mit $n$)
\end{enumerate}\todo{Kontrollieren...} \textcolor{red}{$\lightning$} zu großer \acs{HW}-Aufwand (wächst exponentiell mit $n$)
\end{enumerate}
\bigskip
\bigskip
\begin{Hinweis}[frametitle={Hinweis für die Klausur}] \begin{Hinweis}[frametitle={Hinweis für die Klausur}]
Logarithmischen Aufwand für \acs{CLA-PA} auf \href{https://de.wikipedia.org/wiki/Paralleladdierer_mit_\%C3\%9Cbertragsvorausberechnung}{Wikipedia} nachschauen. Dies wird wahrscheinlich in der Klausur abgefragt! Unserer Variante hat exponentiellen Hardwareaufwand und konstanten Zeitaufwand. Die Variante auf \href{https://de.wikipedia.org/wiki/Paralleladdierer_mit_\%C3\%9Cbertragsvorausberechnung}{Wikipedia} nicht. Den logarithmischen Aufwand für \acs{CLA-PA} auf \href{https://de.wikipedia.org/wiki/Paralleladdierer_mit_\%C3\%9Cbertragsvorausberechnung}{Wikipedia} nachschauen. Dies wird wahrscheinlich in der Klausur abgefragt! Unserer Variante hat exponentiellen Hardwareaufwand und konstanten Zeitaufwand. Die Variante auf \href{https://de.wikipedia.org/wiki/Paralleladdierer_mit_\%C3\%9Cbertragsvorausberechnung}{Wikipedia} nicht.
\end{Hinweis} \end{Hinweis}
\subsection{Seriellmultiplizierer} \subsection{Seriellmultiplizierer} \index{Seriellmultiplizierer}
Motivation: Noch engere Anlehung an das schriftliche Multiplikationsverfahren, um den Aufwand für die Addierglieder gering zu halten. Motivation: Wir wollen eine noch engere Anlehung an das schriftliche Multiplikationsverfahren, um den Aufwand für die Addierglieder gering zu halten.
Siehe \autoref{fig:seriellmultiplizierer}. \autoref{fig:seriellmultiplizierer} zeigt einen 5-Bit-\acl{SM}.
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\includegraphics[width=13cm]{Bilder/Seriellmultiplizierer.png} \includegraphics[width=15cm]{Bilder/Seriellmultiplizierer.png}
\caption{5-Bit Seriellmultiplizierer} \caption{5-Bit Seriellmultiplizierer}
\label{fig:seriellmultiplizierer} \label{fig:seriellmultiplizierer}
\end{figure} \end{figure}
\bigskip \bigskip
\begin{Hinweis} \begin{Hinweis}
Vor dem ersten Takt müssen alle D-FF auf \code{0} gesetzt werden \newline Vor dem ersten Takt müssen alle \acsp{D-FF} auf \code{0} gesetzt werden \newline
(\enquote{Reset-Eingang} oder ähnliches) (\enquote{Reset-Eingang} oder ähnliches)
\end{Hinweis} \end{Hinweis}
@ -746,7 +751,7 @@ Siehe \autoref{fig:seriellmultiplizierer}.
\textbullet~ & $n$ \code{UND} mit jeweils 2 Eingängen & $\Rightarrow$ 2 Transistoren \\ \textbullet~ & $n$ \code{UND} mit jeweils 2 Eingängen & $\Rightarrow$ 2 Transistoren \\
\textbullet~ & $2n$ \acsp{D-FF} & $\Rightarrow$ $12n$ Transistoren \\ \textbullet~ & $2n$ \acsp{D-FF} & $\Rightarrow$ $12n$ Transistoren \\
\textbullet~ & $2m$-Bit-\acs{SR} & $\Rightarrow$ $12m$ Transistoren \\ \textbullet~ & $2m$-Bit-\acs{SR} & $\Rightarrow$ $12m$ Transistoren \\
\textbullet~ & \multicolumn{2}{l}{Takterzeugung (wird im folgenden nicht berücksichtigt)} \textbullet~ & \multicolumn{2}{@{}l}{Takterzeugung (wird im folgenden nicht berücksichtigt)}
\end{tabular} \end{tabular}
gesamt: $18n-10+2n+12n+12m=32n+12m-10$ Transistoren % stimmt so; verglichen mit 15er gesamt: $18n-10+2n+12n+12m=32n+12m-10$ Transistoren % stimmt so; verglichen mit 15er
@ -805,23 +810,24 @@ In \autoref{tbl:risc_cisc} werden \acs{RISC} und \acs{CISC} verglichen.
\begin{tabular}{cp{7.55cm}|cp{7.55cm}} \begin{tabular}{cp{7.55cm}|cp{7.55cm}}
\multicolumn{2}{p{8.2cm}|}{\textbf{\acf{RISC}}} \multicolumn{2}{p{8.2cm}|}{\textbf{\acf{RISC}}}
& \multicolumn{2}{p{8.2cm}}{\textbf{\acf{CISC}}} & \multicolumn{2}{p{8.2cm}}{\textbf{\acf{CISC}}}
\\ \midrule \\[1.5ex] \midrule
\multicolumn{2}{p{8.2cm}|}{für jeden Maschinensprachenbefehl gibt es eine \enquote{passende} Hardwareeinheit} \multicolumn{2}{p{8.2cm}|}{für jeden Maschinensprachenbefehl gibt es eine \enquote{passende} Hardwareeinheit}
& \multicolumn{2}{p{8.2cm}}{manche Maschinensprachenbefehle werden als Mikroprogramm ausgeführt} & \multicolumn{2}{p{8.2cm}}{manche Maschinensprachenbefehle werden als Mikroprogramm ausgeführt}
\\ \midrule \\[1.5ex] \midrule
$\oplus$ & Einheit für Mikroprogrammausführung kann bei der Produktion entfallen \newline $\oplus$ & Einheit für Mikroprogrammausführung kann bei der Produktion entfallen \newline
(CPU weniger komplex) (CPU weniger komplex)
& $\oplus$ & komfortables Programmieren in Maschinensprache \\ & $\oplus$ & komfortables Programmieren in Maschinensprache
\\[4.5ex]
$\ominus$ & \acs{CPU} wird komplex, falls die Forderung nach komplexen Befehlen in Maschinensprache realisiert, besteht. $\ominus$ & \acs{CPU} wird komplex, falls die Forderung nach komplexen Befehlen in Maschinensprache realisiert, besteht.
& $\ominus$ & bei manchen Befehlen (welche als Mikroprogramm ausgeführt werden) ist die Bearbeitungszeit sehr groß und variabel. & $\ominus$ & bei manchen Befehlen (welche als Mikroprogramm ausgeführt werden) ist die Bearbeitungszeit sehr groß und variabel.
\\ \\[1.5ex]
$\oplus$ & jeder Befehl kann in wenigen (und jeweils einer festen Zahl an) Taktzyklen ausgeführt werden. $\oplus$ & jeder Befehl kann in wenigen (und jeweils einer festen Zahl an) Taktzyklen ausgeführt werden.
& $\ominus$ & Mikroprogramme sind Software, komplex und fehleranfällig, ggf. Austausch der \acs{CPU} für \enquote{Bugfix} notwendig (vgl. \href{https://de.wikipedia.org/wiki/Pentium-FDIV-Bug}{Intel Pentium FDIV Bug}) & $\ominus$ & Mikroprogramme sind Software, komplex und fehleranfällig, ggf. Austausch der \acs{CPU} für \enquote{Bugfix} notwendig (vgl. \href{https://de.wikipedia.org/wiki/Pentium-FDIV-Bug}{Intel Pentium FDIV Bug})
\\ \\[1.5ex]
\end{tabular} \end{tabular}
\medskip \medskip
\hspace*{-6mm} \hspace*{-6mm}

View file

@ -22,7 +22,7 @@ Motivation für Sekundärspeicher: nicht-flüchtig, \dash der Speicherinhalt ble
\textbf{Anwendungen:} \textbf{Anwendungen:}
\begin{itemize}[noitemsep] \begin{itemize}
\item Programmcode (Betriebsystem, Anwendungsprogramme) \item Programmcode (Betriebsystem, Anwendungsprogramme)
\item Nutzdaten \item Nutzdaten
\item virtuelle Erweiterung des Speicherwerks (Swap-Datei/-Partition) \item virtuelle Erweiterung des Speicherwerks (Swap-Datei/-Partition)
@ -33,6 +33,8 @@ Motivation für Sekundärspeicher: nicht-flüchtig, \dash der Speicherinhalt ble
Temporärer, flüchtiger, schneller Zwischenspeicher, um auf Informationen aus dem Hauptspeicher schneller zugreifen zu können. Temporärer, flüchtiger, schneller Zwischenspeicher, um auf Informationen aus dem Hauptspeicher schneller zugreifen zu können.
\newpage % Für's Layout
Eigenschaften des Cache: Eigenschaften des Cache:
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item flüchtig \item flüchtig
@ -52,7 +54,7 @@ Eigenschaften des Cache:
Verantwortlich dafür, dass der Cache Geschwindigkeitsvorteile bringen kann. Verantwortlich dafür, dass der Cache Geschwindigkeitsvorteile bringen kann.
\begin{description} \begin{description}
\item[räumliche Lokalität] Wenn auf eine Adresse zugegriffen wird, wird auch auf naheliegende Adressen zugegriffen. \item[räumliche Lokalität] Wenn auf eine Adresse zugegriffen wird, wird auch auf naheliegende Adressen zugegriffen.
\item[zeitlich Lokalität] Die Zugriffe (auf nahe beieinanderliegene Adressen) erfolgen in relativ geringem zeitlichen Aufwand \item[zeitliche Lokalität] Die Zugriffe (auf nahe beieinanderliegende Adressen) erfolgen in relativ geringem zeitlichen Aufwand
\end{description} \end{description}
\medskip \medskip
\begin{Hinweis} \begin{Hinweis}
@ -83,14 +85,13 @@ Verantwortlich dafür, dass der Cache Geschwindigkeitsvorteile bringen kann.
\switchcolumn \switchcolumn
\begin{tabular}{ll} \begin{tabular}{ll}
\textbf{Ziel}: & Hit-Rate $\rightarrow 1$ (nicht realistisch) \\ \textbf{Ziel}: & Hit-Rate $\rightarrow 1$ (nicht realistisch) \\
& Hit-Rate $\rightarrow 0$ \\ & Miss-Rate $\rightarrow 0$ \\
& Hit-Rate $\rightarrow$ systembedingtes Maximum \\ & Hit-Rate $\rightarrow$ systembedingtes Maximum \\
& \qquad (realistisch) & \qquad (realistisch)
\end{tabular} \end{tabular}
\end{paracol} \end{paracol}
Das systembedingte Maximum hängt ab von:
systembedingtes Maximum hängt ab von
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item Lokalität des Zugriffsmusters \item Lokalität des Zugriffsmusters
\item Größe (und Größenverhältnis) von Cache und \acl{HS} \item Größe (und Größenverhältnis) von Cache und \acl{HS}
@ -105,7 +106,7 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
\begin{description} \begin{description}
\item[kalter Cache]\index{Cache!kalter Cache} bei Betriebsbeginn ist der Cache leer \item[kalter Cache]\index{Cache!kalter Cache} bei Betriebsbeginn ist der Cache leer
\item[sich erwärmender Cache]\index{Cache!erwärmender Cache} Während des Betriebs wird der Cache mit immer mehr Daten geladen und die Hit-Rate steigt. \item[sich erwärmender Cache]\index{Cache!erwärmender Cache} Während des Betriebs wird der Cache mit immer mehr Daten geladen und die Hit-Rate steigt.
\item[heißer Cache]\index{Cache!heißer Cache} Der Cache ist (nahezu) voll nach einer gewissen Betriebszeit. Die Hit-Rate erreicht das systembedingte Maximum. \item[heißer Cache]\index{Cache!heißer Cache} Der Cache ist nach einer gewissen Betriebszeit (nahezu) voll. Die Hit-Rate erreicht das systembedingte Maximum.
\end{description} \end{description}
\subsection{Cachearchitekturen}\index{Cache!Architektur} \subsection{Cachearchitekturen}\index{Cache!Architektur}
@ -154,7 +155,7 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
Wie in \autoref{fig:cpu_cache_look_through} zu sehen, ist die CPU nur mit dem Cache und der \acl{HS} ebenfalls nur mit dem Cache verbunden. Wie in \autoref{fig:cpu_cache_look_through} zu sehen, ist die CPU nur mit dem Cache und der \acl{HS} ebenfalls nur mit dem Cache verbunden.
CPU greift über den Cache auf den \acl{HS} zu: Die \acs{CPU} greift über den Cache auf den \acl{HS} zu:
\begin{itemize}[leftmargin=5mm] \begin{itemize}[leftmargin=5mm]
\item[$\ominus$] $t_\text{Miss}=t_\text{Cache}+t_\text{HS}$ \newline \item[$\ominus$] $t_\text{Miss}=t_\text{Cache}+t_\text{HS}$ \newline
@ -191,7 +192,7 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
\switchcolumn \switchcolumn
\textsf{\textbf{Write-Through}} \textsf{\textbf{Write-Through}}
Schreibzugriffe durch die \acs{CPU} findet im \acl{HS} statt. Parallel dazu müssen die Daten im Cache invalidiert (schlecht) oder ebenfalls geschrieben werden (gut). Schreibzugriff durch die \acs{CPU} findet im \acl{HS} statt. Parallel dazu müssen die Daten im Cache invalidiert (schlecht) oder ebenfalls geschrieben werden (gut).
\begin{itemize}[leftmargin=5mm] \begin{itemize}[leftmargin=5mm]
\item[$\oplus$] optimale Konsistenz der Daten \item[$\oplus$] optimale Konsistenz der Daten
\item[$\ominus$] Schreiben nur in \acl{HS}-Geschwindigkeit möglich \item[$\ominus$] Schreiben nur in \acl{HS}-Geschwindigkeit möglich
@ -205,13 +206,13 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
\midrule \midrule
\textbf{Look-Through} \textbf{Look-Through}
& $\oplus$ gute klassische Kombination, da die physische Gegebenheit vorhanden sind, um direktes Schreiben in Cache und Rückschreiben vom Cache in \acs{HS} zu ermöglichen & $\oplus$ gute klassische Kombination, da die physische Gegebenheit vorhanden ist, um direktes Schreiben in Cache und Rückschreiben vom Cache in \acs{HS} zu ermöglichen
& $\ominus$ Kombination nicht möglich, da kein direkter Zugriff der \acs{CPU} auf \acs{HS} physisch gegeben ist. & $\ominus$ Kombination nicht möglich, da kein direkter Zugriff der \acs{CPU} auf \acs{HS} physisch gegeben ist.
\\ \midrule \\ \midrule
\textbf{Look-Aside} \textbf{Look-Aside}
& $\ominus$ schlechte Kombination, da bei jedem Schreibzugriff der Bus zweimal belastet wird & $\ominus$ schlechte Kombination, da bei jedem Schreibzugriff der Bus zweimal belastet wird
& $\oplus$ gute klassische Kombination, da Schreibzugriffe parallel im \acs{HS} und Cache physisch gut machbar & $\oplus$ gute klassische Kombination, da Schreibzugriffe parallel im \acs{HS} und Cache physisch gut machbar sind
\end{tabular} \end{tabular}
\subsection{Cache-Aufbau} \subsection{Cache-Aufbau}
@ -224,24 +225,25 @@ $\Rightarrow$ sobald das Zugriffsmuster Lokalität aufweist, ergibt sich eine be
\end{figure} \end{figure}
\begin{description} \begin{description}
\item[\acf{HSS}] gleich große Speicheranteile des Hauptspeichers. Eine \acs{HSS} sollte $2^m$ \acs{HSA} beinhalten, um eine einfache Umrechung von \acs{HSS}-Nummern und \acs{HSA} zu ermöglichen. \item[\acf{HSS}] gleich große Speicheranteile des Hauptspeichers. Eine \acs{HSS} sollte $2^m$ \acfp{HSA} beinhalten, um eine einfache Umrechung von \acs{HSS}-Nummern und \acs{HSA} zu ermöglichen.
\item[\acf{CL}] Kopie einer \acl{HSS} im Cache \item[\acf{CL}] Kopie einer \acl{HSS} im Cache
\item[Tag] Die um $m$ niederwertigsten Bit gekürzte \acs{HSA}, welche der \acs{HSS}-Nummer entspricht. \item[Tag] Die um $m$ niederwertigsten Bit gekürzte \acs{HSA}, welche der \acs{HSS}-Nummer entspricht.
\item[Status] Zustandsinfo zur Cache-Line, \zB Valid-Flag und weiter Zustandsinfos abhängig von Verdrängungsstrategie \item[Status] Zustandsinfo zur Cache-Line, \zB Valid-Flag und weiter Zustandsinfos abhängig von Verdrängungsstrategie
\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) \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} \end{description}
\subsection{vollassoziativer Cache} \subsection{Vollassoziativer Cache}
Jede \acl{HSS} kann in jeder \acl{CL} eingelagert werden (nicht gleichzeitig!) Jede \acl{HSS} kann in jeder \acl{CL} eingelagert werden (nicht gleichzeitig!)
\begin{itemize}[noitemsep]
\begin{itemize}
\item[$\Rightarrow$] bei jedem Zugriff auf eine \acf{HSA} muss überprüft werden, ob die gekürzte \acs{HSA} einem der Tags von validen \acl{CL} entspricht! \item[$\Rightarrow$] bei jedem Zugriff auf eine \acf{HSA} muss überprüft werden, ob die gekürzte \acs{HSA} einem der Tags von validen \acl{CL} entspricht!
\item[$\Rightarrow$] Vergleichen der gekkürzten \acs{HSA} mit allen Tags (von validen \acs{CL}) \item[$\Rightarrow$] Vergleichen der gekürzten \acs{HSA} mit allen Tags (von validen \acs{CL})
\end{itemize} \end{itemize}
Wie kann verglichen werden? Welche Möglichkeiten des Vergleichs gibt es? Wie kann verglichen werden? Welche Möglichkeiten des Vergleichs gibt es?
\begin{itemize}[noitemsep] \begin{itemize}
\item sequentiell $\Rightarrow$ Nachteil: erhöhte Zugriffszeit \item Sequentiell $\Rightarrow$ Nachteil: erhöhte Zugriffszeit
\item Parallel $\Rightarrow$ gleichzeitiges Vergleichen der angelegten (gekürzten) \acs{HSA} mit allen Tags über jeweils einen eigenen Komparator in jeder \acs{CL}. \newline \item Parallel $\Rightarrow$ gleichzeitiges Vergleichen der angelegten (gekürzten) \acs{HSA} mit allen Tags über jeweils einen eigenen Komparator in jeder \acs{CL}. \newline
Nachteil: \acl{HW}-Aufwand für Komparator in jeder \acs{CL}. Nachteil: \acl{HW}-Aufwand für Komparator in jeder \acs{CL}.
\end{itemize} \end{itemize}
@ -305,7 +307,7 @@ 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 \acs{HW}-Aufwand für einen kaskadierbaren 1-Bit-Komparator
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item[] HW: 42 Transistoren \item[] HW: 42 Transistoren
\item[] Zeit: 2\acs{GLZ} \item[] Zeit: 2 \acs{GLZ}
\end{itemize} \end{itemize}
@ -314,7 +316,7 @@ Im Cache reicht der Vergleich auf Gleichheit aller Ziffern parallel:
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item 2 $n$-Bit-Zahlen: $n$ Äquivalenzgatter und 1 \code{UND} mit $n$ Eingängen. (vergleiche \autoref{fig:cache_komparator_3}) \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 HW-Aufwand
$\Rightarrow$ 3\acs{GLZ} Zeitaufwand $\Rightarrow$ 3 \acs{GLZ} Zeitaufwand
\end{itemize}\todo{Formatieren, etc} \end{itemize}\todo{Formatieren, etc}

View file

@ -56,6 +56,7 @@
\acro{HA}{Halbaddierer} \acro{HA}{Halbaddierer}
\acro{HS}{Hauptspeicher} \acro{HS}{Hauptspeicher}
\acro{HSA}{Hauptspeicheradresse} \acro{HSA}{Hauptspeicheradresse}
\acrodefplural{HSA}[HSA]{Hauptspeicheradressen}
\acro{HSS}{Hauptspeicherseite} \acro{HSS}{Hauptspeicherseite}
\acro{HW}{Hardware} \acro{HW}{Hardware}
\acro{LW}{Laufwerk} \acro{LW}{Laufwerk}
@ -65,6 +66,7 @@
\acro{RC-PA}{Ripple-Carry-Paralleladdierer} \acro{RC-PA}{Ripple-Carry-Paralleladdierer}
\acro{RISC}{Reduced Instruction Set Computer} \acro{RISC}{Reduced Instruction Set Computer}
\acro{SA}{Serielladdierer} \acro{SA}{Serielladdierer}
\acro{SM}{Seriellmultiplizierer}
\acro{SR}{Schieberegister} \acro{SR}{Schieberegister}
\acro{UNIVAC}{Universal Automatic Computer} \acro{UNIVAC}{Universal Automatic Computer}
\acro{VA}{Volladdierer} \acro{VA}{Volladdierer}