DE3131341A1 - "pufferspeicherorganisation" - Google Patents
"pufferspeicherorganisation"Info
- Publication number
- DE3131341A1 DE3131341A1 DE19813131341 DE3131341A DE3131341A1 DE 3131341 A1 DE3131341 A1 DE 3131341A1 DE 19813131341 DE19813131341 DE 19813131341 DE 3131341 A DE3131341 A DE 3131341A DE 3131341 A1 DE3131341 A1 DE 3131341A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- buffer memory
- register
- memory
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
.Patentanwälte O · ρ L-1 n g. Curt Wa 11 a c h
- ; :* :_" Dipl;-lng. Günther Koch
/, DFpl.-Phys. Dr.Tino Haibach
^ Dipl.-Ing. Rainer Feldkamp
D-8000 München 2 · Kaufingerstraße 8 · Telefon (0 89) 24 02 75 · Telex 5 29 513 wakai d
Datum: 7> August 1981
Unser Zeichen: ! γ 235 - Fk/Vi
Control Data Corporation,
8100-34th Avenue South,
Minneapolis, Minnesota,
8100-34th Avenue South,
Minneapolis, Minnesota,
U.S.A.
Pufferspeicherorganisation
Die Erfindung bezieht sich auf eine Pufferspeicherorganisation, beispielsweise zur Verwendung in digitalen Sechnersystemen.
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 3 94-9 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 Pail 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 Blökkes
bei jeder Gesamt-Blockerneuerung vorhanden sein
kann. Insgesamt zeigte diese TJS-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 Zugriffes an ein anderes
Wort in dem gleichen Datenblock besteht, wobei das Prinzip unter dem Nutzen des Pufferspeichers als Nebenzugriff
bezeichnet wird.
Die US-PS 3 896 419 zeigt die Möglichkeit des Verhinderns
einer Sperrung eines Pufferspeichers, wobei diese.Sperrung jedoch nur bei Speicheroperationen verhindert wird.
Dieser bekannte Pufferspeicher ermöglicht autonome nichtüberlappte
Blockladevorgänge, doch ergibt sich eine Sperrsituation bei einem Fehlgriff 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 3 928 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 dann9 wenn die Daten in mehr als einem der Speicher möglichere/eise die gleichen Daten
sind, und die Werterneuerung wird äußerst unhandlich=
Der Erfindung liegt die Aufgabe zugrundes eine Pufferspeicherorganisation zu schaffen^ bei der ein einziger
Pufferspeicher vorgesehen ist und eine Sperrung der Pufferspeicherorganisation so weit wie möglich vermieden
wird, ohne daß sich ein unzulässig hoher Aufwand er=
gibt.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebene Erfindung gelöstο
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprücheno
Die erfindungsgemäße Pufferspeicherorganisation ermöglicht die Verwendung eines einzigen Pufferspeichers, wobei eine Sperrung der Pufferspeicherorganisation bei Auftreten
von Fehlzugriffen sehr weitgehend verhindert ist9"
ohne daß sich ein unerwünscht hoher Aufwand ergibt*, Die
erfindungsgemäße Pufferspeicherorganisation verhindert nicht nur eine Sperrung bis zu einer vorgegebenen Anzahl
rf
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.
Die Erfindung wird in folgenden anhand von in der Zeichnung
dargestellten Ausführungsbeispielen, noch näher erläutert.
In der Zeichnung zeigen:
Pig. 1 ein Blockschaltbild einer Ausführungsform der
Pufferspeicherorganisation,
Pig. 2A und 2B zusammen bei Anordnung von links nach
rechts ein Blockschaltbild einer Ausführungsform
einer Fehl-Informationshalteregistereinheit und
eines Fehl-Informations-Vergleicher- und -status-Sammelnetzwerkes,
Fig. 3 eine Tabelle, die die Vorgänge angibt, die die
Identifizierungskennzeichen-Steuereinheit bei einem vorhergehenden Fehl-Treffer ausführt.
Die in Fig. 1 dargestellte Ausführungsform der Pufferspeicherorganisation
weist einen Pufferspeicher 12 auf, der über eine Sammelschiene 16 mit einem Auswahlnetzwerk
1A- 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 Identifizierungskennzeichenanordnungs- und -Steuereinheit
18 ist über eine Adressen- und Datensammelschiene 20 mit dem Auswahlnetzwerk 14 gekoppelt» Die Tdentifizierungskennzeichenanordnungs=
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 Identifizierungskennzeichenanordnungs-
und -Steuereinheit 18 weist eine Zentralspeicher-Adressen- und -Sammelschiene 23 auf9 die mit einer
Speicheranforderungseinheit 26 in Verbindung steht, die
ihrerseits mit einem (nicht gezeigten) Rechner-Zentralspeicher über eine Sammelschiene 28 verbunden ist. Eine
Fehl-Informationshalteregistereinheit 30 liefert einen
weiteren Eingang für die Pufferspeicheradresse an das Auswahlnetzwerk 14* Die Fehl-Informationshalteregistereinheit
30 empfängt weiterhin einen Eingang von der Identifizierungskennzeichenanordnungs-
und -Steuereinheit 18 über eine Adressen- und Steuersammeischiene 32» Die von
der Fehl-Informationshalteregistereinheit 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 der Fehl-Xnformationshalteregistereinheit
30 verbunden. Das Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerk 34 empfängt eine Eingangsanforderungsadresse an einer Sammelschiene 36 von der
Identifizierungskennzeichenanordnungs- und -Steuereinheit
18 und gibt Statusinformationen an. eine Sammelschiene 38 und dann an die Identifizierungskennzeichenanordnungs-
und -Steuereinheit 18 ab.
Eine Eingangsstapeleinheit 40 liefert einen zweiten Dateneingang
an das Auswahlnetzwerk 14· an einer Datensammelschiene
4-2, die mit einer Adressensammelschiene 31 von
der Fehl-Informationshalteregistereinheit 30 kombiniert
wird, um den vollständigen zweiten Eingang an das Auswahlnetzwerk 14- zu bilden. Der Eingangs stapel 40 empfängt
Daten von einer Speicherempfängereinheit 4-4-, die ihrerseits
das Ausgangssignal von dem Rechner-Zentralspeicher an einer Sammelschiene 4-8 empfängt. Ein Steuerpfad 46 ist
zwischen der Speicherempfängereinheit 44- und der Fehl-Informationshalteregistereinheit
30 vorgesehen. Daten können von der Speicherempfängereinheit 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 Eingangsstapel 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 Auswahl einheit 56 verbunden
ist, so daß irgendeiner der drei Dateneingänge als Ausgang an die Zentraleinheiten des Rechnersystems ausgewählt
werden, kann.
In den Fig. 2A und 2B ist der Aufbau der Fehl-Informationshalteregistereinheit
30 und des Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerkes 34- gezeigt. Die
Fehl-Informationshalteregistereinheit besteht ihrerseits
aus einer vierfachen Anzahl von getrennten Registern: A) Pufferspeicher-Adressenregister 110, B) Eingangsanforderungsadressenregister
112, 0) Identifikationskennzeichenregister 114, D) Sende~an-ZE~Indikatorenregister
116, E) In-Eingangsstapel-Indikatorenregister 1189
3Γ) Teilschreibcoderegister 120.und G) Steuerinformationsregister 122. Die Register 11O9 1129 114, 116, 118, 120s
122 speisen das Fehl-Informations-Vergleicher-= und -Status-Sammelnetzwerk
Das IPehl<=Xn£ormations~Yergleicher= und -Status-Sampelnetzwerk
34- besteht aus einem Vierweg-Vergleicher 124,
einem Satz von Wählern 126, 128S 13O9 132 zum Aussenden
von Statusinformationen an die Xdentifizierungskennzeichenanordnungs-
und -Steuereinheit 18, einem Satz von Wählern 134-, 136 zur Aussendung der Pufferspeicheradresse
und des Teilschreibcodes an das Auswahlnetzwerk 4-, einem
Satz von Wählern 138, 14O2 1429 144- zur Aussendung von
Steuersignalen, ausgewählten Identifizierungskennzeichen und Sende-an-ZE-Indikatoren an die Speicherempfängerein=-
hext 44, aus zwei Netzwerken 1469 148 zur Bildung des logischen
Produktes bzwo der logischen Summe für den "vollständig
geschrieben"-= und den "teilweise geschrieben"-Status sowie aus einem Treff er·=Auf lösungsnetzwerk 150 zur
Bestimmung des Einfach-» und Mehrfach-Treffer-Status für
die Identifizierungskennzeichenanordnungs-= und -Steuer=-
einheit 18 aus den vier Vergleicher aus gangen 152<. Die
Wähler 138, 140, 142, 144 weisen eine Wählersteuerung 154
auf, die von der Speicherempfängereinheit 44 geliefert wird« Diese Wählersteuerung 154 wird von dem zurück gelieferten Identifikations-Code des Rechner-Zentralspeichers
abgeleitete Die Wähler 1343 136 weisen eine
-y-
Wählersteuerung 156 auf, die von der verzögerten Wählersteuerung
154- abgeleitet ist. Die Wähler 126, 128, 13Ο,
132 weisen eine Wählersteuerung 158 auf, die aus den Ausgängen
152 und einer Identifizierungskennzeichenanordnungs-Wählsteuerung
160 zusammengesetzt ist. Die Identifizierungskennzeichenanordnungs-
Auswahlsteuerung wird von den Eingangsanforderungs-Adressen-Bits niedriger Ordnung
abgeleitet.
In den vergangenen Jahren wurden in der Literatur über
Rechenanlagen verschiedene Pufferspeicherorganisationen 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-]?ehlzugriff unerwünschte Rückwirkungen
auf nachfolgende Pufferspeicher-Bezugnahmen hat. Diese unerwünschten Polgen 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 Zugriff
szeit 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 Speicherzugriff szeit in einem Rechnersystem, in dem ein Pufferspeicher
eingefügt ist, beträchtlich verringert werden. Die zusätzlichen Kosten für den Pufferspeicher zegen 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 Ersatz algorithmen
wurden viele Untersuchungen dar 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üssen3 definiert« Ein
fit»
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ührungaform 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-Abläufeinheit 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 Eingangs sperrung verfolgen mxiß. Die
Eingangsdatenstromrate bei anderen bekannten Pufferspeicherorganisationen
hängt vollständig von der Trefferrate ab.
Die Fehl-Informationshalteregistereinheit 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 η die Anzahl von Eegistern in der Fehl-=
Informationshalteregistereinheit 30 ist, um Treffer für Daten zu registrieren, die gerade vom Zentralspeieher des
Rechnersystems aus überführt werden« Der Eingangsstapel
40 muß die Gesamtzahl von empfangenen Datenworten halten
können, die möglicherweise noch ausstehen. Die Größe des Eingangsstapels 40 ist entsprechend gleich der Blockgröße
in Worten, multipliziert mit der Anzahl von Fehl-Informationshalteregistern,
die in der Fehl-Informationshalteregistereinheit
30 enthalten sind«, Bei dem hier beschriebenen
System wurde festgestellt, daß die Anzahl von vier Fehl-Informationshalteregistern in der Fehl-Informationshalt
eregistereinheit 30 eine optimale Anzahl hinsichtlich
des Kostenwirkungsgrades der ausgeführten Konstruk=
tion darstellt. Es ist zu erkennens daß innerhalb des
Rahmens der vorliegenden Erfindung mehr oder weniger Fehl-Inforaationshalteregister vorgesehen werden können9
und zwar in Abhängigkeit von den Notwendigkeiten der je=
weiligen 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 Pufferspeicherorganis
ation spezieller als ein teilassoziativer Pufferspeicher unter Verwendung einer Identifikationskennzeichenanordnungs-
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 der Speicherempfängereinheit 44- bestehen,
an sich bekannt. Die speziellen Elemente, die in der Fig. 1 gezeigt sind und die die Verbesserung der Puf—
ferspeicherorganisation ergeben, sind.die Fehl-Infprmationshalteregistereinheit
3Q, das Fehl-Informations-Vergleicher-
und -Status-Sammelnetzwerk 34 und der Eingangsstapel 40. Die Fehl-Informationshalteregister enthalten
alle erforderlichen Informationen sowohl zur richtigen Handhabung der von dem Rechner-Zentralspeicher empfangenen
Daten als auch zur Informierung 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 Eingangsstapel
40 ist erforderlich, damit der Hauptpuffer des Pufferspeichers für überlappte Lese- und Schreibvorgänge zur
Verfügung bleibt. Diese Pufferspeicherorganisation ermöglicht es, daß Daten, die gerade von dem Rechner-Zentralspeicher
empfangen werden oder sich im Eingangsstapel befinden,
unmittelbar der anfordernden Zentraleinheit über die Auswahleinheit 56 und den Datenpfad 58 zugeführt werden.
Die Anzahl der Fehl-Informationshalteregister in der Fehl-Informationshalteregistereinheit 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 Pufferspeicherorganisation 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 Fehl-Informationshalteregister in der Fehl-Informationshalteregistereinheit
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 nachfolgen-
den Anforderungen die angeforderten Daten sich auf ihrem Weg vom Eechner-Zentralspeicher befinden. Zweitens werden
Eingangsanforderungs-Identifikationskennzeichen zusammen
mit den Sende-an-ZE-Indikatoren gespeichert. Die Leitungen
für die Identifikationskennzeichen für Eingangs- und Rechner-Zentralspeicheranforderungen sind in Fig. Λ nicht
gezeigt, um diese Zeichnung nicht zu kompliziert zu machen; das Identifikationskennzeichen 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 den richtigen
Identifikationskennzeichen zurückzuleiten. Drittens werden In-Eingangsstapel-Indikatoren 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 Pufferspeiehers 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 die
Fehl-Informationshalteregistereinheit 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
der Einheit 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 (G-Bits)
(b) Eingangsanforderungsadresse; Eingangsanforderungsadresse
112 (I-Bits)
(c) Eingangsidentifikationskennzeichen, eines pro Wort;
Identifikationskennzeichenregister 114 (T-Bits pro
Kennzeichen)
(d) Sende-an-ZE-Indikatoren, einer pro Wort; Sende-an-ZE-Indikatorregister
116 (ein Bit pro Indikator)
(e) In-Eingangsstapel-Indikatoren, einer pro Wort; In-Eingangsstapel-Register
118 (ein Bit pro Indikator)
(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-Indikator; (ein Bit pro Indikator)
und . ■
(j) Veraltet-Indikator für Informationen, die für Pufferspeicher-Datenerneuerung
nicht gültig sind, oder für Fehl-Informationshalteregister-Ireffer bei gerade
überführten Daten (ein Bit pro Indikator).
Die Betriebsweise der dargestellten Ausführungsform der
Pufferspeicherorganisation kann in zwei grundlegenden Abschnitten erläutert werden. Der erste Abschnitt bezieht
sich auf die Speicherempfänger-/Eingangsstapel-Operationen,
während sich der zweite auf die Identifikationskennzeichenanordnungs-Steueroperationen
bezieht. Für Speicherempfänger-Eingangsstapel-Operationen sind die Felder
in der Fehl-Informationshalteregistereinheit, die abgefragt
werden, die folgenden:
(a) Sende-an-ZE-Indikator,
(b) Eingangsidentifikationskennzeichen,
(c) Pufferadresse des Pufferspeichers,
(d) Teilschreibcodes,
(e) Veraltet—Indikator und
(f) Gültig-Indikator.
Wenn ein Wort vom Speicher empfangen wird, wird es der
aufordernden Einheit der Zentraleinheit (ZE) zugeführt,
wenn der Sende-an-ZE-Indikator gesetzt ist. Das richtige Identifikationskennzeichen begleitet die Daten. Dieses
Wort wird weiterhin in den Eingangsstapel 40 eingeschrieben,
wenn das Wort nicht vorher vollständig in den Pufferspeicher 12 eingeschrieben wurde oder der Fehl-Informationshalteregister-Indikator
nicht "überholt" oder "veraltet" ist. Die Datenworte werden aus dem Eingangsstapel 4Ό 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ß die Fehl-Informationshalteregistereinheit
30 eine gültige Information enthalten, wenn sie abgefragt wird, oder es wird ein Fehlersignal
erzeugt.
Es ist erforderlich, die Pufferspeicher-Datenkennzeichnung
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
ein Pufferspeicher-Kennzeichen ausgesandt, das auf ein bestimmtes zugeordnetes Fehl-Informationshalteregister in
der Fehl-Informationshalteregistereinheit 30 zeigt und
anzeigt, auf welches Wort des Blockes derzeit zugegriffen werden soll. Es sei bemerkt, daß die Pufferspeicherorganisation
in dem Fehl-Informationshalteregister der Fehl-Informationshalteregistereinheit
30 das Identifikationszeichen der anfordernden Einheit speichert. Diese Kennzeichnung
schließt das verbleibende offene Glied für die Handhabung von Daten, die von dem Eechner-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 der Fehl-Informationshalteregistereinheit 30,
die während der Speicherempfänger-ZEingangsstapel-Operationen
hinsichtlich ihrer Daten erneuert werden, sjLnd
folgende:
(a) In-Eingangsstapel-Indlkatoren,
(b) Teilschreibcodes,
(c) Anzahl der verarbeiteten Worte des Blockes und
(d) Information-gültig-Indikator.
Die In-Eingangsstapel-Indikatoren werden gesetzt, wenn
das Datenwort in dem Eingangsstapel 40 eingeschrieben
wird, und sie werden gelöscht, wenn die Daten aus dem
Eingangsstapel 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-ir-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 der "Gültig"- oder."Veraltet"-Fehl-Infοrmationshalteregister-Indikator
gelo seht.
Für die Identifikationskennzeichenanordnungs-Steueroperation
werden die folgenden Felder der Fehl-Informationshalteregistereinheit
30 abgefragt:
(a) Eingangsanforderungsadresse,
(b) Sende-an-ZE,
(c) In-Eingangsstapel-Indikatoren,
(d) Teilschreibcodes,
(e) Gültig-Indikator und
(f) Veraltet-Indikator.
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ß der Sende-an-ZE-Indikator
bereits gesetzt ist.
Die Tabelle nach Fig. 3 zeigt die Vorgänge, die in der
Identifikationskennzeichenanordnungs-Steuerung unter all diesen vorstehenden Bedingungen ausgeführt werden. Es sei
bemerkt, daß ein Zugriff auf den Rechner-Zentralspeicher nur darm 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 der Fehl-Informationshalteregistereinheit
30 und der Auswahlein—
hext 56 beseitigt werden.
Bei einem Fehl-Zugriff wird ein Fehl-Informationshalteregister
in der Fehl-Informationshalteregistereinheit 30
zugeordnet und die folgenden Aufgaben werden erfüllt:
(a) der Gültig-Indikator wird gesetzt;
(b) der Veraltet-Indikator wird gelöscht;
(c) die Pufferspeicheradresse wird in dem Fehl-Informationshalteregister
gespeichert;
(d) die Eingangsanforderungsadresse wird in dem zugeordneten Fehl-Informationshalteregister gespeichert;
(e) ein geeigneter Sende-an-ZE-Indikator wird gesetzt "und
andere gelöscht;
(f) das Eingangsidentifikationskennzeichen wird an, einer
richtigen Position gespeichert;
(g) alle Teilschreibcodes, die dem zugeordneten Fehl-Informationshalteregister
zugeordnet sind, xverden gelöscht und
(h) alle Fehl-Inforraationshalteregister, dde 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-Indikatoren gelöscht v/erden und kein Identifizierungskennzeichen 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-Indikator-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-Indikatoren der Fehl-Informationshalteregister der
Fehl-Informationshalteregistereinheit 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) das Pufferspeicher-Identifikationskennzeichen zeigt
auf ein ungültiges Fehl-Informationshalteregister;
(b) Mehrfach-Treffer in dem Fehl-Informationshalteregi—
ster-Komparator und
(c) vorhergehender Fehl-Zugriff-Trefferstatus vollständig
geschrieben und nicht teilweise geschrieben.
Alle anderen Felder der JPehl-Informationshalteregistereinheit
können durch die Verwendung der vorstehenden speziellen Pufferspeicher-Eingangsfunktionen in Kombination
mit den üblichen Eingangsfunktionen überprüft werden, die
alle Kombinationen von Adressen, Identifikationskennzeicben und Daten haben.
Claims (5)
- 3131341 .Patentanwälte Dipt.-ing. Curt Wallach: : :" - .: ::"".- DtpJ.f Ing. Günther Koch" Dipl.-Phys. Dr.Tino HaibachDipl.-lng. Rainer FeldkampD -8000 München 2 ■ Kaufingerstraße 8 · Telefon (0 89) 24 02 75 · Telex 5 29 513 wakai dDatum:Unser Zeichen: 17 235 F/tfUPatentansprüche/I Pufferspeicherorganisation, gekennzeichnet durch eine Pufferspeichereinheit (12), Auswahl einrichtungen (14·) zur Auswahl eines Einganges an die Pufferspeichereinheit (12), eine Identifikationskennzeichenanordnungs- und -Steuereinheits-Einrichtung (18) zur Lieferung einer ersten Adresse an die Auswahleinrichtungen (14), Eingangsstapeleinrichtungen (40) zur Lieferung eines Dateneinganges an die Auswahleinrichtungen (14), eine Fehl-Informationshalteregistereinheit (30) zur Lieferung eines zweiten Adresseneinganges an die Auswahleinrichtung (14), wobei die Fehl-Informatiönshalteregistereinheit im Betrieb einen Eingang von der Identifikationskennzeichenanordnungsund -Steuereinheit-Einrichtung empfängt, ein Fehl-Informationsvergleicher- und -statussammelnetzwerk (34), das mit den in der Fehl-Informationshalteregistereinheit enthaltenen Registern verbunden ist und Eingangsanforderungsadressen und Pufferspeicheradressen von der Identifikationskennzeichenanordnungs- und-Steuereinheit-Einrichtung empfängt sowie Statusinformationen an die Identifikationskennzeichenanordnungs- und -Steuereinheit-Einrichtung liefert, und ein Ausgangsauswahlnetzwerk(56) mit einem ersten Eingang von dem Pufferspeicher (12), einem zweiten Eingang von den Eingangsstapeleinrichtungen (40) und einem dritten Eingang von einer Speicherempfängereinheit (44), die Daten von einem Zentralspeicher eines Rechnersystems empfängt.
- 2. Pufferspeicherorganisation nach Anspruch 1, dadurch gekennzeichnet, daß die Fehl-Informationshalteregistereinheit aus einer Vielzahl von Registern besteht, die jeweils ein Pufferspeicher-Adressenregister (110), ein Eingangsänforderungs-Adressenregister (112), ein Identifikationskennzeichenregister (114), ein Sende-an-ZE-Indikatorenregister (116), ein Teilschreibcoderegister (120), ein in-Eingangsstapel-Indikatorenregister (118) und ein Steuerinformationsregister (122) aufweisen.
- 3· Pufferspeicherorganisation nach Anspruch 2, dadurch gekennzeichnet, daß die Fehl-Informationshalteregistereinheit aus vier Registern besteht.
- 4. Pufferspeicherorganisation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Fehl-Informationsverglei— eher des Fehl-Informationsvergleicher- und -statussammelnetzwerkes eine vorgegebene Anzahl von Vergleichswegen aufweist und eine Anzahl von Wählern (126, 128, 130, 132) zur Aussendung von Statusinformationen an die Identifikationskennzeichenanordnungs- und -Steuereinheit-Einrichtung, eine Anzahl vonWählern (134·, 136) zur Aus Sendung von Pufferspeicheradressen und Teilschreibcodes an die Auswahleinrichtung, eine Anzahl von Wählern (138, 140, 14-2, 144) zur Aussendung von Steuerinformationen und ausgewählten Identifikationskennzeichen- und Sende- an-ZE-Indikator-Informationen an die Speicherempfängereinheit, 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, um aus den Vergleicherausgängen ,den Einfach- und Hehrfach-Trefferstatus von der Identifikationskennzeichenanordnungs- und -Steuereinheit-Einrichtung zu bestimmen.
- 5. Pufferspeicherorganisation nach Anspruch 4·, dadurch gekennzeichnet, daß der Fehl-Informationsvergleicher vier Vergleichswege aufweist.
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 true DE3131341A1 (de) | 1982-04-15 |
DE3131341C2 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 |
US5038278A (en) * | 1988-04-01 | 1991-08-06 | Digital Equipment Corporation | Cache with at least two fill rates |
EP0359815B1 (de) * | 1988-04-01 | 1995-11-22 | Digital Equipment Corporation | Cachespeicher mit mindestens zwei füllgrössen |
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 |
KR900008516A (ko) * | 1988-11-01 | 1990-06-04 | 미다 가쓰시게 | 버퍼 기억장치 |
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 |
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 |
EP0795820B1 (de) * | 1993-01-21 | 2000-03-01 | 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 |
US20020002611A1 (en) * | 2000-04-17 | 2002-01-03 | Mark Vange | System and method for shifting functionality between multiple web servers |
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替换信息表超前精确更新装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
US3949379A (en) * | 1973-07-19 | 1976-04-06 | International Computers Limited | Pipeline data processing apparatus with high speed slave store |
DE2854286A1 (de) * | 1977-12-16 | 1979-06-28 | Honeywell Inf Systems | Schaltungsanordnung mit einem befehlspuffer fuer eine cachespeichereinheit eines datenverarbeitungssystems |
Family Cites Families (10)
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. |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
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 |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3949379A (en) * | 1973-07-19 | 1976-04-06 | International Computers Limited | Pipeline data processing apparatus with high speed slave store |
US3928857A (en) * | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
DE2854286A1 (de) * | 1977-12-16 | 1979-06-28 | Honeywell Inf Systems | Schaltungsanordnung mit einem befehlspuffer fuer eine cachespeichereinheit eines datenverarbeitungssystems |
Also Published As
Publication number | Publication date |
---|---|
CA1151293A (en) | 1983-08-02 |
DE3131341C2 (de) | 1988-06-30 |
AU7209481A (en) | 1982-03-04 |
GB2082808B (en) | 1983-06-02 |
JPS5746375A (en) | 1982-03-16 |
AU537492B2 (en) | 1984-06-28 |
US4370710A (en) | 1983-01-25 |
FR2489578B1 (fr) | 1987-08-07 |
FR2489578A1 (fr) | 1982-03-05 |
GB2082808A (en) | 1982-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3131341C2 (de) | ||
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE3151745C2 (de) | ||
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2806045A1 (de) | Dv-system mit pufferspeicher | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE2755897A1 (de) | Ein/ausgabe-system | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2241257A1 (de) | Datenverarbeitende anlage | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE2411963B2 (de) | Datenverarbeitungsanlage | |
DE2856680C2 (de) | ||
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
EP0651536A2 (de) | Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE1499206B2 (de) | Rechenanlage | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE68913316T2 (de) | Rechnersystem mit einem hierarchisch organisierten Speicher. | |
DE69111778T2 (de) | Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits. | |
DE2750126B2 (de) | ||
DE3588166T2 (de) | Entwurf einer Cache-Hierarchie zur Anwendung in einer Speicherverwaltungseinheit |
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 |