Staticdeps intro: partial writeup
This commit is contained in:
parent
f0fb8da7a4
commit
21c6b1ec83
1 changed files with 55 additions and 3 deletions
|
@ -1,10 +1,61 @@
|
|||
\section{\staticdeps: static extraction of memory-carried dependencies}
|
||||
|
||||
\begin{frame}
|
||||
\begin{frame}[fragile]{Dependencies, through registers}
|
||||
\begin{minipage}[c]{0.35\textwidth}
|
||||
|
||||
\begin{lstlisting}[language={[x86masm]Assembler}, numbers=none]
|
||||
0: mov (%rax), %rcx
|
||||
...
|
||||
3: add %rcx, %rdx
|
||||
\end{lstlisting}
|
||||
\end{minipage}\hfill
|
||||
\begin{minipage}[c]{0.5\textwidth}
|
||||
\begin{itemize}
|
||||
\item Track register writes
|
||||
\item Generate dependency upon read
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
|
||||
\begin{center}
|
||||
3 $\rightarrow$ 0 through \reg{rcx}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]{Dependencies, loop-carried}
|
||||
\begin{minipage}[c]{0.40\textwidth}
|
||||
\begin{lstlisting}[language={[x86masm]Assembler}, numbers=none]
|
||||
loop:
|
||||
0: add %rcx, %rdx
|
||||
...
|
||||
3: mov (%rax), %rcx
|
||||
6: jmp loop
|
||||
\end{lstlisting}
|
||||
\end{minipage}\hfill
|
||||
\begin{minipage}[c]{0.1\textwidth}
|
||||
$\longrightarrow$
|
||||
\end{minipage}\hfill
|
||||
\begin{minipage}[c]{0.40\textwidth}
|
||||
\begin{lstlisting}[language={[x86masm]Assembler}, numbers=none]
|
||||
0,0: add %rcx, %rdx
|
||||
...
|
||||
0,3: mov (%rax), %rcx
|
||||
1,0: add %rcx, %rdx
|
||||
...
|
||||
1,3: mov (%rax), %rcx
|
||||
\end{lstlisting}
|
||||
\end{minipage}
|
||||
|
||||
\begin{center}
|
||||
0,3 $\rightarrow$ 1,0 through \reg{rcx}\\
|
||||
\ie{} \alert{loop-carried 3 $\rightarrow$ 1}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{Dependencies, through memory}
|
||||
\todo{}
|
||||
\begin{itemize}
|
||||
\item Dependency through registers: easy
|
||||
\item Loop-carried: still fine
|
||||
\item Through memory: indirections, arithmetics, …
|
||||
\item Loop-carried: ROB is finite and small-ish
|
||||
\item Requires comparison of arbitrary formal expressions
|
||||
|
@ -12,6 +63,7 @@
|
|||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}{The \staticdeps{} algorithm}
|
||||
\begin{itemize}
|
||||
\item \alert{Unroll} kernel until $\card{\kerK} \geq \card{\text{ROB}} +
|
||||
|
|
Loading…
Reference in a new issue