DE3917537C2 - - Google Patents

Info

Publication number
DE3917537C2
DE3917537C2 DE3917537A DE3917537A DE3917537C2 DE 3917537 C2 DE3917537 C2 DE 3917537C2 DE 3917537 A DE3917537 A DE 3917537A DE 3917537 A DE3917537 A DE 3917537A DE 3917537 C2 DE3917537 C2 DE 3917537C2
Authority
DE
Germany
Prior art keywords
read
signal
access
data
cache
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
DE3917537A
Other languages
English (en)
Other versions
DE3917537A1 (de
Inventor
Alex Dipl.-Ing. 8221 Grabenstaett De Haggenmiller
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE3917537A priority Critical patent/DE3917537A1/de
Publication of DE3917537A1 publication Critical patent/DE3917537A1/de
Application granted granted Critical
Publication of DE3917537C2 publication Critical patent/DE3917537C2/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Überwachung von Daten in den individuellen Cachespeichern der vorhandenen Verarbeitungseinheiten in einer Datenverarbeitungs­ anlage gemäß dem Oberbegriff des Patentanspruches 1.
Datenverarbeitungsanlagen können bekanntlich mit mehreren Ver­ arbeitungseinheiten betrieben werden, von denen jede einen eigenen Cachespeicher als schnellen Pufferspeicher zwischen der zugehörigen Verarbeitungseinheit und dem gemeinsamen Arbeits­ speicher besitzt. Bei einer Leseanforderung an den Arbeitsspei­ cher werden die Daten blockweise in den Cachespeicher eingetra­ gen, wobei immer die adressierte Dateneinheit, z.B. ein Doppel­ wort, aus einem solchen Block zur anfordernden Verarbeitungsein­ heit übertragen wird.
Auf diese Weise kann bei einem erneuten Lesezugriff durch die Verarbeitungseinheit die gewünschte Dateneinheit bereits im Cachespeicher vorhanden sein, was durch einen Treffer (HIT) angezeigt wird. Liegen die Daten nicht vor, so wird vom Cache­ speicher ein Fehlzugriff (MISS) gemeldet, und die Weiterverar­ beitung des jeweils auszuführenden Befehls muß bis zum Eintref­ fen der Daten aus dem Arbeitsspeicher gebremst werden. Die Tref­ fer- bzw. Fehlzugriffsanzeige gilt dabei jeweils für einen ge­ samten Speicherblock.
Erfordert eine Leseoperation mehrere Lesezugriffe, beispiels­ weise dann, wenn beim Operandenlesen der Operand aus mehreren Dateneinheiten, z.B. Doppelwörtern, besteht, und erfolgt ein Lesezugriff so, daß die Daten jeweils aus zwei oder mehreren nebeneinanderliegenden Dateneinheiten zusammengesetzt werden, dann kann zwischen zwei Lesezugriffen Dateninkonsistenz durch Schreibzugriffe einer anderen Verarbeitungseinheit entstehen.
Insbesondere bei Leseoperationen, bei denen über einen Speicher­ block hinweg gelesen wird, tritt das Problem der Datenkonsistenz auf, da die Überprüfung auf Treffer (HIT) oder Fehlzugriff (MISS) jeweils die in verschiedenen Speicherblöcken enthaltenen Teildaten betrifft.
Daher ist es Aufgabe der Erfindung, ein Verfahren und eine An­ ordnung zu schaffen, bei denen eine mögliche Dateninkonsistenz bezüglich zusammengehöriger Speicherbereiche in den individuel­ len Cachespeichern und im Arbeitsspeicher erkannt und so ver­ hindert wird, daß die einzelnen Verarbeitungseinheiten mögli­ cherweise ungültig Daten erhalten.
Diese Aufgabe wird bezüglich des Verfahrens durch die kennzeich­ nenden Merkmale des Patentanspruches 1 gelöst.
Bei Vorliegen eines Bremssignales aufgrund eines durch einen zweiten oder weiteren Lesezugriff bedingten Fehlzugriffs im Cachespeicher werden die mit dem ersten oder den vorhergehenden Lesezugriffen ausgelesenen Daten für ungültig erklärt, da zwi­ schen der Anzeige eines Treffers für den vorhergehenden Lesezu­ griff und der eines Fehlzugriffs für den darauffolgenden Lese­ vorgang ein schreibender Zugriff von einer anderen Verarbei­ tungseinheit erfolgt ist. Die anfordernde Verarbeitungseinheit hat daher beim ersten Lesezugriff wahrscheinlich falsche Daten erhalten, so daß die Leseoperation abgebrochen wird.
Ein die Erfindung weiterbildendes Verfahren gemäß Patentan­ spruch 2 bezieht sich auf Leseoperationen mit Speicherbereichs­ überschreitung beim zweiten oder bei jedem weiteren Lesezu­ griff. Wegen des daraus resultierenden Nachlesens der im nächst­ folgenden Speicherbereich liegenden Teildaten wird die Befehls­ verarbeitung um eine Elementaroperation gebremst. Tritt beim zweiten oder weiteren Lesezugriff mit Nachlesen ein Fehlzugriff auf, so weist eine Anzeige auf vorliegende Dateninkonsistenz immer dann hin, wenn zwischen dem aus dem Nachlesen resultie­ renden Bremssignal und dem mit dem Fehlzugriff verbundenen Bremssignal keine Elementaroperation mehr ausgeführt werden kann.
Eine für die Durchführung der Verfahren gemäß der Erfindung geeignete Schaltungsanordnung geht aus den Merkmalen des Patentanspruchs 3 hervor, ergänzt durch eine Weiterbildung gemäß Patentanspruch 4.
Einzelheiten der Erfindung werden nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert.
Im einzelnen zeigen:
Fig. 1 das Blockschaltbild der erfindungsgemäßen Schaltungsan­ ordnung,
Fig. 2 das Blockschaltbild einer Überwachungsschaltung,
Fig. 3 das Impulsdiagramm für Leseoperationen mit Lesezugriffen innerhalb eines Speicherbereiches und
Fig. 4 bis 6 die Impulsdiagramme für Leseoperationen mit Spei­ cherbereichsüberschreitung.
Das Blockschaltbild in Fig. 1 zeit eine Verarbeitungseinheit, bestehend aus den Steuereinheiten PLU und EXU, und den zuge­ hörigen Cachespeicher CACHE. Bei der Ausführung einer Lese­ operation mit mehreren Zugriffen zum Cachespeicher CACHE wird von einer Adressensteuerung AD-ST in der Steuereinheit PLU die Zugriffsadresse CA-AD für den ersten Lesevorgang im voraus bereitgestellt. Dazu interpretiert die Steuereinheit PLU den jeweils auszuführenden Befehl CMD und leitet den entsprechenden Speicherzugriff ein. In einer Prüfeinrichtung des Cachespei­ chers CACHE wird bei Vorhandensein der adressierten Datenein­ heit im Speicher das Treffersignal HIT erzeugt, und der Ver­ arbeitungseinheit gemeldet, daß die Daten DAT zur Weiterver­ arbeitung zur Verfügung stehen.
Beim zweiten und bei jedem weiteren Lesezugriff wird die Zu­ griffsadresse CA-AD jeweils von der Steuereinheit EXU gelie­ fert, indem die Speicheradresse MM-AD der Steuerschaltung EXU-ST entnommen und in einem Adressenregister ADREG zwischen­ gespeichert wird. Aus dem Funktionscode des auszuführenden Befehls CMD wird ein Steuersignal RDSC abgeleitet, das anzeigt, ob es sich um einen zweiten oder weiteren Lesezugriff handelt. Dieses Signal RDSC bildet ein Eingangssignal der Überwachungs­ schaltung LOGS, in der es bis zu der Elementaroperation des gerade auszuführenden Befehls gepuffert wird, in der bei einem Fehlzugriff MISS das Bremssignal MCBUSY wirksam werden kann.
Die Überwachungsschaltung LOGS erzeugt dann aus dem Bremssignal MCBUSY bei Vorliegen des Steuersignals RDCS das Ausgangssignal DI, das die von der Steuereinheit PLU mit dem ersten oder von der Steuereinheit EXU mit dem vorhergehenden Lesezugriff gele­ senen Daten für ungültig erklärt und in die Unterbrechungs­ routine überleitet.
Wird bei einer Leseoperation für das zweite oder jedes weitere Lesen die Speicherbereichsgrenze überschritten, so sendet die Adressensteuerung AD-ST ein weiteres Bremssignal SROB aus, das ein Nachlesen der im nächstfolgenden Speicherbereich gespei­ cherten Daten zur Folge hat. Bei Anzeige eines Fehlzugriffs MISS für den ein Nachlesen erfordernden zweiten oder weiteren Lesezugriff werden die beiden vorliegenden Bremssignale SROB und MCBUSY in der Überwachungsschaltung LOGS auf ihre zeitliche Aufeinanderfolge überprüft. Abhängig vom Ergebnis dieser Prü­ fung wird dann gegebenenfalls das Signal DI für die Dateninkon­ sistenz von der Überwachungsschaltung LOGS erzeugt.
Die Überwachungsschaltung LOGS ist in Fig. 2 als Blockschaltbild dargestellt. Sie umfaßt eine Pufferschaltung PUFS, die aus den in Serie geschalteten bistabilen Kippstufen FF1 . . . FF3 aufge­ gebaut ist, wobei das Steuersignal RDSC zur Kennzeichnung eines zweiten oder weiteren Lesezugriffs einer Leseoperation dem Da­ teneingang D der ersten Kippstufe FF1 zugeführt, in der zeiten Kippstufe FF2 zwischengespeichert und aus der dritten Kippstufe FF3 wieder ausgelesen wird. Die Takteingänge C1 der Kippstufen FF1 . . . FF3 werden jeweils mit einem Taktsignal TB1 für eine ausgeführte Elementaroperation des jeweiligen Befehls beschal­ tet.
Tritt eine Verzögerung der Verarbeitung lediglich aufgrund des Bremssignales MCBUSY auf, so liefert das UND-Glied U1 bei vor­ liegen des Ausgangssignals der Pufferschaltung PUFS das Setzsi­ gnal S für die bistabile Kippstufe FF5, sobald ein Taktsignal TNB1 das Vorliegen einer nicht ausgeführten Elementaroperation anzeigt.
Bei Auftreten des zusätzlichen Bremssignales SROB wird die bistabile Kippstufe FF2 mit einem verzögerten Taktsignal TNBD1 für eine nicht ausgeführte Elementaroperation zurückgesetzt und ihr Datenausgang mit dem Bremssignal SROB und einem weiteren verzögerten Taktsignal TNBD2 durch das UND-Glied U3 zum Setzsi­ gnal S für die bistabile Kippstufe FF4 verknüpft. Das Ausgangs­ signal der Kippstufe FF4 wird zusammen mit dem Bremssignal MCBUSY und einem weiteren Taktsignal TNB2 für eine nicht ausge­ führte Elementaroperation auf die Eingänge des UND-Gliedes U4 geführt, um das Ausgangssignal DI zu bilden. Wird zwischen dem Bremssignal SROB und dem Bremssignal MCBUSY noch eine Elementar­ operation ausgeführt, erkennbar am Wirksamwerden des Taktsigna­ les TB2, so wird die bistabile Kippstufe FF4 rückgesetzt und die Anzeige für das Vorliegen einer Dateninkonsistenz verhin­ dert.
Zur Verdeutlichung der Zeitverhältnisse sind in Fig. 3 bis Fig. 6 die Impulsdiagramme für die Speichersignale bei der Ausführung einer Leseoperation angegeben, wobei die Verarbeitungszyklen des auszuführenden Befehls dazu in Bezug gesetzt sind.
Fig. 3 zeigt den Fall, daß keine Speicherbereichsüberschreitung vorliegt. Das Steuersignal RDSC für einen zweiten oder weiteren Lesezugriff durch die Steuereinheit EXU gemäß Fig. 1 wird in ei­ ner Elementaroperation EO gesetzt und bis zu der Elementaropera­ tion zwischengespeichert, in der das Bremssignal MCBUSY auf­ grund eines Fehlzugriffs MISS im Cachespeicher auftreten kann. Wird in dieser Zeit das Bremssignal MCBUSY gesetzt, so muß mit Dateninkonsistenz gerechnet werden.
Die Fig. 4 bis Fig. 6 beziehen sich auf Speicherbereichsüber­ schreitung beim zweiten oder weiteren Lesen, was durch Setzen des Signals SR angezeigt wird. Das Nachlesen veranlaßt das Bremssignal SROB und eine damit verbundene Verzögerung der Ver­ arbeitung um eine nicht ausgeführte Elementaroperation NOOP. Für den Fall, daß beim zweiten oder weiteren Lesezugriff für die Teildaten im ersten Speicherbereich ein Treffer HIT ermittelt wird, werden diese Teildaten aus dem Cachespeicher bereitge­ stellt.
Tritt zusätzlich zum Bremssignal SROB das Bremssignal MCBUSY wegen eines mit dem Nachlesen verbundenen Fehlzugriffs MISS im nächstfolgenden Speicherbereich auf, so muß die anfordernde Verarbeitungseinheit auf die Bereitstellung der zweiten Teil­ daten vom Arbeitsspeicher warten. Die beim ersten oder einem vorhergehenden Lesezugriff von der Steuereinheit PLU gemäß Fig. 1 gelesenen Daten sind gültig, so daß die Dateninkonsi­ stenzanzeige nicht erfolgt, da zwischen den beiden Bremssigna­ len SROB und MCBUSY eine ausgeführte Elementaroperation EO liegt.
Im Gegensatz zur Fig. 4 ist in Fig. 5 angedeutet, daß beim zweiten oder weiteren Lesezugriff für die Teildaten im ersten Speicherbereich und beim Nachlesen SR der Teildaten aus dem nächstfolgenden Speicherbereich jeweils ein Fehlzugriff MISS vorliegt, wobei Dateninkonsistenz gegeben ist, weil zwischen dem Bremssignal SROB und dem Bremssignal MCBUSY keine Elemen­ taroperation mehr ausgeführt wird.
In Fig. 6 wird ein Treffer HIT für die nachgelesenen Teildaten angezeigt, jedoch liegt Dateninkonsistenz vor, da wiederum vor dem aufgrund des Fehlzugriffs MISS beim zweiten oder weiteren Lesen der ersten Teildaten erfolgten Bremssignal MCBUSY keine Elementaroperation ausgeführt wird.
Die Taktsignale TB1, TB2 gemäß Fig. 2 erfolgen in ausgeführten Elementaroperationen EO, während die Taktsignale TNB1, TNB2 bzw. TNBD1, TNBD2 nur in nicht ausgeführten Elementaroperationen NOOP unverzögert bzw. verzögert geschaltet werden.

Claims (5)

1. Verfahren zur Überwachung von Daten, die aus dem Arbeits­ speicher einer Datenverarbeitungsanlage den individuellen Cachespeichern (CACHE) der vorhandenen Verarbeitungseinheiten zur Verfügung gestellt werden und zwischen zwei Lesezugriffen einer mehrere Lesezugriffe erfordernden Leseoperation der an­ fordernden Verarbeitungseinheit durch Schreibzugriffe einer an­ deren Verarbeitungseinheit änderbar sind, wobei bei jedem Zu­ griff der die Lesedaten liefernde Speicherbereich des Cachespei­ chers (CACHE) auf Vorliegen eines Treffers (HIT) bzw. Fehlzu­ griffs (MISS) geprüft wird, und bei Anzeige eines Fehlzugriffs (MISS) ein Bremssignal (MCBUSY) erzeugt wird, durch das die Wei­ terverarbeitung des gerade auszuführenden Befehls verzögert wird, dadurch gekennzeichnet, daß aus dem nach einem zweiten oder weiteren Lesezugriff einer Leseoperation eventuell auftretenden Bremssignal (MCBUSY) ein Signal (DI) für die anfordernde Verarbeitungseinheit abgeleitet wird, aufgrund dessen die mit dem ersten oder den vorhergehenden Lesezugriffen gelesenen Daten für ungültig angesehen werden und die Leseoperation abgebrochen wird.
2. Verfahren nach Anspruch 1 bei Leseoperationen, bei denen jeweils die Lesedaten aus Teildaten aufeinanderfolgender, eigen­ ständig gesicherter Speicherbereiche eines Cachespeichers (CACHE) zusammengesetzt werden, dadurch gekennzeichnet,
  • - daß bei Vorliegen einer Speicherbereichsüberschreitung beim zweiten oder weiteren Lesezugriff wegen des Nachlesens der im nächstfolgenden Speicherbereich enthaltenen Teildaten der Ablauf der Befehlsverarbeitung um eine Elementaroperation gebremst wird,
  • - daß bei Ermittlung eines Fehlzugriffs beim zweiten oder wei­ teren Lesezugriff mit Nachlesen in einem weiteren Speicherbe­ reich das Vorliegen inkonsistenter Daten angezeigt wird, wenn das aufgrund des Nachlesens auftretende Bremssignal (SROB) und das mit dem Fehlzugriff verbundene Bremssignal (MCBUSY) so dicht aufeinanderfolgen, daß dazwischen keine Elementaropera­ tion mehr ausgeführt werden kann.
3. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1 oder 2, bestehend aus
  • - einem Cachespeicher (CACHE) mit integrierter Prüfeinrichtung zur Erzeugung eines Treffer (HIT)- bzw. Fehlzugriffssignals (MISS) und
  • - einer Verarbeitungseinheit (EXU, PLU) zur Steuerung der Befehlsausführung,
gekennzeichnet durch eine Überwachungsschaltung (LOGS) in der Verarbeitungsein­ heit (EXU, PLU) zur Erzeugung eines Dateninkonsistenz anzeigen­ den Ausgangssignals (DI) durch logische Verknüpfung der eintref­ fenden Bremssignale (SROB, MCBUSY) abhängig vom Auftreten eines den zweiten oder jeden weiteren Lesezugriff kennzeichnenden Steu­ ersignals (RDSC).
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet,
  • - daß die Überwachungsschaltung (LOGS) eine Pufferschaltung (PUFS) zur Zwischenspeicherung des Steuersignals (RDSC) auf­ weist,
  • - daß das Bremssignal (SROB) aufgrund des Nachlesens mit dem zwischengespeicherten Steuersignal (RDSC) sowie einem Takt­ signal (z. B. TNBD2) für eine nicht ausgeführte Elementar­ operation (NOOP) über ein UND-Glied (U3) zum Setzsignal (S) für eine bistabile Kippstufe (FF4) verknüpft wird, die durch ein Taktsignal (z. B. TB2) für eine ausgeführte Elementar­ operation (EO) rückgesetzt wird und
  • - daß das Ausgangssignal der Pufferschaltung (PUFS) und das der bistabilen Kippstufe (FF4) jeweils mit dem Bremssignal (MCBUSY) wegen eines Fehlzugriffs und mit einem ungebremsten Taktsignal (z.B. TNB1 bzw. TNB2) über ein UND-Glied (U1 bzw. U4) zum Setzen einer das Anzeigesignal (DI) liefernden bista­ bilen Kippstufe (FF5) verknüpft werden.
DE3917537A 1989-05-30 1989-05-30 Verfahren und anordnung zur ueberwachung von daten in den individuellen cachespeichern der vorhandenen verarbeitungseinheiten in einer datenverarbeitungsanlage Granted DE3917537A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3917537A DE3917537A1 (de) 1989-05-30 1989-05-30 Verfahren und anordnung zur ueberwachung von daten in den individuellen cachespeichern der vorhandenen verarbeitungseinheiten in einer datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE3917537A DE3917537A1 (de) 1989-05-30 1989-05-30 Verfahren und anordnung zur ueberwachung von daten in den individuellen cachespeichern der vorhandenen verarbeitungseinheiten in einer datenverarbeitungsanlage

Publications (2)

Publication Number Publication Date
DE3917537A1 DE3917537A1 (de) 1990-12-06
DE3917537C2 true DE3917537C2 (de) 1993-04-01

Family

ID=6381666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3917537A Granted DE3917537A1 (de) 1989-05-30 1989-05-30 Verfahren und anordnung zur ueberwachung von daten in den individuellen cachespeichern der vorhandenen verarbeitungseinheiten in einer datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE3917537A1 (de)

Also Published As

Publication number Publication date
DE3917537A1 (de) 1990-12-06

Similar Documents

Publication Publication Date Title
DE3210816C2 (de)
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE2714805C2 (de)
DE2629459C2 (de)
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE10048072A1 (de) Linklisten-DMA-Descriptor-Architektur
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE2145709A1 (de) Datenverarbeitungsanlage
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
EP0010186A1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE1499206B2 (de) Rechenanlage
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE2702722A1 (de) Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen
DE3917537C2 (de)
DE1549486A1 (de) Verfahren zur Datenuebertragung zwischen mindestens einer zentralen Recheneinheit und mehreren externen Speichern
DE2710436C2 (de) Datenverarbeitungseinrichtung
DE1965506A1 (de) Einrichtung und Verfahren zur Programmsteuerung eines elektronischen Digitalrechners
DE2931121C2 (de)
DE3603240C2 (de)
DE2037506C3 (de) Programmierbare Datenverarbeitungsanlage mit einer steuerbaren Hauptsteuerung
DE2318173A1 (de) Verfahren und schaltungsanordnung fuer den schutz eines speichers vor unbefugtem lesen
DE3016269C2 (de)

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