diff --git a/20230524/rtech-20230524.pdf b/20230524/rtech-20230524.pdf index 3753b8be31a31e77418d889aa7e876c3d2265de2..a2275b690394bd1c1c740023edc3e56475066a18 100644 Binary files a/20230524/rtech-20230524.pdf and b/20230524/rtech-20230524.pdf differ diff --git a/20230524/rtech-20230524.tex b/20230524/rtech-20230524.tex index f384fce8cc1c0d8b45d03f4128a4d9b130ac9e12..1398d5b45ea24b70c3dffdad6bec131426647d27 100644 --- a/20230524/rtech-20230524.tex +++ b/20230524/rtech-20230524.tex @@ -722,6 +722,8 @@ \end{frame} +\iffalse + \subsubsection{Register sichern} \begin{frame} @@ -744,54 +746,6 @@ \subsection{Computer-Sprachen} \subsubsection{Maschinensprache} -\iffalse - -\begin{frame} - - \showsubsection - \showsubsubsection - - \strut\hfill - \begin{minipage}{6.5cm} - \vspace*{-1.7cm} - \small - Computer - \begin{itemize}\itemsep0pt - \item Rechenwerk (ALU) - \item Speicher: Register,\\ - adressierbarer Hauptspeicher - \item Takt: Befehle abarbeiten - \item Peripherie: Kommunikation\\ - mit der Außenwelt - \arrowitem in Maschinensprache programmierbar - \end{itemize} - \end{minipage}\hspace*{-0.5cm} - - In jedem Takt: - \begin{itemize} - \item - dort aus dem Hauptspeicher lesen, wohin das Register \lstinline{IP} zeigt\\ - \textarrow\ \newterm{Befehl\/} (\newterm{Instruction\/} -- \lstinline{IP} = \newterm{Instruction Pointer\/}) - \item - den \newterm{Befehl\/} an den \newterm{Funktion\/}-Eingang der \newterm{ALU\/} legen - \item - auf ähnliche Weise weitere Daten an den \newterm{Akkumulator\/}-\\ - und den \newterm{Daten\/}-Eingang der \newterm{ALU\/} legen - \item - auf ähnliche Weise den \newterm{Ergebnis\/}-Ausgang der \newterm{ALU}\\ - in den Hauptspeicher schreiben - \textarrow\ Befehl ausgeführt - \item - Register \lstinline{IP} hochzählen - \textarrow\ nächster Befehl - \arrowitem - Maschinensprache - \end{itemize} - -\end{frame} - -\fi - \begin{frame} \showsubsection @@ -1121,6 +1075,8 @@ \end{frame} +\fi + \subsection{I/O-Ports} \begin{frame}[fragile] @@ -1568,77 +1524,6 @@ \end{frame} -\iffalse - -\subsection{Binärdarstellung negativer Zahlen} - -\begin{frame}[fragile] - - \showsubsection - - Speicher ist begrenzt!\\ - \textarrow\ feste Anzahl von Bits - - \medskip - - 8-Bit-Zahlen ohne Vorzeichen: \lstinline{uint8_t}\\ - \textarrow\ Zahlenwerte von \lstinline{0x00} bis \lstinline{0xff} = 0 bis 255\\ - \pause - \textarrow\ 255 + 1 = 0 - - \pause - \medskip - - 8-Bit-Zahlen mit Vorzeichen: \lstinline{int8_t}\\ - \lstinline{0xff} = 255 ist die "`natürliche"' Schreibweise für $-1$.\\ - \pause - \textarrow\ Zweierkomplement - - \pause - \medskip - - Oberstes Bit = 1: negativ\\ - Oberstes Bit = 0: positiv\\ - \textarrow\ 127 + 1 = $-128$ - -\end{frame} - -\begin{frame}[fragile] - - \showsubsection - - Speicher ist begrenzt!\\ - \textarrow\ feste Anzahl von Bits - - \medskip - - 16-Bit-Zahlen ohne Vorzeichen: - \lstinline{uint16_t}\hfill\lstinline{uint8_t}\\ - \textarrow\ Zahlenwerte von \lstinline{0x0000} bis \lstinline{0xffff} - = 0 bis 65535\hfill 0 bis 255\\ - \textarrow\ 65535 + 1 = 0\hfill 255 + 1 = 0 - - \medskip - - 16-Bit-Zahlen mit Vorzeichen: - \lstinline{int16_t}\hfill\lstinline{int8_t}\\ - \lstinline{0xffff} = 66535 ist die "`natürliche"' Schreibweise für $-1$.\hfill - \lstinline{0xff} = 255 = $-1$\\ - \textarrow\ Zweierkomplement - - \medskip - - Oberstes Bit = 1: negativ\\ - Oberstes Bit = 0: positiv\\ - \textarrow\ 32767 + 1 = $-32768$ - - \bigskip - Literatur: \url{http://xkcd.com/571/} - -\end{frame} - -\fi - \begin{frame}[fragile] \showsubsection