summaryrefslogtreecommitdiff
path: root/dt-cpu-arch.tex
diff options
context:
space:
mode:
authorFriedrich Beckmann <friedrich.beckmann@tha.de>2026-09-08 10:09:59 +0200
committerFriedrich Beckmann <friedrich.beckmann@tha.de>2026-09-08 10:09:59 +0200
commit1da5f4a88a84c3a6bd134be5ef244d0f3d14aab5 (patch)
tree57d5c8c2c358603db55ebf4caa562ddb1ea6eca3 /dt-cpu-arch.tex
initial versionHEADmaster
Diffstat (limited to 'dt-cpu-arch.tex')
-rw-r--r--dt-cpu-arch.tex298
1 files changed, 298 insertions, 0 deletions
diff --git a/dt-cpu-arch.tex b/dt-cpu-arch.tex
new file mode 100644
index 0000000..c77a816
--- /dev/null
+++ b/dt-cpu-arch.tex
@@ -0,0 +1,298 @@
+% !TEX root = dt-slides-cpu.tex
+
+%\begin{frame}
+%\titlepage
+%\end{frame}
+
+
+\section{CPU Architektur}
+
+\begin{frame}
+\frametitle{CPU Architektur}
+\begin{center}
+\Huge CPU Architektur
+\end{center}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{Microprocessor Trend Data}
+\begin{center}
+\includegraphics[width=.9\textwidth]{cpuarch/50-years-processor-trend}
+\end{center}
+\tiny{source: K. Rupp \url{https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/} CC-BY-4.0}
+\end{frame}
+
+\begin{frame}
+\frametitle{Apple SoC CPU vs Spezialhardware}
+\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/appleacc}
+\end{center}
+\tiny{source: Apple / IRDS 2022 Executive Summary}
+\end{frame}
+
+\begin{frame}
+\frametitle{General Purpose CPU / Spezialhardware}
+\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/gpcpu-customsilicon}
+\end{center}
+\tiny{source: Broadcom / IRDS 2022 Executive Summary}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Architektur}
+\begin{center}
+\Huge Was ist denn jetzt die CPU?
+\end{center}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{Compiler, Assembler, Maschinensprache}
+%\begin{center}
+\begin{tikzpicture}
+\node (c2m-c) at (0,0) {\includegraphics[width=0.5\textwidth]{cpuarch/c2m-c}};
+\node (c2m-a) at (0,-3) {\includegraphics[width=0.5\textwidth]{cpuarch/c2m-a}};
+\node (c2m-m) at (0,-6) {\includegraphics[width=0.5\textwidth]{cpuarch/c2m-m}};
+\path [->] (c2m-c) edge[out=190,in=170] node[left] {Compiler} (c2m-a);
+\path [->] (c2m-a) edge[out=190,in=170] node[left] {Assembler} (c2m-m);
+\end{tikzpicture}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, Seite 15, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Das C Programm}
+%\begin{center}
+\includegraphics[width=0.5\textwidth]{cpuarch/c2m-c}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Das Rust Programm - hier mit Extrachecks}
+%\begin{center}
+\includegraphics[width=0.5\textwidth]{cpuarch/c2m-rust}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Compiler Explorer - C für RISC-V}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/compiler-explorer-c-riscv}
+\tiny{source: Compiler Explorer: \url{https://godbolt.org}}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Compiler Explorer - Rust für ARM7}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/compiler-explorer-rust-arm7}
+\tiny{source: Compiler Explorer: \url{https://godbolt.org}}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Prozessorsystem}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/hoffmann-mikroprozessorsystem}
+\tiny{source: Dirk Hoffmann, Grundlagen der Technischen Informatik, 2023, Hanser Verlag, Kap. 11}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Prozessorsystem}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/hoffmann-cpu}
+\tiny{source: Dirk Hoffmann, Grundlagen der Technischen Informatik, 2023, Hanser Verlag, Kap. 11}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{MIPS - 32 Register}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/mips-register}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{MIPS - Befehlskodierung - Teil 1}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/mips-instr1}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{MIPS - Befehle - Teil 1}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/mips-instr-overview1}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{MIPS - Befehle - Teil 2}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/mips-instr-overview-head}
+\includegraphics[width=1.0\textwidth]{cpuarch/mips-instr-overview2}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Architektur}
+\begin{center}
+\Huge CPU Aufbau
+\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Aufbau - Übersicht}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/a-overview}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Aufbau - Übersicht - Multiplexer}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-overview-mux}
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Aufbau - Befehlszähler }
+%\begin{center}
+\includegraphics[width=0.7\textwidth]{cpuarch/a-icounter}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Aufbau - Registersatz / ALU }
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-register}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Aufbau - Datenspeicher}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenspeicher}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - Sprungbefehl}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-sprung}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{CPU Datenpfad - Store und R Befehle}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-store-r-befehle}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - einfach}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-einfach}
+
+Unterstützt: load word, store word, ALU Befehle, branch. Jump fehlt noch.
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU ALU - Steuerung}
+%\begin{center}
+\includegraphics[width=0.5\textwidth]{cpuarch/a-alu-control}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-alu-befehle}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - mit RegDest}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-regdest}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - mit Steuerung}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-steuerung}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - Befehlsdekodierung}
+%\begin{center}
+\includegraphics[width=1.0\textwidth]{cpuarch/a-steuerung-befehl}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - add \$t1,\$t2,\$t3}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-add}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - lw \$t1, 20(\$t2)}
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-load}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{CPU Datenpfad - beq \$t1,\$t2,25 }
+%\begin{center}
+\includegraphics[width=0.9\textwidth]{cpuarch/a-datenpfad-beq}
+
+\tiny{source: Patterson und Hennessy, Rechnerorganisation und Rechnerentwurf, 2014}
+%\end{center}
+\end{frame}
+
+
+
+
+
+
+
+
+
+
+
+