1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-07 20:06:26 +02:00

RS: RS-Bearbeitungen hinzugefügt

This commit is contained in:
Jim Martens
2014-12-10 23:00:55 +01:00
parent 7d291303dc
commit 9a438bd2ec
10 changed files with 2847 additions and 0 deletions

View File

@ -0,0 +1,154 @@
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{paralist}
\usepackage{qtree}
\usepackage[locale=DE,exponent-product=\cdot ,detect-all]{siunitx}
\usepackage{tikz}
\usepackage[scaled=0.78]{luximono}
\usepackage{listings}
\usetikzlibrary{automata,matrix,fadings,calc,positioning,decorations.pathreplacing,decorations.text,arrows}
\pagenumbering{arabic}
\def\thesection{8.\arabic{section})}
\def\thesubsection{(\alph{subsection})}
\def\thesubsubsection{(\arabic{subsubsection})}
\renewcommand{\labelenumi}{(\roman{enumi})}
\hyphenation{Nach-komma-stel-len}
\lstnewenvironment{java}[1][]{%
\lstset{basicstyle=\ttfamily ,backgroundcolor=\color[gray]{.95},columns=flexible,fontadjust=true,language=Java,tabsize=4,numbers=none,#1}%
}{%
}
\graphicspath{{D:/Users/Jim-Studium/Pictures/Studium/RS/}}
\tikzstyle{huffmanNodes}=[matrix of nodes,
nodes={circle,thin,draw=black!20,minimum size=10mm,text height=1.5ex,text depth=.25ex,inner sep=-10pt}]
\tikzstyle{huffmanBase}=[matrix of nodes,
nodes={minimum size=10mm,text height=1.5ex,text depth=.25ex,inner sep=-10pt}]
\begin{document}
\author{Jim Martens (Matrikelnummer 6420323) \and Marlo Kornblum (Matrikelnummer 6427301)}
\title{Rechnerstrukturen Aufgabenblatt 8}
\maketitle
\section{} %8.1
1-bit Volladdierer nur mit 2:1 Multiplexern:\\
\begin{alignat*}{2}
s &=& a \oplus b \oplus c_{i} \\
&=& ((a \vee b) \wedge (\overline{a \wedge b})) \oplus c_{i} \\
&=& (((a \vee b) \wedge (\overline{a \wedge b})) \vee c_{i}) \wedge (\overline{((a \vee b) \wedge (\overline{a \wedge b})) \wedge c_{i}}) \\
c_{0} &=& (ab) \vee (a \vee b)c_{i}
\end{alignat*}
\includegraphics[scale=.5]{Uebung8-Schaltplan.png}
\section{} %8.2
\subsection{} %a
\begin{tabular}{r|ccccc}
dez.& $x_{3}$ & $x_{2}$ & $x_{1}$ & $x_{0}$ & A \\
\hline
0 & 0 & 0 & 0 & 0 & 1 \\
1 & 0 & 0 & 0 & 1 & 1 \\
2 & 0 & 0 & 1 & 0 & 1 \\
3 & 0 & 0 & 1 & 1 & 1 \\
4 & 0 & 1 & 0 & 0 & 1 \\
5 & 0 & 1 & 0 & 1 & 0 \\
6 & 0 & 1 & 1 & 0 & 0 \\
7 & 0 & 1 & 1 & 1 & 0 \\
8 & 1 & 0 & 0 & 0 & 1 \\
9 & 1 & 0 & 0 & 1 & 1 \\
10 & 1 & 0 & 1 & 0 & 1 \\
11 & 1 & 0 & 1 & 1 & 1 \\
12 & 1 & 1 & 0 & 0 & 1 \\
13 & 1 & 1 & 0 & 1 & 1 \\
14 & 1 & 1 & 1 & 0 & 1 \\
15 & 1 & 1 & 1 & 1 & 1
\end{tabular}
\begin{tikzpicture}
\draw (0,0) -- +(2,0); %obere Kante
\draw (0,0) -- +(0,-2); %linke Kante
\draw (1,0) -- +(0,-2); %mittlere vertikale Kante
\draw (0,-1) -- +(2,0); %mittlere horizontale Kante
\draw (0,-2) -- +(2,0); %untere Kante
\draw (2,0) -- +(0,-2); %rechte Kante
\draw (0.5,0) -- +(0,-2); %linke mittlere Kante
\draw (1.5,0) -- +(0,-2); %rechte mittlere Kante
\draw (0,-0.5) -- +(2,0); %obere mittlere Kante
\draw (0,-1.5) -- +(2,0); %untere mittlere Kante
\draw (0,0) -- +(-0.5,0.5); %schräger Strich
\node at ++(0.2,0.25) (start11) {$00$}; %Variablenzeile 0
\node at ++(0.7,0.25) (start12) {$01$};
\node at ++(1.2,0.25) (start13) {$11$};
\node at ++(1.7,0.25) (start14) {$10$};
\node at ++(-0.25,-0.2) (start10) {$00$}; %Variablenspalte 0
\node at ++(-0.25,-0.7) (start20) {$01$};
\node at ++(-0.25,-1.2) (start30) {$11$};
\node at ++(-0.25,-1.7) (start40) {$10$};
\node at ++(-0.8,0.2) (var1) {$x3\,x2$};
\node at ++(0.0,0.6) (var1) {$x1\,x0$};
\node at ++(0.25, -0.25) (row11) {$1$}; %erste Zeile
\node at ++(0.75, -0.25) (row12) {$1$};
\node at ++(1.25, -0.25) (row13) {$1$};
\node at ++(1.75, -0.25) (row14) {$1$};
\node at ++(0.25, -0.75) (row21) {$1$}; %zweite Zeile
\node at ++(0.75, -0.75) (row22) {$0$};
\node at ++(1.25, -0.75) (row23) {$0$};
\node at ++(1.75, -0.75) (row24) {$0$};
\node at ++(0.25, -1.25) (row31) {$1$}; %dritte Zeile
\node at ++(0.75, -1.25) (row32) {$1$};
\node at ++(1.25, -1.25) (row33) {$1$};
\node at ++(1.75, -1.25) (row34) {$1$};
\node at ++(0.25, -1.75) (row41) {$1$}; %vierte Zeile
\node at ++(0.75, -1.75) (row42) {$1$};
\node at ++(1.25, -1.75) (row43) {$1$};
\node at ++(1.75, -1.75) (row44) {$1$};
\end{tikzpicture}
\subsection{} %b
disjunktiv:\\
Es lassen sich die erste und vierte Zeile als eine Schleife einzeichnen. Außerdem kann die erste Spalte als eine Schleife genommen werden. Zusätzlich können die die dritte und vierte Zeile komplett als eine Schleife realisiert werden. Es ergibt sich:
\begin{equation*}
f(x_{3},x_{2},x_{1},x_{0}) = \overline{x_{2}} \vee (\overline{x_{1}}\overline{x_{0}}) \vee x_{3}
\end{equation*}
konjunktiv:\\
Die zwei rechten Nullen und die zwei linken Nullen können jeweils in eine Schleife gepackt werden. Es ergibt sich:
\begin{equation*}
f(x_{3},x_{2},x_{1},x_{0}) = (x_{3} \vee \overline{x_{2}} \vee \overline{x_{0}}) \wedge (x_{3} \vee \overline{x_{2}} \vee \overline{x_{1}})
\end{equation*}
\subsection{} %c
disjunktiv:\\
\includegraphics[scale=.5]{Uebung8_2_c1-Schaltplan.png}
konjunktiv:\\
\includegraphics[scale=.5]{Uebung8_2_c2-Schaltplan.png}
\section{} %8.3
\subsection{} %a
\includegraphics[scale=1.0]{Uebung8-Impulsdiagramm.png}
Es tritt ein statischer 1-Hazard beim Ausgang x auf. Beim Ausgang y tritt kein Hazard auf.
\subsection{} %b
\includegraphics[scale=1.0]{Uebung8-Impulsdiagramm2.png}
Es treten keine Hazards auf.
\section{} %8.4
\subsection{} %a
Für $n$ Bits ergibt sich folgende Formel für die Zeitschritte T: $T(n) = 2 \cdot \log_{2} (n) + 4$.
\subsection{} %b
Dieser Addierer benötigt $\frac{n}{m} + 1$ Zeitschritte für die Blöcke und daher insgesamt $m \cdot (2 \cdot \frac{n}{m} + 1)$ Zeitschritte.
Um die Verzögerung zu minimieren muss $m = \lfloor \sqrt{n} \rfloor$ gelten.
\subsection{} %c
Für $n=64$ ergeben sich für den Ripple-Carry-Addierer $64$ Zeiteinheiten und damit $64 \cdot 35ps=2240ps$. Der Carry-Lookahead-Addierer benötigt $2 \cdot \log_{2} (64) + 4 = 2 \cdot 6 + 4 = 12 + 4 = 16$ Zeiteinheiten und damit $16 \cdot 35ps=560ps$.
Mit dem Carry-Select-Addierer erreicht man $8 \cdot (2\cdot 8 + 1) = 8 \cdot (16 + 1) = 8 \cdot 17 = 136$ Zeiteinheiten. Somit ergeben sich $136 \cdot 35ps=4760ps$.
Für $n=256$ ergeben sich für den Ripple-Carry-Addierer $256$ Zeiteinheiten und damit $256 \cdot 35ps=8960ps$. Der Carry-Lookahead-Addierer benötigt $2 \cdot \log_{2} (256) + 4 = 2 \cdot 8 + 4 = 16 + 4 = 20$ Zeiteinheiten und damit $20 \cdot 35ps=700ps$.
Mit dem Carry-Select-Addierer erreicht man $16 \cdot (2 \cdot 16 + 1) = 16 \cdot (32 + 1) = 16 \cdot 33 = 528$ Zeiteinheiten. Somit ergeben sich $528 \cdot 35ps=18480ps$.
\end{document}