-
TECHNISCHES GEBIET
-
Ausführungsbeispiele
der Erfindung beziehen sich allgemein auf das Gebiet der integrierten
Schaltungen und insbesondere auf Systeme, Methoden und Vorrichtungen
für eine
Taktgeberarchitektur unter Verwendung eines bi-direktionalen Bezugstaktes.
-
HINTERGRUND
-
Eine übliche mit
der Quelle synchrone Taktgeberarchitektur kann, beispielsweise,
in Speichersystemen zum Schaffen eines Bezugstaktes für einen
oder mehrere dynamische Speicher mit wahlfreiem Zugriff (DRAM) verwendet
werden. Bei üblichen
quellensynchronen Systemen erzeugt ein Speichercontroller den Bezugstakt,
beispielsweise unter Verwendung einer phasenverriegelten Schleife.
Der Speichercontroller legt den Bezugstakt sodann an einen primären DRAM
an, der wiederum den Bezugstakt an die Empfangstaktbäume eines
oder mehrerer sekundärer
DRAM verteilt.
-
Der
primäre
DRAM empfängt
den Bezugstakt und verteilt diesen über einen Empfangstaktbaum
und einen Übertragungstaktbaum.
Der Bezugstakt passiert sodann den Empfängertaktbaum eines sekundären DRAMs.
Jeder sekundäre
DRAM verwendet den Bezugstakt zum Steuern der Übertragung von Daten zu dem primären DRAM.
Im Allgemeinen hat der Bezugstakt, der zum Steuern der Übertragung
von Daten zu dem primären
DRAM verwendet worden ist, den Speichersteuertaktbaum, den Kanal,
den primären
DRAM Empfängertaktbaum
und den primären
DRAM Sendertaktbaum gequert.
-
Der
Taktzyklus, der die Daten an dem primären DRAM empfängt, wird
um wenige Zyklen unterschiedlich sein von dem, der diesen zu dem
sekundären
DRAM sendet. Bei dem Vorhandensein eines Quellenrauschens in dem
Bereich von (beispielsweise) 100 MHz oder mehr, führt die
Fehlanpassung des Taktes an die Datenverzögerung zu erheblichem Jitter.
Dieser Jitter kann den Bezugstakt oberhalb bestimmter Frequenzen bei
vielen Anwendungen nicht verwendbar machen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungsbeispiele
der Erfindung werden beispielhaft, nicht aber begrenzend, in den
Figuren der beiliegenden Zeichnungen wiedergegeben, wobei andere
entsprechende Bezugszeichen einander ähnliche Elemente angeben.
-
1 ist
ein Blockdiagramm auf hoher Ebene, das ausgewählte Aspekte eines Systems
von Chips wiedergibt, die entsprechend einem Ausführungsbeispiel
der Erfindung implementiert sind.
-
2 ist
ein Blockdiagramm, das ausgewählte
Aspekte eines Speichersystems wiedergibt, das entsprechend einem
Ausführungsbeispiel
der Erfindung implementiert ist.
-
3
ist ein Blockdiagramm, das ausgewählte Aspekte eines Chips mit
einem bi-direktionalen Taktanschluss entsprechend einem Ausführungsbeispiel
der Erfindung wiedergibt.
-
4 ist
ein Schaltungsdiagramm, das ausgewählte Aspekte eines bi-direktionalen Taktanschlusses wiedergibt,
das entsprechend einem Ausführungsbeispiel
der Erfindung implementiert ist.
-
5 ist
ein Flussdiagramm, das ausgewählte
Aspekte eines Verfahrens für
eine Taktgeberarchitektur unter Verwendung eines bi-direktionalen
Bezugsblocks entsprechend einem Ausführungsbeispiel der Erfindung
wiedergibt.
-
6A und 6B sind
Blockdiagramme, die ausgewählte
Aspekte von Rechnersystemen wiedergeben.
-
EINGEHENDE BESCHREIBUNG
-
Ausführungsbeispiele
der Erfindung sind allgemein auf Systeme, Verfahren und Vorrichtungen
für eine Taktgeberarchitektur
unter Verwendung eines bi-direktionalen Taktanschlusses gerichtet.
Bei einem Ausführungsbeispiel
weisen wenigstens einige der Chips innerhalb eines Systems einen
bi-direktionalen Taktanschluss auf. Der bi-direktionale Taktanschluss
kann entweder zum Übertragen
eines Referenztaktes oder zum Empfangen eines Referenztaktes konfiguriert
sein. Bei einem Ausführungsbeispiel
splittet ein primärer
Chip (beispielsweise ein primärer
DRAM) das Taktsignal und sendet dieses durch seinen bi-direktionalen Taktanschluss.
Jeder sekundäre
Chip empfängt
den Referenztakt an seinen bi-direktionalen
Taktanschluss und verwendet diesen zum Übertragen von Daten, ohne dass
der Referenztakt den Übertragungstaktbaum
des primären
DRAM queren muss. Wie weiter unten diskutiert werden wird, bietet
das Ausführungsbeispiel
der Erfindung einen größeren Schutz
vor dem Erzeugen von durch das Rauschen induziertem Jitter.
-
1 ist
ein Blockdiagramm auf einer hohen Ebene, das ausgewählte Aspekte
eines Systems von Chips zeigt, die nach einem Ausführungsbeispiel
der Erfindung implementiert sind. Das System 100 weist Chips 110, 120 und 130 auf,
die in einer sich wiederholenden Architektur angeordnet sind. Der
Begriff „wiederholende
Architektur" bezieht
sich auf eine Architektur, bei der Chips Daten an einem Anschluss
empfangen und diese Daten (wenigstens einen Teil dieser Daten) über einen
zweiten Anschluss wiederholen. Der Chip 120 empfängt beispielsweise
Daten an den Anschlüssen 126 und 124 und
wiederholt diese Daten durch deren Übertragen von den Anschlüssen 128 und 122.
-
Die
Chips 120 und 130 verwenden einen Bezugstakt von
dem Chip 110 zum Übertragen
von Daten von den Anschlüssen 122 bzw. 132.
Bei einem Ausführungsbeispiel
wird der Bezugstakt erzeugt von, wenigstens teilweise, einer phasenverriegelten
Schleife (PLL) 112 und wird zu dem Chip 120 geführt. Der
Chip 120 spaltet den Referenztakt (beispielsweise bei 102)
und überträgt diesen
von dem bi-direktionalen Taktanschluss 140 zurück. Bei
einem Ausführungsbeispiel
ist der bi-direktionale Taktanschluss 120 ein Taktanschluss,
der entweder als ein Sender oder als ein Empfänger konfiguriert werden kann.
Bei einem Ausführungsbeispiel
wird der Referenztakt aufgespalten, bevor er durch den zweiten Transmitter 128 des
Chips 120 geht.
-
Der
Chip 130 empfängt
den Bezugstakt an dem bi-direktionalen Taktanschluss 142.
Der empfangene Bezugstakt wird von dem bi-direktionalen Taktanschluss 142 zu
dem primären
Transmitter 132 geführt.
Der Chip 120 verwendet den Referenztakt zum Steuern der
Transmission von Daten von dem primären Transmitter 132.
Bei einem Ausführungsbeispiel
verringert die Verwendung von bi-direktionalen Taktanschlüssen 140 und 142 den
Jitter, da die Länge
des Bezugstaktweges reduziert ist verglichen mit der Länge des
Bezugstaktweges in, beispielsweise, üblichen, mit der Quelle synchronen
System. In dem dargestellten Ausführungsbeispiel wird die Länge des
Bezugstaktweges reduziert, da er nicht durch den sekundären Transmitter 128 (und
dessen zugehörigen
Taktbaum) und den primären
Empfänger 136 (und
dessen zugehörigen
Taktbaum) läuft.
-
2 ist
ein Blockdiagramm, das ausgewählte
Aspekte eines Speichersystems, das nach einem Ausführungsbeispiel
der Erfindung implementiert ist, zeigt. Das Speichersystem 200 weist
einen Speichercontroller 210, einen Konnektor 220 und
Speichereinheiten 230/240 auf. Bei einem Ausführungsbeispiel
weist das Speichersystem 200 eine wiederholende Architektur
auf, d. h., jede Speichereinheit wiederholt (wenigstens einen Teil)
der Daten, die es sowohl in der primären Richtung (d. h., der Richtung,
die zu dem Speichercontroller 210 weist) und der sekundären Richtung
(d. h., der Richtung, die weg von dem Speichercontroller 210 weist oder
diesem gegenüberliegt),
empfängt.
-
Der
Speichercontroller 210 steuert wenigstens teilweise, den
Strom der Daten zwischen den Speichereinheiten 230/240 und
beispielsweise einem oder mehreren Prozessoren. Bei einem Ausführungsbeispiel
liefert der Speichercontroller 210 einen Bezugstakt (d.
h. einen quellensynchronen Takt) unter Verwendung beispielsweise
einer phasenverriegelten Schleife 212. Der Sender 214 sendet
den Bezugstakt an die Speichereinheit 230 durch, beispielsweise,
den Connektor 220. Der Connektor 220 ist, beispielsweise,
der gegenständliche
Connektor, in den ein Speichermodul (beispielsweise ein duales Inline
Speichermodul DIMM)) eingesetzt ist.
-
Die
primäre
Speichereinheit 230 empfängt den Bezugstakt auf dem
primären
Empfänger 232.
Bei einem Ausführungsbeispiel
wird der Bezugstakt von dem Bezugstaktbaum verzweigt und wird an
den bi-direktionalen Taktanschluss 260 angelegt zum Verteilen
auf die sekundären
Speichereinheiten 240. Bei einem Ausführungsbeispiel ist der bi-direktionale
Taktanschluss 260 zum Übertragen
des Referenztakts auf sekundäre Speichereinheiten 240 konfiguriert.
Bei einem solchen Ausführungsbeispiel
sind die bi-direktionalen Taktanschlüsse 262 zum Empfangen
des Bezugstaktes konfiguriert.
-
Bei
jeder sekundären
Speichereinheit 240 wird der Referenztakt einem bi-direktionalen
Taktanschluss 262 empfangen. Der Bezugstakt wird sodann
zu dem Transmitter 244 gesendet. Bei einem Ausführungsbeispiel
verwendet der Transmitter 244 den Bezugstakt zum Steuern
(wenigstens teilweise) von Daten zu, beispielsweise Links 246.
Bei einem Ausführungsbeispiel
sind die Links 246 Point-to-Point-Links in einem Speicherkanal.
In einem alternativen Ausführungsbeispiel
können
die Links 246 unterschiedlich implementiert sein (beispielsweise
als Links in einem Datennetz).
-
In
dem dargestellten Ausführungsbeispiel
umgeht der Referenztakt den sekundären Transmitter 236 (die
primäre
Speichereinheit 230) und die primären Empfänger 248 (sekundäre Speichereinheiten).
Der Bezugstakt zeigt weniger Jitter, weil der Taktweg kürzer ist
und durch weniger Taktbäume
geht. Bei einem Ausführungsbeispiel
sind höhere
Datenraten auf den Chip-zu-Chip-Links (beispielsweise die Links 246)
möglich, da
der Referenztakt weniger Jitter zeigt (insbesondere weniger Jitter,
als die Links in ein übliches
quellensynchrones System zeigen würden).
-
Speichereinheiten 230/240 können von
jedem Typ einer Speichereinheit sein, die zum Schaffen eines Systemspeichers
geeignet sind. Beispielsweise sind bei einem Ausführungsbeispiel
die Speichereinheiten 230/240 dynamische Speichereinheiten
mit wahlfreiem Zugriff (DRAM). Bei einem alternativen Ausführungsbeispiel
können
die Speichereinheiten 230/240 synchrone DRAM (SDRAM),
statische Speicher mit wahlfreiem Zugriff (SRAM), magnetische Speicher
mit wahlfreiem Zugriff (MRAM) und dergleichen sein.
-
Bei
einem Ausführungsbeispiel
ist die primäre
Einheit
230 ein primärer
DRAM und die Einheiten
240 sind sekundäre DRAMs. Bei einem Ausführungsbeispiel
wird, wie oben beschrieben, ein quellensynchroner Takt nach dem
Empfang des Taktbaums des primären
DRAM
230 verzweigt. Dieser Takt wird sodann von einem bi-direktionalen
Taktanschluss an dem primären
DRAM
230 an einen bi-direktionalen Taktanschluss an jedem
der sekundären
DRAM
240 verteilt. Die sekundären DRAM
240 verwenden
den Takt in ihren Transmitter
244. Bei einem Ausführungsbeispiel
zeigen die Links
246 weniger Jitter als übliche Links,
da der in
2 gezeigte Taktweg kürzer ist
als der Taktweg, der bei üblichen
Links verwendet wird. Tabelle 1 zeigt den Jitter als eine Funktion
des Rauschens entsprechend einem Ausführungsbeispiel der Erfindung.
Wie in Tabelle 1 gezeigt, kann bei einem Ausführungsbeispiel der Jitter um
etwa 50% gesenkt werden, wobei das Quellenrauschen annähernd 2,5%
beträgt.
Bei einem Ausführungsbeispiel
ergibt sich ein ähnlicher
Trend, wenn unterschiedliche PLL Schwankungsbeiträge zu dem
Link zugefügt
werden. Tabelle 1
Amplitude
Versorgungsrauschen in % | Schwankungen
in üblichen
quellensynchronen Ausgestaltungen von dem Versorgungsrauschen (ps) | Schwankungen
bei einem Ausführungsbeispiel
der Erfindung mit einem Referenztakt von dem Versorgungsrauschen
(ps) |
0 | 0 | 0 |
2,5 | 77 | 43 |
5 | 157 | 96 |
7,5 | 248 | 158 |
10 | 339 | 221 |
-
3 ist
ein Blockdiagramm, das ausgewählte
Aspekte eines Chips mit einem bi-direktionalen
Taktanschluss nach einem Ausführungsbeispiel
der Erfindung wiedergibt. Der Chip 300 kann jeder Chip
sein, der für
ein System geeignet ist, bei dem Daten von einem Chip zu einem anderen
Chip in einer kaskadierten Weise wiederholt werden. Bei einem Ausführungsbeispiel
ist der Chip 300 beispielsweise eine Speichereinheit, etwa eine
dynamische Speichereinheit mit wahlfreiem Zugriff (DRAM). Bei einem
alternativen Ausführungsbeispiel kann
der Chip 300 ein Netzschnittstellen (I/F) Chip etwa ein
Tokenring I/F sein.
-
Bei
einem Ausführungsbeispiel
unterstützt
der Chip 300 eine Wiederholungsfunktion. Das heißt, der Chip 300 empfängt Daten
von einer Quelle (beispielsweise einem Speichercontroller) und gibt
wenigstens ein Teil dieser Daten an einen weiteren Chip (oder Chips)
weiter. Bei dem dargestellten Ausführungsbeispiel beispielsweise
empfängt
der Chip 300 Daten auf den Empfangsanschlüssen 302.
Die Empfangsanschlüsse 302 weisen
Empfänger 304 auf.
Es ist anzuerkennen, dass der Chip 300, der dargestellt
ist, zwei Empfangsanschlüsse 302 hat,
was lediglich der Erläuterung
dient. Bei einem Ausführungsbeispiel
kann der Chip 300 mehr als zwei Empfangsanschlüsse 302 oder
einen einzigen Empfangsanschluss 302 haben.
-
Der
Chip 300 weist Transmitterdatenanschlüsse 306 auf mit Transmittern 308.
Bei einem Ausführungsbeispiel
wird wenigstens ein Teil der Daten, die von den Ports 302 empfangen
werden, über
die 306 an einen weiteren Chip (oder Chips) weitergegeben.
Es ist anzuerkennen, dass der Chip 300 als ein Transmitteranschluss 306 lediglich
zum Zwecke der Erläuterung
wiedergegeben ist. Bei einem Ausführungsbeispiel kann der Chip 300 mehr
als zwei Transmitteranschlüsse 306 oder
einen einzigen Transmitteranschluss 306 haben.
-
Bei
einem Ausführungsbeispiel
kann der Chip 300 entweder als ein primärer Chip oder als ein sekundärer Chip
konfiguriert sein. Ein „primärer Chip" bedeutet, dass ein
Chip zum Transmittieren des Referenztakts zu einem anderen Chip
konfiguriert ist und ein „sekundärer Chip" bedeutet ein Chip,
der zum Empfangen des Referenztakts von dem primären Chip konfiguriert ist.
Die Konfiguration des Chips 300 kann das Konfigurieren eines
bi-direktionalen
Taktanschlusses 320 und das Selektieren eines Eingangs
für einen
Multiplexer 318 einschließen.
-
Bei
einem Ausführungsbeispiel
kann ein bi-direktionaler Taktanschluss 320 entweder zum
Empfangen eines Referenztakts oder zum Transmittieren eines Referenztakts
konfiguriert sein. Beispielsweise kann der bi-direktionale Taktanschluss 320 zum
Aussenden eines Taktanschlusses zum Freigeben des Empfängers 322 oder
zum Blockieren des Senders 324 konfiguriert sein. Entsprechend
kann der bi-direktionale Taktanschluss 320 zum Übertragen
eines Referenztakts durch Freigeben des Transmitters 324 und
Blockieren des Empfängers 322 konfiguriert
sein. Bei einem alternativen Ausführungsbeispiel kann die Konfiguration
des bi-direktionalen Taktanschlusses 320 mehr, weniger
und/oder unterschiedliche Elemente aufweisen.
-
Bei
einem Ausführungsbeispiel
empfängt
der Transmittertaktbaum 316 einen Bezugstakt 310 von
einer von zwei Quellen abhängig
davon, ob der Chip 300 als ein primärer Chip oder als ein sekundärer Chip konfiguriert
ist. Wenn der Chip als ein primärer
Chip konfiguriert ist, empfängt
der Transmissionstaktbaum 316 den Bezugstakt 310 von
dem Bezugstaktanschluss 312. Wenn der Chip 300 alternativ
als sekundärer
Chip konfiguriert ist, empfängt
der Transmissionstaktbaum 316 den Bezugstakt 310 von
dem bi-direktionalen Taktanschluss 320. Bei einem Ausführungsbeispiel
selektiert der Multiplexer 318, welche Quelle den Bezugstakt 310 liefert.
-
Der
Referenztakt 310 kann, beispielsweise, ein quellensynchroner
Takt sein, der zum Synchronisieren der Transmission von Daten zwischen
einer Mehrzahl von Chips verwendet wird. Bei einem Ausführungsbeispiel
ist der Referenztakt 310 ein Differenentialsignal. Bei
einem alternativen Ausführungsbeispiel
ist der Referenztakt 310 ein einseitig endendes Signal.
Ein „Differentialsignal" bezieht sich auf
eine Übertragung
einer Information über
ein Paar von Transmissionsleitungen und ein „einfach-endendes Signal" bezieht sich auf
eine Übertragung
von Information über
eine einzige Transmissionsleitung. Bei einem Ausführungsbeispiel
wird der Bezugstakt auf die Empfänger 304 über den
Empfangstaktbaum 314 (über,
beispielsweise, Puffer 328) verteilt.
-
Bei
einem Ausführungsbeispiel
wird der Chip 300 während
des Startens des Systems konfiguriert. Beispielsweise kann der Chip 300 von
dem Basis-I/O-System (BIOS) eines zugehörigen Computersystems konfiguriert
werden. Bei einem solchen Ausführungsbeispiel
kann das BIOS Konfigurationsbits 332 während des Startens des Systems
lesen um zu bestimmen, ob der Chip 300 ein primärer oder
ein sekundärer
Chip ist. Das BIOS kann sodann eine Konfigurationsinformation 334 zum
Konfigurieren des Chips 300 liefern. Die Konfigurationsinformation
kann, beispielsweise, zum Auswählen
eines Eingangs für
ein Schaltelement (Multiplexer 318) und/oder zum Freigeben
(Sperren) des Empfängers 322 und
des Senders 324 verwendet werden. Bei einem alternativen
Ausführungsbeispiel
erfolgt die Bestimmung, welcher Chip 300 ein primärer oder
ein sekundärer
Chip ist, dynamisch (beispielsweise adaptiv).
-
Bei
einem Ausführungsbeispiel
liefert die Seitenwand I/O Schnittstelle 330 eine Schnittstelle
zum Konfigurieren des Chips 300. Die Seitenwand I/O Schnittstelle 330 kann,
beispielsweise, eine Hilfsschnittstelle des Chips 300 sein.
Bei einem alternativen Ausführungsbeispiel
kann eine andere Schnittstelle zum Konfigurieren des Chips 300 verwendet
werden. Bei einem alternativen Ausführungsbeispiel kann, beispielsweise,
eine konventionelle Schnittstelle (beispielsweise Empfangsanschlüsse 302 und/oder
Sendeanschlüsse 306)
verwendet werden zum Konfigurieren des Chips 300 während der
Initialisierung. Bei einem alternativen Ausführungsbeispiel kann der Chip 300 ein
adaptives Konfigurationsschema verwenden um zu bestimmen, ob er
ein primärer
oder ein sekundärer
Chip ist. Das adaptive Konfigurationsschema kann die Verwendung
eines separaten Chips aufweisen, der entweder auf Hoch oder auf
Tief gelegt ist zum Bestimmen, ob der Chip 300 ein primärer oder
ein sekundärer
Chip ist.
-
4 ist
ein Schaltdiagramm, das ausgewählte
Aspekte eines bi-direktionalen Taktanschlusses wiedergibt, das nach
einem Ausführungsbeispiel
der Erfindung implementiert ist. Pins 402 schaffen eine
elektrische Verbindung zwischen dem bi-direktionalen Anschluss 400 und
beispielsweise einem differentiellen Taktkanal. Bei einem alternativen
Ausführungsbeispiel
(beispielsweise einem einfach endenden Ausführungsbeispiel) kann der direktionale
Taktanschluss 400 nur einen Stift 402 aufweisen.
Bei einem Ausführungsbeispiel sind
Anschlusswiderstände 404 an
die Stifte 402 gelegt.
-
Bei
einem Ausführungsbeispiel
kann der bi-direktionale Taktanschluss 400 entweder zum
Senden oder zum Empfangen von Referenztakten 408 ausgebildet
sein. Bei einer Konfiguration als Transmitter saugt ein strombetriebener
Treiber 406 einen Strom von den Stiften 402. Alternativ
empfängt
er dann, wenn der bi-direktionale Taktanschluss 400 als
ein Empfänger
konfiguriert ist, Referenzsignale 408 und Verwendung beispielsweise
des Empfängers 410.
Bei einem Ausführungsbeispiel
ist die Konfiguration des bi-direktionalen Taktanschlusses 400 erreicht
durch Blockieren (oder, umgekehrt, Freigeben) des Stromtreibers 406 und/oder des
Empfängers 410.
In dem dargestellten Ausführungsbeispiel
kann ein Blockieren des Eingangs 412 beispielsweise zum
Blockieren/Freigeben des Stromtreibers 406 und ein dadurch
bewirktes Konfigurieren des Anschlusses 400 zum Aussenden
oder zum Trennen von Referenztakten 408 verwendet werden.
-
5 ist
ein Flussdiagramm, das ausgewählte
Aspekte eines Verfahrens für
eine Taktgeberarchitektur unter Verwendung eines bi-direktionalen
Referenztakts angibt, nach einem Ausführungsbeispiel der Erfindung. Ein
System (beispielsweise das in 2 gezeigte
Speichersystem) kann zwei oder mehrere Chips aufweisen, die jeweils
einen bi-direktionalen Taktanschluss haben. Bei einem Ausführungsbeispiel
kann jeder bi-direktionale Taktanschluss entweder zum Senden oder
zum Empfangen eines Takts konfiguriert sein. Es wird auf den Prozessblock 502 Bezug
genommen. Zwei oder mehrere bi-direktionale Taktanschlüsse sind
zum Aussenden eines Takts konfiguriert. Beispielsweise ist ein bi-direktionaler Taktanschluss
(auf einem primären
Chip) konfiguriert zum Übertragen
eines Takts und ein weiterer bi-direktionaler Kontaktanschluss auf
einem sekundären Chip)
ist zum Empfangen des Takts konfiguriert. In einem Ausführungsbeispiel
werden der primäre
Chip und der sekundäre
Chip bei einem Starten des Systems konfiguriert. In einem alternativen
Ausführungsbeispiel kann
die Konfiguration bei anderen Ereignissen erfolgen.
-
Der
Takt wird an dem primären
Chip bei 504 empfangen. Bei einem Ausführungsbeispiel ist der empfangene
Takt ein Referenztakt der, beispielsweise, von einem Speichercontroller
geliefert wird. Bei einem solchen Ausführungsbeispiel kann der primäre Chip
ein primärer
DRAM sein.
-
Es
wird jetzt auf den Prozessblock 506 Bezug genommen. Der
Takt wird von dem primären
Chip an einen sekundären
Chip unter Verwendung eines bi-direktionalen Taktanschlusses übertragen.
In einem Ausführungsbeispiel
ist der bi-direktionale Taktanschluss statisch konfiguriert zum Übertragen
des Taktes. Der Begriff „statisch
konfiguriert" bezieht
sich auf das Beibehalten der Konfiguration des Abschlusses in Übereinstimmung
mit einer Konfigurationsstrategie. Beispielsweise kann ein bi-direktionaler
Taktanschluss konfiguriert sein in Antwort auf ein Ereignis (das
Starten des Systems) beibehalten werden, bis dieses Ereignis erneut
auftritt (oder das Auftreten eines anderen Ereignisses). Alternativ
kann ein bi-direktionaler
Taktanschluss seine Konfiguration für eine bestimmte Zeitdauer
beibehalten.
-
Bei
einem Ausführungsbeispiel
sind der primäre
Chip und der sekundäre
Chip im wesentlichen identisch. Der Begriff „im wesentlichen identisch" bezieht sich auf
Chips, die (wenigstens in einem wesentlichen Teil) dieselbe Funktion
ausführen.
Beispiele von Chips, die im Wesentlichen identisch sind, schließen Speicher ein
wie dynamische Speichereinheiten mit wahlfreiem Zugriff (DRAM).
Andere Beispiele, die im Wesentlichen identisch sind, weisen Chips
auf, die ein Netz betreiben, etwa ein Tokenring oder dgl. Bei einigen
Ausführungsbeispielen
können
der primäre
Chip und/oder der sekundäre
Chip eine Wiederholungsfunktion ausführen. Bei derartigen Ausführungsbeispielen
können
der primäre
Chip und/oder der sekundäre
Chip Daten auf einem ersten Anschluss empfangen und (wenigstens
ein Teil der) Daten auf einem Empfänger eines zweiten Abschlusses.
-
Es
wird jetzt auf den Prozessblock 508 Bezug genommen. Ein
sekundärer
Chip empfängt
den Takt an seinem bi-direktionalen Taktanschluss. Bei einem Ausführungsbeispiel
kann der bi- direktionale
Taktanschluss des sekundären
Chips statisch konfiguriert sein entweder um den Takt zu übertragen
oder zu empfangen. Bei einem Ausführungsbeispiel werden sowohl
der primäre
Chip als auch der sekundäre
Chip bei dem Start des Systems konfiguriert. Bei einem Ausführungsbeispiel
verwendet der sekundäre
Chip den Takt zum Betreiben eines oder mehrerer Transmitter. Bei
einem derartigen Ausführungsbeispiel
wird der empfangene Takt an einen oder mehrere Transmitter des sekundären Chips
geliefert. Es wird jetzt auf den Prozessblock 510 Bezug genommen.
Daten werden von dem sekundären
Chip zu einem weiteren Chip (beispielsweise im primären Chip) übertragen
unter Verwendung eines Transmitters, der wenigstens teilweise durch
den Takt, der von dem primären
Chip erhalten wurde, getaktet ist.
-
Die 6A und 6b sind
Blockdiagramme, die ausgewählte
Aspekte der Rechnersysteme 600 bzw. 700 zeigen.
Das Rechnersystem 600 weist einen Prozessor 610 auf,
der mit einer Verschaltung 620 gekoppelt ist. Bei einigen
Ausführungsbeispielen
sind der Ausdruck Prozessor und zentrale Recheneinheit (CPU) untereinander
austauschbar. Bei einem Ausführungsbeispiel
ist der Prozessor 610 ein Prozessor der XEON® Familie
von Prozessoren, die von der Intel Corporation von Santa Clara,
Kalifornien, erhältlich
ist. Bei einem alternativen Ausführungsbeispiel
können
andere Prozessoren verwendet werden. Bei einem alternativen Ausführungsbeispiel
kann der Prozessor 610 mehrere Prozessorkerne beinhalten.
Bei einem Ausführungsbeispiel ist
der Chip 210 eine Komponente eines Satzes von Chips. Der
Interconnekt 620 kann eine Point-zu-Point Verschaltung
sein oder kann verbunden mit zwei oder mehreren Chips (beispielsweise
des Satzes von Chips) sein. Der Chip 630 weist einen Speichercontroller
auf, der mit einem Hauptsystemspeicher gekoppelt sein kann (beispielsweise
wie in 1 gezeigt). Bei einem alternativen Ausführungsbeispiel
kann der Speichercontroller 640 derselbe Chip sein wie
der Prozessor 610 (wie in 6B gezeigt).
Das Speichersystem 642 weist Speichereinheiten (beispielsweise
DRAM) 644 auf. Jede Speichereinheit 644 weist
einen bi-direktionalen Taktanschluss auf. Bei einem Ausführungsbeispiel
liefert der bi-direktionale Taktanschluss teilweise einen Taktweg der
kürzer
ist als bei üblichen
Systemen. Bei einem Ausführungsbeispiel
reduziert der kürzere
Taktweg den Jitter auf den Links zwischen den Speichereinheiten.
-
Der
Eingang/Ausgang (I/O) Controller 650 steuert den Fluss
der Daten zwischen dem Prozessor 610 und einem oder mehreren
I/O Schnittstellen (beispielsweise verdrahteten oder drahtlosen
Netzschnittstellen) und/oder I/O Einheiten: beispielsweise kontrolliert
in dem dargestellten Ausführungsbeispiel
der I/O Controller 650 den Fluss von Daten zwischen dem
Prozessor 610 und einem drahtlosen Sender und Empfänger 660.
Bei einem alternativen Ausführungsbeispiel
kann der Speichercontroller 640 und der I/O Controller 650 in
einem einzigen Controller integriert sein.
-
Elemente
der Ausführungsbeispiele
der vorliegenden Erfindung können
auch als ein maschinenlesbares Medium zum Speichern der von einer
Maschine ausführbaren
Befehle vorgesehen sein. Das maschinenlesbare Medium kann, ohne
darauf begrenzt zu sein, einen Flashspeicher, eine optische Disc,
einen Nur-Lese-Speicher einer kompakten Disc (CD-ROM), eine digitale Versatile/Video
Disk (DVD) ROM, einen Speicher mit wahlfreiem Zugriff (RAM), einen
löschbaren
programmierbaren Nur-Lese-Speicher (EPROM), einen elektrisch löschbaren
programmierbaren Nur-Lese-Speicher (EEPROM), magnetische oder optische
Karten, fortschreitende Medien oder andere Arten von maschinenlesbaren
Medien, die zum Speichern von elektronischen Befehlen geeignet sind.
Beispielsweise können
Ausführungsbeispiele
der Erfindung als ein Computerprogramm geladen werden, die von einem
entfernten Computer (beispielsweise einem Server) zu einem anfragenden
Computer (beispielsweise einem Client) mittels Datensignalen übertragen
werden, die in einer Trägerwelle
oder einem anderen fortschreitenden Medium wie einem Kommunikationslink
(beispielsweise einem Modem oder einer Netzverbindung) dargestellt
werden.
-
Es
ist zu berücksichtigen,
dass in dieser Beschreibung die Bezugnahme auf „ein Ausführungsbeispiel" oder „das Ausführungsbeispiel" bedeutet, dass ein
bestimmtes Merkmal, eine Struktur oder eine Verbindung mit diesem
Ausführungsbeispiel
beschriebene Eigenschaft wenigstens bei einem Ausführungsbeispiel
der vorliegenden Erfindung vorhanden ist. Es wird daher betont werden
und berücksichtigt
werden, dass zwei oder mehr Bezugsnahmen auf dem „einen
Ausführungsbeispiel" oder „das Ausführungsbeispiel" oder ein „alternatives
Ausführungsbeispiel" an verschiedenen
Orten an dieser Beschreibung nicht notwendigerweise sich erlauben
dasselbe Ausführungsbeispiel
beziehen. Weiter können
die bestimmten Merkmale, Strukturen oder Eigenschaften, die geeignet
in einem oder mehreren Ausführungsbeispielen
der Erfindung kombiniert werden.
-
Entsprechend
ist zu berücksichtigen,
dass in der vorangehenden Beschreibung von Ausführungsbeispielen der Erfindung
verschiedene Merkmale der Erfindung manchmal gemeinsam zum einem
einzigen Ausführungsbeispiel,
einer Figur oder einer Beschreibung lediglich zur Übersichtlichkeit
der Offenbarung gruppiert sind, die hilft, die verschiedenen erfinderischen
Aspekte zu verstehen. Dieses Verfahren der Offenbarung soll jedoch
nicht als Absicht interpretiert werden, das der beanspruchte Gegenstand
mehr Merkmale benötigt,
als diese in jedem Anspruch ausdrücklich angegeben worden sind.
Die nachfolgenden Ansprüche
geben vielmehr erfinderische Aspekte an, die in weniger als allen
Merkmalen eines einzelnen vorangehend offenbarten Ausführungsbeispiels
liegen. Die der eingehenden Beschreibung folgenden Ansprüche werden
hierdurch ausdrücklich
in diese eingehende Beschreibung einbezogen.
-
ZUSAMMENFASSUNG
-
Ausführungsbeispiele
der Erfindung sind allgemein auf Systeme, Verfahren und Vorrichtungen
für eine Taktgeberarchitektur
unter Verwendung eines bi-direktionalen Taktes gerichtet. Bei einem
Ausführungsbeispiel weist
ein Chip einen bi-direktionalen Taktanschluss auf, der dazu in der
Lage ist, statisch konfiguriert zu werden um einen Referenztakt
aufzunehmen oder auszugeben. Bei einem Ausführungsbeispiel weist der Chip
einen erstsen Anschluss zum Empfangen von Daten und einen zweiten
Anschluss auf, wobei der Chip wenigstens einen Teil der Daten wiederholt,
die an dem ersten Anschluss aufgenommen werden an einen Transmitter
an einem zweiten Anschluss. Weitere Ausführungsbeispiele werden beschrieben
und beansprucht.