DE4005319C2 - Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern - Google Patents

Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern

Info

Publication number
DE4005319C2
DE4005319C2 DE4005319A DE4005319A DE4005319C2 DE 4005319 C2 DE4005319 C2 DE 4005319C2 DE 4005319 A DE4005319 A DE 4005319A DE 4005319 A DE4005319 A DE 4005319A DE 4005319 C2 DE4005319 C2 DE 4005319C2
Authority
DE
Germany
Prior art keywords
memory
data
stc
cache
sic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4005319A
Other languages
English (en)
Other versions
DE4005319A1 (de
Inventor
Karl-Josef Dr Dahlem
Franz Dr Schulte
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.)
Wincor Nixdorf International 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
Publication of DE4005319A1 publication Critical patent/DE4005319A1/de
Application granted granted Critical
Publication of DE4005319C2 publication Critical patent/DE4005319C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

Description

Die Erfindung bezieht sich auf ein Verfahren und eine Anord­ nung zur Aufrechterhaltung der Datenkonsistenz in einem Multi­ prozessorsystem gemäß dem Oberbegriff des Patentanspruches 1 bzw. 6.
Will in einem solchen System einer der Prozessoren schreibend auf Daten des Arbeitsspeichers zugreifen, die sich gleichzeitig in einem Cachespeicher für einen anderen Prozessor befinden, dann muß sichergestellt werden, daß die in anderen Cachespei­ chern vorhandenen gleichadressierten Daten entweder angepaßt oder aber - weil insgesamt weniger aufwendig - für ungültig erklärt werden. Demzufolge müssen alle Schreibanforderungen an alle übrigen Cachespeicher weitergeleitet werden, und es muß anhand der Steuerdaten überprüft werden, ob die betroffenen Da­ ten dort vorhanden sind. Ähnliches gilt für Leseanforderungen, wenn sich die gewünschten Daten noch nicht im zugehörigen Cachespeicher befinden. In diesem Falle müssen bei Weiterlei­ tung der Leseanforderung an den Arbeitsspeicher ebenfalls alle anderen Cachespeicher überprüft werden, denn es könnten dort vorhandene gleichadressierte Daten inzwischen geändert sein und damit nicht mehr mit denen im Arbeitsspeicher übereinstimmen. Die in einem anderen Cachespeicher vorliegenden geänderten Da­ ten müssen dann erst in den Arbeitsspeicher übertragen werden, bevor sie dem anfordernden Cachespeicher zur Verfügung gestellt werden können.
Der Umfang der an die einzelnen Cachespeicher zu richtenden Überprüfungsanforderungen und der damit verbundene Datenaus­ tausch können die Steuerungen der Cachespeicher erheblich be­ lasten, was insgesamt eine Verminderung der Verarbeitungs­ leistung des gesamten Systems bedingt.
Um den Umfang der Anforderungen an die übrigen Cachespeicher zu verringern, arbeitet man daher vielfach mit Steuerkennzei­ chen im Arbeitsspeicher oder in der Zugriffssteuerung für den Arbeitsspeicher, die das Vorhandensein gleichadressierter Daten in den einzelnen Cachespeichern und ihre dortige Änderung kennzeichnen.
Aus der DE-PS 28 56 715 ist diesbezüglich ein Verfahren und eine Anordnung gemäß dem Oberbegriff der Patentansprüche 1 bzw. 6 bekannt, bei denen die Steuerkennzeichen zur Kennzeichnung der mit gleichadressierten Daten belegten Cachespeicher bei jedem Eintrag in dem zwischen dem Cachespeicher und dem Arbeitsspei­ cher vorhandenen Pufferspeicher vorgesehen werden. Trifft dabei eine Schreibanforderung auf einen Eintrag im Pufferspeicher, dann werden Anforderungen zum Ungültigerklären der gleichadres­ sierten Daten nur an die gekennzeichneten Cachespeicher gerich­ tet, im anderen Falle an alle Cachespeicher. Bei Leseanforderungen werden dagegen keine solchen Anforderungen ausgesandt, sondern es wird lediglich das Belegungskennzeichen für den zu­ gehörigen Cachespeicher eingetragen.
Weiterhin wird ein Auseinanderlaufen der Daten im Arbeitsspei­ cher mit den gleichadressierten Daten in den Cachespeichern bei Änderung dieser Daten dadurch vermieden, daß bei jeder Änderung von Daten in einem Cachespeicher die geänderten Daten auch an den Pufferspeicher für den Arbeitsspeicher weitergeleitet wer­ den (Store-Through-Prinzip).
Der Speicheraufwand für die zusätzlichen Belegungskennzeichen ist verhältnismäßig gering, und außerdem werden die Anforderungen an die Cachespeicher durch die Steuerung abhängig von den Belegungskennzeichen im Pufferspeicher verringert. Dennoch be­ lastet jede Anforderung an einen Cachespeicher das System, da der Cachespeicher für die Dauer der Prüfung und der Änderung dem eigenen Prozessor entzogen ist.
Aufgabe der Erfindung ist es daher, die Datenkonsistenz bei hohem Datendurchsatz eines Multiprozessorsystems der genannten Art mit einen dem Arbeitsspeicher vorgeschalteten Pufferspei­ cher mit geringem Aufwand zu gewährleisten.
Diese Aufgabe wird hinsichtlich des Verfahrens gemäß der Erfindung durch die Merk­ male des Patentanspruches 1 gelöst.
Die Erfindung mach sich dabei eine andere bekannte Lösung zu­ nutze, man siehe z. B. DE 34 39 302 C2, wonach Kopien der in den einzelnen privaten Cachespeichern vorhandenen Steuerdaten in Form von Adressen und Steuerbits in Verbindung mit der Zu­ griffssteuerung verwendet werden und wonach bei jeder Schreib­ anforderung an den Arbeitsspeicher die Speicheradresse an alle Kopien weitergeleitet wird, um zu prüfen, ob der zugehörige Ca­ chespeicher gleichadressierte Daten enthält, die dann für ungül­ tig zu erklären sind. Abweichend hiervon wird gemäß der Erfin­ dung nun nicht erst an Hand dieser Kopien bei jedem Arbeitsspei­ cherzugriff ermittelt, in welchem Cachespeicher geänderte gleich­ adressierte, gegebenenfalls zuvor abgeholt bzw. gleichadressier­ te Daten für ungültig erklärt werden müssen, um die Datenkon­ sistenz zu gewährleisten. Sondern die Ansteuerung erfolgt in erster Linie gezielt abhängig von den Belegungskennzeichen im Pufferspeicher, so daß bei jedem Arbeitsspeicherzugriff also nicht grundsätzlich alle Kopien anzusteuern und zu prüfen sind. Lediglich bei nicht im Pufferspeicher vorhandenen Daten müssen alle Kopien wie bei der bekannten Lösung überprüft werden, weil wegen nicht vorhandener Belegungskennzeichen eine Differenzie­ rung nicht möglich ist. Gemäß der Erfindung werden also nicht nur die Steuerungen der Cachespeicher, sondern auch die für die Kopien weitgehend entlastet. Die durch die Kopien erzielte Fil­ terwirkung kommt insbesondere auch dann zum Tragen, wenn zur Erhöhung der Speicherleistung Einträge im Pufferspeicher nicht nur bei Schreibanforderungen, sondern auch bei Leseanforderungen erfolgen, so daß bei aufgrund von Leseanforderungen neu anzu­ legenden Einträgen alle Cachespeicher auf Verdacht als belegt gekennzeichnet werden müssen, weil nicht auszuschließen ist, daß die angeforderten Daten in einem der Cachespeicher noch vor­ handen sind. Aufeinanderfolgende Leseanforderungen für gleich­ adressierte Daten von verschiedenen Prozessoren können so schneller beantwortet werden.
Das Problem der Aktualisierung der Kopien des jeweils anfor­ dernden Cachespeichers wird dabei in einfacher Weise durch Ausnutzung der Signale für die Aufforderungen zum Ungültig­ erklären von Daten gelöst, indem zusätzlich die Art der Spei­ cheranforderung bewertet wird, was in einfacher Weise an den weiterzuleitenden Speicherparametern erkennbar ist. Zusätzliche Signalgeneratoren für die Aktualisierung können daher entfal­ len.
Letzteres kommt auch zum Tragen, wenn gemäß Patentanspruch 3 bei Schreibanforderungen die Daten außer in den Pufferspeicher auch immer in den Cachespeicher eingetragen werden und entspre­ chend die Kopie ebenfalls zu aktualisieren ist.
Die durch die neue Lösung bewirkte Leistungssteigerung wirkt sich besonders dann aus, wenn der Arbeitsspeicher gemäß Patent­ anspruch 4 in mehrere getrennt ansteuerbare Module unterteilt und jedem Modul ein eigener Pufferspeicher zugeordnet ist, wo­ bei die Aufforderungen für die Überprüfung der Cachespeicher vom für die jeweilige Arbeitsspeicheranforderung zuständigen Pufferspeicher ausgehen. In diesem Falle werden alle mit ver­ schiedenen Modulen des Arbeitsspeichers zusammenarbeitenden Prozessoren kaum blockiert, da auch bei gleichzeitigen Schreib­ anforderungen von mehreren Prozessoren die Anzahl der ausgelö­ sten Überprüfungsaufträge beschränkt bleibt.
Eine Anordnung gemäß der Erfindung ergibt sich aus den Merkma­ len des Patentanspruches 6, wobei sich die daran anschließen­ den Patentansprüche 7 und 8 auf Weiterbildungen dieser Anord­ nung entsprechend den verschiedenen Verfahrensvarianten bezie­ hen.
Einzelheiten der Erfindung sind nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispieles näher er­ läutert. Im einzelnen zeigen
Fig. 1 ein Übersichtschaltbild eines Multiprozessorsystems ge­ mäß der Erfindung,
Fig. 2 eine logische Tabelle für die Ermittlung der Belegungs­ kennzeichen und der Steuersignale,
Fig. 3 ein Blockschaltbild für einen der Pufferspeicher von Fig. 1,
Fig. 4 ein Blockschaltbild für die Einrichtungen zur Ermittlung der Belegungskennzeichen von Fig. 3 und
Fig. 5 ein Blockschaltbild für die Einrichtungen zur Erzeugung der Steuersignale von Fig. 3.
Das Übersichtschaltbild von Fig. 1 zeigt in seinem unteren Teil eine Reihe von Prozessoren CPU₀ bis CPUm mit ihren privaten Cachespeichern STC₀ bis STCm und den zugehörigen Steuerdaten­ teilen T₀ bis Tm sowie eine Reihe von Ein-/Ausgabewerken IOP₀ bis IOPm ohne private Cachespeicher. Alle diese Prozessoren und Ein-/Ausgabewerke können über die gemeinsame Zugriffssteuerung MAC zum Arbeitsspeicher ASP . . ., der in mehrere getrennt an­ steuerbare Module ASP₀ bis ASPi unterteilt ist, zugreifen, wo­ bei der Zugriff von den Prozessoren CPU . . . aus über den jeweils zugehörigen privaten Cachespeicher STC . . . erfolgt, wenn die ge­ wünschten Daten in diesem nicht greifbar sind.
Jedem Arbeitsspeichermodul ASP₀ bis ASPi des Arbeitsspeichers ist ein Pufferspeicher SIC₀ bis SICi vorgeschaltet, der im vor­ liegenden Fall sowohl die aus dem zugehörigen Arbeitsspeicher­ modul gelesenen als auch die in dieses einzuschreibenden Daten mit den dazugehörigen Adressen zwischenspeichert, beispielswei­ se so lange, bis Platz für neue Daten benötigt wird. Diese Puf­ ferspeicher können als einfache Pufferspeicher oder auch als Cachespeicher ausgebildet sein, wobei ähnlich dem Funktions­ prinzip der einfachen Pufferspeicher nach dem Store-In-Prinzip arbeitende Cachespeicher verwendet werden.
Innerhalb der Zugriffssteuerung MAC sind weiterhin für jeden privaten Cachespeicher STC₀ bis STCm Kopien TK₀ bis TKm der zugehörigen Steuerdaten T₀ bis Tm vorgesehen.
An die Zugriffssteuerung MAC gerichtete Speicheranforderungen werden von dieser in bekannter Weise überwacht und einzeln nacheinander bearbeitet, indem das jeweils durch die mitge­ teilte Adresse bestimmte Arbeitsspeichermodul ASPx ausgewählt und der Auftrag mit den zugehörigen Parametern an den zuge­ hörigen Pufferspeicher SICx weitergeleitet wird. Handelt es sich um eine Schreibanforderung, werden die in den Arbeits­ speicher einzuschreibenden Daten mit übergeben, und handelt es sich um eine Leseanforderung, dann werden die gewünschten Daten, falls sie nicht im Pufferspeicher vorrätig sind, aus dem Arbeitsspeicher gelesen und in den Pufferspeicher eingetragen, sowie an den anfordernden Cachespeicher STCx bzw. an das an­ fordernde Ein-/Ausgabewerk IOPy weitergeleitet. Die damit ver­ bundene Übertragung der Parameter und Daten übernimmt in an sich bekannter Weise ein gemeinsames Leitungssystem AC-BUS.
Mit jeder Anforderung an den Arbeitsspeicher sind nun zusätz­ lich Überwachungs- und Steuerungsmaßnahmen zur Aufrechterhal­ tung der Datenkonsistenz erforderlich, da mehrere Prozessoren gegebenenfalls dieselben Daten aus dem Arbeitsspeicher benöti­ gen und gleichadressierte Daten gleichzeitig in mehreren priva­ ten Cachespeichern eingetragen sein können. Solange auf diese Daten nur lesend zugegriffen wird und diese Daten nicht verän­ dert werden, besteht keine Gefahr, daß die Daten im Arbeits­ speicher ASP . . . bzw. dem vorgeschalteten Pufferspeicher SIC . . . einerseits und in den privaten Cachespeichern STC . . . auseinan­ derlaufen. Wird dagegen von einem der Prozessoren CPU . . . eine Änderung vorgenommen, dann muß sichergestellt werden, daß im Arbeitsspeicher ASP . . . und in anderen privaten Cachespeichern STC . . . vorhandene gleichadressierte Daten angepaßt bzw. für un­ gültig erklärt werden.
Die Anpassung der Daten im Arbeitsspeicher ASP . . . wird in ein­ facher Weise dadurch sichergestellt, daß als private Cachespei­ cher solche verwendet werden, die nach dem Store-Through-Prin­ zip arbeiten und demzufolge geänderte Daten unmittelbar an den Arbeitsspeicher ASP weitergeleitet werden.
Außerdem muß überprüft werden, in welchem Cachespeicher gleich­ adressierte Daten eingetragen sind, die für ungültig zu erklä­ ren sind.
Zu diesem Zweck ist in den Pufferspeichern SIC . . . zusätzlich für jeden Eintrag ein Speicherabschnitt zur Aufnahme von den einzelnen privaten Cachespeichern STC₀ bis STCm individuell zugeordneten Belegungskennzeichen vorgesehen. Diese Belegungs­ kennzeichen können z. B. aus einem Steuerbit bestehen, das den logischen Wert "1" annimmt, wenn auch im zugehörigen Cache­ speicher STC . . . die zugehörigen Daten eingetragen werden oder eingetragen sein können. Anhand dieser Belegungskennzeichen kann daher bei einer Schreibanforderung unmittelbar erkannt werden, ob gleichadressierte Daten noch in einem anderen priva­ ten Cachespeicher eingetragen sein können und daher für ungül­ tig erklärt werden müssen.
An die zugehörigen Kopien TK . . . werden daher entsprechende Überprüfungsaufforderungen gerichtet, und nur wenn die dadurch ausgelösten Überprüfungen positiv ausgefallen sind, wird der zugehörige Eintrag in der Kopie TK . . . für ungültig erklärt sowie ein entsprechender Auftrag an den zugehörigen privaten Cachespeicher STC . . . weitergeleitet und in diesem der dortige Eintrag ebenfalls für ungültig erklärt.
Bei allen Schreibanforderungen, für die im jeweils betroffenen Pufferspeicher SIC . . . Daten eingetragen sind, kann anhand der Belegungskennzeichen im Pufferspeicher entschieden werden, ob und welche Kopien TK . . . anderer privater Cachespeicher STC . . . zu überprüfen sind, während bei nicht im Pufferspeicher SIC . . . eingetragenen Daten immer alle Kopien TK . . . der anderen priva­ ten Cachespeicher STC . . . überprüft werden müssen. Die für die Überprüfung der Kopien TK . . . und für das Ungültigerklären von gleichadressierten Daten notwendigen Übertragungswege sind aus Fig. 1 ebenfalls ersichtlich.
Bei mehrfach aufeinanderfolgenden Schreibanforderungen für die­ selben Daten durch verschiedene Prozessoren wird daher die An­ zahl der auszulösenden Überprüfungsanforderungen für die Steu­ erdatenkopien TK . . . wesentlich reduziert. Auch führen an mehre­ re Pufferspeicher SIC . . . gleichzeitig gerichtete Schreiban­ forderungen für in diese gespeicherte Daten nicht zu einer Überlastung der Steuerung für die Kopien TK . . ., da infolge der Belegungskennzeichen sich überlagernde Überprüfungsanforderun­ gen der einzelnen Pufferspeicher vermieden werden und daher nicht in ein die Leistungsfähigkeit des Systems be­ einträchtigendes zeitliches Nacheinander aufgelöst werden müssen.
Fig. 2 zeigt in Form einer logischen Tabelle die Ableitung der jeweils neuen Belegungskennzeichen UNx und eines Steuersignales STROBEx abhängig davon, ob die Anforderung von dem dem Bele­ gungskennzeichen UNx zugeordneten Prozessor (CPUANFx=1) oder einem anderen Prozessor (CPUANFx=0) ausgeht, ob es eine Schreibanforderung (WR=1) oder eine Leseanforderung (WR=0) ist und ob die gewünschten Daten bereits im Pufferspeicher ein­ getragen sind (HIT=1) oder nicht (HIT=0).
Dementsprechend gliedert sich die Tabelle in zwei Hälften, wo­ bei sich die untere Hälfte entsprechend CPUANFx=1 auf das Be­ legungskennzeichen für den anfordernden Cachespeicher und die obere Hälfte entsprechend CPUANF=0 immer auf die Belegungs­ kennzeichen für die übrigen privaten Cachespeicher bezieht.
Handelt es sich um einen Schreibzugriff entsprechend WR=1 und ist HIT=1, bleibt für den anfordernden Cachespeicher das alte Belegungskennzeichen UAx unverändert, wenn bei einer infolge ei­ nes nicht vorhandenen Eintrags im privaten Cachespeicher ausge­ lösten Schreiban­ forderung an den Pufferspeicher nicht gleichzeitig ein Eintrag im zugehörigen privaten Cachespeicher vorgenommen wird. Ist letzteres der Fall, wird das Belegungskennzeichen auf "1" ge­ setzt, was in Klammern angegeben ist.
Ist dagegen HIT=0, so wird das Belegungskennzeichen auf jeden Fall gesetzt, da auch bei nicht gleichzeitigem Eintrag im privaten Cachespeicher ein solcher Eintrag vorhanden sein kann, der aus dem Pufferspeicher zwischenzeitlich wieder verdrängt ist. Für alle anderen privaten Cachespeicher wird entsprechend der oberen Hälfte der Tabelle jeweils bei einem Schreibzugriff (WR=1) das Belegungskennzeichen auf "0" gesetzt und damit gelöscht.
Erfolgt dagegen ein Lesezugriff (WR=0), bei dem die gelesen­ en Daten immer in den anfordernden privaten Cachespeicher übertragen werden, wird das Belegungskennzeichen für diesen Cachespeicher immer gesetzt, während die Belegungskennzeichen für alle übrigen Cachespeicher bei HIT=1 unverändert blei­ ben und bei HIT=0 ebenfalls gesetzt werden, da in diesem Falle Einträge dort vorhanden sein könnten, die inzwischen aber aus dem Pufferspeicher verdrängt worden sind.
Parallel zu den bei jeder Anforderung zu ermittelnden Bele­ gungskennzeichen UNx werden gegebenenfalls gleichzeitig Steu­ ersignale STROBEx für die Ansteuerung der Kopien TK . . . erzeugt. Wie bereits erwähnt, erfordert jede Schreibanforderung (WR=1) unter bestimmten Bedingungen eine Überprüfung der Kopien TK . . ., um zu prüfen, ob gleichadressierte Daten auch in anderen pri­ vaten Cachespeichern STC . . . eingetragen und daher für ungültig zu erklären sind, während die Kopie des anfordernden Cachespei­ chers nicht zu berücksichtigen ist. Ein Steuersignal STROBEx=1 wird daher, wenn der gewünschte Eintrag im Pufferspeicher nicht vorhanden ist (HIT=0), für alle anderen Kopien erzeugt, und wenn der Eintrag vorhanden ist (HIT=1), nur für die durch das zuge­ hörige Belegungskennzeichen UAx=1 gekennzeichneten Kopien. Dieses Steuersignal führt dann bei einer Schreibanforderung zur Ungültigerklärung des in der jeweils überprüften Kopie TK . . . gefundenen gleichadressierten Eintrages.
Das Signal STROBEx wird gemäß der Erfindung aber nicht nur zur Überprüfung der Kopien TK . . . anderer privater Cachespeicher STC . . ., sondern auch zur Aktualisierung der Kopie des eigenen Cachespeichers verwendet. Deshalb wird entsprechend der unteren Hälfte der Tabelle von Fig. 2 bei einer Leseanforderung (WR=0) ebenfalls ein Steuersignal entsprechend STROBEx=1 ausgelöst. Ebenso bei jeder Schreibanforderung für den Pufferspeicher ent­ sprechend den Klammereinträgen, wenn mit jeder Schreibanforde­ rung auch ein Eintrag im privaten Cachespeicher STC . . . verbun­ den ist. In all diesen Fällen bewirkt das Signal STROBEx=1 nicht eine Überprüfung, sondern die Vornahme des neuen Eintrags in der zugehörigen Kopie, damit diese mit dem Original der Steuerdaten im Cachespeicher übereinstimmt, ohne daß der pri­ vate Cachespeicher hierfür zu sorgen hat.
Fig. 3 zeigt einen Pufferspeicher SICi, der als nach dem Store- In-Prinzip arbeitender Cachespeicher mit zwei Bänken A und B ausgebildet ist und in an sich bekannter Weise aus einem Daten­ speicher DAT-SP und einem Steuerdatenspeicher TAG-ST besteht.
Die Ansteuerung erfolgt vom Leitungssystem AC-BUS der Zugriffs­ steuerung MAC aus mit Übernahme der Zugriffsparameterdaten PAR in ein Register REG3. Aus diesem heraus erfolgt mit einem Adressenteil LOCAD unmittelbar die parallele Ansteuerung der zugehörigen Speicherabschnitte in beiden Speichern und die HIT/MISS-Steuerung H/M-AW vergleicht die zugehörigen Adressen­ einträge aus dem Steuerdatenspeicher TAG-SP mit dem Adressen­ Teil TAG-AD der Parameterdaten PAR. Ergibt sich dabei für eine der beiden Bänke eine Trefferanzeige HIT=1, weil die ge­ wünschten Daten im Datenspeicher DAT-SP vorhanden sind, dann werden diese bei einem Lesezugriff über den entsprechend mit dem Auswahlsignal SELBKB eingestellten Bankauswahlschalter BK-SEL aus dem Datenspeicher DAT-SP gelesen und im Register REG1 für die Übertragung zum anfordernden privaten Cachespeicher STC . . . bereitgestellt oder aber es werden bei einem Schreib­ zugriff die angelieferten und im Register REG2 zwischenge­ speicherten Daten in den ermittelten Speicherabschnitt des Datenspeichers DAT-SP eingetragen.
Sind die gewünschten Daten entsprechend HIT=0 nicht im Pufferspeicher eingetragen, wird bei einer Leseanforderung in an sich bekannter Weise die Anforderung an den Arbeitsspeicher ASP . . . weitergeleitet und im vorliegenden Fall für die gele­ senen Daten ein Eintrag vorgenommen, während bei einem Schreib­ zugriff sofort ein Eintrag für die zu schreibenden Daten ausge­ löst wird. Mit den Einträgen werden zugleich auch die Steuerda­ ten im Steuerdatenspeicher TAG-SP jeweils in der üblichen Weise angepaßt. Zu den Steuerdaten gehören auch die individuellen Belegungskennzeichen UAx für jeden privaten Cachespeicher STC₀ bis STCi des Multiprozessorsystems, deren Gesamtheit im Steuerdatenspeicher TAG-SP mit Σ UA gekennzeich­ net ist. Bei jeder Anforderung an den Pufferspeicher SICi wer­ den diese Belegungskennzeichen durch die Einrichtung U-GEN neu ermittelt und als Σ UN im Steuerdatenspeicher TAG-SP mit abge­ speichert, wobei bei bereits vorliegenden Einträgen entspre­ chend HIT=1 die gelesenen Belegungskennzeichen Σ UA berück­ sichtigt werden. Parallel dazu werden mit der Einrichtung ST-GEN die individuellen Anforderungssignale STROBEx für die anzusteuernden Steuerdatenkopien TK . . . erzeugt, wobei bereits vorliegende Belegungskennzeichen Σ UA ebenfalls berücksichtigt werden.
Zusammen mit diesen Steuersignalen STROBEx werden die im Re­ gister 3 zwischengespeicherten Parameterdaten PAR, die die Art der Anforderung kennzeichnen und die Adressenteile TAGAD und LOCAD sowie die Banknummer im privaten Cachespeicher beinhal­ ten, parallel an alle Steuerdatenkopien, z. B. TK₀ bis TKm, übertragen, so daß die dortigen Steuerungen anhand der Para­ meterdaten entscheiden können, wie sie gegebenenfalls zu reagieren haben und welcher Eintrag von der Reaktion betroffen ist.
Fig. 4 zeigt eine Teilschaltung U-GENx der Einrichtung U-GEN für die Ermittlung eines der Belegungskennzeichen UNx. Für jedes der benötigten Belegungskennzeichen ist eine entsprechende Teilschaltung vorzusehen. Der gestrichelte Teil der Schaltung von Fig. 4 ist durch die Aufteilung in zwei Bänke A und B be­ dingt und nur erforderlich, wenn unabhängig von der endgültigen Entscheidung über die zutreffende Bank - Vorliegen des Signals SELBKB der HIT/MISS-Auswahlsteuerung H/M-AW in Fig. 3 - die Er­ mittlung der neuen Belegungskennzeichen UNx schon eingeleitet werden soll, um Zeit zu gewinnen. Die Ermittlung erfolgt ent­ sprechend der Tabelle von Fig. 2 anhand der gezeigten Signale. Für alle Eingangssignale sei dabei unterstellt, daß sie in Re­ gistern zwischengespeichert sind, so daß das Ausgangssignal UNx so lange stabil ist, bis der Schreibvorgang abgeschlossen ist.
Die Teilschaltung besteht im wesentlichen aus drei Multiplexern MUX1 bis MUX3 und je einem weiteren Multiplexer, z. B. MUX4, für jede weitere Bank. Die Eingangsbeschaltung der Multiplexer MUX3 und MUX4 für das Belegungskennzeichen UAx der einzelnen Bänke BKA und BKB ist gleichartig. Handelt es sich um eine Anforde­ rung eines fremden Prozessors entsprechend CPUANFx=0, wird beim Lesen entsprechend WR=0 das am Signaleingang 0 anliegende Belegungskennzeichen UAx und beim Schreiben entsprechend WR=1 das am Signaleingang 1 fest anliegende logische Signal "0" durchgeschaltet. Liegt dagegen eine Anforderung des eigenen Prozessors entsprechend CPUANFx=1 vor, dann wird einer der Signaleingänge 2 oder 3 ausgewählt, und zwar bei WR=0 der Eingang 2 mit dem festen logischen Signal "1" und bei WR=1 der Eingang 3 mit dem anliegenden Belegungskennzeichen UAx.
Die Ausgänge dieser Multiplexer MUX3 und MUX4 sind auf die Signaleingänge, z. B. 1 und 3 des Ausgangsmultiplexers MUX2 ge­ führt, die bei Vorliegen eines Eintrages im Pufferspeicher ent­ sprechend HIT=1 durchgeschaltet werden, während die bei HIT=0 durchgeschalteten Signaleingänge, z. B. 0 und 2 alle an den Ausgang des Multiplexers 1 angeschlossen sind, da bei nicht bereits vorliegenden Belegungskennzeichen UAx die neuen Belegungskennzeichen UNx für alle Bänke in gleicher Weise ge­ bildet werden. Der Multiplexer MUX1 schaltet abhängig vom Ein­ gangssignal CPUANFx entweder das durch den Inverter IN1 ne­ gierte Schreibsignal WR am Signaleingang 0 durch, so daß bei einer Anforderung von einem fremden Prozessor beim Schreiben entsprechend WR=1 ein Ausgangssignal "0" bzw. beim Lesen ent­ sprechend WR=0 ein Ausgangssignal "1" erzeugt wird, oder aber den mit dem festen Signal "1" beschalteten Signaleingang 1.
Welches Signalpaar, z. B. 0 und 1 oder 2 und 3, des Ausgangsmul­ tiplexers MUX2 dann ausgewählt wird, hängt letztendlich von der betroffenen Bank ab. Bei noch mehr Bänken würde sich die Anzahl der am Multiplexer MUX2 anliegenden Signaleingangspaare ent­ sprechend vergrößern, ebenso die Anzahl der Steuereingänge für die bankbezogene Auswahl.
Fig. 5 zeigt die entsprechende Teilschaltung ST-GENx für die Erzeugung eines der Strobesignale STROBEx. Die benötigten Ein­ gangssignale sind dieselben wie die für die Teilschaltung von Fig. 4, wobei der gestrichelt gezeichnete Multiplexer MUX6 nur bei mehreren Bänken benötigt wird. Die Verknüpfung der Signale entspricht wiederum der der Tabelle von Fig. 2 zugrundeliegenden Verknüpfung.
Entsprechend den beiden Anforderungsarten Lesen (WR=0) oder Schreiben (WR=1) sind zwei Signaleingangspaare 0 und 1 sowie 2 und 3 am Multiplexer MUX5 vorgesehen. Da beim Lesen durch den eigenen Prozessor immer ein Steuersignal STROBEx zur Aktuali­ sierung des Eintrags in der zugehörigen Steuerdatenkopie TKx ausgelöst wird, ist das Signal CFUANFx parallel auf beide Signaleingänge 0 und 1 geschaltet. Beim Schreiben (WR=1) dient das Signal STROBEx zum Ungültigerklären gegebenenfalls vorliegender gleichadressierter Daten, wobei bei HIT=0 alle fremden Kopien zu überprüfen sind, so daß das Signal in ein­ facher Weise vom am Inverter IN2 invertierten Signal CPUANFx am Signaleingang 2 abgeleitet werden kann. Bei HIT=1 ist dagegen das Ausgangssignal zusätzlich vom Vorliegen des Be­ legungskennzeichens UAx abhängig, was durch das UND-Glied U1 erfaßt wird, über das der Signaleingang 3 angesteuert wird. Die Ausgangssignale der Multiplexer MUX5 aller Teilschaltungen wer­ den dann noch mit einem gemeinsamen Taktimpuls T durch das UND-Glied U2 verknüpft, um es passend zu den übrigen Steuerab­ läufen wirksam werden zu lassen.
Die in der Tabelle von Fig. 2 in Klammern angegebenen Verknüpf­ ungsalternativen bei der Ermittlung der Belegungskennzeichen und der Erzeugung der Steuersignale wurde hierbei nicht be­ rücksichtigt. Die in Fig. 4 und Fig. 5 gezeigten Teilschaltungen lassen sich aber ohne Schwierigkeiten entsprechend abändern.
Beim vorangehend beschriebenen Ausführungsbeispiel ist unter­ stellt, daß der Pufferspeichers SIC . . . eine ausreichende Spei­ cherkapazität im Vergleich zu der der privaten Cachespeicher STC . . . aufweist, so daß nicht nur bei Schreibanforderungen, sondern auch bei allen Leseanforderungen an den Arbeitsspei­ cher ASP . . . Einträge angelegt werden. Mit abnehmender Spei­ cherkapazität für den Pufferspeicher SIC . . . steigt jedoch die Wahrscheinlichkeit, daß durch die Einträge bei Leseanforderun­ gen die für den Steuerungsablauf wichti­ geren Einträge bei Schreibanforderungen in zunehmendem Maße verdrängt werden und damit der durch die Belegungskennzeichen gegebene Steuerungsvorteil verringert wird. Um dem entgegen­ zuwirken, besteht die Möglichkeit, bei Leseanforderungen Ein­ träger nur dann anzulegen, wenn die Wahrscheinlichkeit besteht, daß dieselben Daten im nachhinein auch noch für Schreibanfor­ derungen benötigt werden, d. h. Einträge werden nur bei vorge­ gebenen Leseanforderungen angelegt, z. B. beim Lesen des ersten Operanden eines SS-Befehles. Im Extremfall kann man auf das Anlegen von Einträgen bei Leseanforderungen auch ganz verzich­ ten und den Pufferspeicher lediglich als Schreibpuffer für in den Arbeitsspeicher ASP . . . zu übertragende Daten benutzen.
Die sich daraus ergebenden Auswirkungen auf die Gestaltung der Schaltungen von Fig. 4 und Fig. 5 sind gering. Sie können vom einschlägigen Fachmann ohne Schwierigkeiten an die jeweiligen Randbedingungen angepaßt werden.

Claims (8)

1. Verfahren zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit einem gemeinsamen Arbeitsspeichersy­ stem (ASP/MAC),
  • - bei dem den einzelnen Prozessoren (CPU . . .) jeweils ein priva­ ter Cachespeicher (STC . . .) zur Aufnahme von Daten aus dem Ar­ beitsspeichersystem (ASP/MAC) zugeordnet ist und Anforderungen der Pro­ zessoren (z. B. CPUm) zuerst an den zugehörigen Cachespeicher (STCm) gerichtet und, wenn die gewünschten Daten nicht vorhan­ den sind, an das Arbeitsspeichersystem weitergeleitet werden, wobei im Rahmen von Leseanforderungen (WR=0) die gewünschten Daten entweder direkt vom Cachespeicher (STC . . .) oder aber erst nach Übernahme vom Arbeisspeichersystem (ASP/MAC) an den Pro­ zessor (CPU . . .) geliefert werden, während im Rahmen von Schreibanforderungen (WR=1) die vom Prozessor gelieferten Daten immer an das Arbeitsspeichersystem weitergeleitet und bei vor­ handenem Eintrag im Cachespeicher (STC . . .) auch in diesen ein­ gespeichert werden (Store-Through-Prinzip) und
  • - bei dem die mit dem Arbeitsspeichersystem (ASP/MAC) auszutau­ schenden Daten in einem Arbeitsspeicher (ASP) vorgeschal­ teten Pufferspeicher (SIC . . .) zwischengespeichert werden und jeder Eintrag im Pufferspeicher mit zusätzlichen, individuellen Belegungskennzeichen (UAx) für alle vorhandenen privaten Cache­ speicher (STC . . .) zur Kennzeichnung der jeweils gleichadres­ sierte Daten aufweisenden privaten Cachespeicher versehen wird, wobei durch mit einer Zugriffssteuerung (MAC) gekoppelte Steu­ ereinrichtungen (ST-GEN/U-GEN) bei jeder Anforderung, ausgehend vom gegebenen Betriebszustand in Abhängigkeit von der Art der Anforderung (WR) und dem Belegungszustand (HIT) des Pufferspei­ chers (SIC . . .) die Belegungskennzeichen (UAx) dem sich daraus ergebenden neuen Betriebszustand angepaßt und bei Schreibanfor­ derungen die gegebenenfalls notwendig werdenden Aufforderungen zum Ungültigerklären von gleichadressierten Daten in den ande­ ren privaten Cachespeichern ausgelöst werden, indem bei Vorhan­ densein der gewünschten Daten im Pufferspeicher (SIC) die Auf­ forderungen nur an die durch ein Belegungskennzeichen (UAx) ge­ kennzeichneten anderen Cachespeicher und im anderen Falle an alle anderen Cachespeicher gerichtet werden, dadurch gekennzeichnet,
  • - daß Abbildungen der Steuerdaten für die einzelnen privaten Cachespeicher (STC₀ bis STCm) in Form von Kopien (TK₀ bis TKm) in der Zugriffssteuerung (MAC) verwendet werden,
  • - daß die Aufforderungen (Signale STROBEx, PAR) zum Ungültigerklären der gleichadressierten Daten in den betroffenen Cache­ speichern (STC . . .) zunächst nur an die zugehörigen Kopien (TK . . .) der Steuerdaten gerichtet und von diesen an die Cache­ speicher (STC . . .) nur weitergeleitet werden, wenn die Überprü­ fung der jeweiligen Kopie (TK . . .) ergibt, daß die für ungültig zu erklärenden Daten sich tatsächlich im zugehörigen Cachspei­ cher (STC . . .) befinden,
  • - daß bei allen Leseanforderungen (WR=0) an das Arbeitsspei­ chersystem (ASP/MAC) die Kopie (TK . . .) der Steuerdaten für den anfordenden privaten Cachespeicher (STC . . .) aktualisiert wird und
  • - daß für die Aktualisierungsaufforderungen dieselben Steuer­ signale (STROBEx, PAR) wie für die Aufforderungen zum Ungültig­ erklären von gleichadressierten Daten verwendet werden, wobei die unterschiedliche Wirkung dieser Signale davon abhängig ist, ob der jeweils zugehörige Prozessor (z. B. CPUm) die Speicheran­ forderung gestellt hat oder nicht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß auch bei Leseanforderungen an das Arbeitsspeichersystem (ASP/MAC), für die noch kein Eintrag vorliegt (HIT=0), die Daten aus dem Arbeitsspeicher (ASP) in den Pufferspeicher (SIC) übertragen werden, wobei zusätzlich das Belegungskennzeichen (UNx) für alle übrigen privaten Cachespeicher (STC₀ bis STCm) eingetragen wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß bei Verwen­ dung von privaten Cachespeichern (STC₀ bis STCm), bei denen im Rahmen einer Schreibanforderung bei nicht im Cachespeicher vorhandenem Eintrag die geänderten Daten außer in den Puffer­ speicher (SIC . . .) auch in den Cachespeicher eingetragen werden, bei jeder einen Eintrag im Pufferspeicher (SIC . . .) auslösenden Schreibanforderung auch das entsprechende Belegungskennzeichen (UNx) eingetragen und eine in gleicher Weise wie bei den Lese­ anforderungen gebildete Aktualisierungsaufforderung an die zu­ gehörige Kopie (TK . . .) der Steuerdaten des anfordernden Cache­ speichers (STC . . .) gerichtet wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeichnet durch die Verwendung eines in mehrere getrennt ansteuerbare Module (ASP₀ bis ASPi) unter­ teilten Arbeitsspeichers und eines jedem Modul zugeordneten eigenen Pufferspeichers (SIC₀ bis SICi), wobei die Aufforderun­ gen (Signale STROBEx, PAR) für das Ungültigerklären von gleichadres­ sierten Daten in den privaten Cachespeichern (STC₀ bis STCm) jeweils von dem für die jeweilige Arbeitsspeicheranforderung zuständigen Pufferspeicher (z. B. SIC₀) ausgelöst werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, gekennzeichnet durch die Verwendung von Cachespeichern als Pufferspeicher (SIC₀ bis SICi), die die von den privaten Cachespeichern (STC₀ bis STCm) gelieferten geänderten Daten so lange ohne Weiterleitung an den Arbeits­ speicher (ASP) zwischenspeichern, bis der belegte Speicherab­ schnitt für andere Daten aus dem Arbeitsspeicher benötigt wird (Store-In-Prinzip).
6. Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem, bestehend
  • - aus mehreren Prozessoren (CPU₀ bis CPUm) mit privaten, nach dem Store-Through-Prinzip arbeitenden Cachespeichern (STC₀ bis STCm) zur Entgegennahme von Speicheranforderungen des zugehöri­ gen Prozessors,
  • - aus einem gemeinsamen Arbeitsspeicher (ASP . . .) mit vorge­ schaltetem Pufferspeicher (SIC . . .) und einer gemeinsamen Zu­ griffssteuerung (MAC) zur Koordinierung der von den privaten Cachespeichern (STC₀ bis STCm) weitergeleiteten Speicheranfor­ derungen, wobei
    im Pufferspeicher (SIC . . .) für jeden Eintrag zusätzliche Spei­ cherabschnitte zur Aufnahme von den einzelnen Cachespeichern (STC₀ bis STCm) individuell zugeordneten Belegungskennzeichen (UA) zur Kennzeichnung der privaten Cachespeicher, in denen gleichadressierte Daten vorhanden sind, vorgesehen sind und wobei
    mit dem Pufferspeicher (SIC) Einrichtungen (U-GEN) zur Ermitt­ lung der Belegungskennzeichen (UNx) für die einzelnen privaten Cachespeicher (STC₀ bis STCm) bei jeder Anforderung, für die ein Eintrag im Pufferspeicher (SIC . . .) vorliegt oder anzulegen ist, und Einrichtungen (ST-GEN) zur Erzeugung der für die An­ steuerung der von für ungültig zu erklärenden Speicherdaten be­ troffenen privaten Cachespeicher (STC . . .) erforderlichen Steu­ ersignale (STROBEx) abhängig von den jeweiligen Belegungskenn­ zeichen gekoppelt sind,
    gekennzeichnet
  • - durch in der gemeinsamen Zugriffssteuerung (MAC) gespeicherte Kopien (TK₀ bis TKm) der Steuerdaten der privaten Cachespei­ cher (STC₀ bis STCm) mit Einrichtungen
    • - zur Auswertung der von den Einrichtungen des Pufferspeichers (SIC . . .) ausgesandten Steuersignale (STROBEx, PAR),
    • - zur Überprüfung der Kopien (TK . . .) auf gleichadressierte Daten,
    • - zur Änderung der Einträge im Falle eines positiven Prüfungs­ ergebnisses und
    • - zur Weiterleitung von überprüften Steuersignalen (PAR) an den jeweils zugehörigen privaten Cachespeicher (STC . . .) bei einem positiven Prüfergebnis, wenn gleichadressierte Daten für ungültig zu erklären sind,
  • - durch in den Einrichtungen (ST-GEN) zur Erzeugung der Steu­ ersignale (STROBEx) enthaltene Auswerteelemente (MUX5) zur Überwachung der Speicheranforderungen und zur Erzeugung des Steuersignales (STROBEx) als Aktualisierungsaufforderung für den anfordernden Prozessor (CPU . . .).
