DE3842100A1 - Cache-system sowie steuerungsverfahren hierfuer - Google Patents
Cache-system sowie steuerungsverfahren hierfuerInfo
- Publication number
- DE3842100A1 DE3842100A1 DE3842100A DE3842100A DE3842100A1 DE 3842100 A1 DE3842100 A1 DE 3842100A1 DE 3842100 A DE3842100 A DE 3842100A DE 3842100 A DE3842100 A DE 3842100A DE 3842100 A1 DE3842100 A1 DE 3842100A1
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- cache
- cache memory
- memory
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung bezieht sich auf ein Cache-System für ein
Computersystem und insbesondere auf ein Cache-System und
ein Steuerungsverfahren hierfür, welches dazu ausgebildet
ist, im Falle einer Cache-Fehlanzeige mit hoher Geschwindig
keit auf ein Speichersystem zuzugreifen.
Fig. 1 ist ein Blockschaltbild eines konventionellen Cache-
Systems, wobei die Bezugsziffer 1 eine CPU (Zentraleinheit)
bezeichnet, die Bezugsziffer 2 einen Cache-Speicher, wobei
die CPU und der Cache-Speicher über eine bidirektionale
CPU-Cache-Signalleitung L 1 Signale austauschen (senden bzw.
empfangen). Die Bezugsziffer 3 bezeichnet ein Speicher
system, welches über eine Verbindungsleitung L 2, einen
System-Bus SB, eine Verbindungsleitung L 3, ein CPU-System
bus-Interface 4 und eine Verbindungsleitung L 4 mit der CPU
1 verbunden ist und welche über eine Verbindungsleitung
L 2, einen Systembus SB, eine Verbindungslinie L 5, ein
Cache-Systembus-Interface 5 und eine Verbindungsleitung
L 6 mit dem Cache-Speicher 2 verbunden ist.
Bei einem solchen Aufbau übermittelt die CPU 1 dem Cache-
Speicher 2 über die CPU-Cache-Signalleitung L 1 ein Cache-
Enable-Signal (Cache-Aktivierungs-Signal), um hierdurch die
Verwendung oder die Nichtverwendung des Cache-Speichers 2
zu bestimmen.
Wenn die CPU 1 das Cache-Enable-Signal in einen Nicht-
Enable-Zustand versetzt, so daß der Cache-Speicher 2 nicht
verwendet wird, so greift die CPU 1 auf das Speichersystem
3 über die Verbindungsleitung L 4, das CPU-Systembus-Inter
face 4, die Verbindungsleitung L 3, den Systembus SB und
die Verbindungslinie L 2 zu (dieser Weg wird die "Route I")
genannt, wodurch Daten gelesen und geschrieben werden. In
diesem Fall dient die CPU 1 als ein Bus-Master.
Wenn die CPU 1 den Cache-Speicher 2 benutzt, in dem das
Cache-Enable-Signal in einen Enable-Zustand versetzt wird
und die entsprechenden Daten im Cache-Speicher 2 existieren
(Cache-Treffer), so liest die CPU 1 die Daten vom Cache-
Speicher 2 unter hoher Geschwindigkeit über die CPU-Cache-
Signalleitung L 1 aus, wobei die CPU 1 auch der Bus-Master
ist.
Wenn die CPU 1 den Cache-Speicher 2 verwendet und hierin
die entsprechenden Daten nicht existieren (Cache-Fehlan
zeige), so greift die CPU 1 über die CPU-Cache-Signallei
tung L 1, den Cache-Speicher 2, die Verbindungsleitung L 6,
das Cache-Systembus-Interface 5, die Verbindungsleitung
L 5, den Systembus SB und die Verbindungsleitung L 2 (dieser
Weg wird "Route II" genannt) auf das Speichersystem 3 zu,
wodurch Daten gelesen und geschrieben werden. In diesem
Fall dient der Cache-Speicher 2 als Bus-Master nach der
Cache-Fehlanzeige.
Fig. 2 zeigt den Aufbau der Verbindung der Signalleitungen
zwischen dem Cache-Speicher 2 und dem Systembus SB bei
spielsweise im Detail.
Wie aus der Zeichnung ersichtlich ist, werden in der CPU-
Cache-Signalleitung L 1, den Verbindungsleitungen L 6 und
L 5 und dem Systembus SB Adressensignale S 1 a, S 6 a, S 5 a und
SBa, Datensignale S 1 b, S 6 b, S 5 b und SBb sowie Steuersignale
S 1 c, S 6 c, S 5 c und SBc in Richtung der Pfeile gemäß
Fig. 2 übertragen.
Bei dem wie vorstehend aufgebauten konventionellen Cache-
System liest die CPU 1 die Daten aus dem Speichersystem
3 über unterschiedliche Routen I bzw. II aus, wenn der
Cache-Speicher 2 nicht verwendet wird und eine Cache-Fehlan
zeige auftritt.
Hinsichtlich der Signalankunftszeit vom Speichersystem 3
zur CPU 1 über die Routen I und II ist festzustellen, daß,
wenn die Durchlaufzeiten für das CPU-Systembus-Interface
4 und das Cache-Systembus-Interface 5 als ungefähr gleich
angenommen werden, die Ankunftszeit über die Route II um
eine Durchlaufzeit für den Cache-Speicher 2 verzögert wird.
Der Konstrukteur eines Speichersystems 3 sollte daher die
folgenden Umstände mit berücksichtigen.
Beispielsweise muß das Speichersystem, dessen Zugriffszeit
im Vergleich zur CPU 1 und zum Cache-Speicher 2 sehr lang
sam ist, der CPU 1 (oder dem Cache-Speicher 2) ein Ready-
Signal (Bereitschafts-Signal) übertragen, um anzuzeigen,
daß die Daten stabil eingeschrieben worden sind oder daß
sie bereit sind, ausgelesen zu werden. Im folgenden wird
erläutert, wann das Speichersystem 3 das Ready-Signal ab
gibt.
Im Einklang mit dem Rüstzeit-Standard muß das Ready-Signal
eine vorbestimmte Zeit vor dem Ansteigen (oder Abfallen)
des Takts synchron mit der CPU 1 erreicht werden. Von dann
ab kann die CPU 1 das Ready-Signal stabil abrufen.
Wenn der Bus-Master jedoch die CPU 1 ist, so ist die Über
tragungsroute des Ready-Signals die Route I, und wenn der
Bus-Master der Cache-Speicher 2 ist, so ist sie die Route
II. Es muß daher das Timing des Erzeugens des Ready-Signals
in Abhängigkeit davon, welche Einheit der Bus-Master ist,
geändert werden, woraus sich verschiedene Konstruktions
schwierigkeiten ergeben. Nachdem die CPU 1 synchron mit
einem internen Takt das Signal abruft (einschließlich des
Ready-Signals), tritt, wenn sich das Ready-Signal, welches
durch den Cache-Speicher 2 hindurchgelangt, verzögert und
in die CPU 1 für den nächsten Taktzyklus abgerufen wird,
das Problem auf, daß die Leistung des Systems verschlech
tert wird.
Andererseits ist es möglich, die Durchlaufzeit des Signals
durch den Cache-Speicher 2 zu verringern. Dies ist jedoch
nicht praktikabel, da die Zeitverringerung begrenzt ist,
wenn die Taktfrequenz des gesamten Systems extrem hoch
wird. Desweiteren besteht das Problem, daß die Zeit unter
schiedlich ist, je nachdem ob die durch die CPU 1 bestimmte
Adresse über die Route I oder über die Route II übertragen
wird.
Beim vorstehend beschriebenen konventionellen Cache-System
müssen bei der Konstruktion des Systems hinsichtlich der
Timing-Steuerung und der Schaltungs-Konstruktion zwei Fälle
der Routen I und II berücksichtigt werden, was die Konstruk
tion des Systems schwierig macht. Die Konstruktion des
Systems ist auch dann schwierig, wenn die Timing-Steuerung
der CPU 1 unterschiedlich ist von derjenigen des Cache-
Speichers 2, wobei eine von den beiden Einheiten der Bus-
Master ist.
Die vorliegende Erfindung wurde in Anbetracht der vorstehen
den Probleme getätigt. Es ist ein Ziel der Erfindung, ein
Cache-System zu schaffen, welches hinsichtlich der Timing-
Steuerung der mit einem Datenbus beispielsweise eines
Speichersystems verbundenen peripheren Einheiten gleich
konstruiert werden kann, wenn entweder der Cache-Speicher
oder die CPU der Bus-Master ist.
Ein weiteres Ziel der vorliegenden Erfindung ist es, ein
Steuerungsverfahren für ein Cache-System zu schaffen, wel
ches dann, wenn Daten vom Speichersystem zum Cache-Speicher
im Falle einer Cache-Fehlanzeige übertragen werden müssen,
die Anzahl der Übertragungszeiten der Daten minimieren
kann.
Das erfindungsgemäße Cache-System bringt, wenn gemäß einem
ersten erfindungsgemäßen Konzept der Cache-Speicher der
Bus-Master ist, die CPU in einen Standby-Zustand, macht
ein Signal wirksam, welches der CPU und dem Cache-Speicher
gemeinsam ist sowie ein Signal, über das ausschließlich
der Cache-Speicher entscheidet, und macht, wenn die CPU
der Bus-Master ist, das der CPU und dem Cache-Speicher ge
meinsame Signal und das Signal, über das nur die CPU ent
scheidet, wirksam. Gemäß einem zweiten erfindungsgemäßen
Konzept werden ein Steuerungssignal, das eine Wiederausfüh
rung des Speicherzugriffs erfordert, und ein Steuerungssig
nal zur Annahme des Zugriffs bezüglich des Speichersystems
im Falle einer Cache-Fehlanzeige vom Cache-Speicher zur CPU
gegeben, so daß der Cache-Speicher in Abhängigkeit von der
CPU betrieben wird, so daß selbst dann, wenn entweder die
CPU oder der Cache-Speicher der Bus-Master ist, die Signal
übertragung zwischen der CPU oder dem Cache-Speicher und
dem Speichersystem im wesentlichen mit dem gleichen Timing
durchgeführt werden kann.
Das erfindungsgemäße Steuerungsverfahren für das Cache-
System überträgt im Falle, daß eine Cache-Fehlanzeige er
zeugt wird, wenn die CPU auf einzelne Daten zugreift und
eine Vielzahl von Daten blockweise vom Speichersystem zum
Cache-Speicher übertragen werden, zunächst die der Objekt
adresse am nächsten liegenden Adressdaten zum Zugriff durch
die CPU vom Speichersystem zu der CPU, und hiernach werden,
während die Adresse nach Art des sogenannten Round-Robin-
Verfahrens geändert wurden, die Daten zur CPU übertragen
und zuletzt werden die Objektdaten für den Zugriff durch
die CPU übertragen, in anderen Worten, die Daten der Cache-
Fehlanzeige werden vom Speichersystem parallel zur CPU und
zum Cache-Speicher übertragen, wodurch die Anzahl der Da
tenübertragungszeiten vom Speichersystem zum Cache-Speicher
minimiert werden.
Weitere Aufgaben und Merkmale der vorliegenden Erfindung
ergeben sich aus den Ansprüchen sowie aus der nachfolgenden
Beschreibung, in der mehrere Ausführungsbeispiele der Er
findung anhand der Zeichnung näher erläutert werden. In
der Zeichnung zeigt
Fig. 1 ein Blockdiagramm des Aufbaus eines konventionellen
Cache-Systems,
Fig. 2 ein detailliertes Blockdiagramm der Anordnung zum
Übertragen und Empfangen eines Signals zwischen dem Cache-
Speicher und dem Systembus,
Fig. 3 ein Blockdiagramm des Aufbaus eines Cache-Systems
gemäß einem ersten erfindungsgemäßen Konzept,
Fig. 4 ein Blockdiagramm eines ersten Ausführungsbeispiels
eines Cache-Systems eines zweiten erfindungsgemäßen Kon
zepts,
Fig. 5 ein Blockdiagramm eines zweiten Ausführungsbeispiels
eines Cache-Systems gemäß dem zweiten erfindungsgemäßen
Konzept,
Fig. 6 ein Blockdiagramm eines dritten Ausführungsbeispiels
eines Cache-Systems gemäß dem zweiten erfindungsgemäßen Kon
zept,
Fig. 7 eine typische Darstellung zur Erläuterung der Be
dingung der Datenübertragung, die von dem in Fig. 5 darge
stellten Cache-System durchgeführt wird,
Fig. 8 eine typische Darstellung zur Erläuterung der Be
dingung der Datenübertragung, die von einem konventionellen
Cache-System durchgeführt wird,
Fig. 9 eine typische Darstellung zur Erläuterung der Be
dingung der Datenübertragung, die von einem ersten Aus
führungsbeispiel eines Steuerungsverfahrens für das Cache-
System durchgeführt wird, und
Fig. 10 eine typische Darstellung zur Erläuterung der Be
dingung der Datenübertragung, die vom ersten Ausführungs
beispiel eines Steuerungsverfahrens für das erfindungsge
mäße Cache-System durchgeführt wird.
Fig. 3 ist ein Blockdiagramm, welches den Aufbau eines
Cache-Systems gemäß dem ersten erfindungsgemäßen Konzept
darstellt. Das Cache-System umfaßt im wesentlichen eine
CPU und einen Cache-Speicher, wobei ein Systembus-Puffer 6
als gemeinsames Interface zwischen der CPU 1, dem Cache-
Speicher 2 und einem System-Bus SB vorgesehen ist. Die
zwischen den oben genannten Komponenten ausgetauschten Sig
nale können grob in ein Steuersignal, ein Adressignal und
ein Datensignal klassifiziert werden, wobei das Steuersig
nal SCa als bidirektionales gemeinsames Steuersignal zwi
schen CPU 1, Cache-Speicher 2 und Systembus-Puffer 6 verwen
det wird. Andererseits wird das Steuersignal SCb, welches
nur verwendet wird, wenn die CPU 1 der Bus-Master ist, als
bidirektionales Signal zwischen der CPU 1 und dem Cache-
Speicher 2 und zwischen der CPU 1 und einem Multiplexer
verwendet, wobei das Steuersignal CSCb, welchers nur verwen
det wird, wenn der Cache-Speicher 2 der Bus-Master ist,
als bidirektionales Signal zwischen dem Cache-Speicher 2
und dem Multiplexer 7 verwendet wird.
Wenn Daten zum Systembus SB ausgegeben werden, überträgt
der Multiplexer 7 entweder das Steuersignal SCb oder CSCb
als das Steuersignal SCc zum Systembus-Puffer 6 in Einklang
mit dem Multiplexer-Steuersignal SC 1 vom Cache-Speicher
2, und wenn Daten vom Systembus SB eingegeben werden, so
überträgt er Steuersignale SCc vom Systembus-Puffer 6 als
Steuersignale SCb zu der CPU 1 oder als Steuersignale CSCb
zum Cache-Speicher 2, ebenfalls im Einklang mit dem Multi
plexer-Steuersignal SC 1.
Das Adressignal AD 1 wird von der CPU 1 zum Cache-Speicher
2 und von der CPU 1 zum Systembus-Puffer 6 übertragen. Das
Adressignal AD 2, welches nur verwendet wird, wenn die CPU
1 der Bus-Master ist, wird von der CPU 1 zum Cache-Speicher
2 und Multiplexer 8 übertragen, das Adressignal CAD 2, wel
ches nur verwendet wird, wenn der Cache-Speicher der Bus-
Master ist, wird von dem Cache-Speicher zum Multiplexer
8 übertragen.
Der Multiplexer 8 hat die Funktion, entweder das Adressig
nal AD 2 oder CAD 2 als Adressignal AD 3 im Einklang mit dem
Multiplexer-Steuersignal SC 2, welches vom Cache-Speicher
2 abgegeben wird, zum Systembus-Puffer 6 auszugeben.
Zusätzlich wird das Datensignal SD als bidirektionales ge
meinsames Signal zwischen der CPU 1, dem Cache-Speicher
2 und dem Systembus-Puffer 6 verwendet. Das Bezugszeichen Φ
bezeichnet den Schrittpuls für die CPU 1 und den Cache-
Speicher 2.
Im folgenden wird für ein erfindungsgemäßes, wie vorstehend
aufgebautes Cache-System eine Erläuterung für den Fall ge
geben, wo die CPU 1 den Cache-Speicher 2 nicht verwendet
(Fall I), und zwar im Vergleich zu demjenigen Fall, wo die
CPU 1 den Cache-Speicher 2 verwendet, um eine Cache-Fehl
anzeige zu verursachen (Fall II).
Wenn das Speichersystem 3 ein Ready-Signal in der gleichen
Weise wie beim konventionellen System erzeugt, so sind die
Übertragungsrouten (für beide Fälle I und II) zum System
bus-Puffer 6 die gleichen.
Im Anschluß an den Systembus-Puffer 6 wird im Falle I das
Steuersignal SCc einschließlich das Ready-Signal als Steuer
signal SCb im Einklang mit dem Multiplexer-Steuersignal SC 1
vom Cache-Speicher 2 der CPU 1 zugeführt. Andererseits wird
im Falle II das Steuersignal SCc einschließlich dem Ready-
Signals als Steuersignal CSCb dem Cache-Speicher 2 des Bus-
Master über den Multiplexer 7 zugeführt, und zu diesem Zeit
punkt wird die CPU 1 mittels des Steuersignals SCa vom
Cache-Speicher 2 in einem Wartezustand gehalten.
Hiernach ruft der Cache-Speicher 2 vorbestimmte Daten als
Datensignale SD aus dem Speichersystem 3 über den Systembus-
Puffer 6 ab und speichert die der von der CPU 1 angewiese
nen Adresse entsprechenden Daten, so daß das Steuersignal
SCa der CPU 1 zugeführt wird, wodurch die CPU 1 in den War
tezustand versetzt wird. Daher ruft die CPU 1 die gleichen
Daten wie diejenigen, die vom Cache-Speicher 2 abgerufen
wurden, als Datensignal SD ab.
Wenn der Fall I mit dem Fall II verglichen wird, so wird
die Zeit, die das Steuersignal SCc einschließlich dem
Ready-Signal benötigt, um die CPU 1 und den Cache-Speicher
2 über den Multiplexer zu erreichen, als gleich angenommen.
Dementsprechend benötigt die gesamte, für den Fall II er
forderliche Verarbeitung mehr Zeit, welche gleich ist der
Zeit, wenn der Cache-Speicher 2 Daten vom Datensignal SD
abruft, um den Wartezustand der CPU 1 freizugeben. Nachdem
jedoch die Hauptsignale wie beispielsweise das Datensignal
SD alle an einem Eingangsanschluß der CPU 1 ankommen (wel
che zur selben Zeit der Freigabe des Wartezustands der CPU
1 abgerufen werden, wird die vorstehend erwähnte Zeit als
so klein angenommen, daß sie vernachlässigbar ist. Als Er
gebnis hiervon muß das Speichersystem 3 nur das Ready-Sig
nal beim gleichen Timing erzeugen unabhängig davon, welche
Einheit der Bus-Master ist, die CPU 1 oder der Cache-Spei
cher 2, wodurch keine Notwendigkeit mehr besteht, das
Timing durch einen unterschiedlichen Bus-Master zu ändern,
wie es beim Stand der Technik der Fall ist. In diesem Fall
kann der Rüstzeit-Standard für das Ready-Signal des Cache-
Speichers 2 der gleiche sein wie derjenige der CPU 1.
Auch kann der Adressen-Ausgangstiming-Standard des Cache-
Speichers 2, basierend auf dem Taktimpuls Φ, der gleiche
sein wie derjenige der CPU 1. Daher ist der Adressen-Aus
gangstiming-Standard, vom System-Bus 4 her gesehen, gleich
bezüglich der beiden Bus-Master der CPU 1 und des Cache-
Speichers 2, in anderen Worten bezüglich der vorgenannten
Fälle I und II, da das Adressignal AD 2 von der CPU 1 und
das Adressignal CAD 2 vom Cache-Speicher 2 durch den glei
chen Multiplexer 8 hindurchgelangen.
Desweiteren wird im Falle der vorliegenden Erfindung der
Multiplexer 8 dazu verwendet, den folgenden Zugriff unter
hoher Geschwindigkeit auszulösen.
Zur Vereinfachung der Erläuterung wird davon ausgegangen,
daß das Adressignal AD 1 ein 30-Bit-Signal und die Adress
signale AD 2, CAD 2 und AD 3 2-Bit-Signale sind. Wenn im Falle
der obigen Anordnung eine Cache-Fehlanzeige auftritt und
die CPU 1 vier Worte (32 Bits) von aufeinanderfolgenden
Adressen liest (wobei die zwei niedrigwertigen Bits der
Adresse A 0, auf die der anfängliche Zugriff erfolgt, eine
logische "00" ist), so sendet die CPU zum Cache-Speicher
2 mit dem Steuersignal SCa einen Befehl, auf die vier
darauffolgenden Worte zuzugreifen, und die CPU beabsich
tigt, die Daten an der Adresse A 0 des Cache-Speichers 2
zu lesen. Es tritt jedoch eine Cache-Fehlanzeige auf. Hier
nach dient der Cache-Speicher 2 als Bus-Master, um die CPU
1 mittels des Steuersignales SCa in den Wartezustand zu
versetzen und greift auf die Adresse A 0 des Speichersystems
3 zu, und zu diesem Zeitpunkt wurde das Adressignal AD 3
des Ausgangs des Multiplexers 8 vor dem Auftreten der
Cache-Fehlanzeige ausgegeben. Da der Bus-Master die CPU
1 ist, wurde das Adressignal als dasjenige Adressignal AD 2,
über das nur die CPU 1 entscheidet, bereits zum Systembus-
Puffer 6 übertragen. Die Daten, auf die bei der Adresse
A 0 des Speichersystems 3 (nicht dargestellt) zugegriffen
und die über den Systembus-Puffer 6 und den Systembus SB
oder dergleichen ausgelesen werden sollen, werden mittels
des Datensignals SD entsprechend den Adressendaten A 0 einge
schrieben, da das Ready-Signal im Steuersignal SCc vom
Systembus-Puffer 6 als Steuersignal CSCb zum Cache-Speicher
2 mittels des Multiplexers 7 im Einklang mit dem Multiple
xer-Steuersignal SC 1 des Cache-Speichers 2 übertragen wird.
Hiernach schaltet das Multiplexer-Steuersignal SC 2 das Aus
gangssignal AD 3 des Multiplexers 8 zum Adressignal CAD 2
des Cache-Speichers 2 und das Adressignal CAD 2 des Cache-
Speichers 2 wird in die logischen Werte "01", "10" und "11"
geändert, so daß Daten von vier aufeinanderfolgenden Adres
sen (A 0, A 0 + 1, A 0 + 2 und A 0 + 3) des Speichersystems 3 in den
Cache-Speicher 2 geschrieben werden. Sodann sendet der
Cache-Speicher 2 das Steuersignal SCa zur CPU 1, um hier
durch deren Wartezustand freizugeben, und der Bus-Master
wird der CPU 1 zurückgegeben, wodurch die CPU 1 vom Cache-
Speicher 2 die Daten der vier aufeinanderfolgenden Adressen
(A 0, A 0 + 1, A 0 + 2 und A 0 + 3) ausliest.
Es wird daher der Zustand des Adressignals AD 1 fixiert,
indem die CPU 1 in den Wartezustand versetzt wird und das
Adressignal CAD, über das der Cache-Speicher entscheidet,
lediglich geändert wird, so daß die CPU 1 auf die fortlau
fenden Adressen, über die der Cache-Speicher 2 entscheidet,
zugreifen kann, wodurch die CPU 1 selbst im Falle einer
Cache-Fehlanzeige Daten vom Speichersystem mit höherer Ge
schwindigkeit als die Zugriffszeit zum üblichen Speicher
system auslesen kann.
Bei diesem Ausführungsbeispiel ist das Speichersystem als
periphere Einheit dargestellt, welche mit dem System-Bus
verbunden ist, es können jedoch andere periphere Einheiten,
die im Zusammenhang mit dem Cache-Speicher verwendbar sind,
bei der vorliegenden Erfindung ebenfalls Anwendung finden.
Die gleiche Steuerung ist auch anwendbar im Falle eines
anderen benötigten Signals als dem vorgenannten Adressignal
und Ready-Signal.
Selbst wenn der Multiplexer 8 entfernt wird und sämtliche
Adressignale als gemeinsames Signal verwendet werden, um
dem entsprechenden Teil der CPU 1, des Cache-Speichers 2
und dem Systembus-Puffer 6 übertragen zu werden, ist der
gleiche Effekt erreichbar mit der Ausnahme, daß der Hochge
schwindigkeits-Zugriff der fortlaufenden Adressen zum Spei
chersystem im Falle der vorgenannten Cache-Fehlanzeige un
möglich ist.
Wie sich aus dem Vorstehenden ergibt, verwendet die vor
liegende Erfindung die dem Cache-Speicher und der CPU, die
vom gleichen Timing-Schrittpuls angetrieben sind, gemein
same Signalleitung und sie kann das entweder vom Cache-Spei
cher oder der CPU als Bus-Master befehligte Signal auswäh
len. Die mit dem Datenbus verbundene periphere Einheit wie
beispielsweise das Speichersystem, kann daher unabhängig
davon, welche Einheit der Bus-Master ist, der Cache-Spei
cher oder die CPU, mit dem gleichen Timing-Standard ausge
rüstet sein.
Fig. 4 ist ein Blockdiagramm einer CPU, eines Cache-Spei
chers und peripherer Einheiten eines Ausführungsbeispiels
eines Cache-Systems einer zweiten erfindungsgemäßen Konzep
tion.
Wie in Fig. 4 dargestellt, ist ein Systembus-Puffer 6 als
gemeinsames Interface zwischen der CPU 1, dem Cache-Spei
cher 2 und einem Systembus SB vorgesehen. Die Signale zwi
schen diesen Komponenten werden grob eingeteilt in ein
Steuersignal, ein Adressignal und ein Datensignal, wobei
das Steuersignal SCa als ein bidirektionales gemeinsames
Steuersignal zwischen der CPU 1, dem Cache-Speicher 2 und
dem Systembus-Puffer 6 verwendet wird. Das Bezugszeichen
SCd bezeichnet ein Nochmal-Lese-Anforderungs-Signal des
Cache-Speichers 2 an die CPU 1, und SCe bezeichnet ein
Betriebs-Enable-Signal des Cache-Speichers 2 an das Spei
chersystem 3. Das Adressignal AD 1 wird von der CPU 1 zum
Cache-Speicher 2 und zum Systembus-Puffer 6 übertragen.
Das Datensignal SD wird als bidirektionales gemeinsames
Signal zwischen der CPU 1, dem Cache-Speicher 2 und dem
Systembus-Puffer 6 verwendet. SCc bezeichnet ein Steuer
signal, welches vom Systembus-Puffer 6 gemeinsam der CPU
1 und dem Cache-Speicher 2 eingegeben wird und welches im
Falle dieses Ausführungsbeispiels ein Ready-Signal vom
Speichersystem 3 umfaßt; Φ bezeichnet den der CPU 1 und
dem Cache-Speicher 2 eingegebenen Schrittpuls.
Beim zweiten, wie vorstehend erläutert aufgebauten Erfin
dungskonzept wird eine Erläuterung in der gleichen Weise
wie im Falle des ersten erfindungsgemäßen Konzepts durch
Vergleich des Falles I, bei dem die CPU 1 keinen Cache-Spei
cher verwendet, mit dem Fall II, bei dem die CPU 1 den
Cache-Speicher 2 verwendet, um eine Cache-Fehlanzeige zu
verursachen, gegeben.
Zunächst wird der Auslese-Betrieb aus dem Speichersystem
3 beschrieben, wenn die CPU 1 keinen Cache-Speicher 2 ver
wendet. Die CPU 1 verhindert einen Auslesebetrieb aus dem
Cache-Speicher 2 mittels des Steuersignals SCa und ermög
licht ein Auslesen aus dem Speichersystem 3. Wenn die einzu
lesende Adresse vom Adressignal AD 1 zum Speichersystem 3
gegeben wird, so wird das Ready-Signal des Speichersystems
3 über den Systembus SB, den Systembus-Puffer 6 und das
Steuersignal SCc zur CPU 1 übertragen (Fall I) und zu die
sem Zeitpunkt ruft der Cache-Speicher 2 im Steuersignal
SCc kein Ready-Signal ab. Die Daten des Speichersystems
3 werden über den Systembus SB, den Systembus-Speicher 6
und das SD-Signal in die CPU 1 abgerufen, nachdem das
Ready-Signal hier erhalten worden ist.
Im folgenden wird ein Zugriffsverfahren des Speichersystems
3 erläutert, wenn die CPU 1 den Cache-Speicher 2 verwendet,
um die Cache-Fehlanzeige zu verursachen (Fall II). Die CPU
1 verwendet das Steuersignal SCa, um den Betrieb des Cache-
Speichers 2 zu erlauben, und verhindert denjenigen des
Speichersystems 3. Nachdem herausgefunden wurde, daß die
Daten bezüglich der Adresse AD 1 sich nicht im Cache-Spei
cher 2 befinden, fordert der Cache-Speicher 2 die CPU 1
auf, Daten nochmals auszulesen (erneuter Zugriff) und mit
tels des Steuersignals SCe löst er die Zugriffs-Akzeptanz
des Speichersystems 3 aus. Im folgenden Zyklus führt die
CPU 1 das erneute Auslesen entsprechend dem Erneut-Auslese-
Anforderungs-Signal aus dem Cache-Speicher 2 aus und zu
diesem Zeitpunkt nimmt das Speichersystem 3 den Zugriff
an, um das Ready-Signal über den Systembus SB, den System
bus-Puffer 6 und die Signalleitung SCc der CPU 1 und dem
Cache-Speicher 2 zuzusenden. Die Daten werden über den
Systembus SB, den Systembus-Puffer 6 und das Datensignal
SD zur CPU 1 und dem Cache-Speicher 2 übertragen, die CPU
1 und der Cache-Speicher 2 rufen die Daten mittels des
Datensignals SD ab, nachdem sie das Ready-Signal empfangen
haben. Die Daten werden parallel zur CPU 1 und dem Cache-
Speicher 2 abgerufen, von denen die CPU 1 der Bus-Master
ist. Das Signal (welches SCa einschließt), welches anzeigt,
daß der Datenabruf durch die CPU 1 abgeschlossen ist, be
wirkt, daß der Cache-Speicher 2 die Ausgabe des Betriebs-
Enable-Signals für das Speichersystem 3 stoppt, d. h. das
Steuersignal SCe.
Das Steuersignal SCc einschließlich dem Ready-Signal aus
dem Speichersystem 3 wird auf der gleichen Route wie in
den Fällen I und II zur CPU 1 und dem Cache-Speicher 2 über
tragen. Hieraus folgt, daß das Speichersystem 3 lediglich
das Ready-Signal beim gleichen Timing für den Fall I oder
II erzeugen muß und daß es nicht erforderlich ist, wie im
konventionellen Fall das Timing zu ändern. In diesem Fall
ist es sehr zweckmäßig, wenn der Rüstzeit-Standard für das
Ready-Signal des Cache-Speichers 2 der gleiche ist wie der
jenige der CPU 1.
Desweiteren arbeitet bei diesem Ausführungsbeispiel der
Cache-Speicher 2 in Abhängigkeit von dem Betrieb der CPU
1 und dient niemals als Bus-Master. Wenn daher die CPU 1
in einem Betriebsmodus arbeitet, bei dem die CPU 1 kontinu
ierlich bzw. fortlaufend auf eine Vielzahl von Daten zu
greift (Block-Transfer-Modus), so muß der Cache-Speicher
2 den gleichen Betriebsmodus aufweisen wie die CPU 1. Auch
kann im Falle, daß die CPU 1 die Daten nur einzeln liest
und der Cache-Speicher 2 im Falle einer Fehlanzeige auf
das Speichersystem 3 nur im Block-Transfer-Modus zugreift,
dieses Ausführungsbeispiel mit den oben genannten nicht
übereinstimmen. Aufgrund dessen wird in einem zweiten Aus
führungsbeispiel gemäß der zweiten erfindungsgemäßen Konzep
tion eine Systemstruktur beschrieben, die dem oben genannten
entsprechen kann.
Fig. 5 stellt ein Blockdiagramm dar, welches periphere Ein
heiten einer CPU und einen Cache-Speicher eines Cache-
Systems eines zweiten Ausführungsbeispiels der zweiten er
findungsgemäßen Konzeption zeigt, wobei der Cache-Speicher
2 auf das Speichersystem 3 nur im Block-Transfer-Modus zu
greift, wenn eine Cache-Fehlanzeige auftritt.
Die Anordnung gemäß Fig. 5 ist, konkret gesprochen, eine
Kombination der ersten erfindungsgemäßen Konzeption gemäß
Fig. 3 und des ersten Ausführungsbeispiels der zweiten er
findungsgemäßen Konzeption gemäß Fig. 4. Dementsprechend
wird auf die Beschreibung im einzelnen verzichtet.
Ein solcher Aufbau wird im folgenden erläutert unter Ver
gleich des Falles I, bei dem die CPU 1 den Cache-Speicher
2 nicht verwendet, mit dem Fall II, bei dem die CPU 1 den
Cache-Speicher 2 verwendet, um die Cache-Fehlanzeige in
der gleichen Weise wie im Falle der ersten Erfindung und
dem ersten Ausführungsbeispiel der zweiten erfindungsge
mäßen Konzeption zu bewirken. Wenn das Speichersystem 3
das Ready-Signal in der gleichen Weise wie konventionell
erzeugt, so sind die Übertragungsrouten zum Systembus-Puf
fer 6 in beiden Fällen I und II die gleichen.
Zunächst wird der Auslese-Betrieb aus dem Speichersystem
3 für den Fall erläutert, daß die CPU 1 auf den Cache-Spei
cher 2 nicht zugreift (Fall I).
Zu diesem Zeitpunkt wird angenommen, daß die CPU 1 einzelne
Daten liest.
Die CPU 1 verhindert mittels des Steuersignals SCA den Aus
lesebetrieb aus dem Cache-Speicher 2 und ermöglicht das
Auslesen aus dem Speichersystem 3. Die zu lesende Adresse
wird von AD 1 und AD 2 ausgegeben, wobei AD 1 direkt zum
Systembus-Puffer 6 ausgegeben wird, und AD 2 vom Steuer
signal SC 2 gesteuert wird, und als AD 3 über den Multiplexer
8 zum Systembus-Puffer 6 ausgegeben wird.
Das Ready-Signal des Speichersystems 3 wird über den System
bus SB, den Systembus-Puffer 6 und das Steuersignal SCc
zum Multiplexer 7 gesandt. Der Multiplexer 7 wird vom
Steuersignal SC 1 gesteuert, wobei das Ready-Signal, welches
im Steuersignal SCc enthalten ist, zum Steuersignal SCb
ausgegeben wird und zur CPU 1 gesandt wird.
Die Daten vom Speichersystem 3 werden über den Systembus
SB, dem Systempuffer 6 und das Datensignal SD zur CPU 1
übertragen und in die CPU 1 abgerufen, nachdem die CPU 1
das Ready-Signal empfangen hat.
Als nächstes wird ein Zugriffverfahren zum Speichersystem
3 für den Fall II erläutert, bei dem die CPU 1 auf den
Cache-Speicher 2 zugreift, um eine Cache-Fehlanzeige zu
erzeugen.
Wie oben erwähnt, liest bei diesem Ausführungsbeispiel die
CPU 1 nur die einzelnen Daten und im Falle des Cache-Spei
chers 2 wird angenommen, daß es auf das Speichersystem 3
nur im Block-Transfer-Modus zugreift, wenn der Fall einer
Cache-Fehlanzeige vorliegt.
Die CPU 1 löst unter Verwendung des Steuersignals SCa den
Betrieb des Cache-Speichers 2 aus und verhindert den Be
trieb des Speichersystems 3. Wenn herausgefunden wurde,
daß die Daten bezüglich der Adresse AD sich nicht im Cache-
Speicher 2 befinden, so fordert der Cache-Speicher 2 die
CPU 1 auf, nochmals auszulesen (reaccess) und löst die Zu
griffs-Akzeptanz bezüglich des Speichersystems 3 mittels
des Steuersignales SCe aus. Beim nächsten Zyklus führt die
CPU 1 den Wiederauslesevorgang entsprechend dem Wiederaus
lese-Anforderungssignal des Cache-Speichers 2 durch.
Der Auslesevorgang durch die CPU 1 besteht darin, die
einzelnen Daten auszulesen. Im folgenden werden zwei Arten
von Verfahren erläutert, um durch den Cache-Speicher 2 eine
Vielzahl von Daten vom Speichersystem 3 aufzunehmen.
Ein erstes Verfahren besteht im folgenden.
1. Zum Zwecke der Erläuterung wird davon ausgegangen, daß
das Adressignal AD 1 von den 30 höchstwertigen Bits und das
Adressensignal AD 2 von den niederwertigen 2 Bits gebildet
ist. Die Adresse eines von der CPU 1 bestimmten Datensatzes
wird durch A 0 + 2 dargestellt und hinsichtlich des Cache-
Speichers 2 wird angenommen, daß er das Speichersystem 3
auffordert, vier Daten von A 0, A 0 + 1, A 0 + 2 und A 0 + 3 zu über
tragen. Zusätzlich bedeutet A 0, daß das Ausgangssignal AD 2 der
2 niedrigwertigen Bits eine logische "00" ist.
Die bei der Wiederauslese-Anforderung aus dem Cache-Spei
cher 2 von der CPU 1 ausgegebene Adresse ist A 0 + 2, und zu
dieser Zeit werden der dem Systembus-Puffer 6 übertragenen
Adresse mittels des Adressignals AD 1 die hochwertigen 30
Bits gegeben und mittels des Adressignals CAD 2 des Cache-
Speichers 2, welches zum Adressignal AD 3 gesandt wird, die
niedrigwertigen 2 Bits, und werden dem Systembus-Puffer 6
zugeführt. Zu diesem Zeitpunkt stellt das Adressignal CAD 2
eine logische "00" dar. Das Speichersystem 3 liest daher
die Adresse A 0, das dieser entsprechende Ready-Signal wird
über den Systembus SB, den Systembus-Puffer 6 und das Steu
ersignal SCc und dann über das Steuersignal CSCb vom Multi
plexer 7, der durch das Steuersignal SC 1 aus dem Cache-Spei
cher 2 gesteuert ist, zum Cache-Speicher 2 übertragen.
Mittels des Datensignals SD werden die Daten in den Cache-
Speicher 2 abgerufen. Um die verbleibenden drei Daten zu
übertragen, gibt die CPU 1 wiederum mittels des Wiederaus
lese-Anforderungssignals SCd eine Wiederauslese-Anforderung
ab. Daher ruft die CPU 1 die der Adresse A 0 entsprechenden
Daten nicht ab, sondern liest wiederum die Adressdaten der
Adresse A 0 + 2 aus. Zu diesem Zeitpunkt ändert der Cache-
Speicher 2 die Adresse des Adressignals CAD 2 in eine
logische "01", um die Daten von A 0 + 1 in der gleichen Weise
wie vorstehend beschrieben abzurufen.
Der Cache-Speicher 2 fährt fort, die Daten in der gleichen
Weise abzurufen, bis die für eine Blockübertragung erforder
lichen Daten vollständig sind. Nachdem das Auslesen von
Daten in den Cache-Speicher 2 vervollständigt ist, fordert
der Cache-Speicher 2 wiederum das Wiederauslesen an, so
daß die CPU 1 dementsprechend die Daten entsprechend der
Adresse A 0 + 2 ausliest, und zu diesem Zeitpunkt wird das
Adressignal AD 2 von der CPU 1 der Adressignal-Leitung AD 2
eingegeben, indem der Multiplexer 8 entsprechend dem Steuer
signal SC 2 gesteuert wird, so daß die Daten von A 0 + 2 des
Speichersystems 3 vom Datensignal SD zur CPU 1 abgerufen
werden, wobei das Ready-Signal über den Systembus SB, den
Systembus-Puffer 6 und das Steuersignal SCc zur CPU 1 abge
rufen wird.
2. Ein zweites Verfahren besteht darin, daß dann, wenn
die CPU 1 den Cache-Speicher 2 verwendet, um eine Cache-
Fehlanzeige zu bewirken (Fall II), die CPU 1 unter Verwen
dung des Steuersignals SCa den Betrieb des Cache-Speichers
2 ermöglicht und den Betrieb des Speichersystems 3 verhin
dert. Wenn herausgefunden wird, daß sich die Daten bezüg
lich der Adresse AD 1 nicht im Cache-Speicher 2 befinden,
so fordert der Cache-Speicher 2 die CPU 1 auf, wiederum
auszulesen und ermöglicht mittels des Steuersignals SCe
den Betrieb bezüglich des Steuersystems 3.
Im nächsten Zyklus liest die CPU 3 entsprechend dem Wieder
auslese-Anforderungssignal des Cache-Speichers 2 wiederum
Daten aus. Die von der CPU 1 bezüglich der Wiederauslese-
Anforderung des Cache-Speichers 2 ausgegebene Adresse
stellt A 0 + 2 dar, und zu diesem Zeitpunkt wird mittels des
Adressignals AD 1 der zum Systembus-Puffer 6 gesandten
Adresse die 30 höchstwertigen Bits gegeben, und der mittels
des Steuersignals SC 2 aus dem Cache-Speicher 2 gesteuerte
Multiplexer 8 überträgt das Adressignal CAD 2 des Cache-
Speichers 2 zum Adressignal AD 3, so daß die niedrigwertigen
2 Bits in den Systembus-Puffer 6 eingegeben werden, und
zu diesem Zeitpunkt zeigt das Adressignal CAD 2 eine logi
sche "00". Daher liest das Speichersystem 3 die Adresse
A 0 aus, und das dieser entsprechende Ready-Signal wird vom
Speichersystem 3 über den Systembus SB, den Systembus-Puf
fer 6 und das Steuersignal SCc und dann über das Steuer
signal SCb von dem durch das Steuersignal SC 1 aus dem
Cache-Speicher 2 gesteuerten Multiplexer zum Cache-Speicher
2 übertragen.
Über das Datensignal SD werden die Daten in den Cache-Spei
cher 2 abgerufen. Zu diesem Zeitpunkt wird zusätzlich das
Ready-Signal nur zum Cache-Speicher 2 übertragen und das
Ready-Signal vom Cache-Speicher 2 wird nicht zur CPU 1 ge
sandt. Die CPU 1 ist daher in den Wartezustand versetzt,
so daß der Cache-Speicher 2 der Bus-Master wird.
Der Cache-Speicher 2 hält das Adressignal AD 1 der 30 hoch
wertigen Bits der CPU 1 intakt, um die drei verbleibenden
Daten zu übertragen, und ändert einen Wert des Adressignals
AD 3, welches vom Adressignal CAD 2 über den Multiplexer 8
gegeben ist, in eine logische "01", wobei das Steuersignal
für das Speichersystem 3 über das Steuersignal CSCb, den
Multiplexer 7 und das Steuersignal SCc hierher übertragen
wird, wodurch die Daten der Adresse A 0 + 1 in den Cache-Spei
cher 2 abgerufen werden.
In der gleichen Weise wird das Adressignal CAD 2 geändert,
um die Daten von A 0 + 2 und A 0 + 3 abzurufen, hiernach wird
der Multiplexer 8 geschaltet, um das Adressignal AD 2 zu
übertragen und die von der CPU 1 bestimmte Adresse A 0 + 2
wird zum Systembus-Puffer 6 übertragen. Die der Adresse
A 0 + 2 entsprechenden Daten aus dem Speichersystem 3 werden
über das Datensignal SD zur CPU 1 abgerufen, wobei das
Ready-Signal desselben in die CPU 1 über den Systembus SB,
den Systembus-Puffer 6 und das Steuersignal SCc abgerufen
wird.
In den Fällen I und II (vgl. (1) und (2)) wird das Steuer
signal SCc einschließlich dem Ready-Signal des Speicher
systems 3 vom Steuersignal CSCb zum Cache-Speicher 2 über
den Multiplexer 7 zusammen mit dem Multiplexer-Steuersignal
SC 1 des Cache-Speichers 2 übertragen, oder vom Steuersignal
SCb zur CPU 1, wobei sich beide Fälle hinsichtlich der Über
tragungsroute voneinander unterscheiden, jedoch hinsicht
lich der Verzögerungszeit gleich sind. Hieraus folgt, daß
das Speichersystem 3 das Ready-Signal für beide Fälle I
oder II lediglich mit dem gleichen Timing erzeugen muß,
wodurch es nicht erforderlich ist, wie beim konventionellen
Verfahren das Timing aufgrund des unterschiedlichen Bus-
Masters zu ändern. In diesem Fall kann in besonders vorteil
hafter Weise der Rüstzeit-Standard für das Ready-Signal
des Cache-Speichers 2 der gleiche sein wie derjenige der
CPU 1.
Im folgenden wird unter Bezugnahme auf Fig. 6 ein drittes
Ausführungsbeispiel eines erfindungsgemäßen Cache-Systems
beschrieben, welches eine integrierte Schaltung für den
Cache-Speicher und die Multiplexer 7 und 8, welche die Sig
nale der CPU 1 und des Cache-Speichers 2 gemäß dem zweiten
in Fig. 5 dargestellten Ausführungsbeispiel steuern,
wodurch die Verdrahtung von CPU 1 und Cache-Speicher 2 redu
ziert wird, wobei dieses System in der gleichen Weise ar
beitet wie das zweite Ausführungsbeispiel, welches in
Fig. 5 gezeigt ist.
Die Ausführungsbeispiele gemäß der zweiten erfindungsge
mäßen Konzeption zeigen jeweils Speichersysteme als peri
phere Einheit, die mit dem Systembus verbunden ist, es kön
nen jedoch im Zusammenhang mit der vorliegenden Erfindung
auch andere periphere Einheiten verwendet werden, wenn sie
in der Lage sind, den Cache-Speicher zu verwenden. Hinsicht
lich anderer notwendiger Signale, wie dem Adressignal und
dem Reday-Signal kann die gleiche Steuerung angewandt wer
den, wie sie obenstehend diskutiert ist.
Wie sich aus dem vorstehenden ergibt, umfaßt die erste Aus
bildung des Cache-Systems nach der zweiten erfindungsge
mäßen Konzeption das Wiederausführungs- oder Reexekutions-
Anforderungssignal, um die CPU aufzufordern, Daten auszule
sen oder einzuschreiben (access), sowie das Zugriff-Enable-
Signal bezüglich des Speichers (anderer Speicher als der
Cache-Speicher), so daß der Cache-Speicher stets in Ab
hängigkeit von der CPU arbeiten kann, wobei die periphere
Einheit selbst dann, wenn der Cache-Speicher verwendet
wird, die Signale stets mit dem gleichen Objekt überträgt
und empfängt.
Beim zweiten und dritten Ausführungsbeispiel des Cache-
Systems benutzen der Cache-Speicher und die CPU, die vom
Schrittpuls des gleichen Timings angetrieben sind, die ge
meinsame Signalleitung, und die verwendeten Signale sind
die gleichen mit Ausnahme des Signals, über das nur der
Cache-Speicher entscheiden kann und des Signals, über das
nur die CPU entscheidet. Auch hat der Cache-Speicher das
Signal zum Auffordern der CPU, wieder auszulesen und wieder
einzuschreiben, und das Zugriff-Enable-Signal zu dem Spei
cher (anderer Speicher als der Cache-Speicher), wodurch
davon ausgegangen werden kann, daß die periphere Einheit
unabhängig davon, ob die CPU oder der Cache-Speicher der
Bus-Master ist, das übertragen und Empfangen von Signalen
ungefähr mit dem gleichen Objekt durchführen kann. Daher
kann unabhängig davon, ob der Cache-Speicher oder die CPU
der Bus-Master ist, die periphere Einheit wie beispielswei
se das Speichersystem, welches mit dem Datenbus verbunden
ist, für das gleiche Timing ausgebildet sein.
Beim zweiten Ausführungsbeispiel des Cache-Systems gemäß
dem zweiten erfindungsgemäßen Konzept nach Fig. 5 erfolgt
die Datenübertragung vom Speichersystem 3 zum Cache-Spei
cher 2 im einzelnen wie folgt:
In Fig. 7 bezeichnen die Bezugsziffern 101, 102, 103 und
104 im Speichersystem 3 Daten (Datensätze) entsprechend den
Adressen A 0, A 0 + 1, A 0 + 2 und A 0 + 3, die Bezugsziffer 105 be
zeichnet einen Datenblock, der die Daten der Adressen A 0,
A 0 + 1, A 0 + 2 und A 0 + 3 beinhaltet, die Bezugsziffern 107,
108, 109 und 110 bezeichnen Datenspeicher im Cache-Spei
cher, und die Bezugsziffer 106 bezeichnet einen Datenblock
der die Datenspeicher 107, 108, 109 und 110 umfaßt.
Bei diesem Ausführungsbeispiel bestimmt die CPU 1 die
Adresse A 0 + 2, der Cache-Speicher 2 jedoch, der eine Cache-
Fehlanzeige gemacht hat, greift auf die Adressen A 0, A 0 + 1,
A 0 + 2 und A 0 + 3 in dieser Reihenfolge aus dem Speichersystem
3 zu, die Daten 101, 102, 103 und 104 werden in die Cache-
Speicher 107, 108, 109 und 110 in der Reihenfolge bis
gespeichert, und danach wird die Adresse A 0 + 2, auf die
die CPU 1 zugreift, in der CPU 1 gespeichert (Reihenfolge
). Daher wurden fünfmal Datenzugriffe durchgeführt.
Im folgenden wird unter Bezug auf Fig. 8 ein Verfahren der
Datenübertragung aus dem Speichersystem zu dem Cache-Spei
cher beschrieben, wenn bezüglich des Lese-Betriebs aus der
CPU eine Cache-Fehlanzeige auftritt, wie dieses in der
japanischen Offenlegungsschrift 54-1 28 636 (1979) offen
bart ist.
In Fig. 8 bezeichnen die Bezugsziffern 101, 102, 103 und
104 im Speichersystem 3 Daten (Datensätze) entsprechend den
Adressen A 0, A 0 + 1, A 0 + 2 und A 0 + 3, die Bezugsziffer 105 be
zeichnet einen Datenblock einschließlich Daten der Adressen
A 0, A 0 + 1, A 0 + 2 und A 0 + 3, die Bezugsziffern 107, 108, 109
und 110 bezeichnen Datenspeicher im Cache-Speicher, und die
Bezugsziffer 106 bezeichnet einen Datenblock, der die Daten
speicher 107, 108, 109 und 110 umfaßt. Wenn bei diesem Aus
führungsbeispiel davon ausgegangen wird, daß die CPU 1 die
Adresse A 0 + 2 bestimmt, so überträgt der Cache-Speicher 2,
der eine Cache-Fehlanzeige gemacht hat, zunächst die
Adresse A 0 + 2 vom Speichersystem 3 zur CPU (Reihenfolge ).
Hiernach greift sie auf drei Adressen A 0, A 0 + 1, A 0 + 2 und
A 0 + 3 in dieser Reihenfolge zu und die Daten 101, 102, 103
und 104 werden in den Cache-Speicher 107, 108, 109 und 110
in der Reihenfolge bis gespeichert, wodurch fünfmal
Datenzugriffe durchgeführt wurden.
Im Falle, daß der Cache-Speicher auf das Speichersystem
3 nur im Blocktransfermodus zugreift, in welchem der Cache-
Speicher eine Vielzahl von Daten aus dem Speichersystem
überträgt, wenn der Cache-Speicher bezüglich des Lesezu
griffs einzelner Daten (Datensätze) aus der CPU eine Cache-
Fehlanzeige macht, ist es nicht möglich, eine Datenübertra
gung vom Speichersystem zum Cache-Speicher mit der minima
len Anzahl (an Zugriffsvorgängen) durchzuführen. Daher
wird im folgenden ein Steuerungsverfahren eines Cache-
Systems gemäß einer dritten erfindungsgemäßen Konzeption
beschrieben, welches die Datenübertragung vom Speicher
system zum Cache-Speicher bei einer minimalen Anzahl von
Schritten übertragen kann, wenn während einer Cache-Fehlan
zeige eine Vielzahl von Daten block-übertragen wird.
Bei diesem Ausführungsbeispiel wird ein Steuerungsverfahren
des zweiten Ausführungsbeispiels der zweiten erfindungs
gemäßen Konzeption für den Fall erläutert, daß der Cache-Spei
cher auf das Speichersystem nur im Blockübertragungsmodus
zugreift, um eine Vielzahl von Daten vom Speichersystem
3 zu übertragen, wenn der Cache-Speicher 2 bezüglich des
Lese-Zugriffs einzelner Daten aus der CPU 1 eine Cache-Fehl
anzeige macht.
Bei einem solchen Aufbau wird der Fall, wo die CPU 1 keinen
Cache-Speicher verwendet (Fall I) und derjenige Fall, wo
die CPU 1 den Cache-Speicher 2 verwendet, um eine Cache-
Fehlanzeige zu verursachen, miteinander verglichen und in
der gleichen Art und Weise wie beim vorstehend angesproche
nen Ausführungsbeispiel beschrieben.
Zunächst wird der Auslesebetrieb aus dem Speichersystem
3 beschrieben, wenn die CPU 1 auf den Cache-Speicher 2
nicht zugreift (Fall I).
Es wird angenommen, daß die CPU 1 einzelne Daten liest.
Die CPU 1 verhindert durch das Steuersignal SCa den Auslese
betrieb aus dem Cache-Speicher 2 und ermöglicht den Auslese
betrieb aus dem Speichersystem 3. Die zu lesende Adresse
wird von AD 1 und AD 2 ausgegeben, wobei AD 1 direkt zum
Systembus-Puffer 6 ausgegeben wird und AD 2 vom Steuersignal
SC 2 gesteuert wird und als AD 3 über den Multiplexer 8 zum
Systembus-Puffer 6 ausgegeben wird.
Das Ready-Signal des Speichersystems 3 wird über den System
bus SB, den Systembus-Puffer 6 und das Steuersignal SCc
zum Multiplexer 7 gesandt. Der Multiplexer 7 wird vom
Steuersignal SC 1 gesteuert, wobei das im Steuersignal SCc
enthaltene Ready-Signal zum Steuersignal SCb ausgegeben
wird und zur CPU 1 gesandt wird.
Die Daten des Speichersystems 3 werden über den Systembus
SB, den Systempuffer 6 und das Datensignal SD zur CPU 1
übertragen, und nachdem die CPU 1 das Ready-Signal ange
nommen hat, in die CPU 1 abgerufen.
Im folgenden wird ein Verfahren des Zugriffs auf das Spei
chersystem 3 für den Fall II erläutert, wo die CPU 1 auf
den Speicher 2 zugreift, um eine Cache-Fehlanzeige zu er
zeugen.
Bei diesem Ausführungsbeispiel liest die CPU 1, wie oben
erwähnt, nur einzelne Daten und es wird davon ausgegangen,
daß der Cache-Speicher 2 auf das Speichersystem 3 im Falle
einer Cache-Fehlanzeige nur im Blockübertragungsmodus zu
greift.
Die CPU 1 löst unter Verwendung des Steuersignals SCa den
Betrieb des Cache-Speichers 2 aus und verhindert den Be
trieb des Speichersystems 3. Nachdem herausgefunden wurde,
daß sich die Daten bezüglich der Adresse AD nicht im Cache-
Speicher 2 befinden, fordert der Cache-Speicher 2 die CPU
1 auf, nochmals auszulesen (reaccess) und löst mittels des
Steuersignals SCe die Zugriffsakzeptanz bezüglich des Spei
chersystems 3 aus. Beim nächsten Zyklus führt die CPU 1
den Wiederauslese-Betrieb entsprechend dem Wiederauslöse-
Anforderungssignal des Cache-Speichers 2 durch.
Der Auslese-Betrieb durch die CPU 1 besteht darin, die
einzelnen Daten auszulesen. Im folgenden werden zwei Ver
fahrensweisen beschrieben, um mittels des Cache-Speichers
2 vom Speichersystem 3 eine Vielzahl von Daten zu
empfangen.
Ein erstes Verfahren besteht im folgenden:
1. Zum Zwecke der Erläuterung wird davon ausgegangen, daß
das Adressignal AD 1 die hochwertigen 30 Bits und das Adress
signal AD 2 die 2 niedrigwertigen Bits sind. Die Adresse
der von der CPU 1 bestimmten einzelnen Daten (Datensätzen)
wird von A 0 + 2 dargestellt und hinsichtlich des Cache-Spei
chers 2
wird angenommen, daß er das Speichersystem 3 auffordert,
die vier Daten von A 0, A 0 + 1, A 0 + 2 und A 0 + 3 zu übertragen.
Zusätzlich stellt A 0 dar, daß das Adressignal AD 2 der
niederwertigen 2 Bits eine logische "00" ist.
Die von der CPU 1 bezüglich der Wiederauslese-Anforderung
ausgegebene Adresse ist A 0 + 2, und zu diesem Zeitpunkt wird
der zum Systempuffer 6 zu sendenden Adresse über das Adress
signal AD 1 hochwertige 30 Bits gegeben und niederwertige
2 Bits werden in den Systembus-Puffer 6 eingegeben, wenn
der vom Steuersignal SC 2 des Cache-Speichers 2 gesteuerte
Multiplexer 8 dem Adressignal AD 3 das Adressignal CAD 2 des
Cache-Speichers 2 überträgt. Zu diesem Zeitpunkt zeigt das
Adressignal CAD 2 eine logische "11".
Diese Adresse zeigt an, daß die Adresse A 0 + 3 die von der
CPU 1 bestimmte Adresse A 0 + 2 inkrementiert. Das Ready-Sig
nal des Speichersystems 3 entsprechend der Adresse A 0 + 3
wird über den Systembus SB, den Systembus-Puffer 6, das
Steuersignal SCc und das Steuersignal CSCb mittels des
Multiplexers 7, der vom Steuersignal SC 1 des Cache-Spei
chers 2 gesteuert wird, zum Cache-Speicher 2 gesandt.
Die Daten werden mittels des Datensignals SD zum Cache-Spei
cher 2 abgerufen. Um die drei verbleibenden Daten zu über
tragen, gibt die CPU 1 nochmals die Wiederauslese-Auffor
derung mittels des Wiederauslese-Aufforderungssignals SCd
ab. Die CPU 1 ruft daher nicht die Daten entsprechend der
Adresse A 0 ab, sondern liest nochmals die Adressdaten der
Adresse A 0 + 2 aus.
Zu diesem Zeitpunkt inkrementiert der Cache-Speicher 2 die
Adresse des Adressignals CAD 2 und greift auf die nächste
Adresse zu. Zusätzlich überträgt die Adresse nach der Inkre
mentierung die höchstwertige Adresse der Adresse im Block
zur niedrigstwertigen Adresse. Der Zugriff in einer solchen
Reihenfolge wird hier "round robin method access" genannt.
Daher ist das Adressignal CAD 2 des Cache-Speichers 2 eine
logische "00", um Daten der Adresse A 0 abzurufen.
Der Cache-Speicher 2 fährt mit dem Datenabrufen fort, bis
die Daten, die zum Abrufen der Blockübertragung erforder
lich sind, vollständig sind. Beim letzten Auslesen der Da
ten in den Cache-Speicher 2 werden die Daten zu der durch
die CPU 1 bestimmten Adresse A 0 + 2 übertragen.
Der Cache-Speicher 2 fordert wiederum ein Wiederauslesen
für die letzte Datenübertragung, und dementsprechend liest
die CPU 1 Daten entsprechend der Adresse A 0 + 2 aus. Das
Ready-Signal des Speichersystems 3 entsprechend der Adresse
A 0 + 2 wird über den Systembus SB, den Systembus-Puffer 6
und das Steuersignal SCc und dann über das Steuersignal
CSCb mittels des vom Steuersignal SC 1 des Cache-Speichers
2 gesteuerten Multiplexers 7 zum Cache-Speicher 2 übertra
gen. Die Daten werden mittels des Datensignals SD zum
Cache-Speicher 2 abgerufen. Hiernach sendet der Cache-Spei
cher 2 das Ready-Signal SCb bis zur CPU 1, wodurch die CPU 1
Daten entsprechend der Adresse A 0 + 2 abruft, und zu diesem
Zeitpunkt fordert der Cache-Speicher 2 selbstverständlich
kein Wiederauslesen bei der CPU 1 an.
Selbst wenn das System so aufgebaut ist, daß das Ready-
Signal im Zugriff auf die von der CPU 1 bestimmte Adresse
A 0 + 2 von der CPU 1 und dem Cache-Speicher 2 parallel
empfangen wird, können die der Adresse A 0 + 2 entsprechenden
Daten parallel in die CPU 1 und den Cache-Speicher 2 abge
rufen werden.
2. Ein zweites Verfahren besteht darin, daß, wenn die CPU
1 den Cache-Speicher 2 verwendet, um eine Cache-Fehlanzeige
zu verursachen (Fall II), die CPU 1 den Betrieb des Cache-
Speichers 2 durch Verwendung des Steuersignals SCa erlaubt
und den Betrieb des Speichersystems 3 verhindert. Wenn ge
funden wird, daß sich die Daten bezüglich des Adressignals
AD 1 nicht im Speicher 2 befinden, fordert der Cache-Spei
cher 2 die CPU 1 auf, wiederauszulesen und ermöglicht den
Betrieb bezüglich des Speichersystems 3 mittels des Steuer
signales SCe.
Beim nächsten Zyklus arbeitet die CPU 1 so, daß sie Daten
entsprechend dem Wiederauslese-Anforderungssignal des
Cache-Speichers 2 wieder liest. Die von der CPU 1 bezüglich
der Wiederausleseaufforderung des Cache-Speichers 2 abge
gebene Adresse stellt A 0 + 2 dar, und zu diesem Zeitpunkt
wird der zum Systembus-Puffer 6 gesandten Adresse die hoch
wertigen 30 Bits mittels des Adressignals AD 1 gegeben, und
der vom Steuersignal SC 2 des Cache-Speichers 2 gesteuerte
Multiplexer 8 überträgt die Adressignale CAD 2 des Cache-
Speichers 2 zum Adressignal AD 3, so daß die niederwertigen
2 Bits in den Systembus-Puffer 6 eingegeben werden, und
zu diesem Zeitpunkt zeigt das Adressignal CAD 2 eine
logische "11". Das Ready-Signal des Speichersystems 3 ent
sprechend der Adresse A 0 + 3 wird über den Systembus SB, den
Systembus-Puffer 6 und das Steuersignal SCc und dann über
das Steuersignal CSCb mittels des vom Steuersignal SC 1 des
Speichers 2 gesteuerten Multiplexers 7 zum Cache-Speicher
2 gesandt.
Die Daten werden über das Datensignal SD in den Cache-Spei
cher 2 abgerufen. Desweiteren wird zu diesem Zeitpunkt das
Ready-Signal nur zum Cache-Speicher 2 übertragen und das
Ready-Signal des Cache-Speichers 2 wird nicht zur CPU 1
gesandt. Daher wird die CPU 1 in den Wartezustand versetzt,
so daß der Cache-Speicher 2 der Bus-Master wird.
Der Cache-Speicher 2 hält das Adressignal AD 1 der hoch
wertigen 30 Bits der CPU 1 intakt, um die drei verbleiben
den Daten zu übertragen, und ändert einen Wert des Adress
signals AD 3, der vom Adressignal CAD 2 über den Multiplexer
8 erhalten wird, in eine logische "00", wobei das Steuer
signal des Speichersystems 3 hierher über das Steuersignal
CSCb, den Multiplexer 7 und das Steuersignal SCc übertra
gen wird, wodurch die Daten der Adresse A 0 + 1 in den Cache-
Speicher 2 abgerufen werden.
Auch hier wird, wie beim ersten Verfahren gemäß (1) be
schrieben, der Zugriff nach der "round robin method" in
der Blockadresse durchgeführt, so daß im Anschluß an die
Adresse A 0 + 3 auf die Adresse A 0 zugegriffen wird.
In gleicher Weise wird das Adressignal CAD 2 so geändert,
daß die Daten von A 0 + 1 und A 0 + 2 in den Cache-Speicher 2
abgerufen werden. Die Adresse A 0 + 2 wird von der CPU 1 be
stimmt, so daß der Cache-Speicher 2 das Ready-Signal SCb
zur CPU 1 überträgt, wodurch die CPU 1 die Daten ent
sprechend der Adressen A 0 + 2 abruft, und zu diesem Zeitpunkt
fordert der Cache-Speicher 2 bei der CPU 1 selbstverständ
lich kein Wiederauslesen an.
Selbst im Fall, wo dann, wenn auf die von der CPU 1 be
stimmte Adresse A 0 + 2 zugegriffen wird, das Ready-Signal
parallel von der CPU 1 und dem Cache-Speicher 2 empfangen
werden kann, können die der Adresse A 0 + 2 entsprechenden
Daten parallel zur CPU 1 und dem Cache-Speicher 2 abgerufen
werden.
Im Falle dieses Ausführungsbeispiels können somit die Daten
der von der CPU 1 bestimmten Adresse letztlich vom Spei
chersystem 3 zur CPU 1 und dem Cache-Speicher 2 parallel
übertragen werden.
Bei dem in Fig. 5 dargestellten Aufbau ist beschrieben wor
den, daß, wenn die CPU 1 bezüglich der Einzeldaten eine
Cache-Fehlanzeige macht und der Cache-Speicher 2 eine Mehr
zahl von Blocks vom Speichersystem 3 überträgt, Daten einer
Adresse, die von der CPU 1 bestimmt wurde und einmal in
der Blockadresse zirkular inkrementiert wurde, als erstes
übertragen werden, wobei die verbleibenden Daten in der
gleichen Reihenfolge übertragen werden und wobei zuletzt
die der von der CPU 1 bestimmten Adresse entsprechenden
Daten in die CPU 1 und den Cache-Speicher 2 parallel über
tragen werden, wodurch die Daten bei einer minimalen Anzahl
von Zeitzyklen übertragen werden können. Im folgenden wird
unter Bezugnahme auf Fig. 9 das Verfahren zur Datenüber
tragung vom Speichersystem 3 zum Cache-Speicher 2 be
schrieben, wenn bezüglich des Lese-Betriebs der CPU 1 eine
Cache-Fehlanzeige gemacht wird.
In Fig. 9 bezeichnen die Bezugsziffern 101, 102, 103 und
104 Daten in einem Speichersystem 3 entsprechend den
Adressen A 0, A 0 + 1, A 0 + 2 bzw. A 0 + 3, die Bezugsziffer 105
bezeichnet einen Datenblock, der Daten der Adressen A 0,
A 0 + 1, A 0 + 2 und A 0 + 3 umfaßt, die Bezugsziffern 107, 108,
109 und 110 bezeichnen Datenspeicher im Cache-Speicher und
die Bezugsziffer 106 bezeichnet einen Datenblock, der die
Datenspeicher 107, 108, 109 und 110 umfaßt.
Bei diesem Ausführungsbeispiel bestimmt die CPU 1 die
Adresse A 0 + 2, und zu diesem Zeitpunkt inkrementiert der
Cache-Speicher 2, der eine Cache-Fehlanzeige gemacht hat,
die von der CPU 1 bestimmte Adresse und überträgt zunächst
die Daten der Adresse. Hiernach wird im Cache-Speicher 2
die nächste Adresse der Daten, auf die die CPU 1 zugegrif
fen hat, gelesen, und dann wird die Adresse im Block inkre
mentiert, so daß im Anschluß an die höchstwertige Adresse
im Block auf niedrigstwertige Adresse zugegriffen wird.
Ein solches Zugriffsverfahren wird, wie oben beschrieben,
"round robin method" genannt. Es wird daher aus dem Spei
chersystem 3 auf die Adressen A 0 + 3, A 0 und A 0 + 1 zugegrif
fen, und zwar in dieser Reihenfolge, die Daten 104, 101
und 102 werden in der Reihenfolge bis in den Cache-Spei
chern 110, 107 und 108 gespeichert, und hiernach werden
die Daten 103 entsprechend der von der CPU 1 zugegriffenen
Adresse A 0 + 2 in der CPU 1 und im Cache-Speicher 2 parallel
gespeichert (in der Reihenfolge ). In dem Fall, wo der
Cache-Speicher auf das Speichersystem 3 nur im Blocküber
tragungsmodus zugreift, der mittels des Cache-Speichers
eine Vielzahl von Daten vom Speichersystem überträgt, wenn
der Cache-Speicher bezüglich des Lesezugriffs einzelner
Daten der CPU eine Cache-Fehlanzeige macht, ist es möglich,
Daten aus dem Speichersystem zum Cache-Speicher in einer
minimalen Anzahl von Zeiten bzw. Zeitzyklen zu übertragen.
Im folgenden wird ein modifiziertes Ausführungsbeispiel
eines erfindungsgemäßen Cache-System-Steuerungsverfahren
anhand von Fig. 10 erläutert.
In Fig. 10 bezeichnen die Bezugsziffern 101, 102, 103 und
104 Daten in einem Speichersystem 3 entsprechend den
Adressen A 0, A 0 + 1, A 0 + 2 und A 0 + 3, die Bezugsziffer 105 be
zeichnet einen Datenblock, der die Adressen A 0, A 0 + 1,
A 0 + 2 und A 0 + 3 umfaßt, die Bezugsziffern 107, 108, 109 und
110 bezeichnen Datenspeicher im Cache-Speicher und die
Bezugsziffer 106 bezeichnet einen Datenblock, der die Daten
speicher 107, 108, 109 und 110 umfaßt.
Bei diesem Ausführungsbeispiel bestimmt die CPU 1 die
Adresse A 0 + 2, und zu diesem Zeitpunkt überträgt der Cache-
Speicher 2, der eine Cache-Fehlanzeige gemacht hat, zu
nächst die von der CPU 1 bestimmte und nach dem Round-
Robin-Verfahren dekrementierte Adresse, und in gleicher
Weise werden die verbleibenden Daten in der Reihenfolge
der Dekrementierung nach dem Round-Robin-Verfahren eben
falls kontinuierlich übertragen. In anderen Worten greift
das Speichersystem 3 auf die Adressen A 0 + 1, A 0 und A 0 + 3
in dieser Reihenfolge zu, die Daten 102, 101 und 104 werden
in den Cache-Speichern 108, 107 und 110 in der Reihenfolge
bis gespeichert, und hiernach werden die Daten 103 der
von der CPU 1 zugegriffenen Adresse in der CPU parallel
zum Datenspeicher 109 gespeichert. Es ist daher im Falle,
wo dann, wenn der Cache-Speicher eine Cache-Fehlanzeige
bezüglich des Lese-Zugriffs von Einzeldaten (eines Datums)
der CPU macht, der Cache-Speicher auf das Speichersystem
nur im Blockübertragungsverfahren zugreift, welches mittels
des Cache-Speichers eine Vielzahl von Daten aus dem Spei
chersystem überträgt, möglich, die Daten vom Speichersystem
zum Cache-Speicher in einer minimalen Anzahl von Zeiten
bzw. Zeitzyklen zu übertragen.
Wie sich aus dem vorstehenden ergibt, überträgt das erfin
dungsgemäße Verfahren zur Steuerung des Cache-Systems zu
nächst die Daten der der von der CPU bestimmten Adresse
nächsten Adresse vom Speichersystem zur CPU im Falle, daß
der Cache-Speicher auf das Speichersystem nur im Blocktrans
fermodus zugreift, welcher eine Vielzahl von Daten vom Spei
chersystem überträgt, wenn die Einzeldaten (das einzelne
Datum) von der CPU ausgelesen wird und der Cache-Speicher
eine Cache-Fehlanzeige bezüglich des Zugriffs macht, wobei
es hiernach Daten überträgt, indem die Adresse nach Art
des Round-Robin-Verfahrens geändert wird, und wobei zuletzt
die Daten, die von der CPU bestimmt wurden und bezüglich
derer eine Cache-Fehlanzeige vorliegt, parallel zum Cache-
Speicher und der CPU übertragen werden, wodurch die Daten
übertragung vom Speichersystem zum Cache-Speicher mit einer
minimalen Anzahl von Zeiten bzw. Zeitzyklen durchgeführt
werden kann.
Claims (8)
1. Cache-System, bei dem eine CPU und ein Cache-Speicher, die
vom gleichen Timing-Taktimpuls beaufschlagt werden, in
einem Speichersystem über einen Systembus miteinander ver
bunden sind,
dadurch gekennzeichnet,
daß es folgendes umfaßt:
eine Signalleitung, die den Systembus, die CPU und den Cache-Speicher miteinander verbindet, und sowohl im Fall, daß die CPU der Bus-Master ist, als auch im Fall, daß der Cache-Speicher der Bus-Master ist, ein beiden gemeinsames Signal überträgt und empfängt, und
eine Signalleitung, welche eine Schalteinrichtung umfaßt, um die Signalleitung selektiv zwischen dem Systembus und der CPU oder zwischen dem Systembus und dem Cache-Speicher zu verbinden, und die ein unterschiedliches Signal über trägt und empfängt je nachdem, ob die CPU der Bus-Master oder der Cache-Speicher der Bus-Master ist,
wobei dann, wenn der Cache-Speicher der Bus-Master ist, die CPU in einen Standby-Zustand versetzt wird und die Schalteinrichtung so geschaltet wird, daß der Cache-Spei cher mit dem Systembus verbunden ist, und
wobei dann, wenn die CPU der Bus-Master ist, die Schalt einrichtung so geschaltet ist, daß die CPU mit dem System bus verbunden ist.
eine Signalleitung, die den Systembus, die CPU und den Cache-Speicher miteinander verbindet, und sowohl im Fall, daß die CPU der Bus-Master ist, als auch im Fall, daß der Cache-Speicher der Bus-Master ist, ein beiden gemeinsames Signal überträgt und empfängt, und
eine Signalleitung, welche eine Schalteinrichtung umfaßt, um die Signalleitung selektiv zwischen dem Systembus und der CPU oder zwischen dem Systembus und dem Cache-Speicher zu verbinden, und die ein unterschiedliches Signal über trägt und empfängt je nachdem, ob die CPU der Bus-Master oder der Cache-Speicher der Bus-Master ist,
wobei dann, wenn der Cache-Speicher der Bus-Master ist, die CPU in einen Standby-Zustand versetzt wird und die Schalteinrichtung so geschaltet wird, daß der Cache-Spei cher mit dem Systembus verbunden ist, und
wobei dann, wenn die CPU der Bus-Master ist, die Schalt einrichtung so geschaltet ist, daß die CPU mit dem System bus verbunden ist.
2. Cache-System nach Anspruch 1,
dadurch gekennzeichnet,
daß im Falle, daß Objektdaten für den Zugriff im Falle
eines von der CPU durchgeführten Speicherzugriffs im Cache-
Speicher nicht gespeichert sind, die CPU in einen Standby-
Zustand versetzt wird, und daß die CPU betätigt wird, um
diese Daten hierin zu speichern, nachdem die Objektdaten
für den Zugriff vom Speichersystem ausgelesen worden sind
und im Cache-Speicher gespeichert wurden.
3. Cache-System nach Anspruch 1,
dadurch gekennzeichnet,
daß die Schalteinrichtung ein Multiplexer ist, dessen Be
trieb mittels eines Steuersignals gesteuert wird, welches
vom Cache-Speicher abgegeben wird.
4. Cache-System, in dem eine CPU, ein Cache-Speicher und ein
Speichersystem direkt oder indirekt mit dem gleichen System
bus verbunden sind,
dadurch gekennzeichnet,
daß, wenn Objektdaten für den Zugriff im Falle eines von
der CPU durchgeführten Speicherzugriffs im Cache-Speicher
nicht gespeichert sind, der Cache-Speicher ein Steuersignal
abgibt, welches die CPU auffordert, den Speicherzugriff
für das Speichersystem des Objekts nochmals durchzuführen,
sowie ein Steuersignal, welches das Speichersystem auffor
dert, den Speicherzugriff anzunehmen.
5. Cache-System, bei dem eine CPU, ein Cache-Speicher und ein
Speichersystem, die von dem gleichen Timing-Taktimpuls ange
trieben sind, direkt oder indirekt mit einem Systembus ver
bunden sind,
dadurch gekennzeichnet,
daß es folgendes aufweist:
eine Signalleitung, die den Systembus, die CPU und den Cache-Speicher miteinander verbindet und die ein beiden gemeinsames Signal überträgt und empfängt für den Fall, daß die CPU der Bus-Master ist und für den Fall, daß der Cache-Speicher der Bus-Master ist, und
eine Signalleitung, welche eine Schalteinrichtung aufweist, um die Signalleitung selektiv zwischen dem Systembus und der CPU oder zwischen dem Systembus und dem Cache-Speicher zu verbinden, und die unterschiedliche Signale überträgt und empfängt, wenn die CPU der Bus-Master oder wenn der Cache-Speicher der Bus-Master ist,
wobei, wenn im Falle eines von der CPU ausgeführten Spei cherzugriffs Objektdaten für den Zugriff nicht im Cache- Speicher gespeichert sind, der Cache-Speicher ein Steuer signal abgibt, welches die CPU auffordert, den Speicherzu griff für das Speichersystem des Objekts nochmals durchzu führen, sowie ein Steuersignal, um das Speichersystem aufzu fordern, den Speicherzugriff anzunehmen.
eine Signalleitung, die den Systembus, die CPU und den Cache-Speicher miteinander verbindet und die ein beiden gemeinsames Signal überträgt und empfängt für den Fall, daß die CPU der Bus-Master ist und für den Fall, daß der Cache-Speicher der Bus-Master ist, und
eine Signalleitung, welche eine Schalteinrichtung aufweist, um die Signalleitung selektiv zwischen dem Systembus und der CPU oder zwischen dem Systembus und dem Cache-Speicher zu verbinden, und die unterschiedliche Signale überträgt und empfängt, wenn die CPU der Bus-Master oder wenn der Cache-Speicher der Bus-Master ist,
wobei, wenn im Falle eines von der CPU ausgeführten Spei cherzugriffs Objektdaten für den Zugriff nicht im Cache- Speicher gespeichert sind, der Cache-Speicher ein Steuer signal abgibt, welches die CPU auffordert, den Speicherzu griff für das Speichersystem des Objekts nochmals durchzu führen, sowie ein Steuersignal, um das Speichersystem aufzu fordern, den Speicherzugriff anzunehmen.
6. Cache-System nach Anspruch 5,
dadurch gekennzeichnet,
daß die Schalteinrichtung ein Multiplexer ist, dessen
Schaltbetrieb von einem vom Cache-Speicher abgegebenen
Steuersignal gesteuert ist.
7. Steuerungsverfahren für ein Cache-System, welches mit einer
CPU, einem Cache-Speicher und einem Speichersystem versehen
ist,
dadurch gekennzeichnet,
wenn Objektdaten für den Zugriff im Falle eines von der
CPU durchgeführten Speicherzugriffs im Cache-Speicher nicht
gespeichert sind und eine Vielzahl von Daten vom Speicher
system zum Cache-Speicher blockübertragen werden müssen,
Daten, deren Adresse innerhalb einer Blockadresse um 1 in
krementiert werden, zunächst übertragen werden, daß hier
nach die verbleibenden Daten sequentiell in der erhaltenen
Reihenfolge in der gleichen Weise übertragen werden, und
daß zuletzt die Objektdaten für den Zugriff parallel zur
CPU und dem Cache-Speicher übertragen werden.
8. Steuerungsverfahren für ein Cache-System, welches mit einer
CPU, einem Cache-Speicher und einem Speichersystem versehen
ist,
dadurch gekennzeichnet,
daß, wenn Objektdaten für den Zugriff im Falle eines von
der CPU durchgeführten Speicherzugriffs im Cache-Speicher
nicht gespeichert sind und eine Vielzahl von Daten vom Spei
chersystem zum Cache-Speicher blockübertragen werden soll,
Daten, deren Adresse innerhalb einer Blockadresse um 1 de
krementiert werden, zunächst übertragen werden, daß hier
nach die verbleibenden Daten in der enthaltenen Ordnung
in der gleichen Weise sequentiell übertragen werden, und
daß zuletzt Objektdaten für den Zugriff parallel zur CPU
und dem Cache-Speicher übertragen werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63011222A JPH01187651A (ja) | 1988-01-21 | 1988-01-21 | キヤツシユシステム |
JP63011223A JPH01187653A (ja) | 1988-01-21 | 1988-01-21 | キヤツシユシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3842100A1 true DE3842100A1 (de) | 1989-08-03 |
DE3842100C2 DE3842100C2 (de) | 1995-05-04 |
Family
ID=26346636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3842100A Expired - Fee Related DE3842100C2 (de) | 1988-01-21 | 1988-12-14 | Steuerungsverfahren für ein Cache-System |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE3842100C2 (de) |
GB (1) | GB2214670B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0636955A1 (de) * | 1993-07-26 | 1995-02-01 | Hitachi, Ltd. | Steuerungseinheit für ein Fahrzeug und ein gesamtes Steuerungssystem hierfür |
US7653462B2 (en) | 1993-07-26 | 2010-01-26 | Hitachi, Ltd. | Control unit for vehicle and total control system therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2011679A (en) * | 1977-12-22 | 1979-07-11 | Honeywell Inf Systems | Cache memory in system in data processor |
JPS54128636A (en) * | 1978-03-30 | 1979-10-05 | Toshiba Corp | Cash memory control system |
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941088A (en) * | 1985-02-05 | 1990-07-10 | Digital Equipment Corporation | Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses |
-
1988
- 1988-12-07 GB GB8828558A patent/GB2214670B/en not_active Expired - Fee Related
- 1988-12-14 DE DE3842100A patent/DE3842100C2/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2011679A (en) * | 1977-12-22 | 1979-07-11 | Honeywell Inf Systems | Cache memory in system in data processor |
JPS54128636A (en) * | 1978-03-30 | 1979-10-05 | Toshiba Corp | Cash memory control system |
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
Non-Patent Citations (2)
Title |
---|
DE-Z.: Elektronik, Heft 25, 11. Dezember 1987, S. 54-58 * |
US-Z.: Electronics, Heft 12, 11. Juni 1987, S. 74-76 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0636955A1 (de) * | 1993-07-26 | 1995-02-01 | Hitachi, Ltd. | Steuerungseinheit für ein Fahrzeug und ein gesamtes Steuerungssystem hierfür |
US7653462B2 (en) | 1993-07-26 | 2010-01-26 | Hitachi, Ltd. | Control unit for vehicle and total control system therefor |
Also Published As
Publication number | Publication date |
---|---|
GB8828558D0 (en) | 1989-01-11 |
GB2214670A (en) | 1989-09-06 |
DE3842100C2 (de) | 1995-05-04 |
GB2214670B (en) | 1992-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
DE3724317C2 (de) | ||
EP0115609B1 (de) | Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem | |
DE3687787T2 (de) | Speicherzugriff-steuerungsschaltung. | |
DE69025524T2 (de) | Vorrichtung und Verfahren zur Steuerung von Speicherzugriffsanforderungen in einem digitalen Datenverarbeitungssystem | |
DE3339645A1 (de) | Bidirektional arbeitende anordnung zur justierung von datenbytes in einer digitalen datenverarbeitungsanlage | |
DE2230119C2 (de) | Einrichtung zur elektronischen Überwachung des Auftretens von Ereignissen innerhalb bestimmter Zeitabschnitte | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE1966633B2 (de) | Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
EP0974977A2 (de) | Integrierter Speicher | |
DE69031297T2 (de) | Eingabewarteschlange für Speichersubsysteme | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. | |
DE69033416T2 (de) | Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion | |
DE69629331T2 (de) | System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie | |
EP0409330B1 (de) | Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE19842677A1 (de) | Speicherzugriff-Steuerschaltung | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE2749884C2 (de) | ||
DE69323662T2 (de) | Verfahren zur Bestimmung von Geräten, die die Übertragung von Datensignalen auf einem Bus anfordern | |
DE4103880C2 (de) | Bildverarbeitungsgerät und -verfahren | |
DE60100450T2 (de) | Multiprozessorschnittstelle | |
DE3842100A1 (de) | Cache-system sowie steuerungsverfahren hierfuer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |