DE2626295A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2626295A1
DE2626295A1 DE19762626295 DE2626295A DE2626295A1 DE 2626295 A1 DE2626295 A1 DE 2626295A1 DE 19762626295 DE19762626295 DE 19762626295 DE 2626295 A DE2626295 A DE 2626295A DE 2626295 A1 DE2626295 A1 DE 2626295A1
Authority
DE
Germany
Prior art keywords
data
input
output
memory
buffer 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.)
Granted
Application number
DE19762626295
Other languages
English (en)
Other versions
DE2626295C3 (de
DE2626295B2 (de
Inventor
Wolfgang Dipl Phys Feissel
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19762626295 priority Critical patent/DE2626295C3/de
Priority to CH566877A priority patent/CH622633A5/de
Priority to AT406577A priority patent/AT374020B/de
Priority to IT2448577A priority patent/IT1084105B/it
Priority to NL7706411A priority patent/NL7706411A/xx
Priority to BE178363A priority patent/BE855590A/xx
Publication of DE2626295A1 publication Critical patent/DE2626295A1/de
Publication of DE2626295B2 publication Critical patent/DE2626295B2/de
Application granted granted Critical
Publication of DE2626295C3 publication Critical patent/DE2626295C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

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)

Description

  • 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

Claims (4)

  1. P a t e n t a n s p r ü c h e 1. 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, d a dur c h g e k e n n z e i c h n e t, daß der Pufferspeicher (CA) mit dem Ein/Ausgabeprozessor (EA) verbunden ist und vom Zentralprozessor (ZP) und dem Ein/Ausgabeprozessor (EA) gemeinsam benutzt wird und daß der Pufferspeicher (CA) eine Steuereinheit (SE) enthält, die während einer Ein/Ausgabeoperation ein Einspeichern der Daten nur in vorgegebene Bereiche des Pufferspeichers (CA) freigibt.
  2. 2. Datenverarbeitungsanlage nach Anspruch 1, bei der der Pufferspeicher aus einer Mehrzahl von Speicherbänken aufgebaut ist, d adu r c h g e k e n n z e i c h n e t, daß die Steuereinheit (SE) Schaltglieder (F1 bis Fn, U1 bis Un) enthält, die während einer Ein/Ausgabeoperaticn den Algorithmus blockieren, nachdem zwischen dem Arbeitsspeicher (AS) und dem Zentralprozessor (ZP) ü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 (BP1 bis SBn) freigeben.
  3. 3. Datenverarbeitungsanlage nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß die Steuereinheit (SE) derart ausgebildet ist, daß sie während einer Ein/Ausgabeoperation das Einspeichern der Daten nur in eine einzige Zelle des Pufferspeichers (CA) freigibt.
  4. 4. Datenverarbeitungsanlage nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß an einer vorgegebenen Stelle der Zellen im Pufferspeicher (CA) ein Binärzeichen (R1 bis Rn) vorgesehen ist, das anzeigt, ob der zugehörige Eintrag in dieser Zelle vom Zentralprozessor (ZP) benutzt worden ist und daß die Steuereinheit (SE) während jeder Ein/Ausgabeoperation verhindert, daß durch dieses Binärzeichen (R1 bis Rn) nach einem Zugriff des Ein/Ausgabeprozessors (EA) zu diesem Eintrag dieser als benutzt ausgewiesen wird.
DE19762626295 1976-06-11 1976-06-11 Datenverarbeitungsanlage Expired DE2626295C3 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE19762626295 DE2626295C3 (de) 1976-06-11 1976-06-11 Datenverarbeitungsanlage
CH566877A CH622633A5 (en) 1976-06-11 1977-05-06 Data processing system with buffer memory assigned to both central processor and input-output processor
AT406577A AT374020B (de) 1976-06-11 1977-06-08 Datenverarbeitungsanlage
IT2448577A IT1084105B (it) 1976-06-11 1977-06-08 Impianto elaboratore di dati
NL7706411A NL7706411A (nl) 1976-06-11 1977-06-10 Informatieverwerkende inrichting.
BE178363A BE855590A (fr) 1976-06-11 1977-06-10 Installation de traitement de donnees

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19762626295 DE2626295C3 (de) 1976-06-11 1976-06-11 Datenverarbeitungsanlage

Publications (3)

Publication Number Publication Date
DE2626295A1 true DE2626295A1 (de) 1977-12-22
DE2626295B2 DE2626295B2 (de) 1980-05-08
DE2626295C3 DE2626295C3 (de) 1981-01-22

Family

ID=5980351

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762626295 Expired DE2626295C3 (de) 1976-06-11 1976-06-11 Datenverarbeitungsanlage

Country Status (6)

Country Link
AT (1) AT374020B (de)
BE (1) BE855590A (de)
CH (1) CH622633A5 (de)
DE (1) DE2626295C3 (de)
IT (1) IT1084105B (de)
NL (1) NL7706411A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3048417A1 (de) * 1980-12-22 1982-07-08 Computer Gesellschaft Konstanz Mbh, 7750 Konstanz Datenverarbeitungsanlage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3048417A1 (de) * 1980-12-22 1982-07-08 Computer Gesellschaft Konstanz Mbh, 7750 Konstanz Datenverarbeitungsanlage

Also Published As

Publication number Publication date
AT374020B (de) 1984-03-12
IT1084105B (it) 1985-05-25
BE855590A (fr) 1977-12-12
CH622633A5 (en) 1981-04-15
NL7706411A (nl) 1977-12-13
DE2626295C3 (de) 1981-01-22
DE2626295B2 (de) 1980-05-08
ATA406577A (de) 1983-07-15

Similar Documents

Publication Publication Date Title
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2550339C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE3131341C2 (de)
DE69525531T2 (de) Dataverarbeitungssystem mit ringförmiger Warteschlange in einem Seitenspeicher
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2059917C3 (de) Hybridadressierter Datenspeicher
DE2803989A1 (de) Wahlfreie zugriffsspeichervorrichtung fuer digitale daten
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2641722B2 (de) Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE69726795T2 (de) Kodierungsverfahren des Verzeichnisstatus in einem gemeinsamen, verteilten Speichersystem mit koherenten Pufferspeichern
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
DE69032490T2 (de) Datenspeichersystem und dessen Betriebsverfahren
DE2626295A1 (de) Datenverarbeitungsanlage
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE69833291T2 (de) Halbleiterspeicheranordnung wie z.B. Cachespeicher
DE2000608C3 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage
DE69030368T2 (de) Tandem-Cache-Speicher
DE69808700T2 (de) Cachespeichervorrichtung
DE2750126A1 (de) Datenverarbeitungssystem mit einem zwischenpufferspeicher
DE2605617A1 (de) Schaltungsanordnung zum adressieren von daten
DE69516817T2 (de) Peripheriegerät zur Ausführung von Bitfeldbefehlen
EP0075715B1 (de) Cachespeicher und Verfahren zu seinem Betrieb

Legal Events

Date Code Title Description
OC Search report available
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee