DE102019101810A1 - Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen - Google Patents

Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen Download PDF

Info

Publication number
DE102019101810A1
DE102019101810A1 DE102019101810.2A DE102019101810A DE102019101810A1 DE 102019101810 A1 DE102019101810 A1 DE 102019101810A1 DE 102019101810 A DE102019101810 A DE 102019101810A DE 102019101810 A1 DE102019101810 A1 DE 102019101810A1
Authority
DE
Germany
Prior art keywords
ber
delay
delay value
value
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019101810.2A
Other languages
English (en)
Inventor
Tarakesava Reddy Koki
Phani Kumar Alaparthi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102019101810A1 publication Critical patent/DE102019101810A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31706Testing of digital circuits involving differential digital signals, e.g. testing differential signal circuits, using differential signals for testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31708Analysis of signal quality
    • G01R31/3171BER [Bit Error Rate] test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0213Electrical arrangements not otherwise provided for
    • H05K1/0237High frequency adaptations
    • H05K1/0245Lay-out of balanced signal pairs, e.g. differential lines or twisted lines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • H03K2005/00026Variable delay controlled by an analog electrical signal, e.g. obtained after conversion by a D/A converter

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Dc Digital Transmission (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Ein Prozessor beinhaltet einen Sender zum Übertragen eines differentiellen Signalpaars, das ein über einen positiven Leiter übertragenes positives Signal und ein über einen negativen Leiter übertragenes negatives Signal beinhaltet, an einen Empfänger. Eine erste programmierbare analoge Verzögerungsschaltung ist mit dem positiven Leiter gekoppelt, um dem positiven Signal eine erste Verzögerung bereitzustellen, und eine zweite programmierbare analoge Verzögerungsschaltung ist mit dem negativen Leiter gekoppelt, um dem negativen Signal eine zweite Verzögerung bereitzustellen. Eine Steuerung empfängt Daten, die auf einer durch eine Bitfehlerüberprüfungseinrichtung des Empfängers gemessenen Bitfehlerrate (Bit Error Rate, BER) des differentiellen Signalpaars basieren. Als Reaktion auf eine Feststellung, dass die BER kleiner als eine Schwellen-BER ist, speichert die Steuerung einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung.

Description

  • Figurenliste
    • 1A ist ein Blockdiagramm eines Systems, das einen Sender und einen Empfänger beinhaltet, die differentielle Signalpaare senden bzw. empfangen, nach einer Ausführungsform.
    • 1B ist ein Blockdiagramm eines Systems, das einen Sender und einen Empfänger beinhaltet, die differentielle Signalpaare senden bzw. empfangen, nach einer weiteren Ausführungsform.
    • 2 ist ein Blockdiagramm eines Systems, das einen Sender, der differentielle Signalpaare überträgt, und einen externen Analysator mit einem Empfänger, der die differentiellen Signalpaare empfängt, beinhaltet, nach einer Ausführungsform.
    • 3 ist ein Flussdiagramm eines Verfahrens zum Reduzieren von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen, nach einer Ausführungsform.
    • 4A und 4B sind mikroskopische Draufsichten eng gekoppelter differentieller Leiter über einer Leiterplatte (printed circuit board, PCB), die einen Fiber-Weave-Effekt (FWE) erzeugt, nach einer Ausführungsform.
    • 4C ist ein Bild von Zick-Zack-Bahnen auf einer PCB, die mit dem Ziel implementiert sind, den in 4A und 4B genannten FWE zu reduzieren.
    • 5 ist ein Bilderpaar, das die Drehung einer PCB darstellt, um zu versuchen, den Fiber-Weave-Effekt (FWE) einzudämmen, nach einer Ausführungsform.
    • 6 ist ein Blockdiagramm eines Rechensystems, das eine Verbindungsstrukturarchitektur beinhaltet, nach einer Ausführungsform der vorliegenden Offenbarung.
    • 7 ist ein Blockdiagramm einer Verbindungsstrukturarchitektur, die einen geschichteten Stapel beinhaltet, nach einer Ausführungsform der vorliegenden Offenbarung.
    • 8 ist ein Blockdiagramm eines Sender- und Empfängerpaars, das innerhalb einer Verbindungsstrukturarchitektur oder einer seriellen Punkt-zu-Punkt-Verbindungsstruktur verwendbar ist, nach einer Ausführungsform der vorliegenden Offenbarung.
    • 9 ist ein Blockdiagramm eines Rechensystems nach einer Ausführungsform der vorliegenden Offenbarung.
    • 10 ist ein Blockdiagramm eines Rechensystems nach einer weiteren Ausführungsform der vorliegenden Offenbarung.
  • Beschreibung von Ausführungsformen
  • Mit zunehmenden Lane-Geschwindigkeiten in Leiterplatten (Printed Circuit Boards, PCBs) wird das Routing von Signalen mit hoher Geschwindigkeit über Metallspuren immer anspruchsvoller. Heute wird viel Zeit der Schaltungsentwicklung auf das Routing der differentiellen Signalpaare verwendet, die hohe Skew-Anforderungen zwischen einem positiven und einem negativen Signal aufweisen, beispielsweise zwischen plus und minus drei Pikosekunden (ps). Entwickler können Computer-Aided-Design (CAD)-Werkzeuge verwenden, um zu versuchen, das Through-Routing bei derart engem Skew durchzuführen. Aufgrund des Fiber-Weave-Effekts (FWE) auf PCBs können wegen des dielektrischen Laminataufbaus der PCB auf der tatsächlichen PCB zwischen einem positiven und einem negativen Signal eines differentiellen Signalpaars weiterhin größere zeitliche Skews beobachtet werden. Mit zunehmendem zeitlichen Skew zwischen den positiven und negativen Signalen können große Skew zum Verlust von Daten führen.
  • 4A und 4B sind eine mikroskopische Draufsicht eines eng gekoppelten differentiellen Leiters über eine PCB, die einen Fiber-Weave-Effekt (FWE) erzeugt, nach einer Ausführungsform. Dielektrische Materialien von PCBs sind üblicherweise Glasfasergewebe, die mit Epoxidharz verstärkt sind. Da Strukturfaser und Harz Verbundmaterialien mit unterschiedlichen Dielektrizitätskonstanten und Verlustfaktoreigenschaften sind, führen die Webmuster von Glasfaserbündeln dazu, dass PCB-basierte Substrate elektrisch inhomogen sind.
  • Mit wachsenden Datenraten entfernen sich Entwickler immer weiter von breiten Parallelbussen weg hin zu seriellen Bussen mit differentieller Signalisierung. Bei differentieller Signalisierung mit hoher Geschwindigkeit kann ein beliebiger zeitlicher Skew zwischen den positiven (D+) und negativen (D-) Datensignalen einige des differentiellen Signalpaars in eine gemeinsame Signalkomponente umwandeln. Schließlich kann dieser zeitliche Skew zum Augenverschluss (eye closure) beim Empfänger führen und zu elektromagnetischer Störstrahlung (electro-magnetic interference, EMI) beitragen. Idealerweise würde das Routing eines differentiellen Signalpaars auf einer PCB dazu führen, dass die beiden Bahnen in elektrischer Hinsicht gleich aussehen, und der zeitliche Skew (die Zeitverzögerung) zwischen den beiden Bahnen des differentiellen Paars sollte null sein. Aufgrund von FWE ist es jedoch unrealistisch, dieses Ideal zu erreichen.
  • Weiterhin Bezug nehmend auf 4A und 4B, ist das Routing eines differentiellen Paars dargestellt, bei dem eine Bahn über einen Teil ihrer Länge über ein Glasfaserbündel geroutet wird, während die andere Bahn überwiegend über Harz geroutet wird. Es kann jedoch unter Umständen nicht möglich sein, in realisierten Designs perfekt ausbalancierte differentielle Leitungen zu erhalten. Dies ist als Zeit- oder Phasenversatz (Skew) bekannt, der zu einer verringerten Bitfehlerraten (Bit Error Rate, BER)-Leistung und einer erhöhten EMI-Strahlung führt, die erhebliche Auswirkungen auf die tatsächlichen Dielektrizitätskonstanten der PCB haben können und unvorhersehbare Beeinträchtigungen der Signalintegrität hervorrufen können.
  • In den meisten Fällen zeigen die Daten, dass es selbst bei den aggressivsten diagonalen Routing-Ansätzen unverhältnismäßig ist, Skew-Schwankungen von unter einer Pikosekunde/Inch in Bahnkonstruktionen mit Epoxid- oder Glasfaserverbundstoffen zu erwarten. In einem solchen Beispiel beträgt die gemessene Phasendifferenz zwischen den beiden Signalen beim Empfänger für eine 6 GHz PCB-Bahn 105 ps nach dem Anpassen des positiven und des negativen Signals eines differentiellen Paars in der PCB innerhalb von plus oder minus drei Pikosekunden. Die industrielle Forschung gibt an, dass die Skew-Grenze ohne Weiteres +/- 7,5 bis +/- 10 ps/Inch betragen kann. Der ungünstigste Fall ist weitaus schwerer und stellt interessante Herausforderungen an die Entwicklung von Signalisierungssystemen mit hoher Datenrate.
  • Nimmt man Thunderbolt™ (TBT) als ein Beispiel für PCB FWE, so ist Thunderbolt™ auf einem System auf einem Chip (System on a Chip, SoC) integriert und läuft bei Geschwindigkeiten von 20 Gigabit/Sekunde (gbps), wobei in Zukunft 30 gbps unterstützt werden. Diese Signale sind aufgrund der PCB-Schichtkonstruktion aus langen horizontalen oder vertikalen Bahnen Opfer des FWE. Um die PCB-Verluste auszugleichen, können Entwickler einen Redriver oder Retimer (d. h. eine Vorrichtung, die in der Mitte eines Kanals angeordnet ist, um Kanalverluste auszugleichen) zwischen dem SoC und einem universellen seriellen Busverbinder (Universal-Serial-Bus, USB) des Typs C hinzufügen. Solch ein Redriver oder Retimer löst jedoch nicht die positive und negative Signalfehlanpassung aufgrund des FWE. Wenngleich beispielshalber auf Thunderbolt™ verwiesen wurde, gehören zu anderen Hochgeschwindigkeitsschnittstellen, die durch den FWE beeinträchtigt werden, beispielsweise High Definition Multimedia Interface (HDMI), DisplayPort (DP), Embedded DisplayPort (eDP), USB3, Peripheral Interconnect Component Express (PCIe), Universal Flash Storage (UFS) Interface, Serial Gigabit Media Independent Interface (SGMII), MIPI Display Serial Interface (DSI), MIPI Camera Serial Interface (CSI), Integrated Connectivity (CNVi), Serial Advanced Technology Attachment (SATA), Serial Rapid Input Output (SRIO), Ultra High Definition (UHS-II), Direct Media Interface (DMI), Mobile High-Definition Link (MHL) und dergleichen.
  • 4C ist ein Bild von Zick-Zack-Bahnen auf einer PCB, die mit dem Ziel implementiert sind, den in 4A und 4B genannten FWE zu reduzieren. Zick-Zack-Bahnen sollten den Fiber-Weave-Effekt ausgleichen, da die Bahnen wiederholt in und aus der Gewebestruktur geleitet werden. Die Verwendung des Zick-Zack-Ansatzes kann den Platzbedarf der PCB erhöhen. Außerdem ließe er sich nur schwer auf alle differentiellen Signalpaare anwenden, da Signale überall auf der Platte verlaufen können. In aktuellen PCBs gibt es zahlreiche Umstände, die zu Skew führen, auch nach Berücksichtigung beim Layout durch Routing der differentiellen Paare in einem Zick-Zack-Muster.
  • 5 ist ein Bilderpaar, das die Drehung einer PCB darstellt, um zu versuchen, den Fiber-Weave-Effekt einzudämmen, nach einer Ausführungsform. Ein Platinenhersteller kann die PCB auf dem Platinennutzen drehen oder ein Entwickler kann die Platinendatei in CAM- oder CAD-Werkzeugen drehen, um den FWE einzudämmen. Eine Platinendrehung kann indirekt den Platzbedarf der Platine erhöhen und zu Materialverlust in den ungenutzten dreieckigen Bereichen führen. Eine Rotation muss möglicherweise auch sehr deutlich und unmissverständlich formuliert werden, kann lange Anmerkungen auf Fertigungszeichnungen sowie eine ausführliche Diskussion mit einem Hersteller hinsichtlich der Anforderungen an die Platinendrehung und des Grads der Drehung erfordern.
  • Somit lässt sich Skew durch FWE in differentiellen Signalen auf PCBs durch Bestimmen einer Bitfehlerrate (Bit Error Rate, BER) zwischen dem positiven und dem negativen Signal nach der Übertragung verringern, z. B. über den Empfang der BER von einem Empfänger eines differentiellen Signalpaars. Eine Steuerschaltungsanordnung kann die Verzögerung bei einem eines positiven Leiters (z. B. zum Einstellen einer ersten Nettoverzögerung beim positiven Leiter) oder eines negativen Leiters (z. B. zum Einstellen einer zweiten Nettoverzögerung beim negativen Leiter) differentieller Bahnen einstellen, um die BER unter eine Schwellen-BER, z. B. 1, 2, 3 oder eine andere kleine Pikosekundenzahl, zu senken.
  • Insbesondere kann in einer Ausführungsform eine erste programmierbare analoge Verzögerungsschaltung mit dem positiven Leiter gekoppelt werden, um dem positiven Signal die erste Verzögerung bereitzustellen. Eine zweite programmierbare analoge Verzögerungsschaltung kann mit dem negativen Leiter gekoppelt werden, um dem negativen Signal eine zweite Verzögerung bereitzustellen. In verschiedenen Ausführungsformen können die programmierbaren analogen Verzögerungsschaltungen Leitungsverzögerungsschaltungen, wie etwa angezapfte Verzögerungsleitungen, sein. Eine Steuerung kann mit der ersten programmierbaren analogen Verzögerungsschaltung und mit der zweiten programmierbaren analogen Verzögerungsschaltung gekoppelt sein. Die Steuerung kann über eine Übertragungsverbindung mit dem Empfänger die durch eine Bitfehlerüberprüfungseinrichtung des Empfängers gemessene BER des differentiellen Signalpaars empfangen. Als Reaktion auf eine Feststellung, dass die BER kleiner als oder so groß wie eine Schwellen-BER ist, kann die Steuerung einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung speichern und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung speichern.
  • In verschiedenen Ausführungsformen kann, wenn die BER größer als die Schwellen-BER ist, die Steuerung den ersten Verzögerungswert in Bezug auf den zweiten Verzögerungswert oder den zweiten Verzögerungswert in Bezug auf den ersten Verzögerungswert einstellen, um einen ersten Netto-Verzögerungswert und einen zweiten Netto-Verzögerungswert zu erzeugen, und dann die BER erneut prüfen. Die Steuerung kann kontinuierlich zumindest einen des ersten oder des zweiten Netto-Verzögerungswerts einstellen, bis die BER unter die Schwellen-BER fällt, wobei die Steuerung an diesem Punkt den ersten und den zweiten Netto-Verzögerungswert zum Programmieren einer ersten bzw. einer zweiten programmierbaren analogen Verzögerungsschaltung für den weiteren Betrieb mit reduziertem Skew speichern kann, z. B. in Registern.
  • 1A ist ein Blockdiagramm eines Systems 100, das einen Sender und einen Empfänger beinhaltet, die ein differentielles Signalpaar senden bzw. empfangen, nach einer Ausführungsform. In verschiedenen Ausführungsformen kann das System 100 einen Prozessor 102 (oder ein System auf einem Chip (System on a Chip, SoC)), einen Vorrichtungsempfänger 140 und einen Bus aus einer zwischenintegrierten Schaltung (Inter Integrated Circuit, 12C) 136 oder einen anderen Typ eines Zwischenchipbusses beinhalten. In einer Ausführungsform können der Prozessor 102, der Vorrichtungsempfänger 140 und der I2C-Bus 136 in ein einziges physisches System (mit einer gestrichelten Linie gekennzeichnet) integriert sein. In verschiedenen Ausführungsformen ist der Prozessor 102 ein feldprogrammierbares Gate-Array (Field Programmable Gate Array, FPGA), eine Mikrosteuerung, eine eingebettete Steuerung oder eine andere programmierbare Steuerung.
  • In verschiedenen Ausführungsformen beinhaltet der Prozessor 102 einen Testmustergenerator 106, der mit einem Sender 108 gekoppelt ist, der über eine differentielle Leitung, die einen positiven Leiter 112 und einen negativen Leiter 116 beinhaltet, ein differentielles Signalpaar mit einem positiven Signal und einem negativen Signal überträgt. Der Prozessor 102 kann ferner eine mit dem positiven Leiter 112 gekoppelte erste programmierbare analoge Verzögerungsschaltung 122 und eine mit dem negativen Leiter 116 gekoppelte zweite programmierbare analoge Verzögerungsschaltung 126 beinhalten. Der Prozessor 102 kann ferner eine Steuerung 130 mit Registern 132 beinhalten, in denen Verzögerungswerte (oder Netto-Verzögerungswerte) für die erste und die zweite programmierbare analoge Verzögerungsschaltung 122 und 126 gespeichert werden sollen. In einer Ausführungsform kann der Vorrichtungsempfänger 140 einen Empfänger 148 beinhalten, der mit einer Bitfehlerüberprüfungseinrichtung 150 gekoppelt ist. Der Vorrichtungsempfänger 140 kann über eine Übertragungsverbindung über den I2C-Bus 136 oder einen anderen Typ eines Kommunikationsprotokollbusses mit der Steuerung 130 des Prozessors 102 kommunizieren.
  • In verschiedenen Ausführungsformen kann der Testmustergenerator 106 ein Testbitmuster zur Übertragung innerhalb des differentiellen Signalpaars erzeugen. Das Testbitmuster kann der Bitfehlerüberprüfungseinrichtung 150 bekannt sein. In einer Ausführungsform kann das Testbitmuster eine binäre Zufallsfolge (pseudorandom binary sequence, PRBS) sein, z. B. eine binäre Sequenz, die, wenngleich sie mit einem deterministischen Algorithmus erzeugt wird, schwer vorhersagbar sein kann und ein statistisches Verhalten ähnlich einer tatsächlichen Zufallsfolge aufweisen kann. Die Bitfehlerüberprüfungseinrichtung 150 kann ein empfangenes Testbitmuster mit einem bekannten Testbitmuster (z. B. PRBS) vergleichen und basierend auf dem Vergleich eine Bitfehlerrate (Bit Error Rate, BER) berechnen. Die Bitfehlerüberprüfungseinrichtung 150 kann dann die BER über die Übertragungsverbindung an die Steuerung 130 übertragen, z. B. in einer Kopfzeile eines I2C-Pakets über den I2C-Bus 136.
  • In den verschiedenen Ausführungsformen kann der Sender 108 mit dem Empfänger 148 das differentielle Signalpaar (das das Testbitmuster trägt) übertragen, das ein über den positiven Leiter 112 übertragenes positives Signal und ein über den negativen Leiter 116 übertragenes negatives Signal beinhaltet. Die erste programmierbare analoge Verzögerungsschaltung 122 kann mit dem positiven Leiter 112 gekoppelt sein, um dem positiven Signal eine erste Verzögerung bereitzustellen. Die zweite programmierbare analoge Verzögerungsschaltung 126 kann mit dem negativen Leiter 116 gekoppelt, um dem negativen Signal eine zweite Verzögerung bereitzustellen. Die Steuerung 130 kann demnach dazu ausgelegt sein, Verzögerungswerte in die erste und die zweite programmierbare analoge Verzögerungsschaltung 122 und 126 zu programmieren, und kann diese Verzögerungswerte in den Registern 132 speichern, um die Verzögerungswerte zur weiteren Verwendung festzulegen, selbst nach einem Zurücksetzen des Systems 100. Die Steuerung 130 kann die durch die Bitfehlerüberprüfungseinrichtung 150 des Vorrichtungsempfängers 140 gemessene BER des differentiellen Signalpaars über die Übertragungsverbindung 136 von der Vorrichtung 140 empfangen.
  • Insbesondere kann die Steuerung 130 als Reaktion auf eine Feststellung, dass die BER kleiner als oder so groß wie eine Schwellen-BER ist, einen ersten Verzögerungswert (oder ersten Netto-Verzögerungswert) zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung 122 speichern und einen zweiten Verzögerungswert (oder zweiten Netto-Verzögerungswert) zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung 126 speichern. Der erste Verzögerungswert kann einem ersten Register gespeichert werden und der zweite Verzögerungswert kann in einem zweiten Register der Register 132 gespeichert werden, sodass diese Werte kontinuierlich zum Steuern der ersten Verzögerung und der zweiten Verzögerung verwendet werden können. Auf diese Weise werden die erste und die zweite programmierbare analoge Verzögerungsschaltung 122 und 126 mit einem ersten Verzögerungswert bzw. einem zweiten Verzögerungswert programmiert, die zusammen eine vorteilhafte BER erzeugen und somit Skew zwischen dem positiven und dem negativen Signal des differentiellen Signalpaars reduzieren.
  • Wie nachstehend unter Bezugnahme auf 3 ausführlicher erörtert, kann, wenn die BER größer als die Schwellen-BER ist, die Steuerung 130 den ersten Verzögerungswert in Bezug auf den zweiten Verzögerungswert einstellen (um einen ersten Netto-Verzögerungswert zu erzeugen) oder den zweiten Verzögerungswert in Bezug auf den ersten Verzögerungswert einstellen (um einen zweiten Netto-Verzögerungswert zu erzeugen). Die Steuerung 130 kann dann die BER unter Verwendung eines ersten Netto-Verzögerungswerts und eines zweiten Netto-Verzögerungswerts erneut mit der Schwellen-BER abgleichen. Die Einstellung kann in verschiedenen Ausführungsformen durch Hinzufügen eines festen Verzögerungswerts (z. B. 2, 3, 4 oder mehr Pikosekunden) zu einem Netto-Verzögerungswert erfolgen. In anderen Ausführungsformen kann der feste Verzögerungswert vom Netto-Verzögerungswert subtrahiert werden. Die Steuerung 130 kann kontinuierlich zumindest einen des ersten Netto-Verzögerungswerts oder des zweiten Netto-Verzögerungswerts einstellen, bis die BER unter den untenstehenden Schwellenwert fällt. Sobald die BER unter der Schwellen-BER ist, kann die Steuerung 130 den ersten und den zweiten Netto-Verzögerungswert zum Programmieren einer ersten bzw. einer zweiten programmierbaren analogen Verzögerungsschaltung für den weiteren Betrieb mit reduziertem Skew speichern, z. B. in den Registern 132.
  • In verschiedenen Ausführungsformen ist die erste programmierbare analoge Verzögerungsschaltung 122 eine erste angezapfte Verzögerungsleitung und ist die zweite programmierbare analoge Verzögerungsschaltung 126 eine zweite angezapfte Verzögerungsleitung. Ferner kann das Speichern des ersten Verzögerungswerts das Speichern eines Anzapfwerts für die erste angezapfte Verzögerungsleitung der ersten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der ersten Verzögerung beinhalten. Und das Speichern des zweiten Verzögerungswerts kann das Speichern eines Anzapfwerts für die zweite angezapfte Verzögerungsleitung der zweiten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der zweiten Verzögerung beinhalten. Diese Anzapfwerte können analoge Anzapfwerte sein, die nach dem Testen an einer tatsächlichen PCB unter Prozess-/Spannungs-/Temperatur- (process voltage temperature, PVT) Bedingungen erhalten werden.
  • Angezapfte Verzögerungsleitungen werden verwendet, um eine sehr präzise Verzögerung in den Pfad eines Signals einzufügen. Es ist eine Vielzahl von Verzögerungsleitungen verfügbar. Einige erzeugen eine feste Verzögerung, häufig mit mehreren Anzapfpunkten, während andere eine Verzögerung erzeugen, die durch analoge Spannung oder ein digitales Steuerwort eingestellt werden kann. Einstellbare Verzögerungsleitungen können eine Komponente bestimmter Taktsynchronisierungsschaltungen sein, wie etwa einer Verzögerungsregelschleife (delay locked loop, DLL), einer Phasenregelschleife (phase lock loop, PLL) oder einer synchronen Spiegelverzögerungseinrichtung (synchronous mirror delay, SMD). Die Leistung einer einstellbaren Verzögerungsleitung wird üblicherweise durch Linearität definiert, die beschreibt, wie genau die Verzögerung dem Steuersignal folgt.
  • In einer Ausführungsform kann jede angezapfte Verzögerungsleitung eine digital angezapfte Verzögerungsleitung (tapped-delay line, TDL) sein, die dazu verwendet wird, Daten zu Datensynchronisierungszwecken in genauen Zeitfenstern zu bewegen, zu verzögern und zu speichern. Darüber hinaus können Verzögerungsleitungen mit komplementären Metalloxid-Halbleitern (complementary metal-oxide semiconductor, CMOS) in Anwendungen zur Taktverteilung und Taktdatenwiederherstellung (clock-data recovery, CDR) verwendet werden, um den zunehmenden Bedarf an genauer Taktentzerrung (clock deskew) gerecht zu werden, und zur genauen Impulsflankenanordnungssteuerung zum Testen und zur Fehlersuche beim dynamischen Verhalten von sehr schnellen und leistungsfähigen digitalen Schaltungen mit hohem Integrationsgrad (very-large-scale integration, VLSI). Solche CMOS-Verzögerungsleitungen sind auch in chipinternen Zeitmessungen und bei der Synchronisierung einer CPU mit ihren Schnittstellen verwendbar.
  • 1B ist ein Blockdiagramm eines Systems 101, das einen Sender und einen Empfänger beinhaltet, die differentielle Signalpaare senden bzw. empfangen, nach einer weiteren Ausführungsform. Das System 101 aus 1B ist in mancher Hinsicht ähnlich dem System 100 aus 1A, und die Komponenten, die gleich sind, werden nicht genauer beschrieben. Das System 101 aus 1B kann einen Prozessor 104 (oder SoC) ähnlich dem Prozessor 102 aus 1A beinhalten, wobei dieser jedoch den Empfänger 148 und die Bitfehlerüberprüfungseinrichtung 150 enthält. Das System 101 beinhaltet ferner einen Vorrichtungssender (z. B. Retimer) 144, der den Sender 108 und den Testmustergenerator 106 beinhaltet, die sich im Prozessor 102 des Systems 100 aus 1A befanden.
  • In der Ausführungsform aus 1B ist nun der Vorrichtungssender 144 diejenige Komponente, die das differentielle Signalpaar erzeugt, das das Testbitmuster trägt. Beispielsweise kann der Testmustergenerator 106 das Testbitmuster für den Sender 108 zur Übertragung in einem differentiellen Signalpaar über den positiven Leiter 112 und den negativen Leiter 116 des differentiellen Leiterpaars erzeugen. Der Prozessor 104 kann dann das differentielle Signalpaar mit dem Empfänger 148 empfangen, nachdem durch die erste und die zweite programmierbare analoge Verzögerungsschaltung 122 und 126 eine Verzögerung angewandt wurde. Wie bei dem System 100 aus 1A kann die Steuerung 130 dazu gestaltet sein, basierend auf der BER, die direkt von der nun innerhalb des Prozessors 104 angeordneten Bitfehlerüberprüfungseinrichtung 150 empfangen werden kann, Verzögerungswerte in die erste und die zweite programmierbare analoge Verzögerungsschaltung 122 und 126 einzuprogrammieren. Die Steuerung 130 kann diese Verzögerungswerte (oder Netto-Verzögerungswerte) in den Registern 132 speichern, um die Verzögerungswerte für die weitere Verwendung festzulegen, selbst nach einem Zurücksetzen des Systems 101.
  • 2 ist ein Blockdiagramm eines Systems 200, das einen Sender 208 der ein differentielles Signalpaar überträgt, und einen externen Analysator 260 mit einem Empfänger 248, der die differentiellen Signale empfängt, beinhaltet, nach einer Ausführungsform. Das System 200 aus 2 ist in mancher Hinsicht ähnlich dem System 100 aus 1A und in anderer Hinsicht unterschiedlich. Für Komponenten oder Aspekte, die den unter Bezugnahme auf das System 100 aus 1A erörterten ähneln, werden nur wenige zusätzliche Erläuterungen bereitgestellt. Das System 200 kann einen Prozessor 202 (oder SoC) und einen Analysator 260 beinhalten. In einer Ausführungsform sind der Analysator 260 und der Prozessor 202 zu einem einzigen System zusammengefasst. In einer weiteren Ausführungsform ist der Analysator 260 eine externe Vorrichtung, die zu Test- und Programmierungszwecken mit dem Prozessor 202 gekoppelt ist, z. B. um positive und negative Verzögerungswerte in den Prozessor 202 einzuprogrammieren, nachdem der Prozessor 202 hergestellt wurde.
  • In verschiedenen Ausführungsformen beinhaltet der Prozessor 202 (oder einen SoC) einen Testmustergenerator 206, der mit einem Sender 208 gekoppelt ist, der ein differentielles Signalpaar mit einem positiven Signal und einem negativen Signal über eine differentielle Leitung, die einen positiven Leiter 212 und einen negativen Leiter 216 beinhaltet, überträgt. Der Prozessor 202 kann ferner eine mit dem positiven Leiter 212 gekoppelte erste programmierbare analoge Verzögerungsschaltung 222 zum Erzeugen einer ersten Verzögerung für das positive Signal und eine mit dem negativen Leiter 216 gekoppelte zweite programmierbare analoge Verzögerungsschaltung 226 zum Erzeugen einer zweite Verzögerung für das negative Signal beinhalten. Jede der ersten programmierbaren analogen Verzögerungsschaltung 222 und der zweiten programmierbaren analogen Verzögerungsschaltung 226 kann mit einem Verbinder 228 (z. B. USB Type-C), Display Port (DP) oder einem anderen Verbindertyp gekoppelt sein. Der Prozessor 202 kann ferner eine Steuerung 230 mit Registern 232 beinhalten, in denen Verzögerungswerte, die der ersten Verzögerung und der zweiten Verzögerung entsprechen, für die erste und die zweite programmierbare analoge Verzögerungsschaltung 222 und 226 gespeichert werden sollen.
  • Die Steuerung 230 kann mit einem Verbinder 246 gekoppelt sein, z. B. durch einen I2C-Bus 236. Das I2C-Protokoll ist lediglich exemplarisch, und andere Kommunikationstechnologien können unter anderem folgende beinhalten: I3CSM von MIPI, Universal Asynchronous Receiver-Transmitter (UART), Serial Peripheral Interface (SPI), System Management Bus (SMbus), Controller Area Network (CAN), Local Area Network (LAN), Universal Serial Bus 2 (USB2), Auxiliary Port (AUX), Digital Data Control (DDC) und dergleichen.
  • In verschiedenen Ausführungsformen kann der Analysator 260 einen Verbinder 238 (z. B. zur kompatiblen Verbindung mit dem Verbinder 228), einen Vorrichtungsempfänger 240 und einen Verbinder 256 beinhalten. Der Vorrichtungsempfänger 240 kann einen Empfänger 248, der dazu ausgelegt ist, das differentielle Signalpaar zu empfangen, und eine Bitfehlerüberprüfungseinrichtung 250 beinhalten. Der Verbinder 246 des Prozessors 202 kann mit dem Verbinder 256 des Analysators 260 kompatibel und für eine Verbindung mit selbigem ausgelegt sein. Ferner kann der Verbinder 238 des Analysators 260 über ein externes Kabel, z. B. ein USB-Kabel, ein TBT-Kabel, ein HDMI-Kabel, ein Display-Port-Kabel oder ein anderes Hochgeschwindigkeitsverbindungskabel, mit dem Verbinder 228 des Prozessors 202 verbunden sein. Der Verbinder 238 kann mittels eines differentiellen Leiterpaars mit dem Empfänger 248 gekoppelt sein. In verschiedenen Ausführungsformen können die Komponenten des Systems 100, die im System 100 aus 1A entsprechende Komponenten aufweisen, ähnlich wie unter Bezugnahme auf 1A beschrieben arbeiten.
  • 3 ist ein Flussdiagramm eines Verfahrens 300 zum Reduzieren von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen, nach einer Ausführungsform.
    Das Verfahren 300 kann durch Verarbeitungslogik ausgeführt werden, die Hardware (z. B. Schaltungsanordnungen, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software (wie etwa auf einer Verarbeitungsvorrichtung ausgeführte Befehle), Firmware oder eine Kombination derselben umfassen kann. Bei einer Implementierung können der Prozessor 102 (oder das SoC) und/oder die Steuerung 130 aus 1A und 1B das Verfahren 300 ausführen. Wenngleich die Darstellung einer bestimmten Ab- oder Reihenfolge folgt, kann die Reihenfolge der Prozesse, sofern nicht anders angegeben, verändert werden. Somit sind die dargestellten Ausführungsformen lediglich als Beispiele zu verstehen, und die dargestellten Prozesse können in einer anderen Reihenfolge ausgeführt werden, und einige Prozesse können parallel ausgeführt werden. Zusätzlich können ein oder mehrere Prozesse in verschiedenen Ausführungsformen weggelassen werden. Somit sind nicht alle Prozesse in jeder Ausführungsform erforderlich. Andere Prozessabläufe sind möglich.
  • Weiterhin unter Bezugnahme auf 3 kann das Verfahren 300 damit beginnen, dass die Verarbeitungslogik eine gemessene, z. B. eine durch die Bitfehlerüberprüfungseinrichtung 150 des Vorrichtungsempfängers 140 gemessene Bitfehlerrate (Bit Error Rate, BER) empfängt (305). Das Verfahren 300 kann damit fortgesetzt werden, dass die Verarbeitungslogik ermittelt, ob die gemessene BER kleiner als oder so groß wie eine Schwellen-BER ist (310). Wenn ja, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung 122 speichert (z. B. in einem Register) und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung 126 speichert (z. B. in einem zweiten Register) (360). Wenn nein, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik einen festen Verzögerungswert (z. B. 0,5 ps, 1 ps, 2 ps oder dergleichen) zum ersten Verzögerungswert hinzufügt, um einen ersten Netto-Verzögerungswert zu erzeugen (315). In anderen Ausführungsformen kann der feste Verzögerungswert vom ersten Netto-Verzögerungswert subtrahiert werden. Das Verfahren 300 kann damit fortgesetzt werden, dass die Verarbeitungslogik eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende neue gemessene BER empfängt (320).
  • Weiterhin Bezug nehmend auf 3 kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik erneut bestimmt, ob die vom Empfänger empfangene BER (die neu gemessene BER) kleiner als oder so groß wie die Schwellen-BER ist (325). Wenn ja, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung 122 speichert (z. B. in einem Register) und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung 126 speichert (z. B. in einem zweiten Register) (360). Wenn nein, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik bestimmt, ob die aktuelle BER größer als die vorherige BER ist (330). Wenn nein, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik das Hinzufügen eines festen Verzögerungswerts zum ersten Netto-Verzögerungswert wiederholt, um einen aktualisierten ersten Netto-Verzögerungswert zu erzeugen (315). In anderen Ausführungsformen kann der feste Verzögerungswert vom ersten Netto-Verzögerungswert subtrahiert werden. Wenn ja, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik den ersten Netto-Verzögerungswert auf null setzt (335). Dieses Zurücksetzen kann den ersten Netto-Verzögerungswert neu initialisieren, basierend auf der falschen Annahme, dass der Skew auf eine Verzögerung auf dem negativen Leiter 116 zurückzuführen war.
  • Weiterhin Bezug nehmend auf 3 kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik den festen Verzögerungswert zum zweiten Verzögerungswert hinzufügt, um einen zweiten Netto-Verzögerungswert zu erzeugen (340). Selbstverständlich kann das Hinzufügen des festen Verzögerungswerts zum zweiten Verzögerungswert (bzw. das Subtrahieren des festen Verzögerungswerts von selbigem) zuerst bei Block 315 stattfinden, sodass das Setzen des zweiten Netto-Verzögerungswerts auf null bei Block 335 stattfinden kann und der in Block 315 ausgeführte Vorgang bei Block 340 ausgeführt werden kann. Auf diese Weise ist es unerheblich, ob das Verfahren 300 mit dem Einstellen des ersten Verzögerungswerts oder des zweiten Verzögerungswerts beginnt, da die Blöcke 340, 342, 345 und 350 mit den Blöcken 315, 320, 325 bzw. 330 austauschbar sind. Das Verfahren 300 kann damit fortgesetzt werden, dass die Verarbeitungslogik eine auf der Verwendung des zweiten Netto-Verzögerungswerts basierende neu gemessene BER empfängt (342).
  • Das Verfahren 300 kann damit fortgesetzt werden, dass die Verarbeitungslogik erneut ermittelt, ob die BER (die auf Änderungen des ersten und des zweiten Netto-Verzögerungswerts basierende neue BER) kleiner als oder so groß wie die Schwellen-BER (345) ist. Wenn ja, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung 122 speichert (z. B. in einem Register) und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung 126 speichert (z. B. in einem zweiten Register) (360). Wenn nein, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik bestimmt, ob die aktuelle BER größer als die vorherige BER ist (350). Wenn ja, kann das Verfahren 300 erneut starten. Wenn nein, kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik erneut den festen Verzögerungswert zum zweiten Netto-Verzögerungswert auf dem negativen Leiter hinzufügt, um den zweiten Netto-Verzögerungswert zu aktualisieren (340). Wie bereits erwähnt, kann in anderen Ausführungsformen der feste Verzögerungswert vom zweiten Netto-Verzögerungswert subtrahiert werden, statt zu ihm hinzugefügt zu werden.
  • In verschiedenen Ausführungsformen kann das Hinzufügen der festen Verzögerung zum ersten Verzögerungswert (bzw. ersten Netto-Verzögerungswert) in Block 315 oder zum zweiten Verzögerungswert (bzw. zweiten Netto-Verzögerungswert) in Block 340 mehrere Male wiederholt werden, bis die aktuelle BER kleiner als oder so groß wie die Schwellen-BER wird; zu diesem Zeitpunkt kann das Verfahren 300 zum Programmieren der Netto-Verzögerungswerte zur weiteren Verwendung übergehen (360).
  • In verschiedenen Ausführungsformen kann, wenn die erste programmierbare analoge Verzögerungsschaltung 122 eine erste angezapfte Verzögerungsleitung ist und die zweite programmierbare analoge Verzögerungsschaltung 126 eine zweite angezapfte Verzögerungsleitung ist, das Verfahren 300 einige zusätzliche Vorgänge ausführen, wenn bestimmt wird, dass die aktuelle BER kleiner als oder so groß wie die Schwellen-BER ist (z. B. in den Blöcken 325 und 345). Beispielsweise kann das Verfahren 300 damit fortgesetzt werden, dass die Verarbeitungslogik einen Anzapfwert bestimmt, der dem ersten Netto-Verzögerungswert entspricht, und die erste angezapfte Verzögerungsleitung mit dem Anzapfwert signalisiert, um die erste Verzögerung am positiven Leiter 112 zu erzeugen. Das Verfahren 300 kann auch damit fortgesetzt werden, dass die Verarbeitungslogik einen Anzapfwert bestimmt, der dem zweiten Netto-Verzögerungswert entspricht, und die erste angezapfte Verzögerungsleitung mit dem Anzapfwert signalisiert, um die zweite Verzögerung am negativen Leiter 116 zu erzeugen.
  • Die Ausführungsformen der Systeme 100 und 200 aus 1 - 2 können verschiedene Vorteile gegenüber früheren Lösungen aufweisen. Beispielsweise entstehen unter Umständen keine zusätzlichen Kosten und kein PCB-Materialverlust, da das CAD-Bild auf der Platine nicht um einen bestimmten Winkel gekippt wird. Die Ausführungsformen reduzieren zusätzliche Anstrengungen und Zeitaufwand während der PCB-Layoutphase, da unter Umständen kaum die Notwendigkeit eines speziellen Routings oder einer strengen Längenanpassung zwischen dem positiven und dem negativen Signal eines differentiellen Signalpaars besteht, z. B. keine Notwendigkeit von Zick-Zack- oder Winkel-Routing. Ferner können auf realistische Weise Skews innerhalb von +/- 3 ps erzielt werden. Selbst wenn es den CAD-Tools nicht gelingt, das positive und negative Signal im Layout anzupassen, kann Skew ohne erneutes Drehen der Platine eingestellt werden.
  • 6 ist ein Blockdiagramm eines Rechensystems, das eine Verbindungsstruktur beinhaltet, nach einer Ausführungsform der vorliegenden Offenbarung. Bezug nehmend auf 6 ist eine Ausführungsform einer Struktur dargestellt, die aus Punkt-zu-Punkt-Verbindungen zusammengesetzt ist, die einen Satz von Komponenten miteinander verbinden. Das System 600 beinhaltet einen Prozessor 605 und einen Systemspeicher 610, der mit einem Controller-Hub 615 gekoppelt ist. Der Prozessor 605 beinhaltet ein Verarbeitungselement, wie etwa einen Mikroprozessor, einen Host-Prozessor, einen eingebetteten Prozessor, einen Co-Prozessor oder einen anderen Prozessor. Der Prozessor 605 ist durch einen Front-Side-Bus (FSB) 606 mit dem Controller-Hub 615 gekoppelt. In einer Ausführungsform ist der FSB 606 ein serielle Punkt-zu-Punkt-Verbindung, wie nachstehend beschrieben. In einer anderen Ausführungsform beinhaltet die Verbindung 606 eine serielle, differentielle Verbindungsarchitektur, die verschiedenen Verbindungsstandards entspricht.
  • Der Systemspeicher 610 beinhaltet eine Speichervorrichtung, wie etwa einen Direktzugriffsspeicher (random access memory, RAM), einen nichtflüchtigen (non-volatile, NV) Speicher oder einen anderen Speicher, auf den Vorrichtungen im System 600 zugreifen können. Der Systemspeicher 610 ist durch eine Speicherschnittstelle 616 mit dem Controller-Hub 615 gekoppelt. Beispiele einer Speicherschnittstelle beinhalten eine Double-Data-Rate (DDR)-Speicherschnittstelle, eine Dual-Channel-DDR-Speicherschnittstelle und eine Dynamic-RAM (DRAM)-Speicherschnittstelle.
  • In einer Ausführungsform ist der Controller-Hub 615 ein Root-Hub, ein Root-Komplex oder eine Root-Steuerung in einer PCIe® (oder PCIE®)-Verbindungshierarchie, wobei er jedoch beispielsweise auch innerhalb anderer Punkt-zu-Punkt-, serieller, differentieller, geschichteter Protokoll- oder Verbindungsstrukturarchitekturen bestehen kann. Beispiele eines Controller-Hubs 615 beinhalten einen Chipsatz, einen Memory-Controller-Hub (MCH), eine Northbridge, einen Interconnect-Controller-Hub (ICH), eine Southbridge und einen Root-Controller/-Hub. Häufig bezieht sich der Ausdruck ,Chipsatz‘ auf zwei physisch getrennte Controller-Hubs, d. h. einen Memory-Controller-Hub (MCH), der mit einem Interconnect-Controller-Hub (ICH) gekoppelt ist. Es ist zu beachten, dass in aktuellen Systemen häufig der MCH in den Prozessor 605 integriert ist, während der Controller-Hub 615 in einer ähnlichen Weise wie vorstehen beschrieben mit I/O-Vorrichtungen kommunizieren soll. In einigen Ausführungsformen wird optional Peer-to-Peer-Routing durch den Root-Komplex 615 unterstützt.
  • Hier ist der Controller-Hub 615 durch eine serielle Verbindung 619 mit einem Schalter/einer Brücke 620 gekoppelt. Die Eingabe-/Ausgabemodule 617 und 621, die auch als Schnittstellen/Anschlüsse 617 und 621 bezeichnet werden können, beinhalten/implementieren einen geschichteten Protokollstapel, um Kommunikation zwischen dem Controller-Hub 615 und dem Schalter 620 bereitzustellen. In einer Ausführungsform können mehrere Vorrichtungen mit dem Schalter 620 gekoppelt sein.
  • Der Schalter/die Brücke 620 leitet Pakete/Nachrichten von der Vorrichtung 625 stromaufwärts, d. h. in einer Hierarchie nach oben zu einem Root-Komplex, zum Controller-Hub 615 und stromabwärts, d. h. in einer Hierarchie nach unten von einem Root-Controller, vom Prozessor 605 oder Systemspeicher 610 zur Vorrichtung 625. Der Schalter 620 wird in einer Ausführungsform als eine logische Anordnung mehrerer virtueller PCI-zu-PCI-Brückenvorrichtungen bezeichnet. Die Vorrichtung 625 beinhaltet eine interne oder externe Vorrichtung oder Komponente, die mit einem elektronischen System zu koppeln ist, wie etwa mit einer I/O-Vorrichtung, einer Netzwerkkarte (Network Interface Controller, NIC), einer Erweiterungskarte (add-in card), einem Audioprozessor, einem Netzwerkprozessor, einer Festplatte, einer Speichervorrichtung, einer CD-/DVD-ROM, einem Bildschirm, einem Drucker, einer Maus, einer Tastatur, einem Router, einer tragbaren Speichervorrichtung, einer FireWire®-Vorrichtung, einer Universal-Serial-Bus- (USB) Vorrichtung, einem Scanner und anderen Eingabe-/Ausgabevorrichtungen. Häufig wird in der PCIe®-Fachsprache eine solche Vorrichtung als ein Endpunkt bezeichnet. Wenngleich nicht spezifisch gezeigt, kann die Vorrichtung 625 eine PCIe®-zu-PCI/PCI-X-Brücke beinhalten, um Legacy- und andere Versionen von PCI™-Vorrichtungen zu unterstützen. Endpunktvorrichtungen in PCIe werden häufig als Legacy-, PCIe®-, oder in einen Root-Komplex integrierte Endpunkte klassifiziert.
  • Ein Grafikbeschleuniger 630 ist ebenfalls über eine serielle Verbindung 632 mit dem Controller-Hub 615 gekoppelt. In einer Ausführungsform ist der Grafikbeschleuniger 630 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Der Schalter 620 und dementsprechend die I-/O-Vorrichtung 625 sind dann mit dem ICH gekoppelt. Die I/O Module 631 und 618 sollen zudem einen geschichteten Protokollstapel zum Kommunizieren zwischen dem Grafikbeschleuniger 630 und dem Controller-Hub 615 implementieren. Ähnlich der vorstehenden MCH-Besprechung kann eine Grafiksteuerung oder der Grafikbeschleuniger 630 selbst in den Prozessor 605 integriert sein.
  • Bezug nehmend auf 7 ist eine Ausführungsform eines geschichteten Protokollstapels dargestellt. Der geschichtete Protokollstapel 700 beinhaltet eine Form eines geschichteten Kommunikationsstapels, wie etwa eines Quick-Path-Interconnect (QPI)-Stapels, eines PCIe®-Stapels, eines Hochleistungsdatenverarbeitungsverbindungsstapel der nächsten Generation oder eines anderen geschichteten Stapels. Wenngleich sich die direkt folgende Besprechung unter Bezugnahme auf 6 - 8 auf einen PCIe®-Stapel bezieht, sind dieselben Konzepte auch auf andere Verbindungsstapel anwendbar. In einer Ausführungsform ist der Protokollstapel 700 ein PCIe-Protokollstapel, der eine Transaktionsschicht 705, eine Verbindungsschicht 710 und eine physische Schicht 720 beinhaltet. Eine Schnittstelle, wie etwa die Schnittstellen 617, 618, 621, 622, 626 und 631 in 6, kann als Kommunikationsprotokollstapel 700 dargestellt sein. Die Darstellung als ein Kommunikationsprotokollstapel kann auch als ein Modul oder als eine Schnittstelle, das bzw. die einen Protokollstapel implementiert/beinhaltet, bezeichnet werden.
  • In einer Ausführungsform können die Schnittstellen 617, 618 und 622 zum Reduzieren von Skew in einem übertragenen differentiellen Signal Komponenten des Prozessors 102 beinhalten, die unter Bezugnahme auf 1 - 3 besprochen werden. Ebenso können die Schnittstellen 621, 631 und 626 zum Reduzieren von Skew in einem übertragenen differentiellen Signal den Empfänger 148 und die Bitfehlerüberprüfungseinrichtung 150 beinhalten, die ebenfalls unter Bezugnahme auf 1 - 3 besprochen werden. Dementsprechend können ein Taktsignal oder getaktete Daten von einer der Schnittstellen 617, 618 oder 622 auf eine der Schnittstellen 621, 631 bzw. 626 mit reduziertem Skew, wie hier erörtert, verteilt werden und durch Schaltungsanordnungen innerhalb der Schnittstelle 621, 631 bzw. 626 zurückgewonnen/wiederhergestellt werden.
  • PCI Express® verwendet Pakete, um Information zwischen Komponenten zu kommunizieren. Pakete sind in der Transaktionsschicht 705 und in der Datenverbindungsschicht 710 ausgebildet, um Informationen von der Übertragungskomponente zur Empfangskomponente zu tragen. Wenn die übertragen Pakete die anderen Schichten durchlaufen, werden sie um zusätzliche Informationen erweitert, die zur Handhabung der Pakete in diesen Schichten erforderlich sind. Auf der Empfangsseite findet der umgekehrte Prozess statt, und Pakete werden von ihrer Darstellung in der physischen Schicht 720 in die Darstellung in der Datenverbindungsschicht 710 und schließlich (für Transaktionsschichtpakete) in die Form, die durch die Transaktionsschicht 705 der Empfangsvorrichtung verarbeitet werden kann, umgewandelt.
  • Transaktionsschicht
  • In einer Ausführungsform dient die Transaktionsschicht 705 dazu, eine Schnittstelle zwischen einem Verarbeitungskern einer Vorrichtung und der Verbindungsarchitektur, wie etwa der Datenverbindungsschicht 710 und der physischen Schicht 720, bereitzustellen. In dieser Hinsicht besteht eine Hauptaufgabe der Transaktionsschicht 705 im Zusammensetzen und Auseinandernehmen von Paketen (z. B. von Transaktionsschichtpaketen (transaction layer packets, TLPs)). Die Transaktionsschicht 705 handhabt üblicherweise eine kreditbasierte Flusssteuerung für TLPs. PCIe® implementiert geteilte Transaktionen, d. h. Transaktionen, bei denen Anfrage und Antwort zeitlich getrennt sind, was ermöglicht, dass eine Verbindung anderen Verkehr trägt, während die Zielvorrichtung Daten für die Antwort sammelt.
  • Zusätzlich verwendet PCIe® eine kreditbasierte Flusssteuerung. In diesem Schema verkündet eine Vorrichtung einen Anfangskreditbetrag für jeden der Empfangspuffer in der Transaktionsschicht 705. Eine externe Vorrichtung am gegenüberliegenden Ende der Verbindung, wie etwa der Controller-Hub 615 in 6, zählt die Anzahl der durch jedes TLP verbrauchten Kreditpunkte. Eine Transaktion kann übertragen werden, wenn die Transaktion einen Kreditrahmen nicht überschreitet. Beim Empfangen einer Antwort wird ein Kreditbetrag wiederhergestellt. Ein Vorteil eines Kreditschemas besteht darin, dass die Latenz einer Kreditrückgabe nicht die Leistung beeinflusst, sofern der Kreditrahmen nicht erreicht wird.
  • In einer Ausführungsform beinhalten vier Transaktionsadressräume einen Konfigurationsadressraum, einen Speicheradressraum, einen Eingabe/Ausgabe (I/O)-Adressraum und einen Nachrichtenadressraum. Speicherraumtransaktionen beinhalten eine oder mehrere Leseanforderungen und Schreibanforderungen, um Daten an/von eine(r) speicherzugeordneten (memory-mapped) Position zu übertragen. In einer Ausführungsform sind Speicherraumtransaktionen dazu in der Lage, zwei unterschiedliche Adressformate zu verwenden, z. B. ein kurzes Adressformat, wie etwa eine 32-Bit-Adresse, oder ein langes Adressformat, wie etwa eine 64-Bit-Adresse. Konfigurationsraumtransaktionen werden verwendet, um auf Konfigurationsraum der PCIe® Vorrichtungen zuzugreifen. Konfigurationsraumtransaktionen beinhalten Leseanforderungen und Schreibanforderungen. Nachrichtenraumtransaktionen (oder einfach Nachrichten) sind definiert, um In-Band-Kommunikation zwischen PCIe®-Agenten zu unterstützen.
  • Somit setzt in einer Ausführungsform die Transaktionsschicht 705 Paketheader/- nutzlast 706 zusammen. Das Format für aktuelle Paketheader/-nutzlasten ist in der PCIe®-Spezifikation auf der PCIe®-Spezifikationswebsite zu finden.
  • Verbindungsschicht
  • Die Verbindungsschicht 710, die auch als Datenverbindungsschicht 710 bezeichnet wird, dient als eine Zwischenstufe zwischen der Transaktionsschicht 705 und der physischen Schicht 720. In einer Ausführungsform besteht eine Aufgabe der Datenverbindungsschicht 710 darin, einen zuverlässigen Mechanismus zum Austauschen von Transaktionsschichtpaketen (transaction layer packets, TLPs) zwischen zwei Komponenten einer Verbindung bereitzustellen. Eine Seite der Datenverbindungsschicht 710 akzeptiert durch die Transaktionsschicht 705 zusammengesetzte TLPs, wendet eine Paketsequenzkennung 711, d. h. eine Kennungsnummer oder Paketnummer, an, berechnet und verwendet einen Fehlererkennungscode, d. h. CRC 712, und gibt die modifizierten TLPs an die physische Schicht 720 zur Übertragung über eine physische an eine externe Vorrichtung ab.
  • Physische Schicht
  • In einer Ausführungsform beinhaltet die physische Schicht 720 einen logischen Unterblock 721 und einen elektrischen Unterblock 722 zum physischen Übertragen eines Pakets an eine externe Vorrichtung. Hier ist der logische Unterblock 721 für die „digitalen“ Funktionen der physischen Schicht 720 zuständig. In dieser Hinsicht beinhaltet der logische Unterblock einen Übertragungsabschnitt zum Vorbereiten ausgehender Informationen zur Übertragung durch den elektrischen (z. B. physischen) Unterblock 722 und einen Empfängerabschnitt zum Identifizieren und Vorbereiten empfangener Informationen vor deren Weiterleitung an die Verbindungsschicht 710.
  • In einer Ausführungsform beinhaltet der elektrische Unterblock 722 einen Sender und/oder einen Empfänger und kann daher Komponenten des Prozessors 102 (zur Übertragung), Komponenten der Vorrichtungsempfänger 140 oder 240 (zum Empfang) oder beide (zur Übertragung bzw. zum Empfang) beinhalten. Auf diese Weise kann Skew in einem differentiellen Signal beim Übertragen von der physischen Schicht 720 einer Übertragungsvorrichtung (z. B. vom Prozessor 102) zu einer physischen Schicht 720 einer Empfangsvorrichtung (z. B. zum Vorrichtungsempfänger 140), wie in 1A und 1B beschrieben, reduziert werden.
  • Der Sender kann auch alternativ oder zusätzlich durch den logischen Unterblock 721 mit Symbolen versorgt werden, die der Sender serialisiert und an eine externe Vorrichtung überträgt. Der Empfänger wird mit serialisierten Symbolen von einer externen Vorrichtung versorgt und wandelt die empfangenen Signale in einem Bitstrom um. Der Bitstrom wird deserialisiert und dem logischen Unterblock 721 zugeführt. In einer Ausführungsform wird ein 8b/10b-Übertragungscode verwendet, bei dem Zehn-Bit-Symbole übertragen/empfangen werden. Hier können spezielle Symbole verwendet werden, um ein Paket mit Rahmen 723 einzurahmen. Zusätzlich stellt in einem Beispiel der Empfänger auch einen aus dem eintreffenden seriellen Strom wiedergewonnenen und wiederhergestellten Symboltakt bereit.
  • Wie vorstehend angegeben, ist ein geschichteter Protokollstapel, wenngleich die Transaktionsschicht 705, die Verbindungsschicht 710 die und physische Schicht 720 unter Bezugnahme auf eine spezifische Ausführungsform eines PCIe®-Protokollstapels besprochen wurden, nicht darauf beschränkt. Vielmehr kann ein beliebiges geschichtetes Protokoll aufgenommen/implementiert werden. Beispielsweise beinhaltet ein Anschluss/eine Schnittstelle, der bzw. die als ein geschichtetes Protokoll dargestellt ist, Folgendes: (1) eine erste Schicht zum Zusammensetzen von Paketen, d. h. eine Transaktionsschicht; eine zweite Schicht zum Sequenzieren von Paketen, d. h. eine Verbindungsschicht; und eine dritte Schicht zum Übertragen der Pakete, d. h. eine physische Schicht. Als ein spezifisches Beispiel wird eine gemeinsame Standardschnittstelle (common standard interface, CSI) verwendet.
  • 8 ist ein Blockdiagramm eines Sender- und Empfängerpaars 800, das innerhalb einer Verbindungsstrukturarchitektur und innerhalb einer seriellen Punkt-zu-Punkt-Struktur verwendbar ist, nach einer Ausführungsform der vorliegenden Offenbarung. Wenngleich eine Ausführungsform einer seriellen PCIe® Punkt-zu-Punkt-Verbindung dargestellt ist, ist eine serielle Punkt-zu-Punkt-Verbindung nicht derart beschränkt, da sie einen Übertragungsweg zum Übertragen serieller Daten beinhaltet. In der gezeigten Ausführungsform beinhaltet eine grundlegende PCIe®-Verbindung zwei differentiell gesteuerte Signalpaare mit niedriger Spannung: ein Sendepaar 806/811 und ein Empfangspaar 812/807. Dementsprechend beinhaltet die Vorrichtung 805 Übertragungslogik 806 zum Übertragen von Daten an die Vorrichtung 810 und Empfangslogik 807 zum Empfangen von Daten von der Vorrichtung 810. Anders ausgedrückt, sind zwei Übertragungswege, d. h. die Wege 816 und 817, und zwei Empfangswege, d. h. die Wege 818 und 819, in einer PCIe®-Verbindung enthalten.
  • In einer Ausführungsform können die Übertragungslogik 806 und die Übertragungslogik 812 jede den Testmustergenerator 106, den Sender 108, die erste programmierbare analoge Verzögerungsschaltung 122, die zweite programmierbare analoge Verzögerungsschaltung 126 und die Steuerung 130 beinhalten, wie etwa in 1A und 1B dargestellt und unter Bezugnahme auf selbige erörtert. Ferner können die Empfangslogik 811 und 807 jede einen Empfänger 148 und eine Bitfehlerüberprüfungseinrichtung 150 beinhalten, wie in 1A und 1B dargestellt und unter Bezugnahme auf selbige erörtert. Auf diese Weise kann die Vorrichtung 805 Daten oder einen Takt verteilen oder, Bezug nehmend auf die Vorrichtung 810, CDR ausführen, wie unter Bezugnahme auf 1 erörtert. Ebenso kann die Vorrichtung 810 Daten oder einen Takt verteilen oder, Bezug nehmend auf die Vorrichtung 805, CDR ausführen, wie unter Bezugnahme auf 1A und 1B erörtert. In einer Ausführungsform können die programmierbaren analogen Verzögerungsschaltungen 122, 126 und die Steuerungen 130 mit dem Empfänger 811 der Vorrichtung 810, mit dem Empfänger 807 der Vorrichtung 805 oder mit dem Sender 812 der Vorrichtung 810 gekoppelt sein.
  • Ein Übertragungsweg (oder eine Übertragungsverbindung) bezieht sich auf einen Weg zum Übertragen von Daten, wie etwa eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, eine Infrarotkommunikationsverbindung oder einen anderen Kommunikationsweg. Eine Verbindung zwischen zwei Vorrichtungen, wie etwa Vorrichtung 805 und Vorrichtung 810, wird als Link bzw. Verbindung, wie etwa Verbindung 815, bezeichnet. Eine Verbindung kann eine Lane unterstützen, wobei jede Lane eine Reihe differentieller Signalpaare darstellt (ein Paar für die Übertragung, ein Paar für den Empfang). Zum Skalieren der Bandbreite kann eine Verbindung mehrere Lanes zusammenfassen, was durch xN gekennzeichnet ist, wobei N eine unterstützte Verbindungsbreite, wie etwa 1, 2, 4, 8, 12, 16, 32, 64, oder breiter, ist. In einer Ausführungsform kann die Übertragungslogik 806 oder 812 einen Teil des Prozessors 102 oder 202 beinhalten oder bilden. Ebenso kann die Empfangslogik 807 oder 811 einen Teil des Vorrichtungsempfängers 140 oder 240 beinhalten oder bilden.
  • Ein differentielles Paar bezieht sich auf zwei Übertragungswege, wie etwa die Leitungen 816 und 817 zum Übertragen differentieller Signale. Wenn beispielsweise die Leitung 816 von einem niedrigen Spannungspegel zu einem hohen Spannungspegel wechselt, d. h. eine ansteigende Flanke, steuert die Leitung 817 von einem hohen Logikpegel zu einem niedrigen Logikpegel, d. h. eine abfallende Flanke. Differentielle Signale weisen möglicherweise bessere elektrische Eigenschaften auf, wie etwa eine bessere Signalintegrität, d. h. Kreuzkopplung, Spannungsüberschwingung/-unterschwingung, Ringing usw. Dies ermöglicht ein besseres Zeitfenster, was schnellere Übertragungsfrequenzen erlaubt.
  • Nun Bezug nehmend auf 9 ist ein Blockdiagramm von in einem Computersystem vorhandenen Komponenten nach einer Ausführungsform der vorliegenden Offenbarung dargestellt. Wie in 9 gezeigt, beinhaltet das System 900 eine Kombination von Komponenten. Diese Komponenten können als ICs, Teile derselben, einzelne elektronische Vorrichtungen oder andere Module, Logik, Hardware, Software, Firmware oder eine für ein Computersystem geeignete Kombination oder als anderweitig in das Gehäuse des Computersystems eingebaute Komponenten implementiert sein. Zudem ist zu beachten, dass das Blockdiagramm aus 9 eine detaillierte Übersicht über viele Komponenten des Computersystems zeigen soll. Es versteht sich jedoch, dass in anderen Implementierungen einige der gezeigten Komponenten weggelassen werden, zusätzliche Komponenten vorhanden sein und andere Anordnungen der gezeigten Komponenten auftreten können. Infolgedessen kann die vorstehend beschriebene Offenbarung in einem beliebigen Teil von einer oder mehreren der nachstehend dargestellten oder beschriebenen Verbindungen implementiert sein.
  • Wie in 9 ersichtlich, beinhaltet ein Prozessor 910 in einer Ausführungsform einen Mikroprozessor, einen Mehrkernprozessor, einen Multithread-Prozessor, einen Prozessor mit Ultraniedrigspannung, einen eingebetteten Prozessor oder ein anderes bekanntes Verarbeitungselement. In einer Ausführungsform kann der Prozessor 910 den Prozessor 102 (oder das SoC) beinhalten. Auf diese Weise kann der Prozessor 910 als der Sender zur Übertragung eines differentiellen Signals fungieren, wie hier erörtert, und die verschiedenen verbundenen I/O- und sonstigen verbundenen Vorrichtungen können als der Vorrichtungsempfänger 140 oder 240 fungieren.
  • In der dargestellten Implementierung fungiert der Prozessor 910 als eine Hauptverarbeitungseinheit und als ein zentraler Hub zur Kommunikation mit vielen der verschiedenen Komponenten des Systems 900. In einem Beispiel ist der Prozessor 900 als ein System auf einem Chip (System on a Chip, SoC) implementiert. Als ein besonders anschauliches Beispiel beinhaltet der Prozessor 910 einen auf einem Intel® Architecture Core™ basierenden Prozessor, wie etwa einen i3, i5, i7 oder einen anderen entsprechenden Prozessor der Intel Corporation, Santa Clara, CA. Es versteht sich jedoch, dass in anderen Ausführungsformen stattdessen andere leistungsarme Prozessoren, wie sie etwa von Advanced Micro Devices, Inc. (AMD) Sunnyvale, CA erhältlich sind, ein MIPS-basiertes Design von Imagination Technologies, von Kings Langley, Hertfordshire, UK, ein ARMbasiertes Design, lizenziert durch die ARM Holdings, Ltd. oder deren Kunden oder deren Lizenznehmer oder Anwender vorhanden sein können, wie etwa ein Apple A5/A6 Prozessor, ein Qualcomm Snapdragon Prozessor oder ein TI OMAP Prozessor. Es ist zu beachten, dass viele der Kundenausführungen dieser Prozessoren modifiziert und verändert sind; dennoch können sie einen Satz spezifischer Befehle unterstützen oder erkennen, der definierte Algorithmen ausführt, wie sie vom Lizenzgeber des Prozessors vorgegeben sind. Dabei kann die mikroarchitektonische Implementierung variieren, die architektonische Funktion des Prozessors ist jedoch üblicherweise konsistent. Einige Einzelheiten hinsichtlich der Architektur und des Betriebs des Prozessors 910 in einer Implementierung werden nachstehend näher erörtert, um ein veranschaulichendes Beispiel bereitzustellen.
  • Der Prozessor 910 kommuniziert in einer Ausführungsform mit einem Systemspeicher 915. Ein veranschaulichendes Beispiel lässt sich in einer Ausführungsform über mehrere Speichervorrichtungen implementieren, um eine bestimmte Menge an Systemspeicher bereitzustellen. Beispielsweise kann der Speicher einem auf einer leistungsarmen Doppeldatenrate (low power double data rate, LPDDR) basierenden Design des Joint Electron Devices Engineering Council (JEDEC) entsprechen, wie etwa dem aktuellen LPDDR2-Standard nach JEDEC JESD 209-2E (veröffentlicht im April 2009) oder einem als LPDDR3 oder LPDDR4 zu bezeichnenden LPDDR-Standard der nächsten Generation, der Erweiterungen von LPDDR2 zur Erhöhung der Bandbreite ermöglicht. In verschiedenen Implementierungen können die einzelnen Speichervorrichtungen unterschiedlich verpackt sein, wie etwa als Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (Q17P). Diese Vorrichtungen sind in einigen Ausführungsformen direkt auf eine Hauptplatine geschweißt, um eine Lösung mit flacher Bauform bereitzustellen, während in anderen Ausführungsformen die Vorrichtungen als ein oder mehrere Speichermodule ausgelegt sind, die ihrerseits durch einen bestimmten Verbinder mit der Hauptplatine gekoppelt sind. Und es sind auch andere Speicherimplementierungen möglich, wie etwa andere Typen von Speichermodulen, z. B. doppelreihige Speichermodule (Dual Inline Memory Modules, DIMMs) in unterschiedlichen Varianten, einschließlich unter anderem microDIMMs oder MiniDIMMs. In einer besonders anschaulichen Ausführungsform hat der Speicher eine Größe von 2 GB bis 16 GB und kann als ein DDR3LM-Baustein oder ein LPDDR2- oder LPDDR3-Speicher ausgelegt sein, der über eine Kugelgitteranordnung (ball grid array, BGA) auf eine Hauptplatine geschweißt ist.
  • Um eine dauerhafte Speicherung von Informationen, wie etwa Daten, Anwendungen, einem oder mehreren Betriebssystemen und so weiter, bereitzustellen, kann auch ein Massenspeicher 920 mit dem Prozessor 910 gekoppelt sein. In verschiedenen Ausführungsformen kann dieser Massenspeicher über ein Solid-State-Laufwerk (solid state drive, SSD) implementiert sein, um eine schmaleres und leichteres Systemdesign zu ermöglichen und das Ansprechverhalten des Systems zu verbessern. Allerdings kann der Massenspeicher in anderen Ausführungsformen auch vor allem unter Verwendung eines Festplattenlaufwerks (hard disk drive, HDD) implementiert sein, wobei eine geringere Menge an SSD-Speicher als ein SSD-Cache fungiert, um eine nicht flüchtige Speicherung des Kontextzustands und anderer entsprechender Informationen während Stromabsenkungsereignissen zu ermöglichen, sodass beim erneuten Initiieren von Systemaktivitäten eine schnelle Einschaltung erfolgen kann. Wie in 9 gezeigt, kann mit dem Prozessor 910 eine Flash-Vorrichtung 922 gekoppelt sein, z. B. über eine serielle periphere Schnittstelle (serial peripheral interface, SPI). Diese Flash-Vorrichtung kann eine nicht flüchtige Speicherung von Systemsoftware bereitstellen, einschließlich einer Basic-Input/Output-Software (BIOS) sowie anderer Firmware des Systems.
  • In verschiedenen Ausführungsformen ist der Massenspeicher des Systems nur durch ein SSD oder als eine Platte, ein optisches oder sonstiges Laufwerk mit einem SSD-Cache implementiert. In einigen Ausführungsformen ist der Massenspeicher als ein SSD oder als ein HDD zusammen mit einem Restore (RST)-Cachemodul implementiert. In verschiedenen Implementierungen stellt das HDD die Speicherung von 320 GB bis 4 Terabyte (TB) und mehr bereit, während der RST-Cache mit einem SSD mit einer Kapazität von 24 GB bis 256 GB implementiert ist. Es ist zu beachten, dass ein solcher SSD-Cache als eine Single-Level-Cache (SLC)- oder eine Multi-Level-Cache (MLC)-Option ausgelegt sein kann, um einen angemessenen Ansprechgrad bereitzustellen. Bei der Option nur mit einem SSD kann das Modul an verschiedenen Stellen, wie etwa an einem mSATA- oder einem NGFF-Steckplatz, untergebracht sein. Ein SSD weist beispielsweise eine Kapazität auf, die von 120 GB bis 1 TB reicht.
  • Innerhalb des Systems 900 können verschiedene Eingabe-/Ausgabe (I/O)-Vorrichtungen vorhanden sein. In der Ausführungsform von 9 ist insbesondere ein Anzeige 924 dargestellt, bei der es sich um eine hochauflösende LCD- oder LED-Tafel handeln kann, die innerhalb eines Klappenabschnitts des Gehäuses gestaltet ist. Diese Anzeigetafel kann auch einen Berührungsbildschirm 925 bereitstellen, der z. B. außerhalb über der Anzeigetafel so angepasst ist, dass dem System über eine Benutzerinteraktion mit diesem Berührungsbildschirm Benutzereingaben bereitgestellt werden können, um gewünschte Vorgänge zu ermöglichen, z. B. in Bezug auf die Anzeige von Informationen, den Zugriff auf Informationen und so weiter. In einer Ausführungsform kann die Anzeige 924 über eine Anzeige-Verbindungsleitung, die als eine HochleistungsgrafikVerbindungsleitung implementiert sein kann, mit dem Prozessor 910 gekoppelt sein. Der Berührungsbildschirm 925 kann über eine weitere Verbindungsleitung, die in einer Ausführungsform eine I2C-Verbindungsleitung sein kann, mit dem Prozessor 910 gekoppelt sein. Wie in 9 weiter gezeigt, können Benutzereingaben durch Berührung zusätzlich zum Berührungsbildschirm 925 auch über ein Berührungsfeld 930 erfolgen, das innerhalb des Gehäuses gestaltet und mit derselben I2C-Verbindungsleitung wie der Berührungsbildschirm 925 gekoppelt kann.
  • Zu wahrnehmungsbezogenen Rechenzwecken (perceptual computing) und anderen Zwecken können innerhalb des Systems verschiedene Sensoren vorhanden sein und in unterschiedlicher Weise mit dem Prozessor 910 gekoppelt sein. Bestimmte Trägheits- und Umgebungssensoren können durch einen Sensor-Hub 940, z. B. über eine I2C-Verbindungsleitung, mit dem Prozessor 910 gekoppelt sein. In der in 9 gezeigten Ausführungsform können diese Sensoren einen Beschleunigungsmesser 941, einen Umgebungslichtsensor (ambient light sensor, ALS) 942, einen Kompass 943 und ein Gyroskop 944 beinhalten. Andere Umgebungssensoren können einen oder mehrere Wärmesensoren 946 beinhalten, die in einigen Ausführungsformen über einen System-Management-Bus (SMBus) mit dem Prozessor 910 gekoppelt sind.
  • Anhand der verschiedenen Trägheits- und Umgebungssensoren, die in einer Plattform vorhanden sind, können viele verschiedene Anwendungsfälle realisiert werden. Diese Anwendungsfälle ermöglichen erweiterte Rechenvorgänge, einschließlich Perceptual Computing, und lassen zudem Verbesserungen in Bezug auf Energieverwaltung/Batterielebensdauer, Sicherheit und Ansprechverhalten des Systems zu. Was beispielsweise Fragen der Energieverwaltung/Batterielebensdauer betrifft, so werden, zumindest teilweise auf Informationen von einem Umgebungslichtsensor basierend, die Umgebungslichtverhältnisse an einer Stelle der Plattform bestimmt und die Intensität der Anzeige entsprechend gesteuert. Somit wird die Energie zum Betreiben der Anzeige bei bestimmten Lichtverhältnissen reduziert.
  • Was Sicherheitsvorgänge betrifft, so kann basierend auf Kontextinformationen, die von den Sensoren erhalten werden, wie etwa Ortsinformationen, bestimmt werden, ob einem Benutzer der Zugriff auf bestimmte sichere Dokumente gewährt wird. Beispielsweise kann einem Benutzer der Zugriff auf diese Dokumente an einem Arbeitsplatz oder zu Hause gewährt werden. Dagegen kann dem Benutzer der Zugriff auf diese Dokumente verwehrt werden, wenn sich die Plattform an einem öffentlichen Ort befindet. Diese Bestimmung basiert in einer Ausführungsform auf Ortsinformationen, die z. B. darüber bestimmt werden, dass ein GPS-Sensor oder eine Kamera Wegpunkte erkennt. Andere Sicherheitsvorgänge können beinhalten, dass eine Paarung von in großer Nähe zueinander befindlichen Vorrichtungen, z. B. einer tragbaren Plattform, wie hierin beschrieben, und eines Desktop-Computers eines Benutzers, eines Mobiltelefons und so weiter, bereitgestellt wird. In einigen Implementierungen findet eine gewisse gemeinsame Nutzung über Nahfeldkommunikation statt, wenn diese Vorrichtungen derart dementsprechend sind. Wenn die Vorrichtungen jedoch einen bestimmten Abstand überschreiten, kann diese gemeinsame Nutzung deaktiviert werden. Ferner kann beim Paaren einer Plattform, wie hierin beschrieben, mit einem Smartphone ein Alarm dazu ausgelegt sein, dann ausgelöst zu werden, wenn sich die Vorrichtungen um mehr als einen vorbestimmten Abstand voneinander wegbewegen, wenn sie sich an einem öffentlichen Ort befinden. Wenn sich diese gepaarten Vorrichtungen an einem sicheren Ort, z. B. einem Arbeitsplatz oder zu Hause befinden, können die Vorrichtungen dagegen diesen vorbestimmten Grenzwert überschreiten, ohne einen solchen Alarm auszulösen.
  • Auch das Ansprechverhalten kann unter Verwendung der Sensorinformationen verbessert werden. Beispielsweise können, selbst wenn sich eine Plattform in einem Energiesparzustand befindet, die Sensoren weiterhin so aktiviert sein, dass sie mit einer relativ niedrigen Frequenz arbeiten. Dementsprechend werden beliebige Ortsänderungen der Plattform ermittelt, z. B. wie sie durch Trägheitssensoren, einen GPS-Sensor usw. bestimmt werden. Wurden keine entsprechenden Änderungen registriert, so kommt es zu einer schnelleren Verbindung zu einem vorherigen drahtlosen Hub, wie etwa einem Wi-Fi™-Zugangspunkt oder einem ähnlichen Wireless Enabler, da es in diesem Fall nicht mehr erforderlich ist, nach verfügbaren Ressourcen eines drahtlosen Netzes zu suchen. Somit wird ein besseres Ansprechverhalten beim Aktivieren aus einem Energiesparzustand erzielt.
  • Es versteht sich, dass unter Verwendung von Sensorinformationen, die über die integrierten Sensoren innerhalb einer Plattform, wie hierin beschrieben, erhalten werden können, viele andere Anwendungsfälle ermöglicht werden können und dass die vorstehenden Beispiele lediglich der Veranschaulichung dienen. Durch Verwenden eines Systems, wie dem hierin beschriebenen, kann ein wahrnehmungsbezogenes Rechensystem (perceptual computing system) ermöglichen, dass alternative Eingabemodalitäten, einschließlich Gestenerkennung, hinzugefügt werden und dass das System in die Lage versetzt wird, Benutzervorgänge und -absichten zu erfassen.
  • In verschiedenen Ausführungsformen kann der Beschleunigungsmesser ein 3-Achsen-Beschleunigungsmesser mit Datenraten von zumindest 50 Hz sein. Ferner kann ein Gyroskop eingeschlossen sein, bei dem es sich um ein 3-Achsen-Gyroskop handeln kann. Zusätzlich kann ein E-Kompass/Magnetometer vorhanden sein. Außerdem können ein oder mehrere Näherungssensoren bereitgestellt sein (z. B. für eine Klappe, die offen ist, um zu erfassen, wann sich eine Person in der Nähe des Systems befindet (oder nicht), und um die Energie/Leistung zur Verlängerung der Batterielebensdauer anzupassen). Bei einigen Betriebssystemen (Operating Systems, OS's) kann eine Sensorfusionsfähigkeit, die den Beschleunigungsmesser, das Gyroskop, und den Kompass einschließt, erweiterte Funktionen bereitstellen. Zusätzlich kann über einen Sensor-Hub mit einer Echtzeituhr (real-time clock, RTC) eine Aktivierung von einem Sensorenmechanismus aus realisiert werden, um Sensoreingaben zu empfangen, wenn sich das übrige System in einem Energiesparzustand befindet.
  • In einigen Ausführungsformen kann ein innenliegender Klappe/Anzeige-Offen-Schalter oder -sensor, der anzeigt, wann die Klappe geschlossen/offen ist, verwendet werden, um das System in ein Verbindungsstandby (connected standby) zu versetzen oder automatisch aus dem einem Verbindungsstandby zu aktivieren. Andere Systemsensoren können ACPI-Sensoren für einen internen Prozessor, einen Speicher und eine Hauttemperaturüberwachung beinhalten, um Änderungen von Prozessor- und Systembetriebszuständen basierend auf erfassten Parametern zu ermöglichen.
  • In einer Ausführungsform kann das Betriebssystem ein Microsoft® Windows® 8-Betriebssystem sein, das ein Verbindungsstandby (Connected Standby, CS) implementiert (hier auch als Win8 CS bezeichnet). Windows 8 CS oder ein anderes Betriebssystem mit einem ähnlichen Zustand kann über eine Plattform, wie hierin beschrieben, einen sehr niedrigen Ultra-Leerlaufstrom bereitstellen, um eine Verbindung von Anwendungen, z. B. mit einem cloudbasierten Ort, bei sehr geringem Energieverbrauch zu ermöglichen. Die Plattform kann drei Energiezustände unterstützen, nämlich Bildschirm an‘ (normal); ,Verbindungsstandby‘ (als ein standardmäßiger „Aus“-Zustand) und ,Heruntergefahren‘ (null Watt Leistungsverbrauch). Somit ist die Plattform im Zustand ,Verbindungsstandby‘ logisch an (bei minimalem Energiepegeln), selbst wenn der Bildschirm aus ist. Bei einer solchen Plattform kann die Energieverwaltung für Anwendungen transparent gestaltet werden und eine konstante Konnektivität aufrechthalten, teilweise durch die Offload-Technologie, um zu ermöglichen, dass die mit am wenigsten Energie versorgte Komponente einen Vorgang ausführt.
  • Wie außerdem in 9 ersichtlich ist, können verschiedene periphere Vorrichtungen über eine Low-Pin-Count (LPC)-Verbindungsleitung mit dem Prozessor 910 gekoppelt sein. In der gezeigten Ausführungsform können verschiedene Komponenten durch eine eingebettete Steuerung 935 gekoppelt sein. Diese Komponenten können eine Tastatur 936 (z. B. über eine PS2-Schnittstelle gekoppelt), ein Lüfter 937 und ein Wärmesensor 939 sein. In einigen Ausführungsformen kann das Berührungsfeld 930 auch über eine PS2-Schnittstelle mit der eingebetteten Steuerung 935 gekoppelt sein. Darüber hinaus kann auch ein Sicherheitsprozessor, wie etwa ein Trusted Plattform Module (TPM) 938 nach der TPM Specification Version 1.2 der Trusted Computing Group (TCG) vom 02. Oktober 2003, über diese LPC-Verbindungsleitung mit dem Prozessor 910 gekoppelt sein. Es versteht sich jedoch, dass der Schutzumfang der vorliegenden Offenbarung in dieser Hinsicht nicht begrenzt ist und dass eine sichere Verarbeitung und eine Speicherung sicherer Informationen auch an einem anderen geschützten Ort, wie etwa einem statischen Speicher mit wahlfreiem Zugriff (static random access memory, SRAM) in einem Sicherheitskoprozessor oder in Form von verschlüsselten Daten-Blobs, die nur entschlüsselt werden, wenn sie durch einen Secure-Enclave (SE)-Prozessormodus geschützt sind, möglich sind.
  • In einer bestimmten Implementierung können Peripherieanschlüsse einen High-Definition-Media-Interface (HDMI™)-Verbinder (der unterschiedliche Formfaktoren, wie etwa volle Größe, Mini oder Micro aufweisen kann); einen oder mehrere USB-Anschlüsse, wie etwa externe Anschlüsse von voller Größe gemäß Universal Serial Bus Revision 3.0 Specification (November 2008) enthalten, wobei zumindest einer zum Aufladen von USB-Vorrichtungen (wie etwa Smartphones) mit Energie versorgt werden kann, wenn sich das System im Zustand ,Verbindungsstandby‘ befindet und an eine Wechselstrom-Steckdose angeschlossen ist. Zusätzlich können ein oder mehrere Thunderbolt™-Anschlüsse bereitgestellt sein. Andere Anschlüsse können einen extern zugänglichen Kartenleser, wie etwa einen Full-Size-SD-XC-Kartenleser und/oder einen SIM-Kartenleser für WWAN (z. B. einen Kartenleser mit 8 Pins), beinhalten. Für den Ton kann eine 3,5 mm-Buchse mit Stereoton und Mikrofonfähigkeit (z. B. Kombinationsfunktionalität) mit Unterstützung zur Buchsendetektion (z. B. nur Kopfhörerunterstützung unter Verwendung des Mikrofons in der Klappe oder Kopfhörer mit Mikrophon im Kabel) vorhanden sein. Bei einigen Ausführungsformen kann diese Buchse als Stereokopfhörereingang oder als Stereomikrofoneingang umgewiesen werden. Außerdem kann eine Strombuchse zum Koppeln mit einem Wechselstromadapter bereitgestellt sein.
  • Das System 900 kann auf verschiedene Weise, einschließlich drahtlos, mit externen Vorrichtungen kommunizieren. In der in 9 gezeigten Ausführungsform sind verschiedene drahtlose Module vorhanden, die jedes einem Funkgerät entsprechen können, das für ein bestimmtes Drahtloskommunikationsprotokoll ausgelegt ist. Eine Art der drahtlosen Kommunikation über eine kurze Strecke, wie etwa eine Nahfeldkommunikation, kann über eine Nahfeldkommunikationseinheit 945 erfolgen, die in einer Ausführungsform über einen SMBus mit dem Prozessor 910 kommunizieren kann. Es ist zu beachten, dass Vorrichtungen in unmittelbarer Nähe zueinander über diese Nahfeldkommunikationseinheit 945 kommunizieren können. Ein Benutzer kann beispielsweise das System 900 so aktivieren, dass es mit einer anderen, z. B. tragbaren, Vorrichtung, wie etwa einem Smartphone des Benutzers, kommuniziert, indem die beiden Vorrichtungen in enger Verbindung zueinander angepasst werden und eine Übertragung von Informationen, wie Identifizierungsinformationen, Zahlungsinformationen, Daten, wie etwa Bilddaten, und so weiter, ermöglicht wird. Drahtlose Energieübertragung kann auch unter Verwendung eines Nahfeldkommunikationssystems erfolgen.
  • Benutzer können für Nahfeldkopplungsfunktionen (wie etwa Nahfeldkommunikation und drahtlose Energieübertragung (wireless power transfer, WPT)) unter Verwendung der hier beschriebenen Nahfeldkommunikationseinheit Vorrichtungen aneinander anstoßend anordnen und Vorrichtungen nebeneinander platzieren, wobei sie sich die Kopplung zwischen Spulen einer oder mehrerer dieser Vorrichtungen zunutze machen. Insbesondere stellen Ausführungsformen Vorrichtungen mit strategisch geformten und platzierten Materialien bereit, um eine bessere Kopplung der Spulen bereitzustellen. Jede Spule weist eine damit verbundene Induktivität auf, die in Verbindung mit den resistiven, kapazitiven und sonstigen Merkmalen des Systems gewählt werden kann, um eine gemeinsame Resonanzfrequenz für das System zu ermöglichen.
  • Wie aus 9 ferner ersichtlich ist, können zusätzliche drahtlose Einheiten andere Kurzstrecken-Wireless-Engines beinhalten, einschließlich einer WLAN-Einheit 950 und einer Bluetooth-Einheit 952. Anhand der WLAN-Einheit 950 können Wi-Fi™-Kommunikationen nach einem bestimmten 802.11 Standard des Institute of Electrical und Electronics Engineers (IEEE) 802.11 realisiert werden, während über die Bluetooth®-Einheit 952 (der Bluetooth Special Interest Group) Kurzstreckenkommunikationen über ein Bluetooth®-Protokoll erfolgen können. Diese Einheiten können beispielsweise über eine USB-Verbindung oder eine Universal-Asynchronous-Receiver-Transmitter (UART)-Verbindung mit dem Prozessor 910 kommunizieren. Oder diese Einheiten können über eine Verbindungsleitung nach einem Peripheral-Component-Interconnect-Express® (PCIe®)-Protokoll, z. B. gemäß der PCI Express™ Specification Base Specification Version 3.0 (veröffentlicht am 17. Januar 2007), oder einem anderen entsprechenden Protokoll, wie etwa einem Serial-Data-Input/Output (SDIO)-Standard, mit dem Prozessor 910 gekoppelt sein. Selbstverständlich kann die tatsächliche physische Verbindung zwischen diesen Peripherievorrichtungen, die auf einer oder mehreren Erweiterungskarten gestaltet sein können, durch an eine Hauptplatine angepasste Next-Generation-Form-Factor (NGFF)-Verbinder erfolgen.
  • Zusätzlich können drahtlose Weitbereichskommunikationen z. B. nach einem Mobilfunkprotokoll oder einem anderen Drahtlosprotokoll für ein Weitbereichsnetz (wireless wide area network, WWAN) über eine WWAN-Einheit 956 stattfinden, die ihrerseits mit einem Teilnehmeridentitätsmodul (subscriber identity module, SIM) 957 gekoppelt sein kann. Zusätzlich kann auch ein GPS-Modul 955 vorhanden sein, um den Empfang und die Verwendung von Ortsinformationen zu ermöglichen. Es ist zu beachten, dass bei der in 9 gezeigten Ausführungsform die WWAN-Einheit 956 und eine integrierte Aufnahmevorrichtung, wie etwa ein Kameramodul 954, über beliebige einer Anzahl von Protokollen kommunizieren können. Bei einer Ausführungsform kommuniziert das Kameramodul 954 über ein gegebenes USB-Protokoll, wie etwa eine USB 2.0- oder 3.0-Verbindung, oder ein UART- oder I2C-Protokoll. Bei einer anderen Ausführungsform kommuniziert das Kameramodul 154 über eine serielle Kameraschnittstelle (Camera Serial Interface, CSI), wie etwa CSI2. Erneut kann die tatsächliche physische Verbindung dieser Einheiten durch die Anpassung einer NGFF-Erweiterungskarte an einen auf der Hauptplatine ausgebildeten NGFF-Verbinder erfolgen.
  • In einer bestimmten Ausführungsform kann drahtlose Funktionalität modular bereitgestellt werden, z. B. mit einer WiFi™-802.11ac-Lösung (z. B. einer Erweiterungskarte, die zu IEEE 802.11abgn abwärtskompatibel ist) mit Unterstützung für Windows® 8 CS. Diese Karte kann in einem internen Steckplatz (z. B. über einen NGFF-Adapter) konfiguriert sein. Ein zusätzliches Modul kann Bluetooth-Fähigkeit (z. B. Bluetooth® 4.0 mit Abwärtskompatibilität) sowie Intel®-Wireless-Display-Funktionalität bereitstellen. Zusätzlich kann über eine separate Vorrichtung oder eine Multifunktionsvorrichtung eine NFC-Unterstützung bereitgestellt werden und für den einfachen Zugriff beispielsweise in einem vorderen rechten Abschnitt des Gehäuses positioniert werden. Noch ein weiteres Modul kann eine WWAN-Vorrichtung sein, die Unterstützung für 3G/4G/LTE und GPS bereitstellen kann. Dieses Modul kann in einem internen (z. B. NGFF-) Steckplatz implementiert sein. Eine integrierte Antennenunterstützung kann bereitgestellt werden für WiFi™, Bluetooth®, WWAN, NFC und GPS, wodurch ein nahtloser Übergang von WiFi™- zu WWAN-Funkgeräten ermöglicht wird, Wireless Gigabit (WiGig) gemäß der Wireless Gigabit Specification (Juli 2010) und umgekehrt.
  • Wie vorstehend beschrieben, kann in der Klappe eine integrierte Kamera eingebaut sein. Diese Kamera kann beispielsweise eine hochauflösende Kamera sein, z. B. mit einer Auflösung von zumindest 2,0 Megapixel (MP) bis hin zu 6,0 MP und mehr.
  • Um Audioeingänge und -ausgänge bereitzustellen, kann ein Audioprozessor über einen digitalen Signalprozessor (digital signal processor, DSP) 960 implementiert sein, der über eine High-Definition-Audio (HDA)-Verbindung mit dem Prozessor 910 gekoppelt sein kann. Ebenso kann der DSP 960 mit einem integrierten Codierer/Decodierer (CODEC) und Verstärker 962 kommunizieren, die ihrerseits mit Ausgabelautsprechern 963 gekoppelt sein können, die innerhalb des Gehäuses implementiert sein können. Ebenso können der Verstärker und der CODEC 962 so gekoppelt sein, dass sie Audioeingaben von einem Mikrofon 965 empfangen, das in einer Ausführungsform über Dual-Array-Mikrofone (wie etwa ein Digitalmikrofon-Array) implementiert sein kann, um Audioeingaben von hoher Qualität bereitzustellen, um eine sprachaktivierte Steuerung verschiedener Vorgänge innerhalb des Systems zu ermöglichen. Es ist auch zu beachten, dass Audioausgaben vom Verstärker/CODEC 962 zu einer Kopfhörerbuchse 964 bereitgestellt werden können. Auch wenn in der Ausführungsform von 9 anhand dieser bestimmten Komponenten gezeigt, so versteht es sich, dass der Umfang der vorliegenden Offenbarung in dieser Hinsicht nicht begrenzt ist.
  • In einer bestimmten Ausführungsform sind der digitale Audio-Codec und Verstärker dazu in der Lage, die Stereo-Kopfhörerbuchse, die Stereo-Mikrofonbuchse, ein internes Mikrofon-Array und Stereo-Lautsprecher anzusteuern. In verschiedenen Implementierungen lässt sich der Codec in einen Audio-DSP integrieren oder über einen HD-Audiopfad mit einem Peripheral Controller Hub (PCH) koppeln. In einigen Implementierungen können zusätzlich zu integrierten Stereo-Lautsprechern ein oder mehrere Tieftonlautsprecher bereitgestellt sein, und die Lautsprecherlösung kann DTS Audio unterstützen.
  • In einigen Ausführungsformen kann der Prozessor 910 durch einen externen Spannungsregler (VR) und mehrere interne Spannungsregler, die innerhalb des Prozessors integriert sind und als vollständig integrierte Spannungsregler (fully integrated voltage regulators, FIVRs) bezeichnet werden, mit Energie versorgt werden. Die Verwendung mehrerer FIVRs im Prozessor ermöglicht die Gruppierung von Komponenten zu separaten Energieebenen, sodass durch den FIVR Energie geregelt und nur diesen Komponenten in der Gruppe zugeführt wird. Während der Energieverwaltung kann eine bestimmte Stromversorgungsebene eines FIVR einer Stromabsenkung unterzogen oder abgeschaltet werden, wenn der Prozessor in einen bestimmten Energiesparzustand versetzt wird, während eine andere Stromversorgungsebene eines anderen FIVR aktiv bleibt bzw. vollständig mit Energie gespeist wird.
  • In einer Ausführungsform kann eine Erhaltungsstromversorgungsebene während einiger Tiefschlafzustände (deep sleep states) verwendet werden, um die I/O-Pins für verschiedene I/O-Signale mit Strom zu versorgen, wie etwa die Schnittstelle zwischen dem Prozessor und einem PCH, die Schnittstelle mit dem externen VR und die Schnittstelle mit der EC 935. Diese Erhaltungsstromversorgungsebene versorgt auch einen On-Die-Spannungsregler, der das auf der Leiterplatte integrierte SRAM oder einen anderen Cache-Speicher, in dem der Prozessorkontext während des Tiefschlafzustands gespeichert wird, trägt. Die Erhaltungsstromversorgungsebene dient auch dazu, die Aktivierungslogik des Prozessors, die die verschiedenen Aktivierungsquellensignale überwacht und verarbeitet, mit Strom zu versorgen.
  • In verschiedenen Implementierungen kann ein Sicherheitsmodul, wie etwa ein Trusted Platform Module (TPM) in einen Prozessor integriert werden oder eine diskrete Vorrichtung, wie etwa eine TPM-2.0-Vorrichtung, sein. Mit einem integrierten Sicherheitsmodul, das auch als Platform Trust Technology (PTT) bezeichnet wird, kann BIOS/Firmware so aktiviert werden, dass bestimmte Hardware-Merkmale für bestimmte Sicherheitsmerkmale offengelegt werden, einschließlich sicherer Befehle, eines sichereren Starts, Intel® Anti-Theft-Technology, Intel® Identity Protection Technology, Intel® Trusted Execution Technology (TXT), und Intel® Manageability Engine Technology, zusammen mit sicheren Benutzerschnittstellen, wie etwa einer sicheren Tastatur und Anzeige.
  • Nunmehr Bezug nehmend auf 10 ist ein Blockdiagramm eines zweiten Systems 1000 nach einer Ausführungsform der vorliegenden Offenbarung gezeigt. Wie in 10 gezeigt, ist das Mehrprozessorsystem 1000 ein Punkt-zu-Punkt-Verbindungssystem und beinhaltet einen ersten Prozessor 1070 und einen zweiten Prozessor 1080, die über eine Punkt-zu-Punkt-Verbindung 1050 miteinander gekoppelt sind. Jeder der Prozessoren 1070 und 1080 kann eine beliebige Version eines Prozessors sein. In einer Ausführungsform sind 1052 und 1054 Teil einer seriellen kohärenten Punkt-zu-Punkt-Verbindungsstruktur, wie etwa der Quick-Path-Interconnect (QPI)-Architektur von Intel. Infolgedessen kann die Offenbarung innerhalb der QPI-Architektur implementiert werden.
  • Wenngleich mit nur zwei Prozessoren 1070, 1080 gezeigt, versteht es sich, dass der Schutzumfang der vorliegenden Offenbarung dahingehend nicht eingeschränkt ist. In anderen Ausführungsformen können ein oder mehr zusätzliche Prozessoren in einem gegebenen Prozessor vorhanden sein.
  • Die Prozessoren 1070 und 1080 sind einschließlich der integrierten Speichersteuerungseinheiten 1072 bzw. 1082 gezeigt. Der Prozessor 1070 beinhaltet zudem als Teil seiner Bussteuereinheiten die Punkt-zu-Punkt (P-P)-Schnittstellen 1076 und 1078; gleichermaßen umfasst der zweite Prozessor 1080 die P-P-Schnittstellen 1086 und 1088. Die Prozessoren 1070, 1080 können über eine Punkt-zu-Punkt (P-P)-Schnittstelle 1050 unter Verwendung der P-P-Schnittstellenschaltungen 1078, 1088 Informationen austauschen. Wie in 10 gezeigt, koppeln die IMCs 1072 und 1082 die Prozessoren mit jeweiligen Speichern, und zwar mit einem Speicher 1032 und einem Speicher 1034, die Teile des lokal an den jeweiligen Prozessoren angebrachten Hauptspeichers sein können.
  • Die Prozessoren 1070, 1080 tauschen jeder über einzelne P-P-Schnittstellen 1052, 1054 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1076, 1094, 1086, 1098 Informationen mit einem Chipsatz 1090 aus. Der Chipsatz 1090 tauscht ebenfalls über eine Schnittstellenschaltung 1092 entlang einer Hochleistungsgrafikverbindungsleitung 1039 Informationen mit einer Hochleistungsgrafikschaltung 1038 aus. In einer Ausführungsform beinhaltet die Schnittstellenschaltung 1092 Komponenten des Prozessors 102, und die Hochleistungsgrafikschaltung 1038 beinhaltet Komponenten der Vorrichtungsempfänger 140 oder 240. Dementsprechend kann die Schnittstellenschaltung 1092 ein differentielles Signal übertragen, wie unter Bezugnahme auf 1 - 3 erörtert.
  • Ein gemeinsam genutzter Cache (nicht gezeigt) kann in jeden Prozessor eingeschlossen oder außerhalb beider Prozessoren angeordnet und dennoch über eine P-P-Verbindung mit den Prozessoren verbunden sein, sodass lokale Cacheinformationen jedes oder beider Prozessoren im gemeinsam genutzten Cache gespeichert werden können, wenn ein Prozessor in einen Energiesparmodus versetzt wird.
  • Der Chipsatz 1090 kann über eine Schnittstelle 1096 mit einem ersten Bus 1016 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1016 ein Peripheral-Component-Interconnect (PCI)-Bus oder ein Bus, wie etwa ein PCI-Express®-Bus, oder ein anderer I/O-Verbindungsleitungsbus der dritten Generation sein, wenngleich der Schutzumfang der vorliegenden Offenbarung dahingehend nicht eingeschränkt ist.
  • Wie in 10 gezeigt, sind verschiedene I/O-Vorrichtungen 1014 mit dem ersten Bus 1016 gekoppelt, zusammen mit einer Busbrücke 1018, die den ersten Bus 1016 mit einem zweiten Bus 1020 koppelt. In einer Ausführungsform beinhaltet der zweite Bus 1020 einen Bus mit niedriger Pin-Anzahl (Low-Pin-Count, LPC). Mit dem zweiten Bus 1020 sind verschiedene Vorrichtungen gekoppelt, einschließlich beispielsweise einer Tastatur und/oder Maus 1022, Kommunikationsvorrichtungen 1027 und einer Speichereinheit 1028, wie etwa eines Plattenlaufwerks oder einer anderen Massenspeichervorrichtung, die in einer Ausführungsform häufig Befehle/Code und Daten 1030 einschließen kann. Ferner ist mit dem zweiten Bus 1020 ein Audio-I/O 1024 gekoppelt gezeigt. Es ist zu beachten, dass andere Architekturen, bei denen die eingeschlossenen Komponenten und Verbindungsarchitekturen variieren, möglich sind. Beispielsweise kann ein System statt der Punkt-zu-Punkt-Architektur aus 10 einen Multi-Drop-Bus oder eine andere entsprechende Architektur implementieren.
  • In einer Ausführungsform beinhaltet die Schnittstelle 1096 eine oder mehrere Komponenten des Prozessors 102 (oder SoC), wobei nach der vorliegenden Offenbarung beliebige der verbundenen Vorrichtungen (weg vom ersten Bus 1016 oder vom zweiten Bus 1020) den Empfänger 148 und die Bitfehlerüberprüfungseinrichtung 150 beinhalten können. Dementsprechend kann die Schnittstellenschaltung 1096 Skew in einem differentiellen Signal reduzieren, wie unter Bezugnahme auf 1 - 3 erörtert wurde.
  • Die folgenden Beispiele beziehen sich auf weitere Ausführungsformen.
  • Beispiel 1 ist eine Vorrichtung, umfassend: 1) einen Sender zum Übertragen eines differentiellen Signalpaars, das ein über einen positiven Leiter übertragenes positives Signal und ein über einen negativen Leiter übertragenes negatives Signal umfasst, an einen Empfänger; 2) eine mit dem positiven Leiter gekoppelte erste programmierbare analoge Verzögerungsschaltung, um dem positiven Signal eine erste Verzögerung bereitzustellen; 3) eine mit dem negativen Leiter gekoppelte zweite programmierbare analoge Verzögerungsschaltung, um dem negativen Signal eine zweite Verzögerung bereitzustellen; und 4) eine mit der ersten programmierbaren analogen Verzögerungsschaltung und mit der zweiten programmierbaren analogen Verzögerungsschaltung gekoppelte Steuerung, wobei die Steuerung dazu dient: a) über eine Übertragungsverbindung mit dem Empfänger Daten zu empfangen, die auf einer durch eine Bitfehlerüberprüfungseinrichtung des Empfängers gemessenen Bitfehlerrate (Bit Error Rate, BER) des differentiellen Signalpaars basieren; und b) als Reaktion auf eine Feststellung, dass die BER kleiner als eine Schwellen-BER ist, einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  • In Beispiel 2 die Vorrichtung aus Beispiel 1, wobei der Sender, der positive Leiter und der negative Leiter auf einer Leiterplatte angeordnet sind.
  • In Beispiel 3 die Vorrichtung aus Beispiel 1, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst.
  • In Beispiel 4 die Vorrichtung aus Beispiel 3, wobei das Speichern des ersten Verzögerungswerts das Speichern eines Anzapfwerts für die erste angezapfte Verzögerungsleitung der ersten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der ersten Verzögerung umfasst.
  • In Beispiel 5 die Vorrichtung aus Beispiel 1, ferner umfassend einen mit dem Sender gekoppelten Testmustergenerator, wobei der Testmustergenerator dazu dient, ein Testbitmuster zur Übertragung innerhalb des differentiellen Signalpaars zu erzeugen, wobei das Testbitmuster der Bitfehlerüberprüfungseinrichtung bekannt ist.
  • In Beispiel 6 die Vorrichtung aus Beispiel 1, wobei die Steuerung ein erstes Register zum Speichern des ersten Verzögerungswerts für die erste Verzögerung und ein zweites Register zum Speichern des zweiten Verzögerungswerts für die zweite Verzögerung umfasst.
  • In Beispiel 7 die Vorrichtung aus Beispiel 1, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: a) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; b) über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; c) in Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, den festen Verzögerungswert dem ersten Netto-Verzögerungswert hinzuzufügen; und d) als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, den ersten Netto-Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern.
  • In Beispiel 8 die Vorrichtung aus Beispiel 1, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: a) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; b) über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; c) in Reaktion darauf, dass die zweite BER größer als die erste BER ist: i) den ersten Netto-Verzögerungswert auf null zu setzen; und ii) den festen Verzögerungswert dem zweiten Verzögerungswert hinzuzufügen, um einen zweiten Netto-Verzögerungswert zu erzeugen; und d) als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, den ersten Netto-Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und den zweiten Netto-Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der vorstehend beschriebenen strukturellen Merkmale aufweisen. Beispielsweise können alle optionalen Merkmale des vorstehend beschriebenen Rechensystems auch in Bezug auf das hier beschriebene Verfahren oder den hier beschriebenen Prozess implementiert werden, und Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden.
  • Beispiel 9 ist ein System, umfassend: 1) einen Testmustergenerator zum Erzeugen eines Testbitmusters; 2) einen Empfänger und eine mit dem Empfänger gekoppelte Bitfehlerüberprüfungseinrichtung, wobei die Bitfehlerüberprüfungseinrichtung dazu dient, eine Bitfehlerrate (Bit Error Rate, BER) in einem empfangenen Signal, das das Testbitmuster trägt, zu bestimmen; 3) einen Sender, der kommunizierend mit dem Empfänger und dem Testmustergenerator gekoppelt ist, wobei der Sender dazu dient, mit dem Empfänger ein differentielles Signalpaar mit dem Testbitmuster zu übertragen, wobei das differentielle Signalpaar ein über einen positiven Leiter übertragenes positives Signal und ein über einen negativen Leiter übertragenes negatives Signal umfasst; 4) eine mit dem positiven Leiter gekoppelte erste programmierbare analoge Verzögerungsschaltung, um dem positiven Signal eine erste Verzögerung bereitzustellen; 5) eine mit dem negativen Leiter gekoppelte zweite programmierbare analoge Verzögerungsschaltung, um dem negativen Signal eine zweite Verzögerung bereitzustellen; und 6) eine mit der ersten programmierbaren analogen Verzögerungsschaltung und mit der zweiten programmierbaren analogen Verzögerungsschaltung gekoppelte Steuerung, wobei die Steuerung dazu dient: a) über eine Übertragungsverbindung mit der Bitfehlerüberprüfungseinrichtung auf der BER des differentiellen Signalpaars basierende Daten zu empfangen; und b) als Reaktion auf eine Feststellung, dass die BER kleiner als eine Schwellen-BER ist, einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  • In Beispiel 10 das System aus Beispiel 8, wobei die Steuerung ein erstes Register zum Speichern des ersten Verzögerungswerts für die erste Verzögerung und ein zweites Register zum Speichern des zweiten Verzögerungswerts für die zweite Verzögerung umfasst.
  • In Beispiel 11 das System aus Beispiel 8, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst.
  • In Beispiel 12 das System aus Beispiel 11, wobei das Speichern des ersten Verzögerungswerts das Speichern eines ersten Anzapfwerts für die erste angezapfte Verzögerungsleitung zum Erzeugen der ersten Verzögerung umfasst und wobei das Speichern des zweiten Verzögerungswerts das Speichern eines zweiten Anzapfwerts für die zweite angezapfte Verzögerungsleitung zum Erzeugen der zweiten Verzögerung umfasst.
  • In Beispiel 13 das System aus Beispiel 11, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: a) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; b) über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; c) in Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, den festen Verzögerungswert dem ersten Netto-Verzögerungswert hinzuzufügen; und d) als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist: i) einen dem ersten Netto-Verzögerungswert entsprechenden Anzapfwert zu bestimmen; und ii) die erste angezapfte Verzögerungsleitung mit dem Anzapfwert zu signalisieren, um die erste Verzögerung am positiven Leiter zu erzeugen.
  • In Beispiel 14 das System aus Beispiel 11, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: a) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; b) über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; c) in Reaktion darauf, dass die zweite BER größer als die erste BER ist: i) den ersten Netto-Verzögerungswert auf null zu setzen; und ii) den festen Verzögerungswert dem zweiten Verzögerungswert hinzuzufügen, um einen zweiten Netto-Verzögerungswert zu erzeugen; und d) als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist: i) einen dem zweiten Netto-Verzögerungswert entsprechenden Anzapfwert zu bestimmen; und ii) die zweite angezapfte Verzögerungsleitung mit dem Anzapfwert zu signalisieren, um die zweite Nettoverzögerung am negativen Leiter zu erzeugen.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der vorstehend beschriebenen strukturellen Merkmale aufweisen. Beispielsweise können alle optionalen Merkmale des vorstehend beschriebenen Rechensystems auch in Bezug auf das hier beschriebene Verfahren oder den hier beschriebenen Prozess implementiert werden, und Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden.
  • Beispiel 15 ist ein Verfahren, umfassend: 1) Zurücksetzen, durch eine Steuerung, eines ersten Verzögerungswerts für ein positives Signal und eines zweiten Verzögerungswerts für ein negatives Signal eines differentiellen Signalpaars; 2) Übertragen, durch einen Sender an einen Empfänger, des differentiellen Signalpaars, das das über einen positiven Leiter übertragene positive Signal und das über einen negativen Leiter übertragene negative Signal umfasst, wobei das differentielle Signalpaar ein Testbitmuster beinhaltet; 3) Empfangen, von einer Bitfehlerüberprüfungseinrichtung des Empfängers, von Daten, die auf einer durch den Empfänger empfangenen Bitfehlerrate (Bit Error Rate, BER) des Testbitmusters im differentiellen Signalpaar basieren; 4) Bestimmen, durch eine mit einer ersten programmierbaren analogen Verzögerungsschaltung des positiven Leiters und mit einer zweiten programmierbaren analogen Verzögerungsschaltung des negativen Leiters gekoppelte Steuerung, ob die BER kleiner als eine Schwellen-BER ist; und 5) als Reaktion auf eine Feststellung, dass die BER kleiner als die Schwellen-BER ist: a) Speichern, durch die Steuerung in einem ersten Register, des ersten Verzögerungswerts zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung; und b) Speichern, durch die Steuerung in einem zweiten Register, des zweiten Verzögerungswerts zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung.
  • In Beispiel 16 das Verfahren aus Beispiel 15, ferner umfassend das Erzeugen, durch einen Testmustergenerator, des Testbitmusters zur Übertragung innerhalb des differentiellen Signalpaars, wobei das Testbitmuster der Bitfehlerüberprüfungseinrichtung bekannt ist.
  • In Beispiel 17 das Verfahren aus Beispiel 15, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst, wobei das Speichern Folgendes umfasst: a) Speichern eines ersten Anzapfwerts für die erste angezapfte Verzögerungsleitung der ersten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der ersten Verzögerung; und b) Speichern eines zweiten Anzapfwerts für die zweite angezapfte Verzögerungsleitung der zweiten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der zweiten Verzögerung.
  • In Beispiel 18 das Verfahren aus Beispiel 15, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: 1) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; 2) Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; und 3) als Reaktion auf eine Feststellung, dass die zweite BER kleiner als die Schwellen-BER ist, Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung.
  • In Beispiel 19 das Verfahren aus Beispiel 15, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: 1) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; 2) Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; 3) in Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, erneutes Hinzufügen des festen Verzögerungswerts zum zweiten Verzögerungswert; und 4) als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung.
  • In Beispiel 20 das Verfahren aus Beispiel 15, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: 1) in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; 2) Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; 3) in Reaktion darauf, dass die zweite BER größer als die erste BER ist: a) Setzen des zweiten Netto-Verzögerungswerts auf null; und b) Hinzufügen des festen Verzögerungswerts zum ersten Verzögerungswert, um einen ersten Netto-Verzögerungswert zu erzeugen; und c) Bestimmen, ob eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist.
  • In Beispiel 21 das Verfahren aus Beispiel 20, ferner umfassend, als Reaktion auf eine Feststellung, dass eine dritte BER größer als die Schwellen-BER ist: 1) Bestimmen, ob die dritte BER größer als die zweite BER ist; und 2) als Reaktion auf eine Feststellung, dass die dritte BER kleiner als die zweite BER ist, Hinzufügen der festen Verzögerung zum ersten Netto-Verzögerungswert.
  • In Beispiel 22 das Verfahren aus Beispiel 20, ferner umfassend, als Reaktion auf eine Feststellung, dass die dritte BER kleiner als die Schwellen-BER ist: 1) Speichern des ersten Netto-Verzögerungswerts zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung; und 2) Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der vorstehend beschriebenen strukturellen Merkmale aufweisen. Beispielsweise können alle optionalen Merkmale des vorstehend beschriebenen Rechensystems auch in Bezug auf das hier beschriebene Verfahren oder den hier beschriebenen Prozess implementiert werden, und Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden.
  • Wenngleich die vorliegende Offenbarung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, wird der Fachmann zahlreiche Abwandlungen und Variationen derselben in Betracht ziehen. Die beigefügten Ansprüche sollen alle diese Abwandlungen und Variationen, die dem wahren Geist und Schutzumfang dieser vorliegenden Offenbarung entsprechen, einbeziehen.
  • In der vorliegenden Beschreibung werden zahlreiche spezifische Details dargelegt, wie etwa Beispiele spezifischer Typen von Prozessoren und Systemkonfigurationen, spezifische Hardwarestrukturen, spezifische Architektur- und Mikroarchitekturdetails, spezifische Registerkonfigurationen, spezifische Befehlstypen, spezifische Systemkomponenten, spezifische Maße/Höhen, spezifische Prozessor-Pipeline-Stufen und Vorgänge usw., um ein eingehendes Verständnis der vorliegenden Offenbarung zu vermitteln. Der Fachmann wird jedoch erkennen, dass diese spezifischen Details nicht unbedingt erforderlich sind, um die vorliegende Offenbarung praktisch anzuwenden. In anderen Fällen wurden weithin bekannte Komponenten oder Verfahren, wie etwa spezifische und alternative Prozessorarchitekturen, spezifische/-r logische/-r Schaltungen/Code für beschriebene Algorithmen, spezifischer Firmwarecode, spezifische Verbindungsvorgänge, spezifische logische Konfigurationen, spezifische Fertigungstechniken und -materialien, spezifische Compiler-Implementierungen, spezifische Ausdrücke von Algorithmen in Code, spezifische Techniken/Logik für Stromabsenkungen und Gating und andere spezifische Betriebsdetails des Computersystem nicht beschrieben, um das Verständnis der vorliegenden Offenbarung nicht unnötig zu erschweren.
  • Die Ausführungsformen werden unter Bezugnahme auf Komprimierungs-/Dekomprimierungsoptimierung in Festspeichervorrichtungen in spezifischen integrierten Schaltungen, wie etwa in Computerplattformen oder Mikroprozessoren, beschrieben. Die Ausführungsformen können auch auf andere Typen integrierter Schaltungen und programmierbarer logischer Vorrichtungen anwendbar sein. Beispielsweise sind die offenbarten Ausführungsformen nicht auf Desktop-Computersysteme oder tragbare Computer, wie etwa die Intel® Ultrabooks™ Computer, begrenzt und sind auch in anderen Vorrichtungen, wie etwa tragbaren Vorrichtungen, Tablets, sonstigen dünnen Notebooks, System-on-a-Chip (SoC)-Vorrichtung und eingebetteten Anwendungen verwendbar. Einige Beispiele für tragbare Vorrichtungen beinhalten Mobiltelefone, Internetprotokollvorrichtungen, Digitalkameras, Persönliche Digitale Assistenten (personal digital assistants, PDAs) und tragbare PCs. Eingebettete Anwendungen beinhalten üblicherweise einen Microcontroller, einen digitalen Signalprozessor (digital signal processor, DSP), ein System auf einem Chip (System on a Chip, SoC), Netzwerkcomputer (NetPC), Set-Top Boxen, Network-Hubs, Wide-Area-Network (WAN)-Switches oder beliebige andere Systeme, die die nachfolgend gelehrten Funktionen und Operationen ausführen können. Es wird beschrieben, dass das System eine beliebige Art eines Computers oder eingebetteten Systems sein kann. Die offenbarten Ausführungsformen sind insbesondere für Low-End-Vorrichtungen, wie tragbare Vorrichtungen (z. B. Uhren), elektronische Implantate, Sensor- und Steuerungsinfrastrukturvorrichtungen, Steuerungen, Überwachungssteuerungs- und Datenerfassungssysteme (SCADA) oder dergleichen, verwendbar. Darüber hinaus sind die hier beschriebenen Geräte, Verfahren und Systeme nicht auf physische Rechenvorrichtungen beschränkt, sondern können sich auch auf Softwareoptimierungen zur Energieeinsparung und Effizienzsteigerung beziehen. Wie aus der nachstehenden Beschreibung leicht ersichtlich ist, sind die hierin beschriebenen Ausführungsformen von Verfahren, Geräten und Systemen (in Bezug auf Hardware, Firmware, Software oder eine Kombination derselben) von zentraler Bedeutung für eine ,grüne Zukunftstechnologie‘, die in einem ausgewogenen Verhältnis mit Leistungsaspekten steht.
  • Wenngleich die Ausführungsformen hier unter Bezugnahme auf einen Prozessor beschrieben werden, sind andere Ausführungsformen auf andere Typen integrierter Schaltungen und logischer Vorrichtungen anwendbar. Ähnliche Techniken und Lehren von Ausführungsformen der vorliegenden Offenbarung sind auf andere Typen von Schaltungen oder Halbleitervorrichtungen anwendbar, die von einem höheren Pipeline-Durchsatz und verbesserter Leistung profitieren. Die Lehren von Ausführungsformen der vorliegenden Offenbarung sind auf einen beliebigen Prozessor oder eine beliebige Maschine anwendbar, der bzw. die Datenmanipulationen ausführt. Allerdings ist die vorliegende Offenbarung nicht auf Prozessoren oder Maschinen beschränkt, die 512-Bit-, 256-Bit-, 128-Bit-, 64-Bit-, 32-Bit-, oder 16-Bit-Datenvorgänge ausführen, sondern ist auf einen beliebigen Prozessor und eine beliebige Maschine anwendbar, in der Datenmanipulation oder -management ausgeführt wird. Darüber hinaus stellt die vorliegende Beschreibung Beispiele bereit, und die beigefügten Zeichnungen zeigen verschiedene Beispiele zu Veranschaulichungszwecken. Allerdings sind diese Beispiele nicht in einem einschränkenden Sinn auszulegen, da sie lediglich Beispiele von Ausführungsformen der vorliegenden Offenbarung bereitstellen sollen, statt eine erschöpfende Liste aller möglichen Implementierungen von Ausführungsformen der vorliegenden Offenbarung bereitzustellen.
  • Wenngleich die nachstehenden Beispiele die Behandlung und Verteilung von Befehlen im Kontext von Ausführungseinheiten und logischen Schaltungen beschreiben, können andere Ausführungsformen der vorliegenden Offenbarung anhand von Daten und Befehlen ausgeführt werden, die auf einem maschinenlesbaren greifbaren Medium gespeichert sind und die, wenn sie durch eine Maschine ausgeführt werden, die Maschine dazu veranlassen, Funktionen in Übereinstimmung mit zumindest einer Ausführungsform der Offenbarung auszuführen. In einer Ausführungsform sind Funktionen, die mit Ausführungsformen der vorliegenden Offenbarung verknüpft sind, in maschinenausführbaren Befehlen ausgebildet. Diese Befehle können dazu verwendet werden, einen mit den Befehlen programmierten Universalprozessor oder einen Spezialprozessor dazu zu veranlassen, die Schritte der vorliegenden Offenbarung auszuführen. Ausführungsformen der vorliegenden Offenbarung können als ein Computerprogrammprodukt oder Software bereitgestellt sein, die ein maschinen- oder computerlesbares Medium beinhalten können, auf dem Befehle gespeichert sind, die dazu verwendet werden können, einen Computer (oder eine andere elektronische Vorrichtungen) zu programmieren, um einen oder mehrere Vorgänge nach Ausführungsformen der vorliegenden Offenbarung auszuführen. Alternativ können Vorgänge von Ausführungsformen der vorliegenden Offenbarung durch spezifische Hardwarekomponenten, die Fixed-Function-Logik zum Ausführen der Vorgänge enthalten, oder durch eine beliebige Kombination von programmierten Computerkomponenten und Fixed-Function-Hardwarekomponenten ausgeführt werden.
  • Befehle, die dazu verwendet werden, Logik zum Ausführen von Ausführungsformen der Offenbarung zu programmieren, können innerhalb eines Speichers im System, wie etwa eines DRAM, Cache, Flash-Speichers oder sonstigen Speichers, gespeichert sein. Darüber hinaus können die Anweisungen über ein Netzwerk oder mittels anderer computerlesbarer Medien verteilt werden. So kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form einschließen, unter anderem Floppy-Disketten, optische Platten, Compactdisc-Nurlesespeicher (Compact Disc Read-Only Memory, CD-ROMs) und magneto-optische Platten, Nurlesespeicher (Read-Only Memory, ROMs), Direktzugriffsspeicher (Random Access Memory, RAM), löschbaren programmierbaren Nurlesespeicher (Erasable Programmable Read-Only Memory, EPROM), elektrisch löschbaren programmierbaren Nurlesespeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen greifbaren maschinenlesbaren Speicher, die bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen von Ausbreitungssignalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) verwendet werden. Dementsprechend beinhaltet das computerlesbare Medium eine beliebige Art eines greifbaren maschinenlesbaren Mediums, das dazu geeignet ist, elektronische Anweisungen oder Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form zu speichern oder zu übertragen.
  • Ein Design kann verschiedene Stufen durchlaufen, von der Erstellung über die Simulation bis hin zur Herstellung. Daten, die ein Design darstellen, können das Design auf verschiedene Weisen darstellen. Zunächst kann, wie es bei Simulationen hilfreich ist, die Hardware anhand einer Hardwarebeschreibungssprache oder einer anderen funktionalen Beschreibungssprache dargestellt werden. Zusätzlich kann auf manchen Stufen des Designprozesses ein Schaltungsebenenmodell mit Logik- und/oder Transistorgattern erstellt werden. Darüber hinaus erreichen die meisten Designs auf einer gewissen Stufe eine Datenebene, welche die physische Platzierung verschiedener Vorrichtungen im Hardware-Modell darstellt. Im Fall der Verwendung herkömmlicher Halbleiterherstellungstechniken können die Daten, die das Hardware-Modell darstellen, die Daten sein, die das Vorhandensein oder das Nichtvorhandensein verschiedener Merkmale auf unterschiedlichen Maskenschichten für Masken, die zur Herstellung der integrierten Schaltung verwendet werden, spezifizieren. In einer beliebigen Darstellung des Designs können die Daten in einer beliebigen Form eines maschinenlesbaren Mediums gespeichert sein. Ein Speicher oder ein magnetisches oder optisches Speichermedium, wie etwa eine Platte, kann das maschinenlesbare Medium zum Speichern von Informationen sein, die über optische oder elektrische Wellen, die zum Übertragen solcher Informationen moduliert oder anderweitig erzeugt werden, übertragen werden. Wenn eine elektrische Trägerwelle, die den Code oder das Design anzeigt oder mit sich führt, in dem Ausmaß, in dem Kopieren, Puffern oder Neuübermittlung des elektrischen Signals ausgeführt wird, übermittelt wird, wird eine neue Kopie erstellt. So kann ein Kommunikationsprovider oder ein Netzwerkprovider einen Artikel, wie etwa in eine Trägerwelle codierte Informationen, der Techniken von Ausführungsformen der vorliegenden Offenbarung offenbart, zumindest teilweise auf einem greifbaren maschinenlesbaren Medium speichern.
  • Ein Modul, wie es hier verwendet wird, bezieht sich auf eine beliebige Kombination von Hardware, Software und/oder Firmware. Ein Modul kann beispielsweise einem nichtflüchtigen Medium zugeordnete Hardware, wie etwa einen Mikrocontroller, zum Speichern von Code, der dazu angepasst ist, durch den Mikrocontroller ausgeführt zu werden, beinhalten. Somit bezieht sich die Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch konfiguriert ist, um den auf einem nichtflüchtigen Medium zu haltenden Code zu erkennen und/oder auszuführen. Ferner bezieht sich in einer anderen Ausführungsform die Verwendung eines Moduls auf das den Code beinhaltende nichtflüchtige Medium, das spezifisch dazu angepasst ist, durch den Mikrocontroller ausgeführt zu werden, um vorbestimmte Operationen auszuführen. Und wie sich ableiten lässt, kann sich in noch einer anderen Ausführungsform der Begriff ,Modul‘ (in diesem Beispiel) auf die Kombination des Mikrocontrollers und des nichtflüchtigen Mediums beziehen. Modulgrenzen, die als separat dargestellt sind, variieren üblicherweise oft und überlappen sich möglicherweise. Beispielsweise können ein erstes und ein zweites Modul sich Hardware, Software, Firmware oder eine Kombination davon teilen, während manche unabhängige Hardware, Software oder Firmware gegebenenfalls zurückgehalten wird. Bei einer Ausführungsform schließt die Verwendung des Begriffs ,Logik‘ Hardware, wie etwa Transistoren, Register oder andere Hardware, wie etwa programmierbare Logikvorrichtungen, ein.
  • Die Verwendung der Phrase ,dazu ausgelegt‘ in einer Ausführungsform bezieht sich auf das Anordnen, Zusammenstellen, Fertigen, Zum-Verkauf-Anbieten, Importieren und/oder Entwickeln eines Geräts, einer Hardware, einer Logik oder eines Elements zum Ausführen einer designierten oder bestimmten Aufgabe. Bei diesem Beispiel ist ein Gerät oder Element desselben, das nicht arbeitet, dennoch dazu ausgelegt‘, eine designierte Aufgabe auszuführen, wenn es zum Ausführen der designierten Aufgabe entwickelt, gekoppelt und/oder verbunden ist. Als rein veranschaulichendes Beispiel kann ein Logikgatter während des Betriebs eine 0 oder eine 1 bereitstellen. Ein Logikgatter, das ,dazu ausgelegt‘ ist, einem Taktgeber ein Freigabesignal bereitzustellen, schließt jedoch nicht jedes potenzielle Logikgatter, das eine 1 oder eine 0 bereitstellen kann, ein. Stattdessen ist das Logikgatter eines, das in einer bestimmten Weise gekoppelt ist, sodass während des Betriebs die Ausgabe von 1 oder 0 den Taktgeber aktivieren soll. Es wird erneut darauf hingewiesen, dass der Begriff dazu ausgelegt‘ keine Operation erfordert, sondern sich stattdessen auf den latenten Zustand eines Geräts, einer Hardware und/oder eines Elements richtet, wobei das Gerät, die Hardware und/oder das Element im latenten Zustand dazu gestaltet sind, eine bestimmte Aufgabe auszuführen, wenn das Gerät, die Hardware und/oder das Element arbeiten.
  • Ferner bezieht sich die Verwendung der Phrasen ,zu‘, dazu in der Lage‘ und/oder ,dazu betreibbar‘ in einer Ausführungsform auf ein Gerät, eine Logik, eine Hardware und/oder ein Element, die derart gestaltet sind, dass sie die Verwendung des Geräts, der Logik, der Hardware und/oder des Elements auf eine spezifische Weise erlauben. Wie oben sei angemerkt, dass sich die Verwendung von ,zu‘, dazu in der Lage‘ oder dazu betreibbar‘ in einer Ausführungsform auf den latenten Zustand eines Geräts, einer Logik, einer Hardware und/oder eines Elements bezieht, wobei das Gerät, die Logik, die Hardware und/oder das Element nicht arbeiten, sondern derart gestaltet sind, dass sie die Verwendung eines Geräts in einer vorgegebenen Weise erlauben.
  • Ein Wert, wie hier verwendet, schließt eine beliebige bekannte Darstellung einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands ein. Häufig wird die Verwendung von Logikebenen, Logikwerten oder logischen Werten auch als 1en und 0en bezeichnet, was einfach binäre Logikzustände darstellt. Beispielsweise bezieht sich 1 auf einen hohen Logikpegel und 0 bezieht sich auf einen niedrigen Logikpegel. In einer Ausführungsform kann eine Speicherzelle, wie etwa eine Transistor- oder Flashzelle, dazu geeignet sein, einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Es wurden jedoch auch andere Darstellungen von Werten in Computersystemen verwendet. Beispielsweise kann die Dezimalzahl zehn auch als ein Binärwert von 1010 und ein hexadezimaler Buchstabe A dargestellt sein. Daher beinhaltet ein Wert eine Darstellung von Informationen, die dazu geeignet ist, in einem Computersystem gehalten zu werden.
  • Darüber hinaus können Zustände durch Werte oder Teile von Werten dargestellt sein. Beispielsweise kann ein erster Wert, wie etwa eine logische Eins, einen Standard- oder Anfangszustand darstellen, während ein zweiter Wert, wie etwa eine logische Null, einen Nichtstandardzustand darstellen kann. Darüber hinaus beziehen sich die Begriffe ,Reset‘ und ,Set‘ in einer Ausführungsform jeweils auf einen Standard- und einen aktualisierten Wert oder Zustand. Beispielsweise beinhaltet ein Standardwert gegebenenfalls einen hohen logischen Wert, d. h. Reset, während ein aktualisierter Wert gegebenenfalls einen niedrigen logischen Wert, d. h. Set, beinhaltet. Es sei angemerkt, dass eine Kombination von Werten verwendbar ist, um eine Anzahl von Zuständen darzustellen.
  • Die vorstehend dargelegten Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über Anweisungen oder Code implementiert sein, die auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert und durch ein Verarbeitungselement ausführbar sind. Ein nichtflüchtiges maschinenzugängliches/-lesbares Medium schließt einen beliebigen Mechanismus ein, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), die durch eine Maschine, wie beispielsweise einen Computer oder ein elektronisches System, lesbar ist. Beispielsweise beinhaltet ein nichtflüchtiges maschinenzugängliches Medium Direktzugriffsspeicher (Random Access Memory, RAM), wie etwa statischen RAM (SRAM) oder dynamischen RAM (DRAM); Nurlesespeicher (Read-Only Memory, ROM); ein magnetisches oder optisches Speichermedium; Flash-Speichervorrichtungen; elektrische Speichervorrichtungen; optische Speichervorrichtungen; akustische Speichervorrichtungen, andere Formen von Speichervorrichtungen zum Halten von Informationen, die von flüchtigen (übermittelten) Signalen (z. B. Trägerwellen, Infrarotsignalen, digitalen Signalen) empfangen werden; usw., die von den nichtflüchtigen Medien zu unterscheiden sind, die Informationen davon empfangen können.
  • Befehle, die dazu verwendet werden, Logik zum Ausführen von Ausführungsformen der Offenbarung zu programmieren, können innerhalb eines Speichers im System, wie etwa eines DRAM, Cache, Flash-Speichers oder sonstigen Speichers, gespeichert sein. Darüber hinaus können die Befehle über ein Netzwerk oder mittels anderer computerlesbarer Medien verteilt werden. So kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form einschließen, unter anderem Floppy-Disketten, optische Platten, Compactdisc-Nurlesespeicher (Compact Disc Read-Only Memory, CD-ROMs) und magneto-optische Platten, Nurlesespeicher (Read-Only Memory, ROMs), Direktzugriffsspeicher (Random Access Memory, RAM), löschbaren programmierbaren Nurlesespeicher (Erasable Programmable Read-Only Memory, EPROM), elektrisch löschbaren programmierbaren Nurlesespeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen greifbaren maschinenlesbaren Speicher, die bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen von Ausbreitungssignalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) verwendet werden. Dementsprechend beinhaltet das computerlesbare Medium eine Art von greifbarem maschinenlesbarem Medium, das dazu geeignet ist, elektronische Anweisungen oder Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form zu speichern oder zu übertragen.
  • Die Bezugnahme auf „1 Ausführungsform“ oder „eine Ausführungsform“ in dieser Beschreibung bedeutet, dass eine bestimmte in Verbindung mit der Ausführungsform beschriebene Eigenschaft, Struktur oder Charakteristik in zumindest einer Ausführungsform der vorliegenden Offenbarung enthalten ist. So bezieht sich das Auftreten der Phrasen „in 1 Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen in dieser Beschreibung nicht notwendigerweise immer auf dieselbe Ausführungsform. Darüber hinaus können die bestimmten Eigenschaften, Strukturen oder Charakteristika in einer oder mehreren Ausführungsformen auf eine geeignete Weise kombiniert werden.
  • In der vorstehenden Beschreibung wurde eine ausführliche Beschreibung unter Bezugnahme auf spezifische beispielhafte Ausführungsformen gegeben. Es versteht sich jedoch, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom weiteren Geist und Schutzumfang der Offenbarung, wie in den beigefügten Patentansprüchen dargelegt, abzuweichen. Die Beschreibung und Zeichnungen sind dementsprechend in einem veranschaulichenden und nicht in einem einschränkenden Sinn zu sehen. Darüber hinaus bezieht sich die vorstehende Verwendung von Ausführungsform und anderer beispielhafter Sprache nicht notwendigerweise auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf andere und unterschiedliche Ausführungsformen sowie gegebenenfalls auf dieselbe Ausführungsform beziehen.
  • Einige Teile der ausführlichen Beschreibung sind in Form von Algorithmen und symbolischen Darstellungen von Vorgängen von Datenbits innerhalb eines Computerspeichers dargestellt. Diese algorithmischen Beschreibungen und Darstellungen sind Mittel, die von im Bereich der Datenverarbeitung versierten Fachleuten verwendet werden, um anderen Fachleuten den Inhalt ihrer Arbeit möglichst effektiv zu vermitteln. Unter einem Algorithmus ist hier und im Allgemeinen eine selbst-konsistente Sequenz von Vorgängen zu verstehen, die zu einem gewünschten Ergebnis führen. Die Vorgänge sind solche, die physische Manipulationen physikalischer Größen erfordern. Normalerweise, aber nicht notwendigerweise, weisen diese Größen die Form von elektrischen oder magnetischen Signalen auf, die gespeichert, übertragen, kombiniert, verglichen oder anderweitig verarbeitet werden können. Es hat sich mitunter, hauptsächlich aus Praktikabilitätsgründen, als vorteilhaft erwiesen, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder dergleichen zu bezeichnen. Die hier beschriebenen Blöcke können Hardware, Software, Firmware oder eine Kombination derselben sein.
  • Es sollte jedoch berücksichtigt werden, dass alle diese und ähnlichen Ausdrücke den geeigneten physikalischen Größen zugeordnet werden müssen und lediglich geeignete Kennzeichnungen sind, die auf diese Größen angewandt werden. Sofern nicht ausdrücklich anderweitig angegeben, wie aus der vorstehenden Diskussion hervorgehend, wird bevorzugt, dass sich in der gesamten Beschreibung Erörterungen, bei denen Ausdrücke, wie etwa „definieren“, „empfangen“, „bestimmen“, „ausgeben“, „verknüpfen“, „zuordnen“, „erhalten“, „authentifizieren“, „unterbinden“, „ausführen“, „anfordern“, „kommunizieren“ oder dergleichen verwendet werden, auf die Schritte und Verfahren eines Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, das bzw. die Daten verarbeitet und umwandelt, die innerhalb der Speicher oder Register des Rechensystems oder anderer entsprechender Speicher-, Übertragungs- oder Anzeigevorrichtungen als physikalische (z. B. elektronische) Größen dargestellt sind.
  • Die Begriffe „Beispiel“ oder „beispielhaft“ werden hier verwendet, um anzuzeigen, dass etwas als ein Beispiel, ein Exemplar oder eine Veranschaulichung dient. Jeder Aspekt und jedes Design, das hierin als „Beispiel“ oder „beispielhaft“ beschrieben wird, ist nicht notwendigerweise als gegenüber anderen Aspekten oder Designs bevorzugt oder vorteilhaft auszulegen. Vielmehr soll die Verwendung der Begriffe „Beispiel“ oder „beispielhaft“ Konzepte in einer konkreten Weise präsentieren. Der Ausdruck „oder“ ist, soweit er in dieser Anmeldung verwendet wird, als ein einschließendes „oder“ und nicht als ein ausschließliches „oder“ zu verstehen. Das heißt, dass, sofern nicht anders angegeben oder aus dem Kontext klar hervorgehend, „X beinhaltet A oder B“ alle der natürlichen inklusiven Permutationen einschließt. Dementsprechend gilt, wenn X A beinhaltet; X B beinhaltet; oder X sowohl A als auch B beinhaltet, dass „X beinhaltet A oder B“ in jedem der vorstehenden Fälle erfüllt ist. Darüber hinaus sind die Artikel „ein“ und „eine“, wie sie in dieser Anmeldung und den beigefügten Ansprüchen verwendet werden, grundsätzlich so auszulegen, dass sie „eine(n) oder mehrere“ bedeuten, sofern es nicht anders angegeben ist oder klar aus dem Kontext hervorgeht, dass auf eine Singularform verwiesen wird. Darüber hinaus soll die Verwendung des Ausdrucks „1 Ausführungsform“ oder „eine Ausführungsform“ oder „1 Implementierung“ oder „eine Implementierung“ durchweg nicht dieselbe Ausführungsform bzw. Implementierung bedeuten, sofern sie nicht als solche beschrieben wird. Außerdem sollen die Ausdrücke „erste“, „zweite“, „dritte“, „vierte“ usw., wie sie hierin verwendet werden, der Kennzeichnung zur Unterscheidung zwischen unterschiedlichen Elementen dienen und müssen nicht notwendigerweise eine ihrer numerischen Bezeichnung entsprechende ordinale Bedeutung aufweisen.

Claims (22)

  1. Vorrichtung, umfassend: einen Sender zum Übertragen eines differentiellen Signalpaars, das ein über einen positiven Leiter übertragenes positives Signal und ein über einen negativen Leiter übertragenes negatives Signal umfasst, an einen Empfänger; eine mit dem positiven Leiter gekoppelte erste programmierbare analoge Verzögerungsschaltung, um dem positiven Signal eine erste Verzögerung bereitzustellen; eine mit dem negativen Leiter gekoppelte zweite programmierbare analoge Verzögerungsschaltung, um dem negativen Signal eine zweite Verzögerung bereitzustellen; und eine mit der ersten programmierbaren analogen Verzögerungsschaltung und mit der zweiten programmierbaren analogen Verzögerungsschaltung gekoppelte Steuerung, wobei die Steuerung dazu dient: über eine Übertragungsverbindung mit dem Empfänger Daten zu empfangen, die auf einer durch eine Bitfehlerüberprüfungseinrichtung des Empfängers gemessenen Bitfehlerrate (Bit Error Rate, BER) des differentiellen Signalpaars basieren, und als Reaktion auf eine Feststellung, dass die BER kleiner als eine Schwellen-BER ist, einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  2. Vorrichtung nach Anspruch 1, wobei der Sender, der positive Leiter und der negative Leiter auf einer Leiterplatte angeordnet sind.
  3. Vorrichtung nach einem der Ansprüche 1-2, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst.
  4. Vorrichtung nach Anspruch 3, wobei das Speichern des ersten Verzögerungswerts das Speichern eines Anzapfwerts für die erste angezapfte Verzögerungsleitung der ersten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der ersten Verzögerung umfasst.
  5. Vorrichtung nach einem der Ansprüche 1-4, ferner umfassend einen mit dem Sender gekoppelten Testmustergenerator, wobei der Testmustergenerator dazu dient, ein Testbitmuster zur Übertragung innerhalb des differentiellen Signalpaars zu erzeugen, wobei das Testbitmuster der Bitfehlerüberprüfungseinrichtung bekannt ist.
  6. Vorrichtung nach einem der Ansprüche 1-5, wobei die Steuerung ein erstes Register zum Speichern des ersten Verzögerungswerts für die erste Verzögerung und ein zweites Register zum Speichern des zweiten Verzögerungswerts für die zweite Verzögerung umfasst.
  7. Vorrichtung nach einem der Ansprüche 1-6, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: als Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; als Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, dem ersten Netto-Verzögerungswert den festen Verzögerungswert hinzuzufügen; und als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, den ersten Netto-Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern.
  8. Vorrichtung nach einem der Ansprüche 1-7, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; in Reaktion darauf, dass die zweite BER größer als die erste BER ist: den ersten Netto-Verzögerungswert auf null zu setzen und dem zweiten Verzögerungswert den festen Verzögerungswert hinzuzufügen, um einen zweiten Netto-Verzögerungswert zu erzeugen; und als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, den ersten Netto-Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und den zweiten Netto-Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  9. System, umfassend: einen Testmustergenerator zum Erzeugen eines Testbitmusters; einen Empfänger und eine mit dem Empfänger gekoppelte Bitfehlerüberprüfungseinrichtung, wobei die Bitfehlerüberprüfungseinrichtung dazu dient, eine Bitfehlerrate (Bit Error Rate, BER) in einem empfangenen Signal, das das Testbitmuster trägt, zu bestimmen; einen Sender, der kommunizierend mit dem Empfänger und dem Testmustergenerator gekoppelt ist, wobei der Sender dazu dient, ein differentielles Signalpaar mit dem Testbitmuster an den Empfänger zu übertragen, wobei das differentielle Signalpaar ein über einen positiven Leiter übertragenes positives Signal und ein über einen negativen Leiter übertragenes negatives Signal umfasst; eine mit dem positiven Leiter gekoppelte erste programmierbare analoge Verzögerungsschaltung, um dem positiven Signal eine erste Verzögerung bereitzustellen; eine mit dem negativen Leiter gekoppelte zweite programmierbare analoge Verzögerungsschaltung, um dem negativen Signal eine zweite Verzögerung bereitzustellen; und eine mit der ersten programmierbaren analogen Verzögerungsschaltung und mit der zweiten programmierbaren analogen Verzögerungsschaltung gekoppelte Steuerung, wobei die Steuerung dazu dient: über eine Übertragungsverbindung mit der Bitfehlerüberprüfungseinrichtung Daten zu empfangen, die auf der BER des differentiellen Signalpaars basieren, und als Reaktion auf eine Feststellung, dass die BER kleiner als eine Schwellen-BER ist, einen ersten Verzögerungswert zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung zu speichern und einen zweiten Verzögerungswert zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung zu speichern.
  10. System nach Anspruch 9, wobei die Steuerung ein erstes Register zum Speichern des ersten Verzögerungswerts für die erste Verzögerung und ein zweites Register zum Speichern des zweiten Verzögerungswerts für die zweite Verzögerung umfasst.
  11. System nach einem der Ansprüche 9-10, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst.
  12. System nach Anspruch 11, wobei das Speichern des ersten Verzögerungswerts das Speichern eines ersten Anzapfwerts für die erste angezapfte Verzögerungsleitung zum Erzeugen der ersten Verzögerung umfasst und wobei das Speichern des zweiten Verzögerungswerts das Speichern eines zweiten Anzapfwerts für die zweite angezapfte Verzögerungsleitung zum Erzeugen der zweiten Verzögerung umfasst.
  13. System nach Anspruch 11, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; in Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, dem ersten Netto-Verzögerungswert den festen Verzögerungswert hinzuzufügen; und als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist: einen dem ersten Netto-Verzögerungswert entsprechenden Anzapfwert zu bestimmen und die erste angezapfte Verzögerungsleitung mit dem Anzapfwert zu signalisieren, um die erste Verzögerung am positiven Leiter zu erzeugen.
  14. System nach Anspruch 11, wobei die BER eine erste BER umfasst und wobei die Steuerung ferner dazu dient: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, dem ersten Verzögerungswert einen festen Verzögerungswert hinzuzufügen, um einen ersten Netto-Verzögerungswert zu erzeugen; über die Übertragungsverbindung eine auf der Verwendung des ersten Netto-Verzögerungswerts basierende zweite BER zu empfangen; in Reaktion darauf, dass die zweite BER größer als die erste BER ist: den ersten Netto-Verzögerungswert auf null zu setzen und dem zweiten Verzögerungswert den festen Verzögerungswert hinzuzufügen, um einen zweiten Netto-Verzögerungswert zu erzeugen; und als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist: einen dem zweiten Netto-Verzögerungswert entsprechenden Anzapfwert zu bestimmen und die zweite angezapfte Verzögerungsleitung mit dem Anzapfwert zu signalisieren, um die zweite Netto-Verzögerung am negativen Leiter zu erzeugen.
  15. Verfahren, umfassend: Zurücksetzen, durch eine Steuerung, eines ersten Verzögerungswerts für ein positives Signal und eines zweiten Verzögerungswerts für ein negatives Signal eines differentiellen Signalpaars; Übertragen, durch einen Sender an einen Empfänger, des differentiellen Signalpaars, das das über einen positiven Leiter übertragene positive Signal und das über einen negativen Leiter übertragene negative Signal umfasst, wobei das differentielle Signalpaar ein Testbitmuster beinhaltet; Empfangen, von einer Bitfehlerüberprüfungseinrichtung des Empfängers, von Daten, die auf einer durch den Empfänger empfangenen Bitfehlerrate (Bit Error Rate, BER) des Testbitmusters im differentiellen Signalpaar basieren; Bestimmen, durch eine Steuerung, die mit einer ersten programmierbaren analogen Verzögerungsschaltung des positiven Leiters und mit einer zweiten programmierbaren analogen Verzögerungsschaltung des negativen Leiters gekoppelt ist, ob die BER kleiner als eine Schwellen-BER ist; und als Reaktion auf das Bestimmen, dass die BER kleiner als die Schwellen-BER ist: Speichern, durch die Steuerung in einem ersten Register, des ersten Verzögerungswerts zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung und Speichern, durch die Steuerung in einem zweiten Register, des zweiten Verzögerungswerts zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung.
  16. Verfahren nach Anspruch 15, ferner umfassend das Erzeugen, durch einen Testmustergenerator, des Testbitmusters zur Übertragung innerhalb des differentiellen Signalpaars, wobei das Testbitmuster der Bitfehlerüberprüfungseinrichtung bekannt ist.
  17. Verfahren nach einem der Ansprüche 15-16, wobei die erste programmierbare analoge Verzögerungsschaltung eine erste angezapfte Verzögerungsleitung umfasst und die zweite programmierbare analoge Verzögerungsschaltung eine zweite angezapfte Verzögerungsleitung umfasst, wobei das Speichern Folgendes umfasst: Speichern eines ersten Anzapfwerts für die erste angezapfte Verzögerungsleitung der ersten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der ersten Verzögerung und Speichern eines zweiten Anzapfwerts für die zweite angezapfte Verzögerungsleitung der zweiten programmierbaren analogen Verzögerungsschaltung zum Erzeugen der zweiten Verzögerung.
  18. Verfahren nach einem der Ansprüche 15-17, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; und als Reaktion auf eine Feststellung, dass die zweite BER kleiner als die Schwellen-BER ist, Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung.
  19. Verfahren nach einem der Ansprüche 15-18, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; in Reaktion darauf, dass die zweite BER kleiner als die erste BER ist, erneutes Hinzufügen des festen Verzögerungswerts zum zweiten Verzögerungswert; und als Reaktion auf eine Feststellung, dass eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist, Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung.
  20. Verfahren nach einem der Ansprüche 15-19, wobei die BER eine erste BER umfasst, wobei das Verfahren ferner Folgendes umfasst: in Reaktion darauf, dass die erste BER größer als die Schwellen-BER ist, Hinzufügen eines festen Verzögerungswerts zum zweiten Verzögerungswert, um einen zweiten Netto-Verzögerungswert zu erzeugen; Empfangen einer auf der Verwendung des zweiten Netto-Verzögerungswerts basierenden zweiten BER; in Reaktion darauf, dass die zweite BER größer als die erste BER ist: Setzen des zweiten Netto-Verzögerungswerts auf null und Hinzufügen des festen Verzögerungswerts zum ersten Verzögerungswert, um einen ersten Netto-Verzögerungswert zu erzeugen; und Bestimmen, ob eine dritte BER, die der zweiten BER folgt, kleiner als die Schwellen-BER ist.
  21. Verfahren nach Anspruch 20, ferner umfassend, als Reaktion auf eine Feststellung, dass eine dritte BER größer als die Schwellen-BER ist: Bestimmen, ob die dritte BER größer als die zweite BER ist und als Reaktion auf eine Feststellung, dass die dritte BER kleiner als die zweite BER ist, Hinzufügen der festen Verzögerung zum ersten Netto-Verzögerungswert.
  22. Verfahren nach Anspruch 20, ferner umfassend, als Reaktion auf eine Feststellung, dass die dritte BER kleiner als die Schwellen-BER ist: Speichern des ersten Netto-Verzögerungswerts zum Programmieren der ersten Verzögerung der ersten programmierbaren analogen Verzögerungsschaltung und Speichern des zweiten Netto-Verzögerungswerts zum Programmieren der zweiten Verzögerung der zweiten programmierbaren analogen Verzögerungsschaltung.
