DE4114053A1 - Computersystem mit cachespeicher - Google Patents
Computersystem mit cachespeicherInfo
- Publication number
- DE4114053A1 DE4114053A1 DE4114053A DE4114053A DE4114053A1 DE 4114053 A1 DE4114053 A1 DE 4114053A1 DE 4114053 A DE4114053 A DE 4114053A DE 4114053 A DE4114053 A DE 4114053A DE 4114053 A1 DE4114053 A1 DE 4114053A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- data
- register
- stored
- computer system
- 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.)
- Withdrawn
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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
Description
Die Erfindung betrifft Computersysteme und insbesondere
Verfahren und Anordnungen, die der Verringerung der Zugriffs
zeit bei der Durchführung von Speicheroperationen in Computer
systemen dienen.
In Computersystemen verbraucht der Zugriff auf den Haupt
speicher zum Wiederauffinden von Informationen oftmals einen
wesentlichen Teil der Operationszeit des Systems. Aus diesem
Grund wurde in fortgeschritteneren Systemen die Anwendung eines
Cachespeichers bevorzugt, um die Systemgeschwindigkeit zu erhö
hen. Ein Cachespeicher benutzt einen schnellen RAM relativ ge
ringer Größe, in welchem kurz zuvor benutzte Befehle und Daten,
wie sie von einem Prozessor benutzt werden, gespeichert werden.
Solche Befehle und Daten sind dann für den Zugriff durch den
zugeordneten Prozessor im Cachespeicher schneller als im Haupt
speicher verfügbar. Der Grundgedanke dieser Cachespeicherung
ist, daß im allgemeinen Informationen, die vor kurzem genutzt
wurden, mit höherer Wahrscheinlichkeit eher benutzt werden als
andere Informationen. Der Cachespeicher ist oftmals sowohl phy
sikalisch schneller als der als Hauptspeicher benutzte RAM als
auch so angeordnet, daß er schneller adressiert werden kann als
der Hauptspeicher. In virtuellen Speichersystemen beispiels
weise muß ein Cachespeicher keine Nachschlag-Operation einer
Speichermanagementeinheit durchlaufen, um die physikalische
Adresse zu bestimmen, wie dies beim Zugreifen auf den Haupt
speicher notwendig ist. Solche Cachespeicher-Anordnungen be
wirkten eine beträchtliche Erhöhung der Arbeitsgeschwindigkeit
von Computersystemen für Informationsarten.
Es gibt viele Arten von Cachespeichern, die zur Verwendung
mit einem speziellen Prozessor vorgesehensein können. In den
meisten dieser Arten von Cachespeichern können Informationen
von einer Anzahl verschiedener physikalischer Orte im Haupt
speicher auf denselben Ort im Cachespeicher abgebildet werden.
Infolgedessen muß nach einer endlichen Zeitdauer die Informa
tion, die an einer Position im Cachespeicher gespeichert ist,
durch eine andere Information, die durch den Prozessor benötigt
wird, ersetzt werden. Einige Cachespeicher-Systeme (sogenannte
Write-Back-Systeme) übertragen in den Cachespeicher geschrie
bene Informationen nicht sofort bei deren Eingabe auch in den
Hauptspeicher, sondern halten diese Informationen bis zu einem
späteren geeigneten Zeitpunkt zurück. Solche Systeme machen
meistens weniger Gebrauch vom Systembus und sind somit schnel
ler.
In einer Write-Back-Cachespeicher-Anordnung kann es vorkom
men, daß eine gültige Information, die sich an einer Position
im Cachespeicher befindet, an welcher eine neue Information ge
speichert werden soll, noch nicht zum Hauptspeicher übertragen
wurde, so daß die Speicherung der neuen Information einen Ver
lust der alten Information bewirken würde. Somit können bei ei
nem Cache-Fehlversuch Daten nicht im Cachespeicher gespeichert
werden. Aus diesem Grunde erfordert ein Speicherbefehl typi
scherweise ein Überprüfen auf Vorhandensein eines Cache-Fehl
versuchs; wenn es keinen Fehlversuch gibt, dann ist die Infor
mation, auf die zugegriffen werden soll, im Cachespeicher, und
eine Speicherung kann ausgeführt werden. Diese Überprüfung er
fordert einen zusätzlichen Taktzyklus für die Operation und be
wirkt eine wesentliche Verzögerung in einem Pipeline-Computer
system bei welchem erwartet wird, daß in jedem Taktzyklus ein
Befehl ausgeführt wird.
Es ist deshalb Aufgabe der vorliegenden Erfindung, die Ope
rationsgeschwindigkeit des Computersystems zu erhöhen und ins
besondere die mit der Ausführung eines Speicherbefehls verbun
dene Verzögerung zu reduzieren, die mit dem Adressieren des Ca
chespeichers vor dem Abspeichern von Informationen im Cache
speicher verbunden ist.
Diese Aufgabe wird erfindungsgemäß gelöst durch das Com
putersystem mit den Merkmalen des Patentanspruchs 1.
Weiterbildungen der Erfindung sind in den Unteransprüchen
gekennzeichnet.
Weitere Vorteile und Merkmale der Erfindung ergeben sich
aus der folgenden Beschreibung eines bevorzugten Ausführungs
beispiels im Zusammenhang mit der beiliegenden Zeichnung. Die
Zeichnung zeigt in:
Fig. 1 ein Blockdiagramm eines Ausführungsbeispiels ei
ner Cachespeicher-Anordnung; und
Fig. 2 ein Zeitdiagramm, das die Reihenfolge der Ereig
nisse in einer typischen Operation unter Nutzung
der Erfindung darstellt.
In Fig. 1 ist in Form eines Blockschaltbilds eine gemäß der
Erfindung aufgebaute Speicheranordnung 10 dargestellt. Die An
ordnung 10 beinhaltet ein Feld eines Speichers mit wahlfreiem
Zugriff (RAM) 12, welcher im bevorzugten Ausführungsbeispiel
aus sehr schnellen Speicherbauelementen aufgebaut ist. Der RAM
12 wird benutzt als Cachespeicher für mindestens einen Teil ei
nes Computersystems. Dem RAM 12 ist eine Steuerschaltung 14 zu
geordnet. Die Steuerschaltung 14 des bevorzugten Ausführungs
beispiels kann eine Zustandsmaschine sein, die in bekannter
Weise geeignet ist, in Antwort auf ausgewählte Eingangssignale
bestimmte Ausgangssignale zu erzeugen. Beispielsweise empfängt
die Steuerschaltung 14 Eingangssignale, die zugegriffene Adres
sen, Schreib-Steuersignale, und Schreib-Abbruch-Signale dar
stellen. Die Schreibsignale werden von Schreibsignalquellen 16
geliefert und direkt der Steuerschaltung 14 zur Verfügung ge
stellt. Die Adreßsignale werden von einer nicht gezeigten
Quelle, wie z. B. einem Prozessor, an ein Adreßregister 17 ge
liefert. Ausgehend vom Register 17 werden die Adreßsignale von
einer Serie von logischen Elementen genutzt, um Steuersignale
für die Steuerschaltung 14 zur Verfügung zu stellen. Die
Schreib-Abbruch-Signale werden von einer Schaltung geliefert,
die ermittelt, ob ein Cache-Fehlversuch bei einem Speicherzu
griff auf den RAM 12 auftritt.
Das Adreßregister 17 ist über eine Mehrzahl von Leitungen
mit einem ersten Adreßpufferregister 20 verbunden. Die Anzahl
der benutzten Leitungen reicht in dem speziellen Computersystem
aus, um alle Bits einer Adresse parallel zum ersten Adreßpuf
ferregister 20 zu übertragen. In gleicher Weise ist das erste
Adreßpufferregister 20 durch eine gleiche Anzahl von Leitungen
mit dem zweiten Adreßpufferregister 21 verbunden. Jedes der
beiden Adreßpufferregister 20 und 21 ist in einer Schaltungsan
ordnung aufgebaut, die eine Adresse, auf die in der Speicheran
ordnung 10 zugegriffen wird, speichern kann. Es sollte bemerkt
werden, daß mit nur geringen Schaltungsänderungen eine belie
bige Anzahl von Puffern in der Pipeline benutzt werden kann, um
die angestrebten Ergebnisse zu erzielen.
Die in dem RAM 12 zu speichernden Daten werden von einer
Quelle, beispielsweise einem Prozessor (nicht gezeigt), einem
Datenregister 18 zugeführt. Ähnlich der Adressierungsanordnung,
ist das Datenregister über mehrere Leitungen mit einem ersten
Datenpufferregister 23 verbunden. Die Anzahl der benutzten Lei
tungen reicht in dem speziellen Computersystem aus, um alle im
RAM 12 zu speichernden Datenbits in einer einzigen Speicherope
ration parallel zum ersten Datenpufferregister 23 zu übertra
gen. Das erste Datenpufferregister 23 ist über die gleiche An
zahl von Leitungen mit einem zweiten Datenpufferregister 24
verbunden. Jedes der beiden Datenpufferregister 23 und 24 ist
so aufgebaut, daß es die in der Speicheranordnung 10 zu spei
chernden Daten speichern kann. Wiederum kann eine größere oder
kleinere Anzahl von Datenpufferregistern verwendet werden; aber
die Erfindung läßt sich einfacher beschreiben mit nur zwei Stu
fen.
Ein Multiplexer 26 empfängt Eingangssignale direkt vom
Adreßregister 17 und vom zweiten Adreßpufferregister 21. In
ähnlicher Weise empfängt ein Multiplexer 27 Eingangssignale di
rekt vom Datenregister 18 und von sowohl dem ersten Datenpuf
ferregister 23 als auch dem zweiten Datenpufferregister 24. Je
der der beiden Multiplexer 26 und 27 liefert Eingangssignale
zum RAM 12, so daß die Informationen, die für die Speicherung
an einer einzelnen Adresse im RAM 12 ausgewählt wurden, dort in
bekannter Weise gespeichert werden können.
Ein Paar von Komparatoren 28 und 29 liefert die Ergebnisse
eines Vergleichs der Eingangsadressen an die Steuerschaltung
14. Jeder dieser Komparatoren empfängt ein Eingangssignal di
rekt vom Adreßregister 17. Der Komparator 28 empfängt außerdem
die im ersten Adreßpufferregister 20 gespeicherte Adresse, wäh
rend der Komparator 29 außerdem die im zweiten Adreßpufferregi
ster 21 gespeicherte Adresse empfängt.
Der RAM 12 liefert ein Datenausgabesignal über eine Mehr
zahl von Leitungen zum Multiplexer 33. Der Multiplexer 33 emp
fängt außerdem Daten direkt vom Multiplexer 27. Die vom Multi
plexer 33 übertragenen Daten werden an ein Datenausgaberegister
34 angelegt, welches bewirkt, daß genügend Zeit für die Nutzung
des Ausgangssignals des RAM 12 zur Verfügung gestellt wird.
Wie bereits zuvor dargelegt, erfordert ein Speicherbefehl
in bekannten Systemen typischerweise eine Überprüfung auf Vor
handensein eines Cache-Fehlversuchs; tritt kein Fehlversuch
auf, dann befindet sich die Information, auf die zugegriffen
wird, im Cachespeicher und eine Speicherung kann ausgeführt
werden. Dies erfordert eine Verzögerung über eine Anzahl von
Operationstaktzyklen und bewirkt eine wesentliche Verzögerung
in einem Pipeline-Computersystem, in welchem erwartet wird, daß
zu jedem Taktzyklus ein Befehl ausgeführt wird. Beispielsweise
ist zu erwarten, daß die Erfindung in einem Computer mit redu
ziertem Befehlssatz (RISC), wie beispielsweise dem von Sun
Microsystems, Inc., Mountain View, Kalifornien, entwickelten
und hergestellten Computer mit skalierbarer Prozessorarchitek
tur (SPARC), benutzt wird.
Um dieser durch eine Überprüfung auf einen Cache-Fehlver
such in solchen Systemen verursachten Verzögerung vorzubeugen,
benutzt die vorliegende Speicheranordnung 10 das erste Adreß
pufferregister 20, das zweite Adreßpufferregister 21, das erste
Datenpufferregister 23 und das zweite Datenpufferregister 24
und sieht einen gepufferten Eingang zum RAM 12 vor, so daß eine
geeignete Zeitspanne zur Verfügung gestellt wird, um dem Iden
tifizierungsteil des Cachespeichers die Feststellung eines
Fehlversuchs an der bei einer Speicheroperation zugegriffenen
Adresse zu ermöglichen. Dieser gepufferte Eingang erlaubt die
Fortsetzung des Pipelineprozesses ohne den normalerweise in
bekannten Systemen erforderlichen Halt für eine Überprüfung auf
einen Cache-Fehlversuchs und erhöht somit wesentlich die Opera
tionsgeschwindigkeit der Speicheranordnung 10.
Bezugnehmend wiederum auf Fig. 1 wird im Falle einer Leseo
peration die Adresse, von der gelesen werden soll, während ei
nes ersten Taktzyklus′ in das Adreßregister 17 eingeordnet. Da
die Daten vom Cachespeicher oder anderen Speichern bezogen wer
den sollen, werden keine Daten im Datenregister 18 plaziert. Im
nächsten Taktzyklus wird die Adresse im Adreßregister 17 durch
den Multiplexer 26 zum RAM 12 übertragen. Dies ist der normale
Weg für eine Leseoperation.
Andererseits wird in einer Speicheroperation während eines
ersten Taktzyklus die Adresse zum Adreßregisters 17 geliefert,
und die zu speichernden Daten werden im Datenregister 18 einge
ordnet. Es versteht sich, daß in verschiedenen Operationssche
men die Daten hinter den Adressen um einen Taktzyklus zurück
bleiben können; um jedoch das Verständnis der Operation zu er
leichtern, sei angenommen, daß die Daten und die Adressen für
diese Daten im selben Taktzyklus geliefert werden. Im nächsten
Taktzyklus werden die Adressen und die Daten in das erste
Adreßpufferregister 20 bzw. das erste Datenpufferregister 23
eingegeben. Es sollte angemerkt werden, daß nur eine Speicher
operation bewirkt, daß Informationen im ersten Adreß- bzw. Da
tenpufferregister 20 und 23 eingeordnet werden. Mit dem Auftre
ten der nächsten Speicheroperation werden die Adresse im ersten
Adreßpufferregister 20 und die Daten im ersten Datenpufferregi
ster 23 in das zweite Adreßpufferregister 21 bzw. das zweite
Datenpufferregister 24 getaktet. Dies stellt zumindest zwei
Taktzyklen zur Verfügung, in welchen das System prüfen kann, ob
die Adreßinformation im RAM 12 gespeichert ist, bevor die neue
Information auf diese Adresse im RAM 12 gelangen muß. Bei der
nächsten Speicheroperation werden die Adresse im zweiten Adreß
pufferregister 21 und die Daten im zweiten Datenpufferregister
24 in den RAM 12 auf die adressierte Position durch ein
Schreib-Freigabe-Signal (write enable; WE) getaktet, das von
der Steuerschaltung 14 an den RAM 12 angelegt wird. Wenn jedoch
die Adresse, auf die für die Speicheroperation zugegriffen
wird, nicht im RAM 12 vorhanden ist, wird das Schreib-Freigabe-
Signal nicht geliefert, und die Schreiboperation wird abgebro
chen, so daß die Information an der adressierten Position des
RAM 12 nicht überschrieben wird.
Die zwei Komparatoren 28 und 29 werden benutzt, um eine Le
seoperation zu ermöglichen, die in einer Situation auftritt, in
welcher eine Speicherung zu einer Adresse stattgefunden hat,
aber die Information noch nicht im RAM 12 ist, weil sie noch
nicht die durch das erste Datenpufferregister 23 und das zweite
Datenpufferregister 24 gebildete Pipeline durchlaufen hat. Die
Adresse im Adreßregister 17, von der gelesen werden soll, wird
durch die Komparatoren 28 und 29 mit den in den Registerstufen
der Adressen-Informationsleitung gehaltenen Adressen vergli
chen. Wenn in einer Leseoperation die Adresse im Adreßregister
17 gleich der Adresse entweder des ersten Adreßpufferregisters
20 oder des zweiten Adreßpufferregisters 21 ist, so bewirkt die
Steuerschaltung 14, daß die Daten im zugeordneten ersten Daten
pufferregister 23 oder zweiten Datenpufferregister 24 durch den
Multiplexer 27 ausgewählt und direkt über den Multiplexer 33
zum Ausgangsregister 34 übertragen werden, und zwar ohne Warten
auf die Informationen, welche im RAM 12 gespeichert werden sol
len.
Die Arbeitsweise der Speicheranordnung 10 kann besser mit
Hilfe des Zeitdiagramms von Fig. 2 verstanden werden. Eine An
zahl von System-Taktzyklen, von 1 bis 9, sind im obersten Teil
der Fig. 2 dargestellt. Am linken Rand der Figur sind die ver
schiedenen Signale aufgelistet. Die Figur illustriert die Be
dingungen für diese Signale während jedes der gezeigten Taktzy
klen.
In Fig. 2 kann man sehen, daß in jedem Taktzyklus eine neue
Adresse über die Eingangsleitungen zum Adreßregister 17 gelie
fert wird. Das Ausgangssignal des Adreßregisters 17 eilt dem
Eingangssignal um einen Takt nach. Das Schreibeingangssignal
wird im Beispiel gemäß Fig. 2 an die Steuerschaltung 14 während
der Taktzyklen 2 bis 4 geliefert, weil die Adressen 2, 3 und 4
die Adressen sind, auf die geschrieben werden soll. Diese Si
gnale zeigen der Steuerschaltung 14 an, daß die Datensignale,
die gleichzeitig über die Datenleitungen als Eingangsgrößen zum
Datenregister 18 geliefert werden, im RAM 12 gespeichert werden
sollen. Außerdem zeigen diese Signale der Steuerschaltung 14,
daß die Adresse, die den Daten zugeordnet ist, in das erste
Adreßpufferregister 20 getaktet werden soll. Infolgedessen wer
den die Adressen 2, 3 und 4 sequentiell vom Adreßregister 17 in
das erste Adreßpufferregister 20 getaktet, und die diesen
Adressen zugeordneten Daten werden vom Datenregister 18 in das
erste Datenpufferregister 23 in den Taktzyklen 4, 5 bzw. 6 ge
taktet.
Es sollte angemerkt werden, daß die Informationen im ersten
Adreß- und Datenpufferregister 20 und 23 während der Taktzyklen
1 bis 3 unbestimmt und für die Arbeitsweise der Speicheranord
nung 10 unwichtig sind, wie dies durch die Fragezeichen ange
zeigt wird, die während dieser Taktzyklen für die einzelnen
Pufferregister gezeigt sind. Dies ist so, weil die Pufferregi
ster als eine Silo- bzw. FIFO-(first-in first-out)Schaltung
wirken und nur gefüllt werden, wenn ein Speicherzyklus abläuft.
Aus diesem Grunde wird die Adresse 1 nicht in die Puffer-Infor
mationsleitung eingeordnet. Somit werden im Taktzyklus 5 die
Signale der ersten Adreß- und Datenpufferregister 20 und 23
(Adresse 2) in die zweiten Adreß- und Datenpufferregister 21
und 24 plaziert, während sich die Informationen der Adresse 3
in den ersten Adreß- und Datenpufferregistern 20 und 23 befin
den. In der gleichen Weise werden im Taktzyklus 6 die Signale
der ersten Adreß- und Datenpufferregister 20 und 23 (Adresse 3)
in den zweiten Adreß- und Datenpufferregistern 21 und 24 pla
ziert, während sich die Informationen der Adresse 4 in den er
sten Adreß- und Datenpufferregistern 20 und 23 befinden. Wenn
dann die Informationen im zweiten Adreß- und Datenpufferregi
ster 21 und 24 sind, so können sie in den RAM 12 geschrieben
werden. Es sollte angemerkt werden, daß die Adresse-4- und Da
ten-4-Signale in den ersten Adreß- und Datenpufferregistern 20
und 23 nach Taktzyklus 6 gehalten werden, weil keine weiteren
Speicheroperationen ausgeführt werden, die solche Pufferregi
ster für spätere Speicheroperationen notwendig machen. In einer
ähnlichen Weise werden die Adresse-3- und Daten-3-Signale in
den zweiten Adreß- und Datenpufferregistern 21 und 24 nach
Taktzyklus 6 gehalten, weil keine weiteren Speicheroperationen
ausgeführt werden.
Die Adreß- und Daten-Eingabesignale für den RAM 12 sind als
A bzw. D in Fig. 2 dargestellt. Wie bereits gesagt, wird bei
einer Leseoperation das Adreßeingabesignal zum RAM 12 durch den
Multiplexer 26 direkt vom Adreßregister 17 geliefert. Somit
werden in den Taktzyklen 2, 6, 7 und 8 die Adressen im Adreßre
gister 17 zum RAM 12 durch den Multiplexer 26 geliefert. Da
keine Datensignale für eine Leseoperation erforderlich sind,
werden die Informationen des Eingangssignals D während dieser
Taktzyklen durch ein Fragezeichen dargestellt.
Andererseits werden Informationen in den RAM 12 nur bei
Auftreten einer Speicheroperation gespeichert. Da die Spei
cherinformation durch die Multiplexer 26 und 27 vom zweiten
Adreß- und Datenpufferregister 21 bzw. 24 gelesen wird und
diese Pufferregister noch nicht gefüllt sind, wenn die erste
Speicheradresse im Taktzyklus 3 im Adreßregister erscheint,
findet keine Operation statt, obwohl ein Schreib-Freigabe-Si
gnal (WE) zu diesem Taktzyklus präsent ist. Das gleiche ge
schieht im Taktzyklus 4. Im Taktzyklus 5 jedoch sind Adreß- und
Datensignale im zweiten Adreß- und Datenpufferregister 21 und
24 vorhanden, und diese Information wird bei Auftreten eines
Schreib-Freigabe-Signals im RAM 12 gespeichert. Das Schreib-Ab
bruch-Signal kann zwei Taktzyklen nach dem Beginn der Speicher
operation auftreten, um dem System Zeit zu geben festzustellen,
ob ein Fehlversuch an der für die Speicheroperation zugegriffe
nen Adresse auftrat, ohne eine Verzögerung in der Pipeline-Ope
ration zu verursachen (das Schreib-Abbruch-Signal wird im Takt
4 beansprucht, um die Adresse 2 abzubrechen). Infolgedessen ar
beitet das System mit einer wesentlich höheren Geschwindigkeit
als bekannte Systeme.
Das Signal, das im achten Taktzyklus auf den Adreßleitungen
erscheint, sollte beachtet werden. Es ist ein Lesesignal zur
Adresse 3, einer Adresse, welche noch nicht im RAM 12 gespei
chert wurde, welche sich aber im zweiten Adreßpufferregister 21
befindet. Diese Adresse im Adreßregister wird verglichen mit
der Adresse im zweiten Adreßpufferregister 21 durch den Kompa
rator 29 und veranlaßt die Steuerschaltung 14, dem Multiplexer
27 und dem Multiplexer 33 die Übertragung der Daten im zweiten
Datenpufferregister 24 zum Ausgangsregister 34 in der oben be
schriebenen Weise zu ermöglichen. Ein spezieller Vorteil der
Erfindung ist, daß der sehr geringe Hardwareaufwand zur Reali
sierung der Erfindung eine direkte Anordnung auf dem RAM-Chip
gestattet, so daß die komplexen Daten- und Adreßpfadverbindun
gen innerhalb des Chips liegen, wodurch die Komplexität und die
Pinzahlen für den Rest des Systems kleiner werden.
Claims (7)
1. Computersystem mit einem Cachespeicher,
gekennzeichnet durch :
Mittel (20...24) zur Pufferung von im Cachespeicher zu speichernden Daten;
Mittel zur Überprüfung des Cachespeichers und zur Feststel lung, ob der Cachespeicher die zugegriffenen Informationen ent hält, und
in Abhängigkeit von einem Cache-Fehlversuch wirkende Mit tel, welche eine Speicheroperation beenden, bevor die Informa tionen die Pufferungsmittel verlassen.
Mittel (20...24) zur Pufferung von im Cachespeicher zu speichernden Daten;
Mittel zur Überprüfung des Cachespeichers und zur Feststel lung, ob der Cachespeicher die zugegriffenen Informationen ent hält, und
in Abhängigkeit von einem Cache-Fehlversuch wirkende Mit tel, welche eine Speicheroperation beenden, bevor die Informa tionen die Pufferungsmittel verlassen.
2. Computersystem nach Anspruch 1, dadurch gekennzeichnet,
daß die Mittel zur Pufferung von im Cachespeicher zu speichern
den Daten Mittel (20...24) zur Bildung einer Pipeline von zuzu
greifenden Adressen und unter diesen Adressen zu speichernden
Daten enthalten.
3. Computersystem nach Anspruch 2, dadurch gekennzeichnet,
daß die Mittel zur Bildung der Pipeline ein erstes Adreßpuffer
register (20) zur Speicherung der Adresse der zu speichernden
Information und ein erstes Datenpufferregister (23) zur Spei
cherung von Daten aufweisen, die unter der im ersten Adreßpuf
ferregister gespeicherten Adresse gespeichert werden sollen.
4. Computersystem nach Anspruch 3, dadurch gekennzeichnet,
daß die Mittel zur Bildung der Pipeline weiterhin ein zweites
Adreßpufferregister (21) zur Speicherung der Adresse der zu
speichernden Information und ein zweites Datenpufferregister
(24) zum Speichern der Daten aufweisen, die unter der im zwei
ten Adreßpufferregister (21) gespeicherten Adresse gespeichert
werden sollen.
5. Computersystem nach einem der Ansprüche 2 bis 4, gekenn
zeichnet durch ein Eingangsadreßregister (17) und Mittel zur
Auswahl von Adressen von entweder dem Eingangsadreßregister
(17) oder der Pipeline der zuzugreifenden Adressen.
6. Computersystem nach Anspruch 5, gekennzeichnet durch
Mittel (28, 29) zum Vergleichen der Adresse in dem Eingangs
adreßregister (17) mit einer Adresse in der Pipeline der zuzu
greifenden Adressen, um zu bestimmen, ob eine zu lesende
Adresse in der Pipeline existiert.
7. Computersystem nach Anspruch 6, gekennzeichnet durch
Mittel (27) zum Zugreifen auf in der Pipeline gespeicherte Da
ten, wenn eine zu lesende Adresse in der Pipeline existiert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51632290A | 1990-04-30 | 1990-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4114053A1 true DE4114053A1 (de) | 1991-10-31 |
Family
ID=24055058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4114053A Withdrawn DE4114053A1 (de) | 1990-04-30 | 1991-04-29 | Computersystem mit cachespeicher |
Country Status (6)
Country | Link |
---|---|
US (1) | US5283890A (de) |
JP (1) | JP3407808B2 (de) |
DE (1) | DE4114053A1 (de) |
GB (1) | GB2244158B (de) |
HK (1) | HK57395A (de) |
SG (1) | SG10895G (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001042926A1 (en) * | 1999-12-13 | 2001-06-14 | Infineon Technologies North America Corp. | Interface for a memory unit |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5526510A (en) * | 1994-02-28 | 1996-06-11 | Intel Corporation | Method and apparatus for implementing a single clock cycle line replacement in a data cache unit |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5551001A (en) * | 1994-06-29 | 1996-08-27 | Exponential Technology, Inc. | Master-slave cache system for instruction and data cache memories |
US5692152A (en) * | 1994-06-29 | 1997-11-25 | Exponential Technology, Inc. | Master-slave cache system with de-coupled data and tag pipelines and loop-back |
US5829018A (en) * | 1994-10-25 | 1998-10-27 | International Business Machines Corporation | Apparatus and method for writing data from a cache to a storage device |
US5745729A (en) * | 1995-02-16 | 1998-04-28 | Sun Microsystems, Inc. | Methods and apparatuses for servicing load instructions |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
US6671781B1 (en) * | 2000-12-08 | 2003-12-30 | Lsi Logic Corporation | Data cache store buffer |
GB0031733D0 (en) | 2000-12-28 | 2001-02-07 | Power X Ltd | Method and device for operating a ram memory |
US20050206648A1 (en) * | 2004-03-16 | 2005-09-22 | Perry Ronald N | Pipeline and cache for processing data progressively |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442488A (en) * | 1980-05-05 | 1984-04-10 | Floating Point Systems, Inc. | Instruction cache memory system |
US4363095A (en) * | 1980-12-31 | 1982-12-07 | Honeywell Information Systems Inc. | Hit/miss logic for a cache memory |
US4527238A (en) * | 1983-02-28 | 1985-07-02 | Honeywell Information Systems Inc. | Cache with independent addressable data and directory arrays |
US4942518A (en) * | 1984-06-20 | 1990-07-17 | Convex Computer Corporation | Cache store bypass for computer |
US4881163A (en) * | 1986-09-19 | 1989-11-14 | Amdahl Corporation | Computer system architecture employing cache data line move-out queue buffer |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
US4875160A (en) * | 1988-07-20 | 1989-10-17 | Digital Equipment Corporation | Method for implementing synchronous pipeline exception recovery |
US4980819A (en) * | 1988-12-19 | 1990-12-25 | Bull Hn Information Systems Inc. | Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system |
GB2230120B (en) * | 1989-04-07 | 1992-12-02 | Intel Corp | Read/write ordering apparatus and method for a microprocessor |
-
1991
- 1991-02-26 GB GB9103954A patent/GB2244158B/en not_active Expired - Lifetime
- 1991-04-25 JP JP12186591A patent/JP3407808B2/ja not_active Expired - Fee Related
- 1991-04-29 DE DE4114053A patent/DE4114053A1/de not_active Withdrawn
-
1993
- 1993-02-02 US US08/012,621 patent/US5283890A/en not_active Expired - Lifetime
-
1995
- 1995-01-24 SG SG10895A patent/SG10895G/en unknown
- 1995-04-11 HK HK57395A patent/HK57395A/xx not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001042926A1 (en) * | 1999-12-13 | 2001-06-14 | Infineon Technologies North America Corp. | Interface for a memory unit |
US6507899B1 (en) | 1999-12-13 | 2003-01-14 | Infineon Technologies North American Corp. | Interface for a memory unit |
Also Published As
Publication number | Publication date |
---|---|
SG10895G (en) | 1995-06-16 |
HK57395A (en) | 1995-04-21 |
GB2244158B (en) | 1994-09-07 |
GB9103954D0 (en) | 1991-04-10 |
GB2244158A (en) | 1991-11-20 |
JP3407808B2 (ja) | 2003-05-19 |
US5283890A (en) | 1994-02-01 |
JPH07121437A (ja) | 1995-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3724317C2 (de) | ||
DE3151745C2 (de) | ||
DE3438869C2 (de) | ||
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2230119C2 (de) | Einrichtung zur elektronischen Überwachung des Auftretens von Ereignissen innerhalb bestimmter Zeitabschnitte | |
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE10056827A1 (de) | Duale Verwendung von Cache-Verbindungen | |
DE60026068T2 (de) | System für externe transaktionen mit dynamischen prioritäten | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE2912073C2 (de) | ||
DE3911721C2 (de) | ||
DE69629331T2 (de) | System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie | |
DE19782017B4 (de) | Verfahren und Computersystem zur Durchführung einer Burst-Leseoperation eines Bus-Masters aus einem Systemspeicher | |
EP1449091B1 (de) | Verfahren zum synchronisieren eines speichers mit dem hauptspeicher einer rechenanlage | |
DE3832758C2 (de) | Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers | |
EP0409330B1 (de) | Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher | |
EP1076856B9 (de) | Cache-speicher für zweidimensionale datenfelder | |
DE102007055138B4 (de) | System zum Zugreifen auf einen Einzelport-Mehrwege-Cache | |
DE3200042C2 (de) | ||
DE2902477A1 (de) | Datenverarbeitungsanordnung | |
DE69334046T2 (de) | Cache-Speichervorrichtung | |
DE102008001739A1 (de) | Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
DE4122831A1 (de) | Integrierte halbleiterschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/08 |
|
8139 | Disposal/non-payment of the annual fee |