DE2261586C3 - Speichereinrichtung - Google Patents

Speichereinrichtung

Info

Publication number
DE2261586C3
DE2261586C3 DE19722261586 DE2261586A DE2261586C3 DE 2261586 C3 DE2261586 C3 DE 2261586C3 DE 19722261586 DE19722261586 DE 19722261586 DE 2261586 A DE2261586 A DE 2261586A DE 2261586 C3 DE2261586 C3 DE 2261586C3
Authority
DE
Germany
Prior art keywords
memory
data
auxiliary
address
main
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
DE19722261586
Other languages
English (en)
Other versions
DE2261586B2 (de
DE2261586A1 (de
Inventor
Horst Rettenmaier
Wolfgang Dipl.-Ing. Rubner
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 DE19722261586 priority Critical patent/DE2261586C3/de
Priority to NL7315692A priority patent/NL7315692A/xx
Priority to IT3207373A priority patent/IT1003258B/it
Priority to FR7344505A priority patent/FR2211146A5/fr
Priority to GB5775673A priority patent/GB1449877A/en
Priority to BE138866A priority patent/BE808638A/xx
Publication of DE2261586A1 publication Critical patent/DE2261586A1/de
Publication of DE2261586B2 publication Critical patent/DE2261586B2/de
Application granted granted Critical
Publication of DE2261586C3 publication Critical patent/DE2261586C3/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/0877Cache access modes
    • G06F12/0886Variable-length word access

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

platzbedarfs der öfter zugreifenden Prozessoren vielfach schon wieder in den Hauptspeicher zurückgeführt wurden. Der Erfindung liegt daher die Aufgabe zugrunde, die bekannte Speichereinrichtung so weiterzubilden, daß die Wahrscheinlichkeit für das Auffinden einer unter der zugeordneten Hauptspeicheradresse eröffneten Speicherzelle im Hüfsspeicher für die weniger oft zugreifenden Prozessoren erhöht und der Zugriff mit unterschiedlichen Dateiformaten ermöglicht wird.
Diese Aufgabe wird durch die Merkmale im kennzeichnenden Teil des Patentanspruchs 1 gelöst.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Durch die DE-AS 1774864 ist eine mikroprogrammierte Datenverarbeitungsanlage mit einem Hauptspeicher und einem schnellen, in Abschnitte unterteilten Hilfsspeicher bekannt. Der Hilfsspeicher zur Speicherung der gerade verarbeiteten Daten ist als speicherplatzadressierter Speicher ausgebildet. Die Adressierung des Hilfsspeichers erfolgt über ein Abschnittsauswahlregister und über ein Wortauswahlregister zur Auswahl eines Wortes innerhalb eines gewählten Abschnitts.
Da die Speicherkapazitäten von Haupt- und Hilfsspeicher stark verschieden sind, unterscheiden sich auch die Adressen, unter denen ein bestimmtes Datum im Hauptspeicher und im Hilfsspeicher gespeichert ist. Für die Ableitung einer HilfsSpeicheradresse aus einer vorgegebenen Hauptspeicheradresse bedarf es daher komplizierter Zusatzeinrichtungen. Auch muß erst die HilfsSpeicheradresse gebildet werden, um feststellen zu können, ob ein bestimmtes Datum überhaupt im Hilfsspeicher vorliegt.
Im Gegensatz hierzu genügt bei der Speichereinrichtung gemäß der Erfindung die Kenntnis der Hauptspeicheradresse eines Datums, um ohne Adressenmodifikation sein Vorhandensein im Hilfsspeicher feststellen und es gegebenenfalls gleichzeitig auslesen zu können.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 einen Überblick über die Zuordnung der Speichereinrichtung zu den übrigen Hauptteilen einer Datenverarbeitungsanlage,
Fig. 2 den Datenteil des Hilfsspeichers, und
Fig. 3 den Adressen-, Anzeige- und Steuerteil des Hilfsspeichers in B'ockdarstellung.
Die Fig. 1 gibt eine Übersicht über die Zuordnung der Speichereinrichtung zu den sonstigen Hauptteilen einer Datenverarbeitungsanlage. Der Zentralprozessor ZP, das Wartungsfeld WF und das Kanalwerk KW bzw. die angeschlossenen peripheren Einheiten PE greifen über einen sogenannten Arbeitsspeicherkoordinator KOO zu der aus Hauptspeicher ASP und Hilfsspeicher HPP bestehenden Speichereinrichtung zu. Grundsätzlich ist jeder durch den Arbeitsspeicherkoordinator KOO (im folgenden kurz Koordinator genannt) vermittelte Zugriff an den Hilfsspeicher HSP gerichtet, der seinerseits bei Bedarf zum Arbeitsspeicher zugreift. Die in der Fig. 1 eingezeichnete direkte Verbindung zwischen dem Arbeitsspeicher ASP und dem Koordinator KOO unter Umgehung des Hilfsspeichers HSP wird daher im allgemeinen nur in Sonderfällen wirksam, wie beispielsweise bei Störungen des Hilfsspeichers, bei Fehlerroutinen oder zu Wartungszwecken. Sie kann aber auch regelmäßig^ür eine bestimmte Klasse von Daten eingesetzt werden.
Wie schon erwähnt wurde, besteht der assoziativ verwaltete Hüfsspeicher HSP aus einem Datenteil mit einer Anzahl von Datenspeicherplätzen, aus einem Adressenteil zur Speicherung von Haupt- und Hilfsadressen und einem Anzeigenteil. Jeweils eine Untermenge von Datenplätzen, je ein Adressenplatz für Haupt- und Hilfsadresse bilden zusammen mit den
ίο zugeordneten Anzeigenplätzen eine Speicherzeile. Die Gesamtheit aller Speicherzeilen ist für den Eintrag von Daten unter einer bisher nicht im Hilfsspeicher vorhandenen Adresse (Neueintrag) in zwei oder mehrere, sich nicht überlappende Bereiche eingeteilt.
Dementsprechend sind auch die Mittel zur Auswahl geeigneter Speicherzeilen für den Neueintrag doppelt oder mehrfach vorhanden. Für alle anderen Funktionen des Hilfsspeichers, die keinen Eintrag unter einer neuen Adresse zur Folge haben, wird der Hilfsspei eher als Einheit behandelt.
Bei einer vorteilhaften Ausführungsforrn der Erfindung, die auch der weiteren Beschreibung zugrunde liegen soll, sind zwei Neueintragsbereiche vorgesehen. Dem Bereich 1 sind ebenso viele Speicherzeilen, z. B.
vier, zugeordnet, wie Selektorkanäle gleichzeitig arbeiten können. Der Bereich 2, der bei insgesamt 32 Speicherzeilen dann 28 Speicherzellen umfaßt, wird dem Zentralprozessor ZP und dem Kanalwerk KW für die Bedienung des Multiplexkanals bzw. der MuI-
Jd tiplexkanäle zur Verfügung gestellt. Selbstverständlich können die in den Hilfsspeicher HSP einzugebenden Daten auch nach anderen Gesichtspunkten in zwei (oder mehr) Klassen eingeteilt werden. Der Koordinator KOO liefert bei jedem Zugriff zum Hilfs-
r, speicher ein Signal an diesen mit, welches den für einen Neueintrag in Frage kommenden Speicherbereich bestimmt. Ist kein Neueintrag erforderlich, so bleibt das Signal unberücksichtigt, insbesondere auch bei der assoziativen Suche nach einer im Hilfsspeicher bereits vorhandenen Adresse.
Die Auswahl einer Speicherzeile für einen Neueintrag kann bekanntlich nach verschiedenen Kriterien erfolgen. Vorteilhaft wird (innerhalb eines Bereichs) diejenige Zeile ausgewählt, in die am längsten kein Neueintrag vorgenommen wurde. Die Mittel zur Auswahl können dann nach Art eines Ringzählers ausgebildet sein, die nach jedem Neueintrag um eine Stellung weiterschalten und nach Erreichen der Endstellung wieder in die Anfangsstellung springen. Sie
-,o zeigen bei jedem Zugriff zum Hilfsspeicher mit einer dort noch nicht vorhandenen Hauptadresse bereits auf die zu behandelnde Speicherzeile und veranlassen die Übergabe der bisher darin gespeicherten Daten an den Hauptspeicher ASP (Arbeitsspeicher) sowie die
Übernahme der neuen Daten und der neuen Adresse. Nach erfolgter Eingabe springen sie in die nächste Stellung (Neueintragszeiger NEZ).
Die Fig. 2 zeigt auszugsweise den Datenteil des Hilfsspeichers HSP. Der Datenteil enthält insgesamt
bo acht Registersätze DBX bis DBS (wovon in Fig. 2 zur Vereinfachung nur vier dargestellt sind). Jeder Registersatz (Datenspeicherbank) besitzt beispielsweise 32 Datenplätze zur Speicherung einer Datengrundgruppe bzw. eines Byte aus 8 Datenbit und ei-
b5 nem Paritybit. Die gleich numerierten Datenplätze aller acht Registersätze DBi bis DB» bilden eine Datenzeile, die jeweils den entsprechenden Speicherplätzen im Adressen- und Anzeigenteil lies Hilfsspei-
chers HSP zugeordnet ist.
Zu jedem Registersatz DBl bis DBS gehört ein Eingangsmultiplexer MEl bis MES. Die Eingangsmultiplexer wählen mit Hilfe von Steuersignalen die vom Hauptspeicher ASP, vom Koordinator KOO odei über Rückführungswege Al bis RS ankommenden Datengruppen für die Eingabe in die Registersätzc aus. Weiterhin ist jeweils zwei Registersätzen (z B DBl und DBS) ein Ausgangsmuitiplexer MAl bis MAA zugeordnet. Letztere schalten die ausgewählten Datengruppen zum Koordinator KOO durch, bzw. bieten sie über die Rückführungswege Rl bis RS den Eingangsmultiplexern an. Die Ausgangsmuitiplexer sind auch in sich rückgekoppelt, wodurch sie bei entsprechender Steuerung in die Lage versetzt werden, Daten zwischenspeichern zu können. Die Ausgangssignale der Registersätze werden dem Hauptspeicher direkt angeboten. Schließlich sind noch acht Multiplexer MBl bis MBS vorgesehen, mit deren Hilfe Datengruppen ohne Zwischenspeicherung in den Registersätzen vom Koordinator zum Hauptspeicher oder vom Hauptspeicher zum Koordinator übergeführt werden können.
Die in der Fig. 2 eingezeichneten Verbindungen stehen jeweils stellvertretend für Leitungsbündel zur parallelen Übertragung einer größeren Zahl von Signalen in Richtung der eingetragenen Pfeile und betreffen ausschließlich Datenwege. So ermöglichen beispielsweise die Leitungsbündel vom und zum Hauptspeicher ASP die parallele Übertragung von acht Byte (zu 9 Bit), während die Leitungsbündel vom und zum Koordinator nur für die gleichzeitige Übertragung von vier Byte ausgelegt sind. Dementsprechend sind auch immer nur höchstens vier der an der Datenübertragung vom und zum Koordinator KOO beteiligten Multiplexer gleichzeitig durchgeschaltet.
Selbstverständlich, sind zur Steuerung der Einrichtungen im Datenteil des Hilfsspeichers auch mehrere Steuersignale erforderlich, wie beispielsweise für die Steuerung der Multiplexer, für die Datenein- bzw. -ausgabe in die Registersätze bzw. aus den Registersätzen und für die Bestimmung der durch eine Adresse ausgewählten Datenzeile. Die hierzu benötigten Steuerleitungen sind in Fig. 2 lediglich zur Vereinfachung der Darstellung nicht eingezeichnet.
Die Fig. 3 zeigt den Adressenteil mit dem Abschnitt ATl für die Hauptadresse und dem Abschnitt AT2 für die Hilfsadresse, die Anzeigenteile ARl und ARl und den Steuerteil RZ des Hilfsspeichers HSP.
Der Hauptadressenspeicher ./4Tl; ist ein voll assoziativer Speicherblock mit 32 Zeilen zu 21 Bit. Jeder Adressenzefle ist eine der 32 immer alle 8 Byte umfassenden Datenzeilen zugeordnet. In jeder Adressenzeile kann somit eine 21 Bit breite Adresse gespeichert sein, die einen Speicherplatz im Hauptspeicher ASP bestimmt, in der die betreffende aus 8 Byte bestehende und daher als Doppelwort bezeichnete Datengruppe gespeichert ist oder gespeichert werden soll.
Die Suche auf Übereinstimmung einer im Hauptadressenspeicher ATl gespeicherten Adresse mit einer vom Koordinator KOO gelieferten Adresse, unter der ein Zugriff erfolgen soll, erstreckt sich gleichzeitig über alle 32 Zeilen des Speicherblocks. Das bedingt natürlich einen höheren Aufwand gegenüber einer Überprüfung Zeile für Zeile, ergibt aber einen sehr beträchtlichen Zeitgewinn und ist in wirtschaftlicher Hinsicht 'durchaus tragbar, um so mehr, als heute preisgünstige integrierte inhaltsadressierbare Speicherbausteine zur Verfügung stehen. (Vgl. z. B. TTl Datenbuch der Firma Fairchild Camera and lnstr ment Corp., Ausgabe Juni 1972, Seite 9-6 bis 9-< »TTL Memory 93402«.)
r> Dem Hauptadressenspeicher ATl im Adressentei ist eine Spalte PB mit 32 Speicherplätzen zur Auf nähme von Adressen-Paritybit angegliedert. Diese Partiybit werden für jede vom Koordinator KOC kommende Adresse von einem Paritygenerator PC
i' erzeugt und bei jedem Eintrag einer neuen Adresse in eine Adressenzeile des Hauptadressenspeicher! A Tl in den dieser Zeile zugeordneten Platz der Spalt« PB eingegeben. Falls bei einer assoziativen Suche die bereits gespeicherten Paritybit von den neu gebildetet
trotz sonstiger Übereinstimmung der Adressen von einander abweichen, wird ein Fehlersignal gegeben Der Hilfsadressenspeicher AT 2 ist ebenfalls eii assoziativer Speicher. Er ist in 32 Zeilen zu 8 Bit gegliedert, so daß für jedes Byte im Datenteil ein Bi reserviert ist. Jedes in diesen Speicherblock eingege bene Bit wählt also im 1 aus 8-Code einen bestimmter Datenplatz für ein Byte im Datenteil aus. Gleichzeitig besagt ein im Hilfsadressenspeicher A Tl gesetztes Bi (Verändert-Bit) in an sich bekannter Weise, daß dei Inhalt des adressierten Speicherplatzes im Datentei durch eine vom Koordinator KOO kommende Eingabe verändert wurde. Ein Verändert-Bit gibt dahei gleichzeitig auch an, daß der Inhalt des zugehöriger Speicherplatzes im Hilfsspeicher HSP mit dem Inhal des betreffenden Speicherplatzes im Hauptspeicher nicht mehr übereinstimmt.
Da die Breite der Übertragungskanäle zwischer dem Datenteil des Hilfsspeichers HSP und dem Ko ordinator KOO nur 4 Byte beträgt, kann sich die von Koordinator gelieferte Eingangsinformation auch höchstens auf 4 Byte beziehen, d. h. sie kann hoch stens. 4 Bit von 8 übertragbaren Bit beinhalten. Dem entsprechend muß der Hilfsadressenspeicher A Tl die Möglichkeit der maskierbaren assoziativen Suche au Übereinstimmung zwischen seinem Inhalt und der Eingangsinformation bieten.
Um die Möglichkeit zu schaffen, den in einer be stimmten Zeile des Hilfsadressenspeichers ATI be reits vorhandenen Inhalt mit einer in dieser Zeile zu sätzlich einzugebenden Information im Sinn eine ODER-Funktion zu verknüpfen, ist ein Rückfüh rungsweg über das Pufferregister PR und den Ein gangsmultiplexer MPX vorgesehen.
Entsprechend den Einrichtungen im Datenteil zur
so direkten Durchschaltung der Datenwege zwischen dem Koordinator und dem Hauptspeicher unter Um gehung der Registersätze sind dem Adressentei] Ein richtungen für die direkte Durchschaltung der Adres
- sen zugeordnet. Sie bestehen aus der 21 Bit breiter
ss Torschaltung Gl für die Doppelwortadresse und dei 8 Bit breiten Torschaltung Gl für die Byteauswahlsi gnale.
Sieht man von der Doppelfunktion des Inhalts im Hilfsadressenspeicher ATl ab, so besteht der Anzei genteil des Hilfsspeichers HSP aus zwei Spalten mit 32 Zeilen zu je 1 Bit. Die eine Spalte ARl ist dem Hauptadressenspeicher ATl unmittelbar zugeordne und dient zur Eintragung der sogenannten »Gültig keitsbit«, die jeweils einer Speicherzeile zugeordne sind und zusammen mit der betreffenden Adresse as soziiert werden. Sie werden nach dem Wiederanlauf der Speichereinrichtung nach einem Ereignis, das eine zufallige Bitkonstellation in einem Speicherteil her
vorrufen könnte (ζ. Β. nach einem vorübergegangenen Ausfall der Versorgungsspannung), gelöscht und mit dem definierten Einschreiben in den Hilfsspeicher nach und nach wieder gesetzt. Im übrigen bleiben die Gültigkeitsbit unverändert, es sei denn, daß ein Parityfehler festgestellt wird, der die Löschung des der betroffenen Zeile zugeordneten Gültigkeitsbits veranlaßt.
Die zweite Spalte AR2 des Anzeigenteils nimmt in jeder der 32 Zeilen ein sogenanntes »Aktuell-Bit« auf. Das Aktuell-Bit besagt, falls es gesetzt ist, daß alle 8 Byte der zugeordneten Datenzeile im Hilfsspeicher dem letzten Stand entsprechen.
Der Steuerteil enthält neben den Einrichtungen zur Steuerung des Funktionsablaufs im Hilfsspeicher, z. B. beim Einschreiben, Lesen, Zugriff zum Hauptspeicher u. dgl. die schon an früherer Stelle beschriebenen Mittel RZ zur Auswahl von Speicherzeilen für den Neueintrag (Neueintragszeiger). Abhängig von der Zugehörigkeit der unter einer neuen Adresse einzugebenden Daten zu einer bestimmten Klasse wird vom Koordinator mitteis entsprechender Signale auf der (in der Fig. 3 als einzige dargestellten) Steuerleitung NEZ einer der beiden Speicherbereiche (im Beispiel die Zeilen 0 bis 3 oder 4 bis 3 ausgewählt).
Der Hilfsspeicher kann in Verbindung mit dem Hauptspeicher und unter maßgeblicher Mitwirkung der Multiplexer folgende vier Befehle ausführen: Schreiben, Lesen, Lesen und Markieren sowie Lesen und Löschen. Ist am Hilfsspeicher ein Hauptspeicher angeschlosse·;, der Fehlerworte liefern kann, so können diese nur unter Umgehung des Hilfsspeichers gelesen werden.
1. Schreiben
Die vom Koordinator gelieferte Doppelwortadresse wird im Hauptadressenspeicher ATl daraufhin assoziativ überprüft, ob unter dieser Adresse eine Datenzeile im Datenteil geführt wird.
1.1. Falls diese Überprüfung positiv ausfällt (ATl-Treffer), wird im »1 aus /t-Code« am Hauptadressenspeicher ATl die Zeilennummer ausgegeben, zu der eine Datenzeile mit der gesuchten Adresse gehört. In die so assoziierte Datenzeile werden nach Maßgabe der Byteauswahlsignale im »n aus 8-Code« mit η = 0 bis 4 in die einzelnen Datenplätze dieser Zeile die Daten vom Koordinator eingeschrieben. Die nicht durch die Byteauswahlsignale ausgewählten Plätze dieser Zeile werden nicht verändert. Zur gleichen Zeit werden die Byte-Auswahlsignale in die zugehörige Zeile des Hilfsadressenspeichers als »Verändert-Bit« zusätzlich zu dem bisherigen Inhalt eingeschrieben.
1.2. Falls der Hauptadressenspeicher ATL keinen Treffer anzeigt, wählt das vom Koordinator gelieferte NEZ-B'it einen der beiden Neueintragszeiger aus. Der ausgewählte Zeiger weist auf die nun zu behandelnde Zeile des Hilfsspeichers hin. Die ausgewählte Zeile wird daraufhin untersucht, ob der zugehörige Datenplatz vom Koordinator beschrieben oder verändert wurde, d. h. ob mindestens ein Bit in der Zeile des Hilfsadressenspeichers AT2 gesetzt ist.
a) Ist dies der Fall, so müssen nun die beschriebenen Byte in den Hauptspeicher eingeschrieben werden. Dem Hauptspeicher werden als Startparameter der Inhalt der vom/Neueintragszeiger ausgewählten Zeile des Hauptadressenspeichers ATl als Doppelwortadresse, der Inhalt des Hilfsadressenspeichers ATl als Byteauswahlsignal, der Inhalt der zugehörigen Datenzeile und der Schreibbefehl angeboten. Stehen Alle Parameter für den Hauptspeicher bereit, so wird der Zyklus gestartet. Nach dem Signal »Angenomr> men« vom Hauptspeicher werden die vom Koordinator am Hilfsspeicher anliegenden Parameter in die ausgewählte Hilfsspeicherzeile übernommen, und zwar die Doppelwortadresse in den Hauptadressenteil, die Byteauswahlsignale in i<> den Hilfsadressenspeicher und nach Maßgabe
der Byteauswahlsignale die Daten in den Datenteil. Ist die Parameterübernahme abgeschlossen, wird das Signal »angenommen« an den Koordinator gesendet. Der Neueintragszeiger wird um eine Einheit weitergeschaltet.
b) War vorher kein Verändert-Bit in der A T2-Z.cüe gesetzt, so ist der zwischengeschobene Hauptspeicher-Schreibzyklus nicht notwendig, da dann in dieser Zeile kein Byte vom Koordinator be- :o schrieben oder verändert war, d. h. es wurde nur
einmal vorher diese Zeile durch einen Hauptspeicher-Lesezyklüs gefüllt. Das in dieser Zeile stehende Datum ist also identisch mit dem zur selben Adresse gehörenden Datum im Hauptspeicher, d. h. das Datum im Hilfsspeicher darf
überschrieben werden. Die oben beschriebene Parameterübernahme vom Koordinator in den Hilfsspeicher kann sofort erfolgen. Neueintragszeiger und das Signal »angenommen« werden ω ebenfalls gleich behandelt.
2. Lesen
Die vom Koordinator gelieferte Doppelwortadresse wird im ATl daraufhin assoziativ geprüft, ob unter dieser Adresse eine Datenzeile im Datenteil gei) führt wird. Gleichzeitig werden die Byteauswahlsignale vom Koordinator im ATZ mit den Verändert-Bit auf Übereinstimmung geprüft.
2.1. Zeigt ATl eine Übereinstimmung an, so wird
das durch die Übereinstimmung ausgewählte Ak-
AO tuell-Bit daraufhin überprüft, ob es gesetzt ist, d. h.
ob alle in dieser Zeile stehenden Daten aktuell sind.
2.1.1. Ist das der Fall, so ist gewährleistet, daß die Datenzeile vollständig gefüllt und alle Bytes in dieser Datenzeile aktuell sind. Diese Datenzeile wird nun ausgelesen und die gewünschten Byte davon nach Maßgabe der Byteauswahlsignale des Koordinators an den Ausgangsmultiplexern abgegriffen.
2.1.2. Ist das Aktuell-Bit nicht gesetzt, so ist nicht der gesamte Inhalt der Hauptspeicherzeile im Hilfsspeicher. In diesem Fall wird der Inhalt der betreffenden A 7"2-ZeUe mit den anliegenden Byteauswahlsignalen verglichen (maskierte Suche).
a) Ergibt sich ein ATl-Trttier, so ist gewährleistet, daß der Koordinator nur zu aktuellen Byte zugreift. Es kann also die zum .<4T1-Treffer zugehörige Datenzeile ausgelesen und die gewünschten Byte daraus an den Ausgangsmultiplexern, nach Maßgabe der Byteauswahlsignale, abgegriffen werden.
b) Ergibt sich kein /4r2-Treffer, so steht die gewünschte Information nicht vollständig im Hilfsspeicher. Es ist jedoch unter dieser Adresse bereits eine Datenzeile eröffnet (v4Tl-Treffer). Mit der angelegten Adresse wird ein Hauptspeicher-Lesezyklus gestartet. Die Daten aus dem Hauptspeicher werden an die durch den ATl-Treffer angewählte Datenzeile angelegt; es werden nur diejenigen Byte übernommen, deren
Verändert-Bit im AT2 nicht gesetzt sind. Anschließend wird das zugehörige Aktuell-Bit gesetzt und die vom Koordinator gewünschten Daten werden auf die Ausgangsmultiplexer nach Maßgabe der Byteauswahlsignale geschaltet.
2.2. Falls ATl keinen Treffer anzeigt, wählt das vom Koordinator gelieferte NEZ-BH einen der beiden Neueintragszeiger aus. Der ausgewählte Neueintragszeiger weist auf eine nun zu behandelnde Zeile des Hilfsspeichers hin. Die zugehörige /4T2-Zeile wird daraufhin untersucht, ob die zugehörige Datenzeile vom Koordinator beschrieben oder verändert wurde, d. h. ob mindestens ein Verändert-Bit in der AT2-Zeile gesetzt ist.
a) Ist das der Fall, so müssen nun die beschriebenen Byte in den Hauptspeicher eingeschrieben werden. Dem Hauptspeicher werden als Startparameter die durch den Neueintragszeiger ausgewählte /471-Zeile als Doppelwortadresse, die /472-Zeile als Byteauswahlsignale, die zugehörige Datenzeile und der Schreibbefehl angeboten. Stehen alle Parameter für den Hauptspeicher bereit, so wird der Zyklus gestartet.
Nach dem Signal »Angenommen« vom Hauptspeicher werden die Startparameter für den Schreibzyklus weggeschaltet und die Startparameter für den anschließenden Lesezyklus mit einem Lesebefehl an den Hauptspeicher gegeben und der Zyklus gestartet. Während im Hauptspeicher der Zyklus abläuft, wird in den Hauptadressenspeicher ATl die Doppelwortadresse eingeschrieben und der Inhalt der zugehörigen Zeile im Hilfsadressenspeicher AT2 gelöscht. Liefert der Hauptspeicher die Daten, so werden diese in die ausgewählte Datenzeile des Hilfsspeichers übernommen, das Aktuell-Bit gesetzt und die Daten über die Umgehungswege abhängig von den vom Koordinator gelieferten Byteauswahlsignalen auf die Ausgabemultiplexer geschaltet. Der ausgewählte Neueintragszeiger wird um 1 weitergeschaltet.
b) Ist im AT2 kein Bit gesetzt, so braucht die angewählte Hilfsspeicherzeile nicht vor dem Hauptspeicherlesezyklus in den Hauptspeicher eingeschrieben zu werden, da diese Zeile im Hauptspeicher noch aktuell ist.
3. Lesen und Markieren.
Der Lese- und Markiere-Befehl unterscheidet sich vom Lesebefehl dadurch, daß nach dem Lesezyklus die in jedem Fall an den Ausgangsmultiplexern anliegende Information ?u den Eingangsmultiplexern zurückgeführt wird und dort mit den vom Koordinator angelieferten Daten im Sinne einer ODER-Funktion verknüpft und in die noch angewählte Datenzeile eingeschriebenwird. Das Einschreiben erfolgt durch einfache Umwahl dieser Hilfsspeicherzeile von Lesen auf Schreiben der durch die Byteauswahlsignale vom Koordinator ausgewählten Byte. In der zugehörigen /4T2-Zeile werden entsprechend den markierten Byte die Verändert-Bit zusätzlich zu den dort bereits ste-
henden Verändert-Bit gesetzt.
4. Lesen und Löschen.
Der Lese- und Lösche-Befehl unterscheidet sich vom Lese- und Markiere-Befehl nur darin, daß nun die Information nicht über den Rückführungsweg mit den vom Koordinator gelieferten Daten verknüpft wird, sondern es werden nur die Eingangsmultiplexer (nach Maßgabe der Byteauswahlsignale) abgesperrt und danach erfolgt dann die Lese-Schreib-Umwahl, wodurch die zu löschenden Byte der Datenzeile auf 0 gesetzt werden. In der zugehörigen AT2-Zeüe werden entsprechend den gelöschten Byte die Verändert-Bit gesetzt.
5. Lesen Fehlerwort.
Steht der Hilfsspeicher in Verbindung mit einem Hauptspeicher, der Fehlerworte liefern kann, und wird vom Koordinator der Befehl Lese Fehlerwort an den Hilfsspeicher gegeben, so wird dieser Befehl sofort an den Hauptspeicher weitergeleitet. Das vom Hauptspeicher gelieferte Fehlerwort wird über die Umwegleitungen direkt auf die Ausgabemultiplexer geschaltet.
Aufgrund eines bestimmten Steuersignals vom Koordinatorwird der Hilfsspeicher umgangen. Tn diesem Fall werden alle Startparatneter vom Koordinator direkt an den Hauptspeicher weitergeleitet. Die Lesedaten vom Hauptspeicher werden über die Einrichtungen zur Umgehung des Hilfsspeichers direkt auf die Ausgangsmultiplexer durchgeschaltet. Der Hilfsspeicher wird in diesem Fall als reine Durchschaltestation benutzt und entwickelt keine eigenen Aktivitäten. Die beiden Befehle Lesen und Markieren bzw. Lesen und Löschen werden ohne Aktivitäten vom Hilfsspeicher an den Hauptspeicher weitergeleitet. Von diesem werden sie dann zurückgewiesen.
Mit Hilfe eines weiteren Steuersignals vom Koordinator kann jeder Neueintrag im Hilfsspeicher unterbunden werden. Wenn unter der vom Koordinator angegebenen Doppelwortadresse bereits eine Datenzeile im Hilfsspeicher eröffnet war (.dTl-Treffer), arbeitet der Hilfsspeicher in der bisher beschriebenen Weise. Ergibt sich kein /ΙΓΙ-Treffer, so werden nun die vom Koordinator angebotenen Startparameter direkt an den Hauptspeicher weitergeleitet.
Die vorgeschlagene Struktur des Hilfsspeichers HSP erlaubt die Funktion des Datensammelns, welche die Häufigkeit der notwendigen Zugriffe zum Hauptspeicher ASP wesentlich reduziert. Für die beschriebene Ausführungsform ergibt sich eine Treffer-Rate von etwa 75 bis 80%, d. h. nur bei 20 bis 25% aller Zugriffe ist ein Zugriff zum Hauptspeicher erforderlich, um die gewünschte Information zu erhalten. Das hat seine Ursache nicht nur in der Aufteilung des Hilfsspeichers in zwei oder mehr Bereiche für Neueinträge, sondern auch in der Breitenumsetzung der Daten-Übertragungskanäle, bzw. in der damit in Zusammenhang stehenden Bereitstellung so vieler Datenspeicherplätze in jeder Speicherzeile wie zur Aufnahme der größten im Hauptspeicher gleichzeitig adressierbaren Datenmenge (Doppelwort) erforderlich sind.
Hierzu 2 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Speichereinrichtung, zu der der Zugriff durch Einrichtungen einer Datenverarbeitungsanlage erfolgt und die einen Hauptspeicher mit eimer Vielzahl von einzeln adressierbaren Speicherplätzen (Arbeitsspeicher), einen aus mehreren Teilen bestehenden Hilfsspeicher, der bei wesentlich höherer Arbeitsgeschwindigkeit eine wesentlich geringere Anzahl von Speicherplätzen als der Hauptspeicher besitzt, mit einem Datenteil :zur Speicherung von Datengruppen, die aus einem Adressenplatz des Hauptspeichers stammen oder in diesen übernommen werden sollen, mit einem Adressenteil für assoziativen Zugriff zur Speicherung von dualkodierten Adressen, unter denen die betreffenden Datengruppen in dem Hauptspeicher gespeichert sind oder gespeichert werden sollen, und mit einem Anzeigenteil zum Setzen von Anzeigen über den Belegungszustand des Hilfsspeichers, sowie eine Zugriffseinrichtung enthält zur Auswahl einer Speicherzeile im Hilfsspeicher beim Zugriff mit einer Adresse, die im Adressenteil des Hilfsspeichers nicht vorhanden ist, dadurch gekennzeichnet,
a) daß die Zugriffseinrichtung (RZ) zur Auswahl einer Speicherzeile für den Neueintrag von Adressen und Daten in mindestens zwei unabhängig arbeitende Gruppen aufgeteilt ist, wovon jede Gruppe einen mehreren Zeilen des Hilfsspeichers (HSP) umfassenden Bereich bedient und jeder der sich nicht überlappenden Bereiche zur Speicherung von Daten einer anderen Gruppe von verschieden häufig zugreifenden Gruppen von Prozessoren zugeordnet ist;
b) daß die Datengruppen innerhalb jeder Etatenzeile mehrere Bytes umfassen;
c) daß der Adressenteil des Hilfsspeichers (HSP) in einen Hauptadressenspeicher (ATl) und einen Hilfsadressenspeicher (AT2) aufgeteilt ist, wobei der Hauptadressenspeicher (ATl) die Adressen für den Zugriff zu Daten im Hauptspeicher (Hauptadressen) und der Hilfsadressenspeicher (ATl) jeweils zugeordnete Hilfsadressen (Byte-Auswahlsignale) zur Auswahl bestimmter Bytes innerhalb einer Datenzeile enthält.
2. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß zur Speicherung sämtlicher Bytes einer Byteadressenstelle jeweils eine Datenban (DBl bis DBS) vorgesehen ist, wobei jeweils einer Datenbank (DBn) ein Eingangsmultiplexer (MEn) und jeweils zwei Datenbänken (DBn und DBn+ 1) ein Ausgangsmultiplexer (MAn) zugeordnet ist und die Multiplexer (ME, MA) nach Maßgabe der Byteauswahlsignale durchgeschaltet werden.
3. Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Hilfsadressenspeicher (ATl) ein Assoziativspeicher mit der Möglichkeit einer maskierbaren assoziativen Suche auf Übereinstimmung ist.
Die Erfindung bezieht sich auf eine Speichereinrichtung nach dem Oberbegriff des Patentanspruchs 1.
Als interne Arbeitsspeicher hoher Kapazität für Datenverarbeitungsanlagen werden vorzugsweise Magnetkernspeicher oder Speicher mit dünnen magnetischen Schichten verwendet. Obgleich es gelungen ist, die Zugriffsgeschwindigkeit bei solchen Speichern, insbesondere durch den Einsatz von Speichern
ι ο der zuletzt genannten Art, zu erhöhen, ist sie dennoch in vielen Fallen bei weitem nicht ausreichend. Insbesondere trifft das zu, wenn mehrere schnelle Prozessoren zu einem gemeinsamen Arbeitsspeicher zugreifen. Man ist daher dazu übergegangen, als Zwischenglied zwischen den Einrichtungen der Datenverarbeitungsanlage, die zum Arbeitsspeicher zugreifen, und dem Arbeitsspeicher einen Hilfsspeicher einzufügen, der eine wesentlich höhere Zugriffsgeschwindigkeit eriaubt, aber aus wirtschaftlichen Gründen eine wesent-
^o Hch geringere Speicherkapazität besitzt. Trotz der verhältnismäßig geringen Speicherkapazität läßt sich mit dem Hilfsspeicher, der bei Bedarf seinerseits zum Hauptspeicher zugreift, aufgrund der Tatsache wirkungsvoll arbeiten, daß bestimmte Daten bei der Ausführung von Verarbeitungsprozessen mindestens jeweils für einige Zeit häufig erforderlich sind.
Bei einer aus der DE-OS 1499182 bekannten Einrichtung dieser Art ist der Hilfsspeicher als Assozia-
3() tivspeicher ausgeführt, mit einer Anzahl von Speicherplätzen, deren jeder einen Datenplatz, einen Adressenplatz und einen Anzeigenplatz aufweist. Der assoziative Zugriff erfolgt über die in den Adressenplätzen gespeicherten Adressen. Diese Adressen bezeichnen auch die Speicherplätze im Hauptspeicher, in denen die in den Datenplätzen des Hilfsspeichers gespeicherten Daten ebenfalls stehen oder in die diese Daten gegebenenfalls nach kürzerer oder längerer Zeit eingegeben werden sollen.
In den jedem Daten- und Adressenplatz zugeordneten Anzeigenplätzen werden Anzeigen gesetzt, wenn Zugriff zu den Daten des entsprechenden Datenplatzes erfolgt; die Anzeigen werden gelöscht, wenn die betreffenden Daten in den Hauptspeicher übertragen werden und somit der Speicherplatz im Hilfsspeicher frei wird. Ein Abtaster prüft den Zustand jedes Anzeigeplatzes, wenn ein Zugriff zum Hilfsspeicher mit einer Adresse erfolgt, die noch nicht darin gespeichert ist. Findet sich zunächst kein freier Speicherplatz mehr, so wird die Übertragung desjenigen Datenpostens in den Hauptspeicher veranlaßt, zu dem seit der längsten Zeit kein Zugriff mehr verlangt wurde.
Die zum Hilfsspeicher zugreifenden Prozessoren lassen sich in Gruppen einteilen, die im Durchschnitt verschiedenen häufig Speicherzugriffe anfordern. Es zeigt sich, daß die weniger oft zugreifenden Prozessoren auch vielfach mit kürzeren Datenformaten (z. B. byteweise) als die häufiger zugreifenden Prozessoren arbeiten.
Bei der vorerwähnten Art der Freistellung von Speicherplätzen im Hilfsspeicher für Neueinträge werden jedoch diejenigen zugreifenden Prozessoren der Datenverarbeitungsanlage benachteiligt, die vergleichsweise selten zur Speichereinrichtung zugreifen. Für solche Prozessoren wird dann der Hilfsspeicher weitgehend wirkungslos, weil die von diesen Prozessoren benötigten Speicherinhalte wegen des Speicher-
DE19722261586 1972-12-15 1972-12-15 Speichereinrichtung Expired DE2261586C3 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE19722261586 DE2261586C3 (de) 1972-12-15 1972-12-15 Speichereinrichtung
NL7315692A NL7315692A (de) 1972-12-15 1973-11-15
IT3207373A IT1003258B (it) 1972-12-15 1973-12-10 Dispositivo di memorizzazione
FR7344505A FR2211146A5 (de) 1972-12-15 1973-12-13
GB5775673A GB1449877A (en) 1972-12-15 1973-12-13 Electronic data storage arrangements
BE138866A BE808638A (fr) 1972-12-15 1973-12-14 Ensemble-memoires associees notamment a des installations de traitement de donnees

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19722261586 DE2261586C3 (de) 1972-12-15 1972-12-15 Speichereinrichtung

Publications (3)

Publication Number Publication Date
DE2261586A1 DE2261586A1 (de) 1974-06-20
DE2261586B2 DE2261586B2 (de) 1978-11-30
DE2261586C3 true DE2261586C3 (de) 1979-08-09

Family

ID=5864559

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722261586 Expired DE2261586C3 (de) 1972-12-15 1972-12-15 Speichereinrichtung

Country Status (6)

Country Link
BE (1) BE808638A (de)
DE (1) DE2261586C3 (de)
FR (1) FR2211146A5 (de)
GB (1) GB1449877A (de)
IT (1) IT1003258B (de)
NL (1) NL7315692A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR111566A (de) * 1974-10-04
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
DE2837709C2 (de) * 1978-08-30 1985-01-31 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zur Behandlung von Teilwörtern in Rechnersystemen
DE2931122C2 (de) * 1979-07-31 1981-07-30 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur Auswahl und Bereitstellung der Adresse des jeweils nächsten verfügbaren Speicherabschnittes eines Pufferspeichers, insbesondere für Datenverarbeitungsanlagen
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
EP0400851A3 (de) * 1989-06-02 1992-10-21 Hewlett-Packard Company Leistungsfähiger Cache-Speicher mit Speicherpuffer
DE4323929A1 (de) * 1992-10-13 1994-04-14 Hewlett Packard Co Software-geführtes Mehrebenen-Cache-Speichersystem

Also Published As

Publication number Publication date
DE2261586B2 (de) 1978-11-30
BE808638A (fr) 1974-06-14
NL7315692A (de) 1974-06-18
GB1449877A (en) 1976-09-15
IT1003258B (it) 1976-06-10
DE2261586A1 (de) 1974-06-20
FR2211146A5 (de) 1974-07-12

Similar Documents

Publication Publication Date Title
DE3011552C2 (de)
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2235841C2 (de) Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern
EP0115609B1 (de) Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem
DE2227882C2 (de) Virtuelle Speicheranordnung
DE2241257C3 (de) Datenverarbeitende Anlage
DE2163342C3 (de) Hierarchische binäre Speichervorrichtung
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3126363C2 (de) Steuerschaltung mit direktem Speicherzugriff und Verfahren zur Steuerung für die Übertragung von Datenwörtern
DE2719247A1 (de) Datenverarbeitungssystem
DE2415900B2 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE2154106A1 (de) Arbeitsspeicherwerk
DE2939411C2 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1499182B2 (de) Datenspeichersystem
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2261586C3 (de) Speichereinrichtung
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
CH495584A (de) Datenverarbeitungsanlage
DE1774212C3 (de) Datenverarbeitungsanlage
DE1774849C3 (de) Adressierungseinrichtung für eine Speicherabschnittkette
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE3009317A1 (de) Hybrid-assoziativspeicher

Legal Events

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