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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (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)
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:
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.
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.
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)
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 | 株式会社日立製作所 | データ処理システムおよびデータ転送方法 |
FR2644260B1 (fr) * | 1989-03-08 | 1993-10-29 | Nec Corp | Dispositif de commande d'acces en memoire pouvant proceder a une commande simple |
JPH02234244A (ja) * | 1989-03-08 | 1990-09-17 | Nec Corp | 拡張記憶制御方式 |
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)
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 |
-
1983
- 1983-03-14 JP JP58040676A patent/JPS59167761A/ja active Granted
- 1983-10-19 GB GB08327930A patent/GB2136993B/en not_active Expired
- 1983-10-21 US US06/544,136 patent/US4639862A/en not_active Expired - Lifetime
- 1983-10-21 DE DE19833338329 patent/DE3338329A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
GB2136993B (en) | 1987-01-21 |
GB8327930D0 (en) | 1983-11-23 |
DE3338329A1 (de) | 1984-09-20 |
JPH0340868B2 (de) | 1991-06-20 |
US4639862A (en) | 1987-01-27 |
GB2136993A (en) | 1984-09-26 |
JPS59167761A (ja) | 1984-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3338329C2 (de) | ||
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69728212T2 (de) | Speichersteuerung und diese verwendendes Rechnersystem | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE3687724T2 (de) | Digitalprozessorsteuerung. | |
DE10048072A1 (de) | Linklisten-DMA-Descriptor-Architektur | |
DE3751540T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung. | |
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 | |
CH657218A5 (de) | Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher. | |
DE3885780T2 (de) | Adressierung in einer Computer-Anordnung. | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
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 | |
CH495584A (de) | Datenverarbeitungsanlage | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher |
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 |