DE3724317A1 - Speicherzugriffssystem - Google Patents
SpeicherzugriffssystemInfo
- Publication number
- DE3724317A1 DE3724317A1 DE19873724317 DE3724317A DE3724317A1 DE 3724317 A1 DE3724317 A1 DE 3724317A1 DE 19873724317 DE19873724317 DE 19873724317 DE 3724317 A DE3724317 A DE 3724317A DE 3724317 A1 DE3724317 A1 DE 3724317A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- data
- matrix
- signal
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- 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/0215—Addressing or allocation; Relocation with look ahead addressing means
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)
- Dram (AREA)
- Memory System (AREA)
Description
Die Erfindung bezieht sich auf ein Speicherzugriffssystem für
Computer sowie ein Verfahren zum raschen und wirksamen Zugrei
fen auf Speicherdaten.
Bei vielen Datenverarbeitungssystemen ist es üblich, Hochge
schwindigkeitspufferspeicher, die als Cache-Speicher bezeich
net werden, mit einer zentralen Recheneinheit (CPU) zu kop
peln, um die mittlere Speicherzugriffszeit für den Prozessor
zu verbessern. Die Verwendung eines Cache-Speichers beruht auf
der Prämisse, daß ein Datenverarbeitungssystem im Laufe der
Zeit auf vorgegebene lokalisierte Zonen des Speichers mit
hoher Frequenz zugreift. Der Cache-Speicher enthält typischer
weise einen Teil des im Hauptspeicher verfügbaren vollständi
gen Datensatzes und kann sehr rasch von der CPU zugegriffen
werden, ohne die Datenplätze im Hauptspeicher zu lesen.
Die Verwendung eines Cache-Speichers trägt beträchtlich zur
Kompliziertheit eines Datenverarbeitungssystems bei und erhöht
die Systemkosten erheblich. Historisch waren die Speicherzu
griffserfordernisse so, daß die erhöhten Aufwendungen und die
erhöhte Komplexität von Cache-basierenden Architekturen ge
rechtfertigt waren. Bei der neuen Generation von "Reduced
Instruction Set Computers" (RISC) erfordern die Verarbeitungs
geschwindigkeiten einen Einzelzyklus-Speicherzugriff. Die
meisten modernen Speichersysteme verwenden dynamische Direkt
zugriffsspeicher (DRAM′s), deren Zykluszeiten normalerweise
200 Nanosekunden sind ("Zyklus-"Zeit ist die Zeit ab Einlei
tung des Speicherzugriffs bis zu dem Zeitpunkt, bei dem Daten
von der Speichereinrichtung wieder verfügbar sind). Obwohl
typische DRAM′s Zykluszeiten von 200 ns haben, beträgt die
Spaltenzugriff/Zykluszeit für das besondere Gerät generell nur
45 ns (wobei "Zugriff"-Zeit die Zeit vom Anlegen eines Spal
tenadreßsignals (CAS) bis zur Verfügbarkeit der Daten auf
einem Datenbus ist). Demgemäß kann die Zykluszeit für einen
kommerziell verfügbaren DRAM bis zu der 5fachen Zeit der Spal
tenzugriff/Zykluszeit für dasselbe Gerät sein.
Der Erfindung liegt die Aufgabe zugrunde, ein Speicherzu
griffssystem und -verfahren zur Verfügung zu stellen, mit
deren Hilfe rasch und wirksam zum Hauptspeicher des Computers
zugegriffen werden kann, ohne eine separaten Cache-Speicher zu
benötigen.
Wie zu sehen sein wird, ermöglicht die Erfindung durch geei
gnete Zuordnung der Datenspeicherung im DRAM-Speicher die
wirksame Nutzung des Hauptspeichers des Computers als Cache
-Speicher. Die Erfindung benutzt dabei statische Spalten
-DRAM′s in einer Architektur, die einen äußerst raschen Zu
griff zu einer lokalisierten Untergruppe des Hauptspeichers
ermöglicht. Die Erfindung ist besonders geeignet in Systemen
mit virtuellen Speichertechniken.
Zur Lösung der oben genannten Aufgabe sieht die Erfindung bei
einem Speicherzugriffssystem die Merkmale des Anspruchs 1 und
bei einem Speicherzugriffsverfahren die Merkmale des Anspruchs
15 vor.
Die Erfindung sieht eine verbesserte Speicherarchitektur vor,
die sich in besonderem Maße für virtuelle Maschinen eignet.
Ein Prozessor liefert Zeilen- und Spaltenadressen zum Zugriff
auf in einem dynamischen Direktzugriffsspeicher (DRAM) ge
speicherte Daten. Die vom Prozessor gelieferte virtuelle Ad
resse enthält Bits hoher und niedriger Ordnung. Bei dem bevor
zugten Ausführungsbeispiel stellen die virtuellen Bits hoher
Ordnung die Zeilenadresse und die Bits niedriger Ordnung eine
reale Spaltenadresse dar. Die virtuelle Zeilenadresse wird an
eine Speichermanagementeinheit (MMU) zur Übersetzung in eine
reale Zeilenadresse angelegt. Die reale Spaltenadresse braucht
nicht übersetzt zu werden. Ein Vergleicher vergleicht die
aktuelle virtuelle Zeilenadresse mit der in einem Signalspei
cher (latch) gespeicherten vorhergehenden Zeilenadresse. Wenn
die aktuelle Zeilenadresse mit der vorhergehenden Zeilenadres
se übereinstimmt, so koppelt eine Zyklussteuerschaltung die
reale Spaltenadresse zum DRAM und legt ein CAS-Signal derart
an, daß auf die gewünschten Daten im Speicher zugegriffen
wird, ohne die Zeilenadresse wiederum anlegen zu müssen. Wenn
die Zeilenadressen nicht übereinstimmen, so löst die Zyklus
steuerschaltung einen vollständigen Speicherabrufzyklus aus
und legt sowohl die Zeilen- als auch die Spaltenadressen zu
sammen mit den entsprechenden RAS- und CAS-Signalen an den
DRAM an und aktualisiert den Inhalt des Signalspeichers
(latch). Durch geeignete Organisierung von Daten im Speicher
kann die Wahrscheinlichkeit, daß aufeinanderfolgende Speicher
operationen zu derselben Zeile im DRAM zugreifen, wesentlich
erhöht werden. Durch Verwendung einer solchen Organisation
schafft die Erfindung eine Daten-Wiedergewinnung mit Geschwin
digkeiten in der Größenordnung eines Speichersystems mit
Cache-Speicher für eine Untergruppe von gespeicherten Daten.
Entlang derselben Zeile im DRAM gespeicherte Daten können mit
Geschwindigkeiten zugegriffen werden, die 4 bis 5 mal höher
als die Zugriffsgeschwindigkeit zu einem vollständigen Spei
cherabrufzyklus sind.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand
der Zeichnung näher erläutert. In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild, welches das Konzept der
vorliegenden Erfindung veranschaulicht;
Fig. 2 ein detaillierteres Blockdiagramm, welches ein
bevorzugtes Ausführungsbeispiel der Erfindung
darstellt; und
Fig. 3 ein Ablaufdiagramm, das die Folge von Opera
tionen bei dem in Fig. 2 dargestellten Ausfüh
rungsbeispiel angibt.
Angegeben wird eine verbesserte Speicherarchitektur, die zur
Anwendung in Computersystemen mit virtuellen Speichertechniken
besonders geeignet ist. In der folgenden Beschreibung werden
zu Erläuterungszwecken spezielle Speicherkonfigurationen,
Datengeschwindigkeiten, Architekturen und Komponenten angege
ben, um die Erfindung besser verständlich zu machen. Es ist
jedoch für den Fachmann klar, daß die Erfindung ohne diese
speziellen Details realsierbar ist. In anderen Fällen sind
bekannte Schaltungen in Blockform dargestellt, um die Erfin
dung nicht mit unnötigen Einzelheiten zu belasten.
Unter Bezugnahme auf Fig. 1 wird das Erfindungsprinzip anhand
eines Blockschaltbilds beschrieben. Ein dynamischer Direktzu
griffsspeicher (DRAM) 10 enthält ein Speichergerät eines Da
tenverarbeitungssystems. Bei dem beschriebenen Ausführungsbei
speil weist der DRAM 10 eine Speichermatrix mit Zeilen- und
Spaltenadresse auf, welche den Datenplatz innerhalb der Matrix
identifiziert. DRAM 10 kann ein dynamischer Ein-Megabit CMOS
-RAM mit statischem Spaltenzugriff sein. In solchen Speicher
geräten ist die Zykluszeit von der Initiierung des Speicherzu
griffs bis zur Ausgabe von gewünschten Daten in der Größenord
nung von 200 ns. Daten werden vom DRAM 10 dadurch zugegriffen,
daß zunächst eine Zeilenadresse gebildet wird, welche eine
spezielle Zeile innerhalb der Speichermatrix identifiziert, in
der die gewünschten Daten gespeichert sind, zusammen mit einem
Zeilenadreß-Strobesignal (RAS). Danach wird eine Spaltenadres
se, welche die besondere Spalte mit den gewünschten innerhalb
der angesteuerten Zeile identifiziert, zusammen mit einem
Spaltenadreß-Strobesignal (CAS) an den DRAM 10 angelegt. In
statischen Spalten-DRAM′s ist typischerweise die Zeit vom
Anlegen der Spaltenadresse und des CAS-Signals bis zur Ausgabe
der Daten von dem Speichergerät angenähert 45 ns. Die Zeit
spanne vom Anlegen der Spaltenadresse und des CAS-Signals bis
zur Ausgabe von Daten wird im folgenden als "Spalten-Zu
griffs-"Zeit des Speichergeräts bezeichnet. Demgemäß ist die
Speicherzykluszeit angenähert 5 mal so lang wie die Spaltenzu
griff/Zykluszeit des Geräts.
In den meisten neueren statischen Spalten-DRAM-Speichergeräten
kann jedes innerhalb der angesteuerten Zeile angeordnete Da
tenelement nach dem Anlegen der Zeilenadresse und des RAS
-Strobesignals innerhalb der angesteuerten Zeile dadurch zuge
griffen werden, daß man ein geeignetes Spaltenadreß- und CAS
-Signal anlegt, und zwar ohne die Zeilenadresse und das RAS
-Signal neu anlegen zu müssen. Wie oben bemerkt, kann der
Zugriff auf Daten, die in einer zuvor aktivierten Zeile ge
speichert sind, im Gegensatz zum Zugriff zu in einer anderen
Zeile der Speichermatrix gespeicherten Daten sehr rasch (in
nerhalb von angenähert von 45 Nanosekunden) stattfinden.
Es ist bei der Hochgeschwindigkeitsdatenverarbeitung üblich,
einen "Cache"-Speicher zu verwenden, der mit einer zentralen
Recheneinheit gekoppelt ist, um die mittlere Zugriffszeit für
den Prozessor zu verkürzen. Der Cache-Speicher enthält einen
Teilsatz der im Hauptspeicher des Systems gespeicherten Daten
und kann vom Prozessor sehr rasch zugriffen werden, ohne die
Datenplätze im Hauptspeicher lesen zu müssen. Man war bisher
generell der Meinung, daß in Hochgeschwindigkeits-Datenver
arbeitungssystemen ein Cache-Speicher erforderlich ist, um
einen Einzelzyklus-Speicherzugriff durch den Prozessor zu
erzielen. Wie jedoch oben gesagt, erhöht die Verwendung eines
Cache-Speichers sowohl die Komplexität als auch die Kosten des
Datenverarbeitungssystems erheblich. Demgegenüber stellt die
Erfindung ein Speichersystem zur Verfügung, das einen Cache
-Speicher überflüssig macht und trotzdem einen Hochgeschwin
digkeitszugriff auf lokalisierte Zonen innerhalb des Haupt
speichers ermöglicht. Es ist für den Fachmann einzusehen, daß
dann, wenn Daten innerhalb des DRAM 10 (Fig. 1) geeignet ange
ordnet werden, jedes in einer zuvor aktivierten Zeile angeord
nete Datenelement innerhalb eines einzigen Taktzyklus des
Systems zugegriffen werden kann. Demgemäß kann durch geeignete
Speicherung von Daten innerhalb der Speichermatrix bzw. des
Speicherfeldes ein lokalisierter Teilsatz des Hauptspeichers
vom Prozessor effektiv als Cache-Speicher genutzt werden.
Im folgenden wird erneut auf Fig. 1 Bezug genommen. Ein in
dieser Figur nicht gezeigter Prozessor liefert eine Zeilen
adresse 12 und eine Spaltenadresse 14 zum Zugriff auf bestimm
te Daten, die im DRAM 10 gespeichert sind. Die Spaltenadresse
14 wird an einen Multiplexer 16 angelegt, der, wie beschrieben
werden wird, selektiv entweder die Zeilen- oder Spaltenadresse
an den DRAM 10 anlegt. Die Zeilenadresse 12 wird an einen
Signalspeicher 18, im folgenden Latch genannt, und einen Kom
parator 20 angelegt. Eine Zyklussteuerschaltung 22 ist mit dem
Latch 18, dem Komparator 20 sowie dem Multiplexer 16 gekoppelt
und gibt sowohl die RAS- als auch die CAS-Signale an den DRUM
10 zum Zugreifen auf Daten. Bei Anlegen einer anfänglichen
Zeilenadresse und einer Spaltenadresse 14 an das in Fig. 1
gezeigte Speichersystem vergleicht der Komparator 20 die aktu
elle Zeilenadresse 12 (RA(i)) mit der vorhergehenden Zeilen
adresse (RA(i-1)), die bei dem vorhergehenden vollen RAS-,
CAS-Speicherzyklus zum Datenzugriff verwendet worden ist. Wenn
die innerhalb des Latch gespeicherte Zeilenadresse mit der vom
Prozessor gelieferten aktuellen Zeilenadresse nicht überein
stimmt, so taktet die Zyklussteuerung 22 Latch 18, wodurch die
aktuelle Zeilenadresse im Latch gespeichert wird, und signa
lisiert dem Multiplexer 16, die aktuelle Zeilenadresse 12 an
den DRAM 10 anzulegen. Außerdem gibt die Zyklussteuerung 22
ein RAS-Signal an den DRAM, durch das die gewünschte in der
Speichermatrix aktiviert bzw. angesteuert wird. Die Zyklus
steuerschaltung 22 legt danach über den Multiplexer 16 die
Spaltenadresse 14 an den DRAM 10 an und gibt ein geeignetes
CAS-Signal an den DRAM, das das in der Matrix zuzugreifende
spezielle Datenelement identifiziert. Sodann liefert der DRAM
10 die ausgewählten Daten an den Prozessor, und zwar ty
pischerweise über einen in der Zeichnung nicht gezeigten Da
tenbus.
Wenn die aktuelle Zeilenadresse RA(i) die gleiche wie die im
Latch 18 gespeicherte vorhergehende Zeilenadresse RA(i-1) ist,
legt die Zyklussteuerschaltung 22 die aktuelle Spaltenadresse
14 an den DRAM 10 und gibt ein CAS-Signal aus. Wie oben ge
sagt, kann der Zugriff zu einem Datenelement innerhalb einer
im DRAM 10 zuvor aktivierten bzw. angesteuerte Zeile sehr
rasch erfolgen. Bei dem in Fig. 1 gezeigten Ausführungsbei
spiel ist zu erkennen, daß die nur die Spaltenadresse 14 an
den DRAM 10 angelegt werden muß, um auf die innerhalb einer in
einem vorhergehenden Datenzyklus aktivierten Zeile gespeicher
ten Daten zuzugreifen. Wenn daher die aktuelle Zeilenadresse
die gleiche wie die unmittelbar vorhergehende Zeilenadresse
ist, ist es nicht notwendig, die aktuelle Zeilenadresse erneut
an dem DRAM anzulegen und ein zusätzliches RAS-Signal zu ent
wickeln; stattdessen brauchen nur die aktuelle Spaltenadresse
und das CAS-Signal angelegt zu werden, um zum Speicher zuzu
greifen. Bei einer typischen Anwendung ermöglicht die Erfin
dung den Zugriff auf im DRAM 10 gespeicherte Daten in unge
fähr 45 Nanosekunden statt der 200 Nanosekunden bei herkömm
lichen Speicherkonfigurationen.
Es ist für den Fachmann klar, daß bei einem Arbeitsspeichersy
stem mehrere Speicherbänke anstelle eines einzigen dynamischen
RAM verwendet werden müssen. Um das in Fig. 1 dargestellte
System praktikabel zu machen, ist es erforderlich, Daten in
nerhalb mehrerer Speicherbänke so anzuordnen, daß die Wahr
scheinlichkeit einer Vielzahl von sequentiellen Zugriffen zu
derselben Zeile innerhalb einer Speicherbank beträchtlich
erhöht wird. Wenn häufig benutzte Daten innerhalb des Spei
chers auf diese lokalisiert werden können, kann der Hauptspei
cher anstelle eines wesentlich kostspieligeren und komplexeren
Cache-Systems verwendet werden.
Im folgenden wird auf Fig. 2 Bezug genommen und die Erfindung
für ein Ausführungsbeispiel erläutert und beschrieben, daß
zwei Speicherbänke, DRAM-Bank "A" und DRAM- Bank "B" in einem
Datenverarbeitungssystem unter Verwendung virtueller Speicher
techniken aufweist. Für die Zwecke der vorliegenden Beschrei
bung und zur Vermeidung komplizierenden Beiwerks sind nur die
zur Erläuterung der Erfindung erforderlichen Adreß-, Steuer
und Datenleitungen in den Figuren gezeigt. Es ist für den
Fachmann jedoch klar, daß andere Leitungen, Bauteile und
Hilfsschaltungen entsprechend der jeweiligen besonderen Anwen
dung notwendig sind.
Ein Prozessor 30 steht mit dem erfindungsgemäßen Speichersy
stem über einen virtuellen Adreßbus 32 in Nachrichtenverbin
dung. Der virtuelle Adreßbus 32 enthält eine Vielzahl indivi
dueller Leitungen, welche Adressen in Form von Multi-Bit-Wör
tern führen. Typischerweise können Prozessoren Adreßbusse
zwischen 16 und 32 Bits verwenden, wobei die Bits über den
Adreßbus bildende Einzelleitungen oder Drähte parallel über
tragen werden. Bei der Erfindung sind über den virtuellen
Adreßbus 32 übertragene Adressen so strukturiert, daß die Bits
niedriger Ordnung ein direktes (reales) Adreßsegment für den
DRAM-Speicher bilden, wobei die Bits niedriger Ordnung vom
virtuellen Adreßbus 32 über die Leitung 34 abgetrennt werden.
Wie weiter unten genauer beschrieben werden wird, enthalten
die Adreßbits niedriger Ordnung (reale Adreßbits) die Spal
tenadresse für die in DRAM-Bank A und DRAM-Bank B gespeicher
ten gewünschten Daten. Adreßbits hoher Ordnung bilden ein
virtuelles Adreßsegment entsprechend der Zeilenadresse für in
Hauptspeicher DRAM-Banken A und B gespeicherte Daten. (Siehe
beispielsweise US-PS′n 45 27 232 und 45 50 338).
Die das virtuelle Adreßsegment enthaltenden Bits hoher Ordnung
werden auf dem virtuellen Adreßbus 32 gehalten. Wie darge
stellt, werden die virtuellen Bits hoher Ordnung an eine Spei
chermanagementeinheit (MMU) 38 zum Übersetzen in eine physika
lische Adresse hoher Ordnung angelegt. Bei dem beschriebenen
Ausführungsbeispiel ist die MMU 38 eine relativ sehr schnelle
Direktzugriffsspeichereinheit, beispielsweise ein schneller
statischer RAM. Die MMU 38 erhält als Eingang die vom Prozes
sor 30 angelegte virtuelle Adresse hoher Ordnung und liefert
als Ausgang auf der Leitung 40 eine übersetzte physikalische
(reale) Adresse, welche die aktuelle physikalische Zeilen
adresse der gewünschten Daten in den DRAM-Banken A und B spe
zifiziert. Die MMU 38 kann die Form der in der US-PS 45 27 232
beschriebenen Speichermanagementeinheit annehmen.
Ein Signalspeicher (Latch) 42 ist mit dem virtuellen Adreßbus
32 und ein Komparator 43 ist sowohl mit dem virtuellen Adreß
bus 32 als auch dem Latch 42 gekoppelt. In ähnlicher Weise ist
ein Latch 44 mit dem virtuellen Adreßbus 32 und mit einem
Komparator 48 derart gekoppelt, daß der Komparator 48 den
Inhalt des Latch 44 mit der über den virtuellen Adreßbus 32
vom Prozessor 30 gelieferten aktuellen virtuellen Adresse
vergleicht. Wie dargestellt, durchlaufen die Ausgangssignale
der Komparatoren 43 und 48 ein ODER-Gatter 50 und werden an
eine Zyklussteuerschaltung 55 angelegt. Das Ergebnis der ODER
-Operation zwischen den Ausgangssignalen der Komparatoren 43
und 48 wird in ähnliche Weise an die Zyklussteuerschaltung 55
angelegt. Wie weiter unten genauer beschrieben werden wird,
steuert die Zyklussteuerschaltung 55 die Taktgabe an die Si
gnalspeicher 42 und 44, die Auswahl eines Multiplexers 60 und
liefert geeignete RAS- und CAS-Signale an die DRAM-Banken A
und B.
Die MMU gibt die niedrigsten übersetzten physikalischen Bits
der vom Prozessor 30 zugeführten virtuellen Adresse an den
Chip-Aktivierungsport (CE) der Signalspeicher bzw. Latches 42
und 44, und zwar über eine Leitung 62. Der Zustand der nied
rigsten übersetzten physikalischen Bits (bei dem beschriebenen
Beispiel ist für die beiden Speicherbänke nur das niedrigste
übersetzte physikalische Bit erforderlich) kann zur Auswahl
entweder von Latch 42 oder von Latch 44 verwendet werden. Wenn
beispielsweise das niedrigste übersetzte physikalische Bit
eine logische Null ist, so wird dieses Bit an Latch 44 ange
legt (da es jedoch eine Null ist, würde es Latch 44 nicht
aktivieren), wird von einem Inverter 63 in eine logische Eins
invertiert, die an Latch 42 angelegt eine Aktivierung dieses
Latch bewirkt. Umgekehrt wird Latch 44 aktiviert, wenn das
niedrigste übersetzte physikalische Bit der virtuellen Adresse
eine logische Eins ist. Wie in Fig. 2 gezeigt, wird das nie
drigste übersetzte physikalische Bit auch an die Zyklussteuer
schaltung 55 angelegt und dieses Bit (oder Bits im Falle von
mehr als zwei Speicherbänken) identifiziert für die Zyklus
steuerschaltung 55, welche DRAM-Bank-Daten zugegriffen werden
sollen.
Es sei beispielsweise angenommen, daß der Prozessor 30 über
den virtuellen Adreßbus 32 eine virtuelle Adresse liefert, die
in der DRAM-Bank A abgelegten Daten entspricht. Wie oben ge
sagt, enthalten die der Spaltenadresse innerhalb der Bank
entsprechenden Bits niedriger Ordnung ein reales Adreßsegment,
werden getrennt und über die Leitung 34 an den Multiplexer 60
angelegt. Das virtuelle Segment der Adresse entsprechend der
Zeilenadresse innerhalb der DRAM-Bank A wird an den virtuellen
Adreßbus 32 angelegt und unmittelbar von MMU 38 übersetzt, so
daß die übersetzten Bits hoher Ordnung über die Leitung 40 an
den Multiplexer 60 angelegt werden. Zusätzlich wird das nie
drigste übersetzte physikalische Bit über die Leitung 62 an
die Signalspeicher 42 und 44 angelegt. Als Beispiel sei ange
nommen, daß dann, wenn das niedrigste übersetzte physikalische
Bit eine logische Null ist, Signalspeicher bzw. Latch 42 akti
viert wird, da die logische Null vom Inverter 63 in eine lo
gische Eins invertiert wird. Die virtuelle Adresse wird glei
chzeitig an das aktivierte Latch 42 und den Komparator 43
angelegt. Es ist zu erkennen, daß trotz Anstehens der aktuel
len virtuellen Zeilenadresse am Latch 42 letzteres die vorher
gehende virtuelle Zeilenadresse enthält und weiterhin die
vorhergehende virtuelle Zeilenadresse beibehält, bis das Latch
getaktet wird.
Der Vergleicher 43 vergleicht die aktuelle virtuelle Zeilen
adresse mit der vorhergehenden virtuellen Zeilenadresse, die
im Latch 42 gespeichert ist. Die Ausgänge der Komparatoren 43
und 48 werden über das ODER-Gatter 50 an die Zyklussteuer
schaltung 55 angelegt. Wenn entweder Komparator 43 oder Kompa
rator 48 eine Übereinstimmung zwischen der aktuellen virtuel
len Zeilenadresse und dem Inhalt der Signalspeicher bzw.
Latches feststellt, so zeigt das ODER-Gatter 50 an, daß eine
Übereinstimmung existiert, und liefert über die Leitung 65 ein
Signal an die Zyklussteuerschaltung 55. Das Ausgangssignal
jedes Komparators wird auch direkt an die Zyklussteuerung 55
angekoppelt, um diejenige Latch/Komparator-Schaltung zu iden
tifzieren, welche die Übereinstimmung festgestellt hat. Bei
dem beschriebenen Ausführungsbeispiel, bei dem eine Überein
stimmung zwischen der aktuellen virtuellen Zeilenadresse und
dem Inhalt von Latch 42 besteht, signalisiert die Zyklus
steuerschaltung 55 dem Multiplexer 60, daß das die Spalten
adresse enthaltende reale Adreßsegment auf den physikalischen
Adreßbus 70 und die DRAM-Bank A zu koppeln ist. Die Zyklus
steuerschaltung 55 liefert auch das notwendige Spaltenadreßsi
gnal (CAS A). Die DRAM-Bank A gibt dann die gewünschten Daten
auf einen in der Zeichnung nicht dargestellten Datenbus, und
zwar innerhalb der Zugriffszeit des statischen Spalten-RAM
(angenähert 45 Nanosekunden). Wenn eine Übereinstimmung be
steht, wird bei der Erfindung die virtuelle Zeilenadresse also
nicht neu angelegt, noch ist ein zusätzliches RAS-Signal zum
Zugriff auf gewünschte Daten erforderlich. Es ist für den
Fachmann klar, daß typischerweise CAS-Signalleitungen in einem
hohen Zustand bleiben und in einen niedrigen Zustand gesetzt
werden und RAS-Leitungen typischerweise in einem niedrigen
Zustand zum Zwecke des Datenzugriffs sind. Im folgenden wird
auf Fig. 3 Bezug genommen, in der die Folge von Operationen
bei der Erfindung angegeben ist.
Wenn keine Übereinstimmung zwischen der aktuellen virtuellen
Zeilenadresse und der vorhergehenden, im Latch 42 gespeicher
ten Zeilenadresse existiert, signalisiert die Zyklussteuer
schaltung 55 dem Multiplexer 60, daß die übersetzte (jetzt
reale) Zeilenadresse auf der Leitung 40 über den physika
lischen Adreßbus 70 an die Speicherbank A zu koppeln ist.
Gleichzeitig gibt die Zyklussteuerschaltung 55 ein hohes RAS
-Signal an die Bank A und liefert ein Taktsignal über die
Taktleitung 72, welches das aktivierte Latch, nämlich Latch
42, derart taktet, daß die aktuelle virtuelle Zeilenadresse im
Latch gespeichert wird. Die RAS-Leitung wird dann auf einen
niedrigen Zustand gebracht, und der Multiplexer 60 legt das
reale Adreßsegment, welches die Spaltenadresse definiert, an
die Bank A an und legt außerdem ein niedriges CAS-Signal an.
Nach Beendigung dieses vollen Speicherzykluszugriffs ein
schließlich der Aktualisierung von Latch 42 werden die Zeilen
und Spaltenadressen zusammen mit ihren zugehörigen Strobe-Si
gnalen angelegt und Daten von der Speicherbank A über den in
der Zeichnung nicht dargestellten Datenbus an den Prozessor
geliefert. Es ist für den Fachmann klar, daß dann, wenn ein
voller Speicherzugriffszyklus erforderlich ist, die bei der
Erfindung erforderliche Zeit zur Gewinnung der gewünschten
Daten generell gleich derjenigen bei anderen Computersystemen
ist, welche herkömmliche Speicherzugriffstechniken zur Gewin
nung von Daten aus einem Computer-Hauptspeicher verwenden. In
den Fällen jedoch, wo eine Übereinstimmung zwischen der ak
tuellen virtuellen Zeilenadresse und der zuvor gespeicherten
virtuellen Zeilenadresse besteht, werden beträchtliche Vortei
le in der Geschwindigkeit des Speicherzugriffs durch die Er
findung erreicht.
Es ist außerdem verständlich, daß die Verwendung der Erfindung
in der schematisch in Fig. 2 dargestellten Art dem Computer
system die Möglichkeit gibt, Speicherbänke für gewisse Arten
von Daten auf der Basis der übersetzten virtuellen Zeilen
adresse und insbesondere der niedrigsten übersetzten physika
lischen Zeilenadresse Bits zuzuordnen. Generell wurde gefun
den, daß bei den meisten Computersystemen angenähert 50% der
Prozessor-Speicherabrufe Befehlen gelten und angenähert 50%
der Speicherabrufe auf Daten bezogen sind. Bei der derzeitigen
Generation von RISC-Prozessoren dienen angenähert 20% der
Speicherabrufsoperationen der Gewinnung von Daten und ange
nähert 80% der Abrufoperationen dienen der Gewinnung von
Befehlen. Demgemäß ermöglicht die Benutzung der Erfindung die
effektive Defintion eines "Cache"in einer oder mehreren Spei
cherbänken derart, daß lokalisierte Teilsätze des Speichers
sehr rasch zugegriffen werden können. Mit anderen Worten, das
Computer-Betriebssystem kann die im Speicher gespeicherten
Daten und Befehle verfolgen und Daten beispielsweise in grad
zahlige Speicherbänke und Befehle in ungradzahlige Speicher
bänke oder umgekehrt ablegen. Daher kann die Wahrscheinlich
keit eines sequentiellen Speicherzugriffs durch den Prozessor
für jede DRAM-Bank mit identischen virtuellen Zeilenadressen
beträchtlich erhöht werden. Die Verwendung einer solchen Spei
chersystemarchitektur in Verbindung mit der erfindungsgemäß
angegebenen Hardware nach Fig. 2 macht in vielen Fällen ein
separates System auf Cache-Grundlage überflüssig. Es ist na
türlich für den Fachmann klar, daß trotz der Darstellung von
zwei Bänken von dynamischen RAM-Speichern gemäß Fig. 2 das
beschriebene Ausführungsbeispiel auf eine Vielzahl von Bänken
erweitert werden kann, wobei jeder Bank ein entsprechendes
Latch und eine Komparatorschaltung zugeordnet ist und die
Anzahl von niedrigsten übersetzten physikalischen Bits zur
Aktivierung spezieller Latches als Funktion der Anzahl der
verwendeten dynamischen RAM-Bänke benutzt wird.
Claims (22)
1. Speicherzugriffssystem mit einem Speicher, der eine
Speichermatrix enthält, und einer Adressiereinrichtung zum
Erzeugen von die Lage der Daten in der Matrix identifizieren
den Zeilen- und Spaltenadressen entsprechend den gewünschten
Daten in der Matrix, wobei Daten in der Matrix dadurch zu
greifbar sind, daß an die Matrix Zeilen- und Spaltenadressen
und danach Zeilenadreß-Strobe-(RAS) und Spaltenadreß-Strobe
-(CAS) Signale angelegt werden,
dadurch gekennzeichnet,
daß mit der Adressiereinrichtung (30) Signalspeichermittel
(Latch 18; 42, 44) gekoppelt sind, welche eine Zeilenadresse
aufnehmen und diese bei Empfang eines Taktsignals speichern,
daß eine von der Adressiereinrichtung gelieferte aktuelle
Zeilenadresse (12) mit einer in den Signalspeichermitteln
gerade gespeicherten vorhergehenden Zeilenadresse vergleichen
de Komparatormittel (20; 23, 48) mit den Signalspeichermitteln
und der Adressiereinrichtung gekoppelt sind, daß eine Zyklus
steuerschaltung (20; 55) mit den Komparatormitteln (20, 43,
48), den Signalspeichermitteln (18; 42, 44) und dem Speicher
(10) gekoppelt ist, wobei die Zyklussteuerschaltung eine aktu
elle Speicheradresse an die Matrix anlegt, das RAS-Signal
erzeugt und ferner Speicheradresse und CAS-Signal an die Ma
trix anlegt, um auf die gewünschten Daten zuzugreifen, und
wobei die Zyklussteuerschaltung die Signalspeichermittel zum
Speichern der aktuellen Zeilenadresse taktet, wenn die aktuel
le Speicheradresse von der vorhergehenden Speicheradresse
abweicht, und daß die Zyklussteuereinrichtung (22; 55) die
Spaltenadresse und das CAS-Signal an die Matrix anlegt, wenn
die aktuelle Zeilenadresse gleich der vorhergehenden Zeilen
adresse ist, wobei nur die Spaltenadresse und das CAS-Signal
zur Beschaffung des Zugriffs auf die gewünschten Daten erfor
derlich sind.
2. Speicherzugriffssystem nach Anspruch 1, dadurch gekenn
zeichnet, daß der Speicher (10) N Bänke von Speicherfeldern
bzw. Matrizen enthält.
3. Speicherzugriffssystem nach Anspruch 2, dadurch gekenn
zeichnet, daß die Signalspeichermittel (18) N Signalspeicher
(42, 44) und die Komparatormittel (20) N Komparatoren (43, 48)
in Zuordnung zu jeder der Bänke der Speicherfelder aufweisen.
4. Speicherzugriffssystem nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß jedes der Speicherfelder einen dynamischen
Direktzugriffsspeicher mit statischem Spaltenzugriff auf
weist.
5. Speicherzugriffssystem nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß die Zeilenadresse eine virtuelle
Adresse ist und daß die virtuelle Adresse vor dem Anlegen an
die Matrix oder das Speicherfeld durch eine Speichermanagem
enteinheit (MMU 38) in eine reale Zeilenadresse übersetzbar
ist.
6. Speicherzugriffssystem nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß die Adressiereinrichtung ein Pro
zessor (30) ist.
7. Speicherzugriffssystem nach einem der Ansprüche 2 bis 6,
dadurch gekennzeichnet, daß die Ausgänge der N Komparatoren
(43, 48) mit einem ODER-Gatter 50 gekoppelt sind und daß dem
ODER-Gatter die Zyklussteuerschaltung (55) nachgeschaltet
ist.
8. Speicherzugriffssystem nach Anspruch 7, dadurch gekenn
zeichnet, daß die Ausgänge der N Komparatoren (43, 48) auch
direkt mit der Zyklussteuerschaltung (55) gekoppelt sind.
9. Speicherzugriffssystem nach einem der Ansprüche 5 bis 8,
dadurch gekennzeichnet, daß die Y niedrigsten übersetzten
physikalischen Bits von der MMU (38) an die Signalspeicher
(42, 44) derart angelegt sind, daß der Wert der Y Bits wenig
stens einem der Signalspeicher und einer der Speicherbänke
entspricht, wodurch der entsprechende Signalspeicher aktivier
bar ist.
10. Speicherzugriffssystem nach Anspruch 9, dadurch gekenn
zeichnet, daß die in den N Bänken von Speichermatrizen oder
-feldern abgelegten Daten so organisiert sind, daß bestimmte
Bänke einen höheren Prozentsatz an Befehlen als Daten im Ver
gleich zu anderen Bänken speichern.
11. Speicherzugriffssystem nach Anspruch 10, dadurch gekenn
zeichnet, daß die Datenorganisation so vorgesehen ist, daß die
Wahrscheinlichkeit von aufeinanderfolgenden Speicherzugriffen
zu derselben Zeilenadresse wie bei vorhergehenden Zugriffen
beträchtlich erhöht ist.
12. Speicherzugriffssystem nach einem der Ansprüche 1 bis 11,
dadurch gekennzeichnet, daß die Datenspeicherung von einem
Betriebssystem gesteuert ist, das vom Prozessor (30) ausge
führte Befehle enthält.
13. Speicherzugriffssystem nach einem der Ansprüche 1 bis 12,
dadurch gekennzeichnet, daß die von der Adressiereinrichtung
(30) gelieferten Spaltenadressen reale Adressen sind.
14. Speicherzugriffssystem nach Anspruch 13, dadurch gekenn
zeichnet, daß die übersetzte reale Zeilenadresse und die reale
Spaltenadresse von einem Multiplexer (16; 60) in Abhängigkeit
von Befehlen der Zyklussteuerschaltung (22; 55) selektiv an
die Speichermatrizen ankoppelbar sind.
15. Verfahren zum Zugreifen auf einen Computerspeicher, wobei
zum Zugreifen auf in wenigstens einer Speichermatrix ge
speicherte Daten die Lage dieser Daten identifizierende Zei
len- und Spaltenadressen sowie Zeilenadreßstrobe-(RAS) und
Spaltenadreßstrobe-(CAS) Signale an die Matrix angelegt wer
den,
dadurch gekennzeichnet,
daß eine aktuelle Zeilen- und Spaltenadresse entsprechend
den gewünschten Daten in der Matrix erzeugt wird,
daß eine zuvor erzeugte Zeilenadresse in Abhängigkeit vom
Anstehen eines Taktsignals in einem Signalspeicher gespeichert
wird,
daß die aktuelle Zeilenadresse mit der zuvor gespeicherten
Zeilenadresse verglichen wird und
daß die Spaltenadresse und das CAS-Signal in dem Fall, daß
die aktuelle Zeilenadresse gleich der zuvor gespeicherten
Zeilenadresse ist, allein zum Zugreifen auf die gewünschten
Daten verwendet werden, jedoch im Falle fehlender Übereinstim
mung zwischen der zuvor gespeicherten Zeilenadresse und der
aktuellen Zeilenadresse letztere ebenso wie das RAS-Signal an
die Matrix zusätzlich zu der Spaltenadresse und dem CAS-Signal
angelegt werden, um auf die gewünschten Daten zuzugreifen, und
daß ein Taktsignal zur Speicherung der aktuellen Zeilenadresse
an den Signalspeicher angelegt wird.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß
ein Computerspeicher mit N Bänken von Speichermatrizen bzw.
-feldern verwendet wird.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß
Signalspeicher verwendet werden und daß der Vergleichsschritt
unter Verwendung von N Komparatoren durchgeführt wird, von
denen jeder einer Speichermatrixbank zugeordnet ist.
18. Verfahren nach einem der Ansprüche 15 bis 17, dadurch
gekennzeichnet, daß als Zeilenadresse eine virtuelle Adresse
verwendet wird, die vor dem Anlegen an die Matrix in eine
reale Zeilenadresse übersetzt wird.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, daß Y
niedrigste übersetzte physikalische Bits derart zu Signal
speichern übertragen werden, daß der Wert der Y Bits wenig
stens einem der Signalspeicher und Speicherbänke entspricht,
so daß der entsprechende Signalspeicher aktiviert wird.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß
die N Speichermatrixbänke so organisiert werden, daß einige
der Bänke einen höheren Prozentsatz an Befehlen als Daten im
Vergleich zu anderen Bänken speichern.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß
die Daten so organisiert werden, daß die Wahrscheinlichkeit
aufeinanderfolgender Speicherzugriffe zu derselben Zeilen
adresse wie bei vorhergehenden Zugriffen beträchtlich erhöht
wird.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß
eine reale Adresse als Spaltenadresse erzeugt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/890,075 US4803621A (en) | 1986-07-24 | 1986-07-24 | Memory access system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3724317A1 true DE3724317A1 (de) | 1988-01-28 |
DE3724317C2 DE3724317C2 (de) | 1991-08-14 |
Family
ID=25396226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873724317 Granted DE3724317A1 (de) | 1986-07-24 | 1987-07-22 | Speicherzugriffssystem |
Country Status (8)
Country | Link |
---|---|
US (1) | US4803621A (de) |
JP (1) | JPH083802B2 (de) |
CA (1) | CA1278875C (de) |
DE (1) | DE3724317A1 (de) |
FR (1) | FR2602070B1 (de) |
GB (1) | GB2193017B (de) |
HK (1) | HK27491A (de) |
SG (1) | SG8891G (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3932103A1 (de) * | 1989-09-26 | 1991-04-04 | Siemens Ag | Schaltungsanordnung fuer cache-speicher |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2714944B2 (ja) * | 1987-08-05 | 1998-02-16 | 三菱電機株式会社 | 半導体記憶装置 |
US5179687A (en) * | 1987-09-26 | 1993-01-12 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device containing a cache and an operation method thereof |
US5051889A (en) * | 1987-10-23 | 1991-09-24 | Chips And Technologies, Incorporated | Page interleaved memory access |
GB2215498A (en) * | 1988-02-01 | 1989-09-20 | Tsb International Inc | Expandable reconfigurable memory circuit |
IT1216087B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Sistema di memoria con selezione predittiva di modulo. |
IT1216086B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Memoria tampone ad indirizzamento pseudo virtuale. |
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US4974146A (en) * | 1988-05-06 | 1990-11-27 | Science Applications International Corporation | Array processor |
US5230067A (en) * | 1988-05-11 | 1993-07-20 | Digital Equipment Corporation | Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto |
US4937791A (en) * | 1988-06-02 | 1990-06-26 | The California Institute Of Technology | High performance dynamic ram interface |
US4870622A (en) * | 1988-06-24 | 1989-09-26 | Advanced Micro Devices, Inc. | DRAM controller cache |
JPH0774994B2 (ja) * | 1988-09-21 | 1995-08-09 | 株式会社日立製作所 | バッファ記憶制御装置のosc検出方式 |
GB2226666B (en) * | 1988-12-30 | 1993-07-07 | Intel Corp | Request/response protocol |
US5121487A (en) * | 1989-02-21 | 1992-06-09 | Sun Microsystems, Inc. | High speed bus with virtual memory data transfer capability using virtual address/data lines |
US5097483A (en) * | 1989-02-21 | 1992-03-17 | Sun Microsystems, Inc. | Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off |
US4937734A (en) * | 1989-02-21 | 1990-06-26 | Sun Microsystems, Inc. | High speed bus with virtual memory data transfer and rerun cycle capability |
US4967397A (en) * | 1989-05-15 | 1990-10-30 | Unisys Corporation | Dynamic RAM controller |
US5329629A (en) * | 1989-07-03 | 1994-07-12 | Tandem Computers Incorporated | Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access |
US5440749A (en) * | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US4951246A (en) * | 1989-08-08 | 1990-08-21 | Cray Research, Inc. | Nibble-mode dram solid state storage device |
ATE179811T1 (de) * | 1989-09-08 | 1999-05-15 | Auspex Systems Inc | Betriebssystemaufbau mit mehreren verarbeitungseinheiten |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
JPH03113794A (ja) * | 1989-09-22 | 1991-05-15 | Toshiba Corp | 半導体記憶装置 |
US5280601A (en) * | 1990-03-02 | 1994-01-18 | Seagate Technology, Inc. | Buffer memory control system for a magnetic disc controller |
GB2246001B (en) * | 1990-04-11 | 1994-06-15 | Digital Equipment Corp | Array architecture for high speed cache memory |
JP2862948B2 (ja) * | 1990-04-13 | 1999-03-03 | 三菱電機株式会社 | 半導体記憶装置 |
US5995443A (en) * | 1990-04-18 | 1999-11-30 | Rambus Inc. | Synchronous memory device |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US6324120B2 (en) | 1990-04-18 | 2001-11-27 | Rambus Inc. | Memory device having a variable data output length |
US6751696B2 (en) * | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
US5247630A (en) * | 1990-07-09 | 1993-09-21 | The United States Of America As Represented By The Secretary Of The Navy | M-dimensional computer memory with m-1 dimensional hyperplane access |
US5479640A (en) * | 1990-08-31 | 1995-12-26 | International Business Machines Corporation | Memory access system including a memory controller with memory redrive circuitry |
JPH0682339B2 (ja) * | 1990-08-31 | 1994-10-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリ・アクセス・システムおよび方法 |
EP0482575A3 (en) * | 1990-10-26 | 1992-05-27 | Samsung Semiconductor, Inc. | Storage system for a high-performance processor |
US5249282A (en) * | 1990-11-21 | 1993-09-28 | Benchmarq Microelectronics, Inc. | Integrated cache memory system with primary and secondary cache memories |
US5274786A (en) * | 1990-11-28 | 1993-12-28 | Hewlett-Packard Company | Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion |
US5247643A (en) * | 1991-01-08 | 1993-09-21 | Ast Research, Inc. | Memory control circuit for optimizing copy back/line fill operation in a copy back cache system |
US5301292A (en) * | 1991-02-22 | 1994-04-05 | Vlsi Technology, Inc. | Page mode comparator decode logic for variable size DRAM types and different interleave options |
US5289584A (en) * | 1991-06-21 | 1994-02-22 | Compaq Computer Corp. | Memory system with FIFO data input |
US5430857A (en) * | 1993-01-04 | 1995-07-04 | Intel Corporation | Method and apparatus for translating logical addresses into physical addresses using odd/even translation tables |
US5682515A (en) * | 1993-01-25 | 1997-10-28 | Benchmarq Microelectronics, Inc. | Low power set associative cache memory with status inhibit of cache data output |
JPH06301596A (ja) * | 1993-04-09 | 1994-10-28 | Mitsubishi Electric Corp | マイクロプロセッサ |
US5606650A (en) * | 1993-04-22 | 1997-02-25 | Apple Computer, Inc. | Method and apparatus for storage and retrieval of a texture map in a graphics display system |
WO1994029796A1 (en) * | 1993-06-03 | 1994-12-22 | Network Appliance Corporation | A method for allocating files in a file system integrated with a raid disk sub-system |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
DE69435146D1 (de) * | 1993-06-03 | 2008-11-13 | Network Appliance Inc | Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems |
US6138126A (en) * | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
JPH08511368A (ja) * | 1993-06-04 | 1996-11-26 | ネットワーク・アプリアンス・コーポレーション | 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法 |
US5813028A (en) * | 1993-10-12 | 1998-09-22 | Texas Instruments Incorporated | Cache read miss request invalidation prevention method |
JPH07281948A (ja) * | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | メモリ制御装置 |
US5594913A (en) * | 1994-09-16 | 1997-01-14 | Philips Electronics North America Corporation | High speed memory access system for a microcontroller with directly driven low order address bits |
US5809539A (en) * | 1995-04-27 | 1998-09-15 | Hitachi, Ltd. | Processor system having address allocation and address lock capability adapted for a memory comprised of synchronous DRAMs |
DE69628326D1 (de) * | 1995-10-06 | 2003-06-26 | Patriot Scient Corp | Architektur für einen risc-mikroprozessor |
US6470405B2 (en) * | 1995-10-19 | 2002-10-22 | Rambus Inc. | Protocol for communication with dynamic memory |
US5761694A (en) * | 1995-11-30 | 1998-06-02 | Cirrus Logic, Inc. | Multi-bank memory system and method having addresses switched between the row and column decoders in different banks |
US5815673A (en) * | 1996-03-01 | 1998-09-29 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing latency time on an interface by overlapping transmitted packets |
US6266379B1 (en) * | 1997-06-20 | 2001-07-24 | Massachusetts Institute Of Technology | Digital transmitter with equalization |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6504550B1 (en) | 1998-05-21 | 2003-01-07 | Mitsubishi Electric & Electronics Usa, Inc. | System for graphics processing employing semiconductor device |
US6559851B1 (en) | 1998-05-21 | 2003-05-06 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for semiconductor systems for graphics processing |
US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
US6535218B1 (en) | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6343984B1 (en) * | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
ATE390788T1 (de) * | 1999-10-14 | 2008-04-15 | Bluearc Uk Ltd | Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen |
US7493607B2 (en) * | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
US20060129740A1 (en) * | 2004-12-13 | 2006-06-15 | Hermann Ruckerbauer | Memory device, memory controller and method for operating the same |
ATE407397T1 (de) | 2005-04-29 | 2008-09-15 | Network Appliance Inc | System und verfahren zur erzeugung einheitlicher bilder einer menge von datenobjekten |
US20070294181A1 (en) * | 2006-05-22 | 2007-12-20 | Saurabh Chheda | Flexible digital rights management with secure snippets |
US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
US20080154379A1 (en) * | 2006-12-22 | 2008-06-26 | Musculoskeletal Transplant Foundation | Interbody fusion hybrid graft |
KR100924303B1 (ko) | 2008-02-22 | 2009-11-02 | 인하대학교 산학협력단 | 메모리 어드레스의 모니터링 방법 및 장치 |
TWI428918B (zh) * | 2009-09-29 | 2014-03-01 | Silicon Motion Inc | 記憶裝置以及記憶裝置之資料存取方法 |
US8694755B1 (en) | 2010-03-17 | 2014-04-08 | Ambarella, Inc. | Virtual memory management for real-time embedded devices |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3394354A (en) * | 1965-11-30 | 1968-07-23 | Ibm | Multiple word random access memory |
US3413613A (en) * | 1966-06-17 | 1968-11-26 | Gen Electric | Reconfigurable data processing system |
US4156905A (en) * | 1974-02-28 | 1979-05-29 | Ncr Corporation | Method and apparatus for improving access speed in a random access memory |
IT1052771B (it) * | 1975-12-31 | 1981-07-20 | Olivetti C E C S P A | Dispositivo di indirizzamento di una memoria |
US4081701A (en) * | 1976-06-01 | 1978-03-28 | Texas Instruments Incorporated | High speed sense amplifier for MOS random access memory |
US4106109A (en) * | 1977-02-01 | 1978-08-08 | Ncr Corporation | Random access memory system providing high-speed digital data output |
US4368515A (en) * | 1981-05-07 | 1983-01-11 | Atari, Inc. | Bank switchable memory system |
US4527232A (en) * | 1982-07-02 | 1985-07-02 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4550368A (en) * | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4725945A (en) * | 1984-09-18 | 1988-02-16 | International Business Machines Corp. | Distributed cache in dynamic rams |
EP0182501A3 (de) * | 1984-11-20 | 1988-01-20 | Tektronix, Inc. | Speicherabbildungsverfahren und -vorrichtung |
-
1986
- 1986-07-24 US US06/890,075 patent/US4803621A/en not_active Expired - Lifetime
-
1987
- 1987-05-27 GB GB8712443A patent/GB2193017B/en not_active Expired - Fee Related
- 1987-06-04 CA CA000538832A patent/CA1278875C/en not_active Expired - Fee Related
- 1987-07-21 JP JP62180185A patent/JPH083802B2/ja not_active Expired - Fee Related
- 1987-07-22 DE DE19873724317 patent/DE3724317A1/de active Granted
- 1987-07-23 FR FR8710472A patent/FR2602070B1/fr not_active Expired - Fee Related
-
1991
- 1991-02-19 SG SG88/91A patent/SG8891G/en unknown
- 1991-04-11 HK HK274/91A patent/HK27491A/xx not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
US IBM Technical Disclosure Bulletin, Vol. 21, No. 10, März 1979, S. 3997-3998 * |
US-Firmenschrift der Fa. Mostek "Memory Data Book & Designers Guide", 1978, S. 167-173 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3932103A1 (de) * | 1989-09-26 | 1991-04-04 | Siemens Ag | Schaltungsanordnung fuer cache-speicher |
DE3932103C2 (de) * | 1989-09-26 | 1998-01-15 | Siemens Ag | Schaltungsanordnung für Cache-Speicher |
Also Published As
Publication number | Publication date |
---|---|
SG8891G (en) | 1991-06-21 |
FR2602070A1 (fr) | 1988-01-29 |
GB2193017A (en) | 1988-01-27 |
JPH083802B2 (ja) | 1996-01-17 |
US4803621A (en) | 1989-02-07 |
FR2602070B1 (fr) | 1994-04-01 |
JPS6334652A (ja) | 1988-02-15 |
GB2193017B (en) | 1990-08-29 |
CA1278875C (en) | 1991-01-08 |
HK27491A (en) | 1991-04-19 |
GB8712443D0 (en) | 1987-07-01 |
DE3724317C2 (de) | 1991-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3724317C2 (de) | ||
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE68910391T2 (de) | Verfahren zum Speicherdatenzugriff. | |
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE3909896C2 (de) | ||
DE3834759C2 (de) | ||
DE3687307T2 (de) | Computeranordnungen mit cache-speichern. | |
DE3587439T2 (de) | Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher. | |
DE19526007C2 (de) | Horizontal partitionierter Befehls-Cache-Speicher | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE3438869C2 (de) | ||
DE69031411T2 (de) | Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE69625486T2 (de) | Speichersteuerung zur nicht sequentiellen ausführung von schreibbefehlen | |
DE69333319T2 (de) | Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik | |
DE2856133A1 (de) | Verarbeitungssystem fuer einen assoziativspeicher | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2445617A1 (de) | Hierarchische speicheranordnung | |
DE19713421A1 (de) | Halbleiterspeicher-Testvorrichtung | |
DE69131917T2 (de) | Cache-Speicher mit rekonfigurierbarer Blocklänge und Verfahren dafür | |
DE68919464T2 (de) | Halbleiterspeichereinrichtung, die einen Speicher mit Seriengriff aufweist. | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE69123987T2 (de) | Stossbetrieb für Mikroprozessor mit externem Systemspeicher | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/00 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |