2017-10-09 11:46:43 +02:00
\chapter { Rechner}
2017-11-25 15:44:11 +01:00
Hilfsmittel zum Durchführen von \enquote { Rechnungen} .
2017-10-09 11:46:43 +02:00
\columnratio { 0.55}
\begin { paracol} { 2}
2017-11-25 15:44:11 +01:00
\textsf { \textbf { Rechner} }
2017-10-09 11:46:43 +02:00
\begin { itemize} [noitemsep]
\item schneller
\item fehlerfreier
\item besseres Speichervermögen
\end { itemize}
2017-10-26 13:12:38 +02:00
2017-10-09 11:46:43 +02:00
\switchcolumn
\textsf { \textbf { Rechenmaschine} }
\begin { itemize} [noitemsep]
\item Abakus (mechanisch, digital)
\item Rechenschieber (mechanisch, analog)
\end { itemize}
\end { paracol}
\textsf { \textbf { Arbeitsweise} }
2017-10-26 15:34:13 +02:00
Man unterscheidet zwischen \enquote { mechanisch vs elektrisch} und \enquote { digital vs analog} . Moderne \enquote { Rechner} (PC \& Co.) arbeiten elektrisch und digital. Dem gegenüber stehen elektrische Analogrechner, die um die 1920er genutzt wurden.
2017-10-09 11:46:43 +02:00
\section { Geschichte}
\subsection { Elektrischer Digitalrechner}
\begin { description}
\item [ZUSE] Z1, Z2 (ab \circa { 1940} )
2017-10-26 13:12:38 +02:00
2017-10-09 11:46:43 +02:00
Relais als zentrale Bauteile (elektromagnetischer Schalter mit Elektromagnet)
2017-10-26 13:12:38 +02:00
2017-10-09 11:46:43 +02:00
\begin { itemize} [noitemsep]
\item [$\oplus$] Automatismus möglich
\item [$\ominus$] langsame Geschwindigkeit
\item [$\ominus$] großer Platzverbrauch
\item [$\ominus$] Geräusche beim Schalten
\item [$\ominus$] hoher Energieverbrauch beim Schalten
\item [$\ominus$] großer Verschleiß
\end { itemize}
2017-10-16 18:50:52 +02:00
2017-11-25 15:44:11 +01:00
\item [\acf{ENIAC}] (\circa { 1945} ) \newline
2017-10-26 15:34:13 +02:00
Die \acs { ENIAC} besitzt als zentrales Bauteil eine Elektronenröhre. Eine Elektronenröhre ist ein eigentlich analog arbeitender Verstärker, wird hier aber als digitaler Schalter genutzt. Die Funktionsweise wird in \autoref { fig:elektronenstrahlroehre} dargestellt, wobei die Kathode negativ und die Anode positiv geladen sind.
2017-10-26 13:12:38 +02:00
2017-10-09 11:46:43 +02:00
\begin { itemize} [noitemsep]
2017-11-25 15:44:11 +01:00
\item [$\oplus$] (sehr) hohe Geschwindigkeit
2017-10-09 11:46:43 +02:00
\item [$\ominus$] großer Platzverbrauch
2017-11-25 15:44:11 +01:00
\item [$\ominus$] ständiges Summen bei $ 50 Hz $ oft möglich und hörbar
2017-10-09 11:46:43 +02:00
\item [$\ominus$] hoher, ständiger Energieverbrauch
\item [$\ominus$] großer Verschleiß
\end { itemize}
\begin { figure} [ht]
\centering
2017-11-25 15:44:11 +01:00
\includegraphics [width=9.4cm] { Bilder/800px-Cathode_ ray_ tube_ de.png}
2017-10-09 11:46:43 +02:00
\caption { Funktionsweise Kathodenstrahlröhre [Quelle: \href { https://de.wikipedia.org/wiki/Kathodenstrahlr\% C3\% B6hre} { Wikipedia} ]}
\label { fig:elektronenstrahlroehre}
\end { figure}
2017-10-16 18:50:52 +02:00
2017-10-26 15:34:13 +02:00
\newpage % Für das Seitenlayout
\item [Moderne Rechner] Moderne transistorisierte Digitalrechner (\zB \acs { UNIVAC} ab Ende der 1950er).
2017-10-09 11:46:43 +02:00
\begin { itemize} [noitemsep]
\item Transistor als zentrales Bauteil.
Ein Transistor ist ein analog arbeitender Verstärker, wird hier aber als digital arbeitender Schalter genutzt.
\item [$\oplus$] sehr hohe Geschwindigkeit
\item [$\oplus$] sehr geringer Platzverbrauch
\item [$\oplus$] keine Geräuschentwicklung (außer Lüfter)
\item [$\oplus$] sehr niedriger Energieverbrauch
\item [$\oplus$] geringer Verschleiß
\end { itemize}
\end { description}
\section { Fundamentalarchitektur}
2017-10-26 15:34:13 +02:00
\subsection { von-Neumann-Architektur} \label { sec:von_ neumann} \index { von-Neumann-Architektur}
In \autoref { fig:neumann_ architektur} wird die von-Neumann-Architektur vereinfacht dargestellt. Diese besteht aus:
2017-10-09 11:46:43 +02:00
\begin { description}
\item [Zentraleinheit (\acs{CPU})] Die CPU besteht aus:
\begin { description}
\item [Rechenwerk] Rechnen mit Zahlen und logischen Werten
2017-11-25 15:44:11 +01:00
\item [Steuerwerk] Zuständig für das Steuern und Koordinieren aller anderen Komponenten \newline
$ \Rightarrow $ Interpretation und Ausführung des (Maschinensprachen-)Programms
2017-10-09 11:46:43 +02:00
\end { description}
\item [Speicherwerk] (Hauptspeicher, Primärspeicher) \newline
2017-11-25 15:44:11 +01:00
Speichern von Informationen (sowohl Programmcode als auch Nutzdaten \textit { gleichermaßen} )
2017-10-09 11:46:43 +02:00
\item [Bus] verbindet alle Komponenten und ermöglicht den Informationsaustausch/Datenfluss zwischen ihnen.
2017-11-25 15:44:11 +01:00
\item [Eingabewerk] \enquote { Schnittstelle} für Eingabegeräte (\zB USB-Controller, S-ATA-Controller). Es ist jedoch nicht das Peripheriegerät selbst (also nicht die Tastatur) gemeint.
2017-10-26 15:34:13 +02:00
\item [Ausgabewerk] \enquote { Schnittstelle} für Ausgabegeräte (\zB Grafikkarte)
2017-10-09 11:46:43 +02:00
\end { description}
\begin { figure} [ht]
\centering
\includegraphics [width=8cm] { Bilder/Von-Neumann_ Architektur.png}
\caption { Vereinfachte Darstellung der von-Neumann-Architektur}
\label { fig:neumann_ architektur}
\end { figure}
2017-10-26 15:34:13 +02:00
\subsection { Harvard-Architektur} \label { sec:harvard} \index { Harvard-Architektur}
Die Harvard-Architektur ist ähnlich der \hyperref [sec:von_neumann] { von-Neumann-Architektur} , besitzt aber anstatt eines gemeinsamen, zwei getrennte Speicherwerke für Nutzdaten und Programmcode. Zusätzlich kann noch ein optionales zweites Eingabewerk existieren, welches nur für den Programmcode vorhanden ist. Das Speicher- und Eingabewerk für den Programmcode wird über einen zweiten Bus angebunden. \newline
Dadurch ist eine klare physikalische Trennung von Programmcode und Nutzdaten möglich. \autoref { fig:harvard_ architektur} auf der nächsten Seite zeigt die Harvard-Architektur und wie sich diese von der \hyperref [sec:von_neumann] { von-Neumann-Architektur} unterscheidet.
2017-10-09 11:46:43 +02:00
\begin { figure} [ht]
\centering
2017-10-16 18:50:52 +02:00
\begin { tikzpicture}
% 2. Bus-System
\draw [red] (-1, 2) rectangle ++(3.5, 1);
\node [red] at (0.75, 2.5) { 2. Bus System} ;
\draw [red] (0.5, 2) -- ++(0, -0.5);
\draw [red] (-1, 3.5) rectangle ++(3.5, 1.25);
\node [red, text width=3.2cm] at (0.75, 4.1) { 2. Speicherwerk für Programmcode} ;
\draw [red] (0.5, 3.5) -- ++(0, -0.5);
\draw [red, dashed] (-4, 3.5) rectangle ++(2.5, 1.25);
\node [red, text width=2.5cm] at (-2.5, 4.1) { 2. Eingabe- werk} ;
\draw [red, dashed] (-2.75, 3.5) |- ++(1.75, -1);
\node [red] at (-2.2, 2.2) { optional} ;
% CPU
\draw (-2, -1.5) rectangle ++(4,3);
\node at (0, 1) { Zentraleinheit (CPU)} ;
\draw (-1.75, -1.25) rectangle ++(1.5,1.5);
\node [text width=1.25cm] at (-1.05, -0.45) (RW) { Rechen- werk} ;
\draw (0.25, -1.25) rectangle ++(1.5,1.5);
\node [text width=1.25cm] at ([xshift=2.1cm]RW) (SW) { Steuer- werk} ;
% Bus-System
\draw (0, -1.5) -- (0, -2.5);
\draw (-2, -2.5) rectangle ++(4, -1);
\node at (0, -3) { Bus-System} ;
% Ein-/Ausgabe
\draw (-2.5, -4.5) rectangle ++(2,-2);
\draw (0.5, -4.5) rectangle ++(2,-2);
\node [text width=1.8cm] at (-1.4, -5.4) { Ein-/ Ausgabe- werk} ;
\node [text width=1.8cm] at (1.6, -5.4) { Speicher-werk \textcolor { red} { für Daten} } ;
\draw (-1.5, -4.5) -- ++(0,1);
\draw (1.5, -4.5) -- ++(0,1);
% Info Box
\draw [fill=black] (3, -5) rectangle ++(0.4,0.4);
\draw [fill=red] (3, -6) rectangle ++(0.4,0.4);
\node at (5.8,-4.8) { von-Neumann-Architektur} ;
\node at (5.3,-5.8) { Harvard-Architektur} ;
\end { tikzpicture}
2017-10-09 11:46:43 +02:00
\caption { Vereinfachte Darstellung der Harvard-Architektur}
\label { fig:harvard_ architektur}
\end { figure}
2017-10-16 18:50:52 +02:00
\subsection { Vergleich}
2017-10-26 15:51:12 +02:00
\autoref { tbl:vergleich_ vn_ hv} auf \autopageref { tbl:vergleich_ vn_ hv} vergleicht die von-Neumann-Architektur mit der Harvard-Architektur.
2017-10-16 18:50:52 +02:00
\begin { table} [h]
2017-10-26 15:51:12 +02:00
\hspace * { -5mm}
\begin { tabular} { cp{ 7.5cm} |cp{ 7.5cm} }
2017-10-16 18:50:52 +02:00
& \textbf { von-Neumann-Architektur} & & \textbf { Harvard-Architektur} \\
\midrule
$ \ominus $ & Virenanfälligkeit: Nutzdaten können als Programm ausgeführt werden
& $ \oplus $ & nahezu immun gegen unabsichtlichen Virenbefall
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
2017-11-25 15:44:11 +01:00
$ \oplus $ & universelle Programmierbarkeit \newline (\zB Compiler-Ausgabe wird als Programm ausgeführt)
2017-10-16 18:50:52 +02:00
& $ \oplus $ & keine (unbeabsichtigten oder ungewollten) Änderungen an der Betriebssoftware möglich
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
$ \oplus $ & flexible Speicheraufteilung zwischen Programmcode und Daten
& $ \ominus $ & komplexer und teurer (durch 2 Bus und ggf. 2 Eingabewerke)
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
$ \ominus $ & möglicher Flaschenhals Bus \& Speicherwerk
& $ \ominus $ & schwer update-fähig
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
$ \oplus $ & kostengünstig
& $ \oplus $ & bessere Performance möglich durch gleichzeitigen Zugriff auf beide Speicherwerke
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
&
2017-11-25 15:44:11 +01:00
& $ \ominus $ & ohne zweites Eingabewerk gibt es keine Möglichkeit anderen Programmcode auszuführen.
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
&
2017-11-25 15:44:11 +01:00
& $ \ominus $ & unflexible Aufteilung des Speichers: wenn das eine Speicherwerk voll ist, kann das andere Speicherwerk nicht genutzt werden.
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
\end { tabular}
\hspace * { -7mm}
\begin { tabular} { cp{ 7.6cm} |cp{ 7.6cm} }
\multicolumn { 4} { c} { \textbf { Einsatz} } \\
\midrule
2017-11-25 15:44:11 +01:00
\textbullet & übliche \acs { PC} -Architektur -- \enquote { Universal-PC}
2017-10-16 18:50:52 +02:00
& \textbullet & \enquote { embedded systems} (\zB in Waschmaschinen, KFZ-Elektronik, etc.)
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
&
& \textbullet & Smartphones \& Co.
2017-11-25 15:44:11 +01:00
\\ [1.5ex]
2017-10-16 18:50:52 +02:00
&
2017-10-26 15:34:13 +02:00
& \textbullet & Bestandteile von \acsp { PC} : BIOS, \acs { CPU} -Cache in modernen \acsp { CPU} (Trennung in Cache für Programmcode und Nutzdaten), NX-Flag (Non-Executable) im Hauptspeicher
2017-10-16 18:50:52 +02:00
\end { tabular}
\caption { Vergleich der von-Neumann- und Harvard-Architektur}
\label { tbl:vergleich_ vn_ hv}
\end { table}