\subsection{Einsatzgebiete und Ziele}
PowerPC wurde mit dem Ziel entwickelt m\"oglichst skalierbar und flexibel zu
sein, da die tats\"achlichen Anwendungsgebiete recht unterschiedlich sind.
-
Man findet diese Architektur daher in verschiedenen Bereichen:
\begin{description}
\item[Desktop] Apple verwendete PowerPC, aber mittlerweile von \texttt{x86}
Architektur weit mehr ist}
\item[Server] Vertreten durch beispielsweise POWER7 oder BlueGene
\end{description}
-
% What are the goals of the architecture? Performance, die area, energy
% efficiency, code size, . . . ?
-
% How are these goals reflected in the ISA?
-
-
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
\subsection{Beschreibung}
Bei den meisten Befehle der ISA handelt es sich um Register-zu-Register
-Operationen im Drei-Register Format. Jede Instruktion ist vier Byte gross.
-Durch Load bzw. Store Operationen besteht wie in jeder Load/Store-Architektur
+Operationen im Drei-Register Format. Jede Instruktion ist vier Byte gro\ss.
+Durch Load bzw. Store Operationen besteht, wie in jeder Load/Store-Architektur,
die M\"oglichkeit am Speicher zu operieren -- die Adressierungsarten sind
-hierbei \"ausserst eingeschr\"ankt: Zum Beispiel l\"adt die Instruktion
+hierbei \"au\ss erst eingeschr\"ankt: Zum Beispiel l\"adt die Instruktion
\mbox{\texttt{lwz r3,4(r1)}} den Inhalt an der Speicherstelle \texttt{r1+4} in
das Register \texttt{r3}. Weiters kann man die Basisadresse nach der
Speicheroperationen noch updaten, zum Beispiel: \texttt{stwu r3,4(r1)} speichert
den Inhalt von \texttt{r3} an die Speicherstelle \texttt{r1+4} und setzt weiters
\texttt{r1 := r1 + 4}.
-Typische Register plus Erkl\"arung die in einer PowerPC Implementierung
+Typische Register, plus Erkl\"arung, die in einer PowerPC Implementierung
vorhanden sind, findet man in Tabelle \ref{tab:ppcreg}.
\begin{table}[ht!]
\begin{tabular}{lp{3cm}p{9cm}}
rA,rS,SH,MB,ME}}, wobei \mbox{$0 \le \text{SH,MB,ME} \le 31$} gilt, nimmt den
Inhalt aus \texttt{rS} und rotiert diesen um \texttt{SH} nach links. Danach wird
auf das Ergebnis mit einer Maske verundet. Die angesprochene Maske ist 32-Bit
-gross und von der Stelle MB bis ME mit 1er und ansonsten 0er belegt. Sollte
-% TODO: gutes deutsches Wort?
-$\text{MB} > \text{ME}$ sein, so wird ``gewrappt''. Das Ergebnis wird in
-\texttt{rD} gespeichert.
+gro{\ss} und von der Stelle MB bis ME mit 1er und ansonsten 0er belegt. Sollte
+$\text{MB} > \text{ME}$ sein, so werden die Stellen ME bis MB mit 0er belegt
+und die anderen Stellen mit 1er. Das Ergebnis wird in \texttt{rD} gespeichert.
\item
\textbf{\texttt{cntlzw}}: \textit{Count Leading Zeros Word}
\item \dots{}