PatentDe  


Dokumentenidentifikation DE69810897T2 20.11.2003
EP-Veröffentlichungsnummer 0958578
Titel BEFEHLSIGNALGENERATOR FÜR SPEICHERANORDNUNGEN
Anmelder Micron Technology, Inc., Boise, Id., US
Erfinder MANNING, A., Troy, Boise, US
Vertreter Klunker, Schmitt-Nilson, Hirsch, 80797 München
DE-Aktenzeichen 69810897
Vertragsstaaten AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, LI, LU, MC, NL, PT, SE
Sprache des Dokument EN
EP-Anmeldetag 11.02.1998
EP-Aktenzeichen 989061643
WO-Anmeldetag 11.02.1998
PCT-Aktenzeichen PCT/US98/02237
WO-Veröffentlichungsnummer 0098035355
WO-Veröffentlichungsdatum 13.08.1998
EP-Offenlegungsdatum 24.11.1999
EP date of grant 22.01.2003
Veröffentlichungstag im Patentblatt 20.11.2003
IPC-Hauptklasse G11C 11/407
IPC-Nebenklasse G11C 7/00   

Beschreibung[de]

Die Erfindung betrifft einen Befehlssignalgenerator zum Erzeugen von Befehlssignalen für ein Speicherbauelement gemäß Oberbegriff des Anspruchs 1. Sie betrifft außerdem einen dynamischen Schreib-/Lesespeicher nach dem Oberbegriff des Anspruchs 14, ein Rechnersystem nach dem Oberbegriff des Anspruchs 25 und ein Verfahren zum Erzeugen von Befehlssignalen.

Beim Betrieb von dynamischen Schreib-/Lesespeichern (DRAMs) müssen spezifische Funktionen in einer vorbestimmten Reihenfolge auftreten. Diese Funktionen werden im Allgemeinen abhängig von zugehörigen Befehlssignalen ausgeführt, die von einem Befehlsgenerator ausgegeben werden. Die zeitliche Abstimmung der Befehlssignale wird im Allgemeinen von einem Taktsignal gesteuert, entweder entsprechend einer Flanke des Taktsignals oder bei einer vorbestimmten Zeit nach einer Flanke des Taktsignals. Die Geschwindigkeit, mit der der DRAM Befehle verarbeiten kann, wird beschränkt durch die Zeitspanne, die benötigt wird, um Funktionen abhängig von Befehlen auszuführen. Bei den meisten Funktionen werden die kleinsten Zeitspannen zum Ausführen der Funktionen von dem Hersteller des DRAM spezifiziert. Da aber die Befehle im Allgemeinen abhängig von Taktsignalen ausgegeben werden, wird die Zeitspanne, in der der DRAM seine Funktionen auszuführen hat, von der Taktgeschwindigkeit beherrscht. Wie in Fig. 1A dargestellt ist, wird z. B. von einer herkömmlichen Speichersteuerung ein Speicher-Lesebefehl 10 ausgegeben, der mit einem Taktsignal 12 zu einem Zeitpunkt to übereinstimmt. Wie weiterhin in Fig. 1A zu sehen ist, sind vier Taktzyklen erforderlich, um den Lesevorgang abzuschließen, da zahlreiche Operationen in einem DRAM ablaufen müssen, bevor die Daten schließlich aus dem DRAM ausgelesen werden können. Damit befindet sich erst zur Zeit t&sub1; ein Datenbit 14 auf dem Datenbus. Die nach der Ausgabe des Lesebefehls 10 bis zur vollständigen Verarbeitung des Befehls-Anlegen des Datenbits 14 an den Datenbus verstrichene Zeit beträgt daher DtA.

Die verstrichene Zeit könnte durch Steigern der Geschwindigkeit des Takts 12 reduziert werden. Allerdings erfordert unabhängig von der Taktgeschwindigkeit der DRAM eine gewisse Minimumzeit, um seine Funktionen abzuschließen. Das Beschleunigen des Takts über diesen Punkt hinaus führt zu keiner Reduzierung der zur Ausführung dieser Funktionen erforderlichen Zeit mehr.

Obschon DRAMs bei optimaler Geschwindigkeit arbeiten, wenn der Takt maximale oder nahezu maximale Geschwindigkeit aufweist, so arbeiten sie dennoch weit entfernt von der optimalen Geschwindigkeit, wenn sie abhängig von geringeren Taktgeschwindigkeiten arbeiten. Gemäß Fig. 1B besitzt ein Taktsignal 20 eine Geschwindigkeit oder eine Frequenz, die halb so groß ist wie diejenige des in Fig. 1A gezeigten Takts 12. Auch hier wird ein Lesebefehl 22 mit dem Takt zum Zeitpunkt t&sub0; registriert, und es wird ein Datenbit 24 vier Taktzyklen später an den Datenbus gelegt. Wegen der geringeren Taktgeschwindigkeit des Takts 20 jedoch gelangt das Datenbit 24 nicht vor dem Zeitpunkt t&sub2; an den Datenbus. Als Ergebnis der geringeren Taktgeschwindigkeit beträgt die zwischen der Ausgabe des Lesebefehls 22 und der vollständigen Verarbeitung dieses Befehls liegende Zeitspanne Dtb, was doppelt soviel ist wie die Zeitspanne Dta. Durch Verwendung einer fixen Beziehung zwischen einem Taktsignal und der Ausgabe von Befehlssignalen arbeiten herkömmliche DRAMs häufig mit einer von der optimalen Geschwindigkeit weit entfernten Geschwindigkeit, wenn sie ein relativ langsames Taktsignal empfangen.

Der Fachmann sieht, dass die in den Fig. 1A und 1B gezeigten Impulsdiagramme eine große Anzahl weiterer Signale nicht enthalten, welche an den DRAM gelegt werden. Diese Signale sind aus Gründen der Kürze weggelassen. Der Fachmann erkennt außerdem, dass sich die Befehlssignale 10 und 22 in der Praxis aus einer Kombination weiterer Signale zusammensetzen, die üblicherweise einfach als Befehl bezeichnet werden. Die exakte Beschaffenheit dieser Signale hängt ab von der Beschaffenheit des DRAM, allerdings ist das oben erläuterte Prinzip auf sämtliche Typen von DRAMs anwendbar, einschließlich asynchrone DRAMs, synchrone DRAMs und paketierte DRAMs. Obschon das sich aus der Ausgabe von Befehlssignalen gemäß einer festen Beziehung zu dem Taktsignal ergebende Problem unter Bezugnahme auf DRAMs erläutert wurde, sind die Problem-Erläuterwng ebenso wie die durch die bevorzugte Ausführungsform der Erfindung geschaffene Lösung auch auf andere integrierte Schaltungen anwendbar, die Befehlssignale oder dergleichen in Abhängigkeit eines Taktsignals ausgeben.

Ein Befehlssignalgenerator gemäß Oberbegriff des Anspruchs 1 ist aus der US-A-5 402 390 bekannt. Die zeitliche Lage der Befehlssignale in den Sequenzen ist bei diesem herkömmlichen Befehlssignalgenerator gleichartig.

Gegenstand der vorliegenden Erfindung ist die Schaffung eines Befehlssignalgenerators zum Erzeugen von Befehlssignalen für ein Speicherbauelement, bei dem das Speicherbauelement mit einer Geschwindigkeit arbeiten kann, die näher bei der optimalen Betriebsgeschwindigkeit liegt.

Erfindungsgemäß wird dies durch einen Befehlssignalgenerator mit den Merkmalen des Anspruchs 1 erreicht. Anspruch 14 definiert ein Speicherbauelement mit einem Befehlssignalgenerator, der dem obigen Ziel entspricht. Anspruch 24 definiert ein Rechnersystem mit einem Befehlssignalgenerator, das ebenfalls dem obigen Ziel entspricht. Die Erfindung schafft außerdem ein Verfahren zum Generieren von Befehlssignalen.

Offenbarung der Erfindung

