DE3885985T2 - Speichersteueranordnung für ein Daten verarbeitendes System. - Google Patents
Speichersteueranordnung für ein Daten verarbeitendes System.Info
- Publication number
- DE3885985T2 DE3885985T2 DE3885985T DE3885985T DE3885985T2 DE 3885985 T2 DE3885985 T2 DE 3885985T2 DE 3885985 T DE3885985 T DE 3885985T DE 3885985 T DE3885985 T DE 3885985T DE 3885985 T2 DE3885985 T2 DE 3885985T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- access
- bus
- data
- control arrangement
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims description 148
- 101150076031 RAS1 gene Proteins 0.000 claims description 24
- 101150045048 Ras85D gene Proteins 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 claims description 2
- 102100030310 5,6-dihydroxyindole-2-carboxylic acid oxidase Human genes 0.000 claims 5
- 101100005249 Escherichia coli (strain K12) ygcB gene Proteins 0.000 claims 5
- 101000773083 Homo sapiens 5,6-dihydroxyindole-2-carboxylic acid oxidase Proteins 0.000 claims 5
- 101000898746 Streptomyces clavuligerus Clavaminate synthase 1 Proteins 0.000 claims 5
- 101000761220 Streptomyces clavuligerus Clavaminate synthase 2 Proteins 0.000 claims 5
- 101150055191 cas3 gene Proteins 0.000 claims 5
- -1 CAS0 Proteins 0.000 claims 3
- 239000003795 chemical substances by application Substances 0.000 description 69
- 239000000872 buffer Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
- G11C7/1021—Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Memory System (AREA)
- Bus Control (AREA)
Description
- Die Erfindung betrifft allgemein Digitalcomputer und im besonderen ein digitales Computersystem, das einen Systembus zur Verbindung verschiedener Agenten und zur Übertragung von Datenblöcken zwischen Agenten Speicherzugriff im Seitenmodus hat.
- Die Erfindung stellt einen Computerbus zur Verfügung, der Speicherzugriff im Seitenmodus hat.
- Moderne Computersysteme sind oft durch eine Vielzahl von funktionell unterschiedlichen Arten von Schaltungskarten, oder Agenten, gekennzeichnet, die durch einen Systembus verbunden sind. Um den Entwurf solcher Schaltungskarten und die Implementierung von Softwareroutinen, die benötigt werden, um diese Karten zu benutzen, zu vereinfachen, sind solche Computerbusse typischerweise standardisiert. Ein solcher Bus ist ein als P1296 bekannter 32-Bit synchroner Hochleistungsbus, der auch allgemein als Multibus II bekannt ist.
- Ein solcher Bus umfaßt typischerweise eine Vielzahl von vordefinierten Signalleitungen, die zur Übertragung von Speicheradressen und Daten zwischen zwei oder mehreren mit dem Bus verbundenen Schaltungskarten verwendet werden. Andere Signalleitungen sind für die Steuerung der Datenübertragung über den Bus, für Unterbrechungsereignisse, und für Fehlerbedingungen festgelegt. Auch werden ein oder mehrere Taktsignale vom Bus zur Verfügung gestellt, um den Datenfluß zwischen Agenten zu synchronisieren. Typischerweise wird mit einem solchen Bus mindestens eine Schaltungskarte verbunden sein, die eine Datenverarbeitungsvorrichtung, wie zum Beispiel einen Mikroprozessor, enthält. Andere Schaltungskarten können Ein/Ausgabeschaltungen (input/output -- I/O) zur Verbindung mit externen Geräten wie Massenspeichern, Bildschirmen und Druckern enthalten. Andere mit dem Bus verbundene Karten können Speicherkarten mit hoher Kapazität sein, die mehrere Schreib/Lesespeicher wie zum Beispiel dynamische Speicher mit wahlfreiem Zugriff (dynamic random access memory -- DRAN) enthalten, welche zum Speichern und Abrufen von Daten verwendbar sind. Zusätzlich kann eine Schaltungskarte wie zum Beispiel eine zur Steuerung eines Massenspeichers geeignete Karte auch relativ viel DRAN zur lokalen Pufferung von Daten, die zum Massenspeicher gehen und vom Massenspeicher kommen, enthalten, und sie kann auch einen lokalen Mikroprozessor zur Steuerung des Massenspeichers enthalten.
- Ein Problem tritt auf, wenn relativ große Datenblöcke zwischen Schaltungskarten auf einem solchen Bus übertragen werden sollen. Weil der Bus als gemeinsames Betriebsmittel aufgefaßt werden kann, das von jeder der mit dem Bus verbundenen Schaltungskarten verwendet wird, ist es wünschenswert, daß solche Datenübertragungen schnell vor sich gehen, um eine Verringerung der Bandbreite des Busses zu verhindern.
- Um eine vergrößerte Busbandbreite zu erreichen, ist es bekannt, einen FIFO-Puffer (first in/first out buffer) sowohl für einen anfordernden als auch für einen antwortenden Agenten zur Verfügung zu stellen. Zum Beispiel kann der anfordernde Agent den antwortenden Agenten benachrichtigen, daß ein Datenblock aus einem lokalen Speicher des antwortenden Agenten eingelesen und danach über den Bus an den anfordernden Agenten übertragen werden soll. Daraufhin greift der antwortende Agent auf die gewünschten Speicherstellen zu und lädt die darin enthaltenen Daten in den FIFO-Puffer des antwortenden Agenten, wobei die Daten danach vom FIFO-Puffer über den Bus zum FTFO-Puffer des anfordernden Agenten übertragen werden, von wo der anfordernde Agent die Daten aus lesen und in einem lokalen Speicher abspeichern kann. Verständlicherweise kann die Verwendung solcher FIFO-Puffer dazu führen, daß das System teuerer und komplexer wird. Weiter kann die Speicherkapazität der verfügbaren FIFO-Puffer ungenügend sein, um eine gewünschte Datenblockgröße zu übertragen, was zu der Notwendigkeit führt, den FIFO-Puffer zweimal oder öfter vollständig mit Daten zu laden.
- Bei anderen Systemen ist es bekannt, Speicherverzahnung zur Vergrößerung der Datenübertragungsgeschwindigkeit des Busses zu verwenden. Jedoch kann die Speicherverzahnung auch höhere Systemkosten verursachen. Auch kann die Speicherverzahnung nur die Geschwindigkeit von bestimmten Arten von Datenübertragungen erhöhen.
- Aus der großbritannischen Patentanmeldungsschrift GB 2 093 236A sind ein Pseudo-Diskettenspeicher, der DRANs verwendet, um die magnetische Diskette zu simulieren, und eine Speichersteuerung, welche die Arbeitsweise einer Diskettensteuerung simuliert, bekannt. Die CPU sendet eine Anforderung zum Lesen eines (simulierten) Sektors zur Zeit- und Auffrischungssteuerung, als ob sie eine normale Diskettensteuerung wäre. Die Zeit- und Auffrischungssteuerung steuert die Register, welche die Daten und die gewünschte Spur und den gewünschten Sektor aufnehmen, und führt dann den Zugriff auf die DRANs aus, um Datenbytes sequentiell entweder zu speichern oder wieder einzulesen. Wenn 128 Bytes übertragen worden sind, beendet die Zeit- und Auffrischungssteuerung den Übertragungsvorgang. Daher steuert die Zeit- und Auffrischungssteuerung nur das Ende des Zugriffs zu den DRANs.
- Das Problem, eine hohe Busbandbreite zu erzielen und aufrechtzuerhalten, ist auch verbunden mit der Notwendigkeit, daß die Speicher, wenn es DRAN-Bausteine sind, periodisch aufgefrischt werden müssen. Diese Notwendigkeit des Auffrischens kann bewirken, daß eine blockweise Datenübertragung unterbrochen werden muß, um das Auffrischen zu erledigen. Auch kann, wenn ein lokaler Prozessor in dem Agenten enthalten ist, auch der lokale Prozessor Zugriff zum Speicher benötigen und somit auch die Datenübertragung zwischen Agenten behindern.
- Die oben erwähnten Probleme werden gelöst und die Vorteile verwirklicht durch eine Speichersteueranordnung in einem Daten verarbeitenden System, das zumindest einen anfordernden Agenten und einen antwortenden Agenten hat, die elektrisch durch einen Systembus verbunden sind, wobei der anfordernde Agent über den Systembus Zugriff auf einen Speicher des antwortenden Agenten zum Speichern und Wiedereinlesen von darin gespeicherten Daten anfordert. Die beanspruchte Speichersteueranordnung umfaßt eine Vorrichtung zum Erkennen einer Anforderung zum Einleiten eines Zugriffszyklus auf den Speicher des antwortenden Agenten; eine Vorrichtung, die auf die Vorrichtung zum Erkennen einer Anforderung anspricht, zum Erzeugen mehrerer Speicheradressierungs-Steuersignale zum nacheinander erfolgenden Zugriff auf den Speicher des antwortenden Agenten, wobei die Steuersignale mindestens einen einer Zeilenadresse zugeordneten Zeilenadressierungsimpuls und einen einer Spaltenadresse zugeordneten Spaltenadressierungsimpuls umfassen; und eine Vorrichtung zum Erkennen des Endes eines Speicherzugriffszyklus, wobei die Enderkennungsvorrichtung auf einen logischen Zustand eines durch den anfordernden Agenten erzeugten Zyklusende- Steuersignals anspricht. Gemäß der Erfindung erzeugt die Erzeugungsvorrichtung die Speicheradressierungs-Steuersignale, indem sie das Zeilenadressierungs-Impulssignal in Verbindung mit einer Zeilenadresse, die eine Datenseite im Speicher kennzeichnet, setzt und danach das Spaltenadressierungs- Impulssignal in Verbindung mit mehreren Spaltenadressen setzt und wieder zurücksetzt, um einen Typ des Speicherzugriffs im Seitenmodus auszuführen.
- Gemäß einem Verfahren der Erfindung wird hier ein Verfahren offenbart zur Steuerung eines Speichers, der in einem Daten verarbeitenden System verwendet wird, das zumindest einen anfordernden Agenten und einen antwortenden Agenten hat, die elektrisch durch einen Systembus verbunden sind, wobei der anfordernde Agent über den Systembus Zugriff auf einen Speicher des antwortenden Agenten zum Speichern und Wiedereinlesen von Daten anfordert und das Verfahren die Schritte umfaßt, eine Anforderung zum Einleiten eines Zugriffszyklus auf den Speicher des antwortenden Agenten zu erkennen; mehrere Speicheradressierungs-Steuersignale zum nacheinander erfolgenden Zugriff auf den Speicher des antwortenden Agenten zu erzeugen, wobei die Steuersignale mindestens einen einer Zeilenadresse zugeordneten Zeilenadressierungsimpuls und einen einer Spaltenadresse zugeordneten Spaltenadressierungsimpuls umfassen; das Endes eines Speicherzugriffszyklus zu erkennen, wobei die Enderkennungsvorrichtung auf einen logischen Zustand eines durch den anfordernden Agenten erzeugten Zyklusende-Steuersignals anspricht; und wobei der Erzeugungsschritt bewerkstelligt wird, indem das Zeilenadressierungs-Impulssignal in Verbindung mit einer Zeilenadresse, die eine Datenseite im Speicher kennzeichnet, gesetzt wird und danach das Spaltenadressierungs- Impulssignal in Verbindung mit mehreren Spaltenadressen gesetzt und wieder zurückgesetzt wird, um einen Typ des Speicherzugriffs im Seitenmodus auszuführen.
- Die oben erwähnten Aspekte der Erfindung werden unten in der eingehenden Beschreibung der Erfindung eingehender beschrieben, wobei die Beschreibung in Verbindung mit der Zeichnung gelesen wird, worin:
- Fig. 1 ein Blockschaltbild eines Systembusses 10 ist, an den eine Vielzahl von Agenten angeschlossen sind, und das verschiedene Arten von Signalgruppen erläutert, die der Bus 10 enthält;
- Fig. 2 ein Blockschaltbild eines typischen DRAN, das in einem an den Bus 10 angeschlossenen Agenten verwendet werden kann, ist;
- Fig. 3 ein vereinfachtes Zeitdiagramm ist, das typische RAS* CAS*-Speicherzugriffszyklen zeigt, die für den Zugriff auf das DRAN von Fig. 2 verwendet werden können;
- Fig. 4 ein vereinfachtes Zeitdiagramm ist, das Speicherzugriffszyklen im Seitenmodus zeigt, die ein Merkmal der Erfindung sind;
- Fig. 5 ein Blockschaltbild ist, das eine Speichersteuerung 66 und andere mit einem Speicher 60 verbundene Schaltungselemente zeigt;
- Fig. 6 ein Zeitdiagramm ist, welches das Ergebnis des Erkennens eines Seitenüberschreitungssignals zeigt;
- Fig. 7 ein Zeitdiagramm ist, das eine gebündelte Auffrischung des Speichers 60 zeigt; und
- Fig. 8 ein Zeitdiagramm ist, das die Auffrischung des Speichers 60 während eines Zugriffs mit hoher Priorität eines lokalen Prozessors zeigt.
- Obwohl das Verfahren und die Vorrichtung der Erfindung hier im Kontext einer Multibus-II-Umgebung beschrieben wird, sollte es einsichtig sein, daß die Erfindung in vielen digitalen Computersystemen, die einen Bus für die Datenübertragung zwischen zumindest zwei über den Bus verbundenen Agenten haben, angewendet werden kann.
- Die Betriebseigenschaften des Multibus II sind in einem Dokument mit dem Titel "High Performance 32-Bit Bus Standard P1296" beschrieben, das von der Arbeitsgruppe P1296 des Mikroprozessor- Normen-Komitees der IEEE verfaßt wurde (IEEE microprocessor standards committee, 20. Juni 1986, Entwurf 2.0).
- In Fig. 1, auf die wir nun Bezug nehmen, wird in Form eines Blockschaltbilds ein Teil eines digitalen Computersystems 1 dargestellt, das einen Bus 10 und eine Vielzahl von damit verbundenen Agenten 12-16 enthält. Wie in Fig. 1 gezeigt, sind ein anfordernder Agent 12 und antwortende Agenten 14 und 16 bidirektional an den Bus 10 angeschlossen. Der anfordernde Agent 12 kann einen lokalen Speicher 18 haben, der dynamische Speicher mit wahlfreiem Zugriff (dynamic random access memory -- DRAN) enthalten kann. Der antwortende Agent 16 wird auch mit einem lokalen Speicher 20 gezeigt, der auf ähnliche Art DRAN enthalten kann. Auch ist an den antwortenden Agenten 16 ein Massenspeicher 22 angeschlossen, der eine bekannte Winchesterplatte oder magnetische Diskette für die Massenspeicherung von Daten- und Programminformation enthält.
- Obwohl ein anfordernder Agent 12 und zwei antwortende Agenten 14 und 16 in Fig. 1 gezeigt sind, sollte man sich vergegenwärtigen, daß ein solches digitales Computersystem eine Vielzahl von anfordernden Agenten und ein Vielzahl von antwortenden Agenten, die mit dem Bus verbunden sind, haben kann. Weiter sollte man sich vergegenwärtigen, daß zu einem Zeitpunkt während des Betriebs des Systems 1 der anfordernde Agent 12 ein antwortender Agent sein kann, und daß der antwortende Agent 16 zu diesem Zeitpunkt ein anfordernder Agent sein kann. Die Charakterisierung eines Agenten als entweder ein anfordernder Agent oder ein antwortender Agent wird durch bestimmte Bussignale bewerkstelligt, die unten beschrieben werden.
- Als ein Beispiel für den Betrieb eines solchen Systems kann, wenn das System 1 ein Textverarbeitungssystem ist, der anfordernde Agent 12 eine Computer-Hauptbaueinheit sein, und der antwortende Agent 16 kann eine Diskettensteuerungs-Baueinheit sein, die Dokumentendaten abspeichert und von dem Massenspeicher 22 wieder einliest. In einem solchen System kann der Benutzer über eine Tastatur oder eine andere Vorrichtung mit einem Programm der Computer-Hauptbaueinheit interagieren, wobei das Programm eine Ausführungsform eines Textverarbeitungsprogramms ist, in das der Benutzer Dokumentendaten eingibt, die auf dem Massenspeicher 22 gespeichert werden. Weil solche Dokumentendaten als Seiten von Daten angeordnet sein können, ist es verständlich, daß eine bestimmte Blockgröße der Daten verwendet werden kann, um eine sichtbar angezeigte Seite eines Dokuments zu repräsentieren, wie zum Beispiel 2 KBytes Daten. Daher ist es weiterhin verständlich, daß es in einem solchen System wünschenswert sein kann, Datenblöcke über den Bus 10 als 2K- Blöcke zu übertragen und somit die Übertragung von Seiten von Dokumentendaten im System zu vereinfachen.
- Bus 10 kann 96 Leitungen umfassen, die in Gruppen mit verschiedener Funktionalität unterteilt sind.
- Eine Gruppe der Haupt-Steuersignale 24 liefert systemweite Signale wie zum Beispiel Rücksetz- und Initialisierungs- Steuersignale. Im Multibus 11 sind acht Haupt-Steuersignale festgelegt, von denen einige ein Rücksetzsignal zur Initialisierung des Systems und zwei Taktsignale, nämlich ein Bustakt (bus clock -- BCLK*) und ein Haupttakt (central clock -- CCLK*), sind.
- Es kann jedoch in einigen Systemen wünschenswert sein, ein drittes Taktsignal zur Verfügung zu stellen, wie zum Beispiel einen Systemtakt (System clock -- SCLK*) 24a (gezeigt in Fig. 5). Beispielsweise spezifiziert der Multibus 11, daß CCLK* die doppelte Frequenz von BCLK* haben soll, wobei Datenübertragungen über den Bus einen BCLK*-Zyklus benötigen. Daher ist, wenn BCLK* 10 MHz ist, CCLK* 20 MHz, und eine Datenübertragung auf dem Bus benötigt 200 Nanosekunden. Jedoch kann es in einigen Systemen wünschenswert sein, BCLK* mit 5 MHz zu betreiben, CCLK* mit 10 MHz, während man immer noch einen BCLK*-Zyklus benötigt, um eine Datenübertragung auf dem Bus durchzuführen. In einem solchen System kann es weiterhin wünschenswert sein, ein Taktsignal mit höherer Frequenz zur Verfügung zu stellen, so wie SCLK* 24a, das mit 20 MHz arbeitet, um eine Bustaktung mit hoher Frequenz zu erzeugen, sowie weitere Signale für die Vielzahl der mit dem Bus verbundenen Agenten.
- Die Gruppe der Zuteilungszyklussignale 26 umfaßt sieben Signalleitungen, wobei eine eine Busanforderung (bus request -- BREQ*) ist, die durch ein verdrahtetes ODER mit allen Agenten auf dem Bus verknüpft ist. Jeder Agent, der Zugriff auf den Bus 10 anfordert, muß BREQ* setzen, um Zugriff zu erhalten, wobei der Zugriff typischerweise von einer logischen Zuteilungsschaltung vergeben wird, die in Fig. 1 nicht gezeigt ist. Sechs Zuteilungs-Identifizierungssignale, ARB0*-ARB5*, werden von dem Agent oder den Agenten getrieben, die Zugriff auf den Bus benötigen, wobei diese Signale Eingaben für die Zuteilungssteuerung sind.
- Die Gruppe der Adress-/Daten-Bussignale 28 liefert Adress-, Daten- und Paritätssignale für Busübertragungen zum Lesen und Schreiben von Daten. Insgesamt gibt es 36 Adress/Daten- Bussignale, die als 32 gemultiplexte Adress/Daten-Bussignale (AD0*-AD31*) und vier den Datenbytes zugeordnete Paritätssignale, nämlich PAR0*-PAR3*, gekennzeichnet sind.
- Die Gruppe der Ausnahmezyklussignale 30 sorgt für die Fehlererkennung, die zum Beenden eines Busübertragungszyklus verwendet wird. Es gibt zwei Ausnahmezyklus-Signale, ein Busfehlersignal (BUSERR*) und ein Zeitüberschreitungssignal (TIMOUT*).
- Eine Gruppe der Systemsteuersignale 32 liefert Steuersignale, die zur Übertragung von Adressen und Daten über den Bus verwendet werden. Beim Multibus II gibt es 10 Systemsteuersignale SC0*-SC9*. Während einer Anforderungsphase eines Busübertragungszyklus treibt der anfordernde Agent 12 SC0* bis SC9*, um dem antwortenden Agenten, wie zum Beispiel dem antwortenden Agenten 16, Befehlsinformationen zu liefern. Während der Antwortphase des Busübertragungszyklus treibt der anfordernde Agent SC9* und SC0*-SC3*, während der antwortende Agent SC8* und SC4*-SC7* treibt, um Quittungsaustausch- und Statusinformationen zwischen dem anfordernden und dem antwortenden Agenten zu liefern.
- Im allgemeinen unterstützt der Multibus II eine Vielzahl von verschiedenen Typen von Datenübertragungen wie zum Beispiel die Nachrichtentypen. Diese Nachrichtentypen können eine Vielzahl von nicht angeforderten Nachrichten sein. Zusätzlich können Übertragungen der Speicherplatzdaten auftreten. Datenübertragungen von bis zu 64 KBytes werden vom Bus unterstützt. Jedoch sind in vielen herkömmlichen Systemen Datenübertragungen auf dem Bus auf Pakete von 32 Bytes begrenzt. Ein FIFO-Puffer (first in/first out buffer) wird typischerweise von jedem Agent verwendet, wobei der FIFO-Puffer des antwortenden Agenten vollständig mit Daten geladen wird und die Daten danach über den Bus 10 übertragen werden, wo sie von einem FIFO-Puffer des anfordernden Agenten empfangen werden. Wie oben beschrieben, kann die Verwendung von FIFO-Puffern dazu führen, daß das System teuerer und komplexer wird. Zusätzlich braucht das vollständige Laden und Auslesen der FIFO-Puffer erhebliche Zeit.
- In Figs. 2, 3 und 4, auf die wir Bezug nehmen, ist ein gut bekanntes DRAN gezeigt, das eine Signalleitung Daten-Eingang (data in) und eine Signalleitung Daten-Ausgang (data out) und mehrere Adressleitungen AD0 bis AD8 hat. Das DRAN 40 hat auch eine RAS*-, ein CAS*- und eine R/W-Signal-Steuerleitung. Um einen großen Datenspeicher mit einem Minimum von Eingabesignal- Pins und daher einer kleinen Packungsgröße zu erreichen, verwenden solche DRANs typischerweise die Adressleitungen im Multiplex-Betrieb, so daß zu einem Zeitpunkt während des Betriebs des Bausteins die Adressleitungen unter Steuerung von RAS* als Zeilenadressleitungen gekennzeichnet sind und zu einem anderen Zeitpunkt des Zyklus unter Steuerung von CAS* als Spaltenadressleitungen. Der in Fig. 2 gezeigte Baustein hat neun Adressignal-Pins und hat damit insgesamt 18 Adresseingänge, was einen Baustein ergibt, der insgesamt 256 KBit an Speicherzellen hat. Natürlich können andere DRANs wie zum Beispiel Bausteine mit 64 KBit und 1 MBit mehr oder weniger als neun Adresseingänge haben, und andere Bausteine können mehr als ein Datenbit speichern, so zum Beispiel Bausteine, die dazu eingerichtet sind, gleichzeitig 4 Datenbits zu speichern und wiedereinzulesen.
- Wie in Fig. 3 gezeigt, bewirkt der übliche Adressierungsmodus für ein solches DRAN, daß RAS* gesetzt wird 42, um im RAN die Zeilenadressleitungen, die auf AD0-AD8 liegen, zwischenzuspeichern. Nachdem RAS* gesetzt wurde, wird der Zustand der Adressleitungen AD0-AD8 auf die gewünschte Spaltenadresse umgeschaltet und CAS* gesetzt 44. Das Setzen von CAS* bewirkt typischerweise je nach dem Zustand von R/W* auch, daß ein Datenbit an der angegebenen Zeilen- und Spaltenadresse entweder im Baustein gespeichert oder vom Baustein gelesen wird.
- In Fig. 4 ist ein Typ von Adressierungsmodus gezeigt, der als Typ des Zugriffs im Seitenmodus bekannt ist, wobei RAS* einmal bei 46 gesetzt wird, um die Zeilenadresse im Baustein zwischenzuspeichern. Danach kann die Spaltenadresse wiederholt verändert werden, und CAS* kann vielmals (48-58) gesetzt werden, um Daten zu speichern oder wiedereinzulesen. Weil man die Anschauung haben kann, daß die Zeilenadressleitungen eine Seite von Datenbits im Baustein festlegen, kann das mehrfache Setzen von CAS* verwendet werden, um die Datenseite erheblich schneller als der übliche Typ des RAS*-CAS*-Zyklus zu durchlaufen. Ein solcher Zugriff im Seitenmodus ergibt sich als besonders vorteilhaft, wenn auf die Daten sequentiell zugegriffen wird, das heißt, wenn die Spaltenadresse für jeden Zugriff um eins erhöht oder verringert wird. Natürlich ist auch ein nicht-sequentieller Zugriff im Seitenmodus möglich und kann für manche Anwendungen wünschenswert sein.
- Gemäß dem Verfahren und der Vorrichtung der Erfindung wird dieser Typ eines Zugriffszyklus im Seitenmodus mit Vorteil eingesetzt, um die Bandbreite des Systembusses zumindest für den Typ des Datentransfers, bei dem Speicherbereiche übertragen werden, zu erhöhen. Während es bekannt ist, den üblichen Typ des RAS*-CAS*-Zyklus zur Datenübertragung zum und vom Bus zu verwenden, erfordern die durch das Setzen von RAS* für jeden Speicherzugriff hervorgerufenen Verzögerungen oft, daß die oben erwähnten FIFO-Puffer zum vorübergehenden Puffern von Daten verwendet werden. Gemäß der Erfindung wird ein viel schnellerer Speicherzugriffszyklus erreicht, indem man den Typ des Zugriffs im Seitenmodus verwendet und dadurch die Notwendigkeit eines lokalen Pufferspeichers für ankommende und abgehende Daten, um die gewünschte Busbandbreite aufrechtzuerhalten, vermeidet.
- In Fig. 5, auf die wir nun Bezug nehmen, ist eine erläuternde Ausführungsform der Erfindung gezeigt. Ein Speicher 60 enthält zwei Speicherbänke, wie zum Beispiel DRAN-Bausteine, die als eine Bank 1 62 und eine Bank 2 64 organisiert sind. Zwischen den Bänken wird durch die Signalleitungen RAS0* und RAS1*, die Eingaben an die Bank 1 beziehungsweise Bank 2 sind, ausgewählt. Jede der Bänke 62 und 64 enthält vier Unterbänke von byteweise organisierten Speichern. Die Auswahl eines speziellen Bytes innerhalb einer Bank geschieht über den Zustand der Signalleitungen CAS0*-CAS3*. Der spezielle Adressierungsmodus wird vom Zustand der Signalleitungen A0, A1, W0 und W1 bestimmt, die Eingaben an eine Speichersteuerung 66 sind, wobei diese Signalleitungen zum Beispiel verschiedene Adress-Signale des Speicheradressbus 68 und Steuersignale der Gruppe der Systemsteuersignale 32 sind. Die Zustände der oben erwähnten Signale werden durch einen mit der Speichersteuerung 66 verknüpften Decoder 70 decodiert und wählen sowohl die Breite der Übertragung aus dem Speicher als auch die Spalten der ausgewählten Speicherbausteine. Wahrheitstafeln, die das Verhalten des Decoders 70 beschreiben, werden unten gegeben. TABELLE 1 Breite der Speicherübertragung TABELLE 2
- Eine Eingabe R0 an die Speichersteuerung 66 kann auch eine Adressleitung sein, deren Zustand entweder Bank 1 oder Bank 2 zum Zugriff über RAS0* oder RAS1* auswählt.
- Ein Eingabesignal Anforderung/Quittierung (request/acknowledge -- R/A) ist ein bidirektionales Signal, das normalerweise eine Eingabe an die Speichersteuerung 66 ist, wenn die Steuerung 66 in einem inaktiven Betriebszustand ist. Wenn eine Anforderung zum Zugriff auf den Speicher 60 durch einen anfordernden Agenten erfolgt, kann während der Anforderungsphase einer sequentiellen Datenübertragung das R/A-Signal durch externe Logik (nicht gezeigt) einen "Low"-Impuls erhalten. Nachdem die externe Logik eine solche Anforderung auf Speicherzugriff getätigt hat, kann sie die R/A-Signalleitung freigeben, so daß diese während des Quittierungszyklus der Speicheranforderung durch die Steuerung 66 getrieben werden kann. Als Antwort auf die Anforderung greift die Speichersteuerung 66 auf den Speicher 60 entsprechend den Zuständen der Leitungen A0, A1, W0, W1 und R0 in Verbindung mit dem Zustand des Lese-/Schreibeingangs (RW) zu. Die Speichersteuerung 66 treibt dann R/A auf einen logischen "Low"- Signalpegel, um den Speicherzugriff zu quittieren. Nach der Einleitung eines Speicherzugriffs greift die Speichersteuerung 66 wiederholt auf den Speicher zu, bis eine EOC-Signalleitung (Bussignal SC2*) gesetzt wird, um einen Zyklusende-Zustand anzuzeigen. Wenn EOC gesetzt wird, wird die Speichersteuerung 66 benachrichtigt, daß der gegenwärtige Speicherzugriff der letzte Speicherzugriff der Antwortphase der sequentiellen Datenübertragung ist.
- In Fig. 6, auf die wir jetzt Bezug nehmen, ist ein Zeitdiagramm gezeigt, das einen Teil der aufeinanderfolgenden Speicherzugriffe veranschaulicht, die von der Steuerung 66 auf den Speicher 60 während der Antwortphase einer sequentiellen Datenübertragung ausgeführt werden. Wie man sehen kann, wird für jeden Zugriff die R/A-Signalleitung von der Steuerung 66 auf "Low" getrieben und dann freigegeben. Während dieser Speicherzyklen wird gemäß der Erfindung die RAS*-Leitung in einem gesetzten "Low"-Zustand gehalten, und die CAS*-Leitung wird wiederholt umgeschaltet, um einen Speicherzugriffszyklus im Seitenmodus zu erhalten. Während aufeinanderfolgender Zugriffszyklen im Seitenmodus wird die SC4*-Signalleitung durch die Speichersteuerung 66 gesetzt, um den anfordernden Agenten zu benachrichtigen, daß der Zustand "Antworter bereit" besteht, das heißt, daß die Speichersteuerung 66 für den Anforderer auf Daten zugreift. Eine durch die Speichersteuerung ausgegebene DENQ- Signalleitung kann verwendet werden, um, wenn Daten vom Speicher 60 gelesen werden, einen Puffer 72 zu aktivieren, um die Daten vom Speicherdatenbus 74 auf den Systembus 10 zu legen.
- Wenn man auf Fig. 6 Bezug nimmt, kann man klar sehen, daß der Typ des Speicherzugriffs im Seitenmodus, der eine Eigenschaft der Erfindung ist, auf vorteilhafte Weise für eine hohe Busbandbreite sorgt. Weil die RAS*-Signalleitung nicht für jeden Speicherzugriff getrieben werden muß, wird die zusätzliche Verzögerung, die durch das Setzen von RAS* in Verbindung mit jedem CAS* hervorgerufen wird, vermieden, womit die Geschwindigkeit der Gesamtübertragung eines Datenblocks zum oder vom Speicher 60 erhöht wird.
- Für das in Fig. 2 gezeigte DRAN wird eine gegebene Datenseite durch neun Zeilenadressleitungen gekennzeichnet, die dem RAS*- Signal zugeordnet sind. Daher kann man die Anschauung haben, daß das DRAN 512 Datenseiten enthält. Auch hat jede Seite wegen der neun dem CAS*-Signal zugeordneten Spaltenadressleitungen 512 Speicherzellen. Wenn eine gewünschte Datenblockgröße 512 Bytes übersteigt, ist es notwendig, auf mehr als eine Datenseite im Baustein zuzugreifen. Gemäß der Erfindung wird das durch einen Spaltenadressdecoder 76 für den Speicher bewirkt, der ein NICHT- UND-Gatter mit neun Eingängen sein kann, um zu erkennen, wenn die Spaltenadressleitungen alle den Zustand einer logischen "Eins" haben. Daher ist die Ausgabe des Decoders 76 ein Signal zum Erkennen einer Seitenüberschreitung (page crossing --- PC), das eine Eingabe für die Speichersteuerung 66 ist. Das wird in Fig. 6 veranschaulicht, wo zur Zeit T1 PC* durch den Decoder 76 auf "Low" getrieben wird. Als Reaktion darauf wird der gegenwärtige Speicherzugriff beendet und die RAS*-Signalleitung zusammen mit dem R/A-Signal und SC4* durch die Speichersteuerung 66 auf "High" getrieben. Dieses Vorgehen der Speichersteuerung 66 benachrichtigt den Daten empfangenden Agent durch das Zurücksetzen des "Antworter bereit"-Quittungssignals SC4*, daß der Antworter nicht länger im Bereitschaftszustand ist. Während RAS* zurückgesetzt ist, wird die Zeilenadresse im Adresslatch 77 zum Beispiel um 1 erhöht, um die nächstfolgende Datenseite in den Speicherbausteinen auszuwählen. Danach wird zur Zeit T3 RAS* gesetzt, wodurch die neue Zeilenadresse in die Speicherbausteine eingelesen und gespeichert wird und die Speicherzugriffszyklen im Seitenmodus wie zuvor beginnen, wobei die SC4*-Leitung wiederum gesetzt und R/A wiederum in einen "Low"-Zustand getrieben wird.
- Gemäß der Erfindung kann das Auffrischen des DRAN im Speicher 60 durch eine blockweise Auffrischungstechnik bewirkt werden. Ein Zeitgeber 78 erzeugt Auffrischungsanforderungen in im voraus festgelegten Intervallen, beispielsweise eine Auffrischungsanforderung alle 13.8 Mikrosekunden. Die Auffrischungsanforderungen werden durch einen Zähler 80 für Auffrischungsanforderungen gezählt und ein Vergleicher 82 bestimmt, wenn die Anzahl der gezählten Auffrischungsanforderungen einer im voraus bestimmten Schwellenanzahl, beispielsweise 24, gleichkommt oder sie übersteigt. Dann versucht die Steuerung 66, eine bündelweise Auffrischung aller 24 anstehenden Anforderungen durchzuführen. Wenn jedoch gerade eine Busübertragung stattfindet, führt die Speichersteuerung 66 die bündelweise Auffrischung nicht durch. Die Speichersteuerung 66 wird versuchen, zu warten, bis die Busübertragung abgeschlossen ist, das heißt, eine Übertragung stattgefunden hat, bei der EOC gesetzt ist. Wenn jedoch der Zähler 80 anzeigt, daß eine Maximalanzahl von Auffrischungsanforderungen, beispielsweise 41, ansteht, wird die Busübertragung unterbrochen und eine bündelweise Auffrischung ausgeführt. Wenn die Busübertragung unterbrochen ist, werden alle anstehenden Auffrischungen ausgeführt. Die genauen als Schwelle für anstehende Auffrischungen und Maximalanzahl von anstehenden Auffrischungen gewählten Zahlen werden so bestimmt, daß die Zeit, die der Differenz zwischen der Schwelle und der Maximalanzahl entspricht, genügt, um eine im voraus bestimmte Datenblockgröße zu übertragen. Beispielsweise ist für eine alle 13.8 Mikrosekunden erzeugte Auffrischungsanforderung die Differenz zwischen 24 und 41 Auffrischungsanforderungen ungefähr 234,5 Mikrosekunden, was, wie man erkannt hat, genügend Zeit ist, um den Vorgang einer Busübertragung von 2 KBytes (2048 Bytes) vollständig auszuführen. Wenn daher der Vorgang einer sequentiellen Busübertragung von 2 KBytes gerade vor dem Zeitpunkt, an dem 24 anstehende Auffrischungsanforderungen angesammelt sind, eingeleitet wird, wird die Busübertragung vollständig ablaufen, bevor die Speicher aufgefrischt werden. Vorzugsweise wird eine gerade Anzahl von Zeilen während des Auffrischungsbündels aufgefrischt, beispielsweise 42 Zeilen, wenn der Zähler 80 die Maximalanzahl aufweist.
- Um die Speicher bündelweise aufzufrischen, wird ein Auffrischungs-Quittierungssignal (refresh acknowledge -- RACK) von einer Auffrischungssteuerung 83 erzeugt, wobei das RACK- Signal einem Auffrischungszeilenzähler 84 ermöglicht, die Auffrischungszeilenadressen auf den Speicheradressbus zu legen. RACK wird daraufhin, von der Steuerung 83 gesteuert, zwischen einem "High"-Zustand und einem "Low"-Zustand für beispielsweise 24 Zyklen hin- und hergeschaltet, um 24 Zeilenadressen bündelweise aufzufrischen. Während der Auffrischung werden die Signale RAS0* und RAS1* vorzugsweise beide gesetzt, um gleichzeitig beide Speicherbänke aufzufrischen. Der Auffrischungszeilenzähler 84 kann von der steigenden Flanke des RACK-Signals hochgezählt werden, so daß am Ende jedes Auffrischungszyklus der Zähler 84 einen Stand hat, welcher der nächsten aufzufrischenden Zeilenadresse entspricht.
- Ein lokaler Prozessor 86 kann auch Zugriff auf den Speicher 60 über getrennte Adress- und Datenlatches 88 beziehungsweise 90 haben. Der lokale Prozessor 86 kann auch von einer ihm ausschließlich zugeordneten Speichersteuerung (nicht gezeigt) bedient werden, die zum Erzeugen von Speicherzugriffssignalen betrieben wird. Wenn der lokale Prozessor Zugriff zum Speicher 60 erhält, wird das AEN1-Signal getrieben, um den Adress- und Datenlatches des lokalen Prozessors Zugriff auf die Speicheradress- beziehungsweise Speicherdatenbusse 68 und 70 zu ermöglichen.
- Gemäß der Erfindung hat der lokale Prozessor auch ein "Hohe Priorität"-Signal (HP), das eine Eingabe an die Speichersteuerung 66 ist, um, wenn nötig, eine laufende Busübertragung zu unterbrechen. Das HP-Signal erlaubt es daher dem lokalen Prozessor, Speicherzugriff zu erhalten, indem eine laufende Busübertragung unterbunden wird. Das HP-Signal unterbindet die laufende Busübertragung, solange es gesetzt ist, und erlaubt somit dem lokalen Prozessor 86, eine Anzahl aufeinanderfolgender Zugriffe auf den Speicher 60 mit hoher Priorität durchzuführen.
- Die oben beschriebene bündelweise Auffrischung läuft etwas anders ab, wenn eine Folge von Speicherzugriffen des lokalen Prozessors mit hoher Priorität im Gange ist. Wie vorher beschrieben, sammelt die Speichersteuerung 66 anstehende Auffrischungsanforderungen bis zu einer Maximalanzahl von 41 an. Wenn zu dieser Zeit ein Zugriff mit hoher Priorität im Gange ist, wird der Zugriff mit hoher Priorität kurzzeitig unterbunden, aber nur zwei Speicherauffrischungen finden statt. Daher wird der Zugriff mit hoher Priorität des lokalen Prozessors nur für eine relativ kurze Zeit aufgeschoben, bevor der lokale Prozessor wiederum Zugriff zum Speicher 60 erhält. Natürlich wird, nachdem die zwei Auffrischungen bewerkstelligt sind, der Zähler 80 weiterhin Auffrischungsanforderungen ansammeln, so daß, wenn der Zähler wieder 41 erreicht und wenn der Zugriff mit hoher Priorität noch im Gange ist, die Speichersteuerung wiederum den Zugriff mit hoher Priorität aufschieben und die nächstfolgenden zwei Zeilenadressen bündelweise auffrischen wird. Das Verfahren der oben beschriebenen bündelweisen Auffrischung und des Zugriffs mit hoher Priorität ist in den Signalformen der Figs. 7 und 8 gezeigt.
- Es kann klar erkannt werden, daß die obige Beschreibung der Speichersteuerung 66 und der angeschlossenen Schaltung nur erläuternden Charakter hat, und daß eine Anzahl verschiedener Ausführungsformen den Fachleuten auf diesem Gebiet in den Sinn kommen werden. Zum Beispiel können die oben beschriebenen Funktionen der Speichersteuerung 66 von einer Vielzahl diskreter Logikbausteine bewirkt werden, oder sie können vorzugsweise in einem LSI-Halbleiterbaustein verwirklicht werden. Auf ähnliche Weise können die verschiedenen mit der Speichersteuerung 66 verbundenen Elemente in einem solchen LSI-Baustein enthalten oder nicht enthalten sein. Zum Beispiel kann der Zeitgeber 78 in dem Baustein nicht enthalten sein, ebenso wie der Auffrischungsanforderungszähler 80. Weiterhin sollte klar sein, daß die Speichersteuerung 66 mit nochmals anderen Vorrichtungen zusammenarbeiten kann, die zum Überwachen und Steuern der Aktivität auf dem Systembus 10 eingerichtet sind, beispielsweise einer Vorrichtung, die betrieben wird, um R/A zu setzen, wenn eine Anforderung auf Zugriff zum Speicher 60 von einem anderen Agenten auf dem Bus 10 erfolgt. Auch brauchen zum Beispiel die Signalleitungen SC3* und SC4* nicht direkt vom Bus 10 zur Speichersteuerung gezogen sein, sondern können gepuffert oder durch andere Logikbausteine in anderer Weise verändert werden.
- Daher soll die Erfindung nicht als auf die hier beschriebene Ausführungsform beschränkt betrachtet werden; die Erfindung soll vielmehr nur insoweit beschränkt sein, wie es durch die beigefügten Ansprüche festgelegt wird.
Claims (9)
1. Speichersteueranordnung für ein Daten verarbeitendes
System, das zumindest einen anfordernden Agenten (16) und einen
antwortenden Agenten (14) umfaßt, die elektrisch durch einen
Systembus (10) verbunden sind, wobei der anfordernde Agent über
den Systembus (10) Zugriff auf einen Speicher (60) des
antwortenden Agenten (14) zum Speichern und Wiedereinlesen von
darin gespeicherten Daten anfordert,
gekennzeichnet durch
eine Vorrichtung (66) zum Erkennen einer Anforderung (R/A)
zum Einleiten eines Zugriffszyklus auf den Speicher (60) des
antwortenden Agenten (14);
eine Vorrichtung (66), die auf die Vorrichtung zum Erkennen
einer Anforderung (66) anspricht, zum Erzeugen mehrerer
Speicheradressierungs-Steuersignale (RAS0, RAS1, CAS0, CAS1,
CAS2, CAS3) zum sequentiellen Zugriff auf den Speicher (60) des
antwortenden Agenten (14), wobei die Steuersignale (RAS0, RAS1,
CAS0, CAS1, CAS2, CAS3) mindestens einen einer Zeilenadresse
zugeordneten Zeilenadressierungsimpuls (row address strobe --
RAS0, RAS1) und einen einer Spaltenadresse zugeordneten
Spaltenadressierungsimpuls (column address strobe -- CAS0, CAS1,
CAS2, CAS3) umfassen;
eine Vorrichtung (66) zum Erkennen des Endes eines
Speicherzugriffszyklus, wobei die Enderkennungsvorrichtung (66)
auf einen logischen Zustand eines durch den anfordernden Agenten
(16) erzeugten Zyklusende-Steuersignals (end of cycle -- EOC)
anspricht; und wobei
die Erzeugungsvorrichtung (66) die Speicheradressierungs-
Steuersignale (RAS0, RAS1, CAS0, CAS1, CAS2, CAS3) erzeugt,
indem sie den Zeilenadressierungsimpuls (RAS0, RAS1) in
Verbindung mit einer Zeilenadresse, die eine Datenseite im
Speicher kennzeichnet, setzt und danach das
Spaltenadressierungs-Impulssignal (CAS0, CAS1,
CAS2, CAS3) in
Verbindung mit mehreren Spaltenadressen setzt und wieder
zurücksetzt, um einen Typ des Speicherzugriffs im Seitenmodus
auszuführen.
2. Speichersteueranordnung gemäß Anspruch 1, gekennzeichnet
durch
eine Vorrichtung (78) zum Erzeugen eines
Speicherauffrischungs-Anforderungssignals in im voraus festgelegten
Intervallen;
eine Vorrichtung (80) zum Zählen aller Auffrischungs-
Anforderungssignale;
eine Vorrichtung (82) zum Vergleich der Anzahl der
gezählten Auffrischungs-Anforderungssignale mit einer im voraus
festgelegten Schwellenanzahl, um festzustellen, wenn die Anzahl
der gezählten Auffrischungs-Anforderungssignale der
Schwellenanzahl gleichkommt oder sie übersteigt; und
eine Vorrichtung (83), die auf den Vergleicher (82)
anspricht, um mehrere Speicherzeilen aufzufrischen, wobei die
Anzahl der aufgefrischten Zeilen im wesentlichen gleich der
gezählten Anzahl ist.
3. Speichersteueranordnung gemäß Anspruch 2, gekennzeichnet
dadurch, daß
die Auffrischungsvorrichtung (83) mit der
Erzeugungsvorrichtung (66) gekoppelt ist und auf den Betrieb der
Erzeugungsvorrichtung (66) anspricht, um die Auffrischung des
Speichers (60) während des Betriebs der Erzeugungsvorrichtung
(66) zu unterbinden.
4. Speichersteueranordnung gemäß Anspruch 3, gekennzeichnet
dadurch, daß
der Vergleicher (82) außerdem eine Vorrichtung zum
Vergleich der Anzahl der gezählten Signale mit einer im voraus
festgelegten Maximalanzahl umfaßt, um festzustellen, wenn die
Anzahl der gezählten Auffrischungs-Anforderungssignale der
Maximalanzahl gleichkommt, und wobei
die Auffrischvorrichtung (83) außerdem auf den Betrieb des
Maximalanzahl-Vergleichers (82) anspricht, um festzustellen,
wenn die gezählte Anzahl der Maximalanzahl zum Unterbinden des
Betriebs der Erzeugungsvorrichtung (66) gleichkommt, und um eine
im voraus festgelegte Anzahl von Zeilen des Speichers (60)
aufzufrischen.
5. Speichersteueranordnung gemäß Anspruch 4, gekennzeichnet
dadurch, daß
das im voraus festgelegte Intervall ungefähr 13.8
Mikrosekunden beträgt, wobei die Schwellenanzahl und die
Maximalanzahl 24 beziehungsweise 41 sind, und wobei die im
voraus festgelegte Anzahl von Zeilen gerade ist.
6. Speichersteueranordnung gemäß Anspruch 1, gekennzeichnet
durch
eine Vorrichtung (76) zum Erkennen einer
Speicherseitengrenze, die an die Spaltenadressleitungen angeschlossene
Eingänge hat und eine Ausgabe, die den Zustand ausdrückt, daß
eine Spaltenadresse eine Speicherseitengrenze kennzeichnet; und
eine Vorrichtung (66), die auf die Ausgabe der
Seitengrenzen-Erkennungsvorrichtung (76) anspricht, um das
Zeilenadressierungs-Impulssignal zurückzusetzen, eine neue
Zeilenadresse, die eine andere Datenseite ausdrückt, zu liefern
und das Zeilenadressierungs-Impulssignal zu setzen.
7. Speichersteueranordnung gemäß Anspruch 4, gekennzeichnet
dadurch, daß der antwortende Agent eine Vorrichtung (86) zur
lokalen Datenverarbeitung hat, die mit dem Speicher (60)
verbunden ist, und daß die Speichersteueranordnung weiter
gekennzeichnet ist durch
eine Vorrichtung (66), die auf den Zustand einer
Speicherzugriffsanforderung mit hoher Priorität (HP) von der
Vorrichtung (86) zur lokalen Datenverarbeitung anspricht, um den
Betrieb der Erzeugungsvorrichtung (66) zum Zugriff auf den
Speicher (60) in Antwort auf die Anforderung des anfordernden
Agenten (16) aufzuschieben; und
eine Vorrichtung (66), die auf die Anforderung mit hoher
Priorität (HP) anspricht, um Zugriff auf den Speicher (60) durch
die Vorrichtung (86) zur lokalen Datenverarbeitung zu
ermöglichen.
8. Speichersteueranordnung gemäß Anspruch 7, gekennzeichnet
dadurch, daß
die Auffrischvorrichtung (83) mit der Erzeugungsvorrichtung
(66) verbunden ist und auf den Zustand der Anforderung mit hoher
Priorität (HP) anspricht, um das Auffrischen des Speichers
während des Betriebs der Vorrichtung (66) zum Ermöglichen des
Zugriffs durch die lokale Datenverarbeitungsvorrichtung (86) zu
unterbinden.
9. Speichersteueranordnung gemäß Anspruch 8, gekennzeichnet
dadurch, daß
das im voraus festgelegte Intervall ungefähr 13.8
Mikrosekunden beträgt, wobei die Schwellenanzahl und die
Maximalanzahl 24 beziehungsweise 41 sind, und wobei die im
voraus festgelegte Anzahl von Zeilen zwei ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/098,449 US4918645A (en) | 1987-09-17 | 1987-09-17 | Computer bus having page mode memory access |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3885985D1 DE3885985D1 (de) | 1994-01-13 |
DE3885985T2 true DE3885985T2 (de) | 1994-06-01 |
Family
ID=22269330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3885985T Expired - Lifetime DE3885985T2 (de) | 1987-09-17 | 1988-09-16 | Speichersteueranordnung für ein Daten verarbeitendes System. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4918645A (de) |
EP (1) | EP0307945B1 (de) |
JP (2) | JP3290650B2 (de) |
AU (1) | AU610226B2 (de) |
CA (1) | CA1304523C (de) |
DE (1) | DE3885985T2 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301278A (en) * | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US5159676A (en) * | 1988-12-05 | 1992-10-27 | Micron Technology, Inc. | Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws |
DE69033954T2 (de) * | 1990-01-05 | 2002-11-28 | Sun Microsystems, Inc. | Aktiver hochgeschwindigkeitsbus |
US5301299A (en) * | 1990-06-07 | 1994-04-05 | Intel Corporation | Optimized write protocol for memory accesses utilizing row and column strobes |
US5479640A (en) * | 1990-08-31 | 1995-12-26 | International Business Machines Corporation | Memory access system including a memory controller with memory redrive circuitry |
EP0513519A1 (de) * | 1991-05-15 | 1992-11-19 | International Business Machines Corporation | Speichersystem für Multiprozessorsysteme |
US5630163A (en) * | 1991-08-09 | 1997-05-13 | Vadem Corporation | Computer having a single bus supporting multiple bus architectures operating with different bus parameters |
US5253214A (en) * | 1991-09-27 | 1993-10-12 | Eastman Kodak Company | High-performance memory controller with application-programmable optimization |
US5615355A (en) * | 1992-10-22 | 1997-03-25 | Ampex Corporation | Method and apparatus for buffering a user application from the timing requirements of a DRAM |
US5430680A (en) * | 1993-10-12 | 1995-07-04 | United Memories, Inc. | DRAM having self-timed burst refresh mode |
DE69518286T2 (de) * | 1994-06-17 | 2001-02-22 | Advanced Micro Devices, Inc. | Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister |
US5557577A (en) * | 1995-05-01 | 1996-09-17 | Apple Computer, Inc. | System and method for performing wake-up operations to a memory |
US5557578A (en) * | 1995-05-01 | 1996-09-17 | Apple Computer, Inc. | Dynamic memory refresh controller and method |
US5873114A (en) * | 1995-08-18 | 1999-02-16 | Advanced Micro Devices, Inc. | Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles |
US5765203A (en) * | 1995-12-19 | 1998-06-09 | Seagate Technology, Inc. | Storage and addressing method for a buffer memory control system for accessing user and error imformation |
US6009019A (en) * | 1998-02-05 | 1999-12-28 | S3 Incorporated | Real time DRAM eliminating a performance penalty for crossing a page boundary |
DE19846914C2 (de) * | 1998-10-12 | 2003-10-02 | Oce Printing Systems Gmbh | Datenbus und Verfahren zum Kommunizieren zweier Baugruppen mittels eines solchen Datenbusses |
KR100349851B1 (ko) * | 1999-12-06 | 2002-08-22 | 현대자동차주식회사 | 배기가스 저감을 위한 인젝터 |
JP2004013618A (ja) * | 2002-06-07 | 2004-01-15 | Renesas Technology Corp | 同期型半導体記憶装置のアクセス制御装置 |
US7290086B2 (en) * | 2003-05-28 | 2007-10-30 | International Business Machines Corporation | Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system |
JP2005310245A (ja) * | 2004-04-20 | 2005-11-04 | Seiko Epson Corp | メモリコントローラ、半導体集積回路装置、マイクロコンピュータ及び電子機器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6048077B2 (ja) * | 1978-05-29 | 1985-10-25 | 日本電気株式会社 | メモリリフレツシユ制御方式 |
JPS57132256A (en) * | 1981-02-09 | 1982-08-16 | Sony Corp | Memory device |
JPS57208686A (en) * | 1981-06-16 | 1982-12-21 | Fujitsu Ltd | Semiconductor storage device |
JPS6061992A (ja) * | 1983-09-14 | 1985-04-09 | Nec Corp | 擬似スタティックメモリ |
JPS60103590A (ja) * | 1983-11-11 | 1985-06-07 | Nec Corp | リフレツシユ制御装置 |
JPS6134793A (ja) * | 1984-07-27 | 1986-02-19 | Hitachi Ltd | ダイナミツクメモリ装置における診断及びエラ−訂正装置 |
US4601018A (en) * | 1985-01-29 | 1986-07-15 | Allen Baum | Banked memory circuit |
JPS61227295A (ja) * | 1985-03-30 | 1986-10-09 | Toshiba Corp | 半導体記憶装置 |
US4701843A (en) * | 1985-04-01 | 1987-10-20 | Ncr Corporation | Refresh system for a page addressable memory |
JPS6211977A (ja) * | 1985-07-10 | 1987-01-20 | Toshiba Corp | 画像メモリ |
US4754425A (en) * | 1985-10-18 | 1988-06-28 | Gte Communication Systems Corporation | Dynamic random access memory refresh circuit selectively adapted to different clock frequencies |
US4725987A (en) * | 1985-10-23 | 1988-02-16 | Eastman Kodak Company | Architecture for a fast frame store using dynamic RAMS |
US4700330A (en) * | 1985-10-30 | 1987-10-13 | Digital Equipment Corporation | Memory for a digital data processing system including circuit for controlling refresh operations during power-up and power-down conditions |
US4691303A (en) * | 1985-10-31 | 1987-09-01 | Sperry Corporation | Refresh system for multi-bank semiconductor memory |
-
1987
- 1987-09-17 US US07/098,449 patent/US4918645A/en not_active Expired - Lifetime
-
1988
- 1988-08-24 AU AU21497/88A patent/AU610226B2/en not_active Expired
- 1988-09-16 CA CA000577633A patent/CA1304523C/en not_active Expired - Lifetime
- 1988-09-16 EP EP88115235A patent/EP0307945B1/de not_active Expired - Lifetime
- 1988-09-16 DE DE3885985T patent/DE3885985T2/de not_active Expired - Lifetime
- 1988-09-17 JP JP23336788A patent/JP3290650B2/ja not_active Expired - Lifetime
-
2001
- 2001-09-06 JP JP2001270014A patent/JP2002132701A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH01158553A (ja) | 1989-06-21 |
EP0307945A3 (de) | 1991-01-02 |
JP3290650B2 (ja) | 2002-06-10 |
US4918645A (en) | 1990-04-17 |
EP0307945B1 (de) | 1993-12-01 |
EP0307945A2 (de) | 1989-03-22 |
JP2002132701A (ja) | 2002-05-10 |
AU2149788A (en) | 1989-03-23 |
CA1304523C (en) | 1992-06-30 |
DE3885985D1 (de) | 1994-01-13 |
AU610226B2 (en) | 1991-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3885985T2 (de) | Speichersteueranordnung für ein Daten verarbeitendes System. | |
DE69722117T2 (de) | Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung | |
DE69124905T2 (de) | Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem | |
DE69322310T2 (de) | Busarchitektur für integrierten Daten/- und Videospeicher | |
DE69232458T2 (de) | Programmierbare Zeitsteuerung für Speicher | |
DE69904508T2 (de) | Auf warteschlangen basierte speichersteuerung | |
DE68920419T2 (de) | Verfahren und Anordnung für eine leistungsfähige DRAM-Steuerung. | |
DE69518286T2 (de) | Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister | |
DE69523395T2 (de) | Datenprozessor mit gesteuertem Stoss-Speicherzugriff und Vorrichtung dafür | |
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE102006002526B4 (de) | Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben | |
US6088772A (en) | Method and apparatus for improving system performance when reordering commands | |
DE68928040T2 (de) | Pufferspeichersubsystem für Peripheriesteuerungen und Verfahren | |
DE10059596A1 (de) | Verfahren zur Zeiteinstellung eines Systemspeichers | |
DE3933849A1 (de) | Prozessorgesteuerte schnittstelle | |
DE10125724B4 (de) | Speichersystem, Speicherbauelement und Speicherdatenzugriffsverfahren | |
DE69123987T2 (de) | Stossbetrieb für Mikroprozessor mit externem Systemspeicher | |
DE102007016309A1 (de) | Verfahren zur DDR-Empfängerleseresynchronisation | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE112019002100T5 (de) | Zugriff auf dram durch wiederverwendung von pins | |
DE69122520T2 (de) | Vielfachbus-Systemspeicherarchitektur | |
DE69322051T2 (de) | Wartezustandsteuerung auf einem Informationverarbeitungssystembus | |
DE3911721C2 (de) | ||
DE60315190T2 (de) | Vorladevorschlag | |
DE69616710T2 (de) | Halbleiterspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: WANG LABORATORIES, INC., BILLERICA, MASS., US |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: LG SEMICON CO., LTD., CHEONGJU, KR |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: LG ELECTRONICS INC., SEOUL/SOUL, KR |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: COHAUSZ & FLORACK, 40472 DUESSELDORF |