add Digitaltechnik and Lineare Algebra

This commit is contained in:
Dominik 2025-03-26 20:51:23 +01:00
commit b872f672ae
Signed by: dominik
GPG key ID: 06A4003FC5049644
27 changed files with 940 additions and 0 deletions

BIN
Digitaltechnik/D_FF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
Digitaltechnik/JK_FF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
Digitaltechnik/T_FF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,5 @@
\section{Begriffe}
\textbf{Codierung:} Darstellung von Informationen mit Hilfe eines Symbols oder einer Symbolfolge, wobei die Symbole einem Alphabet entnommen sind \\
\textbf{Alphabet:} endliche Mengen von Symbolen \\
\textbf{Signal:} Physikalisch messbare Größe

View file

@ -0,0 +1,202 @@
\section{Codierung}
\subsection{Arten von Codierungen}
\begin{itemize}
\item \textbf{Zeichencodierung:} Darstellung von Schriftzeichen
\item \textbf{Zahlencodierung:} Darstellung von Zahlenwerten
\item \textbf{Anwendungscodierung:} Darstellung von Informationen einer Anwendung
\item \textbf{Verschlüsselung:} Umcodierung, sodass die Daten nur mit zusätzlichen Informationen entschlüsselt werden können
\item \textbf{Komprimierung:} Reduzierung der Datenmenge durch Umcodierung
\item \textbf{Signalcodierung:} Darstellung abstrakter Info als \\Signal/Signalfolge
\end{itemize}
\subsection{Zeichencodierung}
\begin{itemize}
\item \textbf{ASCII:} 7-Bit-Zeichensatz, viele nationale Zeichen nicht enthalten
\item \textbf{ISO 8859-X:} 8-Bit-Zeichensatz, erweitert ASCII um nationale Zeichen
\item \textbf{Unicode:} 8/16/32-Bit-Zeichensatz, enthält fast alle Schriftzeichen, enthält Fortsetzungszeichen
\end{itemize}
\subsection{Zahlencodierung}
\subsubsection{Abzählsysteme}
Jedes Symbol hat einen Symbolwert, aufaddieren der Symbolwerte ergibt den Zahlenwert.
\subsubsection{Fingerabzählsystem}
$A = \{\mathrm{Finger}\}$ \\
$S(\mathrm{Finger}) = 1$ \\
Wertebereich $[0, 10[$ \\
Keine negativen Zahlen möglich, sehr einfach
\subsubsection{Einfache Strichliste}
$A = \{\mid\}$ \\
$S(\mid) = 1$ \\
Wertebereich $[0, \infty[$ \\
Keine negativen Zahlen möglich, sehr einfach, keine Subtraktion möglich, Übersichtlich bis ca. $10$
\subsubsection{erweiterte Strichliste}
$A = \{\mid, \cancel{\mid\mid\mid\mid}\}$ \\
$S(\mid) = 1$ \\
$S(\cancel{\mid\mid\mid\mid}) = 5$ \\
Wertebereich $[0, \infty[$ \\
Sortieren und zusammenfassen wenn möglich \\
Keine negativen Zahlen möglich, einfach, keine Subtraktion möglich, Übersichtlich bis ca. $50$
\subsubsection{Römisches Zahlensystem}
$A = \{I, V, X, L, C, D, M\}$ \\
$S(I) = 1$ \\
$S(V) = 5$ \\
$S(X) = 10$ \\
$S(L) = 50$ \\
$S(C) = 100$ \\
$S(D) = 500$ \\
$S(M) = 1000$ \\
Wertebereich $[0, 3999]$ \\
Keine negativen Zahlen möglich, keine Subtraktion möglich, wenig verständlich, nicht einfach
\subsection{Stellenwertsysteme}
Gängige Stellenwertsysteme:
\begin{itemize}
\item Dezimalsystem: Basis 10
\item Binärsystem: Basis 2
\item Oktalsystem: Basis 8
\item Hexadezimalsystem: Basis 16
\end{itemize}
Darstellung von negativen Zahlen:
\begin{itemize}
\item Vorzeichen und Betrag
\item Einerkomplement
\item Zweierkomplement
\end{itemize}
Darstellung von Kommazahlen:
\begin{itemize}
\item \textbf{Bruchdarstellung:} Unendlich viele Möglichkeiten
\item \textbf{Festkommadarstellung:} Feste Anzahl an Nachkommastellen (Verschiebung des Kommas)
\item \textbf{Gleitkommadarstellung:} Mantisse und Exponent
\end{itemize}
\subsubsection{IEEE 754}
Sign Bit $S$ statt 2er Komplement. Manitisse $M$ und Exponent $E$. \\
$S \cdot M \cdot 2^E$
\paragraph{Normalisierte Darstellung} \ \\
\textbf{Zwei Optionen:} \\
Mantisse mit genau einer Ziffer vor dem Komma ODER
Manitisse mit $0$ vor dem Komma und erstem Nachkommastellenzeichen $1$
\paragraph{reservierte Bitmuster} \ \\
Exponent $0$: keine Normalisierung, kein Hidden Bit $\to$ Exponent = 1 - Bias \\
$\to$ Mantisse $0$: $\pm 0$ \\
Exponent $2^e - 1$: Zahl nicht darstellbar \\
$\to$ Mantisse $0$: $\pm \infty$ \\
$\to$ Mantisste $\neq 0$: NaN
\paragraph{Umrechnung}
\begin{enumerate}
\item Vorzeichen merken, weiter mit Betrag
\item Darstellung als Festkommazahl also Exponent (Basis 10) = 0
\item Umrechnung als Festkommazahl ins Binärsystem (Mantisse (bei 16 Bit → 10) Stellen nach der 1. “1” berechnen)
\item Bestimmung von Exponent real durch Kommaverschiebung bei der Mantisse hinter die erste “1” (Normalisierung)
\item Bestimmung von Exponent gespeichert (Exponent reals + Bias)
\item Umrechnung Exponent gespeichert ins Binärsystem
\item Notation des Bitmusters (fehlende Stellen bei Exponent mit führenden “0”, bei Mantisse mit “0” am ende auffüllen, bei zu großen Zahlen → Bitmuster für Unendlich)
\end{enumerate}
\subsubsection{Codierungsmethoden}
\begin{itemize}
\item Wertecodierung: Wert wird insgesamt codiert
\item Zifferncodierng: Ziffern werden einzeln codiert
\end{itemize}
\paragraph{BCD (Binary Coded Decimal)} \ \\
4-Bit-Code für jede Dezimalziffer, 0-9 codiert, 1010-1111 reserviert
\paragraph{Gray-Code} \ \\
Wechsel nur einer Bitstelle bei aufeinanderfolgenden Zahlen, um lesefehler zu vermindern.\\
Beginend mit $0\dots0$ je das rechteste Bit invertieren, sodass ein bislang nicht vorkommender Code entsteht.
\subsection{Signalcodierung}
Mögliche Signalarten:
\begin{itemize}
\item elektrische Signale (z.B. in Computern verwendet)
\item optische Signale
\item mechanische Signale
\end{itemize}
\subsubsection{NRZ (Non Return to Zero)}
symmetrische oder single-ended Pegel \\
Während eines Bitintervalls wird ein Signalpegel gehalten.
\begin{itemize}
\item \textbf{TRG}: Bei jedem Pegelwechsel ist Taktrückgewinnung möglich
\item \textbf{GSF}: Nur bei symmetrischen Pegel und gleichverteiltung von 0 und 1 Gleichstromfrei.
\item \textbf{SSH}: Störsicherheit optimal, da nur 2 Pegel
\item \textbf{BBB}: Halbe Schrittweite, also optimaler Bandbreitenbedarf
\end{itemize}
\subsubsection{RZ (Return to Zero)}
symmetrische oder single-ended Pegel \\
Während eines Bitintervalls wird ein Signalpegel gehalten, in der Mitte des Intervalls wird der Pegel auf 0 zurückgesetzt.
\begin{itemize}
\item \textbf{TRG}: Bei jeder 1 ist Taktrückgewinnung möglich
\item \textbf{GSF}: in der Praxis nie Gleichstromfrei.
\item \textbf{SSH}: Störsicherheit optimal, da nur 2 Pegel
\item \textbf{BBB}: schlecht (vorallem bei vielen 1)
\end{itemize}
\subsubsection{AMI (Alternate Mark Inversion)}
symmetrische Pegel + 0-Pegel. \\
Zwei Signalpegel für die $1$-Darstellung. \\
Die beiden Signalpegel wechseln sich ab.
\begin{itemize}
\item \textbf{TRG}: Bei jeder 1 ist Taktrückgewinnung möglich
\item \textbf{GSF}: nach jeder 2ten 1 Gleichstromfrei (in der Praxis immer)
\item \textbf{SSH}: Störsicherheit schlecht, da 3 Pegel
\item \textbf{BBB}: Halbe Schrittweite, also optimaler Bandbreitenbedarf
\end{itemize}
\subsubsection{Manchester}
symmetrische Pegel \\
Darstellung eines Bits mithilfe eines Pegelwechsels in der Mitte des Bitintervalls.\\
z.B. $0 \to 01$ und $1 \to 10$
\begin{itemize}
\item \textbf{TRG}: immer Taktrückgewinnung möglich
\item \textbf{GSF}: immer Gleichstromfrei
\item \textbf{SSH}: optimal, da nur 2 Pegel
\item \textbf{BBB}: schlecht
\end{itemize}
\subsubsection{TRG ermöglichen}
\begin{enumerate}
\item \textbf{Startbitsequenz}: \\
Vor jedem Datenblock eine Startbitsequenz, die eine Taktrückgewinnung ermöglicht.
\item \textbf{Bit-Stuffing}: \\
Wenn zu viele gleiche Bits hintereinander auftreten, wird ein zusätzliches Bit eingefügt.
\item \textbf{Blockcodierung}: \\
Daten werden in Blöcke der länge n+1 umcodiert, die eine Taktrückgewinnung ermöglichen.
\end{enumerate}

View file

@ -0,0 +1,10 @@
\section{Boolsche Algebra}
\subsection{Huntington-Axiome}
\begin{enumerate}
\item \textbf{Kommmutativität}: $a \land b = b \land a$ und $a \lor b = b \lor a$
\item \textbf{Distributivität}: $a \land (b \lor c) = (a \land b) \lor (a \land c)$ und $a \lor (b \land c) = (a \lor b) \land (a \lor c)$
\item \textbf{neutrales Element}: $a \land 1 = a$ und $a \lor 0 = a$
\item \textbf{inverses Element}: $a \land \overline{a} = 0$ und $a \lor \overline{a} = 1$
\end{enumerate}

View file

@ -0,0 +1,39 @@
\section{Schaltnetze}
Darstellung der Schaltalgebra als Graphen. \\
\textbf{Knoten:} Gatter, stehen für logische Funktionen \\
\textbf{Kanten:} Verbindungen zwischen den Gattern, stehen für die Ausführungsreihenfolge
\subsection{Konventionen}
\begin{itemize}
\item Negation eines Ein- oder Ausgangs durch einen kleinen Kreis
\item UND- und ODER-Gatter können beliebig viele Eingänge haben
\item von links nach rechts / von oben nach unten
\item Verzweigung durch einen kleinen ausgefüllten Kreis an der Verzweigungsstelle
\item Kreuzung von Leitungen erlaubt, wenn kein kleiner Kreis vorhanden ist
\end{itemize}
\subsection{Aufwand}
\textbf{HW-Aufwand:} Anzahl der Eingänge aller Gatter \\
\textbf{Zeit-Aufwand:} Anzahl der Gatter, die ein Signal durchlaufen muss
\subsection{Schaltnetzanalyse}
\subsubsection{DNF (Disjunktive Normalform)}
Bildung einer Disjunktion von Implikanten von $f$ mit möglichst wenig HW-Aufwand. \\
Ein \textbf{Primimplikant} ist ein Implikant, der mit keinem anderen zusammengefasst werden kann. \\
Eine \textbf{Disjunktive-Minimalform (DMF)} ist eine Disjunktion von Primimplikanten, die $f$ beschreibt. \\
Ein \textbf{Kernprimimplikant} ist ein Primimplikant, welcher mindestens einen Minterm exklusiv enthält.
\subsubsection{KNF (Konjunktive Normalform)}
Bildung einer Konjunktion von Maxtermen von $f$ mit möglichst wenig HW-Aufwand. \\
Ein \textbf{Primimplikat} ist ein Implikat, der mit keinem anderen zusammengefasst werden kann. \\
Eine \textbf{Konjunktive-Minimalform (KMF)} ist eine Konjunktion von Primimplikatoren, die $f$ beschreibt. \\
Ein \textbf{Kernprimimplikat} ist ein Primimplikat, welcher mindestens einen Maxterm exklusiv enthält.
\subsubsection{KV-Diagramm}
Hiermit können Primimplikanten und DMF einfach gefunden werden.

View file

@ -0,0 +1,61 @@
\section{Schaltwerke}
Gleiche bestandteile wie Schaltnetze, aber Rückgekoppellungen möglich.\\
Zustände/Speichervermögen durch Rückkopplung.
\subsection{Schaltwerkanalyse}
\begin{enumerate}
\item Aufstellen von Funktionstermen (für die Ausgänge) und entsprechender Wertetabelle, wobei die vormals rückgekoppelten Eingänge vor den unabhängigen (echten) Eingänge notiert werden.
\item Markieren der stabilen und instabilen Zeilen der WT, wobei bei instabilen Zeilen (mindestens) eine A-Belegung nicht mit der entsprechenden E-Belegung übereinstimmt. (Vergleich von A-Belegungen und E-Belegungen der rückgekoppelten Eingänge)
\item Bei instabilen Zeilen: Notation der Folgezeile, indem die E-Belegung durch die entsprechende A-Belegung ersetzt wird, bis entweder eine stabile Folgezeile oder ein Zyklus erreicht wird.
\item Benennen der Zustände des Schaltwerks anhand der Belegung der rückgekoppelten Eingänge
\item Aufstellen des Zustandsübergangsdiagramms, wobei die Zustandsübergänge durch die Belegung der unabhängigen (nicht rückgekoppelten) Eingänge bewirkt wird.
\item Verständnis für das Verhalten des Schaltwerkes herauslesen.
\end{enumerate}
\subsection{Flip-Flops}
\subsubsection{Taktsteuerung}
\paragraph{TPS (Takt-Pegel-Steuerung)} \ \\
Aktiv solange ein Taktpegel anliegt.
\paragraph{TFS (Takt-Flanken-Steuerung)} \ \\
Aktiv bei steigender oder fallender Flanke.
\subsubsection{RS-Flip-Flop}
\includegraphics[width=0.2\textwidth]{TPS_RS_FF.png}
2 Eingänge: S (Set) und R (Reset) \\
2 Ausgänge: Q und Q* (Q negiert) \\
Mit und ohne Takt: speichert \\
Verbotene Zustände: S = R = 1
\subsubsection{D-Flip-Flop}
\includegraphics[width=0.2\textwidth]{D_FF.png}
1 Eingang: D (Data) \\
2 Ausgänge: Q und Q* (Q negiert) \\
Ohne Takt: transparent, mit Takt: speichert \\
Keine verbotenen Zustände
\subsubsection{JK-Flip-Flop}
\includegraphics[width=0.2\textwidth]{JK_FF.png}
2 Eingänge: J und K \\
2 Ausgänge: Q und Q* (Q negiert) \\
Mit und ohne Takt: speichert \\
Keine verbotenen Zustände (J=K=1: Togglen)
\subsubsection{T-Flip-Flop}
\includegraphics[width=0.2\textwidth]{T_FF.png}
1 Eingang: T (Toggle) \\
2 Ausgänge: Q und Q* (Q negiert) \\
Nur mit TFS definiert \\
Wechsel des Ausgangs bei steigender Flanke

View file

@ -0,0 +1,5 @@
\section{Halbleiterspeicher}
Speichern von Informationen mit einem Halbleiterbauelement (Kondensator). \\
Nach jedem Lesen (Transistor verbaut, dass er nicht immer entladen ist) + regelmäßig wegen selbstentladung muss der Kondensator neu geladen werden. \\
\textbf{HW-Aufwand:} 2 Transistoren pro Bit

79
Digitaltechnik/main.tex Normal file
View file

@ -0,0 +1,79 @@
\documentclass[10pt,landscape,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
%\usepackage[LY1,T1]{fontenc}
%\usepackage{frutigernext}
%\usepackage[lf,minionint]{MinionPro}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,arrows,fit,calc,graphs,graphs.standard}
\usepackage[nosf]{kpfonts}
\usepackage[t1]{sourcesanspro}
\usepackage{multicol}
\usepackage{wrapfig}
\usepackage[top=4mm,bottom=4mm,left=4mm,right=4mm]{geometry}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{microtype}
\usepackage{pdfpages}
\usepackage{cancel}
\let\bar\overline
\definecolor{myblue}{cmyk}{1,.72,0,.38}
\def\firstcircle{(0,0) circle (1.5cm)}
\def\secondcircle{(0:2cm) circle (1.5cm)}
\colorlet{circle edge}{myblue}
\colorlet{circle area}{myblue!5}
\tikzset{filled/.style={fill=circle area, draw=circle edge, thick},
outline/.style={draw=circle edge, thick}}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\everymath\expandafter{\the\everymath \color{myblue}}
\everydisplay\expandafter{\the\everydisplay \color{myblue}}
\renewcommand{\baselinestretch}{.8}
\pagestyle{empty}
\global\mdfdefinestyle{header}{%
linecolor=gray,linewidth=1pt,%
leftmargin=4mm,rightmargin=4mm,skipbelow=4mm,skipabove=4mm,
}
\newcommand{\header}{
\begin{mdframed}[style=header]
\footnotesize
\sffamily
Cheat sheet\\
by~Your~Name,~page~\thepage~of~2
\end{mdframed}
}
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
{.2ex}%
{.2ex}%x
{\color{myblue}\sffamily\small\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{1}{0mm}%
{.2ex}%
{.2ex}%x
{\sffamily\bfseries}}
\makeatother
\setlength{\parindent}{0pt}
\begin{document}
\small
\begin{multicols*}{3}
\input{inhalt/00_Begriffe}
\input{inhalt/01_Codierung}
\input{inhalt/02_Boolsche_Algebra}
\input{inhalt/03_Schaltnetze}
\input{inhalt/04_Schaltwerke}
\input{inhalt/05_Halbleiterspeicher}
\end{multicols*}
\end{document}