-
TECHNISCHES GEBIET
-
Diese
Erfindung bezieht sich auf das Koppeln von Signalen von einer elektronischen
Vorrichtung mit einer anderen und insbesondere auf das Koppeln von
Signalen zwischen elektronischen Vorrichtungen mit unterschiedlichen
Taktbereichen, die von entsprechenden Taktsignalen definiert sind,
die sich voneinander unterscheiden können.
-
HINTERGRUND DER ERFINDUNG
-
Viele
elektronische Vorrichtungen arbeiten auf eine synchrone Weise, auf
die die Zeitsteuerung von Signalen in der Vorrichtung von einem
Taktsignal gesteuert wird. Die Übergänge des
Taktsignals treten im Wesentlichen in der ganzen Schaltung zur gleichen
Zeit auf, wodurch sichergestellt wird, dass als Reaktion auf die Übergänge der
Taktsignale gekoppelte oder geschaffene Signale richtig miteinander synchronisiert
werden.
-
Obwohl
Synchronismus zwischen Signalen aufrechterhalten werden kann, wenn
das gleiche Taktsignal oder von dem gleichen Taktsignal abgeleitete
Taktsignale überall
in einer Schaltung verwendet werden, ist es wesentlich schwieriger
Signale, die von einer elektronischen Vorrichtung zu einer anderen
gekoppelt werden, Signale richtig zu synchronisieren, wenn die elektronischen
Vorrichtungen in unterschiedlichen, von unterschiedlichen Taktsignalen definierten
Taktbereichen arbeiten.
-
Mit
Bezug auf 1 empfängt eine erste elektronische
Vorrichtung 10 ein Signal Si und
ein Taktsignal CLKA. Die elektronische Vorrichtung gibt als Reaktion
auf das Eingabesignal Si und Übergänge des
Taktsignals CLKA ein Signal S2 aus. Das
Signal S2 wird über eine Leitung 14 mit
dem Eingang einer zweiten elektronischen Vorrichtung 12 gekoppelt. Die
zweite elektronische Vorrichtung 12 empfängt auch
ein zweites Taktsignal CLKB. Das zweite Taktsignal CLKB kann eine
Phase haben, die sich von der Phase des ersten Taktsignals CLKA
unterscheidet, und es kann sogar eine Frequenz haben, die sich von der
Frequenz des ersten Taktsignals CLKA unterscheidet. Das beim Koppeln
des Signals S2 von dem Ausgang der ersten
Vorrichtung 10 mit dem Eingang der zweiten Vorrichtung 12 auftretende
Problem ist in 2 dargestellt.
-
Das
Taktsignal CLKA für
die erste elektronische Vorrichtung 10 ist in 2A gezeigt
und das Eingangsignal Si ist in 2B gezeigt,
wie es zum Zeitpunkt t0 hoch wird. Beispielsweise
führt die
erste elektronische Vorrichtung 10 einfach eine logische UND-Funktion
des Eingangsignals Si und des Taktsignals
CLKA aus, um das Signal S2 zu erzeugen.
Das Signal S2 ist in 2C mit
exponentiell steigenden und fallenden Flanken gezeigt, die durch
die kapazitive Ladung auf der Leitung 14, die die erste
elektronische Vorrichtung 10 mit der zweiten elektronischen Vorrichtung 12 koppelt,
bedingt ist.
-
Ein
Beispiel für
ein Taktsignal CLKB1 mit einer ersten Phase
ist in 2D dargestellt. Wie durch den
Vergleich aus 2A mit 2D gezeigt,
hinkt das Taktsignal CLKA für
die erste elektronische Vorrichtung 10 dem Taktsignal CLK-B1 für die zweite elektronische
Vorrichtung 12 nach. Beispielsweise wird angenommen, dass
die zweite elektronische Vorrichtung 14 einfach so arbeitet,
dass sie das Signal S2 (2C)
entweder an der steigenden Flanke des Taktsignals CLKB1 (2F)
oder an der fallenden Flanke des Taktsignals CLKB1 (2G)
taktet. Wie in 2F gezeigt, ist die elektronische
Vorrichtung 12 nicht zur Detektierung des Signals S2 in der Lage, wenn die Vorrichtung 12 an
der steigenden Flanke von CLKB1 getaktet
wird, weil bei der steigenden Flanke von CLKB1 am
Eingang der elektronischen Vorrichtung 12 das Signal S1 nicht vorhanden ist. Jedoch ist, wie in 2G gezeigt,
die zweite elektronische Vorrichtung 14 zur Detektierung
des Signals S2 in der Lage, wenn die elektronische
Vorrichtung 12 das Signal S2 an
der fallenden Flanke des Taktsignals CLKB1 taktet.
Folglich kann die zweite elektronische Vorrichtung 12 mit
der ersten elektronischen Vorrichtung 10 arbeiten, obwohl
sie unterschiedliche Taktbereiche haben, aber nur, solange das Taktsignal
CLKB1 dem Taktsignal CLKA vorauseilt. Wenn
die elektronische Vorrichtung 12 das Signal S2 an
der fallenden Flanke von CLKB1 taktet, ist sie
nicht zur Detektierung des Signals S2 in
der Lage, wenn das Taktsignal CLKB dem Taktsignal CLKA hinterherhinkt.
-
Ein
Beispiel für
ein Taktsignal CLKB2, das dem Taktsignal
CLKA hinterherhinkt, ist in 2E dargestellt.
Das erste Taktsignal CLKA wird als dem zweiten Taktsignal CLKB hinterherhinkend
betrachtet, wenn irgendein Übergang
des ersten Taktsignals CLKA mehr als 0 Grad und weniger als 180
Grad nach dem entsprechenden Übergang
des zweiten Taktsignals CLKB auftritt. Das erste Taktsignal CLKA wird
als dem zweiten Taktsignal CLKB vorauseilend betrachtet, wenn irgendein Übergang
des ersten Taktsignals CLKA mehr als 180 Grad und weniger als 0
Grad nach dem entsprechenden Übergang
des zweiten Taktsignals CLKB auftritt. Wieder wird zuerst angenommen,
dass die elektronische Vorrichtung 12 so arbeitet, dass
sie das Signal S2 an der steigenden Flanke
des Taktsignals CLKB2 (2H)
oder der fallenden Flanke des Taktsignals CLKB2 (2I)
taktet. Wie in 2H gezeigt, ist die zweite elektronische Vorrichtung 12 zur
Detektierung des Signals S2 in der Lage,
wenn die elektronische Vorrichtung 12 das Signal S2 an der steigenden Flanke des Taktsignals CLKB2 taktet. Jedoch ist, wie in 2I gezeigt,
die zweite elektronische Vorrichtung 12 nicht zur Detektierung
des Signals S2 in der Lage, wenn die elektronische
Vorrichtung 12 das Signal an der fallenden Flanke des Taktsignals
CLKB2 taktet, weil bei der fallenden Flanke
des Taktsignals CLKB2 am Eingang der elektronischen
Vorrichtung 12 das Signal S2 nicht vorhanden
ist.
-
Aus
der oben genannten Diskussion wird ersichtlich sein, dass die zweite
elektronische Vorrichtung 12 zur Detektierung des von der
ersten elektronischen Vorrichtung 10 erzeugten Signals
S2 in der Lage ist, solange entweder das
zweite Taktsignal CLKB dem ersten Taktsignal CLKA vorauseilt und
die zweite elektronische Vorrichtung 12 das Signal S2 an der fallenden Flanke von CLKB taktet
oder das zweite Taktsignal CLKB dem ersten Taktsignal hinterherhinkt
und die zweite elektronische Vorrichtung 12 das Signal
S2 an der steigenden Flanke von CLKB taktet. Jedoch
kann sich, weil die erste und die zweite elektronische Vorrichtung 10 bzw. 12 in
unterschiedlichen Taktbereichen arbeiten, die Phasenbeziehung zwischen
CLKA und CLKB ändern.
Deshalb ist es, wenn die Wahl getroffen wird, dass die zweite elektronische Vorrichtung 12 das
Signal S2 an der fallenden Flanke von CLKB
taktet, möglich,
dass das Taktsignal CLKB dem ersten Taktsignal CLKA hinterherhinkt.
Wie oben erklärt,
wird die zweite elektronische Vorrichtung 12 unter diesen
Bedingungen nicht zur Detektierung des Signals S2 in
der Lage sein. Auf ähnliche Weise
ist es, wenn die Wahl getroffen wird, dass die zweite elektronische
Vorrichtung 12 das Signal S2 an der
steigenden Flanke von CLKB taktet, möglich, dass das Taktsignal
CLKB dem ersten Taktsignal CLKA vorauseilt. Wieder wird die zweite
elektronische Vorrichtung 12 nicht zur Detektierung des
Signals S2 in der Lage sein.
-
Ein
konkreteres Beispiel für
das in 1 und für 2 dargestellte Problem wird von einer in 3 gezeigten
Speichervorrichtung 20 veranschaulicht. Die in 3 dargestellte
Speichervorrichtung 20 ist ein paketierter dynamischer
Speicher mit wahlfreiem Zugriff ("DRAM")
mit einer als SyncLink bekannten Architektur. Jedoch kann das Problem
auch in veränderlichen
Ausmaßen
bei anderen Typen von Speichervorrichtungen, wie z. B. synchronen
DRAMs, existieren. Die paketierte Speichervorrichtung 20 ist in
einer eher verallgemeinerten Form gezeigt, weil die spezielle Struktur
der Speichervorrichtung 20 für die hierin beschriebenen
Erfindungen eher peripher ist.
-
Die
Speichervorrichtung 20 weist einen Controller 22 auf,
der ein allgemein mehrere Multi-Bit-Paketwörter enthaltendes Anweisungspaket
CA, ein den Anfang eines Anweisungspakets anzeigendes Markierungssignal
F und ein mit den Paketwörtern synchronisiertes
Anweisungstaktsignal CMDCLK empfängt.
Das Anweisungspaket CA enthält
sowohl Speicheranweisungen, wie z. B. Lesen, Schreiben usw. und
Bank-, Reihen- und Spaltenadresseninformation, als auch andere zum
Initialisieren oder Betreiben der Speichervorrichtung 20 verwendete
Information.
-
Die
Speichervorrichtung 20 weist auch einen Takterzeuger 24 auf,
der sowohl das Anweisungstaktsignal CMDCLK als auch Steuersignale
von dem Controller 22 empfängt. Der Takterzeuger 24 erzeugt aus
dem Anweisungstaktsignal CMDCLK mehrere Taktsignale, einschließlich eines
internen Taktsignals ICLK und eines Lesetaktsignals RCLK. Die Phase des
internen Taktsignals ICLK und die Phase des Lesetaktsignals RCLK
werden von Steuersignalen von dem Controller 22 bestimmt.
Der Controller 22 verwendet das interne Taktsignal ICLK,
um ein Auslösesignal
INIT zu erzeugen, um mit der Übertragung
von Lesedaten aus der Speichervorrichtung 20 und Schreibdaten
in die Speichervorrichtung 20 zu beginnen. Der Controller 22 erzeugt
auch ein Schreibphasenanweisungssignal WPHASE, das auf eine unten erklärte Weise
verwendet wird.
-
Adressenteile
des Anweisungspakets CA werden mit einer Adressierungsschaltungsanordnung 28 gekoppelt.
Die Adressierungsschaltungsanordnung 28 legt dann Bank-
und Reihenadressen an eine Bank/Reihenschaltungsanordnung 30 und
Spaltenadressen an eine Spaltenschaltungsanordnung 32 an.
Die Struktur und Arbeitsweise dieser Schaltungsanordnung 30, 32 ist
dem Fachmann gut bekannt. Grundsätzlich
wählt die
Bank-/Reihenschaltungsanordnung 30 eine Speicheranordnung 36 oder einen
Teil einer Speicheranordnung 36 und eine Reihe von Speicherzellen
in dieser Anordnung aus. Die Spaltenschaltungsanordnung 32 wählt eine
Spalte von Speicherzellen in der Anordnung aus und Daten werden
in die Speicherzelle in der ausgewählten Reihe, die die gewählte Spalte
kreuzt, geschrieben oder aus ihr gelesen.
-
Daten
werden über
einen Datenpfad 40, der einen Lesedatenpfad 40a und
einen Schreibdatenpfad 40b aufweist, zwischen einem extern
zugänglichen
Datenbusanschluss DQ und der Spaltenschaltungsanordnung 32 gekoppelt.
Der Lesedatenpfad 40a weist ein Leseregister 42 und
einen Ausgabepuffer 46 auf, die Lesedaten von der Anordnung 36 über die
Spaltenschaltungsanordnung 32 mit dem Datenbusanschluss
DQ koppeln. Der Schreibdatenpfad 40b weist einen Eingabepuffer 50 und
ein Schreibregister 52 auf, die Schreibdaten von dem Datenbusanschluss
DQ über
die Spaltenschaltungsanordnung 32 mit der Anordnung 36 koppeln.
Während
einer Leseoperation werden Lesedaten an einen Dateneingang des Leseregisters 42 angelegt
und über
das Leseregister 42 von dem Lesetaktsignal RCLK getaktet, nachdem
das Auslösesignal
INIT von dem Controller 22 zu aktiv Hoch übergegangen
ist. Während
einer Schreiboperation werden Schreibdaten an das Schreibregister 52 angelegt
und durch das Schreibregister 52 von einem Taktsignal von
einer Phasenverschiebungsschaltung 56 getaktet, nachdem
das Auslösesignal
INIT zu aktiv Hoch übergegangen
ist. Die Phasenverschiebungsschaltung 56 erzeugt das Taktsignal
aus einem Datentaktsignal DCLK, das von einer externen Vorrichtung,
wie z. B. einem (nicht gezeigten) Speichercontroller, an die Speichervorrichtung 20 angelegt
wird. Die Phase des an das Schreibregister 52 angelegten
Taktsignals relativ zu der Phase des Datentaktsignals DCLK wird
von dem Phasenanweisungssignal WPHASE von dem Controller 22 gesteuert.
-
In
Betrieb liefert eine externe Vorrichtung, wie z. B. ein Speichercontroller,
der Speichervorrichtung 20 ein Anweisungspaket CA, um die
Zeitsteuerung des Lesetaktsignals RCLK relativ zu dem Anweisungstaktsignal
CMDCLK zu setzen. Folglich wird die Phase des Lesetaktsignals RCLK
von der externen Vorrichtung gesteuert. Auf eine ähnliche
Weise wird die Phase des Datentaktsignals DCLK von der externen
Vorrichtung, wie z. B. einem Speichercontroller, bestimmt und erzeugt
das Datentaktsignal DCLK. Auf diese Weise steuert die externe Vorrichtung
die Zeitsteuerung des Anlegens der Lesedaten an die externe Vorrichtung
durch die Speichervorrichtung 20.
-
Die
in 3 gezeigte Speichervorrichtung 20 muss,
wenn sie mit externen Vorrichtungen, wie z. B. Speichercontrollern,
gekoppelt ist, in zwei Taktbereichen arbeiten. Der erste Taktbereich
wird durch das interne Taktsignal ICLK definiert, das der Zeitsteuerung
der Steuersignale von dem Controller 22 entspricht. Folglich
finden die von dem Controller 22 ausgeführten Funktionen, wie z. B.
das Empfangen von Daten von der Anordnung 36 und das Ausgeben von
Daten von ihr und das Initiieren von Datenübertragungen als Reaktion auf
die Eingangssignale INIT, im ersten Taktbereich statt. Das Koppeln
von Daten durch das Leseregister 42 findet in einem zweiten Taktbereich
statt, weil das Koppeln von Signalen über das Leseregister 42 von
dem Lesetaktsignal RCLK gesteuert wird und die Phase des Lesetaktsignals RCLK
von der externen Vorrichtung bestimmt wird. Auf ähnliche Weise findet das Koppeln
von Signalen durch das Schreibregister 52 in dem zweiten
Taktbereich statt, weil das Koppeln von Signalen durch das Schreibregister 52 von
dem Datentaktsignal DCLK gesteuert wird und die Phase des Datentaktsignals DCLK
von der externen Vorrichtung bestimmt wird. Die Arbeitsweise der
Speichervorrichtung 20 in zwei Taktbereichen kann Probleme
vom oben mit Bezug auf 1 und 2 erklärten Typ
verursachen. In der Tat ist es besonders schwierig, solche Probleme
beim Arbeiten mit den hohen Datenraten, die das Ziel des SyncLink
paketierten DRAMs sind, zu vermeiden.
-
EP 0 798 630 A1 richtet
sich auf ein Synchronisierungsverfahren und ein entsprechendes System zum Übertragen
von Daten aus einem ersten Taktbereich mit einem ersten Taktsignal
mit einer ersten Taktrate auf einen zweiten Taktbereich mit einem zweiten
Taktsignal mit einer zweiten Taktrate, der sich von dem anderen
Taktbereich unterscheidet. Daten werden mit einer ersten Taktrate
empfangen, wobei die Daten Halteregistern zugeführt werden. Eine Taktsynchronisierungsschaltung
aktiviert synchron zu dem ersten Taktsignal ein Freigabesignal, um
die Halteregister anzuweisen, die Dateneingabe zu erfassen. Danach
aktiviert die Taktsynchronisierungsschaltung synchron zu dem zweiten
Taktsignal ein zweites Freigabesignal. Das zweite Freigabesignal
veranlasst die Abtastregister, die Ausgabe der Halteregister zu
erfassen. Die Ausgabe der Abtastregister wird synchron zu dem zweiten
Taktbereich getaktet.
-
Es
besteht deshalb ein Bedarf an einer Vorrichtung, die zum Koppeln
von Signalen von einer ersten elektronischen Vorrichtung mit einer
zweiten elektronischen Vorrichtung fähig ist, und es erlaubt, dass
eine erste und eine zweite elektronische Vorrichtung zusammenarbeiten,
obwohl die erste und die zweite elektronische Vorrichtung in unterschiedlichen
Taktbereichen sind.
-
Die
Erfindung richtet sich auf eine Koppelschaltung nach Anspruch 1
und ferner auf eine Speichervorrichtung nach Anspruch 5 sowie ein
Computersystem nach Anspruch 11.
-
Es
ist eine Vorrichtung zum Anlegen eines zweiten Signals an eine zweite
Vorrichtung, die in einem zweiten Taktbereich arbeitet, der von
einem zweiten Taktsignal definiert wird, als Reaktion auf ein erstes
Signal, das von einer ersten Vorrichtung empfangen wird, die in
einem ersten Taktbereich arbeitet, der von einem ersten Taktsignal
definiert wird, vorgesehen. Eine erste Logikschaltung empfängt das
erste Signal und das erste Taktsignal. Die erste Logikschaltung
erzeugt als Reaktion auf jeden Übergang
des ersten Taktsignals nachfolgend dem Empfang des ersten Signals
ein Zwischensignal, es sei denn, ein Rücksetzsignal wird an die erste
Logikschaltung angelegt. Eine zweite Logikschaltung empfängt das zweite
Taktsignal und das Zwischensignal von der ersten Logikschaltung.
Die zweite Logikschaltung erzeugt als Reaktion auf einen Übergang
des zweiten Taktsignals nachfolgend der Erzeugung des Zwischensignals
das zweite Signal. Die zweite Logikschaltung erzeugt als Reaktion
auf das zweite Signal auch das Rücksetzsignal.
Demzufolge wird das zweite Signal als Reaktion auf einen Übergang
des zweiten Taktsignals nachfolgend einem Übergang des ersten Taktsignals
nach dem Empfang des ersten Signals erzeugt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines herkömmlichen
Paars elektronischer Vorrichtungen, die in zwei unterschiedlichen
Taktbereichen arbeiten.
-
2 ist ein Zeitsteuerungsdiagramm, das in
den elektronischen Vorrichtungen aus 1 vorhandene
Signale darstellt.
-
3 ist
ein Blockdiagramm einer herkömmlichen
Speichervorrichtung, die in zwei Taktbereichen arbeitet.
-
4 ist
eine beispielhafte Ausführungsform einer
Koppelschaltung gemäß der Erfindung,
die zum miteinander Verbinden der elektronischen Vorrichtungen aus 1 verwendet
wird.
-
5 ist
ein Blockdiagramm und Logikdiagramm, das die Koppelschaltung aus 4 detaillierter
zeigt.
-
6 ist ein Zeitsteuerungsdiagramm, das in
der Koppelschaltung aus 5 vorhandene Signale darstellt.
-
7 sind
Logikdiagramme, die einen Detektor steigender und einen Detektor
fallender Flanken zeigen, die in der Koppelschaltung aus 5 verwendet
werden.
-
8 ist ein Zeitsteuerungsdiagramm, das in
dem Detektor steigender Flanken und dem Detektor fallender Flanken
aus 7 vorhandene Signale darstellt.
-
9 ist
ein Blockdiagramm einer Speichervorrichtung, die die Koppelschaltung
aus 5 verwendet.
-
10 ist
ein Blockdiagramm eines Computersystems, das die Speichervorrichtung
aus 9 verwendet.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Ein
Blockdiagramm einer beispielhaften Ausführungsform einer Koppelschaltung 60 gemäß einer Ausführungsform
der Erfindung ist in 4 dargestellt. Die in 4 dargestellte
Koppelschaltung 60 empfängt
sowohl das Signal S2, das von der ersten elektronischen
Vorrichtung 10 auf Leitung 14a erzeugt wird, als
auch das erste und das zweite Taktsignal CLKA und CLKB. Die Koppelschaltung 60 empfängt folglich
Taktsignale, die den Taktbereich sowohl der ersten elektronischen
Vorrichtung 10 als auch der zweiten elektronischen Vorrichtung 12 definieren.
Als Antwort auf das Signal S2 und die steigende
Flanke, die fallende Flanke oder sowohl die steigende als auch die
fallende Flanke des ersten Taktsignals CLKA gibt die Koppelschaltung 60 auf
Leitung 14b ein Signal S3 an die
zweite elektronische Vorrichtung 12 aus. Das Signal S3 wird als Reaktion auf die steigende Flanke,
die fallende Flanke oder sowohl die steigende als auch die fallende
Flanke des zweiten Taktsignals CLKB an die zweite elektronische
Vorrichtung 12 angelegt. Das Signal S3 wird
vorzugsweise an dem ersten Übergang
von CLKB folgend dem ersten Übergang
von CLKA an die zweite elektronische Vorrichtung 12 angelegt,
nachdem das Eingabesignal Si aktiv wird.
-
Eine
Ausführungsform
der Koppelschaltung 60 ist detaillierter in 5 gezeigt
und mit Bezug auf das Zeitsteuerungsdiagramm aus 6 erklärt. Das Auslösesignal
INIT wird an ein NAND-Gatter 62 angelegt. Das Auslösesignal
INIT ist in 6A gezeigt und das erste Taktsignal
CLKA, das den ersten Taktbereich definiert, ist in 6G gezeigt.
Wie in 6A gezeigt, geht das Auslösesignal
INIT zur Zeit t0 zu aktiv Hoch über. Wie
unten erklärt,
ist die Ausgabe der Koppelschaltung 60 niedrig, bevor das
Auslösesignal
INIT aktiv Hoch wird. Demzufolge wird das NAND-Gatter 62 von
einem Hoch an dem Ausgang eines Inverters 64 freigegeben,
wenn das Auslösesignal
INIT zu Hoch übergeht.
Als Antwort auf das hohe Auslösesignal
INIT gibt das NAND-Gatter 62 ein Niedrig aus, wodurch bewirkt
wird, dass ein Inverter 64 ein Hoch ausgibt, wie in 6C gezeigt.
Das Hoch an dem Ausgang des Inverters 66 gibt ein Paar NAND-Gatter 70, 72 frei.
Die NAND-Gatter 70, 72 empfangen auch entsprechende
Ausgaben von einem Detektor steigender Flanken 76 und einem
Detektor fallender Flanken 78. Der Detektor steigender Flanken 76 und
der Detektor fallender Flanken 78 empfangen jeder das Taktsignal
CLKA, das den ersten Taktbereich definiert. Die Struktur und die
Arbeitsweise dieser Flankendetektoren 76, 78 werden
im Detail unten erklärt.
Wie in 6D gezeigt, gibt der Detektor
steigender Flanken 76 als Reaktion auf jede steigende Flanke
des Taktsignals CLKA einen positiv gehenden Impuls aus. Auf ähnliche
Weise gibt, wie in 6E gezeigt, der Detektor fallender
Flanken 78 in Reaktion auf jede fallende Flanke des Taktsignals CLKA
einen positiv gehenden Impuls aus.
-
Die
Ausgaben der NAND-Gatter 70, 72 werden an entsprechende
Latches 80, 82 angelegt. Die Latches 80, 82 werden
von einer hohen Ausgabe der Koppelschaltung 60 rückgesetzt,
von der wie oben erklärt
angenommen wird, dass sie zu diesem Zeitpunkt niedrig ist. Die Ausgabe
des Latches 80 wird an ein erstes Paar Inverter 90, 92 angelegt,
während
die Ausgabe des Latches 82 auf ähnliche Weise an ein zweites
Paar Inverter 94, 96 angelegt wird. Die Ausgänge der
Inverter 90, 96 sind mit einem Inverter 110 gekoppelt,
während
die Ausgänge
der Inverter 92, 94 mit einem Inverter 112 gekoppelt
sind. Die Signale an den Ausgängen
der Inverter 110, 112 sind in 6F bzw. 6G gezeigt.
-
Wie
in 6F gezeigt, wird die Ausgabe des Inverters 110 als
Reaktion auf das Setzen des Latches 80 durch das NAND-Gatter 70 bei
t1 hoch, wenn das NAND-Gatter 70 einen
Impuls von dem Detektor steigender Flanken 76 empfängt, nachdem
die Ausgabe des Inverters 66 hoch wird. Die Signale an
den Ausgängen
der Inverter 110, 112 sind folglich Zwischensignale,
die mit der Zeitsteuerung des ersten Taktbereichs erzeugt werden.
Diese Zwischensignale sind dann für das Verarbeiten durch das
zweite Taktsignal CLKB in dem zweiten Taktbereich verfügbar, wie
unten erklärt.
-
Die
Inverter 90–96 geben
eine hohe Impedanz aus, es sei denn, sie werden von geeigneten an ihre
Freigabeeingänge
angelegten Signalen freigegeben. Genauer werden die Inverter 90, 94 von
einem Hoch-Freigabesignal freigege ben, während die Inverter 96, 92 von
einem Niedrig-Freigabesignal freigegeben werden. Folglich werden
entweder beide Inverter 90, 94 freigegeben oder
beide Inverter 92, 96 freigegeben. Die Inverter 90–96 werden
von der Ausgabe einer Phasenvergleicherschaltung 98 freigegeben,
deren Struktur und Arbeitsweise unten erklärt werden. Gegenwärtig wird
angenommen, dass die Ausgabe der Phasenvergleicherschaltung 98 hoch ist,
wodurch die Inverter 90, 94 freigegeben werden. Folglich
geben die Inverter 90, 94 als Reaktion auf ein
Hoch an dem Ausgang jedes Latches 80, 82 ein Niedrig
aus, das über
entsprechende Inverter 110, 112 ein entsprechendes
Paar NAND-Gatter 104, 106 freigibt.
-
Das
NAND-Gatter 104 empfängt
eine Ausgabe von einem Detektor steigender Flanken 120, der
das Taktsignal CLKB empfängt,
das den zweiten Taktbereich definiert. Das Taktsignal CLKB ist in 6H als
dem ersten Taktsignal CLKA hinterherhinkend gezeigt. Der Detektor
steigender Flanken 120 arbeitet auf die gleiche Weise wie
der Detektor steigender Flanken 76. Folglich legt, wie
in 6I dargestellt, der Detektor steigender Flanken 120 an jeder
steigenden Flanke von CLKB einen positiv gehenden Impuls an das
NAND-Gatter 104 an. Auf ähnliche Weise legt, wie in 6J dargestellt,
der Detektor fallender Flanken 122 wie der Detektor fallender Flanken 78 an
jeder fallenden Flanke von CLKB einen positiv gehenden Impuls an
das NAND-Gatter 106 an. Die Impulse an dem Ausgang des NAND-Gatters 104 werden
dann von einem NAND-Gatter 130 kombiniert, das die Impulse
von beiden NAND-Gattern 104, 106 als die Ausgabe
der Koppelschaltung 60 ausgibt. Der Ausgang des NAND-Gatters 130 ist
mit dem Ausgang der Koppelschaltung 60 gekoppelt. Das an
dem Ausgang der Koppelschaltung 60 erzeugte Signal ist
in 6M gezeigt.
-
Wie
oben erwähnt,
wird die Ausgabe der Koppelschaltung 60 zu dem NAND-Gatter 62 rückgekoppelt
und setzt auch die Latches 80, 82 zurück. Folglich
wird, wenn das NAND-Gatter 130 seinen ersten Impuls zum
Zeitpunkt t2 ausgibt, das NAND-Gatter 62 gesperrt
und werden die Latches 80, 82 rückgesetzt.
Die Latches 80, 82 geben danach ein Niedrig aus,
wodurch die NAND-Gatter 104, 106 gesperrt werden.
Folglich erzeugt die Koppelschaltung 60 einen Einzelimpuls
auf jeglichem Übergang des
zweiten Taktsignals CLKB nach jeglichem Übergang des ersten Taktsignals
CLKA, das dem Auslösesignal
INIT folgt. Außer dem
führt sie
diese Funktion ungeachtet der Phasen- oder Frequenzbeziehung zwischen
dem ersten Taktsignal CLKA und dem zweiten Taktsignal CLKB aus.
-
Die
Arbeitsweise der Koppelschaltung 60 für ein zweites Taktsignal CLKB
(6N), das dem ersten Taktsignal CLKA vorauseilt,
ist in 6N–6Q gezeigt.
Die Arbeitsweise der Koppelschaltung 60 ist bis zu den
NAND-Gattern 104, 106 die gleiche wie oben erklärt, da sich
nur das zweite Taktsignal CLKB geändert hat und CLKB an den NAND-Gattern 104, 106 mit
der Koppelschaltung verbunden ist. Folglich wird, wie zuvor, die
Eingabe in das NAND-Gatter 104 bei t1 hoch.
Jedoch wird, da das zweite Taktsignal CLKB dem ersten Taktsignal CLKA
eher vorauseilt als hinterherhinkt, die Ausgabe des NAND-Gatters 104 bei
t2 nicht niedrig, weil, wie in 6O gezeigt,
der Impuls von dem Detektor steigender Flanken 120 vor
t2 erzeugt wurde. Ferner wird die Ausgabe
des NAND-Gatters 106 bei
t3 nicht niedrig, weil der Impuls von dem
Detektor fallender Flanken 122 vor t3 erzeugt
wurde. Stattdessen bewirkt, wie in 6Q gezeigt,
der nächste
Impuls von dem Detektor steigender Flanken 120 nicht vor
t4, dass die Ausgabe des NAND-Gatters 104 niedrig
wird. Eine Verzögerung
dieses Ausmaßes
von dem Setzen eines der Latches 80, 82 bis zum
Hoch Werden der Ausgabe der Koppelschaltung 60 ist unakzeptabel. Das
ist der Grund, aus dem der Phasenvergleicher 98 verwendet
wird, wie unten erklärt.
-
Der
Phasenvergleicher 98 erzeugt eine Ausgabe, die anzeigt,
ob das zweite Taktsignal CLKB dem ersten Taktsignal CLKA vorauseilt
oder hinterherhinkt. Wenn das zweite Taktsignal CLKB dem ersten
Taktsignal CLKA hinterherhinkt, ist die Ausgabe des Phasenvergleichers 98 hoch,
wodurch die Inverter 90, 94 freigegeben werden.
Die Koppelschaltung 60 arbeitet dann wie oben mit Bezug
auf 6A–6M erklärt. Wenn
das zweite Taktsignal CLKB dem ersten Taktsignal CLKA vorauseilt,
ist die Ausgabe des Phasenvergleichers 98 niedrig, wodurch
die Inverter 92, 96 freigegeben werden. Die Koppelschaltung 60 arbeitet
dann wie unten mit Bezug auf 6N–P und 6R–T erklärt. Die
Konstruktion des Phasenvergleichers 98 liegt ganz im Könnensbereich
eines Fachmanns und eine detaillierte Beschreibung seiner Struktur
und Arbeitsweise wird folglich der Kürze halber weggelassen.
-
Mit
Bezug auf 6N–P und 6R–T wird, wenn
die Ausgabe des Latches 80 bei t2 hoch
wird, die Ausgabe über
den Inverter 92 gekoppelt, weil statt des Inverters 90 der
Inverter 92 von dem Niedrig von dem Phasenvergleicher 98 freigegeben
wird. Die Eingabe in das NAND-Gatter 106 wird folglich
bei t2 hoch, wie in 6R gezeigt.
Auf ähnliche
Weise wird die Ausgabe des Latches 82 über den Inverter 96 statt
durch den Inverter 94 gekoppelt. Demzufolge würde die
Eingabe in das NAND-Gatter 104 bei t3 hoch
werden, wenn der Latch 82 nicht von der Ausgabe der Koppelschaltung 60 rückgesetzt
worden wäre.
Wie in 6S gezeigt, wird die Ausgabe
des NAND-Gatters 106 bei t5 niedrig,
wodurch bewirkt wird, dass die Ausgabe der Koppelschaltung hoch wird,
wie in 6T gezeigt. Durch das Umleiten
der Ausgaben der Latches 80, 82 in Abhängigkeit
davon, ob das zweite Taktsignal CLKB dem ersten Taktsignal CLKA
vorauseilt oder hinterherhinkt, ist die Koppelschaltung 60 in
der Lage, ein Ausgabesignal mit einer beständig kleinen Verzögerung zu
erzeugen.
-
Die
Detektoren steigender Flanken 76, 120 und die
Detektoren fallender Flanken 78, 122 sind in 7 gezeigt
und ihre Arbeitsweise wird mit Bezug auf das Zeitsteuerungsdiagramm
aus 8 erklärt.
-
Die
Detektoren fallender Flanken 78, 122 weisen jeder
ein NOR-Gatter 200 auf, das ein CLK90*-Signal empfängt, das
durch das Durchführen
des CLK90 Signals durch einen Inverter 202 erzeugt wird.
Das CLK- und das CLK90-Signal werden von herkömmlichen Schaltungen außerhalb
der Koppelschaltung 60 erzeugt. Das CLK-Signal ist in der ersten
Zeile gezeigt und das CLK90-Signal ist in der zweiten Zeile der 8 gezeigt. Das NOR-Gatter 200 empfängt auch
die Ausgabe eines Paars von Invertern 204, 206,
die wiederum von der Ausgabe eines Inverters 208 getrieben
werden, der das CLK-Signal empfängt.
Die Inverter 204–208 verzögern das CLK-Signal,
um ein in der dritten Zeile der 8 gezeigtes
CLK-DEL Signal zu erzeugen. Die Ausgabe das NOR-Gatters 200 wird
immer dann hoch, wenn CLK90 hoch ist und, wenn CLK-DEL. Die Ausgabe das
NOR-Gatters 200 wird an ein NAND-Gatter 220 angelegt,
das auch ein CLK*-Signal von dem Inverter 316 empfängt. Die
Ausgabe des NAND-Gatters 220 treibt einen Inverter 222.
Die Ausgabe des Inverters 222 ist hoch, wenn alle Eingaben
in das NAND-Gatter 220 hoch sind. Folglich ist, wie in
der vierten Zeile von 8 gezeigt, die
Ausgabe des Inverters 222 niedrig, wenn das CLK90-Signal hoch
ist, CLK-DEL hoch ist und das CLK-Signal niedrig ist. Wie in 8 gezeigt, existieren diese Signalbedingungen
direkt nach der fallenden Flanke des CLK-Signals. Folglich gibt
der Inverter 222 als Reaktion auf jede fallende Flanke
des CLK-Signals einen positiv gehenden Impuls aus.
-
Die
Detektoren steigender Flanken 76, 120 weisen jeder
ein NAND-Gatter 230 auf, das das CLK-Signal und die Ausgabe
eines NOR-Gatters 232 empfängt. Das NOR-Gatter 232 empfängt wiederum das
CLK90-Signal und das CLK-Signal, nachdem es von einem Paar Inverter 234, 236 verzögert wurde. Das
NAND-Gatter 230 treibt
einen Inverter 240, der hoch wird, wenn das CLK-Signal
hoch ist, das CLK90-Signal niedrig ist und das CLK-DEL niedrig ist.
Gemäß der fünften Zeile
in 8 sind diese Signalbedingungen
direkt nach der steigenden Flanke von CLK erfüllt. Folglich gibt der Inverter 240 als
Reaktion auf jede steigende Flanke des CLK-Signals einen positiv
gehenden Impuls aus.
-
Die
Koppelschaltung 60 kann vorteilhaft in der Speichervorrichtung 20 aus 3 verwendet werden.
Mit Bezug auf 9 verwendet die Speichervorrichtung 20' die gleichen
Komponenten wie die Speichervorrichtung 20 aus 3 und
arbeitet bis auf die unten erklärten
Unterschiede auf die gleiche Weise. Folglich wurden der Kürze halber
die gleichen Komponenten in beiden Speichervorrichtungen 20, 20 mit
den gleichen Bezugszahlen versehen und wird eine detaillierte Erklärung der
Arbeitsweise der Speichervorrichtung 20' weggelassen.
-
Die
Speichervorrichtung 20' aus 9 verwendet
eine Koppelschaltung 60, um das Auslösesignal INIT mit dem Leseregister 42 zu
koppeln, und eine andere Koppelschaltung 60, um das Auslösesignal
INIT mit dem Schreibregister 52 zu koppeln. Wie oben erklärt, wird
das Auslösesignal
INIT in einem ersten Taktbereich erzeugt, da seine Zeitsteuerung intern
und nicht von einer externen Vorrichtung gesteuert wird. Wie auch
oben erklärt,
sind das Lesetaktsignal RCLK und das Datentaktsignal DCLK in einem
zweiten Taktbereich, da ihre Zeitsteuerung von einer externen Vorrichtung,
wie z. B. einem Speichercontroller, gesteuert wird, auch wenn das
Lesetaktsignal RCLK intern erzeugt wird. Die Koppelschaltungen 60 empfangen
folglich entsprechende Eingabesignale im ersten Taktbereich und
erzeugen entsprechende Ausgabesignale im zweiten Taktbereich.
-
Die
Speichervorrichtung 20' kann
wie in 10 gezeigt in einem Computersystem
verwendet werden. Mit Bezug auf 10 weist
das Computersystem 300 einen Prozessor 302 mit
einem Prozessorbus 304 auf, der durch einen Speichercontroller 305 mit
drei Speichervorrichtungen gekoppelt ist, die ein paketierter dynamischer
Speicher mit wahlfreiem Zugriff oder SyncLink-DRAMs ("SLDRAM") 20a–c sein
können.
-
Das
Computersystem 300 weist auch eine oder mehrere Eingabevorrichtungen 310,
wie z. B. einen Tastenblock oder eine Maus, auf, die durch eine Busbrücke 312 und
einen Erweiterungsbus 314, wie z. B. einen ,Industry Standard
Architecture'("ISA")-Bus oder einen
,Peripheral Component Interconnect'("PCI")-Bus, mit dem Prozessor 302 gekoppelt
sind. Die Eingabevorrichtungen 310 ermöglichen es einer Bedienungsperson
oder einer elektronischen Vorrichtung, Daten in das Computersystem 300 einzugeben.
Eine oder mehrere Ausgabevorrichtungen 320 sind mit dem
Prozessor 302 gekoppelt, um von dem Prozessor 302 erzeugte
Daten anzuzeigen oder anderweitig auszugeben. Die Ausgabevorrichtungen 320 sind über den
Erweiterungsbus 314, die Busbrücke 312 und den Prozessorbus 304 mit dem
Prozessor 302 gekoppelt. Beispiele für Ausgabevorrichtungen 320 umfassen
Drucker und Videoanzeigeeinheiten. Eine oder mehrere Datenspeichervorrichtungen 322 sind über den
Prozessorbus 304, die Busbrücke 312 und den Erweiterungsbus 314 mit dem
Prozessor 302 gekoppelt, um Daten in (nicht gezeigte) Speichermedien
zu speichern oder daraus abzurufen. Beispiele für Speichervorrichtungen 322 und
Speichermedien umfassen Festplattenlaufwerke, Diskettenlaufwerke,
Tonbandkassetten und CD-Nurlese-Speicherlaufwerke.
-
Im
Betrieb kommuniziert der Prozessor 302 über den Speichercontroller 305 mit
den Speichervorrichtungen 20a–c. Der Speichercontroller 305 schickt
den Speichervorrichtungen 20a–c Anweisungspakete, die sowohl
Steuer- als auch Adresseninformation enthalten. Daten werden über den
Speichercontroller 305 und einen Datenbusteil des Prozessorbusses 304 zwischen
den Prozessor 302 und die Speichervorrichtungen 20a–c gekoppelt.
Der Speichercontroller 305 legt Schreibdaten von dem Prozessor 302 an
die Speichervorrichtungen 20a–c an und legt Lesedaten von
den Speichervorrichtungen 20a–c an den Prozessor 302 an.
Beim Lesen von Daten aus den Speichervorrichtungen 20a–c liefert der
Speichercontroller 305 den Speichervorrichtungen 20a–c auch
Zeitsteuerungsinformation, um die Zeitsteuerung des Lesetaktsignals
RCLK bzw. des Datentaktsignals DCLK anzupassen. Obwohl alle Speichervorrichtungen 20a–c mit dem
Speichercontroller 305 gekoppelt sind, schreibt oder liest
zu einer Zeit nur eine Speichervorrichtung 20a–c Daten,
wodurch Buskonflikte vermieden werden. Buskonflikte werden von jeder
der Speichervorrichtungen 20a–c und der Busbrücke 312 mit
einem einzigartigen Identifikator vermieden und das Anweisungspaket
enthält einen
Identifizierungscode, der nur eine dieser Komponenten auswählt.
-
Das
Computersystem 300 weist auch eine Anzahl von anderen Komponenten
und Signalleitungen auf, die der Kürze halber in 10 weggelassen wurden.
Zum Beispiel empfangen die Speichervorrichtungen 20a–c wie oben
erklärt
auch ein Anweisungs- oder Haupttaktsignal, um interne Zeitsteuerungssignale
zu liefern, und ein Datentaktsignal, das Daten in die Speichervorrichtung 20 hinein
und aus ihr heraus taktet.
-
Aus
dem Vorhergehenden wird zu erkennen sein, dass, obwohl hierin zu
Darstellungszwecken spezielle Ausführungsformen der Erfindung
beschrieben wurden, verschiedene Modifikationen gemacht werden können.