7. Anordnung nach Anspruch 6, gekennzeichnet durch einen in mehrere ge­ trennt ansteuerbare Module (ASP₀ bis ASPi) unterteilten Ar­ beitsspeicher und durch einen jedem Modul individuell zugeord­ neten Pufferspeicher (SIC₀ bis SICi) mit Einrichtungen (U-GEN/ ST-GEN) zur Ermittlung der Belegungskennzeichen (UNx) und zur Erzeugung der Steuersignale (STROBEx) für die Ansteuerung der Kopien (TK₀ bis TKm) der privaten Cachespeicher (STC₀ bis STCm).
8. Anordnung nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß der bzw. die Pufferspeicher (SIC₀ bis SICi) als nach dem Store-In-Prin­ zip arbeitende Cachespeicher ausgebildet sind.
DE4005319A 1989-02-22 1990-02-20 Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern Expired - Fee Related DE4005319C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP89103064 1989-02-22

Publications (2)

Publication Number Publication Date
DE4005319A1 DE4005319A1 (de) 1990-08-23
DE4005319C2 true DE4005319C2 (de) 1994-06-16

Family

ID=8200989

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4005319A Expired - Fee Related DE4005319C2 (de) 1989-02-22 1990-02-20 Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern

Country Status (1)

Country Link
DE (1) DE4005319C2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2043493C (en) * 1990-10-05 1997-04-01 Ricky C. Hetherington Hierarchical integrated circuit cache memory
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
DE4325729C2 (de) * 1992-09-08 1998-05-07 Hewlett Packard Co Hierarchische Speicheranordnung für ein Multiprozessorsystem

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5849945B2 (ja) * 1977-12-29 1983-11-08 富士通株式会社 バツフア合せ方式
JPS6093563A (ja) * 1983-10-27 1985-05-25 Hitachi Ltd バツフア記憶制御方式

