Skip to content
Snippets Groups Projects
Commit 6be9e5eb authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Vortragsfolien und Screenshots 5.4.2022

parent f7a5752a
No related branches found
No related tags found
No related merge requests found
Showing
with 794 additions and 0 deletions
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\pnode(0,0.5){A}
\pnode(0,-0.5){B}
\capacitor(A)(B){}
\psline[arrows=-o](A)(A|0,1)
\psline[arrows=-o](B)(B|0,-1)
\end{pspicture}
\end{document}
File added
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\logic[logicType=nand](-0.75,2){nand1}
\logic[logicType=nand](-0.75,-2){nand2}
\psline[arrows=o-](-3,0|nand12)(nand12)
\uput[180](-3,0|nand12){$\overline{\mbox{S}}$}
\psline[arrows=o-](-3,0|nand21)(nand21)
\uput[180](-3,0|nand21){$\overline{\mbox{R}}$}
\psline[arrows=o-](3,0|nand1Q)(nand1Q)
\uput[0](3,0|nand1Q){Q}
\psline[arrows=o-](3,0|nand2Q)(nand2Q)
\uput[0](3,0|nand2Q){$\overline{\mbox{Q}}$}
\psline[arrows=*-](2,0|nand1Q)(2,1.75)(-2,0.75)(-2,0|nand22)(nand22)
\psline[arrows=*-](2,0|nand2Q)(2,0.75)(-2,1.75)(-2,0|nand11)(nand11)
\end{pspicture}
\end{document}
File added
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\pnode(0,0.5){A}
\pnode(0,-0.5){B}
\capacitor(A)(B){}
\psline[arrows=-o](A)(A|0,1)
\psline[arrows=-o](B)(B|0,-1)
\end{pspicture}
\end{document}
File added
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\logic[logicType=nand](-0.75,2){nand1}
\logic[logicType=nand](-0.75,-2){nand2}
\psline[arrows=o-](-3,0|nand12)(nand12)
\uput[180](-3,0|nand12){$\overline{\mbox{S}}$}
\psline[arrows=o-](-3,0|nand21)(nand21)
\uput[180](-3,0|nand21){$\overline{\mbox{R}}$}
\psline[arrows=o-](3,0|nand1Q)(nand1Q)
\uput[0](3,0|nand1Q){Q}
\psline[arrows=o-](3,0|nand2Q)(nand2Q)
\uput[0](3,0|nand2Q){$\overline{\mbox{Q}}$}
\psline[arrows=*-](2,0|nand1Q)(2,1.75)(-2,0.75)(-2,0|nand22)(nand22)
\psline[arrows=*-](2,0|nand2Q)(2,0.75)(-2,1.75)(-2,0|nand11)(nand11)
\end{pspicture}
\end{document}
File added
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\pnode(0,0.5){A}
\pnode(0,-0.5){B}
\capacitor(A)(B){}
\psline[arrows=-o](A)(A|0,1)
\psline[arrows=-o](B)(B|0,-1)
\end{pspicture}
\end{document}
File added
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\logic[logicType=nand](-0.75,2){nand1}
\logic[logicType=nand](-0.75,-2){nand2}
\psline[arrows=o-](-3,0|nand12)(nand12)
\uput[180](-3,0|nand12){$\overline{\mbox{S}}$}
\psline[arrows=o-](-3,0|nand21)(nand21)
\uput[180](-3,0|nand21){$\overline{\mbox{R}}$}
\psline[arrows=o-](3,0|nand1Q)(nand1Q)
\uput[0](3,0|nand1Q){Q}
\psline[arrows=o-](3,0|nand2Q)(nand2Q)
\uput[0](3,0|nand2Q){$\overline{\mbox{Q}}$}
\psline[arrows=*-](2,0|nand1Q)(2,1.75)(-2,0.75)(-2,0|nand22)(nand22)
\psline[arrows=*-](2,0|nand2Q)(2,0.75)(-2,1.75)(-2,0|nand11)(nand11)
\end{pspicture}
\end{document}
File added
% rtech-20220405.pdf - Lecture Slides on Computer Technology
% Copyright (C) 2012, 2013, 2014, 2021, 2022 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Vom Addierer zum Computer
\documentclass[10pt,t]{beamer}
\usepackage{pgslides}
\usepackage{pdftricks}
%\usepackage[obeyfamily=false,mathrm=mathsf,textrm=sffamily]{siunitx}
%\usepackage{eurosym}
\newrgbcolor{orange}{0.7 0.2 0.0}
\newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
\newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
\begin{psinputs}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage{pstricks,pst-grad,pst-circ-pg}
\newcommand{\invisible}{\tiny\color{white}}
\psset{unit=1cm}
\psset{logicLabelstyle=\invisible}
\newcommand{\logicSymbol}{\small\boldmath\bf\rule{0pt}{0.5cm}}
\psset{logicSymbolstyle=\logicSymbol}
\newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}}
\newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}}
\end{psinputs}
\title{Rechnertechnik}
\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
\date{5.\ April 2022}
\begin{document}
\maketitleframe
\sectionnonumber{\inserttitle}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
\begin{itemize}
\item[2.1] Logik-Schaltkreise
\item[2.2] Binärdarstellung von Zahlen
\item[2.3] Vom Logik-Schaltkreis zum Addierer
\item[2.4] Negative Zahlen
\color{orange}
\item[2.5] Vom Addierer zum Computer
\item[\dots]
\end{itemize}
\color{gray}
\item[\textbf{3}] \textbf{Architekturmerkmale von Prozessoren}
\item[\textbf{4}] \textbf{Der CPU-Stack}
% \item[\textbf{5}] \textbf{Hardwarenahe Programmierung}
% \item[\textbf{6}] \textbf{Anwender-Software}
% \item[\textbf{7}] \textbf{Bus-Systeme}
% \item[\textbf{8}] \textbf{Pipelining}
\item[\textbf{\dots\hspace{-0.75em}}]
% \item[\textbf{9}] \textbf{Ausblick}
\end{itemize}
\end{frame}
\setcounter{section}{1}
\section{Vom Schaltkreis zum Computer}
\setcounter{subsection}{4}
\subsection{Vom Addierer zum Computer}
\begin{frame}
\showsubsection
Schaltkreis, der wahlweise eine von mehreren Verknüpfungen
durchführt:
\smallskip
\newterm{arithmetisch-logische Einheit\/} --
\newterm{arithmetic logic unit (ALU)}
\bigskip
\begin{center}
\vspace*{-2.5cm}
\includegraphics{alu2.pdf}
\vspace*{-23cm}
\end{center}
\bigskip
Siehe z.\,B.: \url{https://en.wikipedia.org/wiki/File:74181aluschematic.png}
\end{frame}
\begin{frame}[fragile]
\begin{visibleenv}<2->
\showsubsection
Information speichern
\end{visibleenv}
\begin{pdfpic}
\newcommand{\invisible}{\tiny\color{white}}
\psset{logicLabelstyle=\invisible}
\newcommand{\logicSymbol}{\small\boldmath\bf\rule{0pt}{0.5cm}}
\psset{logicSymbolstyle=\logicSymbol}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-3,-2)(3,2)
\pnode(-1,1.5){A}
\uput[l](-2.5,0|A){$S$}
\pnode(1,1.5){B}
\ground[connectingdot=false](2,1.5)
\relais(A)(B){}
\pnode(2.5,2.5){A3}
\uput[l](2.0,0|A3){$R$}
\pnode(4.5,2.5){B3}
\ground[connectingdot=false](5.5,2.5)
\relais(A3)(B3){}
\pnode(-0.5,0){C0}
\psline[arrows=-*](C0)(-1.5,0)(-1.5,1.5)
\pnode(0.5,0.3){D0}
\pnode(0.5,-0.3){E0}
\pnode(3,-0.3){C3}
\pnode(4,0){D3}
\pnode(4,-0.6){E3}
\psline[arrows=*-,linewidth=2\pslinewidth](C3)(D3)
\pnode(7,0.7){D3plus}
\uput[180](D3plus){\textbf{+}}
\psline(E0)(C3)
\psline[arrows=->,arrowsize=0.3](D3)(D3plus|D3)(D3plus)
\psline[arrows=*-,linewidth=2\pslinewidth](C0)(D0)
\pnode(-0.5,-1.5){C1}
\pnode(0.5,-1.2){D1}
\pnode(0.5,-1.8){E1}
\uput[r](2.5,0|E1){$Q$}
\pnode(-3.0,-0.5){C1plus}
\uput[180](C1plus){\textbf{+}}
\psline[arrows=->,arrowsize=0.3](C1)(C1plus|C1)(C1plus)
\psline[arrows=*-,linewidth=2\pslinewidth](C1)(D1)
\psline[linestyle=dashed](0,-1.25)(0,1.0)
\psline[linestyle=dashed](3.5,-0.15)(3.5,2.0)
\psline[arrows=o-](-2.5,0|A)(A)
\psline[arrows=o-](2.0,0|A3)(A3)
\psline(B)(2,0|B)
\psline(B3)(5.5|B3)
\psline[arrows=o-](1.5,0|D0)(D0)
\psline[arrows=o-](1.5,0|D1)(D1)
\psline[arrows=o-](2.5,0|E1)(E1)
\psline[arrows=o-](5.0,0|E3)(E3)
\end{pspicture}
\end{pdfpic}
\pause
\newterm{Selbsthalteschaltung}
1-Bit-\newterm{Speicherzelle}
\end{frame}
\begin{frame}[fragile]
\showsubsection
Information speichern
\begin{pdfpic}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\logic[logicType=nand](-0.75,2){nand1}
\logic[logicType=nand](-0.75,-2){nand2}
\psline[arrows=o-](-3,0|nand12)(nand12)
\uput[180](-3,0|nand12){$\overline{\mbox{S}}$}
\psline[arrows=o-](-3,0|nand21)(nand21)
\uput[180](-3,0|nand21){$\overline{\mbox{R}}$}
\psline[arrows=o-](3,0|nand1Q)(nand1Q)
\uput[0](3,0|nand1Q){Q}
\psline[arrows=o-](3,0|nand2Q)(nand2Q)
\uput[0](3,0|nand2Q){$\overline{\mbox{Q}}$}
\psline[arrows=*-](2,0|nand1Q)(2,1.75)(-2,0.75)(-2,0|nand22)(nand22)
\psline[arrows=*-](2,0|nand2Q)(2,0.75)(-2,1.75)(-2,0|nand11)(nand11)
\end{pspicture}
\end{pdfpic}
\newterm{Bistabile Kippstufe} -- \newterm{Bistabiler Multivibrator} -- \newterm{Flip-Flop}
1-Bit-Speicherzelle
\end{frame}
\begin{frame}[fragile]
\showsubsection
Information speichern
\vspace*{-0.5cm}
\begin{pdfpic}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\pnode(0,0.5){A}
\pnode(0,-0.5){B}
\capacitor(A)(B){}
\psline[arrows=-o](A)(A|0,1)
\psline[arrows=-o](B)(B|0,-1)
\end{pspicture}
\end{pdfpic}
\vspace*{-1.0cm}
\newterm{Kondensator}
\only<2->{\newterm{dynamische\/}} 1-Bit-Speicherzelle\\
\pause
\textarrow\ benötigt \newterm{Refresh}-Schaltung
\pause[3]
\medskip
Flip-Flop
\newterm{statische\/} 1-Bit-Speicherzelle
\begin{pdfpic}
\psset{unit=0.6cm}
\psset{linewidth=0.03}
\begin{pspicture}(-4,-4)(4,4)
\logic[logicType=nand](-0.75,2){nand1}
\logic[logicType=nand](-0.75,-2){nand2}
\psline[arrows=o-](-3,0|nand12)(nand12)
\uput[180](-3,0|nand12){$\overline{\mbox{S}}$}
\psline[arrows=o-](-3,0|nand21)(nand21)
\uput[180](-3,0|nand21){$\overline{\mbox{R}}$}
\psline[arrows=o-](3,0|nand1Q)(nand1Q)
\uput[0](3,0|nand1Q){Q}
\psline[arrows=o-](3,0|nand2Q)(nand2Q)
\uput[0](3,0|nand2Q){$\overline{\mbox{Q}}$}
\psline[arrows=*-](2,0|nand1Q)(2,1.75)(-2,0.75)(-2,0|nand22)(nand22)
\psline[arrows=*-](2,0|nand2Q)(2,0.75)(-2,1.75)(-2,0|nand11)(nand11)
\end{pspicture}
\end{pdfpic}
\end{frame}
\begin{frame}
\showsubsection
% Wir können jetzt addieren, subtrahieren und multiplizieren.\\
% Wie bauen wir daraus einen Turing-vollständigen Computer?
Bau eines Turing-vollständigen Computers
\begin{itemize}
\pause
\item
Rechenwerk: Arithmetisch-logische Einheit (ALU)
\only<2>{\\[\bigskipamount]\strut\hfill\includegraphics[width=9.5cm]{alu.jpg}\vspace*{-10cm}\hfill\strut}
\pause
\item
Speicher: Register, adressierbarer Hauptspeicher
\only<3>{\\[\smallskipamount]\strut\hfill\includegraphics[width=11cm]{speicheradressierung-3.png}\vspace*{-10cm}}
\pause
\item
Takt:
\begin{onlyenv}<4>
\begin{picture}(0,0)
\put(3.5,-0.4){\makebox(0,0)[tl]{\includegraphics[width=7cm]{astabile-kippstufe.png}}}
\put(-1.0,-0.5){\makebox(0,0)[tl]{\includegraphics[width=4cm]{schwingquarz.jpg}}}
\put(-1.0,-3.5){\makebox(0,0)[tl]{\includegraphics[width=4cm]{schwingquarz-geoeffnet.jpg}}}
\end{picture}
\end{onlyenv}
\pause
Speicher durchgehen
\only<5>{\\[\smallskipamount]\strut\hfill\includegraphics[width=11cm]{takt-zaehler-4.png}\vspace*{-10cm}}%
\pause
und Befehle abarbeiten
\begin{onlyenv}<6-8>
\begin{itemize}\itemsep\smallskipamount
\item
Register-Ladebefehl:\\
"`Lade Speicherzelle 42 an den A-Eingang der ALU."'
\item
Rechenbefehl:\\
"`Berechne die Summe der beiden Register an der ALU."'
\item
Register-Speicherbefehl:\\
"`Speichere den Status-Ausgang der ALU in Speicherzelle 137."'
\pause
\item
Sprungbefehl:\\
"`Lade den Inhalt der Speicherzelle 1117\\
in das Adressregister für den nächsten Befehl."'
\pause
\item
Bedingter Sprungbefehl:\\
"`Wenn das \Cout-Bit der ALU den Wert 1 hat,\\
springe nach Speicherzelle 23."'
\end{itemize}
\vspace*{-10cm}
\end{onlyenv}
\pause
\item
Peripherie: Kommunikation mit der Außenwelt
\begin{onlyenv}<9>
\begin{itemize}\itemsep\smallskipamount
\item
Output-Port:\\
Ausgang einer Speicherzelle nach draußen führen
\item
Input-Port:\\
Anstelle einer Speicherzelle einen eingehenden Draht abfragen
\end{itemize}
\vspace*{-10cm}
\end{onlyenv}
\pause
\arrowitem
in Maschinensprache programmierbar
\end{itemize}
\end{frame}
% Fortsetzung: 20141016
\sectionnonumber{\inserttitle}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
\begin{itemize}
\item[2.1] Logik-Schaltkreise
\item[2.2] Binärdarstellung von Zahlen
\item[2.3] Vom Logik-Schaltkreis zum Addierer
\item[2.4] Negative Zahlen
\color{medgreen}
\item[2.5] Vom Addierer zum Computer
\color{red}
\item[2.6] Computer-Sprachen
\item[2.7] Struktur von Assembler-Programmen
\end{itemize}
\color{gray}
\item[\textbf{3}] \textbf{Architekturmerkmale von Prozessoren}
\item[\textbf{4}] \textbf{Der CPU-Stack}
% \item[\textbf{5}] \textbf{Hardwarenahe Programmierung}
% \item[\textbf{6}] \textbf{Anwender-Software}
% \item[\textbf{7}] \textbf{Bus-Systeme}
% \item[\textbf{8}] \textbf{Pipelining}
\item[\textbf{\dots\hspace{-0.75em}}]
% \item[\textbf{9}] \textbf{Ausblick}
\end{itemize}
\end{frame}
\subsection{Computer-Sprachen}
\subsubsection{Maschinensprache}
\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}
\begin{frame}
\showsubsection
\showsubsubsection
\begin{itemize}
\item
Daten aus dem Speicher in Register einlesen
\item
Daten aus Register in den Speicher schreiben
\arrowitem
Lade- und Speicher-Befehle
\item
Daten aus Registern (oder Speicher) an ALU legen,\\
Ergebnis in Register (oder Speicher) schreiben
\arrowitem
arithmetische Befehle
\pause
\item
Daten aus Register oder Speicher in das \lstinline{IP}-Register laden
\arrowitem
\only<4->{unbedingter }Sprungbefehl
\pause
\item
Sprungbefehl nur dann, wenn im Status-Ausgang der ALU ein bestimmtes Bit gesetzt ist
\arrowitem
bedingter Sprungbefehl
\pause
\pause
\bigskip
\arrowitem
Der Computer kann "`alles"' -- \newterm{Turing-Vollständigkeit}
\end{itemize}
\end{frame}
\begin{frame}
\showsubsection
\showsubsubsection
\begin{itemize}
\item
Lade- und Speicher-Befehle\\
arithmetische Befehle\\
unbedingte und bedingte Sprungbefehle
\arrowitem
Der Computer kann "`alles"' -- \newterm{Turing-Vollständigkeit}
\bigskip
\item
Maschinensprache = Zahlen \textarrow\ für Menschen schwer handhabbar
\arrowitem
Namen für die Befehle: \newterm{Mnemonics}
\arrowitem
\newterm{Assembler\/}-Sprache
\end{itemize}
\end{frame}
\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ }Assembler}
\begin{frame}[fragile]
\showsubsubsection
Beispiel: Intel-x86-16-Bit-Assembler
\begin{itemize}
\item
Lade- und Speicher-Befehle\hfill
\lstinline{mov}, \dots\\
arithmetische Befehle\hfill
\lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
\lstinline{xor}, \lstinline{cmp}, \dots\\
unbedingte und bedingte Sprungbefehle\hfill
\lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
\item
Register\hfill
\lstinline{ax}, \lstinline{bx}, \dots
\end{itemize}
\begin{onlyenv}<1>
\begin{center}
% \includegraphics[width=10cm]{programm-screenshot.png}
\vspace*{-0.5cm}
\end{center}
\end{onlyenv}
\begin{onlyenv}<2->
\bigskip
Beispiel: Atmel-AVR-8-Bit-Assembler
\begin{itemize}
\item
Lade- und Speicher-Befehle\hfill
\lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
arithmetische Befehle\hfill
\lstinline{add}, \lstinline{sub}, \lstinline{subi},
\lstinline{eor}, \lstinline{cp}, \dots\\
unbedingte und bedingte Sprungbefehle\hfill
\lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
\item
Register\hfill
\lstinline{r0}, \lstinline{r1}, \dots
\end{itemize}
\bigskip
\textarrow\ für jeden Prozessor anders
\end{onlyenv}
\end{frame}
\subsubsection{\strut{\protect\color{gray}Maschinensprache \protect\textarrow\ Assembler \protect\textarrow\ }Hochsprachen}
\begin{frame}[fragile]
\showsubsubsection
Beispiel: Intel-x86-16-Bit-Assembler
\begin{itemize}
\item
Lade- und Speicher-Befehle\hfill
\lstinline{mov}, \dots\\
arithmetische Befehle\hfill
\lstinline{add}, \lstinline{sub}, \lstinline{inc}, \lstinline{dec},
\lstinline{xor}, \lstinline{cmp}, \dots\\
unbedingte und bedingte Sprungbefehle\hfill
\lstinline{jmp}, \lstinline{jz}, \lstinline{jae}, \dots
\item
Register\hfill
\lstinline{ax}, \lstinline{bx}, \dots
\end{itemize}
\bigskip
Beispiel: Atmel-AVR-8-Bit-Assembler
\begin{itemize}
\item
Lade- und Speicher-Befehle\hfill
\lstinline{ldi}, \lstinline{lds}, \lstinline{sti}, \dots\\
arithmetische Befehle\hfill
\lstinline{add}, \lstinline{sub}, \lstinline{subi},
\lstinline{eor}, \lstinline{cp}, \dots\\
unbedingte und bedingte Sprungbefehle\hfill
\lstinline{rjmp}, \lstinline{brsh}, \lstinline{brlo}, \dots
\item
Register\hfill
\lstinline{r0}, \lstinline{r1}, \dots
\end{itemize}
\bigskip
\textarrow\ für jeden Prozessor anders
\bigskip
Hochsprache \textarrow\ für jeden Prozessor gleich
\end{frame}
\begin{frame}[fragile]
\showsubsubsection
Compiler-Sprachen
\begin{itemize}
\item
\newterm{Compiler\/} übersetzt Hochsprachen-\newterm{Quelltext\/} in die Assembler-Sprache
\item
\newterm{Assembler\/} übersetzt Assembler-Quelltext in die Maschinensprache
\item
Compiler und Assembler sind Programme,\\
geschrieben in Maschinensprache, Assembler oder einer Hochsprache
\item
Beispiele: Fortran, Algol, Pascal, Ada, C, C++, \dots
\end{itemize}
\pause
\medskip
Interpreter- oder Skript-Sprachen
\begin{itemize}
\item
\newterm{Interpreter\/} liest Hochsprachen-\newterm{Quelltext\/} und führt ihn sofort aus
\item
Der Interpreter ist ein Programm,\\
geschrieben in Maschinensprache, Assembler oder einer Hochsprache
\item
Beispiele: Unix-Shell, BASIC, Perl, Python, \dots
\end{itemize}
\pause
\medskip
Kombinationen
\begin{itemize}
\item
\newterm{Compiler\/} erzeugt \newterm{Zwischencode\/} für eine \newterm{virtuelle Maschine}
\item
\newterm{Interpreter\/} liest Hochsprachen-\newterm{Zwischencode\/} und führt ihn sofort aus
\item
Die virtuelle Maschine ist ein Programm,
geschrieben in Maschinensprache, Assembler, einer Hoch- oder Skript-Sprache
\item
Beispiele: UCSD-Pascal, Java, \dots
\end{itemize}
\medskip
\end{frame}
\sectionnonumber{\inserttitle}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
\begin{itemize}
\color{medgreen}
\item[2.1] Logik-Schaltkreise
\item[2.2] Binärdarstellung von Zahlen
\item[2.3] Vom Logik-Schaltkreis zum Addierer
\item[2.4] Negative Zahlen
\item[2.5] Vom Addierer zum Computer
\item[2.6] Computer-Sprachen
\color{black}
\item[2.7] Struktur von Assembler-Programmen
\end{itemize}
\color{gray}
\item[\textbf{3}] \textbf{Architekturmerkmale von Prozessoren}
\item[\textbf{4}] \textbf{Der CPU-Stack}
% \item[\textbf{5}] \textbf{Hardwarenahe Programmierung}
% \item[\textbf{6}] \textbf{Anwender-Software}
% \item[\textbf{7}] \textbf{Bus-Systeme}
% \item[\textbf{8}] \textbf{Pipelining}
\item[\textbf{\dots\hspace{-0.75em}}]
% \item[\textbf{9}] \textbf{Ausblick}
\end{itemize}
\end{frame}
\end{document}
../common/schwingquarz-geoeffnet.jpg
\ No newline at end of file
../common/schwingquarz.jpg
\ No newline at end of file
20220405/screenshot-20220405-110031.png

6.97 KiB

20220405/screenshot-20220405-110246.png

6.98 KiB

20220405/screenshot-20220405-111341.png

6.99 KiB

20220405/screenshot-20220405-111438.png

7.26 KiB

20220405/screenshot-20220405-112131.png

7.18 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment