DE19727862A1 - Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem - Google Patents

Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem

Info

Publication number
DE19727862A1
DE19727862A1 DE19727862A DE19727862A DE19727862A1 DE 19727862 A1 DE19727862 A1 DE 19727862A1 DE 19727862 A DE19727862 A DE 19727862A DE 19727862 A DE19727862 A DE 19727862A DE 19727862 A1 DE19727862 A1 DE 19727862A1
Authority
DE
Germany
Prior art keywords
data
cache
program
main memory
prgrm
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.)
Ceased
Application number
DE19727862A
Other languages
English (en)
Inventor
Josef Dipl Ing Braeu
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Wincor Nixdorf International GmbH
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 Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE19727862A priority Critical patent/DE19727862A1/de
Publication of DE19727862A1 publication Critical patent/DE19727862A1/de
Ceased 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystemen gemäß den Oberbegriffen der Ansprüche 1 bzw. 3.
Prozessorsysteme weisen heute eine Verarbeitungseinheit mit einem Cache mit dahinter liegendem Hauptspeicher auf. Bei ei­ ner ersten Datenanforderung durch die Verarbeitungseinheit während einer Programmausführung eines ausführbaren Programms werden Daten aus dem Hauptspeicher in den Cache geladen. Bei weiteren Datenanforderungen wird dann stets zuerst im Cache gesucht, bevor auf den Hauptspeicher zurückgegriffen wird und neue Daten nachgeladen werden.
Die Verarbeitungsleistung des Prozessorsystems hängt stark von der Hitrate in dem Cache ab. Je öfter angeforderte Daten im Cache ohne Nachladen gefunden werden, um so höher ist die Verarbeitungsleistung des Prozessorsystems. Jedes Laden und Nachladen von Daten aus dem Hauptspeicher belastet die Spei­ cherbusstruktur des Prozessorsystems, wodurch die Bandbreite der Speicherbusstruktur wesentlich reduziert wird. Insbeson­ dere bei Multiprozessorsystemen hängt die Zugriffszeit stark von der Wartezeit ab, bis der Bus jeweils für eine Datenüber­ tragung frei ist. Die Wartezeit wiederum ist abhängig von der aktuellen Belastung des Speicherbusses.
Aufgabe der vorliegenden Erfindung ist daher, Maßnahmen anzu­ geben, durch die die Verarbeitungsleistung von Prozessorsys­ teme der eingangs genannten Art weiter erhöht wird.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren ge­ löst, das die im kennzeichnenden Teil des Anspruchs 1 angege­ benen Verfahrensschritte aufweist. Ferner wird diese Aufgabe durch eine Anordnung gelöst, die die im kennzeichnenden Teil des Anspruchs 3 angegebenen Merkmale aufweist.
Die erfindungsgemäßen Maßnahmen steigern die Verarbeitungs­ leistung, weil die Hitrate des Caches erhöht wird, so daß die Häufigkeit von Nachladevorgängen zu einer Ausführungszeit von Programmen verringert wird. Die Zeit für die Programmaus­ führung wird dadurch reduziert und die Verarbeitungsleistung erhöht.
Erreicht wird dies dadurch, daß der Cache mit den Daten, die bei einer Programmausführung sicher oder zumindest mit einer hohen Wahrscheinlichkeit benötigt werden, vor oder spätestens gleichzeitig zu der Programmausführung geladen wird. Um zu wissen, welche Daten bei einer Programmausführung sicher be­ nötigt werden und daher vorab zu laden sind, sind zusätzlich zu dem ausführbaren Programmcode des auszuführenden Programms im Hauptspeicher Adreß- oder Referenzinformationen gespei­ chert, die Auskunft darüber geben, wo die benötigten Daten im Hauptspeicher zu finden sind. Die Adreß- oder Referenzinfor­ mationen werden bei einem Umwandlungsvorgang bzw. einer Über­ setzung des Ausgangs- bzw. Quellcodes des auszuführenden Pro­ gramms in einen vom Prozessorsystem ausführbaren Programmcode ermittelt. Vor oder gleichzeitig zu der Programmausführung werden durch eine Vorab-Datenladeeinrichtung, die mit dem Cache und der Verarbeitungseinheit des Prozessorsystems in Verbindung steht, die zusätzlich zum Programmcode abgespei­ cherten Adreß- oder Referenzinformationen aus dem Hauptspei­ cher abgearbeitet und dabei der Cache mit den entsprechenden sicher oder zumindest mit hoher Wahrscheinlichkeit benötigten Daten in den Cache geladen. Somit ist sichergestellt, daß im Cache von Anfang an solche Daten stehen, die tatsächlich eine hohe Hitrate aufweisen. Insgesamt wird somit der Cache gegen­ über der bisherigen Art der Benutzung von Caches programmge­ steuert vorabgeladen.
Eine vorteilhafte Ausgestaltung der Erfindung gemäß dem Ver­ fahren ist Gegenstand eines Unteranspruchs. Danach werden In­ halte des Caches im wesentlichen erst nach Beenden der lau­ fenden Programmausführung zurückgeschrieben. Dies ist mög­ lich, weil durch das Vorab-Laden des Caches die für die Pro­ grammausführung benötigten Daten vorhanden sind, so daß sich Nachladevorgänge zur Ausführungszeit eines Programms erübri­ gen, die ein vorheriges Zurückschreiben notwendig machen wür­ den. Der Vorteil ist, wie schon erwähnt, daß die Ausfüh­ rungszeit für die Programmausführung wesentlich verkürzt ist und der Speicherbus zum Hauptspeicher nicht mehr so belastet ist, weil im Falle von mehreren Teilnehmern beispielsweise in einem Multiprozessorsystem die einzelnen Teilnehmer wesent­ lich länger in ihren eigenen Subsystemen arbeiten können, be­ vor sie wieder auf den Hauptspeicher zugreifen müssen.
Nachfolgend werden Ausführungsbeispiele der Erfindung anhand einer Zeichnung näher erläutert. Darin zeigen
Fig. 1 eine schematische Darstellung eines bekannten Pro­ zessorsystems,
Fig. 2 eine schematische Darstellung eines erfindungsgemä­ ßen Prozessorsystems,
Fig. 3 eine schematische Darstellung eines Multiprozessor­ systems mit einzelnen Prozessorsystemen gemäß der Fig. 2,
Fig. 4 eine schematische Darstellung einer Pointerlogik ge­ mäß einem Teil eines jeweiligen Prozessorsystems ge­ mäß der Fig. 2 oder 3 zum Erkennen und Auffinden von im Cache vorhandenen Daten, und
Fig. 5 eine schematische Darstellung einer Pointersetlogik gemäß einem Teil der Pointerlogik gemäß der Fig. 4.
Das in der Fig. 1 gezeigte Prozessorsystem PS weist eine er­ ste Komponentengruppe auf, die durch einen Hauptspeicher HS gebildet ist, und weist eine zweite Komponentengruppe auf, die eine Verarbeitungseinheit VE, einen Cache C und eine Cache-Steuerung CSTR umfaßt. Im Hauptspeicher HS stehen die vom Prozessorsystem ausführbaren Programmcodes von auszufüh­ renden Programmen, die ausgehend von entsprechenden Quell­ codes bzw. Ausgangscodes durch einen Übersetzungs- oder As­ semblierungsvorgang erzeugt wurden. In der Fig. 1 ist ein ausführbarer Programmcode für nur ein einziges auszuführendes Programm angedeutet. Das ausführbare Programm umfaßt dabei im Hauptspeicher HS Abschnitte, in denen der ausführbare Pro­ grammcode eins PRGRM1-CDE selbst steht, und Abschnitte, in denen die zum ausführbaren Programmcode eins PRGRM1-CDE zuge­ hörigen Programmdaten PRGRM1-DTN stehen.
Bei der Programmausführung des Programmcodes eins PRGRM1-CDE gemäß Fig. 1 werden zunächst keine zugehörigen Programmdaten PRGRM1-DTN geladen. Diese werden erst während des Programm­ laufs und bei Bedarf geladen. Im weiteren Verlauf der Pro­ grammausführung werden in den Cache geladene Daten immer wie­ der verdrängt, möglicherweise wurden sie auch noch gar nicht geladen, so daß es immer wieder vorkommt, daß benötigte Da­ ten nicht im Cache gefunden werden und Nachladevorgänge an den Hauptspeicher HS gestartet werden müssen.
Bei dem in der Fig. 2 gezeigten Prozessorsystem ist neben den im Zusammenhang mit der Fig. 1 beschriebenen Komponenten eines Prozessorsystems eine Vorab-Datenladeeinrichtung CPLU zu sehen, die in Verbindung mit dem Cache C und der Verarbei­ tungseinheit VE steht. Weiter gibt es im Hauptspeicher HS zu den dargestellten Abschnitten für den ausführbaren Pro­ grammcode eins PRGRM1-CDE und den Programmdaten PRGRM1-DTN zu dem Programmcode eins PRGRM1-CDE zusätzlich Abschnitte, in denen Adreß- oder Referenzinformationen PRGRN1-CPLI zu Daten stehen, die bei der Programmausführung des ausführbaren Pro­ grammcodes PRGRM-CDE sicher oder zumindest mit hoher Wahr­ scheinlichkeit benötigt werden.
Die Adreß- oder Referenzinformationen PRGRM1-CPLI stellen für sich ein ausführbares Programm dar, das die bei der Pro­ grammausführung eines ausführbaren Programms, beispielsweise das durch den ausführbaren Programmcode eins PRGRM1-CDE ange­ gebene Programm, benötigten Daten in den Cache C lädt. Hierzu startet die Vorab-Ladeeinrichtung CPLU vor oder spätestens gleichzeitig zu der Programmausführung der durch den Pro­ grammcode eins PRGRM1-CDE gegebenen Programms, die als Skrip­ toren auffaßbaren Adreß- oder Referenzinformationen PRGRM1-CPLI und arbeitet diese ab. Im Anschluß daran stehen im Cache C vorab oder spätestens gleichzeitig zu der Pro­ grammausführung des besagten Programms die benötigten Daten.
Die Adreß- oder Referenzinformationen PRGRM1-CPLI, bei­ spielsweise zum ausführbaren Programmcode eins PRGRM1-CDE, werden beim Übersetzen des entsprechenden Quell- oder Aus­ gangscodes in einen vom Prozessorsystem PS ausführbaren Pro­ grammcode eins PRGRM1-CDE ermittelt und zusätzlich zum aus­ führbaren Programmcode eins PRGRM1-CDE im Hauptspeicher HS abgespeichert.
Eine Adreß- oder Referenzinformation PRGRM1-CPL1 hat bei­ spielsweise den nachfolgend aufgezeigten Aufbau.
Cacheadresse gibt an, wo die Information im Haupt­ speicher steht.
Länge gibt an, wieviel Information kopiert werden soll.
SWAP-Speicheradresse gibt an, wo die Information im Cache gespeichert werden soll.
Pointerset gibt an, welche SWAP-Pointersetlogik verwendet werden soll. Für jeden Daten­ bereich im SWAP-Speicher (siehe nach­ folgend) ist eine separate Pointer­ setlogik vorzusehen, um eine unabhän­ gige Hit-Feststellung durchführen und die Adresse im SWAP-Speicher parallel ermitteln zu können.
Flagbyte gibt an, ob z. B. ein Datenbereich oder mehrere Datenbereiche mit einer solchen Adreß- oder Referenzinformation über­ tragen werden soll.
Dabei ist angenommen, daß die Prozessorsystemkomponenten Cache-Steuerung CSTR, Cache C und Vorab-Datenladeeinrichtung CPLU als ein sogenannter SWAP-Speicher SWAPB zusammengefaßt sind. Eine Adreß- oder Referenzinformation z. B. PRGRM1-CPLI wird in der Fachsprache auch als Scrip bezeichnet.
In der Fig. 3 sind der Vereinfachung wegen solche SWAP-Spei­ cher SWAPB1, SWAPB2 und SWAPB3 pro ein Prozessorsystem PS1, PS2 und PS3 gezeichnet. Die Prozessorsysteme PS1, PS2 und PS3 entsprechen jedes einem Prozessorsystem PS der Fig. 2. In­ nerhalb der Prozessorsysteme PS1, PS2 und PS3 sind noch die jeweiligen Verarbeitungseinheiten VE1, VE2 und VE3 näher an­ gegeben. In der Fig. 3 sind pro jeweiliges Prozessorsystem PS1, PS2 und PS3 weiter sogenannte Pointerlogiken PL1, PL2 und PL3 näher angegeben, die den jeweiligen SWAP-Speichern SWAPB1, SWAPB2 und SWAPB3 zugeordnet sind. Innerhalb der SWAP-Speicher SWAPB1, SWAPB2 und SWAPB3 sind jeweilige Poin­ terlogiken PL1, PL2 und PL3 den jeweiligen Vorab-Datenlade­ einrichtungen zugeordnet.
Zum Multiprozessorsystem gemäß der Fig. 3 gehört noch ein Hauptspeicher HS und ein Speicher SB, der den Hauptspeicher HS mit den jeweiligen Prozessorsystemen PS1, PS2 und PS3 ver­ bindet.
Aufgrund des programmgesteuerten Vorab-Datenladens von sicher oder zumindest mit hoher Wahrscheinlichkeit bei einer Pro­ grammausführung benötigter Daten aus dem Hauptspeicher HS in den jeweiligen Cache C des jeweiligen Prozessorsystems PS1, PS2 und PS3 werden Zugriffszyklen und damit die Belastung des Speicherbusses SB minimiert, weil die Hitrate in den Caches C erhöht wird. Die Ausführungszeit für eine Programmausführung wird dadurch optimiert. Die Belastung des Speicherbusses re­ duziert sich, weil die einzelnen Prozessorsysteme aufgrund der Tatsache, daß sie ihre benötigten Daten bereits in ihrem Cache C haben, über wesentliche Zeitabschnitte für sich ar­ beiten können und weder den Speicherbus SB noch den Haupt­ speicher HS benötigen. Erst das Ende einer Programmausführung ist ein regelmäßiger Zeitpunkt, an dem die genannten Kompo­ nenten wieder beansprucht werden müssen.
Im optimalen Fall ist die Größe des Caches C so bemessen, daß alle zu einem auszuführenden Programm benötigten Daten in einem Durchgang geladen werden können. Da dies vielleicht nicht immer möglich sein wird, können Nachladungen von Daten gegebenenfalls doch möglich werden. Es könnte auch sein, daß die Bearbeitung eines Gerätes, zu dem eine Programmausführung gerade läuft, verdrängt wird, so daß ein Zurückschreiben von Daten notwendig ist. Insgesamt wird aber trotzdem die Bean­ spruchung des Speicherbusses SB reduziert und die Verarbei­ tungsleistung der Prozessorsysteme PS1, PS2 und PS3 um ca. 20-30% erhöht.
Die im Zusammenhang mit der Fig. 3 angesprochenen Pointerlo­ giken PL1, PL2 und PL3 beinhalten eine sogenannte Hit-/Miss­ logik und eine SWAP-Speicher-Adreßberechnungslogik. Die Hit-/Misslogik entscheidet, ob benötigte Daten im Cache vorhanden sind oder ob diese aus dem Hauptspeicher HS geholt werden müssen.
Eine Pointerlogik PL ist in der Fig. 4 näher dargestellt. Bezüglich eines laufenden auszuführenden Programms, das Daten für die Bearbeitung benötigt, wird der Pointerlogik PL ein­ gangsseitig eine in einem möglichen Adreßraum liegende Adresse VE-ADR von der Verarbeitungseinheit VE zugeführt, um die Daten im Cache C des SWAP-Speichers SWAPB aufzuspüren. Dem Adreßraum sind abhängig von der möglichen Anzahl der vom auszuführenden Programm benötigten Datenbereiche eine ent­ sprechende Anzahl von Pointersetlogiken PST zugeordnet, die jeweils für einen der Datenbereiche zuständig sind. Ein aus­ zuführendes Programm kann unterschiedliche Datenbereiche be­ nötigen, weil es möglicherweise mit unterschiedlichen Geräten gleichzeitig arbeitet, für die es jeweils spezielle Daten, das heißt einen speziellen Gerätekontrollblock benötigt.
Im vorliegenden Ausführungsbeispiel sind den möglichen Adres­ sen VE-ADR der Verarbeitungseinheit n Pointersetlogiken PST1 bis PSTn zugeordnet. Die Adresse VE-ADR von der Verarbei­ tungseinheit VE wird parallel einer jeden dieser zugeordneten Pointersetlogik PST1 bis PSTn zur Berechnung der Adresse ADR des SWAP-Speichers SWAPB zugeführt. Abhängig von der angelie­ ferten Adresse VE-ADR der Verarbeitungseinheit VE liefern die Pointersetlogiken PST1 bis PSTn erstens Pointeradressen PADR1 bis PADRn, sowie ein jeweiliges Hitsignal HIT1 bis HITn, wo­ bei das jeweilige Hitsignal HIT1 bis HITn beispielsweise po­ sitiv ist, wenn die jeweilige Pointeradresse PADR1 bis PADRn für den betreffenden Datenbereich zutrifft. Es ist negativ, wenn die Pointeradresse PADR1 bis PADRn für den betreffenden Datenbereich nicht zutrifft.
Die Pointeradressen PADR1 bis PADRn werden einem Multiplexer MX zugeführt, der abhängig von einem vorliegenden positiven Hitsignal HIT1 bis HITn die jeweils zugehörige Pointeradresse PADR1 bis PADRn auf den SWAP-Speicher SWAPB durchschaltet. Durchgeschaltet wird letztendlich nur eine Pointeradresse PADR1 bis PADRn, weil die gesuchten Daten nur in einem der den Pointersetlogiken PST1 bis PSTn zugeordneten Datenberei­ che liegen kann.
Parallel zur Ansteuerung des Multiplexers MX durch die Hitsi­ gnale HIT1 bis HITn sind die Hitsignale HIT1 bis HITn auf ei­ ne logische Oderschaltung geführt, die einen Globalhit GHIT anzeigt, das heißt, daß die gesuchten Daten überhaupt im SWAP-Speicher SWAPB vorhanden sind.
Die Arbeitsweise einer einzelnen Pointersetlogik PST ist in der Fig. 5 näher dargestellt. Die Adresse VE-ADR der Verar­ beitungseinheit VE wird danach einem ersten Subtrahierer SUB1 zugeführt, der eine Subtraktion dieser Adresse mit einer in einem ersten Register REG1 stehenden Cache-Start-Adresse n CS-ADRn durchführt und das Ergebnis als eine Information C an einen Addierer ADD und einen zweiten Subtrahierer SUB2 wei­ tergibt. Der erste Subtrahierer SUB1 stellt außerdem noch fest, ob das Subtraktionsergebnis positiv ist. Ist das Ergeb­ nis positiv, was bedeutet, daß die Adresse VE-ADR der Verar­ beitungseinheit VE auf einen gültigen Bereich im SWAP-Spei­ cher SWAPB zugreift, gibt der erste Subtrahierer SUB1 einen entsprechenden ersten positiven Hit POS1n aus, der einer lo­ gischen Undschaltung zugeführt wird.
Abhängig von einer in einem zweiten Register REG2 stehenden SWAP-Pointer-Start-Adresse n SPS-ADRn wird die Adresse ADR für den SWAP-Speicher SWAPB vom Addierer ADD berechnet, indem er die Information C des ersten Subtrahierers SUB1 und die SWAP-Pointer-Start-Adressen SPS-ADRn, die dem Addierer als Information D zugeführt wird, addiert.
Daneben wird die Information C des ersten Subtrahierers SUB1 mit einer in einem dritten Register REG3 stehenden Länge n des entsprechend zugehörigen Datenbereichs verglichen, indem die Länge n, die dem zweiten Subtrahierer SUB2 als Informa­ tion E zugeführt wird, von der Information C abgezogen wird. Dadurch wird festgestellt, ob die angelieferte Adresse VE-ADR der Verarbeitungseinheit VE nicht über den entsprechenden Da­ tenbereich, im vorliegenden Fall der Datenbereich n, hinaus zeigt. Ist dies nicht der Fall, erzeugt der zweite Subtrahie­ rer SUB2 einen zweiten positiven Hit POS2, der neben dem er­ sten positiven Hit POS1 der logischen Undschaltung zugeführt wird. Zeigen beide positiven Hits POS1, POS2 einen positiven Hit an, liegen die gesuchten Daten im SWAP-Speicher SWAPB vor.

Claims (3)

1. Verfahren zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystemen, in denen bei einer ersten Datenanforderung durch eine Verarbeitungseinheit des Prozessorsystems während einer Programmausführung eines auszuführenden Programms Daten aus einem Hauptspeicher in den Cache geladen werden, aus dem dann bei weiteren Datenanforderungen während der laufenden Programmausführung jeweils zuerst versucht wird, Daten zu le­ sen, bevor dann auf den Hauptspeicher zurückgegriffen wird, dadurch gekennzeichnet, daß im Zuge eines Umwand­ lungsvorganges eines Ausgangscodes des auszuführenden Pro­ gramms in einen vom Prozessorsystem (PS) ausführbaren Pro­ grammcode (PRGRM-CDE) als bei der Programmausführung sicher oder zumindest mit hoher Wahrscheinlichkeit benötigt er­ kannte, durch zusätzlich zum ausführbaren Programmcode (PRGRM-CDE) im Hauptspeicher (HS) abgespeicherte Adreß- oder Referenzinformationen (PRGRM-CPLI) bekannt gemachte Daten (PRGRM-DTN) bereits vor oder spätestens gleichzeitig zu der Programmausführung in den Cache (C) geladen werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeich­ net, daß Inhalte des Caches (C) spätestens zum Beenden der laufenden Programmausführung wieder in den Hauptspeicher (HS) zurückgeschrieben werden.
3. Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystemen mit einer Verarbeitungseinheit, einem Hauptspeicher mit einem abgespeicherten, aufgrund eines Um­ wandlungsvorganges eines entsprechenden Ausgangscodes aus­ führbaren Programmcode und mit einem Cache, in den bei einer ersten Datenanforderung durch die Verarbeitungseinheit wäh­ rend einer Programmausführung des auszuführenden Programm­ codes Daten aus dem Hauptspeicher geladen werden und auf den bei weiteren Datenanforderungen während der laufenden Pro­ grammausführung jeweils zuerst zugegriffen wird, um Daten zu lesen, bevor dann auf den Hauptspeicher zurückgegriffen wird, dadurch gekennzeichnet, daß im Hauptspeicher (HS) Speicherplätze vorgesehen sind, in denen zusätzlich zum aus­ führbaren Programmcode (PRGRM-CDE) Adreß- oder Referenzin­ formationen (PRGRM-CPLI) gespeichert sind über Daten (PRGRM-DTN), die beim Umwandlungsvorgang des Programmcodes als bei der Programmausführung als sicher oder zumindest mit hoher Wahrscheinlichkeit benötigt erkannt worden sind, und daß ei­ ne mit der Verarbeitungseinheit (VE) und dem Cache (C) in Verbindung stehende Vorab-Datenladeeinrichtung (CPLU) vor­ gesehen ist, die vor oder spätestens gleichzeitig zu der Pro­ grammausführung des ausführbaren Programmcodes (PRGRM-CDE) die durch die Adreß- oder Referenzinformationen (PRGRM-CPLI) bekannt gemachten Daten (PRGRM-DTN) in den Cache (C) lädt.
DE19727862A 1997-06-30 1997-06-30 Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem Ceased DE19727862A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19727862A DE19727862A1 (de) 1997-06-30 1997-06-30 Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19727862A DE19727862A1 (de) 1997-06-30 1997-06-30 Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem

Publications (1)

Publication Number Publication Date
DE19727862A1 true DE19727862A1 (de) 1999-01-07

Family

ID=7834166

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19727862A Ceased DE19727862A1 (de) 1997-06-30 1997-06-30 Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem

Country Status (1)

Country Link
DE (1) DE19727862A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers

Similar Documents

Publication Publication Date Title
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE3803759C2 (de)
DE4225228C2 (de) Vorabrufpuffer und einen derartigen Vorabrufpuffer verwendendes Informationsverarbeitungssystem
DE19527031C2 (de) Verzweigungsprozessor für ein Datenverarbeitungssystem und Verfahren zum Betreiben eines Datenverarbeitungssystems
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE69321929T2 (de) Verfahren und System um einen unabhängige Zugriff auf Zwischenspeicherpuffern in einem superskalaren Prozessorsystem zu gewährleisten.
DE3106881C2 (de) Datenverarbeitungseinrichtung
DE69325473T2 (de) Virtuelles Speichersystem verwendendes Datenverarbeitungssystem und -verfahren
DE69031696T2 (de) Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen
DE69532006T2 (de) Speichersteuerverfahren und Vorrichtung geeignet für ein Informationsverarbeitungssystem
DE3013064A1 (de) Pufferspeicher fuer die datenuebertragung
CH625895A5 (de)
EP1079307A1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE69810098T2 (de) Leseoperationen in einem multiprozessorrechnersystem
DE19727862A1 (de) Verfahren und Anordnung zur Erhöhung der Hitrate bei Cache-Zugriffen in Prozessorsystem
DE69909400T2 (de) Verfahren zur Steuerung eines Cache-Speichers in einem Multiprozessorsystem und Multiprozessorsystem
DE69030368T2 (de) Tandem-Cache-Speicher
EP0280954B1 (de) Verfahren zur Steuerung des Datenaustausches zwischen Verarbeitungseinheiten und einem Speichersystem mit Cachespeicher in Datenverarbeitungsanlagen, sowie ein entsprechend arbeitender Cachespeicher
DE69330875T2 (de) Cachespeichervorrichtung.
DE10121745A1 (de) Verfahren und Anordnung zu einem Stack mit einem, in Datengruppen mit mehreren Elementen aufgeteilten Speicher
DE68924230T2 (de) Befehlscachespeicher mit flush-on-rei-steuerung.
DE69525850T2 (de) System und verfahren zur verarbeitung von speicherdaten und kommunikationssystemen mit diesem system
DE4330119C1 (de) Verfahren zum gesteuerten Vorladen von Informationsblöcken in Cacheblockgröße in einen Cachespeicher eines Rechners bei Ablauf eines Programms
DE69519939T2 (de) System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE

8120 Willingness to grant licences paragraph 23
8131 Rejection