s3e: fix build break
[calu.git] / 1_isacmp / cmp.tex
index 51a88887dbf4fb874566cfe52f72ec6258cc8c74..bb6de5277944567415e72a55a004711fc3201d7d 100644 (file)
@@ -1,28 +1,23 @@
 \section{Vergleich}
 %``Hier vergleichen wir die verschiedene ISA's'' copyright <anonymus>\footnote{Markus Hofst\"atter}
 Bis auf die MCS-51 Architektur sind alle Architekturen RISC und Registermaschinen, MCS-51 ist CISC und Akkumulator.
-Die L\"ange der Instruktionen ist bei ARM\footnote{Mit Ausnahme des Thumb-Modes, bei diesem sind es 16-Bit pro Instruktion} und PowerPC auf 32-Bit L\"ange fixiert, SPEAR2 auf 16-Bit, bei AVR und MCS-51 koennen die Instruktionen unterschiedliche L\"angen aufwei\ss en.
+Die L\"ange der Instruktionen ist bei ARM\footnote{Mit Ausnahme des Thumb-Modes, bei diesem sind es 16-Bit pro Instruktion} und PowerPC auf 32-Bit L\"ange fixiert, SPEAR2 auf 16-Bit, bei AVR und MCS-51 k\"onnen die Instruktionen eine unterschiedliche Anzahl von Bytes aufwei\ss en.
 Bei AVR und SPEAR2 sind die meisten Instruktionen darauf ausgelegt in einem Zyklus abgearbeitet zu werden. Bei SPEAR2 ist es aber nicht garantiert das auch die Instruktionen ohne Verz\"ogerung ausgef\"uhrt werden (zum Beispiel dauert eine Instruktion nach einem Jump zwei Zyklen).
-Bei Conditional Operations reicht die Auswahl von sehr beschr\"ankt (MCS-51) bis zu fast alle Instruktionen (ARM).
+Bei Conditional Operations reicht die Anzahl und deren Umfang von sehr beschr\"ankt (MCS-51) bis zu fast alle Instruktionen (ARM).
 Als Anwendungsgebiete kann man f\"ur alle Architekturen auf jedenfall Embedded Systems angeben. ARM und PowerPC sind auch im Desktop- und Serverbereich anzutreffen.
 Die Instruktionsetgr\"o\ss e ist bei AVR und MCS-51, durch die 8-Bit bedingt, eher klein. SPEAR2 ist auch eher klein weil die urspr\"ungliche Architektur ebenfalls nur 8-Bit war. ARM und PowerPC haben, auch durch die 32-Bit L\"ange bedingt, ein gro\ss es Instruktionset.
-Das Sichern der R\"ucksprungadresse wird unterschiedlich gehandelt, AVR und MCS-51 sichern die Adresse automatisch auf den Stack. PowerPC, SPEAR2 und ARM sichern die R\"ucksprungadresse in ein Register.
-Codesize und Ausf\"uhrungszeit des Codest\"ucks \texttt{sum} sind in Tabelle \ref{cmp_tab} ersichtlich. Es ist ersichtlich das die Prozessoren mit h\"oherer Instruktionsl\"ange besser abschneiden wenn es um Codesize und Anzahl der Zyklen geht, was aber auch nicht verwundert. \\
-
-       
-\begin{table}[h]
+\lstinputlisting[caption=Compute Sum, language=C, label=list:sum]{sum.c}
+Das Sichern der R\"ucksprungadresse wird unterschiedlich gehandhabt. AVR und MCS-51 sichern die Adresse automatisch auf den Stack. PowerPC, SPEAR2 und ARM sichern die R\"ucksprungadresse in ein Register.
+Codesizes und Ausf\"uhrungszeiten des Codest\"ucks \texttt{sum} aus Listing~\ref{list:sum} sind in Tabelle~\ref{cmp_tab} ersichtlich. Es ist sofort ersichtlich das die Prozessoren mit h\"oherer Instruktionsl\"ange besser abschneiden wenn es um die Anzahl der Zyklen, und dadurch bedingt, um die Codesize geht, was aber auch nicht sehr verwunderlich ist.\\
+\begin{table}[ht]
 \begin{center}
        \begin{tabular}{|l|c|c|c|c|c|}\hline
-               Anzahl        & AVR   & ARM & PowerPC & MCS-51 & SPEAR2 \\ \hline
-               Instruktionen & 9     & 6   & 3       & 21     & 6      \\ \hline
-               Zyklen        & 13/14 & 8   & 3       & 30     & 7      \\ \hline
-               Bytes         & 18    &     & 12      & 32     & 12     \\ \hline
+               Anzahl        & ARM & AVR   & MCS-51 & PowerPC & SPEAR2 \\ \hline
+               Instruktionen & 4   & 8     & 21     & 3       & 6      \\ \hline
+               Zyklen        & 8   & 11/12 & 30     & 3       & 7      \\ \hline
+               Bytes         & 16  & 16    & 32     & 12      & 12     \\ \hline
        \end{tabular}
        \caption{Vergleich der ISAs anhand der erfassten Kennwerte}
        \label{cmp_tab}
 \end{center}
 \end{table}
-
-
-
-\huge{ARM CODESIZE FEHLT!!!}