DE3338329C2 - - Google Patents

Info

Publication number
DE3338329C2
DE3338329C2 DE3338329A DE3338329A DE3338329C2 DE 3338329 C2 DE3338329 C2 DE 3338329C2 DE 3338329 A DE3338329 A DE 3338329A DE 3338329 A DE3338329 A DE 3338329A DE 3338329 C2 DE3338329 C2 DE 3338329C2
Authority
DE
Germany
Prior art keywords
memory
data
command
extended
main memory
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.)
Expired
Application number
DE3338329A
Other languages
English (en)
Other versions
DE3338329A1 (de
Inventor
Hideo Wada
Humio Hadano Jp Goto
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Publication of DE3338329A1 publication Critical patent/DE3338329A1/de
Application granted granted Critical
Publication of DE3338329C2 publication Critical patent/DE3338329C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Description

Die Erfindung betrifft eine Computervorrichtung nach dem Oberbegriff des Patentanspruchs 1.
In Fig. 1 ist in Form eines Blockschaltbildes eine bekannte Computervorrichtung dargestellt, die eine Zentraleinheit CPU 10, eine Speichersteuerung SCU 20, einen Hauptspeicher MS 30, einen Ein/Ausgabeprozessor IOP 40 und einen externen Speicher 50 aufweist.
Der externe Speicher 50 ist zur Erweiterung des Hauptspeichers MS 30, dessen Speicherkapazität zu klein ist, um für die Zentraleinheit CPU 10 benötigte Daten zu speichern, nötig. Bei der in Fig. 1 dargestellten Computervorrichtung erfolgt der Zugriff zum externen Speicher 50, um Daten von einem Bereich des Hauptspeichers MS 30 in den externen Speicher 50 einzuschreiben oder aus ihm Daten auszulesen, wie folgt: Die Zentraleinheit CPU 10 gibt dem Ein/Ausgabeprozessor IOP 40 die Anweisung zur Ausführung eines Eingabe/Ausgabebefehls, die von diesem selbst gesteuert wird. Ein Beispiel eines Ein/Ausgabeprozessors IOP 40 ist in Fig. 2 dargestellt.
Eine im Ein/Ausgabeprozessor IOP 40 enthaltene Steuerung 400 empfängt den Eingabe/Ausgabe-Startbefehl und wird danach vom Eingriff durch die Zentraleinheit CPU 10 freigegeben. Darauf liest der Ein/Ausgabeprozessor IOP 40 von einer gegebenen Adresse im Hauptspeicher MS 30 über die Speichersteuerung SCU 20 einen Befehl, der einen Eingabe/Ausgabebefehlstyp, wie "Lesen" oder "Schreiben" darstellt, eine Adresse im Hauptspeicher MS 30, die für den Eingabe/Ausgabevorgang bestimmt ist, und die Anzahl der zu übertragenden Byte und setzt die ausgelesenen Daten in Latchspeicher 401, 402 und 403. Der vom Eingriff durch die Zentraleinheit CPU 10 freigegebene Eingabe/Ausgabeprozessor IOP 40 verwendet die in den drei Latchspeichern gespeicherten Daten für den Zugriff zum externen Speicher 50, um über die Speichersteuereinheit SCU 20 vom Hauptspeicher MS 30 Daten auszulesen oder in diesen Daten einzuschreiben. Nachdem die Zentraleinheit CPU 10 die Übertragung des Eingabe/Ausgabe-Startbefehls zum Eingabe/Ausgabeprozessor IOP 40 beendet hat, wird sie von der Steuerung des Eingabe/Ausgabevorgangs freigegeben und kann die Verarbeitung einer weiteren Information parallel mit der Ausführung der Eingabe/Ausgabeoperation durchführen. Wenn die Eingabe/Ausgabeoperation ausgeführt ist, bewirkt der Eingabe/Ausgabeprozessor IOP 40 eine Eingabe/Ausgabe-Unterbrechung, um die Steuerung der Zentraleinheit CPU 10 wieder zu übergeben und gibt damit dem Programm die Ergebnisse seiner Verarbeitung kund. Das zuvor geschilderte Prinzip der Datenübertragung zwischen dem externen Speicher und dem Hauptspeicher verlängert die Ausführungsdauer eines Programms, verglichen mit einer, bei der alle zur Berechnung notwendigen Daten im Hauptspeicher gespeichert sind.
Bei wissenschaftlich-technischen Großcomputern kommt es bei der Verarbeitung vor, daß nicht alle Daten einer Matrix im Hauptspeicher Platz finden. Es werden zusätzliche Eingabe/Ausgabeoperationen für den Zugriff zu einem externen Speicher erforderlich, die ihrerseits die Rechenzeit maßgeblich beeinflussen. Es ist aus den obigen Ausführungen deutlich, daß der Typ der Eingabe/Ausgabeoperation die Ausführungszeit des Programms wesentlich beeinflußt.
Hinsichtlich der Eingabe/Ausgabeoperationen hat demnach eine herkömmliche Computervorrichtung die folgenden Nachteile:
  • (a) Es vergeht eine gewisse Zeit, bevor die Zentraleinheit den Eingabe/Ausgabe-Startbefehl ausgibt; und
  • (b) die Zentraleinheit benötigt zusätzlich Zeit, um die Unterbrechungsverarbeitung auszuführen, nachdem sie die Eingabe/Ausgabeunterbrechung empfangen hat.
Der unter (a) geschilderte Nachteil beruht darauf, daß die Programmschrittanzahl zum Suchen und Zuordnen eines mit dem Eingabe/Ausgabeprozessor verbundenen externen Speichers und zum Suchen eines verwendbaren Speichertyps, wie einem Plattenspeicher oder einem Magnetbandspeicher erhöht ist und daß das Positionieren des externen Speichers Zeit kostet.
Der unter (b) geschilderte Nachteil liegt daran, daß sich die Anzahl der Programmschritte zur Verarbeitung der anderen konkurrierenden Unterbrechungen und zur Ausführung des Eingabe/Ausgabe-Unterbrechungsbefehls erhöht. Unvermeidlich erhöht sich deshalb der Zeitüberhang bei herkömmlichen Computervorrichtungen, bei deren Eingabe/Ausgabe- Operationen zwischen Hauptspeicher und externem Speicher durch den Eingabe/Ausgabeprozessor ausgeführt werden und bei denen die Ausführung der Eingabe/Ausgabe- Operation mittels einer Eingabe/Ausgabe-Startanweisung gestartet und vom Eingabe/Ausgabe-Interrupt beendet werden.
In "Elektronikpraxis", Sept. 1982, S. 132-134, ist ein DMA-Werk (Direct Memory Access) beschrieben, das eine Datenübertragung zwischen einem Speicher und einem Peripheriegerät ebenso wie auch zwischen Speichern selbst zu steuern vermag. Hierbei wird die Steuerung der Adreßleitungen von einem Prozessor auf das DMA-Werk umgestellt und die eigentliche Datenübertragung wird vom DMA-Werk gesteuert unter Überwachung der Anzahl der Worte, die sich im übertragenen Datenblock befinden. Es ist aber nicht ohne weiteres möglich, einer vorhandenen Computervorrichtung einen Erweiterungsspeicher hinzuzufügen, auch wenn man diesem ein DMA- Werk zuordnet. Die bekannten DMA-Werke weisen nämlich keine Zwischenspeichereinrichtungen zur Aufnahme für Daten-Teilmengen auf, die transferiert werden, und übliche Erweiterungsspeicher weisen im Gegensatz zum erfindungsgemäßen weder solche Zwischenspeicher noch Einrichtungen zur Aufnahme der Datenübertragungsbefehle mit Angabe der Adressen im Haupt- und Erweiterungsspeicher auf und verfügen auch nicht über eine Steuerschaltung zur Steuerung der Datenübertragung.
Durch die DE 31 26 363 A1 ist eine Vorrichtung zum Steuern einer Datenübertragung mit direktem Speicherzugriff bekannt geworden. Dort sind Peripherieeinheiten jeweils über zugeordnete DMA-Schaltungen mit der Zentraleinheit über einen Pufferspeicher verbunden. Die Datenübertragung von der einen zur anderen Peripherieeinheit erfolgt über den Pufferspeicher. Im Gegensatz zur vorliegenden Erfindung ist dabei eine Datenübertragung von einem Erweiterungsspeicher zum Hauptspeicher nicht vorgesehen. Eine Ergänzung der Vorrichtung mit einem Erweiterungsspeicher stößt auf die gleichen Schwierigkeiten, die oben im Zusammenhang mit der Literaturstelle "Elektronikpraxis" erörtert worden sind.
Die in Japan am 25. 10. 1982 veröffentlichte Druckschrift "NIKKEI ELECTRONICS" offenbart auf Seite 99, Zeile 7, obere linke Spalte bis Zeile 11, obere Rechte Spalte, einen Computer mit einem Erweiterungsspeicher.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, für eine bereits bestehende Datenverarbeitungsanlage bei Bedarf einen schnellen zusätzlichen Speicher zur Verfügung zu stellen, in welchen auch größere Datenmengen durch einen Befehl der Zentraleinheit ausgelagert und von dort auch wieder abgerufen werden können, ohne daß hierzu für die eigentliche Datenübertragung eine Steuerung durch die Zentraleinheit erforderlich ist. Gelöst wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale. Eine zweckmäßige Ausgestaltung der Erfindung ist im Unteranspruch angegeben.
Die Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigt
Fig. 1 ein Blockschaltbild einer herkömmlichen Computervorrichtung;
Fig. 2 einen in Fig. 1 verwendeten Eingabe/Ausgabeprozessor;
Fig. 3 ein Blockschaltbild einer Computervorrichtung, bei der die Erfindung anwendbar ist;
Fig. 4 eine Zentraleinheit, eine Speichersteuerung und einen Erweiterungsspeicher, die gemäß der Erfindung aufgebaut sind und in der Computervorrichtung von Fig. 3 verwendbar sind;
Fig. 5 das in der erfindungsgemäßen Computervorrichtung verwendete Befehlsformat; und
Fig. 6 ein "Lese"-Befehlsformat, das durch Implementierung des in Fig. 5 dargestellten Befehlsformat erhalten ist.
Fig. 3 zeigt eine Computervorrichtung, bei der die Erfindung anwendbar ist, mit einer Zentraleinheit CPU 11, einer Speichersteuerung SCU 21, einem Hauptspeicher MS 31, einem Eingabe/Ausgabeprozessor IOP 41, einem externen Speicher 51 und einem Erweiterungsspeicher ES 61. Bei dieser Computervorrichtung ist der Erweiterungsspeicher 61 dem in Fig. 1 dargestellten herkömmlichen Computersystem hinzugefügt.
Die CPU 11, Speichersteuerung 21 und Erweiterungsspeicher 61 sind, wie es Fig. 4 zeigt, aufgebaut. Die CPU 11 weist eine Arithmetik- und Logikeinheit ALU 110, eine Befehlssteuerung 111 und eine allgemeine Registergruppe 112 auf. die ALU 110 führt Operationen aus. Die zur Steuerung der Ausführung der Befehle eingerichtete Befehlssteuerung 111 enthält ein Befehlsregister IR 111 A, in das ein Befehl gesetzt wird, und einen Befehlsdekoder 111 B, der den in das Befehlsregister 111 A gesetzten Befehl dekodiert und verschiedenen Einheiten Anweisung zuführt. Die Registergruppe 112 besteht aus Registern, die von einem Programm bezeichnet werden.
Die Speichersteuerung 21 enthält Zugriffsanforderungskellerspeicher 210, 211 und 212, eine Priori­ tätsentscheidungseinheit 213, Latchspeicher 214 bis 219 und einen Adressenschalter 21 A. Die Zugriffsanforderungskellerspeicher 210, 211 und 212 weisen jeweils Keller 210 A, 211 A und 212 A auf.
Zugriffsanforderungen zum Hauptspeicher 31 von der CPU 11, dem Eingabe/Ausgabeprozessor IOP 41 und dem Erweiterungsspeicher 61 werden jeweils in den Kellerspeichern 210, 211 und 212 eingekellert. Die Prioritätsschaltung 213 wählt abhängig von einer vorgegebenen Priorität eine der Zugriffsanforderungen, die von den Zu­ griffsanforderungskellerspeichern 210, 211 und 212 ausgesendet werden, und sendet eine ausgewählte Zugriffsanforderung an den Hauptspeicher 31. Die Latchspeicher 214, 215, 216 und 217 werden jeweils mit einem Befehl "Lesen" oder "Schreiben" der von der Prioritätsschaltung 213 gewählten Zugriffsanforderung, einer Hauptspeicheradresse, einem Schreibdatum und einer Zugriffsanforderungs- Quellennummer (die angibt, welche Einheit die Zugriffsanforderung ausgibt, die CPU 111, der Eingabe/Ausgabe­ prozessor 41 oder der Erweiterungsspeicher 61) belegt. Die Latchspeicher 218 und 219 sind jeweils mit einem aus dem Hauptspeicher 31 ausgelesenen Datum und einer Zugriffsanforderungs-Quellennummer entsprechend den ausgelesenen Daten belegt. Der Adressenschalter 21 A sendet die angeforderten Daten im Latchspeicher 218 zu einer anfordernden Einheit entsprechend dem Inhalt des Latchspeichers 219. Falls beispielsweise die im Latchspeicher 219 stehende Nummer den Erweiterungsspeicher 61 kennzeichnet, gibt der Adressenschalter 21 A das im Latchspeicher 218 befindliche Datum an den Erweiterungsspeicher. Der Erweiterungsspeicher 61 enthält Latchspeicher 610 bis 613 und 619, Zähler 615, 616 und 620, eine Steuerschaltung 614, einen Datenspeicher 617, einen Latchspeicher 618, ein Erfassungsglied 621 und eine Rücksetzschaltung 623. Die Latchspeicher 610 bis 613 und 619 werden jeweils mit einem aus dem Hauptspeicher 31 ausgelesenen Datum, einer Anweisung ("Lesen", "Schreiben", usw.), die von der CPU 11 zugesandt ist, einer Hauptspeicheradresse, die durch den Befehl gekennzeichnet ist, einer gleichfalls vom Befehl gekennzeichneten Erweiterungsspeicheradresse und der Anzahl der zu übertragenden Datenblöcke belegt. Der Zähler 615 zählt die im Latchspeicher 612 gesetzte Adresse hoch und der Zähler 616 zählt die im Latchspeicher 613 gesetzte Adresse hoch. Der Datenspeicher 617 besteht aus Speichermedien, denen Adressen zugeordnet sind. Die Steuerschaltung 614 steuert das "Lesen" und "Schreiben" der Daten. Der Latchspeicher 618 wird mit den aus dem Datenspeicher 617 ausgelesenen Datum belegt. Beim vorliegenden Ausführungsbeispiel der Erfindung hat die Adressenzuweisung im Hauptspeicher und im Erweiterungsspeicher die folgende Form:
  • (a) Die dem Hauptspeicher und dem Erweiterungsspeicher zugeordneten Adressen gehören unterschiedlichen Adreßräumen an. Anders gesagt sind die Hauptspeicheradressen mit den Erweiterungsspeicheradressen nicht korreliert; und
  • (b) dem Hauptspeicher sind Adressen in Byte-Einheiten zugeordnet, wohingegen die dem Erweiterungsspeicher zugeordneten Adressen gröber als beim Hauptspeicher eingeteilt sind. Als Beispiel wird hier angenommen, daß dem Erweiterungsspeicher Adressen in 4-k-Byte-(KB)Einheiten zugewiesen sind, wobei diese Adressen von der CPU 11 dem Erweiterungsspeicher 61 über eine Leitung 80 zugesendet werden.
Durch die in den obigen Abschnitten (a) und (b) angeführte Adreßzuordnung unterscheidet sich die vorliegende Computervorrichtung von bekannten Computervorrichtungen in folgenden Einzelheiten:
Wegen der Systemstruktur ist bei bekannten Computervorrichtungen die Angabe von Adressen im externen Speicher als Operandendatum eines Befehls nicht möglich, wohingegen bei der vorliegenden Erfindung mittels der Maßnahme gemäß obigem Abschnitt (a) die Adreßangabe als Operandendatum eines Befehls durch die Verwendung von Latchspeichern möglich ist. Zudem erfolgt bei der herkömmlichen Technik die Datenübertragung zwischen Hauptspeicher und externem Speicher in Byte-Einheiten, während bei der vorliegenden Erfindung durch die Maßnahme gemäß obigem Abschnitt (b) die Zugriffseinheit der Datenübertragung größer gewählt werden kann. Der "Lese"- und "Schreib"-Zugriff zum Erweiterungsspeicher 61 erfolgt gemäß den unten stehenden Ausführungen:
In Fig. 5 ist das "Lese"/"Schreib"-Befehlsformat für den Erweiterungsspeicher 61 dargestellt. Ein Operationsfeld 70 enthält einen Befehlscode entsprechend dem "Lesen" oder "Schreiben". Ein erstes Operandenfeld 71 enthält eine Zahl, die ein Register der Registergruppe 112 kennzeichnet. Ein zweites Operandenfeld 72 enthält eine Zahl, die ein weiteres Register der Registergruppe 112 kennzeichnet. Vor der Ausführung des Befehls muß das Register mit der durch das Feld 71 gekennzeichneten Nummer mit einer Hauptspeicheradresse, das Register mit der durch das Feld 72 gekennzeichneten Nummer mit einer Erweiterungsspeicheradresse und das von der im Feld 72 stehenden Zahl + 1 gekennzeichnete Register, das ist das Register mit der Nummer A 2 + 1, mit der Anzahl der zu übertragenden Datenblöcke (ein Block ist gleich 4 KB) geladen werden. Dabei müssen die in den allgemeinen Registern gespeicherten Adressen mit der Größe eines Blocks von 4 KB kompatibel sein. Dem Hauptspeicher sind Adressen in Einheiten von Byte zugeordnet, wodurch zu diesem in Byte-Einheiten zugegriffen werden kann. Zur vereinfachten Darstellung der Steuerung ist jedoch hier angenommen, daß zum Hauptspeicher in 4-KB-Einheiten zugegriffen wird.
Der Befehl "Lesen" dient zur Übertragung von im Erweiterungsspeicher 61 befindlichen Daten in den Hauptspeicher 31 und hat das in Fig. 6 (1) dargestellte Format. Das Feld 70 enthält den Befehlscode entsprechend dem "Lese"-Befehl und die Felder 71 und 72 enthalten Registernummern der Registergruppe 112. Diese Registernummern werden dabei als A 1 und A 2 definiert. Vor der Befehlsausführung wurde im Register A 1 eine Adresse des Hauptspeichers 31, im Register A 2 eine Adresse des Erweiterungsspeichers und im Register (A 2 + 1) die Anzahl der zu übertragenden Datenblöcke, wie Fig. 6 (2) zeigt, gespeichert.
Im folgenden wird anhand der Fig. 4 die Ausführung des "Lese"-Befehls beschrieben:
Wenn im Befehlsregister 111 A ein "Lese"-Befehl gesetzt ist, wird dieser vom Befehlsdekoder 111 B dekodiert, so daß eine Leseanweisung, eine Hauptspeicheradresse, eine Erweiterungsspeicheradresse und die Anzahl der zu übertragenden Datenblöcke dem Erweiterungsspeicher 61 über eine Signalleitung 80 übertragen werden und jeweils in die Latchspeicher 611 bis 613 und 619 gesetzt werden. Die Erweiterungsspeicheradresse und die Blockzahl sind grob, das heißt sie sind in Einheiten von 4 KB gegeben und die restlichen niederwertigen 12 Bits der Latchspeicher 613 und 619 werden alle vorher mittels einer Rücksetzschaltung 623, die mit der CPU über die Signalleitung 80 verbunden ist, auf Null gesetzt. Die Steuerschaltung 614 überwacht den Inhalt des Latchspeichers 611 und leitet die Leseoperation ein. Eine Leseanforderung wird in einer Einheit von vorgegebenen Speicherplätzen im Hauptspeicher 31 und im Erweiterungsspeicher 61 ausgeführt und die Zugriffseinheit ist dabei 8 Byte. Die 8 Byte breiten Daten werden parallel gelesen, obwohl jedes einzelne Byte adressiert werden kann. In Übereinstimmung mit der Erweiterungsspeicheradresse, die im Latchspeicher 613 steht, wird ein Datum aus dem Datenspeicher 617 ausgelesen und das ausgelesene Datum in den Latchspeicher 618 gesetzt. Die Steuerschaltung 614 bereitet eine Zugriffsanforderung auf, mit der die im Latchspeicher 618 gespeicherten Daten in den Hauptspeicher unter der im Latchspeicher 612 gespeicherten Adresse eingeschrieben werden und überträgt diese Zugriffsanforderung der Speichersteuerung 21 über eine Signalleitung 82. Die Zugriffsanforderung, die Hauptspeicheradresse und die Daten werden im Zugriffs­ anforderungskellerspeicher 212 zeitweise eingekellert und danach der Prioritätsschaltung 213 zugesendet. Nach der Informationsauswahl durch die Prioritätsschaltung 213 wird eine Anweisung für die "Schreib"-Zugriffsanforderung, die Hauptspeicheradresse, die Daten und eine Nummer, die die Zugriffsanforderungs- Quelle angibt (hier gibt sie den Erweiterungsspeicher 61 an), jeweils in die Latchspeicher 214, 215, 216 und 217 gesetzt und danach dem Hauptspeicher 31 zum Einschreiben der Daten zugesendet. Auf diese Weise werden anfänglich 8 Byte der Daten vom Erweiterungsspeicher 61 zum Hauptspeicher 31 übertragen. Wenn somit eine Zugriffsanforderung dem Hauptspeicher 31 übertragen wurde, sendet die Speichersteuerung 21 dem Erweiterungsspeicher 61 über eine Signalleitung 81 ein Signal, das das Aussenden einer weiteren Zugriffsanforderung vom Erweiterungsspeicher 61 freigibt. Die Steuerschaltung 614 steuert abhängig vom Signal auf der Signalleitung 81 die Zähler 615 und 616 an, die wiederum den Inhalt der Latchspeicher 612 und 613 um 8 vorstellen, so daß diese jeweils eine um 8 Byte hochgezählte Hauptspeicheradresse und Erweiterungsspeicheradresse für den folgenden Zugriff angeben. Mittels des fortgeschriebenen Inhalts der Latchspeicher 612 und 613 wird eine Verarbeitung, wie sie vorangehend beschrieben wurde, ausgeführt und die folgenden 8 Byte vom Erweiterungsspeicher 61 zum Hauptspeicher 31 übertragen. In der Folge werden die Daten im Erweiterungsspeicher 61 nacheinander 8-byteweise zum Hauptspeicher 31 in derselben Weise übertragen.
Die Befehlssteuerung 111 verwaltet die Anzahl der zu übertragenden Datenblöcke und unterrichtet den Erweiterungsspeicher 61, damit dieser eine vorgegebene Blockanzahl übertragen kann. Die Befehlssteuerung 111 überwacht den Ausgang des Erfassungsglieds 621 über eine Leitung 622 und erhält somit den Zeitpunkt, wann die Übertragung einer vorgegebenen Anzahl von Datenblöcken, die vom Erweiterungsspeicher 61 bezeichnet sind, beendet ist. Die Blocknummer im Latchspeicher 619 wird bei jeder 8-Byte-Übertragungsstufe mittels des Zählers 620 um 8 erniedrigt und erreicht am Ende der Datenübertragung den Wert Null. Damit ist der Befehl ausgeführt.
Als nächstes wird die Ausführung eines "Schreib"-Befehls beschrieben.
Mit dem "Schreib"-Befehl werden im Hauptspeicher 31 gespeicherte Daten zum Erweiterungsspeicher 61 übertragen. Das Befehlsformat des "Schreib"-Befehls ist dasselbe wie beim "Lese"-Befehl, es wird lediglich im Feld 70 von Fig. 5 (1) der entsprechende "Schreib"-Befehlscode gesetzt.
Ein in das Befehlsregister 111 A gesetzter "Schreib"- Befehl wird vom Befehlsdekoder 111 B dekodiert, der eine Schreibanweisung, eine Hauptspeicheradresse und eine Erweiterungsspeicheradresse erzeugt, die dem Erweiterungsspeicher 61 über die Signalleitung 80 übertragen und in die Latchspeicher 611, 612 und 613 gesetzt werden. Die Steuerschaltung 614 überwacht den Inhalt des Latchspeichers 611 und leitet die Schreiboperation ein. So wie die Leseanforderung wird auch die Schreibanforderung in 8-Byte-Einheiten ausgeführt. Die Steuerschaltung 614 erzeugt auf der Basis der im Latchspeicher 612 stehenden Hauptspeicheradresse eine Zugriffsanforderung zum Datenlesen und sendet diese über die Signalleitung 82 der Speichersteuerung 21. Die Zugriffsanforderung und die Hauptspeicheradresse werden im Zugriffsanforderungskellerspeicher 212 eingekellert und danach der Prioritätsschaltung 213 eingegeben. Sobald die Information von der Prioritätsschaltung 213 ausgewählt ist, wird eine von der Zugriffsanforderung abgeleitete Leseanweisung, die Hauptspeicheradresse und eine die Zugriffsanforderungs- Quelle angebende Zahl (hier gibt diese Zahl den Erweiterungsspeicher 61 an) jeweils in die Latchspeicher 214, 215 und 217 gesetzt und danach dem Hauptspeicher 31 übertragen, aus dem danach die Daten ausgelesen werden. Danach werden die aus dem Hauptspeicher 31 ausgelesenen Daten und die Zugriffsanforderungs-Quellennummer (gibt den Erweiterungsspeicher 61 an) jeweils in die Latchspeicher 218 und 219 gesetzt. Der Adreßschalter 21 A sendet entsprechend dem Inhalt des Latchspeichers 219 die im Latchspeicher 218 gespeicherten Daten zur Quelle, d. h. zum Erweiterungsspeicher 61. Dort werden die Daten in den Latchspeicher 610 zwischengespeichert und die Steuerschaltung 614 schreibt die im Latchspeicher 610 zwischengespeicherten Daten in den Datenspeicher 617 unter der vom Inhalt des Latchspeichers 613 angegebene Adresse. Gleichzeitig stellt die Steuerung 614 unter Verwendung des Zählers 616 den Inhalt des Latchspeichers 613 um 8 vor, um eine neue Speicheradresse, zu der danach zugegriffen wird, zu kennzeichnen. Auf diese Weise werden die 8-Byte-Anfangsdaten vom Hauptspeicher 31 zum Erweiterungsspeicher 61 übertragen. Wie bei der Ausführung des "Lese"-Befehls sendet die Speichersteuerung 21 ein Signal auf der Leitung 81, wenn die Zugriffsanforderung vom Erweiterungsspeicher 61 dem Hauptspeicher 31 zugeschickt wird, so daß durch dieses Signal der Erweiterungsspeicher 61 die folgende Zugriffsanforderung aussenden kann. Die Steuerschaltung 614 stellt den Inhalt des Latchspeichers 612 unter Verwendung des Zählers 615 um 8 vor und bezeichnet damit die Hauptspeicheradresse, zu der als nächstens zugegriffen wird. Unter Verwendung des fortgeschriebenen Inhalts des Latchspeichers 612 wird mittels derselben zuvor geschilderten Verarbeitung des darauffolgenden 8-Byte- Datum aus dem Hauptspeicher 31 ausgelesen und in den Erweiterungsspeicher 61 eingeschrieben.
Die Anzahl der übertragenen Blöcke wird wie beim "Lese"-Befehl verwaltet. Mit dem vorangehend beschriebenen Ausführungsbeispiel der Erfindung werden folgende Vorteile erzielt:
  • 1. Da die Adreßzuordnung für den Erweiterungsspeicher gröber als für den Hauptspeicher ist, bewirkt ein Befehl die Übertragung einer großen Menge von Daten.
  • 2. Da die Übertragung der Daten zwischen Erweiterungsspeicher und Hauptspeicher über die Speichersteuerung mittels einer von der CPU ausgegebenen Anweisung erfolgt und die Adressen des Erweiterungsspeichers im Register R₂ indirekt als Operand in Befehl angegeben werden, wird die sonst bei der herkömmlichen Technik verbrauchte Zeit zum Suchen, Zuordnen und Positionieren des Zugriffs zu einem verwendbaren externen Speicher, der mit dem Eingabe/Ausgabeprozessor verbunden ist, eingespart.
  • 3. Da die CPU die Ausführung eines Lese/Schreibbefehls für den Erweiterungsspeicher verwaltet und das Ende des Lese/Schreibvorgangs mit dem Ende der Befehlsausführung übereinstimmt, ist der bei der bisherigen Technik nötige Eingabe/Ausgabe-Interrupt für das Ende der Eingabe/Ausgabeoperation unnötig, wodurch die Zeit für die Nachverarbeitung des Eingangs/Ausgabe-Interrupts eingespart wird.
Es ist hervorzuheben, daß bei der vorangehenden Beschreibung angenommen wird, daß der Zugriff zum externen Speicher 51 durch den Betrieb eines mechanischen Systems, wie bei einer Magnetplatte oder einem Magnetband erfolgt, wohingegen der Erweiterungsspeicher 61 aus Halbleiterspeicherzellen besteht.
Die Zugriffszeit zum externen Speicher ist sehr viel länger als für den Hauptspeicher. Deshalb ist es unumgänglich, den Eingabe/Ausgabevorgang beim herkömmlichen Computersystem dem Eingabe/Ausgabeprozessor zu überlassen und die CPU von der Eingabe und der Ausgabe während dieser Operationen freizustellen. Der Fortschritt bei der Halbleitertechnologie erbrachte jedoch die Entwicklung von sehr schnellen Halbleiterspeichern großer Speicherkapazität, wodurch ein externer Speicher großer Kapazität (entsprechend dem Erweiterungsspeicher 61 in Fig. 3), dessen Zugriffszeit mit der des Hauptspeichers vergleichbar ist, verwirklicht werden kann. Unter diesen Bedingungen kann die Vorrichtung mit direktem Datenaustausch zwischen Hauptspeicher und externem Speicher (Erweiterungsspeicher 61) gemäß der vorliegenden Erfindung gestaltet werden.

Claims (7)

1. Computervorrichtung bestehend aus
  • - einer Zentralverarbeitungseinheit (CPU 11) mit - einer Befehlssteuerung (111), die ein Befehlsregister (111A) und einen Befehlsdekoder (111 B) aufweist,
- einem Hauptspeicher (31),
- einem Erweiterungsspeicher (61) und
- einer Speichersteuerung (21) mit
  • - Zwischenspeichereinrichtungen für die Datenübertragungsbefehle (210-212) und die zu übertragenden Daten (216, 218),
dadurch gekennzeichnet,
daß der Erweiterungsspeicher (61) mit einem Datenspeicher (617) in Form eines Halbleiterspeichers aufweist:
  • - Zwischenspeicher für einen von der Befehlssteuerung (111) ausgegebenen Datenübertragungsbefehl mit je einem Speicher für die Aufnahme der Operationsart (611), der aktualisierten Adresse (612) des Hauptspeichers (31), der aktualisierten Adresse (613) des Erweiterungsspeichers (61) und der aktualisierten Blockzahl (619);
  • - einen Zwischenspeicher (618) für eine aus dem Datenspeicher (617) ausgelesene Daten-Teilmenge,
  • - einen Zwischenspeicher (610) für die in den Datenspeicher (617) einzuschreibende Daten-Teilmenge,
  • - eine Steuerschaltung (614), die die Datenübertragung zwischen Haupt- und Erweiterungsspeicher (31, 61) unabhängig von der Zentralverarbeitungseinheit (CPU 11) steuert, und
daß die Speichersteuerung (21) einen Zugriffsanforderungs­ kellerspeicher (212) aufweist zur Aufnahme von Lese- und Schreibanforderungen der Steuerschaltung (614) für den Hauptspeicher (31), und
daß die Speichersteuerung (21) eine Prioritätsschaltung (213) aufweist, welche die aktualisierte Adresse des Hauptspeichers (31), die Befehlsart und im Falle eines Lesebefehls die aus dem Erweiterungsspeicher (61) ausgelesene Daten-Teilmenge über Latchspeicher (214-216) dem Hauptspeicher (31) zuleitet.
2. Computervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Speichersteuerung (21) Register (217, 219) zur Speicherung von Zugriffsanforderungs-Quellennummern aufweist.
DE19833338329 1983-03-14 1983-10-21 Computersystem Granted DE3338329A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58040676A JPS59167761A (ja) 1983-03-14 1983-03-14 計算機システム

Publications (2)

Publication Number Publication Date
DE3338329A1 DE3338329A1 (de) 1984-09-20
DE3338329C2 true DE3338329C2 (de) 1989-10-19

Family

ID=12587126

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833338329 Granted DE3338329A1 (de) 1983-03-14 1983-10-21 Computersystem

Country Status (4)

Country Link
US (1) US4639862A (de)
JP (1) JPS59167761A (de)
DE (1) DE3338329A1 (de)
GB (1) GB2136993B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61239339A (ja) * 1985-04-16 1986-10-24 Fujitsu Ltd ペ−ジ・デ−タ転送制御方式
JPS6261132A (ja) * 1985-09-12 1987-03-17 Fujitsu Ltd デ−タ転送命令制御方式
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式
JPS6364144A (ja) * 1986-09-04 1988-03-22 Hitachi Ltd 記憶装置間デ−タ転送方式
JPH01147647A (ja) * 1987-12-03 1989-06-09 Mitsubishi Electric Corp データ処理装置
JP2965987B2 (ja) * 1988-02-22 1999-10-18 株式会社日立製作所 データ処理システム
JP2761506B2 (ja) * 1988-07-08 1998-06-04 株式会社日立製作所 主記憶制御装置
JP3005626B2 (ja) * 1988-09-21 2000-01-31 株式会社日立製作所 データ処理システムおよびデータ転送方法
JPH02234244A (ja) * 1989-03-08 1990-09-17 Nec Corp 拡張記憶制御方式
FR2644260B1 (fr) * 1989-03-08 1993-10-29 Nec Corp Dispositif de commande d'acces en memoire pouvant proceder a une commande simple
JPH036754A (ja) * 1989-06-05 1991-01-14 Fujitsu Ltd データ転送制御方式
US5317707A (en) * 1989-10-20 1994-05-31 Texas Instruments Incorporated Expanded memory interface for supporting expanded, conventional or extended memory for communication between an application processor and an external processor
JP3102495B2 (ja) * 1989-12-28 2000-10-23 株式会社日立製作所 仮想記憶管理方法
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52129241A (en) * 1976-04-21 1977-10-29 Hitachi Ltd Memory control system
JPS5346064A (en) * 1976-10-08 1978-04-25 Kikusui Electronics Multiphenomena oscilloscope
JPS5621222A (en) * 1979-07-31 1981-02-27 Casio Comput Co Ltd Memory extension system
JPS56110163A (en) * 1980-02-06 1981-09-01 Hitachi Ltd Logout system
JPS5717049A (en) * 1980-07-04 1982-01-28 Hitachi Ltd Direct memory access controlling circuit and data processing system
DE3048250C2 (de) * 1980-12-20 1984-04-19 Brown, Boveri & Cie Ag, 6800 Mannheim Schaltunsanordnung zur Übertragung von bytekonfigurierten Informationsblöcken über ein Bussystem mittels Datenpufferregister
US4476522A (en) * 1981-03-09 1984-10-09 International Business Machines Corporation Programmable peripheral processing controller with mode-selectable address register sequencing
JPS57117055A (en) * 1981-01-14 1982-07-21 Sharp Corp Memory extension system of microcomputer
US4410946A (en) * 1981-06-15 1983-10-18 International Business Machines Corporation Cache extension to processor local storage
US4479178A (en) * 1981-07-02 1984-10-23 Texas Instruments Incorporated Quadruply time-multiplex information bus
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means

Also Published As

Publication number Publication date
GB2136993A (en) 1984-09-26
JPH0340868B2 (de) 1991-06-20
GB8327930D0 (en) 1983-11-23
JPS59167761A (ja) 1984-09-21
DE3338329A1 (de) 1984-09-20
US4639862A (en) 1987-01-27
GB2136993B (en) 1987-01-21

Similar Documents

Publication Publication Date Title
DE3338329C2 (de)
DE69728212T2 (de) Speichersteuerung und diese verwendendes Rechnersystem
DE2350884C2 (de) Adreßumsetzungseinheit
DE3011552C2 (de)
DE10048072A1 (de) Linklisten-DMA-Descriptor-Architektur
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
CH657218A5 (de) Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher.
DE3741953A1 (de) Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE4123550C2 (de) Informationsverarbeitungssystem mit direktem Speicherzugriff
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2718551B2 (de)
DE2149200C3 (de) Einrichtung zur Auswahl von im Verlauf einer Programmbearbeitung am häufigsten benötigten Daten
DE1524773B2 (de) Adressierungssystem für Speichervorrichtungen
DE3545937A1 (de) Mikroprozessor
DE2233193A1 (de) Stapel-speichersystem
DE3138972A1 (de) Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb
CH495584A (de) Datenverarbeitungsanlage
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE2726679A1 (de) Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 12/08

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee