-
HINTERGRUND
-
In Hochleistungsrechnersystemen können das Speichersystem und die verbindenden Strukturen, d.h. die Datenbusse, über die die Komponenten kommunizieren, die Rechenkapazität des Systems weitgehend bestimmen. Ein wichtiges Leistungsmerkmal von Datenbussen ist die Rate, mit der Datensignale über die Datenbusse zwischen verschiedenen Komponenten übertragen werden. Die maximale Übertragungsrate ergibt sich aus der Bustaktfrequenz, der Anzahl der Bustakte pro Datenübertragung und der Anzahl der pro Übertragungsperiode übertragenen Bits. Eine Steigerung der Systemleistung kann daher durch eine Erhöhung der Bustaktfrequenz, eine Erhöhung der Anzahl der in jedem Taktintervall übertragenen Bits oder durch eine Vergrößerung der Busbreite erreicht werden.
-
Bei schnelleren und komplexeren Rechnersystemen wird es immer wichtiger, dass die einzelnen Systemkomponenten und Geräte in der Lage sind, bei immer höheren Frequenzen und über immer breitere Datenbusse sicher und zuverlässig zu kommunizieren.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Um die Diskussion eines bestimmten Elements oder Vorgangs leicht identifizieren zu können, beziehen sich die führende(n) Ziffer(n) bei einem Bezugszeichen auf die Figur, in der dieses Element zuerst eingeführt wird.
- 1 stellt ein Datenkommunikationssystem 100 gemäß einer Ausführungsform dar.
- 2 stellt eine Ausführungsform einer seriellen PAM-4-Verbindung 200 dar.
- 3 stellt eine Ausführungsform einer PAM-Sender/EmpfängerAnordnung 300 dar.
- 4 stellt ein flankenverstärktes Hilfssignalisierungssystem 400 mit A/Cgekoppelter Flankenverstärkung gemäß einer Ausführungsform dar.
- 5 stellt einen Entzerrer 402 gemäß einer Ausführungsform dar.
- 6 stellt eine Entzerrer-Eingangsstufe 502 gemäß einer Ausführungsform dar.
- 7 stellt einen Entzerrer 402 gemäß einer Ausführungsform dar.
- 8 stellt einen mehrstufigen PAM-Entzerrer 800 gemäß einer Ausführungsform dar.
- 9 stellt ein Signaldiagramm 900 gemäß einer Ausführungsform dar.
- 10 stellt eine PAM-4-Steuerlogikstruktur 1000 gemäß einer Ausführungsform dar.
- 11 stellt eine PAM-8-Steuerlogikstruktur 1100 gemäß einer Ausführungsform dar.
- 12 ist ein Blockdiagramm eines Computersystems 1200, in dem die hier vorgestellten Ausführungsformen der PAM-Kommunikation ausgestaltet oder ausgeführt werden können.
-
DETAILLIERTE BESCHREIBUNG
-
Unter Bezugnahme auf 1 umfasst ein Datenkommunikationssystem 100 eine Übertragungseinrichtung wie z.B. einen Datenprozessor 102, der einen Verarbeitungskern 110 und einen PAM-4-Sender 104 aufweist. Der Datenprozessor 102 kann bei einigen Ausführungsformen eine Grafikverarbeitungseinheit (GPU), eine Zentraleinheit (CPU), ein System auf einem Chip (SoC) oder andere bekannte Datenverarbeitungseinrichtungen umfassen.
-
Der Datenprozessor 102 kommuniziert mit einer Empfangseinrichtung, wie z.B. einem Speicher 108, über einen Bus, wie z.B. einen Speicherbus 114. Ein PAM-4-Empfänger 106 empfängt die von dem PAM-4-Sender 104 über den Speicherbus 114 übermittelten PAM-4-Signale und übermittelt die Daten an den Speicher 108.
-
Der Datenprozessor 102 verwendet einen internen Datenbus 112 zur Übertragung von Datenbursts zu dem und von dem Verarbeitungskern 110 über einen mehrspurigen internen Datenbus 112. Der PAM-4-Sender 104 empfängt einen Datenburst von dem Verarbeitungskern 110 und sendet den Burst als PAM-4-Symbole über den Speicherbus 114 an den PAM-4-Empfänger 106. Der PAM-4-Empfänger 106 empfängt die Symbole und sendet sie als Daten an den Speicher 108.
-
Dies ist eine vereinfachte Darstellung. In der Praxis kann es an beiden Enden des Speicherbusses 114 zusätzliche Elemente wie einen Datenkodierer und einen Datendekodierer geben.
-
2 stellt eine serielle PAM-4-Verbindung 200 für eine einzelne Datenspur eines seriellen Datenbusses bei einer Ausführungsform dar. Die serielle PAM-4-Verbindung 200 umfasst einen Sender 202 für das niederwertigste Bit, einen Sender 204 für das höchstwertige Bit, einen Empfänger 206 und eine Datenspur 208. Die serielle PAM-4-Verbindung 200 verwendet den Sender 202 für das niederwertigste Bit und den Sender 204 für das höchstwertige Bit, um ein vierstufiges Symbol auf der Datenspur 208 zu erzeugen. Dabei bezieht sich der Begriff „Symbol“ auf einen Spannungspegel, der von einem Leitungstreiber auf einer Datenspur eines seriellen Datenbusses erzeugt wird, wobei der Spannungspegel den Wert eines oder mehrerer Datenbits darstellt. Somit bedeutet „Kodieren eines Symbols“ die physische Konfiguration einer Leitungstreiberschaltung des seriellen Datenbusses, um die Spannung auf der Datenspur auf einen bestimmten Wert zu treiben.
-
Wenn z.B. die zwei Datenbits, die in das Symbol kodiert werden sollen, (1,1) sind, erzeugen die Ausgänge des Senders 202 für das niederwertigste Bit und des Senders 204 für das höchstwertige Bit zusammen eine Spannung von z.B. 1,2 V auf der Datenspur 208 und der Strom auf der Datenspur 208 beträgt z.B. 0 mA aufgrund des Pull-up-Transistors Rt an dem Empfänger 206 (beide Enden der Datenspur 208 liegen auf dem gleichen Potential). Wenn die in das Symbol zu kodierenden zwei Datenbits (1,0) sind, erzeugen die Ausgänge des Senders 202 für das niederwertigste Bit und Senders 204 für das höchstwertige Bit zusammen eine Spannung von z.B. 1,0 V auf der Datenspur 208 und einen Strom auf der Datenspur 208 von z.B. 5 mA. Wenn die in das Symbol zu kodierenden zwei Datenbits (0,1) sind, erzeugen die Ausgänge des Senders für das niederwertigste Bit und des Senders 204 für das höchstwertige Bit zusammen eine Spannung von z.B. 0,8 V auf der Datenspur 208, und der Strom auf der Datenspur 208 beträgt z.B. 10 mA. Wenn die in das Symbol zu kodierenden zwei- Datenbit (0,0) sind, erzeugen die Ausgänge des Senders 202 für das niederwertigste Bit und des Senders 204 für das höchstwertige Bit zusammen eine Spannung von z.B. 0,6 V auf der Datenspur 208, und der Strom auf der Datenspur 208 beträgt z.B. 15 mA. Die 0,6 V können hier als die Basisübertragungsspannung Vb bezeichnet werden, mit der die anderen Symbolspannungspegel per Differenzbildung bestimmt werden. Der Symbolwert auf einer Datenspur entspricht daher dem Stromverbrauch dieser Datenspur während eines Datenbursts.
-
3 stellt eine Sender/Empfänger-Anordnung 300 bei einer Ausführungsform dar. Eine Sendeeinrichtung 302 und eine Empfangseinrichtung 304 kommunizieren über einen mehrspurigen seriellen Datenbus 306 mit einer vorgegebenen Breite (Anzahl der Datenspuren), die durch M dargestellt wird. Die Leitungstreiber 308 der Sendeeinrichtung 302 kodieren PAM-Symbole S1-SM parallel auf den M Datenspuren des mehrspurigen seriellen Datenbusses 306. Das über den mehrspurigen seriellen Datenbus 306 zu übertragende Datenwort umfasst eine Mehrzahl von P Bits. Wenn N die Anzahl der bei der PAM-Kodierung verwendeten Spannungspegel ist, z.B. N=4 für PAM-4, dann wird eine Anzahl von Bits gleich log2(N) von jedem Symbol auf jeder Datenspur des mehrspurigen seriellen Datenbusses 306 kodiert.
-
Bei Ausführungsformen, die Datenkodierer und -dekodierer verwenden, kann die Sendeeinrichtung 302 auch einen Steuerleitungstreiber 310 aufweisen, um Steuerinformationen über die Symbole auf den Datenspuren auf einer zusätzlichen Steuerleitung 312 an die Empfangseinrichtung 304 zu übermitteln. Die Empfangseinrichtung 304 umfasst eingangsseitig Abschlussschaltungen 314, die mit dem mehrspurigen seriellen Datenbus 306 verbunden sind, um die auf dem mehrspurigen seriellen Datenbus 306 übertragenen Symbole zu empfangen, wobei typischerweise eine Abschlussschaltung 314 für jede Datenspur vorgesehen ist. Die Empfangseinrichtung 304 weist ferner eine zusätzliche Abschlussschaltung 316 auf, die vorgesehen ist, um die auf der Steuerleitung 312 übertragenen Steuerinformationen zu empfangen. Die empfangenen Symbole stellen Bitkombinationen der Länge log2(N) dar (z.B. S1=00, S2=01 usw. für PAM-4).
-
Ein Datenauge ist das Intervall des Kommunikationstaktzyklus, in dem die über den Datenbus übertragenen Signalwerte stabil sind und eine Einrichtung, die die Daten empfängt, die Signale an seinen Eingängen erfolgreich auflösen kann. Die Form, Höhe und Breite des Datenauges stellt daher die Übertragungsqualität visuell dar und zeigt, wie über den Datenbus übertragene Datensignale an der Empfangseinrichtung bestimmt werden können.
-
Die vertikale Höhe und horizontale Breite des Signalauges an dem Empfänger kann aufgrund von Intersymbol-Interferenz (ISI), die aus Bandbreitenbeschränkungen des Datenbusses und der Sende- und Empfangsschaltung resultiert, eingeschränkt sein. Eine Kombination aus äquivalentem Treiberwiderstand, Kanalimpedanzen und parasitären Effekten an beiden Enden des Busses verursacht frequenzabhängige Signalverluste, was zu einer datenabhängigen ISI führt. Das resultierende Signalauge kann sich erheblich verengen, z.B. auf eine Breite von etwa 2 ns, obwohl das Bustaktintervall 5 ns beträgt. Obwohl der Sender (in diesem Beispiel) ein Fenster von 5 ns aufweist, in dem jedes Symbol auf der Datenspur kommuniziert werden kann, hat der Empfänger nur 2 ns Zeit, um das Symbol aufzulösen, da sich das Signalauge aufgrund frequenzabhängiger Verluste innerhalb der Gesamtverbindung verengt. In einigen Fällen kann das resultierende Signalauge vollständig verschwinden, so dass keine zuverlässige Signalübertragung zwischen zwei elektronischen Einrichtungen über den seriellen Datenbus möglich ist.
-
Dieses Problem wird bei der PAM-N (N>2)-Signalisierung aufgrund der zusätzlichen (>2) Spannungspegel, die von den Symbolen innerhalb des Gesamtsignalbereichs verwendet werden, noch verschärft. Bei PAM-4 z.B. weist jedes Signalauge 1/3 des gesamten Signalspannungsbereichs auf, so dass Signalaugenschlusseffekte einen größeren Prozentsatz des Spannungsbereichs innerhalb jedes PAM-4-Spannungsbandes beanspruchen. Bei Kommunikationstechniken höherer Ordnung (z.B. PAM-8) können die Effekte sogar noch größer sein.
-
Ausführungsformen des hier offenbarten Entzerrungsschemas arbeiten parallel zu den Leitungstreibern, um Energie bei hohen Frequenzen auf die Datenspuren einzuspeisen. Dieses Schema erweitert effektiv den Frequenzgang des empfangenen Signals, um die ISI zu reduzieren. Das Signal wird unter Beibehaltung einer Impedanzanpassung an den Kanal entzerrt, ohne die Gleichstromamplitude (DC) des Signals zu verringern. Ausführungsformen eines mehrstufigen PAM-Entzerrers zur Beseitigung des Signalaugenverschlusses werden beispielhaft in 4 bis 11 beschrieben.
-
Mit Bezug zu 4 bis 11 umfasst ein A/C-gekoppeltes flankenverstärktes Hilfssignalisierungssystem 400 bei einer Ausführungsform einen (nicht nach Null zurückkehrenden) NRZ-Sender 404 und einen NRZ-Entzerrer 402. Der Entzerrer 402 umfasst eine Entzerrer-Eingangsstufe 502 und eine Entzerrer-Ausgangsstufe 504, wie es in 5, 6 und 7 dargestellt ist. Diese können mit einem Flankendetektor 802 kombiniert werden, um einen mehrstufigen PAM-Entzerrer 800 bei einer Ausführungsform zu bilden, wie es in 8 dargestellt ist. Ein Signaldiagramm 900 für den mehrstufigen PAM-Entzerrer 800, wobei N = 4 ist, ist in 9 für eine beispielhafte Reihe von Symbolen dargestellt, die auf einer bestimmten Datenspur übertragen werden. Der mehrstufige PAM-Entzerrer 800 kann nach der PAM-4-Steuerlogikstruktur 1000 gemäß der Ausführungsform von 10, nach der PAM-8-Steuerlogikstruktur 1100 gemäß der Ausführungsform von 11 oder gemäß anderen Ausführungsformen einer Steuerlogik abhängig von der Anzahl der PAM-Pegel N arbeiten.
-
Der Flankendetektor 802 kann Übergänge der Signalaugen unter Verwendung von NAND-, NOR- oder anderen allgemeinen kombinatorischen Gattern erkennen. Bei PAM-4 überwacht jeder Flankendetektor 802 Änderungen (entsprechend positiven oder negativen Flanken) bei dem höchstwertigen und/oder dem niederwertigsten Datenbit (MSB bzw. LSB). Ein 8-PAM-Entzerrungsschema ändert logische Zustände abhängig von dem höchstwertigen, zwischenwertigen und niederwertigsten Eingangsdatenbit (MSB, ISB bzw. LSB). Ähnliche Wahrheitstabellen lassen sich bei mehrstufigen PAM-Signalisierungsschemata mit einer unterschiedlichen Anzahl von Spannungspegeln leicht mit gewöhnlichem Fachwissen erstellen.
-
Bei dem mehrstufigen PAM-Entzerrer 800 empfängt jeder Flankendetektor 802 die mehreren Bits der Eingangsdaten für ein Symbol und optional Takt- und Steuersignale. Zum Entzerren eines PAM-Signalisierungsschemas mit einer Anzahl von N Pegeln zur Kodierung von log2(N) Bits verwendet der mehrstufige PAM-Entzerrer 800 N-1 Entzerrungskomponenten, die ähnlich groß sein können, wobei jeder Entzerrer einem bestimmten PAM-Signalauge zugeordnet ist. Das Pull-up- und das Pull-down-Steuersignal für jede der Entzerrungskomponenten werden von einem zugehörigen Flankendetektor 802 erzeugt, der eine Flankendetektion für das jeweilige der PAM-Signalaugen in der digitalen Domäne durchführt. Wenn das Symbol auf einer Datenspur den Zustand ändert, schaltet der Flankendetektor 802 die Pull-up- und Pull-down-Signale der Entzerrerkomponenten, die den von dem Datenspursignal durchlaufenen Signalaugen zugeordnet sind, um. Dies ermöglicht eine unabhängige Steuerung der Entzerrerkomponenten, wobei die Anzahl der in einem gegebenen Übertragungsintervall gleichzeitig umgeschalteten Komponenten proportional zu der Anzahl von PAM-Spannungsniveaus ist, um welche sich der Pegel in dem Intervall verändert, und somit dazu führt, dass eine dazu proportionale Ladungsmenge in die Leitung eingespeist wird. Die mehrstufige Flankenerfassungs-/Steuerlogik kann mit einer Vielzahl von Verfahren implementiert werden, was eine CMOS-Kombinationslogik, einen Thermometerkodierer oder eine Nachschlage-Speichersteuerstruktur wie eine Tabelle einschließt.
-
Das Signaldiagramm 900 stellt beispielhafte Signalformen für die Spannung der übertragenen Datenspur und Entzerrerausgaben für ein PAM-4-Signalisierungsschema dar. Die Ausgänge jedes der Entzerrer (es gibt N-1=3 pro Datenspur) gehen aufgrund von Änderungen an den mehreren Bits der-Eingabedaten entweder in einen Pull-up- oder Pull-down-Zustand über, was dazu führt, dass die Polarität und die Anzahl der Entzerrerkomponenten, die die Zustände umschalten, proportional zu der Anzahl von PAM-Spannungsniveaus ist, um welche sich der Pegel in einem gegebenen Übertragungsintervall ändert. Beim Übergang von 11→10 schaltet beispielsweise die Entzerrerkomponente, die für die Entzerrung des oberen Signalauges (Auge 3 EQ-Segment) verantwortlich ist, von einem Pull-up- zu einem Pull-down-Zustand um, um eine negative Ladungsmenge in die Leitung einzuspeisen und um die negative Übergangsausgangs-Signalflanke zu verstärken. Beim Übergang von 00→11 schalten alle Entzerrerkomponenten von einem Pulldown-Zustand in einen Pullup-Zustand um, um eine positive Ladungsmenge in die Leitung einzuspeisen, die dreimal so groß ist wie im Beispiel des Übergangs von einem einzigen Pegel. Indem jedem PAM-Signalauge ein spezifischer gleichgroßer Entzerrer zugeordnet ist, arbeitet jeder einzelne Entzerrer in dem korrekten logischen Zustand in Bezug auf das Ausgangssignal. Der innere Knoten der Koppelkapazität 702 wird immer zu der richtigen Versorgungsspannung (VDD oder GND) gezogen, um unabhängig vom aktuellen Logikzustand eine effektive Entzerrungsstärke beim nächsten Signalübergang zu gewährleisten.
-
Mit Bezug zu 10 konfiguriert eine PAM-4-Steuerlogikstruktur 1000 einen ersten Entzerrer zur Durchführung einer logischen UND-Verknüpfung eines höchstwertigen Bits und eines niederwertigsten Bits jedes der PAM-4-Symbole, einen zweiten Entzerrer zum Durchlassen des höchstwertigen Bits jedes der Symbole und einen dritten Entzerrer zur Durchführung einer logischen ODER-Verknüpfung des höchstwertigen Bits und des niederwertigsten Bits jedes der Symbole. 11 stellt eine beispielhafte PAM-8-Steuerlogikstruktur 1100 für PAM-8 dar.
-
12 ist ein Blockdiagramm einer Ausführungsform eines Computersystems 1200, in dem ein oder mehrere Aspekte der Offenbarung implementiert werden können. Das Computersystem 1200 weist einen Systemdatenbus 1232, eine CPU 1202, Eingabeeinrichtungen 1208, einen Systemspeicher 1204, ein Grafikverarbeitungssystem 1206 und Anzeigeeinrichtungen 1210 auf. In alternativen Ausführungsformen können die CPU 1202, Teile des Grafikverarbeitungssystems 1206, der Systemdatenbus 1232 oder eine beliebige Kombination davon in einer einzigen Verarbeitungseinheit integriert sein. Darüber hinaus kann die Funktionalität des Grafikverarbeitungssystems 1206 in einem Chipsatz oder in einer anderen Art von Spezialverarbeitungseinheit oder Co-Prozessor enthalten sein.
-
Wie dargestellt ist, verbindet der Systemdatenbus 1232 die CPU 1202, die Eingabeeinrichtungen 1208, den Systemspeicher 1204 und das Grafikverarbeitungssystem 1206. Bei alternativen Ausführungsformen kann der Systemspeicher 1204 direkt mit der CPU 1202 verbunden sein. Die CPU 1202 empfängt Benutzereingaben von den Eingabeeinrichtungen 1208, führt in dem Systemspeicher 1204 gespeicherte Programmieranweisungen aus, und arbeitet mit den in dem Systemspeicher 1204 gespeicherten Daten, um Rechenaufgaben auszuführen. Der Systemspeicher 1204 weist typischerweise einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) auf, der zur Speicherung von Programmbefehlen und Daten verwendet wird. Das Grafikverarbeitungssystem 1206 empfängt die von der CPU 1202 übertragenen Befehle und verarbeitet die Befehle, um z.B. Aspekte der offengelegten Ausführungsformen zu implementieren und/oder um Grafiken (z.B. Bilder, Kacheln, Video) auf den Anzeigeeinrichtungen 1210 darzustellen und anzuzeigen.
-
Wie ebenfalls dargestellt ist, weist der Systemspeicher 1204 ein Anwendungsprogramm 1212, eine API 1214 (Application Programming Interface) und einen Grafikverarbeitungseinheitentreiber 1216 (GPU-Treiber) auf. Das Anwendungsprogramm 1212 erzeugt Aufrufe an die API 1214, um einen gewünschten Satz von Berechnungsergebnissen zu erzeugen. Beispielsweise kann das Anwendungsprogramm 1212 Programme oder Funktionen davon an die API 1214 zur Verarbeitung innerhalb des Grafikverarbeitungseinheits-Treibers 1216 übertragen.
-
Das Grafikverarbeitungssystem 1206 weist eine GPU 1218 (Grafikverarbeitungseinheit), einen On-Chip-GPU-Speicher 1222, einen On-Chip-GPU-Datenbus 1236, einen lokalen GPU-Speicher 1220 und einen GPU-Datenbus 1234 auf. Die GPU 1218 ist so ausgestaltet, dass sie über den On-Chip-GPU-Datenbus 1236 mit dem On-Chip-GPU-Speicher 1222 und über den GPU-Datenbus 1234 mit dem lokalen GPU-Speicher 1220 kommuniziert. Die GPU 1218 kann von der CPU 1202 übertragene Befehle empfangen, die Befehle verarbeiten und die Ergebnisse in dem lokalen Speicher der GPU 1220 speichern. Anschließend kann die GPU 1218 bestimmte Grafiken, die in dem lokalen Speicher der GPU 1220 gespeichert sind, auf den Anzeigeeinrichtungen 1210 anzeigen.
-
Die GPU 1218 weist einen oder mehrere Logikblöcke 1224 auf. Die Logikblöcke 1224 können Ausführungsformen der hier angegebenen Systeme und Verfahren implementieren. Beispielsweise können die Logikblöcke 1224 Aspekte der hier offengelegten Kodierungs- oder Dekodierungsverfahren zur Verbesserung der Signalaugen auf seriellen Datenbussen implementieren.
-
Die GPU 1218 kann mit einer beliebigen Menge an On-Chip-GPU-Speicher 1222 und lokalem GPU-Speicher 1220, auch ohne diesen, ausgestattet werden und kann On-Chip-GPU-Speicher 1222, lokalen GPU-Speicher 1220 und Systemspeicher 1204 in beliebiger Kombination für Speicheroperationen verwenden.
-
Der On-Chip-GPU-Speicher 1222 ist so ausgestaltet, dass er eine GPU-Programmierung 1228 und einen On-Chip-Puffer 1230 aufweist. Die GPU-Programmierung 1228 kann von dem Treiber 1216 der Grafikverarbeitungseinheit über den Systemdatenbus 1232 an den On-Chip-GPU-Speicher 1222 übertragen werden. Die GPU-Programmierung 1228 kann die Logikblöcke 1224 aufweisen.
-
Der lokale GPU-Speicher 1220 weist in der Regel einen preiswerteren dynamischen Speicher mit wahlfreiem Zugriff (DRAM) außerhalb des Chips auf und wird auch für die Speicherung von Daten und eine Programmierung eingesetzt, die durch die GPU 1218 verwendet werden. Wie dargestellt ist, weist der lokale Speicher 1220 der GPU einen Bildspeicher 1226 auf. Der Bildspeicher 1226 kann zum Beispiel Daten wie ein Bild, z.B. eine Grafikoberfläche, speichern, die zur Ansteuerung der Anzeigeeinrichtungen 1210 verwendet werden können. Der Bildspeicher 1226 kann mehr als eine Oberfläche aufweisen, so dass die GPU 1218 eine Oberfläche rendern kann, während eine zweite Oberfläche zur Ansteuerung der Anzeigeeinrichtungen 1210 verwendet wird.
-
Bei den Anzeigeeinrichtungen 1210 handelt es sich um ein oder mehrere Ausgabeeinrichtungen, die in der Lage sind, ein visuelles Bild entsprechend einem Eingangsdatensignal auszugeben. Eine Anzeigeeinrichtung kann z.B. mit einer Flüssigkristallanzeige oder einem anderen geeigneten Anzeigesystem aufgebaut sein. Die Eingangsdatensignale für die Anzeigeeinrichtungen 1210 werden typischerweise durch Auslesen des Inhalts eines oder mehrerer Bilder von Bilddaten erzeugt, die im Bildspeicher 1226 gespeichert sind.
-
Die offenbarten Ausführungsformen können auf vielfältige Weise in dem Computersystem 1200 verwendet werden, z.B. für die Datenübertragung über den GPU-Datenbus 1234, den On-Chip-GPU-Datenbus 1236, den Systemdatenbus 1232 und/oder einen der Busse zu oder von einem beliebigen Rechenelement (z.B. GPU 1218, CPU 1202) und einem anderen Rechenelement, dem Systemspeicher 1204 oder einem Peripheriegerät.
-
Die offenbarten Aspekte können in Verbindung mit einem oder mehreren der Busse des Computersystems 1200 verwendet werden.
-
Die in diesem Dokument beschriebenen Ausführungsformen können zur Verwendung bei anderen mehrstufigen PAM-Signalisierungssystemen erweitert werden, die eine andere Anzahl von Spannungspegeln verwenden. Diese Ausführungsformen können auch für die Verwendung bei Differentialverbindungen mit Entzerrerkomponenten angepasst werden, die mit komplementären Versionen der mehreren Bits von Eingangsdaten arbeiten. Die Ausführungsformen können auch für den Betrieb mit hohen Versorgungsspannungen unter Verwendung von Pegelschiebern und Kaskodierungstransistoren innerhalb der Entzerrerausgangsstufe angepasst werden, um die Einhaltung der Schaltungsspannung zu gewährleisten.
-
Ausführungsformen des offenbarten Entzerrungsschemas können mit anderen Leitungstreiber-Topologien als den hier verwendeten Beispielen angewendet werden. Das Entzerrungsschema ist ein Hilfsmittel für die primären Leitungstreiber und arbeitet parallel zu diesen.
-
Die vorab beschriebenen spezifischen Spannungen, Stromstärken und anderen Einzelheiten dienen nur zur Veranschaulichung. Die Erfindung kann unter Verwendung einer Vielzahl spezifischer Spannungspegel, Ströme, Widerstände usw. ausgeführt werden. Und während die Erfindung vorab z.B. im Zusammenhang mit einem Prozessor beschrieben wurde, der Daten an einen Speicher überträgt, können die hier beschriebenen Signalisierungsverfahren PAM-4 usw. in einer Vielzahl von Signalisierungssystemen ausgeführt sein, in denen Daten von einer Sendeeinrichtung zu einer Empfangseinrichtung oder zwischen Sendeeinrichtungen usw. gesendet werden.
-
Den hier verwendeten Begriffen soll ihre gewöhnliche Bedeutung in dem betreffenden Fachgebiet oder die Bedeutung, die durch ihre Verwendung im Kontext angegeben wird, zugestanden werden, aber wenn eine ausdrückliche Definition gegeben wird, ist diese Bedeutung ausschlaggebend.
-
„Logik“ bezieht sich hier auf maschinelle Speicherschaltungen, nicht flüchtige maschinenlesbare Medien und/oder Schaltungen, die aufgrund ihres Materials und/oder ihrer materiellen Energiekonfiguration Steuer- und/oder Verfahrenssignale und/oder Einstellungen und Werte (wie Widerstand, Impedanz, Kapazität, Induktivität, Strom-/Spannungswerte usw.) umfassen, die zur Beeinflussung des Betriebs einer Einrichtung angewendet werden können. Elektronische Schaltungen wie Steuerungen, feldprogrammierbare Gate-Arrays, Prozessoren und Speicher (sowohl flüchtige als auch nicht flüchtige), die vom Prozessor ausführbare Befehle umfassen, sind Beispiele für eine Logik. Die Logik schließt insbesondere reine Signale oder Software an sich aus (schließt jedoch Maschinenspeicher nicht aus, die Software umfassen und dadurch Konfigurationen von Materie bilden).
-
Verschiedene hier beschriebene logische Funktionsoperationen können in einer Logik implementiert werden, auf die mit einem Substantiv oder einer Substantivphrase Bezug genommen wird, die diese Operation oder Funktion widerspiegelt. Zum Beispiel kann eine Assoziationsoperation von einem „Assoziator“ oder „Korrelator“ ausgeführt werden. Ebenso kann das Umschalten durch einen „Schalter“, die Auswahl durch einen „Selektor“ usw. erfolgen.
-
Der Fachmann versteht, dass die Logik auf ein oder mehrere Einrichtungen oder Komponenten verteilt sein kann und/oder Kombinationen aus Speicher, Medien, Verarbeitungsschaltungen und Steuerungen, anderen Schaltungen und so weiter umfassen kann. Im Interesse der Klarheit und Korrektheit ist die Logik daher in Zeichnungen von Einrichtungen und Systemen nicht immer deutlich dargestellt, obwohl sie darin inhärent vorhanden ist. Die hier beschriebenen Techniken und Verfahren können durch eine Logik implementiert werden, die in einer oder mehreren Recheneinrichtungen verteilt ist. Die jeweilige Verteilung und Auswahl der Logik variiert je nach Implementierung.
-
Innerhalb dieser Offenbarung können verschiedene Einheiten (die unterschiedlich als „Einheiten“, „Schaltkreise“, andere Komponenten usw. bezeichnet werden können) als „ausgestaltet“ beschrieben oder beansprucht werden, um eine oder mehrere Aufgaben oder Operationen auszuführen. Diese Formulierung - [Einheit], die so ausgestaltet ist, dass sie [eine oder mehrere Aufgaben erfüllt] - wird hier verwendet, um sich auf eine Struktur (d.h. etwas Physisches, wie z.B. eine elektronische Schaltung) zu beziehen. Genauer gesagt wird diese Formulierung verwendet, um anzuzeigen, dass diese Struktur so angeordnet ist, dass sie die eine oder mehrere Aufgaben während des Betriebs ausführt. Man kann sagen, dass eine Struktur so „ausgestaltet“ ist, dass sie eine bestimmte Aufgabe erfüllt, auch wenn die Struktur gegenwärtig nicht in Betrieb ist. Eine „Kreditverteilungsschaltung, die so ausgestaltet ist, dass sie Kredite an eine Vielzahl von Prozessorkernen verteilt“, soll z.B. eine integrierte Schaltung abdecken, die über eine Schaltung verfügt, die diese Funktion während des Betriebs ausführt, selbst wenn die betreffende integrierte Schaltung gegenwärtig nicht benutzt wird (z.B. wenn kein Netzteil daran angeschlossen ist). Somit bezieht sich eine Einheit, die als „zur Ausführung einer Aufgabe ausgestaltet ist“ beschrieben oder rezitiert wird, auf etwas Physikalisches, wie z.B. eine Einrichtung, eine Schaltung, einen Speicher, der Programmanweisungen speichert, die zur Ausführung der Aufgabe ausgeführt werden können, usw. Dieser Ausdruck wird hier nicht verwendet, um sich auf etwas Immaterielles zu beziehen.
-
Der Begriff „ausgestaltet, um“ soll nicht „ausstattbar, um“ bedeuten. Ein unprogrammierter FPGA würde zum Beispiel nicht als „ausgestaltet, um“ eine bestimmten Funktion auszuführen, angesehen, obwohl er „konfigurierbar für“ die Ausführung dieser Funktion nach der Programmierung sein kann.
-
Das Angeben in den beigefügten Ansprüchen, dass eine Struktur „ausgestaltet ist, um“ eine oder mehrere Aufgaben auszuführen, ist ausdrücklich nicht dazu gedacht, 35 U.S.C. § 112(f) für dieses Anspruchselement geltend zu machen. Dementsprechend sollen Ansprüche in dieser Anmeldung, die sonst nicht das Konstrukt „Mittel zur“ [Ausführung einer Funktion] aufweisen, nicht unter 35 U.S.C. § 112(f) ausgelegt werden.
-
Wie hier verwendet, wird der Begriff „basierend auf“ verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Begriff schließt die Möglichkeit nicht aus, dass zusätzliche Faktoren die Bestimmung beeinflussen können. Das heißt, dass eine Bestimmung ausschließlich auf spezifizierten Faktoren oder auf den spezifizierten Faktoren sowie auf anderen, nicht spezifizierten Faktoren beruhen kann. Es sei auf die Formulierung „Bestimmung A auf der Grundlage von B“ verwiesen. Dieser Satz legt fest, dass B ein Faktor ist, der zur Bestimmung von A verwendet wird oder der die Bestimmung von A beeinflusst. Dieser Satz schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie z.B. C, beruhen kann. Dieser Satz soll auch eine Ausführungsform abdecken, in der A allein auf der Grundlage von B bestimmt wird. Diese Phrase „basierend auf“, wie sie hier benutzt wird, ist synonym mit der Phrase „basierend zumindest teilweise auf“.
-
Wie es hier verwendet wird, beschreibt der Ausdruck „abhängig von“ einen oder mehrere Faktoren, die eine Wirkung auslösen. Dieser Ausdruck schließt die Möglichkeit nicht aus, dass zusätzliche Faktoren die Wirkung beeinflussen oder anderweitig auslösen können. Das heißt, eine Wirkung kann ausschließlich als Reaktion auf diese Faktoren oder als Reaktion auf die angegebenen Faktoren sowie auf andere, nicht näher spezifizierte Faktoren auftreten. Es wird die Phrase „A abhängig von B ausführen“ betrachtet. Diese Phrase legt fest, dass B ein Faktor ist, der die Aufführung von A auslöst. Diese Phrase schließt nicht aus, dass die Aufführung von A auch abhängig von einem anderen Faktor sein kann, wie z.B. C. Diese Phrase soll auch eine Ausführungsform abdecken, in der A ausschließlich abhängig von B aufgeführt wird.
-
Wie es hier verwendet wird, werden die Begriffe „erste“, „zweite“ usw. als Bezeichnungen für Substantive verwendet, denen sie vorausgehen, und implizieren keine Art von Ordnung (z.B. räumlich, zeitlich, logisch usw.), sofern es nicht anders angegeben ist. Zum Beispiel können in einer Registerdatei mit acht Registern die Begriffe „erstes Register“ und „zweites Register“ verwendet werden, um sich auf zwei beliebige der acht Register zu beziehen, und nicht z.B. nur auf die logischen Register 0 und 1.
-
Wenn der Begriff „oder“ in den Ansprüchen verwendet wird, wird der Begriff „oder“ als ein einschließendes oder und nicht als ein ausschließliches oder verwendet. Zum Beispiel bedeutet der Ausdruck „mindestens eines von x, y oder z“ eines von x, y und z sowie jede Kombination davon.