DE3842100A1 - Cache-system sowie steuerungsverfahren hierfuer - Google Patents

Cache-system sowie steuerungsverfahren hierfuer

Info

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
Application number
DE3842100A
Other languages
English (en)
Other versions
DE3842100C2 (de
Inventor
Akira Yamada
Tatsuo Yamada
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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
Priority claimed from JP63011222A external-priority patent/JPH01187651A/ja
Priority claimed from JP63011223A external-priority patent/JPH01187653A/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE3842100A1 publication Critical patent/DE3842100A1/de
Application granted granted Critical
Publication of DE3842100C2 publication Critical patent/DE3842100C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0884Parallel 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.
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.
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.
DE3842100A 1988-01-21 1988-12-14 Steuerungsverfahren für ein Cache-System Expired - Fee Related DE3842100C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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