Information Technology Reference
In-Depth Information
In den oberen beiden Zeilen der Tabelle sind sog. Signalprozessoren , zur digitalen
Verarbeitung analoger Signale, in den unteren drei Zeilen sog. Mikrocontroller
angegeben, also Bausteine, in denen nicht nur der Prozessor, sondern ein vollständi-
ger Rechner mit Speicher und Peripherie integriert ist.
Tabelle 1.5. Registerspeichergrößen von Prozessoren mit 1-Adressarchitektur
Registeranzahl und Breite
Bitbreite
Index- bzw.
Adressregister
Arbeits-
register
unmittelbare
Operanden
kleinste
Befehle
Prozessor (Hersteller)
Akkus
2 24 Bit
8 24 Bit
DSP563xx (Motorola) [119]
-
5 - 24 Bit
24 Bit
1 32 Bit a
8 16 Bit
TMS320C5x (TI) [183, 184]
-
8 - 16 Bit
16 Bit
8 Bit b
i8051 (Intel, Siemens) [159]
1 8 Bit
1 16 Bit
8 8 Bit
8 Bit
MC68HC11 (Motorola) [129]
2 8 Bit
1 16 Bit
2 16 Bit
-
8 - 16 Bit
8 Bit
2 8 Bit
2 16 Bit c
3 20 Bit
MC68HC16 (Motorola) [121]
-
8 - 16 Bit
8 Bit
a. Neben dem Akkumulator existiert ein Akkumulator-Puffer-Register, in dem der Inhalt des
Akkumulators zwischengespeichert und dessen Inhalt direkt weiterverarbeitet werden kann.
b. Um das 16 Bit breite Indexregister DPTR zu laden, existiert ein einziger Befehl (MOV), der
auch mit 16 Bit breiten unmittelbaren Werten umgehen kann.
c. Der MC68HC16 verfügt außerdem über Spezialregister für die Multiplikation.
Prozessoren mit 1-Adressarchitektur werden oft aus Kostengründen verwendet.
Zum Beispiel kommen Mikrocontroller zur Steuerung vieler einfacher Geräte zum
Einsatz, bei denen sich geringe Einzelkosten durch hohe Stückzahlen ergeben.
Daneben haben 1-Adressarchitekturen in der Forschung einen festen Platz. So wer-
den sie von Kim und Smith für die Parallelverarbeitung auf Instruktionsebene (ILP,
instruction level parallelity) eingesetzt, um bei begrenzter Integrationsdichte eine
möglichst große Anzahl parallel arbeitender Einheiten zu realisieren [93]. Des Wei-
teren nutzen Papadopoulos und Traub, dass eine 1-Adressarchitektur nur wenige
Register besitzt und sich ein Kontextwechsel daher schneller ausführen lässt als mit
2- oder 3-Adressarchitekturen [137] (siehe auch Abschnitt 1.4.2).
Beispiel 1.10. Umsetzung von 1-Adressbefehlen in 2- bzw. 3-Adressbefehle . Genau wie 2- und 3-
Adressbefehlsfolgen ineinander überführbar sind, können natürlich auch 1-Adressbefehlsfolgen
angegeben werden, die die Funktionalität von 2- bzw. 3-Adressbefehlen besitzen. In Bild 1.17 ist
oben dargestellt, wie sich ein 2-Adressbefehl zum Inkrementieren des Inhalts der indirekt über r1
adressierten Speicherstelle um den konstanten Wert 0x1234 durch eine 1-Adressbefehlsfolge nach-
bilden lässt. Sie beginnt damit, dass der Inhalt der entsprechenden Speicherstelle indirekt zum
Indexregister r1 in den Akkumulator geladen wird (lda, load accumulator). Es schließt sich die
Addition des unmittelbaren Werts 0x1234 an, wobei mit dem Ergebnis der Akkumulatorinhalt
modifiziert und dessen Inhalt schließlich mit Hilfe einer Speichereoperation in den Hauptspeicher
übertragen wird (sta, store accumulator).
Darunter ist dargestellt, wie ein einfacher 3-Adressbefehl zur Addition von Registerinhalten
(rechts) in eine 1-Adressbefehlsfolge umgesetzt werden kann. Die 1-Adressbefehlsfolge ist ver-
gleichbar mit der zur Nachbildung eines 2-Adressbefehls, nur dass statt einer indirekten Adresse
hier auf die Inhalte der Arbeitsregister zugegriffen wird. Im Bild unten, ist schließlich dargestellt,
wie sich ein 1-Adressbefehl in 2- bzw. 3-Adressbefehle umsetzen lässt. Im Allgemeinen können
Search WWH ::




Custom Search