Skip to content

Commit c9f25d3

Browse files
committed
added instruction image to machine-code slides
1 parent 04105e1 commit c9f25d3

File tree

2 files changed

+42
-6
lines changed

2 files changed

+42
-6
lines changed
56.3 KB
Loading

lectures/machine-code/machine-code.tex

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ \section{Maskinkod}
88

99
\halfblankline
1010

11-
\ti{Förberedelse inför laboration 4}
11+
\ti{Förberedelse inför laboration 4!}
1212

1313
\halfblankline
1414
\begin{itemize}
@@ -56,18 +56,49 @@ \section{Maskinkod}
5656
\node (al) [rectangle, draw, fill=green!20, below=of hl, text width=6em, text centered, minimum height=2em] {Assembly};
5757
\node (mc) [rectangle, draw, fill=red!20, below=of al, text width=6em, text centered, minimum height=2em] {Maskinkod};
5858
\node (hw) [rectangle, draw, fill=orange!20, below=of mc, text width=6em, text centered, minimum height=2em] {Hårdvara};
59-
59+
6060
\draw[->] (hl) -- (al);
6161
\draw[->] (al) -- (mc);
6262
\draw[->] (mc) -- (hw);
63-
}
64-
\end{tikzpicture}
63+
}
64+
\end{tikzpicture}
6565
\end{center}
6666
\end{column}
6767
\end{columns}
6868
\end{frame}
6969

7070

71+
\begin{frame}[fragile,t]
72+
\frametitle{Exempel: ordpussel}
73+
\vspace{1em}
74+
75+
Kul exempel där lågnivåtänk gör stor skillnad:
76+
77+
\url{https://www.youtube.com/watch?v=_-AfhLQfb6w}
78+
79+
\blankline
80+
81+
\begin{itemize}
82+
\ii{Problem: hitta fem engelska fembokstavsord som tillsammans
83+
använder 25 olika bokstäver (en bokstav blir över).}
84+
\ii{Naiv lösning: prova alla kombinationer av ord
85+
$\rightarrow$ \emph{orimligt många}, tog 30+ dagar.}
86+
\ii{Snabbare lösningar från tittare:}
87+
\begin{itemize}
88+
\ii{Representera varje ord som ett 26-bitars tal (en bit per bokstav).}
89+
\ii{Kolla överlapp med snabba bitoperationer (\texttt{\&}, \texttt{|}).}
90+
\ii{Bygg en graf: sök efter kombinationer utan gemensamma bokstäver.}
91+
\ii{Smart filtrering och pruning $\rightarrow$ lösning på millisekunder.}
92+
\end{itemize}
93+
\end{itemize}
94+
95+
\vspace{1em}
96+
\ti{\emph{Slutsats:} Rätt datastruktur och lågnivåtänk kan
97+
ge enorma hastighetsvinster.}
98+
\end{frame}
99+
100+
101+
71102
\begin{frame}[fragile,t]
72103
\frametitle{Vad är en dator?}
73104

@@ -289,6 +320,10 @@ \section{Maskinkod}
289320

290321
\begin{frame}[fragile,t]
291322
\frametitle{Maskininstruktioner}
323+
\begin{figure}
324+
\centering
325+
\includegraphics[height=2.2cm]{Mips32_addi_cr}
326+
\end{figure}
292327

293328
\ti{Komponenter av en instruktion}
294329
\begin{itemize}
@@ -300,7 +335,7 @@ \section{Maskinkod}
300335
% \begin{envi}
301336
% \begin{figure}
302337
% \includegraphics{Mips32_addi}
303-
% \caption{By en:User:Booyabazooka - \url{http://en.wikipedia.org/wiki/Image:Mips32_addi.svg}, CC BY-SA 3.0, \url{https://commons.wikimedia.org/w/index.php?curid=1362890}}
338+
% % \caption{By en:User:Booyabazooka - \url{http://en.wikipedia.org/wiki/Image:Mips32_addi.svg}, CC BY-SA 3.0, \url{https://commons.wikimedia.org/w/index.php?curid=1362890}}
304339
% \end{figure}
305340
% \end{envi}
306341

@@ -342,7 +377,8 @@ \section{Maskinkod}
342377
\blankline
343378
\ti{Relation till maskinkod}
344379
\begin{itemize}
345-
\ii{Opcode för \texttt{ADD} + binär representation av register (\texttt{R1}, \texttt{R2})}
380+
\ii{Varje OP Code har binära representationer.}
381+
\ii{Register och andra operanders adresser representeras också binärt.}
346382
\ii{Exempel: \texttt{ADD R1, R2, R2} $\rightarrow$ \texttt{1001 0001 0010 0010}}
347383
\end{itemize}
348384
\end{frame}

0 commit comments

Comments
 (0)