DE3932695A1 - Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ - Google Patents

Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ

Info

Publication number
DE3932695A1
DE3932695A1 DE3932695A DE3932695A DE3932695A1 DE 3932695 A1 DE3932695 A1 DE 3932695A1 DE 3932695 A DE3932695 A DE 3932695A DE 3932695 A DE3932695 A DE 3932695A DE 3932695 A1 DE3932695 A1 DE 3932695A1
Authority
DE
Germany
Prior art keywords
address
space
register
sto
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE3932695A
Other languages
English (en)
Inventor
Michitaka Yamamoto
Toshinori Kuwabara
Yoshio Oshima
Yasutaka Yamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Publication of DE3932695A1 publication Critical patent/DE3932695A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Description

Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem, in dem ein Programm bei der Ausführung parallel auf Operanden in einer Vielzahl von Räumen bzw. Speicherbereichen zugreifen kann, und insbesondere ein Datenverarbeitungssystem, das in einer Hardware einen Teil einer Ursprungsadresse einer Übersetzungstabelle abspeichert, die für die Übersetzung bzw. Umsetzung einer logischen Adresse in eine reale Adresse eingesetzt wird, so daß die Verarbeitungszeit bzw. Bearbeitungszeit zum Bestimmen der Basisadresse auf der Basis der Raumadresse verkürzt wird.
In einem bekannten Datenverarbeitungssystem, das eine virtuelle Adressierung in dem mehrfach virtuellen Speicherraum verwendet, wird ein Bereich, in dem ein Befehl eine logische Adresse durch den Einsatz eines Registers für allgemeine Zwecke bestimmen kann, als virtueller Adressenraum bzw. -bereich bezeichnet, wobei eine reale Adresse von dem System aus einem virtuellen Adreßraum und einer logischen Adresse gegeben ist. Der Vorgang zur Bestimmung der realen Adresse aus dem virtuellen Adreßraum und der logischen Adresse wird als Adreßumsetzung bezeichnet. Die Adreßumsetzung wird für jeden virtuellen Adreßraum durch Einsatz einer Adreßumsetztabelle (Segmenttabelle und Seitentabelle), die durch das System definiert ist, ausgeführt.
Die Adreßumsetztabelle ist in einem Hauptspeicher untergebracht und eine Ursprungsadresse (STO: Segmenttabellen-Ursprungsadresse) ist für jeden virtuellen Adreßraum gegeben. Die Adreßumsetzung von der logischen Adresse zu realen Adresse wird durch Abfragen der Umsetztabelle mit der Ursprungsadresse STO ausgeführt.
Desweiteren, um einen Adreßraum des mehrfach virtuellen Adreßraumes zu bestimmen, kann eine Raumadresse von einem Basisraumregister bestimmt werden, das einem Basisregister entspricht, welches bei der Berechnung der logischen Adresse des Operanden des Befehls eingesetzt wird, und die Raumadresse kann mittels solch einer Abfrage der Tabelle, die von dem System gegeben wird, bestimmt werden.
Diese bekannte Technik für ein Datenverarbeitungssystem wird in dem US- Patent 45 21 846 beschrieben.
Die oben beschriebene bekannte Technik hat einen mehrfach virtuellen Speicherraum relativ geringer Größe, der bis zu 8 Virtuell-Speicherräume hat, auf die parallel von dem Programm zugegriffen werden kann.
Das System nach dem Stand der Technik enthält acht STO-Register und die Ursprungsadressen in den STO-Registern können mit Raumbasisregistern korreliert werden, die mit den Registern für allgemeine Zwecke gepaart sind. In dem System nach dem Stand der Technik verwendet ein gewöhnlicher Befehl das Register für allgemeine Zwecke beim Berechnen der Adresse und liest die STO, die mit dem Raumbasisregler korreliert ist, bzw. diesem zugeordnet ist, von dem STO-Register, um eine Vielfachraum-Adresse zu erzeugen. Das System nach dem Stand der Technik erfordert einen Aufbau bzw. eine Konfiguration, die eine maximale Anzahl von STO′s, die von dem Programm in der Architektur zugelassen sind, in die Register oder den Speicher speichern läßt.
In einem fortschrittlicheren System nach dem Stand der Technik, wenn das Basisraumregister für den Speicherzugriff eingesetzt wird, wird ein Umsetzungspaar der Raumadresse, die vorhergehend in der Hardware gespeichert worden ist, und die STO eingesetzt.
Das System nach dem Stand der Technik wird unter Verwendung eines L- Befehls als Beispiel für einen gewöhnlichen bzw. gemeinsamen Speicherzugriffsbefehl erläutert. Der L-Befehl hat ein Format (mit RX-Format bezeichnet) wie in Fig. 1 durch 13 gezeigt. Eines von 16 Registern 11 für allgemeine Zwecke wird als ein Indexregister von 4 Bits des Indexregister-Nummernfeldes (X 2) ausgewählt und eines der Register 11 für allgemeine Zwecke wird als Basisregister von 4 Bits des Basisregister-Nummernfeldes (B 2) ausgewählt.
Der Inhalt des selekierten Indexregisters, der Inhalt des selektierten Basisregisters und der Inhalt des Versatzfeldes werden summiert und die Summe wird als logische Adresse des L-Befehls verwendet, um die Adresse in dem virtuellen Raum zu bestimmen.
Andererseits selektiert das Basisregister-Nummernfeld (B 2) des L-Befehls eines von 16 Raumregistern, die mit den 16 Registern für allgemeine Zwecke gepaart sind. Eine virtuelle Raumadresse wird von dem Inhalt des ausgewählten Raumregisters bestimmt.
Auf diese Weise werden die virtuellen Raumadresse und die logische Adresse, die von den Feldern X 2, B 2 und D 2 des L-Befehls bestimmt sind, einen Bereich des Hauptspeichers von dem System zugeordnet, und 32 Bit- Daten werden in eines der 16 Register für allgemeine Zwecke geschrieben, das von den 4 Bit des R 1-Feldes des L-Befehls von dem Bereich in dem Hauptspeicher bestimmt wird. Damit ist die Verarbeitung des L-Befehls vervollständigt.
Ein Prozeß zur Bestimmung der realen Adresse in dem Hauptspeicher aus der virtuellen Raumadresse und der logischen Adresse, die während der Ausführung des L-Befehls bestimmt wird, wird nachfolgend erläutert.
Die Raumadresse wird eingesetzt, um auf den Speicher Bezug zu nehmen, der die Umsetzungspaare der Raumadresse und der STO′s speichert, um die STO entsprechend der Raumadresse des Operanden auszulesen, um die logische Adresse des Operanden in die reale Adresse auf Basis der STO umzusetzen und auf den Pufferspeicher und den Hauptspeicher zuzugreifen. Wenn ein gewünschtes Paar der Raumadresse und der STO nicht in dem Umsetzungspaarspeicher der Raumadressen und der STO′s gespeichert ist, wird von der Hardware auf die Raumadressen-Umsetzungstabelle in dem Hauptspeicher zugegriffen, um die STO zu bestimmen. Danach wird auf den Pufferspeicher und den Hauptspeicher zugegriffen. In dem oben beschriebenen bekannten System ist ein Prozeß zur Bestimmung der STO aus der neuen Raumadresse (die als Raumadreß-Umsetzung bezeichnet wird) während des Prozesses erforderlich, und zwar von der Operandenadressen-Berechnung des Befehls bis zum Operandendatenholen. Wenn die Architektur das Zugreifen von einem oder mehreren Programmen auf eine Anzahl von virtuellen Räumen zuläßt, müssen die STO-Register oder der STO-Umsetzungspaarspeicher von umfangreicher Hardware sein, was zu einer Erhöhung der Gesamthardware führt, die die Berechnung der Befehlsoperandenadresse bis zum Holen oder Operandendaten (im weiteren als Operandenholeinheit bezeichnet) ausführt. Als Ergebnis wird die Leistungsfähigkeit des Datenverarbeitungssystems herabgesetzt.
Eine Aufgabe der vorliegenden Erfindung besteht darin, die Probleme, die in den Systemen nach dem Stand der Technik auftreten, zu lösen und ein Datenverarbeitungssystem zu schaffen, das den Hardwareaufbau für die Basisregisterbestimmung des Befehls bis zur Bestimmung der STO hin vereinfacht, das die Hardwareerweiterung der Operandenholeinheit reduziert und das die Verschlechterung der Leistungsfähigkeit aufgrund des Zulassens des mehrfachen Raumzugriffs reduziert.
In dem System nach dem Stand der Technik wird ein Befehl zur Modifizierung des Inhalts des Raumregisters (im nachfolgenden als SGRM-Befehl bezeichnet) erzeugt und der Zugriff auf mehrere virtuelle Räume wird durch Ändern des Inhalts des Raumregisters erlaubt.
Ein Format des SGRM-Befehls wird in Fig. 1 gezeigt. In dem SGRM-Befehl werden Register für allgemeine Zwecke durch X₂ und B₂ bestimmt und die Inhalte der zwei bestimmten Register für allgemeine Zwecke und der Inhalt des D₂-Feldes werden summiert. Die Summe wird als logische Adresse des Operanden verwendet, die die Daten 3 im Hauptspeicher bestimmt. Die als Operand bestimmter Daten 3 werden in das durch R 1 bestimmte bzw. gezeichnete Raumregister geschrieben. Damit ist die Verarbeitung des Befehls komplett bzw. beendet.
Die Raumadresse, die den neuen Raum bestimmt, wird in dem Raumregister von dem SGRM-Befehl gesetzt. Wenn das Raumregister, das von dem SGRM- Befehl modifiziert wird, von einem nachfolgenden Befehl verwendet wird, um die Operandenadresse zu bestimmen, wird das Zugreifen von der neuen Raumadresse ausgeführt.
Entsprechend, wenn das Zugreifen auf einen anderen virtuellen Raum durch Einsatz des Raumregisters ausgeführt werden muß, wird das Setzen des Raumregisters vor dem tatsächlichen Zugreifen bzw. dem eigentlichen Zugreifen ausgeführt.
Gemäß der vorliegenden Erfindung, und zwar um die Probleme der Verschlechterung der Leistungsfähigkeit zu lösen, wird anstatt der Umsetzung der Raumadresse in die STO durch Verwendung eines gewöhnlichen Befehls, diese vorhergehend in die STO durch den Raumbasisregister-Modifizierungsbefehl umgesetzt, der den SGRM-Befehl verwendet, und das Ergebnis wird verwendet für die Verarbeitung beginnend mit der Operandenadreß-Berechnung des Befehls bis zum Operandendatenholen.
Gemäß der vorliegenden Erfindung müssen eine komplexe Hardware zur Umsetzung von der Raumadresse in die STO, der Speicher für das Speichern der Umsetzungspaare der Raumadressen und der STO′s und die Wiedergewinnung der Umsetzungspaare nicht der Hardware der Operandenholeinheit zuaddiert werden. Dementsprechend wird die Verschlechterung der Leistungsfähigkeit mit weniger Hardware reduziert.
Gemäß der vorliegenden Erfindung wird die Raumadreß-Umsetzung nicht durch das Operandenholen des gewöhnlichen Befehls durchgeführt, sondern durch die Ausführung eines bestimmten Raumtbasisadressen-Modifizierenden- Befehls. Zum Beispiel wird für einen SGRM-Befehl das Raumadressenlesen für jeden Operanden in die Raumadresse nach dem Operandenholen des SGRM- Befehls umgesetzt und das Ergebnis wird in der Operandenholeinheit gespeichert und für das Operandenholen des gewöhnlichen Befehls eingesetzt.
Andererseits wird in einem herkömmlichen System die Ausführung des SGRM- Befehls beendet, wenn die Raumadresse, die aus dem Speicher gelesen worden ist, in das Raumbasis-Register geladen wird, wie sie ist. In der vorliegenden Erfindung wird die Befehlsausführungszeit bzw. Ausführungsleistungsfähigkeit für den SGRM-Befehl geringer sein, da die Raumadressen-Umsetzung oder das Abfragen der Umsetzungspaare der Raumadressen und der STO′s hinzukommt.
Jedoch, da die Auftrittsfrequenz des SGRM-Befehls in dem Programm geringer ist als die von gewöhnlichen Befehlen, wird die Ausführungszeit in der vorliegenden Erfindung verbessert im Vergleich zu dem System nach dem Stand der Technik, und zwar dadurch, daß die Anzahl der Male der Raumadreß- Umsetzung die gleiche ist in der vorliegenden Erfindung und dem Stand der Technik, und zwar so lange, wie die Struktur und die Größe der Umsetzungspaare der Raumadressen und der STO′s gleich sind.
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung werden im nachfolgenden im Zusammenhang mit den Zeichnungen erläutert. Es zeigt
Fig. 1 ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung, und
Fig. 2 ein Blockdiagramm für eine andere Ausführungsform der vorliegenden Erfindung.
Eine Ausführungsform des Datenverarbeitungssystems der vorliegenden Erfindung wird nachfolgend mit Bezug auf die Zeichnungen erläutert.
Fig. 1 zeigt ein Blockdiagramm der Ausführungsform der vorliegenden Erfindung. Es enthält Abschnitte, die notwendig sind für die Ausführung des SGRM-Befehls und die Bestimmung der realen Adresse beim Operandendatenholen des gewöhnlichen Befehls. Fig. 1 zeigt einen Hauptspeicher 2, einen Detektor 5, eine Raumadreß-Umsetzungseinrichtung 6, Register 11 für allgemeine Zwecke (GPR), Raumregister (STON) 12, Ursprungsadreß-Register (STO) 18, einen Adressenberechner 20 und eine Umsetzungseinrichtung 23 für logische Adressen.
Der SGRM-Befehl, der ein nicht priviligierter Befehl ist, wird in dem Register 1 gesetzt und hat ein Befehlsformat, wie gezeigt. Ein Bereich 3 in dem Hauptspeicher 2 wird bestimmt durch zweite Operandenbestimmfelder X 2, B 2 und D 2, um die zweiten Operandendaten zu holen. Die geholten, zweiten Operandendaten werden als eine virtuelle Raumadresse eingesetzt. Sie werden dem Detektor 5 über die Signalleitung 4 zugeführt. Andererseits werden die Ursprungsadressen STO der logischen Adreßumsetzung des virtuellen Raumes in jedem der 32 STO-Register 18 gespeichert. Die virtuellen Raumadressen und die Programm-ID′s, die den 32 STO′s entsprechen, werden in dem Detektor 5 gehalten. Der Detektor 5 ist somit mit einer Einrichtung zum Speichern der Raumadressen und der STO′s nach der Umsetzung versehen.
Die virtuelle Raumadresse, die dem Detektor 5 zugeführt wird und den zweiten Operandendaten des SGRM-Befehls entspricht, wird von dem Detektor 5 mit den 32 virtuellen Raumadressen verglichen, die in dem Detektor 5 festgehalten sind, und wenn es eine übereinstimmende virtuelle Raumadresse gibt, erzeugt der Detektor 5 die entsprechende bzw. zugeordnete STO- Registernummer in den STO-Registern 18 auf einer Signalleitung 9. Die STO-Registernummer, die auf der Signalleitung 9 ausgegeben wird, wird dem STON-Registern 12 zugeführt, die 16 STON-Register umfassen, und sie wird in eines der 16 STON-Register eingeschrieben, das durch 4 Bit des R 1-Feldes des SGRM-Befehls bestimmt wird, der über die Signalleitung 8 gesendet wird.
Die virtuelle Raumadresse, die dem Detektor 5 zugeführt wird, wird mit den 32 virtuellen Raumadressen verglichen, die im Detektor 5 in dem oben genannten Prozeß festgehalten sind, und wenn eine übereinstimmende virtuelle Adresse nicht gegeben ist, aktiviert der Detektor 5 die Raum-Umsetzungseinrichtung 6 über die Signalleitung 7, um die Raumadresse in die STO-Adresse umzusetzen. Die Raumadreß-Umsetzungseinrichtung 6 sendet die STO zu den STO-Registern 18, die 32 STO-Register umfassen, und zwar über die Signalleitung 17, und wählt ebenfalls ein STO-Register aus, in dem die neue STO registriert werden soll, und zwar aus den STO-Registern 18, und überträgt die STO-Registernummer zu den STO-Registern 18 über die Signalleitung 10 und registriert die umgesetzte STO in dem STO-Register entsprechend der ausgewählten Registrations-STO-Registernummer.
Die Registrations-STO-Registernummer, die auf der Signalleitung 10 ausgegeben wird, wird ebenfalls dem Detektor 5 zugeführt, der die virtuelle Raumadresse registriert, die dem zweiten Operandendaten des SGRM-Befehls bei der virtuellen Raumadresse in dem Detektor 5 entsprechend dem STO-Register ist, das die Registrations-STO-Registernummer hat. Die Registrations- STO-Registernummer auf der Signalleitung 10 wird ebenfalls den STON- Registern 12 zugeführt und sie wird in dem STON-Register registriert, das die Nummer hat, die von dem R 1-Feld des SGRM-Befehls bestimmt worden ist, das auf der Signalleitung 8 zugeführt wird.
Die Ausführung des SGRM-Befehls ist damit beendet. In der vorliegenden Erfindung ist es möglich, die virtuellen Raumadressen entsprechend den 16 Registern 11 für allgemeine Zwecke zu ändern, die als Basisregister eingesetzt sind, indem der SGRM-Befehl ausgeführt wird. Damit wird ein mehrfach virtuelles Adressieren erreicht.
Das Zugreifen auf den mehrfach virtuellen Raum durch Verwendung des Basisfeldes B 2 des gewöhnlichen Befehls wird nachfolgend erläutert.
Der gewöhnliche Befehl ist in dem Befehlsregister 13 gesetzt. In der vorliegenden Erfindung wird davon ausgegangen, daß ein Befehl vom RX-Typ, z. B. ein L-Befehl, in dem Befehlsregister gesetzt ist, und daß eine Adresse berechnet wird, um den Operanden zu holen.
Die Inhalte des B 2-Feldes und des X 2-Feldes des Befehls in dem Befehlsregister 13 werden den Registern 11 für allgemeine Zwecke zugeführt, und zwar über die Signalleitungen 14 und 15, und ein einziges Register für allgemeine Zwecke wird ausgewählt für jedes dieser Felder. Die Inhalte der Register, die von den jeweiligen Feldern ausgewählt wurden, und der Inhalt des D 2-Feldes des Befehls, das über die Signalleitung 16 zugeführt wird, werden dem Adreßberechner 20 zugeführt, der eine logische Ausführungsadresse berechnet, die eine Adresse in dem virtuellen Raum ist, und der die logische Ausführungsadresse der Umsetzungseinrichtung 23 für die logische Adresse über die Signalleitung 21 zuführt.
Desweiteren wird die STO-Registernummer, die in einem der STON-Register 12, das dem Register für allgemeine Zwecke zugeordnet ist, welches von dem B 2-Feld des Befehls ausgewählt worden ist, gehalten wird, gelesen und die STO-Registernummer wird den STO-Registern 18 über die Signalleitung 19 zugesendet. Eines der STO-Register 18 wird ausgewählt und die STO wird aus dem selektierten STO-Register gelesen und der Umsetzungseinrichtung für die logische Adresse 23 über die Signalleitung 22 zugeführt.
Die logische Adreß-Umsetzungseinrichtung 23 erzeugt eine Realadresse auf Basis der logischen Eingangsausführungsadresse und der STO und führt die reale Adresse der Signalleitung 24 zu. Die reale Adresse wird zum Pufferspeicher und zum Hauptspeicher (nicht gezeigt) über die Signalleitung 24 zugeführt, und zwar zum Einsatz beim Operandenholen.
Wie oben beschrieben, kann der Operand des gewöhnlichen Befehls exakt aus dem virtuellen Raum der Raumadresse in den Raumregister entsprechend der Nummer des Basisregisters gehoht werden.
Fig. 2 zeigt ein Blockdiagramm einer anderen Ausführungsform.
In der Ausführungsform ist, um die Geschwindigkeit der Umsetzung der virtuellen Raumadresse in die Ursprungsadresse (STO) für die logische Adreßumsetzung des virtuellen Raumes zu erhöhen bzw. schneller zu machen, der Raumadreß-Umsetzpuffer 104 vorgesehen, um das Paar von virtueller Raumadresse und Ursprungsadresse (STO) nach der Raumadreß-Umsetzung zu speichern.
Wenn der SGRM-Befehl ausgeführt wird, wird der Raumadreß-Umsetzpuffer von der Raumadresse abgefragt, und wenn es ein gewünschtes Umsetzpaar gibt, wird die STO in das STO-Register geschrieben, das von dem R 1-Feld des SGRM-Befehls bestimmt ist. Wenn es kein gewünschtes Umsetzpaar gibt, wird das die STO beeinflussende Zeichen (flag) 107, das dem STO-Register zugeordnet ist, ungültig und wenn dieses STO-Register bei der Bestimmung der Raumadresse eines nachfolgenden Befehlsoperanden eingesetzt ist, wird die Raumadreß-Umsetzungseinrichtung 111 aktiviert und die gewünschte STO wird bestimmt, indem die Raumadreß-Umsetztabelle in dem Hauptspeicher abgefragt wird.
Fig. 2 zeigt einen Hauptspeicher 102, Raumregister 103, einen Raumadreßpuffer 104, Register 106 für allgemeine Zwecke, Ursprungsadreß-Register (STO) 114, Ursprungsadreß-Beeinflussungszeichen 107, einen Adressenberechner 108 und eine Umsetzungseinrichtung (109) für logische Adressen.
Der SGRM-Befehl bestimmt einen Bereich 110 in dem Hauptspeicher 102 mittels der zweiten Operandenfelder X 2, B 2 und D 2, um den zweiten Operanden zu holen, wie es auch in der ersten Ausführungsform gemacht wird. Die geholten zweiten Operandendaten werden eingesetzt als eine virtuelle Raumadresse und sie werden in das Raumregister 103 geschrieben, das mittels dem R 1-Feld des SGRM-Befehls bestimmt wird, und zwar über die Signalleitung 112. Die zweite Operandendaten werden ebenfalls dem Raumadressen- Umsetzpuffer 104 zugeführt.
Desweiteren, wie oben beschrieben, wird der Raumadressen-Umsetzpuffer 104 mit einer Einrichtung zum Speichern der Paare der virtuellen Raumadressen und der umgesetzten STO′s und mit Einrichtungen zum Vergleichen einer gegebenen virtuellen Raumadresse mit den gespeicherten virtuellen Raumadressen versehen, um zu bestimmen, ob sie in dem Puffer gespeichert ist, und wenn sie gespeichert ist, die umgesetzte STO aus der gegebenen virtuellen Raumadresse auszulesen.
Die virtuelle Raumadresse, die dem Raumadreß-Umsetzpuffer 104 zugeführt wird, die die zweiten Operandendaten des SGRM-Befehls sind, wird mit den virtuellen Raumadressen verglichen, die in dem Raumadreß-Umsetzpuffer 104 gespeichert sind, und wenn es eine übereinstimmende virtuelle Raumadresse gibt, überträgt der Raumadreß-Umsetzpuffer die umgesetzte STO auf die Signalleitung 113 und setzt das Beeinflußungszeichen (Effective Flag) der STO auf "1" und gibt es auf die Signalleitung 115 aus.
Die STO, die auf der Signalleitung 113 ausgegeben wird, wird den STO- Registern 114 zugeführt, die 16 STO-Register umfassen, und wird in eines der 16 STO-Register 114 eingeschrieben, das mittels des R 1-Feldes des SGRM-Befehls bestimmt wird, das über die Signalleitung 116 zugeführt wird. Das Beeinflussungszeichen des STO, das auf der Signalleitung 115 ausgegeben wird, wird den 16 STO-Beeinflussungszeichen zugeführt und eines der 16 STO-Beeinflussungszeichen, das mittels des R 1-Feldes des SGRM-Befehls bestimmt wird, das über die Signalleitung 116 ausgegeben wird, wird auf "1" gesetzt. Damit ist die Ausführung des SGRM-Befehls beendet.
In dem oben beschriebenen Prozeß wird die virtuelle Raumadresse, die dem Raumadreß-Umsetzpuffer 104 zugeführt worden ist, mit den virtuellen Raumadressen, die in dem Puffer gespeichert sind, verglichen und, wenn es eine übereinstimmende virtuelle Adresse in diesem nicht gibt, setzt der Raumadreß- Umsetzpuffer 104 das Beeinflussungszeichen der STO auf "0" und es wird auf die Signalleitung 115 ausgegeben.
Das Beeinflussungszeichen der STO, das auf der Signalleitung 115 ausgegeben wird, wird den 16 STO-Beeinflussungszeichen zugeführt und eines der 16 Beeinflussungszeichen, das von dem R 1-Feld des SGRM-Befehls bestimmt wird, das über die Signalleitung 116 ausgegeben wird, wird auf "0" gesetzt. Damit ist die Ausführung des SGRM-Befehls beendet.
In der vorliegenden Ausführungsform, und zwar wenn die STO entsprechend der virtuellen Raumadresse, die den zweiten Operandendaten des SGRM- Befehls entspricht, in dem Raumadreß-Umsetzspeicher abgespeichert worden ist, wird die notwendige STO in dem STO-Register gehalten, das von dem R 1-Feld des SGRM-Befehls bestimmt worden ist, und wenn dieses STO- Register beim Operandenholen des nachfolgenden Befehls bestimmt ist, wird die STO direkt auf der Basis des Basisfeldes (B 2) des Befehls ohne die Raumadreß-Umsetzung bestimmt, so daß der Zugriff auf den gewünschten virtuellen Raum erreicht wird.
Andererseits, wenn die STO, die der virtuellen Raumadresse zugeordnet ist, die den zweiten Operandendaten des SGRM-Befehls entspricht, nicht in den Raumadreß-Umsetzpuffer gespeichert worden ist, gibt es keine gewünschte STO in dem STO-Register, das von dem R 1-Feld des SGRM-Befehls bestimmt worden ist. Wenn dieses STO-Register von dem Basisfeld (B 2) des Befehls bestimmt bzw. angesprochen wird, wenn der Operand des nachfolgenden Befehls geholt wird, wird die STO durch die Raumadreß-Umsetzung durch Bezugnahme auf die Raumadreß-Umsetztabelle in dem Hauptspeicher bestimmt, so daß der Zugriff auf den gewünschten virtuellen Raum erreicht wird.
Das mehrfach virtuelle Raumzugreifen durch den nachfolgenden Befehl nach der Ausführung des SGRM-Befehls wird nachfolgend erläutert.
Im allgemeinen ist der Befehl in den Befehlsregister 105 gesetzt. In der vorliegenden Ausführungsform wird ein Befehl von RX-Typ, z. B. der L-Befehl, eingesetzt für Erläuterungszwecke.
Der L-Befehl wird aus dem Hauptspeicher geholt und in das Befehlsregister 13 gesetzt. Die Inhalte des B 2-Feldes und des X 2-Feldes des L-Befehls in dem Befehlsregister 13 werden den Registern für allgemeine Zwecke über die Signalleitungen 117 und 118 zugeführt und eines der Register für allgemeine Zwecke wird für jedes Feld ausgewählt. Die Inhalte der Register, die von den jeweiligen Feldern ausgewählt worden sind und der Inhalt des D 2-Feldes des Befehls werden dem Adreßberechner 108 zugeführt, der eine logische Adresse berechnet, die eine Adresse in dem virtuellen Raum ist, und gibt sie an die Umsetzeinrichtung 109 für die logische Adresse aus, und zwar über die Signalleitung 120.
Andererseits wird eines der STO-Register und eines der STO-Beeinflussungszeichen, das dem Register für allgemeine Zwecke zugeordnet ist, ausgewählt und zwar von dem B 2-Feld des Befehls, und diese werden der Umsetzeinrichtung 109 für die logische Adresse über die Signalleitung 121 und 122 zugeführt.
Wenn das STO-Beeinflussungszeichen, das über die Signalleitung 122 zugeführt worden ist, "1" ist, erzeugt die Umsetzeinrichtung 109 für logische Adressen eine reale Adresse auf der Basis der STO, die über die Signalleitungen 121 und 120 zugeführt wird, und der logischen Adresse, und gibt die reale Adresse auf der Signalleitung 123 aus. Die reale Adresse wird dem Pufferspeicher und dem Hauptspeicher (nicht gezeigt) über die Signalleitung 123 zugeführt, und zwar zum Einsatz beim Operandenholen.
Wenn das STO-Beeinflussungszeichen, das der Umsetzeinrichtung 109 für logische Adressen zugeführt worden ist, gleich "0" ist, wird das Aktivierungssignal für die Raumadreß-Umsetzung der Raumadreß-Umsetzeinrichtung 111 über die Signalleitung 124 zugeführt.
Wenn die Raumadreß-Umsetzeinrichtung das Aktivierungssignal für die Raumadreß-Umsetzung über die Signalleitung 124 erhält, gibt die das B 2-Feld des Befehls über die Signalleitung 117 aus.
Das B 2-Feld des L-Befehls zeigt die Raumregister-Nummer an, die von dem L-Befehl eingesetzt wird, und die die Nummer des Raumregisters ist, das die Raumadresse durch das Aktivierungssignal für die Raumadreß-Umsetzung erfordert.
Die Raumadreß-Umsetzeinrichtung 111 gibt die Raumregister-Nummer, die über die Signalleitung 117 an die Raumregister geleitet wird, über die Signalleitung 126 aus.
Von den Raumregistern wird ein Raumregister durch die Raumregister-Nummer ausgewählt, die über die Signalleitung 126 angelegt worden ist, und sendet sie zu der Raumadreß-Umsetzeinrichtung für die Signalleitung 127.
Die Raumadreß-Umsetzeinrichtung empfängt die Raumadresse, die umgesetzt werden soll, über die Signalleitung 127 und führt die Raumadreß-Umsetzung durch, indem von der Raumadreß-Umsetztabelle in dem Hauptspeicher (nicht gezeigt) Gebrauch gemacht wird, und gibt das Ergebnis auf der Signalleitung 125 aus. Der Raumadreß-Umsetzspeicher 104 empfängt die STO, die durch die Raumadreß-Umsetzung bestimmt worden ist, und die zugeordnete Raumadresse über die Signalleitungen 125 und 127 und speichert das Umsetzpaar in den Raumadreß-Umsetzpuffer ab.
Die STO, die von der Raumadreß-Umsetzung bestimmt worden ist, die auf der Signalleitung 125 zugeführt wird, und die Raumregister-Nummer, die auf der Signalleitung 126 zugeführt wird, werden den STO-Registern zugeführt und die STO, die mittels der Raumadreß-Umsetzung bestimmt worden ist, wird in das STO-Register eingeschrieben, das von der Raumregister-Nummer ausgewählt worden ist.
Das STO-Beeinflussungszeichen, das dem STO-Register zugeordnet ist, welches von der Raumregister-Nummer ausgewählt worden ist, wird auf "1" gesetzt.
Danach beginnt der Prozeß von neuem, und zwar mit Holen des L-Befehls, und ein ähnlicher Vorgang, wie der oben beschriebene, wird ausgeführt, nachdem der L-Befehl in dem Befehlsregister gesetzt worden ist.
Während dieses Prozesses ist das STO-Beeinflussungszeichen, das der Umsetzeinrichtung für die logische Adresse zugeführt wird, und zwar über die Signalleitung 122, gleich "1", so daß die Raumadreß-Umsetzung nicht wieder gestartet wird durch die zweite logische Adreßumsetzung und die zugeordnete Realadresse wird durch die logische Adreßumsetzung bestimmt.
In den hier erläuterten Ausführungsformen kann die STO direkt auf Basis der Basisregisternummer des Befehls bestimmt werden, wenn der Operand des gewöhnlichen Befehls geholt wird. Deshalb ist die Hardware einfacher bzw. weniger aufwendig und die Holzeit der Operandendaten ist verkürzt.
Die Feststellung bzw. Erkennung des Umsetzpaares in dem Detektor in der ersten Ausführungsform und in dem Raumadreß-Umsetzpuffer in der zweiten Ausführungsform wird nur durch den Vergleich der Raumadressen bewirkt. Tatsächlich kann jedoch der Wunsch bestehen, das Umsetzpaar nach Ingangsetzen des Programms festzuhalten. In der vorliegenden Erfindung kann eine Programmnummer zum Identifizieren des Programms, z. B. eine Ursprungsadresse der Raumadreß-Umsetztabelle, gespeichert werden als ein Teil der Umsetzpaare, und zwar zum Einsatz beim Vergleich der Umsetzpaare.
In der zweiten Ausführungsform, wenn das Raum-Basis-Register modifiziert werden soll, wird die neue STO durch Bezugnahme auf die Umsetzpaare der Raumadressen und der STO′s registriert. Tatsächlich gibt es einen anderen Fall, wo die STO, die dem Raum-Basis-Register zugeordnet ist, wieder registriert wird, wenn ein Befehl zum Löschen des Umsetzpaares, z. B. eine Rücksetzoperation oder eine Interrupt-Operation ausgeführt wird.
In dem ersten Ausführungsbeispiel ist der Detektor mit einer Einrichtung zum Speichern der Raumadressen für die STO′s versehen, d. h., für die Paare aus Raumadressen und den umgesetzten STO′s. Alternativerweise können solche Paare in einem Hilfsspeicher in den Befehlsprozessor festgehalten werden.
In diesem Fall sind zusätzlich vorgesehen ein Register zum Registrieren eines der Paare der Raumadressen und der STO′s, ein Register zum Registrieren der Basis-Registernummer, die das Umsetzpaar bestimmt und ein Zeichen zum Anzeigen, ob die Inhalte der Register gültig sind oder nicht. Wenn der Inhalt des Raumregisters aktualisiert werden soll, werden die Umsetzpaare der Raumadressen in dem Hilfsspeicher gespeichert und die Basis-Registernummer und das Umsetzpaar der Raumadressen werden in diesen zwei Registern gesetzt. Das Beeinflussungszeichen wird auf "1" gesetzt und die Bezugsnahme auf den Hauptspeicher durch die Basis-Registernummer wird durch diese beiden Register bewirkt.

Claims (2)

1. Datenverarbeitungssystem vom Mehrfach-Virtuell-Raumadressierungs-Typ, das aufweist:
Register (11) für allgemeine Zwecke, die durch einen Befehl als Basisregister eingesetzt werden;
Raumregister (12), die den Registern für allgemeine Zwecke zugeordnet sind;
wobei auf eine Vielzahl von virtuellen Räumen zugegriffen wird, indem die Inhalte der Raumregister als virtuelle Raumadressen bei der Adreßberechnung eingesetzt werden, und die virtuelle Raumadresse wird in eine Raumadresse umgesetzt, um eine Ursprungsadresse für die Realadreß- Umsetzung des virtuellen Raumes zu bestimmen, und wobei die Realadreß-Umsetzung bewirkt wird, indem die Ursprungsadresse verwendet wird,
wobei das Datenverarbeitungssystem weiterhin aufweist;
eine Vielzahl von Ursprungsadreßregistern zum Lesen von zugeordneten Ursprungsadressen, und zwar auf der Basis der Basisregisternummern;
eine Einrichtung (5) zum Speichern von Paaren von Raumadressen und Raumadressen umgesetzten Ursprungsadressen;
eine Einrichtung (5) zum Detektieren, ob das Umsetzpaar der Raumadresse für eine gegebene Raumadresse gespeichert ist,
wobei, wenn ein Befehl zum Modifizieren des Inhalts des Raumregisters auszuführen ist, die Umsetzpaare der Raumadressen und der Ursprungsadressen durch die Raumadress-Umsetzung abgefragt werden, indem die Raumadresse, die in das Raumregister geschrieben ist, eingesetzt wird, und wenn es ein Umsetzpaar gibt, die Ursprungsadresse dieses Umsetzpaares in dem Ursprungsadreßregister registriert wird, und wenn es kein Umsetzpaar gibt, die Raumadreß-Umsetzung bewirkt wird und die resultierende Ursprungsadresse wird in dem Ursprungsadressenregister registriert.
2. Datenverarbeitungssystem nach Anspruch 1, gekennzeichnet durch
einen Hilfsspeicher in einem Befehlsprozessor zum Halten der Paare der Raumadressen und der Raumadressen umgesetzten Ursprungsadressen,
ein Register zum Speichern eines der Paare der Raumadressen und der Raumadressen umgesetzten Ursprungsadressen,
ein Register zum Registrieren einer Basisregisternummer, um das Umsetzpaar zu bestimmen, und
Zeichen zum Anzeigen, ob diese Register gültig sind oder nicht,
wobei, wenn der Inhalt des Raumregisters zu aktualisieren ist, das Umsetzpaar der Raumadresse in dem Hilfsspeicher registriert wird, und die Basisregisternummer und das Umsetzpaar der Raumadresse werden in den Registern gesetzt und die Zeichen werden gesetzt, um wirksam anzuzeigen, und Bezug auf den Hauptspeicher durch die Basisregisternummer wird durch diese Register bewirkt.
DE3932695A 1988-09-30 1989-09-29 Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ Ceased DE3932695A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24439888 1988-09-30

