+\begin{figure}[!ht]
+\includegraphics[width=\textwidth]{Architektur.png}
+\centering
+\caption{Die Architektur des Taschenrechners}
+\label{fig:arch}
+\end{figure}
+
+In Abbildung \ref{fig:arch} ist der Aufbau des Taschenrechners zu sehen. Der Taschenrechner besteht aus folgenden Modulen:
+
+Bla:
+
+ps/2 schickt zeichen an controller, der nimmt nur gewünschte chars und schreibt die in die history
+in die editierbare ``eingabezeile''.
+
+dann bei einem "enter" sagt er dem parser dass der was hackeln soll
+
+der holt sich selbstständig den string aus der history und analysiert ihn mal - also ob es ein gültiger string ist
+
+dann brauchen wir schleifen, eine äußere für die strichrechnung und eine innere für die punktrechnung (k.a. wie das in vhdl geht)
+
+jedenfalls müssen bei z.b. a + b * c die b*c zuerst ausgerechnet werden
+
+diese einzelnen rechnungen - also z.b. b*c - schickt der parser an die alu die das ausrechnet und dann asynchron an den parser zurückschickt - das geht so lange weiter bis der ganze string abgearbeitet ist
+
+der parser muss bei den zwischenrechnungen die zwischenergebnisse im speicher behalten
+
+wenn er fertig ist liefert er das ergebnis an die history und benachrichtigt den controller dass er fertig ist
+
+achja, die zahlen zur/von der history muss der parser zum converter schicken - das geht leider nicht als zwischenstufe zwischen parser und history weil der parser sich einen erst zu analysierenden string von der history holt - es ist auch nicht sinnvoll zwischen alu und parser, weil zwischenergebnisse nicht neu umgewandelt werden müssen
+
+der controller verursacht dann den zeilenvorschub um 2 zeilen in der history (ringpuffer, index vorandrehen). eigentlich braucht der controller dem display modul nichts mitteilen, oder?
+
+es sollte vielleicht der controller das display modul veranlasen sich die daten aus der history zu holen (könnte auch die history)
+
+TODO Module soll der Parser in einer "`Schleife"' alle Teilberechnungen an die ALU weiterleiten und zB Zwischenergebnisse speichern? Die ALU könnte dann nur 2 Zahlen addieren/bla.
+Da in der History Zahlen als Character Strings abgelegt sind müssen diese für die ALU in Binärdarstellung umgewandelt werden - und Umgekehrt natürlich!