DE102019101810.2A 2018-04-04 2019-01-25 Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen Pending DE102019101810A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/945,169 2018-04-04
US15/945,169 US11163001B2 (en) 2018-04-04 2018-04-04 Reduction of skew between positive and negative conductors carrying a differential pair of signals

Publications (1)

Publication Number Publication Date
DE102019101810A1 true DE102019101810A1 (de) 2019-10-10

Family

ID=65229262

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019101810.2A Pending DE102019101810A1 (de) 2018-04-04 2019-01-25 Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen

Country Status (3)

Country Link
US (1) US11163001B2 (de)
CN (1) CN110348033A (de)
DE (1) DE102019101810A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684123B2 (en) 2018-01-16 2020-06-16 Cisco Technology, Inc. Fiber weave skew assessment for printed circuit boards
US10657074B2 (en) * 2018-09-12 2020-05-19 Intel Corporation Connecting an external PHY device to a MAC device using a management data input/output interface
CN111258511B (zh) * 2020-01-10 2023-05-05 武汉先同科技有限公司 一种基于hdmi传输打印协议的实现方法
JP2022018859A (ja) * 2020-07-16 2022-01-27 トヨタ自動車株式会社 車両用通信装置及びスキュー補正方法
US11474969B1 (en) * 2021-05-12 2022-10-18 Gowin Semiconductor Corporation Methods and apparatus for providing a serializer and deserializer (SERDES) block facilitating high-speed data transmissions for a field-programmable gate array (FPGA)
US11843376B2 (en) 2021-05-12 2023-12-12 Gowin Semiconductor Corporation Methods and apparatus for providing a high-speed universal serial bus (USB) interface for a field-programmable gate array (FPGA)
US11687483B1 (en) * 2021-12-05 2023-06-27 Western Digital Technologies, Inc. Embedded physical layers with passive interfacing for configurable integrated circuits
CN117377196B (zh) * 2023-12-06 2024-02-13 苏州元脑智能科技有限公司 一种差分线设计方法、系统、装置及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493509B2 (en) * 2004-12-10 2009-02-17 Ati Technologies Ulc Intra-pair differential skew compensation method and apparatus for high-speed cable data transmission systems
JP5061855B2 (ja) * 2007-11-07 2012-10-31 富士通株式会社 電気分散補償装置、光受信装置および光受信方法
JP6697990B2 (ja) * 2016-09-16 2020-05-27 ルネサスエレクトロニクス株式会社 半導体装置
US10684123B2 (en) * 2018-01-16 2020-06-16 Cisco Technology, Inc. Fiber weave skew assessment for printed circuit boards

Also Published As

Publication number Publication date
US11163001B2 (en) 2021-11-02
US20190041458A1 (en) 2019-02-07
CN110348033A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
DE102019101810A1 (de) Reduzierung von Skew zwischen einem positiven und einem negativen Leiter, die ein differentielles Signalpaar tragen
DE102019009207B3 (de) Vorrichtungen, verfahren und nichttransitorisches computerlesbares speichermedien für dvsec für eine effiziente peripheriegeräteverwaltung
DE102018007025A1 (de) System, Verfahren und Einrichtung zur SRIS-Modus-Auswahl für PCIe
US20230038517A1 (en) Global persistent flush
DE112013007751B3 (de) Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112016002895T5 (de) Authentifizierung einer Mehrprotokollverbindung
US9794055B2 (en) Distribution of forwarded clock
DE102019129626A1 (de) Vorwärtsfehlerkorrekturmechanismus für datenübertragung über mehrspurige verbindungen
DE102020130978A1 (de) Seitenbandsignalisierung über vorhandene hilfsstifte einer schnittstelle
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE112016004332T5 (de) Verfahren, vorrichtungen und systeme zum taktversatzausgleich von datenverbindungaufteilungen
DE112013001661B4 (de) Apparat, verfahren und system zur bereitstellung eines konsolidierten seitenband kommunikationskanal zwischen geräten
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112013007732B4 (de) System und Vorrichtung zum Bestimmen und Melden eines Fehlers auf einer Bahn
DE112016002913T5 (de) Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten
DE102019109858A1 (de) Breiten- und Frequenzumsetzung mit PHY-Schicht-Vorrichtungen
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
DE102018125241A1 (de) Mechanismus einer asymmetrischen Vollduplex-USB-SS-Verbindungsstrecke
DE102019129622A1 (de) Auslegbare integritätsgeschützte verbindung für sichere beschleunigerkommunikation
DE102018005753A1 (de) Serdes link training
DE102020123484A1 (de) Programmierbare Datenbusinversion und konfigurierbare Implementierung
DE102019132213A1 (de) Adressenübersetzung für skalierbare verlinkte Vorrichtungen
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE112018001088T5 (de) Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung