From: Bernhard Urban Date: Tue, 19 Oct 2010 22:16:13 +0000 (+0200) Subject: isa_cmp: matr-nr. and minor fixes X-Git-Tag: bootrom_v1~289 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=commitdiff_plain;h=4a2da1634ef4e4ac7ec5454c4ecaa351781e5528 isa_cmp: matr-nr. and minor fixes --- diff --git a/1_isacmp/Makefile b/1_isacmp/Makefile index 7dd81a6..b88c1d6 100644 --- a/1_isacmp/Makefile +++ b/1_isacmp/Makefile @@ -1,6 +1,7 @@ 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 $@) $< diff --git a/1_isacmp/cmp.tex b/1_isacmp/cmp.tex index 51a8888..46e9199 100644 --- a/1_isacmp/cmp.tex +++ b/1_isacmp/cmp.tex @@ -9,7 +9,7 @@ Die Instruktionsetgr\"o\ss e ist bei AVR und MCS-51, durch die 8-Bit bedingt, eh 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 diff --git a/1_isacmp/common.sty b/1_isacmp/common.sty index 4e2cb15..b1449e6 100644 --- a/1_isacmp/common.sty +++ b/1_isacmp/common.sty @@ -29,9 +29,9 @@ tabsize=4 \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} } diff --git a/1_isacmp/ppc.tex b/1_isacmp/ppc.tex index ab27514..734d628 100644 --- a/1_isacmp/ppc.tex +++ b/1_isacmp/ppc.tex @@ -38,7 +38,7 @@ Die PowerPC Architektur ist also recht vielf\"altig und es gibt daher nicht \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. @@ -82,7 +82,7 @@ vorhanden sind, findet man in Tabelle \ref{tab:ppcreg}. % 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 @@ -125,6 +125,8 @@ W\"unsche: Keine. 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.