Publications (1)

Publication Number Publication Date
DE3932695A1 true DE3932695A1 (de) 1990-04-05

Family

ID=17118077

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3932695A Ceased DE3932695A1 (de) 1988-09-30 1989-09-29 Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ

Country Status (2)

Country Link
US (1) US5226132A (de)
DE (1) DE3932695A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995765A (zh) * 2022-06-06 2022-09-02 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
US5649140A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation System for use in translating virtual addresses into absolute addresses
US5680578A (en) * 1995-06-07 1997-10-21 Advanced Micro Devices, Inc. Microprocessor using an instruction field to specify expanded functionality and a computer system employing same
US5768574A (en) * 1995-06-07 1998-06-16 Advanced Micro Devices, Inc. Microprocessor using an instruction field to expand the condition flags and a computer system employing the microprocessor
US5822778A (en) * 1995-06-07 1998-10-13 Advanced Micro Devices, Inc. Microprocessor and method of using a segment override prefix instruction field to expand the register file
US5819080A (en) * 1996-01-02 1998-10-06 Advanced Micro Devices, Inc. Microprocessor using an instruction field to specify condition flags for use with branch instructions and a computer system employing the microprocessor
US6230259B1 (en) 1997-10-31 2001-05-08 Advanced Micro Devices, Inc. Transparent extended state save
US6157996A (en) * 1997-11-13 2000-12-05 Advanced Micro Devices, Inc. Processor programably configurable to execute enhanced variable byte length instructions including predicated execution, three operand addressing, and increased register space
US6877084B1 (en) 2000-08-09 2005-04-05 Advanced Micro Devices, Inc. Central processing unit (CPU) accessing an extended register set in an extended register mode
US6981132B2 (en) 2000-08-09 2005-12-27 Advanced Micro Devices, Inc. Uniform register addressing using prefix byte
US20060190704A1 (en) * 2005-02-24 2006-08-24 International Business Machines Corporation Apparatus for increasing addressability of registers within a processor
US7594094B2 (en) * 2006-05-19 2009-09-22 International Business Machines Corporation Move data facility with optional specifications
US7581074B2 (en) * 2006-05-19 2009-08-25 International Business Machines Corporation Facilitating use of storage access keys to access storage
US7769853B2 (en) * 2007-06-12 2010-08-03 International Business Machines Corporation Method for automatic discovery of a transaction gateway daemon of specified type

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
DE3633227A1 (de) * 1986-09-30 1988-04-21 Siemens Ag Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781808A (en) * 1972-10-17 1973-12-25 Ibm Virtual memory system
US3825904A (en) * 1973-06-08 1974-07-23 Ibm Virtual memory system
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
JP2635058B2 (ja) * 1987-11-11 1997-07-30 株式会社日立製作所 アドレス変換方式
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
DE3633227A1 (de) * 1986-09-30 1988-04-21 Siemens Ag Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995765A (zh) * 2022-06-06 2022-09-02 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备
CN114995765B (zh) * 2022-06-06 2023-11-21 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
US5226132A (en) 1993-07-06

Similar Documents

Publication Publication Date Title
DE602004011018T2 (de) Ungültigkeitserklärung eines speichers und löschen von puffereinträgen
DE3151745C2 (de)
DE60003273T2 (de) Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse
DE3932675C2 (de)
DE4040963C2 (de) Datenverarbeitungssystem
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE3833933C2 (de) Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE3932695A1 (de) Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE2417795C2 (de) Datenverarbeitungsanlage
DE3805107A1 (de) Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE2517276A1 (de) Datenverarbeitungssystem
DE2339636A1 (de) Programmsteuereinrichtung
DE10002120A1 (de) Logikstruktur eines Adressumsetzpuffers
DE2134816C3 (de) Einrichtung zur Adressenübersetzung
DE3338329A1 (de) Computersystem
DE3518818A1 (de) Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen
DE2906685C2 (de)
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE3832758C2 (de) Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE3226214A1 (de) Arithmetisches betriebssystem
DE3025167A1 (de) Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection