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

Vortragsfolie, Notizen und Oszilloskop-Fotos 21.6.2021

parent 52ae6106
Branches
No related tags found
No related merge requests found
Showing
with 905 additions and 0 deletions
20210621/1329px-Motherboard_diagram.svg.png

175 KiB

../common/I2C_data_transfer.pdf
\ No newline at end of file
../common/SPI_single_slave.pdf
\ No newline at end of file
../common/SPI_three_slaves.pdf
\ No newline at end of file
../common/SPI_three_slaves_daisy_chained.pdf
\ No newline at end of file
../common/kompassmodul-an-roboter.jpg
\ No newline at end of file
../common/kompassmodul.jpg
\ No newline at end of file
../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
../common/logo-hochschule-bochum.pdf
\ No newline at end of file
../common/motherboard-anschluesse.jpg
\ No newline at end of file
1329px-Motherboard_diagram.svg.png
\ No newline at end of file
../common/pgslides.sty
\ No newline at end of file
20210621/photo-8230.jpg

1.03 MiB

20210621/photo-8231.jpg

1.09 MiB

20210621/photo-8232.jpg

1.08 MiB

../common/rs-232.pdf
\ No newline at end of file
File added
% rtech-20210621.pdf - Lecture Slides on Computer Technology
% Copyright (C) 2012, 2013, 2014, 2021 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: Bus-Systeme
\documentclass[10pt,t]{beamer}
\usepackage{pgslides}
\usepackage{tikz}
\lstdefinestyle{asm}{basicstyle=\color{structure},
language={},
gobble=4}
\title{Rechnertechnik}
\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
\date{21.\ Juni 2021}
\newcommand{\ItwoC}{I\raisebox{0.5ex}{\footnotesize 2}C}
\begin{document}
\maketitleframe
\sectionnonumber{\inserttitle}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
\item[\textbf{3}] \textbf{Architekturmerkmale von Prozessoren}
\item[\textbf{4}] \textbf{Der CPU-Stack}
\item[\textbf{5}] \textbf{Anwender-Software}
\item[\textbf{6}] \textbf{Pipelining}
\begin{itemize}
\item[6.1] Konzept
\item[6.2] Arithmetik-Pipelines
\color{medgreen}
\item[6.3] Instruktions-Pipelines
\end{itemize}
\item[\textbf{7}] \textbf{Bus-Systeme}
\begin{itemize}
\color{red}
\item[7.1] Was sind Bus-Systeme?
\item[7.2] Chipsatz
\item[7.3] RS-232
\item[7.4] \ItwoC\ (TWI)
\item[7.5] SPI
\end{itemize}
\item[\textbf{\dots\hspace{-0.75em}}]
% \item[\textbf{8}] \textbf{Ausblick}
\end{itemize}
\end{frame}
\setcounter{section}{5}
\section{Pipelining}
\setcounter{subsection}{1}
\subsection{Arithmetik-Pipelines}
\newcommand{\insns}[1]{%
\begin{picture}(0,0)
\put(0,0){\line(1,0){2}}
\put(2,0){\line(0,-1){#1}}
\put(2,-#1){\vector(-1,0){2}}
\end{picture}}
\newcommand{\insnsup}[1]{%
\begin{picture}(0,0)
\put(0,0){\line(1,0){2}}
\put(2,0){\line(0,1){#1}}
\put(2,#1){\vector(-1,0){2}}
\end{picture}}
\begin{frame}
\showsubsection
"`Register-FIFO"'
\pause
\smallskip
Pseudo-Code: Berechnung von
\begin{displaymath}
S = \left(\begin{array}{c}a_1\\a_2\\a_3\end{array}\right)
\cdot\left(\begin{array}{c}b_1\\b_2\\b_3\end{array}\right)
= a_1 \cdot b_1
+ a_2 \cdot b_2
+ a_3 \cdot b_3
\end{displaymath}
mit einer Pipeline der Länge 3
\pause
\medskip
\begingroup
\setlength{\unitlength}{\baselineskip}%
\begin{picture}(0,0)(-5.0,-0.25)
\color{red}
\put(0,0.0){\only<4->{\insns{3}}}
\put(0.5,-1){\only<5->{\insns{2.9}}}
\put(1.0,-2){\only<6->{\insns{3}}}
\put(0.5,-4.1){\only<8->{\insns{2.8}}}
\put(0.5,-7.1){\only<11->{\insns{2.9}}}
\put(-1.5,-9.25){\only<15->{\shortstack{Daten-\\konflikt}}}
\end{picture}%
\color{structure}
push $a_1 \cdot b_1$\\
\pause
\pause
push $a_2 \cdot b_2$\\
\pause
push $a_3 \cdot b_3$\\
\pause
$s_1$ = pop\\
\pause
push $s_1 + \mbox{pop}$\\
\pause
$s_3$ = pop\\
\pause
nop\\
\pause
push $s_3 + \mbox{pop}$\\
\pause
nop\\
\pause
nop\\
\pause
$S$ = pop\\
\endgroup
\pause
\pause
\begin{picture}(0,0)
\color{red}
\put(5,3.8){\makebox(0,0)[l]{$\left.\rule{0pt}{1.2cm}\right\}$ effizient: Pipeline gefüllt}}
\put(5,1.4){\makebox(0,0)[l]{$\left.\rule{0pt}{1.2cm}\right\}$ ineffizient: "`Blasen"'}}
\end{picture}
\pause
\vspace*{-1.25cm}
\begin{flushright}
\dots\ aber immer noch effizienter als\\
3 Schritte für jede Operation
\end{flushright}
\end{frame}
\subsectionnonumber{Reales Beispiel: \break Vektor-Addition auf i860}
\begin{frame}[fragile]
\begin{minipage}[t]{5cm}
\raggedright
\showsubsectionnonumber
\begin{lstlisting}
.align 8
.globl _vadd
nop
_vadd:
shr 1,r19,r19
bte r19,r0,exitadd
addu 0x000F,r16,r16
andnot 0x000F,r16,r16
adds -16,r16,r16
addu 0x000F,r17,r17
andnot 0x000F,r17,r17
adds -16,r17,r17
addu 0x000F,r18,r18
andnot 0x000F,r18,r18
adds -16,r18,r18
mov -1,r20
\end{lstlisting}
\end{minipage}
\begin{minipage}[t]{5cm}
\begin{lstlisting}
fld.q 16(r16)++,f16
fld.q 16(r17)++,f20
pfadd.dd f16,f20,f0
bla r20,r19,loopadd
pfadd.dd f18,f22,f0
loopadd:
d.pfadd.dd f0,f0,f0
fld.q 16(r16)++,f16
d.pfadd.dd f0,f0,f24
fld.q 16(r17)++,f20
d.pfadd.dd f16,f20,f26
bla r20,r19,loopadd
d.pfadd.dd f18,f22,f0
fst.q f24,16(r18)++
nop
nop
nop
exitadd:
bri r1
nop
\end{lstlisting}
\end{minipage}
\end{frame}
\lstdefinestyle{shybubble}{basicstyle=\color{lightgray},
moredelim=**[is][\color{structure}]{¡}{¿},
moredelim=**[is][\only<7->{\color{red}}]{°}{¿}}
\begin{frame}[fragile]
\begin{minipage}[t]{5cm}
\raggedright
\showsubsectionnonumber
\begin{lstlisting}[style=shybubble]
.align 8
.globl _vadd
nop
_vadd:
shr 1,r19,r19
bte r19,r0,exitadd
addu 0x000F,r16,r16
andnot 0x000F,r16,r16
adds -16,r16,r16
addu 0x000F,r17,r17
andnot 0x000F,r17,r17
adds -16,r17,r17
addu 0x000F,r18,r18
andnot 0x000F,r18,r18
adds -16,r18,r18
mov -1,r20
\end{lstlisting}
\end{minipage}
\begin{minipage}[t]{5cm}
\begin{lstlisting}[style=shybubble]
¡fld.q 16(r16)++,f16
fld.q 16(r17)++,f20
pfadd.dd f16,f20,f0
bla r20,r19,loopadd
pfadd.dd f18,f22,f0
loopadd:
d.pfadd.dd °f0,f0,f0¿
fld.q 16(r16)++,f16
d.pfadd.dd °f0,f0¿,f24
fld.q 16(r17)++,f20
d.pfadd.dd f16,f20,f26
bla r20,r19,loopadd
d.pfadd.dd f18,f22,°f0¿
fst.q f24,16(r18)++¿
nop
nop
nop
exitadd:
bri r1
nop
\end{lstlisting}
\end{minipage}
\pause
\begingroup
\setlength{\unitlength}{\baselineskip}%
\begin{picture}(0,0)(-21.0,-17.6)
\color{red}
\put(0,0){\only<2->{\insns{5.9}}}
\put(1.0,-2){\only<3->{\insns{6.0}}}
\put(-7,-9){\only<4->{\line(-1,0){1}}}
\put(-8,-9){\only<4->{\line(0,-1){2}}}
\put(-8,-11){\only<4->{\line(-1,0){1}}}
\put(-9,-11){\only<4->{\line(0,1){8}}}
\put(-9,-3){\only<4->{\vector(1,0){0.7}}}
\put(0.8,-7.8){\only<5->{\insnsup{1.7}}}
\put(0.8,-10){\only<6->{\insnsup{1.8}}}
\put(-0.5,-12.5){\only<7->{\mbox{6mal f0 = 2 Blasen}}}
\end{picture}%
\endgroup
\vspace{-2cm}
\begin{flushright}
\only<8->{Immerhin: 2 Additionen in 4 Taktzyklen}
\medskip
\only<9->{Dies ist ein \emph{einfaches} Beispiel.}
\end{flushright}
\end{frame}
\subsection{Instruktions-Pipelines}
\begin{frame}[fragile]
\showsubsection
Ein Prozessor benötigt Zeit, um einen Befehl zu verstehen.
\textarrow\ Während Befehlsausführung nächste Befehle vorauslesen
\medskip
\begin{lstlisting}[style=shy]
².L3:
movw r30,r20¿
³add r30,r18¿
°adc r31,r19¿
¤mov r24,r18
subi r24,lo8(-(1))
st Z,r24
subi r18,lo8(-(1))
sbci r19,hi8(-(1))
cp r22,r18
cpc r23,r19¿
¢brge .L3¿
æret¿
\end{lstlisting}
\begin{picture}(0,0)
\color{red}
\put(0.5,1.00){\only<8->{\line(-1,0){0.4}}}
\put(0.1,1.00){\only<8->{\line(0,1){4.15}}}
\put(0.1,5.15){\only<8->{\vector(1,0){0.4}}}
\put(0.5,0.90){\only<9->{\line(-1,0){0.4}}}
\put(0.1,0.90){\only<9->{\line(0,-1){0.35}}}
\put(0.1,0.55){\only<9->{\vector(1,0){0.4}}}
\put(2.5,0.825){\only<10->{\begin{minipage}[t]{8cm}
bedingter Sprung:
Welche Befehle vorauslesen?\\[\smallskipamount]
\only<11->{Kontrollflußkonflikt}
\end{minipage}}}
\end{picture}
\begin{flushright}
\vspace*{-0.5cm}
\only<12->{Lösungsansatz: Zweigvorhersage}
\vspace*{-1cm}
\end{flushright}
\end{frame}
\subsubsectionnonumber{Zweigvorhersage -- Branch Prediction}
\begin{frame}[fragile]
\showsubsection
\showsubsubsectionnonumber
\begin{itemize}
\setlength{\unitlength}{\baselineskip}%
\pause
\item
Sprünge nach oben sind Schleifen: "`Ja"'\\
Sprünge nach unten sind Auswahl-Verzweigungen: "`Nein"'
\pause
\item
Delayed Branches: Sprungbefehl verspätet ausführen\\
\textarrow\ Optimierung manuell oder durch Compiler
\pause
\medskip
\begin{lstlisting}
loopadd:
d.pfadd.dd f0,f0,f0
fld.q 16(r16)++,f16
d.pfadd.dd f0,f0,f24
fld.q 16(r17)++,f20
d.pfadd.dd f16,f20,f26
bla r20,r19,loopadd
d.pfadd.dd f18,f22,f0
fst.q f24,16(r18)++
\end{lstlisting}
\begin{picture}(0,0)(-9.6,-12.2)
\color{red}
\put(-7,-9){\line(-1,0){1}}
\put(-8,-9){\line(0,-1){2}}
\put(-8,-11){\line(-1,0){1}}
\put(-9,-11){\line(0,1){8}}
\put(-9,-3){\vector(1,0){0.7}}
\end{picture}
\pause
\item
Branch History Table: Sprünge merken
\pause
\item
\dots
\end{itemize}
\end{frame}
\subsectionnonumber{Zusammenfassung}
\begin{frame}
\showsection
\showsubsectionnonumber
\begin{itemize}
\item
Teilaufgaben parallel ausführen
\item
Arithmetik-Pipelines führen Berechnungen parallel aus,\\
Instruktions-Pipelines lesen Befehle voraus
\item
Ressourcen-, Daten- und Kontrollflußkonflikte führen zu "`Blasen"'
\item
Zweigvorhersage reduziert Kontrollflußkonflikte in Instruktions-Pipelines
\begin{itemize}
\item
nach oben / nach unten
\item
Delayed Branches: manuell optimieren
\item
Branch History Table: Sprünge merken
\end{itemize}
\end{itemize}
\end{frame}
\section{Bus-Systeme}
\subsection{Was sind Bus-Systeme?}
\begin{frame}
\showsection
\showsubsection
\begin{quote}
Ein Bus ist ein System zur Datenübertragung zwischen mehreren
Teilnehmern über einen gemeinsamen Übertragungsweg.
\smallskip
\color{gray}
Findet eine Datenübertragung zwischen zwei Teilnehmern statt, so
müssen die übrigen Teilnehmer schweigen, da sie sich sonst
gegenseitig stören würden. Umgangssprachlich werden mitunter --
oft aus historischen Gründen – auch Datenübertragungssysteme als
"`Bus"' bezeichnet, die technisch eigentlich eine andere
Topologie besitzen.
\medskip
\strut\hfill\url{https://de.wikipedia.org/wiki/Bus_(Datenverarbeitung)}
\end{quote}
Beispiele:
\begin{itemize}
\item
Computer kommuniziert mit Peripherie
\item
Computer kommunizieren (direkt) miteinander
\item
Prozessor kommuniziert mit externem Speicher
\item
Teile eines Prozessors kommunizieren miteinander
\end{itemize}
\end{frame}
\begin{frame}
\showsection
\showsubsection
Standard-Computer:
\begin{itemize}
\item
Einsteckkarten: PCI (und Vorgänger)
\item
Festplatten: SATA (und Vorgänger)
\item
USB, FireWire, \dots
\item
Ethernet, CAN-Bus, \dots
\item
WLAN, BlueTooth, IR, \dots
\item
PS/2, RS-232, IEEE\,1284
\end{itemize}
\medskip
\begin{visibleenv}<2->
Minimal-Hardware:
\begin{itemize}
\item
RS-232
\item
\ItwoC\ (TWI)
\item
SPI
\end{itemize}
\end{visibleenv}
\begin{onlyenv}<1>
\begin{picture}(0,0)
\put(5,1.5){\includegraphics[height=3cm]{motherboard-anschluesse.jpg}}
\end{picture}
\end{onlyenv}
\begin{onlyenv}<2>
\begin{picture}(0,0)(-1.3,-4)
\put(1.8,-4.9){\includegraphics[height=3.5cm]{kompassmodul-an-roboter.jpg}}
\put(6.1,-3.3){\includegraphics[height=4.5cm]{kompassmodul.jpg}}
\put(6.1,1.2){\makebox(0,0)[tr]{\tikz{\draw(0,0)--(-1.9,-3.6);}}}
\put(6.1,-3.3){\makebox(0,0)[br]{\tikz{\draw(0,0)--(-1.8,0.2);}}}
\end{picture}
\end{onlyenv}
\end{frame}
\begin{frame}[fragile]
\showsection
\showsubsection
\vspace*{-\bigskipamount}
\begin{tabbing}
\newterm{Punkt-zu-Punkt}\quad\=\kill
\newterm{seriell} \> jedes Bit einzeln übertragen\\
\newterm{parallel} \> mehrere Bits gleichzeitig\\[\smallskipamount]
\newterm{synchron} \> Abgleich über Steuerleitung: \newterm{Takt}\\
\newterm{asynchron} \> Abgleich über Zeitvereinbarungen\\[\smallskipamount]
\newterm{Punkt-zu-Punkt} \> genau zwei Teilnehmer\\
\textbf{\newterm{busfähig}} \> \textbf{mehrere Teilnehmer, mit \newterm{Adressierung}}
\begin{picture}(0,0)
\put(0.1,0.1){\makebox(0,0)[bl]{\tikz{\draw[latex-](0,0)--(0.7,0)--(0.7,0.5);}}}
\put(1.0,0.7){\makebox(0,0)[b]{moderne Definition}}
\end{picture}
\end{tabbing}
\begin{itemize}
\item
\ItwoC: seriell, synchron, mit Adressierung
\item
RS-232: seriell, asynchron, Punkt-zu-Punkt
\item
RS-485, USB, CAN: seriell, asynchron, mit Adressierung
\item
SPI: seriell, synchron, Punkt-zu-Punkt oder mit Adressierung
\item
PCI Express: seriell, asynchron, Punkt-zu-Punkt
\item
SATA: seriell, asynchron(?), Punkt-zu-Punkt
\item
PATA/ATAPI/IDE: parallel, asynchron(?), mit Adressierung
\end{itemize}
\end{frame}
\subsection{Chipsatz}
\begin{frame}
\showsection
\showsubsection
\begin{picture}(0,0)
\put(6.3,2.3){\makebox(0,0)[tl]{\includegraphics[width=6cm]{motherboard-diagram.png}}}
\end{picture}%
Kommunikation des Prozessors mit
\begin{itemize}
\item
Arbeitsspeicher
\item
\only<2->{Hochgeschwindigkeits-}Peripherie\only<3->{:\\
\newterm{Northbridge}}
\pause
\item
"`normale"' Peripherie\only<3->{:\\
\newterm{Southbridge}}
\pause
\item
Northbridge + Southbridge\\
= \newterm{Chipsatz}
\pause
\medskip
\item
Problem: unterschiedliche\\
Bus-Geschwindigkeiten
\pause
\medskip
\item
Northbridge: heute meistens\\
in Prozessor integriert.\\[\smallskipamount]
Damit besteht der Chipsatz\\
nur noch aus der Southbridge.
\vspace*{-10cm}
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\showsection
\showsubsection
\begin{picture}(0,0)
\put(6.3,2.3){\makebox(0,0)[tl]{\includegraphics[width=6cm]{motherboard-diagram.png}}}
\end{picture}%
\begin{itemize}
\item
Problem: Arbeitsspeicher\\
nur über Bus erreichbar\\
\textarrow\ langsam
\pause
\item
Lösung: Cache\\
= Arbeitsspeicher\\
innerhalb des Prozessors
\pause
\item
mehrstufiger Cache\\
Beispiel: AMD Zen 2 (2019)\\
L1: 32\,kB Daten\\
\hspace{0.81em}+ 32\,kB Instruktionen pro Kern\\
L2: 512\,kB pro Kern\\
L3: 16--256\,MB pro 4 Kerne\\[\smallskipamount]
{\footnotesize Quelle: \href{https://en.wikipedia.org/wiki/Cache_hierarchy#Recent_implementation_models}%
{\nolinkurl{https://en.wikipedia.org/wiki/Cache_hierarchy\#}\\
\nolinkurl{Recent_implementation_models}}\par}
\end{itemize}
\end{frame}
\subsection{RS-232}
\begin{frame}
\showsection
\showsubsection
seriell
\begin{itemize}
\item
\newterm{TX\/}: 1 Leitung für Daten
\item
\newterm{RX\/}: ggf.\ 1 Leitung für Daten in der anderen Richtung
\item
\newterm{GND\/}: gemeinsame \newterm{Masse}
\item
evtl.\ zusätzliche Steuerleitungen
\end{itemize}
\medskip
asynchron
\begin{itemize}
\item
\emph{keine\/} Taktleitung für Abgleich, wann Daten anliegen
\item
Stattdessen: Abgleich über Zeitvereinbarungen
\arrowitem
Jeder Teilnehmer braucht eine eigene Zeitbasis.
\end{itemize}
\medskip
Punkt-zu-Punkt
\begin{itemize}
\item
nur 2 Teilnehmer vorgesehen
\end{itemize}
\end{frame}
\begin{frame}
\showsubsection
\vspace*{-0.35cm}
\begin{center}
\includegraphics[scale=0.9]{rs-232.pdf}
\end{center}
\end{frame}
\subsection{\protect\ItwoC\ (TWI)}
\begin{frame}
\showsection
\showsubsection
\ItwoC\ = Inter-IC; TWI = Two-Wire-Interface
\medskip
seriell
\begin{itemize}
\item
\newterm{SDA\/}: 1 Leitung für Daten (in beiden Richtungen)
\item
\newterm{SCL\/}: Taktleitung (Clock)
\item
\newterm{GND\/}: gemeinsame Masse
\item
evtl.\ \newterm{VCC\/}: Stromversorgung für Peripheriegerät
\end{itemize}
\medskip
synchron
\begin{itemize}
\item
Abgleich über\\Taktleitung
\begin{picture}(0,0)
\put(0.4,-0.4){\includegraphics[width=9.7cm]{I2C_data_transfer.pdf}}
\end{picture}
\end{itemize}
\medskip
busfähig
\begin{itemize}
\item
\newterm{Master\/} initiiert Kommuniation und steuert Taktleitung
\item
erstes gesendetes Byte: \newterm{Adresse\/} des Teilnehmers
\item
2 Adressen pro Teilnehmer: Lesen/Schreiben
\end{itemize}
\vspace*{-1cm}
\end{frame}
\subsection{SPI}
\begin{frame}
\showsection
\showsubsection
Serial Peripheral Interface
\medskip
seriell
\begin{itemize}
\item
\newterm{MOSI\/}: Master Out, Slave In
\item
\newterm{MISO\/}: Master In, Slave Out
\item
\newterm{SCLK\/}: Taktleitung (Clock)
\item
\newterm{$\overline{\text{SS}}$\/}: Slave Select (invertiert)
\item
\newterm{GND\/}: gemeinsame Masse
\item
evtl.\ \newterm{VCC\/}: Stromversorgung für Peripheriegerät
\end{itemize}
\medskip
synchron
\begin{itemize}
\item
Abgleich über Taktleitung
\end{itemize}
\medskip
busfähig
\begin{itemize}
\item
\newterm{Master\/} initiiert Kommuniation und steuert Taktleitung
\item
\newterm{Slave\/} wird über \newterm{Slave Select\/} ausgewählt
\begin{picture}(0,0)(0,-0.2)
\only<1>{\put(-2.175,2.875){\includegraphics[scale=0.7]{SPI_single_slave.pdf}}}
\only<2>{\put(-2.0,3.0){\includegraphics[scale=0.7]{SPI_three_slaves.pdf}}}
\only<2>{\put(2.55,3.1){\begin{minipage}[t]{2.5cm}
\newterm{Stern}
\end{minipage}}}
\only<3->{\put(-2.0,3.0){\includegraphics[scale=0.7]{SPI_three_slaves_daisy_chained.pdf}}}
\only<3->{\put(2.55,3.1){\begin{minipage}[t]{2.5cm}
\newterm{Kaskade}\\
\newterm{Daisy Chain}\pause[4]\par\smallskip
\setlength{\leftskip}{-3.5cm}\small
Slave gibt MOSI-Input um 1 Takt verzögert
an MISO aus \textarrow\ Master setzt
"`im richtigen Moment"' $\overline{\text{SS}}$
\end{minipage}}}
\end{picture}
\end{itemize}
\vspace*{-1cm}
\end{frame}
\iffalse
\subsection{PWM}
\begin{frame}
\showsection
\showsubsection
Pulsweitenmodulation -- \emph{pulse-width modulation}
\begin{itemize}
\item
Steuerung von Motoren
\item
Nutzung als allgemeines Protokoll\\
zur Übertragung analoger Werte
\end{itemize}
\end{frame}
\subsection{Sonstiges}
\begin{frame}
\showsection
\showsubsection
Matrix-Schaltung
\begin{itemize}
\item
möglichst viele Aktoren/Sensoren\\
über möglichst wenige digitals Inputs abfragen\\
bzw.\ über möglichst wenige digitale Outputs steuern
\item
Beispiele: LED-Felder, Tastaturen
\end{itemize}
\bigskip
R/2R-Netzwerk
\begin{itemize}
\item
möglichst viele digitale Inputs\\
über einen einzigen analogen Input abfragen
\item
Beispiele: Tastaturen
\end{itemize}
\end{frame}
\fi
\sectionnonumber{\inserttitle}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer}
\item[\textbf{3}] \textbf{Architekturmerkmale von Prozessoren}
\item[\textbf{4}] \textbf{Der CPU-Stack}
\item[\textbf{5}] \textbf{Anwender-Software}
\item[\textbf{6}] \textbf{Pipelining}
\begin{itemize}
\item[6.1] Konzept
\item[6.2] Arithmetik-Pipelines
\item[6.3] Instruktions-Pipelines
\end{itemize}
\item[\textbf{7}] \textbf{Bus-Systeme}
\begin{itemize}
\color{medgreen}
\item[7.1] Was sind Bus-Systeme?
\item[7.2] Chipsatz
\item[7.3] RS-232
\item[7.4] \ItwoC\ (TWI)
\item[7.5] SPI
\end{itemize}
% \item[\textbf{???\hspace{-0.75em}}]
% \item[\textbf{8}] \textbf{Ausblick}
\item[\textbf{i}] \textbf{Quantencomputer}
\end{itemize}
\end{frame}
\end{document}
RS-232 auf dem Oszilloskop, 21.06.2021, 17:54:06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Folie: ~~~~_~~~___~_~~~ rtech-20210621.pdf, Seite 62
Oszi: ~_~~~___~__~_~~~_ photo-8231.jpg
^ ab hier unterschiedlich: Paritätsbit
Folie: Hier wird ein großes "G" mit ungerader Parität übertragen.
Oszi: Hier wird ein großes "G" mit gerader Parität übertragen.
Zum Vergleich: photo-8232.jpg: "G" mit ungerader Pärität auf dem Oszi
Weitere Themen, 21.06.2021, 18:28:53
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Quantencomputer
? LaTeX
? Compiler-Bau
? ...
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment