\section{Einfache Hardwarekomponente} \subsection{Multiplexer und Demultiplexer} Multiplexer ermöglichen das durch Steuersignale gewählte Aufschalten eines Eingangssignal aus mehreren möglichen: \begin{center} \includegraphics[width = 0.25\textwidth]{images/Multiplexer.jpg} \end{center} Demultiplexer nehmen Daten aus einem einzigen Kanal und verteilen es auf einen beliebigen Ausgang. \begin{center} \includegraphics[width = 0.25\textwidth]{images/Demultiplexer.jpg} \end{center} \subsection{Halb- und Volladdierer} Halbaddierer sind Rechenschaltungen, die zwei Dualzahlen addieren. Ausgänge: SUM (Summe), CO (Carry, Übertrag) \begin{center} \includegraphics[width = 0.25\textwidth]{images/Halbaddierer.jpg} \end{center} Volladdierer haben einen zusätzlichen Eingang CI (Carry in), dieser ermöglicht das Bilden von Mehrbit-Addierer. \begin{center} \includegraphics[width = 0.25\textwidth]{images/Volladdierer.jpg} \end{center} \subsection{Mehrbit-Addierer (Paralleladdierer)} Ein \emph{Paralleladdierer} in Normalform ist sehr aufwendig zu realisieren, da $\sim n \cdot 2^{2n - 1}$ Min-/Maxterme verknüpft werden müssen. \emph{Vorteil}: Laufzeit unabhängig von Stellenanzahl \medskip Ein \emph{Ripple-Carry Addierer} ist eine Kaskadierung von Volladdierer. Einfach skalierbar, leidet aber am 'ripple' Effekt, d.h. Laufzeiten addieren sich auf. \medskip Der \emph{Carry-Look-Ahead Addierer} kombiniert die Vorteil der beiden, d.h. man kaskadiert die Addierer, aber berechnet die Überträge parallel zur Summenbildung. (Berechnungsaufwand linear zur Stellenanzahl, aber Laufzeit konstant) \subsubsection{Ripple-Carry Addierer mit Subtraktion} Die Subtraktion erfolgt durch Bildung des 2er-Komplement: \begin{center} \includegraphics[width = 0.32\textwidth]{images/AddSub.jpg} \end{center} \subsection{Hardware Multiplizierer} Folgt dem Prinzip der Bitweisen Multiplikation. Besteht aus folgender Basiszelle: \begin{center} \includegraphics[width = 0.32\textwidth]{images/HardwareMult.jpg} \end{center} Die Multiplikation mit negativen Zahlen im 2er-Komplement ist eher schwierig. Eine Möglichkeit ist der iterative Booth Algorithmus.