Instruktionsanordnung
This commit is contained in:
parent
36d62f60cb
commit
dbc85caedd
@ -365,5 +365,32 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
\section{Instruktionsanordnung}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Abhänigkeits-DAG:\begin{itemize}
|
||||||
|
\item Betrachtung pro Grundblock
|
||||||
|
\item Knoten: Instruktion
|
||||||
|
\item Kante: Datenabhängigkeit zwischen zwei Instruktionen:\begin{itemize}
|
||||||
|
\item Flussabhängigkeit (\enquote{read after write})
|
||||||
|
\item Ausgabeabhängigkeit (\enquote{write after write})
|
||||||
|
\item Antiabhängigkeit (\enquote{write after read})
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\item Ausführungszeit (\enquote{ExecTime}) einer Instruktion: Zeit bis Instruktion durch alle Stufen der Pipeline gewandert ist
|
||||||
|
\item Latenz (\enquote{Latency}) einer Instruktion: Zeit, die Instruktion bis zur Ausführung warten muss
|
||||||
|
\item Verzögerung (\enquote{Delay}) einer Instruktion: Zeit bis alle davon abhängigen Instruktionen ausgeführt wurden:
|
||||||
|
\begin{equation*}
|
||||||
|
\mathrm{Delay}(n) = \begin{cases*}
|
||||||
|
\mathrm{ExecTime}(n) & falls $n$ Blattknoten\\
|
||||||
|
\max_{m\in \mathrm{Succ}(n)} \left( \mathrm{Latency}(n, m) + \mathrm{Delay}(m)\right) & sonst
|
||||||
|
\end{cases*}
|
||||||
|
\end{equation*}
|
||||||
|
\item List-Scheduling: solange DAG Knoten enthält\begin{enumerate}
|
||||||
|
\item Wurzelknoten $w$ mit größtem Delay wählen
|
||||||
|
\item $w$ an Ausgabeliste anhängen
|
||||||
|
\item $w$ aus DAG entfernen
|
||||||
|
\end{enumerate}
|
||||||
|
\end{itemize}
|
||||||
%\printbibliography
|
%\printbibliography
|
||||||
\end{document}
|
\end{document}
|
||||||
|
Loading…
Reference in New Issue
Block a user