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
Application number
DE19813131341
Other languages
English (en)
Other versions
DE3131341C2 (de
Inventor
David Ontario Kroft
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Control Data Corp
Original Assignee
Control Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Control Data Corp filed Critical Control Data Corp
Publication of DE3131341A1 publication Critical patent/DE3131341A1/de
Application granted granted Critical
Publication of DE3131341C2 publication Critical patent/DE3131341C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing 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,
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)

  1. 3131341 .Patentanwälte Dipt.-ing. Curt Wallach
    : : :" - .: ::"".- DtpJ.f Ing. Günther Koch
    " Dipl.-Phys. Dr.Tino Haibach
    Dipl.-lng. Rainer Feldkamp
    D -8000 München 2 ■ Kaufingerstraße 8 · Telefon (0 89) 24 02 75 · Telex 5 29 513 wakai d
    Datum:
    Unser Zeichen: 17 235 F/tfU
    Patentansprü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. 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. 3· Pufferspeicherorganisation nach Anspruch 2, dadurch gekennzeichnet, daß die Fehl-Informationshalteregistereinheit aus vier Registern besteht.
  4. 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 von
    Wä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. 5. Pufferspeicherorganisation nach Anspruch 4·, dadurch gekennzeichnet, daß der Fehl-Informationsvergleicher vier Vergleichswege aufweist.
DE19813131341 1980-08-26 1981-08-07 "pufferspeicherorganisation" Granted DE3131341A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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