SHELL := bash
-FILES = isa_cmp.tex 8051.tex arm.tex avr.tex common.sty Makefile ppc.tex ppc.s spear2.tex cmp.tex
+FILES = isa_cmp.tex 8051.tex 8051.s arm.tex avr.tex
+FILES += common.sty Makefile ppc.tex ppc.s spear2.tex cmp.tex
TARGET = isa_cmp.pdf
PDFGEN = pdflatex --jobname=$(basename $@) $<
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]
\begin{center}
\begin{tabular}{|l|c|c|c|c|c|}\hline
\newcommand{\allauthors}{
\author{
- \addauthor{Markus Hofst\"atter}{07xxxxx}{markus.manrow@gmx.at}\and
+ \addauthor{Markus Hofst\"atter}{0725034}{markus.manrow@gmx.at}\and
\addauthor{Martin Perner}{0725782}{e0725782@student.tuwien.ac.at}\and
- \addauthor{Stefan Rebernig}{07xxxxx}{stefan.rebernig@gmail.com}\and
+ \addauthor{Stefan Rebernig}{0726283}{stefan.rebernig@gmail.com}\and
\addauthor{Manfred Schwarz}{0725898}{e0725898@student.tuwien.ac.at}\and
\addauthor{Bernhard Urban}{0725771}{lewurm@gmail.com}
}
\textit{das} Einsatzgebiet. Im Speziellen gibt es verschiedene \textit{Books}
die unterschiedliche Bereiche abdecken und je nach den Bed\"urfnissen des CPU
Herstellers implementiert werden k\"onnen.
-Darunter fallen verschiedene Bereiche wie Floating Point, Signal Processing oder
+Darunter fallen Themen wie Floating Point, Signal Processing oder
Vector Operationen. Weiters gibt eine sogenannte Basiskategorie die von allen
Implementierung umgesetzt werden muss.
% level.
Latenzen sind auf ISA Niveau nicht sichtbar, man kann dem Prozessor aber
-Voraussagen mitteilen. Zum Beispiel, ist bei der gegebenen Funktion
+Voraussagen mitteilen. Beispielsweise ist bei der gegebenen Funktion
\texttt{sum()} die L\"ange auf Null zu pr\"ufen. Da im allgemeinen Fall ein Wert
ungleich Null erwartet wird, kann dem Sprung eine Voraussage mitteilen, wobei
\texttt{-} f\"ur Sprung wird nicht ausgef\"uhrt und \texttt{+} f\"ur das
In der Schleife werden also drei Befehle ausgef\"uhrt, wobei \texttt{lwzu} zwei
Taktzyklen ben\"otigt und \texttt{add} einen Zylus braucht. \texttt{bdnz}
braucht im allgemeinen Fall \textit{keinen} Zyklus, da die Hardware den Sprung
-schon sehr fr\"uh in der Pipeline berechnen kann. Die Codegr\"o\ss{}e der
+schon sehr fr\"uh in der Pipeline berechnen kann
+\footnote{Zyklendauer aus dem Datenblatt des PowerPC 750CXe entnommen}.
+Die Codegr\"o\ss{}e der
Schleife betr\"agt 12 Byte, da jede Instruktion 4 Byte gross ist.