DE3131341C2 - - Google Patents
Info
- Publication number
- DE3131341C2 DE3131341C2 DE3131341A DE3131341A DE3131341C2 DE 3131341 C2 DE3131341 C2 DE 3131341C2 DE 3131341 A DE3131341 A DE 3131341A DE 3131341 A DE3131341 A DE 3131341A DE 3131341 C2 DE3131341 C2 DE 3131341C2
- Authority
- DE
- Germany
- Prior art keywords
- buffer memory
- register
- data
- memory
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
Description
Die Erfindung bezieht sich auf eine Pufferspeicheranordnung der im
Oberbegriff des Patentanspruchs 1 genannten Art.
Pufferspeicher, die auch als Notizblockspeicher verwendet werden, weisen
eine höhere Zugriffsgeschwindigkeit als der Hauptspeicher eines Digitalrechnersystems
auf und werden zur Speicherung häufig benötigter Daten
verwendet, um auf diese Weise die Gesamtzugriffszeit des Systems zu
verkleinern.
In der US-PS 39 49 379 ist die Idee eines Pufferspeichers, der an
dieser Stelle als Parallelspeicher bezeichnet wird, hinsichtlich der
Verhinderung einer Sperrung oder Blockierung nach einem Fehlzugriff auf
eine Adresse für den Fall nur gestreift, bei dem Daten in dem Parallelspeicher
nicht vorhanden sind. Die Blockierung oder Sperrung wird weitgehend
dadurch erreicht, daß drei getrennte Parallelspeicher verwendet
werden. Die Sperrung wird weiterhin dadurch verhindert, daß eine Block-
Werterneuerung für eine vorhergehende Fehlzugriff-Adresse parallel zu
nachfolgenden Zugriffen durch die Verwendung eines Schreib-Speicherregisters
ermöglicht wird. Diese letztere Verhinderung einer Blockierung
oder Sperrung wird jedoch lediglich in den einfachsten Situationen erreicht,
bei denen beispielsweise lediglich ein Datenblock zu einer
vorgegebenen Zeit erneuert wird, oder wenn keine Zugriffe an einen
Datenblock erfolgen, der erneuert wird, oder wenn lediglich ein Schreibbefehl
für jedes Wort des Blockes bei jeder Gesamt-Blockerneuerung vorhanden
sein kann. Insgesamt zeigt diese US-PS die Möglichkeit und den
Vorteil der Verhinderung einer Blockierung eines Parallelspeichers oder
eines Pufferspeichers, schlägt die Verwendung eines derartigen Speichers
jedoch nur in den einfachsten Fällen vor. Es ist darauf hinzuweisen, daß
eine große Wahrscheinlichkeit eines Zugriffs an ein anderes Wort in dem
gleichen Datenblock besteht, wobei das Prinzip unter dem Nutzen des
Pufferspeichers als Nebenzugriff bezeichnet wird.
Die US-PS 38 96 419 zeigt die Möglichkeit des Verhinderns einer Sperrung
eines Pufferspeichers, wobei diese Sperrung jedoch nur bei Speicheroperationen
verhindert wird. Dieser bekanne Pufferspeicher ermöglicht
autonome nichtüberlappte Blockladevorgänge, doch ergibt sich eine Sperrsituation
bei einem Fehlzugriff oder bei einer fehlenden Übereinstimmung.
Lediglich das Laden des Pufferspeichers nach dem Empfang der Daten
von dem Hauptspeicher erfolgt hierbei überlappt.
In der US-PS 39 28 857 ist das Problem einer Befehlseinheit-Sperrung
aufgrund einer Speicherkonkurrenz beschrieben. Die beschriebene Lösung
dieses Problems besteht darin, einen getrennten Befehlspuffer vorzusehen,
um die Speicherkonkurrenzsituation von den Operanden-Abruf- und den
Befehls-Abruf-Teilen des Zyklus auf die Operanden-Abruf- und Befehls-
Vorabruf-Teile des Speicherzyklus zu verlagern. Wenn der Befehlspuffer
ausreichend groß wäre und Operanden-Abrufeigenschaften aufweisen würde,
so würde dieses Problem im wesentlichen beseitigt sein. Eine weitere
Möglichkeit des genannten Problems besteht darin, einen Pufferspeicher
für sowohl Operanden als auch Befehle vorzusehen, wobei ein Mechanismus
vorgesehen wird, der eine Sperrung in einem Fehlzugriff-Fall verhindert.
Diese Patentschrift löst jedoch nicht das Problem einer Pufferspeichersperrung
aufgrund eines Mißerfolges beim ersten Zugriff eines aus vielen
Operandenzugriffen bestehenden Befehls. Dies ist die Situation, bei der
alle Speicherzugriffe von einer Ablaufsteuereinheit erfolgen. Weiterhin
ergibt sich bei dieser bekannten Mehrfachspeichersituation ein erhebliches
Problem dann, wenn die Daten in mehr als einem der Speicher
möglicherweise die gleichen Daten sind, und die Werterneuerung wird
äußerst unhandlich.
Aus der DE-OS 28 54 286 ist weiterhin eine Pufferspeicheranordnung der
eingangs genannten Art bekannt. Wenn bei dieser Pufferspeicheranordnung
die Zentralverarbeitungseinheit die Adresse der benötigten Daten in dem
Hauptspeicher bestimmt hat, wird die Adresse an eine Pufferspeicher-
Steuereinheit gesandt und in ein Adressenregister eingeführt. Der
Speicherplatz-Adressenteil des Adressenregisters ermöglicht die Weiterleitung
von Statussignalen an ein Entscheidungsnetzwerk, wobei diese
Statussignale beispielsweise eine Voll-Leer-Anzeige, eine Anzeige für
ein anstehendes Bit und eine Fehler-Block-Anzeige umfassen. Wenn ein
Treffer festgestellt wird, so befinden sich die gültigen Daten in der
Pufferspeichereinheit. Bei einem Fehlzugriff müssen die benötigten Daten
aus dem Hauptspeicher entnommen werden. Auch in diesen Fall tritt daher
eine Blockierung auf, weil bei einem derartigen Fehlzugriff die Daten
erst aus dem Hauptspeicher entnommen werden müssen.
Der Erfindung liegt die Aufgabe zugrunde, ein Blockieren bis zu einer
vorgegebenen Anzahl von Fehlzugriffen auf den Pufferspeicher zu verhindern
und eine Feststellung der Übereinstimmung der Daten während der
Übertragung von dem Zentralspeicher zum Pufferspeicher zu ermöglichen,
wobei das Blockladen des Pufferspeichers vollständig autonom und vollständig
überlappt erfolgen kann.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs
1 angegebenen Merkmale gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben
sich aus den Unteransprüchen.
Die erfindungsgemäße Pufferspeicheranordnung ermöglicht die Verwendung
eines einzigen Pufferspeichers, wobei eine Sperrung der Pufferspeicheranordnung
bei Auftreten von Fehlzugriffen sehr weitgehend verhindert
ist, ohne daß sich ein unerwünscht hoher Aufwand ergibt. Die erfindungsgemäße
Pufferspeicheranordnung verhindert nicht nur eine Sperrung bis zu
einer vorgegebenen Anzahl von Fehlzugriff-Situationen, sondern
ermöglicht weiterhin den Zugriff auf Daten, die von einem Reservespeicher
oder dem Hauptspeicher überführt werden, wobei das blockweise
Laden des Pufferspeichers vollständig autonom und vollständig überlappt
erfolgt. Auf diese Weise ermöglicht die Verwendung eines einzigen
Pufferspeichers einen wirkungsvollen Betrieb bei geringem Aufwand.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der
Zeichnungen erläutert.
In der Zeichnung zeigt
Fig. 1 ein Blockschaltbild einer Ausführungsform der Pufferspeicheranordnung
Fig. 2A und 2B zusammen bei Anordnung von links nach rechts ein Blockschaltbild
einer Ausführungsform eines Fehl-Informationshalteregisters
und eines Fehl-Informations-Vergleicher- und Status-Sammelnetzwerks
Fig. 3 eine Tabelle, die die Vorgänge angibt, die die Markier- und
-Steuereinheit bei einem vorhergehenden Fehl-Treffer ausführt.
Die in Fig. 1 dargestellte Ausführungsform der Pufferspeicheranordnung
weist einen Pufferspeicher 12 auf, der über eine Sammelschiene 16
mit einem eine Auswahleinrichtung bildenden Auswahlnetzwerk 14 für
Pufferspeicher-Adressen- und -Dateneingänge
gekoppelt ist. Das Auswahlnetzwerk 14 weist zwei mögliche
Eingänge für den Pufferspeicher 12 auf.
Eine Markier- und -steuereinheit
18 ist über eine Adressen- und Datensammelschiene
20 mit dem Auswahlnetzwerk 14 gekoppelt. Die
Markier- und -steuereinheit 18 empfängt
Eingänge von einer (nicht gezeigten) Zentraleinheit-
Befehlseinheit an einer Sammelschiene 22 und von
einer (nicht gezeigten) Zentraleinheit-Ablaufeinheit an
einer Sammelschiene 24. Die
Markier- und -steuereinheit 18 weist eine Zentralspeicher-
Adressen- und -Sammelschiene 23 auf, die mit einer
Speicheranforderungseinheit 26 in Verbindung steht, die
ihrerseits mit einem (nicht gezeigten) Rechner-Zentralspeicher
über eine Sammelschiene 28 verbunden ist. Ein
Fehl-Informationshalteregister 30 liefert einen
weiteren Eingang für die Pufferspeicheradresse an das
Auswahlnetzwerk 14. Das Fehl-Informationshalteregister
30 empfängt weiterhin einen Eingang von der
Markier- und -steuereinheit 18
über eine Adressen- und Steuersammelschiene 32. Die von
dem Fehl-Informationshalteregister 30 empfangenen
Adressen sind sowohl die Eingangsanforderungsadressen als
auch die Pufferspeicheradressen.
Ein Fehl-Informations-Vergleicher- und -Status-Sammelnetzwerk
34 ist über eine Anzahl von Adressen und Status-
Sammelschienen 33 mit dem Fehl-Informationshalteregister
30 verbunden. Das Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerk 34 empfängt eine Eingangsanforderungsadresse
an einer Sammelschiene 36 von der
Markier- und -steuereinheit
18 und gibt Statusinformationen an eine Sammelschiene 38
und dann an die Markier-
und -steuereinheit 18 ab.
Ein Eingangsstapelspeicher 40 liefert einen zweiten Dateneingang
an das Auswahlnetzwerk 14 an einer Datensammelschiene
42, die mit einer Adressensammelschiene 31 von
dem Fehl-Informationshalteregister 30 kombiniert
wird, um den vollständigen zweiten Eingang an das Auswahlnetzwerk
14 zu bilden. Der Eingangsstapelspeicher 40 empfängt
Daten von einem Zentralspeicherempfänger 44, der seinerseits
das Ausgangssignal von dem Rechner-Zentralspeicher
an einer Sammelschiene 48 empfängt. Ein Steuerpfad 46 ist
zwischen dem Zentralspeicherempfänger 44 und dem Fehl-Informationshalteregister
30 vorgesehen. Daten können
von dem Zentralspeicherempfänger 44 direkt an einen
Datenpfad 50 zu einem Auswahlnetzwerk 56 ausgegeben werden,
das einen Ausgang 58 aufweist, der mit einer (nicht
gezeigten) Zentraleinheit eines Rechnersystems verbunden
ist. Der Eingangsstapelspeicher 40 weist weiterhin einen Datenpfad
52 auf, der mit dem Auswahlnetzwerk 56 verbunden
ist. Schließlich weist der Pufferspeicher 12 einen Datenausgangspfad
54 auf, der mit der Auswahleinheit 56 verbunden
ist, so daß irgendeiner der drei Dateneingänge als
Ausgang an die Zentraleinheiten (ZE) des Rechnersystems ausgewählt
werden kann.
In den Fig. 2A und 2B ist der Aufbau des Fehl-Informationshalteregisters
30 und des Fehl-Informations-
Vergleicher- und -Status-Sammelnetzwerkes 34 gezeigt. Das
Fehl-Informationshalteregister besteht seinerseits
aus einer vierfachen Anzahl von getrennten Registern:
A) Pufferspeicher-Adressenregister 110, B) Eingangsanforderungsadressenregister
112, C)
Markierregister 114, D) Sende-an-ZE-Markierregister
116, E) In-Eingangsstapel-Markierregister 118,
F) Teilschreibcoderegister 120, und G) Steuerinformationsregister
122. Die Register 110, 112, 114, 116, 118, 120, 122
speisen das Fehl-Informations-Vergleicher- und -Status-Sammelnetzwerk
34.
Das Fehl-Informations-Vergleicher- und -Status-Sammelnetzwerk
34 besteht aus einem Vierweg-Vergleicher 124,
einem Satz von Wählern 126, 128, 130, 132 zum Aussenden
von Statusinformationen an die
Markier- und -steuereinheit 18, einem Satz von
Wählern 134, 136 zur Aussendung der Pufferspeicheradresse
und des Teilschreibcodes an das Auswahlnetzwerk 14, einem
Satz von Wählern 138, 140, 142, 144 zur Aussendung von
Steuersignalen, ausgewählten Markierungen
und Sende-an-ZE-Indikatoren an den Zentralspeicherempfänger
44, aus zwei Netzwerken 146, 148 zur Bildung des logischen
Produktes bzw. der logischen Summe für den "vollständig
geschrieben"- und den "teilweise geschrieben"-
Status sowie aus einem Treffer-Auflösungsnetzwerk 150 zur
Bestimmung des Einfach- und Mehrfach-Treffer-Status für
die Markier- und -steuereinheit
18 aus den vier Vergleicherausgängen 152. Die
Wähler 138, 140, 142, 144 weisen eine Wählersteuerung 154
auf, die von dem Zentralspeicherempfänger 44 geliefert
wird. Diese Wählersteuerung 154 wird von dem zurück gelieferten
Markier-Code des Rechner-Zentralspeichers
abgeleitet. Die Wähler 134, 136 weisen eine
Wählersteuerung 156 auf, die von der verzögerten Wählersteuerung
154 abgeleitet ist. Die Wähler 126, 128, 130, 132
weisen eine Wählersteuerung 158 auf, die aus den Ausgängen
152 und einer Markier-
Wählsteuerung 160 zusammengesetzt ist. Die
Markier- Auswahlsteuerung wird
von den Eingangsanforderungs-Adressen-Bits niedriger Ordnung
abgeleitet.
In den vergangenen Jahren wurden in der Literatur über
Rechenanlagen verschiedene Pufferspeicheranordnungen
in großem Umfang beschrieben, die bestimmte allgemeine
Programmier-Idiosynkrasien verwenden, um eine maximale
Trefferrate zu erzielen. In der vorliegenden Beschreibung
wird die Trefferrate als die Wahrscheinlichkeit definiert,
daß ein angeforderter Datenteil in dem Pufferspeicher
gespeichert ist. Einige dieser Konzepte sind in den
eingangs genannten Patentschriften erläutert, doch nutzen
diese Konzepte weder die dem Pufferspeicher eigene Dual-
Eingangseigenschaft noch die Zentraleinheit-Befehle vom
Vielfach-Datenbezugstyp aus. Es wurde festgestellt, daß
unabhängig davon, wie hoch die Pufferspeicher-Trefferrate
ist, ein Pufferspeicher-Fehlzugriff unerwünschte Rückwirkungen
auf nachfolgende Pufferspeicher-Bezugnahmen hat.
Diese unerwünschten Folgen bestehen in der Notwendigkeit,
darauf zu warten, bis die nicht vorhandenen angeforderten
Daten oder Informationen, die im folgenden als Fehl-Informationen
bezeichnet werden, von dem Rechner-Zentralspeicher
empfangen wurden, wobei weiterhin möglicherweise
auch eine Erneuerung der Speicherinformationen des Pufferspeichers
abgewartet werden muß. Für bestimmte Fälle
erfordern die Pufferspeicher-Bezugnahmen nach einem
Fehl-Zugriff keine Informationen über Daten, die nicht in
dem Pufferspeicher enthalten sind, doch können diese Informationen
und Daten dem Pufferspeicher nicht entnommen
werden, solange der Pufferspeicher gesperrt ist, um die
Daten aus dem Rechner-Zentralspeicher zu entnehmen.
Zur Vervollständigung der Definition ist festzustellen,
daß ein Pufferspeicher irgendein kleiner Speicher mit
schnellem Zugriff ist, der die Daten in einem Rechnersystem
enthält, auf die zuletzt zugegriffen wurde, und die
Daten, die sich in der unmittelbaren Nachbarschaft dieser
Daten in einem logischen Sinne befinden. Weil die Zugriffszeit
dieses Pufferspeichers üblicherweise um eine
Größenordnung schneller ist als die Zugriffszeit des
Rechner-, Haupt- oder -Zentralspeichers, und weil die übliche
Programmpraxis darin besteht, auf örtlich lokalisierte
Daten zuzugreifen, kann die effektive Speicherzugriffszeit
in einem Rechnersystem, in dem ein Pufferspeicher
eingefügt ist, beträchtlich verringert werden. Die
zusätzlichen Kosten für den Pufferspeicher zeigen im Vergleich
zu den Kosten eines Rechner-Zentralspeichers
allein den guten Kostenwirkungsgrad des Pufferspeichers
aufgrund der verringerten Zugriffszeit.
Der Konstruktion des Pufferspeichers und insbesondere dem
Problem der Auswahl der optimalen Pufferspeicher-Puffergröße
und den Speicherplatzzuordnungs- und Ersatzalgorithmen
wurden viele Untersuchungen der möglichst weitgehenden
Vergrößerung der Trefferrate gewidmet. In der vorliegenden
Beschreibung ist die Blockgröße als die Anzahl
von Bytes, die bei einem Fehl-Zugriff oder einer Fehl-Information
angefordert werden müssen, definiert. Ein
weiteres Verfahren der Pufferspeicher-Betriebseigenschaften
zur Vergrößerung der Trefferrate besteht darin, einen
selektiven Vor-Abruf vorzusehen. Derartige Verfahren
setzen voraus, daß ein Pufferspeicher lediglich eine Eingangsanforderung
zu einer vorgegebenen Zeit bearbeiten
kann, und daß bei einem Fehl-Zugriff der Pufferspeicher
besetzt bleibt und die Anforderung erfüllt, bis die Daten
von dem Rechner-Zentralspeicher empfangen worden sind.
Dies wird als Pufferspeicher-Sperrung oder Eingangssperrung
bezeichnet.
Die dargestellte Ausführungsform des Pufferspeichers vergrößert
die Wirksamkeit eines normalen Pufferspeichers
dadurch, daß die natürliche Dual-Eingangseigenart des
Pufferspeichers und vieler Datenbezugsbefehle ausgenutzt
wird. Mit anderen Worten heißt dies, daß es äußerst
zweckmäßig sein würde, eine Eingangsanforderung in den
Pufferspeicher unabhängig von irgendwelchen Fehl-Zugriffen
zu leiten, und zwar mit der Pufferspeicher-Treffer-
Durchsatzrate. In diesem Fall würde der Befehlsabruf
und/oder -vorabruf für die Rechner-Ablaufeinheit vollständig
transparent sein. Für Befehle, die eine Anzahl
von Datenbezugnahmen erfordern, kann ihre Anforderung
fast vollständig überlappt werden. Es ist nicht notwendigerweise
möglich, ohne übermäßige Kosten zu dieser Zeit
Anforderungen in den Pufferspeicher unbegrenzt mit der
Treffer-Durchsatzrate einzuleiten. Unter der Annahme
eines Systems mit annehmbaren Kosten ergibt sich eine
Grenze, die auftritt, wenn eine Anzahl von Fehl-Zugriffen
nahe aufeinander folgt. Diese Grenze wird durch die Anzahl
von Fehl-Zugriffen hervorgerufen, die noch nicht
vollständig verarbeitet wurden und die der Pufferspeicher
gleichzeitig ohne Eingangssperrung verfolgen muß. Die
Eingangsdatenstromrate bei anderen bekannten Pufferspeicherorganisationen
hängt vollständig von der Trefferrate
ab.
Das Fehl-Informationshalteregister 30 enthält ein
Fehl-Informations-/Statushalte-Register für jeden noch
nicht gelösten Fehl-Zugriff, der gleichzeitig verarbeitet
wird. Der Vergleicher 124 ist ein dedizierter n-Weg-Vergleicher,
wobei n die Anzahl von Registern in dem Fehl-
Informationshalteregister 30 ist, um Treffer für
Daten zu registrieren, die gerade vom Zentralspeicher des
Rechnersystems aus überführt werden. Der Eingangsstapelspeicher
40 muß die Gesamtzahl von empfangenen Datenworten halten
können, die möglicherweise noch ausstehen. Die Größe des
Eingangsstapelspeichers 40 ist entsprechend gleich der Blockgröße
in Worten, multipliziert mit der Anzahl von
Registern, die in dem Fehl-Informationshalteregister
30 enthalten sind. Bei dem hier beschriebenen
System wurde festgestellt, daß die Anzahl von vier
Registern in dem Fehl-Informationshalteregister
30 eine optimale Anzahl hinsichtlich
des Kostenwirkungsgrades der ausgeführten Konstruktion
darstellt. Es ist zu erkennen, daß innerhalb des
Rahmens der vorliegenden Erfindung mehr oder weniger
Fehl-Informationshalteregister vorgesehen werden können,
und zwar in Abhängigkeit von den Notwendigkeiten der jeweiligen
Anwendung. Je mehr Fehl-Informationshalteregister
vorgesehen sind, desto mehr nähert man sich der
theoretischen Grenze der Pufferspeicher-Trefferdurchsatzrate
an.
Unter erneuter Bezugnahme auf Fig. 1 kann die Pufferspeicheranordnung
spezieller als ein teilassoziativer Pufferspeicher
unter Verwendung einer
Markier- und -steuereinheit 18 und eines Pufferspeichers
12 beschrieben werden, wobei diese Teile an
sich bekannt sind. In gleicher Weise sind die Zentralspeicher-
Schnittstellenblöcke, die aus der Speicheranforderungseinheit
26 und dem Zentralspeicherempfänger 44 bestehen,
an sich bekannt. Die speziellen Elemente, die in
der Fig. 1 gezeigt sind und die die Verbesserung der Pufferspeicheranordnung
ergeben, sind das Fehl-Informationshalteregister
30, das Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerk 34 und der Eingangsstapelspeicher
40. Die Fehl-Informationshalteregister enthalten
alle erforderlichen Informationen sowohl zur richtigen
Handhabung der von dem Rechner-Zentralspeicher empfangenen
Daten als auch zur Information der Haupt-Pufferspeichersteuereinheit
über das Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerk 34 hinsichtlich aller Treffer
und anderer Statusbedingungen von Daten bei der Überführung
von dem Rechner-Zentralspeicher. Der Eingangsstapelspeicher
40 ist erforderlich, damit der Hauptpuffer des Pufferspeichers
für überlappte Lese- und Schreibvorgänge zur
Verfügung bleibt. Diese Pufferspeicheranordnung ermöglicht
es, daß Daten, die gerade von dem Rechner-Zentralspeicher
empfangen werden oder sich im Eingangsstapelspeicher befinden,
unmittelbar der anfordernden Zentraleinheit über
die Auswahleinheit 56 und den Datenpfad 58 zugeführt werden.
Die Anzahl der Register in dem gesamten
Fehl-Informationshalteregister 30 ist wesentlich.
Die durch zusätzliche einzelne Register erzielte Verbesserung,
nämlich die Verringerung der mittleren Systemverzögerung,
nimmt sehr schnell mit der Anzahl von Registern
hinsichtlich der Betriebseigenschaften der Einheit ab.
Diese Tatsache ist vorteilhaft, weil sich die Kosten mit
der Anzahl der Register, die zur Ausführung des Systems
verwendet werden, beträchtlich vergrößern. Die mittlere
Verzögerungszeit in diesem System ergibt sich aufgrund
einer Sperrung bei ausstehenden, nicht bearbeiteten Fehl-
Zugriffen. Diese Verzögerungszeit hängt selbstverständlich
auch von Pufferspeicher-Eingangsanforderungs- und
-Trefferraten ab. Im entarteten Fall ist ein Fehl-Informationshalteregister
mit verringerter Größe für die hier
beschriebene Pufferspeicheranordnung erforderlich.
Zwei Fehl-Informationshalteregister ermöglichen eine
Überlappung, während ein Fehl-Zugriff noch aussteht, doch
würde eine Sperrung in dem Pufferspeichereingang auftreten,
wenn Mehrfach-Zugriffe noch ausstünden. Kostenerwägungen
und Erwägungen hinsichtlich der jeweils erzielten
zusätzlichen Verbesserung des Wirkungsgrades scheinen anzudeuten,
daß vier Register optimal sind.
Im folgenden wird die notwendige Information, die in
einem der Register in dem Fehl-Informationshalteregister 30 enthalten sein muß, beschrieben.
Zunächst muß die Pufferspeicheradresse für den
Pufferspeicher 12 zusammen mit der Eingangsanforderungsadresse
gespeichert werden. Die Pufferspeicheradresse
wird gespeichert, damit bekannt ist, wo die zurückkehrenden
Daten von dem Rechner-Zentralspeicher untergebracht
werden müssen. Die Eingangsanforderungsadresse wird gespeichert,
damit bestimmt werden kann, ob bei nachfolgenden
den Anforderungen die angeforderten Daten sich auf ihrem
Weg vom Rechner-Zentralspeicher befinden. Zweitens werden
Eingangsanforderungs-Markierungen zusammen
mit den Sende-an-ZE-Markierungen gespeichert. Die Leitungen
für die Markiersignale für Eingangs- und
Rechner-Zentralspeicheranforderungen sind in Fig. 1 nicht
gezeigt um diese Zeichnung nicht zu kompliziert zu machen;
die Markierung wird Adressen bei
der Eingabe und Daten bei der Ausgabe zugeordnet. Diese
Information ermöglicht es dem Pufferspeicher, den anfordernden
Einheiten der Zentraleinheit lediglich die angeforderten
Daten zu liefern und sie mit der richtigen
Markierung zurückzuleiten. Drittens werden
In-Eingangsstapel-Markierungen verwendet, um das Auslesen
von Daten direkt aus dem Eingangsstapel zu ermöglichen.
Viertens wird ein Teilschreibcode, der beispielsweise
ein Bit pro Byte für jedes Byte des Teilschreibvorganges
sein kann, für jedes Wort gespeichert, um anzuzeigen,
welche Bytes der Worte, die überführt werden, in den
Pufferspeicher eingeschrieben wurden. Dieser Code steuert
daher den Pufferspeicher-Pufferschreiberneuerungsvorgang
und ermöglicht die Vernichtung von Daten für Bereiche,
die nach einer Anforderung vollständig geschrieben wurden.
Daher hat der Pufferspeicher die Fähigkeit, Teilschreib-
Eingangsanforderungen ohne Löschen des Pufferspeichers
zu verarbeiten. Dieser Teilschreibcode kann
fortgelassen werden, wenn es in einer Systemkonstruktion
annehmbar ist, einen Block des Pufferspeichers 12 bei allen
Teilschreib-Eingangsanforderungen oder vorzugsweise
lediglich bei Teilschreib-Eingangsanforderungen für ein
Wort in einem Block zu löschen, der gerade von dem Haupt-Speicher
überführt wird. Schließlich enthält das
Fehl-Informationshalteregister bestimmte Steuerinformationen
122, wie beispielsweise das Daten-gültig-Bit
für das Register, das Überhol-Bit zur Anzeige dafür, daß
das Register gültige Informationen lediglich zur Rückführung
von angeforderten Daten, nicht jedoch für Erneuerungen
der Daten in dem Puffer des Pufferspeichers oder Daten
für Treffer bei der Datenübertragung sowie die Anzahl
von Worten des Blockes, die empfangen und, falls erforderlich,
in den Pufferspeicher eingeschrieben wurden.
Entsprechend enthält jedes Fehl-Informationshalteregister
30 Mehrfach-Register, die jeweils zur Speicherung
bestimmter Daten bestimmt sind und die zusammen
eine vollständige Einheit bilden. Diese einzelnen Teile
können wie folgt zusammengefaßt werden:
- (a) Pufferspeicheradresse; Pufferspeicheradressenregister 110 (C-Bits)
- (b) Eingangsanforderungsadresse; Eingangsanforderungsadresse 112 (I-Bits)
- (c) Eingangsmarkierung, eine pro Wort; Markierregister 114 (T-Bits pro Markierung)
- (d) Sende-an-ZE-Markierungen, eine pro Wort; Sende-an-ZE- Markierregister 116 (ein Bit pro Markierung)
- (e) In-Eingangsstapel-Markierungen, eine pro Wort; In- Eingangsstapelspeicher-Register 118 (ein Bit pro Markierung)
- (f) Teilschreibcodes, eines pro Wort; Teilschreib-Coderegister 120 (P Bits pro Code)
- (g) Steuerinformation; Steuerinformationsregister 122
- (h) Anzahl der verarbeiteten Worte von Blöcken (zwei Bits pro Code)
- (i) Gültig-Informations-Markierung; (ein Bit pro Markierung) und
- (j) Veraltet-Markierung für Informationen, die für Pufferspeicher- Datenerneuerung nicht gültig sind, oder für Fehl-Informationshalteregister-Treffer bei gerade überführten Daten (ein Bit pro Markierung).
Die Betriebsweise der dargestellten Ausführungsform der
Pufferspeicheranordnung kann in zwei grundlegenden Abschnitten
erläutert werden. Der erste Abschnitt bezieht
sich auf die Zentralspeicherempfänger-/Eingangsstapel-Operationen,
während sich der zweite auf die
Markier-Steueroperationen bezieht. Für Speicherempfänger-
Eingangsstapelspeicher-Operationen sind die Felder
in dem Fehl-Informationshalteregister, die abgefragt
werden, die folgenden:
- (a) Sende-an-ZE-Markierung,
- (b) Eingangsmarkierung,
- (c) Pufferadresse des Pufferspeichers,
- (d) Teilschreibcodes,
- (e) Veraltet-Markierung und
- (f) Gültig-Markierung.
Wenn ein Wort vom Speicher empfangen wird, wird es der
anfordernden Einheit der Zentraleinheit (ZE) zugeführt,
wenn die Sende-an-ZE-Markierung gesetzt ist. Die richtige
Markierung begleitet die Daten. Dieses
Wort wird weiterhin in den Eingangsstapelspeicher 40 eingeschrieben,
wenn das Wort nicht vorher vollständig in den Pufferspeicher
12 eingeschrieben wurde oder die Fehl-Informationshalteregister-
Markierung nicht "überholt" oder
"veraltet" ist. Die Datenworte werden aus dem Eingangsstapelspeicher
40 auf einer "Erster ein, Erster aus" -Basis entfernt,
wenn der Pufferspeicher zur Verfügung steht, und
sie werden in den Pufferspeicher 12 unter Verwendung der
Pufferspeicheradressen- und Teilschreibcode-Felder eingeschrieben.
Selbstverständlich muß das Fehl-Informationshalteregister
30 eine gültige Information enthalten,
wenn sie abgefragt wird, oder es wird ein Fehlersignal
erzeugt.
Es ist erforderlich, die Pufferspeicher-Datenmarkierungen
vollständiger zu erläutern. Bei einem Fehl-Zugriff
fordert der Pufferspeicher einen Block von Worten von dem
Rechner-Zentralspeicher an. Zusammen mit jedem Wort wird
eine Pufferspeicher-Markierung ausgesandt, die auf ein
bestimmtes zugeordnetes Fehl-Informationshalteregister in
dem Fehl-Informationshalteregister 30 zeigt und
anzeigt, auf welches Wort des Blockes derzeit zugegriffen
werden soll. Es sei bemerkt, daß die Pufferspeicheranordnung
in dem Register des Fehl-
Informationshalteregisters 30 die Markierung
der anfordernden Einheit speichert. Diese Markierung
schließt das verbleibende offene Glied für die
Handhabung von Daten, die von dem Rechner-Zentralspeicher
zurückgeführt werden, und beseitigt alle Einschränkungen
für den Speicher hinsichtlich der Reihenfolge der Antworten.
Das heißt, daß früher angeforderte Worte für einen
Fehlzugriff oder für Fehlzugriffe außer der Reihe rückgeführt
werden können, und zwar in Abhängigkeit von der Organisation
des Rechner-Zentralspeichers. Diese Tatsache
allein könnte andere Pufferspeicherorganisationen einschränken.
Die Felder des Fehl-Informationshalteregisters 30,
die während der Speicherempfänger-/Eingangsstapel-Operationen
hinsichtlich ihrer Daten erneuert werden, sind
folgende:
- (a) In-Eingangsstapelspeicher-Markierungen,
- (b) Teilschreibcodes,
- (c) Anzahl der verarbeiteten Worte des Blockes und
- (d) Information-gültig-Markierung.
Die In-Eingangsstapelspeicher-Markierungen werden gesetzt, wenn
das Datenwort in den Eingangsstapelspeicher 40 eingeschrieben
wird, und sie werden gelöscht, wenn die Daten aus dem
Eingangsstapelspeicher entfernt und in den Pufferspeicher eingeschrieben
werden. Der Teilschreibcode wird weiterhin gesetzt,
um "vollständig geschrieben" anzuzeigen, wenn das
Datenwort in den Pufferspeicher eingeschrieben wurde. Zusätzlich
wird jedesmal dann, wenn ein Datenwort vernichtet
wird, weil es vollständig geschrieben wurde, oder
weil es eine "veraltet"-Fehl-Informationshalteregister-
Anzeige aufweist, oder weil es in den Pufferspeicher eingeschrieben
wurde, der Zähler für die Anzahl der
verarbeiteten Worte weitergeschaltet. Wenn dieser Zähler
überläuft, was anzeigt, daß alle Worte für einen Block
empfangen wurden, so wird die "Gültig"- oder "Veraltet"-
Fehl-Informationshalteregister-Markierung gelöscht.
Für die Markier-Steueroperation
werden die folgenden Felder der Fehl-Informationshalteregistereinheit
30 abgefragt:
- (a) Eingangsanforderungsadresse,
- (b) Sende-an-ZE,
- (c) In-Eingangsstapel-Markierungen,
- (d) Teilschreibcodes,
- (e) Gültig-Markierung und
- (f) Veraltet-Markierung.
Die mit (a), (e) und (f) bezeichneten Felder werden zusammen
mit der jeweiligen Eingangsanforderungsadresse und
dem Fehl-Informations-Vergleicher- und -Status-Sammelnetzwerk
34 dazu verwendet, um zu bestimmen, ob sich ein
Treffer für Daten ergibt, auf die vorher ein Fehl-Zugriff
erfolgte und die noch verarbeitet werden, d. h. ein vorhergehender
Fehl-Zugriff-Treffer. Wie dies in Fig. 3 gezeigt
ist, werden die Teilschreibcodes in geeigneter Weise
für einen vorhergehenden Fehl-Zugriff-Treffer mit
einer Schreib-Eingangsfunktion gesetzt. Ein Teilschreibcode
ist den Adressensammelschienen 20, 31, 32 nach Fig. 1
zugeordnet. Die Felder (b), (c) und (d) erzeugen den
folgenden Status für den vorhergehenden Fehl-Zugriff-
Treffer:
- (a) teilweise geschrieben, was bedeutet, daß der Teilschreibcode zumindest ein gesetztes Bit aufweist (logische Summe);
- (b) vollständig geschrieben, was bedeutet, daß der Teilschreibcode vollständig auf Eins gesetzt ist (logisches Produkt);
- (c) In-Eingangsstapel und
- (d) bereits angefordert, was bedeutet, daß die Sende-an- ZE-Markierung bereits gesetzt ist.
Die Tabelle nach Fig. 3 zeigt die Vorgänge, die in der
Markier-Steuerung unter all
diesen vorstehenden Bedingungen ausgeführt werden. Es sei
bemerkt, daß ein Zugriff auf den Rechner-Zentralspeicher
nur dann erfolgt, wenn das Wort bereits vorher angefordert
wurde oder teilweise geschrieben wurde. Diese wenig
häufigen Zentralspeicherzugriffe können durch den Fachmann
ebenfalls mit Hilfe zusätzlicher Logik in dem Fehl-
Informationshalteregister 30 und der Auswahleinheit
56 beseitigt werden.
Bei einem Fehl-Zugriff wird ein
Register in dem Fehl-Informationshalteregister 30
zugeordnet und die folgenden Aufgaben werden erfüllt:
- (a) die Gültig-Markierung wird gezeigt;
- (b) die Veraltet-Markierung wird gelöscht;
- (c) die Pufferspeicheradresse wird in dem Fehl-Informationshalteregister gespeichert;
- (d) die Eingangsanforderungsadresse wird in dem zugeordneten Fehl-Informationshalteregister gespeichert;
- (e) eine geeignete Sende-an-ZE-Markierung wird gesetzt und andere gelöscht;
- (f) die Eingangsmarkierung wird an einer richtigen Position gespeichert;
- (g) alle Teilschreibcodes, die dem zugeordneten Fehl-Informationshalteregister zugeordnet sind, werden gelöscht und
- (h) alle Fehl-Informationshalteregister, die auf die gleiche Pufferspeicheradresse gerichtet sind, werden gelöscht, was bedeutet, daß der Teilschreibcode vollständig auf Eins gesetzt wird.
Es sei darauf hingewiesen, daß sich die Vorgänge (e) und
(f) ändern, wenn die Pufferspeicherfunktion ein Vorgriff
war, was bedeutet, daß alle Sende-an-ZE-Markierungen gelöscht
werden und keine Markierung gespeichert
wird. Der Vorgang (h) wird durchgeführt, um zu
verhindern, daß Daten von einer vorhergehenden Zuordnung
eines Pufferspeicher-Pufferblockes die derzeit zugeordneten
Daten überschreiben. Bei einem Fehl-Zugriff und einem
vorhergehenden Fehl-Zugriffs-Treffer und wenn der Pufferspeicherblock
für die gleiche Eingangsadresse neu
zugeordnet wurde, bevor alle Daten empfangen wurden, wird
das Fehl-Informationshalteregister auf "Veraltet" gesetzt,
um mögliche darauffolgende Mehrfach-Treffer in dem
Fehl-Informations-Vergleicher- und -Status-Sammelnetzwerk
34 zu verhindern.
Es besteht tatsächlich eine Möglichkeit, daß ein vorhergehender
Fehl-Zugriffs-Treffer für ein Datenwort entsteht,
das gerade empfangen wird. In Abhängigkeit von dem
Steuervorgang kann der entsprechende Sende-an-ZE-Markierungs-
Ausgang dieses Wortes auf den Sendezustand gebracht
werden oder das Wort kann aus dem Eingangsstapel 40 bei
dem nächsten Untergruppenzyklus des Prozessors ausgelesen
werden.
Damit es möglich ist, diese Pufferspeicher-Verbesserung
einfacher zu untersuchen, ist es vorteilhaft, die Pufferspeicher-
Eingangsfunktionen zum Löschen und Setzen der
Gültig-Markierungen der Register des
Fehl-Informationshalteregisters 30 hinzuzufügen.
Ein Funktionscode, der den Pufferspeicher informiert, was
zu erfolgen hat, ist jeder Eingangsanforderungsadresse an
den Sammelschienen 22, 24 nach Fig. 1 zugeordnet. Dies
ermöglicht es, die folgenden Fehlerzustände zu prüfen:
- (a) die Pufferspeicher-Markierung zeigt auf ein ungültiges Fehl-Informationshalteregister;
- (b) Mehrfach-Treffer in dem Fehl-Informationshalteregister- Komparator und
- (c) vorhergehender Fehl-Zugriff-Trefferstatus vollständig geschrieben und nicht teilweise geschrieben.
Alle anderen Felder des Fehl-Informationshalteregisters
können durch die Verwendung der vorstehenden speziellen
Pufferspeicher-Eingangsfunktionen in Kombination
mit den üblichen Eingangsfunktionen überprüft werden, die
alle Kombinationen von Adressen, Markierungen
und Daten haben.
Claims (4)
1. Pufferspeicheranordnung mit einem Pufferspeicher (12), mit einer
Auswahleinrichtung (14), über die dem Pufferspeicher (12) Adressen- und
Dateneingangssignale von einen Eingangsstapelspeicher (40)
einschließenden Einrichtungen (18, 40) zugeführt werden, und mit einem
Ausgangswahlnetzwerk (56), das einer Zentraleinheit Daten entweder von
dem Pufferspeicher (12), von dem Eingangsstapelspeicher (40) oder von
einem Zentralspeicherempfänger (44) zuführt, der Daten von einem
Zentralspeicher des Rechnersystems empfängt, dadurch
gekennzeichnet,
daß die Auswahleinrichtung (14) ein erstes Pufferspeicheradressen- und Dateneingangssignal von einer Markier- und Steuereinheit (18) und ein zweites Pufferspeicheradressen- bzw. Dateneingangssignal von einem Fehl-Informationshalteregister (30) bzw. dem Eingangsstapelspeicher (40) empfängt,
daß das Fehl- Informationshalteregister (30) ein Adressen- und Steuersignal von der Markier- und Steuereinheit (18) empfängt, sodaß das Fehl- Informationshalteregister (30) eine vorgegebene Anzahl von Zentralspeicheradressen enthalten kann, deren Daten bei Anforderung nicht in dem Pufferspeicher (12) aufgefunden wurden,
daß ein Fehl-Informationsvergleicher- und Statussammelnetzwerk (34) mit dem Fehl- Informationshalteregister (30) verbunden ist und Zentralspeicher- und Pufferspeicheradressen von der Markier- und Steuereinheit (18) empfängt und Statusinformationen an die Markier- und Steuereinheit (18) liefert,
daß der Zentralspeicherempfänger (44) mit dem Eingangsstapelspeicher (40) und mit dem Fehl-Informationshalteregister (30) verbunden ist, um Zentralspeicheradressen zugeordnete Daten an den Eingangsstapelspeicher (40) unter der Steuerung des Fehl- Informationshalteregisters (30) zu liefern, sodaß ein Blockieren der Pufferspeicheranordnung bei einer Adressierung des Pufferspeichers (12) und einem Fehlzugriff dadurch verhindert wird,
daß das Fehl- Informationshalteregister (30) Fehl-Adressen aufnimmt, bis der Zentralspeicherempfänger (44) die der Fehl-Adresse zugeordneten Daten empfängt, während die Markier- und Steuereinheit (18) weiterhin Pufferspeicheradressen über die Auswahleinrichtung (14) an den Pufferspeicher (12) liefert.
daß die Auswahleinrichtung (14) ein erstes Pufferspeicheradressen- und Dateneingangssignal von einer Markier- und Steuereinheit (18) und ein zweites Pufferspeicheradressen- bzw. Dateneingangssignal von einem Fehl-Informationshalteregister (30) bzw. dem Eingangsstapelspeicher (40) empfängt,
daß das Fehl- Informationshalteregister (30) ein Adressen- und Steuersignal von der Markier- und Steuereinheit (18) empfängt, sodaß das Fehl- Informationshalteregister (30) eine vorgegebene Anzahl von Zentralspeicheradressen enthalten kann, deren Daten bei Anforderung nicht in dem Pufferspeicher (12) aufgefunden wurden,
daß ein Fehl-Informationsvergleicher- und Statussammelnetzwerk (34) mit dem Fehl- Informationshalteregister (30) verbunden ist und Zentralspeicher- und Pufferspeicheradressen von der Markier- und Steuereinheit (18) empfängt und Statusinformationen an die Markier- und Steuereinheit (18) liefert,
daß der Zentralspeicherempfänger (44) mit dem Eingangsstapelspeicher (40) und mit dem Fehl-Informationshalteregister (30) verbunden ist, um Zentralspeicheradressen zugeordnete Daten an den Eingangsstapelspeicher (40) unter der Steuerung des Fehl- Informationshalteregisters (30) zu liefern, sodaß ein Blockieren der Pufferspeicheranordnung bei einer Adressierung des Pufferspeichers (12) und einem Fehlzugriff dadurch verhindert wird,
daß das Fehl- Informationshalteregister (30) Fehl-Adressen aufnimmt, bis der Zentralspeicherempfänger (44) die der Fehl-Adresse zugeordneten Daten empfängt, während die Markier- und Steuereinheit (18) weiterhin Pufferspeicheradressen über die Auswahleinrichtung (14) an den Pufferspeicher (12) liefert.
2. Pufferspeicheranordnung nach Anspruch 1, dadurch
gekennzeichnet, daß das Fehl-Informationshalteregister
(30) aus einer Anzahl von Registersätzen besteht, von denen jeder Satz
ein Pufferspeicher-Adressenregister (110), ein Zentralspeicher-
Adressenregister (112), ein Markierregister (114), ein Sende-an-
Zentraleinheit-Indikatorenregister (116), ein Teilschreibcoderegister
(120), ein In-Eingangsstapel-Indikatorenregister (118) und ein
Steuerinformationsregister (122) enthält.
3. Pufferspeicheranordnung nach Anspruch 2, dadurch
gekennzeichnet, daß das Fehl-Informationshalteregister
(30) aus vier Registersätzen besteht.
4. Pufferspeicheranordnung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß das Fehl-
Informationsvergleicher- und Statussammelnetzwerk (34) eine Anzahl von
Wählern (126, 128, 130, 132) zur Aussendung von Statusinformationen an die
Markier- und Steuereinheit (18), eine Anzahl von Wählern (134, 136) zur
Aussendung von Pufferspeicheradressen- und Teilschreibcodes an die
Auswahleinrichtung (14), eine Anzahl von Wählern (138, 140, 142, 144) zur
Aussendung von Steuerinformationen und ausgewählten Merkier- und Sende-an-
Zentraleinheit-Indikatorinformationen an den Zentralspeicherempfänger
(44), Netzwerkeinrichtungen (146, 148) zur Bildung des logischen
Produktes und der logischen Summe für vollständig ausgeschriebene und
teilweise geschriebene Statusregister, und ein Treffer-Auflösungsnetzwerk
(150) umfaßt, das aus den Vergleicherausgängen den Einfach- und
Mehrfach-Trefferstatus von der Markier- und Steuereinheit (18) bestimmt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/181,529 US4370710A (en) | 1980-08-26 | 1980-08-26 | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3131341A1 DE3131341A1 (de) | 1982-04-15 |
DE3131341C2 true DE3131341C2 (de) | 1988-06-30 |
Family
ID=22664671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813131341 Granted DE3131341A1 (de) | 1980-08-26 | 1981-08-07 | "pufferspeicherorganisation" |
Country Status (7)
Country | Link |
---|---|
US (1) | US4370710A (de) |
JP (1) | JPS5746375A (de) |
AU (1) | AU537492B2 (de) |
CA (1) | CA1151293A (de) |
DE (1) | DE3131341A1 (de) |
FR (1) | FR2489578B1 (de) |
GB (1) | GB2082808B (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4536836A (en) * | 1981-11-27 | 1985-08-20 | Storage Technology Corporation | Detection of sequential data stream |
US4493026A (en) * | 1982-05-26 | 1985-01-08 | International Business Machines Corporation | Set associative sector cache |
US4897783A (en) * | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
US4757445A (en) * | 1983-09-12 | 1988-07-12 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
US4710866A (en) * | 1983-09-12 | 1987-12-01 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4646233A (en) * | 1984-06-20 | 1987-02-24 | Weatherford James R | Physical cache unit for computer |
US4942518A (en) * | 1984-06-20 | 1990-07-17 | Convex Computer Corporation | Cache store bypass for computer |
CA1241768A (en) * | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Tag control circuit for buffer storage |
US4774654A (en) * | 1984-12-24 | 1988-09-27 | International Business Machines Corporation | Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory |
JP2539357B2 (ja) * | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
JPS62145340A (ja) * | 1985-12-20 | 1987-06-29 | Toshiba Corp | キヤツシユメモリ制御方式 |
US5029072A (en) * | 1985-12-23 | 1991-07-02 | Motorola, Inc. | Lock warning mechanism for a cache |
US5349672A (en) * | 1986-03-17 | 1994-09-20 | Hitachi, Ltd. | Data processor having logical address memories and purge capabilities |
US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
US5001624A (en) * | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
CA1300758C (en) * | 1988-03-07 | 1992-05-12 | Colin H. Cramm | Mechanism for lock-up free cache operation with a remote address translation unit |
DE68924896T2 (de) * | 1988-04-01 | 1996-07-25 | Digital Equipment Corp | Cachespeicher mit mindestens zwei füllgrössen. |
US5038278A (en) * | 1988-04-01 | 1991-08-06 | Digital Equipment Corporation | Cache with at least two fill rates |
US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
US5202969A (en) * | 1988-11-01 | 1993-04-13 | Hitachi, Ltd. | Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively |
KR900008516A (ko) * | 1988-11-01 | 1990-06-04 | 미다 가쓰시게 | 버퍼 기억장치 |
US5125092A (en) * | 1989-01-09 | 1992-06-23 | International Business Machines Corporation | Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
US5093777A (en) * | 1989-06-12 | 1992-03-03 | Bull Hn Information Systems Inc. | Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack |
GB2234613B (en) * | 1989-08-03 | 1993-07-07 | Sun Microsystems Inc | Method and apparatus for switching context of state elements in a microprocessor |
US5233702A (en) * | 1989-08-07 | 1993-08-03 | International Business Machines Corporation | Cache miss facility with stored sequences for data fetching |
US5506974A (en) * | 1990-03-23 | 1996-04-09 | Unisys Corporation | Method and means for concatenating multiple instructions |
US5224214A (en) * | 1990-04-12 | 1993-06-29 | Digital Equipment Corp. | BuIffet for gathering write requests and resolving read conflicts by matching read and write requests |
JPH04233642A (ja) * | 1990-07-27 | 1992-08-21 | Dell Usa Corp | キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法 |
JPH079632B2 (ja) * | 1991-06-18 | 1995-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アドレス変換装置および方法 |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
EP0568231B1 (de) * | 1992-04-29 | 1999-03-10 | Sun Microsystems, Inc. | Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem |
DE69327981T2 (de) * | 1993-01-21 | 2000-10-05 | Advanced Micro Devices Inc | Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt. |
US5689680A (en) * | 1993-07-15 | 1997-11-18 | Unisys Corp. | Cache memory system and method for accessing a coincident cache with a bit-sliced architecture |
US5787465A (en) * | 1994-07-01 | 1998-07-28 | Digital Equipment Corporation | Destination indexed miss status holding registers |
US5802588A (en) * | 1995-04-12 | 1998-09-01 | Advanced Micro Devices, Inc. | Load/store unit implementing non-blocking loads for a superscalar microprocessor and method of selecting loads in a non-blocking fashion from a load/store buffer |
US5778434A (en) | 1995-06-07 | 1998-07-07 | Seiko Epson Corporation | System and method for processing multiple requests and out of order returns |
US5829010A (en) * | 1996-05-31 | 1998-10-27 | Sun Microsystems, Inc. | Apparatus and method to efficiently abort and restart a primary memory access |
US5987567A (en) * | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
US6389031B1 (en) | 1997-11-05 | 2002-05-14 | Polytechnic University | Methods and apparatus for fairly scheduling queued packets using a ram-based search engine |
US7136068B1 (en) | 1998-04-07 | 2006-11-14 | Nvidia Corporation | Texture cache for a computer graphics accelerator |
US6081507A (en) * | 1998-11-04 | 2000-06-27 | Polytechnic University | Methods and apparatus for handling time stamp aging |
US6919895B1 (en) | 1999-03-22 | 2005-07-19 | Nvidia Corporation | Texture caching arrangement for a computer graphics accelerator |
US7155539B2 (en) * | 2000-04-17 | 2006-12-26 | Circadence Corporation | Conductor gateway buffer prioritization |
JP2002368850A (ja) * | 2001-06-05 | 2002-12-20 | Sony Corp | 携帯無線端末装置 |
JP4417715B2 (ja) * | 2001-09-14 | 2010-02-17 | サン・マイクロシステムズ・インコーポレーテッド | キャッシュメモリにおける、タグおよびデータアクセスを分断する方法および装置 |
US7089362B2 (en) * | 2001-12-27 | 2006-08-08 | Intel Corporation | Cache memory eviction policy for combining write transactions |
EP1361518B1 (de) | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Verminderung der Zugangsgesuche eines TAG-RAM Speichers und Erhöhung der Cachespeichergeschwindigkeit während eines Cache-Fehltreffers |
US6983356B2 (en) * | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
US9858190B2 (en) * | 2015-01-27 | 2018-01-02 | International Business Machines Corporation | Maintaining order with parallel access data streams |
US20220004438A1 (en) * | 2020-07-02 | 2022-01-06 | Qualcomm Incorporated | Gpu program multi-versioning for hardware resource utilization |
CN112579482B (zh) * | 2020-12-05 | 2022-10-21 | 西安翔腾微电子科技有限公司 | 一种非阻塞Cache替换信息表超前精确更新装置及方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3292153A (en) * | 1962-10-01 | 1966-12-13 | Burroughs Corp | Memory system |
GB1196752A (en) * | 1967-05-04 | 1970-07-01 | Int Computers Ltd | Improvements relating to Data Handling Arrangements. |
GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US4047157A (en) * | 1974-02-01 | 1977-09-06 | Digital Equipment Corporation | Secondary storage facility for data processing |
FR129151A (de) * | 1974-02-09 | |||
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
US4156906A (en) * | 1977-11-22 | 1979-05-29 | Honeywell Information Systems Inc. | Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands |
AU521383B2 (en) * | 1977-12-16 | 1982-04-01 | Honeywell Information Systems Incorp. | Cache memory command circuit |
US4195341A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Initialization of cache store to assure valid data |
-
1980
- 1980-08-26 US US06/181,529 patent/US4370710A/en not_active Expired - Lifetime
-
1981
- 1981-06-02 GB GB8116848A patent/GB2082808B/en not_active Expired
- 1981-06-12 CA CA000379635A patent/CA1151293A/en not_active Expired
- 1981-06-15 JP JP56092079A patent/JPS5746375A/ja active Pending
- 1981-06-23 AU AU72094/81A patent/AU537492B2/en not_active Ceased
- 1981-06-26 FR FR8112641A patent/FR2489578B1/fr not_active Expired
- 1981-08-07 DE DE19813131341 patent/DE3131341A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
FR2489578A1 (fr) | 1982-03-05 |
FR2489578B1 (fr) | 1987-08-07 |
CA1151293A (en) | 1983-08-02 |
DE3131341A1 (de) | 1982-04-15 |
AU7209481A (en) | 1982-03-04 |
JPS5746375A (en) | 1982-03-16 |
AU537492B2 (en) | 1984-06-28 |
US4370710A (en) | 1983-01-25 |
GB2082808A (en) | 1982-03-10 |
GB2082808B (en) | 1983-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3131341C2 (de) | ||
DE3151745C2 (de) | ||
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE4410060B4 (de) | Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE2806045A1 (de) | Dv-system mit pufferspeicher | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE2054835C2 (de) | Steuereinrichtung in einem Prozessor einer Mehrprozessor-Datenverarbeitungsanlage | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2241257A1 (de) | Datenverarbeitende anlage | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE2856680C2 (de) | ||
DE1499182B2 (de) | Datenspeichersystem | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE2710477C2 (de) | ||
DE3327465C2 (de) | ||
WO2003048943A2 (de) | Speicher für die zentraleinheit einer rechenanlage, rechenanlage und verfahren zum synchronisieren eines speichers mit dem hauptspeicher einer rechenanlage | |
DE2750126C3 (de) | Datenverarbeitungssystem mit einem Zwischenpufferspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |