DE3724317C2 - - Google Patents
Info
- Publication number
- DE3724317C2 DE3724317C2 DE3724317A DE3724317A DE3724317C2 DE 3724317 C2 DE3724317 C2 DE 3724317C2 DE 3724317 A DE3724317 A DE 3724317A DE 3724317 A DE3724317 A DE 3724317A DE 3724317 C2 DE3724317 C2 DE 3724317C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- row address
- signal
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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 eine Speicherzugriffsanordnung
nach dem Oberbegriff des Patentanspruchs 1 und ein Verfahren
zum Zugreifen auf einen Computerspeicher nach dem Oberbegriff
des Patentanspruchs 13.
Bei vielen Datenverarbeitungssystemen ist es üblich, Hochgeschwindigkeitspufferspeicher,
die als Cache-Speicher bezeichnet
werden, mit einer zentralen Recheneinheit (CPU) zu koppeln,
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 typischerweise
einen Teil des im Hauptspeicher verfügbaren vollständigen
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 Speicherzugriffserfordernisse
so, daß die erhöhten Aufwendungen und die
erhöhte Komplexität von Cache-basierenden Architekturen gerechtfertigt
waren. Bei der neuen Generation von "Reduced
Instruction Set Computers" (RISC) erfordern die Verarbeitungsgeschwindigkeiten
einen Einzelzyklus-Speicherzugriff. Die
meisten modernen Speichersysteme verwenden dynamische Direktzugriffsspeicher
(DRAM's), deren Zykluszeiten normalerweise
200 Nanosekunden sind ("Zyklus"-Zeit ist die Zeit ab Einleitung
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 Spaltenadreß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 Spaltenzugriff/Zykluszeit
für dasselbe Gerät sein.
Aus IBM Technical Disclosure Bulletin, Band 21, Nr. 10, März
1979, Seiten 3997, 3998 ist es bekannt, einen Teil der Zugriffszeit
zur Adreßübersetzung zu benutzen.
Ferner ist aus der US-Firmenschrift der Firma Mostek "Memory
Data Book & Designers Guide", 1978, Seiten 167 bis 173 eine
RAM Anordnung bekannt, bei der im Seitenmodus unter Beibehaltung
der RAS-Adresse ein schnellerer Zugriff als im normalen
Betriebsmodus möglich sein soll.
Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung und
ein Verfahren zum Zugreifen auf einen Speicher so zu verbessern,
daß sie auch ohne Cache-Speicher rasch arbeiten können.
Zur Lösung dieser Aufgabe sieht die Erfindung bei einer
Speicherzugriffsanordnung die Merkmale des Patentanspruchs 1
und bei einem Speicherzugriffsverfahren die Merkmale des Patentanspruchs
13 vor.
Die Erfindung ermöglicht durch geeignete 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 Zugriff zu einer lokalisierten Untergruppe
des Hauptspeichers ermöglicht.
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) gespeicherte
Daten. Die vom Prozessor gelieferte virtuelle Adresse
enthält Bits hoher und niedriger Ordnung. Bei dem bevorzugten
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 Signalspeicher
(latch) gespeicherten vorhergehenden Zeilenadresse. Wenn
die aktuelle Zeilenadresse mit der vorhergehenden Zeilenadresse
ü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 Zyklussteuerschaltung
einen vollständigen Speicherabrufzyklus aus
und legt sowohl die Zeilen- als auch die Spaltenadressen zusammen
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 Speicheroperationen
zu derselben Zeile im DRAM zugreifen, wesentlich
erhöht werden. Durch Verwendung einer solchen Organisation
schafft die Erfindung eine Daten-Wiedergewinnung mit Geschwindigkeiten
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 5mal höher
als die Zugriffsgeschwindigkeit zu einem vollständigen Speicherabrufzyklus
sind.
Vorteilhafte Weiterbildungen und Ausführungsbeispiele der
Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand
der Zeichnung näher erläutert. In der Zeichnung
zeigt
Fig. 1 ein Blockschaltbild, welches das Konzept der
vorliegenden Erfindung veranschaulicht;
Fig. 2 ein detailliertes Blockdiagramm, welches ein
bevorzugtes Ausführungsbeispiel der Erfindung
darstellt; und
Fig. 3 ein Ablaufdiagramm, das die Folge von Operationen
bei dem in Fig. 2 dargestellten Ausführungsbeispiel
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 angegeben,
um die Erfindung besser verständlich zu machen. Es ist
jedoch für den Fachmann klar, daß die Erfindung ohne diese
speziellen Details realisierbar ist. In anderen Fällen sind
bekannte Schaltungen in Blockform dargestellt, um die Erfindung
nicht mit unnötigen Einzelheiten zu belasten.
Unter Bezugnahme auf Fig. 1 wird das Erfindungsprinzip anhand
eines Blockschaltbilds beschrieben. Ein dynamischer Direktzugriffsspeicher
(DRAM) 10 enthält ein Speichergerät eines Datenverarbeitungssystems.
Bei dem beschriebenen Ausführungsbeispiel
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 Speichergeräten
ist die Zykluszeit von der Initiierung des Speicherzugriffs
bis zur Ausgabe von gewünschten Daten in der Größenordnung
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 Spaltenadresse,
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 Zeitspanne
vom Anlegen der Spaltenadresse und des CAS-Signals bis
zur Ausgabe von Daten wird im folgenden als "Spalten-Zugriffs-"
Zeit des Speichergeräts bezeichnet. Demgemäß ist die
Speicherzykluszeit angenähert 5mal so lang wie die Spaltenzugriff/
Zykluszeit des Geräts.
In den meisten neueren statischen Spalten-DRAM-Speichergeräten
kann jedes innerhalb der angesteuerten Zeile angeordnete Datenelement
nach dem Anlegen der Zeilenadresse und des RAS-
Strobesignals innerhalb der angesteuerten Zeile dadurch zugegriffen
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 gespeichert
sind, im Gegensatz zum Zugriff zu in einer anderen
Zeile der Speichermatrix gespeicherten Daten sehr rasch (innerhalb
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 zugegriffen werden, ohne die
Datenplätze im Hauptspeicher lesen zu müssen. Man war bisher
generell der Meinung, daß in Hochgeschwindigkeits-Datenverarbeitungssystemen
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 Hochgeschwindigkeitszugriff
auf lokalisierte Zonen innerhalb des Hauptspeichers
ermöglicht. Es ist für den Fachmann einzusehen, daß
dann, wenn Daten innerhalb des DRAM 10 (Fig. 1) geeignet angeordnet
werden, jedes in einer zuvor aktivierten Zeile angeordnete
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 Zeilenadresse
12 und eine Spaltenadresse 14 zum Zugriff auf bestimmte
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 Komparator
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 aktuelle
Zeilenadresse 12 (RA(i)) mit der vorhergehenden Zeilenadresse
(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 übereinstimmt,
so taktet die Zyklussteuerung 22 Latch 18, wodurch die
aktuelle Zeilenadresse im Latch gespeichert wird, und signalisiert
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 Zyklussteuerschaltung
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 typischerweise
über einen in der Zeichnung nicht gezeigten Datenbus.
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 gesagt,
kann der Zugriff zu einem Datenelement innerhalb einer
im DRAM 10 zuvor aktivierten bzw. angesteuerten Zeile sehr
rasch erfolgen. Bei dem in Fig. 1 gezeigten Ausführungsbeispiel
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 gespeicherten
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 entwickeln;
stattdessen brauchen nur die aktuelle Spaltenadresse
und das CAS-Signal angelegt zu werden, um zum Speicher zuzugreifen.
Bei einer typischen Anwendung ermöglicht die Erfindung
den Zugriff auf im DRAM 10 gespeicherte Daten in ungefähr
45 Nanosekunden statt der 200 Nanosekunden bei herkömmlichen
Speicherkonfigurationen.
Es ist für den Fachmann klar, daß bei einem Arbeitsspeichersystem
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 innerhalb
mehrerer Speicherbänke so anzuordnen, daß die Wahrscheinlichkeit
einer Vielzahl von sequentiellen Zugriffen zu
derselben Zeile innerhalb einer Speicherbank beträchtlich
erhöht wird. Wenn häufig benutzte Daten innerhalb des Speichers
auf diese lokalisiert werden können, kann der Hauptspeicher
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 Speichertechniken
aufweist. Für die Zwecke der vorliegenden Beschreibung
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 Anwendung
notwendig sind.
Ein als Adressiereinrichtung dienender Prozessor 30 steht mit dem erfindungsgemäßen Speichersystem
über einen virtuellen Adreßbus 32 in Nachrichtenverbindung.
Der virtuelle Adreßbus 32 enthält eine Vielzahl individueller
Leitungen, welche Adressen in Form von Multi-Bit-Wörtern
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 übertragen
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 Spaltenadresse
für die in DRAM-Bank A und DRAM-Bank B gespeicherten
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 dargestellt,
werden die virtuellen Bits hoher Ordnung an eine Speichermanagementeinheit
(MMU) 38 zum Übersetzen in eine physikalische
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 Prozessor
30 angelegte virtuelle Adresse hoher Ordnung und liefert
als Ausgang auf der Leitung 40 eine übersetzte physikalische
(reale) Adresse, welche die aktuelle physikalische Zeilenadresse
der gewünschten Daten in den DRAM-Banken A und B spezifiziert.
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 ähnlicher Weise an die Zyklussteuerschaltung 55
angelegt. Wie weiter unten genauer beschrieben werden wird,
steuert die Zyklussteuerschaltung 55 die Taktgabe an die Signalspeicher
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 niedrigsten
ü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 angelegt
(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 phasikalische Bit der virtuellen Adresse
eine logische Eins ist. Wie in Fig. 2 gezeigt, wird das niedrigste
übersetzte physikalische Bit auch an die Zyklussteuerschaltung
55 angelegt und dieses Bit (oder Bits im Falle von
mehr als zwei Speicherbänken) identifiziert für die Zyklussteuerschaltung
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 gesagt,
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 niedrigste
übersetzte physikalische Bit über die Leitung 62 an
die Signalspeicher 42 und 44 angelegt. Als Beispiel sei angenommen,
daß dann, wenn das niedrigste übersetzte physikalische
Bit eine logische Null ist, Signalspeicher bzw. Latch 42 aktiviert
wird, da die logische Null vom Inverter 63 in eine logische
Eins invertiert wird. Die virtuelle Adresse wird gleichzeitig
an das aktivierte Latch 42 und den Komparator 43
angelegt. Es ist zu erkennen, daß trotz Anstehens der aktuellen
virtuellen Zeilenadresse am Latch 42 letzteres die vorhergehende
virtuelle Zeilenadresse enthält und weiterhin die
vorhergehende virtuelle Zeilenadresse beibehält, bis das Latch
getaktet wird.
Der Vergleicher 43 vergleicht die aktuelle virtuelle Zeilenadresse
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 Zyklussteuerschaltung
55 angelegt. Wenn entweder Komparator 43 oder Komparator
48 eine Übereinstimmung zwischen der aktuellen virtuellen
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 identifizieren,
welche die Übereinstimmung festgestellt hat. Bei
dem beschriebenen Ausführungsbeispiel, bei dem eine Übereinstimmung
zwischen der aktuellen virtuellen Zeilenadresse und
dem Inhalt von Latch 42 besteht, signalisiert die Zyklussteuerschaltung
55 dem Multiplexer 60, daß das die Spaltenadresse
enthaltende reale Adreßsegment auf den physikalischen
Adreßbus 70 und die DRAM-Bank A zu koppeln ist. Die Zyklussteuerschaltung
55 liefert auch das notwendige Spaltenadreßsignal
(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 besteht,
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 gespeicherten
Zeilenadresse existiert, signalisiert die Zyklussteuerschaltung
55 dem Multiplexer 60, daß die übersetzte (jetzt
reale) Zeilenadresse auf der Leitung 40 über den physikalischen
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 einschließlich
der Aktualisierung von Latch 42 werden die Zeilen-
und Spaltenadressen zusammen mit ihren zugehörigen Strobe-Signalen
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 Gewinnung
von Daten aus einem Computer-Hauptspeicher verwenden. In
den Fällen jedoch, wo eine Übereinstimmung zwischen der aktuellen
virtuellen Zeilenadresse und der zuvor gespeicherten
virtuellen Zeilenadresse besteht, werden beträchtliche Vorteile
in der Geschwindigkeit des Speicherzugriffs durch die Erfindung
erreicht.
Es ist außerdem verständlich, daß die Verwendung der Erfindung
in der schematisch in Fig. 2 dargestellten Art dem Computersystem
die Möglichkeit gibt, Speicherbänke für gewisse Arten
von Daten auf der Basis der übersetzten virtuellen Zeilenadresse
und insbesondere der niedrigsten übersetzten physikalischen
Zeilenadresse Bits zuzuordnen. Generell wurde gefunden,
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 angenähert
80% der Abrufoperationen dienen der Gewinnung von
Befehlen. Demgemäß ermöglicht die Benutzung der Erfindung die
effektive Definition eines "Cache" in einer oder mehreren Speicherbä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 gradzahlige
Speicherbänke und Befehle in ungradzahlige Speicherbänke
oder umgekehrt ablegen. Daher kann die Wahrscheinlichkeit
eines sequentiellen Speicherzugriffs durch den Prozessor
für jede DRAM-Bank mit identischen virtuellen Zeilenadressen
beträchtlich erhöht werden. Die Verwendung einer solchen Speichersystemarchitektur
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 natü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 (19)
1. Speicherzugriffsanordnung für einen Speicher (10), der eine
Speichermatrix und eine Adressiereinrichtung (30) enthält zum
Erzeugen von die Lage der Daten in der Matrix identifizierenden
Zeilen- und Spaltenadressen entsprechend den gewünschten
Daten in der Matrix, wobei Daten in der Matrix dadurch zugreifbar
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) gekoppelt sind, welche eine Zeilenadresse aufnehmen und diese bei Empfang eines Taktsignals speichern,
daß eine von der Adressiereinrichtung (30) gelieferte aktuelle Zeilenadresse (12) mit der in den Signalspeichermitteln (18) gerade gespeicherten vorhergehenden Zeilenadresse durch Komparatormittel (20) verglichen wird,
daß eine Zyklussteuerschaltung (22) mit den Komparatormitteln (20), den Signalspeichermitteln (18) und dem Speicher (10) gekoppelt ist, wobei die Zyklussteuerschaltung bei positivem Vergleichsergebnis unter Beibehaltung der in den Signalspeichermitteln aufgenommenen Zeilenadresse sofort die aktuelle Spaltenadresse und das CAS-Signal an die Matrix anlegt, um auf die gewünschten Daten zuzugreifen, während bei negativem Vergleichsergebnis die Zyklussteuerschaltung (22) die Signalspeichermittel (18) zur Aufnahme der aktuellen Zeilenadresse taktet, wie üblich das RAS-Signal erzeugt und dann die Spaltenadresse und das CAS-Signal an die Matrix anlegt.
daß mit der Adressiereinrichtung (30) Signalspeichermittel (Latch 18) gekoppelt sind, welche eine Zeilenadresse aufnehmen und diese bei Empfang eines Taktsignals speichern,
daß eine von der Adressiereinrichtung (30) gelieferte aktuelle Zeilenadresse (12) mit der in den Signalspeichermitteln (18) gerade gespeicherten vorhergehenden Zeilenadresse durch Komparatormittel (20) verglichen wird,
daß eine Zyklussteuerschaltung (22) mit den Komparatormitteln (20), den Signalspeichermitteln (18) und dem Speicher (10) gekoppelt ist, wobei die Zyklussteuerschaltung bei positivem Vergleichsergebnis unter Beibehaltung der in den Signalspeichermitteln aufgenommenen Zeilenadresse sofort die aktuelle Spaltenadresse und das CAS-Signal an die Matrix anlegt, um auf die gewünschten Daten zuzugreifen, während bei negativem Vergleichsergebnis die Zyklussteuerschaltung (22) die Signalspeichermittel (18) zur Aufnahme der aktuellen Zeilenadresse taktet, wie üblich das RAS-Signal erzeugt und dann die Spaltenadresse und das CAS-Signal an die Matrix anlegt.
2. Speicherzugriffsanordnung nach Anspruch 1, dadurch gekennzeichnet,
daß der Speicher (10) N Bänke von Speicherfeldern
bzw. Matrizen enthält.
3. Speicherzugriffsanordnung nach Anspruch 2, dadurch gekennzeichnet,
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. Speicherzugriffsanordnung nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß jedes der Speicherfelder einen dynamischen
Direktzugriffsspeicher mit statischem Spaltenzugriff aufweist.
5. Speicherzugriffsanordnung 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 Speichermanagementeinheit
(MMU 38) in eine reale Zeilenadresse übersetzbar
ist.
6. Speicherzugriffsanordnung nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß die Adressiereinrichtung (30) ein Prozessor
ist.
7. Speicherzugriffsanordnung 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. Speicherzugriffsanordnung nach Anspruch 7, dadurch gekennzeichnet,
daß die Ausgänge der N Komparatoren (43, 48) auch
direkt mit der Zyklussteuerschaltung (55) gekoppelt sind.
9. Speicherzugriffsanordnung nach einem der Ansprüche 5 bis 8,
dadurch gekennzeichnet, daß die Y niedrigsten übersetzten
physikalischen Bits von der Speichermanagementeinheit (38) an die Signalspeicher
(42, 44) derart angelegt sind, daß der Wert der Y Bits wenigstens
einem der Signalspeicher und einer der Speicherbänke
entspricht, wodurch der entsprechende Signalspeicher aktivierbar
ist.
10. Speicherzugriffsanordnung nach Anspruch 9, dadurch gekennzeichnet,
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 Vergleich
zu anderen Bänken speichern, so daß die
Wahrscheinlichkeit von aufeinanderfolgenden Speicherzugriffen
zu derselben Zeilenadresse
beträchtlich erhöht ist.
11. Speicherzugriffsanordnung nach einem der Ansprüche 1 bis 10,
dadurch gekennzeichnet, daß die von der Adressiereinrichtung
(30) gelieferten Spaltenadressen reale Adressen sind.
12. Speicherzugriffsanordnung nach Anspruch 11, dadurch gekennzeichnet,
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.
13. Verfahren zum Zugreifen auf einen Computerspeicher, wobei
zum Zugreifen auf in wenigstens einer Speichermatrix gespeicherte
Daten die Lage dieser Daten identifizierende Zeilen-
und Spaltenadressen sowie Zeilenadreßstrobe-(RAS) und
Spaltenadreßstrobe-(CAS) Signale an die Matrix angelegt werden,
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ß für den Fall, daß die aktuelle Zeilenadresse gleich der zuvor gespeicherten Zeilenadresse ist, allein die Spaltenadresse und das CAS-Signal zum Zugreifen auf die gewünschten Daten verwendet werden, jedoch im Falle fehlender Übereinstimmung 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.
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ß für den Fall, daß die aktuelle Zeilenadresse gleich der zuvor gespeicherten Zeilenadresse ist, allein die Spaltenadresse und das CAS-Signal zum Zugreifen auf die gewünschten Daten verwendet werden, jedoch im Falle fehlender Übereinstimmung 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.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
ein Computerspeicher mit N Bänken von Speichermatrizen bzw.
-feldern verwendet wird.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß
N Signalspeicher verwendet werden und daß der Vergleichsschritt
unter Verwendung von N Komparatoren durchgeführt wird, von
denen jeder einer Bank zugeordnet ist.
16. Verfahren nach einem der Ansprüche 13 bis 15, dadurch
gekennzeichnet, daß als Zeilenadresse eine virtuelle Adresse
verwendet wird, die vor dem Anlegen an die Matrix in eine
reale Zeilenadresse übersetzt wird.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß Y
niedrigste übersetzte physikalische Bits derart zu den Signalspeichern
übertragen werden, daß der Wert der Y Bits wenigstens
einem der Signalspeicher und Speicherbänke entspricht,
so daß der entsprechende Signalspeicher aktiviert wird.
18. Verfahren nach Anspruch 17, 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, so
daß die Wahrscheinlichkeit
aufeinanderfolgender Speicherzugriffe zu derselben Zeilenadresse
wie bei vorhergehenden Zugriffen beträchtlich erhöht
wird.
19. Verfahren nach Anspruch 18, 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 DE3724317A1 (de) | 1988-01-28 |
DE3724317C2 true 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) |
Families Citing this family (81)
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 |
IT1216086B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Memoria tampone ad indirizzamento pseudo virtuale. |
IT1216087B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Sistema di memoria con selezione predittiva di modulo. |
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 |
US4937734A (en) * | 1989-02-21 | 1990-06-26 | Sun Microsystems, Inc. | High speed bus with virtual memory data transfer and rerun cycle capability |
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 |
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 |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
JP2945757B2 (ja) * | 1989-09-08 | 1999-09-06 | オースペックス システムズ インコーポレイテッド | 多重装置オペレーティングシステムのアーキテクチャ |
JPH03113794A (ja) * | 1989-09-22 | 1991-05-15 | Toshiba Corp | 半導体記憶装置 |
DE3932103C2 (de) * | 1989-09-26 | 1998-01-15 | Siemens Ag | Schaltungsanordnung für Cache-Speicher |
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 | 三菱電機株式会社 | 半導体記憶装置 |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5995443A (en) * | 1990-04-18 | 1999-11-30 | Rambus Inc. | Synchronous memory device |
US6751696B2 (en) * | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
US6324120B2 (en) | 1990-04-18 | 2001-11-27 | Rambus Inc. | Memory device having a variable data output length |
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 |
JPH0682339B2 (ja) * | 1990-08-31 | 1994-10-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリ・アクセス・システムおよび方法 |
US5479640A (en) * | 1990-08-31 | 1995-12-26 | International Business Machines Corporation | Memory access system including a memory controller with memory redrive circuitry |
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 |
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 |
ATE222384T1 (de) * | 1993-06-03 | 2002-08-15 | Network Appliance Inc | Verfahren und dateisystem zur zuordnung von datei-blöcken zu speicherplatz in einem raid- plattensystem |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
WO1994029807A1 (en) * | 1993-06-03 | 1994-12-22 | Network Appliance Corporation | Write anywhere file-system layout |
EP1031928B1 (de) * | 1993-06-04 | 2005-05-18 | Network Appliance, Inc. | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
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 |
ATE241170T1 (de) * | 1995-10-06 | 2003-06-15 | 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 |
US6535218B1 (en) | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
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 |
US6343984B1 (en) * | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
WO2001028179A2 (en) * | 1999-10-14 | 2001-04-19 | Bluearc Uk Limited | Apparatus and method for hardware implementation or acceleration of operating system functions |
US7493607B2 (en) | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
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 |
US8224777B2 (en) | 2005-04-29 | 2012-07-17 | Netapp, Inc. | System and method for generating consistent images of a set of data objects |
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
Also Published As
Publication number | Publication date |
---|---|
GB2193017B (en) | 1990-08-29 |
CA1278875C (en) | 1991-01-08 |
DE3724317A1 (de) | 1988-01-28 |
FR2602070A1 (fr) | 1988-01-29 |
HK27491A (en) | 1991-04-19 |
US4803621A (en) | 1989-02-07 |
SG8891G (en) | 1991-06-21 |
JPH083802B2 (ja) | 1996-01-17 |
GB8712443D0 (en) | 1987-07-01 |
JPS6334652A (ja) | 1988-02-15 |
GB2193017A (en) | 1988-01-27 |
FR2602070B1 (fr) | 1994-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3724317C2 (de) | ||
DE3909896C2 (de) | ||
DE68910391T2 (de) | Verfahren zum Speicherdatenzugriff. | |
DE68926936T2 (de) | Vorrichtung und Technik für Burstprogrammierung | |
DE3438869C2 (de) | ||
DE3834759C2 (de) | ||
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3687307T2 (de) | Computeranordnungen mit cache-speichern. | |
DE69509134T2 (de) | Doppelbankspeicher und systeme, die diesen benutzen | |
DE69232458T2 (de) | Programmierbare Zeitsteuerung für Speicher | |
DE69031411T2 (de) | Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE68920419T2 (de) | Verfahren und Anordnung für eine leistungsfähige DRAM-Steuerung. | |
DE69333319T2 (de) | Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik | |
DE4307565C2 (de) | Flexible Adressierung für DRAMS | |
DE3852695T2 (de) | Multiprozessorsystem mit mehreren Speichern. | |
DE2617408A1 (de) | Datenverarbeitungsgeraet | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE69330819T2 (de) | Synchrone LSI-Speicheranordnung | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. | |
DE69027919T2 (de) | Anordnung und Verfahren zur Unterstützung des Zugriffs auf E/A-Geräte durch grosse, direkt abgebildete Datencache-Speicher | |
DE69033416T2 (de) | Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion | |
DE69616710T2 (de) | Halbleiterspeicher | |
DE4114053A1 (de) | Computersystem mit cachespeicher |
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 |