Ein Befehlssignalgenerator zum Erzeugen von Befehlssignalen für ein Speicherbauelement enthält eine Ablaufsteuerung, die eine Folge von Befehlssignalen abhängig von einem Taktsignal erzeugt, das eine von mehreren Taktgeschwindigkeiten aufweisen kann. Jede der Sequenzen von Befehlssignalen entspricht vorzugsweise einer zugehörigen Taktgeschwindigkeit, wobei die Ablaufsteuerung (Sequenzer) eine der Sequenzen als Funktion der Taktgeschwindigkeiten auswählt. Die Ablaufsteuerung kann einen Zähler und einen Dekodierer enthalten. Der Zähler empfängt das Taktsignal und liefert einen Zählwert, der ansprechend auf das Taktsignal zunimmt oder abnimmt. Der Dekodierer erzeugt eine von mehreren Sequenzen von Befehlssignalen, wobei die Befehlssignale innerhalb jeder Sequenz zugehörigen Zählwerten entsprechen. Jede der Sequenzen der Befehlssignale entspricht einer zugehörigen Taktgeschwindigkeit, und der Dekodierer wählt eine der Sequenzen als Funktion der Taktgeschwindigkeit aus. Damit ist die Entsprechung zwischen jedem Befehlssignal und dessen zugehörigen Zählwert eine Funktion der Taktgeschwindigkeit. Der Befehlsgenerator kann auch eine Zählerladeschaltung enthalten, die an den Zähler gekoppelt ist. Die Zählerladeschaltung lädt einen Anfangszählerstand in den Zähler, bei dem es sich um eine Funktion der Taktgeschwindigkeit handelt. Der Zähler erhöht oder vermindert dann den Zählerstand ausgehend von dem Anfangswert ansprechend auf das Taktsignal. Der Befehlsgenerator kann außerdem eine Zähler-Freigabeschaltung enthalten, die ein Zähler-Freigabesignal erzeugt, damit der Zähler abhängig von dem Taktsignal erhöht oder vermindert werden kann. Die Zähler-Freigabeschaltung kann eine Zwischenspeicherschaltung und eine Zählerstartschaltung enthalten. Die Zwischenspeicherschaltung erzeugt das Zähler-Freigabesignal abhängig von einem Startsignal und beendet das Zähler-Freigabesignal abhängig von einem Anhaltesignal. Die Zählerstartschaltung generiert das Startsignal, und sie enthält einen Takt-Detektor zum Nachweisen vorbestimmter Abschnitte des Taktsignals, und eine variable Verzögerungs-Freigabeschaltung, die mit dem Takt-Detektor gekoppelt ist. Die variable Verzögerungs-Freigabeschaltung erzeugt das Startsignal ansprechend auf einen der nachgewiesenen vorbestimmten Abschnitte des Taktsignals, nachdem eine vorbestimmte Anzahl von Zyklen des Taktsignals nach Empfang eines Flagsignals verstricken ist. Der Befehlsgenerator kann in jedem Typ von dynamischem Schreib-/Lesespeicher oder einer anderen Schaltung verwendet werden, die Teil eines Rechnersystems ist.

Kurzbeschreibung der Zeichnungen

Fig. 1A und 1B sind Impulsdiagramme, die die Beziehung zwischen Taktsignalen und der Verarbeitung von Befehlen in einem herkömmlichen dynamischen Schreib-/Lesespeicher veranschaulichen.

Fig. 2 ist eine Übersicht, die ein Grundkonzept der bevorzugten Ausführungsform der Erfindung veranschaulicht.

Fig. 3 ist ein Blockdiagramm einer bevorzugten Ausführungsform der Erfindung.

Fig. 4 ist ein Impulsdiagramm, welches die Beziehung zwischen verschiedenen Signalen veranschaulicht, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform vorhanden sind.

Fig. 5 ist ein Impulsdiagramm, welches Signale veranschaulicht, die an das in der bevorzugten Ausführungsform der Fig. 3 verwendete Schieberegister gelegt werden bzw. aus ihm ausgegeben werden.

Fig. 6 ist ein logisches Diagramm einer Zähler-Startlogik, die bei der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.

Fig. 7 ist ein Impulsdiagramm, welches verschiedene Signale veranschaulicht, die in der in Fig. 6 gezeigten Zähler-Startlogik vorhanden sind.

Fig. 8 ist ein Logikdiagramm und eine schematische Darstellung einer Zähler-Steuerschaltung, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.

Fig. 9 ist ein Logikdiagramm, welches einen Teil einer Dekodierschaltung darstellt, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.

Fig. 10 ist ein Blockdiagramm eines DRAM, das den in Fig. 3 gezeigten Befehlsgenerator enthält.

Fig. 11 ist ein Blockdiagramm eines Rechnersystems, das den DRAM nach Fig. 10 enthält.

Detaillierte Beschreibung der Erfindung

Bevor die bevorzugte Ausführungsform der Erfindung beschrieben wird, soll anhand der Fig. 2 die Theorie des Betriebs der bevorzugten Ausführungsform erläutert werden. Fig. 2 ist ein Diagramm, welches den Status eines Zählers und eines Kodierers (diese werden unten beschrieben) veranschaulicht, in denen der Zähler abhängig von einem Taktsignal ausgehend von einem Anfangswert auf 0 vermindert wird. Der maximale Anfangswert des Zählers beträgt 255. Bei verschiedenen Zählwerten oder Zählerständen gibt der Dekodierer DRAM-Lesebefehlssignale aus, von denen in Fig. 2 einige dargestellt sind. Auf der linken Seite des Diagramms ist neben den dazugehörigen Zählwerten eine Liste von Befehlssignalen angegeben, die von dem Dekodierer ausgeben werden, wenn die Frequenz des Taktsignals 800 MHz beträgt. Auf der rechten Seite in dem Diagramm der Fig. 1 sind bei den entsprechenden Zählwerten die gleichen Befehlssignale angegeben, wie sie auftreten, wenn die Frequenz des Taktsignals 400 MHz beträgt.

Wie in Fig. 2 gezeigt ist, beginnt bei einer Taktfrequenz von 800 MHz der Zähler mit dem Dekrementieren bei 255 (was durch ein Sternchen kenntlich gemacht ist). Dann wird eine externe Reihenadresse bei etwa dem Zählerstand 240 eingespeichert, die Reihenadresse wird beim Zählerstand von etwa 208 Dekodiert, bei einem Zählerstand von etwa 170 wird die Reihe vorgeladen und ausgeglichen, bei einem Zählerstand von etwa 135 wird eine extern angelegte Spaltenadresse Dekodiert, bei einem Zählerstand 112 werden die der Dekodierten Spaltenadresse entsprechende Leseverstärker freigegeben. Bei einem Zählerstand von etwa 65 wird die adressierte Reihe freigegeben, und bei einem Zählerstand von etwa 30 verbindet der Datenweg die Ziffernleitungen des freigegebenen Leseverstärkers mit einem externen DatenbusAnschluss.

Wie weiterhin in Fig. 1 zu sehen ist, werden diese gleichen Lesebefehle auch von dem Dekodierer ausgegeben, wenn die Taktgeschwindigkeit 400 MHz beträgt, nur dass sie bei wesentlich niedrigeren Zählerständen ausgegeben werden und der Zähler mit dem Dekrementieren bald bei 150 beginnt. Dann wird die externe Reihenadresse etwa beim Zählerstand 135 zwischengespeichert, die Reihenadresse wird beim Zählerstand von etwa 120 Dekodiert, beim Zählerstand von etwa 96 wird die Reihe vorgeladen und ausgeglichen, beim Zählerstand von etwa 70 wird eine extern angelegte Spaltenadresse Dekodiert, beim Zählerstand von etwa 50 werden die Leseverstärker der Spaltenadresse freigegeben, die adressierte Reihe wird etwa beim Zählerstand 32 freigegeben, und der Datenweg koppelt Daten von den Ziffernleitungen des freigegebenen Leseverstärkers bei etwa dem Zählerstand 10 an den externen DatenbusAnschluss. Man beachte, dass zwar die Befehlssignale auf der rechten Seite in Fig. 2 zu einem wesentlich späteren Zählerstand ausgegeben werden, dass sie aber nach Beginn des Speicherzugriffs im wesentlichen gleichzeitig auftreten. Obschon nahezu doppelt soviel Taktimpulse zwischen den Befehlssignalen auftreten können bei einer Taktfrequenz von 800 MHz im Vergleich zu einer Frequenz von 400 MHz, werden die Befehlssignale dennoch zu den gleichen Zeiten ausgegeben, bedingt durch die höhere Taktgeschwindigkeit. Allerdings sollte angemerkt werden, dass die zeitliche Lage der Befehlssignale nicht vollständig linear sein muss. Beispielsweise kann ein Befehlssignal, was bei einem Taktsignal von 400 MHz möglicherweise bei einem Zählerstand von 40 ausgegeben wird, möglicherweise nicht bei einem Zählerstand von 80 für ein Taktsignal von 800 MHz ausgegeben werden. Allerdings wird ein gegebenes Befehlssignal normalerweise bei höherer Taktfrequenz bei einem höheren Zählerstand ausgegeben. Durch Beseitigen einer fixen Beziehung zwischen der Anzahl von Taktzyklen und der Ausgabe von Befehlssignalen ist der Befehlsgenerator imstande, Befehlssignale für eine große Vielfalt von Taktgeschwindigkeiten bei einer optimalen Rate auszugeben.

Fig. 3 zeigt ein Blockdiagramm einer bevorzugten Ausführungsform eines erfindungsgemäßen Befehlsgenerators 26. Die Arbeitsweise dieses Befehlsgenerators 26 nach Fig. 3 wird von einem Taktsignal CLK und einem einem Quadratur-Taktsignal CLK 90 erzeugt, die von einer herkömmlichen Taktgeberschaltung 28 erzeugt werden. Ein Register 30 enthält mehrere Speicherzellen entsprechend der Anzahl möglicher verschiedener Taktgeschwindigkeiten. Eine von diesen mehreren Taktgeschwindigkeiten wird von einem Signal "Auswahl" ausgewählt. Das Signal "Auswahl" kann durch Benutzereingriff, durch Software oder durch eine andere Schaltung generiert werden. Alternativ kann ein die Taktgeschwindigkeit unter Verwendung anderer Datenformate beispielsweise Binärformat, kennzeichnendes Register verwendet werden. Allerdings enthält in dem in Fig. 3 gezeigten Register 30 und nur eine der Speicherzellen eine logische "1", um die entsprechende Taktgeschwindigkeit als diejenige Geschwindigkeit zu kennzeichnen, mit der die Taktsignale von der Schaltung 28 ausgegeben werden. Der Ausgang des Registers 30 wird auf eine Reihe von Schaltung gegeben, wie im Folgenden noch näher erläutert wird.

Eine Sequenz von Befehlssignalen wird von einem auf positiven Wert gehenden Flag- Signal eingeleitet, wozu das Flag-Signal auf ein Schieberegister 34 gegeben wird, welches sieben Schiebestufen F&sub0; bis F&sub6; enthält. Die Arbeitsweise des Schieberegisters 34 läßt sich am besten anhand des in Fig. 4 gezeigten Impulsdiagramms erläutern. Wie in Fig. 4 gezeigt ist, empfängt das Schieberegister 34 das Taktsignal CLK von der Taktschaltung 28 sowie ein auf ein positiven Wert gehendes Flag-Signal zum Zeitpunkt t&sub0;. Das Flag-Signal wird zum Zeitpunkt t&sub1; von der Anstiegsflanke des Signals CLK in die erste Stufe des Schieberegisters 34 geschoben. Anschließend wird das hohe Flag-Signal sukzessive durch die übrigen Stufen F&sub1;-F&sub6; geschoben, und zwar bei jedem CLK-Flankenübergang (sowohl negative als auch positive Flanke). Beispielsweise tritt der Impuls F&sub2; zur Zeit t&sub3; und der Impuls F&sub4; zur Zeit t&sub5; auf, etc. Damit nimmt die Verzögerung nach dem Empfang des Flag- Signals zum Verschieben des Flag-Signal in jede Schiebestufe F&sub0;-F&sub6; inkrementell mit jedem aufeinanderfolgenden F-Wert zu. Wie weiter unten verlautet wird, werden die von den nachgeordneten Schiebestufen, beispielsweise F&sub6;, kommenden Impulse zum Einleiten einer Sequenz von Befehlssignalen mit höheren Taktgeschwindigkeiten verwendet, während ein Impuls von einer niedrigeren Schiebestufe (F&sub4;) dazu dient, eine Sequenz von Befehlssignalen mit niedrigeren Taktgeschwindigkeiten einzuleiten. Da allerdings die Taktgeschwindigkeit höher ist, wenn zum Einleiten der Sequenz der Impuls F&sub6; verwendet wird, schwankt die Zeit zwischen dem Flag-Signal und dem F-Signal, welches die Sequenz von Befehlssignalen einleitet, in einem geringeren Ausmaß. Nunmehr auf die Fig. 3 zurückkommend, wird das Signal F am Ausgang des Schieberegisters 34 an eine Zähler-Startlogikschaltung gegeben, zusammen mit einem für die Taktgeschwindigkeit kennzeichnenden Signal "Geschwindigkeit". Wie weiter unten noch erläutert wird, generiert die Zähler- Startlogik 40 ansprechend auf das F-Signal ein Startsignal "Start"; fluchtend entweder mit der vorderen oder der hinteren Flanke des Taktsignals CLK. Wie oben erläutert, verwendet die Zähler-Logikschaltung 40 ein stärker verzögertes F-Signal für höhere Taktgeschwindigkeiten. Im Ergebnis generiert die Zähler-Startlogikschaltung 40 das Signal "Start" nach einer variablen Anzahl von Taktzyklen nach dem Flag-Signal. Die Anzahl von Taktzyklen ist für höhere Taktgeschwindigkeiten größer und für niedrigere Taktgeschwindigkeiten geringer.

Das Signal "Start" von der Zähler-Startlogikschaltung 40 wird an eine Zähler-Steuerschaltung 46 gegeben, die außerdem ein Signal "Stop" und ein Signal "Freigabe" von einer an einer anderen Stelle in der (nicht gezeigten) integrierten Schaltung befindlichen Schaltung empfängt. Die Zähler-Steuerschaltung 46 generiert komplementäre Signale C-EN und C- EN*, um einen Zähler 50 selektiv freizugeben. Grundsätzlich gilt: Solange der Eingang FREIGABE an der Zähler-Steuerschaltung 46 hohen Pegel hat, ist der Zähler 50 durch das Start-Signal freigegeben und durch das Stop-Signal gesperrt.

Wie oben in Verbindung mit Fig. 2 erläutert wurde, ist der Zähler 50 ein achtstfuiger Quadratur-Zähler, der abhängig von den Taktsignalen CLK und CLK 90 von 255 aus auf 0 herunterzählt. Allerdings kann der Zähler 50 eine größere oder auch kleinere Anzahl von Stufen enthalten, und er kann auch ein anderer als ein herkömmlicher, mit Quadratur- Taktsignalen arbeitender Zähler sein. In den Zähler 50 wird ansprechend auf ein Signal. "Laden" aus einem Laderegister 52 ein Anfangszählerstand LD-CNT geladen, wobei das Signal "Laden" von einer (nicht gezeigten) Schaltung innerhalb der integrierten Schaltung kommt. Der in den Zähler 50 geladene Wert "LD-CNT" wird von dem Geschwindigkeitssignal GESCHW und einem von einer anderen (nicht gezeigten) Schaltung innerhalb der integrierten Schaltung angelegten Wert "Bauelementgeschwindigkeit" bestimmt. Das Register 52 speichert grundsätzlich zugehörige Anfangszählerstände für die acht möglichen Taktgeschwindigkeiten, die durch das Register 30 festgelegt werden, wobei für jede dieser acht möglichen Taktgeschwindigkeiten eine Vielfalt von Anfangszählerständen vorgesehen ist, abhängig von der maximalen Betriebsgeschwindigkeit des Bauelements. Somit beträgt bei dem oben in Verbindung mit Fig. 2 erläuterten Beispiel der Wert LD-CNT für eine Taktgeschwindigkeit von 800 MHz "240" und der LD-CNT-Wert für eine Taktgeschwindigkeit von 400 MHz beträgt etwa 150. Allerdings könnte der Anfangszählerstand für eine Taktgeschwindigkeit von etwa 800 Mhz auch 200, 220, 240, 260 oder 280 sein, abhängig von der maximalen Betriebsgeschwindigkeit der integrierten Schaltung, festgelegt durch den Wert "Bauelementgeschwindigkeit". Der Anfangszählerstand von 280 würde dann für eine langsamere integrierte Schaltung vorgesehen sein, um mehr Zeit zum Ausgeben der Befehlssignals-Folge zu haben, während der Anfangszählerstand von 200 für eine schnellere integrierte Schaltung zur Verfügung stünde, die in der Lage ist, die Folge von Befehlssignalen innerhalb einer kürzeren Zeit auszugeben. Nachdem der Anfangszählerstand in den Zähler 50 geladen ist, wird dieser abhängig von den von der Taktgeberschaltung 28 kommenden Signalen CLK und CLK 90 dekrementiert.

Der von dem Zähler 50 ausgegebene, acht Bits umfassende Binärzählerstand wird an einen Dekodierer 56 gegeben, der Befehlssignale auf mehreren Leitungen 58 entsprechend den verschiedenen Zählerständen erzeugt. Wie oben in Verbindung mit Fig. 2 erläutert wurde, ist das jedem Zählerstand entsprechende Befehlssignal eine Funktion der Taktgeschwindigkeit. Deshalb empfängt der Dekodierer 56 von dem Register 30 auch das Signal GESCHW, so dass er die richtigen Befehlssignale 58 von jedem Zählerstand bilden kann, der von dem Zähler 50 ausgegeben wird.

Die Arbeitsweise des in Fig. 3 gezeigten Befehlsgenerators 26 wird an besten in Verbindung mit dem in Fig. 5 gezeigten Impulsdiagramm erläutert. Das Geschwindigkeitssignal GESCHW entsprechend der Taktgeschwindigkeit wird an die Zähler-Startlogik 40 und an den Dekodierer 56 ausgegeben, wie oben erläutert wurde. Wenn von dem Schieberegister 34 das FLAG-Signal empfangen wird, erzeugt das Schieberegister 34 eine Folge von F-Signalen, von denen eines von der Zähler-Startlogik 40 dazu benutzt wird, das Signal START zu erzeugen. Wie allerdings in Fig. 5 gezeigt ist, lädt vor dem Signal START ein Signal "Laden" den Anfangszählerstand LD-CNT aus dem Laderegister 52, und das Signal STOP geht in den inaktiven niedrigen Zustand über. Ansprechend auf den Übergang des Signals START auf positiven Pegel gemäß Fig. 5 gibt die Zählersteuerung 46 den Zähler 50 frei, so dass dieser ausgehend von dem Anfangszählerstand herunterzählt. Der Dekodierer 56 erzeugt dann geeignete Befehlssignale in Abhängigkeit der Zählerstände und des Signals GESCHW. Bei oder vor dem Endzählerstand bewirkt eine andere Schaltung innerhalb der integrierten Schaltung, dass das Signal STOP in den inakten, hohen Zustand übergeht, wodurch die Zählersteuerung 46 den Zähler 50 sperrt.

Die Zähler-Startlogik 40 ist in Fig. 6 in größerer Einzelheit dargestellt und wird anhand des in Fig. 7 gezeigten Impulsdiagramms erläutert. Die Zähler-Startlogik 50 empfängt die Signale CLK und CLK 90, die im oberen Teil der Fig. 7 gezeigt sind. Wie aus Fig. 7 ersichtlich ist, eilt das Signal CLK 90 dem Signal CLK um 90º voraus. Das Signal CLK wird an ein NAND-Gatter 62 und über einen Negator 64 an ein NAND-Gatter 66 gelegt. Das Signal CLK 90 wird direkt an das NAND-Gatter 66 und über einen Negator 68 an das NAND-Gatter 62 gelegt. Das NAND-Gatter 66 wird von dem Taktsignal und dem Signal CLK 90 immer dann freigegeben, wenn das Signal CLK hoch und das Signal CLK 90 niedrig ist. Wie in Fig. 7 gezeigt ist, wird das NAND-Gatter 66 während derjenigen Zeitspannen freigegeben, die in der dritten Zeile des Impulsdiagramms gemäß Fig. 7 schraffiert sind. Damit wird das NAND-Gatter 66 einen viertel Zyklus CLK nach der Rückflanke des CLK-Signals freigegeben. Wie in der vierten Zeile der Fig. 7 gezeigt ist, wird das NAND-Gatter 62 immer dann freigegeben, wenn das Signal CLK hoch und Signal CLK 90 niedrig ist, was um einen viertel Taktzyklus nach der Anstiegsflanke des CLK-Signals der Fall ist.

Die NAND-Gatter 66 und 62 empfangen jeweils an ihrem dritten Eingang das Ausgangssignal eines NAND-Gatters 70, das die Ausgangssignale von den NAND-Gattern 72, 74 und 76 empfängt. Das NAND-Gatter 72 wird von dem vom Register 30 kommenden Signal "400" freigegeben, wenn die Taktgeschwindigkeit MHz beträgt. In ähnlicher Weise wird das NAND-Gatter 74 bei einer Taktgeschwindigkeit von 600 MHz und wird das NAND-Gatter 76 bei einer Taktgeschwindigkeit von 800 MHz freigegeben. Es können zusätzliche Schaltkreise verwendet werden, um weitere Taktgeschwindigkeiten zu bedienen, so z. B. Taktgeschwindigkeiten von 100 MHz, 200 MHz, 300 MHz und 700 MHz. Das NAND-Gatter 72 empfängt von der Stufe F&sub4; des Schieberegisters 34 das Signal F, und das NAND-Gatter 74 empfängt von der Stufe F&sub5; das Signal F, und NAND-Gatter 76 empfängt von der Stufe F&sub6; des Schieberegisters 34 das Signal F. Da nur eines der NAND-Gatter 72- 76 zu einer gegebenen Zeit freigegeben wird, läßt nur eines der NAND-Gatter 72-76 ein von dem Schieberegister erzeugtes Signal F durch. In dem in Fig. 7 gezeigten Beispiel ist das Ausgangssignal des Registers 30 das Signal "600", wodurch das NAND-Gatter 74 freigegeben wird. Wenn also das Signal F&sub5; erzeugt wird, geht der Ausgang des NAND- Gatter 74 auf niedrigen Pegel, wie in der sechsten Zeile der Fig. 7 zu sehen ist. Ansprechend darauf geht das Ausgangssignal des NAND-Gatters 70 für eine ähnliche Zeitspanne auf hohen Pegel und bewirkt damit, dass der Ausgang des NAND-Gatters 66 auf niedrigen Pegel geht, wie in der nächsten Zeile der Fig. 7 gezeigt ist. Man beachte, dass der Ausgang des NAND-Gatters 66 für nur ein Viertel eines Taktzyklus auf niedrigen Pegel geht, weil das NAND-Gatter 66 nur für diese Zeitspanne freigegeben wird, wie in der dritten Zeile der Fig. 7 zu sehen ist.

Um ein weiteres Beispiel zu geben: Wenn das Signal GESCHW "800" vom Register 30 einen hohen Pegel hat, wird der Impuls F&sub6; über das NAND-Gatter 76 und das NAND- Gatter 70 gegeben. Im Ergebnis gibt das NAND-Gatter 70 einen Impuls aus, der in Fig. 7 in der fünften Zeile gestrichelt dargestellt ist und dieser Impuls bewirkt, dass der Ausgang des NAND-Gatters 62 für ein Viertel eines Taktzyklus auf niedrigen Pegel geht. Damit bewirken die ungeraden Impulse F, dass der Ausgang des NAND-Gatters 66 bei sukzessive späteren Abfallflanken das Signal CLK auf niedrigen Pegel geht, während die geraden Impulse F bewirken, dass der Ausgang des NAND-Gatters 62 zu sukzessive späteren Anstiegsflanken des Signals CLK auf niedrigen Pegel geht.

Das Ausgangssignal der NAND-Gatter 66 und 62 wird an ein NAND-Gatter 80 angelegt, welches außerdem über einen Negator das Ausgangssignal eines Rückflanken-Impulsgenerators 82 empfängt. Das Ausgangssignal des NAND-Gatters 80 wird an den Anschluss START der Zähler-Startlogik 40 über ein Paar Negatoren 86 und 88 gelegt. Die Funktion des Impulsgenerators 82 und der dazugehörigen Schaltung besteht darin, mindestens eine Minimum-Dauer für das Signal START zu garantieren. Wenn der Ausgang entweder des NAND-Gatters 62 oder des NAND-Gatters 66 auf niedrigen Wert geht, geht das Ausgangssignal des NAND-Gatters 80 auf einen hohen Wert und bewegt damit, dass das Ausgangssignal des Negators 86 auf niedrigen Pegel geht, wie in der achten Zeile in Fig. 7 gezeigt ist. Geht der Ausgang des Negators 86 auf niedrigen Pegel, triggert er den Impulsgenerator 82, der dann einem relativ langen, auf positiven Pegel gehenden Impuls erzeugt, der über den Negator 84 als dann auf negativen Wert gehender Impuls an das NAND-Gatter 80 gelangt. Der Impuls bringt den Ausgang des NAND-Gatter 80 für die Dauer des Impulses von dem Impulsgenerator 82 zwangsweise auf hohen Pegel, was wiederum bewirkt, dass das Signal START für mindestens die Dauer des von dem Impulsgenerator 82 erzeugten Impulses auf hohem Pegel bleibt.

Die Zählersteuerung 46 (Fig. 3) ist in Fig. 8 in größerer Einzelheit dargestellt. Wie oben erläutert wurde, besteht die Funktion der Zählersteuerung 46 darin, selektiv den Zähler 50 abhängig von den Signalen START und STOP immer dann freizugeben, wenn die Zählersteuerung von dem Signal FREIGABE freigegeben wird. Die Zählersteuerschaltung 46 enthält eine Auffangspeicherschaltung 100, bestehend aus Negatoren 102 und 104. Aus Gründen der Erläuterung sei angenommen, der Anfangszustand des Auffangspeichers 100 sei derart, dass das Ausgangssignal des Negators 105 hoch und dasjenige des Negators 104 niedrig ist. Damit bewirkt der hohe Pegel am Ausgang des Negators 102, dass der Negator 106 ein inaktives niedriges Zählerfreigabesignal C-EN erzeugt, während der niedrige Zustand am Ausgang des Negators 104 den Negator 108 veranlasst, ein inaktives hohes Signal C-EN* auszugeben. Der hohe Pegel am Ausgang des Negators 102 wird über Negatoren 100 und 112 auf ein NAND-Gatter 114 gekoppelt. Für den Fall, dass das Signal FREIGABE aktiv hoch ist, gibt das NAND-Gatter 114 einen niedrigen Pegel aus, der einen PMOS-Transistor 116 einschaltet. Allerdings bleibt vor dem auf hohen Pegel gehenden Signal START der PMOS-Transistor 116 ausgeschaltet. Wenn das Startsignal auf hohen Pegel geht, wird es über den PMOS-Transistor 116 gekoppelt, um den Auffangspeicher 100 zu schalten. Damit gibt der Negator 106 das aktive hohe Signal C-EN aus, während der Negator 108 ein aktives niedriges Signal C-EN* ausgibt. Kurz nach der Anstiegsflanke des Signals START wird der niedrige Pegel am Ausgang des Negators 102 über die Negatoren 110, 112 gekoppelt, um das NAND-Gatter 114 zu sperren, was wiederum den PMOS-Transistor 116 ausschaltet. Allerdings werden die Signale C-EN und C- EN* von dem Auffangspeicher 100 in ihrem aktiven Zustand gehalten. Wenn das Signal STOP auf hohen Pegel geht, schaltet es einen NMOS-Transistor 118 ein, wodurch die Eingänge der Negatoren 102, 108 auf niedriger Pegel gezogen werden. Im Ergebnis gibt der Negator 108 erneut ein inaktives hohes Signal C-EN* aus, während der Negator 1CI6 ein aktives niedriges Signal C-EN ausgibt. Der niedrige Pegel am Eingang des Negators 102 schaltet außerdem den Auffangspeicher 100, um die Signale C-EN und C-EN* in ihren inaktiven Zuständen zu halten.

Wie oben erläutert, ist der Zähler 50 vorzugsweise ein achtstufiger, dekrementierenden Quadraturzähler, der herkömmlich ausgebildet sein kann und deshalb nicht im Einzelnen erläutert wird. In ähnlicher Weise kann das Laderegister 52 ein einfaches Register mit acht Speicherzellen sein, die jeweils einen zugehörigen Anfangs-Zählerstand LD-CNT speichern. Einer dieser Zählerstände wird von dem Signal GESCHW ausgewählt und mit Hilfe des Signals "LADEN" in den Zähler 50 geladen.

Ein Teil des Dekodierers 56 ist in Fig. 9 in größerer Einzelheit gezeigt. Derjenige Anteil des Dekodierers 56, der in Fig. 9 gezeigt ist, ist der zum Erzeugen eines Befehlssignals COL verwendete Teil, der den DRAM dazu benutzt, dem Speicherarray eine. Spaltenadresse zuzuführen. Die Schaltung zu Erzeugen des Befehlssignals COL ist nur für zwei unterschiedliche Taktgeschwindigkeiten, nämlich 400 MHz und 800 MHz, dargestellt. Aus dem in Fig. 9 dargestellten Teil des Dekodierers 56 ist aber die Logikschaltung entnehmbar, um das Signal COL auch für andere Taktgeschwindigkeiten bereitzustellen, und um weitere Befehlssignale zu liefern, die bei anderen Zählerständen erzeugt. Gemäß Fig. 9 ist das Ausgangssignal des Zählers 50 ein acht Bits umfassendes Signal C&sub0;-C&sub7;. Die niedrigwertigen Bits werden direkt oder im Fall des dritten Bits C&sub2; über einen Negator 122 an ein NOR-Gatter 120 gelegt. Die höherwertigen Bits werden entweder direkt, oder, im Fall des Bits C&sub4; über einen Negator 126 an ein NOR-Gatter 124 gelegt. Die NOR-Gatter 120, 124 geben jeweils ansprechend auf einen Zählerstand "00101000", was dezimal Zwanzig entspricht, einen hohen Pegel aus. Die Ausgängen der NOR-Gatter 120, 124 werden auf ein NAND-Gatter 130 gegeben, welches selektiv vom Ausgangssignal eines NAND-Gatters 132 über einen Negator 134 freigegeben wird. Das NAND-Gatter 132 gibt einen niedrigen Pegel zum Freigeben des NAND-Gatters 130 immer dann aus, wenn der Dekodierer 56 von einem hohen Signal EN (das anderweitig in der integrierten Schaltung erzeugt wird) freigegeben wird und der vom Register 30 ausgegebene Wert "800" hohem Pegel hat, was eine Taktgeschwindigkeit von 800 MHz kennzeichnet. Damit wird im Fall einer Taktgeschwindigkeit von 800 MHz das Ausgangssignal des NAND-Gatters 130 auf einen niedrigen Pegel gebracht, wenn der Zähler 50 auf einen Zählerstand von 20 herunterzählt. Der niedrige Pegel am Ausgang des NAND-Gatters 130 wird auf ein NAND- Gatter 140 gekoppelt, wodurch das Spaltenadressen-Freigabebefehlssignal COL auf hohen Wert geht. Wenn also die Taktgeschwindigkeit 800 MHz beträgt, wird das Befehlssignal COL bei einem Taktwert von 20 erzeugt.

Die übrige Logikschaltung in Fig. 9 arbeitet im Wesentlichen in der gleichen Weise wie die oben beschriebene Schaltung. Insbesondere werden die niedrigwertigen Bits des Zählers 50 an ein NOR-Gatter 150 gelegt, während die höherwertigen Bits des Zählers 50 entweder direkt oder, im Fall des Bits C&sub4;, über einen Negator 154 an ein NOR-Gatter 152 gelegt. Die NOR-Gatter 150 und 152 geben jeweils immer dann ein hohes Signal aus, wenn der Zähler 50 einen Zählerstand "11110111", was dezimal Sechzehn entspricht, ausgibt. Die Ausgänge der NOR-Gatter 150, 152 gehen an ein NAND-Gatter 140, das selektiv vom Ausgangssignal eines NAND-Gatters 162 freigegeben wird, welches über einen Negator 164 an das NAND-Gatter 160 gelegt wird. Das NAND-Gatter 160 wird immer dann freigegeben, wenn der Eingang EN der Dekodierer 56 einen hohen Wert hat und das Register 30 (Fig. 3) ein hohes Signal "400" ausgibt, was kennzeichnend ist für eine Taktgeschwindigkeit von 400 MHz. Damit wird das Spaltenadressen-Freigabebefehlssignal COL bei einem Zählerstand von 16 immer dann erzeugt, wenn die Taktgeschwindigkeit 400 MHz beträgt. In ähnlicher Weise werden andere Zählerwerte Dekodiert, um andere Befehlssignale zu erzeugen, abhängig von der Entsprechung zwischen den Befehlssignalen und den Zählerständen in Abhängigkeit des Taktgeschwindigkeitssignals GESCHW.

Ein synchroner DRAM (SDRAM) 180, der den in Fig. 3 gezeigten Befehlsgenerator 26 verwendet, ist in Fig. 10 gezeigt. Der SDRAM 180 enthält ein Adressenregister 182, welches entweder eine Reihenadresse oder eine Spaltenadresse über einen Adressenbus 184 empfängt. Der Adressenbus 184 wird allgemein mit einer Speichersteuerung gekoppelt, welche in Fig. 10 nicht gezeigt ist. Zunächst wird von dem Adressenregister 182 eine Reihenadresse empfangen und an einen Reihenadressen-Multiplexer 188 angelegt, der die Reihenadresse an eine Reihe von Komponenten koppelt, die zu zwei Speicherbänken 190, 192 gehören, abhängig vom Zustand eines Bankadressenbits BA, welches Teil der Reihenadresse ist. Zu jeder der Speicherbänke 190, 192 gehört ein Reihenadressen- Auffangspeicher 200, der die Reihenadresse speichert, sowie ein Reihen-Dekodierer 202, der verschiedene Reihensignale an das zugehörige Array 190 oder 192 legt, abhängig von der gespeicherten Reihenadresse. Der Reihenadressen-Multiplexer 188 koppelt weiterhin Reihenadressen an Reihenadressen-Auffangspeicher 200 zur Auffrischung der Speicherzellen innerhalb der Arrays 190 und 192. Die Reihenadressen werden zum Zweck des Auffrischens von einem Auffrischzähler 210 erzeugt, der seinerseits von einer Auffrisch- Steuerung 212 gesteuert wird.

Nachdem die Reihenadresse an das Adressenregister 182 gelegt und in einen der Reihenadressen-Auffangspeicher 200 abgespeichert ist, wird das Adressenregister 182 eine Spaltenadresse gelegt. Das Adressenregister I82 koppelt die Spaltenadressen an einen Spaltenadressen-Auffangspeicher 220. Abhängig vom Betriebsmodus des SDRAMs 180 wird die Spaltenadresse entweder über einen Burst-Zähler 222 an ein Spaltenadressenregister 224 gelegt, oder an den Burst-Zähler 222, der eine Folge von Spaltenadressen an den Spaltenadressen-Puffer 224 legt, beginnend mit der von dem Adressenregister 182 ausgegebenen Spaltenadresse. In jedem Fall legt der Spaltenadressen-Puffer 224 eine Spaltenadresse an einen SpaltenDekodierer 228, der verschiedene Spaltensignale an zugehörige Leseverstärker und eine zugehörige Schaltung 230, 232 für die jeweiligen Arrays 190 und. 192 anlegt.

Die Spaltenschaltung 230, 232 empfängt Daten von den Arrays 190 bzw. 192, um die Daten in ein Datenausgangsregister 240 zu geben, welches die Daten auf einen Datenbus 242 gibt. In eines der Arrays 190, 192 einzuschreibende Daten werden von dem Datenbus 242 über ein Dateneingaberegister 244 an die Spaltenschaltung 230, 232 gegeben, wo die Daten zu einem der Arrays 190, 192 übertragen werden. Man kann ein Maskenregister 250 verwenden, um selektiv den Datenstrom in die oder aus der Spaltenschaltung 230, 232 zu laden, damit die aus den Arrays 190, 192 auszulesenden Daten selektiv maskiert werden.

Die oben beschriebene Arbeitsweise des SDRAMs 180 wird von dem Befehlsgenerator 26 ansprechend auf Befehlssignale hohen Pegels gesteuert, die über einen Steuerbus 160 empfangen werden. Diese Befehlssignale hohen Pegels, die typischerweise von einer (in Fig. 10 nicht gezeigten) Speichersteuerung erzeugt werden, sind ein Taktfreigabesignal CKE*, ein Taktsignal CLK; ein Chipauswahlsignal CS*, ein Schreibfreigabesignal WE*, ein Reihenadressen-Strobesignal RAS* und ein Spaltenadressen-Strobesignal CAS*, wobei das "*" bedeutet, dass das Signal aktiv niedrig ist. Allerdings kann man auch andere Befehlssignale hohen Pegels verwenden. In jedem Fall erzeugt der Befehlsgenerator 26 eine Sequenz von Befehlssignalen ansprechend auf die einen hohen Pegel aufweisenden Befehlssignale, um die Funktion (z. B. Lesen oder Schreiben) auszuführen, die von jedem der einen hohen Pegel aufweisenden Befehlssignale gekennzeichnet wird. Diese Befehlssignale sowie die Art und Weise, in der sie ihre jeweiligen Funktionen erfüllen, sind konventionell. Deshalb soll im Interesse der Kürze auf eine weitere Erläuterung dieser Steuersignale verzichtet werden.

Obschon der Befehlsgenerator 26 so beschrieben wurde, dass er Befehlssignale für einen SDRAM erzeugt, verseht sich, dass eine Folge von Befehlssignalen für andere Arten von DRAMs sowie andere integrierte Schaltungsbauelemente in ähnlicher Weise erzeugen kann.

Fig. 11 ist ein Blockdiagramm eines Rechnersystems 300, welches den in Fig. 10 gezeigten SDRAM 180 enthält. Das Rechnersystem 300 enthält einen Prozessor 302 zum Durchführen verschiedener Berechnungsfunktionen, so z. B. zur Ausführung spezifischer Software, um spezielle Berechnungen oder Aufgaben durchzuführen. Der Prozessor 302 enthält einen Prozessorbus 304, der normalerweise einen Adressbus, einen Steuerbus und einen Datenbus umfasst. Darüber hinaus enthält das Rechnersystem 300 ein oder mehr Eingabegeräte 314, beispielsweise eine Tastatur oder eine Maus, die mit dem Prozessor 302 gekoppelt sind, damit ein Bediener mit dem Rechnersystem 300 kommunizieren. Typischer Weise enthält das Rechnersystem 300 auch ein oder mehr Ausgabegeräte 316, die mit dem Prozessor 302 gekoppelt werden, so z. B. typischer Weise einen Drucker oder ein Videoterminal. Ein oder mehrere Datenspeichergeräte 318 sind ebenfalls typischer Weise mit dem Prozessor 302 gekoppelt, um Daten in einem (nicht gezeigten) externen Speichermedium zu speichern oder Daten aus ihm zu holen. Beispiele für typische Speichergeräte 318 beinhalten Festplatten oder Floppy-Disks, Bandkassetten sowie Kompaktplatten-Festspeicher (CD-Roms). Der Prozessor 302 ist typischerweise auch an einen Cache- Speicher 326 gekoppelt, der üblicherweise ein statischer Schreib-/Lese-Speicher (SRAM) ist, und der mit dem SDRAM 180 über eine Speichersteuerung 330 gekoppelt ist. Die Speichersteuerung 330 enthält normalerweise den Steuerbus 160 und den Adressenbus 164, der mit dem SDRAM 180 gekoppelt ist. Der Datenbus 242 kann mit dem Prozessorbus 304 entweder (wie dargestellt) direkt oder mit Hilfe irgendeiner Einrichtung über die Speichersteuerung 330 gekoppelt sein.


Anspruch[de]

1. Befehlsgenerator (26) zum Erzeugen von Befehlssignalen (COMMANDS) für ein Speicherbauelement (81), wobei der Befehlsgenerator (26) aufweist: einen Taktgeschwindigkeitsanzeiger (30), der ein Taktgeschwindigkeitssignal (SPEED) entsprechend der Geschwindigkeit eines eine von mehreren Taktgeschwindigkeiten aufweisenden Taktsignals bereitstellt; und

eine Ablaufsteuerung (50, 56), die mit der Taktgeschwindigkeitsanzeige (30) gekoppelt ist und eine Folge der Befehlssignale für das Speicherbauelement (I80) ansprechend auf das Taktsignal (CLK) erzeugt, wobei die zeitliche Steuerung der Befehlssignale innerhalb der Sequenz bestimmt wird durch das Taktgeschwindigkeitssignal, wodurch der zeitliche Ablauf und die Beschaffenheit der Befehlssignale der Taktgeschwindigkeit entsprechen, dadurch gekennzeichnet, dass die zeitliche Lage der Befehlssignale innerhalb der Sequenzen entsprechend unterschiedlichen Taktgeschwindigkeiten voneinander verschieden sind.

2. Befehlsgenerator (26) nach Anspruch 1, bei dem die Ablaufsteuerung aufweist: einen das Taktsignal (CLK) empfangenden und einen Zählerstand, der ansprechend auf das Taktsignal erhöht oder vermindert ist, erzeugenden Zähler; und einen Dekodierer (56), der an den Zähler (50) und die Taktgeschwindigkeitsanzeige (50) gekoppelt ist und eine von mehreren Sequenzen von Befehlssignalen der Speicherbauelemente (180) erzeugt, wobei die Befehlssignale in jeder Sequenz einzelnen Zählerständen entsprechen, jede der Sequenzen von Befehlssignalen einer zugehörigen Taktgeschwindigkeit entsprechen, und der Decoder eine aus mehreren der Sequenzen ansprechend auf das Taktgeschwindigkeitssignal auswählt.

3. Befehlsgenerator (26) nach Anspruch 2, bei dem mindestens einige der entsprechenden Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf verschiedene Zählerstände erzeugt werden.

4. Befehlsgenerator (26) nach Anspruch 2, weiterhin umfassend eine Zähler-Ladeschaltung (52), die an den Zähler und an den Taktgeschwindigkeitsanzeiger gekoppelt ist, und die in den Zähler (50) einen Anfangszählerstand lädt, von dem aus der Zähler (50) abhängig von dem Taktsignal erhöht oder vermindert wird, wobei der Wert des Anfangszählerstands eine Funktion des Taktgeschwindigkeitssignals ist.

5. Befehlsgenerator (26) nach Anspruch 2, bei dem der Dekodierer (56) eine von mehreren Sequenzen von Befehlssignalen erzeugt, von denen jede einer entsprechenden Taktgeschwindigkeit entspricht, wozu der Dekodierer (56) eine aus einer Mehrzahl von Sequenzen abhängig von einem für die Taktgeschwindigkeit kennzeichnenden Taktgeschwindigkeitssignal auswählt.

6. Befehlsgenerator (26) nach Anspruch 5, weiterhin umfassend einen Taktgeschwindigkeitsanzeiger, der das Taktgeschwindigkeitssignal entsprechend der Geschwindigkeit des Taktsignals bereitstellt.

7. Befehlsgenerator (26) nach Anspruch 6, bei dem der Taktgeschwindigkeitsanzeiger (30) ein Register aufweist, das eine Mehrzahl von Taktgeschwindigkeitswerten speichert, von denen einer auswählbar ist, um das dementsprechende Taktgeschwindigkeitssignal bereitzustellen.

8. Befehlsgenerator (26) nach Anspruch 5, bei dem die Sequenzen von Befehlssignalen entsprechend den verschiedenen Taktgeschwindigkeiten voneinander verschieden sind.

9. Befehlsgenerator (26) nach Anspruch 8, bei dem zumindest einige der entsprechenden Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf verschiedene Zählerstände erzeugt werden.

10. Befehlsgenerator (26) nach Anspruch 5, weiterhin umfassend eine Zähler-Ladeschaltung (62), die einen Anfangszählerstand in den Zähler (50) lädt, von dem aus der Zähler (50) ansprechend auf das Taktsignal erhöht oder vermindert wird, wobei der Wert des Anfangszählerstands eine Funktion der Geschwindigkeit des Taktsignals ist.

11. Befehlsgenerator (26) nach Anspruch 10, bei dem der in den Zähler (50) geladene Anfangszählerstand für höhere Taktgeschwindigkeiten weiter von einem Endzählerstand entfernt ist.

12. Befehlsgenerator (26) nach Anspruch 2, weiterhin umfassend eine Zählerfreigabeschaltung (46), die ein Zählerfreigabesignal (C-EN), damit der Zähler ansprechend auf das Taktsignal erhöht oder vermindert wird, umfassend:

eine Zwischenspeicherschaltung (100), die ansprechend auf ein Startsignal das Freigabesignal (C-EN) erzeugt und dieses ansprechend auf ein Stopsignal beendet; und

eine Zähler-Startschaltung (40), umfassend einen Taktdetektor (62-68), der vorbestimmte Abschnitte des Taktsignals (CLK) erfasst, und eine veränderliche Verzögerungs-Freigabeschaltung (80-88), die an den Taktdetektor (62-68) und an den Taktgeschwindigkeitsanzeiger (30) gekoppelt ist, um einen der erfassten vorbestimmten Abschnitte des Taktsignals im Anschluss an ein Flag-Signal nach einer vorbestimmten Anzahl von Zyklen des Taktsignals auszuwählen, wobei die vorbestimmte Anzahl von Taktzyklen dem Taktgeschwindigkeitssignal entspricht, die veränderliche Verzögerungs-Freigabeschaltung (80- 88) das Startsignal ansprechend auf den erfassten vorbestimmten Abschnitt des Startsignals, der durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.

13. Befehlsgenerator nach Anspruch 12, weiterhin umfassend eine Impulsdauer-Steuerschaltung zum Steuern der Minimum-Dauer des Startsignals, wozu die Impulsdauer-Steuerschaltung aufweist:

Einen Impulsgenerator (82), der an die veränderliche Verzögerungs-Freigabeschaltung (80-88) gekoppelt ist und einen Impuls mit einer vorbestimmten Verzögerung ansprechend auf den detektierten vorbestimmten Abschnitt des Taktsignals erzeugt, der von der veränderlichen Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde; und

eine Logikschaltung (80), die an den Impulsgenerator (82) gekoppelt ist, und die das Startsignal ansprechend auf entweder den von dem Impulsgenerator (82) erzeugten Impuls oder den detektierten vorbestimmten Abschnitt des Taktsignals, der durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.

14. Dynamische Schreib-/Lese-Speicher (180), umfassend:

eine Taktschaltung (28), die ein Taktsignal unterschiedlicher Geschwindigkeiten erzeugt, mindestens ein Array (190, 192) von Speicherzellen, ausgebildet zur Speicherung von Daten an einer Stelle, die durch eine Reihenadresse und eine Spaltenadresse festgelegt ist; eine Reihenadressenschaltung (188-202), ausgebildet zum Empfangen und zum Dekodieren der Reihenadresse und zum Auswählen einer Reihe von Speicherzellen, die der Reihenadresse entspricht, abhängig von einem ersten Satz von Befehlssignalen; eine Spaltenadressenschaltung (220-224), ausgebildet zum Empfangen und zum Anlegen von Daten von bzw. an eine der Speicherzellen in der ausgewählten Reihe, entsprechend der Spaltenadresse und abhängig von einem zweiten Satz von Befehlssignalen; eine Datenwegschaltung, ausgebildet zum Koppeln von Daten zwischen einem externen Anschluss (184) und der Spaltenadressenschaltung (220-224) abhängig von einem dritten Satz von Befehlssignalen; gekennzeichnet durch einen Zähler (50), der ein Taktsignal empfängt, und der einen Zählerwert erzeugt, der abhängig von dem Taktsignal erhöht oder vermindert wird; und einen Dekodierer (56), der mit dem Zähler (50) gekoppelt ist, wobei der Dekodierer (56) den ersten, den zweiten und den dritten Satz von Befehlssignalen erzeugt, die jeweils einen zugehörigen Zählerwert entsprechen, wobei der zeitliche Ablauf der Befehlssignale in den Sätzen von. Befehlssignalen den unterschiedlichen Taktsignalen entspricht, die voneinander verschieden sind.

15. Speicher (180) nach Anspruch 14, bei dem das Taktsignal eine von mehreren Geschwindigkeiten haben kann, und der Dekodierer (56) eine mehreren Frequenzen von Befehlssignalen erzeugt, einschließlich eines ersten, eines zweiten und eines dritten Satzes von Befehlssignalen, wobei jede der Sequenzen von Befehlssignalen einer zugehörigen Taktgeschwindigkeit entspricht, und der Dekodierer (56) eine aus den mehreren Sequenzen abhängig von einem für die Taktgeschwindigkeit repräsentativem Geschwindigkeitssignal auswählt.

16. Speicher (180) nach Anspruch 15, weiterhin umfassend einen Taktgeschwindigkeitsanzeiger (30), der das Taktgeschwindigkeitssignal entsprechend der Geschwindigkeit des Taktsignals bereitstellt.

17. Speicher (180) nach Anspruch 16, bei dem der Taktgeschwindigkeitsanzeiger (30) ein Register enthält, das eine Mehrzahl von Taktgeschwindigkeitswerten enthält, wobei einer der Taktgeschwindigkeitswert auswählbar ist, um das ihm entsprechende Taktgeschwindigkeitssignal bereitzustellen.

18. Speicher (180) nach Anspruch 17, bei dem mindestens einige der entsprechenden Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf unterschiedliche Zählerstandswerte erzeugt werden.

19. Speicher (180) nach Anspruch 15, weiterhin umfassend eine Zähler-Ladeschaltung (52) zum Laden eines Anfangszählerstands in den Zähler (50), von dem aus der Zähler (50) abhängig von dem Taktsignal erhöht oder vermindert wird, und der Wert des Anfangszählerstands eine Funktion der Geschwindigkeit des Taktsignals ist.

20. Speicher (180) nach Anspruch 19, bei dem der in den Zähler (50) geladene Anfangszählerstand für höhere Taktgeschwindigkeiten weiter von einem Endzählerstand entfernt ist.

21. Speicher (180) nach Anspruch 14, weiterhin umfassend eine Zählerfreigabeschaltung (46), die ein Zählerfreigabesignal erzeugt, um dem Zähler das Erhöhen oder Vermindern abhängig von dem Taktsignal zu ermöglichen, umfassend:

eine Zwischenspeicherschaltung (100), die ansprechend auf ein Startsignal das Freigabesignal erzeugt und dieses ansprechend auf ein Stopsignal beendet; und

eine Zähler-Startschaltung (40), umfassend einen Taktdetektor (62-68), der vorbestimmte Abschnitte des Taktsignals erfasst, und eine veränderliche Verzögerungs-Freigabeschaltung (80-88), die an den Taktdetektor (62-68) und an den Taktgeschwindigkeitsanzeiger (30) gekoppelt ist, um einen der erfassten vorbestimmten Abschnitte des Taktsignals im Anschluss an ein Flag-Signal nach einer vorbestimmten Anzahl von Zyklen des Taktsignals auszuwählen, wobei die vorbestimmte Anzahl von Taktzyklen dem Taktgeschwindigkeitssignal entspricht, die veränderliche Verzögerungs-Freigabeschaltung (80-88) das Startsignal ansprechend auf den erfassten vorbestimmten Abschnitt des Startsignals, der durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.

22. Speicher (180) nach Anspruch 21, weiterhin umfassend eine Impulsdauer-Steuerschaltung zum Steuern der Minimum-Dauer des Startsignals, wozu die Impulsdauer-Steuerschaltung aufweist:

Einen Impulsgenerator (82), der an die veränderliche Verzögerungs-Freigabeschaltung (80-88) gekoppelt ist und einen Impuls mit einer vorbestimmten Verzögerung ansprechend auf den detektierten vorbestimmten Abschnitt des Taktsignals erzeugt, der von der veränderlichen Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde; und

eine Logikschaltung (80), die an den Impulsgenerator (82) gekoppelt ist, und die das Startsignal ansprechend auf entweder den von dem Impulsgenerator (82) erzeugten Impuls oder den detektierten vorbestimmten Abschnitt des Taktsignals, der durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.

23. Speicher nach Anspruch 14, bei dem die Entsprechung zwischen jedem Befehlssignal und dessen zugehörigem Zählerstandswert eine Funktion der Taktgeschwindigkeit ist.

24. Rechnersystem (300), umfassend:

einen Prozessor (302) mit einem Prozessorbus (304); eine Eingabeeinrichtung (314), die über den Prozessorbus (304) an den Prozessor (302) gekoppelt und dazu ausgebildet ist, Daten in das Rechnersystem (300) einzugeben; eine Ausgabeeinrichtung (316), die über den Prozessorbus an den Prozessor gekoppelt und dazu ausgebildet ist, Daten von dem Rechnersystem (300) auszugeben; und einen dynamischen Schreib-/Lese-Speicher (180), der an den Prozessorbus (304) gekoppelt und dazu ausgebildet ist, Daten speichern zu können, dadurch gekennzeichnet, dass der dynamische Schreib-/Lese-Speicher einem der Ansprüche 14 bis 24 entspricht.

25. Verfahren zum Generieren von Befehlssignalen für ein Speicherbauelement (180) abhängig von einem Taktsignal, umfassend das Erzeugen einer Sequenz von Befehlssignalen, wobei der zeitliche Ablauf und die Beschaffenheit der Befehlssignale zugehörigen Anzahlen von Zyklen des Taktsignals entsprechen, die während der Sequenz aufgetreten sind, wobei die Anzahl von Taktzyklen, die zwischen mindestens einigen der Befehlssignale auftreten, durch die Taktsignalfrequenz bestimmt werden, und die Anzahl von Taktzyklen, die zwischen Befehlssignalen auftreten, für höhere Taktsignalfrequenzen größer und für niedriger Taktsignalfrequenzen geringer ist.

26. Verfahren nach Anspruch 25, bei dem der zeitliche Ablauf der Befehlssignale derart eingestellt wird, dass die Anzahl von Taktzyklen, die zwischen mindestens einigen Befehlssignalen auftreten, umgekehrt proportional ist zu der Taktsignalfrequenz, wodurch die Zeit zwischen den Befehlssignalen unabhängig von der Taktsignalfrequenz ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com