Also Published As

Publication number Publication date
DE4005319A1 (de) 1990-08-23

Similar Documents

Publication Publication Date Title
DE3932675C2 (de)
DE3102150C2 (de) Multiprozessor-Datenverarbeitungsanlage
DE2856715C3 (de) Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE10002120B4 (de) Adressumsetzpufferanordnung und Verfahren für den Betrieb einer Adressumsetzpufferanordnung
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE3502147C2 (de)
DE1499182B2 (de) Datenspeichersystem
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE10006430B4 (de) Verfahren zur Aufrechterhaltung einer Kohärenz für ein Multi-Prozessor-System
DE2422732C2 (de) Hierarchische Speicheranordnung
DE69130626T2 (de) Verfahren zur Verwaltung einer Cache-Speicheranordnung
DE60003426T2 (de) Statusbits für cachespeicher
DE2710477C2 (de)
DE4005319C2 (de) Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern
DE1774211C3 (de) Datenspeicheranordnung für ein Datenverarbeitungssystem
DE102007055138B4 (de) System zum Zugreifen auf einen Einzelport-Mehrwege-Cache
DE19905541A1 (de) Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens
DE2750126B2 (de)
DE69334046T2 (de) Cache-Speichervorrichtung
DE1774212B2 (de) En 20417 12.08.67 " 37132 bez: datenverarbeitungsanlage
EP0970426B1 (de) Abhängigkeitssteuerung für überlappende speicherzugriffe

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: SIEMENS NIXDORF INFORMATIONSSYSTEME AG, 33102 PADE

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee