diff options
Diffstat (limited to 'dt-cpu-arch.tex')
| -rw-r--r-- | dt-cpu-arch.tex | 298 |
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} + + + + + + + + + + + + |
