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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache 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.
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) |
-
1989
- 1989-05-30 DE DE3917537A patent/DE3917537A1/de active Granted
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 |