-
-
Datenverarbeitungsanlage
-
Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage, die
einen Zentralprozessor, einen Arbeitsspeicher mit großer Speicherkapazität und großer
Zugriffszeit, einen mit dem Arbeitsspeicher verbundenen Pufferspeicher kleiner Speicherkapazität
und kleiner Zugriffszeit und einen Ein/Ausgabeprozessor zum Steuern einer Ein-und
Ausgabe von Daten enthält.
-
Es ist bereits allgemein bekannt, bei leistungsfähigen, kommerziellen
Datenverarbeitungsanlagen zwischen einem Arbeitsspeicher mit großer Speicherkapazität
und verhältnismäßig großer Zugriffszeit und einem Zentralprozessor einen Pufferspeicher
mit kleiner Speicherkapazität und sehr kleiner Zugriffszeit anzuordnen. Der Pufferspeicher,
der auch als Cache bezeichnet wird, hat in erster Linie die Aufgabe, möglichst viele
Lesezugriffe des Zentralprozessors zum Arbeitsspeicher zu befriedigen. Bei einem
Lesezugriff gibt der Zentralprozessor zunächst die Adresse der gewünschten Daten
an das Cache. Falls das Cache das gewünschte Datenwort enthält, wird dieses sofort
an den Zentralprozessor weitergegeben. Andernfalls muß die Adresse an den Arbeitsspeicher
weitergeleitet werden und die Daten werden zunächst vom Hauptspeicher an das Cache
und danach von diesem zum Zentralprozessor übertragen. Falls jedoch der Zentralprozessor
über den Pufferspeicher und gleichzeitig der Ein/Ausgabeprozessor direkt zum Arbeitsspeicher
zugreifen, können Schreibkonfliktsituationen entstehen, die darin bestehen, daß
unter der gleichen Adresse im Arbeitsspeicher und im Cache verschiedene Daten stehen,
so daß die Datenverarbeitungsanlage falsch arbeitet.
-
Der Erfindung liegt die Aufgabe zugrunde eine Datenverarbeitungsanlage
anzugeben, bei der die Daten-vom Arbeitsspeicher einerseits über einen Pufferspeicher
zum Zentralprozessor und andererseits vom Arbeitsspeicher zum Ein/Ausgabeprozessor
übertragen werden und bei der Schreibkonfliktsituationen vermieden werden.
-
Erfindungsgemäß wird die Aufgabe bei der Datenverarbeitungsanlage
der eingangs genannten Art dadurch gelöst, daß der Pufferspeicher mit dem Ein/Ausgabeprozessor
verbunden. ist und vom Zentralprozessor und dem Ein/A#sgabeprozessor gemeinsam benutzt
wird und daß der Pufferspeicher eine Steuereinheit enthält, die während einer Ein/Ausgabeoperation
ein Einspeichern der Daten nur in vorgegebene Bereiche des Pufferspeichers freigibt.
-
Die Datenverarbeitungsanlage gemäß der Erfindung hat den Vorteil,
daß sie einen einfachen Aufbau erhält, da der Zentralprozessor und der Ein/Ausgabeprozessor
über eine gemeinsame Schnittstelle über den Pufferspeicher zum Arbeitsspeicher zugreifen
können. Dieser Vorteil ist insbesondere dann von großer Bedeutung, wenn ein in den
Zentralprozessor integrierter Ein/Ausgabeprozessor vorgesehen ist.
-
Ein weiterer Vorteil ist darin zu sehen, daß vom Ein/Ausgabeprozessor
die Pufferwirkung des Pufferspeichers mitbenutzt werden kann.
-
Da es sehr wichtig ist, im Pufferspeicher häufig benutzte Daten möglichst
lange halten zu können, wird durch das Einspeichern der Daten bei einer Ein/Ausgabeoperation
in vorgegebene Bereiche des Pufferspeichers verhindert, daß bei schnellen und lange
andauernden Ausgabeoperationen die vom Zentralprozessor benötigten Daten im Pufferspeicher
durch die auszugebenden Daten gelöscht werden.
-
Falls ein Pufferspeicher vorgesehen ist, der nach dem Kongruenzklassenprinzip
organisiert ist und aus einer Mehrzahl von gleichartigen Speicherbänken besteht
und beispielsweise der Ersetzungsalgorithmus für die Daten darin besteht, daß diejenigen
Daten, die zuerst eingespeichert wurden auch als erste wieder überschrieben werden,
ist es von Vorteil, wenn die Steuereinheit Schaltglieder enthält, die während einer
Ein/Ausgabeoperation den Algorithmus blockieren, nachdem zwischen dem Arbeitsspeicher
und dem Zentralprozessor übertragene Daten ersetzt werden und die während der Ein/Ausgabeoperation
das
Einspeichern der Daten nur in die, bezogen auf die Klasse, zuletzt von dem Ein/Ausgabeprozessor
benutzte Speicherbank freigeben.
-
Ein besonders geringer Anteil der vom Zentralprozessor benötigten
Daten im Pufferspeicher wird bei Ein/Ausgabeoperationen gelöscht, wenn die Steuereinheit
derart ausgebildet ist, daß sie während einer Ein/Ausgabeoperation das Einspeichern
der Daten nur in eine einzige Zelle des Pufferspeichers freigibt.
-
Bei einer Steuerung des Ersetzungsalgorithmus durch den Zentralprozessor
ist es vorteilhaft, wenn an einer vorgegebenen Stelle der Zellen im Pufferspeicher
ein Binärzeichen vorgesehen ist, das anzeigt, ob der zugehörige Eintrag in dieser
Zelle vom Zentralprozessor benutzt worden ist und wenn die Steuereinheit während
jeder Ein/Ausgabeoperation verhindert, daß durch dieses Binärzeichen nach einem
Zugriff des Ein/Ausc#abeprozessors zu diesem Eintrag dieser als benutzt ausgewiesen
wird.
-
Im folgenden wird ein Ausführungsbeispiel der Datenverarbeitungsanlage
gemäß der Erfindung anhand von Zeichnungen erläutert.
-
Es zeigen: Fig. t ein Blockschaltbild der Datenverarbeitungsanlage,
Fig. 2 ein Blockschaltbild einer Steuereinheit im Pufferspeicher.
-
Das in Fig. 1 dargestellte Blockschaltbild zeigt einen Zentralprozessor
ZP und einen Ein/Ausgabeprozessor EA, der integrierter Bestandteil des Zentralprozessors
ZP sein kann. Der Zentralprozessor ZP und der Ein/Ausgabeprozessor EA sind über
einen Pufferspeicher CA, auch Cache genannt, mit einem Arbeitsspeicher AS verbunden.
Bei einem Lesezugriff gibt der Zentralprozessor an das Cache CA zunächst ein Adressenwort
AD ab, das die Adresse eines gewünschten Datenwortes angibt. Falls das gewünschte
Datenwort im Cache CA enthalten ist, wird es durch Signale DA an den Zentralprozessor
abgegeben. Andernfalls wird das Adressenwort an den Arbeitsspeicher AS abgegeben.
Anschließend wird vom Arbeitsspeicher AS zum Cache CA ein Datenblock übertragen,
der aus mehreren Datenwörtern besteht und das gewünschte Datenwort enthält. Danach
wird das gewünschte Datenwort zum Zentralprozessor übertragen.
-
In ähnlicher Weise werden Daten vom Arbeitsspeicher über das Cache
CA zum Ein/Ausgabeprozessor EA übertragen. Bei schnellen und lange andauernden Ein/Ausgabeoperationen
ist es jedoch wichtig, daß vom Zentralprozessor ZP benötigte Daten im Cache CA nicht
durch Ein/ Ausgabedaten gelöscht werden, da es zum Erreichen einer großen Trefferrate
im Cache CA äußerst wichtig ist, häufig benutzte Daten möglichst lange im Cache
CA zu halten.
-
Im Cache CA ist eine Steuereinheit SE vorgesehen, die den Ersetzungsalgorithmus
festlegt, nachdem im Cache CA vorhandene Daten durch neue Daten ersetzt werden.
Um sicherzustellen, daß Ein/Ausgabedate# die vom Zentralprozessor ZP benötigten
Daten nicht löschen, sorgt die Steuereinheit SE dafür, daß die Ein/Ausgabedaten
jeweils nur in vorgegebenen Bereichen des Caches CA eingespeichert werden. Beispielsweise
kann die Steuereinheit SE derart ausgebildet sein, daß die Ein/Ausgabedaten jeweils
nur in eine einzige Zelle des Caches CA eingespeichert werden. Falls das Cache CA
beispielsweise aus einer Mehrzahl von Speicherbänken aufgebaut ist und die Daten
zum Arbeitsspeicher AS in das Cache CA jeweils nach dem bekannten Kongruenzklassenprinzip
eingespeichert werden, kann es auch vorteilhaft sein, wenn die Ein/Ausgabedaten
jeweils nur innerhalb einer einzigen Bank eingespeichert werden. Im ungünstigsten
Fall werden dann vom Zentralprozessor ZP benötIgte Daten nur jeweils in einer einzigen
Speicherbank gelöscht. In beiden Fällen gibt der Ein/Ausgabeprozessor EA ein Signal
S1 an die Steuereinheit SE ab, mit dem der jeweilige Betriebszustand eingestellt
wird.
-
Eine weitergehende Möglichkeit zur Steuerung des Ersetzungsalgorithmus
besteht darin, daß an einer vorgegebenen Stelle im Cache CA, dem sogenannten Flagfeld
eines jeden Puffereintrags ein Binärzeichen eingeführt wird, aus dem zu ersehen
ist, ob der zugehörige Eintrag im Cache CA vom Zentralprozessor ZP benutzt worden
ist.
-
Bei Lesedatenzugriffen kann dann verhindert werden, daß bei Benutzung
eines Eintrags dieser im Flagfeld über das Binärzeichen als benutzt ausgewiesen
wird.
-
Das in Fig. 2 dargestellte Schaltbild der Steuereinheit SE ist derart
ausgebildet, daß bei Zugriffen des Zentralprozessors ZP zum
Cache
CA jeweils diejenigen Daten als erste gelöscht werden, die als erste in das Cache
CA eingespeichert worden sind. Es wird angenommen, daß das Cache CA aus einer Mehrzahl
von Speicherbänken SB1 bis SBn gebildet wird, von denen in Fig. 2 jeweils nur die
Tag-und Flagfelder und nicht die Datenfelder dargestellt sind.
-
Die Steuereinheit besteht aus einem Verstärker V, einer der Anzahl
der Speicherbänke entsprechenden Anzahl von Verknüpfungsgliedern U1 bis Un und Flipflops
F1 bis Fn.
-
Zunächst wird angenommen, daß Daten zwischen dem Arbeitsspeicher AS
und dem Zentralprozessor ZP übertragen werden. Das Signal S1 hat in diesem Fall
den Binärwert 0. Ein Signal am invertierenden Ausgang des Verstärkers V hat damit
den Binärwert 1 und jeweils die linken UND-Glieder in den Verknüpfungsgliedern U1
bis Un sind freigegeben. Vom Arbeitsspeicher AS werden die Daten in ein Datenfeld
einer der Speicherbänke SB1 bis SBn eingetragen. Gleichzeitig wird in ein zugehöriges
Tagfeld durch die Signale AD die Seiten adresse der jeweiligen Daten eingespeichert.
Im Flagfeld, in dem eine Mehrzahl von Binärzeichen gespeichert werden können, wird
beispielsweise durch eines der Binärzeichen V1 bis Vn angezeigt, ob die zugehörigen
Daten gültig sind. Mit Hilfe eines weiteren Binärzeichens R1 bis Rn werden die jeweils
zuletzt für den Zentralprozessor ZP eingetragenen Daten gekennzeichnet. Beispielsweise
möge in der letzten Speicherzelle der Speicherbank SB1 das Binärzeichen R1 den Binärwert
1 haben. Mit einem Übernahmeimpuls T, der vom Zentralprozessor ZP abgegeben wird
und der die Reihenfolge zwischenspeichert, nach der die Einträge im Cache CA für
den Zentralprozessor ZP erfolgt waren, nimmt das Flipflop F1 den Binärwert 1 an
und zeigt damit an, daß der nächstfolgende Eintrag in die Speicherbank SB2 eingespeichert
wird und das Binärzeichen R2 nimmt den Binärwert 1 an. Auf diese Weise werden die
Daten nacheinander in die Speicherbänke SP1 bis SPn eingespeichert.
-
Falls durch das vom Ein/Ausgabeprozessor EA abgegebene Signal S1 eine
Ein/Ausgabeoperation angezeigt wird, nimmt das Signal am nichtinvertierenden Ausgang
des Verstärkers V den Binärwert 1 an und die jeweils rechten UND-Glieder der Verknüpfungsglieder
U1 bis Un
werden freigegeben. Bei einer Einspeicherung von Daten
wird damit nur diejenige Speicherbank SBx belegt, bei der das Binärzeichen R(x-1)
gerade den Binärwert 1 hat. Auf diese Weise wird sichergestellt, daß bei schnellen
und andauern#den Ein/Ausgabeoperationen nur die Daten in einer Zelle einer Bankklasse
d.h. nur in einer Speicherbank überschrieben werden, während die übrigen, vom Zentralprozessor
ZP gegebenenfalls benötigten Daten in der jeweiligen Klasse nicht verändert werden.
-
4 Patentansprüche 2 Figuren