DE3724317A1 - Speicherzugriffssystem - Google Patents

Speicherzugriffssystem

Info

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
Application number
DE19873724317
Other languages
English (en)
Other versions
DE3724317C2 (de
Inventor
Edmund Joseph Kelly
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE3724317A1 publication Critical patent/DE3724317A1/de
Application granted granted Critical
Publication of DE3724317C2 publication Critical patent/DE3724317C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing 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.
DE19873724317 1986-07-24 1987-07-22 Speicherzugriffssystem Granted DE3724317A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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