+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!
+
+%\subsection{Module}
+
+\begin{itemize}
+\item VGA - Ansprechen des Monitors
+\item PS/2 - Empfangen von Keyboard-Eingaben
+\item RS232 - Senden und Empfangen von Nachrichten vom/zum PC TODO. baudrate? kodierung? (8N1?)
+\item Historymodul - Verwaltung des dahinterliegenden Buffers von vergangenen Berechnungen
+\item Displaycontroller - Veranlasst das VGA Modul, einen Teil der History am Monitor anzuzeigen
+\item Parser - wertet ein gegeben Buffer aus und liefert entweder einen Fehler zurück oder gibt die einzelnen Berechnungen von je zwei Zahlen (?) an die ALU weiter
+\item Converter - konvertiert Dezimalzahlen in Binärzahlen und umgekehrt TODO oder in Parser integrieren? Oder gibt's eine Library-Funktion dafür?
+\item ALU - führt die tatsächlichen Berechnungen durch
+\item Controlmodul - soll das Bindeglied zwischen allen Modulen sein, nimmt Eingabe von PS/2 Modul oder von der Board-Paripherie entgegen, legt Berechnungen im Buffer ab, ...?
+\item Modul für die Kommunikation zum PC - sendet eine vom PC eintreffende Bufferübermittlungsanforderung an den Controller weiter und übermittelt die History an den PC
+\end{itemize}