-
Die
vorliegende Erfindung bezieht sich auf ein Speichersteuergerät, das imstande
ist, einen Hochgeschwindigkeitszugriff 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 Hauptspeichereinheit. 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 Hauptspeichereinheit von anderen DMA(Direktzugriffsspeicher)-Freigabevorrichtungen
als der CPU überwacht.
-
Einige
CPUs, die Cache-Speicher enthalten, haben jedoch keine Horchfunktion.
Insbesondere Standard-CPUs, die in kommerziellen Anwendungen im
allgemeinen in Gebrauch kommen, enthalten 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 Hauptspeichereinheit durch
Software gesichert.
-
CPUs
können
spezieller in zwei Typen klassifiziert werden; d. h. leistungsorientierte
CPUs, die zur Verwendung für
Workstations und hochwertige Personalcomputer gedacht sind, und
Standard-CPUs, die zur Verwendung für Heimspielmaschinen, elektronische
Notebooks etc. gedacht sind. Im allgemeinen haben alle leistungsorientierten CPUs
eine Horchfunktion, die einen Zugriff 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
gemeinsamen Speicher zugreifende CPUs verwendet werden, um die Leistung
zu verbessern.
-
Das
Bereitstellen der Horchfunktion stellt die Widerspruchsfreiheit
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, relativ 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 Widerspruchsfreiheit 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 Speicherbereich 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-Freigabevorrichtungen
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 Daten im Cache-Speicher
für ungültig erklärt.
-
Weil
ein CPU-Zugriff auf den ganzen Bereich der Hauptspeichereinheit
oder deren Bereich, auf den durch DMA-Freigabevorrichtungen zugegriffen wird,
direkt auf die Hauptspeichereinheit 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ß jedesmal,
wenn beim DMA-Anlauf ein Schreibzugriff auf die Hauptspeichereinheit
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 Hauptspeichereinheit
verlängert wird.
-
US-5,263,142 offenbart ein
Speichersteuergerät,
das einen Hauptspeicher, eine CPU, der CPU zugeordnete Lese- und
Schreibpufferspeicher, eine DMA-Vorrichtung, der DMA-Vorrichtung
zugeordnete Lese- und Schreibpufferspeicher, einen der DMA-Vorrichtung zugeordneten
Cache-Speicher und einen zentralen Cache-Speicher aufweist. Zugriffe auf
den Hauptspeicher durch die CPU und die DMA-Vorrichtung unterscheiden
sich grundsätzlich. Zugriffe
auf den Hauptspeicher durch die CPU erfolgen über deren Lese- und Schreibpufferspeicher
und den zentralen Cache-Speicher.
Zugriffe auf den Hauptspeicher durch die DMA-Vorrichtung erfolgen über deren
Lese- und Schreibpufferspeicher und deren Cache-Speicher. Folglich
verwenden die CPU und die DMA-Vorrichtung unterschiedliche Zugriffswege.
Um die dabei möglichen
Inkonsistenzen von Daten in den unterschiedlichen Cache-Speichern
zu verhindern, wird eine eingangs erläuterte Horchfunktion verwendet,
bei der die DMA-Vorrichtung oder die CPU auf den Cache-Speicher
der jeweiligen anderen Einrichtung zugreift.
-
In
dem Artikel ”Das
Geheimnis von EDO”, Design & Elektronik 20
vom 4. Oktober 1994, Seiten 40 und 42 ist offenbart, Hautspeicher
mit DRAMs in einem Page-Modus zu betreiben, bei dem zur Reduzierung
von Zykluszeiten anstelle einzelner Adressen Adressbereiche verwendet
werden.
-
Eine
Aufgabe der vorliegenden Erfindung ist, die oben erwähnten Nachteile
im Stand der Technik zu überwinden
und ein Speichersteuergerät
zum Steuern eines Zugriffs auf eine Hauptspeichereinheit von einer
CPU ohne Horchfunktion und einer DMA-Vorrichtung zu realisieren, so daß ein Datenzugriff
auf die Hauptspeichereinheit mit hoher Geschwindigkeit vorgenommen
werden kann, während die
Widerspruchsfreiheit von Daten zwischen dem Cache-Speicher und der
Hauptspeichereinheit bewahrt wird.
-
Nachfolgend
wird eine bevorzugte Ausführungsform
der Erfindunganhand der beigefügten Zeichnungen
näher erläutert.
-
Es
zeigen:
-
1 ein
allgemeines Blockdiagramm einer Ausführungsform der Erfindung;
-
2 eine
Zuweisung von Speicherbereichen in einer Hauptspeichereinheit in
einer Ausführungsform
der vorliegenden Erfindung;
-
3 ein
Blockdiagramm eines ausführlichen
Aufbaus eines in 1 gezeigten Steuerteils;
-
4 ein
Flußdiagramm
einer Operation im Lesezugriff einer CPU oder DMA-Vorrichtung auf
die Hauptspeichereinheit;
-
5 ein
Zeitdiagramm, das einen Lesezugriffszyklus der CPU oder DMA-Vorrichtung
bei Fehlen des Lesepufferspeichers zeigt;
-
6 ein
Zeitdiagramm, das einen Lesezugriffszyklus der CPU oder DMA-Vorrichtung
bei Vorhandensein des Lesepufferspeichers zeigt;
-
7 ein
Zeitdiagramm, das einen Lesezugriffszyklus der CPU oder DMA-Vorrichtung
bei einem Treffer bei einem Schreibpufferspeicher zeigt;
-
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;
-
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;
-
10 ein
Blockdiagramm, das eine Operation zeigt, die ausgeführt wird,
wenn Lesezugriffsdaten für
die CPU in einem Lesepufferspeicher existieren;
-
11 ein
Blockdiagramm, das eine Operation zeigt, die ausgeführt wird,
wenn Lesezugriffsdaten für
die DMA-Vorrichtung im anderen Lesepufferspeicher existieren;
-
12 ein
Blockdiagramm, das eine Operation zeigt, die ausgeführt wird,
wenn Lesezugriffsdaten für
die CPU in einem Schreibpufferspeicher existieren;
-
13 ein
Blockdiagramm, das eine Operation zeigt, die ausgeführt wird,
wenn Lesezugriffsdaten für
die CPU in weder irgendeinem Lesepufferspeicher noch irgendeinem
Schreibpufferspeicher existieren;
-
14 ein
Flußdiagramm
einer Operation beim Schreibzugriff der CPU oder DMA-Vorrichtung auf
die Hauptspeichereinheit;
-
15 ein
Zeitdiagramm, das einen Schreibzugriffszyklus der CPU oder DMA-Vorrichtung
bei Fehlen des Schreibpufferspeichers zeigt;
-
16 ein
Zeitdiagramm, das einen Schreibzugriffszyklus der CPU oder DMA-Vorrichtung
bei Vorhandensein des Schreibpufferspeichers zeigt;
-
17 ein
Zeitdiagramm, das einen Schreibzugriffszyklus vom Schreibpufferspeicher
zur Hauptspeichereinheit zeigt, wenn der Blockmodus nicht verwendet
wird;
-
18 ein
Zeitdiagramm, das einen Schreibzugriffszyklus vom Schreibpufferspeicher
zur Hauptspeichereinheit zeigt, wenn der Blockmodus verwendet wird;
-
19 ein
Blockdiagramm, das eine Schreiboperation von der CPU in einen Schreibpufferspeicher
zeigt;
-
20 ein
Blockdiagramm, das eine Schreiboperation von der DMA-Vorrichtung
in den anderen Schreibpufferspeicher zeigt;
-
21 ein
Blockdiagramm, das eine Schreiboperation vom Schreibpufferspeicher
in die Hauptspeichereinheit zeigt, und
-
22 ein
Blockdiagramm, das den Aufbau eines automatischen Blutanalysegeräts zeigt,
das Steuereinheiten enthält,
für die
jeweils das Speichersteuergerät
der vorliegenden Erfindung verwendet wird.
-
Im
folgenden wird unter Bezugnahme auf die beiliegenden Zeichnungen
eine Ausführungsform
der vorliegenden Erfindung beschrieben.
-
1 ist
ein allgemeines Blockdiagramm eines Speichersteuergeräts zur Verwendung
in einem Computersystem gemäß einer
Ausführungsform
der vorliegenden Erfindung. In 1 ist mit
der Bezugsziffer 1 eine CPU bezeichnet, die einen Cache-Speicher 1c enthält, aber
keine Horchfunktion hat. Ziffer 2 bezeichnet eine DMA-Vorrichtung.
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ßbereich 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 Schreibpufferspeicher
bezeichnet. Jeder dieser Pufferspeicher hat eine Kapazität, die imstande
ist, eine bestimmte Datenmenge zu speichern, und auf diesen kann
mit einer höheren
Geschwindigkeit als auf die Hauptspeichereinheit 7 zugegriffen
werden. Die Lesepufferspeicher 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-Vorrichtung 2 gemeinsam
ist.
-
Obwohl
zwei Lesepufferspeicher und zwei Schreibpufferspeicher in der in 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)-Ausfuhreinheit, welche
Prüfbits
für in die
Hauptspeichereinheit 7 geschriebene Daten erzeugt und eine
Fehlerprüfung
und -korrektur der von der Hauptspeichereinheit 7 gelesenen
Daten durchführt.
-
Auf
dem Gebiet von Halbleitern sind Mikroverarbeitungsverfahren rasch
entwickelt worden. Mit dem Fortschreiten der Mikroverarbeitungsverfahren haben
verschiedene Speichervorrichtungen eine größere Speicherkapazität für jede Vorrichtung,
wohingegen die Wahrscheinlichkeit, daß in Daten Fehlerbits auftreten,
wegen solcher externen Faktoren, wie einer geringeren Menge akkumulierter
elektrischer Ladungen infolge der Verringerung 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 Zuverlä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 Datenbits und die Prüfbits
in eine Speichereinheit schreibt. In einer Leseoperation erzeugt
es ein Syndrom aus den Datenbits und den Prüfbits, die beide aus der Speichereinheit
ausgelesen wurden, und führt
eine Fehlerkorrektur von 1 Bit und eine Fehlerprüfung von 2 Bits unter Verwendung
des Syndroms durch.
-
Die
oben erwähnte
Fehlerprüfung
und -korrektur wird durch die ECC-Ausfuhreinheit (Mittel zum Prüfen und
Korrigieren von Datenfehlern) 5 ausgeführt.
-
Mit 6 ist
ein Steuerteil bezeichnet, der Adressen und Steuersignale von der
CPU 1 und der DMA-Vorrichtung 2 durch einen Adreßbus 8 bzw. eine
Steuerleitung 9 empfängt
und die Lesepufferspeicher 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 Daten steuert.
-
Die
CPU 1, die DMA-Vorrichtung 2, die Lesepufferspeicher 3a, 3b und
die Schreibpufferspeicher 4a, 4b übertragen
und empfangen Daten zwischen diesen durch einen Datenbus 10.
Die Hauptspeichereinheit 7 und die ECC-Ausfuhreinheit 5 übertragen und
empfangen auch Daten dazwischen durch einen Speicherdatenbus 13.
Ferner übertragen
und empfangen die Lesepufferspeicher 3a, 3b, die
Schreibpufferspeicher 4a, 4b und die ECC-Ausführeinheit 5 Daten
zwischen diesen durch einen Pufferdatenbus 14.
-
2 zeigt
die Zuweisung von Speicherbereichen in der Hauptspeichereinheit 7.
-
In
dieser Ausführungsform
wird durch Zuweisen von Speicherbereichen in der Hauptspeichereinheit 7,
wie in 2 dargestellt, 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 Daten in den Cache-Speicher 1c in der CPU 1 geladen
werden können
und der ausschließlich
durch die CPU 1 genutzt wird. Durch Ablegen von Programmen
zur Ausführung
der CPU 1 in einen derartigen exklusiven Raum kann das
Ausführungsprogramm
für die
CPU 1 in den Cache-Speicher 1 geladen werden,
und eine Programmausführungszeit
kann bei einem Treffer beim Cache-Speicher verkü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 Hauptspeichereinheit 7 nur
im zweiten Adreßbereich
zugreifen. Daher werden 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 existieren. 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 Speicherbereich, von dem Daten nicht in den Cache-Speicher 1c geladen
werden können,
zu verkürzen.
-
3 zeigt
einen ausführlichen
Aufbau des Steuerteils 6. Mit 51a, 51b sind
in 3 Lesepufferadreßregister bezeichnet, um Adressen
von in den Lesepufferspeichern 3a, 3b geladenen
Daten, 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
halten.
-
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 Inhalte in den Schreibpufferspeichern 4a, 4b angibt,
und eine Information über
die Verwendungsgeschichte der Schreibpufferspeicher 4a, 4b zu
halten.
-
Ein
Vergleichs/Steuerteil 53 vergleicht die in den Lesepufferadreß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-Ausfuhreinheit 5 und
die Hauptspeichereinheit 7 gemäß 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.
-
4 ist
ein Flußdiagramm
einer Operation bei einem Lesezugriff der CPU 1 oder DMA-Vorrichtung 2 auf
die Hauptspeichereinheit 2 durch Verwenden des Hauptspeichersteuergeräts gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
In
Schritt 100 von 4 vergleicht der Vergleichs/Steuerteil 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
Zugriffsadresse vorhanden sind oder nicht. Falls im Lesepufferspeicher Daten
bei der Zugriffsadresse existieren, d. h. falls ein Treffer 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 Lesepufferspeicher
vorkommt, geht der Vergleichs/Steuerteil 53 dann weiter
zu Schritt 103, um zu bestimmen, ob die Daten bei der Zugriffsadresse in
irgendeinem der Schreibpufferspeicher vorhanden sind oder nicht.
Falls ein Treffer beim Schreibpufferspeicher 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 Schreibpufferspeicher in Schritt 103 vorkommt,
geht der Vergleichs/Steuerteil 53 dann zu Schritt 105 weiter,
wo er den ältesten
der Lesepufferspeicher 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
Lesezugriffsadresse nur in niedrigeren Bits festgelegter Länge verschieden
sind.
-
Anschließend weist
in Schritt 107 der Vergleichs/Steuerteil 53 die
ECC-Ausfuhreinheit 5 an, eine Fehlerprüfung und -korrektur 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. Danach ü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 laden, an denen die ECC-Ausfuhreinheit 5 die
Fehlerprüfung- und – korrektur
durchgeführt
hat, ist auch die Notwendigkeit beseitigt, die ECC wieder auszuführen, und
eine ECC-Ausführungszeit
kann herausgeschnitten werden.
-
5 ist
ein Zeitdiagramm, das einen Lesezugriffszyklus zeigt, der dem Stand
der Technik entspricht, d. h. einen Lesezugriffszyklus der CPU 1 oder
DMA-Vorichtung 2 bei Fehlen eines Lesepufferspeichers. 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
Vorhandensein des Lesepufferspeichers.
-
In 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 Hauptspeichereinheit 7 und
einer ECC-Ausführungszeit.
-
Im
Gegensatz dazu greift in 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 einer
Zugriffszeit auf die Hauptspeichereinheit 7 äquivalent.
-
Nimmt
man an, daß die
Zugriffszeit auf die Hauptspeichereinheit 7 60 ns beträgt, die
Zugriffszeit auf den Lesepufferspeicher 3a oder 3b 10
ns beträgt und
die ECC-Ausführungszeit 15 ns
beträgt,
erkennt man aus einem Vergleich der 5 und 6,
daß die
Datenzugriffszeit beim Lesezugriff durch diese Ausführungsform
um 65 ns verkürzt
werden kann.
-
Ferner
werden Daten in aufeinanderfolgenden Adressen in jedem der Lesepufferspeicher 3a, 3b geladen.
Die Wahrscheinlichkeit 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 Zugriff
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 vorhanden
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 irgendeinem
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 Schreibpufferspeicher 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.
-
7 ist
ein Zeitdiagramm, das einen Lesezugriffszyklus der CPU 1 oder
der DMA-Vorrichtung 2 bei einem Treffer beim Schreibpufferspeicher
zeigt. In 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 Hauptspeichereinheit 7 60 ns beträgt, die
Zugriffszeit auf den Schreibpufferspeicher 4a oder 4b 10
ns beträgt
und die ECC-Ausführungszeit 15 ns
beträgt,
erkennt man aus einem Vergleich der 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
vorhanden sind, der Vergleichs/Steuerteil 53 den ältesten
der Lesepufferspeicher 3a, 3b in der Verwendungsgeschichte
aus.
-
Anschließend liest
der Vergleichs/Steuerteil 53 aus der Hauptspeichereinheit 7 Daten
bei Adressen, die von der Lesezugriffsadresse nur in niedrigeren
Bits festgelegter Länge
verschieden sind, weist die ECC-Ausfuhreinheit 5 an, eine
Fehlerprüfung
und -korrektur der gelesenen Daten durchzuführen, und lädt dann die Lesezugriffsdaten
im ausgewählten
Lesepufferspeicher, während
sie zur CPU 1 oder DMA-Vorrichtung 2 übertragen
werden.
-
Bei
dieser Gelegenheit wird der Lesezugriff auf die Hauptspeichereinheit 7 auf
aufeinanderfolgende Adressen vorgenommen. Weil ein DRAM oder dergleichen
einen Blockmodus hat, der ermöglicht, daß aufeinanderfolgende
Zugriffe mit hoher Geschwindigkeit 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 Blockmodus verwendet wird, wenn die Hauptspeichereinheit 7 einen
DRAM enthält.
-
8 ist
ein Zeitdiagramm, das einen Lesezugriffszyklus der CPU 1 oder
DMA-Vorrichtung 2 bei einem Fehltreffer bei irgendeinem
Lesepufferspeicher oder irgendeinem Schreibpufferspeicher zeigt, wenn
der Blockmodus nicht verwendet wird. 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 8 wird
der in 5 gezeigte Lesezugriffszyklus viermal wiederholt.
In 9 werden durch Verwenden des Blockmodus Daten
in bestimmten Intervallen aufeinanderfolgend gelesen. Nimmt man
an, daß die
Lesezugriffszeit auf die Hauptspeichereinheit 7 60 ns beträgt, das
Datenleseintervall gemäß dem Blockmodus 10 ns
beträgt und
die ECC-Ausführungszeit 15 ns
beträgt,
erkennt man aus einem Vergleich der 8 und 9,
daß die
Datenzugriffszeit im Lesezugriff bei einem Fehltreffer bei irgendeinem
Lesepufferspeicher oder irgendeinem Schreibpufferspeicher durch
Verwenden des Blockmodus um 195 ns verkürzt werden kann.
-
10 zeigt
eine Operation, die ausgeführt wird,
wenn Lesezugriffsdaten für
die CPU 1 im Lesepufferspeicher 3a existieren,
und 11 zeigt eine Operation, die ausgeführt wird,
wenn Lesezugriffsdaten für
die DMA-Vorrichtung 2 im Lesepufferspeicher 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
Lesezugriff auftreten. Mit anderen Worten müßte, wann immer ein Lesezugriff
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 mehrmals abwechselnd
gelesen, und der Nutzeffekt des Lesepufferspeichers wäre vergebens.
-
Durch
Bereitstellen von zwei oder mehr Lesepufferspeichern als bei der
veranschaulichten Ausführungsform
können
im Gegensatz dazu Daten bei Adressen, die von der Lesezugriffsadresse
von der CPU 1 nur in niedrigeren Bits festgelegter Länge verschieden
sind, und Daten bei Adressen, die von der Lesezugriffsadresse von
der DMA-Vorrichtung 2 nur in niedrigeren Bits festgelegter
Länge verschieden sind,
in voneinander verschiedene Lesepufferspeicher geladen werden, und
ist es möglich,
die in 10 gezeigte Operation und die
in 11 gezeigte Ope ration abwechselnd auszuführen. Als
Folge kann die Datenzugriffszeit verkürzt werden.
-
12 zeigt
eine Operation, die ausgeführt wird,
wenn Lesezugriffsdaten für
die CPU 1 im Schreibpufferspeicher 4a existieren. 13 zeigt eine
Operation, die ausgeführt
wird, wenn Lesezugriffsdaten für
die CPU 1 in irgendeinem der Lesepufferspeicher 3a, 3b und
der Schreibpufferspeicher 4a, 4b existieren.
-
In 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-Ausfuhreinheit 5 der Fehlerprüfung und -korrektur unterzogen
worden sind, werden in den ausgewählten Lesepufferspeicher 3a geladen.
-
14 ist
ein Flußdiagramm
einer Operation im Schreibzugriff der CPU 1 oder der DMA-Vorrichtung 2 auf
die Hauptspeichereinheit 7 durch Verwenden des Hauptspeichersteuergeräts gemäß dieser Ausführungsform.
-
In
Schritt 200 von 14 bestimmt
der Vergleichs/Steuerteil 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 Schreibzugriffsadresse 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 Widerspruchsfreiheit 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 Schreibpufferspeicher
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 Geschwindigkeit als auf
die Hauptspeichereinheit 7 zugegriffen werden kann, kann
entsprechend die Datenzugriffszeit verkürzt werden.
-
15 ist
ein Zeitdiagramm, das einen Schreibzugriffszyklus der CPU 1 oder
der DMA-Vorrichtung 2 bei Fehlen des Schreibpufferspeichers zeigt. 16 ist
ein Zeitdiagramm, das einen Schreibzugriffszyklus der CPU 1 oder
der DMA-Vorrichtung 2 bei Vorhandensein des Schreibpufferspeichers
zeigt.
-
In 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 Lesezugriffszeit auf
die Hauptspeichereinheit 7 und einer ECC-Ausführungszeit.
Im Gegensatz dazu greift in 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
beträgt
und die Zugriffszeit auf den Schreibpufferspeicher 10 ns
beträgt,
erkennt man aus einem Vergleich der 15 und 16, daß die Datenzugriffszeit
im Schreibzugriff durch diese Ausführungsform 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-Vorrichtung 2 voll
geworden ist, die Inhalte des Schreibpufferspeichers auf einmal
in die Hauptspeichereinheit 7 geschrieben. Bei dieser Gelegenheit
wird der Schreibzugriff auf die Hauptspeichereinheit 7 manchmal
auf aufeinanderfolgende Adressen vorgenommen. Weil ein DRAM oder
dergleichen einen Blockmodus hat, der ermöglicht, daß aufeinanderfolgende Zugriffe
mit hoher Geschwindigkeit 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.
-
17 ist
ein Zeitdiagramm, das einen Schreibzugriffszyklus vom Schreibpufferspeicher
auf die Hauptspeichereinheit 7 zeigt, wenn der Blockmodus
nicht verwendet wird. 18 ist ein Zeitdiagramm, das
einen Schreibzugriffszyklus vom Schreibpufferspeicher auf die Hauptspeichereinheit 7 zeigt,
wenn der Blockmodus verwendet wird.
-
Der
in 15 gezeigte Schreibzugriffszyklus wird in 17 viermal
wiederholt.
-
Andererseits
werden durch Verwenden des Blockmodus in 18 Daten
in bestimmten Intervallen sukzessiv geschrieben. Nimmt man an, daß die Summe
der Schreibzugriffszeit auf die Hauptspeichereinheit 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 17 und 18,
daß die
Datenzugriffszeit beim Schreibzugriff, die erforderlich ist, wenn
der Schreibpufferspeicher voll geworden ist, durch diese Ausführungsform
um 105 ns verkürzt werden
kann.
-
Die
Wahrscheinlichkeit, daß die
Adressen der im Schreibpufferspeicher 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 aufeinanderfolgende 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/Steuerteil 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 Schreibpufferspeicher
mit einer höheren
Geschwindigkeit als auf die Hauptspeichereinheit 7 zugegriffen
werden kann, kann die Datenzugriffszeit entsprechend verkürzt werden.
-
Falls
alle Schreibpufferspeicher besetzt sind, bedeutet dies, daß es keinen
Schreibpufferspeicher gibt, in den die geschriebenen Daten von der
CPU 1 oder der DMA-Vorrichtung 2 geschrieben 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
Schreibpufferspeicher.
-
Die
Operation, die ausgeführt
wird, wenn es einen Schreibpufferspeicher 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 19 bzw. 20 dargestellt.
-
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.
-
20 zeigt
einen Schreibzugriff von der DMA-Vorrichtung 2 auf die
Hauptspeichereinheit 7, wenn der Schreibpufferspeicher 4b die
Daten bei Adressen hält,
die von der Schreibzugriffsadresse nur in niedrigeren Bits festgelegter
Länge verschieden
sind, oder wenn der Schreibpufferspeicher 4b leer ist.
-
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 geschriebenen Daten besetzt sind.
-
In 21 ist
der Schreibpufferspeicher 4a ein Schreibpufferspeicher,
der durch Schreiben von Daten voll geworden ist, oder der älteste Schreibpufferspeicher
in der Verwendungsgeschichte, wenn alle Schreibpufferspeicher besetzt
sind. Der Schreibpufferspeicher 4a wird durch Schreiben
aller Inhalte des Schreibpufferspeichers 4a in die Hauptspeichereinheit 7 leer
gemacht.
-
22 ist
ein Blockdiagramm, das den Aufbau eines automatischen 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 nec) 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 fuhren dann folgende Operationen
gemäß Ergebnissen der
Antworten aus. Daher wird ein Durchsatz der analysierenden Teile 200b,
... 200c mit einer Zunahme der Datenübertragungs- und -empfangsgeschwindigkeit
durch das Either-Netz 400 und
der Befehlsverarbeitungsgeschwindigkeit im Kernteil 200a verbessert.
-
Der
Kernteil 200a und die analysierenden Teile 200b,
... 200c enthalten jeweilige Steuereinheiten 100a, 100b,
... 100c, für
die jeweils das Speichersteuergerät der vorliegenden Erfindung
verwendet wird. Im Analysegerät
von 22 enthalten die Steuereinheiten 100x, 100b,
... 100c jeweils zwei DMA-Vorrichtungen, d. h. eine Either-Netz-Steuereinheit 2A und
eine SCSI-Steuereinheit 28.
-
Die
Either-Netz-Steuereinheit 2A steuert eine Übertragung
und einen Empfang von Befehlen und Daten durch das Either-Netz 400,
und die SCSI-Steuereinheit 28 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 Bereich 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-Steuereinheit 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öglich, Antworten vom Kernteil 200a auf
Befehle von den analysierenden 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 Hauptspeichereinheit, aus dem keine Daten in den Cache-Speicher in
der CPU geladen werden können,
während
die Inhalte im verbleibenden Speicherbereich der Hauptspeichereinheit
teilweise in den Cache-Speicher geladen werden können. Daher wird eine Zugriffszeit 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 eine 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 Schreibpufferspeicher geladen,
auf die mit einer höheren
Geschwindig keit als auf die Hauptspeichereinheit zugegriffen werden
kann. Daten bei aufeinanderfolgenden Adressen werden in den Lesepufferspeicher
geladen, ein Datenzugriff von der CPU hat eine Lokalisierung in
Zeit und Raum, und ein Zugriff von der DMA-Vorrichtung auf die Hauptspeichereinheit
wird auf aufeinanderfolgende Adressen vorgenommen.
-
Daher
hat ein Zugriff auf den Speicherbereich der Hauptspeichereinheit,
der durch die CPU und die DMA-Vorrichtung gemeinsam genutzt wird, ein
hohes Trefferverhältnis
beim Lesepufferspeicher, was eine kürzere durchschnittliche Zugriffszeit
zur Folge hat.
-
Aus
den oben genannten Gründen
ist auch die Wahrscheinlichkeit hoch, daß sich Adressen von in den
Schreibpufferspeicher geschriebenen Daten aufeinanderfolgend fortsetzen.
Demgemäß kann eine
durchschnittliche Datenzugriffszeit auf die Hauptspeichereinheit
durch Übertragen
von Daten zwischen der Hauptspeichereinheit und dem Lesepufferspeicher
oder dem Schreibpufferspeicher in einem Hochgeschwindigkeitsblockmodus
verkürzt werden.
-
Weil
die ECC-Ausfuhreinheit die ECC an in die Hauptspeichereinheit geschriebenen
Daten ausführt,
kann ferner die Datenintegritä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 Lesepufferspeicher
vorkommt, was eine noch kürzere
Datenzugriffszeit zur Folge 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 voneinander verschiedenen Bereichen
abwechselnd vorgenommen werden, können folglich diese Zugriffsoperationen
abwechselnd ausgeführt
werden, und daher kann die Datenzugriffszeit verkürzt werden.