diff --git a/manuscrit/40_A72-frontend/50_future_works.tex b/manuscrit/40_A72-frontend/50_future_works.tex index 214c40c..bc459d5 100644 --- a/manuscrit/40_A72-frontend/50_future_works.tex +++ b/manuscrit/40_A72-frontend/50_future_works.tex @@ -22,22 +22,43 @@ manufacturer. Assessing the extent of the loss of precision of an automatically-generated model, and its gain of precision \wrt{} a model without frontend, remains to be done. +\medskip{} + +Our model introduces a limited number of parameters, depicted in red italics in +\autoref{fig:parametric_model}. It is composed of two parts: a model of the +frontend in itself, describing architectural parameters; and insights about +each instruction. Its parameters are: +\begin{itemize} + \item{} the number of \uops{} that can be dispatched overall per cycle; + \item{} the number of distinct dispatch queues of the processor (\eg{} + memory operations, integer operations, \ldots); + \item{} for each of those queues, the number of \uops{} it can dispatch per + cycle; + \needspace{4\baselineskip} + \item{} for each instruction $i$, + \begin{itemize} + \item{} its total number of \uops{} $\mu_i$; + \item{} the number of \uops{} that get dispatched to each + individual queue (summing up to $\mu_i$). + \end{itemize} +\end{itemize} + \begin{figure} \begin{subfigure}{\textwidth} \centering - \includegraphics[width=0.9\textwidth]{parametric_model_sketch-frontend} + \includegraphics[width=0.7\textwidth]{parametric_model-frontend.svg} \caption{Frontend model}\label{fig:parametric_model:front} \end{subfigure} + \vspace{2em} + \begin{subfigure}{\textwidth} \centering - \includegraphics[width=0.9\textwidth]{parametric_model_sketch-insn} + \includegraphics[width=0.75\textwidth]{parametric_model-insn.svg} \caption{Instruction model}\label{fig:parametric_model:insn} \end{subfigure} - \caption{A generic parametric model of a processor's frontend. In red, the - parameters which must be discovered for each -architecture.}\label{fig:parametric_model} - -\textbf{NOTE:} En {\color{green}vert}, mes éditions après scan.\todo{} + \caption{A generic parametric model of a processor's frontend. In red + italics, the parameters which must be discovered for each + architecture.}\label{fig:parametric_model} \end{figure} \bigskip{} diff --git a/manuscrit/assets/imgs/40_A72-frontend/parametric_model-frontend.svg b/manuscrit/assets/imgs/40_A72-frontend/parametric_model-frontend.svg new file mode 100644 index 0000000..2521858 --- /dev/null +++ b/manuscrit/assets/imgs/40_A72-frontend/parametric_model-frontend.svg @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decoders + + + DISPATCHQUEUES + Number ofqueues + + + + 1 + + + + N + + + + 2 + + + + + + + + + + + + + + + + μops dispatchedper cycle + + + + + + + + + + + + + μops/cycle + + + + μops/cycle + + + μops/cycle + + + + diff --git a/manuscrit/assets/imgs/40_A72-frontend/parametric_model-insn.svg b/manuscrit/assets/imgs/40_A72-frontend/parametric_model-insn.svg new file mode 100644 index 0000000..f9da69d --- /dev/null +++ b/manuscrit/assets/imgs/40_A72-frontend/parametric_model-insn.svg @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + Instructioni + + + For eachinstruction, + + + MICRO-OPS + + + + + + + + + + } + } + } + #μops fordispatchqueue 1 + + + + Q + 2 + + + + + + Q + N + + + + + + } + + i + Totalnumberof μopsμ + + + + + + + diff --git a/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-frontend.png b/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-frontend.png deleted file mode 100644 index c1e7eb3..0000000 Binary files a/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-frontend.png and /dev/null differ diff --git a/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-insn.png b/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-insn.png deleted file mode 100644 index a065fa7..0000000 Binary files a/manuscrit/assets/imgs/40_A72-frontend/parametric_model_sketch-insn.png and /dev/null differ diff --git a/manuscrit/include/packages.tex b/manuscrit/include/packages.tex index 745b82b..b9f6276 100644 --- a/manuscrit/include/packages.tex +++ b/manuscrit/include/packages.tex @@ -27,6 +27,7 @@ \usepackage{wrapfig} \usepackage{float} \usepackage{tikz} +\usepackage{needspace} \usepackage{algpseudocode} \usepackage[bottom]{footmisc} % footnotes are below floats \usepackage[final]{microtype}