DE19714681A1 - Hauptspeichersteuergerät - Google Patents
HauptspeichersteuergerätInfo
- Publication number
- DE19714681A1 DE19714681A1 DE19714681A DE19714681A DE19714681A1 DE 19714681 A1 DE19714681 A1 DE 19714681A1 DE 19714681 A DE19714681 A DE 19714681A DE 19714681 A DE19714681 A DE 19714681A DE 19714681 A1 DE19714681 A1 DE 19714681A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- access
- cpu
- read
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
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)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Hauptspei
chersteuergerät, das imstande ist, einen Hochgeschwindigkeits
zugriff auf eine Hauptspeichereinheit in einem Computersystem
zu realisieren.
Einige CPUs enthalten Cache-Speicher, die einen Teil der in
einer Hauptspeichereinheit gespeicherten Inhalte speichern, mit
dem Ziel eines Hochgeschwindigkeitszugriffs auf die Hauptspei
chereinheit. In einer solchen CPU wird die Widerspruchsfreiheit
oder Gleichheit von Daten zwischen dem Cache-Speicher und der
Hauptspeichereinheit durch eine Horchfunktion (engl. snooping
function) bewahrt, die einen Zugriff auf die Hauptspeicherein
heit von anderen DMA(Direktzugriffsspeicher)-Freigabevorrich
tungen als der CPU überwacht.
Einige CPUs, die Cache-Speicher enthalten, haben jedoch
keine Horchfunktion. Insbesondere Standard-CPUs, die in kommer
ziellen Anwendungen im allgemeinen in Gebrauch kommen, enthal
ten zur Leistungsverbesserung Cache-Speicher, haben aber oft
wegen der Kostenminderung keine Horchfunktion. In diesen CPUs
ohne Horchfunktion wird die Widerspruchsfreiheit gespeicherter
Daten zwischen einem Cache-Speicher und einer Hauptspeicherein
heit durch Software gesichert.
CPUs können spezieller in zwei Typen klassifiziert werden;
d. h. leistungsorientierte CPUs, die zur Verwendung für Worksta
tions und hochwertige Personalcomputer gedacht sind, und Stan
dard-CPUs, die zur Verwendung für Heimspielmaschinen, elektro
nische Notebooks etc. gedacht sind. Im allgemeinen haben alle
leistungsorientierten CPUs eine Horchfunktion, die einen Zu
griff auf eine Hauptspeichereinheit von anderen CPUs oder DMA-
Freigabevorrichtungen überwacht, wobei ihre Verwendung für ein
System in Betracht gezogen wird, bei dem mehrere, auf einen ge
meinsamen Speicher zugreifende CPUs verwendet werden, um die
Leistung zu verbessern.
Das Bereitstellen der Horchfunktion stellt die Wider
spruchsfreiheit von Daten zwischen einem in der CPU enthaltenen
Cache-Speicher und einer Hauptspeichereinheit sicher.
Andererseits sind Standard-CPUs konstruiert worden, wobei
auf die Verringerung der Kosten Gewicht gelegt wurde, weil das
Gerät und die Ausrüstung, die solche Standard-CPUs nutzen, re
lativ billig sind. Demgemäß enthalten diese CPUs Cache-Speicher
zur Leistungsverbesserung, aber viele von ihnen haben wegen der
Kostenminderung keine Horchfunktion. Wegen der Vielseitigkeit
in den Anwendungen nehmen die Standard-CPUs einen großen Anteil
an der Gesamtzahl auf den Markt gebrachter CPUs ein.
In den CPUs, die Cache-Speicher enthalten, aber keine
Horchfunktion haben, wie oben erwähnt, wird die Widerspruchs
freiheit der Daten zwischen einem Cache-Speicher und einer
Hauptspeichereinheit durch Software gesichert. Die folgenden
beiden Verfahren, um dies zu erreichen, sind bislang bekannt.
- (1) Es wird kein Cache-Speicher verwendet, oder ein Spei cherbereich der Hauptspeichereinheit, auf den durch andere DMA- Freigabevorrichtungen als der CPU zugegriffen wird, wird einem Adreßbereich zugewiesen, von dem Daten nicht in den Cache- Speicher in der CPU geladen werden können.
- (2) Ein Speicherbereich, auf den durch DMA-Freigabevorrich tungen zugegriffen wird, wird einem Adreßbereich zugewiesen, von dem Daten in den Cache-Speicher in der CPU geladen werden können. Falls aber Daten in einem Hauptspeicherbereich, auf den durch die DMA-Freigabevorrichtungen zugegriffen wird, beim DMA- Start bzw. -Anlauf im Cache-Speicher existieren, werden die Da ten im Cache-Speicher für ungültig erklärt.
Weil ein CPU-Zugriff auf den ganzen Bereich der Hauptspei
chereinheit oder deren Bereich, auf den durch DMA-Freigabevor
richtungen zugegriffen wird, direkt auf die Hauptspeicher
einheit vorgenommen wird, ist das oben genannte Verfahren (1)
jedoch insofern nachteilig, als eine Zugriffszeit länger ist
als die, die erforderlich ist, um einen Zugriff auf den Cache-
Speicher vorzunehmen.
Im obigen Verfahren (2) ist es auch wahrscheinlich, daß je
desmal, wenn beim DMA-Anlauf ein Schreibzugriff auf die Haupt
speichereinheit vorgenommen wird, die Inhalte des Cache-
Speichers für ungültig erklärt werden. Dies hat die Nachteile
zur Folge, daß eine Nutzung des Cache-Speichers verringert
wird, ein Cache-Speicher-Trefferverhältnis reduziert wird, und
eine durchschnittliche Zugriffszeit der CPU auf die Hauptspei
chereinheit verlängert wird.
Eine Aufgabe der vorliegenden Erfindung ist, die oben er
wähnten Nachteile im Stand der Technik zu überwinden und ein
Hauptspeichersteuergerät zum Steuern eines Zugriffs auf eine
Hauptspeichereinheit von einer CPU ohne Horchfunktion und einer
DMA-Freigabevorrichtung zu realisieren, so daß ein Datenzugriff
auf die Hauptspeichereinheit mit hoher Geschwindigkeit vorge
nommen werden kann, während die Widerspruchsfreiheit von Daten
zwischen dem Cache-Speicher und der Hauptspeichereinheit be
wahrt wird.
Diese Aufgabe wird gemäß der vorliegenden Erfindung durch
ein Hauptspeichersteuergerät nach Anspruch 1 gelöst.
Das erfindungsgemäße Hauptspeichersteuergerät zur Verwen
dung in einem Computersystem mit einem Hauptspeicher, einer ei
nen Cache-Speicher enthaltenden CPU und einer Zugriffsfreigabe
vorrichtung, die imstande ist, einen direkten Speicherzugriff
auf den Hauptspeicher vorzunehmen, wobei das Hauptspeichersteu
ergerät einen Datenzugriff auf den Hauptspeicher steuert, ent
hält einen ersten Adreßbereich, der in einem Speicherbereich
des Hauptspeichers zugewiesen ist und erlaubt, daß Daten vom
ersten Adreßbereich in den Cache-Speicher in der CPU geladen
werden, aber einen Datenzugriff von der Zugriffsfreigabevor
richtung auf den ersten Adreßbereich sperrt, und einen zweiten
Adreßbereich, der im Speicherbereich des Hauptspeichers zuge
wiesen ist und einen Datenzugriff von der Zugriffsfreigabevor
richtung auf den zweiten Adreßbereich erlaubt, aber verhindert
bzw. nicht gestattet, daß Daten vom zweiten Adreßbereich in den
Cache-Speicher in der CPU geladen werden, einen Lesepufferspei
cher, der erlaubt, daß im Hauptspeicher gespeicherte Daten in
den Lesepufferspeicher geladen werden, und erlaubt, daß die ge
ladenen Daten als Antwort auf eine Datenzugriffsanforderung von
der CPU oder Zugriffsfreigabevorrichtung gelesen werden, und
einen Steuerteil, der eine Steuerung ausführt, wenn die CPU
oder Zugriffsfreigabevorrichtung eine Datenzugriffsanforderung
ausgibt, auf solche Weise, daß, falls im Lesepufferspeicher Da
ten existieren, auf die zugegriffen werden soll, die Daten im
Lesepufferspeicher zur die Zugriffsanforderung ausgebenden CPU
oder Zugriffsfreigabevorrichtung übertragen werden und, falls
Daten, auf die zugegriffen werden soll, im Lesepufferspeicher
nicht existieren, vom Hauptspeicher Daten bei Adressen gelesen
werden, die von der Adresse gemäß der Zugriffsanforderung von
der CPU oder Zugriffsfreigabevorrichtung nur in niedrigeren
Bits festgelegter Länge verschieden sind, und die gelesenen Da
ten in den Lesepufferspeicher geladen werden, während die gele
senen Daten zur die Zugriffsanforderung ausgebenden CPU oder
Zugriffsfreigabevorrichtung übertragen werden.
Mit der oben dargelegten Anordnung werden die Daten im
Hauptspeicher, auf die von der Zugriffsfreigabevorrichtung ein
Schreibzugriff vorgenommen wird, immer im zweiten Adreßbereich
vorhanden sein und werden niemals im Cache-Speicher existieren.
Daher kann die Widerspruchsfreiheit von Daten zwischen dem
Cache-Speicher und dem Hauptspeicher bewahrt werden, und eine
Notwendigkeit, die Daten im Cache-Speicher zu der Zeit für un
gültig zu erklären, zu der die Zugriffsfreigabevorrichtung Da
ten schreibt, ist beseitigt. Auf den Lesepufferspeicher kann
auch mit einer höheren Geschwindigkeit als auf den Hauptspei
cher zugegriffen werden. Demgemäß kann sogar eine CPU ohne
Horchfunktion, die einen Zugriff auf den Hauptspeicher von ei
ner anderen Vorrichtung als der CPU überwacht, d. h. der Zu
griffsfreigabevorrichtung, die Widerspruchsfreiheit von Daten
zwischen dem Cache-Speicher und dem Hauptspeicher bewahren und
eine Datenzugriffszeit verkürzen.
Das obige Hauptspeichersteuergerät umfaßt ferner vorzugs
weise einen Schreibpufferspeicher, der imstande ist, darin Da
ten zu laden, die durch die CPU oder Zugriffsfreigabevorrich
tung angefordert werden, um in den Hauptspeicher geschrieben zu
werden, und der Steuerteil lädt Daten gemäß einer Schreibanfor
derung von der CPU oder Zugriffsfreigabevorrichtung in den
Schreibpufferspeicher und schreibt die geladenen Daten in den
Hauptspeicher.
Das obige Hauptspeichersteuergerät enthält ferner auch vor
zugsweise ein Mittel zum Prüfen und Korrigieren von Datenfeh
lern, und der Steuerteil führt, wenn die CPU oder Zugriffsfrei
gabevorrichtung eine Datenzugriffsanforderung ausgibt, eine
Steuerung auf solche Weise aus, daß, falls Daten, auf die zuge
griffen werden soll, im Lesepufferspeicher nicht existieren,
aus dem Hauptspeicher Daten bei Adressen gelesen werden, die
von der Adresse gemäß der Zugriffsanforderung von der CPU oder
Zugriffsfreigabevorrichtung nur in niedrigeren Bits festgeleg
ter Länge verschieden sind, das Mittel zum Prüfen und Korrigie
ren von Datenfehlern angewiesen wird, eine Fehlerprüfung und -
korrektur der gelesenen Daten auszuführen, und dann die gelese
nen Daten in den Lesepufferspeicher geladen werden, während die
gelesenen Daten zur die Zugriffsanforderung ausgebenden CPU
oder Zugriffsfreigabevorrichtung übertragen werden.
Daten, die der Fehlerprüfung und -korrektur unterzogen wor
den sind, werden im Lesepufferspeicher geladen, und, wenn die
CPU oder Zugriffsfreigabevorrichtung eine Schreibanforderung
für die im Lesepufferspeicher geladenen Daten ausgibt, werden
die geladenen Daten sofort gelesen. Weil Fehler der gelesenen
Daten schon korrigiert worden sind, kann die Datenzugriffszeit
entsprechend einer Weglassung einer ECC-Ausführungszeit ver
kürzt werden.
Das obige Hauptspeichersteuergerät umfaßt ferner vorzugs
weise einen Schreibpufferspeicher, der imstande ist, darin Da
ten zu laden, die durch die CPU oder Zugriffsfreigabevorrich
tung angefordert werden, um in den Hauptspeicher geschrieben zu
werden, und der Steuerteil lädt Daten gemäß einer Schreibanfor
derung von der CPU oder Zugriffsfreigabevorrichtung in den
Schreibpufferspeicher, erzeugt Prüfbits für die geladenen Daten
durch das Mittel zum Prüfen und Korrigieren von Datenfehlern
und schreibt die erzeugten Prüfbits und die geladenen Daten im
Schreibpufferspeicher in den Hauptspeicher.
Im obigen Hauptspeichersteuergerät sind der Lesepufferspei
cher und der Schreibpufferspeicher vorzugsweise in größerer
Zahl vorgesehen.
Nachfolgend wird eine bevorzugte Ausführungsform der Erfin
dung anhand der beigefügten Zeichnungen näher erläutert.
Es zeigen:
Fig. 1 ein allgemeines Blockdiagramm einer Ausführungsform
der Erfindung;
Fig. 2 eine Zuweisung von Speicherbereichen in einer Haupt
speichereinheit in einer Ausführungsform der vorliegenden Er
findung;
Fig. 3 ein Blockdiagramm eines ausführlichen Aufbaus eines
in Fig. 1 gezeigten Steuerteils;
Fig. 4 ein Flußdiagramm einer Operation im Lesezugriff ei
ner CPU oder DMA-Vorrichtung auf die Hauptspeichereinheit;
Fig. 5 ein Zeitdiagramm, das einen Lesezugriffszyklus der
CPU oder DMA-Vorrichtung bei Fehlen des Lesepufferspeichers
zeigt;
Fig. 6 ein Zeitdiagramm, das einen Lesezugriffszyklus der
CPU oder DMA-Vorrichtung bei Vorhandensein des Lesepufferspei
chers zeigt;
Fig. 7 ein Zeitdiagramm, das einen Lesezugriffszyklus der
CPU oder DMA-Vorrichtung bei einem Treffer bei einem Schreib
pufferspeicher zeigt;
Fig. 8 ein Zeitdiagramm, das einen Lesezugriffszyklus der
CPU oder DMA-Vorrichtung bei einem Fehltreffer bei irgendeinem
Lesepufferspeicher oder irgendeinem Schreibpufferspeicher
zeigt, wenn der Blockmodus nicht verwendet wird;
Fig. 9 ein Zeitdiagramm, das einen Lesezugriffszyklus der
CPU oder DMA-Vorrichtung bei einem Fehltreffer bei irgendeinem
Lesepufferspeicher oder irgendeinem Schreibpufferspeicher
zeigt, wenn der Blockmodus verwendet wird;
Fig. 10 ein Blockdiagramm, das eine Operation zeigt, die
ausgeführt wird, wenn Lesezugriffsdaten für die CPU in einem
Lesepufferspeicher existieren;
Fig. 11 ein Blockdiagramm, das eine Operation zeigt, die
ausgeführt wird, wenn Lesezugriffsdaten für die DMA-Vorrichtung
im anderen Lesepufferspeicher existieren;
Fig. 12 ein Blockdiagramm, das eine Operation zeigt, die
ausgeführt wird, wenn Lesezugriffsdaten für die CPU in einem
Schreibpufferspeicher existieren;
Fig. 13 ein Blockdiagramm, das eine Operation zeigt, die
ausgeführt wird, wenn Lesezugriffsdaten für die CPU in weder
irgendeinem Lesepufferspeicher noch irgendeinem Schreibpuffer
speicher existieren;
Fig. 14 ein Flußdiagramm einer Operation beim Schreibzu
griff der CPU oder DMA-Vorrichtung auf die Hauptspeicherein
heit;
Fig. 15 ein Zeitdiagramm, das einen Schreibzugriffszyklus
der CPU oder DMA-Vorrichtung bei Fehlen des Schreibpufferspei
chers zeigt;
Fig. 16 ein Zeitdiagramm, das einen Schreibzugriffszyklus
der CPU oder DMA-Vorrichtung bei Vorhandensein des Schreibpuf
ferspeichers zeigt;
Fig. 17 ein Zeitdiagramm, das einen Schreibzugriffszyklus
vom Schreibpufferspeicher zur Hauptspeichereinheit zeigt, wenn
der Blockmodus nicht verwendet wird;
Fig. 18 ein Zeitdiagramm, das einen Schreibzugriffszyklus
vom Schreibpufferspeicher zur Hauptspeichereinheit zeigt, wenn
der Blockmodus verwendet wird;
Fig. 19 ein Blockdiagramm, das eine Schreiboperation von
der CPU in einen Schreibpufferspeicher zeigt;
Fig. 20 ein Blockdiagramm, das eine Schreiboperation von
der DMA-Vorrichtung in den anderen Schreibpufferspeicher zeigt;
Fig. 21 ein Blockdiagramm, das eine Schreiboperation vom
Schreibpufferspeicher in die Hauptspeichereinheit zeigt, und
Fig. 22 ein Blockdiagramm, das den Aufbau eines automati
schen Blutanalysegeräts zeigt, das Steuereinheiten enthält, für
die jeweils das Hauptspeichersteuergerät der vorliegenden Er
findung verwendet wird.
Im folgenden wird unter Bezugnahme auf die beiliegenden
Zeichnungen eine Ausführungsform der vorliegenden Erfindung be
schrieben.
Fig. 1 ist ein allgemeines Blockdiagramm eines Hauptspei
chersteuergeräts zur Verwendung in einem Computersystem gemäß
einer Ausführungsform der vorliegenden Erfindung. In Fig. 1 ist
mit der Bezugsziffer 1 eine CPU bezeichnet, die einen Cache
speicher 1c enthält, aber keine Horchfunktion hat. Ziffer 2 be
zeichnet eine DMA-Freigabevorrichtung (Zugriffsfreigabevor
richtung). Ziffer 7 bezeichnet eine Hauptspeichereinheit
(Speicher). Von einem Adreßbereich der Hauptspeichereinheit 7
wird ein Adreßbereich, von dem Daten nicht in den Cache
speicher 1c in der CPU 1 geladen werden können, gemeinsam durch
die CPU 1 und die DMA-Vorrichtung 2 genutzt. Der verbleibende
Adreßbereich der Hauptspeichereinheit 7 wird als ein Adreßbe
reich zugewiesen, von dem Daten in den Cache-Speicher 1c in der
CPU 1 geladen werden können.
Mit 3a, 3b sind Lesepufferspeicher und 4a, 4b Schreibpuf
ferspeicher bezeichnet. Jeder dieser Pufferspeicher hat eine
Kapazität, die imstande ist, eine bestimmte Datenmenge zu spei
chern, und auf diesen kann mit einer höheren Geschwindigkeit
als auf die Hauptspeichereinheit 7 zugegriffen werden. Die Le
sepufferspeicher 3a, 3b und die Schreibpufferspeicher 4a, 4b
speichern jeweils Daten bei aufeinanderfolgenden Adressen in
dem Adreßbereich, der sowohl der CPU 1 als auch der DMA-Vor
richtung 2 gemeinsam ist.
Obwohl zwei Lesepufferspeicher und zwei Schreibpufferspei
cher in der in Fig. 1 gezeigten Ausführungsform vorgesehen
sind, können einige mehr als zwei Pufferspeicher jedes Typs
vorgesehen werden. Ziffer 5 bezeichnet eine ECC(Fehlerprüfungs-
und -korrektur)-Ausführeinheit, welche Prüfbits für in die
Hauptspeichereinheit 7 geschriebene Daten erzeugt und eine Feh
lerprüfung und -korrektur der von der Hauptspeichereinheit 7
gelesenen Daten durchführt.
Auf dem Gebiet von Halbleitern sind Mikroverarbeitungsver
fahren rasch entwickelt worden. Mit dem Fortschreiten der Mi
kroverarbeitungsverfahren haben verschiedene Speichervorrich
tungen eine größere Speicherkapazität für jede Vorrichtung, wo
hingegen die Wahrscheinlichkeit, daß in Daten Fehlerbits auf
treten, wegen solcher externen Faktoren, wie einer geringeren
Menge akkumulierter elektrischer Ladungen infolge der Verringe
rung des durch eine Speicherzelle eingenommenen Volumens, einer
höheren Wahrscheinlichkeit des Auftretens winziger Defekte und
eines mit einer erhöhten Betriebsgeschwindigkeit verbundenen
elektrischen Rauschens zunimmt.
Ein ECC-System ist als ein Verfahren zum Verbessern der Zu
verlässigkeit von Daten in Speichereinheiten bekannt. Das ECC-
System ist so entworfen, daß es Prüfbits von Datenbits durch
Verwenden des erweiterten Hamming-Code erzeugt und die Daten
bits und die Prüfbits in eine Speichereinheit schreibt. In ei
ner Leseoperation erzeugt es ein Syndrom aus den Datenbits und
den Prüfbits, die beide aus der Speichereinheit ausgelesen wur
den, und führt eine Fehlerkorrektur von 1 Bit und eine Fehler
prüfung von 2 Bits unter Verwendung des Syndroms durch.
Die oben erwähnte Fehlerprüfung und -korrektur wird durch
die ECC-Ausführeinheit (Mittel zum Prüfen und Korrigieren von
Datenfehlern) 5 ausgeführt.
Mit 6 ist ein Steuerteil bezeichnet, der Adressen und Steu
ersignale von der CPU 1 und der DMA-Vorrichtung 2 durch einen
Adreßbus 8 bzw. eine Steuerleitung 9 empfängt und die Lesepuf
ferspeicher 3a, 3b, die Schreibpufferspeicher 4a, 4b, die ECC-
Ausführeinheit 5 und die Hauptspeichereinheit 7 durch einen
Speicheradreßbus 11, eine Speichersteuerleitung 12 und eine
Puffersteuerleitung 15 basierend auf Werten der empfangenen Da
ten steuert.
Die CPU 1, die DMA-Vorrichtung 2, die Lesepufferspeicher
3a, 3b und die Schreibpufferspeicher 4a, 4b übertragen und emp
fangen Daten zwischen diesen durch einen Datenbus 10. Die
Hauptspeichereinheit 7 und die ECC-Ausführeinheit 5 übertragen
und empfangen auch Daten dazwischen durch einen Speicherdaten
bus 13. Ferner übertragen und empfangen die Lesepufferspeicher
3a, 3b, die Schreibpufferspeicher 4a, 4b und die ECC-Ausführ
einheit 5 Daten zwischen diesen durch einen Pufferdatenbus 14.
Fig. 2 zeigt die Zuweisung von Speicherbereichen in der
Hauptspeichereinheit 7.
In dieser Ausführungsform wird durch Zuweisen von Speicher
bereichen in der Hauptspeichereinheit 7, wie in Fig. 2 darge
stellt, eine Widerspruchsfreiheit gespeicherter Daten zwischen
dem Cache-Speicher 1c in der CPU 1 und der Hauptspeichereinheit
7 bewahrt.
Genauer ist ein von der Adresse $0000 bis $XXXX reichender
Speicherbereich ein Bereich (erster Adreßbereich), von dem Da
ten in den Cache-Speicher 1c in der CPU 1 geladen werden können
und der ausschließlich durch die CPU 1 genutzt wird. Durch Ab
legen von Programmen zur Ausführung der CPU 1 in einen derarti
gen exklusiven Raum kann das Ausführungsprogramm für die CPU 1
in den Cache-Speicher 1 geladen werden, und eine Programmaus
führungszeit kann bei einem Treffer beim Cache-Speicher ver
kürzt werden.
Der von der Adresse $XXXX+1 bis $YYYY reichende Bereich ist
ein Bereich (zweiter Adreßbereich), von dem Daten nicht in den
Cache-Speicher 1c in der CPU 1 geladen werden können und der
durch sowohl die CPU 1 als auch die DMA-Vorrichtung 2 gemeinsam
genutzt wird. Die DMA-Vorrichtung 2 läßt man auf die Hauptspei
chereinheit 7 nur im zweiten Adreßbereich zugreifen. Daher wer
den die in der Hauptspeichereinheit 7 gespeicherten und in den
Cache-Speicher 1c in der CPU 1 geladenen Daten niemals durch
die DMA-Vorrichtung 2 zurückgeschrieben, um sicherzustellen,
daß eine Widerspruchsfreiheit von Daten zwischen dem Cache
speicher 1c in der CPU 1 und der Hauptspeichereinheit 7 bewahrt
wird.
Andererseits werden Daten im von der Adresse $XXXX+1 bis
$YYYY reichenden Bereich niemals im Cache-Speicher 1c existie
ren. Wenn auf die Daten im von der Adresse $XXXX+1 bis $YYYY
reichenden Bereich verwiesen wird, muß demgemäß die CPU 1 di
rekt auf die Hauptspeichereinheit 7 zugreifen. Dieser direkte
Zugriff erfordert eine längere Zeit als im Falle eines Zugriffs
auf den Cache-Speicher 1c.
In der vorliegenden Erfindung werden die Lesepufferspeicher
3a, 3b und die Schreibpufferspeicher 4a, 4b verwendet, um eine
Zugriffszeit der CPU 1 und der DMA-Vorrichtung 2 auf den Spei
cherbereich, von dem Daten nicht in den Cache-Speicher 1c gela
den werden können, zu verkürzen.
Fig. 3 zeigt einen ausführlichen Aufbau des Steuerteils 6.
Mit 51a, 51b sind in Fig. 3 Lesepufferadreßregister bezeichnet,
um Adressen von in den Lesepufferspeichern 3a, 3b geladenen Da
ten, eine Information, die eine Effektivität der Inhalte in den
Lesepufferspeichern 3a, 3b angibt, und eine Information über
die Verwendungsgeschichte der Lesepufferspeicher 3a, 3b zu hal
ten.
Mit 52a, 52b sind Schreibpufferadreßregister bezeichnet, um
Adressen von Daten, die in den Schreibpufferspeichern 4a, 4b
geladen sind, eine Information, die eine Effektivität der In
halte in den Schreibpufferspeichern 4a, 4b angibt, und eine In
formation über die Verwendungsgeschichte der Schreibpufferspei
cher 4a, 4b zu halten.
Ein Vergleichs/Steuerteil 53 vergleicht die in den Lesepuf
feradreßregistern 51a, 51b und den Schreibpufferadreßregistern
52a, 52b gehaltenen Adressen mit Adressen von der CPU 1 und der
DMA-Vorrichtung 2. Der Vergleichs/Steuerteil 53 steuert auch
die Lesepufferspeicher 3a, 3b, die Schreibpufferspeicher 4a,
4b, die ECC-Ausführeinheit 5 und die Hauptspeichereinheit 7 ge
mäß den verglichenen Ergebnissen, den Steuersignalen von der
CPU 1 und der DMA-Vorrichtung 2 und der eine Effektivität der
Inhalte in den Pufferspeichern angebenden Information.
Fig. 4 ist ein Flußdiagramm einer Operation bei einem Lese
zugriff der CPU 1 oder DMA-Vorrichtung 2 auf die Hauptspeicher
einheit 2 durch Verwenden des Hauptspeichersteuergeräts gemäß
einer Ausführungsform der vorliegenden Erfindung.
In Schritt 100 von Fig. 4 vergleicht der Vergleichs/Steuer
teil 53 eine Zugriffsadresse mit Daten in den Lesepufferadreß
registern basierend auf der Lesezugriffsadresse von der CPU 1
oder der DMA-Vorrichtung 2. In Schritt 101 bestimmt er dann, ob
in irgendeinem der Lesepufferspeicher Daten bei der Zugriffs
adresse vorhanden sind oder nicht. Falls im Lesepufferspeicher
Daten bei der Zugriffsadresse existieren, d. h. falls ein Tref
fer bei dem Lesepufferspeicher vorkommt, geht er dann zu
Schritt 102, wo die Daten sofort vom Lesepufferspeicher zur CPU
1 oder DMA-Vorrichtung 2 übertragen werden.
Falls in Schritt 101 kein Treffer bei irgendeinem der Lese
pufferspeicher vorkommt, geht der Vergleichs/Steuerteil 53 dann
weiter zu Schritt 103, um zu bestimmen, ob die Daten bei der
Zugriffsadresse in irgendeinem der Schreibpufferspeicher vor
handen sind oder nicht. Falls ein Treffer beim Schreibpuffer
speicher vorkommt, geht er dann zu Schritt 104 weiter. In
Schritt 104 werden die Daten sofort vom Schreibpufferspeicher
zur CPU 1 oder DMA-Vorrichtung 2 übertragen.
Falls kein Treffer bei irgendeinem der Schreibpufferspei
cher in Schritt 103 vorkommt, geht der Vergleichs/Steuerteil 53
dann zu Schritt 105 weiter, wo er den ältesten der Lesepuffer
speicher in der Verwendungsgeschichte auswählt. Als nächstes
liest in Schritt 106 der Vergleichs/Steuerteil 53 von der
Hauptspeichereinheit 7 Daten bei Adressen, die von der Lesezu
griffsadresse nur in niedrigeren Bits festgelegter Länge ver
schieden sind.
Anschließend weist in Schritt 107 der Vergleichs/Steuerteil
53 die ECC-Ausführeinheit 5 an, eine Fehlerprüfung und -kor
rektur der in Schritt 106 gelesenen Daten durchzuführen. In
Schritt 108 lädt dann der Vergleichs/Steuerteil 53 die Daten
nach Ausführung der ECC im ausgewählten Lesepufferspeicher. Da
nach überträgt der Vergleichs/Steuerteil 53 die Daten, die in
Schritt 108 im Lesepufferspeicher geladen worden sind, von dort
zur CPU 1 oder DMA-Vorrichtung 2.
Weil auf die Lesepufferspeicher 3a, 3b mit einer höheren
Geschwindigkeit als auf die Hauptspeichereinheit 7 zugegriffen
werden kann, kann entsprechend die Datenzugriffszeit verkürzt
werden. Weil die Lesepufferspeicher 3a, 3b darin die Daten la
den, an denen die ECC-Ausführeinheit 5 die Fehlerprüfung- und -
korrektur durchgeführt hat, ist auch die Notwendigkeit besei
tigt, die ECC wieder auszuführen, und eine ECC-Ausführungszeit
kann herausgeschnitten werden.
Fig. 5 ist ein Zeitdiagramm, das einen Lesezugriffszyklus
zeigt, der dem Stand der Technik entspricht, d. h. einen Lesezu
griffszyklus der CPU 1 oder DMA-Vorichtung 2 bei Fehlen eines
Lesepufferspeichers. Fig. 6 ist ein Zeitdiagramm, das einen Le
sezugriffszyklus in dieser Ausführungsform zeigt, d. h. einen
Lesezugriffszyklus der CPU 1 oder DMA-Vorrichtung 2 bei Vorhan
densein des Lesepufferspeichers.
In Fig. 5 nimmt die CPU 1 oder die DMA-Vorrichtung 2 einen
Lesezugriff direkt auf die Hauptspeichereinheit 7 vor. Daher
ist eine Zugriffszeit auf die Hauptspeichereinheit 7 gegeben
durch die Summe einer Lesezugriffszeit auf die Hauptspeicher
einheit 7 und einer ECC-Ausführungszeit.
Im Gegensatz dazu greift in Fig. 6 die CPU 1 oder die DMA-
Vorrichtung 2 auf den Lesepufferspeicher 3a oder 3b zu. Daher
ist eine Zugriffszeit auf den Lesepufferspeicher 3a oder 3b ei
ner Zugriffszeit auf die Hauptspeichereinheit 7 äquivalent.
Nimmt man an, daß die Zugriffszeit auf die Hauptspeicher
einheit 7 60 ns beträgt, die Zugriffszeit auf den Lesepuffer
speicher 3a oder 3b 10 ns beträgt und die ECC-Ausführungszeit
15 ns beträgt, erkennt man aus einem Vergleich der Fig. 5 und
6, daß die Datenzugriffszeit beim Lesezugriff durch diese Aus
führungsform um 65 ns verkürzt werden kann.
Ferner werden Daten in aufeinanderfolgenden Adressen in je
dem der Lesepufferspeicher 3a, 3b geladen. Die Wahrscheinlich
keit eines Treffers bei irgendeinem der Lesepufferspeicher 3a,
3b ist jedoch hoch, weil die CPU 1 eine Lokalisierung in Zeit
und Raum aufweist, wenn auf Daten verwiesen wird, und ein Zu
griff von der DMA-Vorrichtung 2 auf die Hauptspeichereinheit 7
auf aufeinanderfolgende Adressen gemacht wird.
Wie oben beschrieben bestimmt dann, falls die Daten bei der
Zugriffsadresse in den Lesepufferspeichern 3a, 3b nicht vorhan
den sind, der Vergleichs/Steuerteil 53, ob die Daten bei der
Zugriffsadresse in den Schreibpufferspeichern 4a, 4b existieren
oder nicht. Falls die Daten bei der Zugriffsadresse in irgend
einem der Schreibpufferspeicher 4a, 4b existieren, werden dann
die Daten aus dem Schreibpufferspeicher 4a oder 4b sofort zur
CPU 1 oder DMA-Vorrichtung 2 übertragen. Weil die Schreibpuf
ferspeicher 4a, 4b darin die letzten Daten laden, gibt es kein
Problem mit der Widerspruchsfreiheit von Daten.
Weil auf die Schreibpufferspeicher 4a, 4b mit einer höheren
Geschwindigkeit als auf die Hauptspeichereinheit 7 zugegriffen
werden kann, kann ferner die Datenzugriffszeit entsprechend
verkürzt werden.
Fig. 7 ist ein Zeitdiagramm, das einen Lesezugriffszyklus
der CPU 1 oder der DMA-Vorrichtung 2 bei einem Treffer beim
Schreibpufferspeicher zeigt. In Fig. 7 greift die CPU 1 oder
die DMA-Vorrichtung 2 auf den Schreibpufferspeicher 4a oder 4b
zu, und daher ist die Datenzugriffszeit durch eine Zugriffszeit
auf den Schreibpufferspeicher 4a oder 4b gegeben.
Nimmt man an, daß die Zugriffszeit auf die Hauptspeicher
einheit 7 60 ns beträgt, die Zugriffszeit auf den Schreibpuf
ferspeicher 4a oder 4b 10 ns beträgt und die ECC-Ausführungs
zeit 15 ns beträgt, erkennt man aus einem Vergleich der Fig. 5
und 7, daß die Datenzugriffszeit beim Lesezugriff durch diese
Ausführungsform um 65 ns verkürzt werden kann.
Wie oben beschrieben wählt dann, falls die Daten bei der
Zugriffsadresse in den Schreibpufferspeichern 4a, 4b nicht vor
handen sind, der Vergleichs/Steuerteil 53 den ältesten der Le
sepufferspeicher 3a, 3b in der Verwendungsgeschichte aus.
Anschließend liest der Vergleichs/Steuerteil 53 aus der
Hauptspeichereinheit 7 Daten bei Adressen, die von der Lesezu
griffsadresse nur in niedrigeren Bits festgelegter Länge ver
schieden sind, weist die ECC-Ausführeinheit 5 an, eine Fehler
prüfung und -korrektur der gelesenen Daten durchzuführen, und
lädt dann die Lesezugriffsdaten im ausgewählten Lesepufferspei
cher, während sie zur CPU 1 oder DMA-Vorrichtung 2 übertragen
werden.
Bei dieser Gelegenheit wird der Lesezugriff auf die Haupt
speichereinheit 7 auf aufeinanderfolgende Adressen vorgenommen.
Weil ein DRAM oder dergleichen einen Blockmodus hat, der ermög
licht, daß aufeinanderfolgende Zugriffe mit hoher Geschwindig
keit ausgeführt werden, kann die Datenzugriffszeit so verkürzt
werden, daß sie kürzer als in dem Fall ist, bei dem ein Zyklus
eines Lesezugriffs mehrmals ausgeführt wird, indem der Blockmo
dus verwendet wird, wenn die Hauptspeichereinheit 7 einen DRAM
enthält.
Fig. 8 ist ein Zeitdiagramm, das einen Lesezugriffszyklus
der CPU 1 oder DMA-Vorrichtung 2 bei einem Fehltreffer bei ir
gendeinem Lesepufferspeicher oder irgendeinem Schreibpuffer
speicher zeigt, wenn der Blockmodus nicht verwendet wird. Fig.
9 ist ein Zeitdiagramm, das einen Lesezugriffszyklus der CPU 1
oder der DMA-Vorrichtung 2 bei einem Fehltreffer bei irgendei
nem Lesepufferspeicher oder irgendeinem Schreibpufferspeicher
zeigt, wenn der Blockmodus verwendet wird.
In Fig. 8 wird der in Fig. 5 gezeigte Lesezugriffszyklus
viermal wiederholt. In Fig. 9 werden durch Verwenden des Block
modus Daten in bestimmten Intervallen aufeinanderfolgend gele
sen. Nimmt man an, daß die Lesezugriffszeit auf die Hauptspei
chereinheit 7 60 ns beträgt, das Datenleseintervall gemäß dem
Blockmodus 10 ns beträgt und die ECC-Ausführungszeit 15 ns be
trägt, erkennt man aus einem Vergleich der Fig. 8 und 9, daß
die Datenzugriffszeit im Lesezugriff bei einem Fehltreffer bei
irgendeinem Lesepufferspeicher oder irgendeinem Schreibpuffer
speicher durch Verwenden des Blockmodus um 195 ns verkürzt wer
den kann.
Fig. 10 zeigt eine Operation, die ausgeführt wird, wenn Le
sezugriffsdaten für die CPU 1 im Lesepufferspeicher 3a existie
ren, und Fig. 11 zeigt eine Operation, die ausgeführt wird,
wenn Lesezugriffsdaten für die DMA-Vorrichtung 2 im Lesepuffer
speicher 3b existieren.
Gesetzt den Fall, daß ein Lesezugriff von der CPU 1 und ein
Lesezugriff von der DMA-Vorrichtung 2 auf aufeinanderfolgende
Adressen in voneinander verschiedenen Bereichen abwechselnd
vorgenommen werden, würde, falls nur ein Lesepuffer vorgesehen
ist, ein Fehltreffer beim Lesepufferspeicher für jeden Lesezu
griff auftreten. Mit anderen Worten müßte, wann immer ein Lese
zugriff vorgenommen wird, der Vergleichs/Steuerteil 53 von der
Hauptspeichereinheit 7 Daten bei Adressen lesen, die von der
Lesezugriffsadresse nur in niedrigeren Bits festgelegter Länge
verschieden sind, und sie dann in den Lesepufferspeicher laden.
In einem solchen Fall werden daher die gleichen Daten mehr
mals abwechselnd gelesen, und der Nutzeffekt des Lesepuffer
speichers wäre vergebens.
Durch Bereitstellen von zwei oder mehr Lesepufferspeichern
als bei der veranschaulichten Ausführungsform können im Gegen
satz dazu Daten bei Adressen, die von der Lesezugriffsadresse
von der CPU 1 nur in niedrigeren Bits festgelegter Länge ver
schieden sind, und Daten bei Adressen, die von der Lesezu
griffsadresse von der DMA-Vorrichtung 2 nur in niedrigeren Bits
festgelegter Länge verschieden sind, in voneinander verschiede
ne Lesepufferspeicher geladen werden, und ist es möglich, die
in Fig. 10 gezeigte Operation und die in Fig. 11 gezeigte Ope
ration abwechselnd auszuführen. Als Folge kann die Datenzu
griffszeit verkürzt werden.
Fig. 12 zeigt eine Operation, die ausgeführt wird, wenn Le
sezugriffsdaten für die CPU 1 im Schreibpufferspeicher 4a exi
stieren. Fig. 13 zeigt eine Operation, die ausgeführt wird,
wenn Lesezugriffsdaten für die CPU 1 in irgendeinem der Lese
pufferspeicher 3a, 3b und der Schreibpufferspeicher 4a, 4b exi
stieren.
In Fig. 13 wird der Lesepufferspeicher 3a als der älteste
Lesepufferspeicher in der Verwendungsgeschichte ausgewählt, und
die Daten bei Adressen, die von der Lesezugriffsadresse von der
CPU 1 nur in niedrigeren Bits festgelegter Länge verschieden
sind, die aus der Hauptspeichereinheit 7 ausgelesen und durch
die ECC-Ausführeinheit 5 der Fehlerprüfung und -korrektur un
terzogen worden sind, werden in den ausgewählten Lesepuffer
speicher 3a geladen.
Fig. 14 ist ein Flußdiagramm einer Operation im Schreibzu
griff der CPU 1 oder der DMA-Vorrichtung 2 auf die Hauptspei
chereinheit 7 durch Verwenden des Hauptspeichersteuergeräts ge
mäß dieser Ausführungsform.
In Schritt 200 von Fig. 14 bestimmt der Vergleichs/Steuer
teil 53, ob eine Anforderung für einen Schreibzugriff von der
CPU 1 oder der DMA-Vorrichtung 2 vorliegt oder nicht. In
Schritt 201 bestimmt er dann, ob Daten bei einer Schreibzu
griffsadresse in irgendeinem der Lesepufferspeicher vorhanden
sind oder nicht. Falls die Daten bei der Schreibzugriffsadresse
im Lesepufferspeicher existieren, erklärt er dann die Daten im
Lesepufferspeicher 3 für ungültig, weil eine Widerspruchsfrei
heit zwischen geschriebenen Daten von der CPU 1 oder der DMA-
Vorrichtung 2 und den Daten bei der Schreibzugriffsadresse im
Lesepufferspeicher 3 verloren wird.
Als nächstes bestätigt der Vergleichs/Steuerteil 53 in
Schritt 202, ob ein Schreibpufferspeicher vorhanden ist, der
Daten bei Adressen hält, die von der Schreibzugriffsadresse nur
in niedrigeren Bits festgelegter Länge verschieden sind. Falls
solch ein Schreibpufferspeicher existiert, geht er dann zu
Schritt 203 weiter, um die geschriebenen Daten von der CPU 1
oder der DMA-Vorrichtung 2 in diesen Schreibpufferspeicher zu
schreiben. Anschließend werden in Schritt 204, wenn Daten in
diesem Schreibpufferspeicher bis zu dessen voller Kapazität ge
speichert sind, die gespeicherten Daten auf einmal in die
Hauptspeichereinheit 7 geschrieben.
Falls der Schreibpufferspeicher, der die Daten bei Adressen
hält, die von der Schreibzugriffsadresse nur in niedrigeren
Bits festgelegter Länge verschieden sind, in Schritt 202 nicht
existiert, geht dann der Prozeß des Vergleichs/Steuerteils 53
weiter zu Schritt 205, wo er bestimmt, ob alle Schreibpuffer
speicher besetzt sind oder nicht. Falls es einen leeren
Schreibpufferspeicher gibt, schreibt er dann in Schritt 206 die
geschriebenen Daten in den leeren Schreibpufferspeicher.
Falls in Schritt 205 alle Schreibpufferspeicher besetzt
sind, geht dann der Prozeß des Vergleichs/Steuerteils 53 zu
Schritt 207 weiter, wo er die Daten, welche im ältesten
Schreibpufferspeicher in der Verwendungsgeschichte gespeichert
sind, auf einmal in die Hauptspeichereinheit 7 schreibt. Danach
schreibt er in Schritt 208 die geschriebenen Daten in den
Schreibpufferspeicher, der durch Schreiben der gespeicherten
Daten in die Hauptspeichereinheit 7 leer geworden ist.
Weil auf den Schreibpufferspeicher mit einer höheren Ge
schwindigkeit als auf die Hauptspeichereinheit 7 zugegriffen
werden kann, kann entsprechend die Datenzugriffszeit verkürzt
werden.
Fig. 15 ist ein Zeitdiagramm, das einen Schreibzugriffs
zyklus der CPU 1 oder der DMA-Vorrichtung 2 bei Fehlen des
Schreibpufferspeichers zeigt. Fig. 16 ist ein Zeitdiagramm, das
einen Schreibzugriffszyklus der CPU 1 oder der DMA-Vorrichtung
2 bei Vorhandensein des Schreibpufferspeichers zeigt.
In Fig. 15 führt die CPU 1 oder die DMA-Vorrichtung 2 einen
Schreibzugriff direkt auf die Hauptspeichereinheit 7 aus. Daher
ist die Zugriffszeit gegeben durch die Summe einer Lesezu
griffszeit auf die Hauptspeichereinheit 7 und einer ECC-Aus
führungszeit. Im Gegensatz dazu greift in Fig. 16 die CPU 1
oder die DMA-Vorrichtung 2 auf den Schreibpufferspeicher zu.
Daher ist die Datenzugriffszeit durch eine Zugriffszeit auf den
Schreibpufferspeicher gegeben.
Nimmt man an, daß die Summe der Schreibzugriffszeit auf die
Hauptspeichereinheit 7 und der ECC-Ausführungszeit 45 ns be
trägt und die Zugriffszeit auf den Schreibpufferspeicher 10 ns
beträgt, erkennt man aus einem Vergleich der Fig. 15 und 16,
daß die Datenzugriffszeit im Schreibzugriff durch diese Ausfüh
rungsform um 35 ns verkürzt werden kann.
Wie oben beschrieben werden, wenn der Schreibpufferspeicher
mit den geschriebenen Daten von der CPU 1 oder der DMA-Vorrich
tung 2 voll geworden ist, die Inhalte des Schreibpufferspei
chers auf einmal in die Hauptspeichereinheit 7 geschrieben. Bei
dieser Gelegenheit wird der Schreibzugriff auf die Hauptspei
chereinheit 7 manchmal auf aufeinanderfolgende Adressen vorge
nommen. Weil ein DRAM oder dergleichen einen Blockmodus hat,
der ermöglicht, daß aufeinanderfolgende Zugriffe mit hoher Ge
schwindigkeit ausgeführt werden, kann durch Verwenden des
Blockmodus die Datenzugriffszeit so verkürzt werden, daß sie
kürzer als in dem Fall ist, bei dem ein Schreibzugriffszyklus
mehrmals ausgeführt wird.
Fig. 17 ist ein Zeitdiagramm, das einen Schreibzugriffszy
klus vom Schreibpufferspeicher auf die Hauptspeichereinheit 7
zeigt, wenn der Blockmodus nicht verwendet wird. Fig. 18 ist
ein Zeitdiagramm, das einen Schreibzugriffszyklus vom Schreib
pufferspeicher auf die Hauptspeichereinheit 7 zeigt, wenn der
Blockmodus verwendet wird.
Der in Fig. 15 gezeigte Schreibzugriffszyklus wird in Fig.
17 viermal wiederholt.
Andererseits werden durch Verwenden des Blockmodus in Fig.
18 Daten in bestimmten Intervallen sukzessiv geschrieben. Nimmt
man an, daß die Summe der Schreibzugriffszeit auf die Haupt
speichereinheit 7 und der ECC-Ausführungszeit 45 ns beträgt und
das Datenschreibintervall gemäß dem Blockmodus 10 ns beträgt,
erkennt man aus einem Vergleich der Fig. 17 und 18, daß die Da
tenzugriffszeit beim Schreibzugriff, die erforderlich ist, wenn
der Schreibpufferspeicher voll geworden ist, durch diese Aus
führungsform um 105 ns verkürzt werden kann.
Die Wahrscheinlichkeit, daß die Adressen der im Schreibpuf
ferspeicher gespeicherten Daten aufeinanderfolgend fortlaufen,
ist hoch, weil die CPU 1 eine Lokalisierung in Zeit und Raum
hat, wenn ein Schreiben von Daten und ein Zugriff von der DMA-
Vorrichtung 2 auf die Hauptspeichereinheit 7 auf aufeinander
folgende Adressen vorgenommen wird.
Wie oben beschrieben bestimmt dann ferner, falls der
Schreibpufferspeicher, der die Daten bei Adressen hält, die von
der Schreibzugriffsadresse nur in niedrigeren Bits festgelegter
Länge verschieden sind, nicht existiert, der Vergleichs/Steuer
teil 53, ob alle Schreibpufferspeicher besetzt sind oder nicht.
Falls es einen leeren Schreibpufferspeicher gibt, schreibt
dann der Vergleichs/Steuerteil 53 die geschriebenen Daten in
den leeren Schreibpufferspeicher. Weil auf den Schreibpuffer
speicher mit einer höheren Geschwindigkeit als auf die Haupt
speichereinheit 7 zugegriffen werden kann, kann die Datenzu
griffszeit entsprechend verkürzt werden.
Falls alle Schreibpufferspeicher besetzt sind, bedeutet
dies, daß es keinen Schreibpufferspeicher gibt, in den die ge
schriebenen Daten von der CPU 1 oder der DMA-Vorrichtung 2 ge
schrieben werden sollen. Der Vergleichs/Steuerteil 53 schreibt
demgemäß die Inhalte des ältesten Schreibpufferspeichers in der
Verwendungsgeschichte auf einmal in die Hauptspeichereinheit 7,
wodurch dieser Schreibpufferspeicher leer gemacht wird, und
schreibt dann die geschriebenen Daten in den leeren Schreibpuf
ferspeicher.
Die Operation, die ausgeführt wird, wenn es einen Schreib
pufferspeicher gibt, der die Daten bei Adressen hält, die von
der Schreibzugriffsadresse nur in niedrigeren Bits festgelegter
Länge verschieden sind, oder die Operation, die ausgeführt
wird, wenn es einen leeren Schreibpufferspeicher gibt, sind in
Fig. 19 bzw. 20 dargestellt.
Fig. 19 zeigt einen Schreibzugriff von der CPU 1 auf die
Hauptspeichereinheit 7, wenn der Schreibpufferspeicher 4a die
Daten bei Adressen hält, die von der Schreibzugriffsadresse nur
in niedrigeren Bits festgelegter Länge verschieden sind, oder
wenn der Schreibpufferspeicher 4a leer ist.
Fig. 20 zeigt einen Schreibzugriff von der DMA-Vorrichtung
2 auf die Hauptspeichereinheit 7, wenn der Schreibpufferspei
cher 4b die Daten bei Adressen hält, die von der Schreibzu
griffsadresse nur in niedrigeren Bits festgelegter Länge ver
schieden sind, oder wenn der Schreibpufferspeicher 4b leer ist.
Fig. 21 zeigt die Operation, die ausgeführt wird, wenn der
Schreibpufferspeicher durch Schreiben von Daten voll geworden
ist, oder die Operation, die ausgeführt wird, wenn alle
Schreibpufferspeicher zur Zeit eines Schreibens der geschriebe
nen Daten besetzt sind.
In Fig. 21 ist der Schreibpufferspeicher 4a ein Schreibpuf
ferspeicher, der durch Schreiben von Daten voll geworden ist,
oder der älteste Schreibpufferspeicher in der Verwendungsge
schichte, wenn alle Schreibpufferspeicher besetzt sind. Der
Schreibpufferspeicher 4a wird durch Schreiben aller Inhalte des
Schreibpufferspeichers 4a in die Hauptspeichereinheit 7 leer
gemacht.
Fig. 22 ist ein Blockdiagramm, das den Aufbau eines automa
tischen Blutanalysegeräts zeigt, das Steuereinheiten enthält,
für die jeweils das Hauptspeichersteuergerät der vorliegenden
Erfindung verwendet wird.
Das automatische Blutanalysegerät umfaßt einen Kernteil
200a mit einer H/D (Festplatte) 300 und mehrere analysierende
Teilen 200b, . . . 200c, die über ein Either-Netz (engl. either
net) 400 miteinander verbunden sind.
Die mit dem Kernteil 200a verbundene H/D 300 speichert von
den analysierenden Teilen 200b, . . . 200c übertragene Daten. Der
Kernteil 200a empfängt Befehle und Daten, die beide von den
analysierenden Teilen 200b, . . . 200c empfangen wurden, führt
notwendige Prozesse aus, wie z. B. Laden der Daten in die H/D
300 und eine Berechnung basierend auf Daten in der H/D 300, und
gibt dann Antworten an die analysierenden Teile 200b, . . . 200c
zurück.
Andererseits warten die analysierenden Teile 200b, . . . 200c
auf Antworten vom Kernteil 200a nach Ausgabe von Befehlen an
den Kernteil 200a und führen dann folgende Operationen gemäß
Ergebnissen der Antworten aus. Daher wird ein Durchsatz der
analysierenden Teile 200b, . . . 200c mit einer Zunahme der Da
tenübertragungs- und -empfangsgeschwindigkeit durch das Either-
Netz 400 und der Befehlsverarbeitungsgeschwindigkeit im Kern
teil 200a verbessert.
Der Kernteil 200a und die analysierenden Teile 200b, . . .
200c enthalten jeweilige Steuereinheiten 100a, 100b, . . . 100c,
für die jeweils das Hauptspeichersteuergerät der vorliegenden
Erfindung verwendet wird. Im Analysegerät von Fig. 22 enthalten
die Steuereinheiten 100a, 100b, . . . 100c jeweils zwei DMA-
Vorrichtungen, d. h. eine Either-Netz-Steuereinheit 2A und eine
SCSI-Steuereinheit 2B.
Die Either-Netz-Steuereinheit 2A steuert eine Übertragung
und einen Empfang von Befehlen und Daten durch das Either-Netz
400, und die SCSI-Steuereinheit 2B führt eine Zugriffssteuerung
der H/D 300 aus. Die Befehle verarbeitende CPU 1 überträgt kei
ne Daten direkt zu und von dem Either-Netz 400 und der H/D 300.
Eine Datenübertragung zwischen der CPU 1 und der Either-Netz-
Steuereinheit 2A sowie der SCSI-Steuereinheit 2B wird derart
bewerkstelligt, daß die CPU 1 Daten zu und von der Either-Netz-
Steuereinheit 2A und einer SCSI-Steuereinheit 2B über einen Be
reich der Hauptspeichereinheit 7 überträgt, von dem Daten nicht
in den Cache-Speicher geladen werden können.
Indem man die vorliegende Erfindung so verwendet, kann eine
Zugriffszeit auf die Hauptspeichereinheit 7, welche durch die
CPU 1, die Either-Netz-Steuereinheit 2A und die SCSI-Steuer
einheit 2B gemeinsam genutzt wird, verkürzt werden.
Daher können die Geschwindigkeiten einer Datenübertragung
zwischen der CPU 1 und dem Either-Netz 400 und zwischen der CPU
1 und der H/D 300 erhöht werden.
Als Folge ist es in dem automatischen Blutanalysegerät mög
lich, Antworten vom Kernteil 200a auf Befehle von den analysie
renden Teilen 200b, . . . 200c zu beschleunigen und daher einen
Durchsatz der analysierenden Teile 200b, . . . 200c zu erhöhen.
Die wie oben beschrieben aufgebaute vorliegende Erfindung
weist unten angegebene Vorteile auf. Die CPU und die DMA-
Vorrichtung verwenden gemeinsam einen Adreßbereich der Haupt
speichereinheit, aus dem keine Daten in den Cache-Speicher in
der CPU geladen werden können, während die Inhalte im verblei
benden Speicherbereich der Hauptspeichereinheit teilweise in
den Cache-Speicher geladen werden können. Daher wird eine Zu
griffszeit auf die Hauptspeichereinheit bei einem Treffer beim
Cache-Speicher verkürzt. Weil Daten im Speicherbereich der
Hauptspeichereinheit, auf den die DMA-Vorrichtung einen
Schreibzugriff ausführt, niemals im Cache-Speicher existieren,
kann die Widerspruchsfreiheit von Daten zwischen dem Cache-
Speicher und der Hauptspeichereinheit bewahrt werden, und eine
Notwendigkeit, Daten im Cache-Speicher bei einem DMA-Anlauf für
ungültig zu erklären, ist beseitigt. Demgemäß kann sogar eine
CPU ohne Horchfunktion einen effizienteren Gebrauch des Cache-
Speichers erzielen, ein Cache-Trefferverhältnis erhöhen und ei
ne durchschnittliche Zugriffszeit verkürzen.
Daten in dem Speicherbereich der Hauptspeichereinheit, der
durch die CPU und die DMA-Vorrichtung gemeinsam genutzt wird,
werden teilweise in einen Lesepufferspeicher und einen Schreib
pufferspeicher geladen, auf die mit einer höheren Geschwindig
keit als auf die Hauptspeichereinheit zugegriffen werden kann.
Daten bei aufeinanderfolgenden Adressen werden in den Lesepuf
ferspeicher geladen, ein Datenzugriff von der CPU hat eine Lo
kalisierung in Zeit und Raum, und ein Zugriff von der DMA-
Vorrichtung auf die Hauptspeichereinheit wird auf aufeinander
folgende Adressen vorgenommen.
Daher hat ein Zugriff auf den Speicherbereich der Haupt
speichereinheit, der durch die CPU und die DMA-Vorrichtung ge
meinsam genutzt wird, ein hohes Trefferverhältnis beim Lesepuf
ferspeicher, was eine kürzere durchschnittliche Zugriffszeit
zur Folge hat.
Aus den oben genannten Gründen ist auch die Wahrscheinlich
keit hoch, daß sich Adressen von in den Schreibpufferspeicher
geschriebenen Daten aufeinanderfolgend fortsetzen. Demgemäß
kann eine durchschnittliche Datenzugriffszeit auf die Haupt
speichereinheit durch Übertragen von Daten zwischen der Haupt
speichereinheit und dem Lesepufferspeicher oder dem Schreibpuf
ferspeicher in einem Hochgeschwindigkeitsblockmodus verkürzt
werden.
Weil die ECC-Ausführeinheit die ECC an in die Hauptspei
chereinheit geschriebenen Daten ausführt, kann ferner die Da
tenintegrität mit hoher Zuverlässigkeit bewahrt werden. Weil
Daten in den Lesepufferspeicher geladen werden, nachdem sie der
ECC unterzogen wurden, kann außerdem die ECC-Ausführungszeit
herausgeschnitten werden, wenn ein Treffer beim Lesepufferspei
cher vorkommt, was eine noch kürzere Datenzugriffszeit zur Fol
ge hat.
Durch Bereitstellen mehrerer Lesepufferspeicher können au
ßerdem Daten bei Adressen, die von der Lesezugriffsadresse von
der CPU nur in niedrigeren Bits festgelegter Länge verschieden
sind, und Daten bei Adressen, die von der Lesezugriffsadresse
von der DMA-Vorrichtung nur in niedrigeren Bits festgelegter
Länge verschieden sind, in getrennte Lesepufferspeicher geladen
werden.
Wenn ein Lesezugriff von der CPU und ein Lesezugriff von
der DMA-Vorrichtung auf aufeinanderfolgende Adressen in vonein
ander verschiedenen Bereichen abwechselnd vorgenommen werden,
können folglich diese Zugriffsoperationen abwechselnd ausge
führt werden, und daher kann die Datenzugriffszeit verkürzt
werden.
Claims (8)
1. Hauptspeichersteuergerät zur Verwendung in einem Compu
tersystem mit einem Hauptspeicher, einer einen Cache-Speicher
enthaltenden CPU und einer Zugriffsfreigabevorrichtung, die im
stande ist, einen direkten Speicherzugriff auf den Hauptspei
cher vorzunehmen, wobei das Hauptspeichersteuergerät einen Da
tenzugriff auf den Hauptspeicher steuert, umfassend:
einen ersten Adreßbereich, der in einem Speicherbereich des Hauptspeichers zugewiesen ist und erlaubt, daß Daten von dem ersten Adreßbereich in den Cache-Speicher in der CPU geladen werden, aber einen Datenzugriff von der Zugriffsfreigabevor richtung auf den ersten Adreßbereich sperrt, und einen zweiten Adreßbereich, der im Speicherbereich des Hauptspeichers zuge wiesen ist und einen Datenzugriff von der Zugriffsfreigabevor richtung auf den zweiten Adreßbereich erlaubt, aber nicht ge stattet, daß Daten von dem zweiten Adreßbereich in den Cache- Speicher in der CPU geladen werden;
einen Lesepufferspeicher, der gestattet, daß im Hauptspei cher gespeicherte Daten in den Lesepufferspeicher gespeichert werden, und gestattet, daß die geladenen Daten als Antwort auf eine Datenzugriffsanforderung von der CPU oder Zugriffsfreiga bevorrichtung gelesen werden; und
einen Steuerteil, der eine Steuerung ausführt, wenn die CPU oder Zugriffsfreigabevorrichtung eine Datenzugriffsanforderung ausgibt, auf solche Weise, daß, falls Daten, auf die zugegrif fen werden soll, im Lesepufferspeicher existieren, die Daten im Lesepufferspeicher zur die Zugriffsanforderung ausgebenden CPU oder Zugriffsfreigabevorrichtung übertragen werden und, falls Daten, auf die zugegriffen werden soll, im Lesepufferspeicher nicht existieren, vom Hauptspeicher Daten bei Adressen gelesen werden, die von der Adresse gemäß der Zugriffsanforderung von der CPU oder Zugriffsfreigabevorrichtung nur in niedrigeren Bits festgelegter Länge verschieden sind, und die gelesenen Da ten in den Lesepufferspeicher geladen werden, während die gele senen Daten zur die Zugriffsanforderung ausgebenden CPU oder Zugriffsfreigabevorrichtung übertragen werden.
einen ersten Adreßbereich, der in einem Speicherbereich des Hauptspeichers zugewiesen ist und erlaubt, daß Daten von dem ersten Adreßbereich in den Cache-Speicher in der CPU geladen werden, aber einen Datenzugriff von der Zugriffsfreigabevor richtung auf den ersten Adreßbereich sperrt, und einen zweiten Adreßbereich, der im Speicherbereich des Hauptspeichers zuge wiesen ist und einen Datenzugriff von der Zugriffsfreigabevor richtung auf den zweiten Adreßbereich erlaubt, aber nicht ge stattet, daß Daten von dem zweiten Adreßbereich in den Cache- Speicher in der CPU geladen werden;
einen Lesepufferspeicher, der gestattet, daß im Hauptspei cher gespeicherte Daten in den Lesepufferspeicher gespeichert werden, und gestattet, daß die geladenen Daten als Antwort auf eine Datenzugriffsanforderung von der CPU oder Zugriffsfreiga bevorrichtung gelesen werden; und
einen Steuerteil, der eine Steuerung ausführt, wenn die CPU oder Zugriffsfreigabevorrichtung eine Datenzugriffsanforderung ausgibt, auf solche Weise, daß, falls Daten, auf die zugegrif fen werden soll, im Lesepufferspeicher existieren, die Daten im Lesepufferspeicher zur die Zugriffsanforderung ausgebenden CPU oder Zugriffsfreigabevorrichtung übertragen werden und, falls Daten, auf die zugegriffen werden soll, im Lesepufferspeicher nicht existieren, vom Hauptspeicher Daten bei Adressen gelesen werden, die von der Adresse gemäß der Zugriffsanforderung von der CPU oder Zugriffsfreigabevorrichtung nur in niedrigeren Bits festgelegter Länge verschieden sind, und die gelesenen Da ten in den Lesepufferspeicher geladen werden, während die gele senen Daten zur die Zugriffsanforderung ausgebenden CPU oder Zugriffsfreigabevorrichtung übertragen werden.
2. Hauptspeichersteuergerät nach Anspruch 1, bei dem der
Lesepufferspeicher in größerer Zahl vorgesehen ist.
3. Hauptspeichersteuergerät nach Anspruch 1 oder 2, ferner
aufweisend einen Schreibpufferspeicher, der imstande ist, darin
Daten zu laden, die durch die CPU oder Zugriffsfreigabevorrich
tung angefordert werden, um in den Hauptspeicher geschrieben zu
werden, wobei der Steuerteil Daten gemäß einer Schreibanforde
rung von der CPU oder Zugriffsfreigabevorrichtung in den
Schreibpufferspeicher lädt und die geladenen Daten in den
Hauptspeicher schreibt.
4. Hauptspeichersteuergerät nach Anspruch 3, bei dem der
Schreibpufferspeicher in größerer Zahl vorgesehen ist.
5. Hauptspeichersteuergerät nach Anspruch 1, ferner aufwei
send ein Mittel zum Prüfen und Korrigieren von Datenfehlern,
wobei der Steuerteil, wenn die CPU oder Zugriffsfreigabevor
richtung eine Datenzugriffsanforderung ausgibt, eine Steuerung
auf solche Weise ausführt, daß, falls Daten, auf die zugegrif
fen werden soll, im Lesepufferspeicher nicht existieren, vom
Hauptspeicher Daten bei Adressen gelesen werden, die von der
Adresse gemäß der Zugriffsanforderung von der CPU oder Zu
griffsfreigabevorrichtung nur in niedrigeren Bits festgelegter
Länge verschieden sind, das Mittel zum Prüfen und Korrigieren
von Datenfehlern angewiesen wird, eine Fehlerprüfung und -kor
rektur der gelesenen Daten durchzuführen, und dann die gelese
nen Daten in den Lesepufferspeicher geladen werden, während die
gelesenen Daten zur die Zugriffsanforderung ausgebenden CPU
oder Zugriffsfreigabevorrichtung übertragen werden.
6. Hauptspeichersteuergerät nach Anspruch 5, bei dem der
Lesepufferspeicher in größerer Zahl vorgesehen ist.
7. Hauptspeichersteuergerät nach Anspruch 5 oder 6, ferner
aufweisend einen Schreibpufferspeicher, der imstande ist, Daten
zu speichern, die durch die CPU oder Zugriffsfreigabevorrich
tung angefordert werden, um in den Hauptspeicher zu schreiben,
wobei der Steuerteil Daten gemäß einer Schreibanforderung von
der CPU oder Zugriffsfreigabevorrichtung in den Schreibpuffer
speicher speichert, Prüfbits für die geladenen Daten durch das
Mittel zum Prüfen und Korrigieren von Datenfehlern erzeugt und
die erzeugten Prüfbits und die geladenen Daten im Schreibpuf
ferspeicher in den Hauptspeicher schreibt.
8. Hauptspeichersteuergerät nach Anspruch 7, bei dem der
Schreibpufferspeicher in größerer Zahl vorgesehen ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-088199 | 1996-04-10 | ||
JP08819996A JP3429948B2 (ja) | 1996-04-10 | 1996-04-10 | 組込み型cpu用制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19714681A1 true DE19714681A1 (de) | 1997-10-30 |
DE19714681B4 DE19714681B4 (de) | 2009-10-15 |
Family
ID=13936238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19714681A Expired - Fee Related DE19714681B4 (de) | 1996-04-10 | 1997-04-09 | Speichersteuergerät |
Country Status (3)
Country | Link |
---|---|
US (1) | US6205517B1 (de) |
JP (1) | JP3429948B2 (de) |
DE (1) | DE19714681B4 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999026141A1 (en) * | 1997-11-13 | 1999-05-27 | Virata Limited | Method and apparatus for controlling shared memory access |
WO2002044904A2 (en) * | 2000-11-30 | 2002-06-06 | Mosaid Technologies Incorporated | Method and apparatus for reducing latency in a memory system |
US6892279B2 (en) | 2000-11-30 | 2005-05-10 | Mosaid Technologies Incorporated | Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188748A (ja) * | 1999-12-27 | 2001-07-10 | Matsushita Electric Ind Co Ltd | データ転送装置 |
KR20030022493A (ko) * | 2001-09-10 | 2003-03-17 | 주식회사 텔루션 | 통신 시스템의 메모리 억세스 장치 |
US7032071B2 (en) * | 2002-05-21 | 2006-04-18 | Sun Microsystems, Inc. | Method, system, and program for using buffers to provide property value information for a device |
US7636815B1 (en) | 2003-04-09 | 2009-12-22 | Klaiber Alexander C | System and method for handling direct memory accesses |
US8751753B1 (en) | 2003-04-09 | 2014-06-10 | Guillermo J. Rozas | Coherence de-coupling buffer |
US20050038946A1 (en) * | 2003-08-12 | 2005-02-17 | Tadpole Computer, Inc. | System and method using a high speed interface in a system having co-processors |
TWI277872B (en) * | 2004-10-19 | 2007-04-01 | Via Tech Inc | Method and related apparatus for internal data accessing of computer system |
US7971002B1 (en) | 2005-04-07 | 2011-06-28 | Guillermo Rozas | Maintaining instruction coherency in a translation-based computer system architecture |
US20080086594A1 (en) * | 2006-10-10 | 2008-04-10 | P.A. Semi, Inc. | Uncacheable load merging |
KR101425957B1 (ko) * | 2007-08-21 | 2014-08-06 | 삼성전자주식회사 | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 |
JP2009230201A (ja) * | 2008-03-19 | 2009-10-08 | Nec Electronics Corp | Usbコントローラ、及びバッファメモリ制御方法 |
TW201015579A (en) * | 2008-09-18 | 2010-04-16 | Panasonic Corp | Buffer memory device, memory system, and data readout method |
US9158691B2 (en) | 2012-12-14 | 2015-10-13 | Apple Inc. | Cross dependency checking logic |
US10579534B2 (en) * | 2015-12-21 | 2020-03-03 | Hewlett Packard Enterprise Development Lp | Caching IO requests |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263142A (en) * | 1990-04-12 | 1993-11-16 | Sun Microsystems, Inc. | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317718A (en) * | 1990-03-27 | 1994-05-31 | Digital Equipment Corporation | Data processing system and method with prefetch buffers |
US5224214A (en) * | 1990-04-12 | 1993-06-29 | Digital Equipment Corp. | BuIffet for gathering write requests and resolving read conflicts by matching read and write requests |
GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
US5283883A (en) * | 1991-10-17 | 1994-02-01 | Sun Microsystems, Inc. | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput |
US5659713A (en) * | 1992-04-24 | 1997-08-19 | Digital Equipment Corporation | Memory stream buffer with variable-size prefetch depending on memory interleaving configuration |
WO1995025310A1 (en) * | 1994-03-14 | 1995-09-21 | Apple Computer, Inc. | A peripheral processor card for upgrading a computer |
US5603007A (en) * | 1994-03-14 | 1997-02-11 | Apple Computer, Inc. | Methods and apparatus for controlling back-to-back burst reads in a cache system |
-
1996
- 1996-04-10 JP JP08819996A patent/JP3429948B2/ja not_active Expired - Lifetime
-
1997
- 1997-04-03 US US08/832,256 patent/US6205517B1/en not_active Expired - Lifetime
- 1997-04-09 DE DE19714681A patent/DE19714681B4/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263142A (en) * | 1990-04-12 | 1993-11-16 | Sun Microsystems, Inc. | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999026141A1 (en) * | 1997-11-13 | 1999-05-27 | Virata Limited | Method and apparatus for controlling shared memory access |
WO2002044904A2 (en) * | 2000-11-30 | 2002-06-06 | Mosaid Technologies Incorporated | Method and apparatus for reducing latency in a memory system |
WO2002044904A3 (en) * | 2000-11-30 | 2003-01-03 | Mosaid Technologies Inc | Method and apparatus for reducing latency in a memory system |
US6587920B2 (en) | 2000-11-30 | 2003-07-01 | Mosaid Technologies Incorporated | Method and apparatus for reducing latency in a memory system |
US6892279B2 (en) | 2000-11-30 | 2005-05-10 | Mosaid Technologies Incorporated | Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency |
US7318123B2 (en) | 2000-11-30 | 2008-01-08 | Mosaid Technologies Incorporated | Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency |
Also Published As
Publication number | Publication date |
---|---|
JPH09282228A (ja) | 1997-10-31 |
JP3429948B2 (ja) | 2003-07-28 |
US6205517B1 (en) | 2001-03-20 |
DE19714681B4 (de) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19714681A1 (de) | Hauptspeichersteuergerät | |
DE69320847T2 (de) | Verfahren und Anordnung zur Ausführung von Prozessen in einem Multiprozessor-System | |
DE60037174T2 (de) | Puffersystem für externen speicherzugriff | |
DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
DE3587400T2 (de) | Datenspeicherungsanordnung. | |
DE69132186T2 (de) | Cache-Speicherverwaltungsanordnung | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69715328T2 (de) | System und Verfahren zur Parallelisierung der Durchführung von Speichertransaktionen mittels mehreren Speichermodellen | |
DE102011076894B4 (de) | Persistenter Speicher für einen Hauptspeicher eines Prozessors | |
DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
DE1952158A1 (de) | Speicherschutzverfahren und Einrichtung zur Durchfuehrung dieses Verfahrens | |
DE60025788T2 (de) | Flexibles Mehrzweck-Ein/Ausgabesystem | |
DE10056827A1 (de) | Duale Verwendung von Cache-Verbindungen | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE102016101311B4 (de) | Datenspeicherverfahren, Datenspeichervorrichtung und Solid State Disk | |
DE112012004629T5 (de) | Dynamischer Speicheraffinitätsanpasser auf Prozess/Objektebene | |
DE4324521A1 (de) | Vorrichtung zum Bestimmen einer Computerspeicherkonfiguration | |
DE19729618A1 (de) | Mikroprozessor und Mehrprozessorsystem | |
DE69016978T2 (de) | Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem. | |
DE2912073C2 (de) | ||
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE68927306T2 (de) | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten | |
DE69618783T2 (de) | Schreibcachespeicher zur verbesserung der schreibleistung | |
EP1079307A1 (de) | Verfahren zum Betrieb eines Speichersystems sowie Speichersystem | |
DE69810098T2 (de) | Leseoperationen in einem multiprozessorrechnersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |