[go: up one dir, main page]

DE3931505A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE3931505A1
DE3931505A1 DE3931505A DE3931505A DE3931505A1 DE 3931505 A1 DE3931505 A1 DE 3931505A1 DE 3931505 A DE3931505 A DE 3931505A DE 3931505 A DE3931505 A DE 3931505A DE 3931505 A1 DE3931505 A1 DE 3931505A1
Authority
DE
Germany
Prior art keywords
data
memory
address
main memory
transferred
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.)
Granted
Application number
DE3931505A
Other languages
English (en)
Other versions
DE3931505C2 (de
Inventor
Jiro Imamura
Hiroyuki Okura
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Publication of DE3931505A1 publication Critical patent/DE3931505A1/de
Application granted granted Critical
Publication of DE3931505C2 publication Critical patent/DE3931505C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage und insbesondere eine solche Datenverarbeitungsanlage, deren Speicherkonfiguration einen Hauptspeicher und einen Er­ weiterungsspeicher aufweist.
Herkömmliche Datenverarbeitungsanlagen mit einer Spei­ cherkonfiguration, die zusätzlich zu einem Hauptspeicher einen Erweiterungsspeicher aufweist, enthalten einen Be­ fehlsprozessor (BP), eine Speichersteuerung (SS), einen Eingabe/Ausgabeprozessor (EAP), einen Hauptspeicher (HS) und einen Erweiterungsspeicher (ES). Der Erweiterungs­ speicher der Speicherkonfiguration solcher Datenverar­ beitungsanlagen ist funktional in der gleichen Kategorie angeordnet wie ein externer Speicher und wird als Bau­ stein zur Ausführung von Seitenaufteilungsprozessen an­ gesehen.
Beispielsweise ist aus US 44 76 524-A (die JP 9 276-A (1983) entspricht) eine Datenverarbeitungsanlage mit ei­ nem Erweiterungsspeicher dieses Typs bekannt. Diese Da­ tenverarbeitungsanlage ist mit einem Seitenübertragungs­ bus, der einen unabhängigen Datenwerg zwischen dem Er­ weiterungsspeicher (Seitenspeicher) und dem Hauptspei­ cher darstellt, und mit einer Datenübertragungseinrich­ tung ausgerüstet. In diesem System kann eine Anlagenkon­ figuration verwirklicht werden, mit der die Daten zwi­ schen dem Erweiterungsspeicher und dem Hauptspeicher auf dem Seitenübertragungsbus übertragen werden.
Bei den Datenübertragungen zwischen dem Hauptspeicher und dem Erweiterungsspeicher mittels eines Übertragungs­ befehls zum Übertragen der Daten werden die zu übertra­ genden Dateneinheiten insofern Beschränkungen unterwor­ fen, als die zu übertragende kleinste Dateneinheit eine Seite (4 KB (Kilobytes)) sein muß; auch die durch den Übertragungsbefehl angewiesene Hauptspeicheradresse er­ fährt eine eine Einschränkung, da die Adresse sich an der Grenze der Seite befinden sollte.
Wenn der Erweiterungsspeicher für andere Zwecke als für den Seitenaufteilungsprozeß in der Datenverarbeitungs­ anlage mit Erweiterungsspeicher verwendet werden soll, bereiten die Beschränkungen, die durch eine Seite als kleinster zwischen dem Hauptspeicher und dem Erweite­ rungsspeicher mittels des Übertragungsbefehls zu über­ tragender Dateneinheit und durch die Anordnung der Hauptspeicheradresse eines Operanden des Übertragungsbe­ fehls an der Seitengrenze gegeben sind, allerdings die folgenden Probleme:
  • 1. Wenn Daten zwischen dem Hauptspeicher und dem Erwei­ terungsspeicher in einer beliebigen Menge übertragen werden sollen, kann die Datenübertragungsverarbei­ tung zwischen einem Datenbereich und einem Arbeits­ bereich im Hauptspeicher beispielsweise mittels ei­ nes SCHIEBE-Befehls ausgeführt werden. Daher ist es möglich, im Erweiterungsspeicher den Datenbereich und im Hauptspeicher den Arbeitsbereich vorzusehen, um die von der Übertragungsbefehlsverarbeitung be­ werkstelligte Datenübertragung zwischen dem Erwei­ terungsspeicher und dem Hauptspeicher mittels des SCHIEBE-Befehls zu ermöglichen. Bei der Implemen­ tierung eines neuen Programms, das den Übertragungs­ befehl für diese Verarbeitung enthält, hat jedoch die Tatsache, daß die kleinste Einheit für die Da­ tenübertragung zwischen dem Hauptspeicher und dem Erweiterungsspeicher mittels des Übertragungsbefehls 4 KB umfaßt, den Nachteil zur Folge, daß die von dem Programm in den Bereichen des Hauptspeichers und des Erweiterungsspeichers geforderte Kapazität ansteigt.
  • 2. Wenn ein herkömmliches bestehendes Programm modifi­ ziert wird und sowohl im Datenbereich als auch im Arbeitsbereich die Mehrzahl der Adressen einen 4- Byte-Grenzabstand oder einen 8-Byte-Grenzabstand aufweisen, müßte das Programm in großem Umfang modi­ fiziert werden. Eine solch große Modifikation des Programms ist jedoch praktisch unmöglich.
Es ist daher die Aufgabe der Erfindung, eine Datenverarbeitungsanlage zu schaffen, in der ein Erwei­ terungsspeicher auch für Zwecke verwendet werden kann, die von der Seitenaufteilungsverarbeitung verschieden sind.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungsanlage zu schaffen, in der eine Einheit zur Übertragung von Daten zwischen dem Haupt­ speicher und dem Erweiterungsspeicher so beliebig ge­ wählt werden kann, daß eine Einschränkung hinsichtlich der Adressierung der Hauptspeicheradresse im Befehl zur Übertragung der Daten zwischen dem Hauptspeicher und dem Erweiterungsspeicher vermieden werden kann.
Diese Aufgaben werden erfindungsgemäß gelöst durch eine Datenverarbeitungsanlage, die einen Befehlsprozessor, eine Speichersteuerung, einen Hauptspeicher, einen Er­ weiterungsspeicher und eine Datenübertragungseinheit zur Übertragung von Daten zwischen dem Hauptspeicher und dem Erweiterungsspeicher mittels eines Befehls vom Befehls­ prozessor, der die zwischen dem Hauptspeicher und dem Erweiterungsspeicher zu übertragende Datenmenge vorgibt, aufweist. Diese Datenübertragungseinheit ist in der Speichersteuerung vorgesehen und enthält einen Datenpuf­ fer und eine Adressenadditions/Subtraktionsschaltung zur Bearbeitung einer Ausgangs- und einer Bestimmungsadres­ se.
Die Datenübertragungseinheit soll zwischen dem Haupt­ speicher und dem Erweiterungsspeicher Daten übertragen, indem an eine Firmware der Speichersteuerung (einer Mi­ kroprogrammsteuerung) eine reale Hauptspeicheradresse, die aus einer durch den Übertragungsbefehl vorgegebenen virtuellen Hauptspeicheradresse so übersetzt worden ist, daß sie auf eine vom Erweiterungsspeicher verarbeitete Dateneinheit abgestimmt ist, eine Anzahl von vom Haupt­ speicher zu übertragenden Daten, eine reale Erweite­ rungsspeicheradresse und eine Anzahl von vom Erweite­ rungsspeicher zu übertragenden Daten geschickt werden.
Wenn die Daten zwischen dem Hauptspeicher und dem Er­ weiterungsspeicher mit der den Befehlsprozessor, die Speichersteuerung, den Hauptspeicher und den Erweite­ rungsspeicher enthaltenden Datenverarbeitungsanlage übertragen werden, wobei die Speichersteuerung mit der Datenübertragungseinheit zur Übertragung von Daten durch den Befehl, der die zwischen dem Hauptspeicher und dem Erweiterungsspeicher zu übertragende Datenmenge vorgibt, versehen ist, so werden die Daten dadurch übertragen, daß eine Dateneinheit von zwischen dem Hauptspeicher und dem Erweiterungsspeicher zu übertragenden Daten durch eine einzige Operation zu einer Seite bestimmt wird und daß die vom Hauptspeicher zu übertragenden Daten auf der Grundlage der virtuellen Hauptspeicheradresse, die durch den Übertragungsbefehl zur Übertragung zwischen dem Hauptspeicher und dem Erweiterungsspeicher vorgegeben wird, und auf der Grundlage der zwischen dem Hauptspei­ cher und dem Erweiterungsspeicher zu übertragenden Da­ tenmenge in Seiteneinheiten unterteilt werden. Wenn ei­ nerseits die unterteilte Seite die Seitengrenze über­ schreitet, wird die Seite weiter in zwei Blöcke unter­ teilt und die Anfangsadressen der beiden Blöcke in reale Hauptspeicheradressen übersetzt, die anschließend zusam­ men mit der Anzahl ihrer Bytes ebenso wie die reale Er­ weiterungsspeicheradresse und die Anzahl der vom Erwei­ terungsspeicher zu übertragenden Bytes an die Speicher­ steuerung geschickt werden, wobei die Daten auf die oben beschriebene Weise übertragen werden. Wenn andererseits die unterteilte Seite die Seitengrenze nicht überschrei­ tet, wird eine reale Hauptspeicheradresse, die mittels Adressenübersetzung einer Anfangsadresse der unterteil­ ten Seiten erhalten wurde, zusammen mit der Anzahl der zu übertragenden Bytes ebenso wie die reale Erweite­ rungsspeicheradresse und die Anzahl der zu übertragenden Bytes der Speichersteuerung zugeführt; die Daten einer Seite werden zwischen dem Hauptspeicher und dem Erwei­ terungsspeicher auf der Grundlage zweier realer Haupt­ speicheradressen, der Anzahl der zu übertragenden Bytes, der realen Erweiterungsspeicheradresse und der Anzahl der zu übertragenden Bytes, die alle der Speichersteue­ rung zugeführt werden, übertragen. Wenn die zu übertra­ gende Datenmenge, die durch den Übertragungsbefehl vor­ gegeben wird, eine Mehrzahl von Seiten umfaßt, wird die Datenübertragung durch eine analoge Übertragung der restlichen Seiten fortgesetzt.
Im einzelnen werden die Daten einer Einheit von Über­ tragungsdaten zwischen dem Hauptspeicher und dem Erwei­ terungsspeicher durch eine einzige Operation übertragen, nachdem die Daten in Seiteneinheiten unterteilt worden sind, so daß die Daten vom Hauptspeicher zum Erweite­ rungsspeicher oder vom Erweiterungsspeicher zum Haupt­ speicher im Umfang einer Seite als einer Einheit der Da­ tenübertragung übertragen werden. In diesem Fall wird die gesamte Datenmenge vom Hauptspeicher durch Untertei­ lung dieser Menge in Seiteneinheiten auf der Grundlage der virtuellen Hauptspeicheradresse, die durch den Über­ tragungsbefehl zur Übertragung vom Hauptspeicher an den Erweiterungsspeicher und durch die Anzahl der zu über­ tragenden Daten vorgegeben ist, übertragen.
Mit anderen Worten kann die Datenübertragung vom Haupt­ speicher zum Erweiterungsspeicher auf die folgende Weise ausgeführt werden:
  • 1. Wenn die durch Teilung der Übertragungsdaten in Sei­ teneinheiten erhaltene Seite die Seitengrenze über­ schreitet, wird die Seite weiter in zwei zu übertra­ gende Blöcke unterteilt, während eine virtuelle An­ fangsadresse des vorderen Blocks und eine virtuelle Seitengrenzenadresse des hinteren Blocks in zwei Realadressen übersetzt werden, die anschließend zu­ sammen mit der Anzahl ihrer zu übertragenden Bytes, mit der realen Erweiterungsspeicheradresse und der 4 KB umfassenden Anzahl von zu übertragenden Bytes der Speichersteuerung zugeführt werden. Die Daten zweier Übertragungsblöcke werden vom Hauptspeicher geholt, gemischt und dann unter der realen Erweiterungsspei­ cheradresse gespeichert.
  • 2. Wenn die durch Unterteilung der Übertragungsdaten in eine Seitenansicht erhaltene Seite die Seitengrenze nicht überschreitet, gibt es in der zu übertragenden Seite nur einen Block, so daß die virtuelle Anfangs­ adresse dieses Blocks in eine reale Hauptspeicher­ adresse übersetzt wird. Die reale Hauptspeicher­ adresse und die Anzahl ihrer zu übertragenden Bytes werden dann zusammen mit der realen Erweiterungs­ speicheradresse und der Anzahl ihrer zu übertragen­ den Bytes zur Speichersteuerung geschickt, wodurch die Daten des Übertragungsblocks vom Hauptspeicher geholt und unter der realen Erweiterungsspeicher­ adresse gespeichert werden.
  • Wenn die zu übertragende Datenmenge, die durch den Übertragungsbefehl vorgegeben wird, eine Mehrzahl von Seiten umfaßt, wird die Verarbeitung durch die Kombination der obigen Prozedur (1) mit der obigen Prozedur (2) ausgeführt.
  • Die Daten werden vom Erweiterungsspeicher zum Haupt­ speicher auf dieselbe Weise übertragen, wie oben in bezug auf die Übertragung vom Hauptspeicher zum Er­ weiterungsspeicher beschrieben worden ist, indem die zu übertragenden Daten durch die virtuelle Haupt­ speicheradresse und die zu übertragende Datenmenge in Seiteneinheiten unterteilt werden.
  • Mit anderen Worten, die Datenübertragung vom Erwei­ terungsspeicher zum Hauptspeicher kann in die fol­ genden Abläufe unterteilt werden:
  • 3. Wenn bei der Unterteilung der Übertragungsdaten in Seiteneinheiten die Seite die Seitengrenze über­ schreitet, werden die Übertragungsdaten wie bei der Verarbeitung der obigen Prozedur (1) weiter in zwei Übertragungsblöcke unterteilt, während zwei reale Hauptspeicheradressen und die Anzahl der zu über­ tragenden Bytes zusammen mit der realen Erweite­ rungsspeicheradresse und der Anzahl der zu übertra­ genden Bytes an die Speichersteuerung geschickt wer­ den, wodurch vom Erweiterungsspeicher Daten geholt und in Übertragungsblöcke unterteilt werden, die an­ schließend unter den beiden entsprechenden realen Hauptspeicheradressen gemäß der Anzahl der Daten ge­ speichert werden.
  • 4. Wenn die durch Unterteilung der zu übertragenden Da­ ten in Seiteneinheiten erhaltene Seite die Seiten­ grenze nicht überschreitet, werden die reale Haupt­ speicheradresse und die Anzahl der zu übertragenden Bytes, die reale Erweiterungsspeicheradresse und die Anzahl der zu übertragenden Bytes an die Speicher­ steuerung geschickt, wodurch die durch die Anzahl der zu übertragenden Bytes gegebenen Übertragungsda­ ten vom Erweiterungsspeicher geholt und unter der realen Hauptspeicheradresse auf die gleiche Weise gespeichert werden, wie in der obigen Prozedur (2), bei der die Seite die Seitengrenze ebenfalls nicht überschritten hat.
Wenn die Menge der zu übertragenden Daten, die durch den Übertragungsbefehl vorgegeben wird, eine Mehrzahl von Seiten umfaßt, wird die Verarbeitung durch die Kombina­ tion der obigen Prozedur (3) mit der obigen Prozedur (4) ausgeführt.
Wie weiter oben beschrieben, ermöglicht die Datenverar­ beitungsanlage, die einen Befehlsprozessor, eine Spei­ chersteuerung, einen Hauptspeicher und einen Erweite­ rungsspeicher aufweist, die Datenübertragung zwischen dem Hauptspeicher und dem Erweiterungsspeicher mittels eines Befehls vom Befehlsprozessor, der die Datenmenge vorgibt. Daher ermöglicht die erfindungsgemäße Datenver­ arbeitungsanlage die Übertragung einer beliebigen Menge von Daten zwischen Hauptspeicher und Erweiterungsspei­ cher.
Dieser Aufbau gestattet es, daß eine zwischen dem Haupt­ speicher und dem Erweiterungsspeicher aufgrund eines Übertragungsbefehls übertragene Dateneinheit in beliebi­ ger Größe festgesetzt werden kann, wodurch die Beschrän­ kungen hinsichtlich der Adressierung der Hauptspeicher­ adresse beseitigt werden und eine Verwendung der Spei­ chersteuerung für andere Zwecke, die von der Seitenauf­ teilungsverarbeitung verschieden sind, ermöglicht wird.
Die Erfindung wird im folgenden anhand eines Ausfüh­ rungsbeispiels mit Bezug auf die Zeichnungen näher er­ läutert; es zeigt
Fig. 1 ein Blockschaltbild der wesentlichen Struktur einer Ausführungsform der erfindungsgemäßen Datenverarbeitungsanlage;
Fig. 2 die Erläuterung eines Beispiels von Übertragungs­ befehlen zur Übertragung von Daten zwischen dem Hauptspeicher und dem Erweiterungsspeicher; und
Fig. 3 eine schematische Erläuterung der Adressenabbil­ dung, um die Beziehung zwischen der virtuellen Hauptspeicheradresse, der realen Hauptspeicher­ adresse und der Erweiterungsspeicheradresse der zwischen dem Hauptspeicher und dem Erweiterungs­ speicher zu übertragenden Daten zu erklären.
Nun wird mit Bezug auf Fig. 1, in der ein Blockschalt­ bild der wesentlichen Struktur einer Ausführungsform der Erfindung erläutert wird, die erfindungsgemäße Datenver­ arbeitungsanlage beschrieben. Die Datenverarbeitungsan­ lage weist einen Befehlsprozessor (BP) 1, eine Speicher­ steuerung (SS) 2, einen Eingabe/Ausgabeprozessor (EAP) 3, einen Hauptspeicher (HS) 4 und einen Erweiterungs­ speicher (ES) 5 auf. Zur Ermöglichung einer Datenüber­ tragung zwischen dem Hauptspeicher 4 und dem Erwei­ terungsspeicher 5 mittels eines Übertragungsbefehls ent­ hält die Speichersteuerung 2 zusätzlich zu einer Firm­ ware-Konfiguration zur Speichersteuerung (einer Mikro­ programmsteuerung) als Datenübertragungseinheit Register 10, 11, 12 und 13 zum Halten einer Adresse, einer Anzahl von zu übertragenden Daten usw., die für eine Datenüber­ tragungssteuerung verwendet werden, Additions/Subtrak­ tionsschaltungen 14, 16, 18 und 20, Selektoren 15, 17, 19 und 21 und Datenpuffer 30 und 31.
In der Datenverarbeitungsanlage werden die Daten zwi­ schen dem Hauptspeicher 4 und dem Erweiterungsspeicher 5 aufgrund des vom Befehlsprozessor 1 ausgegebenen Über­ tragungsbefehls, der die zu übertragende Datenmenge an­ gibt, übertragen. Somit legt der Übertragungsbefehl zum Übertragen der Daten vom Hauptspeicher 4 zum Erweite­ rungsspeicher 5 eine virtuelle Hauptspeicheradresse, ei­ ne reale Erweiterungsspeicheradresse und eine zu über­ tragende Datenmenge fest.
In Fig. 2 ist ein Beispiel des Formats eines Übertra­ gungsbefehls zum Übertragen von Daten zwischen dem Hauptspeicher und dem Erweiterungsspeicher erläutert. Wie in Fig. 2 gezeigt, weist der Übertragungsbefehl zum Übertragen der Daten zwischen dem Hauptspeicher und dem Erweiterungsspeicher einen Befehlscode 41, der angibt, ob eine Datenübertragung vom Hauptspeicher zum Erweite­ rungsspeicher oder eine Datenübertragung vom Erweite­ rungsspeicher zum Hauptspeicher ausgeführt werden soll, eine Hauptspeicheradresse 42, eine Erweiterungsspeicher­ adresse 43 und die Anzahl 44 von zu übertragenden Daten, die die zu übertragende Datenmenge vorgibt, auf.
In Fig. 3 ist eine Adressenabbildung dargestellt, um die Beziehung zwischen der virtuellen Hauptspeicheradresse, der realen Hauptspeicheradresse und der Erweiterungs­ speicheradresse der zwischen dem Hauptspeicher und dem Erweiterungsspeicher übertragenen Daten zu erläutern.
Anhand von Beispielen, in denen die Verarbeitung des Übertragungsbefehls zum Übertragen von Daten vom Haupt­ speicher zum Erweiterungsspeicher ausgeführt wird, wird die Operation der in Fig. 1 gezeigten Datenverarbei­ tungsanlage mit Bezug auf Fig. 3 beschrieben. Wenn die Daten zwischen dem Hauptspeicher und dem Erweiterungs­ speicher übertragen werden, werden die an den Erweite­ rungsspeicher 5 zu übertragenden Daten durch eine ein­ zige Operation aus dem Hauptspeicher 4 geholt; eine zu speichernde Dateneinheit besitzt die Größe einer Seite (4 KB). Die vom Hauptspeicher 4 geholten und zum Erwei­ terungsspeicher 5 übertragenen Daten werden in Fig. 3 durch das Bezugszeichen A dargestellt. Die Daten A wer­ den in Seiten, z. B. in drei Seiten A 0, A 1 und A 2, unter­ teilt. Die Seiten A 0 und A 1 besitzen beide die Größe von 4 KB, während die Seite A 2 einen kleineren Umfang als 4 KB hat. Die Seite A 0 ist bei der 4 KB-Grenze der vir­ tuellen Hauptspeicheradresse durch die Seitengrenze L 1 in zwei Blöcke B 0 und B 1 unterteilt. Genauso ist die Seite A 1 bei der 4 KB-Grenze in zwei Blöcke B 2 und B 3 unterteilt. Die Seite A 2 kann jedoch nicht unterteilt werden, da sie die alle 4 KB auftretende Seitengrenze nicht erreicht, so daß ein entsprechender Block in einer Einheit der Datenübertragung lediglich durch ein Block B 4 gegeben ist.
Bei der Übertragung der Daten A vom Hauptspeicher 4 zum Erweiterungsspeicher 5 werden die virtuelle Hauptspei­ cheradresse L 0 des Blocks B 0 der Daten A und die vir­ tuelle Hauptspeicheradresse L 1 des Blocks B 1 an der Sei­ tengrenze durch eine Mikroprogrammsteuerung des Befehls­ prozessors 1 in zwei reale Hauptspeicheradressen, d. h. in die reale Hauptspeicheradresse M 0 bzw. die reale Hauptspeicheradresse M 1 übersetzt.
Um den Block B 0 vom Hauptspeicher 4 zu holen und im Er­ weiterungsspeicher 5 zu speichern, werden die reale Hauptspeicheradresse M 0, die Anzahl der vom Hauptspei­ cher zu übertragenden Bytes, die reale Erweiterungsspei­ cheradresse und die Anzahl der zum Erweiterungsspeicher zu übertragenden Bytes in den Registern 10, 11, 12 bzw. 13 der Speichersteuerung 2 gesetzt. Im Register 13 ist eine Datenmenge von 4 KB gesetzt, die einer Übertra­ gungseinheit von einer Seite entspricht. In der Spei­ chersteuerung 2 werden die gemäß der im Register 11 ge­ setzten Anzahl der vom Hauptspeicher zu übertragenden Daten bestimmten Daten aus der im Register 10 gesetzten realen Hauptspeicheradresse M 0 geholt und im Datenpuffer 30 gesetzt.
Wenn, mit anderen Worten, die Ausgabe des Registers 10 in die Additionsschaltung 14 zur Adressenaddition einge­ geben wird und eine Leseanforderung zum Lesen vom zu übertragenden Daten an den Hauptspeicher 4 ausgegeben wird, wird eine Leseadresse addiert, um eine nächste Übertragungsdatenleseanforderung zu erzeugen, woraufhin die erneuerte nächste Adresse über den Selektor 15 wie­ der im Register 10 gesetzt wird. Wenn die Aufgabe des Registers 11 in eine Subtraktionsschaltung 16 zum byte­ weisen Subtrahieren der Anzahl der zu übertragenden Bytes eingegeben wird und eine Datenleseanforderung an den Hauptspeicher 4 ausgegeben wird, wird die Anzahl der übertragenen Bytes von der Anzahl der im Register 11 ge­ setzten Übertragungsbytes subtrahiert, woraufhin die ak­ tualisierte Anzahl von zu übertragenden Bytes über den Selektor 17 wieder im Register 11 gesetzt wird, um eine nächste Datenleseanforderung zu erzeugen.
Wenn die Anzahl der im Register 11 gesetzten zu übertra­ genden Bytes 0 ist, wird die Ausgabe der Datenleseanfor­ derung an den Hauptspeicher 4 beendet. Die Daten vom Hauptspeicher 4 werden im Datenpuffer 30 gesetzt, an­ schließend werden die Daten des Datenpuffers 30 in den Erweiterungsspeicher 5 geschrieben.
Dann werden die reale Hauptspeicheradresse M 1 und die Anzahl übertragenen Bytes des Blocks B 1 in den Registern 10 bzw. 11 gesetzt. Genauso wie die Verarbeitung im Block B 0 werden die zu übertragenen Daten aus dem Hauptspeicher 4 geholt und im Datenpuffer 30 gesetzt.
Die im Datenpuffer 30 gesetzten Daten werden entspre­ chend der im Register 12 gesetzten realen Erweiterungs­ speicheradresse im Erweiterungsspeicher 5 gespeichert, indem eine übertragene Datenmenge durch die Anzahl der im Register 13 gesetzten Speicherübertragungsdaten ver­ waltet wird. Der Ausgang des Registers 12 ist mit der Additionsschaltung 18 zur Adressenaddition verbunden, während der Ausgang des Registers 13 mit der Subtrak­ tionsschaltung 13 zur Subtraktion der Anzahl der über­ tragenen Bits verbunden ist. Die Verarbeitung der Spei­ cherung im Erweiterungsspeicher 5 wird nach der Ausgabe einer Speicheranforderung durch Addition der Adresse und durch Subtraktion der Anzahl der übertragenen Bytes aus­ geführt, während die erneuerte Adresse und die Anzahl der zu übertragenden Bytes über die Selektoren 19 bzw. 20 in den ursprünglichen Registern 12 und 13 gesetzt werden. Die Verarbeitung zum Speichern der Daten aus dem Datenpuffer 30 im Erweiterungsspeicher 5 wird durch eine Mikroprogrammsteuerung der Speichersteuerung 2 unmittel­ bar dann veranlaßt, wenn die Daten im Datenpuffer 30 ge­ setzt werden. Wenn die Anzahl der übertragenen Bytes des Registers 13 0 erreicht, wird die Ausgabe einer Spei­ cheranforderung an den Erweiterungsspeicher 5 beendet.
Bei der Übertragung der die Seite A 1 unterteilenden Blöcke B 2 und B 3 werden die zu übertragenden Daten aus dem Hauptspeicher 4 geholt und im Erweiterungsspeicher 5 über den Datenpuffer 30 auf die gleiche Weise wie bei der oben beschriebenen Datenübertragung der Blöcke B 0 und B 1 gespeichert.
Wenn die Daten des Blocks B 4 übertragen werden, wird ei­ ne virtuelle Hauptspeicheradresse L 4 einer Adressenüber­ setzung unterworfen, die eine reale Hauptspeicheradresse M 4 liefert. Die reale Hauptspeicheradresse M 4, die An­ zahl der Bytes der zu übertragenden Daten des Blocks 4 und die reale Erweiterungsspeicheradresse E 2 werden an die Speichersteuerung 2 geschickt, während die Daten zur Steuerung der Datenübertragung in den Registern 10, 11, 12, 13 gesetzt werden. Die reale Hauptspeicheradresse M 4 wird im Register 10 gesetzt, die reale Erweiterungsspei­ cheradresse E 2 wird im Register 12 gesetzt. Die entspre­ chende Anzahl der übertragenen Bytes wird in den jewei­ ligen Registern 11 und 13 gesetzt. Die Anzahl der über­ tragenen Bytes ist kleiner als 4 KB. Die Daten des Blocks B 4 werden vom Hauptspeicher 4 geholt und im Er­ weiterungsspeicher 5 auf die gleiche Weise wie bei der oben beschriebenen Datenübertragung gespeichert.
Wie oben beschrieben worden ist, wird die Datenübertra­ gung vom Hauptspeicher 4 zum Erweiterungsspeicher 5 von einer Mikroprogrammsteuerung der Speichersteuerung mit­ tels eines vom Befehlsprozessor ausgegebenen Befehls, der die Anzahl der zu übertragenden Bytes vorgibt, ge­ leitet.
Im folgenden wird die Verarbeitung des Befehls zum Über­ tragen von Daten vom Erweiterungsspeicher 5 zum Haupt­ speicher 4 beschrieben.
Im Übertragungsbefehl zur Datenübertragung vom Erweite­ rungsspeicher 5 zum Hauptspeicher 4 werden die zu über­ tragenden Daten durch Seitenwechsel, Unterteilung einer Seite in Blöcke und Adressenübersetzung auf die gleiche Weise ausgeführt wie im Übertragungsbefehl zur Daten­ übertragung vom Hauptspeicher 4 zum Erweiterungsspeicher 5. Der Befehlsprozessor 1 gibt an die Speichersteuerung 2 eine reale Hauptspeicheradresse, die Anzahl der zum Hauptspeicher zu übertragenden Bytes, eine reale Erwei­ terungsspeicheradresse und die Anzahl der vom Erweite­ rungsspeicher zu übertragenden Bytes, die in den ent­ sprechenden Registern 10, 11, 12 und 13 gesetzt sind, auf analoge Weise wie oben beschrieben aus.
In Fig. 3 ist die Richtung der Datenblöcke, die vom Er­ weiterungsspeicher 5 zum Hauptspeicher 4 übertragen wer­ den, durch eine Strichlinie mit Pfeil dargestellt. Wie in Fig. 3 gezeigt, werden die Blöcke B 0 und B 1 der in einer Seite der realen Erweiterungsspeicheradresse (E 0 bis E 1) des Erweiterungsspeichers 5 gespeicherten Seite A 0 für 4 KB ohne Unterbrechung aus dem Erweiterungsspei­ cher 5 geholt und im Datenpuffer 31 gesetzt. Wenn die Daten aus dem Datenpuffer 31 im Hauptspeicher 4 gespei­ chert werden, werden sie in zwei Blöcke (Blöcke B 0 und B 1) unterteilt, die wiederum entsprechend unter den rea­ len Hauptspeicheradressen M 0 und M 1 gespeichert werden. Die Daten der Seite A 1 werden durch Setzen der Daten ei­ ner zu übertragenden Seite im Datenpuffer 31 und durch Unterteilung in Blöcke, d. h. in die Blöcke B 2 und B 3 auf die gleiche Weise wie bei der Übertragung der in die Blöcke B 0 und B 1 unterteilten Daten übertragen. Die Da­ tenübertragung des Blocks B 4 der Seite A 2 wird dadurch ausgeführt, daß die Daten mit einem Umfang von weniger als 4 KB, die vom Erweiterungsspeicher 5 geholt worden sind, im Datenpuffer 31 gesetzt und unverändert im Hauptspeicher 4 gespeichert werden.
Obwohl die vorliegende Erfindung anhand einer Ausfüh­ rungsform gezeigt und beschrieben worden ist, versteht es sich, daß die Erfindung nicht auf diese Ausführungs­ form beschränkt ist und verschiedene Änderungen und Ab­ wandlungen einschließt, ohne daß vom Geist und vom Um­ fang der Erfindung abgewichen wird.
Erfindungsgemäß ist die Datenverarbeitungsanlage mit ei­ ner Datenübertragungseinheit ausgerüstet, die die Daten­ übertragungen zwischen dem Hauptspeicher und dem Erwei­ terungsspeicher durch einen Übertragungsbefehl, der die zu übertragende Datenmenge vorgibt, ermöglicht, wodurch die Menge der Daten für eine Datenübertragung beliebig gemacht wird, so daß die Beschränkungen hinsichtlich der Adressierung der virtuellen Hauptspeicheradresse, die durch den Befehl vorgegeben wird, vermieden werden.
Es wird weiterhin festgestellt, daß die Menge der Daten, die aufgrund eines Befehls zur Ausführung eine Daten­ übertragung vom Hauptspeicher zum Erweiterungsspeicher oder umgekehrt übertragen werden, beliebig gesetzt wer­ den kann, ohne daß sie durch eine Seiteneinheit be­ schränkt wäre. Außerdem wird festgestellt, daß eine Hauptspeicheradresse und eine Erweiterungsspeicheradres­ se nicht notwendig an der Seitengrenze angeordnet sein müssen, so daß der Erweiterungsspeicher auch für Zwecke verwendet werden kann, die von Seitenaufteilungsprozes­ sen verschieden sind.

Claims (8)

1. Datenverarbeitungsanlage mit einem Befehlsprozessor (1), einer Speichersteuerung (2), einem Hauptspeicher (4) und einem Erweiterungsspeicher (5), gekennzeichnet durch eine Datenübertragungseinheit (10 bis 21, 30, 31) zum Übertragen von Daten zwischen dem Hauptspeicher (4) und dem Erweiterungsspeicher (5) durch einen vom Befehlsprozessor (1) ausgegebenen Befehl, der die Menge der zu übertragenden Daten angibt.
2. Datenverarbeitungsanlage gemäß Anspruch 1, dadurch gekennzeichnet, daß die Datenübertragungseinheit in der Speichersteuerung (2) vorgesehen ist und einen Datenpuffer (30, 31) und ei­ ne Adressenadditions/Subtraktionsschaltung (14, 16, 18, 20) zur Bearbeitung einer Ausgangs- und einer Be­ stimmungsadresse aufweist.
3. Datenverarbeitungsanlage gemäß Anspruch 1, dadurch gekennzeichnet, daß die Datenübertragungseinheit mit einer Gruppe von Regi­ stern (10 bis 13) zum Halten einer Ausgangsadresse, einer Bestimmungsadresse und einer Anzahl von zu übertragenden Daten, mit einem Datenpuffer (30, 31) zum temporären Speichern der zu übertragenden Daten und mit einer Additions/Subtraktionsschaltung (14, 16, 18, 20) zur Bearbeitung der Ausgangsadresse, der Bestimmungsadresse und der Anzahl der zu übertragen­ den Daten ausgerüstet ist und daß die Daten mittels einer Mikroprogrammsteuerung einer Speichersteuerung übertragen werden.
4. Datenverarbeitungsanlage mit einem Befehlsprozessor (1), einer Speichersteuerung (2), einem Hauptspeicher (4) und einem Erweiterungsspeicher (5), dadurch gekennzeichnet, daß
die Speichersteuerung (2) mit einer Daten­ übertragungseinheit (10 bis 21, 30, 31) zum Übertra­ gen von Daten vom Hauptspeicher (4) zum Erweiterungs­ speicher (5) oder vom Erweiterungsspeicher (5) zum Hauptspeicher (4) durch einen vom Befehlsprozessor (1) ausgegebenen Befehl, der die zu übertragende Da­ tenmenge angibt, ausgerüstet ist, und
die Daten zwischen dem Hauptspeicher (4) und dem Erweiterungsspeicher (5) durch Schicken einer realen Hauptspeicheradresse, die aus einer durch den Befehl vorgegebenen virtuellen Hauptspeicheradresse über­ setzt wird, der Anzahl der vom Hauptspeicher (4) zu übertragenden Daten, einer realen Erweiterungsspei­ cheradresse und der Anzahl der vom Erweiterungsspei­ cher (5) zu übertragenden Daten an eine Firmware ei­ ner Speichersteuerung derart, daß sie auf eine vom Erweiterungsspeicher (5) verarbeitete Dateneinheit abgestimmt sind, übertragen werden.
5. Datenverarbeitungsanlage gemäß Anspruch 4, dadurch gekennzeichnet, daß die Datenübertragungseinheit in der Speichersteuerung (2) vorgesehen ist, und mit einem Datenpuffer und einer Adressenadditions/Subtraktionsschaltung zum Bearbei­ ten der als Ausgangsadresse dienenden realen Haupt­ speicheradresse und der als Bestimmungsadresse die­ nenden realen Erweiterungsspeicheradresse ausgerüstet ist.
6. Datenverarbeitungsanlage gemäß Anspruch 4, dadurch gekennzeichnet, daß die Datenübertragungseinheit mit einer Registergruppe zum Halten einer Ausgangsadresse, einer Bestimmungsadres­ se und der Anzahl der zu übertragenden Daten, mit ei­ nem Datenpuffer zum temporären Speichern der zu über­ tragenden Daten, mit einer Adressenadditions/Subtrak­ tionsschaltung zum Bearbeiten der realen Hauptspei­ cheradresse und der realen Erweiterungsspeicheradres­ se, die als Ausgangsadresse und als Bestimmungsadres­ se dienen, und einer Additions/Subtraktionsschal­ tung zum Bearbeiten der Anzahl der zu übertragenden Daten ausgerüstet ist und daß die Daten durch eine Mikroprogrammsteuerung einer Speichersteuerung über­ tragen werden.
7. Datenverarbeitungsanlage gemäß Anspruch 4, dadurch gekennzeichnet, daß die Daten in einer Seiteneinheit zwischen dem Hauptspei­ cher (4) und dem Erweiterungsspeicher (5) anhand des
Aufteilens der Bestimmungsadresse gemäß der vom Befehl vorgegebenen virtuellen Hauptspeicheradresse in eine Seiteneinheit;
des Übersetzens der virtuellen Hauptspeicher­ adresse in eine reale Hauptspeicheradresse; und
des Ausführens einer Hol- und Speicherverarbei­ tung durch die reale Hauptspeicheradresse und die reale Erweiterungsspeicheradresse im Hauptspeicher und im Erweiterungsspeicher übertragen werden.
8. Datenverarbeitungsanlage gemäß Anspruch 4, dadurch gekennzeichnet, daß die Daten zwischen dem Hauptspeicher (4) und dem Erwei­ terungsspeicher (5) durch einen Befehl, der die zu übertragende Datenmenge zwischen dem Hauptspeicher (4) und dem Erweiterungsspeicher (5) vorgibt und an­ hand des
Setzens einer zwischen dem Hauptspeicher (4) und dem Erweiterungsspeicher (5) zu übertragenden Einheit mittels einer einzigen Operation als einer Seitenein­ heit;
des Aufteilens der vom Hauptspeicher (4) zu über­ tragenden Daten in eine Seiteneinheit mittels der vom Befehl vorgegebenen virtuellen Hauptspeicheradresse und der zu übertragenden Datenmenge;
des Aufteilens der Seite in zwei Blöcke und des Schickens zweier realer Hauptspeicheradressen, die jeweils aus einer Anfangsadresse der zwei Blöcke übersetzt werden, der jeweiligen Anzahl der zu über­ tragenden Bytes, der realen Erweiterungsspeicher­ adresse und der Anzahl der zu übertragenden Bytes an eine Firmware einer Speichersteuerung, wenn eine Sei­ te der unterteilten Daten eine Seitengrenze über­ schreitet;
des Schickens einer realen Hauptspeicheradresse, die aus der Anfangsadresse der Seite übersetzt wird, der Anzahl der zu übertragenden Bytes, der realen Er­ weiterungsspeicheradresse und der Anzahl der zu über­ tragenden Bytes an die Firmware der Speichersteue­ rung, wenn eine Seite der Daten eine Seitengrenze nicht überschreitet;
des Übertragens der Daten einer Seiteneinheit zwischen dem Hauptspeicher (4) und dem Erweiterungs­ speicher (5) durch die reale Hauptspeicheradresse und die Anzahl der zu übertragenden Bytes, durch die reale Erweiterungsspeicheradresse und die Anzahl der zu übertragenden Bytes, die jeweils an den Hauptspei­ cher und den Erweiterungsspeicher geschickt worden sind; und
des ununterbrochenen Übertragens der Daten einer Mehrzahl von Seiteneinheiten, wenn die durch den Be­ fehl vorgegebene Datenmenge eine Mehrzahl von Seiten umfaßt,
übertragen werden.
DE3931505A 1988-09-21 1989-09-21 Speichersteuerung in einer Datenverarbeitungsanlage Expired - Fee Related DE3931505C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63238600A JP3005626B2 (ja) 1988-09-21 1988-09-21 データ処理システムおよびデータ転送方法

Publications (2)

Publication Number Publication Date
DE3931505A1 true DE3931505A1 (de) 1990-03-22
DE3931505C2 DE3931505C2 (de) 1996-11-28

Family

ID=17032599

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3931505A Expired - Fee Related DE3931505C2 (de) 1988-09-21 1989-09-21 Speichersteuerung in einer Datenverarbeitungsanlage

Country Status (3)

Country Link
US (1) US5134698A (de)
JP (1) JP3005626B2 (de)
DE (1) DE3931505C2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04305741A (ja) * 1991-04-02 1992-10-28 Nec Corp データベース入出力制御方式
US5386560A (en) * 1991-05-23 1995-01-31 International Business Machines Corporation Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
US5278963A (en) * 1991-06-21 1994-01-11 International Business Machines Corporation Pretranslation of virtual addresses prior to page crossing
EP0549924A1 (de) * 1992-01-03 1993-07-07 International Business Machines Corporation Verfahren und Vorrichtung zur Datenübertragung durch einen Asynchronzusatzprozessor
JP3549003B2 (ja) * 1993-08-31 2004-08-04 株式会社日立製作所 情報送出装置および情報送出/受信システム
JPH0869408A (ja) * 1994-08-31 1996-03-12 Kofu Nippon Denki Kk 拡張記憶データ転送制御システム
US6658552B1 (en) * 1998-10-23 2003-12-02 Micron Technology, Inc. Processing system with separate general purpose execution unit and data string manipulation unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR111576A (de) * 1973-12-13 1900-01-01
JPS5211729A (en) * 1975-07-17 1977-01-28 Hitachi Ltd Information processing unit
JPS5338937A (en) * 1976-09-22 1978-04-10 Hitachi Ltd Address conversion mechanism of electronic computer system
US4296465A (en) * 1977-11-03 1981-10-20 Honeywell Information Systems Inc. Data mover
US4344130A (en) * 1979-09-26 1982-08-10 Sperry Corporation Apparatus to execute DMA transfer between computing devices using a block move instruction
JPS59167761A (ja) * 1983-03-14 1984-09-21 Hitachi Ltd 計算機システム
US4713748A (en) * 1985-02-12 1987-12-15 Texas Instruments Incorporated Microprocessor with block move instruction
JPS6261132A (ja) * 1985-09-12 1987-03-17 Fujitsu Ltd デ−タ転送命令制御方式
JPS6364144A (ja) * 1986-09-04 1988-03-22 Hitachi Ltd 記憶装置間デ−タ転送方式
JPH0648486B2 (ja) * 1986-10-08 1994-06-22 日本電気株式会社 ベクトルデ−タ処理装置
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE-Buch: U. Tietze, Ch. Schenk, Halbleiter- Schaltungstechnik, 6. Aufl., Springer Verlag, S. 672-675 *
DE-Firmenschrift der Siemens AG "Microcomputer Components" 1987,S. 635-665, Datenblatt SAB 82257 *
DE-Z: Elektronik, 22.2.85, H. 4, S. 153-156 *

Also Published As

Publication number Publication date
US5134698A (en) 1992-07-28
JP3005626B2 (ja) 2000-01-31
DE3931505C2 (de) 1996-11-28
JPH0285941A (ja) 1990-03-27

Similar Documents

Publication Publication Date Title
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE3338345C2 (de)
DE2463200C2 (de)
DE3751540T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung.
DE69031524T2 (de) Verfahren und Vorrichtung zur Datenübertragung zwischen Prozessorelementen
DE3726168C2 (de)
DE2718110A1 (de) Datenverarbeitungseinheit
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE3716752C2 (de)
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE3931505A1 (de) Datenverarbeitungsanlage
DE2806409A1 (de) Vorrichtung zur reduzierung der befehlsausfuehrungszeit bei einem rechner mit indirekter adressierung eines datenspeichers
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE69031361T2 (de) Taktsignalgeneratorsystem
DE3121046C2 (de)
DE69229424T2 (de) Adressengeneration in einer Datenverarbeitungseinheit
DE19883000B4 (de) Servosystem-Steuereinrichtung
DE68925771T2 (de) Emulatorsystem für eine Anzeige
DE2845218C2 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
DE4021784C2 (de)
DE4103880C2 (de) Bildverarbeitungsgerät und -verfahren
DE1499286A1 (de) Datenbearbeitungsanlage
DE19713178A1 (de) Schaltungsanordnung mit einem Prozessor und einem Datenspeicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee