DE112017001706T5 - Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren - Google Patents

Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren Download PDF

Info

Publication number
DE112017001706T5
DE112017001706T5 DE112017001706.8T DE112017001706T DE112017001706T5 DE 112017001706 T5 DE112017001706 T5 DE 112017001706T5 DE 112017001706 T DE112017001706 T DE 112017001706T DE 112017001706 T5 DE112017001706 T5 DE 112017001706T5
Authority
DE
Germany
Prior art keywords
timing
response
ptm
timing protocol
component
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
DE112017001706.8T
Other languages
English (en)
Inventor
Anthony S. Bock
Michael J. Greger
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 DE112017001706T5 publication Critical patent/DE112017001706T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

Gemäß hier offenbarten Ausführungsformen sind Systeme und Verfahren zur Zeitversatzvalidierung von Komponenten mit unabhängigen Siliziumuhren vorgesehen. Eine anfragende Komponente enthält eine Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente, Empfangslogik zum Empfangen von Zeitsteuerungsprotokollantworten, Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente auf ungültig und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge und zum Setzen des internen Zeitsteuerungszustands der anfragenden Komponente auf gültig. Eine antwortenden Komponente enthält Empfangslogik, Übertragungslogik, Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente auf ungültig, und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge Setzen des internen Zeitsteuerungszustands der antwortenden Komponente auf gültig.

Description

  • Figurenliste
    • 1 zeigt eine anfragende Komponente und eine antwortende Komponente in einer Verbindungsarchitektur mit Zeitversatzvalidierungslogik gemäß einer Ausführungsform.
    • 2 zeigt einen geschichteten Protokollstapel einer Zwischenverbindung mit Zeitversatzvalidierungslogik gemäß einer Ausführungsform.
    • 3 zeigt ein Rechensystem mit mehreren Zwischenverbindungen mit Zeitversatzvalidierungslogik gemäß einer Ausführungsform.
    • 4a zeigt eine Übertragung von Precision Timing Measurement (PTM)-Nachrichten zwischen der anfragenden Komponente und der antwortenden Komponente gemäß einer Ausführungsform.
    • 4b zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente und der antwortenden Komponente gemäß einer anderen Ausführungsform.
    • 5a ist ein Ablaufdiagramm eines Verfahrens einer Zeitversatzvalidierung der anfragenden Komponente gemäß einer Ausführungsform.
    • 5b ist ein Ablaufdiagramm eines Verfahrens einer Zeitversatzvalidierung der antwortenden Komponente gemäß einer anderen Ausführungsform.
    • 6a zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente und der antwortenden Komponente gemäß einer anderen Ausführungsform.
    • 6b zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente und der antwortenden Komponente gemäß einer anderen Ausführungsform.
    • 7 ist ein Ablaufdiagramm eines Verfahrens einer Zeitversatzvalidierung der anfragenden Komponente gemäß einer anderen Ausführungsform.
    • 8 ist ein Ablaufdiagramm eines Verfahrens einer Zeitversatzvalidierung der antwortenden Komponente gemäß einer anderen Ausführungsform.
    • 9a zeigt ein Blockdiagramm einer anfragenden Komponente gemäß einer Ausführungsform.
    • 9b zeigt ein Blockdiagramm einer antwortenden Komponente gemäß einer Ausführungsform.
    • 10 zeigt ein Blockdiagramm eines Mehrfachkemprozessors gemäß einer Ausführungsform.
    • 11 zeigt ein System-on-Chip (SOC)-Design gemäß einer Ausführungsform.
    • 12 zeigt ein Blockdiagramm für ein Rechensystem gemäß einer Ausführungsform.
  • Beschreibung von Ausführungsformen
  • Vorrichtungen kommunizieren miteinander über eine Verbindung oder einen Link. Ein Link kann ein Punkt-zu-Punkt-Kommunikationskanal zwischen zwei Komponenten sein, der beiden Komponenten erlaubt, Anfragen und Antworten zu senden und zu empfangen. Diese Komponenten können unabhängige, auf Silizium beruhende Uhren haben, die nicht dieselbe Zeit messen. Die Komponenten können über eine oder mehrere Spuren einander Nachrichten senden und voneinander Nachrichten empfangen. Auf physischer Ebene besteht ein Link aus einer oder mehreren Spuren, wo eine Spur aus zwei unterschiedlichen Signalisierungspaaren besteht; ein Paar zum Empfangen von Daten und ein Paar zum Senden von Daten. Die Komponenten können Nachrichten senden und empfangen, um Zeitversatzmessungen zwischen den Komponenten zu koordinieren. Zum Beispiel ermöglicht das PCIe® (Peripheral Component Interconnect Express) Precision Timing Measurement (PTM) Protokoll, dass Komponenten präzise Zeitinformationen von anderen Komponenten durch Übertragung von Nachrichten zwischen den Komponenten erhalten. Das PTM-Protokoll enthält Prozeduren zur Behandlung von Fehlern, die in der Übertragung von PTM-Nachrichten auftreten können. Zum Beispiel kann eine erste Komponente ein Transaktionsschichtpaket (TLP) (z.B. eine PTM-Nachricht: eine PTM-Anfrage, eine PTM-Antwort, oder PTM-AntwortD) an eine zweite Komponente senden und die zweite Komponente kann ein Datenlink-Schichtpaket (DLLP) (z.B. Bestätigungsnachricht (ACK) oder negative Bestätigungsnachricht (NAK)) an die erste Komponente in Antwort auf das empfangene TLP senden. Wie hier beschrieben, kann sich der Begriff „PTM-Antwort“ auf eine PTM-Antwort mit einer Datennutzlast (PTM-AntwortD) oder eine PTM-Antwort ohne Datennutzlast (PTM-Antwort) beziehen, falls nicht näher beschrieben. Dieser paarweise Austausch einer PTM-Anfrage, gefolgt von einer PTM-Antwort/AntwortD-Nachricht wird als ein PTM-Dialog bezeichnet. PTM beruht auf der erfolgreichen Übertragung der PTM-Dialoge, sowohl der konstituierenden TLP Nachrichten wie auch entsprechender ACKs, um dem System exakte Zeitsteuerungsinformationen zuzustellen. Die ACK dient als eine zusätzliche Prüfung der erfolgreichen Übertragung von TLPs, nicht nur PTM TLPs. Fehler können in der Übertragung von TLPs und ACKs auftreten. Zum Beispiel kann ein TLP oder eine ACK nicht empfangen werden, ein TLP oder eine ACK kann als korrumpiert angesehen werden, ein TLP oder eine ACK könnte nicht vor Ablauf eines Zeitlimits empfangen werden oder es kann eine NAK empfangen werden. Für die meisten TLPs ist im Fall eines Fehlers ein korrekter Betrieb eine Neuübertragung des TLP. Für PTM TLPs ermöglicht diese Neuübertragung einen erfolgreichen Austausch der Nachrichten, aber da Empfang/Übertragung von PTM TLPs auch bewirken, dass die Hardware Zeitsteuerungsinformationen sperrt, können Neuübertragungen zu Fehlern in den Zeitsteuerungsinformationen führen. Üblicherweise waren Komponenten nicht imstande, Fehler zu erfassen, die sich auf die Übertragung von ACKs beziehen. Zum Beispiel überträgt die erste Komponente dasselbe TLP erneut zu einer zweiten Komponente, falls die erste Komponente eine NAK empfängt, ein korrumpierte ACK empfängt oder keine ACK vor Ablauf eines Zeitlimits empfängt. Die erste Komponente fährt in herkömmlichen Lösungen mit dem Senden desselben TLP an die zweite Komponente fort, bis die erste Komponente vor Ablauf eines Zeitlimits eine ACK empfängt, die nicht als korrumpiert beobachtet wird. Die Neuübertragung eines PTM TLP kann zu Fehlern in den Zeitsteuerungsberechnungen führen.
  • Eine herkömmliche Lösung verwendet Software zur Überwachung anomaler Ergebnisse. Die Verwendung von Software zur Überwachung anomaler Ergebnisse bedingt einen zusätzlichen Betrieb und Mehraufwand für jede Nachrichtenübertragung und nicht nur Übertragungen, wenn Fehler auftreten. Das Ausmaß von Fehlern kann variieren, sodass fehlerhafte Ergebnisse, die erwarteten Werten ausreichend nahe sind, ein Erfassen verhindern können und durch die Software nicht erfasst werden könnten. Diese subtilen Fehler verschlechtern die Exaktheit, was zu einem unerwünschten Betrieb führt.
  • Zur Vermeidung dieser Fehler in Zeitsteuerungsberechnungen und zur Vermeidung von Fehlern und eines Mehraufwands, der durch Software bedingt ist, die anomale Ergebnisse überwacht, kann in den hier beschriebenen Ausführungsformen eine Komponente annehmen, dass der Zustand der Komponente ungültig ist, sobald die Komponente eine Neuübertragung eines PTM TLP beobachtet. Eine anfragende Komponente kann bei Beobachtung einer Neuübertragung einer PTM-Anfrage, PTM-Antwort oder AntwortD die interne Zeitsteuerung der anfragenden Komponente als ungültig markieren und neue PTM-Anfragen erneut ausgeben, bis zwei aufeinanderfolgende PTM-Dialoge fehlerfrei vollendet sind und der zweite PTM-Dialog eine PTM-AntwortD enthält, wobei zu diesem Zeitpunkt der interne Zeitsteuerungszustand der anfragenden Komponente wiederhergestellt wurde und ein normaler Betrieb wieder aufgenommen werden kann. Eine antwortende Komponente kann bei Beobachtung einer Neuübertragung einer PTM-Anfrage, PTM-Antwort oder PTM-AntwortD die interne Zeitsteuerung der antwortenden Komponente als ungültig markieren und kann ein PTM-Antwort TLP ohne Datennutzlast ausgeben, wenn die antwortende Komponente jedes PTM-Anfrage TLP empfängt, bis zwei aufeinanderfolgende PTM-Dialoge fehlerfrei vollendet sind, wobei zu diesem Zeitpunkt die interne Zeitsteuerungszustand der antwortenden Komponente wiederhergestellt wurde und ein normaler Betrieb wieder aufgenommen werden kann. Die hier beschriebenen Ausführungsformen können nachträglich mit einer oder mehreren bestehenden PTM-Spezifikationen kompatibel sein. Die hier beschriebenen Ausführungsformen können mit bestehenden und zukünftigen Vorrichtungen arbeiten, um das gesamte Verhalten zu verbessern, ohne beide Enden des Links zu ersetzen. Die hier beschriebenen Ausführungsformen können nur in der anfragenden Komponente implementiert werden, können nur in der antwortenden Komponente implementiert werden oder können sowohl in der anfragenden Komponente wie auch der antwortenden Komponente implementiert werden. Selbst wenn die hier beschriebenen Ausführungsformen nur in einer der anfragenden oder antwortenden Komponente implementiert sind, zeigen die hier beschriebenen Ausführungsformen weiterhin eine bessere Leistung als eine Implementierung, die nur eine traditionelle PTM-Spezifikation verwendet.
  • Unter Bezugnahme auf 1 ist eine Ausführungsform einer anfragenden Komponente 105 und einer antwortenden Komponente 110 in einer Verbindungsarchitektur mit Zeitversatzvalidierungslogik dargestellt. In einer Ausführungsform zeigt 1 einen seriellen Punkt-zu-Punkt-Link, der einen Übertragungspfad zum Übertragen serieller Daten enthält. In einer anderen Ausführungsform zeigt 1 ein PCIe® serielles Punkt-zu-Punkt-Fabric.
  • In einer Ausführungsform enthält die anfragende Komponente 105 einen Protokollstapel 120 mit Zeitversatzvalidierung. Der Protokollstapel 120 mit Zeitversatzvalidierung kann ein Zeitsteuerungsprotokoll sein. Der Protokollstapel 120 kann Übertragungslogik 106, Empfangslogik 107, Wiederholungserfassungslogik 122 und Validierungslogik 124 enthalten. Die Übertragungslogik 106 kann Zeitsteuerungsprotokollanfragen über einen Link 115 zur antwortenden Komponente 110 übertragen. Die Empfangslogik 107 kann Zeitsteuerungsprotokollantworten von der antwortenden Komponente über den Link 115 in Antwort auf die Zeitsteuerungsprotokollanfragen empfangen. Die Wiederholungserfassungslogik 122 kann eine Neuübertragung einer Zeitsteuerungsprotokollnachricht (z.B. eine Zeitsteuerungsprotokollanfrage, eine Zeitsteuerungsprotokollantwort) erfassen und kann in Antwort auf die Neuübertragung einen internen Zeitsteuerungszustand der anfragenden Komponente 105 auf ungültig setzen. Die Validierungslogik 124 kann zumindest zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge (z.B. einen ersten Zeitsteuerungsprotokolldialog (z.B. eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort) und einen zweiten Zeitsteuerungsprotokolldialog (z.B. eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort) erfassen und die Validierungslogik 124 kann den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig setzen.
  • In einer Ausführungsform umfasst die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat. In einer anderen Ausführungsform überträgt die anfragende Komponente 105 aufeinanderfolgend, über die Übertragungslogik 106, Zeitsteuerungsprotokollanfragen, bis die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge mit sämtlichen Neuübertragungen vollendet sind. In einer anderen Ausführungsform setzt die Validierungslogik 124 den internen Zeitsteuerungszustand unter Verwendung von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort auf gültig. In einer anderen Ausführungsform ignoriert die Empfangslogik 107 Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Die antwortende Komponente 110 kann einen Protokollstapel 130 mit Zeitversatzvalidierung enthalten. Der Protokollstapel 130 mit Zeitversatzvalidierung kann ein Zeitsteuerungsprotokoll sein. Der Protokollstapel 130 kann Übertragungslogik 112, Empfangslogik 111, Wiederholungserfassungslogik 132 und Validierungslogik 134 enthalten. Die Empfangslogik 111 kann Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente 105 über einen Link 115 empfangen. Die Übertragungslogik 112 kann Zeitsteuerungsprotokollantworten zur anfragenden Komponente 105 über den Link 115 in Antwort auf die Zeitsteuerungsprotokollanfragen übertragen. Die Wiederholungserfassungslogik 132 kann eine Neuübertragung der Zeitsteuerungsprotokollnachricht erfassen und einen internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig setzen. Die Validierungslogik 134 kann zumindest zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge erfassen, die den ersten Zeitsteuerungsprotokolldialog und den zweiten Zeitsteuerungsprotokolldialog enthalten.
  • In einer Ausführungsform umfasst jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)- Anfrage, jede Zeitsteuerungsprotokollantwort umfasst eine PTM-Antwort, die Zeitsteuerungsprotokollnachricht umfasst eine PTM-Nachricht und jede Zeitsteuerungsprotokolldialog umfasst einen PTM-Dialog. In einer anderen Ausführungsform umfasst die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat. In einer anderen Ausführungsform werden die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage durch die anfragende Komponente aufeinanderfolgend zur antwortenden Komponente übertragen. In einer anderen Ausführungsform soll die Übertragungslogik Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen übertragen, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • In einer Ausführungsform kann das Zeitsteuerungsprotokoll ein PCIe® Precision Timing Measurement (PTM)-Protokoll sein. Jede Zeitsteuerungsprotokollanfrage kann eine Precision Timing Measurement (PTM)-Anfrage enthalten, jede Zeitsteuerungsprotokollantwort kann eine PTM-Antwort enthalten, die Zeitsteuerungsprotokollnachricht kann eine PTM-Nachricht enthalten und jeder Zeitsteuerungsprotokolldialog kann einen PTM-Dialog enthalten.
  • Ein primäres Ziel von PCIe® ist, Komponenten und Vorrichtungen von verschiedenen Verkäufern zu ermöglichen, in einer offenen Architektur zusammenzuarbeiten, die mehrere Marktsegmente überspannt; Clients (Desktops und mobile), Server (Standard und firmeneigene) und eingebettete und Kommunikationsvorrichtungen. PCIe® ist eine Hochleistungs-, Allzweck-I/O Verbindung, die für eine Reihe zukünftiger Rechen- und Kommunikationsplattformen definiert ist. Einige PCI-Attribute, wie Nutzungsmodell, Last-Speicherarchitektur und Software-Schnittstellen, wurden im Laufe ihrer Überarbeitungen beibehalten, während zuvor parallele Busimplementierungen durch eine stark skalierbare, vollständig serielle Schnittstelle ersetzt wurden. Die jüngsten Versionen von PCIe® nutzen Fortschritte in Punkt-zu-Punkt-Verbindungen, vermittlungsgestützter Technologie und eines paketierten Protokolls, um neue Leistungsebenen und Merkmale vorzusehen. Leistungsmanagement, Dienstgüte (QoS), Hot-Plug/Hot-Swap-Unterstützung, Datenintegrität und Fehlerbehebung zählen zu einigen der fortschrittlichen Merkmale, die durch PCIe® unterstützt werden.
  • Ein grundlegender PCIe® Link enthält zwei Niederspannungs-, differentiell angesteuerte Signalpaare: ein Übertragungspaar 106/111 und ein Empfangspaar 112/107. Daher enthält die anfragende Komponente 105 eine Übertragungslogik 106 zur Übertragung von Daten zur antwortenden Komponente 110 und eine Empfangslogik 107 zum Empfangen von Daten von der antwortenden Komponente 110. Die antwortende Komponente 110 enthält eine Übertragungslogik 112 zur Übertragung von Daten zur anfragenden Komponente 105 und eine Empfangslogik 111 zum Empfangen von Daten von der anfragenden Komponente 105. Mit anderen Worten, zwei Übertragungspfade, d.h. Pfade 116 und 117, und zwei Empfangspfade, d.h. Pfade 118 und 119, sind in einem PCIe® Link enthalten. In einer Ausführungsform kann die anfragende Komponente 105 eine stromabwärts liegende Komponente sein und die antwortende Komponente 110 kann eine stromaufwärts liegende Komponente sein. Die antwortende Komponente 110 kann Zugang zu Masterinformationen (z.B. PTM-Masterzeit) haben und die anfragende Komponente 105 kann Zugang zu lokalen Informationen (z.B. lokaler Zeit) haben.
  • Ein Übertragungspfad bezieht sich auf jeden Pfad zum Übertragen von Daten, wie eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, einen Infrarot-Kommunikationslink oder anderen Kommunikationspfad. Eine Verbindung zwischen zwei Vorrichtungen oder Komponenten, wie der anfragenden Komponente 105 und der antwortenden Komponente 110, wird als Link (z.B. ein Übertragungsmedium), wie Link 115, bezeichnet. Die PCIe®-Komponenten kommunizieren über eine logische Verbindung, die als Verbindung oder Link bezeichnet wird. Ein Link ist ein Punkt-zu-Punkt-Kommunikationskanal zwischen zwei PCIe®-Ports, der beiden ermöglicht, normale PCI-Anfragen (Konfiguration, I/O oder Speicher-Lesen/Schreiben) und Unterbrechungen (INTx, MSI oder MSI-X) zu senden und zu empfangen. Auf physischer Ebene besteht ein Link aus einer oder mehreren Spuren. Geschwindigkeitsarme Peripherieeinrichtungen (wie eine Karte, die die 802.11 Wi-Fi®-Technologie verwendet) verwenden einen Einzelspur (×1)-Link, während ein Grafikadapter einen viel breiteren und schnelleren 16-Spuren-Link verwendet. Ein PCIe®-Link zwischen zwei Komponenten enthält eine oder mehrere Spuren, wobei jede Spur zwei unterschiedliche Signalisierungspaare (ein Paar zum Übertragen, ein Paar zum Empfangen) darstellt. Die eine oder mehreren Spuren sind Dual-Simplex-Kanäle, die zwei unterschiedliche Signalisierungspaare verwenden. Daher besteht jede Spur aus vier Drähten oder Signalspuren. Konzeptionell wird jede Spur als Vollduplex-Byte-Strom verwendet, der Datenpakete im Acht-Bit-, „Byte“-Format gleichzeitig in beide Richtungen zwischen Endpunkten eines Links transportiert. Physische PCIe®-Links können ein bis 32 Spuren enthalten, genauer 1, 2, 4, 8, 12, 16 oder 32 Spuren. Die Spurzahlen werden mit einem „ד-Präfix geschrieben (zum Beispiel stellt „×8“ eine achtspurige Karte oder einen achtspurigen Schlitz dar), wobei x 16 die größte Größe im allgemeinen Gebrauch ist. Zur Skalierung einer Bandbreite kann ein Link mehrere Spuren aggregieren, die durch xN bezeichnet sind, wobei N jede unterstützte Linkbreite, wie 1, 2, 4, 8, 12, 16, 32, 64, oder breiter ist.
  • Ein Differentialpaar bezieht sich auf zwei Übertragungspfade, wie Leitungen 116 und 117, zum Übertragen differentieller Signale. Wenn beispielsweise Leitung 116 von einem Niederspannungspegel zu einem Hochspannungspegel wechselt, d.h. eine ansteigende Flanke, steuert Leitung 117 von einem hohen Logikpegel auf einen niederen Logikpegel, d.h. eine abfallende Flanke. Differentielle Signale zeigen möglicherweise bessere elektrische Eigenschaften, wie bessere Signalintegrität, d.h. Kreuzkopplung, Spannungsüberschwingen/- unterschwingen, Ringing usw. Dies ermöglicht ein besseres Zeitsteuerungsfenster, das schnellere Übertragungsfrequenzen erlaubt.
  • Die gebundene serielle Busarchitektur kann über den traditionellen parallelen Bus aufgrund inhärenter Einschränkungen desselben gewählt werden, enthaltend einen Halbduplex-Betrieb, überschüssige Signalzahl und inhärent eine niedrigere Bandbreite aufgrund eines Zeitsteuerungsversatzes. Ein Zeitsteuerungsversatz ergibt sich aus separaten elektrischen Signalen innerhalb einer parallelen Schnittstelle, die durch Leiter unterschiedlicher Länge, auf möglicherweise verschiedenen gedruckten Leiterplatten (PCB)-Schichten und bei möglicherweise unterschiedlichen Signalgeschwindigkeiten laufen. Trotz der gleichzeitigen Übertragung als ein einzelnes Wort erfahren Signale auf einer parallelen Schnittstelle unterschiedliche Wegezeiten und treffen zu unterschiedlichen Momenten an ihren Bestimmungsorten ein. Wenn die Schnittstellentaktrate auf einen Punkt erhöht wird, zu dem ihr Inverses (das heißt, ihre Taktperiode) kürzer als die größtmögliche Zeit zwischen Signalankünften ist, treffen die Signale nicht mehr mit ausreicher Koinzidenz ein, um eine Wiederherstellung des übertragenen Worts möglich zu machen. Da ein Zeitsteuerungsversatz über einen parallelen Bus einige Nanosekunden betragen kann, liegt die resultierende Bandbreiteneinschränkung im Bereich von hunderten Megahertz.
  • Eine serielle Schnittstelle weist keinen Zeitsteuerungsversatz auf, da es nur ein Differentialsignal in jeder Richtung innerhalb jeder Spur gibt und kein externes Taktsignal vorhanden ist, da Taktgebungsinformationen innerhalb des seriellen Signals selbst eingebettet sind. Als solches sind typische Bandbreitenbeschränkungen auf seriellen Signalen im Multi-Gigahertz-Bereich. PCIe® ist ein Beispiel des allgemeinen Trends zu einem Ersetzen paralleler Busse mit seriellen Verbindungen; andere Beispiele enthalten Serial ATA (SATA), USB, Serial Attached SCSI (SAS), FireWire (IEEE 1394) und RapidIO. Ein serielles Mehrfachkanaldesign, mit seiner Fähigkeit weniger Spuren für langsamere Vorrichtungen zuzuweisen, erhöht die Flexibilität.
  • Die anfragende Komponente 105 enthält einen Protokollstapel 120 mit Zeitversatzvalidierung. Der Protokollstapel 120 enthält eine Übertragungslogik 106, eine Empfangslogik 107, eine Wiederholungserfassungslogik 122 und eine Validierungslogik 124. Die Übertragungslogik 106 kann Precision Timing Measurement (PTM)-Anfragen, ACKs und NAKs über Link 115 zur antwortenden Komponente 110 übertragen. Die Übertragungslogik 106 kann eine NAK in Antwort auf einen Empfang einer PTM-Antwort/AntwortD, die korrumpiert ist (schlechte LCRC (Link Cyclical Redundancy Check), schlechtes Framing, falsche Sequenznummer) übertragen. Die Empfangslogik 107 kann ACKs, NAKs und PTM-Antworten (z.B. PTM-Antwort, PTM-AntwortD) von der antwortenden Komponente 110 über den Link 115 in Antwort auf die PTM-Anfragen empfangen. Die Empfangslogik 107, die eine NAK empfängt, weist die Übertragungslogik 106z zur Neuübertragung einer oder mehrerer PTM-Anfragen an (die NAK enthält die Sequenznummer der letzten PTM-Antwort/AntwortD, die erfolgreich empfangen wurde, und kann eine Übertragung von null, einer oder mehr PTM-Anfragen mit späteren Sequenznummern veranlassen). Die Wiederholungserfassungslogik 122 kann eine Neuübertragung einer PTM-Nachricht erfassen (z.B. Neuübertragung einer PTM-Anfrage zur antwortenden Komponente 110 durch die Übertragungslogik 106, Neuübertragung einer PTM-Antwort/AntwortD, die durch die Empfangslogik 107 der antwortenden Komponente 110 empfangen wird). Die Wiederholungserfassungslogik 122 kann einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung der PTM-Nachricht (z.B. Neuübertragung einer PTM-Anfrage durch die Übertragungslogik 106, Neuübertragung einer PTM-Antwort/AntwortD von der antwortenden Komponente 110, die durch die Empfangslogik 107 empfangen wurde) auf ungültig setzen. In einer Ausführungsform enthält die Wiederholungserfassungslogik 122 einen Neuversuchspuffer 916 zum Erfassen einer Neuübertragung einer PTM-Anfrage und eine Lnk TLP-Verarbeitung 906 zum Erfassen einer Neuübertragung einer PTM-Antwort/AntwortD (siehe 9a). Die Validierungslogik 124 kann zumindest zwei aufeinanderfolgende erfolgreiche PTM-Dialoge (z.B. PTM-Dialoge, die ohne Fehler und ohne Neuübertragungen vollendet werden) durch Überwachen der Empfangslogik 107 und der Übertragungslogik 106 erfassen. In einer Ausführungsform kann die Validierungslogik 124 PTM-Antwort/AntwortD, NAKs, ACKs und Neuübertragungen erfassen, die durch die Empfangslogik 107 empfangen werden, wodurch der Validierungslogik 124 möglich ist, das Gelingen oder Misslingen von PTM-Dialogen zu bestimmen, die durch die Übertragungslogik 106 eingeleitet werden. Die Validierungslogik 124 kann den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf zumindest zwei aufeinanderfolgende, vollendete PTM-Dialoge auf gültig setzen.
  • In einer Ausführungsform setzt die Validierungslogik 124 den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort darauf auf gültig, dass zwei aufeinanderfolgender PTM-Dialoge durch die Empfangslogik 107 und die Übertragungslogik 106 erfolgreich vollendet wurden und der zweite PTM-Dialog eine PTM-AntwortD enthält.
  • Die antwortende Komponente 110 enthält einen Protokollstapel 130 mit Zeitversatzvalidierung. Der Protokollstapel 130 enthält eine Empfangslogik 111, eine Übertragungslogik 112, eine Wiederholungserfassungslogik 132 und eine Validierungslogik 134. Die Empfangslogik 111 kann ACKs, NAKs und PTM-Anfragen von der anfragenden Komponente 105 über den Link 115 empfangen. Die Empfangslogik 111, die eine NAK empfangt, weist die Übertragungslogik 112 zur Neuübertragung einer oder mehr PTM-Antworten/AntwortenD an (die NAK enthält die Sequenznummer der letzten PTM-Anfrage, die erfolgreich empfangen wurde, und kann die Übertragung von null, einer oder mehrerer PTM-Antworten/AntworentD mit späteren Sequenznummern veranlassen). Die Übertragungslogik 112 kann ACKs, NAKs und PTM-Antworten (z.B. PTM-Antwort, PTM-AntwortD) in Antwort auf die PTM-Anfragen über den Link 115 zur anfragenden Komponente 105 senden. Die Übertragungslogik 112 kann eine NAK in Antwort auf einen Empfang einer PTM-Anfrage, die korrumpiert ist (schlechte LCRC (Link Cyclical Redundancy Check), schlechtes Framing, falsche Sequenznummer), übertragen. Die Wiederholungserfassungslogik 132 kann eine Neuübertragung einer PTM-Nachricht (z.B. Neuübertragung einer PTM-Anfrage von der anfragenden Komponente 105. die durch die Empfangslogik 111 empfangen wird, Neuübertragung einer PTM-Antwort/AntwortD durch die Übertragungslogik 112) erfassen. In einer Ausführungsform enthält die Wiederholungserfassungslogik 132 einen Neuversuchspuffer 916 zum Erfassen einer Neuübertragung einer PTM-Antwort/AntwortD und eine Lnk TLP-Verarbeitung 906 zum Erfassen einer Neuübertragung einer PTM-Anfrage (siehe 9b). Die Wiederholungserfassungslogik 132 kann einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung der PTM-Nachricht auf ungültig setzen. Die Validierungslogik 134 kann zumindest zwei aufeinanderfolgende erfolgreiche PTM-Dialoge (z.B. PTM-Dialoge, die ohne Fehler und ohne Neuübertragungen vollendet wurden) durch Überwachen der Empfangslogik 111 und der Übertragungslogik 112 erfassen, wobei die Validierungslogik 134 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Vollendung der zumindest zwei aufeinanderfolgenden erfolgreichen PTM-Dialoge auf gültig setzen.
  • In einer Ausführungsform setzt die Validierungslogik 134 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Vollendung der zumindest zwei aufeinanderfolgenden PTM-Dialoge durch die Empfangslogik 111 und die Übertragungslogik 112 auf gültig. In einer anderen Ausführungsform empfängt die Empfangslogik 111 keine PTM-Anfrage in einer ersten Instanz, bevor die Empfangslogik 111 die PTM-Anfrage in einer zweiten Instanz empfängt. In einer anderen Ausführungsform empfängt die Empfangslogik 111 die PTM-Anfrage in einer ersten Instanz und die Übertragungslogik 112 überträgt keine ACK zur anfragenden Komponente 105 vor Ablauf eines Zeitlimits in Antwort darauf, dass die Empfangslogik 111 die PTM-Anfrage in der ersten Instanz empfängt. In einer anderen Ausführungsform empfängt die Empfangslogik 111 die PTM-Anfrage in einer ersten Instanz und die Übertragungslogik 112 überträgt eine ACK zur anfragenden Komponente 105 und die ACK wird in der Empfangslogik 107 der anfragenden Komponente 105 als verloren oder korrumpiert beobachtet. In einer anderen Ausführungsform überträgt die Übertragungslogik 112 eine PTM-Antwort ohne Datennutzlast, wenn der interne Zeitsteuerungszustand der antwortenden Komponente 110 ungültig ist.
  • In Hinblick nun auf 2, ist eine Ausführungsform eines geschichteten Protokollstapels 200 einer Zwischenverbindung mit Zeitversatzvalidierung dargestellt. In einer Ausführungsform ist der geschichtete Protokollstapel 200 der Protokollstapel 120 der anfragenden Komponente 105 von 1. In einer anderen Ausführungsform ist der geschichtete Protokollstapel 200 der Protokollstapel 130 der antwortenden Komponente 110 von 1. Der geschichtete Protokollstapel 200 enthält jede Form eines geschichteten Kommunikationsstapels, wie einen Quick Path Interconnect (QPI)-Stapel, einen PCIe®-Stapel, einen Hochleistungsrechenverbindungsstapel der nächsten Generation oder andere geschichtete Stapel. Obwohl sich Teile der Diskussion unter Bezugnahme auf 1-3 auf einen PCIe®-Stapel beziehen, können dieselben Konzepte bei anderen Verbindungsstapeln angewendet werden. In einer Ausführungsform ist der Protokollstapel 200 ein PCIe®-Protokollstapel, der eine Transaktionsschicht 205, Link-Schicht 210 und physische Schicht 220 enthält. Eine Schnittstelle, wie Schnittstellen 317, 318, 321, 322, 326 und 331 in 3, kann als Kommunikationsprotokollstapel 200 dargestellt sein. Die Darstellung als Kommunikationsprotokollstapel kann auch als Modul oder ein eine Schnittstelle implementierender/enthaltender Protokollstapel bezeichnet werden.
  • PCIe® verwendet Pakete (z.B. TLPs enthaltend PTM-Anfrage, PTM-Antwort, PTM-AntwortD und so weiter; und DLLPs (Datenlinkschichtpakete) wie ACKs und NAKs) zur Übermittlung von Informationen zwischen Komponenten. TLPs sind in der Transaktionsschicht 205 gebildet und DLLPs sind in der Datenlinkschicht 210 gebildet, um die Informationen von der übertragenden Komponente zur empfangenden Komponente zu leiten. Während die übertragenen Pakete durch die anderen Schichten strömen, werden sie mit zusätzlichen Informationen erweitert, die notwendig sind, um Pakete in diesen Schichten handzuhaben. An der Empfangsseite erfolgt der umgekehrte Prozess und Pakete werden von ihrer Darstellung in der physischen Schicht 220 zur Darstellung in der Datenlinkschicht 210 und letztendlich (für Transaktionsschichtpakete) in die Form umgeformt, die durch die Transaktionsschicht 205 der empfangenden Vorrichtung verarbeitet werden kann.
  • In einer Ausführungsform soll die Transaktionsschicht 205 eine Schnittstelle zwischen einem Verarbeitungskern einer Vorrichtung und der Verbindungsarchitektur, wie Datenlinkschicht 210 und physischer Schicht 220, vorsehen. In dieser Hinsicht ist eine primäre Verantwortlichkeit der Transaktionsschicht 205 das Zusammenstellen und Zerlegen von Paketen (d.h. Transaktionsschichtpakete oder TLPs). Die Transaktionsschicht 205 managt typischerweise eine auf Credit basierende Strömungssteuerung für TLPs. PCIe® implementiert geteilte Transaktionen, d.h. Transaktionen mit zeitlicher getrennter Anfrage und Antwort, wodurch ein Link anderen Verkehr führen kann, während die Zielvorrichtung Daten für die Antwort sammelt.
  • Zusätzlich nutzt PCIe® eine auf Credit basierende Strömungssteuerung. In diesem Schema inseriert eine Vorrichtung eine anfängliche Credit-Menge für jeden der Empfangspuffer in der Transaktionsschicht 205. Eine externe Vorrichtung am gegenüberliegenden Ende des Links (z.B. Steuerungs-Hub 315) zählt die Zahl von Credits, die jedes TLP verbraucht. Eine Transaktion kann übertragen werden, wenn die Transaktion einen Credit-Grenzwert nicht übersteigt. Credits werden wiederhergestellt, wenn die Transaktionsschicht 205 ein TLP empfängt, das TLP verarbeitet und die Link-Schicht 210 anweist, ein Strömungssteuerungsaktualisierungs- (FCU) DLLP zu übertragen, das angibt, wie viele Credits freigegeben wurden. Ein Vorteil eines Credit-Schemas ist, dass die Latenz einer Credit-Rückgabe die Leistung nicht beeinträchtigt, vorausgesetzt, der Credit-Grenzwert wird nicht erreicht.
  • In einer Ausführungsform enthalten vier Transaktionsadressenräume einen Konfigurationsadressenraum, einen Speicheradressenraum, einen Eingang/Ausgang-Adressenraum und eine Nachrichtenadressenraum. Speicherraumtransaktionen enthalten eine oder mehr Leseanfragen und Schreibanfragen zum Überführen von Daten zu/von einer auf den Speicher abgebildeten Stelle. In einer Ausführungsform sind Speicherraumtransaktionen imstande, zwei verschiedene Adressenformate zu verwenden, z.B. ein kurzes Adressenformat, wie eine 32-Bit-Adresse, oder ein langes Adressenformat, wie eine 64-Bit-Adresse. Konfigurationsraumtransaktionen werden für einen Zugriff auf einen Konfigurationsraum der PCIe®-Vorrichtungen verwendet. Transaktionen zum Konfigurationsraum enthalten Leseanfragen und Schreibanfragen. Nachrichtenraumtransaktionen (oder einfach Nachrichten) sind zur Unterstützung einer bandinternen Kommunikation zwischen PCIe®-Agenten definiert.
  • Daher stellt in einer einzigen Ausführungsform die Transaktionsschicht 205 Paket-Header/Nutzlast 206 zusammen. Das Format für aktuelle Paket-Header/Nutzlasten findet sich in der PCIe®-Spezifikation auf der PCIe® Spezifikation-Website.
  • Die Linkschicht 210, auch als Datenlinkschicht 210 bezeichnet, dient als Zwischenstufe zwischen Transaktionsschicht 205 und der physischen Schicht 220. In einer Ausführungsform ist eine Verantwortlichkeit der Datenlinkschicht 210 ein Vorsehen eines zuverlässigen Mechanismus zum Austauschen von Transaktionsschichtpaketen (TLPs) zwischen zwei Komponenten eines Links. Eine Seite der Datenlinkschicht 210 akzeptiert TLPs, die durch die Transaktionsschicht 205 zusammengestellt wurden, wendet einen Paketabfolge-Identifikator 211, d.h. eine Identifizierungsnummer oder Paketnummer, an, berechnet und wendet einen Fehlererfassungscode, d.h. CRC 212, an und legt die modifizierten TLPs der physischen Schicht 220 zur Übertragung über eine physische zu einer externen Vorrichtung vor.
  • In einer Ausführungsform enthält die physische Schicht 220 einen logischen Teilblock 221 und elektrischen Teilblock 222 zum physischen Übertragen eines Pakets zu einer externen Vorrichtung. Hier ist der logische Teilblock 221 für die „digitale“ Funktion der physischen Schicht 220 verantwortlich. In dieser Hinsicht enthält der logische Teilblock einen Übertragungssektor zur Vorbereitung ausgehender Informationen zur Übertragung durch den elektrischen Teilblock 222 und einen Empfangssektor zum Identifizieren und Vorbereiten empfangener Informationen, bevor diese zur Linkschicht 210 geleitet werden.
  • Der elektrische Teilblock 222 enthält einen Sender und einen Empfänger (z.B. Übertragungslogik 106 und Empfangslogik 107, Empfangslogik 111 und Übertragungslogik und so weiter). Der Sender wird durch den logischen Teilblock 221 mit Symbolen versorgt, die der Sender serialisiert und zu einer externen Vorrichtung, wie Komponente 204, überträgt. In einer Ausführungsform ist die Komponente 202 eine anfragende Komponente 105 und die Komponente 204 ist eine antwortende Komponente 110. In einer anderen Ausführungsform ist die Komponente 202 eine antwortende Komponente 110 und die Komponente 204 ist eine anfragende Komponente 105. Der Empfänger wird mit serialisierten Symbolen von einer externen Vorrichtung versorgt und formt die empfangenen Signale in einen Bit-Strom um. Der Bit-Strom wird deserialisiert und dem logischen Teilblock 221 zugeleitet. In einer Ausführungsform wird ein 8b/10b-Übertragungscode verwendet, wo Zehn-Bit-Symbole übertragen/empfangen werden. In einer anderen Ausführungsform wird ein 128b/130b-Übertragungscode verwendet. Hier werden spezielle Symbole verwendet, um ein Paket mit Frames 223 zu framen. Zusätzlich sieht in einem Beispiel der Empfänger auch einen Symboltakt vor, der aus dem eingehenden seriellen Strom gewonnen wird.
  • In einer Ausführungsform zeigt 2 eine anfragende Komponente 105. Die Transaktionsschicht 205 generiert eine PTM-Anfrage, die die Transaktionsschicht 205 zur Linkschicht 210 überträgt. Die Linkschicht 210 überträgt die PTM-Anfrage zur physischen Schicht 220, die die PTM-Anfrage durch die Übertragungslogik 106 im elektrischen Teilblock 222 über Link 115 überträgt. Die Empfangslogik 107 der anfragenden Komponente 105 empfängt eine PTM-Antwort/AntwortD im elektrischen Teilblock 222 der physischen Schicht 220 über Link 115. Die physische Schicht 220 überträgt die PTM-Antwort/AntwortD zur Linkschicht 210, die die PTM-Antwort/AntwortD zur Transaktionsschicht 205 überträgt. Die Transaktionsschicht 205 decodiert die PTM-Antwort/AntwortD, die einen PTM-Dialog vollendet. Die Vollendung eines PTM-Dialogs ist eine der Bedingungen, die der anfragenden Komponente 105 erlaubt, eine neue PTM-Anfrage zu senden.
  • In einer anderen Ausführungsform generiert die anfragende Komponente 105, über Linkschicht 210, eine ACK, die Linkschicht 210 überträgt die ACK zur physischen Schicht 220 und die physische Schicht 220 überträgt die ACK über Link 115 zur antwortenden Komponente 110. Die Linkschicht 210 kann eine ACK auf Basis der PTM-Antwort/AntwortD generieren, die eine korrekte zyklische Redundanzprüfung (CRC) und Sequenznummer hat. In einer anderen Ausführungsform empfängt die anfragende Komponente 105 eine ACK in Antwort auf ein Übertragen einer PTM-Anfrage.
  • In einer anderen Ausführungsform decodiert die Transaktionsschicht 205 die PTM-Antwort/AntwortD, wonach die Transaktionsschicht 205 eine andere PTM-Anfrage generieren kann, um diese zur physischen Schicht 220 zu übertragen, und die physische Schicht diese über Link 115 übertragen kann.
  • Die anfragende Komponente 105 kann über die Linkschicht 210 eine Neuübertragung einer PTM-Anfrage in einer zweiten Instanz oder Neuübertragung einer PTM-Antwort/AntwortD in einer zweiten Instanz erfassen. Die anfragende Komponente 105 kann über die Transaktionsschicht 205 oder Linkschicht 210 den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf ein Erfassen der Neuübertragung auf ungültig setzen. Die anfragende Komponente 105 kann über die Transaktionsschicht 205 oder Linkschicht 210, die erfolgreiche Vollendung zwei aufeinanderfolgender PTM-Dialoge über die physische Schicht 220 erfassen. Die anfragende Komponente 105 kann über die Transaktionsschicht 205 oder Linkschicht 210 den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf ein Erfassen der zwei aufeinanderfolgenden erfolgreichen PTM-Dialoge auf gültig setzen.
  • In einer anderen Ausführungsform zeigt 2 eine antwortende Komponente 110. Die antwortende Komponente 110 kann eine PTM-Anfrage über die Empfangslogik 111 im elektrischen Teilblock 222 der physischen Schicht 220 empfangen. Die physische Schicht 220 kann die PTM-Anfrage zur Linkschicht 210 übertragen, die dann die PTM-Anfrage zur Transaktionsschicht 220 überträgt. Die Transaktionsschicht 220 kann die PTM-Anfrage decodieren und eine PTM-Antwort/AntwortD generieren, um sie zur Linkschicht 210 zu übertragen, die zur physischen Schicht 220 überträgt. Die Übertragungslogik 112 des elektrischen Teilblocks 222 der physischen Schicht 220 kann die PTM-Antwort/AntwortD über Link 115 zur anfragenden Komponente 105 übertragen. In einer anderen Ausführungsform kann die antwortende Komponente 110 eine ACK über Link 115 zur anfragenden Komponente 105 übertragen. In einer anderen Komponente kann die antwortende Komponente 110 eine PTM-Anfrage in der Transaktionsschicht 205 decodieren und eine PTM-Antwort/AntwortD in der Transaktionsschicht 205 und eine ACK in der Linkschicht 210 generieren, um diese zur physischen Schicht 220 zu übertragen, die über Link 115 überträgt.
  • Die antwortende Komponente 110 kann über die Linkschicht 210 oder die Transaktionsschicht 205 eine Neuübertragung einer PTM-Nachricht (z.B. Neuübertragung einer PTM-Anfrage in einer zweiten Instanz, Neuübertragung einer PTM-Antwort/AntwortD in einer zweiten Instanz) erfassen. Die antwortende Komponente 110 kann über die Transaktionsschicht 205 oder die Linkschicht 210 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf ein Erfassen der Neuübertragung auf ungültig setzen. Die antwortende Komponente 110 kann eine PTM-Antwort ohne Datennutzlast in Antwort auf einen Empfang einer PTM-Anfrage generieren, wenn der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt ist.
  • Die antwortende Komponente 110 kann über die Transaktionsschicht 205 oder die Linkschicht 210 eine Vollendung von zwei aufeinanderfolgenden PTM-Dialogen über die physische Schicht 220 erfassen. Die antwortende Komponente 110 kann über die Transaktionsschicht 205 oder die Linkschicht 210 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf ein Erfassen der zwei aufeinanderfolgenden erfolgreichen PTM-Dialoge auf gültig setzen.
  • Wie oben angegeben, obwohl die Transaktionsschicht 205, Linkschicht 210, und physische Schicht 220 unter Bezugnahme auf eine spezifische Ausführungsform eines PCIe®-Protokollstapels besprochen sind, ist ein geschichteter Protokollstapel nicht darauf beschränkt. Tatsächlich kann jedes geschichtete Protokoll enthalten/implementiert sein. Als ein Beispiel enthält ein Port/eine Schnittstelle, dargestellt als ein geschichtetes Protokoll: (1) eine erste Schicht zum Zusammenstellen von Paketen, d.h. eine Transaktionsschicht; eine zweite Schicht, zum Reihen von Paketen, d.h. eine Linkschicht; und eine dritte Schicht zum Übertragen der Pakete, d.h. eine physische Schicht. Als ein spezifisches Beispiel wird ein geschichtetes Protokoll für eine gemeinsame Standardschnittstelle (CSI) verwendet.
  • Unter Bezugnahme auf 3 ist eine Ausführungsform eines Computersystems 300 mit mehreren Zwischenverbindungen mit Zeitversatzvalidierungslogik dargestellt. Das System 300 enthält einen Prozessor 305 und einen Systemspeicher 310, der an den Steuerungs-Hub 315 gekoppelt ist. Der Prozessor 305 enthält jedes Verarbeitungselement, wie einen Mikroprozessor, einen Host-Prozessor, einen eingebetteten Prozessor, einen Co-Prozessor oder einen anderen Prozessor. Der Prozessor 305 ist durch einen Frontseiten-Bus (FSB) 306 an einen Steuerungs-Hub 315 gekoppelt. In einer Ausführungsform ist der FSB 306 eine serielle Punkt-zu-Punkt-Verbindung, wie unten beschrieben. In einer anderen Ausführungsform enthält der Link 306 eine serielle, differentielle Verbindungsarchitektur, die mit einem unterschiedlichen Verbindungsstandard konform ist.
  • Der Systemspeicher 310 enthält jede Speichervorrichtung, wie einen Direktzugriffspeicher (RAM), nicht flüchtigen (NV) Speicher oder einen anderen Speicher, auf den Vorrichtungen im System 300 zugreifen können. Der Systemspeicher 310 ist an den Steuerungs-Hub 315 durch eine Speicherschnittstelle 316 gekoppelt. Beispiele für eine Speicherschnittstelle enthalten eine Doppel-Datenraten- (DDR) Speicherschnittstelle, eine Dual-Kanal-, DDR-Speicherschnittstelle und eine dynamische RAM- (DRAM) Speicherschnittstelle.
  • In einer Ausführungsform ist der Steuerungs-Hub 315 ein Root-Hub, Root-Komplex oder eine Root-Steuerung in einer PCIe®-Verbindungshierarchie. Beispiele für einen Steuerungs-Hub 315 enthalten einen Chipset, einen Speichersteuerungs-Hub (MCH), eine Northbridge, einen Verbindungssteuerungs-Hub (ICH), eine Southbridge und einen Root-Steuerung/Hub. Häufig bezieht sich der Begriff Chipset auf zwei physisch getrennte Steuerungs-Hubs, d.h. einen Speichersteuerungs-Hub (MCH), der an einen Verbindungssteuerungs-Hub (ICH) gekoppelt ist. Es ist zu beachten, dass aktuelle Systeme häufig den MCH mit Prozessor 305 integriert enthalten, während die Steuerung 315 auf ähnliche Weise mit I/O-Vorrichtungen kommunizieren soll, wie unten beschrieben. In einigen Ausführungsformen ist ein Peer-zu-Peer-Routing optional durch den Root-Komplex 315 unterstützt.
  • Hier ist der Steuerungs-Hub 315 an den Schalter/die Brücke 320 durch einen seriellen Link 319 gekoppelt. Eingangs-/Ausgangsmodule 317 und 321, die auch als Schnittstellen/Ports 317 und 321 bezeichnet werden können, enthalten/implementieren einen geschichteten Protokollstapel zum Vorsehen einer Kommunikation zwischen Steuerungs-Hub 315 und Schalter 320. In einer Ausführungsform sind mehrere Vorrichtungen imstande, an den Schalter 320 gekoppelt zu sein.
  • Der Schalter/die Brücke 320 leitet Pakete/Nachrichten von der Vorrichtung 325 stromaufwärts, d.h. eine Hierarchie nach oben zu einem Root-Komplex, zum Steuerungs-Hub 315 und stromabwärts, d.h. eine Hierarchie von einer Root-Steuerung weg nach unten, vom Prozessor 305 oder Systemspeicher 310 zur Vorrichtung 325. Der Schalter 320 wird in einer einzigen Ausführungsform als eine logische Baugruppe von mehreren virtuellen PCI-zu-PCI-Brückenvorrichtungen bezeichnet. Die Vorrichtung 325 enthält eine interne oder externe Vorrichtung oder Komponente, die an ein elektronisches System gekoppelt ist, wie eine I/O-Vorrichtung, einen Network Interface Controller (NIC), eine Erweiterungskarte, einen Audioprozessor, einen Netzwerkprozessor, ein Festplattenlaufwerk, eine Datenspeichervorrichtung, einen CD/DVD ROM, einen Monitor, einen Drucker, eine Maus, eine Tastatur, einen Router, eine tragbare Datenspeichervorrichtung, eine Firewire-Vorrichtung, eine Universal Serial Bus (USB)-Vorrichtung, einen Scanner und andere Eingang/Ausgang-Vorrichtungen. Häufig wird in der PCIe®-Ausdrucksweise eine solche Vorrichtung als Endpunkt bezeichnet. Obwohl nicht im Speziellen dargestellt, kann die Vorrichtung 325 eine PCIe®-zu- PCI/PCI-X-Brücke enthalten, um Legacy- oder eine andere Version von PCI-Vorrichtungen zu unterstützen. Endpunktvorrichtungen in PCIe® sind häufig als Legacy, PCIe® oder Root-Komplex integrierte Endpunkte klassifiziert.
  • Ein Grafikbeschleuniger 330 ist durch einen seriellen Link 332 auch an den Steuerungs-Hub 315 gekoppelt. In einer Ausführungsform ist der Grafikbeschleuniger 330 an einen MCH gekoppelt, der an einen ICH gekoppelt ist. Der Schalter 320 und daher die I/O-Vorrichtung 325, wird dann an den ICH gekoppelt. I/O-Module 331 und 318 sollen auch einen geschichteten Protokollstapel implementieren, um zwischen Grafikbeschleuniger 330 und Steuerungs-Hub 315 zu kommunizieren. Ähnlich der obenstehenden MCH-Besprechung kann eine Grafiksteuerung oder der Grafikbeschleuniger 330 im Prozessor 305 integriert sein.
  • Die I/O-Vorrichtung 325 enthält eine Schnittstelle 326 und ein Schalter/eine Brücke 320 enthält eine Schnittstelle 322. Die Schnittstelle 326 ist über einen seriellen Link 323 an Schnittstelle 322 gekoppelt. Der Schalter/die Brücke 320 kann in der Hierarchie höher sein als die I/O-Vorrichtung 325 und der Schalter/die Brücke 320 kann (direkten oder indirekten) Zugang zu Masterinformationen (z.B. PTM-Masterzeit) haben. Die I/O-Vorrichtung 325 kann Zugang zu lokalen Informationen (z.B. lokaler Zeit) haben. Die Schnittstelle 326 oder I/O-Vorrichtung 325 kann anfragende Komponenten 105 enthalten. Der Schalter/die Brücke 320 oder die Schnittstelle 322 kann antwortende Komponenten 105 enthalten. Der Steuerungs-Hub 315 oder die Schnittstelle 317 kann antwortende Komponenten 105 enthalten. Die Schnittstelle 321 auf Schalter 320 kann eine anfragende Komponente enthalten. Die I/O-Vorrichtung kann Zeitsteuerungsprotokollanfragen (z.B. PTM-Anfragen) über Schnittstelle 326 zum Schalter/zur Brücke 320 senden, der/die die PTM-Anfragen über Schnittstelle 322 empfängt. Der Schalter/die Brücke 320 sendet eine Zeitsteuerungsprotokollantwort (z.B. PTM-Antwort/AntwortD) in Antwort auf eine Zeitsteuerungsprotokollanfrage über einen seriellen Link 323 über die Schnittstelle 322 zur I/O-Vorrichtung 325, die die Zeitsteuerungsprotokollantwort über die Schnittstelle 326 empfängt. Die I/O-Vorrichtung 325 und der Schalter/die Brücke 320 können eine ACK oder NAK in Antwort auf jede empfangene Zeitsteuerungsprotokollnachricht (z.B. PTM-Antwort, PTM-AntwortD, PTM-Anfrage) senden.
  • Eine ACK kann als korrumpiert beobachtet werden oder kann nicht durch die I/O-Vorrichtung 325 oder den Schalter/die Brücke 320 empfangen werden. In Antwort auf einen Empfang einer NAK oder Empfang einer ACK, die nicht als korrumpiert beobachtet wird, die nicht vor einem entsprechenden Zeitlimit empfangen wird, kann die I/O-Vorrichtung 325 oder der Schalter/die Brücke 320 die Zeitsteuerungsprotokollnachricht erneut übertragen. Die I/O-Vorrichtung 325 kann den internen Zeitsteuerungszustand der I/O-Vorrichtung 325 in Antwort auf ein Erfassen der Neuübertragung einer Zeitsteuerungsprotokollnachricht auf ungültig setzen, bis die I/O-Vorrichtung 325 den internen Zeitsteuerungszustand der I/O-Vorrichtung 325 in Antwort darauf, dass die I/O-Vorrichtung 325 erfolgreich zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge (z.B. zwei erfolgreiche PTM-Dialoge) beendet und das zweite Zeitsteuerungsprotokolldialog eine Datennutzlast enthält (z.B. der zweite PTM-Dialog enthält eine PTM-AntwortD) auf gültig setzen. Der Schalter/die Brücke 320 kann den internen Zeitsteuerungszustand des Schalters/der Brücke 320 in Antwort auf ein Erfassen der Neuübertragung einer PTM-Nachricht auf ungültig setzen, bis der Schalter/die Brücke 320 den internen Zeitsteuerungszustand des Schalters/der Brücke 320 in Antwort darauf, dass der Schalter/die Brücke 320 erfolgreich zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge vollendet, auf gültig setzt. Der Schalter/die Brücke 320 kann Zeitsteuerungsprotokollantworten ohne Datennutzlast übertragen, während der interne Zeitsteuerungszustand des Schalters/der Brücke 320 ungültig ist.
  • In einer Ausführungsform können drahtlose Engines kurzer Reichweite, enthaltend eine WLAN-Einheit und eine Bluetooth®-Einheit, an den Prozessor 305 über eine Verbindung gemäß einem PCIe®-Protokoll, z.B. gemäß der PCI Express® Specification Base Specification Version 3.0 (veröffentlicht am 17. Januar 2007) oder ein anderes derartiges Protokoll, wie einen seriellen Dateneingang/-ausgang- (SDIO) Standard koppeln. Natürlich kann die tatsächliche physische Verbindung zwischen diesen peripheren Vorrichtungen, die auf einer oder mehreren Erweiterungskarten konfiguriert sein kann, mittels der NGFF-Steckverbinder erfolgen, die an eine Hauptplatine angepasst sind. Unter Verwendung der WLAN-Einheit, können Wi-Fi® Kommunikationen gemäß einem bestimmten Institute of Electrical and Electronics Engineers (IEEE) 802.11 Standard ausgeführt werden, während über eine Einheit, die Bluetooth®-Technologie verwendet, Kommunikationen kurzer Reichweite über ein Bluetooth®-Protokoll erfolgen können. In einer anderen Ausführungsform können diese Einheiten mit einem Prozessor 305 über z.B. einen USB-Link oder einen universellen asynchronen Empfänger-Sender- (UART) Link kommunizieren.
  • 4a zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente 105 und der antwortenden Komponente 110 gemäß einer Ausführungsform.
  • Die Punkte t1, t2, t3 und t4 stellen Zeitstempel dar, die lokal durch jede Komponente (z.B. die antwortende Komponente 110, anfragende Komponente 105) aufgenommen werden, während die Komponente PTM-Nachrichten überträgt und empfängt. Die Komponente kann die Zeitstempel aus einem ersten PTM-Dialog in internen Registern zur Verwendung in einen zweiten PTM-Dialog und so weiter für anschließende PTM-Dialoge speichern.
  • Die anfragende Komponente 105 überträgt eine PTM-Anfrage 402 in einer ersten Instanz 410. Die PTM-Anfrage 402 enthält den Zeitstempel t1, der lokal durch die anfragende Komponente 105 aufgenommen wurde. Die antwortende Komponente 110 empfängt eine PTM-Anfrage 402 in der ersten Instanz 410 bei t2. Die antwortende Komponente 110 kann direkten (oder indirekten) Zugang zur PTM-Masterzeit haben. Die antwortende Komponente 110 sendet eine PTM-Antwort/AntwortD 430, die den Zeitstempel t2 enthält. Die Zeit 440 zum Generieren der PTM-Antwort/D 430 kann t3 minus t2 sein, wie während eines vorherigen PTM-Dialogs aufgezeichnet (z.B. die Zeit die die PCIe®-SIP Steuerung benötigt, um eine PTM-Antwort zu generieren, weniger als 5 Mikrosekunden). Die anfragende Komponente 105 kann die PTM-Antwort/D bei t4 empfangen.
  • PTM-Anfrage- und PTM-Antwortnachrichten können einen TLP-Typ von Msg enthalten und können keine Datennutzlast enthalten. PTM-AntwortD-Nachrichten können einen TLP-Typ von MsgD enthalten und können ein 64 Bit PTM-Masterzeitfeld in Bytes 8 bis 15 des TLP-Headers und eine 1 DW Datennutzlast, die das 32 Bit Ausbreitungsverzögerungsfeld beinhaltet, enthalten. Wie in dieser Offenbarung verwendet, kann sich der Begriff „PTM-Antwort‟ auf eine PTM-Antwort mit einer Datennutzlast (PTM- AntwortD) oder eine PTM-Antwort ohne Datennutzlast (PTM-Antwort) beziehen, falls nicht näher beschrieben (z.B. falls nicht als „PTM-Antwort ohne Datennutzlast“, „PTM-Antwort mit Datennutzlast“ und so weiter beschrieben).
  • Eine antwortende Komponente 110 kann eine PTM-Antwort ohne Datennutzlast (z.B. ohne historische Zeitstempel, ohne PTM-Masterzeit beim Empfang der jüngsten PTM-Anfrage und so weiter) übertragen, wenn die antwortende Komponente 110 keine historischen Zeitstempel hat, mit welchen eine PTM-Anfrage zu erfüllen ist. Die antwortende Komponente 110 kann eine PTM-AntwortD übertragen, wenn die antwortende Komponente 110 gespeicherte Kopien von Werten hat, die zum Bestücken der PTM-Antwort-Nachricht erforderlich sind (z.B. historische Zeitstempel (t3-t2 wie während eines vorherigen PTM-Dialogs aufgezeichnet), PTM-Masterzeit beim Empfang der jüngsten PTM-Anfrage-Nachricht (t2 des aktuellen PTM-Dialogs)).
  • Die anfragende Komponente 105 kann keine ACK 420 von der antwortenden Komponente 110 in Antwort darauf empfangen, dass die antwortende Komponente 110 die PTM-Anfrage 402 empfängt. In einer Ausführungsform sendet die antwortende Komponente 110 keine ACK 420. In einer anderen Ausführungsform sendet die antwortende Komponente 110 eine ACK 420,die als korrumpiert beobachtet wird, vor Empfang durch die anfragende Komponente 105. In einer anderen Ausführungsform sendet die antwortende Komponente 110 eine ACK 420, aber die anfragende Komponente empfängt die ACK 420 nicht vor Ablauf eines entsprechenden Zeitlimits. In einer anderen Ausführungsform empfängt die anfragende Komponente 105 eine NAK von der antwortenden Komponente 110 anstelle einer ACK.
  • In einer Ausführungsform, falls die anfragende Komponente 105 keine ACK vor Verstreichen des Wiederholungszeitgeberlimits 442 empfängt (z.B. bevor ein entsprechendes Zeitlimit abläuft), muss die anfragende Komponente 105 eine PTM-Anfrage erneut übertragen. Das Wiederholungszeitlimit kann etwa 4992 Nanosekunden oder etwa 5 Mikrosekunden sein. In Antwort darauf, dass die anfragende Komponente 105 keine ACK 420 empfängt, die nicht als korrumpiert angesehen wird, bevor ein Wiederholungszeitgeberlimit 442 abläuft (z.B. eine NAK empfängt, eine ACK empfängt, die als korrumpiert beobachtet wird, und so weiter), kann die anfragende Komponente 105 die PTM-Anfrage 402 in einer zweiten Instanz 403 mit Zeitstempel t1' erneut übertragen. In Antwort darauf, dass die anfragende Komponente 105 eine NAK empfängt, die die PTM-Anfrage 402 nicht implizit oder explizit bestätigt, kann die anfragende Komponente 105 die PTM-Anfrage 402 in einer zweiten Instanz 403 mit einem Zeitstempel t1' erneut übertragen.
  • Die antwortende Komponente 110 kann eine PTM-Anfrage 402 in einer zweiten Instanz 412 bei t2' empfangen. Die PTM-Anfrage 402 in der zweiten Instanz 412, als ein neuübertragenes TLP, beinhaltet eine Sequenz-ID, die mit einer bereits vollendeten Transaktion übereinstimmt. Die PTM-Anfrage 402 in der zweiten Instanz 412 kann die antwortende Komponente 110 veranlassen, den Zeitstempel, der bei t2 aufgenommen wurde, mit dem Wert zu überschreiben, der bei t2' aufgenommen wurde. Die PTM-Anfrage 402 in der zweiten Instanz 412 kann die anfragende Komponente 105 veranlassen, den Zeitstempel, der bei t1 aufgenommen wurde, mit dem Wert zu überschreiben, der bei t1' aufgenommen wurde.
  • Da die anfragende Komponente 105 eine PTM-Anfrage 402 bei t1 und t1' gesendet hat und die antwortende Komponente 110 die PTM-Anfrage 402 bei t2 und t2' empfängt, können die anfragende Komponente 105 und die antwortende Komponente 110 nun fehlsynchronisiert sein und es kann sich ein Zeitsteuerungsfehler ergeben.
  • 4b zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente 105 und der antwortenden Komponente 110 gemäß einer anderen Ausführungsform.
  • Die anfragende Komponente 105 überträgt eine PTM-Anfrage 402, die den Zeitstempel t1 enthält, der lokal durch die anfragende Komponente 105 aufgenommen wird. Die antwortende Komponente 110 empfängt die PTM-Anfrage 402 bei t2 und die antwortenden Komponente 110 überträgt eine PTM-Antwort/AntwortD 430 in einer ersten Instanz 414 mit einem Zeitstempel t2, die die anfragende Komponente 105 bei t4 empfängt. Die antwortende Komponente 110 kann auch eine ACK 420 senden, die die anfragende Komponente 105 empfängt. Die antwortende Komponente 110 kann keine ACK 422 von der anfragenden Komponente 105 in Antwort darauf empfangen, dass die anfragende Komponente 105 die PTM-Antwort/D 430 in einer ersten Instanz 414 empfängt. In einer Ausführungsform sendet die anfragende Komponente 105 keine ACK 422. In einer anderen Ausführungsform sendet die anfragende Komponente 105 eine ACK 422, die vor einem Empfang durch die antwortende Komponente 110 als korrumpiert beobachtet wird. In einer anderen Ausführungsform sendet die anfragende Komponente 105 eine ACK 422, aber die antwortende Komponente 110 empfängt keine ACK 422 vor Ablauf eines entsprechenden Zeitlimits (z.B. Wiederholungszeitlimit 444). In einer anderen Ausführungsform sendet die anfragende Komponente 105 eine NAK anstelle einer ACK zur antwortenden Komponente 110.
  • In Antwort darauf, dass die antwortende Komponente 110 vor Ablauf eines entsprechenden Zeitlimits keine ACK 422 empfängt, die nicht als korrumpiert beobachtet wird, (z.B. Empfang einer NAK, Empfang einer ACK, die als korrumpiert beobachtet wird, und so weiter), kann die antwortende Komponente 110 eine PTM-Antwort/AntwortD 430 in einer zweiten Instanz 416 zum Zeitpunkt t3' erneut übertragen. Die anfragende Komponente 105 kann eine ACK 424 in Antwort darauf senden, dass die anfragende Komponente 105 die PTM-Antwort/D 430 in einer zweiten Instanz 416 zum Zeitpunkt t4' empfängt.
  • Da die antwortende Komponente 110 eine PTM-Antwort/AntwortD 430 mit Zeitstempeln t3 und t3' (z.B. Neuübertragung oder Wiederholung einer PTM-Antwort) gesendet hat und die anfragende Komponente 105 die PTM-Antwort/AntwortD 430 bei Zeitstempeln t4 und t4' empfängt, können die anfragende Komponente 105 und die antwortende Komponente 110 nun fehlsynchronisiert sein und es kann ein Zeitsteuerungsfehler resultieren.
  • 5a ist ein Ablaufdiagramm eines Verfahrens 500 einer Zeitversatzvalidierung der anfragenden Komponente 105 gemäß einer Ausführungsform. Das Verfahren 500 kann durch Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Schaltkreis, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software (wie Anweisungen, die auf einem Prozessor einem Allzweck-Computersystem oder einer dedizierten Engine laufen), Firmware, Mikrocode oder eine Kombination davon enthält. In einer Ausführungsform kann das Verfahren 500 teilweise durch den Prozessor 305 durchgeführt werden, der oben in Bezug 3 auf beschrieben ist.
  • Der einfachen Erklärung wegen ist das Verfahren 500 als eine Reihe von Vorgängen dargestellt und beschrieben. Vorgänge gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen Vorgängen erfolgen, die hier nicht dargestellt und beschrieben sind. Überdies können nicht alle dargestellten Vorgänge durchgeführt werden, um das Verfahren 500 gemäß dem offenbarten Gegenstand zu implementieren. Zusätzlich werden Fachleute auf dem Gebiet verstehen und erkennen, dass das Verfahren 500 alternativ als eine Reihe von miteinander zusammenhängenden Zuständen durch ein Zustandsdiagramm oder Ereignisse dargestellt werden könnte.
  • Unter Bezugnahme auf 5a überträgt die Verarbeitungslogik bei 502, über die Übertragungslogik 106 einer anfragenden Komponente 105, Zeitsteuerungsprotokollanfragen (z.B. Precision Timing Measurement (PTM)-Anfragen) über einen Link 115 zu einer antwortenden Komponente 110.
  • In Block 504 erfasst die Verarbeitungslogik, über die Wiederholungserfassungslogik 122, eine Neuübertragung einer Zeitsteuerungsprotokollnachricht (z.B. einer PTM-Nachricht). In einer Ausführungsform ist die Neuübertragung eine Neuübertragung einer PTM-Anfrage zur antwortenden Komponente 110 über die Übertragungslogik 106. In einer anderen Ausführungsform ist die Neuübertragung eine Neuübertragung einer PTM-Antwort mit einer Datennutzlast (z.B. die PTM-AntwortD) von der antwortenden Komponente 110, die über die Empfangslogik 107 empfangen wird. In einer anderen Ausführungsform ist die Neuübertragung eine Neuübertragung einer PTM-Antwort ohne Datennutzlast von der antwortenden Komponente 110, die über die Empfangslogik 107 empfangen wird.
  • In Block 506 setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung auf ungültig. Der Ablauf kehrt zu Block 506 zurück, sobald die anfragende Komponente 105 eine Neuübertragung von der anfragenden Komponente 105 oder der antwortenden Komponente 110 erfasst. In einer Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung der PTM-Anfrage zur antwortenden Komponente 110 auf ungültig. Die anfragende Komponente kann Datennutzlasten von Zeitsteuerungsprotokollantworten (z.B. die PTM-Antworten) ignorieren, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokoll (z.B. der PTM-Dialog), das keine Fehler oder Neuübertragungen aufweist, vollendet ist. In einer anderen Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung der PTM-Antwort (z.B. die PTM-Antwort/AntwortD) von der antwortenden Komponente 110 auf ungültig. In einer anderen Ausführungsform setzt die Verarbeitungslogik (z.B. über die Wiederholungserfassungslogik 122) einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf einen Empfang einer PTM-Antwort ohne Datennutzlast von der antwortenden Komponente 110 auf ungültig. In einer anderen Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf eine Fehler auf ungültig.
  • In Block 508 überträgt die Verarbeitungslogik über die Übertragungslogik 106 eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage (z.B. eine erste, nicht erneut übertragene PTM-Anfrage) über den Link 115 zur antwortenden Komponente 110. In einer Ausführungsform gibt es keine dazwischenliegenden PTM-Anfragen, die gesendet wurden, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente 105 auf ungültig gesetzt wurde und vor Übertragung der ersten, nicht erneut übertragenen PTM-Anfrage. In einer anderen Ausführungsform gibt es dazwischenliegende PTM-Anfragen, die gesendet wurden, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente 105 auf ungültig gesetzt wurde und vor Übertragung der ersten, nicht erneut übertragenen PTM-Anfrage. Die dazwischenliegenden PTM-Anfragen können neuübertragene PTM-Anfragen sein.
  • In Block 510 empfängt die Verarbeitungslogik über die Empfangslogik 107 eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort (z.B. eine PTM-Antwort ohne Datennutzlast oder eine PTM-Antwort mit einer Datennutzlast (PTM-AntwortD)) von der antwortenden Komponente 110 in Antwort auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage. In einer Ausführungsform sind die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort ein erster Zeitsteuerungsprotokolldialog (z.B. ein erster PTM-Dialog), der ohne Fehler und Neuübertragungen vollendet wird, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente auf ungültig gesetzt wurde.
  • In Block 512 überträgt die Verarbeitungslogik über die Übertragungslogik 106 einer anfragenden Komponente 105 eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage (z.B. zweite, nicht erneut übertragene PTM-Anfrage) über den Link 115 zur antwortenden Komponente 110. In einer Ausführungsform folgt die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage der ersten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage.
  • In Block 514 empfängt die Verarbeitungslogik über die Empfangslogik 107 eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort (z.B. die PTM-Antwort) von der antwortenden Komponente 110 in Antwort auf die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage. In einer Ausführungsform sind die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort ein zweiter Zeitsteuerungsprotokolldialog (z.B. ein zweiter PTM-Dialog), der ohne Fehler und Neuübertragungen vollendet wird, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente auf ungültig gesetzt wurde. In einer Ausführungsform hat die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort keine Datennutzlast und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort hat eine Datennutzlast (z.B. eine zweite, nicht erneut übertragene PTM-AntwortD).
  • In Block 516 erfasst die Verarbeitungslogik über die Validierungslogik 124 die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge (z.B. zumindest zwei aufeinanderfolgenden PTM-Dialoge). In einer Ausführungsform erfasst die Verarbeitungslogik über die Validierungslogik 124, dass die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ohne Fehler und ohne Neuübertragungen vollendet sind. In einer anderen Ausführungsform erfasst die Verarbeitungslogik über die Validierungslogik 124 die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort.
  • In Block 518 setzt die Verarbeitungslogik über die Validierungslogik 124 den internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig. In einer Ausführungsform setzt die Verarbeitungslogik den internen Zeitsteuerungszustand in Antwort auf einen Empfang, über die Empfangslogik 107, der zumindest zwei aufeinanderfolgenden nicht erneut übertragenen Zeitsteuerungsprotokollantworten auf gültig, wobei die letzte dieser Antworten eine Zeitsteuerungsprotokollantwort mit einer Datennutzlast (z.B. eine PTM-AntwortD) ist. In einer Ausführungsform setzt die Verarbeitungslogik über die Validierungslogik 124 den internen Zeitsteuerungszustand der anfragenden Komponente 105 unter Verwendung der Zeitsteuerungsinformationen in der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort von der antwortenden Komponente 110 auf gültig.
  • 5b ist ein Ablaufdiagramm eines Verfahrens 550 einer Zeitversatzvalidierung der antwortenden Komponente 110 gemäß einer Ausführungsform. Das Verfahren 550 kann durch Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Schaltkreis, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software (wie Anweisungen, die auf einem Prozessor einem Allzweck-Computersystem oder einer dedizierten Engine laufen), Firmware, Mikrocode oder eine Kombination davon enthält. In einer Ausführungsform kann das Verfahren 550 teilweise durch den Prozessor 305 durchgeführt werden, der oben in Bezug auf 3 beschrieben ist.
  • Der einfachen Erklärung wegen ist das Verfahren 550 als eine Reihe von Vorgängen dargestellt und beschrieben. Vorgänge gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen Vorgängen erfolgen, die hier nicht dargestellt und beschrieben sind. Überdies können nicht alle dargestellten Vorgänge durchgeführt werden, um das Verfahren 550 gemäß dem offenbarten Gegenstand zu implementieren. Zusätzlich werden Fachleute auf dem Gebiet verstehen und erkennen, dass das Verfahren 550 alternativ als eine Reihe von miteinander zusammenhängenden Zuständen durch ein Zustandsdiagramm oder Ereignisse dargestellt werden könnte.
  • Unter Bezugnahme auf 5b empfängt in Block 552 die Verarbeitungslogik über die Empfangslogik 111 einer antwortenden Komponente 110 Zeitsteuerungsprotokollanfragen (z.B. die PTM-Anfragen) über einen Link von einer anfragenden Komponente 105.
  • In Block 554 erfasst die Verarbeitungslogik über die Wiederholungserfassungslogik 132 der antwortenden Komponente 110 eine Neuübertragung einer Zeitsteuerungsprotokollnachricht (z.B. die PTM-Nachricht). In einer Ausführungsform ist die Neuübertragung eine Neuübertragung einer PTM-Anfrage von der anfragenden Komponente 105, die über die Empfangslogik 111 empfangen wird. In einer anderen Ausführungsform ist die Neuübertragung der PTM-Nachricht eine Neuübertragung einer PTM-Antwort mit einer Datennutzlast (z.B. die PTM-AntwortD) zur anfragenden Komponente 105 durch die Übertragungslogik 112. In einer anderen Ausführungsform ist die Neuübertragung der PTM-Nachricht eine Neuübertragung einer PTM-Antwort ohne Datennutzlast zur anfragenden Komponente 105 durch die Übertragungslogik 112.
  • In Block 556 setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 132 der antwortenden Komponente 110 einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung auf ungültig. Der Ablauf kehrt zu Block 556 zurück, sobald die anfragende Komponente 105 eine Neuübertragung von der anfragenden Komponente 105 oder der antwortenden Komponente 110 erfasst. In einer Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 132 der antwortenden Komponente 110 einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung einer PTM-Anfrage, die von der anfragenden Komponente 110 empfangen wird, auf ungültig. In einer anderen Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung der PTM-Antwort (z.B. die PTM-Antwort/AntwortD) zur anfragenden Komponente 105 auf ungültig. In einer anderen Ausführungsform setzt die Verarbeitungslogik über die Wiederholungserfassungslogik 122 einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf einen Fehler auf ungültig.
  • In Block 558 empfängt die Verarbeitungslogik eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage (z.B. erste, nicht erneut übertragene PTM-Anfrage) über den Link von der anfragenden Komponente 105. In einer Ausführungsform gibt es keine dazwischenliegende Zeitsteuerungsprotokollanfragen, die empfangen werden, nachdem der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt wurde und bevor die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage empfangen wird. In einer anderen Ausführungsform gibt es dazwischenliegende Zeitsteuerungsprotokollanfragen, die empfangen werden, nachdem der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt wurde und bevor die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage empfangen wird. Die dazwischenliegenden Zeitsteuerungsprotokollanfragen können neuübertragene Zeitsteuerungsprotokollanfragen (z.B. neuübertragene PTM-Anfragen) sein.
  • In Block 560 überträgt die Verarbeitungslogik über die Übertragungslogik 112, eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort (z.B. erste, nicht erneut übertragene PTM-Antwort) ohne Datennutzlast zur anfragenden Komponente 105 in Antwort auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage. In einer Ausführungsform sind die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort ein erster Zeitsteuerungsprotokolldialog (z.B. erster PTM-Dialog), der ohne Fehler und Neuübertragungen vollendet wird, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente auf ungültig gesetzt wurde.
  • In Block 562 empfängt die Verarbeitungslogik eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage (z.B. die PTM-Anfrage) von der anfragenden Komponente 105. In einer Ausführungsform folgt die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage.
  • In Block 564 überträgt die Verarbeitungslogik über die Übertragungslogik 112 eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort mit einer Datennutzlast (z.B. eine PTM-AntwortD) zur anfragenden Komponente 105 in Antwort auf die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage. Die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort sind ein zweiter Zeitsteuerungsprotokolldialog (z.B. zweiter PTM-Dialog), der ohne Fehler und Neuübertragungen vollendet wird, nachdem der interne Zeitsteuerungszustand der anfragenden Komponente auf ungültig gesetzt wurde. Der erste Zeitsteuerungsprotokolldialog und der zweite Zeitsteuerungsprotokolldialog können aufeinanderfolgen. In einer Ausführungsform erfasst die Verarbeitungslogik über die Validierungslogik 134 die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge (z.B. zumindest zwei aufeinanderfolgende PTM-Dialoge) und setzt über die Validierungslogik 134 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig. In einer anderen Ausführungsform setzt die Verarbeitungslogik über die Validierungslogik 134 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ohne Fehler, ohne Neuübertragungen und so weiter auf gültig.
  • 6a zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente 105 und der antwortenden Komponente 110 gemäß einer anderen Ausführungsform.
  • Die anfragende Komponente 105 sendet eine PTM-Anfrage 402 in einer ersten Instanz 410 und die antwortende Komponente 110 überträgt eine PTM-Antwort/AntwortD 430 (z.B. eine PTM-Antwort oder eine PTM-AntwortD, eine PTM-Antwort mit oder ohne Datennutzlast) in Antwort auf einen Empfang der PTM-Anfrage 402 in der ersten Instanz 410. In Antwort darauf, dass die anfragende Komponente 105 keine ACK 420, die nicht als korrumpiert beobachtet wird, vor Ablauf eines entsprechenden Zeitlimits empfängt (z.B. eine NAK empfängt, eine ACK empfängt, die als korrumpiert beobachtet wird, und so weiter) überträgt die anfragende Komponente 105 erneut eine PTM-Anfrage 402 in einer zweiten Instanz 412, die die antwortende Komponente 110 empfängt.
  • In einer Ausführungsform erfasst die anfragende Komponente 105 eine Neuübertragung der PTM-Anfrage 402 in einer zweiten Instanz 412 zur antwortenden Komponente 110. Die anfragende Komponente 105 kann einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung auf ungültig setzen.
  • In Antwort auf den internen Zeitsteuerungszustand der anfragenden Komponente 105, der auf ungültig gesetzt ist, kann die anfragende Komponente 105 PTM-Anfragen (z.B. die PTM-Anfrage 404 und PTM-Anfrage 406) senden, bis zwei PTM-Dialoge fehlerfrei und ohne Neuübertragungen vollendet sind (z.B. überträgt die anfragende Komponente 105 zwei aufeinanderfolgende, nicht erneut übertragene PTM-Anfragen (eine erste, nicht erneut übertragene PTM-Anfrage 404 und eine zweite, nicht erneut übertragene PTM-Anfrage 406) und empfängt eine PTM-Antwort 432 und eine PTM-AntwortD (eine zweite, nicht erneut übertragene PTM-AntwortD 434 in Antwort auf die zweite, nicht erneut übertragene PTM-Anfrage 406)).
  • Die anfragende Komponente 105 kann erfassen, dass die zwei PTM-Dialoge (z.B. die PTM-Anfrage 404 und PTM-Antwort 432, die ein erster PTM-Dialog sind, die PTM-Anfrage 406 und PTM-AntwortD 434, die ein zweiter PTM-Dialog sind) fehlerfrei vollendet wurden (z.B. aufeinanderfolgend, ohne Neuübertragen einer PTM-Nachricht). Die anfragende Komponente 105 kann den internen Zeitsteuerungszustand der anfragenden Komponente 105 unter Verwendung von Zeitsteuerungsinformationen in der zweiten, nicht erneut übertragenen PTM-AntwortD auf gültig setzten.
  • In einer anderen Ausführungsform erfasst die antwortende Komponente die Neuübertragung einer PTM-Anfrage 402 in einer zweiten Instanz 412 von der anfragenden Komponente 105. Die antwortende Komponente 110 kann einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung auf ungültig setzen.
  • In Antwort darauf, dass der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt ist, kann die antwortende Komponente 110 PTM-Antworten (z.B. die PTM-Antwort 432 und PTM-Antwort 434) ohne Datennutzlast (z.B. ohne Zeitstempel, ohne Masteruhrzeit) in Antwort auf PTM-Anfragen, die von der anfragenden Komponente 105 empfangen werden, senden, bis die antwortende Komponente 110 eine zweite, nicht erneut übertragene PTM-Anfrage (z.B. die PTM-Anfrage 406) auf eine erste, nicht erneut übertragene PTM-Anfrage (z.B. die PTM-Anfrage 404) folgend empfängt.
  • Die antwortende Komponente 110 kann erfassen, dass die zwei PTM-Dialoge (z.B. die PTM-Anfrage 404 und PTM-Antwort 432, die ein erster PTM-Dialog sind, PTM-Anfrage 406 und PTM-AntwortD 434, die ein zweiter PTM-Dialog sind) fehlerfrei vollendet wurden (z.B. aufeinanderfolgend, ohne Neuübertragen eine PTM-Nachricht). In einer Ausführungsform kann die antwortende Komponente 110 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort darauf, dass die zwei PTM-Dialoge fehlerfrei vollendet wurden, auf gültig setzen. In einer anderen Ausführungsform kann die antwortende Komponente 110 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf ein Übertragen der zweiten, nicht erneut übertragenen PTM-AntwortD auf gültig setzen.
  • 6b zeigt eine Übertragung von PTM-Nachrichten zwischen der anfragenden Komponente 105 und der antwortenden Komponente 110 gemäß einer anderen Ausführungsform.
  • Die anfragende Komponente 105 sendet eine PTM-Anfrage 402 und die antwortende Komponente 110 sendet eine PTM-Antwort/AntwortD 430 in einer ersten Instanz 414. Die antwortende Komponente 110 empfängt keine ACK 422, die nicht als korrumpiert beobachtet wird, von der anfragenden Komponente 105 (in Antwort auf einen Empfang der PTM-Antwort/AntwortD 430 in einer ersten Instanz 414) vor einem entsprechenden Zeitlimit und die antwortende Komponente 110 überträgt erneut die PTM-Antwort/AntwortD 430 in einer zweiten Instanz 416, die die anfragende Komponente 105 empfängt.
  • In einer Ausführungsform erfasst die antwortende Komponente die Neuübertragung einer PTM-Antwort 430 in einer zweiten Instanz 416. Die antwortende Komponente 110 kann einen internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf die Neuübertragung auf ungültig setzen.
  • In Antwort darauf, dass der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt ist, kann die antwortende Komponente 110 PTM-Antworten (z.B. die PTM-Antwort 432 und PTM-Antwort 434) ohne Datennutzlast (z.B. ohne Zeitstempel, ohne Masteruhrzeit) in Antwort auf jede empfangene PTM-Anfrage (nachdem der interne Zeitsteuerungszustand auf ungültig gesetzt wurde) senden, bis die antwortende Komponente 110 zwei aufeinanderfolgende, nicht erneut übertragene PTM-Anfragen (z.B. die PTM-Anfragen 404 und 406) empfängt.
  • Die antwortende Komponente 110 kann erfassen, dass die zwei PTM-Dialoge (z.B. die PTM-Anfrage 404 und PTM-Antwort 432, die ein erster PTM-Dialog sind, PTM-Anfrage 406 und PTM-AntwortD 434, die ein zweiter PTM-Dialog sind) fehlerfrei vollendet sind (z.B. aufeinanderfolgend, ohne Neuübertragen eine PTM-Nachricht). In einer Ausführungsform kann die antwortende Komponente 110 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort darauf, dass die zwei PTM-Dialoge fehlerfrei vollendet wurden, auf gültig setzen. In einer anderen Ausführungsform kann die antwortende Komponente 110 den internen Zeitsteuerungszustand der antwortenden Komponente 110 in Antwort auf ein Übertragen der zweiten, nicht erneut übertragene PTM-AntwortD auf gültig setzen.
  • In einer anderen Ausführungsform erfasst die anfragende Komponente 105 die Neuübertragung einer PTM-Antwort 430 in einer zweiten Instanz 416 zur anfragenden Komponente 105. Die anfragende Komponente 105 kann einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung auf ungültig setzen.
  • In einer anderen Ausführungsform erfasst die anfragende Komponente 105 die Übertragung einer PTM-Antwort ohne Datennutzlast. Die anfragende Komponente 105 kann einen internen Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf ein Erfassen der Übertragung einer PTM-Antwort ohne Datennutzlast auf ungültig setzen.
  • In Antwort darauf, dass der interne Zeitsteuerungszustand der anfragenden Komponente 105 auf ungültig gesetzt ist, kann die anfragende Komponente 105 PTM-Anfragen (z.B. die PTM-Anfrage 404 und PTM-Anfrage 406) senden, bis sie zwei aufeinanderfolgende, nicht erneut übertragene PTM-Anfragen (eine erste, nicht erneut übertragene PTM-Anfrage 404 und eine zweite, nicht erneut übertragene PTM-Anfrage 406) überträgt und eine PTM-AntwortD (eine zweite, nicht erneut übertragene PTM-AntwortD 434 in Antwort auf die zweite, nicht erneut übertragene PTM-Anfrage 406) empfängt.
  • Die anfragende Komponente 105 kann erfassen, dass die zwei PTM-Dialoge (z.B. die PTM-Anfrage 404 und PTM-Antwort 432, die ein erster PTM-Dialog sind, PTM-Anfrage 406 und PTM-AntwortD 434, die ein zweiter PTM-Dialog sind) fehlerfrei übertragen sind (z.B. aufeinanderfolgend, ohne Neuübertragen eine PTM-Nachricht). Die anfragende Komponente 105 kann den internen Zeitsteuerungszustand der anfragenden Komponente 105 unter Verwendung von Zeitsteuerungsinformationen in der zweiten, nicht erneut übertragenen PTM-AntwortD auf gültig setzen.
  • 7 ist ein Ablaufdiagramm eines Verfahrens 700 einer Zeitversatzvalidierung der anfragenden Komponente 105 gemäß einer anderen Ausführungsform. Das Verfahren 700 kann durch Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Schaltkreis, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software (wie Anweisungen, die auf einem Prozessor einem Allzweck-Computersystem oder einer dedizierten Engine laufen), Firmware, Mikrocode oder eine Kombination davon enthält. In einer Ausführungsform, kann das Verfahren 550 teilweise durch den Prozessor 305 durchgeführt werden, der oben in Bezug auf 3 beschrieben ist.
  • Der einfachen Erklärung wegen ist das Verfahren 700 als eine Reihe von Vorgängen dargestellt und beschrieben. Vorgänge gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen Vorgängen erfolgen, die hier nicht dargestellt und beschrieben sind. Überdies können nicht alle dargestellten Vorgänge durchgeführt werden, um das Verfahren 700 gemäß dem offenbarten Gegenstand zu implementieren. Zusätzlich werden Fachleute auf dem Gebiet verstehen und erkennen, dass das Verfahren 700 alternativ als eine Reihe von miteinander zusammenhängenden Zuständen durch ein Zustandsdiagramm oder Ereignisse dargestellt werden könnte.
  • In 702 wird ein Übergang zu PTM-Protokoll freigegeben.
  • In Block 704 bestimmt die Verarbeitungslogik einen ungültigen PTM-Kontext (z.B. ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 ungültig). In einer Ausführungsform ist Block 704 der anfängliche Zustand der anfragenden Komponente 105. Der anfängliche Zustand des PTM-Kontexts einer anfragenden Komponente 105 kann immer ungültig sein, da keine Zeitinformationen von der antwortenden Komponente 110 vorliegen, mit welchen ein gültiger PTM-Kontext zu konstruieren ist. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung einer PTM-Nachricht ungültig. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf ein Link-Rücksetzereignis oder ein Link-Neutrainingsereignis ungültig. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort darauf ungültig, dass der Link in Antwort darauf zugesetzt wird, dass der Link ein Datenlinkschicht abwärts (DL_Down) Ereignis aufweist, das bewirkt, dass die Linkschicht 210, Transaktionsschicht 205 und so weiter nicht kommunizieren können. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort darauf ungültig, dass die physische Schicht 220 nicht kommunizieren kann.
  • In 706 tritt ein außergewöhnliches Auslösungsereignis auf. In einer Ausführungsform ist das außergewöhnliche Auslösungsereignis Hardware der anfragenden Komponente 105, die bestimmt, dass ein Zeitschwellenwert seit dem vorherigen erfolgreichen PTM-Dialog verstrichen ist. In einer anderen Ausführungsform ist das außergewöhnliche Auslösungsereignis Software, die bestimmt dass ein Zeitschwellenwert seit dem vorherigen erfolgreichen PTM-Dialog überschritten ist.
  • In Block 708 gibt die Verarbeitungslogik eine PTM-Anfrage an die antwortende Komponente 110 aus. In einer Ausführungsform überträgt die Verarbeitungslogik die PTM-Anfrage in einer ersten Instanz. In einer anderen Ausführungsform überträgt die Verarbeitungslogik die PTM-Anfrage in einer zweiten Instanz erneut. In einer Ausführungsform überträgt die Verarbeitungslogik die erste, nicht erneut übertragene PTM-Anfrage.
  • In 710 wird keine Antwort vor Ablauf eines Zeitlimits (z.B. eine Mikrosekunde) empfangen und der Ablauf fährt mit Block 708 fort. In einer Ausführungsform empfängt die anfragende Komponente 105 keine ACK in Antwort auf die PTM-Anfrage in einer ersten Instanz vor Ablauf eines Zeitlimits und die anfragende Komponente überträgt die PTM-Anfrage in einer zweiten Instanz erneut. In einer anderen Ausführungsform empfängt die anfragende Komponente 105 keine PTM-Antwort/AntwortD in Antwort auf die PTM-Anfrage vor Ablauf eines Zeitlimits und die anfragende Komponente überträgt eine neue, nicht erneut übertragene PTM-Anfrage.
  • In 728 wird eine PTM-Antwort/AntwortD in Antwort auf eine PTM-Anfrage empfangen. Eine ACK, die nicht als korrumpiert beobachtet wird, kann in Antwort auf die PTM-Anfrage empfangen werden, bevor das entsprechende Zeitlimit abläuft. In einer Ausführungsform kann eine PTM-Antwort ohne Datennutzlast in Antwort darauf empfangen werden, dass die interne Zeitsteuerung der antwortenden Komponente 110 ungültig ist. Die PTM-Antwort/AntwortD kann eine erste, nicht erneut übertragene PTM-Antwort sein und ein erster PTM-Dialog kann die erste, nicht erneut übertragene PTM-Anfrage und die erste, nicht erneut übertragene PTM-Antwort enthalten.
  • In Block 724 gibt die Verarbeitungslogik eine PTM-Anfrage an die antwortende Komponente 110 aus. In einer Ausführungsform überträgt die Verarbeitungslogik eine zweite, nicht erneut übertragene PTM-Anfrage.
  • In 729 wird keine Antwort vor Ablauf eines Zeitlimits (z.B. eine Mikrosekunde) empfangen und der Ablauf fährt mit Block 724 fort. In einer Ausführungsform empfängt die anfragende Komponente 105 keine ACK in Antwort auf die PTM-Anfrage in einer ersten Instanz vor Ablauf eines Zeitlimits und die anfragende Komponente überträgt die PTM-Anfrage in einer zweiten Instanz erneut. In einer anderen Ausführungsform empfängt die anfragende Komponente 105 keine PTM-Antwort/AntwortD in Antwort auf die PTM-Anfrage vor Ablauf eines Zeitlimits und die anfragende Komponente überträgt eine neue, nicht erneut übertragene PTM-Anfrage.
  • In 722 und 723 wird ein Fehlerereignis beobachtet und der Ablauf fährt mit Block 704 fort. In einer Ausführungsform enthält ein Beobachten des Fehlerereignisses das Erfassen der Neuübertragung einer PTM-Anfrage (z.B. der PTM-Anfrage 402 in einer zweiten Instanz 412). In einer anderen Ausführungsform enthält ein Beobachten eines Fehlerereignisses ein Erfassen der Neuübertragung einer PTM-Antwort/AntwortD (z.B. der PTM-Antwort/AntwortD 430 in einer zweiten Instanz 416). Die Neuübertragung kann durch einen Empfang einer NAK, Empfang einer ACK, die als korrumpiert beobachtet wird, oder keinen Empfang einer ACK, die nicht als korrumpiert beobachtet wird, vor Ablauf des Zeitlimits verursacht werden.
  • In 730 wird eine PTM-Antwort in Antwort auf eine PTM-Anfrage empfangen. In einer Ausführungsform kann eine PTM-Antwort ohne Datennutzlast in Antwort darauf empfangen werden, dass die interne Zeitsteuerung der antwortenden Komponente 110 ungültig ist. In einer anderen Ausführungsform kann die PTM-Antwort ohne Datennutzlast in Antwort darauf empfangen werden, dass zumindest zwei aufeinanderfolgende, nicht erneut übertragene PTM-Anfragen ohne Fehler nicht gesendet wurden, seit die interne Zeitsteuerung der anfragenden Komponente 105 auf ungültig gesetzt wurde. Die PTM-Antwort kann eine erste, nicht erneut übertragene PTM-Antwort sein und ein erster PTM-Dialog kann die erste, nicht erneut übertragene PTM-Anfrage und die erste, nicht erneut übertragene PTM-Antwort enthalten.
  • In 714 empfängt die Verarbeitungslogik eine PTM-AntwortD (eine PTM-Antwort mit einer Datennutzlast) in Antwort auf eine PTM-Anfrage und der Ablauf fährt mit Block 716 fort. Eine ACK, die nicht als korrumpiert beobachtet wird, kann in Antwort auf eine PTM-Anfrage empfangen werden, bevor das entsprechende Zeitlimit abläuft. In einer Ausführungsform wird die PTM-AntwortD in Antwort darauf empfangen, dass der interne Zeitsteuerungszustand der antwortenden Komponente 110 gültig ist. In einer anderen Ausführungsform ist die PTM-AntwortD eine zweite, nicht erneut übertragene PTM-Antwort und ein zweiter PTM-Dialog kann die zweite, nicht erneut übertragene PTM-Anfrage und die zweite, nicht erneut übertragene PTM-Antwort enthalten.
  • In Block 716 validiert die Verarbeitungslogik den PTM-Kontext (setzt z.B. den internen Zeitsteuerungszustand auf gültig) der anfragenden Komponente 105, löst die Bedingung auf, die das Auslösungsereignis eingeleitet hat, und markiert das Auslösungsereignis als verbraucht. In einer Ausführungsform ist das Auslösungsereignis, das verbraucht wird, dass die anfragende Komponente 105 eine PTM-AntwortD (PTM-Antwort mit einer Datennutzlast), die nicht als korrumpiert beobachtet wird, vor Ablauf eines entsprechenden Zeitlimits empfängt.
  • In 718 tritt ein außergewöhnliches Auslösungsereignis auf und der Ablauf fährt mit Block 708 fort, um eine PTM-Anfrage auszugeben. In einer Ausführungsform ist das außergewöhnliche Auslösungsereignis, dass Hardware der anfragenden Komponente 105 bestimmt, dass ein Zeitschwellenwert seit dem vorherigen erfolgreichen PTM-Dialog überschritten wurde. In einer anderen Ausführungsform ist das außergewöhnliche Auslösungsereignis, dass Software bestimmt, dass ein Zeitschwellenwert seit dem vorherigen erfolgreichen PTM-Dialog überschritten wurde.
  • In 720 tritt ein Invalidierungsereignis einer lokalen Uhr ein und der Ablauf fährt mit Block 704. fort. In einer Ausführungsform ist ein Invalidierungsereignis einer lokalen Uhr, wenn die anfragende Komponente 105 in einen leistungsarmen Zustand eingetreten ist, in dem die lokalen Uhren der anfragenden Komponente 105 gesperrt sind. Sobald wieder ein Normalbetrieb aufgenommen wird (z.B. werden die lokalen Uhren der anfragenden Komponente freigegeben), wäre ein neues Paar aufeinanderfolgender erfolgreicher PTM-Dialoge erforderlich, wenn der zweite Dialog eine PTM-AntwortD enthält (z.B. Ausgabe einer PTM-Anfrage 708, PTM-Antwort/AntwortD empfangen 728, Ausgabe einer PTM-Anfrage 724, und PTM-AntwortD empfangen 714), um einen gültigen PTM-Kontext (z.B. internen Zeitsteuerungszustand; gültigen PTM-Kontext 716) wiederherzustellen.
  • 8 ist ein Ablaufdiagramm eines Verfahrens 800 einer Zeitversatzvalidierung der antwortenden Komponente 110 gemäß einer anderen Ausführungsform. Das Verfahren 800 kann durch Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Schaltkreis, dedizierte Logik, programmierbare Logik, Mikrocode usw.), Software (wie Anweisungen, die auf einem Prozessor einem Allzweck-Computersystem oder einer dedizierten Engine laufen), Firmware, Mikrocode oder eine Kombination davon enthält. In einer Ausführungsform kann Verfahren 550 teilweise durch den Prozessor 305 durchgeführt werden, der oben in Bezug auf 3 beschrieben ist.
  • Der einfachen Erklärung wegen ist das Verfahren 800 als eine Reihe von Vorgängen dargestellt und beschrieben. Vorgänge gemäß dieser Offenbarung können jedoch in verschiedenen Reihenfolgen und/oder gleichzeitig und mit anderen Vorgängen erfolgen, die hier nicht dargestellt und beschrieben sind. Überdies können nicht alle dargestellten Vorgänge durchgeführt werden, um das Verfahren 800 gemäß dem offenbarten Gegenstand zu implementieren. Zusätzlich werden Fachleute auf dem Gebiet verstehen und erkennen, dass das Verfahren 800 alternativ als eine Reihe von miteinander zusammenhängenden Zuständen durch ein Zustandsdiagramm oder Ereignisse dargestellt werden könnte.
  • In 802 wird ein Übergang zum PTM-Protokoll freigegeben.
  • In Block 804 bestimmt die Verarbeitungslogik einen ungültigen PTM-Kontext (z.B. ist der interne Zeitsteuerungszustand der antwortenden Komponente 110 ungültig). In einer Ausführungsform ist Block 804 der anfängliche Zustand der antwortenden Komponente 110. Der anfängliche Zustand des PTM-Kontexts der antwortenden Komponente 110 kann in Antwort darauf, dass die antwortende Komponente 110 keine historischen Zeitstempel hat (z.B. t2, t3-t2 Teile der Datennutzlast), da es keine PTM-Dialoge an diesem Punkt gab, immer ungültig sein. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf die Neuübertragung einer PTM-Nachricht ungültig. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort auf ein Link-Rücksetzereignis oder ein Link-Neutrainingsereignis ungültig. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort darauf ungültig, dass der Link in Antwort darauf zurückgesetzt wurde, dass der Link ein Datenlinkschicht abwärts (DL_Down) Ereignis aufweist, das bewirkt, dass die Linkschicht 210, Transaktionsschicht 205 und so weiter nicht kommunizieren können. In einer anderen Ausführungsform ist der interne Zeitsteuerungszustand der anfragenden Komponente 105 in Antwort darauf ungültig, dass die physische Schicht 220 nicht kommunizieren kann.
  • In 812 wird eine PTM-Anfrage empfangen. In einer Ausführungsform ist die PTM-Anfrage eine erste, nicht erneut übertragene PTM-Anfrage.
  • In Block 806 gibt die antwortende Komponente 110 eine PTM-Antwort (z.B. bei t3) ohne Datennutzlast in Antwort auf die PTM-Anfrage aus. In einer Ausführungsform ist die PTM-Antwort eine erste, nicht erneut übertragene PTM-Antwort in Antwort auf die erste, nicht erneut übertragene PTM-Anfrage. Die erste, nicht erneut übertragene PTM-Anfrage und die erste, nicht erneut übertragene PTM-Antwort können ein erster PTM-Dialog sein.
  • In 814 wird eine PTM-Anfrage empfangen. In einer Ausführungsform ist die PTM-Anfrage eine zweite, nicht erneut übertragene PTM-Anfrage.
  • In Block 810 wird eine PTM-AntwortD ausgegeben. In einer Ausführungsform ist die PTM-AntwortD eine zweite, nicht erneut übertragene PTM-AntwortD in Antwort auf die zweite, nicht erneut übertragene PTM-Anfrage. Die zweite, nicht erneut übertragene PTM-Anfrage und die zweite, nicht erneut übertragene PTM-AntwortD können ein zweiter PTM-Dialog sein. In Antwort auf eine Ausgabe der PTM-AntwortD kann der interne Zeitsteuerungszustand der antwortenden Komponente 110 kann auf gültig gesetzt werden.
  • In 820 wird eine PTM-Anfrage empfangen. Sobald die antwortende Komponente 110 in Block 810 ist, kann die antwortende Komponente 110 mit einer Ausgabe einer PTM-AntwortD fortfahren, sobald die antwortende Komponente 110 eine neue PTM-Anfrage empfängt.
  • In 816 und 817 wird ein Fehlerereignis beobachtet und der Ablauf fährt mit Block 804 fort. In einer Ausführungsform, enthält ein Beobachten des Fehlerereignisses das Erfassen der Neuübertragung einer PTM-Anfrage (z.B. der PTM-Anfrage 402 in einer zweiten Instanz 412). In einer anderen Ausführungsform enthält ein Beobachten des Fehlerereignisses das Erfassen der Neuübertragung einer PTM-Antwort/AntwortD (z.B. der PTM-Antwort/AntwortD 430 in einer zweiten Instanz 416). In einer anderen Ausführungsform kann der Fehler nicht mit einer Neuübertragung einer PTM-Nachricht zusammenhängen.
  • In 818 und 819 tritt ein Invalidierungsereignis einer lokalen Uhr ein und der Ablauf fährt mit Block 804 fort. In einer Ausführungsform ist ein Invalidierungsereignis einer lokalen Uhr, wenn die antwortende Komponente 110 in einen Niederleistungszustand eingetreten ist, in dem die lokalen Uhren der antwortenden Komponente 110 gesperrt wurden. Sobald wieder ein Normalbetrieb aufgenommen wird (z.B. werden die lokalen Uhren der antwortenden Komponente 110 freigegeben), würde ein neuer PTM-Dialog ein Wiederherstellen eines gültigen PTM-Kontexts (z.B. interner Zeitsteuerungszustand) erfordern.
  • 9a zeigt ein Blockdiagramm einer anfragenden Komponente 110 gemäß einer Ausführungsform. Die anfragende Komponente 110 enthält eine Transaktionsschicht 205, eine Linkschicht 210 und ein physische Schicht 220.
  • Die Transaktionsschicht 205 enthält Empfangswarteschlangen 908, eine PTM-Steuerung 910 und Übertragungswarteschlangen 912. Die Empfangswarteschlangen 908 können Empfangswarteschlangenlogik sein, die PTM-Steuerung 910 kann PTM-Steuerungslogik sein und die Übertragungswarteschlangen 912 können Übertragungswarteschlangenlogik sein.
  • Die Linkschicht 210 enthält Lnk Rx 904 und Lnk Tx 914. Lnk Rx 904 enthält Lnk TLP-Verarbeitung 906. Lnk Tx 914 enthält Neuversuchspuffer 916. Lnk Rx 904 kann Lnk Rx Logik sein, Lnk Tx 914 kann Lnk Tx Logik sein, Lnk TLP-Verarbeitung 906 kann Lnk TLP Verarbeitungslogik sein und der Neuversuchspuffer 916 kann Neuversuchspufferlogik sein.
  • Die physische Schicht 220 enthält Phy Tx 918 (z.B. die Übertragungslogik 106) und Phy Rx 902 (z.B. die Empfangslogik 107). Phy Tx 918 und Phy Rx 902 sind mit der antwortenden Komponente 110 durch Link 115 gekoppelt.
  • In einer Ausführungsform enthält die PTM-Steuerung 910 eine Wiederholungserfassungslogik 132. In einer anderen Ausführungsform enthält die Lnk TLP-Verarbeitung 906 eine Wiederholungserfassungslogik. In einer anderen Ausführungsform enthält der Neuversuchspuffer 916 eine Wiederholungserfassungslogik. In einer Ausführungsform enthält die PTM-Steuerung 910 eine Validierungslogik 134.
  • Phy Rx 902 ist mit Lnk Rx 904 durch Bus 930 verbunden. Lnk Rx 904 ist mit Empfangswarteschlangen 908 durch Bus 932 verbunden. PTM-Steuerung 910 ist mit Übertragungswarteschlangen 912 durch Bus 934 verbunden. Die Übertragungswarteschlangen 912 sind mit Lnk Tx 914 durch Bus 936 verbunden. Lnk Tx 914 ist mit Phy Tx 918 durch Bus 938 verbunden.
  • Lnk Rx 904 kann ein Signal 920 zur PTM-Steuerung 910 übertragen. Die Empfangswarteschlangen 908 können ein Signal 922 und ein Signal 928 zur PTM-Steuerung 910 übertragen. Lnk Tx 914 kann ein Signal 924 zur PTM-Steuerung 910 übertragen. Neuversuchspuffer 916 kann ein Signal 926 zur PTM-Steuerung 910 übertragen. Übertragungswarteschlangen 912 können ein Signal 929 zur PTM-Steuerung 910 übertragen.
  • Die anfragende Komponente 105 empfängt eine PTM-Antwort/AntwortD von der antwortenden Komponente 110 bei Phy Rx 902. Phy Rx überträgt die PTM-Antwort/AntwortD zu Lnk Rx 904 über Bus 930.
  • In einer Ausführungsform bestimmt die Lnk TLP-Verarbeitung 906, ob die PTM-Antwort/AntwortD eine Duplikat-PTM-Antwort/AntwortD ist (z.B. falls sie neuübertragen wurde, ob sie eine Sequenznummer einer PTM-Antwort/AntwortD hat, die bereits durch die anfragende Komponente 105 bestätigt wurde). Wenn die PTM-Antwort/AntwortD ein Duplikat ist, sendet Lnk Rx ein Signal 920 zur PTM-Steuerung 910, das angibt, dass eine Duplikat-PTM-Nachricht empfangen wurde, und um die Zeitstempel zu invalidieren (z.B. den internen Zeitsteuerungszustand der anfragenden Komponente 110 auf ungültig zu setzen).
  • In einer anderen Ausführungsform überträgt die Lnk TLP-Verarbeitung 906 PTM-Antwort/AntwortD über Bus 932 zu Empfangswarteschlangen 908 und die Empfangswarteschlangen 908 bestimmen, ob die PTM-Antwort/AntwortD keine Datennutzlast hat (z.B. eine PTM-Antwort ist). Wenn die PTM-Antwort/AntwortD keine Datennutzlast hat (z.B. eine PTM-Antwort ist), senden die Empfangswarteschlangen 908 ein Signal 922 zur PTM-Steuerung 910, das angibt, dass eine PTM-Antwort ohne Datennutzlast empfangen wurde, und um die Zeitstempel zu invalidieren (z.B. den internen Zeitsteuerungszustand der anfragenden Komponente 110 auf ungültig zu setzen). Wenn die PTM-Antwort/AntwortD eine Datennutzlast hat (z.B. eine PTM-AntwortD ist), senden die Empfangswarteschlangen 908 ein Signal 922 zur PTM-Steuerung 910, das angibt, dass eine PTM-AntwortD mit einer Datennutzlast empfangen wurde, und um Zeitstempel zu validieren oder gültig zu halten (z.B. den internen Zeitsteuerungszustand der anfragenden Komponente 110 auf gültig zu setzen, nicht den internen Zeitsteuerungszustand auf ungültig zu setzen).
  • In einer anderen Ausführungsform, wenn die Lnk TLP-Verarbeitung 906 bestimmt, dass die PTM-Antwort/AntwortD eine PTM-AntwortD ist, überträgt Lnk Rx 904 die PTM-AntwortD zu Empfangswarteschlangen 908 über Bus 932 und die Empfangswarteschlangen 908 nehmen den Zeitstempel (z.B. t4) der PTM-AntwortD auf und senden ein Signal 928 mit dem Zeitstempel der PTM-AntwortD zur PTM-Steuerung 910.
  • In einer anderen Ausführungsform, wenn die Lnk TLP-Verarbeitung 906 bestimmt, dass die PTM-Nachricht eine PTM-AntwortD ist (z.B. eine Datennutzlast hat), die kein Duplikat ist, überträgt Lnk Rx 904 die PTM-AntwortD über Bus 932 zu den Empfangswarteschlangen 908 und die Empfangswarteschlangen 908 nehmen den Zeitstempel (z.B. t4) der PTM-AntwortD auf und senden ein Signal 928 mit dem Zeitstempel der PTM-AntwortD zur PTM-Steuerung 910.
  • Die PTM-Steuerung überträgt eine PTM-Anfrage über Bus 934zu den Übertragungswarteschlangen 912. Die PTM-Steuerung kann eine PTM-Anfrage in Antwort auf ein Auslösungsereignis übertragen (z.B. eine Bestimmung, dass ein Zeitschwellenwert seit dem vorherigen erfolgreichen PTM-Dialog, einer Anfrage von Software usw. überschritten wurde). Die Übertragungswarteschlangen 912 nehmen den Zeitstempel (z.B. t5) der Übertragung der PTM-Anfrage auf und können ein Signal 929 zur PTM-Steuerung 910 mit dem Zeitstempel übertragen. Die Übertragungswarteschlangen 912 übertragen die PTM-Anfrage über Bus 936 zu Lnk Tx 914. Lnk Tx 914 überträgt ein Signal 926 zur PTM-Steuerung 910, das angibt, dass die PTM-Anfrage gesendet wurde. Lnk Tx 914 überträgt die PTM-Anfrage über Bus 938 zu Phy Tx 918. Phy Tx 918 überträgt die PTM-Anfrage über Link 115 zur antwortenden Komponente 110.
  • Die anfragende Komponente 105 kann in Antwort auf eine PTM-Antwort/AntwortD eine ACK empfangen, die bestätigt, dass die antwortende Komponente 110 eine PTM-Anfrage, die nicht als korrumpiert beobachtet wurde, vor Ablauf eines entsprechenden Zeitlimits empfangen hat. Wenn die anfragende Komponente 105 keine ACK vor Ablauf eines entsprechenden Zeitlimits empfängt (z.B. empfängt die anfragende Komponente 105 eine NAK, empfängt die anfragende Komponente 105 eine ACK, die als korrumpiert beobachtet wird, und so weiter) kann der Neuversuchspuffer 916 die PTM-Anfrage in einer zweiten Instanz erneut übertragen (z.B. die PTM-Anfrage 402 in einer zweiten Instanz 412 in 4a und 6a). Nach Neuübertragung der PTM-Anfrage in einer zweiten Instanz kann der Neuversuchspuffer 916 ein Signal 924 zur PTM-Steuerung senden, um Zeitstempel zu invalidieren (z.B. den internen Zeitsteuerungszustand auf ungültig setzen). Die anfragende Komponente 105 kann eine ACK zur antwortenden Komponente 110 senden, wenn sie eine PTM-Antwort/AntwortD von der antwortenden Komponente 110 empfängt.
  • Wenn der interne Zeitsteuerungszustand der anfragenden Komponente 105 auf ungültig gesetzt ist, kann die anfragende Komponente 105 den internen Zeitsteuerungszustand der anfragenden Komponente 105 auf gültig setzen, sobald zumindest zwei aufeinanderfolgenden PTM-Dialoge ohne Fehler und ohne Neuübertragungen vollendet sind (von welchen der zweite mit PTM-AntwortD abschließt).
  • Die anfragende Komponente 105 kann Übertragungsmittel zum Übertragen von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link enthalten. In einer Ausführungsform enthält das Übertragungsmittel eine Übertragungslogik 106. In einer anderen Ausführungsform enthält das Übertragungsmittel Phy Tx 918.
  • Die anfragende Komponente 105 kann Empfangsmittel zum Empfangen von Zeitsteuerungsprotokollantworten von der antwortenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen enthalten. In einer Ausführungsform enthält das Empfangsmittel eine Empfangslogik 107. In einer anderen Ausführungsform enthält das Empfangsmittel Phy Rx 902.
  • In einer anderen Ausführungsform, enthalten eines oder mehrere der Übertragungsmittel der anfragenden Komponente 105 oder der Empfangsmittel der anfragenden Komponente 105 eine oder mehrere der physischen Schicht 220, des logischen Teilblocks 221, des elektrischen Teilblocks 222, eines Übertragungspfads (z.B. eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, ein drahtloses Kommunikationskanal, ein Infrarot-Kommunikationslink oder ein anderer Kommunikationspfad), eines Links, eines Übertragungsmediums, einer Verbindung, eines Punkt-zu-Punkt-Kommunikationskanals, eines PCIe®-Ports, einer Spur, geschwindigkeitsarmer Peripheriegeräte (z.B. eine Karte unter Verwendung der 802.11 Wi-Fi® Technologie), eines Grafikadapters, FSB 306, einer seriellen Punkt-zu-Punkt-Verbindung, einer seriellen differentialen Verbindungsarchitektur, eines Steuerungs-Hub 315, eines Root-Hub, Root-Komplexes, einer Root Steuerung, eines Chipset, eines MCH, einer Northbridge, eines Verbindungssteuerungs-Hub (ICH) einer Southbridge, eines Root-Steuerung/Hub, eines Schalters/einer Brücke 320, Eingangs-/Ausgangsmodulen 317 oder 321, Schnittstellen/Ports 317 oder 321, interner oder externer Vorrichtung oder Komponente, die an ein elektronisches System gekoppelt werden soll (z.B. I/O-Vorrichtung, NIC, Erweiterungskarte, Audioprozessor, Netzwerkprozessor, Festplattenlaufwerk, Datenspeichervorrichtung, CD/DVD ROM, Monitor, Drucker, Maus, Tastatur, Router, tragbare Datenspeichervorrichtung, Firewire-Vorrichtung, USB-Vorrichtung, Scanner und so weiter), eines Grafikbeschleunigers 330, drahtloser Engines kurzer Reichweite (z.B. WLAN-Einheit), einer oder mehrerer Erweiterungskarten, NGFF-Steckverbinder einer Hauptplatine, einer Einheit unter Verwendung von Wi-Fi® Technologie oder Bluetooth® Technologie, eines USB-Links, eines UART-Links, einer Anzeige-Engine 1012, einer integrierten Speichersteuerung 1020, direkter Medienschnittstelle (DMI) 1016, PCIe® Schnittstellen 1014 (z.B. PCIe® Grafik (PEG) Port-Schnittstellen für PEG-Adapter), PCIe® Brücke 1018, Äquivalente davon und so weiter.
  • Die anfragende Komponente 105 kann Wiederholungserfassungsmittel zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig enthalten, wobei die Zeitsteuerungsprotokollnachricht zumindest eine von einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst. In einer Ausführungsform enthält das Wiederholungserfassungsmittel eine Wiederholungserfassungslogik 122. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel eine PTM-Steuerung 910. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel eine Lnk TLP-Verarbeitung 906. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel einen Neuversuchspuffer 916.
  • Die anfragende Komponente 105 kann Validierungsmittel zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge enthalten, die ein erstes Zeitsteuerungsprotokolldialog und ein zweites Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei das Validierungsmittel dazu dient, den internen Zeitsteuerungszustand der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig zu setzen. In einer Ausführungsform enthält das Validierungsmittel eine Validierungslogik 124. In einer anderen Ausführungsform enthält das Validierungsmittel eine PTM-Steuerung 910.
  • Die antwortende Komponente 110 kann eine ähnliche Konfiguration wie die anfragende Komponente 105 haben.
  • 9b zeigt ein Blockdiagramm einer antwortenden Komponente 110 gemäß einer Ausführungsform. Die antwortende Komponente 110 enthält eine Transaktionsschicht 205, eine Linkschicht 210 und eine physische Schicht 220. Die Empfangswarteschlangen 908 können eine Empfangswarteschlangenlogik sein, die PTM-Steuerung 910 kann eine PTM-Steuerungslogik sein und die Übertragungswarteschlangen 912 können eine Übertragungswarteschlangenlogik sein.
  • Die Transaktionsschicht 205 enthält Empfangswarteschlangen 908, die PTM-Steuerung 910 und Übertragungswarteschlangen 912. Lnk Rx 904 kann eine Lnk Rx Logik sein, Lnk Tx 914 kann eine Lnk Tx Logik sein, die Lnk TLP-Verarbeitung 906 kann eine Lnk TLP Verarbeitungslogik sein und der Neuversuchspuffer 916 kann eine Neuversuchspufferlogik sein.
  • Die Linkschicht 210 enthält Lnk Rx 904 und Lnk Tx 914. Lnk Rx 904 enthält die Lnk TLP-Verarbeitung 906. Lnk Tx 914 enthält den Neuversuchspuffer 916.
  • Die physische Schicht 220 enthält Phy Tx 918 (z.B. die Übertragungslogik 112) und Phy Rx 902 (z.B. die Empfangslogik 111). Phy Tx 918 und Phy Rx 902 sind mit der anfragenden Komponente 105 durch Link 115 gekoppelt.
  • In einer Ausführungsform enthält die PTM-Steuerung 910 eine Wiederholungserfassungslogik 132. In einer anderen Ausführungsform enthält die Lnk TLP-Verarbeitung 906 eine Wiederholungserfassungslogik 132. In einer anderen Ausführungsform enthält der Neuversuchspuffer 916 eine Wiederholungserfassungslogik 132. In einer Ausführungsform enthält die PTM-Steuerung 910 eine Validierungslogik 134.
  • Phy Rx 902 ist mit Lnk Rx 904 durch Bus 930 verbunden. Lnk Rx 904 ist mit Empfangswarteschlangen 908 durch Bus 932 verbunden. Die PTM-Steuerung 910 ist mit Übertragungswarteschlangen 912 durch Bus 934 verbunden. Die Übertragungswarteschlangen 912 sind mit Lnk Tx 914 durch Bus 936 verbunden. Lnk Tx 914 ist mit Phy Tx 918 durch Bus 938 verbunden.
  • Lnk Rx 904 kann ein Signal 920 zur PTM-Steuerung 910 senden. Die Empfangswarteschlangen 908 können ein Signal 922 und ein Signal 928 zur PTM-Steuerung 910 senden. Lnk Tx 914 kann ein Signal 924 zur PTM-Steuerung 910 senden. Der Neuversuchspuffer 916 kann ein Signal 926 zur PTM-Steuerung 910 senden. Die Übertragungswarteschlangen 912 können ein Signal 929 zur PTM-Steuerung 910 senden.
  • Die antwortende Komponente 110 empfängt eine PTM-Anfrage von der anfragenden Komponente 105 bei Phy Rx 902. Phy Rx überträgt die PTM-Anfrage zu Lnk Rx 904 über Bus 930. Die Lnk TLP-Verarbeitung 906 bestimmt, ob die PTM-Anfrage eine Duplikat-PTM-Anfrage ist (z.B. ob sie erneut übertragen wurde, ob sie eine Sequenznummer einer PTM-Anfrage hat, die bereits durch die antwortende Komponente 110 bestätigt wurde). Wenn die PTM-Anfrage ein Duplikat ist, sendet Lnk Rx ein Signal 920 zur PTM-Steuerung 910, das angibt, dass eine Duplikat-PTM-Nachricht empfangen wurde, und um Zeitstempel zu invalidieren (z.B. den internen Zeitsteuerungszustand auf ungültig zu setzen). Wenn die PTM-Anfrage kein Duplikat ist, überträgt Lnk Rx 904 die PTM-Anfrage über Bus 932 zu den Empfangswarteschlangen 908 und die Empfangswarteschlangen 908 nehmen den Zeitstempel (z.B. t2) der PTM-Anfrage auf und senden ein Signal 928 mit dem Zeitstempel der PTM-Anfrage zur PTM-Steuerung 910.
  • In einer Ausführungsform, wenn die PTM-Anfrage ein Duplikat ist, generiert die Transaktionsschicht 205 (z.B. PTM-Steuerung 910) keine PTM-Antwort. In einer anderen Ausführungsform, wenn die PTM-Anfrage kein Duplikat ist und wenn der interne Zeitsteuerungszustand gültig ist, überträgt die PTM-Steuerung 910 eine PTM-AntwortD mit einer Datennutzlast über Bus 934 zu den Übertragungswarteschlangen 912. In einer anderen Ausführungsform, wenn die PTM-Anfrage empfangen wird, wenn der interne Zeitsteuerungszustand ungültig ist und die PTM-Anfrage keine zweite aufeinanderfolgenden, nicht erneut übertragene PTM-Anfrage ist, überträgt die PTM-Steuerung 910 eine PTM-Antwort ohne Datennutzlast über Bus 934 zu den Übertragungswarteschlangen 912. In einer anderen Ausführungsform, wenn der interne Zeitsteuerungszustand vor Empfang der PTM-Anfrage auf ungültig gesetzt wurde und die PTM-Anfrage eine zweite aufeinanderfolgende, nicht erneut übertragene PTM-Anfrage ist, wird der interne Zeitsteuerungszustand beim Empfang der PTM-Anfrage (z.B. der zweiten aufeinanderfolgenden, nicht erneut übertragenen PTM-Anfrage) auf gültig gesetzt und die PTM-Steuerung 910 überträgt eine PTM-AntwortD mit einer Datennutzlast über Bus 934 zu den Übertragungswarteschlangen 912.
  • Die Übertragungswarteschlangen 912 nehmen den Zeitstempel (z.B. t3) der Übertragung der PTM-Antwort/AntwortD auf und können ein Signal 929 zur PTM-Steuerung 910 mit dem Zeitstempel übertragen. Die Übertragungswarteschlangen 912 übertragen die PTM-Antwort/AntwortD zu Lnk Tx 914 über Bus 936. Lnk Tx 914 überträgt ein Signal 926 zur PTM-Steuerung 910, das angibt, dass die PTM-Anfrage gesendet wurde. Lnk Tx 914 überträgt die PTM-Antwort/AntwortD zu Phy Tx 918 über Bus 938. Phy Tx 918 überträgt die PTM-Antwort/AntwortD zur anfragenden Komponente über Link 115.
  • Die antwortende Komponente 110 kann eine ACK empfangen, die bestätigt, dass die anfragende Komponente 105 eine PTM-Antwort/AntwortD, die nicht als korrumpiert beobachtet wurde, vor Ablauf eines entsprechenden Zeitlimits in Antwort auf eine PTM-Anfrage empfangen hat. Falls die antwortende Komponente 110 keine ACK vor Ablauf eines entsprechenden Zeitlimits empfängt, kann der Neuversuchspuffer 916 die PTM-Antwort/AntwortD in einer zweiten Instanz (z.B. die PTM-Antwort/D 430 in einer zweiten Instanz 416 in 4b und 6b) erneut übertragen. Falls die antwortende Komponente 110 eine NAK empfängt, kann der Neuversuchspuffer 916 kann die PTM-Antwort/AntwortD in einer zweiten Instanz (z.B. die PTM-Antwort/D 430 in einer zweiten Instanz 416 in 4b und 6b) erneut übertragen. Bei einer Neuübertragung der PTM-Antwort/AntwortD in einer zweiten Instanz kann der Neuversuchspuffer 916 ein Signal 924 zur PTM-Steuerung senden, um die Zeitstempel zu invalidieren (z.B. den internen Zeitsteuerungszustand auf ungültig setzen). Die antwortende Komponente 110 kann eine ACK zur anfragenden Komponente 105 senden, wenn sie eine PTM-Anfrage von der anfragenden Komponente 105 empfängt.
  • Falls der interne Zeitsteuerungszustand der antwortenden Komponente 110 auf ungültig gesetzt ist, kann die antwortende Komponente 110 den internen Zeitsteuerungszustand der antwortenden Komponente auf gültig setzen, sobald zumindest zwei aufeinanderfolgende PTM-Dialoge ohne Fehler und ohne Neuübertragungen vollendet sind.
  • Die antwortende Komponente 110 kann Empfangsmittel zum Empfangen von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link enthalten. In einer Ausführungsform enthält das Empfangsmittel eine Empfangslogik 111. In einer anderen Ausführungsform enthält das Empfangsmittel Phy Rx 902.
  • Die antwortende Komponente 110 kann Übertragungsmittel zum Übertragen Zeitsteuerungsprotokollantworten zur anfragenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen enthalten. In einer Ausführungsform enthält das Übertragungsmittel eine Übertragungslogik 112. In einer anderen Ausführungsform enthält das Übertragungsmittel Phy Tx 918.
  • In einer anderen Ausführungsform enthalten eines oder mehrere von dem Übertragungsmittel der antwortenden Komponente 110 oder dem Empfangsmittel der antwortenden Komponente 110 eine oder mehrere von der physischen Schicht 220, dem logischen Teilblock 221, dem elektrischen Teilblock 222, einem Übertragungspfad (z.B. eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, einen Infrarot-Kommunikationslink oder einen anderen Kommunikationspfad), einem Link, einem Übertragungsmedium, einer Verbindung, einem Punkt-zu-Punkt-Kommunikationskanal, einem PCIe®-Port, einer Spur, geschwindigkeitsarmen Peripherieeinrichtungen (z.B. eine Karte unter Verwendung der 802.11 Wi-Fi® Technologie), einem Grafikadapter, FSB 306, einer seriellen Punkt-zu-Punkt-Verbindung, einer seriellen differentiellen Verbindungsarchitektur, einem Steuerungs-Hub 315, einem Root-Hub, einem Root-Komplex, einer Root-Steuerung, einem Chipset, einem MCH, einer Northbridge, einem Verbindungssteuerungs-Hub (ICH) einer Southbridge, einer Root-Steuerung/Hub, einem Schalter/einer Brücke 320, einem Eingangs-/Ausgangsmodul 317 oder 321, Schnittstellen/Ports 317 oder 321, einer internen oder externen Vorrichtung oder Komponente, die an ein elektronisches System (z.B. I/O-Vorrichtung, NIC, Erweiterungskarte, Audioprozessor, Netzwerkprozessor, Festplattenlaufwerk, Datenspeichervorrichtung, CD/DVD ROM, Monitor, Drucker, Maus, Tastatur, Router, tragbare Datenspeichervorrichtung, Firewire-Vorrichtung, USB Vorrichtung, Scanner und so weiter) zu koppeln ist, einem Grafikbeschleuniger 330, drahtlosen Engines kurzer Reichweite (z.B. WLAN-Einheit), einer oder mehreren Erweiterungskarten, NGFF-Steckverbindern, einer Hauptplatine, einer Einheit unter Verwendung von Wi-Fi® Technologie oder Bluetooth® Technologie, einem USB Link, einem UART Link, einer Anzeige-Engine 1012, einer integrierten Speichersteuerung 1020, einer direkten Medienschnittstelle (DMI) 1016, PCIe®-Schnittstellen 1014 (z.B. PCIe® Grafik-(PEG) Port-Schnittstellen für PEG-Adapter), einer PCIe®-Brücke 1018, Äquivalenten davon und so weiter.
  • Die antwortende Komponente 110 kann ein Wiederholungserfassungsmittel zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Ungültigsetzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung umfassen, wobei die Zeitsteuerungsprotokollnachricht zumindest eine von einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst. In einer Ausführungsform enthält das Wiederholungserfassungsmittel eine Wiederholungserfassungslogik 132. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel eine PTM-Steuerung 910. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel eine Lnk TLP-Verarbeitung 906. In einer anderen Ausführungsform enthält das Wiederholungserfassungsmittel einen Neuversuchspuffer 916.
  • Die antwortende Komponente 110 kann ein Validierungsmittel zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge enthalten, umfassend einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei das Validierungsmittel dazu dient, den internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig zu setzen. In einer Ausführungsform enthält das Validierungsmittel eine Validierungslogik 134. In einer anderen Ausführungsform, enthält das Validierungsmittel eine PTM-Steuerung 910.
  • Unter Bezugnahme nun auf 10 ist ein Blockdiagramm einer Ausführungsform eines Mehrfachkernprozessors dargestellt. Wie in der Ausführungsform von 10 dargestellt, enthält der Prozessor 1000 mehrere Domänen. Im Speziellen eine Kerndomäne 1030, die eine Vielzahl von Kernen 1030A-1030N enthält, eine Grafikdomäne 1060, die eine oder mehr Grafik-Engines mit einer Media-Engine 1065 enthält, und eine Systemagentdomäne 1010.
  • In verschiedenen Ausführungsformen handhabt die Systemagentdomäne 1010 Leistungssteuerungsereignisse und Leistungsmanagement, sodass einzelne Einheiten von Domänen 1030 und 1060 (z.B. Kerne und/oder Grafik-Engines) unabhängig steuerbar sind, um dynamisch bei einem passenden Leistungsmodus/-pegel (z.B. aktiv, Turbo, Schlaf, Winterschlaf, tiefer Schlaf oder einem anderen Advanced Configuration Power schnittstellenähnlichen Zustand) angesichts der Aktivität (oder Inaktivität) zu arbeiten, die in der gegebenen Einheit auftritt. Jede der Domänen 1030 und 1060 kann bei einer anderen Spannung und/oder Leistung arbeiten und überdies arbeiten die einzelnen Einheiten innerhalb der Domänen jeweils bei einer unabhängigen Frequenz und Spannung. Es ist zu beachten, dass, während nur drei Domänen dargestellt sind, ein Verständnis des Umfangs der vorliegenden Offenbarung in dieser Hinsicht nicht eingeschränkt ist, und zusätzliche Domänen in anderen Ausführungsformen vorhanden sein können.
  • Wie dargestellt, enthält jeder Kern 1030 ferner Caches tiefer Ebene zusätzlich zu verschiedenen Ausführungseinheiten und zusätzliche Verarbeitungselemente. Hier sind die verschiedenen Kerne aneinander und an einem gemeinsamen Cache-Speicher gekoppelt, der aus einer Vielzahl von Einheiten oder Slices eines Cache letzter Ebene (LLC) 1040A-1040N gebildet ist; diese LLCs enthalten häufig Arbeitsspeicher- und Cache-Steuerungsfunktionalität und werden unter den Kernen wie auch möglicherweise unter der Grafik-Engine geteilt.
  • Wie erkennbar ist, koppelt eine Ringverbindung 1050 die Kerne aneinander und sieht eine Verbindung zwischen den Kerndomänen 1030, der Grafikdomäne 1060 und dem Systemagentschaltkreis 1010, über eine Vielzahl von Ringstopps 1052A-1052N, jeder an einer Kopplung zwischen einem Kern und einem LLC-Slice, vor. Wie in 10 erkennbar ist, wird die Verbindung 1050 zur Beförderung verschiedener Informationen verwendet, die Adresseninformationen, Dateninformationen, Bestätigungsinformationen und Snoop-/ungültige Informationen enthalten. Obwohl eine Ringverbindung dargestellt ist, kann jede bekannte On-Die-Verbindung oder jedes Fabric verwendet werden. Als eine veranschaulichendes Beispiel können einige der oben besprochenen Fabrics (z.B. eine andere On-Die-Verbindung, Intel® On-chip System Fabric (IOSF), eine Advanced Microcontroller Bus Architecture (AMBA)-Verbindung, ein mehrdimensionales Mesh-Fabric oder eine andere bekannte Verbindungsarchitektur) auf ähnliche Weise verwendet werden.
  • Wie ferner dargestellt ist, enthält die Systemagentdomäne 1010 eine Anzeige-Engine 1012, die eine Steuerung und eine Schnittstelle zu einer zugehörigen Anzeige vorsehen soll. Die Systemagentdomäne 1010 kann andere Einheiten enthalten, wie: eine integrierte Speichersteuerung 1020, die eine Schnittstelle zu einem Systemspeicher (z.B. einem DRAM, der mit mehreren DIMMs implementiert ist; Kohärenzlogik 1022 zum Durchführen von Speicherkohärenzoperationen vorsieht. Mehrere Schnittstellen können vorhanden sein, um eine Verbindung zwischen dem Prozessor und einem anderen Schaltkreis zu ermöglichen. Zum Beispiel ist in einer einzigen Ausführungsform zumindest eine direkte Medienschnittstelle (DMI) 1016 Schnittstelle vorgesehen wie auch eine oder mehre PCIe®-Schnittstellen 1014 (z.B. PCIe® Grafik (PEG)-Port Schnittstellen für PEG-Adapter). Die Anzeige-Engine und diese Schnittstellen sind typischerweise über eine PCIe®-Brücke 1018 an den Speicher gekoppelt. In einer Ausführungsform enthält die PCIe®-Brücke 1018 einen Protokollstapel 120 oder 130 mit Zeitversatzvalidierung. In einer anderen Ausführungsform enthält die PCIe®-Brücke 1018 einen Protokollstapel 120 oder 130 mit Zeitversatzvalidierung. Nach oben weisende Ports können anfragende Komponenten 105 sein und nach unten weisende Ports können antwortende Komponenten 110 sein. In einer anderen Ausführungsform enthalten eine oder mehr der PCIe®-Schnittstellen 1014 Protokollstapel 120 oder 130 mit Zeitversatzvalidierung. Überdies, um Kommunikationen zwischen anderen Agenten, wie zusätzlichen Prozessoren oder einem anderen Schaltkreis, vorzusehen, können eine oder mehrere andere Schnittstellen (z.B. ein Intel® Quick Path Interconnect (QPI) Fabric) vorgesehen sein.
  • Eine PCIe®-Schnittstelle 1014 kann mit einer anderen Komponente über einen Link 115 verbunden sein. Der Protokollstapel 120 oder 130 sendet PTM-Nachrichten über Link 115 an die andere Komponente und empfängt PTM-Nachrichten über Link 115 von der anderen Komponente. Beim Erfassen einer Neuübertragung einer PTM-Nachricht setzt der Protokollstapel 120 oder 130 den internen Zeitsteuerungszustand auf ungültig, bis der Protokollstapel 120 oder 130 zwei aufeinanderfolgende PTM-Dialoge vollendet.
  • In Hinblick nun auf 11 ist eine Ausführungsform eines System-on-Chip (SOC)-Designs gemäß den Offenbarungen dargestellt. Als ein spezielles veranschaulichendes Beispiel ist ein SOC 1100 in einem Benutzergerät (UE) enthalten. In einer Ausführungsform bezieht sich UE auf jede Vorrichtung, die durch einen Endbenutzer zur Kommunikation verwendet wird, wie ein in der Hand gehaltenes Telefon, ein Smartphone, Tablet, ultradünnes Notebook, Notebook mit Breitbandadapter oder eine andere ähnliche Kommunikationsvorrichtung. Häufig ist ein UE mit einer Basisstation oder einem Knoten verbunden, der möglicherweise in seiner Art einer Mobilestation (MS) in einem GSM-Netzwerk entspricht.
  • Hier enthält das SOC 1100 2 Kerne - 1106 und 1107. Ähnlich wie in der obenstehenden Besprechung können sich die Kerne 1106 und 1107 einer Instruction Set Architecture anpassen, wie einem auf Intel® Architecture Core™ basierenden Prozessor, einem Advanced Micro Devices, Inc. (AMD) Prozessor, einem MIPS-basierten Prozessor, einem ARM-basierten Prozessordesign oder einen Kunden davon, wie auch ihren Lizenznehmern oder Anwendern. Kerne 1106 und 1107 sind an eine Cache-Steuerung 1108 gekoppelt, die mit einer Busschnittstelleneinheit 1109 und einem L2 Cache 1104 verknüpft ist, um mit anderen Teilen des Systems 1100 zu kommunizieren. Die Verbindung 1110 enthält eine On-Chip-Verbindung, wie eine IOSF-, AMBA- oder andere oben besprochene Verbindung, die möglicherweise einen oder mehrere Aspekte der beschriebenen Offenbarung implementiert. In einer Ausführungsform enthält die Verbindung 1110 einen Protokollstapel 120 mit Zeitversatzvalidierung. In einer anderen Ausführungsform enthält die Verbindung 1110 einen Protokollstapel 130 mit Zeitversatzvalidierung.
  • Die Schnittstelle 1110 sieht Kommunikationskanäle für die anderen Komponenten vor, wie ein Subscriber Identity Module (SIM) 1130 als Schnittstelle mit einer SIM Karte, einen Boot-Rom 1135 zum Führen eines Boot-Codes zur Ausführung durch Kerne 1106 und 1107 zum Initialisieren und Booten des SOC 1100, eine SDRAM-Steuerung 1140 als Schnittstelle mit einem externen Speicher (z.B. DRAM 1160), eine Flash-Steuerung 1145 als Schnittstelle mit einem nicht flüchtigen Speicher (z.B. Flash 1165), eine periphere Steuerung Q1650 (z.B. serielle periphere Schnittstelle) als Schnittstelle mit Peripheriegeräten, Video-Codecs 1120 und Videoschnittstelle 1125 zum Anzeigen und Empfangen eines Eingangs (z.B. durch Berührung möglichen Eingangs), GPU 1115 zum Durchführen von grafikbezogenen Berechnungen usw. Jede dieser Schnittstellen kann Aspekte der hier beschriebenen Offenbarung beinhalten.
  • Die Verbindung 1110 kann mit einer anderen Komponente über einen Link 115 (z.B. On-Chip Verbindung, IOSF, AMBA oder eine andere Verbindung) verbunden sein. Der Protokollstapel 120 oder 130 sendet Zeitsteuerungsprotokollnachrichten über Link 115 zur anderen Komponente und empfängt Zeitsteuerungsprotokollnachrichten über Link 115 von der anderen Komponente. Beim Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht setzt der Protokollstapel 120 oder 130 den internen Zeitsteuerungszustand auf ungültig, bis der Protokollstapel 120 oder 130 zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge vollendet hat.
  • Zusätzlich zeigt das System Peripheriegeräte zur Kommunikation, wie ein Bluetooth®-Modul 1170, 3G-Modem 1175, GPS 1185 und Wi-Fi® 1185. Es ist, wie oben angeführt, festzuhalten, dass ein UE Funk zur Kommunikation enthält. Infolgedessen sind nicht alle diese peripheren Kommunikationsmodule erforderlich. In einem UE soll jedoch eine gewisse Form von Funk zur externen Kommunikation enthalten sein.
  • Unter Bezugnahme nun auf 12 ist ein Blockdiagramm eines Systems 1200 gemäß einer Ausführungsform der Offenbarung dargestellt. Wie in 12 dargestellt, ist das Multiprozessorsystem 1200 ein Punkt-zu-Punkt-Verbindungssystem und enthält einen ersten Prozessor 1270 und einen zweiten Prozessor 1280, die über eine Punkt-zu-Punkt-Verbindung 1250 gekoppelt sind. Jeder der Prozessoren 1270 und 1280 kann eine gewisse Version eines Prozessors sein. In einer Ausführungsform sind 1252 und 1254 Teil eines seriellen Punkt-zu-Punkt-kohärenten Verbindungs-Fabric, wie Intel® Quick Path Interconnect (QPI) Architektur. Infolgedessen kann die Offenbarung innerhalb der QPI-Architektur implementiert sein.
  • Während nur zwei Prozessoren 1270, 1280 dargestellt sind, ist klar, dass der Umfang der vorliegenden Offenbarung nicht darauf beschränkt ist. In anderen Ausführungsformen können ein oder mehr zusätzliche Prozessoren in einem gegebenen Prozessor vorhanden sein.
  • Die Prozessoren 1270 und 1280 sind mit integrierten Speichersteuerungseinheiten 1272 bzw. 1282 dargestellt. Der Prozessor 1270 enthält auch als Teil seiner Bussteuerungseinheiten Punkt-zu-Punkt-(P-P)-Schnittstellen 1276 und 1278; ähnlich enthält der zweite Prozessor 1280 P-P-Schnittstellen 1286 und 1288. Die Prozessoren 1270, 1280 können Informationen über eine Punkt-zu-Punkt-(P-P)-Schnittstelle 1250 unter Verwendung von P-P Schnittstellenschaltungen 1278, 1288 austauschen. Wie in 12 dargestellt, koppeln IMCs 1272 und 1282 die Prozessoren an entsprechende Speicher, nämlich einen Speicher 1232 und einen Speicher 1234, die Abschnitte eines Hauptspeichers sein können, der lokal an die jeweiligen Prozessoren angehängt ist.
  • Die Prozessoren 1270, 1280 tauschen jeweils Informationen mit einem Chipset 1290 über einzelne P-P Schnittstellen 1252, 1254 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1276, 1294, 1286, 1298 aus. Der Chipset 1290 tauscht auch Informationen mit einer Hochleistungsgrafikschaltung 1238 über eine Schnittstellenschaltung 1292 entlang einer Hochleistungsgrafikverbindung 1239 aus. In einer Ausführungsform enthält der Chipset 1290 einen Protokollstapel 120 mit Zeitversatzvalidierung. In einer anderen Ausführungsform enthält der Chipset 1290 einen Protokollstapel 130 mit Zeitversatzvalidierung.
  • Der Chipset 1290 kann mit einer anderen Komponente über einen Link 115 (z.B. P-P-Schnittstelle 1252, P-P-Schnittstelle 1254, Hochleistungsgrafikverbindung 1239, Bus 1216 und so weiter) verbunden sein. Der Protokollstapel 120 oder 130 sendet Zeitsteuerungsprotokollnachrichten über Link 115 an die andere Komponente und empfängt Zeitsteuerungsprotokollnachrichten über Link 115 von der anderen Komponente. Bei Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht setzt der Protokollstapel 120 oder 130 den internen Zeitsteuerungszustand auf ungültig, bis der Protokollstapel 120 oder 130 zwei aufeinanderfolgende Zeitsteuerungsprotokolldialoge vollendet.
  • Ein gemeinsam benutzter Cache (nicht dargestellt) kann entweder in einem Prozessor oder außerhalb beider Prozessoren enthalten sein; aber dennoch mit den Prozessoren über eine P-P-Verbindung verbunden sein, sodass lokale Cache-Informationen eines oder beider Prozessoren im gemeinsam benutzten Cache gespeichert werden können, wenn ein Prozessor in einen Niederleistungsmodus gestellt wird.
  • Der Chipset 1290 kann über eine Schnittstelle 1296 an einen ersten Bus 1216 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1216 ein Peripherkomponentenverbindungs- (PCI) Bus oder ein Bus wie ein PCI-Expressbus oder ein anderer I/O-Verbindungsbus der dritten Generation sein, obwohl der Umfang der vorliegenden Offenbarung nicht darauf beschränkt ist.
  • Wie in 12 dargestellt, sind verschiedene I/O-Vorrichtungen 1214 an den ersten Bus 1216, gemeinsam mit einer Busbrücke 1218 gekoppelt, die den ersten Bus 1216 an einen zweiten Bus 1220 koppelt. In einer Ausführungsform enthält der zweite Bus 1220 einen Low Pin Count (LPC, niedrige Pinzahl) Bus. Verschiedene Vorrichtungen sind in einer einzigen Ausführungsform an den zweiten Bus 1220 gekoppelt, enthaltend zum Beispiel eine Tastatur und/oder Maus 1222, Kommunikationsvorrichtungen 1227 und eine Datenspeichereinheit 1228 wie eine Laufwerk oder eine andere Massendatenspeichervorrichtung, die häufig Anweisungen/Code und Daten 1230 enthält. Ferner ist ein Audio-I/O 1224 an den zweiten Bus 1220 gekoppelt dargestellt. Es ist zu beachten, dass andere Architekturen möglich sind, wo die enthaltenen Komponenten und Verbindungsarchitekturen variieren. Zum Beispiel kann ein System anstelle einer Punkt-zu-Punkt-Architektur von 12 einen Multi-Drop-Bus oder eine andere derartige Architektur implementieren.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • Beispiel 1 ist eine anfragende Komponente, umfassend: Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link; Empfangslogik zum Empfangen von Zeitsteuerungsprotokollantworten von der antwortenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eines eine Zeitsteuerungsprotokollanfrage oder eine Zeitsteuerungsprotokollantwort umfasst; und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die Validierungslogik den internen Zeitsteuerungszustand der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig setzt.
  • In Beispiel 2, der Gegenstand von Beispiel 1, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 3, der Gegenstand eines der Beispiele 1-2, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 4, der Gegenstand eines der Beispiele 1-3, wobei die anfragende Komponente über die Übertragungslogik Zeitsteuerungsprotokollanfragen aufeinanderfolgend überträgt, bis die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge mit sämtlichen Neuübertragungen vollendet sind.
  • In Beispiel 5, der Gegenstand eines der Beispiele 1-4, wobei die Validierungslogik den internen Zeitsteuerungszustand unter Verwendung von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort auf gültig setzt.
  • In Beispiel 6, der Gegenstand eines der Beispiele 1-5, wobei die Empfangslogik Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, ignoriert, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können verschiedene Kombinationen der oben beschriebenen Strukturmerkmale aufweisen. Beispielsweise können alle optionalen Merkmale des oben 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 7 ist eine antwortende Komponente umfassend: Empfangslogik zum Empfangen von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollantworten zur anfragenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die Validierungslogik den internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig setzt.
  • In Beispiel 8, der Gegenstand von Beispiel 7, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 9, der Gegenstand eines der Beispiele 7-8, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 10, der Gegenstand eines der Beispiele 7-9, wobei die Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen dient, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 11 ist ein Verfahren umfassend: Übertragen, über Übertragungslogik einer anfragenden Komponente, von Zeitsteuerungsprotokollanfragen über einen Link zu einer antwortenden Komponente; Erfassen, über Wiederholungserfassungslogik der anfragenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig; Erfassen, über die Validierungslogik der anfragenden Komponente, zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 12, der Gegenstand von Beispiel 11, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 13, der Gegenstand eines der Beispiele 11-12, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 14, der Gegenstand eines der Beispiele 11-13, wobei die Übertragungslogik die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgend zur antwortenden Komponente überträgt.
  • In Beispiel 15, der Gegenstand eines der Beispiele 11-14, wobei das Setzen des internen Zeitsteuerungszustands auf gültig ein Verwenden von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  • In Beispiel 16, der Gegenstand eines der Beispiele 11-15, ferner umfassend ein Ignorieren von Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 17 ist ein Verfahren umfassend: Empfangen, über die Empfangslogik einer antwortenden Komponente, von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Erfassen, über die Wiederholungserfassungslogik der antwortenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig; Empfangen, über die Empfangslogik, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente; Übertragen, über die Übertragungslogik der antwortenden Komponente, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort ohne Datennutzlast zur anfragenden Komponente in Antwort auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage; Empfangen, über die Empfangslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente, wobei die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgen; und Übertragen, über die Übertragungslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort mit einer Datennutzlast zur anfragenden Komponente in Antwort auf die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage.
  • In Beispiel 18, der Gegenstand von Beispiel 17, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 19, der Gegenstand eines der Beispiele 17-18, ferner umfassend: Erfassen, über die Validierungslogik der antwortenden Komponente, von zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialogen, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 20, der Gegenstand eines der Beispiele 17-19, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  • In Beispiel 21, der Gegenstand eines der Beispiele 17-20, ferner umfassend ein Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 22 ist ein System umfassend: eine anfragende Komponente, die eine erste Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollanfragen und eine erste Empfangslogik zum Empfangen von Zeitsteuerungsprotokollantworten umfasst; und eine antwortende Komponente, die an die antwortende Komponente über physische Spuren gekoppelt ist, die antwortende Komponente umfassend: eine zweite Empfangslogik zum Empfangen der Zeitsteuerungsprotokollanfragen; eine zweite Übertragungslogik zum Übertragen der Zeitsteuerungsprotokollantworten in Antwort auf die Zeitsteuerungsprotokollanfragen; eine zweite Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und eine zweite Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die zweite Validierungslogik dazu dient, den internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig zu setzen.
  • In Beispiel 23, der Gegenstand von Beispiel 22, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 24, der Gegenstand eines der Beispiele 22-23, wobei die anfragende Komponente ferner umfasst: eine erste Wiederholungserfassungslogik zum Erfassen der Neuübertragung und Setzen einen internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig; und erste Validierungslogik zum Erfassen der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge und Setzen des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 25, der Gegenstand eines der Beispiele 22- 24, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 26 ist eine System umfassend: eine antwortende Komponente, umfassend eine zweite Empfangslogik zum Empfangen von Zeitsteuerungsprotokollanfragen und eine zweite Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollantworten in Antwort auf die Zeitsteuerungsprotokollanfragen; und eine anfragende Komponente, die an die antwortende Komponente über physische Spuren gekoppelt ist, die anfragende Komponente umfassend: eine erste Übertragungslogik zum Übertragen der Zeitsteuerungsprotokollanfragen; eine erste Empfangslogik zum Empfangen der Zeitsteuerungsprotokollantworten; eine erste Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und eine erste Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die erste Validierungslogik dazu dient, den internen Zeitsteuerungszustand der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig zu setzen.
  • In Beispiel 27, der Gegenstand von Beispiel 26, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 28, der Gegenstand eines der Beispiele 26-27, wobei die antwortende Komponente ferner umfasst: eine zweite Wiederholungserfassungslogik zum Erfassen der Neuübertragung und Setzen einen internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig; und eine zweite Validierungslogik zum Erfassen der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge und Setzen des internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 29, der Gegenstand eines der Beispiele 26-28, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 30, der Gegenstand eines der Beispiele 26-29, wobei die anfragende Komponente über die Übertragungslogik Zeitsteuerungsprotokollanfragen aufeinanderfolgend überträgt, bis die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge mit sämtlichen Neuübertragungen vollendet sind.
  • In Beispiel 31, der Gegenstand eines der Beispiele 26-30, wobei die Validierungslogik den internen Zeitsteuerungszustand unter Verwendung von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort auf gültig setzt.
  • In Beispiel 32, der Gegenstand eines der Beispiele 26-31, wobei die Empfangslogik Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, ignoriert, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 33 ist eine Vorrichtung, umfassend Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 11-21.
  • Beispiel 34 ist eine Vorrichtung, umfassend Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 11-21.
  • Beispiel 35 ist zumindest ein maschinenlesbares Medium, umfassend eine Vielzahl von Anweisungen, zum Implementieren, wenn ausgeführt, eines Verfahrens oder zur Ausführung einer Vorrichtung nach einem der Ansprüche 11-21.
  • Beispiel 36 ist eine Vorrichtung, umfassend eine Prozessor, der konfiguriert ist, das Verfahren nach einem der Ansprüche 11-21 durchzuführen.
  • Beispiel 37 ist eine anfragende Komponente umfassend: Übertragungsmittel zum Übertragen von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link; Empfangsmittel zum Empfangen von Zeitsteuerungsprotokollantworten von der antwortenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungsmittel zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und Validierungsmittel zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei das Validierungsmittel zum Setzen des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig dient.
  • In Beispiel 38, der Gegenstand von Beispiel 37, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 39, der Gegenstand eines der Beispiele 37-48, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 40, der Gegenstand eines der Beispiele 37-39, wobei das Übertragungsmittel zum aufeinanderfolgen Übertragen von Zeitsteuerungsprotokollanfragen dient, bis die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge mit sämtlichen Neuübertragungen vollendet sind.
  • In Beispiel 41, der Gegenstand eines der Beispiele 37-40, wobei das Validierungsmittel zum Setzen des internen Zeitsteuerungszustands unter Verwendung von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort auf gültig dient.
  • In Beispiel 42, der Gegenstand eines der Beispiele 37-41, wobei das Empfangsmittel zum Ignorieren von Datennutzlasten von Zeitsteuerungsprotokollantworten dient, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 43 ist eine antwortende Komponente umfassend: Empfangsmittel zum Empfangen von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Übertragungsmittel zum Übertragen von Zeitsteuerungsprotokollantworten zur anfragenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungsmittel zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Validierungsmittel zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei das Validierungsmittel zum Setzen des internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig dient.
  • In Beispiel 44, der Gegenstand von Beispiel 43, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 45, der Gegenstand eines der Beispiele 43-44, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 46, der Gegenstand eines der Beispiele 43-45, wobei das Übertragungsmittel zum Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen dient, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 47 ist ein nicht transitorisches computerlesbares Medium, umfassend Anweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, der an eine anfragenden Komponente gekoppelt ist, die anfragende Komponente veranlassen zum: Übertragen, über die Übertragungslogik der anfragenden Komponente, von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link; Erfassen, über die Wiederholungserfassungslogik der anfragenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig; Erfassen, über die Validierungslogik der anfragenden Komponente, zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 48, der Gegenstand von Beispiel 47, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 49, der Gegenstand eines der Beispiele 47-48, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  • In Beispiel 50, der Gegenstand eines der Beispiele 47-49, wobei die Übertragungslogik die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgend zur antwortenden Komponente überträgt.
  • In Beispiel 51, der Gegenstand eines der Beispiele 47-50, wobei das Setzen des internen Zeitsteuerungszustands auf gültig ein Verwenden von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  • In Beispiel 52, der Gegenstand eines der Beispiele 47-51, wobei die Anweisungen, wenn sie ausgeführt werden, ferner die anfragende Komponente veranlassen, Datennutzlasten von Zeitsteuerungsprotokollantworten zu ignorieren, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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 53 ist ein nicht transitorisches computerlesbares Medium, umfassend Anweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, der an eine antwortenden Komponente gekoppelt ist, die antwortende Komponente veranlassen zum: Empfangen, über die Empfangslogik der antwortenden Komponente, von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Erfassen, über die Wiederholungserfassungslogik der antwortenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig; Empfangen, über die Empfangslogik, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente; Übertragen, über die Übertragungslogik der antwortenden Komponente, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort ohne Datennutzlast zur anfragenden Komponente in Antwort auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage; Empfangen, über die Empfangslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente, wobei die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgen; und Übertragen, über die Übertragungslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort mit einer Datennutzlast zur anfragenden Komponente in Antwort auf die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage.
  • In Beispiel 54, der Gegenstand von Beispiel 53, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  • In Beispiel 55, der Gegenstand eines der Beispiele 53-54, wobei die Anweisungen, wenn sie ausgeführt werden, ferner die antwortende Komponente veranlassen zum: Detektieren, über die Validierungslogik der antwortenden Komponente, zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  • In Beispiel 56, der Gegenstand eines der Beispiele 53-55, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  • In Beispiel 57, der Gegenstand eines der Beispiele 53-55, wobei die Anweisungen, wenn sie ausgeführt werden, ferner die antwortende Komponente zum Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen, die nach der Neuübertragung empfangen werden, veranlassen, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  • Verschiedene Ausführungsformen können unterschiedliche Kombinationen der oben beschriebenen Strukturmerkmale haben. Beispielsweise können alle optionalen Merkmale des oben 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.
  • Während die vorliegende Offenbarung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, werden Fachleute auf dem Gebiet zahlreiche Modifizierungen und Variationen erkennen. Die beiliegenden Ansprüche sollen alle derartigen Modifizierungen und Variationen, die in das wahre Wesen und dem Umfang dieser vorliegenden Offenbarung fallen, abdecken.
  • In der vorliegenden Beschreibung sind zahlreiche Einzelheiten angeführt, wie Beispiele spezieller Arten von Prozessoren und Systemkonfigurationen, spezieller Hardware-Strukturen, spezieller architektonischer und mikroarchitektonischer Einzelheiten, spezieller Registerkonfigurationen, spezieller Anweisungsarten, spezieller Systemkomponenten, spezieller Maße/Höhen, spezieller Prozessor-Pipeline-Stufen und eines speziellen Betriebs usw., um ein umfassendes Verständnis der vorliegenden Offenbarung zu bieten. Einem Fachmann auf dem Gebiet ist jedoch klar, dass diese speziellen Einzelheiten zur Umsetzung der vorliegenden Offenbarung in die Praxis nicht eingesetzt werden müssen. In anderen Fällen wurden allgemein bekannte Komponenten oder Verfahren, wie spezielle und alternative Prozessorarchitekturen, spezielle Logikschaltungen/-code für beschriebene Algorithmen, spezieller Firmwarecode, spezieller Verbindungsbetrieb, spezielle Logikkonfigurationen, spezielle Herstellungstechniken und -materialien, spezielle Compiler-Implementierungen, spezielle Angaben von Algorithmen in Code, spezielle Leistungsverringerungs- und Gating-Techniken/Logik und andere spezielle betriebliche Einzelheiten eines Computersystems nicht ausführlich beschrieben, um ein unnötiges Verschleiern der vorliegenden Offenbarung zu vermeiden.
  • Die Ausführungsformen können unter Bezugnahme auf eine Zeitstempelvalidierung von Komponenten in Solid-State-Speichervorrichtungen in speziellen integrierten Schaltungen beschrieben werden, wie in Rechenplattformen oder Mikroprozessoren. Die Ausführungsformen können auch bei anderen Arten von integrierten Schaltungen und programmierbaren Logikvorrichtungen anwendbar sein. Zum Beispiel sind die offenbarten Ausführungsformen nicht auf Desktop-Computersysteme oder tragbare Computer, wie die Intel® Ultrabooks™ Computer beschränkt und können auch in anderen Vorrichtungen verwendet werden, wie in von Hand gehaltenen Vorrichtungen, Tablets, anderen dünnen Notebooks, Systems-on-Chip (SoC)-Vorrichtungen und eingebetteten Anwendungen. Einige Beispiele für von Hand gehaltene Vorrichtungen enthalten Mobiltelefone, Internet-Protokollvorrichtungen, digitale Kameras, Personal Digital Assistants (PDAs) und von Hand gehaltene PCs. Eingebettete Anwendungen enthalten typischerweise eine Mikrosteuerung, einen Digitalsignalprozessor (DSP), ein System-on-Chip, Netzwerkcomputer (NetPC), Set-Top Boxes, Netzwerk-Hubs, Weitverkehrsnetzwerk (WAN)-Schalter oder jedes andere System, das die in der Folge gelehrten Funktionen und Operationen ausführen kann. Es ist beschrieben, dass das System jede Art von Computer oder eingebettetem System sein kann. Die offenbarten Ausführungsformen können im Speziellen für Low-End-Vorrichtungen verwendet werden, wie tragbare Vorrichtungen (z.B. Uhren), elektronische Implantate, sensorische und Steuerungsinfrastrukturvorrichtungen, Steuerungen, Überwachungssteuerung- und Datenerfassungs- (SCADA) Systeme oder dergleichen. Ferner sind die hier beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf physische Rechenvorrichtungen beschränkt, sondern können sich auch auf Software-Optimierungen zur Energiebewahrung und Effizienz beziehen. Wie aus der folgenden Beschreibung hervorgeht, sind die hier beschriebenen Ausführungsformen von Verfahren, Vorrichtungen und Systemen (ob in Bezug auf Hardware, Firmware, Software oder eine Kombination davon) für eine zukünftige ‚grüne Technologie‘ wesentliche, die mit Leistungsüberlegungen ausgewogen ist.
  • Obwohl die Ausführungsformen hier in Bezug auf einen Prozessor beschrieben sind, sind andere Ausführungsformen bei anderen Arten von integrierten Schaltungen und Logikvorrichtungen anwendbar. Ähnliche Techniken und Lehren von Ausführungsformen der vorliegenden Offenbarung können bei anderen Arten von Schaltungen oder Halbleitervorrichtungen angewendet werden, die von einem höheren Pipeline-Durchsatz und einer verbesserten Leistung profizieren können. Die Lehren von Ausführungsformen der vorliegenden Offenbarung sind bei jedem Prozessor oder jeder Maschine anwendbar, der bzw. die Datenmanipulationen durchführt. Die vorliegende Offenbarung ist jedoch nicht auf Prozessoren oder Maschinen beschränkt, die 512 Bit-, 256 Bit-, 128 Bit-, 64 Bit-, 32 Bit- oder 16 Bit-Datenoperationen ausführen, und können bei jedem Prozessor und jeder Maschine angewendet werden, in dem bzw. der eine Manipulation oder ein Management von Daten durchgeführt wird. Zusätzlich sieht die Beschreibung hier Beispiele vor und die beiliegenden Zeichnungen zeigen verschiedene Beispiele zur Veranschaulichung. Diese Beispiele sollten jedoch nicht im Sinn einer Einschränkung ausgelegt werden, da sie nur Beispiele von Ausführungsformen der vorliegenden Offenbarung vorsehen sollen und keine erschöpfende Liste aller möglichen Implementierungen von Ausführungsformen der vorliegenden Offenbarung vorsehen sollen.
  • Obwohl die folgenden Beispiele eine Anweisungshandhabung und -verteilung im Zusammenhang mit Ausführungseinheiten und Logikschaltungen beschreiben, können andere Ausführungsformen der vorliegenden Offenbarung anhand von Daten oder Anweisungen erzielt werden, die auf einem maschinenlesbaren, handfesten Medium gespeichert sind, die, wenn sie durch eine Maschine ausgeführt werden, die Maschine 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 Anweisungen verkörpert. Die Anweisungen können verwendet werden, einen Allzweck- oder Spezialzweck-Prozessor, der mit den Anweisungen programmiert ist, zu veranlassen, die Schritte der vorliegenden Offenbarung auszuführen. Ausführungsformen der vorliegenden Offenbarung können als Computerprogrammprodukt oder Software vorgesehen sein, das bzw. die ein maschinen- oder computerlesbares Medium enthalten kann, auf dem Anweisungen gespeichert sind, die zum Programmieren eines Computers (oder anderer elektronischer Vorrichtungen) verwendet werden können, um einen oder mehrere Betriebe gemäß Ausführungsformen der vorliegenden Offenbarung auszuführen. Alternativ könnten Betriebe von Ausführungsformen der vorliegenden Offenbarung durch spezielle Hardware-Komponenten ausgeführt werden, die Logik fixierter Funktion zur Durchführung der Betriebe enthalten, oder durch eine Kombination aus programmierten Computer Komponenten und Hardware-Komponenten fixierter Funktion.
  • Anweisungen, die zum Programmieren von Logik verwendet werden, um Ausführungsformen der Offenbarung durchzuführen, können in einem Speicher im System, wie einem DRAM, Cache, Flash-Speicher oder einem anderen Speicher gespeichert werden. Überdies können die Anweisungen über ein Netzwerk oder durch andere computerlesbare Medien verteilt werden. Daher kann ein maschinenlesbares Medium jeden Mechanismus zum Speichern oder Übertragen von Informationen in einer Form, die durch eine Maschine (z.B. einen Computer) lesbar ist, enthalten, wie, ohne aber darauf beschränkt zu sein, Disketten, optische Speicherplatten, Compact Disc Nur-Lese-Speicher (CD-ROMs) und magneto-optische Speicherplatten, Nur-Lese-Speicher (ROMs), einen Direktzugriffsspeicher (RAM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), magnetische oder optische Karten, einen Flash-Speicher oder einen handfesten, maschinenlesbaren Datenspeicher, der in der Übertragung von Informationen über das Internet mittels elektrischer, optischer, akustischer oder anderer Formen sich ausbreitender Signale (z.B. Trägerwellen, Infrarotsignale, digitale Signale usw.) verwendet wird. Daher enthält das computerlesbare Medium jede Aart von handfestem maschinenlesbaren Medium, das zum Speichern oder Übertragen elektronischer Anweisungen oder Informationen in einer Form, die durch eine Maschine (z.B. einen Computer) lesbar ist, geeignet ist.
  • Ein Design kann verschiedene Stufen durchlaufen, von einer Erzeugung bis zum Simulation bis zur Fertigung. Daten, die ein Design darstellen, können das Design in zahlreichen Weisen darstellen. Erstens, wie dies bei Simulationen nützlich ist, kann die Hardware unter Verwendung einer Hardware-Beschreibungssprache oder einer anderen funktionellen Beschreibungssprache dargestellt werden. Zusätzlich kann ein Schaltungsebenenmodell mit Logik und/oder Transistor-Gates in gewissen Stufen des Designprozesses produziert werden. Überdies erreichen die meisten Designs in einer gewissen Stufe einen Wert von Daten, die die physische Platzierung verschiedener Vorrichtungen im Hardware-Modell repräsentieren. Für den Fall, dass herkömmliche Halbleiterfertigungstechniken verwendet werden, können die Daten, die das Hardware-Modell darstellen, die Daten sein, die das Vorhandensein oder Fehlen verschiedener Merkmale auf verschiedenen Maskenschichten für Masken spezifizieren, die zum Produzieren der integrierten Schaltung verwendet werden. In jeder Darstellung des Design können die Daten in einer Form eines maschinenlesbaren Mediums gespeichert sein. Ein Speicher oder ein magnetischer oder optischer Datenspeicher wie eine Platte, kann das maschinenlesbare Medium zum Speichern von Informationen sein, die über eine optische oder elektrische Welle übertragen werden, die moduliert oder auf andere Weise generiert wird, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder das Design anzeigt oder trägt, übertragen wird, wird in dem Ausmaß, dass ein Kopieren, Puffern oder Neuübertragen des elektrischen Signals durchgeführt wird, eine neue Kopie erstellt. Daher kann ein Kommunikationsanbieter oder ein Netzwerkanbieter einen Artikel, wie Informationen, die in eine Trägerwelle codiert sind, auf einem handfesten, maschinenlesbaren Medium, zumindest vorübergehend, speichern, das Techniken von Ausführungsformen der vorliegenden Offenbarung verkörpert.
  • Ein Modul, wie hier verwendet, bezieht sich auf jede Kombination aus Hardware, Software und/oder Firmware. Beispielsweise enthält ein Modul Hardware, wie eine Mikrosteuerung, verknüpft mit einem nicht transitorischen Medium, um einen Code zu speichern, der ausgebildet ist, durch die Mikrosteuerung ausgeführt zu werden. Daher bezieht sich ein Verweis auf ein Modul in einer einzigen Ausführungsform auf die Hardware, die im Speziellen konfiguriert ist, den Code zu erkennen und/oder auszuführen, der auf einem nicht transitorisches Medium gehalten werden soll. Überdies bezieht sich in einer anderen Ausführungsform eine Verwendung eine Moduls auf das nicht transitorische Medium, das den Code enthält, der im Speziellen ausgebildet ist, durch die Mikrosteuerung ausgeführt zu werden, um vorbestimmte Operationen auszuführen. Und wie abgeleitet werden kann, in einer weiteren Ausführungsform kann sich der Begriff Modul (in diesem Beispiel) auf die Kombination aus der Mikrosteuerung und dem nicht transitorischen Medium beziehen. Häufig variieren Modulgrenzen, die als separat dargestellt sind, allgemein und überlappen möglicherweise. Zum Beispiel können sich ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon teilen, während möglicherweise eine gewisse unabhängige Hardware, Software oder Firmware beibehalten wird. In einer Ausführungsform enthält die Verwendung des Begriffs Logik Hardware, wie Transistoren, Register oder andere Hardware, wie programmierbare Logikvorrichtungen.
  • Die Phrase ‚konfiguriert zum‘ in einer einzigen Ausführungsform bezieht sich auf die Anordnung, Zusammenstellung, Herstellung, das Anbieten zum Verkauf, Importieren und/oder Designen einer Vorrichtung, Hardware, Logik, oder eines Elements zum Durchführen einer angegebenen oder bestimmten Aufgabe. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, die bzw. das nicht arbeitet, noch immer ‚konfiguriert‘, eine angegebene Aufgabe auszuführen, wenn sie bzw. es gestaltet, gekoppelt und/oder verbunden ist, die angegebene Aufgabe auszuführen. Als rein veranschaulichendes Beispiel kann ein Logik-Gate eine 0 oder eine 1 während des Betriebs vorsehen. Aber ein Logik-Gate, das ‚konfiguriert‘ ist, ein Freigabesignal an eine Uhr vorzusehen, enthält nicht jede mögliche Logik-Gate, das eine 1 oder 0 bereitstellen kann. Stattdessen ist das Logik-Gate eines, das in einer gewissen Weise gekoppelt ist, dass während des Betriebs die ausgegebene 1 oder 0 dazu dient, die Uhr freizugeben. Es wird einmal mehr festgehalten, dass die Verwendung des Begriffs ‚konfiguriert‘ keinen Betrieb erfordert, sondern stattdessen der Fokus auf dem latenten Zustand einer Vorrichtung, Hardware und/oder eines Elements liegt, wo im latenten Zustand die Vorrichtung, Hardware und/oder das Element gestaltet ist, eine bestimmte Aufgabe durchzuführen, wenn die Vorrichtung, Hardware und/oder das Element in Betrieb ist.
  • Überdies bezieht sich die Verwendung der Phrasen ‚zum‘, ‚imstande zum‘, und oder ‚betriebsbereit zum‘ in einer einzigen Ausführungsform auf eine gewisse Vorrichtung, Logik, Hardware und/oder ein Element, die bzw. das derart gestaltet ist, dass eine Verwendung der Vorrichtung, Logik, Hardware und/oder des Elements in einer spezifizierten Weise möglich ist. Wie oben wird festgehalten, dass die Verwendung von zum, imstande zum oder betriebsbereit zum sich in einer einzigen Ausführungsform auf den latenten Zustand einer Vorrichtung, Logik, Hardware, und/oder eines Elements bezieht, wo die Vorrichtung, Logik, Hardware und/oder das Element nicht arbeitet, aber derart gestaltet ist, dass eine Verwendung einer Vorrichtung in einer spezifizierten Weise möglich ist.
  • Ein Wert, wie hier verwendet, enthält jede bekannte Darstellung einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Häufig wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1 und 0 bezeichnet, die einfach binäre Logikzustände darstellen. Zum Beispiel bezieht sich eine 1 auf einen hohen Logikpegel und 0 bezieht sich auf einen niederen Logikpegel. In einer Ausführungsform kann eine Datenspeicherzelle, wie eine Transistor- oder Flash-Zelle, imstande sein, einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Andere Darstellungen von Werten in Computersystemen wurden jedoch verwendet. Zum Beispiel kann die Dezimalzahl Zehn auch als binärer Wert 1010 und ein hexadezimaler Buchstabe A dargestellt werden. Daher enthält ein Wert jede Darstellung von Informationen, die imstande sind, in einem Computersystem gehalten zu werden.
  • Weiters können Zustände durch Werte oder Abschnitte von Werten dargestellt werden. Als ein Beispiel kann ein erster Wert, wie eine logische Eins, einen Vorgabe- oder anfänglichen Zustand darstellen, während ein zweiter Wert, wie eine logische Null, einen Nicht-Vorgabezustand darstellen kann. Zusätzlich beziehen sich die Begriffe Rücksetzen und setzen in einer einzigen Ausführungsform auf einen Vorgabe- bzw. einen aktualisierten Wert oder Zustand. Zum Beispiel enthält ein Vorgabewert möglicherweise einen hohen logischen Wert, d.h. Rücksetzen, während ein aktualisierter Wert möglicherweise einen niederen logischen Wert enthält, d.h. Setzen. Es ist zu beachten, dass jede Kombination von Werten zur Darstellung einer beliebigen Zahl von Zuständen benutzt werden kann.
  • Die oben angeführten Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über Anweisungen oder Code implementiert werden, die auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind, die durch ein Verarbeitungselement ausführbar sind. Ein nicht transitorisches maschinenzugängliches/-lesbare Medium enthält jeden Mechanismus, der Informationen in einer Form vorsieht (d.h. speichert und/oder überträgt), die durch eine Maschine, wie einen Computer oder ein elektronisches System, lesbar ist. Zum Beispiel enthält ein nicht transitorisches maschinenzugängliches Medium einen Direktzugriffsspeicher (RAM), wie statischen RAM (SRAM) oder dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Datenspeichermedium; Flash-Speichervorrichtungen; elektrische Datenspeichervorrichtungen; optische Datenspeichervorrichtungen; akustische Datenspeichervorrichtungen; eine andere Form von Datenspeichervorrichtungen zum Halten von Informationen, die von transitorischen (ausgebreiteten) Signalen (z.B. Trägerwellen, Infrarotsignalen, digitalen Signale) empfangen werden; usw., die von den nicht transitorischen Medien zu unterscheiden sind, die Informationen von diesen empfangen können.
  • Anweisungen, die zum Programmieren von Logik verwendet werden, um Ausführungsformen der Offenbarung durchzuführen, können in einem Speicher im System gespeichert werden, wie einem DRAM, Cache, Flash-Speicher oder einem anderen Datenspeicher. Überdies können die Anweisungen über ein Netzwerk oder durch andere computerlesbare Medien verteilt werden. Daher kann ein maschinenlesbares Medium jeden Mechanismus zum Speichern oder Übertragen von Informationen in einer Form, die durch eine Maschine (z.B. einen Computer) lesbar ist, enthalten, ist aber nicht beschränkt auf Disketten, optische Speicherplatten, Compact Disc Nur-Lese-Speicher (CD-ROMs), und magneto-optische Speicherplatten, Nur-Lese-Speicher (ROMs), Direktzugriffsspeicher (RAM), löschbaren programmierbaren Nur-Lese-Speicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen handfesten, maschinenlesbaren Datenspeicher, die in der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen ausgebreiteter Signale (z.B. Trägerwellen, Infrarotsignale, digitale Signale usw.) verwendet werden. Daher enthält das computerlesbare Medium jede Art von handfestem maschinenlesbaren Medium, das zum Speichern oder Übertragen elektronischer Anweisungen oder Informationen in einer Form, die durch eine Maschine (z.B. einen Computer) lesbar ist, geeignet ist.
  • Ein Verweis in dieser Beschreibung auf „eine einzige Ausführungsform“ oder „eine Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben ist, in zumindest ein Ausführungsform der vorliegenden Offenbarung enthalten ist. Daher beziehen sich die Stellen der Phrasen „in einer einzigen Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen in dieser Beschreibung nicht unbedingt alle auf dieselben Ausführungsform. Überdies können die bestimmten Merkmale, Strukturen oder Eigenschaften in jeder geeigneten Weisen in einer oder mehreren Ausführungsformen kombiniert sein.
  • In der vorangehenden Beschreibung wurde eine ausführliche Beschreibung unter Bezugnahme auf spezielle beispielhafte Ausführungsformen gegeben. Es ist jedoch offensichtlich, dass verschiedene Modifizierungen und Änderungen daran vorgenommen werden können, ohne vom weiteren Wesen und Umfang der Offenbarung abzuweichen, die in den beiliegenden Ansprüchen dargelegt ist. Die Beschreibung und Zeichnungen sind daher in einem veranschaulichenden Sinn und nicht einschränkendem Sinn zu betrachten. Überdies bezieht sich die vorangehende Verwendung von Ausführungsform und anderer beispielhafter Ausdrucksweise nicht unbedingt auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf eine andere und unterschiedliche, wie auch möglicherweise dieselbe Ausführungsform beziehen.
  • Einige Abschnitte der ausführlichen Beschreibung sind im Sinne von Algorithmen und symbolischen Darstellungen von Vorgängen an Daten-Bits innerhalb eines Computerspeichers präsentiert. Diese algorithmischen Beschreibungen und Darstellungen sind Mittel, die von Fachleuten auf dem Gebiet der Datenverarbeitung verwendet werden, um die Substanz ihrer Arbeit anderen Fachleuten auf dem Gebiet am effektivsten zu vermitteln. Ein Algorithmus ist hier und allgemein als eine eigenständige Abfolge von Operationen zu sehen, die zu einem gewünschten Ergebnis führt. Die Operationen sind jene, die physische Manipulationen physikalischer Größen erfordern. Üblicherweise, wenn auch nicht unbedingt, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die imstande sind gespeichert, überführt, kombiniert, verglichen oder auf andere Weise manipuliert zu werden. Es hat sich gelegentlich als praktisch erwiesen, vorwiegend aus Gründen der allgemeinen Verwendung, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen. Terme, Zahlen oder dergleichen zu bezeichnen. Die hier beschriebenen Blöcke können Hardware, Software, Firmware oder eine Kombination davon sein.
  • Es sollte jedoch berücksichtigt werden, dass alle diese und ähnliche Begriffe mit den richtigen physikalischen Größen zu verknüpfen sind und nur praktische Etiketten sind, die auf diese Größen aufgebracht werden. Falls nicht anders angeführt ist, wie aus der obenstehende Diskussion hervorgeht, ist klar, dass sich in der gesamten Beschreibung Diskussionen, die Begriffe wie „Definieren“, „Empfangen“, „Bestimmen“, „Ausgeben“, „Verbinden“, „Verknüpfen“, „Erhalten“, „Authentifizieren“, „Verhindern“, „Ausführen“, „Anfragen“, „Kommunizieren“, „Übertragen“, „Erfassen“, „Setzen“ oder dergleichen verwenden, auf Aktionen und Prozesse eines Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten, die als physikalische (z.B. elektronische) Größen in den Registern und Speichern eines Rechensystems dargestellt sind, in andere Daten manipuliert und transformiert, die ähnlich als physikalische Größen in den Speichern oder Registern des Rechensystems oder anderen solchen Informationsdatenspeichern, Übertragungs- oder Anzeigevorrichtungen dargestellt sind.
  • Die Wörter „Beispiel“ oder „beispielhaft“ werden hier in der Bedeutung, als ein Beispiel, eine Instanz oder Veranschaulichung dienend, verwendet. Jeder Aspekt oder jedes Design, das hier als „Beispiel“ oder „beispielhaft“ beschrieben ist, ist nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Designs auszulegen. Vielmehr soll die Verwendung der Wörter „Beispiel“ oder „beispielhaft“ Konzepte in einer konkreten Weise präsentieren. Wie in dieser Anmeldung verwendet, soll der Begriff „oder“ ein inklusives „oder“ und nicht ein exklusives „oder“ bedeuten. Das heißt, falls nicht anderes spezifiziert ist oder aus dem Kontext hervorgeht, soll „X enthält A oder B“ jede der natürlichen inklusiven Permutationen bedeuten. Das heißt, falls X A enthält; X B enthält; oder X sowohl A wie auch B enthält, dann ist „X enthält A oder B“ in einem der vorangehenden Instanzen erfüllt. Zusätzlich sollten die Artikel „einer“, „eine“ und „ein“, wie in dieser Anmeldung und den beiliegenden Ansprüchen verwendet, allgemein so ausgelegt werden, dass sie „eine oder mehrere“ bedeuten, falls nicht anderes spezifiziert ist oder aus dem Kontext hervorgeht, dass sie auf eine Singularform gerichtet sind. Überdies soll die Verwendung des Begriffs „eine Ausführungsform“ oder „eine einzige Ausführungsform“ oder „eine Implementierung“ oder „eine einzige Implementierung“ durchgehend nicht dieselbe Ausführungsform oder Implementierung bedeuten, falls nicht als solche beschrieben. Ebenso sind die Begriffe „erste“, „zweite“, „dritte“, „vierte“, usw., wie hier verwendet, als Etiketten zu versehen, um unter verschiedenen Elementen zu unterscheiden, und können nicht unbedingt eine Ordnungszahlbedeutung gemäß ihrer numerischen Bezeichnung haben.

Claims (25)

  1. Verfahren umfassend: Übertragen, über Übertragungslogik einer anfragenden Komponente, von Zeitsteuerungsprotokollanfragen über einen Link zu einer antwortenden Komponente; Erfassen, über Wiederholungserfassungslogik der anfragenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig; Erfassen, über die Validierungslogik der anfragenden Komponente, zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  2. Verfahren nach Anspruch 1, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  3. Verfahren nach Anspruch 1, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  4. Verfahren nach Anspruch 1, wobei die Übertragungslogik die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgend zur antwortenden Komponente überträgt.
  5. Verfahren nach Anspruch 1, wobei das Setzen des internen Zeitsteuerungszustands auf gültig ein Verwenden von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  6. Verfahren nach Anspruch 1 ferner umfassend ein Ignorieren von Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  7. Verfahren umfassend: Empfangen, über die Empfangslogik einer antwortenden Komponente, von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Erfassen, über die Wiederholungserfassungslogik der antwortenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig; Empfangen, über die Empfangslogik, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente; Übertragen, über die Übertragungslogik der antwortenden Komponente, einer ersten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort ohne Datennutzlast zur anfragenden Komponente in Antwort auf die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage; Empfangen, über die Empfangslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollanfrage von der anfragenden Komponente, wobei die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage aufeinanderfolgen; und Übertragen, über die Übertragungslogik, einer zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort mit einer Datennutzlast zur anfragenden Komponente in Antwort auf die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage.
  8. Verfahren nach Anspruch 7, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  9. Verfahren nach Anspruch 7 ferner umfassend: Erfassen, über die Validierungslogik der antwortenden Komponente, von zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialogen, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog die erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog die zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
  10. Verfahren nach Anspruch 9, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst.
  11. Verfahren nach Anspruch 7 ferner umfassend ein Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  12. Vorrichtung, umfassend Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 1-11.
  13. Zumindest ein maschinenlesbares Medium, umfassend eine Vielzahl von Anweisungen zum Implementieren, wenn ausgeführt, eines Verfahrens oder zur Ausführung einer Vorrichtung nach einem der Ansprüche 1-11.
  14. Anfragende Komponente, umfassend: Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link; Empfangslogik zum Empfangen von Zeitsteuerungsprotokollantworten von der antwortenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die Validierungslogik den internen Zeitsteuerungszustand der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig setzt.
  15. Anfragende Komponente nach Anspruch 14, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  16. Anfragende Komponente nach Anspruch 14, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Empfangen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  17. Anfragende Komponente nach Anspruch 14, wobei die anfragende Komponente über die Übertragungslogik Zeitsteuerungsprotokollanfragen aufeinanderfolgend überträgt, bis die zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge mit sämtlichen Neuübertragungen vollendet sind.
  18. Anfragende Komponente nach Anspruch 14, wobei die Validierungslogik den internen Zeitsteuerungszustand unter Verwendung von Zeitsteuerungsinformationen von der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort auf gültig setzt.
  19. Anfragende Komponente nach Anspruch 14, wobei die Empfangslogik Datennutzlasten von Zeitsteuerungsprotokollantworten, die nach der Neuübertragung empfangen werden, ignoriert, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  20. Antwortende Komponente, umfassend: Empfangslogik zum Empfangen von Zeitsteuerungsprotokollanfragen von einer anfragenden Komponente über einen Link; Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollantworten zur anfragenden Komponente über den Link in Antwort auf die Zeitsteuerungsprotokollanfragen; Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die Validierungslogik den internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig setzt.
  21. Antwortende Komponente nach Anspruch 20, wobei jede Zeitsteuerungsprotokollanfrage eine Precision Timing Measurement (PTM)-Anfrage umfasst, jede Zeitsteuerungsprotokollantwort eine PTM-Antwort umfasst, die Zeitsteuerungsprotokollnachricht eine PTM-Nachricht umfasst und jeder Zeitsteuerungsprotokolldialog einen PTM-Dialog umfasst.
  22. Antwortende Komponente nach Anspruch 20, wobei die Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge ein Übertragen der zweiten, nicht erneut übertragenen Zeitsteuerungsprotokollantwort umfasst, wobei die zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort eine Datennutzlast hat.
  23. Antwortende Komponente nach Anspruch 20, wobei die Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollantworten ohne Datennutzlasten in Antwort auf Zeitsteuerungsprotokollanfragen dient, die nach der Neuübertragung empfangen werden, bis zumindest ein Zeitsteuerungsprotokolldialog, der keine Fehler oder Neuübertragungen aufweist, vollendet ist.
  24. System, umfassend: eine anfragende Komponente, umfassend eine erste Übertragungslogik zum Übertragen von Zeitsteuerungsprotokollanfragen und eine erste Empfangslogik zum Empfangen von Zeitsteuerungsprotokollantworten; und eine antwortende Komponente, die an die antwortende Komponente über physische Spuren gekoppelt ist, die antwortende Komponente umfassend: eine zweite Empfangslogik zum Empfangen der Zeitsteuerungsprotokollanfragen; eine zweite Übertragungslogik zum Übertragen der Zeitsteuerungsprotokollantworten in Antwort auf die Zeitsteuerungsprotokollanfragen; eine zweite Wiederholungserfassungslogik zum Erfassen einer Neuübertragung einer Zeitsteuerungsprotokollnachricht und zum Setzen eines internen Zeitsteuerungszustands der antwortenden Komponente in Antwort auf die Neuübertragung auf ungültig, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; und eine zweite Validierungslogik zum Erfassen zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, wobei die zweite Validierungslogik dazu dient, den internen Zeitsteuerungszustand der antwortenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig zu setzen.
  25. Nicht transitorisches computerlesbares Medium umfassend Anweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, der an eine anfragenden Komponente gekoppelt ist, die anfragende Komponente veranlassen zum: Übertragen, über die Übertragungslogik der anfragenden Komponente, von Zeitsteuerungsprotokollanfragen zu einer antwortenden Komponente über einen Link; Erfassen, über die Wiederholungserfassungslogik der anfragenden Komponente, einer Neuübertragung einer Zeitsteuerungsprotokollnachricht, wobei die Zeitsteuerungsprotokollnachricht zumindest eine einer Zeitsteuerungsprotokollanfrage oder einer Zeitsteuerungsprotokollantwort umfasst; Setzen, über die Wiederholungserfassungslogik, eines internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf die Neuübertragung auf ungültig; Erfassen, über die Validierungslogik der anfragenden Komponente, zumindest zwei aufeinanderfolgender Zeitsteuerungsprotokolldialoge, die einen ersten Zeitsteuerungsprotokolldialog und einen zweiten Zeitsteuerungsprotokolldialog umfassen, wobei der erste Zeitsteuerungsprotokolldialog eine erste, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine erste, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst, der zweite Zeitsteuerungsprotokolldialog eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollanfrage und eine zweite, nicht erneut übertragene Zeitsteuerungsprotokollantwort umfasst; und Setzen, über die Validierungslogik, des internen Zeitsteuerungszustands der anfragenden Komponente in Antwort auf eine Vollendung der zumindest zwei aufeinanderfolgenden Zeitsteuerungsprotokolldialoge auf gültig.
DE112017001706.8T 2016-04-01 2017-03-01 Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren Pending DE112017001706T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/088,735 US9991993B2 (en) 2016-04-01 2016-04-01 Time offset validation of components with independent silicon clocks
US15/088,735 2016-04-01
PCT/US2017/020274 WO2017172225A1 (en) 2016-04-01 2017-03-01 Time offset validation of components with independent silicon clocks

Publications (1)

Publication Number Publication Date
DE112017001706T5 true DE112017001706T5 (de) 2018-12-27

Family

ID=59961284

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017001706.8T Pending DE112017001706T5 (de) 2016-04-01 2017-03-01 Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren

Country Status (3)

Country Link
US (1) US9991993B2 (de)
DE (1) DE112017001706T5 (de)
WO (1) WO2017172225A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10257825B2 (en) * 2016-09-30 2019-04-09 Intel Corporation Reducing hardware precision time measurement inaccuracy
CN109936519B (zh) * 2019-01-18 2021-06-04 重庆邮电大学 基于定时响应的工业无线传感网时钟频率偏移估计方法
US11115284B1 (en) * 2020-03-31 2021-09-07 Atlassian Pty Ltd. Techniques for dynamic rate-limiting

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6545981B1 (en) 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US7424565B2 (en) 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method and apparatus for providing efficient output buffering and bus speed matching
US8392709B1 (en) 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
JP2012085244A (ja) 2010-10-15 2012-04-26 Fujitsu Ltd シリアル伝送装置、情報処理装置、及びシリアル伝送方法
CN103297207B (zh) 2012-03-02 2016-12-14 上海贝尔股份有限公司 对随机接入响应消息进行混合自动请求重传的方法
US9479279B2 (en) * 2012-06-13 2016-10-25 Lattice Semiconductor Corporation Multiple protocol tunneling using time division operations
WO2014014520A1 (en) 2012-07-18 2014-01-23 Intel Corporation Measuring time offsets between devices with independent silicon clocks
US9571572B2 (en) * 2014-05-01 2017-02-14 International Business Machines Corporation Peer-to-peer networking through universal port connections
US9946683B2 (en) * 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Also Published As

Publication number Publication date
US9991993B2 (en) 2018-06-05
WO2017172225A1 (en) 2017-10-05
US20170288818A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112013003723B4 (de) Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE60213616T2 (de) Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
DE102009061279B3 (de) Bereitstellung eines Präfixes für einen Datenkopf
DE112017006687T5 (de) Hochgeschwindigkeitsverbindungen mit kanalerweiterung
DE112013002639B4 (de) Optimierter Verbindungstrainings- und Managementmechanismus
DE60219047T2 (de) Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zum aufbau virtueller kanäle darin
DE112017005002T5 (de) Verbindungsphysikalischer schichtschnittstellenadapter
EP3238079B1 (de) Ausführungen kondensierter schreibvorgänge
EP3234778B1 (de) Fehlerhandhabung in einem transaktionalen pufferspeicher
DE112015006961T5 (de) Verbindungsfehlerdetektion in mehrfachchipgehäusen
EP3327578B1 (de) Früherkennung in transaktionalem gepuffertem speicher
DE102019127892A1 (de) Sichern eines Plattform-Links mit Verschlüsselung
DE112013007732T5 (de) PCI-Express-Erweiterungen
DE112016003233T5 (de) Redriver-verbindungsprüfung
EP3800557A1 (de) Aktualisierungen des status von implizierten verzeichnissen
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112010002178T5 (de) Verfahren und vorrichtung für id-basierte ströme über pci-express
DE102019108798A1 (de) Hochbandige verbindungsschicht für kohärente nachrichten
DE112015006953T5 (de) Training einer gültigen lane
DE112017001706T5 (de) Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE102009032072A1 (de) Einstellbare Senderleistung für Hochgeschwindigkeitsverbindungen mit konstanter Bitfehlerrate
DE112018001088T5 (de) Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung

Legal Events

Date Code Title Description
R012 Request for examination validly filed