HINTERGRUND DER ERFINDUNG:
-
Die vorliegende Erfindung betrifft eine
Datenverarbeitungstechnologie und insbesondere eine Technologie, die effektiv auf
ein Befehlssystem in einem programmgesteuerten System anwendbar
ist, zum Beispiel auf das Befehlssystem eines Mikroprozessors,
der wenigstens zwei Registergruppen aufweist.
-
Bei manchen Mikrocomputern des Z80-Typs (Zylog) sind, wie
in der Fig. 7 gezeigt, zwei Registergruppen RSA und RSB
vorgesehen, so daß unter Verwendung einer dieser Registergruppen eine
Aufgabenbearbeitung erfolgen kann. Demgemäß kann zum Beispiel,
wenn eine Aufgabe unter Verwendung der Registergruppe RSA
vollständig ausgeführt ist, die Steuerung sofort durch Ändern der
Registergruppe von RSA nach RSB zu einer anderen
Aufgabenbearbeitung übergehen, wobei die Inhalte der Register unverändert
bleiben. Um die Rückkehr zu der ursprünglichen Aufgabe zu
steuern, wenn die Aufgabenbearbeitung beendet ist, wird die
Registergruppe in RSA geändert, was es möglich macht, den
verbleibenden Inhalt des Registers zu verwenden, der mit der
ursprünglich auszuführenden Aufgabe verknüpft ist. Diese
Vorgehensweise hat folglich den Vorteil, daß keine Operationen zur
Sicherstellung von Registern erforderlich sind, wenn eine
Aufgabe geändert wird, und daß eine hohe Arbeitsgeschwindigkeit
erhalten werden kann.
-
Eine ähnliche Art eines Datenverarbeitungssystems, das die
Merkmale aufweist, die im ersten Teil des Patentanspruchs 1
genannt sind, ist in "Conference Proceedings", The 6th Annual
Symposium on Computer Architecture, 23.-25. April 1979, Seiten
137 bis 146 beschrieben.
-
Es gibt jedoch Fälle, bei denen zur Ausführung einer neuer
Bearbeitung ein Parameter zu übertragen ist, wenn die Steuerung
von der einen Aufgabenbearbeitung zur anderen
Aufgabenbearbeitung übergeht. Wie in der Fig. 7 gezeigt, entsteht dabei der
Nachteil, daß der Parameter nicht leicht übertragen werden kann,
wenn das System so gesteuert wird, daß die Registergruppe
vollständig gewechselt wird.
-
Im Gegensatz dazu ist der Computer mit verringertem
Befehlssatz (RISC), der von UC Berkeley hergestellt wird, mit
einer Anzahl von Registergruppen RSA, RSB, RSC usw. versehen,
wobei sich eine feste Anzahl von Registern gegenseitig
überlappen, wie es in der Fig. 8 gezeigt ist. Im Ergebnis können
dabei Operationen wie die Übertragung von Parametern leicht
durchgeführt werden, wenn die Steuerung auf eine Subroutine
springt. Wenn jedoch eine Anzahl von Registergruppen einander
überlappt, können die sich überlappenden Register in dem Fall
nicht verwendet werden, bei denen keine solche Operationen wie
eine Übertragung von Parametern erforderlich sind, wenn eine
Aufgabenänderung erfolgt, was daher zu dem Nachteil führt, daß
die verfügbare Anzahl von Registern begrenzt ist.
ZUSAMMENFASSUNG DER ERFINDUNG:
-
Es ist daher Aufgabe der vorliegenden Erfindung, ein
Datenverarbeitungssystem zu schaffen, bei dem die Flexibilität erhöht
ist, die bei einem Wechsel einer Anzahl von Registergruppen zur
Verfügung steht, um dadurch die Arbeitsgeschwindigkeit des
Datenverarbeitungssystems zu verbessern.
-
Diese Aufgabe wird durch das in Anspruch 1 charakterisierte
Datenverarbeitungssystem gelöst.
-
Bei dem erfindungsgemäßen Datenverarbeitungssystem, das
eine Anzahl von Registergruppen aufweist, wird ein neuer Befehl
vorgesehen, der den Inhalt eines spezifizierten Registers bei
einem Wechsel der Registergruppe zu einem Register in einer
anderen Registergruppe überträgt und der durch die Hardware
ausgeführt werden kann. Dies ermöglicht es, daß eine
Registergruppe mit oder ohne einer Übertragung eines Parameters oder
dergleichen gewechselt werden kann. Im Ergebnis kann eine
schnelle Aufgabenänderung und ein schneller Subroutinenaufruf
bewirkt werden, und es kann daher die erwähnte Aufgabe gelöst
werden, das heißt es ist die Flexibilität bei einem Wechsel der
Registergruppe verbessert und die Arbeitsgeschwindigkeit des
Systems erhöht.
KURZBESCHREIBUNG DER ZEICHNUNGEN:
-
Die vorliegende Erfindung geht aus der folgenden
Beschreibung in Verbindung mit der beiliegenden Zeichnung genauer
hervor. Es zeigen:
-
Die Fig. 1A-1G schematische Abbildungen, die
Formatbeispiele von erfindungsgemäßen Registergruppenwechselbefehlen
darstellen;
-
die Fig. 2 eine schematische Abbildung, die das
Konfigurationsbeispiel einer Registerbank für die Fig. 4-7 darstellt;
-
die Fig. 3A-3D erläuternde Abbildungen, die Operationen
mit den erfindungsgemäßen Registergruppenwechselbefehlen
darstellen;
-
die Fig. 4-6 schematische Blockschaltbilder für
Mikroprozessor-Konfigurationsbeispiele, die eine Ausführung der
erfindungsgemäßen Registergruppenwechselbefehle ermöglichen; und
-
die Fig. 7-8 erläuternde Abbildungen, die die
Registerwechselprozeduren bei einem herkömmlichen Mikroprozessor
darstellen.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN:
-
Die Fig. 1A-1G sind schematische Abbildungen, die
Formatbeispiele von erfindungsgemäßen Registergruppenwechselbefehlen
darstellen.
-
Das in der Fig. 1A gezeigte Format ist ein Format, das für
einen Befehl geeignet ist, der für den Wechsel einer
Registergruppe (im folgenden als Registerbank bezeichnet) zu einer
benachbarten Registerbank unter einer Anzahl von Registerbanken
verwendet wird. Ein Operationscode-Spezifikationsfeld OP&sub1;
enthält einen Code für das Hinauf- oder Herunterzählen einer
Registerbanknummer. Das dem Operationscode-Spezifikationsfeld
OP&sub1; folgende Feld R ist dafür vorgesehen, anzuzeigen, ob eine
Übertragung des Registerinhalts erfolgt ist oder nicht, und wird
durch ein Bit gebildet. Wenn dieses Feld R auf "0" gesetzt ist,
wenn von einer Registerbank (zum Beispiel BN&sub1;) auf die
unmittelbar vorhergehende oder folgende Registerbank BNi-1 oder BNi+1
gewechselt wird, wird die Bank gewechselt, ohne daß der Inhalt
eines der Register in der Registerbank BNi übertragen wird.
-
Andererseits wird, wenn das Feld R auf "1" gesetzt ist, bei
den Registern, die durch das Register-Spezifikationsfeld RN-list
bezeichnet sind, das dem Feld R folgt, angezeigt, daß der Inhalt
davon nach dem Wechsel der Registerbank zu den entsprechenden
Registern der Registerbank BNi-1 bzw. BNi+1 übertragen wird.
-
Es wird darüberhinaus bei dieser Ausführungsform, ohne
darauf beschränkt zu sein, angenommen, daß jede Registerbank 16
Register umfaßt, daß das Register-Spezifikationsfeld Rn-list aus
16 Bit gebildet wird, und daß das Register, zu dem der Inhalt zu
übertragen ist, gemäß der Bit-Entsprechung bestimmt werden kann.
Es wird zum Beispiel bei dem Beispiel der Fig. 1A angezeigt, daß
nach dem Wechsel der Inhalt des ersten und vierten Registers R&sub1;
und R&sub4; der verwendeten Registerbank zum ersten und vierten
Register in der Register-Bestimmungsbank zu übertragen ist.
-
Die Fig. 3A ist eine Abbildung, die den Fall zeigt, bei dem
unter Verwendung dieses Befehls die Registerbank von BN&sub1; in BN&sub2;
geändert (hinaufgezählt) wird. Es wird in diesem Fall jedoch ein
Befehl (als IBNR bezeichnet) verwendet, um die Banknummer
hinaufzuzählen. Um die Registerbank von BN&sub2; auf BN&sub1; zurückzuführen,
braucht nur ein Befehl (als DBNR bezeichnet) zum Hinabzählen der
Banknummer verwendet zu werden, wobei das Feld R und das
Register-Spezifikationsfeld Rn-list nur wie oben angegeben gesetzt
zu werden braucht.
-
Als nächstes wird das in der Fig. 1B gezeigte Befehlsformat
erläutert. Dieses Format ist für einen Befehl (als CBNR
bezeichnet) geeignet, der die verwendete Registerbank in eine
Registerbank an einer davon entfernten Stelle (d. h. nicht daran
angrenzend) ändert.
-
Dieser CBNR-Befehl ist so strukturiert, daß er zwischen dem
Feld R und dem Register-Spezifikationsfeld Rn-list des
Befehlsformates der Fig. 1A ein unmittelbare-Daten-Spezifikationsfeld
Imm aufweist, um eine Registerbanknummer des Bestimmungsortes
der Änderung anzugeben. Mit diesem CBNR-Befehl wird die
Registerbank zum Beispiel von BN&sub0; auf BN&sub2; gewechselt. Des weiteren
kann bei diesem Vorgang durch die Angabe beliebiger Register in
der Bank, zum Beispiel die in der Fig. 3B gezeigten Register R&sub1;
und R&sub4;, die Registerbank mit oder ohne einer Übertragung des
Inhaltes der Register gewechselt werden. Das Vorhandensein oder
Nichtvorhandensein der Registerübertragung wird durch die
Information im Feld R bestimmt, während der Inhalt des Befehls
durch die Information im Operations-Spezifikationsfeld OP&sub2;
festgelegt wird.
-
Obwohl darauf nicht beschränkt, wird bei dieser
Ausführungsform das unmittelbare-Daten-Spezifikationsfeld Imm aufgrund
der Beziehungen bezüglich der Operationswortlänge auf eine Länge
von 8 Bit gesetzt. Als Ergebnis können bis zu 256 Registerbanken
behandelt werden.
-
Zusätzlich wird, wenn mit einem CBNR-Befehl ein
Registerbankwechsel erfolgte, der Vorgang der Rückkehr zur
ursprünglichen Registerbank erleichtert, wenn die ursprüngliche
Registerbanknummer vor dem Wechsel in einem Stackbereich oder
dergleichen gesichert wurde. Folglich wird in einem solchen Fall mit
einem Befehl (als PBNR bezeichnet) mit einem Format, das
identisch mit dem in der Fig. 1A gezeigten Format ist, die
ursprüngliche Registerbanknummer aus dem Stack zugeführt, was es möglich
macht, die ursprüngliche Registerbank wiederzugewinnen, ohne den
oben beschriebenen CBNR-Befehl zu verwenden.
-
Als nächstes wird das in der Fig. 1C gezeigte Befehlsformat
erläutert. Dieses Format umfaßt ein
Operationscode-Spezifikationsfeld OP&sub3; und ein Register-Spezifikationsfeld Rn-list. Es
ist kein Feld R zur Anzeige, ob eine Übertragung des
Registerinhaltes erfolgt oder nicht, vorgesehen. Die Information, die
das Vorhandensein oder das Nichtvorhandensein einer Übertragung
des Registerinhaltes betrifft, ist im
Operations-Spezifikationscode OP&sub3; enthalten. Obwohl nicht darauf beschränkt, wird das
Operationscode-Spezifikationsfeld OP&sub3; aus acht Bit gebildet.
Wenn dieser Befehl ausgeführt wird, wird die Registergruppe wie
in der Fig. 3A gezeigt gewechselt.
-
Als nächstes wird das in der Fig. 1D gezeigte Befehlsformat
beschrieben. Dieses Format umfaßt ein
Operationscode-Spezifikationsfeld OP&sub4;, ein unmittelbare-Daten-Spezifikationsfeld Imm und
ein Register-Spezifikationsfeld Rn-list. Es ist kein Feld R zur
Anzeige, ob eine Übertragung des Registerinhaltes erfolgt oder
nicht, vorgesehen. Die Information, die das Vorhandensein oder
das Nichtvorhandensein einer Übertragung des Registerinhaltes
betrifft, ist im Operations-Spezifikationscode OP&sub4; enthalten.
Wenn dieser Befehl ausgeführt wird, wird die Registergruppe wie
in der Fig. 3B gezeigt gewechselt.
-
Als nächstes wird das in der Fig. 1E gezeigte Befehlsformat
beschrieben. Dieses Format umfaßt ein
Operationscode-Spezifikationsfeld OP&sub5;, ein
Übertragungs-Vorhandensein/Nichtvorhandensein-Spezifikationsfeld R, ein
unmittelbare-Daten-Spezifikationsfeld Imm, ein
Übertragungsquellenregister-Spezifikationsfeld Rn-list (Quelle) und ein Übertragungsbestimmungsregister
Spezifikationsfeld Rn-list (Bestimmung). Das Übertragungsbe-
Stimmungsregister-Spezifikationsfeld Rn-list (Bestimmung) ist
entsprechend der Anzahl der Register in der Registerbank in 16
Felder RL&sub0;-RL&sub1;&sub5; aufgeteilt. Jedem Feld der Felder RL&sub0;-RL&sub1;&sub5;
ist ein Bereich von vier Bit zugeordnet, um die Registernummer
des Übertragungs-Bestimmungsortes anzuzeigen. Zum Beispiel
bezeichnet das Feld RL&sub2; das siebente Register, das heißt das
Register R&sub7; in der Übertragungs-Bestimmungs-Registerbank. Des
weiteren bezeichnet das Feld RL&sub1;&sub5; das zwölfte Register, das
heißt das Register RL&sub1;&sub2; in der
Übertragungs-Bestimmungs-Registerbank. Die Fig. 3C ist eine Abbildung, die beispielhaft den
Fall zeigt, bei dem die Registerbank gemäß dem in der Fig. 1E
gezeigten Befehl gewechselt wird. Von den Registern in der
Registerbank BN&sub0; werden die Register R&sub2; und R&sub1;&sub5;, die zu übertragen
sind, durch die Information in dem Übertragungsquellenregister
Spezifikationsfeld Rn-list (Quelle) bezeichnet. Die Banknummer
BN&sub2; der Registerbank nach dem Wechsel wird durch die Information
im unmittelbare-Daten-Spezifikationsfeld Imm bezeichnet. Bei
Verwendung des in der Fig. 1E gezeigten Befehlsformates wird
eine Übertragung zwischen beliebigen Registern von beliebigen
Registerbanken möglich.
-
Als nächstes wird das in der Fig. 1F gezeigte Befehlsformat
beschrieben. Dieses Format umfaßt ein
Operationscode-Spezifikationsfeld OP&sub6;, ein unmittelbare-Daten-Spezifikationsfeld Imm,
ein Übertragungsquellenregister-Spezifikationsfeld Rn-list
(Quelle) und ein
Übertragungsbestimmungsregister-Spezifikationsfeld Rn-list' (Bestimmung). Anders als beim Format der Fig. 1E
ist hier das
Übertragungsbestimmungsregister-Spezifikationsfeld Rn-list' in zwei Felder RLa und RLb aufgeteilt. Jedem Feld
der Felder RLa und RLb sind vier Bit zugeordnet, um eine
Registernummer in der Registerbank nach dem Wechsel anzuzeigen.
Dieses Befehlsformat ist besonders in dem Fall effektiv, daß die
Anzahl der zu übertragenden Register auf zwei oder weniger
begrenzt ist. Dies liegt daran, daß die Gesamtbitlänge des
Befehlsformates minimal gemacht werden kann. Zum Beispiel wird das
Übertragungsbestimmungsregister-Spezifikationsfeld Rn-list
(Bestimmung) der Fig. 1E aus 64 Bit gebildet, während das
Übertragungsbestimmungsregister-Spezifikationsfeld Rn-list'
(Bestimmung) der Fig. 1F aus nur acht Bit gebildet werden kann.
Darüberhinaus ist es bei dem Format der Fig. 1F erforderlich,
daß eine Information im Operations-Spezifikationsfeld OP&sub6; zur
Bildung einer Entsprechung zwischen der Übertragungsquellen-
Registernummer und der Übertragungsbestimmungsort-Registernummer
enthalten ist. Das heißt, die Entsprechung wird derart gebildet,
daß der Übertragungs-Bestimmungsort des Registers R&sub2;, der durch
das Übertragungsquellenregister-Spezifikationsfeld Rn-list
(Quelle) angegeben wird, im Feld RLa angezeigt wird, und daß der
Übertragungs-Bestimmungsort des Register R&sub1;&sub5; durch das Register
RLb angegeben wird. Die Fig. 3C zeigt ein Beispiel für den Fall,
daß die Registerbank gemäß den in Fig. 1F gezeigten Befehl
gewechselt wird.
-
Als nächstes wird das in der Fig. 1G gezeigte Befehlsformat
beschrieben. Dieses Format umfaßt ein
Operationscode-Spezifikationsfeld OP&sub7;, ein unmittelbare-Daten-Spezifikationsfeld Imm und
ein Übertragungsquellenregister-Spezifikationsfeld Rn-list
(Quelle). Die Fig. 3D zeigt ein Beispiel für den Fall, daß die
Registerbank gemäß dem in der Fig. 1G gezeigten Befehl
gewechselt wird. Bei diesem Befehlsformat ist kein
Übertragungs-Bestimmungsort-Spezifikationsfeld vorgesehen. Wenn es Register
gibt, die bei einem Wechsel der Registerbank zu übertragen sind,
werden die Register beginnend mit dem Register R&sub0; angezeigt, das
in der neuen Registerbank BN&sub2; die kleinste Registerbanknummer
hat. Eine solche Spezifikationsfolge wird durch die Information
im Operationscode-Spezifikationsfeld OP&sub7; bestimmt.
-
Anhand der Fig. 4 erfolgt nun die Beschreibung eines
Beispieles für die Hardware-Konfiguration eines Mikroprozessors,
die die Ausführung eines Registerbank-Wechselbefehls mit dem
oben beschriebenen Format erlaubt.
-
Der Mikroprozessor dieser Ausführungsform ist mit einem
Steuerabschnitt für das mikroprogrammgesteuerte System versehen.
Das heißt, daß der LSI-Chip, der den Mikroprozessor bildet,
einen Mikro-Festwertspeicher (ROM) 2 beinhaltet, in dem ein
Mikroprogramm gespeichert ist. Auf den Mikro-ROM 2 wird mittels
eines Mikro-Adressendekoders 5 zugegriffen, um die das
Mikroprogramm bildenden Mikrobefehle aufeinanderfolgend auszulesen.
-
Die von einer Mikro-Adressengeneratorschaltung 4 auf der
Basis eines Operationscodes eines Makrobefehls, der in ein
Befehlsregister 3 eingegeben wurde, erzeugte Adresse wird dem
Mikro-Adressendekoder 5 zugeführt. Durch Dekodieren der Adresse
wird der erste Befehl einer Gruppe von Mikrobefehlen zur
Ausführung des Makrobefehles ausgelesen, und es werden dann die
Steuersignale für die Komponenten wie einer Ausführungseinheit 6 mit
verschiedenen Arbeitsregistern REG&sub1;-REGn, einem Datenpuffer
DB, einem Rechenwerk ALU und dergleichen erzeugt. Aus der Gruppe
der mit dem Makrobefehl verknüpften Mikrobefehle wird auf der
Basis der nächsten Adresse des vorhergehenden Mikrobefehles und
der Adresse von der Mikro-Adressengeneratorschaltung 4 der
zweite und folgende Mikrobefehl ausgelesen, wenn der Code im näch-
Ste-Adresse-Feld des Mikrobefehles, der vorher ausgelesen wurde,
zum Mikro-Adressendecoder 5 geführt wird. Mit den
Steuersignalen, die erzeugt werden, nachdem eine Reihe von Mikrobefehlen
ausgelesen wurden, wird die Ausführungseinheit 6 gesteuert und
zum Beispiel ein Makrobefehl wie ein Addierbefehl, der mit ADD
bezeichnet wird, ausgeführt.
-
Bei dieser Ausführungsform ist eine
Speicherzugriffs-Steuerschaltung 7 vorgesehen, die eine Funktion zur Steuerung
einer Gruppe von Allzweckregistern 12 mit 16 Registerbanken
BN&sub0;-BN&sub1;&sub5; und einer Gruppe von Steuerregistern 11 aufweist. Die
16 Registerbanken BN&sub0;-BN&sub1;&sub5; umfassen zum Beispiel jeweils,
obwohl nicht darauf beschränkt, 32-Bit-Register 0-15, wie es in
der Fig. 2 gezeigt ist. Das Steuerregister ist mit einem
Statusregister SR, einem Stackzeiger SP und einem Banknummernregister
BNR versehen, das die gerade in Gebrauch befindliche Banknummer
festhält. Bei dieser Ausführungsform wird die Gruppe von
Allzweckregistern 12 mit den Registerbanken BN&sub0;-BN&sub1;&sub5; und die
Gruppe der Steuerregister 11 aus einem Direktzugriffspeicher
(RAM) gebildet, der über einen internen Bus 10 mit einem
Datenpuffer DB in der Ausführungseinheit 6 verbunden ist.
-
Darüberhinaus weist das Befehlsregister 3 einen
First-in-First-out-(FIFO-)-Speicher auf. Der in einem externen Speicher
gespeicherte Makrobefehl wird auf einer Byte-für-Byte-Basis
ausgelesen, wenn die Speicherzugriffssteuerschaltung 7 auf einen
Adressenbus 8 zugreift, und dann wird der Makrobefehl über den
Datenbus 9 zum Befehlsregister 3 mit dem FIFO-Speicher
geliefert. Auf diese Weise wird eine Anzahl von Operationscodes und
Operanden vorab in das Befehlsregister eingegeben.
-
Wie oben beschrieben kann bei dem Mikroprozessor dieser
Ausführungsform jede Aufgabe durch Verwendung einer der 16
Registerbanken BN&sub0;-BN&sub1;&sub5; bearbeitet werden.
-
Wenn in dem Befehlsregister 3 des Mikroprozessors ein
Registerbankwechselbefehl IBNR oder DBNR wie in der Fig. 1A gezeigt
gespeichert ist, wird aus dem Mikro-ROM 2 ein entsprechender
Mikrobefehl ausgelesen. Die Speicherzugriffssteuerschaltung 7
wird durch den Mikrocode gesteuert, wenn zum Beispiel die von
der Speicherzugriffssteuerschaltung bis dahin verwendete
Registerbank BNi ist, wobei die Änderung ausgeführt wird, um die
folgende Bearbeitung anhand von BNi+1 oder BNi-1 zu bewirken.
Wenn das Bit des Feldes R für die von Rn-list bezeichneten
Register "1" ist, erfolgt eine Bearbeitung, bei der die Inhalte
der Register zu den entsprechenden Registern einer anderen Bank
oder zu dafür besonders bezeichneten Registern bewegt werden.
Darüberhinaus wird die Banknummer im Banknummernregister BNR
geändert.
-
Andererseits wird, wenn ein entsprechender Mikrobefehl
ausgelesen wird, nachdem ein Registerbankänderungsbefehl CBNR
wie in der Fig. 1B gezeigt im Befehlsregister 3 gespeichert
wurde, die vom unmittelbare-Daten-Spezifikationsfeld Imm
angegebene Registerbanknummer in das Banknummernregister BNR
eingeschrieben und damit die Banknummer geändert. Gleichzeitig werden
die angegebenen Register übertragen. Darüberhinaus wird die
Gebrauchs-Banknummer, die bisher im Banknummernregister BNR
enthalten war, zusammen mit dem Inhalt des Programmzählers und
dergleichen in einem Stackbereich des externen Speichers
gespeichert.
-
Wenn der Registerbankwechselbefehl PBNR geladen wird, wird
die gesicherte ursprüngliche Registernummer aus dem Stackbereich
ausgelesen, der durch einen Stackzeiger in der
Steuerregistergruppe 11 angezeigt wird, und in das Bankregister BNR geladen,
und gleichzeitig wird die in Gebrauch befindliche Bank in der
Allzweckregistergruppe 12 geändert, und es werden die
erforderlichen Inhalte der Register übertragen.
-
Folglich kann durch Anwendung des oben beschriebenen
Befehls CBNR, zum Beispiel bei einem Subroutinenaufruf, eine
andere Aufgabenbearbeitung dadurch ausgeführt werden, daß ein
Sprung von der Hauptroutine zu einer Subroutine mit einer
Übertragung von Daten wie von Parametern bewirkt wird; darüberhinaus
kann durch Anwendung des PBNR-Befehls die Steuerung schnell zur
ursprünglichen Position der Hauptroutine zurückgeführt werden,
um die ursprüngliche Bearbeitung weiterzuführen.
-
Die Fig. 5 ist eine schematische Abbildung, die ein anderes
Konfigurationsbeispiel für einen Mikroprozessor zeigt, der die
Ausführung des erfindungsgemäßen Registerbankwechselbefehles
ermöglicht. Der Unterschied zu dem in der Fig. 4 gezeigten
Mikroprozessor liegt in der Konfigurationseinrichtung der
Steuerregistergruppe. Die Steuerregistergruppe 11 ist bei der
Fig. 4 im RAM angeordnet, während die Steuergruppe der Fig. 5
aus einer Anzahl von Registern als zweckbestimmten Speichern
gebildet wird. Wie die Arbeitsregister REG&sub1;-REGn bei derselben
Art der Konfiguration können diese Register in der
Ausführungseinheit 6 vorgesehen sein.
-
Die Fig. 6 ist eine Abbildung, die ein weiteres
Konfigurationsbeispiel für einen Mikroprozessor zeigt, der die Ausführung
des erfindungsgemäßen Registerbankwechselbefehles ermöglicht.
Der Unterschied liegt im Vergleich zu dem Mikroprozessor der
Fig. 5 in der Konfigurationseinrichtung der Registerbanken
BN&sub0;-BN&sub1;&sub5;. Die Registerbanken BN&sub0;-BN&sub1;&sub5; sind bei
der Fig. 5 im RAM angeordnet, während die Registerbanken BN&sub0;-BN&sub1;&sub5;
bei der Fig. 6 aus einer Anzahl von Registern als zweckbestimmten Speichern
gebildet werden. Wie die Arbeitsregister REG&sub1;-REGn bei
derselben Art der Konfiguration können diese Register in der
Ausführungseinheit 6 vorgesehen sein. Durch das Anordnen der
Registerbanken BN&sub0;-BN&sub1;&sub5; in der Ausführungseinheit 6 braucht kein
Datenpuffer DB zum Festhalten der Inhalte der Registerbanken
BN&sub0;-BN&sub1;&sub5; in der Ausführungseinheit 6 vorgesehen zu werden.
Darüberhinaus ist eine Registerzugriffssteuerung 7' anstelle der
Speicherzugriffssteuerung 7 vorgesehen.
-
Zusätzlich ist der erfindungsgemäß vorgeschlagene
Registerbankwechselbefehl nicht auf die Formate der Fig. 1A-1G
beschränkt, es können zum Beispiel die Feldlängen des Register-
Spezifikationsfeldes Rn-list und des
unmittelbare-Daten-Spezifikationsfeldes Imm natürlich entsprechend der Kapazität des RAM
(12) als der Allzweckregistergruppe und der Anzahl von Registern
jeder Registerbank BNi geändert werden.
-
Erfindungsgemäß wird ein Mikroprozessor mit einer Anzahl
von Registergruppen mit einem neuen Befehl vorgesehen, der mit
einer Registerspezifikation für das Ändern einer Registergruppe
zum Übertragen des Inhaltes der Register zu einem Register in
einer anderen Registergruppe verwendet wird, wodurch der Wechsel
einer Registergruppe mit oder ohne einer Übertragung von Daten
wie Parametern erfolgen kann. Dies macht eine schnelle
Aufgabenänderung möglich und einen schnellen Subroutinenaufruf, was
dazu führt, daß die Flexibilität beim Registergruppenwechsel
verbessert und die Ausführungsgeschwindigkeit des Systems erhöht
ist.
-
Während die Erfindung des vorliegenden Erfinders konkret
mit Bezug auf die bestimmten Ausführungsformen beschrieben
wurde, wird sie nicht durch die Ausführungsformen, sondern nur
durch die anliegenden Ansprüche eingegrenzt. Zum Beispiel können
die Registerbanken BN&sub0;-BN&sub1;&sub5; so ausgebildet sein, daß sie
bezüglich des Mikroprozessors 1 extern angeordnet sind. Obwohl die
Erfindung des vorliegenden Erfinders für den Fall beschrieben
wurde, daß die Erfindung auf einen Mikroprozessor angewendet
wird, das heißt einem Anwendungsfeld, das der Hintergrund der
Erfindung ist, ist sie darüberhinaus nicht auf dieses
Anwendungsfeld beschränkt, da heißt, die vorliegende Erfindung kann
generell für ein programmgesteuertes Datenverarbeitungssystem
wie einem Computer und einem Minicomputer verwendet werden.