DE3781794T2 - Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. - Google Patents
Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen.Info
- Publication number
- DE3781794T2 DE3781794T2 DE8787901788T DE3781794T DE3781794T2 DE 3781794 T2 DE3781794 T2 DE 3781794T2 DE 8787901788 T DE8787901788 T DE 8787901788T DE 3781794 T DE3781794 T DE 3781794T DE 3781794 T2 DE3781794 T2 DE 3781794T2
- Authority
- DE
- Germany
- Prior art keywords
- signal group
- address signal
- input
- comparison
- 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.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims description 95
- 238000000034 method Methods 0.000 title claims description 8
- 238000013500 data storage Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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
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 vorliegende Erfindung betrifft allgemein Datenverarbeitungssysteme und insbesondere Datenverarbeitungssysteme, in denen die zentrale Verarbeitungseinheit eine Cache-Speichereinheit enthält. Die vorliegende Erfindung erlaubt einen Schreibbetrieb in die Cache-Speichereinheit hinein innerhalb der Grenzen eines verkürzten Systemtaktzyklusses.
- In Fig. 1 wird der typische Aufbau eines Datenverarbeitungssystems gezeigt. Das Datenverarbeitungssystem enthält zumindest eine zentrale Verarbeitungseinheit 10 (oder 11), zumindest eine Eingangs/Ausgangs-Einrichtung 13 (oder 14), eine Speichereinheit 15 und einen Systembus 19, der die Vielzahl von Einheiten des Datenverarbeitungssystems miteinander verbindet. Die zentrale Verarbeitungseinheit verarbeitet Gruppen von Logiksignalen gemäß Software- und/oder Firmware-Instruktionen. Die Logiksignalgruppen, die zu verarbeiten sind, werden typischerweise in der Speichereinheit 15 gespeichert. Eine Konsoleneinheit 12, die mit der zentralen Verarbeitungseinheit bzw. mit den zentralen Verarbeitungseinheiten verbunden werden kann, kann die Vorrichtung und die gespeicherten Instruktionen für eine Initialisierung des Systems enthalten und kann als Terminal während des Betriebs des Datenverarbeitungssystems dienen. Die Eingangs/Ausgangs-Einheiten können eine Schnittstelle für den Austausch von Logiksignalgruppen zwischen dem Datenverarbeitungssystem und den Terminaleinheiten, den Massenspeichereinheiten, den Kommunikationseinheiten und irgendwelchen anderen Einheiten, die mit dem Datenverarbeitungssystem gekoppelt werden sollen, zur Verfügung stellen.
- Obwohl das System nach Fig. 1 die Prozeduren ausführen kann, die durch die Systemprogramme bestimmt werden, wird das System durch die Trennung von Hauptspeichereinheit und zentraler Verarbeitungseinheit beeinträchtigt. Diese Trennung verursacht, daß die Logiksignalgruppen, die von der Zentraleinheit benötigt werden, bei der Übertragung verzögert werden, wodurch ein negativer Einfluß auf die Systemleistungsfähigkeit und Geschwindigkeit erzeugt wird. Zudem resultiert die Größe der Speichereinheit, die von Programmen benötigt wird, die typischerweise von dem Datenverarbeitungssystem verwendet werden, allgemein darin, daß die Speichereinheit in einer langsameren Technologie (d. h. aus Kostengründen) realisiert wird und der daraus folgende, ungünstige Einfluß auf die Leistungsfähigkeit kann sich selbst dann ergeben, wenn die Speichereinheit in enger Nachbarschaft mit der zentralen Verarbeitungseinheit verbunden ist.
- Die Lösung, die typischerweise verwendet wird, um den Konflikt zu lösen, der sich aus dem Erfordernis einer großen Speichereinheit und dem Erfordernis eines schnellen Zugriffs auf logische Signalgruppen zu vernünftigen Kosten ergibt, besteht in der Verwendung des Cache oder einer Pufferspeichereinheit, die mit der Zentraleinheit verbunden ist. In Fig. 2 enthält die zentrale Verarbeitungseinheit 10 (oder 11) eine Cache-Speichereinheit 24, die mit den Verarbeitungskomponenten der zentralen Verarbeitungseinheit verbunden ist. Die Verarbeitungskomponenten enthalten eine Befehlsuntereinheit 21 und eine Ausführungsuntereinheit 23. In der Fig. 2 ist auch eine Steuereinheit 22 enthalten. Die Steuereinheit kann vorteilhafterweise verwendet werden, wenn die Ausführung einer Instruktion durch die zentrale Verarbeitungseinheit in eine Vielzahl von Instruktionssegmenten unterteilt ist, die eine überlappende Ausführung von Instruktionen gemäß einer Technik erlauben, die normalerweise als "Pipelining" der Ausführung der Befehlssequenz bezeichnet wird. Der Vorteil dieser Technik besteht darin, daß selbst dann, wenn ein segmentierter Befehl eine längere Zeit für seine Ausführungen in Anspruch nimmt, nachfolgende Befehle nach einer Zeitdauer ausgelöst werden können, die zu der Zeit gleich ist, welche für die Ausführung jedes Instruktionssegments vorgesehen ist. Die Verarbeitungsgeschwindigkeit der zentralen Verarbeitungseinheit kann deshalb erhöht werden, indem der Nachteil erhöhter Komplexität der zentralen Verarbeitungseinheit in Kauf genommen wird. Das Zeitintervall, das für die Ausführung jedes Instruktionssegmentes jedoch erforderlich ist, muß so ausgewählt werden, daß es an das Instruktionssegment, das die längste Zeit für seine Ausführung benötigt, angepaßt ist. Da die Cache-Speichereinheit Teil der zentralen Verarbeitungseinheit ist, muß der Betrieb dieser Einheit innerhalb der zugehörenden Zeit abgeschlossen sein, oder das Zeitintervall muß verlängert werden. Die Cache-Speichereinheit dient als Zwischenspeichereinrichtung (zwischen der Hauptspeichereinheit und den Ausführungsabschnitten der zentralen Verarbeitungseinheit). Die Cache-Speichereinheit speichert die Logiksignalgruppen unmittelbarster Bedeutung für die Ausführungsabschnitte der zentralen Verarbeitungseinheit, um Verzögerungen zu vermeiden, die durch das Lesen dieser Logiksignalgruppen aus dem Hauptspeicher erzeugt werden.
- Fig. 3a zeigt eine typische Implementation einer Cache-Speichereinheit gemäß bekannter Technik. Gruppen von Logiksignalen, die Daten repräsentieren, welche durch die zentrale Verarbeitungseinheit manipuliert werden sollen, werden der Ein- Daten-Speichereinrichtung 31 zugeführt. Maskiersignale können auch der Daten-Ein-Speichereinrichtung 31 zugeführt werden, wobei die Maskiersignale einen ausgewählten Abschnitt einer zugeordneten Datenlogiksignalgruppe identifizieren. Gruppen von Logiksignalen, die Adressen zugeordneter Datensignalgruppen wiedergeben, werden der Ein-Adressen-Speichereinheit 32 zugeführt. Die Speichereinheiten 31 und 32 können durch Schaltungen vom Latch-Typ, durch Schaltungen vom Flip-Flop- Typ, durch Registerschaltungen, durch Teile einer anderen Schaltung oder irgendeiner Schaltung realisiert werden, die eine Puffer-Signal-Speicherfunktion für den Rest der Cache- Speichereinheit bereitstellen können. Ein erster Abschnitt der Ausgangssignale der Ein-Adressen-Speichereinheit 32 wird den Adressen-Anschlüssen der Identifizierungskennzeichen- Speichereinheit 33 den Ein-Adressen-Anschlüssen der Datenspeichereinheit 34 zugeführt. Die zweite Gruppe der Ausgangssignale von der Ein-Adressen-Speichereinheit 32 werden den Ein-Daten-Anschlüssen der Identifizierungskennzeichen-Speichereinheit 33 zugeführt. Die Ausgangssignale der Ein-Datenspeichereinheit 31 werden den Ein-Daten-Anschlüssen der Datenspeichereinheit 34 zugeführt. Die Identifizierungskennzeichen-Speichereinheit 33 und die Datenspeichereinheit 34 bestehen aus Gruppen von Speicherzellen, wobei die Anzahl und die elektrische Kopplung der Speicherzellengruppen der ersten Signalgruppe der Adreßsignale der Ein-Adressen-Speichereinheit 32 erlauben, die Speicherzellengruppe der Einheit 33 und der Einheit 34 zu adressieren. Die Anzahl der Speicherzellen in jeder Gruppe der Identifizierungskennzeichen-Speichereinheit 33 muß dafür ausreichen, den zweiten Abschnitt der Adressensignalgruppe (abzüglich irgendwelcher Adressensignale, die durch Speichern einer Vielzahl von Datensignalgruppen bei einer gegebenen Adresse untergebracht werden) plus irgendwelche Zustandslogiksignale unterzubringen, die mit jeder abzuspeichernden Datensignalgruppe verbunden sein können. Die Anzahl der Speicherzellen jeder Gruppe der Datenspeichereinheit 34 muß ausreichend dafür sein, die Anzahl der Logiksignale, die mit jeder Adresse verbunden sind, zu speichern. Die Ausgangsanschlüsse der Datenspeichereinheit 34 werden mit der Aus-Daten-Speichereinheit 36 verbunden. Die Ausgangsanschlüsse der Identifizierungskennzeichen-Speichereinheit 33 und die Ausgangssignale von der zweiten Gruppe der Adressensignale in der Ein-Adressen-Speichereinheit 32 werden mit der Vergleichseinheit 35 verbunden. In Fig. 3b wird die Aufteilung der Adressensignalgruppen erläutert. Der erste Abschnitt der Adressensignalgruppe ist das Index-Adreßfeld, welches zugeordnete Speicherzellengruppen der Identifizierungskennzeichen-Speichereinheit und der Datenspeichereinheit 34 adressiert. Der zweite Abschnitt, der als Identifizierungskennzeichen oder Vergleichsadreßfeld in Fig. 3b bezeichnet wird, der Adressensignalgruppe ist typischerweise der Rest der Adresse, die der Datensignalgruppe zugeordnet ist und in der Identifizierungskennzeichen-Speichereinheit 33 bei der gleichen Index-Adresse wie die Datensignalgruppe, die mit der Gesamtadresse verbunden ist, gespeichert ist. Die Zellen mit gestrichelter Linie am Ende der Adressensignalgruppe der Fig. 3b geben an, daß, wenn eine Speicherzellengruppe der Datenspeichereinheit 33 eine Vielzahl von kleinsten adressierbaren Signalgruppen speichert, die Beibehaltung am wenigsten signifikanter Adreßbits redundant ist. Es ist für Fachleute, die mit dem Funktionieren der Cache-Speichereinheiten vertraut sind, auch ersichtlich, daß das Index-Feld der Adressensignalgruppe nicht den am wenigsten signifikanten Adreßbits der Adressensignalgruppe entsprechen muß, wie in der Fig. 3b gezeigt wird, sondern so ausgewählt werden kann, daß eine aus der Anzahl der Datensignalgruppen- Speicherstrategien realisiert wird.
- Eine "Lese"-Operation, die Informationen aus der Cache-Speichereinheit wiederauffindet, kann folgendermaßen verstanden werden. Die Adressensignalgruppe, die mit der Datensignalgruppe verbunden ist, die für das Lesen ausgewählt wurde, wird in die Ein-Adressen-Speichereinheit 32 eingegeben. Das Index-Adreßfeld der Adressensignalgruppe wird den Ein-Adressen-Anschlüssen des Identifizierungskennzeichen-Speichers 33 und den Ein-Adressen-Anschlüssen der Datenspeichereinheit 34 zugeführt. Da das "Lese"-Signal den Speichereinheiten 33 und 34 zugeführt wird, wird die Gruppe aus Signalen, die in dem Ort gespeichert sind, welcher durch das Index-Adreßfeld adressiert wird, d. h. das Vergleichsadreßfeld, in die Vergleichseinheit 35 eingegeben, während die Gruppe der Signale, die bei der Index-Adresse der Datenspeichereinheit 34 gespeichert sind, d. h. die Datensignalgruppe, die mit dem Indexplus Vergleichsadreßfeldern verbunden ist, in die Aus-Daten- Speichereinheit 36 eingegeben wird. Gleichzeitig wird das Identifizierungskennzeichen- oder Vergleichsadreßfeld der Adressensignalgruppe, die in der Ein-Adressen-Speichereinheit 32 gespeichert ist, in die Vergleichseinheit 35 eingegeben und mit dem Vergleichsadreßfeld, das aus der Identifizierungskennzeichen-Speichereinheit 33 ausgelesen wird, verglichen. Wenn der Vergleich positiv ist, dann ist die Datensignalgruppe der Aus-Daten-Speichereinheit 36 die ausgewählte Signalgruppe. Dieses Ergebnis wird der Aus-Daten-Speichereinheit 36 mittels eines Signals mitgeteilt, das allgemein als "Treffer"-Signal bezeichnet wird. Um den Effekt der zusätzlichen Zeit zu minimieren, die für die Durchführung des Vergleichs erforderlich ist, kann die Datensignalgruppe zu einer anderen Vorrichtung übertragen werden und das "Treffer"-Signal (oder die Abwesenheit des "Treffer"-Signals) kann dazu verwendet werden, die Übertragung der selektierten Datensignalgruppe zu einem unterschiedlichen Abschnitt der zentralen Verarbeitungseinheit zu steuern. Wenn der Vergleich negativ ist, d. h., daß die ausgewählte Datensignalgruppe nicht in der Datenspeichereinheit 34 ist (und damit konsequenterweise nicht in der Aus-Daten-Speichereinheit 36 ist), dann muß die ausgewählte Datensignalgruppe aus der Hauptspeichereinheit gelesen werden.
- Eine "Schreib"-Operation, bei der eine Datensignalgruppe in der Cache-Speichereinheit gespeichert wird, wird folgendermaßen realisiert. Eine Adressensignalgruppe wird der Ein-Adressen-Speichereinheit 32 eingegeben, während eine zugeordnete Datensignalgruppe der Ein-Daten-Speichereinheit 31 eingegeben wird. Der Indexabschnitt der Adressensignalgruppe wird den Adressenanschlüssen der Identifizierungskennzeichen-Speichereinheit 33 zugeführt und der Vergleichsabschnitt der Adressensignalgruppe wird der Vergleichseinheit 35 zugeführt. Der Identifizierungskennzeichen-Adressenabschnitt, der in der Speicherzellengruppe der Identifizierungskennzeichen-Speichereinheit 33 gespeichert ist, der durch den Indexabschnitt identifiziert wird, wird in der Vergleichseinheit 35 mit dem Vergleichsabschnitt der Adressensignalgruppe verglichen, der der Vergleichseinheit 35 zugeführt wurde. Wenn das Ergebnis dieses Vergleichs darin besteht, daß die Identifizierungskennzeichen-Adressengruppen die gleichen sind, dann aktiviert das "Treffer"-Signal den Schreib-Anschluß der Datenspeichereinheit 34 und die Datensignalgruppe, die in der Ein-Datenspeichereinheit 31 gespeichert ist, wird der Datenspeichereinheit 34 bei dem Ort eingegeben, der durch die Indexsignalgruppe definiert ist, die in der Ein-Adressen-Speichereinheit 32 gespeichert ist. Wenn ein "Treffer"-Signal nicht erzeugt wird, dann wird die Datensignalgruppe in der Haupt-Speichereinheit 15 (siehe Fig. 1) bei der Adresse, die durch die zugeordnete Adressensignalgruppe des Hauptspeichers spezifiziert wird, gespeichert. Es ist ersichtlich, daß die Schreiboperation eine wesentlich längere Zeit für die Durchführung beansprucht als die Leseoperation, da die Speicherung der Datensignalgruppe nur stattfinden kann, nachdem der Vergleich der Identifizierungskennzeichen-Signalgruppen abgeschlossen worden ist. Ein Versuch dazu, die Arbeitsgeschwindigkeit der Cache-Speichereinheit in der zentralen Verarbeitungseinheit mit einer Steuereinheit zu erhöhen, wie in Fig. 2 gezeigt wird, wird durch die sequentielle Natur der Schreiboperation begrenzt.
- Ein Cache-Speicher vom Typ nach Fig. 3a wird in der USA- 4345309 offenbart. IBM Technical Disclosure Bulletin, Vol. 23, No. 1, Juni 1980, Seiten 262-263 offenbart, daß, wenn die Daten, die in den Cache-Speicher in einer Zwei-Zyklus-Schreiboperation eingeschrieben werden sollen, in Antwort auf eine Holnachfrage geholt werden sollen, die nach dem ersten Zyklus der Schreiboperation aber vor dem zweiten Zyklus auftritt, wird die Schreiboperation "nicht hinausgezögert", d. h., durch die Ausführung des zweiten Zyklus abgeschlossen. Nachdem die Schreiboperation abgeschlossen wurde, können die geschriebenen Daten geholt werden.
- Es besteht deshalb ein Bedürfnis nach einer Vorrichtung und nach einem Verfahren für eine Cache-Speichereinheit, die einen Betrieb fahren kann, der mit einer zentralen Verarbeitungseinheit konsistent ist, welche eine segmentierte Ausführung oder eine Ausführung nach Pipeline-Art einer Befehlssequenz hat.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Datenverarbeitungssystem zur Verfügung zu stellen.
- Es ist eine weitere Aufgabe der Erfindung, eine verbesserte Cache-Speichereinheit in einem zentralen Verarbeitungssubsystem zur Verfügung zu stellen. Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Cache-Speichereinheit anzugeben, die in einer Art und Weise arbeitet, welche zu einer Zentral-Verarbeitungseinheit paßt, die eine segmentierte Ausführung oder eine Instruktionsausführung nach Pipeline-Art durchführt.
- Es ist insbesondere eine Aufgabe der vorliegenden Erfindung, eine Cache-Speicher-Schreiboperation anzugeben, die in zwei Zyklen eines Systemtakts durchgeführt werden kann.
- Eine noch weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Cache-Speichereinheit anzugeben, in der die Speicherung der Datensignalgruppen in zwei Stufen ausgeführt wird, wobei die erste Stufe eine zeitweilige Speicherung der Datensignalgruppe ist, während das Vorhandensein einer zugeordneten Adressensignalgruppe, die der Datensignalgruppe zugeordnet ist, in der Cache-Speichereinheit bestimmt wird, und wobei die zweite Stufe die Speicherung der Datensignalgruppe ist, wenn die zugeordnete Adressensignalgruppe in der Cache- Speichereinheit vorhanden ist.
- Die zuvor erwähnten und weitere Aufgaben werden gemäß der vorliegenden Erfindung ausgeführt, indem eine Cache-Speichereinheit vorgesehen wird, die mit einer zentralen Verarbeitungseinheit eines Datenverarbeitungssystems verbunden ist, wie in Anspruch 1 definiert wird. Die vorliegende Erfindung stellt auch ein Verfahren zum Betreiben einer Cache-Speichereinheit zur Verfügung, die mit einer zentralen Verarbeitungseinheit eines Datenverarbeitungssystems, wie in Anspruch 5 gekennzeichnet, verbunden ist.
- Diese und weitere Merkmale der vorliegenden Erfindung werden beim Lesen der nachfolgenden Beschreibung in Zusammenhang mit den Zeichnungen verständlich.
- Fig. 1 ist ein Blockdiagramm der Komponenten eines Datenverarbeitungssystems, das die vorliegende Erfindung verwenden kann.
- Fig. 2 ist ein Blockdiagramm der Komponenten einer der zentralen Verarbeitungseinheiten nach Fig. 1.
- Fig. 3a ist ein Blockdiagramm, einer Cache-Speichereinheit, die in einer zentralen Verarbeitungseinheit verwendet wird.
- Fig. 3b ist ein Diagramm, das die Aufteilung einer Adressensignalgruppe in definierte Felder erläutert.
- Fig. 4 ist ein Blockdiagramm einer Cache-Speichereinheit gemäß der vorliegenden Erfindung.
- Fig. 5 ist ein Timing-Diagramm, das die Art und Weise erläutert, in der die Zwei-Zyklus-Schreiboperation eine Zwischen- Leseoperation erlaubt.
- Die Fig. 1, die Fig. 2 und die Fig. 3a und 3b sind schon zuvor mit Bezug auf den Stand der Technik beschrieben worden.
- Als nächstes wird Fig. 4 behandelt, in der die Realisierung der Cache-Speichereinheit gemäß der vorliegenden Erfindung gezeigt wird. Die Cache-Speichereinheit wird in einer Art dargestellt, die ähnlich zu der Cache-Speichereinheit nach Fig. 3a ist. Zusätzliche Einrichtungen umfassen eine Hilfsspeichereinheit 41, die Datensignalgruppen von der Ein-Datenspeichereinheit 31, Maskensignale und Indexfeld-Abschnitte der Adressensignalgruppe, die in der Ein-Adressen-Speichereinheit 32 gespeichert ist, speichern kann. Eine Hilfs-Vergleichseinheit 42 kann Adressensignal-Indexabschnitte von der Hilfs-Speichereinheit 41 und von der Ein-Adressen-Speichereinheit 32 vergleichen. Die Logiksignalgruppe, die den Adressenanschlüssen der Daten-Speichereinheit 34 zugeführt wird, wird durch eine steuerbare Tor- oder Multiplexereinheit 44 bestimmt und ist entweder die Signalgruppe in der Ein-Adressen-Speichereinheit 32 oder die Signalgruppe in der Hilfsspeichereinheit 41, was davon abhängt, ob das Kommandosignal ein Lese- bzw. ein Schreibsignal ist. Die Datensignalgruppe, die von dem Multiplexer 43 ausgewählt wird, um in die Aus-Datenspeichereinheit 36 eingegeben zu werden, wird dadurch bestimmt, ob ein positives Vergleichssignal durch die Hilfs- Vergleichseinheit 42 erzeugt wird. Wenn der Vergleich positiv ist, wird die Datensignalgruppe der Hilfs-Speichereinheit 41 ausgewählt; ansonsten wird die Datensignalgruppe der Speichereinheit 34 ausgewählt. Eine Übertragung der Datenlogiksignale, die in die Aus-Daten-Speichereinheit 36 eingegeben werden, zu der zentralen Verarbeitungseinheit ist von dem Zuführen des "Treffer"-Signals von der Vergleichseinheit 35 auf die gleiche Art und Weise abhängig, wie zuvor mit Bezug auf Fig. 3a beschrieben wurde.
- In Fig. 5 wird die Ausführung von drei Schreiboperationen und die Ausführung einer Leseoperation, die zwischen den ersten zwei Schreibkommandos liegt, gezeigt. Während des Taktzyklus T&sub1; wird ein Schreibkommando an die Cache-Speichereinheit ausgegeben und die Identifizierungskennzeichen-Speichereinheit 33 führt den Vergleichsbetrieb aus. Während des Zyklus T&sub2; wird ein Lesebetrieb vollständig durch die Cache- Speichereinheit ausgeführt. Während eines späteren Zyklusses Tn wird das nächste (ein zweites) Schreibkommando an die Cache-Speichereinheit ausgegeben und die zugeordnete Aktivität der Identifizierungskennzeichen-Speichereinheit wird durchgeführt. Wenn das Ergebnis der Identifizierungskennzeichen speichereinheit-Aktivität während des Zyklusses T&sub1; ein positives Ergebnis anzeigt, wird simultan während des Zyklusses Tn die Datensignalgruppe, die mit dem Schreibkommando verbunden ist, das während T&sub1; ausgegeben wurde, in der Datenspeichereinheit 34 gespeichert. Dann wird während des Zyklusses Tn+1 (wenn das dritte Schreibkommando ausgegeben wird) die Datensignalgruppe, die dem Schreibkommando zugeordnet ist, das während Tn ausgegeben wurde, in der Datenspeichereinheit 34 abgespeichert, wenn das Vergleichsergebnis während Tn positiv war.
- Der Betrieb der Cache-Speichereinheit bei einer Schreiboperation wird in zwei Schritten gemäß der vorliegenden Erfindung durchgeführt. Beim ersten Schritt wird die Adressensignalgruppe, die die Datensignalgruppe identifiziert, in der Vergleichseinheit 35 mit den Adressensignalgruppen in der Identifizierungskennzeichen-Speichereinheit 33 verglichen, um zu bestimmen, ob die Adresse darin enthalten ist. Während der Dauer dieses Vergleichs werde die Datensignalgruppe, die mit der Adressensignalgruppe verbunden ist, welche verglichen wird und der Indexabschnitt der Adressensignalgruppe in einer Hilfs-Speichereinheit 41 gespeichert. Das Ergebnis des Vergleichs im Vergleicher 35 wird dann auch in der Hilfs-Speichereinheit 41 gespeichert. Wenn der Vergleich der Adressensignalgruppen positiv ausfällt, dann wird bei der Ausgabe des nächsten Schreibkommandos die Datensignalgruppe schließlich in der Datenspeichereinheit 34 bei der Adresse, die durch die Adressensignalgruppe identifiziert wird, gespeichert. Die Datensignalgruppe wird in jedem Fall so bald wie möglich zur Hauptspeichereinheit zur Speicherung übertragen. In der bevorzugten Ausführungsform muß die Hauptspeichereinheit ständig die letzte Version der Datensignalgruppen enthalten, da eine Vielzahl von Daten-Verarbeitungs-Subsystemen die Hauptspeichereinheit als Datenbasis verwenden. Es ist jedoch für Fachleute klar, daß andere Ausführungsformen der vorliegenden Erfindung andere Strategien zum Aktualisieren des Hauptspeichers aufweisen können.
- Wenn ein Lesekommando an die Cache-Speichereinheit ausgegeben wird, wird das Vergleichsfeld der Adressensignalgruppe im Komparator 35 mit den Adressensignalgruppen in der Identifizierungskennzeichen-Speichereinheit verglichen. Der Index-Abschnitt der Adressensignalgruppe, die in der Hilfs-Speichereinheit 41 gespeichert ist, wird mit dem Index-Abschnitt der Adressensignalgruppe verglichen, die der Leseoperation in der Hilfsvergleichseinheit 42 zugeordnet ist. Wenn der Vergleich in der Hilfsvergleichseinheit 42 und der Vergleich in der Vergleichseinheit 35 positiv ausfallen, dann ist die Datensignalgruppe, die in der Hilfs-Speichereinheit gespeichert ist, die aktuellste Version der Datensignalgruppe, und diese Datensignalgruppe wird dann von der zentralen Verarbeitungseinheit verwendet. Wie in Fig. 4 gezeigt wird, zwingt das "Treffer"-Signal der Vergleichseinheit 42 (das anzeigt, daß die aktuellste Version der Datensignalgruppe, die adressiert wird, in der Hilfs-Speichereinheit 41 ist) den Multiplexer 43 dazu, der Datensignalgruppe zu gestatten, von der Hilfs-Speichereinheit 41 aus der Aus-Daten-Speichereinheit 36 zugeführt zu werden. Wenn der Vergleich der Hilfs-Vergleichseinheit 42 negativ ist, d. h. kein "Treffer"-Signal wird dem Multiplexer 43 zugeführt, wird die Datensignalgruppe von der Datenspeichereinheit 34 der Aus-Daten-Speichereinheit 36 zugeführt. Ganz gleich, ob die Inhalte der Aus-Daten-Speichereinheit 36 von der Datenspeichereinheit 34 oder von der Hilfs-Speichereinheit 41 stammen, das "Treffer"-Signal von der Vergleichseinheit 35 gibt die Aus-Daten-Speichereinheit 36 dazu frei, ihre Inhalte zu der zentralen Verarbeitungseinheit zu transferieren. Wie zuvor beschrieben wurde, gibt es, wenn es kein "Treffer"-Signal von der Vergleichseinheit 35 gibt, keine Daten im Cache-Speicher, die den Adressensignalen entsprechen, die in der Ein-Adressen-Speichereinheit 32 gespeichert sind, so daß keine Daten von der Aus-Daten-Speichereinheit 36 zu der zentralen Verarbeitungseinheit übertragen werden.
- Es ist ersichtlich, daß, während die vorliegende Erfindung die Schreiboperation der Cache-Speichereinheit in zwei Suboperationen (die erste Suboperation wird durchgeführt, wenn das Schreibkommando empfangen wird, und die zweite Suboperation wird durchgeführt, wenn das nächste Schreibkommando empfangen wird) unterteilt, die zweite Suboperation genausogut während des nächsten Zyklusses des Systemtaktes durchgeführt werden kann, wenn kein Lesekommando empfangen wird. Eine solche Implementation kann durch eine logische Vorrichtung durchgeführt werden, die die Speicherung der Datensignalgruppe von der Hilfs-Speichereinheit 41 aus in die Datenspeichereinheit 34 während des Zyklusses aktiviert, der dem Schreibzyklus nachfolgt, wenn ein Lesekommando nicht vorhanden ist. Wenn dagegen ein Lesekommando vorhanden ist, kann die Speicherung während des ersten Zyklusses des Systemtaktes durchgeführt werden, in dem ein Lesekommando nicht vorhanden ist.
- Die vorhergehende Beschreibung ist dafür vorgesehen, den Betrieb der bevorzugten Ausführungsform zu erläutern, und ist nicht in dem Sinne zu verstehen, daß sie den Bereich der Erfindung einschränkt. Der Bereich der Erfindung wird durch die nachfolgenden Ansprüche eingeschränkt.
Claims (6)
1. Cache-Speichereinheit (24), die mit einer zentralen
Verarbeitungseinheit (10) eines Datenverarbeitungssystems
verbunden ist, mit:
einer adressierbaren Adreßspeichereinheit (33) zum
Speichern einer Vielzahl von Vergleichsadreßsignalgruppen, die
einer entsprechenden Vielzahl von Datensignalgruppen
zugeordnet sind;
einer adressierbaren Datenspeichereinrichtung (34) zum
Speichern der Vielzahl von Datensignalgruppen;
einer Vergleichseinrichtung (35) zum Ausgeben eines ersten
vorgegebenen Signals, wenn eine
Vergleichsadreßsignalgruppe, die der Cache-Speichereinheit (24) eingegeben wird,
dem gespeicherten Vergleichsadreßsignal entspricht, das
von der Adresse in der adressierbaren
Adreßspeichereinrichtung gelesen wird, die von einer Indexadreßsignalgruppe
identifiziert wird, welche der Cache-Speichereinheit (24)
zusammen mit der eingegebenen Vergleichsadreßsignalgruppe
eingegeben wird; und
eine Speicherausleseeinrichtung (36, 43) zum Speichern
einer Datensignalgruppe, die von der adressierbaren
Datenspeichereinrichtung (34) während einer Leseoperation gelesen
wird, wobei dieser Speicher während der Ausgabe des ersten
vorgegebenen Signals durch die Vergleichseinrichtung (35)
freigegeben wird;
dadurch gekennzeichnet, daß die Cache-Speichereinheit (24)
weiterhin aufweist:
eine Hilfsspeichereinheit (41), die mit der adressierbaren
Datenspeichereinrichtung (33) und der
Speicherausleseeinrichtung (36, 43) verbunden ist, wobei die
Hilfsspeichereinrichtung (41) eine erste eingegebene
Indexadreßsignalgruppe und eine erste Datensignalgruppe, die der ersten
eingegebenen Vergleichsadreßsignalgruppe zugeordnet ist,
während eines ersten Zyklusses einer Schreiboperation
speichert, wobei die erste Datensignalgruppe, die in der
Hilfsspeichereinheit (41) gespeichert wird, zum Speichern zu der
adressierbaren Datenspeichereinheit (34) während eines
zweiten Zyklusses der Schreiboperation übertragen wird, wenn
die Vergleichseinrichtung (35) das erste vorgegebene Signal
in Antwort auf die ersten eingegebenen Index- und
Vergleichsadreßsignalgruppen während des ersten Zyklusses
ausgibt, wobei der zweite Zyklus zeitlich gesehen dem ersten
Zyklus nachfolgt; und
eine Hilfsvergleichseinrichtung (42) zum Ausgeben eines
zweiten vorgegebenen Signals an die
Speicherausleseeinrichtung (36, 43), wenn eine zweite Indexadreßsignalgruppe,
die der Cache-Speichereinheit (24) während eines
Lesezyklusses eingegeben wird, der nach dem ersten Zyklus und vor dein
zweiten Zyklus auftritt, der ersten eingegebenen
Indexadreßsignalgruppe entspricht, die in der
Hilfsspeichereinrichtung (41) gespeichert ist, wobei die erste
Datensignalgruppe, die in der Hilfsspeichereinrichtung (41) gespeichert
ist, zum Speichern, in der Speicherausleseeinrichtung (36,
43) in Antwort auf die ersten und zweiten vorgegebenen
Signale übertragen wird.
2. Cache-Speichereinheit, wie in Anspruch 1 definiert,
dadurch gekennzeichnet, daß die Speicherausleseeinrichtung
(46, 43) eine Aus-Daten-Speichereinrichtung (36), die mit
der Vergleichseinrichtung (35) verbunden ist, und eine
erste Multiplexereinrichtung (43) zum schaltbaren Verbinden
entweder der adressierbaren Datenspeicher (34) oder der
Hilfsspeichereinrichtung (41) mit der
Aus-Daten-Speichereinrichtung (36) aufweist, wobei das Schalten der ersten
Multiplexereinrichtung (43) durch die Hilfsvergleichseinrichtung
(41) gesteuert wird.
3. Cache-Speichereinheit, wie in Anspruch 1 definiert,
weiterhin gekennzeichnet durch eine
Ein-Daten-Speichereinrichtung (31) zum Empfangen der eingegebenen
Datensignalgruppe, die von außerhalb der Cache-Speichereinheit (24)
kommt, wobei die Hilfsspeichereinheit (41) verbunden ist,
um die eingegebene Datensignalgruppe von der
Ein-Daten-Speichereinrichtung (31) zu empfangen, und durch eine
Ein-Adreß-Speichereinrichtung (32) zum Empfangen einer
eingegebenen Adreßsignalgruppe, die von außerhalb der
Cache-Speichereinheit (24) kommt, wobei die eingegebene
Adreßsignalgruppe die eingegebenen Vergleichs- und Indexsignalgruppen
aufweist, und wobei die Hilfsspeichereinrichtung (41), die
Hilfsvergleichseinrichtung (42), die adressierbare
Datenspeichereinheit (34) und die adressierbare
Adreßspeichereinrichtung (33) jeweils verbunden sind, um die eingegebene
Indexadreßsignalgruppe von der
Ein-Adreß-Speichereinrichtung (32) zu empfangen, und wobei die Vergleichseinrichtung
(35) verbunden ist, um die eingegebene
Vergleichsadreßsignalgruppe von der Ein-Adreß-Speichereinrichtung (32) zu
empfangen.
4. Cache-Speichereinheit, wie in Anspruch 3 definiert,
weiterhin gekennzeichnet durch eine zweite
Mulitplexereinrichtung (44) zum schaltbaren Verbinden der
Ein-Adreß-Speichereinrichtung (32) oder der Hilfsspeichereinrichtung (41)
mit der adressierbaren Datenspeichereinrichtung (34), wobei
die zweite Multiplexereinrichtung (44) verbunden ist, um
die eingegebene Indexadreßsignalgruppe von der Ein-Adreß-
Speichereinrichtung (32) und von der
Hilfsspeichereinrichtung (41) zu empfangen und von einem
Lese/Schreib-Steuersignal gesteuert zu werden, das außerhalb der
Cache-Speichereinheit (24) erzeugt wird, wobei die eingegebene
Indexadreßsignalgruppe von der Hilfsspeichereinrichtung (41) zu
der adressierbaren Datenspeichereinrichtung (34) während
des zweiten Zyklusses einer Schreiboperation durchgegeben
wird und wobei die eingegebene Indexadreßsignalgruppe von
der Ein-Adreß-Speichereinheit (32) zu der adressierbaren
Datenspeichereinrichtung (34) während einer Leseoperation
durchgegeben wird.
5. Verfahren zum Betreiben einer Cache-Speichereinheit
(24), die mit der zentralen Verarbeitungseinheit (10) eines
Datenverarbeitungssystems verbunden ist, gekennzeichnet
durch die folgenden Schritte:
(a) während eines ersten Zyklusses einer
Schreiboperation, Speichern einer ersten eingegebenen
Indexadreßsignalgruppe und einer ersten eingegebenen Datensignalgruppe,
die der ersten eingegebenen Indexadreßsignalgruppe in einer
ersten Speichereinheit (41) zugeordnet ist, und vergleichen
einer ersten eingegebenen Vergleichsadreßsignalgruppe, die
der ersten eingegebenen Indexadreßsignalgruppe zugeordnet
ist, mit einer gespeicherten Vergleichsadreßsignalgruppe,
die von einer Adresse in einem ersten adressierbaren
Speicher (33) gelesen wurde, die der ersten eingegebenen
Indexadreßsignalgruppe entspricht;
(b) während eines zweiten Zyklusses der
Schreiboperation, der zeitlich gesehen dem ersten Zyklus nachfolgt,
Schreiben der ersten eingegebenen Datensignalgruppe, die
in der ersten Speichereinrichtung (41) gespeichert ist,
bei einer Adresse einer zweiten adressierbaren
Speichereinrichtung (43), die der ersten eingegebenen
Indexadreßsignalgruppe entspricht, wenn die erste eingegebene
Vergleichsadreßsignalgruppe, die der ersten eingegebenen
Indexadreßsignalgruppe zugeordnet ist, identisch mit der gespeicherten
Vergleichsadreßsignalgruppe beim Schritt (a) ist;
(c) während eines ersten Lesezyklusses, der nach dem
ersten Zyklus und vor dein zweiten Zyklus auftritt,
Vergleichen der ersten eingegebenen Indexadreßsignalgruppe, die
in der ersten Speichereinrichtung (41) gespeichert ist,
mit einer zweiten eingegebenen Indexadreßsignalgruppe,
Vergleichen
einer zweiten eingegebenen
Vergleichsadreßsignalgruppe, die einer zweiten eingegebenen
Indexadreßsignalgruppe zugeordnet ist, mit einer gespeicherten
Vergleichsadreßsignalgruppe, die von einer Adresse in der ersten
adressierbaren Speichereinrichtung (33) gelesen wurde, welche
der zweiten eingegebenen Indexadreßsignalgruppe entspricht,
und Übertragen der ersten eingegebenen Datensignalgruppe,
die in der ersten Speichereinrichtung (41) gespeichert ist,
zu einer zweiten Speichereinrichtung (36), wenn die zweite
eingegebene Vergleichsadreßsignalgruppe identisch mit der
gespeicherten Vergleichsadreßsignalgruppe ist, die der
zweiten eingegebenen Indexadreßsignalgruppe zugeordnet ist,
und wenn die erste eingegebene Indexadreßsignalgruppe, die
in der ersten Speichereinrichtung (41) gespeichert ist,
identisch mit der zweiten eingegebenen
Indexadreßsignalgruppe ist.
6. Verfahren, wie in Anspruch 5 definiert, weiterhin
gekennzeichnet durch die folgenden Schritte:
während eines zweiten Lesezyklusses, der nach dem zweiten
Zyklus der Schreiboperation und vor dem zweiten Zyklus der
nächsten Schreiboperation auftritt, Vergleichen einer
dritten eingegebenen Indexadreßsignalgruppe mit der
Indexadreßsignalgruppe, die in der ersten Speichereinrichtung (41)
während des zweiten Lesezyklusses gespeichert wurde,
Vergleichen einer dritten eingegebenen Vergleichsadreßsignal
gruppe, die einer dritten eingegebenen
Indexadreßsignalgruppe zugeordnet ist, mit einer gespeicherten
Vergleichsadreßsignalgruppe, die von einer Adresse in der ersten
adressierbaren Speicheradresse (33) gelesen wurde, welche
der dritten eingegebenen Indexadreßsignalgruppe entspricht,
und Übertragen der ersten eingegebenen Datensignalgruppe,
die in der zweiten adressierbaren Speichereinrichtung (34)
gespeichert ist, zu der zweiten Speichereinrichtung (36),
wenn die dritte eingegebene Vergleichsadreßsignalgruppe
identisch mit der gespeicherten Vergleichsadreßsignalgruppe
ist, die der dritten eingegebenen Indexadreßsignalgruppe
zugeordnet ist, und wenn die dritte eingegebene
Indexadreßsignalgruppe identisch mit der ersten eingegebenen
Indexadreßsignalgruppe und unterschiedlich zu der
Indexadreßsignalgruppe ist, die in der ersten Speichereinrichtung (41)
während eines Zyklusses der letzten Schreiboperation, der dem
zweiten Lesezyklus vorherging, gespeichert wurde.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/823,805 US4755936A (en) | 1986-01-29 | 1986-01-29 | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
PCT/US1987/000176 WO1987004823A1 (en) | 1986-01-29 | 1987-01-29 | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3781794D1 DE3781794D1 (de) | 1992-10-22 |
DE3781794T2 true DE3781794T2 (de) | 1993-04-22 |
Family
ID=25239776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8787901788T Expired - Lifetime DE3781794T2 (de) | 1986-01-29 | 1987-01-29 | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. |
Country Status (7)
Country | Link |
---|---|
US (1) | US4755936A (de) |
EP (1) | EP0292501B1 (de) |
JP (1) | JPH0668736B2 (de) |
AU (1) | AU7032687A (de) |
CA (1) | CA1277044C (de) |
DE (1) | DE3781794T2 (de) |
WO (1) | WO1987004823A1 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6184753A (ja) * | 1984-10-01 | 1986-04-30 | Hitachi Ltd | バツフアメモリ |
US5034885A (en) * | 1988-03-15 | 1991-07-23 | Kabushiki Kaisha Toshiba | Cache memory device with fast data-write capacity |
US5123097A (en) * | 1989-01-05 | 1992-06-16 | Bull Hn Information Systems Inc. | Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy |
US5148537A (en) * | 1989-05-02 | 1992-09-15 | Belsan Jay S | Method and apparatus for effecting an intra-cache data transfer |
JPH077356B2 (ja) * | 1989-05-19 | 1995-01-30 | 株式会社東芝 | パイプライン方式のマイクロプロセッサ |
EP0400851A3 (de) * | 1989-06-02 | 1992-10-21 | Hewlett-Packard Company | Leistungsfähiger Cache-Speicher mit Speicherpuffer |
JPH0348951A (ja) * | 1989-07-18 | 1991-03-01 | Fujitsu Ltd | アドレスモニタ装置 |
EP0442690A3 (en) * | 1990-02-13 | 1992-11-19 | Hewlett-Packard Company | Data cache store buffer for high performance computer |
US5450564A (en) * | 1990-05-04 | 1995-09-12 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
US5257377A (en) * | 1991-04-01 | 1993-10-26 | Xerox Corporation | Process for automatically migrating a subset of updated files from the boot disk to the replicated disks |
GB2271204B (en) * | 1992-10-01 | 1996-01-03 | Digital Equipment Int | Digital system memory access |
US5388226A (en) * | 1992-10-05 | 1995-02-07 | Motorola, Inc. | Method and apparatus for accessing a register in a data processing system |
US6151661A (en) * | 1994-03-03 | 2000-11-21 | International Business Machines Corporation | Cache memory storage space management system and method |
EP0676690B1 (de) * | 1994-03-09 | 2003-05-14 | Sun Microsystems, Inc. | Verzögertes Cachespeicherschreiben eines Speicherungsbefehls |
US6076150A (en) * | 1995-08-10 | 2000-06-13 | Lsi Logic Corporation | Cache controller with improved instruction and data forwarding during refill operation |
US5987578A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Pipelining to improve the interface of memory devices |
US6032226A (en) * | 1997-04-14 | 2000-02-29 | International Business Machines Corporation | Method and apparatus for layering cache and architectural specific functions to expedite multiple design |
US6061762A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Apparatus and method for separately layering cache and architectural specific functions in different operational controllers |
US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
US6360307B1 (en) | 1998-06-18 | 2002-03-19 | Cypress Semiconductor Corporation | Circuit architecture and method of writing data to a memory |
US7962698B1 (en) | 2005-10-03 | 2011-06-14 | Cypress Semiconductor Corporation | Deterministic collision detection |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3723976A (en) * | 1972-01-20 | 1973-03-27 | Ibm | Memory system with logical and real addressing |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
JPS53134335A (en) * | 1977-04-28 | 1978-11-22 | Fujitsu Ltd | Memory control system |
US4245304A (en) * | 1978-12-11 | 1981-01-13 | Honeywell Information Systems Inc. | Cache arrangement utilizing a split cycle mode of operation |
US4264953A (en) * | 1979-03-30 | 1981-04-28 | Honeywell Inc. | Virtual cache |
JPS5685168A (en) * | 1979-12-13 | 1981-07-11 | Fujitsu Ltd | Access control system for main storage |
US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
EP0039227A3 (en) * | 1980-04-25 | 1982-09-01 | Data General Corporation | Data processing system |
JPS5750380A (en) * | 1980-09-09 | 1982-03-24 | Mitsubishi Electric Corp | Writing method of buffer storage device |
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
US4486856A (en) * | 1982-05-10 | 1984-12-04 | Teletype Corporation | Cache memory and control circuit |
US4682281A (en) * | 1983-08-30 | 1987-07-21 | Amdahl Corporation | Data storage unit employing translation lookaside buffer pointer |
US4612612A (en) * | 1983-08-30 | 1986-09-16 | Amdahl Corporation | Virtually addressed cache |
US4573116A (en) * | 1983-12-20 | 1986-02-25 | Honeywell Information Systems Inc. | Multiword data register array having simultaneous read-write capability |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
JPS615357A (ja) * | 1984-06-07 | 1986-01-11 | Fujitsu Ltd | デ−タ処理装置 |
-
1986
- 1986-01-29 US US06/823,805 patent/US4755936A/en not_active Expired - Lifetime
-
1987
- 1987-01-28 CA CA000528356A patent/CA1277044C/en not_active Expired - Lifetime
- 1987-01-29 JP JP62501325A patent/JPH0668736B2/ja not_active Expired - Lifetime
- 1987-01-29 WO PCT/US1987/000176 patent/WO1987004823A1/en active IP Right Grant
- 1987-01-29 EP EP87901788A patent/EP0292501B1/de not_active Expired - Lifetime
- 1987-01-29 AU AU70326/87A patent/AU7032687A/en not_active Abandoned
- 1987-01-29 DE DE8787901788T patent/DE3781794T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO1987004823A1 (en) | 1987-08-13 |
US4755936A (en) | 1988-07-05 |
JPH01500377A (ja) | 1989-02-09 |
JPH0668736B2 (ja) | 1994-08-31 |
AU7032687A (en) | 1987-08-25 |
CA1277044C (en) | 1990-11-27 |
EP0292501A1 (de) | 1988-11-30 |
EP0292501B1 (de) | 1992-09-16 |
DE3781794D1 (de) | 1992-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE3909896C2 (de) | ||
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE3586899T2 (de) | Instruktionsvorgriffsystem fuer bedingte sprungbefehle in einer zentralen verarbeitungseinrichtung. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE2630323C3 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem HilfsSpeicher und einer Vorausschaulogik | |
DE3786967T2 (de) | Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem. | |
DE3587277T2 (de) | System fuer die umgehungssteuerung beim pipelinebetrieb eines computers. | |
DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
DE2714805C2 (de) | ||
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE69030931T2 (de) | Mehrfachsequenzprozessorsystem | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2715073B2 (de) | Mikroprogranunierte Rechner-Steuervorrichtung | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE3911721C2 (de) | ||
DE68924883T2 (de) | Mikroprozessor mit Befehlspipeline. | |
DE2111642A1 (de) | Vorrichtung zum Informationsaustausch zwischen einem schnellen und einem langsamen Speicher | |
DE3688923T2 (de) | Informationsverarbeitungsvorrichtung. | |
DE2064473B2 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |