DE4114053A1 - Computersystem mit cachespeicher - Google Patents

Computersystem mit cachespeicher

Info

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
Application number
DE4114053A
Other languages
English (en)
Inventor
Jr Joseph Anthony Petolino
Iii Emil William Brown
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE4114053A1 publication Critical patent/DE4114053A1/de
Withdrawn 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped 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.
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.
DE4114053A 1990-04-30 1991-04-29 Computersystem mit cachespeicher Withdrawn DE4114053A1 (de)

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)

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

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

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

Cited By (2)

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