DE2061576A1 - Speicheranordnung - Google Patents

Speicheranordnung

Info

Publication number
DE2061576A1
DE2061576A1 DE19702061576 DE2061576A DE2061576A1 DE 2061576 A1 DE2061576 A1 DE 2061576A1 DE 19702061576 DE19702061576 DE 19702061576 DE 2061576 A DE2061576 A DE 2061576A DE 2061576 A1 DE2061576 A1 DE 2061576A1
Authority
DE
Germany
Prior art keywords
memory
request
data
priority
arrangement according
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.)
Pending
Application number
DE19702061576
Other languages
English (en)
Inventor
Gene Mayron Saratoga Arnold Richards Fairbanks Palo Alto Calif Dauber Philip Simon Ossining Freiman Charles Viswald Pleasantville N Y Robelen Russell John Palo Alto Calif Schorr Herbert Briarchff N Y Amdahl, (V St A )
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2061576A1 publication Critical patent/DE2061576A1/de
Pending 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0857Overlapped cache accessing, e.g. pipeline by multiple requestors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Description

IBM Deutschland Internationale Büro-Maschinen Gesellschaft mbH
Anmelderin:
Amtliches Aktenzeichen: Aktenzeichen der Anmelderin!
Böblingen, 8. Dezember 1970 lw-rz
International Business Machines Corporation, Armonk, N.Y. 10504 Neuanmeldung
Docket SA 967 112
Speicheranordnung
Die Erfindung betrifft eine Speicheranordnung mit einem Hauptspeicher großer Kapazität, einem Schnellspeicher kleinerer Kapazität und Einrichtungen zum übertragen von Daten zwischen den Speichern, sowie einem weiteren Speicher zum Speichern von Marken für jede im Schnellspeicher gespeicherte adressierbare Dateneinheit.
Mit einer derartigen Speicheranordnung wird die Verarbeitungsgeschwindigkeit einer Datenverarbeitungsanlage dadurch beträchtlich erhöht, daß Speicherzugriffe immer nur zum Schnellspeicher, welcher eine kleine Zugriffszeit hat, durchgeführt werden müssen. Diesem Vorteil der kleineren Zugriffszeit des Schnellspeichers steht wohl der Nachteil gegenüber, daß unter Umständen eine Datenübertragung vom Hauptspeicher in den Schnellspeicher notwendig wird, um die nötigen Daten im Schnellspeicher bereitzustellen, doch überwiegt insgesamt der genannte Vorteil. Die Speicheranforderungen zum Schnellspeicher können dabei von verschiedenen Einrichtungen der Datenverarbeitungsanlage, wie z.B. von der Zentraleinheit, oder auch von Eingangs-/Ausgangskanä- len stammen. Es müssen also Einrichtungen vorgesehen werden, welche die Berücksichtigung von Anforderungen von verschiedenen Eingängen her gestatten.
Eine Einrichtung der oben beschriebenen Art ist in der deut-
109827/1394
sehen Offenlegungsschrift 1 815 234 beschrieben. Die Anforderungen werden darin Einrichtungen zugeleitet, welche für alle Eingangswege gemeinsam sind. Hierdurch können oft Verzögerungen dadurch entstehen, daß mehrere Anforderungen zugleich angelangt sind, jedoch nur eine davon behandelt werden kann.
Eine Speicheranordnung mit einem Hauptspeicher und einem peripheren Speicher ist in der US-Patentschrift 3 449 724 beschrieben. In dieser Einrichtung ist eine gemeinsame Prioritätsschaltung vorgesehen, welche von mehreren zugleich empfangenen Anforderungen diejenige mit einer festgelegten höchsten Priorität auswählt. Die Anforderungsinformation wird in der beschriebenen Einrichtung in einem Registerstapel gespeichert, wobei für jede Anforderung ein Register vorgesehen ist. Sofern für eine bestimmte Anforderung die Zugriffsmöglichkeit zum Speicher gegeben ist, wird die betreffende Anforderungsinformation in einen weiteren Registerstapel übertragen. Durch die genannte Prioritätsschaltung entstehen auch in dieser Einrichtung Wartezeiten dadurch, daß von mehreren gleichzeitig eintreffenden Anforderungen nur eine einzelne zum System zugelassen wird. Andererseits ist der Hauptspeicher in der beschriebenen Speicheranordnung in mehrere Grundspeichermoduln aufgeteilt. Anforderungen, die sich auf verschiedene Moduln beziehen, könnten also durchaus gleichzeitig ausgeführt werden, wenn die hierzu nötigen Steuereinrichtungen vorgesehen wären.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Speicheranordnung zu schaffen, welche für jede Speicheranforderungsquelle je einen Anforderungszweig aufweist.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine Vielzahl von Speicheranforderungs-Toren, wobei für jedes Anforderungstor Einrichtungen zum Speichern der Anforderungen vorgesehen sind, durch Prioritätseinrichtungen zur Zuteilung der Priorität, welche die Anforderunginformation empfangen und mit Speicherlösern, welche Prioritätskonflikte von mehreren Anforderungen
Docket SA 967 I12 1og827/l394
_ ο β
an die gleiche Dateneinheit eines Speichers lösen, verbunden sind.
Dadurch daß für jeden Anforderungszweig getrennte Speichereinrichtungen zum Speichern der Anforderungsinformation vorgesehen sind, kann eine Vorprüfung der Anforderungen auf bestimmte Nebenbedingungen weitgehend gleichzeitig erfolgen. Durch die Speicher-Löser-Einrichtungen wird gewährleistet, daß stets nur eine Anforderung, und zwar die mit der höchsten Priorität, Zugriff zu der betreffenden Speichereinrichtung erhält. Da bei einem Zugriff zum Schnellspeicher stets außer dem Schnellspeicher auch der Markenspeicher adressiert werden muß, können auch diese Speicherlöser für den Schnellspeicher und für den Markenspeicher weitgehend gleichzeitig arbeiten.
Ferner kann ein Anforderungszweig für Eingangs-/Ausgangskanäle vorgesehen werden. Hierdurch können die üblichen Kanal-Pufferspeicher eingesetzt werden. Durch die Speicher-Löser, welche sowohl für den Schnellspeicher als auch für den Markenspeicher vorgesehen sind, wird eine flexible Prioritätsregelung erzielt.
Nach einer vorteilhaften Weiterbildung der Erfindung sind als Einrichtungen zum Speichern der Anforderungen Registerstapel vorgesehen, welche neben der eigentlichen Anforderungsinfor- |
mations auch ein Steuerwort speichern, welches jederzeit den Fortgang der Behandlung der Anforderung abbildet.
Durch das genannte Steuerwort kann der im Zusammenhang mit der oben genannten US-Patentschrift 3 449 724 beschriebene Annahme-Registerstapel entfallen. Das Steuerwort bietet zusätzlich eine vorteilhafte Möglichkeit, eine Reihe anderer nötiger Steuerinformationen zu speichern, wie z.B. Informationen in bezug auf die Reihenfolge, in der mehrere Anforderungen an die gleiche Dateneinheit ausgeführt werden müssen.
Weitere vorteilhafte Weiterbildungen der Erfindung sind den D.** «1*67 112 1098?7/
- 4 restlichen Unteransprüchen zu entnehmen.
Die Erfindung soll nun anhand eines In den Figuren gezeigten Ausführungsbelspieles näher beschrieben werden. Es zeigen:
Fig. 1 ein Blockdiagramm des Ausführungsbeispieles,
Fign. Ia-Ic in Form eines Flußdiagrammes die Arbeitswelse der Einrichtung nach Fig. 1,
Fign. 2a-2h ein aufgeteiltes Blockdiagramm der Einrichtung ™ nach Fig. 1,
Fig. 3a ein Zeitdiagramm einer Abrufoperation, Fig. 3b ein Zeitdiagramm einer Speicheroperation,
Fig. 3c ein Zeitdiagramm einer Abrufoperation mit Datenaustausch zwischen den Speichern,
Fig. 3d ein Zeitdiagramm einer Speicheroperation mit Datenaustausch zwischen den Speichern,
fc Fig. 4 die Unterteilung des Hauptspeichers und des
Schnellspeichers in Grund-Speichermoduln,
Fig. 5 eine Darstellung einer Datenübertragung zwischen den Speichern.
Bevor mit der Beschreibung des Ausführungsbeispieles begonnen wird, sollen an dieser Stelle einige in der Beschreibung benutzte Ausdrücke erklärt werden:
Virtuelle Adresse:
Eine logische Adresse, die eindeutig bestimmte Daten angibt.
Physikalische Adresse:
Eine Adresse im Schnellspeicher, welche der virtuellen Adresse entspricht. Es gibt eine erste und zweite physikalische Adresse für jede virtuelle Adresse.
Ein Speicherbereich, welcher 256 Worte enthält. Jede Seite ist in 16 Zeilen unterteilt.
zeile:
Ein Speicherbereich, welcher 16 Horte enthält.
Wort;
Die adressierbare Speichereinheit im Schnellspeicher.
Markenspeicher;
Enthält Indizes (Marken) der Zeilen, die zu diesem Zeitpunkt im Schnellspeicher gespeichert sind.
Zuordnungsspeicher:
Enthält die Indizes der Zellen, die zu diesem Zeitpunkt im Hauptspeicher gespeichert sind.
! Adressen-Aufteilung;
[ Die Umwandlung einer virtuellen Adresse, um zu den physikali-. sehen Speicheradressen zu gelangen.
Zellen-Identifizierer:
/ Das Feld innerhalb einer Speicherstelle des Markenspeichers, j welches eindeutig die Zeile angibt, welche zu diesem Zeitpunkt dieser Speichersteile im Markenspeicher zugeordnet ist* Glei chermafien zeigt ein solches Feld im Zuordnungsspeicher eindeutig eine Zeilenadresse im Hauptspeicher an, welche zu diesem Zeitpunkt der betreffenden Speicherstelle im Zuordnungsspeicher zugeordnet lit.
Docket SA 967112 10 9 8 277 1 394
Hauptspeicher-Zeiger:
Das Feld innerhalb einer Speicherstelle des Zuordnungsspeichers, welches die Adresse der Hauptspeicherstelle angibt, wo die Daten gespeichert sind, auf die Bezug genommen wird.
Fig. 1 zeigt in übersichtlicher Form den Aufbau des Ausführungsbeispieles der vorliegenden Erfindung.
Aus Fig. 1 ist ersichtlich, daß sich das vorliegende Ausführungsbeispiel ganz allgemein auf zwei Anforderungstore, d.h. Eingangskanäle für Anforderungen, bezieht. Diese Eingangstore für die Speieheranforderungen sind in Fig. 1 mit P und Q bezeichnet. Die Erfindung ist jedoch nicht auf zwei Eingangstore dieser Art beschränkt, sondern es können auch mehrere Anforderungstore vorgesehen werden.
Die Quelle P von Speicheranforderungen ist über die Sammelleitung 1 mit dem P-Registerstapel 3, Folge-Steuergenerator 5 und P-Prioritätseinrichtung 7 verbunden. Der P-Registerstapel 3 kann aus einer Gruppe von Registern bestehen und enthält die einzelnen, eingetroffenen Anforderungen. Außerdem werden in den Registern, welche die Anforderungen enthalten, Anzeigen über den Fortgang der Behandlung der Speicheranforderung gespeichert. Der Folge-Steuergenerator 5 bestimmt die Reihenfolge in der mehrere Speicheranforderungen an dieselbe Speicheradresse ausgeführt werden müssen. Wenn z.B. eine Abruf- und eine Speicheranforderung in dieser Reihenfolge eintreffen und sich beide Anforderungen auf die gleiche Adresse beziehen, so muß offensichtlich die Abrufanforderung vor der Einspeieheranforderung ausgeführt werden, um die beabsichtigten Daten zu erhalten.
Die Q-Anforderungsquelle ist über die Sammelleitung 2 mit dem Q-Registeretapel 4, dem Folgesteuergenerator 5 und der Q-Prioritätaeinrichtung 8 verbunden.
Die P-Prioritätseinrichtung 7 ist über die Sammelleitung 9 mit Docket SA 967 112 10 9 8 2 7/1394
dem Markenspeicher-Löser 11 und über die Sammelleitung 13 mit dem Schnellspeicher-Löser 15 verbunden. Die Q-Prioritätseinrichtung 8 ist über die Sammelleitung 10 mit dem Markenspeicher-Löser 11 und über die Sammelleitung 14 mit dem Schnellspeicher-Löser 15 verbunden. Die Speicher-Löser 11 und 15 bestehen in der Hauptsache aus blockierenden UND-Gliedern. Da vorausgesetzt wird, daß sowohl P als auch Q Anforderungen an den Schnellspeicher oder den Markenspeicher zu gleicher Zeit eintreffen können, ist es die Aufgabe der genannten Speicher-Löser 11 und 15, die Konflikte zu lösen, die durch die beiden Anforderungen an die gleiche Dateneinheit entstehen. Der Markenspeicher-Löser 11 ist über die Sammelleitung 17 mit dem Markenspeicher 19 und der Schnellspeicher-Löser 15 über die Sammelleitung 18 mit dem Schnellspeicher 20 verbunden. Zwischen dem Markenspeicher 19 und dem Schnellspeicher 20 besteht eine 1:!-Übereinstimmung der physikalischen Zeilenadressen.
Zugleich mit der Prioritätsbestimmung innerhalb eines gegebenen Anforderungszweiges (P oder Q) wird die virtuelle Adresse einer Anforderung in zwei physikalische Adressen aufgeteilt und zwar sowohl für den Markenspeicher als auch für den Schnellspeicher. Wenn die Anforderung Priorität erhält, werden diese beiden physikalischen Adressen, im weiteren erste und zweite Adresse genannt, dazu benutzt, zwei Speicherstellen im Markenspeicher und die zwei entsprechenden Speicherstellen im Schnellspeicher | zu adressieren. Die Marken von der ersten und zweiten Speicherstelle im Markenspeicher und die Daten von der ersten und zweiten physikalischen Adresse im Schnellspeicher werden über Sammelleitungen 21, 23 und 22, 24 zu der P-Entscheidungseinheit 25 oder zu der Q-Entscheidungseinheit 26 übertragen, je nachdem von welchem Anforderungszweig die Anforderungen stammen. Sofern kein Konflikt vorliegt kann dies für beide Anforderungszweige gleichzeitig geschehen. In der Entscheidungseinheit eines- bestimmten Eingangstores wird durch logische Schaltungen ein Vergleich ausgeführt zwischen der virtuellen Adresse der Anforderung und dem Markenidentifizierer für die Schnellspeicher-Speicherstellen. Zu gleicher Zeit werden die Daten von diesen beiden Speicher-Docket SA 967 112
10 9 8 2 7/1394
stellen aus dem Schnellspeicher ausgelesen. Wenn einer dieser Vergleiche ein positives Ergebnis liefert, werden die betreffenden Daten der Anforderungsquelle zur Verfügung gestellt, sofern bestimmte Steuerbits, welche im nachfolgenden noch beschrieben werden, eine derartige übertragung zulassen. Wenn festgestellt wird, daß die gewünschte virtuelle Adresse sich nicht im Schnellspeicher befindet und wenn die betreffenden Steuerbits eine bestimmte Stellung haben, wird die ursprüngliche Anforderung und der Inhalt der Markenspeichersteile über die Sammelleitung 27 und 28 zu der R-Übertragungseinheit 30 geleitet. Diese Einheit 30 steuert die Datenübertragung zwischen dem Hauptspeicher und dem Schnellspeicher. Im vorstehenden Falle ist es notwendig, die gewünschten Daten vom Hauptspeicher 32 in den Schnellspeicher 20 zu übertragen, um diese Daten hiernach der Anforderungsquelle zur Verfugung stellen zu können. Der betreffenden Anforderung im Anforderungs-Registerstapel wird über die Sammelleitung 31 oder 33 mitgeteilt, daß die Datenübertragung stattfindet und es findet vorläufig keine weitere Aktion in bezug auf diese Anforderung statt. Die Anforderung wird erst wieder in Betracht gezogen, wenn sich die gewünschten Daten im Schnellspeicher befinden. In der Zwischenzeit kann die Erfüllung von anderen Speicheranforderungen im P- oder Q-Registerstapel stattfinden.
Die R-Ubertragungseinheit 30 ist über die Sammelleitung 35 mit der R-Prioritäts- und Aufteilungseinrichtung 36 verbunden. Diese Einrichtung arbeitet auf gleiche Weise wie die beschriebenen P- und Q-Einrichtungen 7 und 8. Sie ist auch auf ähnliche Weise über die Sammelleitung 39 und 41 mit dem Markenspeicher-Löser 11 und dem Schnellspeicher-Löser 15 verbunden. Es ist also ersichtlich, daß die genannten Speicher-Löser 11 und 15 Konflikte lösen, welche durch Anforderungen an dieselbe Dateneinheit im Markenspeicher oder Schnellspeicher von den Registerstapeln P oder Q oder der R-Ubertragungseinheit 30 herrühren. Im beschriebenen Ausführungsbeispiel erhält die Quelle R die höchste Priorität, hiernach kommt P und Q hat die niederste Priorität.
Docket SA 967 U2 ,09877/1394
Die R-übertragungseinheit 30 ist über die Sammelleitung 43 mit dem Zuordner 45 verbunden. Zwischen dem Hauptspeicher und dem Schnellspeicher wird jeweils eine Datenzeile als Einheit übertragen. Zwischen einer bestimmten, im Hauptspeicher gespeicherten Datenseite und einem Index im Zuordner besteht kein direkter Zusammenhang. Es ist daher notwendig, die Hauptspeicherzeile im Zuordnungsspeicher 45 explizit zu benennen. Der Zuordnungsspeicher 45 verschafft eine Zuordnung zwischen der verlangten virtuellen Adresse und der physikalischen Adresse im Hauptspeicher, welche die Datenzeile enthält,, die von der virtuellen Adresse verlangt wird. Sobald die R-übertragungseinheit 30 die virtuelle Adresse und andere damit verbundene Informationen über die Sammellei- * tungen 27 und 28 erhält, wird der assoziative Zuordnungsspeicher 45 abgesucht, um die Datenseite zu finden, welche im Hauptspeicher die virtuelle Adresse enthält. Die übertragungseinheit 30 steuert dann Über die Sammelleitung 47 die übertragung dieser Daten zwischen dem Hauptspeicher und dem Schnellspeicher. Sobald die übertragung beendet ist, wird der Anforderung, welche diese übertragung ausgelöst hat, die höchste Priorität gegeben um die Daten zu halten.
Die Fign. Ib und Ic zeigen in !Form eines Ablaufschemas die Behandlung einer P-Anforderung. Zugleich mit der Behandlung einer P-Anforderung kann auch eine Q-Anforderung auf gleiche Weise behandelt werden und auch die R-übertragungseinheit kann zugleich einen Datenaustausch zwischen den beiden Speichern durchführen. Falls mehrere dieser Anforderungen sich auf die gleiche Dateneinheit im schnellen Speicher beziehen, erhält R die höchste Priorität, hiernach folgen P und Q. Die Priorität wird im Markenspeicher-Löser und im Schnellspeicher-Löser bestimmt und die 'Prioritätsfolge zu den bestimmten Prioritätseinrichtungen übertragen. Diese geben ihrem Anforderungen hiernach entweder Priorität, um Zugriff zum Markenspeicher oder Schnellepeicher au erlangen oder halten die Anforderungen zurück.
Xn Flg. Ib wird gezeigt, wi· «in« eintreffende P-Anforderung
SA 9*7 IU !0M2T/1894
behandelt wird. Der Anforderungsstapel 3 wird zunächst nach Block 3A in Fig. Ib abgefragt. Wenn der P-Anforderungsstapel nicht leer ist, muß noch geprüft werden, ob er voll ist. Wenn er voll ist, dann wird die P-Anforderungsquelle davon benachrichtigt und bietet die Anforderung in einem nächsten Zyklus wieder an. Wenn der Anforderungsstapel weder voll noch leer ist, wie durch den Weg 6B dargestellt ist, dann gibt es zwei mögliche Arten, die Behandlung der Anforderung weiterzuverfolgen. Die Behandlung einer Anforderung wird weitgehend durch Steuerbits bestimmt, welche zusammen mit der Anforderung in einem Register des betreffenden Anforderungsregisterstapels gespeichert sind. Die Steuerbits geben u.a. das Alter der Anforderung, welche sich in einem bestimmten Register befindet, an. Durch ein Steuerbit wird auch angegeben, ob eine Anforderung bereit ist, zu bestimmten Teilen des Systems übertragen werden können. Ein Steuerbit gibt z.B. an, ob eine Anforderung geeignet ist, zur Prioritätseinrichtung weitergeleitet zu werden, oder ob sie sich in einem Wartezustand befindet und auf die Beendigung einer Datenübertragung zwischen den Speichern wartet. Es kann natürlich auch vorkommen, daß ein Anforderungsstapel weder leer noch voll ist, daß jedoch keine Anforderung im Stapel geeignet ist, zur Prioritätseinrichtung übertragen zu werden. Wenn das der Fall ist, kann die eintreffende P-Anforderung in eine freie Stapelspeicherstelle eingespeichert werden und sofort zur Prioritätseinrichtung übertragen werden. Auf diese Weise wird das Warten im Anforderungsregisterstapel überbrückt. Diese zuletzt eintreffende Anforderung geht also früher zu der Prioritätseinrichtung als die anderen, bereits im Stapel gespeicherten Anforderungen. Die zuletzt eingetroffene Anforderung geht quasi über die Sanntelleitungen 6 und 12 an den Anforderungsstapeln vorbei, wie durch die Linie 6A in Fig. Ib gezeigt ist. Die eintreffende P-Anforderung wird also gleichzeitig zum P-Registeratapelf zum Folge-Steuergenerator und zu der P-Prioritätseinrichtung übertragen.
Falls «ich jedoch in Registerstapel eine Anforderung befindet, DOOtat SA «7 112
■"■■ ."Tl'!!!"'! 1 u"""'
- 11 -
welche zu diesem Zeitpunkt zu der Prioritätseinrichtung übertragen werden kann, ist es nicht notwendig, daß die eintreffende Anforderung direkt zu der Prioritätseinrichtung übertragen wird. Die eintreffende Anforderung wird dann nur zum Registerstapel und zum Folge-Steuergenerator übertragen, wie durch den Block 5C dargestellt ist.
Der nächste Schritt ist aus dem Block 5D ersichtlich und besteht darin, daß für die eintreffende Anforderung eine Sperrinformation erzeugt wird. Eine Adressensperrinformation ist notwendig, da die Speicheranforderungen nicht immer in der Reihenfolge ausgeführt werden, in welcher sie vom System angenommen werden. " Es entsteht ein Problem, wenn Abruf- Einspeicheranforderungen sich auf das gleiche Speicherwort beziehen und die Anforderungen sich zugleich in den Registerstapeln befinden. Wenn z.B. eine Einspeicheranforderung für ein bestimmtes Wort vor einer Abrufanforderung eintrifft, muß das Einspeichern vor dem Auslesen der Daten erfolgen, da sonst die falschen Daten ausgelesen würden. Gleiches gilt auch für eine Abrufanforderung für ein bestimmtes Wort, welches sich im Registerstapel befindet und wartet und eine Einspeicheranforderung zu diesem Wort, welche später im Stapel eintrifft. In diesem Fall muß das Auslesen vor dem Einspeichern der neuen Daten geschehen. Falls zwei Einspeicheranforderungen zum selben Wort vorliegen, müssen | diese beiden Anforderungen in der Reihenfolge in der sie eingetroffen sind ausgeführt werden, um in der bestimmten Stelle zu jedem Zeitpunkt die richtigen Daten zur Verfügung zu haben. Die Sperrinformation, die sich auf die Reihenfolge der notwendigen Ausführung der Anforderungen bezieht, wird zusammen mit der dazugehörigen Anforderung in dem betreffenden Register eines Stapels gespeichert. Diese Sperrinformation besteht aus einem Sperrwort, welches für jedes Register in den Stapeln ein Bit enthält. Abhängig vom Wert dieses Bits kann also für eine bestimmte Anforderung festgestellt werden, ob diese Anforderung mit einer anderen Anforderung verknüpft ist. Eine Anforderung kann erst durchgeführt werden, wenn alle Bits im Sperrwort
Docket SA 967 112 10 9 8 2 7/1394
zurückgestellt worden sind. Auf diese Weise wird sichergestellt, daß erst alle anderen Anforderungen, welche mit der betreffenden Anforderung verknüpft sind und zuerst ausgeführt werden müssen auch wirklich ausgeführt sind, bevor die betreffende Anforderung ausgeführt werden kann.
Während das Sperrwort vom Folgesteuergenerator erzeugt wird, kann bereits eine verfügbare Anforderung vom P-Registerstapel zur Prioritätseinrichtung geleitet werden. Dies ist durch den Block 7A in Fig. Ib dargestellt. Zugleich mit der Zuteilung der Priorität an diese Anforderung, wird die virtuelle Adresse der Anforderung in zwei physikalische Adressen aufgeteilt.
Wenn keine Anforderung im P-Registerstapel bereit ist, zu der Prioritätseinrichtung geleitet zu werden, wie durch die Linie 6A in Fig. Ib dargestellt ist, dann wird die eintreffende Anforderung quasi am Registerstapel vorbeigeleitet und direkt der P-Prioritätseinrichtung und dem Folge-Steuergenerator zugeführt. Außerdem muß die Anforderung jedoch auch in einem Register des Stapels gespeichert werden. Dies ist durch den Block 5A in Fig. Ib dargestellt. Zu gleicher Zeit wird die Sperrinformation für diese Anforderung erzeugt (5B, Fig. Ib). Es ist wichtig, den Unterschied zwischen den Blöcken 5B und 5D in Fig. Ib festzuhalten. Wenn die eintreffende Anforderung nicht am Registerstapel vorbei zu der Prioritätseinrichtung läuft, dann wird die Sperrinformation erzeugt bevor die eintreffende Anforderung schließlich zur Prioritätseinrichtung geleitet wird. Dies ist in 5d dargestellt. Die Sperrinformation verhindert dann also eventuell, daß die eintreffende Anforderung direkt zur Priorität seinrichtung geleitet wird. Wenn jedoch andererseits die eintreffende Anforderung quasi am Registerstapel vorbei direkt zur Prioritätseinrichtung geleitet wird (5A, Fig. Ib), dann bewirbt sich die Anforderung um Priorität unabhängig davon, ob eine Verknüpfung, d.h. eine Sperre, mit anderen Anforderungen bestehen müßte. Die betreffende Sperrinformation für diese Anforderung wird ja erst zugleich mit der übertragung zur Priori-Docket SA 967 112 1 0 9 8 2 7 / 1 3 9 A
tätseinrichtung erzeugt. Wenn für diese Anforderung die Eintragung einer Sperrinformation notwendig ist, werden die betreffenden Bits in dem Register, in dem die Anforderung im Stapel gespeichert wurde, gesetzt. Zu diesem Zeitpunkt befindet sich die Anforderung jedoch bereits in der Prioritätseinrichtung, kann also nicht aufgehalten oder zurückübertragen werden, sondern wird bereits zu den Entscheidungseinheiten 25 und 26 übertragen. An dieser Stelle wird jedoch die Anforderung überprüft und es wird festgestellt, ob zu dieser, am Stapel vorbeigeleiteten Anforderung, später eine Sperrinformation im Registerstapel eingetragen wurde. Wenn dies der Fall ist, dann wird die Anforderung für ungültig erklärt und muß zu einem späteren Zeitpunkt noch einmal zur Prioritätseinrichtung übertragen werden.
Wie im Block 7C (Fig. Ic) dargestellt ist, ist es notwendig, Daten und Markenkonflikte zu lösen. Wenn z.B. zugleich eine R-Anforderung und eine P-Anforderung an das gleiche Datenwort vorliegt so erhält die R-Anforderung Priorität. Die Lösung : dieses Prioritätskonfliktes kann für die Daten aus dem Schnellspeicher und die Marken aus dem Markenspeicher zu verschiedenen Zeitpunkten, d.h. in verschiedenen Zyklen stattfinden. Es kann z.B. nur notwendig sein, daß die R-Übertragungseinheit Informa- ; tion in den Markenspeicher bei der Beendigung einer Datenübertragung einspeichern muß. In diesem Falle bekommt die R-Über- f tragungseinheit 30 Priorität für den Markenspeicherzugriff und < nicht für den Sehnellspeicherzugriff. In einem bestimmten Ma- : echinenzyklus kann also einer Anforderung die Priorität für \ den Markenspeicher verweigert jedoch für den Schnellspeicher » zuerkannt werden. Im nächsten Zyklus versucht die P-Anforderung also nuneehr Priorität für dl· erst verweigerte Einrichtung zu erhalten.
Nenn di· P-A*forderung Priorität sowohl für die Daten als auch für Marken erhalten hat wird dl· in zwei physikalische Adressen aufgeteilte virtuell· Adresse xu* Markenspeicher und Schnellepei cn er Über die ftassMlleltuagen 9 und 13 Übertrag·».' Die tu·-
Boetat .X NT 113 108827/1394
gelesenen Marken und Daten werden über die Sammelleitungen 21 und 22 zur P-Entscheidungseinheit 25 übertragen. Dies ist im Block 25A in Fig. Ic dargestellt. Die Entscheidungseinheit bestimmt dann (25B, Fig. Ic) ob die gewünschte virtuelle Adresse entweder der ersten oder zweiten physikalischen Adresse im Schnellspeicher entspricht. Zu diesem Zwecke werden die Marken, die jeweils der ersten und der zweiten* physikalischen Adresse im Schnellspeicher entsprechen, ausgelesen und die virtuelle Adresse welche sich in diesen Marken befindet wird mit der virtuellen Adresse der Anforderung verglichen. Wenn die Daten, die der gewünschten virtuellen Adresse entsprechen, sich in einer dieser beiden physikalischen Adressen des Schnellspeichers befinden, dann wird das Sperrwort für die betreffende Anforderung untersucht. Wenn eine Sperre zu dieser Anforderung gespeichert ist, dann ist das im Zusammenhang mit dem oben beschriebenen Fall geschehen, wo die Anforderung direkt am Registerstapel vorbei zu der Prioritätseinrichtung geleitet wurde, über die Sammelleitung 31 wird die betreffende Steuerinformation in die Anforderung, die sich zu diesem Zeitpunkt in der Entscheidungseinheit 25 befindet eingetragen und verhindert auf diese Weise, daß die Anforderung weiterbehandelt wird. Diese Anforderung muß also zu einem späteren Zeitpunkt noch einmal zu der Prioritätseinrichtung geleitet werden. Dies ist im Block 3IA in Flg. ic dargestellt.
Wenn die Anforderung jedoch nicht mit anderen Anforderungen verknüpft ist kann die Anforderung ausgeführt werden. Wenn die Anforderung sich auf das Einspeichern bezieht so sind die Daten welch· gespeichert werden sollen, zusammen mit der Anforderung im Registerstapel gespeichert und können an der gewünschten virtuellen Adresse in Schnellspeicher gespeichert werden. Nenn sich die Anforderung jedoch auf das Auslesen von Daten bezieht, dann wird das aus de« Schnellspeicher auegelesene gewünschte Wort innerhalb der Anforderungslnforaation gespeichert.
In bestirnten Fällen kann die Einrichtung auch Daten vorn Haupt-Docket SA 967 112 1098 27/1394
SAD ORIGINAL
speicher in den Schnellspeicher übertragen, von denen angenommen wird, daß sie naher Zukunft gebraucht werden. Die bisher beschriebene Datenübertragung zwischen den Speichern bezieht sich nur auf den Fall, daß Daten aus dem Schnellspeicher gewünscht wurde, welche sich noch im Hauptspeicher befinden und also erst zum Schnellspeicher übertragen* werden müssen. Wenn die Wahrscheinlichkeit jedoch groß ist, daß bestimmte Daten in naher Zukunft gebraucht werden, wird eine sogenannte Vorabübertragung ausgeführt. Diese Wahrscheinlichkeit ist dann gegeben, wenn sich eine Anforderung auf das erste Wort der 16 Worte einer Datenzeile bezieht. Es wird hierauf geprüft, ob sich die Datenzeile mit der ä nächsthöheren Adresse bereits im Schnellspeicher befindet. Wenn dies nicht der Fall ist/ wird eine Vorabdatenübertragung vom Hauptspeicher in den Schnellspeicher durchgeführt. Diese Vorabübertragung ist durch den Block 29 in Fig. Ic dargestellt. Zur Ausführung dieser Vorabübertragung wird eine Scheinanforderung für die Datenzeile mit der nächsthöheren Adresse im P-Registerstapel gespeichert. Diese Scheinanforderung wird dann eine Datenübertragung vom Hauptspeicher zum Schnellspeicher auslösen.
Wenn sich die Daten mit der gewünschten virtuellen Adresse nicht im Schnellspeicher befinden, d.h. in keiner der beiden physikalischen Adressen welche der virtuellen Adresse der Anförderung entsprechen, dann wird ebenfalls eine Datenübertragung zwischen den Speichern ausgelöst (3OB, Fig. Ic). Wie bereits beschrieben, erfolgt das Auffinden der gewünschten Daten im Hauptspeicher über den Zuordnerspeicher 45. Mit Hilfe der virtuellen Adresse der empfangenen Speicheranforderung wird die Hauptspeicheradresse festgestellt in der die gewünschten Daten gespeichert sind, und diese Daten werden hierauf zum Schnellspeicher übertragen. In den Entscheidungseinheiten 25 und 26 sind Einrichtungen vorgesehen, mit deren Hilfe festgestellt werden kann, welche Speicherstellen im Schnellspeicher am besten geeignet sind, die neu zu empfangenden Daten aufzunehmen. Auch erfolgt durch diese Einrichtungen eine Wahl zwischen der ersten und zweiten physikalischen Adresse, welche die Daten-
1098 27/1394
- 16 zeile der virtuellen Adresse aufnehmen soll.
Während des Datenaustausches zwischen den Speichern wird die Markeneintragung £ür die gewählte Adresse geprüft. Ein Bit des Markenwortes, welches in einer Speicherstelle des Markenspeichers gespeichert ist gibt an, ob der Inhalt dieser Datenzeile gewechselt wurde. Wenn dies nicht der Fall war bedeutet dies, daß eine gleiche Eintragung, wie im Schnellspeicher, sich auch im Hauptspeicher befindet. In diesem Fall ist es also gestattet, daß die zu der gewünschten virtuellen Adresse gehörigen Daten die in der gewählten physikalischen Adresse gespeicherten Daten überschreiben. Wenn jedoch das betreffende Bit anzeigt, daß die Daten in der gewählten physikalischen Adresse verändert worden waren, dann müssen die Daten erst in den Hauptspeicher gebracht werden, da es notwendig ist, daß jederzeit irgendwo im Speichersystem eine gültige Abspeicherung jedes Datenwortes vorhanden ist. Nach dieser Rückübertragung in den Hauptspeicher kann die gewünschte Datenübertragung der zu der virtuellen Anforderungsadresse gehörigen Daten vom Hauptspeicher in die ausgewählte physikalische Adresse des Schnellspeichers stattfinden. Nach Beendigung dieser Datenübertragung kann die Anforderung, welche diese Datenübertragung ausgelöst hat, zu den Prioritätseinrichtungen übertragen werden. Dies ist in Fig. Ic durch die Linie 3OD dargestellt. Diese Anforderung bewirbt sich hierauf erneut um Priorität (3OE, Fig. Ic). Bei der darauffolgenden Prüfung (25B, Fig. Ic) zeigt die Einrichtung also an, daß sich die zu dieser virtuellen Adresse gehörigen Daten nunmehr im Schnellspeicher befinden und es wird der Weg 25C (Fig. Ic) eingeschlagen.
Genaue Beschreibung
In den Figuren 2a bis 2h ist ein ausführliches Blockdiagramm der erfindungsgemäßen Speicheranordnung gezeigt. In Fign. 2a und 2b sind die P- und die Q-Anforderungs-Eingangstore 4 290 und 4292 gezeigt, über diese Tore können z.B. Anforderungen von zwei verschiedenen Datenverarbeitungsanlagen oder von zwei Einrichtungen derselben Datenverarbeitungsanlage empfangen werden. Bei mehreren
Docket SA 967 112 10 9 8 2 7/1394
Eingangstoren sind natürlich auch alle Kombinationen möglich· Das P-Eingangstor ist über die Sammelleitung 3000 mit dem
! P-Registerstapel 4000 und das Q-Eingangstor Ober die Sammelleitung 3001 mit dem Q-Registerstapel 4001 verbunden. Beide Stapel sind über die Sammelleitungen 3022 und 3023 mit dem Folgesteuergene-
] , rator 4OO2 verbunden. Das P-Eingangstor und der P-Registerstapel
• sind auch mit der P-Prioritäts- und Aufteilungseinrichtung 4004 verbunden, während das Q-Tor und der Q-Registerstapel mit der
; Q-Priorltäts- und Aufteilungseinrichtung 4005 verbunden sind.
; Die genannten Prioritätseinrichtungen sowie die R-Prioritäts einrichtung 4018 zur Datenübertragung zwischen dem Hauptspeicher
MS und dem Schnellspeicher HS sind mit dem Schnellspeicher-Löser
j 4006 und mit dem Markenspeicher-Löser 4008 verbunden. Die ; genannten Speicher-Löser sind mit den P-, Q- und R-Schnellspei cherzellen 4010, 4011 und 4024 verbunden. Der Markenspeicher-Löser
:. 4008 ist mit den P-, Q- und R-Markenspeicherzellen 4012, 4013
\ und 4026 verbunden. Die genannten Harkenspeicherzellen enthalten SteuerInformationen zum Steuern von Toren für den Zugriff zum Markenspeicher. Dieser Zugriff erfolgt über den Puffer 4308. Die genannten Zeilen enthalten Einrichtungen zur zeitlichen Steuerung,
; bzw. Verzögerung, die das Adressieren des Markenspeichers und das darauffolgende Steuern der P-, Q- und R-Abruf-Markenregister
! 4314, 4316 und 4312 gestatten. Gleichermaßen 1st in den P- und
; -■■.■■■
j Q-Schnellspeicherzellen einer Verzögerung eines Schnellspeicher- |
j zyklus eingebaut, welche ein« Synchronisation zwischen der j Adressierung des Schnellspeichers 4300 über den Schnellspeicher -
I puffer 4298 und das Auslesen der abgerufenen Informationen in die
j P- und Q-Abruf-Datenregister 4304, 4306 gestattet. Die R-Schnell-
[ Speicherzelle 4024 arbeitet auf gleiche Weise mit dem R-Daten- [ register 4302 zusammen. Zusätzlich sind die P- und Q-Schnell-
) Speicherzellen mit den P*- und Q-Entscheidungseinrichtungen 4014 und 4015 verbunden, während di« R-Schnellspeicheratelle mit der „_ R-übsrtrÄgungseinheit 4016 rsrbun.dsn ist. Die P- und Q-Abrufe*rkenrsgieter sind elt dea P- und Q-Entechsidungesinrichtungen verbunden. GUicherMflen ist das R-Abruf-Msxkenrefister «dt dem Faffsrrsgieter 4034 des Zuordnung·Speichers 4032, mit der R-Übsr-
DOCket βλ 967 112
109827/1394
tragungseinheit 4016 und der R-Prioritätseinrichtung 4020 verbunden. Die im Zuordnungsspeicher 4032 benötigten Daten werden zu Beginn über ein überwachungsprogramm in diesen Speicher eingelesen. Dieser Zuordnungsspeicher erfüllt die Funktion eines Index zu den im Hauptspeicher 4294 gespeicherten Datenzeilen. Mit Hilfe des Zuordnungsspeichers kann also festgestellt werden, welche Datenzeile im Hauptspeicher 4294 welcher virtuellen Adresse entspricht. Zum Zuordnungsspeicher 4032 sind zwei Ausgangsregister 4028 und 4030 vorgesehen. Vom Register 4028 ist Adresseninformation erhältlich, welche sich auf neue Daten bezieht, d.h. auf Daten, welche vom Hauptspeicher zum Schnellspeicher übertragen werden sollen, während vom Register 4030 Adresseninformation erhältlich ist, welche sich auf alte Daten bezieht, d.h. auf Daten, welche vom Schnellspeicher zurück in den Hauptspeicher übertragen werden.
Zum Hauptspeicher ist ebenfalls ein Pufferregister 4038 vorgesehen, welches sowohl Zugriffsinformationen als auch die zu speichernden Daten anthält. Die Hauptspeicher-Datenzelle 4040 erhält Eingangsinformationen, welche sich auf die Konfiguration bezieht, in der die gewünschte Information vom Hauptspeicher ausgelesen werden soll. Ähnlich wie vorher für die anderen Zellen beschrieben, enthält auch die Hauptspeicher-Datenzelle 4040 Verzögerungseinrichtungen zur Synchronisation beim Auslesen von Daten aus den Abrufdatenregistern 4296. Die Hauptspeicherabruf-Datenregister 4296 sind mit den Schnellspeicher-Pufferregistern 4298 verbunden.
Die Fign. 3a bis 3d zeigen den zeitlichen Ablauf eines Speicherzugriffs. Es wird hierbei vorausgesetzt, daß im Anforderungsregie terstap·! «ine Anforderung bereit ist, behandelt zu werden. Die Anforderungs-Regieterstapel werden periodisch abgesucht, u» die älteste Anforderung, welche bereit ist, zur Prioritäteeinrichtung übertragen zu werden, zu finden. Es wird ausdrücklich darauf hingewiesen, daß zur gleichen Zeit die Behandlung von Anforderungen in beiden Eingangszweigen, als auch eine Datenübertragung zwischen den Speichern stattfinden kann. Diese Docket SA 967 112 10 9 8 2 7/1394 BAD 0R!G!NAL
zeitliche Überlappung von verschiedenen Arbeitsvorgängen wird in der vorliegenden Speicheranordnung durch gewisse Steuerbits und die beschriebenen Einrichtungen ermöglicht. Zur Darstellung der Wirkungsweise der vorliegenden Einrichtung wird auf eine P-Anforderung Bezug genommen.
In Fig. 3a ist der zeitliche Ablauf einer Abrufanforderung dargestellt. Aufgrund dieser Anforderung sollen also Daten aus dem Schnellspeicher abgerufen, d.h. ausgelesen werden. Die betreffende P-Anforderung wird hierzu vom Anforderungsregisterstapel zu der P-Prioritätseinrichtung übertragen, welche zur Aufnahme dieser Anforderung ein Register enthält. In der Prioritätseinrichtung bewirbt sich diese Anforderung um die Zugriffspriorität zum Schnellspeicher und zum Markenspeicher. Die virtuelle Adresse wird in eine erste und zweite physikalische Adresse aufgeteilt und geeignete logische Schaltungen stellen fest, ob das gewünschte Wort im Schnellspeicher oder Markenspeicher auch von einer Einrichtung höherer Priorität gewünscht wird. Wenn dies nicht der Fall ist, erhält die Abrufanforderung in der P-PrIoritätselnrichtung die Priorität, den Schnellspeicher und Markenspeicher zu adressieren. Die Lösung eines eventuellen Prioritätskonfliktes geschieht in dem Schnellspeicher-Löser und dem Markenspeicher-Löser (Fign. 2a und 2b). Zur Adressierung der Speicher wird die betreffende physikalische Adresse von der Prioritätseinrichtung zum Markenspelcherpuffer und zum Schnellspeicherpuffer übertragen und die in der ersten und zweiten physikalischen Adresse enthaltenen Informationen werden ausgelesen. In die P-Schneilspelcherzelle und die P-Markenspeicherzelle wird eine Steuerinformation übertragen, welche angibt, in welche Abrufdatenregister und welche Abrufmarkenregister die Daten ausgelesen werden sollen. In dieser Einrichtung ist ein Vergleicher vorgesehen, welcher die Marken der ersten und zweiten Adresse mit der angebotenen virtuellen Adresse der Anforderung vergleicht. Bei Gleichheit einer der beiden Adressen mit der virtuellen Adresse werden die Daten vom Abrufdatenregister der Anforderungsquelle zur Verfügung gestellt.
Docket SA 967 112 1Q9827/ 1 39A
Es kann möglich sein, daß zu diesem Zeitpunkt eine in den Marken gespeicherte Steuerinformation verändert werden muß. Diese Notwendigkeit wird der betreffenden Anforderung im Registerstapel mitgeteilt und diese Anforderung bewirbt sich hierauf erneut um Zugangspriorität zum Markenspeicher. Wenn diese Priorität erhalten wird, wird im Markenspeicher eine ergänzte Markeninformation gespeichert.
Der zeitliche Ablauf beim Einspeichern von Daten (Fig. 3B) in den Schnellspeicher ist ähnlich wie der Ablauf einer Abrufanforderung. Wenn die Speieheranforderung Priorität erhält, werden, wie vorher beschrieben, die Marken der ersten und zweiten Adresse zu der Entscheidungseinheit übertragen. Die Marken werden in dieser Einrichtung mit der virtuellen Adresse verglichen und bei Gleichheit wird der Anforderung mitgeteilt, daß die betreffenden Daten in den Schnellspeicher eingespeichert werden können. Auch hier wird eine Anzeige in der betreffenden Anforderung im Registerstapel gespeichert, wenn die Marke ergänzt werden muß. Die Anforderung bewirbt sich hierauf ein zweites Mal um Priorität. Wenn die Priorität erhalten wird, entweder den Schnellspeicher oder den Markenspeicher, oder beide zu adressieren, können die zu speichernden Daten eingespeichert werden. Wenn eine Ergänzung des Inhaltes einer Markenspeichersteile notwendig ist, wird die ergänzte Marke im Markenspeicher gespeichert.
Wenn andererseits der Zeilen-Bezeichner, d.h. Zeilenidentifizierer weder der ersten noch der zweiten Adresse gleich ist mit der virtuellen Adresse der gegenwärtigen Anforderung,, dann bestimmt die Entscheidungseinheit eine der beiden physikalischen Adressen, und in diese Adresse wird daraufhin die gewünschte Dateninformation vom Hauptspeicher übertragen. Fig. 3c zeigt solch eine Abrufanforderung, welche eine Datenübertragung vom Hauptspeicher in den Schnellspeicher mit sich bringt. Von der Entscheidungseinrichtung wird ein Steuersignal zur R-Übertragungseinheit übertragen, welches ankündigt, daß ein Datenaustausch bevorsteht. Wenn die R-Ubertragungseinheit frei ist, kann diese Datenübertragung ausgeführt werden. Hierzu kann es
Docket SA 967 112 1098?7/l394
notwendig sein, sowohl Daten vom Schnellspeicher in den Hauptspeicher, als auch* vom Hauptspeicher in den Schnellspeicher zu übertragen. Die übertragung ist in Fig. 3c gestrichelt dargestellt. Die Anforderung im Registerstapel wird daraufhin von der Beendigung der Datenübertragung benachrichtigt. Zu diesem Zwecke enthält die Anforderung ein Wartebit (W), welches zum Zeitpunkt E in Fig. 3c zurückgesetzt wird. Die Anforderung bewirbt sich daraufhin um Priorität und kann Zugriff zum Schnellspeieher und zum Markenspeicher erhalten. Die Entscheidungseinrichtung vergleicht aufs neue die Marken mit der virtuellen Adresse (F in Fig. 3c). Theoretisch ist es möglich, daß inzwischen eine andere Anforderung eine zweite Datenübertragung zu der adressierten Speicherstelle im Schnellspeicher ausgelöst hat, und zwar in der Zeit zwischen der Beendigung der ersten Datenübertragung und der Vergleichsoperation in der Entscheidungseinheit. Für diesen Sonderfall, welcher nur ganz selten eintritt, ist eine besondere Behandlung der Anforderung vorgesehen. Normalerweise zeigt also die Entscheidungseinrichtung nach dem zweiten Vergleich (F in Fig. 3c) an, daß die gewünschten Daten nun im Schnellspeicher gespeichert sind. Diese Daten werden daraufhin zu der Anforderungsquelle ausgelesen und die Steuerinformation der betreffenden Anforderung wird im Anforderungsregisterstapel ergänzt um eine Ergänzung der gebrauchten Markeninformation zu ermöglichen. Zum Zeitpunkt G bewirbt sich die Anforderung daraufhin nochmals um Priorität. Wenn sie Priorität erhält wird ein Zugriff zum Markenspeicher durchgeführt und die ergänzte Markeninformation gespeichert.
Fig. 3D zeigt den zeitlichen Ablauf einer Speicheranforderung mit Datenübertragung zwischen den Speichern. Die Anforderung zum Einspeichern von Daten wird auf die beschriebene Welse bis zur Entscheidungseinrichtung behandelt (H, Fig. 3d). Wenn der Vergleich in der Entscheidungseinrichtung anzeigt, daß das gewünschte Datenwort nicht im Schnellspeicher vorhanden ist, wird die R-Öbertragungseinheit eingeschaltet. Nach Beendigung der notwendigen Datenübertragung wird das Wartebit in dem betraffen-
Docket SA 967 112 m0ft!>7/110i
■1Q98Z//1J9*. BAD ORIGINAL
den Register des Anforderungsstapels zurückgestellt und die Anforderung wird erneut zur Prioritätseinrichtung übertragen. Nach Erhalt der Priorität kann ein Zugriff zum Markenspeicher ausgeführt werden. Die beiden ausgelesenen Marken werden in der Entscheidungseinrichtung mit der virtuellen Adresse verglichen und normalerweise wird festgestellt daß in einer der beiden Markeninformationen der betreffende Zeilenbezeichner gleich ist der virtuellen Adresse. Daraufhin wird eine Steuerinformation zum Anforderungsregisterstapel übertragen (J, Fig. 3d) und die Anforderung wird erneut zur Prioritätseinrichtung übertragen. Wenn Priorität erhalten wird, können die einzuspeichernden Daten eingespeichert und die Markeninformation ergänzt werden.
Theoretisch ist es möglich, daß während einer Anforderung zum Einspeichern von Daten die gewünschte Datenzeile vom Schnellspeicher durch eine andere Anforderung ausgelesen wird, nachdem die Entscheidungseinrichtung angezeigt hat, daß die gewünschte virtuelle Adresse sich im Schnellspeieher befindet {bei D in 3b). In diesem Falle wird jedoch die Speicheraustauscheinheit ein Signal zum Anforderungsregisterstapel übertragen und bestimmte Steuerbits zurückstellen, welche ohne diese Zurückstellung die beschriebene zweite übertragung der Anforderung zur Prioritätseinrichtung ermöglicht haben würden (Dl in Fig. 3b). Auf diese Weise wird sichergestellt, daß eine Einspeicheranforderung niemals Daten an einer virtuellen Adresse, welche inzwischen vom Schnellspeicher ausgelesen wurde seit die Entscheidungseinrichtung das letztemal die Zeilenbezeichnung der Marken verglichen hat, abspeichern kann. Die gleichen Bedingungen gelten für den Einspeicherte!1 einer Abrufanforderung (nach B in Fig. 3a). In jedem der beiden Fälle muß die Anforderung von neuem beginnen und der Prioritätseinrichtung zugeleitet werden, wonach die Entscheidungseinrichtung feststellen wird, daß sich die gewünschte virtuelle Adresse nicht im Schnellspeicher befindet. Natürlich ist danach eine Datenübertragung zwischen den Speichern notwendig. Die Anforderung kann hierauf mit normalem Ablauf erfüllt werden.
Dook.t SA 967 112 109827/1394
BAD ORIGINAL
Die Funktionsweise der einzelnen in den Fign. 1 und 2 gezeigten Einheiten soll nun etwas näher beschrieben werden.
Die Registerstapel zur Aufnahme der Anforderungen bestehen, wie bereits gesagt, aus einzelnen Registern. Zusammen mit der eigentlichen Anforderungsinformation werden in diesen Registern auch Steuerbits gespeichert. Die Registerstapel 4000 und 4001 enthalten ferner Steuerungseinrichtungen, hauptsächlich zur Steuerung der Eingangs- und Ausgangstorschaltungen der Registerstapel. Die Aufgabe der Registerstapel besteht darin, für jede Anforderung, solange sie noch nicht durchgeführt ist, einen Aufzeichnungsort bereitzustellen, in dem Informationen über den Fortgang der Behandlung der Anforderung gespeichert werden kann. Der Status einer Anforderung kann also jederzeit in dem betreffenden Register des Stapels abgelesen werden. Eine neu eintreffende Anforderung wird in irgendein leeres der Register eines Stapels gespeichert. Bei einem Einspeichervorgang ist normalerweise die Anforderungsinformation zuerst verfügbar und die zu speichernden Daten folgen erst kurze Zeit danach. Der Zeitunterschied kann einen oder mehrere Zyklen betragen. Bei mehreren Einspeicher-Anforderungen muß also die Reihenfolge der Anforderungen und der dazu gehörigen Daten eingehalten werden. Wenn Daten ankommen wird von der Steuerung der Eingangstore des Registerstapels die älteste Einspeicher-Anforderung, welche noch ohne Daten ist, f im Registerstapel aufgesucht und die eintreffenden Daten werden zu dieser Anforderung im betreffenden Register des Stapels gespeichert. Von der Steuerung der Ausgangstore des Registerstapels wird die älteste Anforderung aufgesucht und zu den Prioritätseinrichtungen geleitet. Die Reihenfolge des Eintreffens der Anforderungen wird in der Steuerung des Anforderungsregisterstapels festgehalten. Die Steuerung der Ausgangstore des Anforderungsregisterstapels hat jedoch die Möglichkeit, jede Anforderung zu jeder Zeit zu den Prioritätseinrichtungen zu leiten. In der Anforderungsinformation ist die virtuelle Adresse, eine Anzeige über Einspeichern oder Auslesen, die Bestimmungsadresse der ausgelesenen Daten, die zu speichernden Daten und Prüfbits enthal-
Docket SA 967 112 ■ T 0 9 8 7 7 M 3 9 *
ten. In den Steuerungseinrichtungen der Registerstapel sind auch Anzeigeeinrichtungen vorgesehen, welche angeben können, ob der Registerstapel leer oder voll ist. Die Verbindung der einzelnen Einheiten der erfindungsgemäßen Speicheranordnung untereinander ist aus den Fign. 2a bis 2h ohne weiteres ersichtlich.
Die vom P-Registerstapel 4000 zu der P-Entscheidungseinrichtung 4014 übertragene Information besteht aus der virtuellen Adresse, einer Anzeige ob es sich um eine Einspeicher- oder Ausleseoperation handelt, der Bestimmungsadresse, der auszulesenden Daten, einer Anzeige ob die Anforderung mit anderen verknüpft ist und einer Anzeige, ob die Anforderung eine Datenübertragung zwischen den Speichern ausgelöst hat. Vom P-Registerstapl 4000 zu den P-Prioritatseinrichtungen 4004 wird die virtuelle Adresse, eine Anzeige, ob es sich um eine Einspeicher*- oder Ausleseoperation handelt, eine Gültigkeitsanzeige, die einzuspeichernden Daten, verschiedene Steuerbits und Torschaltungssignale übertragen.
Die P-Markenzelle 4012 steuert das Auslesen des betreffenden Registers des P-Anforderungsregisterstapels zu der Entscheidungseinrichtung .
Die P-Prioritätseinrichtung 4004 ist mit dem P-Registerstapel 4000 verbunden. Wenn eine Anforderung in der Prioritätseinrichtung 4004 Priorität erhalten hat, wird von der Prioritätseinrichtung in dem betreffenden Register des Anforderungsregisterstapels ein Prioritatsannahmebit (PX) gesetzt und ferner auch die Steuerbits, welche anzeigen, daß eine Anforderung auf einen Datenaustausch wartet. Ebenfalls über diese Verbindung zwischen Prioritätseinrichtung und Anforderungsregisterstapel werden die Sperrbits im Sperrwort zurückgestellt. Dies ist dann der Fall, wenn Anforderungen mit denen die betreffende Anforderung verknüpft ist, ausgeführt worden sind.
Die P-Entscheidungseinrichtung 4014 ist mit dem P-Anforderungsregisterstapel über die Sammelleitung 2010 verbunden. Über diese Sammelleitung können Sperrbits im Sperrwort dieses Registers des Docket SA 967 112 109827/139 A
Registerstapels gesteuert werden. Ferner können Steuerbits in jedes Register gesetzt werden, welche anzeigen/ daß Daten oder Marken eingespeichert werden sollen und weitere Steuerbits in jedem Register des Registerstapels, welche anzeigen ob die genannten Daten oder Marken in der ersten oder zweiten Adresse des Marken- oder Schnellspeichers gespeichert werden sollen. Ferner können Steuerbits über diese Sammelleitung in jedem Register des Anforderungsregisterstapels gesetzt werden, welche den Status der Anforderung angeben. Schließlich können auch die Adresse einer Vorabdatenübertragung und die Steuerungsinforraation zur Einspeicherung dieser Vorabadresse in das betreffende Register des Anforderungsstapels übertragen werden.
Der Folge-Steuergenerator 4002 ist mit den Anfοrderungsregisterstapeln verbunden, um in den Registern die Sperrbits der Sperrworte einstellen zu können.
Die Einrichtungen des Q-Anfοrderungszweiges sind auf ähnliche Art untereinander verbunden wie die Einrichtung des P-Anforderungszweiges.
Im folgenden soll nun näher auf die in den Registern des Anforderungsregisterstapels gespeicherten Steuerbits eingegangen werden. Jedes der Register des Stapels enthält ein Feld zur Aufnahme der virtuellen Adresse. Wie bereits beschrieben, kann auch eine Vorabadresse in einem Register des Stapels gespeichert werden. Zwei weitere Bits, F und S, geben an, ob sich die Anforderung auf Auslesen oder Einspeichern bezieht. Im Falle des Auslesens wird das betreffende F-Bit direkt von der Anforderung gesetzt. Das F-Bit kann von der Entscheidungseinrichtung zurückgestellt werden, wenn es sich um eine Vorabdatenübertragung handelt. Das S-BIt wird direkt von der Anforderung gesetzt. Ein Beetimmungsfeld enthält die Bestimmungsadresse der auszulesenden Daten. Dieses Feld wird direkt von der Anforderung gesetzt. Ferner 1st ein Datenfeld zur Aufnahme der einzuspeichernden Daten vorgesehen. Da, wie gesagt, diese Daten erst später als die
,09827/1394
Adressen der Anforderung eintreffen, muß zum Einspeichern dieser Daten eine getrennte Torschaltung vorgesehen werden. In jedem Register des Anforderungsregisterstapels sind die folgenden Steuerbits gespeichert:
STK V - Dieses Bit gibt an, daß sich in diesem Register des Stapels eine Anforderung befindet. Dieses Register wird gültig genannt und das STK V-Bit ist ein Gültigkeitsbit.
SD V - Dieses Bit zeigt an, daß die zu speichernden Daten angekommen sind.
W - Dies ist das Wartebit und zeigt an, daß diese Anforderung auf einen Datenaustausch zwischen den Speichern wartet.
ISI - Wenn eine Datenübertragung zwischen den Speichern stattfindet, zeigt dieses Bit an, daß die Datenübertragung durch die Anforderung in diesem Register eingeleitet wurde. Die Anforderung in diesem Register erhält nach Beendigung der Datenübertragung Priorität um Zugriff zu den übertragenen Daten zu erhalten, bevor andere Anforderungen für das Datenwort in dieser Adresse erfüllt werden können. Wenn die Anforderung, die die Datenübertragung ausgelöst hatte, erfüllt worden ist, werden alle Wartebits in anderen Anforderungen zurückgestellt.
PX - Dies ist das Prioritätsannahmebit und zeigt an, daß diese Anforderung Priorität erhalten hat.
SI - Dies ist das Folgesteuerbit und zeigt an, daß die Erfüllung der Anforderung in diesem Register einer bestimmten Reihenfolge unterworfen ist. Die Anforderung ist mit anderen Anforderungen verknüpft. Wenn alle anderen Anforderungen, welche vor der betreffenden
Docket sä 967 112 109827/1394
Anforderung ausgeführt werden müssen, erfüllt sind, wird das betreffende Bit in diese Anforderung zurückgestellt. Für jedes Register in den verschiedenen Anforderungsstapeln ist in einem Sperrwort ein bestimmtes Bit vorgesehen (siehe IV-Bit).
D - Speicher-Daten-Bit, wird gesetzt wenn Priorität zum Einspeichern von Daten erhalten wurde.
T - Dies ist das Speicher-Markenbit. Wenn dieses Bit gesetzt ist, bedeutet dies, daß die Markeninformation, welche zu dieser Anforderung gehört, verändert werden muß. Wenn D und T Null sind, ist die Datenübertragung beendet.
P - Dieses Bit ist eine Anzeige für die erste physikalische Adresse im Schnellspeicher.
A - Dies ist das Bit, welches die Anzeige für die zweite physikalische Adresse ist.
CH - Dies ist das Veränderungbits. Wenn dieses Bit gesetzt ist, bedeutet dies, daß die gewünschte Datenzeile im Schnellspeicher vorher verändert wurde. In diese Zeile sind also inzwischen neue Daten gespeichert worden. Der | Inhalt dieser Zeile ist also verschieden von der dazugehörigen Datenzeile im Hauptspeicher. Wenn das CH-Bit auf 1 steht, bedeutet dies, daß, wenn eine Datenübertragung vom Hauptspeicher in diese Zeile des Schnellspeichers notwendig ist, diese Zeile erst in den Hauptspeicher zurückübertragen werden muß um jederzeit den Inhalt dieser Datenzeile für zukünftige Verwendungen zur Verfügung zu haben. Das CH-Bit wird schließlich in den Markenspeicher übertragen.
IT - Wenn dieses Bit gesetzt 1st bedeutet dies, daß Zugriff zu dem gewünschten Wort in der Datenzeile des Schnellspeichers erhalten werden kann, da gegenwärtig kein
Docket SA 967 112 109827/1394
Datenaustausch zwischen Hauptspeicher und dieser Zeile des Schnellspeichers stattfindet. Dieses Bit kann also Nicht-In-übertragungs-Bit genannt werden. Auch dieses Bit wird schließlich in den Markenspeicher übertragen.
H - Dieses Bit wird Heiß-Bit genannt. Auch dieses Bit wird schließlich im Markenspeicher abgespeichert. Es zeigt an, daß zum gegenwärtigen Zeitpunkt ein Zugriff zu der gewünschten Datenzeile durchgeführt wird oder kurz zuvor durchgeführt wurde. Diese Zeile ist daher "heiß". Dieses Bit wird verwendet bei der Auswahl einer Datenzeile, welche freigemacht werden soll für die Übertragung einer Datenzeile vom Hauptspeicher in den Schnellspeicher, Es sollen ja im Schnellspeicher nur "kalte" Blocks durch neue Daten überschrieben werden und nicht Blocks in denen sich heiße Worte befinden. Das Heiß-Bit wird in geregelten Abständen von einem Kalt-Generator (4022) zurückgestellt/ der Marken-AdreßZufallsfolgen , z.B. in Abständen von acht Zyklen erzeugt.
IV - Die Summe dieser Bits ergibt das Sperrwort in jedem Register eines Anforderungsregisterstapels. Wenn ein Bit in diesem Wort gesetzt ist, bedeutet dies, daß die Anforderung, in der das Sperrwort gespeichert ist verknüpft ist mit einer anderen Anforderung, welche durch das betreffende Bit im Sperrwort definiert ist. Es muß also soviele Sperrbits geben, wie es insgesamt Register in den Anforderungsstapeln gibt. Erst wenn alle Sperrbits auf O stehen, kann die betreffende Anforderung ausgeführt werden (siehe SI-Bit).
Zu den P*- und A-Bits wäre noch zu sagen, daß diese Bits in Abhängigkeit von bestimmten Bits in der virtuellen Adresse gesetzt werden.
Es soll nun die Funktionsweise des Folge-Steuergenerators 4002 näher beschrieben werden. Mit Hilfe dieses Generators sollen
Docket SA 967 112 10 9 8 2 7/1394
Konflikte gelöst werden, welche dadurch entstehen, daß sich mehrere Anforderungen auf das gleiche Datenwort im Schnellspeicher beziehen. Um unnötige Wartezeiten zu vermeiden werden ja in der beschriebenen Einrichtung Anforderungen ausgeführt, soweit die Daten auf die sich die Anforderung bezieht, zur Verfügung stehen. Es kann also vorkommen, daß ältere Anforderungen warten müssen und jüngere Anforderungen zuerst ausgeführt werden. In Form einer kurzen Tabelle sollen vier typische Fälle besprochen werden. Hierbei trifft zum Zeitpunkt T eine erste Anforderung ein und hiernach zum Zeitpunkt Tl eine zweite Anforderung.
1 2 3 a 4 a
T Speichern a Auslesen a Speichern a Auslesen a
Tl Auslesen a Speichern a Speichern Auslesen
Im ersten Falle werden die falschen Daten ausgelesen, wenn das Auslesen vor dem Speichern geschieht. Das gleiche gilt für den Fall 2 wenn das Einspeichern vor dem Auslesen erfolgt. Im Falle 3 passiert ein Fehler, wenn die beiden Einspeicheroperationen nicht in der zeitlichen Reihenfolge ausgeführt werden, in der die Anforderungen eingetroffen sind. Im Falle 4 jedoch kann kein Irrtum passieren. In allen obengenannten Fällen werden also für die zum Zeitpunkt Tl eingetroffenen Anforderungen Sperrbits erzeugt. Der Folge-Steuergenerator muß also die Möglichkeit haben, die virtuellen Adressen aller bisher eingetroffenen und noch nicht erledigten Anforderungen mit der virtuellen Adresse einer neu eingetroffenen Anforderung zu vergleichen. Hierzu sind im Folgesteuergenerator geeignete Einrichtungen vorgesehen. Zum Beispiel können die virtuellen Adressen aller zur Zelt gespeicherten Anforderungen der Reihe nach zum Folge-Steuergenerator übertragen und mit der virtuellen Adresse der neu eingetroffenen Anforderung verglichen werden. Jede dieser alten Adressen, sofern sie nicht mit der neuen Adresse verknüpft wird, wird mit einem Gültigkeitsbit zu ihrem Register zurückübertragen.
Docket SA 967 112 10 9 8 2 7/1394
Die Funktion der Prioritätseinrichtungen 4004 und 4005 ist bereits im wesentlichen beschrieben worden. In diesen Prioritätseinrichtungen wird eine Reihe von Tests durchgeführt und abhängig von den angebotenen Steuersignalen logische Entscheidungssignale erzeugt. Bei der Frage, ob eine bestimmte Anforderung Priorität erhalten soll, wird auch berücksichtigt, ob der Schnellspeicher frei ist. Der Schnellspeicher ist im vorliegenden Ausführungsbeispiel in acht Basls-Speichermoduln (BSM) unterteilt. Es können also durchaus zu gleicher Zeit mehrere Zugriffsoperationen zum Schnellspeieher durchgeführt werden, sofern sie sich auf verschiedene Basis-Speichermoduln beziehen. Diese Aufteilung in mehrere Speichermoduln wird in den Speicher-Lösern 4006 und 4008 berücksichtigt. Der Markenspeicher weist ja einen zum Schnellspeicher gleichen Aufbau auf. Die Behandlung von Prioritätskonflikten kann in den drei Prioritätseinrichtungen 4004, 4005 und 4018 gleichzeitig erfolgen. Es ist auch möglich, daß sich eine P- und Q-Anforderung wohl auf dieselbe Datenzeile aber auf ein verschiedenes Wort beziehen. In diesem Fall ist es möglich, daß sich die Anforderungen auf verschiedene Basis-Speichermoduln beziehen und gleichzeitig ausgeführt werden können. Die betreffende Markeninformation wird dann sowohl zu der P- als auch zur der Q-Entscheidungseinrichtung übertragen.
Es wurde bereits gesagt, daß eine Datenzeile 16 Worte enthält. Die beiden Datenzeilen im Schnellspeicher, in die eine virtuelle Adresse aufgeteilt wird, müssen dabei nichtnotwendigerweise benachtbart sein. Jede dieser beiden Datenzeilen ist dabei in zwei Teile unterteilt.
Fig. 4 zeigt die besprochene Unterteilung des Schnellspeichers sowie die Unterteilung des Hauptspeichers in vier Grundspeichermoduln. In diesen vier Moduln ist eine Datenzeile gespeichert, welche aus 16 Worten besteht. Bei einer Datenübertragung vom Hauptspeicher in den Schnellspeicher wird im Schnellspeicher entweder die erste oder zweite Datenzeile ausgewählt und in die-Docket SA 967 112 10 9 8 2 7/1394
se Zeile werden dann die 16 Worte vom Hauptspeicher übertragen. Aus Fig. 4 ist auch ersichtlich, daß sowohl die erste als auch die zweite Zeile im Schnellspeicher in zwei Teile unterteilt ist. Jeder Teil davon besteht aus acht Worten. Die übertragung einer Datenzeile vom Hauptspeicher in den Schnellspeicher erfolgt in vier Zyklen, A, Br C und D. Für jeden Basis-Speichermodul im Hauptspeicher ist also ein Zyklus notwendig und pro Zyklus werden vier Worte übertragen. Wenn die Datenzeile in die erste Zeile des Schnellspeichers übertragen wird, so werden die ersten acht Worte in die Adresse η und die zweiten acht Worte in die Adresse n+1 übertragen. Die betroffenen j
Grundspeichermoduln BSM sind aus Fig. 4 ersichtlich.
Wenn jedoch die Datenzeile in die zweite Zeile des Schnellspeichers übertragen wird, erfolgt bei der Einspeicherung ein kreuzweiser Austausch. Die Speicherstellen für die verschiedenen 16 Worte in der zweiten Zeile mit der Adresse m und m+1 ergeben sich aus Fig. 4. Bei dieser Art der Datenübertragung zwischen den Speichern ist also in jedem Übertragungszyklus nur die Hälfte aller Basisspeichermoduln im Schnellspeicher besetzt. Obwohl also die Datenübertragung Priorität hat (R) bleibt noch die Hälfte des Schnellspeichers übrig für andere Operationen. Diese Überlappung von verschiedenen Operationen wird auch ermöglicht durch die besondere Art der Einspeicherung der ver- | schiedenen Datenworte in die erste und zweite Zeile des Schnellspeichers. Durch den kreuzweisen Austausch, im Vergleich zur ersten Zeile, ist bei beiden Datenzellen im Schnellspeicher gewährleistet, daß durch den Zugriff zu einem bestimmten Wort nur zwei BasIsspeichermoduln adressiert werden müssen.
Beispielsweise kann angenommen werden, daß die Grundspeichermoduln O bis 3 im Schnellspeicher gerade durch die Datenübertragung während des Zyklus A belegt sind. Eine P-Anforderung kann sich auf Wort 4 in dieser ersten und zweiten Datenzeile im Schnellspeicher beziehen. Durch diese Anforderung werden die Grundspeichermoduln 4 und 5 belegt, da das Wort 4 aus den
Docket SA 967 112 109827/1394-
beiden Datenzellen ausgelesen wird, überlappend mit den beiden genannten Vorgängen ist auch eine Q-Anforderung an Wort 15 möglich. Durch den Zugriff zu Wort 15 in der ersten und zweiten Datenzeile im Schnellspeicher werden die Moduln 6 und 7 belegt. Trotz der Durchführung einer Datenübertragung vom Hauptspeicher in den Schnellspeicher ist also die Erfüllung von P- und Q-Anforderungen zu bestimmten Worten möglich.
Fig. 5 bezieht sich z.T. auf die Rückübertragung einer Datenzeile aus dem Schnellspeicher in den Hauptspeicher. Wenn das CH-Bit für diese Zeile auf 1 steht bedeutet dies, daß diese Zeile in den Hauptspeicher zurückübertragen werden muß. Die Adresse im Hauptspeicher wird mit Hilfe des Zuordnungsspeicher 4032 festgestellt. In die freigemachte Datenzeile wird hierauf vom Hauptspeicher eine neue Datenzeile übertragen. Die Adresse im Hauptspeicher der zu übertragenden Zeile wird ebenfalls durch den Zuordnungsspeicher festgestellt.
Docket SA 967 U2 109827/l39ft

Claims (18)

  1. PATENTANSPRÜCHE
    fly Speicheranordnung mit einem Hauptspeicher großer Kapazität, einem Schnellspeicher kleinerer Kapazität und Einrichtungen zum übertragen von Daten zwischen den Speichern/ sowie einem weiteren Speicher zum Speichern von Marken für jede im Schnellspeicher gespeicherte adressierbare Dateneinheit, gekennzeichnet durch eine Vielzahl von Speieheranforderungs-Toren (1, 2, 4290, 4292), wobei für jedes Speicheranforderungstor Einrichtungen zum Speichern der Anforderungen (3, 4, 4000, 4001) vorgesehen sind, durch Prioritätseinrichtungen (7, 8, 4004, 4005) zur Zuteilung der Priorität, welche die Anforderungsinformation empfangen und mit Speicher-Lösern (15, 11, 4006, 4008), welche Prioritätskonflikte von mehreren Anforderungen an die gleiche Dateneinheit eines Speichers lösen, verbunden sind.
  2. 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Einrichtungen zum Speichern der Anforderungen aus Registerstapeln bestehen und neben der Anforderungsinformation auch ein Steuerwort speichern, welches jederzeit den Fortgang der Behandlung der Anforderung abbildet.
  3. 3. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Speicheranforderung eine virtuelle Adresse enthält, welche im Schnellspeicher (20, 4300) zwei Datenzeilen mit je einer sogenannten physikalischen Adresse definiert.
  4. 4. Speicheranordnung nach Anspruch 3, gekennzeichnet durch einen an sich bekannten Markenspeicher (19, 4310), welcher für jede Datenzeile im Schnellspeicher (20) eine die Daten dieser Zeile identifizierende Marke, sowie Steuerinformation speichert.
  5. 5. Speicheranordnung nach Anspruch 1, gekennzeichnet durch Docket SA 967 112 109827/1.394
    einen Folge-Steuergenerator (5, 4002) mit Vergleichseinrichtungen welcher Anforderungen an die gleiche Datenadresse im Schnellspeicher erkennt und In den Steuerworten der betreffenden Anforderung Steuerinformation speichert, derart, daß die Anforderungen in einer solchen Reihenfolge ausgeführt werden, daß bei Einschreiben und Auslesen in Verbindung mit der gleichen Datenadresse immer die richtigen Daten adressiert werden.
  6. 6. Speicheranordnung nach Anspruch 5, gekennzeichnet durch ein Sperrwort (IV), welches für jedes insgesamt vorgesehene Register in den Stapeln (3, 4) ein Bit enthält, welches vom Folgesteuergenerator (5) gesetzt wird, wenn die Anforderung mit anderen Anforderungen verknüpft werden soll.
  7. 7. Speicheranordnung nach Anspruch 6, gekennzeichnet durch ein Folgesteuerbit (SI) im Steuerwort, welches zurückgestellt wird, wenn das Sperrwort kein gesetztes Bit enthält.
  8. 8. Speicheranordnung nach Anspruch 2, gekennzeichnet durch eine Prioritätseinrichtung (4018) für Anforderungen zur Datenübertragung, in beiden Richtungen, zwischen dem Schnellspeicher und dem Hauptspeicher und durch eine übertragungseinheit (30, 4016) zur Steuerung der Übertragung, welche im Steuerwort der Anforderung ein Warte-Bit setzt, wenn die Anforderung auf Beendigung einer Datenübertragung wartet und hiernach wieder der Prioritätseinrichtung zugeführt werden soll.
  9. 9. Speicheranordnung nach Anspruch 3, gekennzeichnet durch Entscheidungseinrichtungen (25, 26, 4014, 4015) für jedes Tor (1, 2) zum Vergleich der virtuellen Adresse einer Anforderung mit der Marke der beiden entsprechenden physikalischen Adressen, mit Einrichtungen zum Einleiten einer
    Docket SA 967 112 109827/1394
    Datenübertragung zwischen den Speichern bei negativem Vergleich, und mit Einrichtungen zum Feststellen von längere Zeit nicht benutzten Datenzellen im Schnellspeicher (20) in die dann die neue Zeile eingeschrieben wird.
  10. 10. Speicheranordnung nach Anspruch 8, gekennzeichnet durch Speicherzellen (4010, 4012, 4011, 4013, 4024, 4026) für jedes Tor (1, 2) und die Übertragungs-Priorltätsschaltung (36), zur Synchronisation der Adressierung und der Ausleseoperation des Schnell- oder Markenspeichers und zur Steuerung der Entscheidungseinrichtungen (25, 26).
  11. 11. Speicheranordnung nach Anspruch 9, gekennzeichnet, durch Einrichtungen zum Erkennen der Adresse des ersten Wortes einer Datenseite im Hauptspeicher und zur Speicherung einer Scheinanforderung im Anforderungsregisterstapel (3), derart, daß eine Vorabübertragung der nächsten Zeile der Seite eingeleitet wird.
  12. 12. Speicheranordnung nach Anspruch 9, gekennzeichnet durch ein Hei B-Bit, welches mit jeder Harke im Markenspeicher gespeichert wird und anzeigt, daß die betreffende Datenzeile kürzlich adressiert wurde und durch einen KaIt-Generator (4022), welcher in regelmäßigen, kurzen Abständen statistisch ausgewählte Markenspeicheradressen adressiert und die Hei S-Bits zurückste' .. .
  13. 13. Speicheranordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Prioritätseinrichtungen (7, 8, 36) Angaben Im Steuerwort über einen erfolgreich νβχsuchten Zugriff einer Anforderung zum Schnell- oder .larkenspeicher speichern.
  14. 14* Speicheranordnung nach Anspruch 13 gekennzeichnet durch Einrichtungen in den Anforderungsregisterstapeln (3, 4), welche jeweils die älteste Anforderung mit abgelehnter Priorität * >der der Prioritätseia^ichttug "*. 8) zuführen.
  15. 15. Speicheranordnung nach Anspruch 14, gekennzeichnet durch Einrichtungen, welche eine gleichzeitige Bearbeitung von Anforderungen von verschiedenen Anforderungstoren in den Entscheldungseinrichtungen (25, 26) und den Prioritätseinrichtungen (7, 8, 36) gestatten.
  16. J.6. Speicheranordnung nach Anspruch 8, dadurch gekennzeichnet, daß der Hauptspeicher (32) und der Schnellspeicher (20) in bekannter Weise aus mehreren Grundspeichermoduln (BSM) bestehen, wobei eine Datenzeile vom Hauptspeicher derart in jede der beiden physikalischen Adressen des Schnellspeichers übertragen wird, daß in den beiden physikalischen Adressen jeweils andere Grundspeichermoduln (BSM) von einem bestimmten Wort belegt werden.
  17. 17. Speicheranordnung nach Anspruch 16, gekennzeichnet durch ein Bit in der Markeninformation, welches angibt, ob der Dateninhalt einer Zeile im Schnellspeicher 20 geändert wurde, wonach diese Zeile vor dem überschreiben erst zurück in den Hauptspeicher (32) übertragen wird.
  18. 18. Speicheranordnung nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, daß jede der genannten Einrichtungen unabhängig vom Belegtzustand anderer Einrichtungen von einer Anforderung belegt werden kann, wodurch mehrere Anforderungen gleichzeitig bearbeitet werden können und während dieser Bearbeitungszeit auch eine Datenübertragung zwischen den Speichern durchgeführt werden kann.
    Docket SA 967 112 10 9 8 2 7/1394
    Leerseite
DE19702061576 1969-12-23 1970-12-15 Speicheranordnung Pending DE2061576A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US88746969A 1969-12-23 1969-12-23

Publications (1)

Publication Number Publication Date
DE2061576A1 true DE2061576A1 (de) 1971-07-01

Family

ID=25391207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702061576 Pending DE2061576A1 (de) 1969-12-23 1970-12-15 Speicheranordnung

Country Status (5)

Country Link
US (1) US3670309A (de)
JP (1) JPS504530B1 (de)
DE (1) DE2061576A1 (de)
FR (1) FR2143504B1 (de)
GB (1) GB1313528A (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3839704A (en) * 1972-12-06 1974-10-01 Ibm Control for channel access to storage hierarchy system
US3868644A (en) * 1973-06-26 1975-02-25 Ibm Stack mechanism for a data processor
US3928857A (en) * 1973-08-30 1975-12-23 Ibm Instruction fetch apparatus with combined look-ahead and look-behind capability
GB1499184A (en) * 1974-04-13 1978-01-25 Mathematik & Datenverarbeitung Circuit arrangement for monitoring the state of memory segments
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US3964054A (en) * 1975-06-23 1976-06-15 International Business Machines Corporation Hierarchy response priority adjustment mechanism
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
GB2037039B (en) * 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4208716A (en) * 1978-12-11 1980-06-17 Honeywell Information Systems Inc. Cache arrangement for performing simultaneous read/write operations
JPH048824B2 (de) * 1979-01-09 1992-02-18
US4707781A (en) * 1979-01-09 1987-11-17 Chopp Computer Corp. Shared memory computer method and apparatus
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
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
US4381541A (en) * 1980-08-28 1983-04-26 Sperry Corporation Buffer memory referencing system for two data words
US4458316A (en) * 1981-03-06 1984-07-03 International Business Machines Corporation Queuing commands in a peripheral data storage system
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
CA1187198A (en) * 1981-06-15 1985-05-14 Takashi Chiba System for controlling access to channel buffers
US4430701A (en) * 1981-08-03 1984-02-07 International Business Machines Corporation Method and apparatus for a hierarchical paging storage system
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
JPS59188879A (ja) * 1982-12-17 1984-10-26 シンボリツクス・インコ−ポレ−テツド デ−タプロセツサ
US4887235A (en) * 1982-12-17 1989-12-12 Symbolics, Inc. Symbolic language data processing system
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
CA2072178A1 (en) * 1991-06-24 1992-12-25 Said S. Saadeh Innate bus monitor for computer system manager
US5832499A (en) * 1996-07-10 1998-11-03 Survivors Of The Shoah Visual History Foundation Digital library system
US6353831B1 (en) 1998-11-02 2002-03-05 Survivors Of The Shoah Visual History Foundation Digital library system
GB2378277B (en) * 2001-07-31 2003-06-25 Sun Microsystems Inc Multiple address translations

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB979632A (en) * 1960-04-20 1965-01-06 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3368207A (en) * 1965-05-12 1968-02-06 Ibm File protection to i/o storage
US3398405A (en) * 1965-06-07 1968-08-20 Burroughs Corp Digital computer with memory lock operation
US3469239A (en) * 1965-12-02 1969-09-23 Hughes Aircraft Co Interlocking means for a multi-processor system
US3473159A (en) * 1966-07-07 1969-10-14 Gen Electric Data processing system including means for protecting predetermined areas of memory
US3461433A (en) * 1967-01-27 1969-08-12 Sperry Rand Corp Relative addressing system for memories

Also Published As

Publication number Publication date
JPS504530B1 (de) 1975-02-20
FR2143504B1 (de) 1974-10-11
FR2143504A1 (de) 1973-02-09
GB1313528A (en) 1973-04-11
US3670309A (en) 1972-06-13

Similar Documents

Publication Publication Date Title
DE2061576A1 (de) Speicheranordnung
EP0435046B1 (de) Verfahren zum Wiederherstellen der richtigen Zellfolge, insbesondere in einer ATM-Vermittlungsstelle, sowie Ausgangseinheit hierfür
DE1966633C3 (de) Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers
DE2550339C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE2628363C2 (de) Datenverarbeitungs-Netzwerk
DE2809602C3 (de) Kanalbus-Steuereinrichtung
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE4008078A1 (de) Kopierfaehige atm-vermittlungsstelle
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
EP0446586B1 (de) ATM-Vermittlungsstelle
DE2855673C2 (de)
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2241257A1 (de) Datenverarbeitende anlage
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2750721A1 (de) Ein/ausgabe-system
DE2928488A1 (de) Speicher-subsystem
DE2441754A1 (de) Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors
EP0651536A2 (de) Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE1499206B2 (de) Rechenanlage
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE2350202A1 (de) Asynchron arbeitende hauptspeicherfolgesteuereinrichtung fuer ein rechnersystem
DE2028345C3 (de) Verfahren zur Verteilung von Ablaufanforderungen in einer programmgesteuerten Datenvermittlungsanlage
DE2350170A1 (de) Schaltungsanordnung fuer einen rechner zum ersatz eines zustands durch einen anderen zustand