DE112013007752B3 - Hochleistungsverdrahtungs-Bitübertragungsschicht - Google Patents

Hochleistungsverdrahtungs-Bitübertragungsschicht Download PDF

Info

Publication number
DE112013007752B3
DE112013007752B3 DE112013007752.3T DE112013007752T DE112013007752B3 DE 112013007752 B3 DE112013007752 B3 DE 112013007752B3 DE 112013007752 T DE112013007752 T DE 112013007752T DE 112013007752 B3 DE112013007752 B3 DE 112013007752B3
Authority
DE
Germany
Prior art keywords
state
link
lanes
data
processor
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.)
Active
Application number
DE112013007752.3T
Other languages
English (en)
Inventor
Venkatraman Iyer
Darren S. Jue
Robert G. Blankenship
Fulvio Spagna
Debendra Das Sharma
Jeffrey C. Swanson
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
Application granted granted Critical
Publication of DE112013007752B3 publication Critical patent/DE112013007752B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Abstract

In einen über eine serielle Datenverbindung zu sendenden Sicherungsschicht-Datenstrom wird ein periodisches Steuerfenster eingebettet, wobei das Steuerfenster dafür konfiguriert ist, Sicherungsschichtinformationen bereitzustellen, die Informationen zur Verwendung beim Initiieren von Zustandsübergängen auf der Datenverbindung enthalten. Die Sicherungsschichtdaten können während eines Verbindungsübertragungszustands der Datenverbindung gesendet werden und das Steuerfenster kann das Senden von Flits unterbrechen. In einem Aspekt enthalten die Informationen Verbindungsbreiten-Übergangsdaten, die einen Versuch, die Anzahl aktiver Spuren der Verbindung zu ändern, angeben.

Description

  • GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Gebiet der Computerentwicklung und insbesondere auf die Softwareentwicklung, die die Koordination voneinander abhängiger eingeschränkter Systeme umfasst.
  • HINTERGRUND
  • Fortschritte der Halbleiterverarbeitung und des Logikentwurfs lassen eine Zunahme der Menge an Logik zu, die auf integrierten Schaltungsvorrichtungen vorhanden sein kann. Als Folge haben sich Computersystemkonfigurationen von einer einzelnen integrierten Schaltung oder von mehreren integrierten Schaltungen in einem System zu mehreren Kernen, mehreren Hardware-Threads und mehreren logischen Prozessoren, die in einzelnen integrierten Schaltungen vorhanden sind, sowie zu anderen Schnittstellen, die innerhalb solcher Prozessoren integriert sind, entwickelt. Üblicherweise umfasst ein Prozessor oder eine integrierte Schaltung einen einzelnen physikalischen Prozessoreinzelchip, wobei der Prozessoreinzelchip irgendeine Anzahl von Kernen, Hardware-Threads, logischen Prozessoren, Schnittstellen, Speicher, Controller-Hubs usw. enthalten kann.
  • Im Ergebnis der größeren Fähigkeit, mehr Verarbeitungsleistung in kleinere Baugruppen einzubauen, hat die Beliebtheit kleinerer Computervorrichtungen zugenommen. Smartphones, Tablets, ultradünne Notebooks und andere Benutzereinrichtung haben exponentiell zugenommen. Allerdings stützen sich diese kleineren Vorrichtungen sowohl für die Datenspeicherung als auch für eine komplexe Verarbeitung, die den Formfaktor übersteigt, auf Server. Folglich hat der Bedarf auf dem Hochleistungscomputermarkt (d. h. Serverraum) ebenfalls zugenommen. Zum Beispiel gibt es in modernen Servern üblicherweise nicht nur einen einzelnen Prozessor mit mehreren Kernen, sondern ebenfalls mehrere physikalische Prozessoren (auch als Mehrfach-Sockel bezeichnet), um die Rechenleistung zu erhöhen. Da aber die Rechenleistung zusammen mit der Anzahl der Vorrichtungen in einem Computersystem wächst, wird die Kommunikation zwischen Sockeln und anderen Vorrichtungen entscheidender.
  • Tatsächlich sind Verdrahtungen von eher herkömmlichen Mehrpunktbussen, die hauptsächlich elektrische Kommunikationen behandelten, zu vollständig ausgerüsteten Verdrahtungsarchitekturen, die die schnelle Kommunikation ermöglichen, gewachsen. Da der Bedarf an den Verbrauch künftiger Prozessoren mit noch höheren Raten zunimmt, wird den Fähigkeiten der vorhandenen Verdrahtungsarchitektur leider ein entsprechender Bedarf auferlegt.
  • US 2006/0034295 A1 offenbart ein Punkt-zu-Punkt Verbindungsnetzwerk, das mehrere Komponenten eines Computersystems miteinander verbindet. Jede Komponente weist eine direkte Verbindung zu anderen Knoten in dem System auf. Verbindungsbreitenmodulationsnachrichten werden aus Flits in einer Verbindungsschicht erzeugt und in Paketen einer Protokollschicht zwischen den Komponenten übertragen. Eine Verbindung kann auf eine neue Verbindungsbreite moduliert werden. Ein lokaler Port verständigt ein bestimmtes Paket an den entfernten Port.
  • US 7 136 953 B1 offenbart einen Datenbus mit einer Vielzahl von Datenspuren, die eine Datenverbindung zwischen Komponenten bilden. Die Anzahl der Datenspuren kann an Änderungen der Busbandbreite angepasst werden.
  • Figurenliste
    • 1 veranschaulicht einen vereinfachten Blockschaltplan eines Systems, das eine serielle Punkt-zu-Punkt-Verdrahtung zum Verbinden von E/A-Vorrichtungen in einem Computersystem in Übereinstimmung mit einer Ausführungsform enthält;
    • 2 veranschaulicht einen vereinfachten Blockschaltplan eines Schichtprotokollstapels in Übereinstimmung mit einer Ausführungsform;
    • 3 veranschaulicht eine Ausführungsform eines Transaktionsdeskriptors;
    • 4 veranschaulicht eine Ausführungsform einer seriellen Punkt-zu-Punkt-Verbindung.
    • 5 veranschaulicht Ausführungsformen potentieller Hochleistungsverdrahtungs-Systemkonfigurationen (HPI-Systemkonfigurationen).
    • 6 veranschaulicht eine Ausführungsform eines einer HPI zugeordneten Schichtprotokollstapels.
    • 7 veranschaulicht eine Darstellung einer beispielhaften Zustandsmaschine.
    • 8 veranschaulicht beispielhafte Steuersupersequenzen.
    • 9 veranschaulicht eine Darstellung eines beispielhaften Steuerfensters, das in einen Datenstrom eingebettet ist.
    • 10 veranschaulicht einen Ablaufplan eines beispielhaften Quittungsaustauschs.
    • 11 veranschaulicht einen Ablaufplan eines beispielhaften Übergangs zu einem Teilbreitenzustand.
    • 12 veranschaulicht einen beispielhaften Übergang von einem Teilbreitenzustand.
    • 13 veranschaulicht eine Ausführungsform eines Blockschaltplans für ein Computersystem, das einen Mehrkernprozessor enthält.
    • 14 veranschaulicht eine andere Ausführungsform eines Blockschaltplans für ein Computersystem, das einen Mehrkernprozessor enthält.
    • 15 veranschaulicht eine Ausführungsform eines Blockschaltplans für einen Prozessor.
    • 16 veranschaulicht eine andere Ausführungsform eines Blockschaltplans für ein Computersystem, das einen Prozessor enthält.
    • 17 veranschaulicht eine Ausführungsform eines Blocks für ein Computersystem, das mehrere Prozessorsockel enthält.
    • 18 veranschaulicht eine andere Ausführungsform eines Blockschaltplans für ein Computersystem.
  • Gleiche Bezugszeichen und Bezeichnungen geben in den verschiedenen Zeichnungen gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Um ein gründliches Verständnis der vorliegenden Erfindung zu vermitteln, sind in der folgenden Beschreibung zahlreiche spezifische Einzelheiten wie etwa Beispiele spezifischer Typen von Prozessoren und Systemkonfigurationen, spezifischer Hardwarestrukturen, spezifischer Architektur- und Mikroarchitektureinzelheiten, spezifischer Registerkonfigurationen, spezifischer Befehlstypen, spezifischer Systemkomponenten, spezifischer Prozessorpipelinestufen, spezifischer Verdrahtungsschichten, spezifischer Paket/Transaktions-Konfigurationen, spezifischer Transaktionsnamen, spezifischer Protokollaustausche, spezifischer Verbindungsbreiten, spezifischer Implementierungen und des Betriebs usw. dargelegt. Allerdings kann für den Fachmann auf dem Gebiet offensichtlich sein, dass diese spezifischen Einzelheiten nicht notwendig genutzt zu werden brauchen, um den Gegenstand der vorliegenden Offenbarung zu verwirklichen. In anderen Fällen ist eine sehr ausführliche Beschreibung bekannter Komponenten oder Verfahren wie etwa spezifischer oder alternativer Prozessorarchitekturen, spezifischer Logikschaltungen/von spezifischem Code für beschriebene Algorithmen, spezifischem Firmwarecode, einer Verdrahtungsoperation auf niedriger Ebene, spezifischer Logikkonfigurationen, spezifischer Fertigungstechniken und Fertigungsmaterialien, spezifischer Compilerimplementierungen, eines spezifischen Ausdrucks des Algorithmus im Code, spezifischer Abschalt- und Torsteuerungstechniken/Abschalt- und Torsteuerungslogik und anderer spezifischer Betriebseinzelheiten eines Computersystems vermieden worden, um eine unnötige Verdeckung der vorliegenden Offenbarung zu vermeiden.
  • Obwohl die folgenden Ausführungsformen in Bezug auf die Energieeinsparung, die Energieeffizienz, die Verarbeitungseffizienz usw. in spezifischen integrierten Schaltungen wie etwa in Computerplattformen oder Mikroprozessoren beschrieben werden können, sind auf andere Typen integrierter Schaltungen und Logikvorrichtungen andere Ausführungsformen anwendbar. Auf andere Typen von Schaltungen oder Halbleitervorrichtungen, die diese Merkmale ebenfalls nutzen können, können ähnliche Techniken und Lehren der hier beschriebenen Ausführungsformen angewendet werden. Zum Beispiel sind die offenbarten Ausführungsformen nicht auf ein Servercomputersystem, auf Desktopcomputersysteme, auf Laptops, auf Ultrabooks™ beschränkt, sondern können ebenfalls in anderen Vorrichtungen wie etwa Handvorrichtungen, Smartphones, Tablets, anderen dünnen Notebooks, Einchipvorrichtungen (SOC-Vorrichtungen) und eingebetteten Anwendungen verwendet werden. Einige Beispiele für Handvorrichtungen enthalten Mobiltelephone, Internetprotokollvorrichtungen, Digitalkameras, Personal Digital Assistants (PDAs) und Hand-PCs. Hier können ähnliche Techniken für eine Hochleistungsverdrahtung angewendet werden, um die Leistungsfähigkeit in einer leistungsarmen Verdrahtung zu erhöhen (oder sogar Leistung zu sparen). Eingebettete Anwendungen enthalten üblicherweise einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein Einchipsystem, Netzcomputer (NetPCs), Set-Top-Boxen, Netz-Hubs, Weitverkehrsnetz-Switches (WAN-Switches) oder irgendein anderes System, das die hier gelehrten Funktionen und Operationen ausführen kann. Darüber hinaus sind die hier beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf physikalische Computervorrichtungen beschränkt, sondern können sich ebenfalls auf Softwareoptimierungen für die Energieeinsparung und Energieeffizienz beziehen. Wie aus der folgenden Beschreibung deutlicher wird, können die Ausführungsformen hier beschriebener Verfahren, Vorrichtungen und Systeme (gleich, ob sie sich auf Hardware, auf Firmware, auf Software oder auf eine Kombination davon beziehen) als unabdingbar für eine Zukunft mit einer „grünen Technologie“, die mit Leistungsfähigkeitsbetrachtungen abgestimmt ist, angesehen werden.
  • Während sich Rechensysteme weiterentwickeln, werden die Komponenten darin komplexer. Um sicherzustellen, dass der Bandbreitenbedarf für einen optimalen Komponentenbetrieb erfüllt wird, hat die Komplexität der Verdrahtungsarchitektur zum Koppeln und Kommunizieren zwischen den Komponenten ebenfalls zugenommen. Darüber hinaus fordern unterschiedliche Marktsegmente unterschiedliche Aspekte von Verdrahtungsarchitekturen, um sie an den jeweiligen Markt anzupassen. Zum Beispiel erfordern Server höhere Leistung, während das mobile Ökosystem gelegentlich Gesamtleistungsfähigkeit zugunsten von Leistungseinsparungen opfern kann. Dennoch ist es ein einzelner Zweck der meisten Fabrics, bei maximaler Leistungseinsparung die höchstmögliche Leistungsfähigkeit bereitzustellen. Ferner können den hier beschriebenen Gegenstand potentiell eine Vielzahl verschiedener Verdrahtungen nutzen.
  • Unter anderen Beispielen können die Peripheral-Component-Interconnect-(PCI-)Express-Verdrahtungs-Fabric-Architektur (PCIe-Verdrahtungs-Fabric-Architektur) und die QuickPath-Interconnect-Fabric-Architektur (QPI-Fabric-Architektur) unter anderen Beispielen in Übereinstimmung mit einem oder mit mehreren hier beschriebenen Prinzipien potentiell verbessert werden. Zum Beispiel ist es ein Hauptziel von PCIe zu ermöglichen, dass Komponenten und Vorrichtungen von unterschiedlichen Anbietern in einer offenen Architektur, die mehrere Marktsegmente: Clients (Desktop und Mobil), Server (Standard und Enterprise) und eingebettete Vorrichtungen und Kommunikationsvorrichtungen überspannt, zusammenwirken. PCI Express ist eine Hochleistungs-Universal-E/A-Verdrahtung, die für eine breite Vielfalt künftiger Computer- und Kommunikationsplattformen definiert worden ist. Einige PCI-Attribute wie etwa ihr Nutzungsmodell, ihre Lade-Speicher-Architektur und ihre Softwareschnittstellen sind über ihre Überarbeitungen aufrechterhalten worden, während frühere Implementierungen über einen parallelen Bus durch eine hoch skalierbare, vollständig serielle Schnittstelle ersetzt worden sind. Die jüngeren Versionen von PCI Express nutzen Vorteile von Punkt-zu-Punkt-Verdrahtungen, einer Switch-basierten Technologie und eines Paketprotokolls, um neue Grade an Leistungsfähigkeit und Merkmalen zu liefern. Leistungsmanagement, Dienstgüte (QoS), Unterstützung für Einstecken/Wechsel im laufenden Betrieb, Datenintegrität und Fehlerbehandlung sind nur einige der fortgeschrittenen Merkmale, die durch PCI Express unterstützt werden. Obwohl sich die Hauptdiskussion hier auf eine neue Hochleistungsverdrahtungsarchitektur (HPI-Architektur) bezieht, können Aspekte der hier beschriebenen Erfindung auf andere Verdrahtungsarchitekturen wie etwa auf eine PCIe-kompatible Architektur, auf eine QPI-kompatible Architektur, auf eine MIPI-kompatible Architektur, auf eine Hochleistungsarchitektur oder auf eine andere bekannte Verdrahtungsarchitektur angewendet werden.
  • In 1 ist eine Ausführungsform eines Fabric dargestellt, das aus Punkt-zu-Punkt-Verbindungen besteht, die einen Satz von Komponenten miteinander verdrahten. Das System 100 enthält einen Prozessor 105 und einen Systemspeicher 110, die mit einem Controller-Hub 115 gekoppelt sind. Der Prozessor 105 kann irgendein Verarbeitungselement wie etwa einen Mikroprozessor, einen Host-Prozessor, einen eingebetteten Prozessor, einen Coprozessor oder einen anderen Prozessor enthalten. Der Prozessor 105 ist über einen Front-Side-Bus (FSB) 106 mit dem Controller-Hub 115 gekoppelt. In einer Ausführungsform ist der FSB 106 eine wie im Folgenden beschriebene serielle Punkt-zu-Punkt-Verdrahtung. In einer anderen Ausführungsform enthält die Verbindung 106 eine serielle differentielle Verdrahtungsarchitektur, die mit einem anderen Verdrahtungsstandard kompatibel ist.
  • Der Systemspeicher 110 enthält irgendeine Speichervorrichtung wie etwa Schreib-Lese-Speicher (RAM), nichtflüchtigen Speicher (NV-Speicher) oder anderen Speicher, auf den Vorrichtungen im System 100 zugreifen können. Der Systemspeicher 110 ist über eine Speicherschnittstelle 116 mit dem Controller-Hub 115 gekoppelt. Beispiele für eine Speicherschnittstelle enthalten eine Speicherschnittstelle mit doppelter Datenrate (DDR-Speicherschnittstelle), eine Zweikanal-DDR-Speicherschnittstelle und eine Speicherschnittstelle für dynamischen RAM (DRAM).
  • In einer Ausführungsform kann der Controller-Hub 115 wie etwa in einer PCIe-Verbindungshierarchie einen Root-Hub, einen Root-Komplex oder einen Root-Controller enthalten. Beispiele für den Controller-Hub 115 enthalten einen Chipsatz, einen Speichercontroller-Hub (MCH), eine Northbridge, einen Verdrahtungscontroller-Hub (ICH), eine Southbridge und einen Root-Controller/- Hub. Häufig bezieht sich der Begriff Chipsatz auf zwei physikalisch getrennte Controller-Hubs, z. B. auf einen Speichercontroller-Hub (MCH), der mit einem Verdrahtungscontroller-Hub (ICH) gekoppelt ist. Es wird angemerkt, dass aktuelle Systeme häufig den mit dem Prozessor 105 integrierten MCH enthalten, während der Controller 115 auf ähnliche Weise wie im Folgenden beschrieben mit E/A-Vorrichtungen kommunizieren soll. In einigen Ausführungsformen wird durch den Root-Komplex 115 optional ein Peer-to-Peer-Routing unterstützt.
  • Der Controller-Hub 115 ist hier über eine serielle Verbindung 119 mit dem Switch/der Bridge 120 gekoppelt. Die Eingabe/Ausgabe-Module 117 und 121, die ebenfalls als Schnittstellen/Ports 117 und 121 bezeichnet werden können, können einen Schichtprotokollstapel enthalten/implementieren, um eine Kommunikation zwischen dem Controller-Hub 115 und dem Switch 120 bereitzustellen. In einer Ausführungsform können mehrere Vorrichtungen mit dem Switch 120 gekoppelt sein.
  • Der Switch/die Bridge 120 routet Pakete/Nachrichten von der Vorrichtung 125 aufwärts, d. h. in einer Hierarchie in Richtung eines Root-Komplexes zu dem Controller-Hub 115 aufwärts, und abwärts, d. h. in eine Hierarchie von einem Root-Controller, von dem Prozessor 105 oder von dem Systemspeicher 110 weg zu der Vorrichtung 125 abwärts. In einer Ausführungsform wird auf den Switch 120 als eine logische Anordnung mehrerer virtueller PCI-zu-PCI-Bridge-Vorrichtungen Bezug genommen. Die Vorrichtung 125 enthält irgendeine interne oder externe Vorrichtung oder Komponente, die mit einem elektronischen System gekoppelt werden soll, wie etwa eine E/A-Vorrichtung, einen Netzschnittstellencontroller (NIC), eine Ergänzungskarte, einen Audioprozessor, einen Netzprozessor, ein Festplattenlaufwerk, eine Ablagevorrichtung, eine CD/DVD-ROM, einen Monitor, einen Drucker, eine Maus, eine Tastatur, einen Router, eine tragbare Ablagevorrichtung, eine Firewire-Vorrichtung, eine Universal-Serial-Bus-Vorrichtung (USB-Vorrichtung), einen Scanner und andere Eingabe/AusgabeVorrichtungen. In der PCIe-Bezeichnungsweise wird eine solche Vorrichtung häufig als ein Endpunkt bezeichnet. Obwohl dies nicht spezifisch gezeigt ist, kann die Vorrichtung 125 eine Bridge (z. B. eine PCIe-zu-PCI/PCI-X-Bridge) enthalten, um Altvorrichtungen oder andere Versionen von Vorrichtungen oder durch solche Vorrichtungen unterstützte Verdrahtungs-Fabrics zu unterstützen.
  • Der Graphikbeschleuniger 130 kann ebenfalls über eine serielle Verbindung 132 mit dem Controller-Hub 115 gekoppelt sein. In einer Ausführungsform ist der Graphikbeschleuniger 130 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Der Switch 120 und dementsprechend die E/A-Vorrichtung 125 ist daraufhin mit dem ICH gekoppelt. Die E/A-Module 131 und 118 sollen ebenfalls einen Schichtprotokollstapel implementieren, um zwischen dem Graphikbeschleuniger 130 und dem Controller-Hub 115 zu kommunizieren. Ähnlich der obigen MCH-Diskussion kann ein Graphikcontroller oder der Graphikbeschleuniger 130 selbst in den Prozessor 105 integriert sein.
  • Übergehend zu 2 ist eine Ausführungsform eines Schichtprotokollstapels dargestellt. Der Schichtprotokollstapel 200 kann irgendeine Form eines Schichtkommunikationsstapels wie etwa einen QPI-Stapel, einen PCIe-Stapel, einen Hochleistungs-Computerverdrahtungsstapel (HPI-Stapel) der nächsten Generation oder einen anderen Schichtstapel enthalten. In einer Ausführungsform kann der Protokollstapel 200 eine Transaktionsschicht 205, eine Sicherungsschicht 210 und eine Bitübertragungsschicht 220 enthalten. Als Kommunikationsprotokollstapel 200 kann eine Schnittstelle wie etwa die Schnittstellen 117, 118, 121, 122, 126 und 131 in 1 dargestellt sein. Die Darstellung als ein Kommunikationsprotokollstapel kann ebenfalls als ein Modul oder als eine Schnittstelle, das bzw. die einen Protokollstapel implementiert/enthält, bezeichnet werden.
  • Zum Übermitteln von Informationen zwischen Komponenten können Pakete verwendet werden. Pakete können in der Transaktionsschicht 205 und in der Sicherungsschicht 210 gebildet werden, um die Informationen von der sendenden Komponente an die Empfangskomponente zu übermitteln. Während die gesendeten Pakete durch die anderen Schichten strömen, werden sie mit zusätzlichen Informationen erweitert, die dazu verwendet werden, Pakete in diesen Schichten zu behandeln. Auf der Empfangsseite findet der umgekehrte Prozess statt und werden die Pakete von ihrer Darstellung in der Bitübertragungsschicht 220 in die Darstellung in der Sicherungsschicht 210 und schließlich (für Transaktionsschichtpakete) in die Form, die durch die Transaktionsschicht 205 der Empfangsvorrichtung verarbeitet werden kann, umgewandelt.
  • In einer Ausführungsform kann die Transaktionsschicht 205 eine Schnittstelle zwischen einem Verarbeitungskern der Vorrichtung und der Verdrahtungsstruktur wie etwa die Sicherungsschicht 210 und die Bitübertragungsschicht 220 bereitstellen. Diesbezüglich kann eine Hauptverantwortlichkeit der Transaktionsschicht 205 das Zusammenfügen und Auftrennen von Paketen (d. h. Transaktionsschichtpaketen oder TLPs) enthalten. Die Transaktionsschicht 205 kann ebenfalls eine kreditgestützte Flusssteuerung für TLPs managen. In einigen Implementierungen können unter anderen Beispielen aufgeteilte Transaktionen, d. h. Transaktionen mit Anforderung und Antwort, die durch eine Zeitdauer getrennt sind, genutzt werden, was ermöglicht, dass eine Verbindung anderen Verkehr übermittelt, während die Zielvorrichtung Daten für die Antwort sammelt.
  • Um unter Nutzung des Verdrahtungs-Fabrics virtuelle Kanäle und Netze zu verwirklichen, kann die kreditbasierte Flusssteuerung kann verwendet werden. In einem Beispiel kann eine Vorrichtung für jeden der Empfangspuffer in der Transaktionsschicht 205 eine Anfangsmenge von Kredits ankündigen. Eine externe Vorrichtung am gegenüberliegenden Ende der Verbindung wie etwa der Controller-Hub 115 in 1 kann die Anzahl der durch jedes TLP verbrauchten Kredite zählen. Eine Transaktion kann gesendet werden, falls die Transaktion einen Kreditgrenzwert nicht übersteigt. Beim Empfang einer Antwort wird eine Kreditmenge wiederhergestellt. Ein Beispiel eines Vorteils eines solchen Kreditschemas ist unter anderen potentiellen Vorteilen, dass die Latenzzeit der Kreditrückgabe die Leistungsfähigkeit nicht beeinflusst, sofern der Kreditgrenzwert nicht erreicht ist.
  • In einer Ausführungsform können vier Transaktionsadressräume einen Konfigurationsadressraum, einen Speicheradressraum, einen Eingabe/Ausgabe-Adressraum und einen Nachrichtenadressraum enthalten. Speicherraumtransaktionen enthalten eine oder mehrere Leseanforderungen und Schreibanforderungen, um Daten zu/von einem speicherabbildgetreuen Ort zu übertragen. In einer Ausführungsform können Speicherraumtransaktionen zwei verschiedene Adressenformate, z. B. ein kurzes Adressenformat wie etwa eine 32-Bit-Adresse oder ein langes Adressenformat wie etwa eine 64-Bit-Adresse, verwenden. Um auf den Konfigurationsraum verschiedener mit der Verdrahtung verbundener Vorrichtungen zuzugreifen, können Konfigurationsraumtransaktionen verwendet werden. Transkationen in den Konfigurationsraum können Leseanforderungen und Schreibanforderungen enthalten. Um eine Inbandkommunikation zwischen Verdrahtungsagenten zu unterstützen, können ebenfalls Nachrichtenraumtransaktionen (oder einfach Nachrichten) definiert werden. Somit kann die Transaktion 205 in einer beispielhaften Ausführungsform den Paketanfangsblock/die Nutzinformationen 206 zusammenfügen.
  • Kurz anhand von 3 ist eine beispielhafte Ausführungsform eines Transaktionsschicht-Paketdeskriptors dargestellt. In einer Ausführungsform kann der Transaktionsdeskriptor 300 ein Mechanismus zum Übermitteln von Transaktionsinformationen sein. Diesbezüglich unterstützt der Transaktionsdeskriptor 300 die Identifizierung von Transaktionen in einem System. Andere potentielle Verwendungen enthalten die Nachführung von Änderungen der Standardtransaktionsordnung und die Zuordnung einer Transaktion zu Kanälen. Der Transaktionsdeskriptor 300 kann z. B. ein globales Kennungsfeld 302, ein Attributefeld 304 und ein Kanalkennungsfeld 306 enthalten. In dem dargestellten Beispiel ist das globale Kennungsfeld 302 so gezeigt, dass es ein lokales Transaktionskennungsfeld 308 und ein Quellkennungsfeld 310 umfasst. In einer Ausführungsform ist die globale Transaktionskennung 302 für alle unerledigten Anforderungen eindeutig.
  • In Übereinstimmung mit einer Implementierung ist das lokale Transaktionskennungsfeld 308 ein durch einen anfordernden Agenten erzeugtes Feld und kann es für alle unerledigten Anforderungen, die für diesen anfordernden Agenten einen Abschluss erfordern, eindeutig sein. Darüber hinaus identifiziert in diesem Beispiel die Quellkennung 310 eindeutig den Anfordereragenten innerhalb einer Verdrahtungshierarchie. Dementsprechend stellt das Feld der lokalen Transaktionskennung 308 zusammen mit der Quell-ID 310 innerhalb einer Hierarchiedomäne eine globale Identifizierung einer Transaktion bereit.
  • Das Attributefeld 304 spezifiziert Eigenschaften und Beziehungen der Transaktion. Diesbezüglich wird das Attributefeld 304 potentiell verwendet, um zusätzliche Informationen bereitzustellen, die eine Änderung der Standardbehandlung von Transaktionen ermöglichen. In einer Ausführungsform enthält das Attributefeld 304 ein Prioritätsfeld 312, ein reserviertes Feld 314, ein Ordnungsfeld 316 und ein Nicht-Mitlauschen-Feld 318. Das Prioritätsteilfeld 312 kann hier durch einen Initiator geändert werden, um der Transaktion eine Priorität zuzuweisen. Das reservierte Attributfeld 314 wird für die Zukunft oder für eine durch einen Anbieter definierte Nutzung reserviert gelassen. Unter Verwendung des reservierten Attributfelds können mögliche Nutzungsmodelle unter Verwendung von Prioritäts- oder Sicherheitsattributen implementiert werden.
  • Das Ordnungsattributfeld 316 wird in diesem Beispiel verwendet, um optionale Informationen bereitzustellen, die den Typ der Ordnung übermitteln, die Standardordnungsregeln modifizieren kann. In Übereinstimmung mit einer beispielhaften Implementierung bezeichnet ein Ordnungsattribut „0“, dass Standardordnungsregeln angewendet werden sollen, während ein Ordnungsattribut „1“ eine gelockerte Ordnung bezeichnet, in der Schreibvorgänge Schreibvorgänge in derselben Richtung überspringen können und Lesevorgangsabschlüsse Schreibvorgänge in derselben Richtung überspringen können. Das Mitlauschen-Attributfeld 318 wird genutzt, um zu bestimmen, ob Transaktionen mitgelauscht werden. Wie gezeigt ist, identifiziert das Kanal-ID-Feld 306 einen Kanal, dem eine Transaktion zugeordnet ist.
  • Zurückkehrend zu der Diskussion aus 2 kann eine Sicherungsschicht 210, die auch als Datensicherungsschicht 210 bezeichnet wird, als eine Zwischenstufe zwischen der Transaktionsschicht 205 und der Bitübertragungsschicht 220 wirken. In einer Ausführungsform liegt es in der Verantwortlichkeit der Datensicherungsschicht 210, einen zuverlässigen Mechanismus für den Austausch von Transaktionsschichtpaketen (TLPs) zwischen zwei Komponenten an einer Verbindung bereitzustellen. Eine Seite der Datensicherungsschicht 210 nimmt TLPs an, die durch die Transaktionsschicht 205 zusammengefügt wurden, wendet eine Paketsequenzkennung 211, d. h. eine Kennnummer oder Paketnummer, an, berechnet einen Fehlerdetektionscode, d. h. CRC 212, und wendet ihn an und übergibt die geänderten TLPs zur Übertragung über eine physikalische Vorrichtung an eine externe Vorrichtung an die Bitübertragungsschicht 220.
  • In einem Beispiel enthält die Bitübertragungsschicht 220 einen logischen Teilblock 221 und einen elektrischen Teilblock 222, um ein Paket physikalisch an eine externe Vorrichtung zu senden. Der logische Teilblock 221 ist hier für die „digitalen“ Funktionen der Bitübertragungsschicht 221 verantwortlich. Diesbezüglich kann der logische Teilblock einen Sendeabschnitt zum Vorbereiten abgehender Informationen für die Sendung durch den physikalischen Teilblock 222 und einen Empfängerabschnitt zum Identifizieren und Vorbereiten empfangener Informationen, bevor sie an die Sicherungsschicht 210 übergeben werden, enthalten.
  • Der physikalische Block 222 enthält einen Sender und einen Empfänger. Dem Sender werden durch den logischen Teilblock 221 Symbole zugeführt, die der Sender serialisiert und an eine externe Vorrichtung sendet. Dem Empfänger werden von einer externen Vorrichtung serialisierte Symbole zugeführt und er transformiert die empfangenen Signale in einen Bitstrom. Der Bitstrom wird entserialisiert und dem logischen Teilblock 221 zugeführt. In einer beispielhaften Ausführungsform wird ein 8b/10b-Sendecode genutzt, wobei Zehn-Bit-Symbole gesendet/empfangen werden. Hier werden spezielle Symbole verwendet, um ein Paket mit Rahmen 223 zu rahmen. In einem Beispiel stellt der Empfänger außerdem einen Symboltakt bereit, der von dem ankommenden seriellen Strom wiedergewonnen wird.
  • Obwohl die Transaktionsschicht 205, die Sicherungsschicht 210 und die Bitübertragungsschicht 220 in Bezug auf eine spezifische Ausführungsform eines Protokollstapels (wie etwa auf einen PCIe-Protokollstapel) diskutiert sind, ist ein Schichtprotokollstapel wie oben erwähnt darauf nicht beschränkt. Tatsächlich kann irgendein Schichtprotokollstapel aufgenommen/implementiert werden und die hier diskutierten Merkmale annehmen. Als ein Beispiel kann ein Port/eine Schnittstelle, der bzw. die als ein Schichtprotokoll dargestellt ist, Folgendes enthalten: (1) eine erste Schicht zum Zusammensetzen von Paketen, d. h. eine Transaktionsschicht; eine zweite Schicht zum Sequentialisieren von Paketen, d. h. eine Sicherungsschicht; und eine dritte Schicht zum Senden der Pakete, d. h. eine Bitübertragungsschicht. Als ein spezifisches Beispiel wird ein wie hier beschriebenes Hochleistungsverdrahtungs-Schichtprotokoll genutzt.
  • Nachfolgend anhand von 4 ist eine beispielhafte Ausführungsform eines seriellen Punkt-zu-Punkt-Fabrics dargestellt. Eine serielle Punkt-zu-Punkt-Verbindung kann irgendeinen Übertragungsweg zum Übertragen serieller Daten enthalten. In der gezeigten Ausführungsform kann eine Verbindung zwei differentiell angesteuerte Niederspannungssignalpaare enthalten: ein Sendepaar 406/411 und ein Empfangspaar 412/407. Dementsprechend enthält die Vorrichtung 405 eine Sendelogik 406 zum Senden von Daten an die Vorrichtung 410 und eine Empfangslogik 407 zum Empfangen von Daten von der Vorrichtung 410. Mit anderen Worten, in einer Implementierung einer Verbindung sind zwei Sendewege, d. h. die Wege 416 und 417, und zwei Empfangswege, d. h. die Wege 418 und 419, enthalten.
  • Ein Sendeweg bezieht sich auf irgendeinen Weg zum Senden von Daten wie etwa auf eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, eine Infrarotkommunikationsverbindung oder einen anderen Kommunikationsweg. Eine Verknüpfung zwischen zwei Vorrichtungen wie etwa einer Vorrichtung 405 und einer Vorrichtung 410 wie etwa die Verbindung 415 wird als eine Verbindung bezeichnet. Eine Verbindung kann eine Spur unterstützen - wobei jede Spur einen Satz verschiedener Signalpaare (ein Paar für die Sendung, ein Paar für den Empfang) darstellt. Um die Bandbreite zu skalieren, kann eine Verbindung mehrere Spuren gruppieren, was durch xN bezeichnet ist, wobei N irgendeine unterstützte Verbindungsbreite wie etwa 1, 2, 4, 8, 12, 16, 32, 64 oder breiter ist.
  • Ein differentielles Paar kann sich auf zwei Übertragungswege wie etwa auf die Leitungen 416 und 417 zum Übertragen differentieller Signale beziehen. Als ein Beispiel steuert die Leitung 417 von einem hohen Logikpegel auf einen tiefen Logikpegel, d. h. eine fallende Flanke, an, wenn die Leitung 416 von einem tiefen Spannungspegel auf einen hohen Spannungspegel hin- und herschaltet, d. h. eine steigende Flanke. Differentielle Signale zeigen unter anderen beispielhaften Vorteilen potentiell bessere elektrische Eigenschaften wie etwa bessere Signalintegrität, d. h. Kreuzkopplung, Spannungsüberschwingen/Spannungsunterschwingen, gedämpfte Schwingung. Dies ermöglicht ein besseres Zeitfenster, was schnellere Übertragungsfrequenzen ermöglicht.
  • In einer Ausführungsform wird eine neue Hochleistungsverdrahtung (HPI) bereitgestellt. Die HPI kann eine Cache-kohärente verbindungsbasierte Verdrahtung der nächsten Generation enthalten. Als ein Beispiel kann die HPI in Hochleistungscomputerplattformen wie etwa Workstations oder Servern einschließlich in Systemen, wo üblicherweise das PCIe oder ein anderes Verdrahtungsprotokoll verwendet wird, um Prozessoren, Beschleuniger, E/A-Vorrichtungen und dergleichen zu verbinden, genutzt werden. Allerdings ist die HPI darauf nicht beschränkt. Stattdessen kann die HPI in irgendeinem der hier beschriebenen Systeme oder in irgendeiner der hier beschriebenen Plattformen genutzt werden. Darüber hinaus können die einzelnen entwickelten Ideen auf andere Verdrahtungen und Plattformen wie etwa PCIe, MIPI, QPI usw. angewendet werden.
  • Um mehrere Vorrichtungen zu unterstützen, kann die HPI in einer beispielhaften Implementierung eine Befehlssatzarchitektur-Agnostik (ISA-Agnostik) enthalten (d. h. kann die HPI in mehreren verschiedenen Vorrichtungen implementiert werden). In einem anderen Szenarium kann die HPI ebenfalls zum Verbinden von Hochleistungs-E/A-Vorrichtungen, nicht nur von Prozessoren oder Beschleunigern, genutzt werden. Zum Beispiel kann eine Hochleistungs-PCIe-Vorrichtung über eine geeignete Übersetzungs-Bridge (d. h. HPI zu PCIe) mit einer HPI gekoppelt sein. Darüber hinaus können die HPI-Verbindungen von vielen HPI-basierten Vorrichtungen wie etwa Prozessoren auf verschiedene Arten (z. B. Sterne, Ringe, Maschen usw.) genutzt werden. 5 veranschaulicht beispielhafte Implementierungen mehrerer potentieller Mehr-Sockel-Konfigurationen. Eine Zwei-Sockel-Konfiguration 505, wie sie gezeigt ist, kann zwei HPI-Verbindungen enthalten; allerdings kann in anderen Implementierungen eine HPI-Verbindung genutzt werden. Für größere Topologien kann irgendeine Konfiguration genutzt werden, solange eine Kennung (ID) zuweisbar ist und solange es unter anderen zusätzlichen oder Ersatzmerkmalen eine Form eines virtuellen Wegs gibt. Wie gezeigt ist, weist in einem Beispiel eine Vier-Sockel-Konfiguration 510 eine HPI-Verbindung von einem Prozessor zu einem anderen auf. Dagegen ist in der in der Konfiguration 515 gezeigten Acht-Sockel-Implementierung nicht jeder Sockel direkt mit jedem anderen über eine HPI-Verbindung verbunden. Allerdings wird die Konfiguration unterstützt, falls zwischen den Prozessoren ein virtueller Weg oder Kanal vorhanden ist. Ein Bereich unterstützter Prozessoren enthält in einer nativen Domäne 2-32. Höhere Anzahlen von Prozessoren können unter anderen Beispielen unter Verwendung mehrerer Domänen oder anderer Verdrahtungen zwischen Knotencontrollern erreicht werden.
  • Die HPI-Architektur enthält eine Definition einer Schichtprotokollarchitektur, die in einigen Beispielen Protokollschichten (kohärent, nicht kohärent und optional andere speicherbasierte Protokolle), eine Routingschicht, eine Sicherungsschicht und eine Bitübertragungsschicht enthält. Darüber hinaus kann die HPI ferner Erweiterungen enthalten, die sich unter anderen Beispielen auf Leistungsmanager (wie etwa Leistungssteuereinheiten (PCUs)), auf den Entwurf für Prüfung und Austesten (DFT), auf die Störungsbehandlung, auf Register, auf die Sicherheit beziehen. 5 veranschaulicht eine Ausführungsform eines beispielhaften HPI-Schichtprotokollstapels. In einigen Implementierungen können wenigstens einige der in 5 dargestellten Schichten optional sein. Jede Schicht behandelt ihre eigene Granularitäts- oder Informationsquantumebene (die Protokollschicht 605a,b mit Paketen 630, die Sicherungsschicht 610a,b mit Flits 635 und die Bitübertragungsschicht 605a,b mit Phits 640). Es wird angemerkt, dass ein Paket in einigen Ausführungsformen auf der Grundlage der Implementierung partielle Flits, ein einzelnes Flit oder mehrere Flits enthalten kann.
  • Als ein erstes Beispiel enthält eine Breite eines Phits 640 eine 1-zu-1-Abbildung einer Verbindungsbreite auf Bits (z. B. enthält eine Verbindungsbreite von 20 Bits ein Phit von 20 Bits usw.). Flits können eine größere Größe wie etwa 184, 192 oder 200 Bits aufweisen. Es wird angemerkt, dass es eine gebrochene Anzahl von Phits 640 erfordert, um ein Flit 635 zu übertragen, falls das Phit 640 20 Bit breit ist und die Größe des Flits 635 184 Bits sind (z. B. unter anderen Beispielen 9,2 Phits bei 20 Bits zum Übertragen eines 184-Bit-Flits 635 oder 9,6 bei 20 Bits zum Übertragen eines 192-Bit-Flits). Es wird angemerkt, dass die Breiten der Grundverbindung in der Bitübertragungsschicht variieren können. Zum Beispiel kann die Anzahl der Spuren pro Richtung 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 usw. enthalten. In einer Ausführungsform kann die Sicherungsschicht 610a,b mehrere Stücke verschiedener Transaktionen in ein einzelnes Flit einbetten und können einer oder mehrere Anfangsblöcke (z. B. 1, 2, 3, 4) in das Flit eingebettet werden. In einem Beispiel trennt die HPI die Anfangsblöcke in entsprechende Schlitze, um zu ermöglichen, dass mehrere Nachrichten in dem Flit für unterschiedliche Knoten bestimmt sind.
  • In einer Ausführungsform kann die Bitübertragungsschicht 605a,b für die schnelle Übertragung von Informationen in dem physikalischen Medium (elektrisch oder optisch usw.) verantwortlich sein. Die physikalische Verbindung zwischen zwei Sicherungsschichtentitäten wie etwa zwischen der Schicht 605a und der Schicht 605b kann eine von Punkt zu Punkt sein. Die Sicherungsschicht 610a,b kann die Bitübertragungsschicht 605a,b von den oberen Schichten abstrahieren und stellt die Fähigkeit bereit, Daten (sowie Anforderungen) zuverlässig zu übertragen und die Flusssteuerung zwischen zwei direkt verbundenen Entitäten zu managen. Außerdem kann die Sicherungsschicht dafür verantwortlich sein, den physikalischen Kanal in mehrere virtuelle Kanäle und Nachrichtenklassen zu virtualisieren. Die Protokollschicht 620a,b stützt sich auf die Sicherungsschicht 610a,b, um Protokollnachrichten auf geeignete Nachrichtenklassen und virtuelle Kanäle abzubilden, bevor sie sie zur Übertragung über die physikalischen Verbindungen an die Bitübertragungsschicht 605a,b übergibt. Die Sicherungsschicht 610a,b kann unter anderen Beispielen mehrere Nachrichten wie etwa Anforderung, Mitlauschen, Antwort, Zurückschreiben, nicht kohärente Daten unterstützen.
  • Wie in 6 dargestellt ist, kann die Bitübertragungsschicht 605a,b (oder PHY) der HPI über der elektrischen Schicht (d. h. den elektrischen Leitern, die zwei Komponenten verbinden) und unter der Sicherungsschicht 610a,b implementiert sein. Die Bitübertragungsschicht und die entsprechende Logik können in jedem Agenten liegen und verbinden die Sicherungsschichten in zwei voneinander getrennten Agenten (A und B) (z. B. in Vorrichtungen auf beiden Seiten einer Verbindung). Die lokale und die ferne elektrische Schicht sind durch physikalische Medien (z. B. Drähte, Leiter, optisch usw.) verbunden. In einer Ausführungsform weist die Bitübertragungsschicht 605a,b zwei Hauptphasen, Initialisierung und Betrieb, auf. Während der Initialisierung ist die Verknüpfung für die Sicherungsschicht undurchlässig und kann die Signalisierung eine Kombination von zeitlich festgelegten Zuständen und Quittungsaustausch-Ereignissen umfassen. Während des Betriebs ist die Verknüpfung für die Sicherungsschicht durchlässig und erfolgt die Signalisierung mit einer Geschwindigkeit, wobei alle Spuren als eine einzelne Verbindung zusammenarbeiten. Während der Betriebsphase transportiert die Bitübertragungsschicht Flits vom Agenten A zum Agenten B und vom Agenten B zum Agenten A. Die Verknüpfung wird auch als eine Verbindung bezeichnet und abstrahiert einige physikalische Aspekte einschließlich Medien, Breite und Geschwindigkeit von Sicherungsschichten, während mit der Sicherungsschicht Flits und Steuerung/Status aktueller Informationen (z. B. die Breite) ausgetauscht werden. Die Initialisierungsphase enthält unbedeutende Phasen, z. B. Abfragen, Konfiguration. Die Betriebsphase enthält ebenfalls unbedeutende Phasen (z. B. Verbindungs-Leistungsmanagementzustände).
  • In einer Ausführungsform kann die Sicherungsschicht 610a,b in der Weise implementiert werden, dass sie eine zuverlässige Datenübertragung zwischen zwei Protokollen oder Routingentitäten bereitstellt. Die Sicherungsschicht kann die Bitübertragungsschicht 605a,b von der Protokollschicht 620a,b abstrahieren und kann für die Flusssteuerung zwischen zwei Protokollagenten (A, B) verantwortlich sein und kann Dienste virtueller Kanäle für die Protokollschicht (Nachrichtenklassen) und für die Routingschicht (virtuelle Netze) bereitstellen. Die Schnittstelle zwischen der Protokollschicht 620a,b und der Sicherungsschicht 610a,b kann üblicherweise auf der Paketebene sein. In einer Ausführungsform wird die kleinste Übertragungseinheit der Sicherungsschicht als ein Flit bezeichnet, das eine spezifizierte Anzahl von Bits wie etwa 192 Bits oder ein anderer Nennbetrag ist. Um die Übertragungseinheit (Phit) der Bitübertragungsschicht 605a,b in die Übertragungseinheit (Flit) der Sicherungsschicht 610a,b zu rahmen, stützt sich die Sicherungsschicht 610a,b auf die Bitübertragungsschicht 605a,b. Außerdem kann die Sicherungsschicht 610a,b logisch in zwei Teile, einen Sender und einen Empfänger, zerlegt werden. Ein Sender/Empfänger-Paar in einer Entität kann mit einem Empfänger/Sender-Paar in einer anderen Entität verbunden werden. Häufig wird eine Flusssteuerung sowohl auf einer Flit- als auch auf einer Paketbasis ausgeführt. Potentiell werden ebenfalls eine Fehlerdetektion und eine Fehlerkorrektur auf einer Flit-Ebenen-Basis ausgeführt.
  • In einer Ausführungsform kann die Routingschicht 615a,b ein flexibles und verteiltes Verfahren zum Routen von HPI-Transaktionen von einer Quelle zu einem Ziel bereitstellen. Da Routingalgorithmen für mehrere Topologien durch programmierbare Routingtabellen bei jedem Router spezifiziert werden können (wobei die Programmierung in einer Ausführungsform durch Firmware, durch Software oder durch eine Kombination davon ausgeführt wird), ist das Schema flexibel. Die Routingfunktionalität kann verteilt sein; das Routing kann über eine Reihe von Routingschritten erfolgen, wobei jeder Routingschritt durch ein Nachschlagen einer Tabelle entweder bei dem Quellrouter, bei einem Zwischenrouter oder bei dem Zielrouter definiert wird. Das Nachschlagen bei einer Quelle kann zum Injizieren eines HPI-Pakets in das HPI-Fabric verwendet werden. Das Nachschlagen bei einem Zwischenrouter kann zum Routen eines HPI-Pakets von einem Eingangsport zu einem Ausgangsport verwendet werden. Das Nachschlagen bei einem Zielport kann für die Zielsetzung des Ziel-HPI-Protokollagenten verwendet werden. Es wird angemerkt, dass die Routingschicht in einigen Implementierungen dünn sein kann, da die Routingtabellen und somit die Routingalgorithmen durch die Spezifikation nicht spezifisch definiert sind. Dies ermöglicht Flexibilität und dass durch die Systemimplementierung eine Vielzahl von Nutzungsmodellen einschließlich flexibler Plattformarchitekturtopologien definiert werden. Die Routingschicht 615a,b stützt sich auf die Sicherungsschicht 610a,b, um die Verwendung von bis zu drei (oder mehr) virtuellen Netzen (VNs) - in einem Beispiel zwei Deadlock-freie VNs, VN0 und VN1, mit mehreren in jedem virtuellen Netz definierten Nachrichtenklassen - bereitzustellen. In der Sicherungsschicht kann ein gemeinsam genutztes adaptives virtuelles Netz (VNA) definiert werden, wobei dieses adaptive Netz in Routingkonzepten aber nicht direkt freigelegt wird, da jede Nachrichtenklasse und jedes virtuelle Netz unter anderen Merkmalen und Beispielen dedizierte Betriebsmittel und einen garantierten Vorwärtsfortschritt aufweisen kann.
  • In einigen Implementierungen kann die HPI einen eingebetteten Takt nutzen. In Daten, die unter Verwendung der Verdrahtung übertragen werden, kann ein Taktsignal eingebettet sein. Wenn das Taktsignal in die Daten eingebettet ist, können verschiedene und dedizierte Taktspuren weggelassen sein. Dies kann z. B. nützlich sein, da es insbesondere in Systemen, in denen der Platz für Anschlussstifte sehr wertvoll ist, ermöglichen kann, mehr Anschlussstifte einer Vorrichtung der Datenübertragung zu widmen.
  • Eine Verbindung kann zwischen zwei Agenten auf beiden Seiten einer Verdrahtung aufgebaut werden. Ein Agent, der Daten sendet, kann ein lokaler Agent sein und der Agent, der die Daten empfängt, kann ein ferner Agent sein. Von beiden Agenten können Zustandsmaschinen genutzt werden, um verschiedene Aspekte der Verbindung zu managen. In einer Ausführungsform kann der Datenweg der Bitübertragungsschicht Flits von der Sicherungsschicht an das elektrische Frontend senden. In einer Implementierung enthält der Steuerweg eine Zustandsmaschine (auch als eine Verbindungstrainingszustandsmaschine oder ähnlich bezeichnet). Die Aktionen und Austritte von Zuständen der Zustandsmaschine können von internen Signalen, Zeitgebern, externen Signalen oder anderen Informationen abhängen. Tatsächlich können einige der Zustände wie etwa einige wenige Initialisierungszustände Zeitgeber aufweisen, um einen Zeitablaufwert für den Austritt aus einem Zustand bereitzustellen. Es wird angemerkt, dass sich Detektieren in einigen Ausführungsformen auf das Detektieren eines Ereignisses auf beiden Zweigen einer Spur, allerdings nicht notwendig gleichzeitig, bezieht. Allerdings bezieht sich Detektieren in anderen Ausführungsformen auf die Detektion eines Ereignisses durch einen Agenten der Bezugnahme. Als ein Beispiel bezieht sich Entprellen auf die aufrechterhaltene Erklärung eines Signals. In einer Ausführungsform unterstützt die HPI den Betrieb im Fall funktionsloser Spuren. In spezifischen Zuständen können hier Spuren fallengelassen werden.
  • In der Zustandsmaschine definierte Zustände können hier unter anderen Kategorien und Subkategorien Rücksetzzustände, Initialisierungszustände und Betriebszustände enthalten. In einem Beispiel können einige Initialisierungszustände einen sekundären Zeitgeber aufweisen, der verwendet wird, um bei einem Zeitablauf aus dem Zustand auszutreten (im Wesentlichen ein Abbruch, da in dem Zustand kein Fortschritt erfolgt). Ein Abbruch kann das Aktualisieren von Registern wie etwa des Statusregisters enthalten. Einige Zustände können ebenfalls einen oder mehrere primäre Zeitgeber aufweisen, die zur zeitlichen Festlegung der primären Funktionen in dem Zustand verwendet werden. Andere Zustände können so definiert sein, dass unter anderen Beispielen interne oder externe Signale (wie etwa Quittungsaustausch-Protokolle) den Übergang von einem Zustand in einen anderen Zustand ansteuern.
  • Eine Zustandsmaschine kann ebenfalls das Austesten durch einen einzelnen Schritt, das Einfrieren bei Abbruch der Initialisierung und die Verwendung von Prüfern unterstützen. Zustandsaustritte können hier verschoben/gehalten werden, bis die Austestsoftware bereit ist. In einem Fall kann der Austritt bis zu dem sekundären Zeitablauf verschoben/gehalten werden. In einer Ausführungsform können Aktionen und Austritte auf dem Austausch von Trainingssequenzen beruhen. In einer Ausführungsform soll die Verbindungszustandsmaschine in der Taktdomäne des lokalen Agenten ausgeführt werden und erfolgt der Übergang von einem Zustand zu dem Nächsten so, dass er mit einer Sendertrainingssequenzgrenze zusammenfällt. Um den aktuellen Zustand zu widerspiegeln, können Statusregister genutzt werden.
  • 7 veranschaulicht eine Darstellung wenigstens eines Abschnitts einer Zustandsmaschine, die von Agenten in einer beispielhaften Implementierung der HPI verwendet wird. Es sollte gewürdigt werden, dass die in der Zustandstabelle aus 7 enthaltenen Zustände eine nicht erschöpfende Auflistung möglicher Zustände enthalten. Zum Beispiel sind einige Übergänge weggelassen, um das Diagramm zu vereinfachen. Außerdem können einige Zustände kombiniert, geteilt oder weggelassen werden, während andere hinzugefügt werden könnten. Diese Zustände können Folgende enthalten:
    • Ereignisrücksetzzustand: In ihn wird bei einem Warm- oder Kaltrücksetzereignis eingetreten. Er stellt Standardwerte wieder her. Er initialisiert Zähler (z. B. Synchronzähler). Er kann zu einem anderen Zustand wie etwa zu einem anderen Rücksetzzustand austreten.
    • Zeitlich festgelegter Rücksetzzustand: zeitlich festgelegter Zustand für Inbandzurücksetzen. Er kann eine im Voraus definierte elektrisch geordnete Menge (EOS) ansteuern, so dass ferne Empfänger die EOS detektieren können und ebenfalls in das zeitlich festgelegte Zurücksetzen eintreten können. Der Empfänger weist Spuren auf, die elektrische Einstellungen halten. Er kann zu einem Agenten austreten, um den Rücksetzzustand zu kalibrieren.
    • Kalibrierungsrücksetzzustand: Kalibrierung ohne Signalisierung auf der Spur (z. B. Empfängerkalibrierungszustand) oder Ausschalten von Treibern. Er kann eine vorgegebene Zeitdauer in dem Zustand auf der Grundlage eines Zeitgebers sein. Er kann eine Betriebsgeschwindigkeit einstellen. Wenn ein Port nicht freigegeben ist, kann er als ein Wartezustand wirken. Er kann eine minimale Aufenthaltszeit enthalten. Auf der Grundlage des Entwurfs kann eine Empfängeraufbereitung oder ein Ausstaffeln auftreten. Nach einem Zeitablauf und/oder nach Ablauf einer Kalibrierung kann er zu einem Empfängerdetektionszustand austreten.
    • Empfängerdetektionszustand: Detektiert die Anwesenheit eines Empfängers auf einer oder auf mehreren Spuren. Er kann nach einem Empfängerabschluss (z. B. nach einer Empfängerabbrucheinfügung) suchen. Wenn ein spezifizierter Wert gesetzt ist oder wenn ein anderer spezifizierter Wert nicht gesetzt ist, kann er zu einem Kalibrierungsrücksetzzustand austreten. Falls ein Empfänger detektiert wird oder falls ein Zeitablauf erreicht ist, kann er zum Senderkalibrierungszustand austreten.
    • Senderkalibrierungszustand: für Senderkalibrierungen. Er kann ein zeitlich festgelegter Zustand sein, der für Senderkalibrierungen zugeordnet wird. Er kann eine Signalisierung auf einer Spur enthalten. Er kann ununterbrochen eine EOS wie etwa eine EIEOS ansteuern. Wenn eine Kalibrierung erfolgt oder bei Ablauf eines Zeitgebers kann er zu einem Kompatibilitätszustand austreten. Falls ein Zähler abgelaufen ist oder falls ein sekundärer Zeitablauf aufgetreten ist, kann er zu einem Senderdetektionszustand austreten.
    • Senderdetektionszustand: Bezeichnet eine gültige Signalisierung. Er kann ein Quittungsaustausch-Zustand sein, bei dem ein Agent auf der Grundlage der Signalisierung eines fernen Agenten Aktionen abschließt und zu einem nächsten Zustand austritt. Der Empfänger kann eine gültige Signalisierung von einem Sender bezeichnen. In einer Ausführungsform sucht der Empfänger nach einer Weckdetektion, wobei er auf anderen Spuren nach ihr sucht, falls sie auf einer oder auf mehreren Spuren entprellt wurde. Der Sender steuert ein Detektionssignal an. In Ansprechen darauf, dass eine Entprellung für alle Spuren und/oder ein Zeitablauf abgeschlossen wird oder falls eine Entprellung auf allen Spuren nicht abgeschlossen ist und es einen Zeitablauf gibt, kann er zu einem Abfragezustand austreten. Eine oder mehrere Überwachungsspuren wachgehalten werden Um ein Wecksignal zu entprellen, können hier. Wenn sie entprellt ist, können potentiell außerdem die anderen Spuren entprellt werden. Dies kann Leistungseinsparungen in leistungsarmen Zuständen ermöglichen.
    • Abfragezustand: Der Empfänger adaptiert sich, initialisiert den Driftpuffer und verriegelt auf BitsBytes (identifiziert z. B. Symbolgrenzen). Die Spuren können schräglaufkompensiert werden. Ein ferner Agent kann in Ansprechen auf eine Quittierungsnachricht einen Austritt zu einem nächsten Zustand (z. B. zu einem Verbindungsbreitenzustand) veranlassen. Das Abfragen kann zusätzlich eine Trainingssequenzverriegelung durch Verriegeln auf eine EOS und einen Trainingssequenzanfangsblock enthalten. Ein Schräglauf von Spur zu Spur bei dem fernen Sender kann für höchste Geschwindigkeit bei einer ersten Länge und für niedrige Geschwindigkeit bei einer zweiten Länge nach oben begrenzt werden. In einer langsamen Betriebsart sowie in einer Betriebs-Betriebsart kann eine Schräglaufkompensation ausgeführt werden. Der Empfänger kann einen spezifischen maximalen zu kompensierenden Schräglauf von Spur zu Spur wie etwa 8, 16 oder 32 Schräglaufintervalle aufweisen. Die Empfängeraktionen können eine Latenzzeitkorrektur enthalten. In einer Ausführungsform können die Empfängeraktionen bei einer erfolgreichen Schräglaufkompensation einer gültigen Spurkarte abgeschlossen werden. In einem Beispiel kann ein erfolgreicher Quittungsaustausch erzielt werden, wenn eine Anzahl aufeinanderfolgender Trainingssequenzanfangsblöcke mit Quittierungen empfangen werden und wenn eine Anzahl von Trainingssequenzen mit einer Quittierung gesendet werden, nachdem der Empfänger seine Aktionen abgeschlossen hat.
    • Verbindungsbreitenzustand: Der Agent kommuniziert mit der letzten Spurkarte zum fernen Sender. Der Empfänger empfängt die Informationen und decodiert sie. Der Empfänger kann eine konfigurierte Spurkarte in einer Struktur nach dem Prüfpunkt eines vorhergehenden Spurkartenwerts in einer zweiten Struktur aufzeichnen. Außerdem kann der Empfänger mit einer Quittierung („ACK“) antworten. Er kann ein Inbandzurücksetzen initiieren. Als ein Beispiel ist er ein erster Zustand zum Initiieren des Inbandzurücksetzens. In einer Ausführungsform wird der Austritt zu einem nächsten Zustand wie etwa zu einem Flit-Konfigurationszustand in Ansprechen auf das ACK ausgeführt. Ferner kann vor dem Eintritt zu einem leistungsarmen Zustand ebenfalls ein Rücksetzsignal erzeugt werden, falls die Häufigkeit, mit der ein Aufweckdetektionssignal auftritt, unter einen spezifizierten Wert (z. B. 1 auf jede Anzahl von Einheitsintervallen (UIs) wie etwa 4 kUI) fällt. Der Empfänger kann aktuelle und vorhergehende Spurkarten halten. Der Sender kann verschiedene Gruppen von Spuren auf der Grundlage von Trainingssequenzen mit unterschiedlichen Werten verwenden. In einigen Ausführungsformen kann die Spurkarte einige Statusregister nicht ändern.
    • Flitverriegelungs-Konfigurationszustand: In ihn wird durch einen Sender eingetreten, wobei der Zustand aber als ausgetreten angesehen wird (d. h. sekundärer Zeitablauf fraglich), wenn sowohl der Sender als auch der Empfänger zu einem Verbindungssperrzustand oder zu einem anderen Verbindungszustand ausgetreten sind. In einer Ausführungsform enthält der Senderaustritt zu einem Verbindungszustand den Anfang einer Datensequenzgrenze (SDS-Grenze) und einer Trainingssequenzgrenze (TS-Grenze) nach dem Empfang eines planetaren Ausrichtsignals. Der Empfängeraustritt kann hier auf dem Empfang einer SDS von einem fernen Sender beruhen. Dieser Zustand kann eine Brücke von einem Agenten zu einem Verbindungszustand sein. Der Empfänger identifiziert die SDS. Falls eine SDS empfangen wird, nachdem ein Entwürfler initialisiert worden ist, kann der Empfänger zu einem Verbindungssperrzustand (BLS) (oder in ein Steuerfenster) austreten. Falls ein Zeitablauf auftritt, kann der Austritt zu einem Rücksetzzustand erfolgen. Der Sender steuert die Spuren mit einem Konfigurationssignal an. Auf der Grundlage von Bedingungen oder Zeitabläufen kann der Senderaustritt ein Zurücksetzen, ein BLS oder andere Zustände sein.
    • Verbindungsübertragungszustand: ein Verbindungszustand. Es werden Flits an einen fernen Agenten gesendet. In ihn kann von einem Verbindungssperrzustand eingetreten werden und er kann bei einem Ereignis wie etwa einen Zeitablauf zu einem Verbindungssperrzustand zurückkehren. Der Sender sendet Flits. Der Empfänger empfängt Flits. Er kann ebenfalls zu einem leistungsarmen Verbindungszustand austreten. In einigen Implementierungen kann der Verbindungsübertragungszustand (TLS) als der LO-Zustand bezeichnet werden.
    • Verbindungssperrzustand: ein Verbindungszustand. Der Sender und der Empfänger arbeiten auf vereinheitlichte Weise. Er kann ein zeitlich festgelegter Zustand sein, währenddessen die Sicherungsschicht-Flits zurückgehalten werden, während die Bitübertragungsschichtinformationen an den fernen Agenten übermittelt werden. Er kann zu einem leistungsarmen Verbindungszustand (oder zu einem anderen Verbindungszustand auf der Grundlage des Entwurfs) austreten. In einer Ausführungsform tritt ein Verbindungssperrzustand (BLS) periodisch auf. Die Periode wird als ein BLS-Intervall bezeichnet und kann zeitlich festgelegt sein und kann sich zwischen niedriger Geschwindigkeit und Betriebsgeschwindigkeit unterscheiden. Es wird angemerkt, dass die Sicherungsschicht wie etwa während eines Verbindungsübertragungszustands oder eines Teilbreiten-Verbindungsübertragungszustands periodisch von dem Senden von Flits gesperrt werden kann, so dass eine Bitübertragungsschicht-Steuersequenz mit einer Länge gesendet werden kann. In einigen Implementierungen kann der Verbindungssperrzustand (BLS) als ein L0-Steuerzustand oder als ein L0c-Zustand bezeichnet werden.
    • Teilbreiten- Verbindungsübertragungszustand: Verbindungszustand. Er kann Leistung sparen, indem zu einem Teilbreitenzustand eingetreten wird. In einer Ausführungsform bezieht sich die asymmetrische Teilbreite auf jede Richtung einer Zweirichtungsverbindung mit unterschiedlichen Breiten, die in einigen Entwürfen unterstützt werden können. Ein Beispiel eines Initiators wie etwa eines Senders, der eine Teilbreitenangabe sendet, um in einen Teilbreiten-Verbindungsübertragungszustand einzutreten, ist in dem Beispiel aus 9 gezeigt. Hier wird eine Teilbreitenangabe gesendet, während auf einer Verbindung mit einer ersten Breite die Verbindung gesendet wird, damit die Verbindung zum Senden mit einer zweiten, neuen Breite übergeht. Eine Fehlanpassung kann zu einem Zurücksetzen führen. Es wird angemerkt, dass Geschwindigkeiten nicht geändert werden können, die Breite aber geändert werden kann. Somit werden potentiell Flits bei unterschiedlichen Breiten gesendet. Dies kann logisch ähnlich zu einem Verbindungsübertragungszustand sein; allerdings kann es länger dauern, Flits zu übertragen, da es eine kleinere Breite gibt. Er kann auf der Grundlage bestimmter empfangener und gesendeter Nachrichten oder eines Austritts aus dem Teilbreiten-Verbindungsübertragungszustand oder aus einem Verbindungssperrzustand auf der Grundlage anderer Ereignisse in andere Verbindungszustände wie etwa zu einem leistungsarmen Verbindungszustand austreten. In einer Ausführungsform kann ein Sender-Port, wie in dem Zeitablaufplan gezeigt ist, ungenutzte Spuren auf gestaffelte Weise ausschalten, um eine bessere Signalintegrität (z. B. Rauschunterdrückung) bereitzustellen. Während Zeitdauern, in denen sich die Verbindungsbreite ändert, können hier nicht wiederholbare Flits wie etwa Null-Flits genutzt werden. In einer oder in mehreren Strukturen kann ein entsprechender Empfänger diese Null-Flits fallenlassen und ungenutzte Spuren auf gestaffelte Weise ausschalten sowie die aktuelle und die vorhergehende Spurkarte aufzeichnen. Es wird angemerkt, dass der Status und das zugeordnete Statusregister ungeändert bleiben können. In einigen Implementierungen kann der Teilbreiten-Verbindungsübertragungszustand als Teil-L0-Zustand oder LOp-Zustand bezeichnet werden.
    • Austritt aus dem Teilbreiten-Verbindungsübertragungszustand: Austritt aus dem Teilbreitenzustand. In einigen Implementierungen kann dies ein Verbindungssperrzustand oder nicht sein. In einer Ausführungsform initiiert der Sender einen Austritt, indem er auf den ungenutzten Spuren Teilbreitenaustrittsmuster sendet, um sie zu trainieren und ihren Schräglauf zu kompensieren. Als ein Beispiel beginnt ein Austrittsmuster mit einer EIEOS, die detektiert und entprellt wird, um zu signalisieren, dass die Spur bereit ist, den Eintritt in einen vollen Verbindungsübertragungszustand zu beginnen, und kann es mit einer SDS oder mit einer Schnelltrainigssequenz (FTS) auf ungenutzten Spuren enden. Irgendeine Störung während der Austrittssequenz (Empfängeraktionen wie etwa eine vor dem Zeitablauf nicht abgeschlossene Schräglaufkompensation) hält Flit-Übertragungen an die Sicherungsschicht an und erklärt ein Zurücksetzen, das durch Zurücksetzen der Verbindung bei dem nächsten Auftreten des Verbindungssperrzustands behandelt wird. Außerdem kann die SDS den Verwürfler/Entwürfler auf den Spuren auf geeignete Werte initialisieren. Leistungsarmer Verbindungszustand: Dies ist ein leistungsärmerer Zustand. In einer Ausführungsform ist er leistungsärmer als der Teilbreitenverbindungszustand, da die Signalisierung in dieser Ausführungsform auf allen Spuren und in beiden Richtungen angehalten ist. Sender können einen Verbindungssperrzustand verwenden, um einen leistungsarmen Verbindungszustand anzufordern. Der Empfänger kann hier die Anforderung decodieren und mit einem ACK oder mit einem NAK antworten; andernfalls kann ein Zurücksetzen ausgelöst werden. In einigen Implementierungen kann der leistungsarme Verbindungszustand als ein L1-Zustand bezeichnet werden.
  • In einer Ausführungsform können zwei Typen von Anschlussstiftzurücksetzungen unterstützt werden: Einschaltzurücksetzen (oder „Kalt“-Zurücksetzen) und Warm-Zurücksetzen. Ein Zurücksetzen, das durch Software initiiert wird oder (in der Bitübertragungsschicht oder in einer anderen Schicht) von einem Agenten ausgeht, kann inband an den anderen Agenten übermittelt werden. Allerdings kann ein Inbandzurücksetzen wegen der Nutzung eines eingebetteten Takts durch Kommunikation mit einem anderen Agenten unter Verwendung einer geordneten Menge wie etwa einer spezifischen elektrischen geordneten Menge oder EIEOS wie oben eingeführt behandelt werden. Solche geordneten Sätze können unter anderen Beispielen als definierte 16-Byte-Codes implementiert werden, die im Hexadezimalformat dargestellt werden können. Die geordnete Menge kann während der Initialisierung gesendet werden und nach der Initialisierung kann eine PHY-Steuersequenz (oder ein „Verbindungssperrzustand“) gesendet werden. Der Verbindungssperrzustand kann Sperren, dass die Sicherungsschicht Flits sendet. Als ein weiteres Beispiel kann der Sicherungsschichtverkehr zum Senden neuer NULL-Flits, die bei dem Empfänger verworfen werden können, gesperrt werden.
  • In einigen Implementierungen von HPI können Supersequenzen definiert werden, wobei jede Supersequenz einem jeweiligen Zustand oder dem Eintritt in einen/dem Austritt aus einem jeweiligen Zustand entspricht. Eine Supersequenz kann eine sich wiederholende Sequenz von Datensätzen und Symbolen enthalten. Unter anderen Beispielen können sich die Sequenzen unter anderen Beispielen bis zum Abschluss eines Zustands oder eines Zustandsübergangs oder bis zur Übermittlung eines entsprechenden Ereignisses wiederholen. In einigen Fällen kann sich die sich wiederholende Sequenz einer Supersequenz in Übereinstimmung mit einer definierten Häufigkeit wie etwa einer definierten Anzahl von Einheitsintervallen (UIs) wiederholen. Ein Einheitsintervall (UI) kann dem Zeitintervall zum Senden eines einzelnen Bits auf einer Spur einer Verbindung oder eines Systems entsprechen. In einigen Implementierungen kann die sich wiederholende Sequenz mit einer Electrically Ordered Set (EOS) beginnen. Dementsprechend kann erwartet werden, dass sich eine Instanz der EOS in Übereinstimmung mit der vorgegebenen Häufigkeit wiederholt. Solche geordneten Mengen können als definierte 16-Byte-Codes implementiert werden, die unter anderen Beispielen im Hexadezimalformat dargestellt werden können. In einem Beispiel kann die EOS einer Supersequenz eine Electrically Ordered Electrical Idle Ordered Set (oder EIEIOS) sein. In einem Beispiel kann eine EIEOS einem Niederfrequenztaktsignal (z. B. einer vorgegebenen Anzahl sich wiederholender FF00- oder FFF000-Hexadezimalsymbole usw.) ähneln. Auf die EOS kann eine vorgegebene Menge von Daten wie etwa eine vorgegebene Anzahl von Trainingssequenzen oder anderen Daten folgen. Unter anderen Beispielen können solche Supersequenzen in Zustandsübergängen einschließlich Verbindungszustandsübergängen sowie in einer Initialisierung genutzt werden.
  • Wie oben eingeführt wurde, kann die Initialisierung in einer Ausführungsform anfangs mit niedriger Geschwindigkeit erfolgen, worauf die Initialisierung mit hoher Geschwindigkeit folgt. Die Initialisierung mit niedriger Geschwindigkeit verwendet für die Register und Zeitwerte die Standardwerte. Daraufhin verwendet Software die Niedergeschwindigkeitsverbindung, um die Register, Zeitgeber und elektrischen Parameter einzurichten, und löscht sie die Kalibrierungssemaphore, um den Weg für die Hochgeschwindigkeitsinitialisierung zu ebnen. Als ein Beispiel kann die Initialisierung unter potentiell anderen aus solchen Zuständen oder Aufgaben wie Zurücksetzen, Detektion, Abfrage und Konfiguration bestehen.
  • In einem Beispiel kann eine Sicherungsschicht-Sperrsteuersequenz (d. h. ein Verbindungssperrzustand (BLS) oder L0c-Zustand) einen zeitlich festgelegten Zustand enthalten, währenddessen die Sicherungsschicht-Flits zurückgehalten werden, während die PHY-Informationen an den fernen Agenten übermittelt werden. Der Sender und der Empfänger können hier einen Steuersequenz-Sperrzeitgeber starten. Außerdem können der Sender und der Empfänger beim Ablauf der Zeitgeber aus dem Sperrzustand austreten und andere Maßnahmen wie etwa das Austreten zum Zurücksetzen, das Austreten zu einem anderen Verbindungszustand (oder zu einem anderen Zustand) einschließlich zu Zuständen, die das Senden von Flits über die Verbindung ermöglichen, ergreifen.
  • In einer Ausführungsform kann ein Verbindungstraining vorgesehen sein und das Senden einer oder mehrerer verwürfelter Trainingssequenzen, geordneter Mengen und Steuersequenzen wie etwa in Verbindung mit einer definierten Supersequenz enthalten. Ein Trainingssequenzsymbol kann einen Anfangsblock und/oder reservierte Abschnitte und/oder eine Solllatenzzeit und/oder eine Paarnummer und/oder Codereferenzspuren oder eine Gruppe von Codereferenzspuren einer Karte physikalischer Spuren und/oder einen Initialisierungszustand enthalten. In einer Ausführungsform kann der Anfangsblock unter anderen Beispielen mit einem ACK oder mit einem NAK gesendet werden. Als ein Beispiel können Trainingssequenzen als Teil von Supersequenzen gesendet werden und können sie verwürfelt werden.
  • In einer Ausführungsform werden geordnete Mengen und Steuersequenzen nicht verwürfelt oder gestaffelt und werden sie gleich, gleichzeitig und vollständig auf allen Spuren gesendet. Ein gültiger Empfang einer geordneten Menge kann das Prüfen wenigstens eines Abschnitts der geordneten Menge (oder einer gesamten geordneten Menge für geordnete Teilmengen) enthalten. Geordnete Mengen können eine Electrically Ordered Set (EOS) wie etwa eine Electrical Idle Ordered Set (EIOS) oder eine EIEOS enthalten. Eine Supersequenz kann einen Anfang einer Datensequenz (SDS) oder eine Schnelltrainingssequenz (FTS) enthalten. Solche Mengen und Steuersupersequenzen können im Voraus definiert werden und können irgendein Muster oder irgendeine hexadezimale Darstellung sowie irgendeine Länge aufweisen. Zum Beispiel können geordnete Mengen und Supersequenzen eine Länge von 8 Bytes, 16 Bytes oder 32 Bytes usw. sein. Als ein Beispiel kann die FTS zusätzlich für die schnelle Bitverriegelung während des Austritts aus einem Teilbreiten-Verbindungsübertragungszustand genutzt werden. Es wird angemerkt, dass die FTS-Definition pro Spur sein kann und eine gedrehte Version der FTS nutzen kann.
  • In einer Ausführungsform können Supersequenzen die Einfügung einer EOS wie etwa einer EIEOS in den Trainingssequenzstrom enthalten. Wenn die Signalisierung beginnt, werden Spuren in einer Implementierung auf gestaffelte Weise eingeschaltet. Allerdings kann das dazu führen, dass Anfangssupersequenzen bei dem Empfänger auf einigen Spuren abgeschnitten gesehen werden. Allerdings können Supersequenzen über kurze Intervalle (z. B. näherungsweise Eintausend-Einheits-Intervalle (oder ~ 1 kUI)) wiederholt werden. Außerdem können die Trainingssupersequenzen für die Schräglaufkompensation und/oder für die Konfiguration und/oder für die Übermittlung eines Initialisierungsziels, einer Spurkarte usw. verwendet werden. Die EIEOS kann unter anderen Beispielen für den Übergang einer Spur von dem inaktiven in den aktiven Zustand und/oder für die Selektion auf gute Spuren und/oder für die Identifizierung von Symbol- und TS-Grenzen verwendet werden.
  • Übergehend zu 8 sind Darstellungen beispielhafter Supersequenzen gezeigt. Zum Beispiel kann eine beispielhafte Detektionssupersequenz 805 definiert werden. Die Detektionssupersequenz 805 kann eine sich wiederholende Sequenz einer einzelnen EIEOS (oder einer anderen EOS), gefolgt von einer in Voraus definierten Anzahl von Instanzen einer bestimmten Trainingssequenz (TS), enthalten. In einem Beispiel kann die EIEOS, unmittelbar gefolgt von sieben wiederholten Instanzen der TS, gesendet werden. Wenn die letzte der sieben TS gesendet worden ist, kann die EIEOS erneut gesendet werden, gefolgt von sieben zusätzlichen Instanzen der TS, usw. Die Sequenz kann in Übereinstimmung mit einer bestimmten vorgegebenen Häufigkeit wiederholt werden. In dem Beispiel aus 8 kann die EIEOS auf den Spuren näherungsweise einmal auf eintausend UI (~1 kUI), gefolgt von dem Rest der Detektionssupersequenz 805, erneut erscheinen. Ein Empfänger kann Spuren auf die Anwesenheit einer sich wiederholenden Detektionssupersequenz 805 überwachen und beim Validieren der Supersequenz 705 folgern, dass ein ferner Agent vorhanden ist, auf den Spuren (z. B. durch Einstecken im laufenden Betrieb) hinzugefügt worden ist, aufgewacht ist oder reinitialisiert worden ist usw.
  • In einem anderen Beispiel kann eine andere Supersequenz 810 definiert werden, um eine Abfrage-, Konfigurations- oder Loopback-Bedingung oder einen Abfrage-, Konfigurations- oder Loopback-Zustand anzugeben. Wie bei der beispielhaften Detektionssupersequenz 805 können Spuren einer Verbindung durch einen Empfänger auf eine solche Abfrage-/Konfigurations-/Schleifen-Supersequenz 810 überwacht werden, um einen Abfragezustand, einen Konfigurationszustand oder einen Loopback-Zustand oder eine Abfragebedingung, eine Konfigurationsbedingung oder eine Loopback-Bedingung zu identifizieren. In einem Beispiel kann eine Abfrage-/Konfigurations-/Loopback-Supersequenz 810 mit einem EIEOS, gefolgt von einer vorgegebenen Anzahl wiederholter Fälle eines TS, beginnen. Zum Beispiel können auf die EIEOS in einem Beispiel einunddreißig (31) Instanzen einer TS folgen, wobei sich die EIEOS näherungsweise alle viertausend UI (z. B. ~4 kUI) wiederholt.
  • Ferner kann in einem anderen Beispiel eine Teilbreiten-Übertragungszustands-Austrittssupersequenz (PWTS-Austrittssupersequenz) 815 definiert werden. In einem Beispiel kann eine PWTS-Austrittssupersequenz eine Anfangs-EIEOS enthalten, um Spuren vor dem Senden der ersten vollen Sequenz in der Supersequenz voraufzubereiten. Zum Beispiel kann die in der Supersequenz 815 zu wiederholende Sequenz mit einer (näherungsweise einmal je 1 kUI zu wiederholenden) EIEOS beginnen. Ferner können anstelle anderer Trainingssequenzen (TS) Schnelltrainingssequenzen (FTS) genutzt werden, wobei die FTS dafür konfiguriert ist, bei einer schnelleren Bitverriegelung, Byteverriegelung und Schräglaufkompensation zu helfen. In einigen Implementierungen kann eine FTS entwürfelt werden, um weiter dabei zu helfen, ungenutzte Spuren so schnell und unterbrechungsfrei wie möglich wieder aktiv zu machen. Wie bei anderen Supersequenzen, die einem Eintritt in einen Verbindungsübertragungszustand vorangehen, kann die Supersequenz 815 durch das Senden eines Datensequenzanfangs (SDS) unterbrochen und beendet werden. Ferner kann eine Teil-FTS (FTSp) gesendet werden, um, wie etwa unter anderen Beispielen dadurch, dass ermöglicht wird, dass Bits von der FTSp entfernt (oder zu ihr hinzugefügt) werden, beim Synchronisieren der neuen Spuren mit den aktiven Spuren zu helfen.
  • Potentiell können Supersequenzen wie etwa eine Detektionssupersequenz 705 und eine Abfrage-/Konfigurations-/Schleifen-Supersequenz 710 usw. im Wesentlichen während der gesamten Initialisierung oder Reinitialisierung einer Verbindung gesendet werden. In einigen Fällen kann ein Empfänger beim Empfangen und Detektieren einer bestimmten Supersequenz dadurch antworten, dass er dieselbe Supersequenz über die Spuren an den Sender identisch wiedergibt. Der Empfang und die Validierung einer bestimmten Supersequenz durch einen Sender und einen Empfänger können als ein Quittungsaustausch dienen, um einen Zustand oder eine Bedingung, der bzw. die über die Supersequenz übermittelt worden ist, zu quittieren. Zum Beispiel kann ein solcher Quittungsaustausch (z. B. unter Nutzung einer Detektionssupersequenz 705) verwendet werden, um eine Neuinitialisierung einer Verbindung zu identifizieren. In einem anderen Beispiel kann ein solcher Quittungsaustausch unter anderen Beispielen genutzt werden, um das Ende eines elektrischen Rücksetzzustands oder leistungsarmen Zustands anzugeben, was dazu führt, dass entsprechende Spuren wieder hochgefahren werden. Das Ende des elektrischen Zurücksetzens kann z. B. von einem Quittungsaustausch zwischen einem Sender und einem Empfänger, die jeweils eine Detektionssupersequenz 705 übertragen, identifiziert werden.
  • In einem anderen Beispiel können Spuren auf Supersequenzen überwacht werden und können sie die Supersequenzen in Verbindung mit dem Screening von Spuren unter anderen Ereignissen auf Detektions-, Aufweck-Zustandsaustritte und Detektions-, Aufweck-Zustandseintritte verwenden. Ferner können das im Voraus definierte und vorhersagbare Wesen und die im Voraus definierte und vorhersagbare Form von Supersequenzen verwendet werden, um solche Initialisierungsaufgaben wie Bitverriegelung, Byteverriegelung, Entprellung, Entwürfelung, Schräglaufkompensation, Adaptation, Latenzzeitkorrektur, abgestimmte Verzögerungen und andere potentielle Verwendungen auszuführen. Tatsächlich können Spuren im Wesentlichen ununterbrochen auf solche Ereignisse überwacht werden, um die Fähigkeit des Systems, auf solche Bedingungen zu reagieren und sie zu verarbeiten, zu beschleunigen. Im Fall des Entprellens können im Ergebnis einer Vielzahl von Bedingungen Transienten auf Spuren eingeführt werden. Zum Beispiel kann die Hinzufügung oder das Einschalten einer Vorrichtung Transienten auf der Spur einführen. Außerdem können wegen schlechter Spurqualität oder elektrischer Störung Spannungsunregelmäßigkeiten auf einer Spur dargestellt werden. Solche Unregelmäßigkeiten können auf Supersequenzen mit vorhersagbaren Werten, wie etwa, wenn Werte einer EIEOS in Verbindung mit Transienten oder anderen Bitfehlern unerwartet abweichen, leicht detektiert werden.
  • In einem Beispiel kann eine Sendevorrichtung in einen bestimmten Zustand einzutreten versuchen. Zum Beispiel kann die Sendevorrichtung die Verbindung zu aktivieren und in einen Initialisierungszustand einzutreten versuchen. In einem anderen Beispiel kann die Sendevorrichtung unter anderen Beispielen aus einem leistungsarmen Zustand wie etwa einem L1-Zustand auszutreten versuchen. In einigen Fällen eines L1-Zustands kann der L1-Zustand als Leistungseinsparungszustand, Leerlaufzustand oder Standby-Zustand dienen. Tatsächlich können in einigen Beispielen Hauptleistungsversorgungen in dem L1-Zustand aktiv bleiben. Beim Austritt aus einem L1-Zustand kann eine erste Vorrichtung eine Supersequenz senden, die dem Übergang von dem L1-Zustand in einen bestimmten anderen Zustand wie etwa einen L0-Verbindungsübertragungszustand (L0-TLS) zugeordnet ist. Wie in anderen Beispielen kann die Supersequenz eine sich wiederholende Sequenz einer EOS, gefolgt von einer vorgegebenen Anzahl von TS, so dass die EOS mit einer bestimmten im Voraus definierten Häufigkeit wiederholt wird, sein. Eine Empfangsvorrichtung kann die Daten empfangen und validieren, die Supersequenz identifizieren und die Empfangsvorrichtung kann den Quittungsaustausch mit der Sendevorrichtung abschließen, indem sie die Supersequenz an die Sendevorrichtung zurücksendet.
  • Wenn sowohl die Sende- als auch die Empfangsvorrichtung dieselbe Supersequenz empfängt, kann jede Vorrichtung ferner zusätzliche Initialisierungsaufgaben ausführen, die die Supersequenzen nutzen. Zum Beispiel kann jede Vorrichtung unter Nutzung der Supersequenzen eine Entprellung, eine Bitverriegelung, eine Byteverriegelung, eine Entwürfelung und eine Schräglaufkompensation ausführen. Über die Anfangsblöcke und Nutzinformationen der in den Supersequenzen enthaltenen TS können zusätzliche Initialisierungsinformationen übermittelt werden. Wenn die Verbindung initialisiert wird, kann in einigen Fällen eine Datensendestartsequenz (SDS-Sequenz) gesendet werden, die die Supersequenz unterbricht (wobei sie z. B. in der Mitte einer TS oder EIEOS gesendet wird), wobei sich die jeweiligen Vorrichtungen auf beiden Seiten der Verbindung für den synchronisierten Eintritt in den TLS vorbereiten können. In dem TLS oder in einem „S0“-Zustand können Supersequenzen beendet werden und können Flits unter Nutzung der Sicherungsschicht des Protokollstapels übertragen werden.
  • In dem TLS können für die Bitübertragungsschicht weiter begrenzte Gelegenheiten bereitgestellt werden, um Steueraufgaben auszuführen. Zum Beispiel können während eines L0-Zustands Bitfehler und andere Fehler auf einer oder auf mehreren Spuren identifiziert werden. In einer Implementierung kann ein Steuerzustand L0c bereitgestellt werden. Der L0c-Zustandkann als ein periodisches Fenster innerhalb des TLS bereitgestellt werden, um zu ermöglichen, dass Bitübertragungsschicht-Steuernachrichten zwischen über die Sicherungsschicht gesendeten Strömen von Flits gesendet werden. Wie in dem in 9 veranschaulichten Beispiel dargestellt ist, kann z. B. ein L0-Zustand in L0c-Intervalle aufgeteilt werden. Jedes L0c-Intervall kann mit einem L0c-Zustandoder L0c-Fenster (z. B. 905) beginnen, in dem Bitübertragungsschicht-Steuercodes und andere Daten gesendet werden können. Der Rest (z. B. 910) des L0c-Intervalls kann für das Senden von Flits dediziert sein. Die Länge des L0c-Intervalls und des L0c-Zustands in jedem Intervall kann durch Programmierung, z. B. unter anderen Beispielen durch das BIOS einer oder mehrerer Vorrichtungen oder durch einen anderen softwarebasierten Controller, definiert werden. Der L0c-Zustandkann exponentiell kürzer als der Rest eines L0c-Intervalls sein. Zum Beispiel kann der L0c in einem Beispiel unter anderen Beispielen 8 UI sein, während der Rest des L0c-Intervalls in der Größenordnung von 4 kUI liegt. Dies kann Fenster ermöglichen, in denen verhältnismäßig kurze, im Voraus definierte Nachrichten gesendet werden können, ohne Verbindungsdatenbandbreite wesentlich zu unterbrechen oder zu verschwenden.
  • Eine L0c-Zustandsnachricht kann eine Vielzahl von Bedingungen auf der Bitübertragungsschichtebene übermitteln. In einem Beispiel kann eine Vorrichtung z. B. auf der Grundlage von Bitfehlern oder anderen Fehlern über einen bestimmten Schwellenbetrag hinaus z. B. ein Zurücksetzen der Verbindung oder einer Spur initiieren. Solche Fehler können ebenfalls in L0c-Fenstem (wie etwa vorhergehenden L0c-Fenstern) übermittelt werden. Außerdem kann der L0c-Zustand wirksam eingesetzt werden, um eine andere Inbandsignalisierung wie etwa eine Signalisierung zur Verwendung bei der Unterstützung oder beim Auslösen von Übergängen zwischen anderen Verbindungszuständen zu verwirklichen. In einem Beispiel können L0c-Nachrichten genutzt werden, um eine Verbindung von einem aktiven L0-Zustand in einen Standby-Zustand oder leistungsarmen Zustand wie etwa einen L1-Zustand zu überführen. Wie in dem vereinfachten Ablaufplan aus 10 gezeigt ist, kann ein bestimmter L0c-Zustand verwendet werden, um eine L1-Eintrittsanforderung (z. B. 1010) zu übermitteln. Während die Vorrichtung (oder ein Agent in der Vorrichtung) auf eine Quittierung der Anforderung 1010 wartet, können weitere Flits (z. B. 1020, 1030) gesendet werden. Die andere Vorrichtung an der Verbindung kann die Quittierung (z. B. 1040) senden. In einigen Beispielen kann die Quittierung ebenfalls in einem L0c-Fenster gesendet werden. In einigen Fällen kann die Quittierung in dem nächsten L0c-Fenster, gefolgt von dem Empfang/der Sendung der L1-Anforderung 1010, gesendet werden. Zum Synchronisieren der L0c-Intervalle in jeder Vorrichtung können Zeitgeber genutzt werden und die anfordernde Vorrichtung kann die Quittierung 1040 unter anderen Beispielen auf der Grundlage einer Identifizierung, dass die Quittierung 1040 in dem nächsten L0c-Fenster gesendet wurde, als eine Quittierung der Anforderung 1010 (z. B. anstelle einer unabhängigen L1-Eintrittsanforderung) identifizieren. In einigen Fällen kann eine Quittierung über einen anderen als den in der L1-Eintrittsanforderung 1010 verwendeten L0c-Code übermittelt werden. In anderen Fällen kann die Quittierung 1040 unter anderen Beispielen die identische Wiedergabe des in der Anforderung 1010 verwendeten L1-Eintrittsanforderungscodes enthalten. Ferner kann in dem L0c-Fenster in alternativen Beispielen ein Nichtquittierungssignal oder NAK übermittelt werden.
  • Außer dem (oder als Alternative zu dem) Quittungsaustausch unter Verwendung von L0c-Codes können in Verbindung mit dem Zurücksetzen und mit der Reinitialisierung der Verbindung Supersequenzen wie etwa eine Detektionssupersequenz gesendet werden. Während die Supersequenzen durch eine erste Vorrichtung gesendet werden und durch die zweite, empfangende Vorrichtung identisch wiedergegeben werden, kann zwischen den Vorrichtungen ein weiterer Quittungsaustausch stattfinden. Wie oben beschrieben wurde, können Supersequenzen zur Hilfe bei der Reinitialisierung der Verbindung einschließlich Entprellen, Bitverriegelung, Byteverriegelung, Entwürfelung und Schräglaufkompensation der Spuren der Verbindung verwendet werden. Ferner können die Vorrichtungen den Zeitgeber (der z. B. das L0c-Intervall verkörpert) nutzen, um den Eintritt der Vorrichtungen und der Verbindung in den angeforderten L1-Zustand zu synchronisieren. Zum Beispiel kann der Empfang der Quittierung 1040 für die Vorrichtungen unter anderen Beispielen angeben, dass sie am Ende des L0c-Intervalls, das dem L0c-Fenster entspricht, in dem die Quittierung gesendet wurde, beide in den L 1-Zustand eintreten sollen (oder einzutreten beginnen sollen). Zum Beispiel können die in einem L0c-Fenster, das in der Quittierung 1040 enthalten oder ihr auf andere Weise zugeordnet ist, gesendeten Daten unter anderen potentiellen Beispielen den Zeitpunkt angeben, zu dem die Vorrichtungen in den L1-Zustand eintreten sollen. In einigen Fällen können zusätzliche Flits (z. B. 1050) gesendet werden, während die Vorrichtungen auf den dem Übergang in den L1-Zustand entsprechenden Zeitablauf warten.
  • In einigen Implementierungen der HPI können Verbindungen auf irgendeiner Anzahl von zwei oder mehr Spuren aufgebaut werden. Ferner kann eine Verbindung mit einer ersten Anzahl von Spuren initialisiert werden und später zu einem Teilbreitenzustand übergehen, so dass nur ein Teil der Anzahl von Spuren verwendet werden. Der Teilbreitenzustand kann als ein leistungsärmerer Zustand wie etwa ein LOp-Zustand bestimmt werden. In einem Beispiel kann ein L0c-Zustand verwendet werden, um von einem LO-Zustand, in dem die erste Anzahl von Spuren aktiv ist, zu einem LOp-Zustand überzugehen, in dem eine kleinere Anzahl von Spuren aktiv sein soll. Wie in dem Beispiel aus 11 gezeigt ist, kann z. B. eine Verbindung mit einer ersten Breite 1110 aktiv sein. In einigen Fällen kann die erste Breite die volle Breite (z. B. bei L0) sein. In anderen Fällen kann die Verbindung unter anderen Beispielen von einem ersten LOp-Zustand, der eine erste Anzahl von Spuren nutzt, zu einem anderen LOp-Zustand übergehen, der eine andere Anzahl (oder Menge) von Spuren nutzt. Während eines L0c-Fensters der Spuren mit der ersten Breite kann ein L0p-Eintrittscode 1120 gesendet werden. Die L0p-Eintrittsanforderung 1120 kann identifizieren, welche neue Breite angewendet werden sollte. In einigen Fällen kann die neue Verbindungsbreite vorgegeben sein und einfach aus dem Empfang der L0p-Anforderung 1120 identifiziert werden. Außerdem können in Verbindung mit der L0p-Anforderung 1120 unter anderen Beispielen auch die bestimmten Spuren, die in dem Teilbreitenzustand fallengelassen werden sollen, spezifiziert oder auf andere Weise identifiziert oder vorkonfiguriert werden.
  • Weiter mit dem Beispiel aus 11 können Flits oder andere Daten weiter über die volle Breite der Spuren gesendet werden, während die Verbindung auf den Übergang in den LOp-Zustand wartet. Zum Beispiel kann durch synchronisierte Zeitgeber bei den über die Verbindung verbundenen Vorrichtungen eine Dauer t zum Synchronisieren des Eintritts in den LOp-Zustand spezifiziert werden. In einem Beispiel kann die Dauer t einem Rest eines der Anforderung 1120 entsprechenden L0c-Intervalls entsprechen. Am Ende des Intervalls bleiben ein Teil der Spuren aktiv, während ein anderer Teil der Spuren in den inaktiven Zustand oder Leerlaufzustand versetzt werden. Daraufhin arbeitet die Verbindung unter anderen Beispielen wenigstens, bis eine L0p-Austrittsanforderung oder eine andere Verbindungsbreitenübergangsanforderung empfangen wird, mit der neuen Breite (z. B. 1140).
  • Die HPI kann eine oder mehrere Leistungssteuereinheiten (PCU) nutzen, um bei der zeitlichen Festlegung von Übergängen zwischen einem L0-Zustand und Zuständen mit niedrigerer Leistung wie etwa L0p und L1 zu helfen. Ferner kann die HPI Master-Slave-, Master-Master- und andere Architekturen unterstützen. Zum Beispiel kann eine PCU nur an einer der an einer Verbindung verbundenen Vorrichtungen vorhanden oder ihr auf andere Weise zugeordnet sein, wobei die Vorrichtung mit der PCU als der Master angesehen werden kann. Master-Master-Konfigurationen können z. B. verwirklicht werden, wenn beiden Vorrichtungen eine PCU zugeordnet ist, die zu einem Verbindungszustandsübergang auffordern kann. Einige Implementierungen können für einen bestimmten leistungsarmen Zustand wie etwa z. B. unter anderen Beispielen L0p oder L1 eine minimale Dauer spezifizieren, um Übergänge zwischen Zuständen zu minimieren zu versuchen und Leistungseinsparungen innerhalb eines leistungsarmen Zustands, in den eingetreten worden ist, zu maximieren zu versuchen.
  • Der Austritt aus einem leistungsarmen Teilbreitenzustand kann angepasst werden, damit er effizient und schnell stattfindet, um die Auswirkungen und die Unterbrechung der aktiven Spuren zu minimieren. In einigen Implementierungen können außerdem L0c-Fenster und L0c-Codes verwendet werden, um einen Austritt aus einem LOp-Zustand oder aus einem anderen Zustand auszulösen, um ungenutzte Spuren zu reaktivieren. Zum Beispiel ist übergehend zu den Beispielen aus 12 ein vereinfachter Ablaufplan gezeigt, der einen beispielhaften Austritt aus einem LOp-Zustand darstellt. In dem besonderen Beispiel aus 12 können Flit-Daten (z. B. 1205) gesendet werden, wenn ein L0c-Fenster 1210 festgestellt wird, in dem eine L0-Eintrittsanforderung (oder eine L0p-Austrittsanforderung) enthalten ist. Vor dem Punkt, an dem der L0p-Austritt stattfinden soll, können zusätzliche Flits 1215 gesendet werden. Wie in anderen Beispielen kann ein L0c-Code 1210 eine Identifizierung eines Zeitpunkts, zu dem ein Zustandsübergang beginnen/enden soll, sowie bestimmte Ereignisse des Zustandsübergangs enthalten oder implizit identifizieren. Um die Datenübertragung zu maximieren, wahrend die Vorrichtungen auf den Eintritt in den Zustandsübergang warten, können weiter Flits (z. B. 1215) gesendet werden.
  • In einem Beispiel kann eine EIEOS 1220 (oder können andere Daten wie eine andere EOS) auf den inaktiven Spuren gesendet werden, um mit dem Aufbereiten der Spuren zu beginnen. In einigen Fällen können solche inaktiven Spuren (z. B. die Spuren „n + 1“ bis „z“) für eine Zeit inaktiv gewesen sein und kann das Aufwecken der Spuren elektrische Transienten und eine andere Instabilität einführen. Dementsprechend können die EIEOS 1220 sowie in Verbindung mit dem Austritt aus dem LOp-Zustand gesendete Teilbreitensupersequenzen verwendet werden, um die Spuren zu entprellen, während sie aufwachen. Ferner können in einigen Fällen Transienten auf den aufwachenden Spuren (z. B. auf den Spuren „n + 1“ bis „z“) potentiell die aktiven Spuren (z. B. die Spuren „0“ bis „n“) beeinflussen. Um zu verhindern, dass sich Irregularitäten, die von dem Wiederaufwachen der ungenutzten Spuren stammen, negativ auf die aktiven Spuren auswirken, können die aktiven Spuren synchronisiert werden, um bei oder unmittelbar vor den Anfangssignalen (z. B. 1220), die über die aufwachenden Spuren gesendet werden, (z. B. bei 1225) Null-Flits zu senden.
  • In einigen Implementierungen kann eine Reinitialisierung der ungenutzten Spuren zeitlich so festgelegt werden, dass sie wie etwa bei Abschluss eines entsprechenden L0c-Intervalls beginnt. In anderen Fällen kann ein alternativer Zeitpunkt genutzt werden, um die Reinitialisierung früh zu beginnen. In solchen Fällen kann ein Sender der L0p-Austrittsanforderung veranlassen, dass die genutzten Spuren z. B. durch das Senden einer oder mehrerer einzelner EIEOS voraufbereitet werden. Unter anderen Beispielen kann das Senden solcher Aufbereitungssignale in der Weise mit den aktiven Spuren koordiniert werden, dass auf den aktiven Spuren zusammenfallend mit der Anfangssendung des EIEOS und dem Schutz der aktiven Spuren vor störenden Transienten beim Start der ungenutzten Spuren vorübergehend Null-Flits gesendet werden. Unter anderen Techniken können z. B. alternativ oder zusätzlich Sicherungsschichtpuffer verwendet werden, um vor einem Bitverlust zu schützen, der sich aus solchen Transienten in wiederaufwachenden ungenutzten Spuren ergibt.
  • Ferner kann in einigen Implementierungen nach dem Senden einer Anfangs-EIEOS (oder Anfangssupersequenz) eine Teilbreitenzustands-Austrittssupersequenz (z. B. 1230) gesendet werden. Wenigstens ein Teil der Supersequenz kann auf den aktiven Spuren (z. B. bei 1225) wiederholt werden. Ferner kann die Vorrichtung, die die Supersequenz 1225 empfängt, unter anderen Beispielen die Supersequenz identisch wiedergeben, um einen Quittungsaustausch des Zustandsübergangs auszuführen und ihn zu quittieren. Ferner kann das Senden der Supersequenz (z. B. 1230) verwendet werden, um eine Bitverriegelung, eine Byteverriegelung, eine Entprellung, eine Entwürfelung und eine Schräglaufkompensation auszuführen. Zum Beispiel können die reaktivierten Spuren gegenüber den aktiven Spuren schräglaufkompensiert werden. In einigen Fällen kann auf die für die ungenutzten Spuren in der ursprünglichen Initialisierung der Verbindung bestimmten Anfangskonfigurationen zugegriffen werden und können sie angewendet werden, obwohl das ungenutzte Wesen der Spuren in anderen Fällen zu Änderungen des Schräglaufs und zu anderen Spureigenschaften führen kann, was zu der effektiven Reinitialisierung der ungenutzten Spuren führt.
  • Kurz zurückkehrend zu 8 ist ein Beispiel von Sequenzen dargestellt, die in Verbindung mit einem Teilbreiten-Übertragungszustands-Austritt (z. B. einem Übergang von einem LOp-Zustand zu einem LO-Zustand) gesendet werden können. Da Spuren vor und nach einem solchen Übergang aktiv bleiben sollen, kann auf das Beschleunigen des Zustandsübergangs, um eine minimale Unterbrechung für die aktiven Spuren bereitzustellen, der Schwerpunkt gelegt werden. In einem Beispiel kann (z. B. wie in 1220 aus 12) eine Teilsupersequenz ohne die nachfolgenden Trainingssequenzen gesendet werden, um das Entprellen zu beschleunigen. Zum Beispiel kann versucht werden, Transienten innerhalb der ersten EIEOS aufzulösen, ohne ein weiteres 1 kUI darauf zu warten, dass eine zweite vollständige EIEOS gesendet wird, um mit der Bitverriegelung, mit der Byteverriegelung, mit der Schräglaufkompensation und mit anderen Aufgaben zu beginnen. Ferner kann die vollständige Teilbreiten-Übertragungszustands-Austrittssupersequenz eine sich wiederholende Sequenz einer EOS (z. B. EIEOS), gefolgt von einer im Voraus definierten Anzahl von Trainingssequenzen, enthalten. In dem Beispiel aus 8 kann eine EIEOS, gefolgt von einer Reihe von Trainingssequenzen (z. B. sieben aufeinanderfolgenden Trainingssequenzen), gesendet werden. In einer Implementierung kann eine abgekürzte „Schnelltrainingssequenz“ (oder FTS) gesendet werden, anstatt eine volle Trainingssequenz (wie etwa eine in den Supersequenzen 805, 810 verwendete „TS“) zu senden. Unter anderen Merkmalen können die Symbole der FTS optimiert sein, um bei der schnellen Bit- und Byteverriegelung und bei der Schräglaufkompensation der reaktivierten Spuren zu helfen. In einem Beispiel kann die FTS eine Länge von weniger als 150 UI (z. B. 128 UI) aufweisen. Ferner können FTS unverwürfelt gelassen werden, um weiter bei der schnellen Wiedergewinnung der ungenutzten Spuren zu helfen.
  • Wie in der dritten Reihe des Elements 815 gezeigt ist, kann eine Teilbreiten-Übertragungszustands-Austrittssupersequenz außerdem durch eine SDS unterbrochen werden, wenn ein Controller bestimmt hat, dass die reaktivierten Spuren effektiv initialisiert worden sind. In einem Beispiel kann auf die SDS eine Teil-FTS (oder FTSp) folgen, um die reaktivierte Spur (z. B. wenn die Bitverriegelung, die Byteverriegelung und die Schräglaufkompensation abgeschlossen worden sind) mit den aktiven Spuren synchronisieren zu helfen. Zum Beispiel kann die Bitlänge der FTSp entsprechend einer sauberen Flit-Grenze für die Endbreite zwischen den empfangenden Spuren und den aktiven Spuren eingestellt werden. Um die schnelle Synchronisation der Spur zu erleichtern, können vor oder während der FTSp bei dem Empfänger Bits zu einer Spur hinzugefügt oder von ihr entfernt werden, um den Schräglauf zu berücksichtigen. Alternativ oder zusätzlich können bei dem Empfänger vor oder während der SDS ebenfalls Bits zu der Spur hinzugefügt oder von ihr entfernt werden, um unter anderen Beispielen die Schräglaufkompensation einer neu aktivierten Spur zu erleichtern.
  • Zurückkehrend zu der Diskussion aus 12 kann in einigen Beispielen die Sendung von Daten-Flits auf den aktiven Spuren (z. B. auf den Spuren 0 bis n) (z. B. bei 1225) wiederaufgenommen werden, während die Initialisierung der aufwachenden Spuren abgeschlossen wird. Zum Beispiel können Sicherungsschichtübertragungen wiederaufgenommen werden, wenn das Entprellen gelöst worden ist. In einigen Fällen kann die Flit-Sendung im Zusammenhang mit der abschließenden Reaktivierung und Synchronisation der zuvor ungenutzten Spuren (z. B. der Spuren n + 1 bis z) (z. B. in Verbindung mit dem Senden einer FTSp 1235) (z. B. bei 1240) vorübergehend unterbrochen werden. Wenn die Spuren wiederhergestellt worden sind, können daraufhin Flit-Daten 1245 auf allen Spuren wiederaufgenommen werden.
  • In einer Ausführungsform kann der Takt in die Daten eingebettet sein, so dass es keine getrennten Taktspuren gibt. Um die Taktrückgewinnung zu erleichtern, können die über die Spuren gesendeten Flits verwürfelt werden. Als ein Beispiel kann die Empfängertaktrückgewinnungseinheit Abtasttakte an einen Empfänger liefern (d. h., der Empfänger gewinnt den Takt aus den Daten wieder und verwendet ihn zum Abtasten der ankommenden Daten). In einigen Implementierungen adaptieren sich die Empfänger ununterbrochen an einen ankommenden Bitstrom. Durch Einbetten des Takts kann potentiell die Anschlussstiftanordnung verringert werden. Allerdings kann das Einbetten des Takts in die Inbanddaten die Art und Weise ändern, in der das Inbandzurücksetzen angegangen wird. In einer Ausführungsform kann nach der Initialisierung ein Verbindungssperrzustand (BLS) genutzt werden. Außerdem können unter anderen Betrachtungen während der Initialisierung Supersequenzen einer elektrisch geordneten Menge genutzt werden, um das Zurücksetzen (z. B. wie oben beschrieben) zu ermöglichen. Der eingebettete Takt kann zwischen den Vorrichtungen an einer Verbindung gemeinsam sein und der gemeinsame Betriebstakt kann während der Kalibrierung und Konfiguration der Verbindung eingestellt werden. Zum Beispiel können HPI-Verbindungen auf einen gemeinsamen Takt mit Driftpuffern Bezug nehmen. Unter anderen potentiellen Vorteilen kann eine solche Implementierung eine niedrigere Latenzzeit als elastische Puffer, die in nicht gemeinsamen Referenztakten verwendet werden, verwirklichen. Ferner kann innerhalb spezifizierter Grenzwerte an die Referenztaktverteilungssegmente angepasst werden.
  • Wie oben angemerkt wurde, kann eine HPI-Verbindung in der Lage sein, mit mehreren Geschwindigkeiten einschließlich einer „langsamen Betriebsart“ für das Standardeinschalten, für die Initialisierung usw. zu arbeiten. Die Betriebsgeschwindigkeit oder Betriebs-Betriebsart (oder „schnelle“ Geschwindigkeit oder „schnelle“ Betriebsart) jeder Vorrichtung kann durch das BIOS statisch eingestellt werden. Der gemeinsame Takt auf der Verbindung kann auf der Grundlage der jeweiligen Betriebsgeschwindigkeiten jeder Vorrichtung auf beiden Seiten der Verbindung konfiguriert werden. Zum Beispiel kann die Verbindungsgeschwindigkeit unter anderen Beispielen auf der langsameren der Betriebsgeschwindigkeiten der zwei Vorrichtungen beruhen. Ein Betriebsgeschwindigkeitswechsel kann von einem Warm- oder Kaltzurücksetzen begleitet sein.
  • In einigen Beispielen initialisiert sich die Verbindung beim Einschalten auf die langsame Betriebsart mit einer Übertragungsrate z. B. von 100 MT/s. Daraufhin stellt Software die zwei Seiten für die Betriebsgeschwindigkeit der Verbindung ein und beginnt sie mit der Initialisierung. In anderen Fällen kann ein Seitenbandmechanismus genutzt werden, um eine Verbindung einschließlich des gemeinsamen Takts auf der Verbindung z. B. bei Abwesenheit oder Nichtverfügbarkeit einer langsamen Betriebsart einzustellen.
  • In einer Ausführungsform kann eine Initialisierungsphase der langsamen Betriebsart dieselbe Codierung, dieselbe Verwürfelung, dieselben Trainingssequenzen (TS), dieselben Zustände usw. wie die Betriebsgeschwindigkeit, aber mit potentiell weniger Merkmalen (z. B. keine Einstellung elektrischer Parameter, keine Adaptation usw.), verwenden. Die Betriebsphase der langsameren Betriebsart kann potentiell ebenfalls dieselbe Codierung, dieselbe Verwürfelung usw. verwenden (obwohl das für andere Implementierungen nicht der Fall sein kann), im Vergleich zur Betriebsgeschwindigkeit aber weniger Zustände und Merkmale (z. B. keine leistungsarmen Zustände) aufweisen.
  • Ferner kann unter Verwendung der nativen Phasenverriegelungsschleifen-Taktfrequenz (PLL-Taktfrequenz) der Vorrichtung eine langsame Betriebsart implementiert werden. Zum Beispiel kann die HPI eine emulierte langsame Betriebsart ohne Änderung der PLL-Taktfrequenz unterstützen. Obwohl einige Entwürfe getrennte PLL für die niedrige und für die hohe Geschwindigkeit verwenden können, kann in einigen Implementierungen der HPI eine emulierte langsame Betriebsart dadurch erzielt werden, dass der PLL-Takt während der langsamen Betriebsart mit derselben hohen Betriebsgeschwindigkeit laufengelassen wird. Zum Beispiel kann ein Sender ein langsameres Taktsignal emulieren, indem er Bits mehrmals wiederholt, um ein langsames hohes Taktsignal und daraufhin ein langsames niedriges Taktsignal zu emulieren. Daraufhin kann der Empfänger das empfangene Signal überabtasten, um durch die sich wiederholenden Bits emulierte Flanken zu ermitteln, und das Bit identifizieren. In solchen Implementierungen können Ports, die eine PLL gemeinsam nutzen, bei niedrigen und hohen Geschwindigkeiten koexistieren.
  • Zwischen zwei Vorrichtungen kann eine gemeinsame Geschwindigkeit einer langsamen Betriebsart initialisiert werden. Zum Beispiel können die zwei Vorrichtungen an einer Verbindung unterschiedlich schnelle Betriebsgeschwindigkeiten aufweisen. Zum Beispiel kann während einer Entdeckungsphase oder während eines Entdeckungszustands auf der Verbindung eine gemeinsame Geschwindigkeit der langsamen Betriebsart konfiguriert werden. In einem Beispiel kann ein Emulationsvielfaches als ein ganzzahliges (oder nicht ganzzahliges) Verhältnis der hohen Geschwindigkeit zur niedrigen Geschwindigkeit eingestellt werden und können die unterschiedlichen hohen Geschwindigkeiten abwärts umgesetzt werden, um mit derselben niedrigen Geschwindigkeit zu arbeiten. Zum Beispiel können zwei Vorrichtungsagenten, die wenigstens eine gemeinsame Frequenz unterstützen, unabhängig von der Geschwindigkeit, mit der der Host-Port läuft, im laufenden Betrieb angeschlossen werden. Daraufhin kann die Softwareentdeckung die Verbindung mit der langsamen Betriebsart verwenden, um die optimalen Verbindungsbetriebsgeschwindigkeiten zu identifizieren und einzustellen. Wo das Vielfache ein ganzzahliges Verhältnis einer hohen Geschwindigkeit zu einer niedrigen Geschwindigkeit ist, können unterschiedliche hohe Geschwindigkeiten mit derselben langsamen Geschwindigkeit arbeiten, was während der Entdeckungsphase (z. B. eines Anschließens im laufenden Betrieb) verwendet werden kann.
  • In einigen Implementierungen der HPI kann die Adaptation von Spuren auf einer Verbindung unterstützt werden. Die Bitübertragungsschicht kann sowohl eine Empfänger- als auch eine Sender- oder Absenderadaptation unterstützen. Bei der Empfängeradaptation kann der Sender an einer Spur an den Empfänger Abtastdaten senden, die die Empfängerlogik verarbeiten kann, um Nachteile der elektrischen Eigenschaften der Spur und der Qualität des Signals zu identifizieren. Daraufhin kann der Empfänger auf der Grundlage der Analyse der empfangenen Abtastdaten an der Kalibrierung der Spur Einstellungen vornehmen, um die Spur zu optimieren. Im Fall der Senderadaptation kann der Empfänger erneut Abtastdaten empfangen und Metriken entwickeln, die die Qualität der Spur beschreiben, wobei er in diesem Fall die Metriken aber (z. B. unter Verwendung eines Rückkanals wie etwa eines Softwarekanals, eines Hardwarekanals, eines eingebetteten Kanals, eines Seitenbandkanals oder eines anderen Kanals) an den Sender übermitteln kann, um zu ermöglichen, dass der Sender auf der Grundlage der Rückkopplung Einstellungen an der Spur vornimmt. Die Empfängeradaptation kann beim Start des Abfragezustands unter Verwendung der von dem fernen Sender gesendeten Abfragesupersequenz initialisiert werden. Ähnlich kann die Senderadaptation dadurch erfolgen, dass das Folgende für jeden Senderparameter wiederholt wird. Die beiden Agenten können als Master in einen Loopback-Musterzustand eintreten und ein spezifiziertes Muster senden. Beide Empfänger können die Metrik (z. B. BER) für diese besondere Sendereinstellung bei einem fernen Agenten messen. Beide Agenten können in den Loopback-Markenzustand gehen und daraufhin zurücksetzen und Rückkanäle (z. B. TLS der langsamen Betriebsart oder Seitenband) verwenden, um Metriken auszutauschen. Auf der Grundlage dieser Metriken kann die nächste Sendereinstellung identifiziert werden. Schließlich kann die optimale Sendereinstellung identifiziert und für die nachfolgende Verwendung gesichert werden.
  • Da beide Vorrichtungen an einer Verbindung mit demselben Referenztakt (z. B. ref clk) laufen können, können Elastizitätspuffer weggelassen werden (irgendwelche elastischen Puffer können umgangen werden oder als Driftpuffer mit der niedrigsten möglichen Latenzzeit verwendet werden). Allerdings kann eine Phaseneinstellung oder können Driftpuffer an jeder Spur genutzt werden, um den jeweiligen Empfängerbitstrom von der fernen Taktdomäne zu der lokalen Taktdomäne zu übertragen. Die Latenzzeit der Driftpuffer kann ausreichen, um die Summe der Drift von allen Quellen in einer elektrischen Spezifikation (z. B. Spannung, Temperatur, die durch Referenztaktrouting-Fehlanpassungen eingeführte Rest-SSC usw.) zu behandeln, aber so klein wie möglich, um eine Transportverzögerung zu verringern. Falls der Driftpuffer zu flach ist, können sich Driftfehler ergeben und als eine Reihe von CRC-Fehlern manifestieren. Folglich kann in einigen Implementierungen unter anderen Beispielen ein Driftalarm vorgesehen sein, der ein Zurücksetzen der Bitübertragungsschicht initiieren kann, bevor ein tatsächlicher Driftfehler auftritt.
  • Einige Implementierungen der HPI können unterstützen, dass die zwei Seiten mit einer selben Nennreferenztaktfrequenz, aber mit einer ppm-Differenz laufen. In diesem Fall können Frequenzeinstellungspuffer (oder Elastizitätspuffer) notwendig sein, wobei diese unter anderen Beispielen während eines erweiterten BLS-Fensters oder während spezieller Sequenzen, die periodisch auftreten würden, neu eingestellt werden können.
  • Unter anderen Betrachtungen kann der Betrieb der logischen Schicht der HPI PHY unabhängig von den zugrundeliegenden Übertragungsmedien sein, sofern die Latenzzeit nicht zu Latenzzeitkorrekturfehlern oder Zeitüberschreitungen bei der Sicherungsschicht führt.
  • In der HPI können externe Schnittstellen vorgesehen sein, um beim Management der Bitübertragungsschicht zu helfen. Zum Beispiel können externe Signale (von Anschlussstiften, Sicherungen, anderen Schichten), Zeitgeber, Steuer- und Statusregister vorgesehen sein. Die Eingangssignale können sich relativ zu dem PHY-Zustand jederzeit ändern, sind aber von der Bitübertragungsschicht an spezifischen Punkten in einem jeweiligen Zustand zu beachten. Zum Beispiel kann unter anderen Beispielen ein sich änderndes Ausrichtsignal (wie es später eingeführt wird) empfangen werden, aber keine Wirkung haben, nachdem die Verbindung in einen Verbindungsübertragungszustand eingetreten ist. Ähnlich können Anweisungsregisterwerte von Bitübertragungsschichtentitäten nur bei spezifischen Zeitpunkten beachtet werden. Zum Beispiel kann die Bitübertragungsschichtlogik einen Schnappschuss des Werts aufnehmen und in nachfolgenden Operationen verwenden. Folglich können in einigen Implementierungen einer beschränkten Teilmenge spezifischer Perioden (z. B. in einem Verbindungsübertragungszustand oder beim Halten in einer Rücksetzkalibrierung, in einem Verbindungsübertragungszustand der langsamen Betriebsart) Aktualisierungen zu Anweisungsregistern zugeordnet werden, um ein anomales Verhalten zu vermeiden.
  • Da Statuswerte Hardwareänderungen nachverfolgen, können die gelesenen Werte davon abhängen, wann sie gelesen werden. Allerdings können sich einige Statuswerte wie etwa die Verbindungskarte, die Latenzzeit, die Geschwindigkeit usw. nach der Initialisierung nicht ändern. Zum Beispiel ist eine Reinitialisierung (oder ein Austritt aus einem leistungsarmen Verbindungszustand (LPLS) oder L1-Zustand) das Einzige, das veranlassen kann, dass sich diese ändern (z. B. kann eine harte Spurstörung in einem TLS unter anderen Beispielen erst zu einer Rekonfiguration der Verbindung führen, nachdem eine Reinitialisierung ausgelöst worden ist).
  • Schnittstellensignale können Signale enthalten, die extern zu dem Bitübertragungsschichtverhalten sind, es aber beeinflussen. Solche Schnittstellensignale können als Beispiele Codierungs- und Zeitgebungssignale enthalten. Schnittstellensignale können entwurfsspezifisch sein. Diese Signale können eine Eingabe oder eine Ausgabe sein. Einige Schnittstellensignale, wie sie etwa unter anderen Beispielen als Semaphore und Präfix-EO bezeichnet werden, können einmal pro Erklärungsflanke aktiv sein, d. h. unter anderen Beispielen kann ihre Erklärung aufgehoben werden und können sie daraufhin neu erklärt werden, um wieder wirksam zu werden. Zum Beispiel enthält Tabelle 1 eine beispielhafte Auflistung beispielhafter Funktionen: TABELLE 1
    Funktion
    Eingabe Anschlussstiftzurücksetzen (alias Warm-Zurücksetzen)
    Eingabe Anschlussstiftzurücksetzen (alias Kalt-Zurücksetzen)
    Eingabe Inbandrücksetzimpuls; veranlasst, dass ein Semaphor eingestellt wird; wenn ein Inbandzurücksetzen auftritt, wird der Semaphor gelöscht
    Eingabe gibt leistungsarme Zustände frei
    Eingabe von Loopback-Parametern; wird für Loopback-Muster angewendet
    Eingabe zum Eintritt in einen PWLTS
    Eingabe zum Austritt aus einem PWLTS
    Eingabe zum Eintritt in einen LPLS
    Eingabe zum Austritt aus einem LPLS
    Eingabe von der Detektion eines ungenutzten Austritts (alias Rauschsperrenunterbrechung)
    Eingabe, die Verwendung von CPhyInitBegin freigibt
    Eingabe von lokaler Ausrichtung oder planetarer Ausrichtung für Sender zum Austritt aus der Initialisierung
    Ausgabe, wenn ferner Agent LPLS-Anforderung mit NAKs beantwortet
    Ausgabe, wenn Agent in einen LPLS eintritt
    Ausgabe in die Sicherungsschicht, um nicht wiederholbare Flits zu erzwingen
    Ausgabe in die Sicherungsschicht, um NULL-Flits zu erzwingen
    Ausgabe, wenn Sender in einem Teilbreiten-Verbindungsübertragungszustand (PWLTS) ist
    Ausgabe, wenn Empfänger in einem PWLTS ist
  • Die CSR-Zeitgeber-Standardwerte können in Paaren - einer für die langsame Betriebsart und einer für die Betriebsgeschwindigkeit - bereitgestellt werden. In einigen Fällen deaktiviert der Wert 0 den Zeitgeber (d. h. tritt der Zeitgeber nie auf). Die Zeitgeber können die in der untenstehenden Tabelle 2 gezeigten enthalten. Primäre Zeitgeber können verwendet werden, um erwartete Aktionen in einem Zustand zeitlich festzulegen. Sekundäre Zeitgeber werden zum Abbrechen von Initialisierungen, die nicht fortschreiten, oder zum Vornehmen von Vorwärtszustandsübergängen zu genauen Zeitpunkten in einer Betriebsart einer automatisierten Prüfeinrichtung (oder ATE) verwendet. In einigen Fällen können sekundäre Zeitgeber in einem Zustand viel größer als primäre Zeitgeber sein. Exponentielle Zeitgeber können das Suffix exp tragen und der Zeitgeberwert ist 2 hoch dem Feldwert. Für lineare Zeitgeber ist der Zeitgeberwert der Feldwert. Jeder Zeitgeber könnte unterschiedliche Granularitäten verwenden. Außerdem können einige Zeitgeber in dem Leistungsmanagementabschnitt in einer ein Zeitgebungsprofil genannten Menge sein. Diese können einem Zeitgebungsdiagramm mit derselben Bezeichnung zugeordnet sein. TABELLE 2
    Zeitgeber
    Tabelle Tpriexp einstellen
    Zurücksetzen des Aufenthalts zum Ansteuern von EIEOS
    Empfängerkalibrierungs-Minimalzeit; zum Ausstaffeln des Senders
    Senderkalibrierungs-Minimalzeit; zum Einstaffeln
    Tsecexp einstellen
    zeitlich festgelegte Empfängerkalibrierung
    zeitlich festgelegte Senderkalibrierung
    Rauschsperrenaustritts-Detektion
    /Rauschsperrenaustritts-Entprellung
    DetectAtRx-Überhang für Quittungsaustausch
    Adaptation und Bitsperre/Bytesperre /Schräglaufkompensation
    Konfigurieren von Verbindungsbreiten
    Warten auf planetar ausgerichtete saubere Flit-Grenze
    erneute Bytesperre/Schräglaufkompensation
    Tdebugexp einstellen
    für Einstecken im laufenden Betrieb; Nicht-0-Wert zum Austesten von Hängen
    TBLSentry einstellen
    BLS-Eintrittsverzögerung - fein
    BLS-Eintrittsverzögerung - grob
    TBLS einstellen
    BLS-Dauer für den Sender
    BLS-Dauer für den Empfänger
    BLS-Sauber-Flit-Intervall für den Sender
    TBLS-Sauber-Flit-Intervall für den Empfänger
  • Es können Befehls- und Steuerregister vorgesehen sein. Steuerregister können Spätaktionsregister sein und können in einigen Fällen durch Software gelesen oder geschrieben werden. Spätaktionswerte können beim Zurücksetzen ständig wirksam werden (z. B. von einer softwareseitigen Stufe zu einer hardwareseitigen Stufe durchgehen). Steuersemaphore (Präfix CP) sind RW1S und können durch Hardware gelöscht werden. Um irgendwelche der hier beschriebenen Positionen auszuführen, können Steuerregister genutzt werden. Sie können durch Hardware, durch Software, durch Firmware oder durch eine Kombination davon änderbar sein und durch diese kann auf sie zugegriffen werden.
  • Statusregister können zum Nachverfolgen von Hardwareänderungen (durch Hardware geschrieben und verwendet) vorgesehen sein und Nur-Lesen sein (wobei aber Austestsoftware ebenfalls in der Lage sein kann, sie zu schreiben). Solche Register können die Interoperabilität nicht beeinflussen und sie können üblicherweise durch viele private Statusregister ergänzt sein. Es können Statussemaphore (Präfix SP) unterstellt sein, da sie durch Software gelöscht werden können, um die Aktionen, die den Status setzen, rückgängig zu machen. Als eine Teilmenge dieser Statusbits in Bezug auf die Initialisierung können Standardmittel-Anfangswerte (beim Zurücksetzen) vorgesehen sein. Bei einem Initialisierungsabbruch können diese Register in eine Ablagestruktur kopiert werden.
  • Es können Toolbox-Register vorgesehen sein. Zum Beispiel können die Prüffähigkeits-Toolbox-Register in der Bitübertragungsschicht Mustererzeugungs-, Musterprüfungs- und Loopback-Steuermechanismen bereitstellen. Anwendungen höherer Ebene können diese Register zusammen mit elektrischen Parametern verwenden, um Grenzwerte zu bestimmen. Zum Beispiel kann ein in die Verdrahtung eingebauter Test diese Toolbox zum Bestimmen von Grenzwerten nutzen. Unter anderen Beispielen können diese Register in Verbindung mit den spezifischen in vorhergehenden Abschnitten beschriebenen Registern für die Senderadaptation verwendet werden.
  • In einigen Implementierungen unterstützt die HPI unter Nutzung der Bitübertragungsschicht Zuverlässigkeits-, Verfügbarkeits- und Brauchbarkeitsfähigkeiten (RAS-Fähigkeiten). In einer Ausführungsform unterstützt die HPI mit einer oder mit mehreren Schichten, die Software enthalten können, das Einstecken und Entfernen im laufenden Betrieb. Das Entfernen im laufenden Betrieb kann enthalten, dass die Verbindung in den Ruhezustand gebracht wird und dass ein Initialisierungsanfangszustand/Initialisierungsanfangssignal für den zu entfernenden Agenten gelöscht werden kann. Ein ferner Agent (d. h. derjenige, der nicht entfernt werden soll (z. B. der Host-Agent)) kann auf niedrige Geschwindigkeit eingestellt werden und sein Initialisierungssignal kann ebenfalls gelöscht werden. Unter anderen Beispielen und Merkmalen kann ein Inbandzurücksetzen (z. B. durch BLS) veranlassen, dass beide Agenten in einem Rücksetzzustand wie etwa in einem Kalibrierungsrücksetzzustand (CRS) warten; und dass der zu entfernende Agent entfernt werden kann (oder in einem gezielten Anschlussstift-Zurücksetzen heruntergefahren gehalten werden kann). Tatsächlich können einige der obigen Ereignisse weggelassen werden und können zusätzliche Ereignisse hinzugefügt werden.
  • Das Hinzufügen im laufenden Betrieb kann enthalten, dass die Initialisierungsgeschwindigkeit standardmäßig auf langsam eingestellt werden kann und dass ein Initialisierungssignal an einem hinzuzufügenden Agenten eingestellt werden kann. Software kann die Geschwindigkeit auf niedrig einstellen und kann das Initialisierungssignal in dem fernen Agenten löschen. Die Verbindung kann in der langsamen Betriebsart heraufkommen und Software kann eine Betriebsgeschwindigkeit bestimmen. In einigen Fällen wird an diesem Punkt keine PLL-Neuverriegelung einer fernen Einrichtung ausgeführt. Die Betriebsgeschwindigkeit kann in beiden Agenten eingestellt werden und es kann eine Freigabe für die Adaptation eingestellt werden (falls dies nicht zuvor erfolgt ist). Der Initialisierungsanfangsindikator kann in beiden Agenten gelöscht werden und ein Inband-BLS-Zurücksetzen kann veranlassen, dass beide Agenten im CRS warten. Software kann ein Warm-Zurücksetzen (z. B. ein gezieltes Zurücksetzen oder Selbstzurücksetzen) eines (hinzuzufügenden) Agenten erklären, was veranlassen kann, dass eine PLL wieder verriegelt. Außerdem kann Software das Initialisierungsanfangssignal durch irgendeine bekannte Logik einstellen und ferner auf fern einstellen (es somit auf den Empfängerdetektionszustand (RDS) weiterschalten). Software kann die Erklärung des Warm-Zurücksetzens des hinzugefügten Agenten aufheben (und ihn somit zu RDS weiterschalten). Unter anderen Beispielen kann die Verbindung daraufhin mit der Betriebsgeschwindigkeit auf einen Verbindungsübertragungszustand (TLS) (oder auf Loopback, falls das Adaptationssignal eingestellt ist) initialisieren. Tatsächlich können einige der obigen Ereignisse weggelassen werden und können zusätzliche Ereignisse hinzugefügt werden.
  • Die Datenspurstörungs-Wiedergewinnung kann unterstützt werden. In einer Ausführungsform kann eine Verbindung in der HPI elastisch gegen einen harten Fehler in einer einzelnen Spur sein, indem sie sich selbst auf weniger als die volle Breite (z. B. auf weniger als die Hälfte der vollen Breite) konfiguriert, wodurch die gestörte Spur ausgeschlossen werden kann. Als ein Beispiel kann die Konfiguration durch eine Verbindungszustandsmaschine erfolgen und können ungenutzte Spuren in dem Konfigurationszustand ausgeschaltet werden. Im Ergebnis kann das Flit unter anderen Beispielen über eine schmalere Breite gesendet werden.
  • In einigen Implementierungen der HPI kann auf einigen Verbindungen eine Spurumkehr unterstützt werden. Die Spurumkehr kann sich z. B. auf Spuren 0/1/2 ... eines Senders, der mit Spuren n/n-1/n-2 ... eines Empfängers (wobei n z. B. gleich 19 oder 7 usw. sein kann) verbunden ist, beziehen. Die Spurumkehr kann bei dem Empfänger detektiert werden, da sie in einem Feld eines TS-Anfangsblocks identifiziert ist. Der Empfänger kann die Spurumkehr dadurch behandeln, dass er in einem Abfragezustand beginnt, indem er die physikalische Spur n ... 0 für die logische Spur 0 ... n verwendet. Somit können sich Bezugnahmen auf eine Spur auf die Nummer einer logische Spur beziehen. Somit können Platinenentwickler den physikalischen oder elektrischen Entwurf effizienter festlegen und kann die HPI wie hier beschrieben mit virtuellen Spurzuweisungen arbeiten. Darüber hinaus kann in einer Ausführungsform die Polarität umgekehrt werden (d. h. wenn ein differentieller Sender +/- mit einem Empfänger -/+ verbunden wird). Die Polarität kann ebenfalls bei einem Empfänger aus einem oder mehreren TS-Anfangsblockfeldern detektiert werden und in einer Ausführungsform in dem Abfragezustand behandelt werden.
  • In 13 ist eine Ausführungsform eines Blockschaltplans für ein Computersystem, das einen Mehrkernprozessor enthält, gezeigt. Der Prozessor 1300 enthält irgendeinen Prozessor oder irgendeine Verarbeitungsvorrichtung wie etwa einen Mikroprozessor, einen eingebetteten Prozessor, einen digitalen Signalprozessor (DSP), einen Netzprozessor, einen Handeinrichtungsprozessor, einen Anwendungsprozessor, einen Coprozessor, ein Einchipsystem (SOC) oder eine andere Vorrichtung zum Ausführen von Code. In einer Ausführungsform enthält der Prozessor 1300 wenigstens zwei Kerne - den Kern 1301 und den Kern 1302, die asymmetrische Kerne oder symmetrische Kerne (die dargestellte Ausführungsform) enthalten können. Allerdings kann der Prozessor 1300 irgendeine Anzahl von Verarbeitungselementen, die symmetrisch oder asymmetrisch sein können, enthalten.
  • In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik zum Unterstützen eines Software-Threads. Beispiele für Hardwareverarbeitungselemente enthalten: eine Thread-Einheit, einen Thread-Schlitz, einen Thread, eine Prozesseinheit, einen Kontext, eine Kontexteinheit, einen logischen Prozessor, einen Hardware-Thread, einen Kern und/oder irgendein anderes Element, das einen Zustand für einen Prozessor wie etwa einen Ausführungszustand oder einen Architekturzustand halten kann. Mit anderen Worten bezieht sich ein Verarbeitungselement in einer Ausführungsform auf irgendeine Hardware, der unabhängig Code wie etwa ein Software-Thread, ein Betriebssystem, eine Anwendung oder anderer Code zugeordnet werden kann. Üblicherweise bezieht sich ein physikalischer Prozessor (oder Prozessor-Sockel) auf eine integrierte Schaltung, die potentiell irgendeine Anzahl von Verarbeitungselementen wie etwa Kernen oder Hardware-Threads enthält.
  • Häufig bezieht sich ein Kern auf Logik, die sich in einer integrierten Schaltung befindet, die einen unabhängigen Architekturzustand aufrechterhalten kann, wobei jedem unabhängig aufrechterhaltenen Architekturzustand wenigstens einige dedizierte Ausführungsbetriebsmittel zugeordnet sind. Im Gegensatz zu Kernen bezieht sich ein Hardware-Thread üblicherweise auf irgendeine Logik, die sich in einer integrierten Schaltung befindet, die einen unabhängigen Architekturzustand aufrechterhalten kann, wobei die unabhängig aufrechterhaltenen Architekturzustände den Zugriff auf Ausführungsbetriebsmittel gemeinsam nutzen. Wie zu sehen ist, überlappt sich die Linie zwischen der Nomenklatur eines Hardware-Threads und eines Kerns, wenn bestimmte Betriebsmittel gemeinsam genutzt werden und andere einem Architekturzustand gewidmet sind. Dennoch werden ein Kern und ein Hardware-Thread von einem Betriebssystem häufig als einzelne logische Prozessoren angesehen, wobei das Betriebssystem Operationen in jedem logischen Prozessor einzeln planen kann.
  • Der physikalische Prozessor 1300, wie er in 13 dargestellt ist, enthält zwei Kerne - den Kern 1301 und den Kern 1302. Die Kerne 1301 und 1302 werden hier als symmetrische Kerne, d. h. als Kerne mit denselben Konfigurationen, mit denselben Funktionseinheiten und/oder mit derselben Logik, angesehen. In einer anderen Ausführungsform enthält der Kern 1301 einen Out-of-Order-Prozessorkern, während der Kern 1302 einen In-Order-Prozessorkern enthält. Allerdings können die Kerne 1301 und 1302 aus irgendeinem Kerntyp wie etwa einem nativen Kern, einem durch Software gemanagten Kern, einem an die Ausführung einer nativen Befehlssatzarchitektur (ISA) angepassten Kern, einem an die Ausführung einer übersetzten Befehlssatzarchitektur (ISA) angepassten Kern, einem gemeinsam entworfenen Kern oder einem anderen bekannten Kern einzeln gewählt werden. In einer heterogenen Kernumgebung (d. h. asymmetrische Kerne) kann eine Form von Übersetzung wie etwa eine binäre Übersetzung genutzt werden, um Code in einem oder in beiden Kernen zu planen oder auszuführen. Um die Diskussion zu fördern, sind aber im Folgenden die in dem Kern 1301 dargestellten Funktionseinheiten ausführlicher beschrieben, da die Einheiten in dem Kern 1302 in der gezeigten Ausführungsform auf ähnliche Weise arbeiten.
  • Wie gezeigt ist, enthält der Kern 1301 zwei Hardware-Threads 1301a und 1301b, die auch als Hardware-Thread-Schlitze 1301a und 1301b bezeichnet werden können. Somit können Softwareentitäten wie etwa ein Betriebssystem den Prozessor 1300 in einer Ausführungsform potentiell als vier getrennte Prozessoren, d. h. als vier logische Prozessoren oder Prozessorelemente, die vier Software-Threads gleichzeitig ausführen können, betrachten. Wie oben erwähnt wurde, ist ein erster Thread den Architekturzustandsregistern 1301a zugeordnet, ist ein zweiter Thread den Architekturzustandsregistern 1301b zugeordnet, kann ein dritter Thread den Architekturzustandsregistern 1302a zugeordnet sein und kann ein vierter Thread den Architekturzustandsregistern 1302b zugeordnet sein. Jedes der Architekturzustandsregister (1301a, 1301b, 1302a und 1302b) kann hier wie oben beschrieben als Verarbeitungselemente, Thread-Schlitze oder Thread-Einheiten bezeichnet werden. Wie dargestellt ist, sind die Architekturzustandsregister 1301a in den Architekturzustandsregistern 1301b wiederholt, so dass für den logischen Prozessor 1301a und für den logischen Prozessor 1301b eigene Architekturzustände/Architekturkontexte gespeichert werden können. In dem Kern 1301 können andere kleine Betriebsmittel wie etwa Befehlszeiger und Umbenennungslogik in einen Zuordner- und Umbenennerblock 1330 ebenfalls für die Threads 1301a und 1301b wiederholt sein. Einige Betriebsmittel wie etwa Umordnungspuffer in der Umordnungseinheit/Ausscheidungseinheit 1335, der I-TLB 1320, Lade-/Speicherpuffer und Warteschlangen können durch Partitionierung gemeinsam genutzt sein. Andere Betriebsmittel wie etwa interne Mehrzweckregister, eines oder mehrere Seitentabellenbasisregister, ein Daten-Cache unterer Ebene und ein Daten-TLB 1315, eine oder mehrere Ausführungseinheiten 1340 und Abschnitte der Out-of-Order-Einheit 1335 sind potentiell vollständig gemeinsam genutzt.
  • Häufig enthält der Prozessor 1300 andere Betriebsmittel, die vollständig gemeinsam genutzt, durch Partitionierung gemeinsam genutzt oder durch/für Verarbeitungselemente dediziert sein können. In 13 ist eine Ausführungsform eines rein beispielhaften Prozessors mit veranschaulichenden Logikeinheiten/Logikbetriebsmitteln eines Prozessors dargestellt. Es wird angemerkt, dass ein Prozessor irgendwelche dieser Funktionseinheiten enthalten kann oder sie bei ihm weggelassen sein können sowie irgendwelche anderen bekannten Funktionseinheiten, Logik oder Firmware, die nicht gezeigt sind, enthalten kann. Wie dargestellt ist, enthält der Kern 1301 einen vereinfachten repräsentativen Out-of-Order-Prozessorkem (OOO-Prozessorkem). Allerdings kann in anderen Ausführungsformen ein In-Order-Prozessor genutzt werden. Der OOO-Kern enthält einen Verzweigungszielpuffer 1320, um auszuführende/zu nehmende Verzweigungen vorherzusagen, und einen Befehlsübersetzungspuffer (I-TLB) 1320 zum Speichern von Adressenübersetzungseinträgen für Befehle.
  • Ferner enthält der Kern 1301 ein Decodiermodul 1325, das mit einer Abrufeinheit 1320 gekoppelt ist, um abgerufene Elemente zu decodieren. In einer Ausführungsform enthält die Abruflogik einzelne Ablaufsteuerungen, die drei Schlitzen 1301a bzw. 1301b zugeordnet sind. Üblicherweise ist der Kern 1301 einer ersten ISA zugeordnet, die in dem Prozessor 1300 ausführbare Befehle definiert/spezifiziert. Häufig enthalten Maschinencodebefehle, die Teil der ersten ISA sind, einen (als ein Opcode bezeichneten) Abschnitt des Befehls, der sich auf einen Befehl oder auf eine Operation, der bzw. die auszuführen ist, bezieht/diese(n) spezifiziert. Die Decodierlogik 1325 enthält eine Schaltungsanordnung, die diese Befehle aus ihren Opcodes erkennt und die decodierten Befehle zur wie durch die erste ISA definierten Verarbeitung in der Pipeline weitergibt. Wie im Folgenden ausführlicher diskutiert ist, enthalten die Decodierer 1325 in einer Ausführungsform z. B. Logik, die dafür bestimmt oder ausgelegt ist, spezifische Befehle wie etwa einen Transaktionsbefehl zu erkennen. Im Ergebnis der Erkennung durch die Decodierer 1325 ergreift die Architektur oder der Kern 1301 spezifische im Voraus definierte Maßnahmen, um dem entsprechenden Befehl zugeordnete Aufgaben auszuführen. Es ist wichtig anzumerken, dass irgendwelche der hier beschriebenen Aufgaben, Blöcke, Operationen und Verfahren in Ansprechen auf einen einzelnen oder mehrere Befehle ausgeführt werden können; von denen einige neue oder alte Befehle sein können. Es wird angemerkt, dass die Decodierer 1326 in einer Ausführungsform dieselbe ISA (oder eine Teilmenge davon) erkennen. Alternativ erkennen die Decodierer 1326 in einer Umgebung heterogener Kerne eine zweite ISA (entweder eine Teilmenge der ersten ISA oder eine andere ISA).
  • In einem Beispiel enthält der Zuordner- und Umbenennerblock 1330 einen Zuordner zum Reservieren von Betriebsmitteln wie etwa Registerdateien zum Speichern von Befehlsverarbeitungsergebnissen. Allerdings sind die Threads 1301a und 1301b potentiell zur Out-of-Order-Ausführung fähig, wobei der Zuordner- und Umbenennerblock 1330 ebenfalls andere Betriebsmittel wie etwa Umordnerpuffer zum Nachführen von Befehlsergebnissen reserviert. Außerdem kann die Einheit 1330 einen Registerumbenenner zum Umbenennen von Programm-Befehlsreferenzregistern in andere Register, die intern zu dem Prozessor 1300 sind, enthalten. Die Umordner/-Ausscheideeinheit 1335 enthält Komponenten wie etwa die obenerwähnten Umordnerpuffer, Ladepuffer und Speicherpuffer zum Unterstützen der Out-of-Order-Ausführung und eines späteren In-Order-Ausscheidens von Befehlen, die Out-of-Order ausgeführt werden.
  • In einer Ausführungsform enthält der Planer- und Ausführungseinheit(en)-Block 1340 eine Planereinheit, um Befehle/den Betrieb in Ausführungseinheiten zu planen. Zum Beispiel wird ein Gleitkommabefehl an einem Port einer Ausführungseinheit, der eine verfügbare Gleitkommaausführungseinheit aufweist, geplant. Außerdem sind den Ausführungseinheiten zugeordnete Registerdateien enthalten, um Informationsbefehlsverarbeitungs-Ergebnisse zu speichern. Beispielhafte Ausführungseinheiten enthalten eine Gleitkommaausführungseinheit, eine Ganzzahlausführungseinheit, eine Sprungausführungseinheit, eine Ladeausführungseinheit, eine Speicherausführungseinheit und andere bekannte Ausführungseinheiten.
  • Mit der einen oder den mehreren Ausführungseinheiten 1340 sind ein Daten-Cache unterer Ebene und ein Datenübersetzungspuffer (D-TLB) 1350 gekoppelt. Der Daten-Cache soll kürzlich verwendete/bearbeitete Elemente wie etwa Datenoperanden, die potentiell in Speicherkohärenzzuständen gehalten werden, speichern. Der D-TLB soll kürzliche Übersetzungen virtueller/linearer in physikalische Adressen speichern. Als ein spezifisches Beispiel kann ein Prozessor eine Seitentabellenstruktur enthalten, um den physikalischen Speicher in mehrere virtuelle Seiten zu zerlegen.
  • Die Kerne 1301 und 1302 nutzen hier den Zugriff auf einen Cache einer höheren Ebene oder auf einen weiter äußeren Cache wie etwa auf einen Cache der zweiten Ebene, der der chipintegrierten Schnittstelle 1310 zugeordnet ist, gemeinsam. Es wird angemerkt, dass sich Cache einer höheren Ebene oder weiter äußerer Cache auf Cache-Ebenen bezieht, die von der oder den Ausführungseinheiten zunehmen oder weiter entfernt sind. In einer Ausführungsform ist der Cache einer höheren Ebene ein Daten-Cache der letzten Ebene - der letzte Cache in der Speicherhierarchie im Prozessor 1300 - wie etwa ein Daten-Cache der zweiten Ebene oder der dritten Ebene. Allerdings ist der Cache einer höheren Ebene darauf nicht beschränkt, da er einem Befehls-Cache zugeordnet sein kann oder ihn enthalten kann. Nach den Decodierer 1325 kann stattdessen ein Trace-Cache - ein Typ eines Befehls-Caches - gekoppelt sein, um kürzlich decodierte Nachverfolgungen zu speichern. Ein Befehl bezieht sich hier potentiell auf einen Makrobefehl (d. h. auf einen allgemeinen Befehl, der von den Decodierern erkannt wird), der in eine Anzahl von Mikrobefehlen (Mikrooperationen) decodiert werden kann.
  • Außerdem enthält der Prozessor 1300 in der gezeigten Konfiguration ein chipintegriertes Schnittstellenmodul 1310. Historisch ist ein Speichercontroller, wie er im Folgenden ausführlicher beschrieben ist, in einem gegenüber dem Prozessor 1300 externen Computersystem enthalten. In diesem Szenarium soll die chipintegrierte Schnittstelle 1310 mit Vorrichtungen, die gegenüber dem Prozessor 1300 extern sind, wie etwa mit dem Systemspeicher 1375, mit einem Chipsatz (der häufig einen Speichercontroller-Hub zum Verbinden mit dem Speicher 1375 und einen E/A-Controller-Hub zum Verbinden mit Peripherievorrichtungen enthält), mit einem Speichercontroller-Hub, mit einer Northbridge oder mit einer anderen integrierten Schaltung kommunizieren. Außerdem kann der Bus 1305 in diesem Szenarium irgendeine bekannte Verdrahtung wie etwa einen Mehrpunktbus, eine Punkt-zu-Punkt-Verdrahtung, eine serielle Verdrahtung, einen parallelen Bus, einen kohärenten (z. B. einen Cache-kohärenten) Bus, eine Schichtprotokollarchitektur, einen differentiellen Bus und einen GTL-Bus enthalten.
  • Der Speicher 1375 kann dem Prozessor 1300 zugeordnet sein oder mit anderen Vorrichtungen in einem System gemeinsam genutzt werden. Übliche Beispiele von Typen des Speichers 1375 enthalten DRAM, SRAM, nichtflüchtigen Speicher (NV-Speicher) und andere bekannte Ablagevorrichtungen. Es wird angemerkt, dass die Vorrichtung 1380 einen Graphikbeschleuniger, einen Prozessor oder eine Karte, der bzw. die mit einem Speichercontroller-Hub gekoppelt ist, eine Datenablage, die mit einem E/A-Controller-Hub gekoppelt ist, einen drahtlosen Transceiver, eine Flash-Vorrichtung, einen Audio-Controller, einen Netz-Controller oder eine andere bekannte Vorrichtung enthalten kann.
  • Allerdings kann in letzter Zeit, während mehr Logik und Vorrichtungen auf einem einzelnen Einzelchip wie etwa einem SOC integriert werden, jede dieser Vorrichtungen in dem Prozessor 1300 integriert sein. Zum Beispiel ist in einer Ausführungsform ein Speichercontroller-Hub in derselben Baugruppe und/in demselben Einzelchip mit dem Prozessor 1300. Ein Abschnitt des Kerns (ein kernintegrierter Abschnitt) 1310 enthält hier einen oder mehrere Controller als Schnittstelle mit anderen Vorrichtungen wie etwa dem Speicher 1375 oder einer Graphikvorrichtung 1380. Die Konfiguration, die eine Verdrahtung und Controller als Schnittstelle mit solchen Vorrichtungen enthält, wird häufig als kernintegriert (oder Un-Core-Konfiguration) bezeichnet. Als ein Beispiel enthält die chipintegrierte Schnittstelle 1310 eine Ringverdrahtung für die chipintegrierte Kommunikation und eine schnelle serielle Punkt-zu-Punkt-Verbindung 1305 für die chipexterne Kommunikation. Dennoch können in der SOC-Umgebung noch mehr Vorrichtungen wie etwa die Netzschnittstelle, Coprozessoren, Speicher 1375, ein Graphikprozessor 1380 und irgendwelche anderen bekannten Computervorrichtungen/irgendeine andere bekannte Computerschnittstelle auf einem einzelnen Einzelchip oder auf einer einzelnen integrierten Schaltung integriert sein, um einen kleinen Formfaktor mit hoher Funktionalität und niedrigem Leistungsverbrauch bereitstellen.
  • In einer Ausführungsform kann der Prozessor 1300 einen Compiler-, Optimierungs- und/oder Übersetzercode 1377 ausführen, um Anwendungscode 1376 zu compilieren, zu übersetzen und/oder zu optimieren, um die hier beschriebenen Vorrichtungen und Verfahren zu unterstützen oder eine Schnittstelle mit ihnen bereitzustellen. Häufig enthält ein Compiler ein Programm oder eine Menge von Programmen zum Übersetzen von Quelltext/Quellcode in Zieltext/Zielcode. Üblicherweise erfolgt die Compilierung eines Programmcodes/Anwendungscodes mit einem Compiler in mehreren Phasen und Durchgängen, um Code einer höheren Programmiersprache in niedrigen Maschinencode oder Assemblersprachencode umzuwandeln. Dennoch können für die einfache Compilierung weiterhin Einzeldurchgangscompiler genutzt werden. Ein Compiler kann irgendwelche bekannten Compilierungstechniken nutzen und irgendwelche bekannten Compileroperationen wie etwa lexikalische Analyse, Vorverarbeitung, Parsing, semantische Analyse, Codeerzeugung, Codetransformation und Codeoptimierung ausführen.
  • Größere Compiler enthalten häufig mehrere Phasen, wobei die meisten dieser Phasen aber innerhalb zweier allgemeiner Phasen enthalten sind: (1) ein Frontend, d. h. allgemein dort, wo die Syntaxverarbeitung, die Semantikverarbeitung und etwas Transformation/Optimierung stattfinden können, und (2) ein Backend, d. h. allgemein dort, wo die Analyse, die Transformationen, die Optimierungen und die Codeerzeugung stattfinden. Einige Compiler nehmen Bezug auf eine Mitte, was die Verwischung der Abgrenzung zwischen einem Frontend und einem Backend eines Compilers darstellt. Im Ergebnis kann die Bezugnahme auf Einfügung, Zuordnung, Erzeugung oder eine andere Operation eines Compilers in irgendeiner der oben erwähnten Phasen oder Durchgänge sowie in irgendwelchen anderen bekannten Phasen oder Durchgängen eines Compilers stattfinden. Als ein veranschaulichendes Beispiel fügt ein Compiler potentiell Operationen, Aufrufe, Funktionen usw. in einer oder in mehreren Phasen der Compilation wie etwa die Einfügung von Aufrufen/Operationen in einer Frontend-Phase der Compilation und daraufhin die Transformation der Aufrufe/Operationen in Code niedrigerer Ebene während einer Transformationsphase ein. Es wird angemerkt, dass während der dynamischen Compilation Compilercode oder dynamischer Optimierungscode solche Operationen/Aufrufe einfügen können sowie den Code für die Ausführung während der Laufzeit optimieren können. Als ein spezifisches veranschaulichendes Beispiel kann Binärcode (bereits compilierter Code) während der Laufzeit dynamisch optimiert werden. Der Programmcode kann hier den dynamischen Optimierungscode, den Binärcode oder eine Kombination davon enthalten.
  • Ein Übersetzer wie etwa ein Binärübersetzer übersetzt ähnlich einem Compiler Code entweder statisch oder dynamisch, um Code zu optimieren und/oder zu übersetzen. Somit kann sich die Bezugnahme auf die Ausführung von Code, Anwendungscode, Programmcode oder auf eine andere Softwareumgebung auf Folgendes beziehen: (1) die Ausführung eines oder mehrerer Compilerprogramme, eines Optimierungscodeoptimierers oder -übersetzers, entweder dynamisch oder statisch, zum Compilieren von Programmcode, um Softwarestrukturen zu unterhalten, um andere Operationen auszuführen, Code zu optimieren oder Code zu übersetzen; (2) die Ausführung von Hauptprogrammcode einschließlich Operationen/Aufrufen wie etwa Anwendungscode, der optimiert/compiliert worden ist; (3) die Ausführung von anderem Programmcode wie etwa Bibliotheken, die dem Hauptprogrammcode zugeordnet sind, um Softwarestrukturen zu unterhalten, andere softwarebezogene Operationen auszuführen oder Code zu optimieren; oder (4) eine Kombination davon.
  • Nun in 14 ist ein Blockschaltplan einer Ausführungsform eines Mehrkernprozessors gezeigt. Wie in der Ausführungsform von 14 gezeigt ist, enthält der Prozessor 1400 mehrere Domänen. Genauer enthält eine Kerndomäne 1430 mehrere Kerne 1430A-1430N, eine Graphikdomäne 1460 enthält eine oder mehrere Graphikmaschinen mit einer Medienmaschine 1465, und eine Systemagentendomäne 1410.
  • In verschiedenen Ausführungsformen behandelt die Systemagentendomäne 1410 Leistungssteuerereignisse und Leistungsmanagement, so dass einzelne Einheiten der Domänen 1430 und 1460 (z. B. Kerne und/oder Graphikmaschinen) unabhängig steuerbar sind, um angesichts der in der gegebenen Einheit stattfindenden Aktivität (oder Inaktivität) in einer geeigneten Leistungsbetriebsartlauf einem geeigneten Leistungsniveau (z. B. aktiv, Turbo, Schlafen, Hibernate, Tiefschlaf oder einem anderen einer fortgeschrittenen Konfigurationsleistungsschnittstelle ähnlichen Zustand) dynamisch zu arbeiten. Jede der Domänen 1430 und 1460 kann mit einer anderen Spannung und/oder Leistung arbeiten und darüber hinaus können die einzelnen Einheiten innerhalb der Domänen jeweils potentiell mit einer unabhängigen Frequenz und Spannung arbeiten. Obwohl nur drei Domänen gezeigt sind, wird angemerkt, dass der Schutzumfang der vorliegenden Erfindung diesbezüglich selbstverständlich nicht beschränkt ist und dass in anderen Ausführungsformen zusätzliche Domänen vorhanden sein können.
  • Wie gezeigt ist, enthält jeder Kern 1430 außer verschiedenen Ausführungseinheiten und zusätzlichen Verarbeitungselementen ferner Caches niedriger Ebene. Die verschiedenen Kerne sind hier miteinander und mit einem gemeinsam genutzten Cache-Speicher, der aus mehreren Einheiten oder Slices eines Caches der letzten Ebene (LLC) 1440A-1440N gebildet ist, gekoppelt; häufig enthalten diese LLCs Ablage- und Cache-Controller-Funktionalität und werden sie unter den Kernen sowie potentiell auch mit der Graphikmaschine gemeinsam genutzt.
  • Wie zu sehen ist, koppelt eine Ringverdrahtung 1450 die Kerne über mehrere Ringhalte 1452A-1452N, jeweils an einer Kopplung zwischen einem Kern und einem LLC-Slice, miteinander und stellt sie eine Verdrahtung zwischen der Kerndomäne 1430, der Graphikdomäne 1460 und der Systemagentenschaltungsanordnung 1410 bereit. Wie in 14 zu sehen ist, wird die Verdrahtung 1450 verwendet, um verschiedene Informationen einschließlich Adresseninformationen, Dateninformationen, Quittierungsinformationen und Mitlausch-/Ungültig-Informationen zu übermitteln. Obwohl eine Ringverdrahtung dargestellt ist, kann irgendeine bekannte chipintegrierte Verdrahtung oder irgendein bekanntes chipintegriertes Fabric genutzt werden. Als ein veranschaulichendes Beispiel können einige der oben diskutierten Fabrics (z. B. eine andere chipintegrierte Verdrahtung, eine chipintegrierte System-Fabrik (OSF), eine Advanced-Microcontroller-Bus-Architecture-Verdrahtung (AMBA-Verdrahtung), ein mehrdimensionales Maschen-Fabric oder eine andere bekannte Verdrahtungsarchitektur) auf ähnliche Weise genutzt werden.
  • Wie weiter gezeigt ist, enthält die Systemagentendomäne 1410 eine Anzeigemaschine 1412, die eine Steuerung einer zugeordneten Anzeige und eine Schnittstelle mit ihr bereitstellen soll. Die Systemagentendomäne 1410 kann andere Einheiten wie etwa Folgende enthalten: einen integrierten Speichercontroller 1420, der eine Schnittstelle zu einem Systemspeicher (z. B. zu einem mit mehreren DIMMs implementierten DRAM; bereitstellt; eine Kohärenzlogik 1422 zum Ausführen von Speicherkohärenzoperationen. Es können mehrere Schnittstellen vorhanden sein, um eine Verbindung zwischen dem Prozessor und einer anderen Schaltungsanordnung zu ermöglichen. Zum Beispiel sind in einer Ausführungsform wenigstens eine Direktmedienschnittstellen-Schnittstelle (DMI-Schnittstelle) 1416 sowie eine oder mehrere PCIe™-Schnittstellen 1414 vorgesehen. Üblicherweise koppeln diese Anzeigemaschine und diese Schnittstellen über eine PCIe™-Bridge 1418 mit dem Speicher. Nochmals weiter können eine oder mehrere weitere Schnittstellen vorgesehen sein, um Kommunikationen zwischen anderen Agenten wie etwa zusätzlichen Prozessoren oder einer anderen Schaltungsanordnung bereitzustellen.
  • Nun in 15 ist ein Blockschaltplan eines repräsentativen Kerns, spezifisch von Logikblöcken eines Backends eines Kerns wie etwa des Kerns 1430 aus 14, gezeigt. Im Allgemeinen enthält die in 15 gezeigte Struktur einen Out-of-Order-Prozessor, der eine Frontend-Einheit 1570 aufweist, die zum Abrufen ankommender Befehle, zum Ausführen verschiedener Verarbeitung (z. B. Cache-Verarbeitung, Decodierung, Verzweigungsvorhersage usw.) und zum Übergeben von Befehlen/Operationen entlang einer Out-of-Order-Maschine (OOO-Maschine) 1580 verwendet wird. Die OOO-Maschine 1580 führt an den decodierten Befehlen eine Weiterverarbeitung aus.
  • Genauer enthält die Out-of-Order-Maschine 1580 in der Ausführungsform aus 15 eine Zuordnungseinheit 1582, um decodierte Befehle, die in Form eines oder mehrerer Mikrobefehle oder µops sein können, von der Frontend-Einheit 1570 zu empfangen und um sie geeigneten Betriebsmitteln wie etwa Registern usw. zuzuordnen. Nachfolgend werden die Befehle für eine Reservierungsstation 1584 bereitgestellt, die Betriebsmittel reserviert und sie für die Ausführung in einer von mehreren Ausführungseinheiten 1586A-1586N plant. Es können verschiedene Typen von Ausführungseinheiten einschließlich z. B. Arithmetik-Logik-Einheiten (ALUs), Lade- und Speichereinheiten, Vektorverarbeitungseinheiten (VPUs), Gleitkommaausführungseinheiten und andere vorhanden sein. Die Ergebnisse von diesen verschiedenen Ausführungseinheiten werden für einen Umordnungspuffer (ROB) 1588 bereitgestellt, der ungeordnete Ergebnisse nimmt und sie in die richtige Programmreihenfolge zurückbringt.
  • Weiter anhand von 15 wird angemerkt, dass sowohl die Frontend-Einheit 1570 als auch die Out-of-Order-Maschine 1580 mit verschiedenen Ebenen einer Speicherhierarchie gekoppelt sind. Genauer ist ein Cache 1572 der Befehlsebene, der wiederum mit einem Cache 1576 einer mittleren Ebene gekoppelt ist, der wiederum mit einem Cache 1595 der letzten Ebene gekoppelt ist, gezeigt. In einer Ausführungsform ist der Cache 1595 der letzten Ebene in einer chipintegrierten Einheit (gelegentlich als eine Un-Core-Einheit bezeichnet) 1590 implementiert.
  • Als ein Beispiel ist die Einheit 1590 ähnlich dem Systemagenten 1410 aus 14. Wie oben diskutiert wurde, kommuniziert der Un-Core 1590 mit Systemspeicher 1599, der in der dargestellten Ausführungsform über ED-RAM implementiert ist. Außerdem wird angemerkt, dass die verschiedenen Ausführungseinheiten 1586 innerhalb der Out-of-Order-Maschine 1580 mit einem Cache 1574 der ersten Ebene in Verbindung stehen, der ebenfalls mit einem Cache 1576 einer mittleren Ebene in Verbindung steht. Außerdem wird angemerkt, dass mit dem LLC 1595 zusätzliche Kerne 1530N-2 - 1530N koppeln können. Obwohl dies in der Ausführungsform aus 15 auf dieser hohen Ebene gezeigt ist, ist festzustellen, dass verschiedene Änderungen und zusätzliche Komponenten vorhanden sein können.
  • Übergehend zu 16 ist ein Blockschaltplan eines beispielhaften Computersystems dargestellt, das mit einem Prozessor gebildet ist, der Ausführungseinheiten zum Ausführen eines Befehls enthält, wobei eine oder mehrere der Verdrahtungen eines oder mehrere Merkmale in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung implementieren. Das System 1600 enthält eine Komponente wie etwa einen Prozessor 1602 zur Nutzung von Ausführungseinheiten, die Logik zum Ausführen von Algorithmen zum Ausführen von Daten in Übereinstimmung mit der vorliegenden Erfindung wie etwa in der hier beschriebenen Ausführungsform enthalten. Das System 1600 repräsentiert Verarbeitungssysteme auf der Grundlage der Mikroprozessoren PENTIUM III™, PENTIUM 4™, Xeon™, Itanium, XScale™ und/oder StrongARM™, obwohl andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, technische Workstations, Set-Top-Boxen und dergleichen) ebenfalls verwendet werden können. In einer Ausführungsform führt das Mustersystem 1600 eine Version des Betriebssystems WINDOWS™ aus, das von der Microsoft Corporation aus Redmond, Washington, verfügbar ist, obwohl andere Betriebssysteme (z. B. UNIX und Linux), eingebettete Software und/oder graphische Benutzerschnittstellen ebenfalls verwendet werden können. Somit sind Ausführungsformen der vorliegenden Erfindung nicht auf irgendeine spezifische Kombination aus Hardwareschaltungsanordnung und Software beschränkt.
  • Ausführungsformen sind nicht auf Computersysteme beschränkt. Alternative Ausführungsformen der vorliegenden Erfindung können in anderen Vorrichtungen wie etwa in Handvorrichtungen und eingebetteten Anwendungen verwendet werden. Einige Beispiele für Handvorrichtungen enthalten Mobiltelephone, Internetprotokollvorrichtungen, Digitalkameras, Personal Digital Assistants (PDAs) und Hand-PCs. Eingebettete Anwendungen können einen Mikrocontroller, einen digitalen Signalprozessor (DSP), ein Einchipsystem, Netz-Computer (NetPCs), Set-Top-Boxen, Netz-Hubs, Weitverkehrsnetz-Switches (WAN-Switches) oder irgendein anderes System, das einen oder mehrere Befehle in Übereinstimmung mit wenigstens einer Ausführungsform ausführen kann, enthalten.
  • In dieser dargestellten Ausführungsform enthält der Prozessor 1602 eine oder mehrere Ausführungseinheiten 1608 zum Implementieren eines Algorithmus, der wenigstens einen Befehl ausführen soll. Eine Ausführungsform kann im Kontext eines Einzelprozessor-Desktopsystems oder eines Einzelprozessor-Serversystems beschrieben werden, obwohl alternative Ausführungsformen in einem Mehrprozessorsystem enthalten sein können. Das System 1600 ist ein Beispiel einer ‚Hub‘-Systemarchitektur. Das Computersystem 1600 enthält einen Prozessor 1602 zum Verarbeiten von Datensignalen. Als ein veranschaulichendes Beispiel enthält der Prozessor 1602 einen Mikroprozessor eines Computers mit komplexem Befehlssatz (CISC-Mikroprozessor), einen Mikroprozessor eines Computers mit reduziertem Befehlssatz (RISC-Mikroprozessor), einen Mikroprozessor mit sehr langem Befehlswort (VLIW-Mikroprozessor), einen Prozessor, der eine Kombination von Befehlssätzen implementiert oder irgendeine andere Prozessorvorrichtung wie etwa z. B. einen digitalen Signalprozessor. Der Prozessor 1602 ist mit einem Prozessorbus 1610 gekoppelt, der Datensignale zwischen dem Prozessor 1602 und anderen Komponenten in dem System 1600 überträgt. Die Elemente des Systems 1600 (z. B. der Graphikbeschleuniger 1612, der Speichercontroller-Hub 1616, der Speicher 1620, der E/A-Controller-Hub 1624, der drahtlose Transceiver 1626, das Flash-BIOS 1628, der Netzcontroller 1634, der Audiocontroller 1636, der serielle Erweiterungsport 1638, der E/A-Controller 1640 usw.) führen ihre herkömmlichen Funktionen aus, die dem Fachmann auf dem Gebiet gut bekannt sind.
  • In einer Ausführungsform enthält der Prozessor 1602 einen internen Cache-Speicher 1604 der 1. Ebene (L1). In Abhängigkeit von der Architektur kann der Prozessor 1602 einen einzelnen internen Cache oder mehrere Ebenen interner Caches aufweisen. Andere Ausführungsformen enthalten in Abhängigkeit von der bestimmten Implementierung und von den Notwendigkeiten eine Kombination sowohl interner als auch externer Caches. Die Registerdatei 1606 soll in verschiedenen Registern einschließlich Ganzzahlregistern, Gleitkommaregistem, Vektorregistern, Bank-Registern, Schattenregistern, Prüfpunktregistern, Statusregistern und Befehlszeigerregistern verschiedene Datentypen speichern.
  • Die Ausführungseinheit 1608, die Logik zum Ausführen von Ganzzahl- und Gleitkommaoperationen enthält, liegt ebenfalls in dem Prozessor 1602. In einer Ausführungsform enthält der Prozessor 1602 einen Mikrocode-ROM (µcode-ROM) zum Speichern von Mikrocode, der, wenn er ausgeführt wird, Algorithmen für bestimmte Makrobefehle oder zum Behandeln komplexer Szenarien ausführen soll. Der Mikrocode ist hier potentiell aktualisierbar, um Logikfehler/Logikkorrekturen für den Prozessor 1602 zu behandeln. Für eine Ausführungsform enthält die Ausführungseinheit 1608 Logik zum Behandeln eines gepackten Befehlssatzes 1609. Dadurch, dass der gepackte Befehlssatz 1609 in den Befehlssatz eines Universalprozessors 1602 aufgenommen wird, können zusammen mit zugeordneter Schaltungsanordnung zum Ausführen der Befehle die von vielen Multimediaanwendungen verwendeten Operationen unter Verwendung gepackter Daten in einem Universalprozessor 1602 ausgeführt werden. Somit werden viele Multimediaanwendungen unter Verwendung der vollen Breite des Datenbusses eines Prozessors zum Ausführen von Operationen an gepackten Daten beschleunigt und effizienter ausgeführt. Dies beseitigt potentiell die Notwendigkeit, zum Ausführen einer oder mehrerer Operationen kleinere Dateneinheiten, immer nur ein Datenelement, über den Datenbus des Prozessors zu übertragen.
  • Alternative Ausführungsformen einer Ausführungseinheit 1608 können ebenfalls in Mikrocontrollern, eingebetteten Prozessoren, Graphikvorrichtungen, DSPs und anderen Typen von Logikschaltungen verwendet werden. Das System 1600 enthält einen Speicher 1620. Der Speicher 1620 enthält eine dynamische Schreib-Lese-Speicher-Vorrichtung (DRAM-Vorrichtung), eine statische Schreib-Lese-SpeicherVorrichtung (SRAM-Vorrichtung), eine Flash-Speichervorrichtung oder eine andere Speichervorrichtung. Der Speicher 1620 speichert Befehle und/oder Daten, die durch Datensignale dargestellt sind, die durch den Prozessor 1602 ausgeführt werden sollen.
  • Es wird angemerkt, dass irgendeines der obenerwähnten Merkmale oder irgendeiner der obenerwähnten Aspekte der Erfindung an einer oder an mehreren in 16 dargestellten Verdrahtungen genutzt werden können. Zum Beispiel implementiert eine chipintegrierte Verdrahtung (ODI), die nicht gezeigt ist, zum Koppeln interner Einheiten des Prozessors 1602 einen oder mehrere Aspekte der oben beschriebenen Erfindung. Alternativ ist die Erfindung einem Prozessorbus 1610 (z. B. einer anderen bekannten Hochleistungs-Computerverdrahtung), einem Speicherweg 1618 mit hoher Bandbreite zum Speicher 1620, einer Punkt-zu-Punkt-Verbindung zum Graphikbeschleuniger 1612 (z. B. einem Peripheral-Component-Interconnect-express-kompatiblen Fabric (PCIe-kompatiblen Fabric)), einer Controller-Hub-Verdrahtung 1622, einer E/A oder einer anderen Verdrahtung (z. B. USB, PCI, PCIe) zum Koppeln der anderen dargestellten Komponenten zugeordnet. Einige Aspekte solcher Komponenten enthalten den Audiocontroller 1636, den Firmware-Hub (Flash-BIOS) 1628, den drahtlosen Transceiver 1626, die Datenablage 1624, den Alt-E/A-Controller 1610, der Benutzereingabe- und Tastaturschnittstellen 1642 enthält, einen seriellen Erweiterungsport 1638 wie etwa Universal Serial Bus (USB) und einen Netzcontroller 1634. Die Datenablagevorrichtung 1624 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Speichervorrichtung oder eine andere Massenablagevorrichtung umfassen.
  • Nun in 17 ist ein Blockschaltplan eines zweiten Systems 1700 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 17 gezeigt ist, ist das Mehrprozessorsystem 1700 ein Punkt-zu-Punkt-Verdrahtungssystem und enthält es einen ersten Prozessor 1770 und einen zweiten Prozessor 1780, die über eine Punkt-zu-Punkt-Verdrahtung 1750 gekoppelt sind. Jeder der Prozessoren 1770 und 1780 kann eine bestimmte Version eines Prozessors sein. In einer Ausführungsform sind 1752 und 1754 Teile eines seriellen kohärenten Punkt-zu-Punkt-Verdrahtungs-Fabrics wie etwa einer Hochleistungsarchitektur. Im Ergebnis kann die Erfindung innerhalb der QPI-Architektur implementiert werden.
  • Obwohl nur zwei Prozessoren 1770, 1780 gezeigt sind, ist festzustellen, dass der Schutzumfang der vorliegenden Erfindung darauf nicht beschränkt ist. In anderen Ausführungsformen können in einem gegebenen Prozessor einer oder mehrere zusätzliche Prozessoren vorhanden sein.
  • Die Prozessoren 1770 und 1780 sind in der Weise gezeigt, dass sie integrierte Speichercontrollereinheiten 1772 bzw. 1782 enthalten. Außerdem enthält der Prozessor 1770 als Teil seiner Buscontrollereinheiten Punkt-zu-Punkt-Schnittstellen (P-P-Schnittstellen) 1776 bzw. 1778; ähnlich enthält der zweite Prozessor 1780 P-P-Schnittstellen 1786 und 1788. Die Prozessoren 1770, 1780 können über eine Punkt-zu-Punkt-Schnittstelle (P-P-Schnittstelle) 1750 unter Verwendung von P-P-Schnittstellenschaltungen 1778, 1788 Informationen austauschen. Wie in 17 gezeigt ist, können IMCs 1772 und 1782 die Prozessoren mit jeweiligen Speichern, d. h. mit einem Speicher 1732 und mit einem Speicher 1734, die Abschnitte des Hauptspeichers sein können, die lokal an die jeweiligen Prozessoren angeschlossen sind, koppeln.
  • Die Prozessoren 1770, 1780 tauschen jeweils über einzelne P-P-Schnittstellen 1752, 1754 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1776, 1794, 1786, 1798 Informationen mit einem Chipsatz 1790 aus. Außerdem tauscht der Chipsatz 1790 über eine Schnittstellenschaltung 1792 zusammen mit einer Hochleistungsgraphikverdrahtung 1739 Informationen mit einer Hochleistungsgraphikschaltung 1738 aus.
  • In jedem Prozessor oder außerhalb beider Prozessoren, jedoch mit den Prozessoren über eine P-P-Verdrahtung verbunden, kann ein gemeinsam genutzter Cache (nicht gezeigt) enthalten sein, so dass die lokalen Cache-Informationen eines oder beider Prozessoren in dem gemeinsam genutzten Cache gespeichert werden können, falls ein Prozessor in einer leistungsarmen Betriebsart angeordnet wird.
  • Der Chipsatz 1790 kann über eine Schnittstelle 1796 mit einem ersten Bus 1716 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1716 ein Peripheral-Component-Interconnect-Bus (PCI-Bus) oder ein Bus wie etwa ein PCI-Express-Bus oder ein anderer E/A-Verdrahtungsbus der dritten Generation sein, obwohl der Schutzumfang der vorliegenden Erfindung darauf nicht beschränkt ist.
  • Wie in 17 gezeigt ist, sind mit dem ersten Bus 1716 zusammen mit einer Bus-Bridge 1718, die den ersten Bus 1716 mit einem zweiten Bus 1720 koppelt, verschiedene E/A-Vorrichtungen 1716 gekoppelt. In einer Ausführungsform enthält der zweite Bus 1720 einen Bus mit niedriger Anschlussstiftanzahl (LPC-Bus). In einer Ausführungsform sind mit dem zweiten Bus 1720 verschiedene Vorrichtungen, einschließlich z. B. einer Tastatur und/oder einer Maus 1722, Kommunikationsvorrichtungen 1727 und eine Ablageeinheit 1728 wie etwa ein Plattenlaufwerk oder eine andere Massenablagevorrichtung, die häufig Befehle/Code und Daten 1730 enthält, gekoppelt. Ferner ist mit dem zweiten Bus 1720 eine Audio-E/A 1724 gekoppelt gezeigt. Es wird angemerkt, dass andere Architekturen möglich sind, wobei die enthaltenen Komponenten und Verdrahtungsarchitekturen variieren. Zum Beispiel kann ein System anstelle der Punkt-zu-Punkt-Architektur aus 17 einen Mehrpunktbus oder eine andere solche Architektur implementieren.
  • Nachfolgend übergehend zu 18 ist eine Ausführungsform eines Einchipentwurfs (SOC-Entwurfs) in Übereinstimmung mit den Erfindungen gezeigt. Als ein spezifisches veranschaulichendes Beispiel ist das SOC 1800 in einer Benutzereinrichtung (UE) enthalten. In einer Ausführungsform bezieht sich UE auf irgendeine Vorrichtung, die von einem Endbenutzer zum Kommunizieren zu verwenden ist, wie etwa ein Handtelephon, ein Smartphone, ein Tablet, ein ultradünnes Notebook, ein Notebook mit Breitbandadapter oder irgendeine andere ähnliche Kommunikationsvorrichtung. Häufig verbindet sich eine UE mit einer Basisstation oder mit einem Knoten, was potentiell dem Wesen einer Mobilstation (MS) in einem GSM-Netz entspricht.
  • Das SOC 1800 enthält hier 2 Kerne - 1806 und 1807. Ähnlich der obigen Diskussion können die Kerne 1806 und 1807 in Übereinstimmung mit einer Befehlssatzarchitektur wie etwa der eines Intel®-Architektur-Core™-basierten Prozessors, eines Prozessors der Advanced Microdevices, Inc., (AMD), eines MIPS-basierten Prozessors, eines ARM-basierten Prozessorentwurfs oder der eines Kunden davon sowie ihrer Lizenznehmer oder Anwender stehen. Die Kerne 1806 und 1807 sind mit einer Cache-Steuerung 1808 gekoppelt, der die Busschnittstelleneinheit 1809 und der L2-Cache 1811 zugeordnet sind, um mit anderen Teilen des Systems 1800 zu kommunizieren. Die Verdrahtung 1810 enthält eine chipintegrierte Verdrahtung wie etwa eine IOSF, eine AMBA oder eine andere oben diskutierte Verdrahtung, die potentiell einen oder mehrere hier beschriebene Aspekte implementiert.
  • Die Verdrahtung 1810 stellt Kommunikationskanäle zu den anderen Komponenten wie etwa zu einem Subscriber Identity Modul (SIM) 1830 als Schnittstelle mit einer SIM-Karte, zu einem Boot-ROM 1835 zum Halten von Bootcode zur Ausführung durch die Kerne 1806 und 1807 zum Initialisieren und Booten des SOC 1800, zu einem SDRAM-Controller 1840 als Schnittstelle mit einem externen Speicher (z. B. mit dem DRAM 1860), zu einem Flash-Controller 1845 als Schnittstelle mit einem nichtflüchtigen Speicher (z. B. mit dem Flash 1865), zu einer Peripheriesteuerung 1850 (z. B. zu einer Serial Peripheral Interface) als Schnittstelle mit Peripheriegeräten, zu Videocodecs 1820 und zu einer Videoschnittstelle 1825 zum Anzeigen und Empfangen einer Eingabe (z. B. einer berührungsfähigen Eingabe), zu einer GPU 1815 zum Ausführen graphikbezogener Berechnungen usw. bereit. Irgendwelche dieser Schnittstellen können Aspekte der hier beschriebenen Erfindung enthalten.
  • Außerdem veranschaulicht das System Peripheriegeräte für die Kommunikation wie etwa ein Bluetooth-Modul 1870, ein 3G-Modem 1875, GPS 1885 und WLAN 1885. Es wird angemerkt, dass eine UE wie oben gesagt eine Funkeinrichtung für die Kommunikation enthält. Im Ergebnis sind diese Peripheriekommunikationsmodule nicht alle erforderlich. Allerdings muss in einer UE eine gewisse Form von Funk für die externe Kommunikation enthalten sein.
  • Obwohl die vorliegende Erfindung in Bezug auf eine beschränkte Anzahl von Ausführungsformen beschrieben worden ist, wird der Fachmann auf dem Gebiet zahlreiche Änderungen und Abweichungen davon würdigen. Die beigefügten Ansprüche sollen alle solche Änderungen und Abweichungen, wie sie im wahren Erfindungsgedanken und Schutzumfang dieser vorliegenden Erfindung liegen, enthalten.
  • Ein Entwurf kann von der Erstellung zur Simulation zur Fertigung verschiedene Phasen durchlaufen. Daten, die einen Entwurf repräsentieren, können den Entwurf auf eine Anzahl von Arten repräsentieren. Zunächst kann die Hardware, wie es in Simulationen nützlich ist, unter Verwendung einer Hardwarebeschreibungssprache oder einer anderen Funktionsbeschreibungssprache dargestellt werden. Außerdem kann in einigen Phasen des Entwurfsprozesses ein Modell der Schaltungsebene mit Logik- und/oder Transistorgattern erstellt werden. Darüber hinaus erreichen die meisten Entwürfe auf einer bestimmten Stufe eine Ebene von Daten, die die physikalische Anordnung verschiedener Vorrichtungen in dem Hardwaremodell repräsentieren. Falls herkömmliche Halbleiterfertigungstechniken verwendet werden, können die Daten, die das Hardwaremodell repräsentieren, die Daten sein, die der Anwesenheit oder Abwesenheit verschiedener Merkmale in verschiedenen Maskenschichten für zur Herstellung der integrierten Schaltung verwendeter Masken spezifizieren. In irgendeiner Darstellung des Entwurfs können die Daten in irgendeiner Form eines maschinenlesbaren Mediums gespeichert sein. Ein Speicher oder eine magnetische oder optische Ablage wie etwa eine Platte kann ein maschinenlesbares Medium zum Speichern von Informationen sein, die über eine optische oder elektrische Welle übertragen werden, die moduliert oder auf andere Weise erzeugt wird, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle übertragen wird, die den Code oder den Entwurf angibt oder übermittelt, wird in dem Umfang, in dem das Kopieren, Puffern oder erneute Übertragen des elektrischen Signals ausgeführt wird, eine neue Kopie erstellt. Somit kann ein Kommunikationsanbieter oder ein Netzanbieter einen Artikel wie etwa in einer Trägerwelle codierte Informationen, die Techniken von Ausführungsformen der vorliegenden Erfindung verkörpern, wenigstens vorübergehend in einem konkreten maschinenlesbaren Medium speichern.
  • Wie es hier verwendet ist, bezieht sich ein Modul auf irgendeine Kombination von Hardware, Software und/oder Firmware. Als ein Beispiel enthält ein Modul Hardware wie etwa einen Mikrocontroller, der einem nicht vorübergehenden Medium zum Speichern von Code zugeordnet ist, der dafür ausgelegt ist, durch den Mikrocontroller ausgeführt zu werden. Somit bezieht sich die Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch dafür konfiguriert ist, den Code, der in einem nicht vorübergehenden Medium gehalten werden soll, zu erkennen und/oder auszuführen. Darüber hinaus bezieht sich die Verwendung eines Moduls in einer anderen Ausführungsform auf ein nicht vorübergehendes Medium, das den Code enthält, der spezifisch dafür ausgelegt ist, durch den Mikroprozessor ausgeführt zu werden, um vorgegebene Operationen auszuführen. Wie gefolgert werden kann, kann sich der Begriff Modul (in diesem Beispiel) in einer nochmals anderen Ausführungsform auf die Kombination des Mikrocontrollers und des nicht vorübergehenden Mediums beziehen. Modulgrenzen, die als getrennt dargestellt sind, variieren üblicherweise häufig und überlappen sich potentiell. Zum Beispiel können ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon gemeinsam nutzen, während sie potentiell etwas unabhängige Hardware, Software oder Firmware behalten. In einer Ausführungsform enthält die Verwendung des Begriffs Logik Hardware wie etwa Transistoren, Register oder andere Hardware wie etwa programmierbare Logikvorrichtungen.
  • In einer Ausführungsform bezieht sich die Verwendung des Ausdrucks ‚konfiguriert zum‘ auf das Anordnen, Zusammensetzen, Fertigen, Anbieten zum Verkauf, Importieren und/oder Entwerfen einer Vorrichtung, einer Hardware, einer Logik oder eines Elements zum Ausführen einer gewünschten oder bestimmten Aufgabe. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, die bzw. das nicht arbeitet, weiterhin ‚dafür konfiguriert‘, eine bestimmte Aufgabe auszuführen, falls sie bzw. es zum Ausführen der bestimmten Aufgabe entworfen, gekoppelt und/oder verbunden ist. Als ein rein veranschaulichendes Beispiel kann ein Logikgatter während des Betriebs eine 0 oder eine 1 bereitstellen. Allerdings enthält ein Logikgatter, das zum Bereitstellen eines Freigabesignals für einen Takt ‚konfiguriert ist‘, nicht jedes potentielle Logikgatter, das eine 1 oder 0 bereitstellen kann. Stattdessen ist das Logikgatter eines, das in einer Weise gekoppelt ist, dass während des Betriebs die 1 oder 0 ausgegeben wird, um den Takt freizugeben. Es wird noch einmal angemerkt, dass die Verwendung des Begriffs ‚konfiguriert zum‘ nicht den Betrieb erfordert, sondern sich stattdessen auf den latenten Zustand einer Vorrichtung, einer Hardware und/oder eines Elements konzentriert, wobei die Vorrichtung, die Hardware und/oder das Element in dem latenten Status dafür entworfen ist, eine bestimmte Aufgabe auszuführen, wenn die Vorrichtung, die Hardware und/oder das Element arbeitet.
  • Darüber hinaus bezieht sich die Verwendung der Ausdrücke ‚zu‘, ‚fähig zu‘ und/oder ‚betreibbar zu‘ in einer Ausführungsform auf eine Vorrichtung, auf eine Logik, auf eine Hardware und/oder auf ein Element, die bzw. das dafür ausgelegt ist, die Verwendung der Vorrichtung, der Logik, der Hardware und/oder des Elements auf eine spezifizierte Weise zu ermöglichen. Es wird angemerkt, dass sich die Verwendung von zu, fähig zu, betreibbar zu in einer Ausführungsform wie oben auf den latenten Zustand einer Vorrichtung, einer Logik, einer Hardware und/oder eines Elements bezieht, wobei die Vorrichtung, die Logik, die Hardware und/oder das Element nicht arbeitet, aber in der Weise ausgelegt ist, dass sie bzw. es die Verwendung einer Vorrichtung auf eine spezifizierte Weise ermöglicht.
  • Ein Wert, wie er hier verwendet ist, enthält irgendeine bekannte Darstellung einer Zahl, eines Zustands, eines Logikzustands oder eines binären Logikzustands. Häufig wird auf die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1-en und 0-en Bezug genommen, wodurch binäre Logikzustände einfach dargestellt werden. Zum Beispiel bezieht sich eine 1 auf einen hohen Logikpegel und bezieht sich eine 0 auf einen tiefen Logikpegel. In einer Ausführungsform kann eine Ablagezelle wie etwa ein Transistor oder eine Flash-Zelle in der Lage sein, einen einzelnen Logikwert oder mehrere Logikwerte zu erhalten. Allerdings werden andere Darstellungen von Werten in Computersystemen verwendet. Zum Beispiel kann die Dezimalzahl zehn ebenfalls als ein Binärwert 1010 und als ein Hexadezimalbuchstabe A dargestellt werden. Somit enthält ein Wert irgendeine Darstellung von Informationen, die in einem Computersystem gehalten werden können.
  • Darüber hinaus können Zustände als Werte oder Abschnitte von Werten dargestellt werden. Als ein Beispiel kann ein erster Wert wie etwa eine logische Eins einen Standard- oder Anfangszustand repräsentieren, während ein zweiter Wert wie etwa eine logische Null einen Nicht-Standard-Zustand repräsentieren kann. Außerdem beziehen sich die Begriffe Zurücksetzen und Setzen in einer Ausführungsform auf einen Standardwert und auf einen aktualisierten Wert bzw. auf einen Standardzustand und auf einen aktualisierten Zustand. Zum Beispiel enthält ein Standardwert potentiell einen hohen Logikwert, d. h. Zurücksetzen, während ein aktualisierter Wert potentiell einen tiefen Logikwert, d. h. Setzen, enthält. Es wird angemerkt, dass irgendeine Kombination von Werten genutzt werden kann, um irgendeine Anzahl von Zuständen zu repräsentieren.
  • Die Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code, die oben dargelegt sind, können über Befehle oder Code implementiert werden, die in einem durch eine Maschine zugreifbaren, maschinenlesbaren, durch einen Computer zugreifbaren oder computerlesbaren Medium, die durch ein Verarbeitungselement ausführbar sind, implementiert werden können. Ein nicht vorübergehendes durch eine Maschine zugreifbares/maschinenlesbares Medium enthält irgendeinen Mechanismus, der Informationen in einer durch eine Maschine wie etwa durch einen Computer oder durch ein elektronisches System lesbaren Form bereitstellt (d. h. speichert und/oder sendet). Zum Beispiel enthält ein nicht vorübergehendes durch eine Maschine zugreifbares Medium einen Schreib-Lese-Speicher (RAM) wie etwa einen statischen RAM (SRAM) oder einen dynamischen RAM (DRAM); einen ROM; ein magnetisches oder optisches Ablagemedium; Flash-Speichervorrichtungen; elektrische Ablagevorrichtungen; optische Ablagevorrichtungen; akustische Ablagevorrichtungen; eine andere Form von Ablagevorrichtungen zum Halten von Informationen, die von vorübergehenden (ausgebreiteten) Signalen (z. B. Trägerwellen, Infrarotsignalen, Digitalsignalen) empfangen werden; usw., die von den nicht vorübergehenden Medien, die davon Informationen empfangen können, zu unterscheiden sind.
  • Befehle, die zum Programmieren von Logik zum Ausführen von Ausführungsformen der Erfindung verwendet werden können, können innerhalb eines Speichers in dem System wie etwa in einem DRAM, einem Cache, einem Flash-Speicher oder einer anderen Ablage gespeichert sein. Darüber hinaus können die Befehle über ein Netz oder durch andere computerlesbare Medien verteilt werden. Somit kann ein maschinenlesbares Medium irgendeinen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. durch einen Computer) lesbaren Form, Disketten, optische Platten, Compact-Disc-Nur-Lese-Speicher (CD-ROMs) und magnetooptische Platten, Nur-Lese-Speicher (ROMs), Schreib-Lese-Speicher (RAM), löschbaren programmierbaren Nur-Lese-Speicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), magnetische oder optische Platten, Flash-Speicher oder eine konkrete, maschinenlesbare Ablage, die bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen ausgebreiteter Signale (z. B. Trägerwellen, Infrarotsignale, Digitalsignale usw.) verwendet wird, darauf aber nicht beschränkt ist, enthalten. Dementsprechend enthält das computerlesbare Medium irgendeinen Typ eines konkreten maschinenlesbaren Mediums, das zum Speichern oder Übertragen elektronischer Befehle oder Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form geeignet ist.
  • Die folgenden Beispiele betreffen Ausführungsformen in Übereinstimmung mit dieser Beschreibung. Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Einbetten eines periodischen Steuerfensters in einen Sicherungsschicht-Datenstrom, der über eine serielle Datenverbindung gesendet werden soll, bereitstellen, wobei das Steuerfenster dafür konfiguriert ist, Bitübertragungsschichtinformationen einschließlich Informationen zur Verwendung beim Initiieren von Zustandsübergängen auf der Datenverbindung bereitzustellen.
  • In wenigstens einem Beispiel umfasst der Datenstrom eine Reihe von Flits.
  • In wenigstens einem Beispiel wird der Sicherungsschicht-Datenstrom während eines Verbindungsübertragungszustands der Datenverbindung gesendet.
  • Eines oder mehrere Beispiele können ferner das Identifizieren eines bestimmten Steuerfensters in dem Datenstrom und das Senden von Rücksetzdaten an eine mit der Datenverbindung verbundene Vorrichtung während des bestimmten Steuerfensters bereitstellen, wobei die Rücksetzdaten einen Versuch, von dem Verbindungsübertragungszustand in einen Rücksetzzustand einzutreten, übermitteln sollen.
  • Eines oder mehrere Beispiele können ferner das Erzeugen einer dem Rücksetzzustand zugeordneten Supersequenz und das Senden der Supersequenz an die Vorrichtung bereitstellen.
  • Eines oder mehrere Beispiele können ferner das Identifizieren eines bestimmten Steuerfensters in dem Datenstrom und das Senden von Verbindungsbreiten-Übergangsdaten an eine mit der Datenverbindung verbundene Vorrichtung während des bestimmten Steuerfensters bereitstellen, wobei die Verbindungsbreiten-Übergangsdaten einen Versuch, die Anzahl aktiver Spuren auf der Verbindung zu ändern, übermitteln sollen.
  • In wenigstens einem Beispiel soll die Anzahl der Spuren von einer ursprünglichen Anzahl auf eine neue Anzahl verringert werden, wobei das Verringern der Anzahl aktiver Spuren einem Eintritt in einen Teilbreiten-Verbindungsübertragungszustand zugeordnet ist.
  • Eines oder mehrere Beispiele können ferner das Identifizieren eines nachfolgenden Steuerfensters in dem Datenstrom und das Senden von Teilbreitenzustands-Austrittsdaten an die Vorrichtung während des nachfolgenden Steuerfensters bereitstellen, wobei die Teilbreitenzustands-Austrittsdaten einen Versuch, die Anzahl aktiver Spuren auf die ursprüngliche Anzahl zurückzustellen, übermitteln sollen.
  • Eines oder mehrere Beispiele können ferner das Identifizieren eines bestimmten Steuerfensters in dem Datenstrom und das Senden von Leistungsarm-Daten an eine mit der Datenverbindung verbundene Vorrichtung während des bestimmten Steuerfensters umfassen, wobei die Leistungsarm-Daten einen Versuch, von dem Verbindungsübertragungszustand in einen leistungsarmen Zustand einzutreten, übermitteln sollen.
  • In wenigstens einem Beispiel sind Steuerfenster in Übereinstimmung mit einem definierten Steuerintervall eingebettet und sollen mit der Datenverbindung verbundene Vorrichtungen den Zustandsübergang mit einem Ende eines entsprechenden Steuerintervalls synchronisieren.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Empfangen eines Datenstroms bereitstellen, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden sollen und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen, wobei Steuerdaten, die in ein bestimmtes der Steuerintervalle aufgenommen werden sollen, identifiziert werden sollen, wobei die Steuerdaten einen versuchten Eintritt aus einem ersten Zustand in einen bestimmten Zustand angeben sollen, wobei der Datenstrom in dem ersten Zustand empfangen werden soll und wobei der Übergang in den bestimmten Zustand ermöglicht werden soll.
  • In wenigstens einem Beispiel umfasst der bestimmte Zustand einen Rücksetzzustand.
  • In wenigstens einem Beispiel enthält das Ermöglichen des Übergangs in den bestimmten Zustand das Senden einer Quittierung des versuchten Eintritts in den bestimmten Zustand.
  • In wenigstens einem Beispiel wird die Quittierung innerhalb des Steuerintervalls gesendet.
  • In wenigstens einem Beispiel wird der Datenstrom über eine serielle Datenverbindung, die mehrere aktive Spuren enthält, gesendet und umfasst der bestimmte Zustand einen Teilbreitenzustand, wobei wenigstens eine Teilmenge von in den mehreren aktiven Spuren enthaltenen Spuren in dem Teilbreitenzustand ungenutzt werden sollen.
  • Eines oder mehrere Beispiele können ferner das Identifizieren nachfolgender Daten, die in einem nachfolgenden der Steuerintervalle enthalten sind, bereitstellen, wobei die nachfolgenden Daten einen Versuch, aus dem Teilbreitenzustand auszutreten und die ungenutzten Spuren zu reaktivieren, angeben.
  • In wenigstens einem Beispiel umfasst der bestimmte Zustand einen leistungsarmen Übertragungszustand.
  • In wenigstens einem Beispiel wird der Datenstrom über eine serielle Datenverbindung empfangen, die mehrere aktive Spuren enthält, und umfasst der bestimmte Zustand einen Teilbreitenzustand, wobei wenigstens eine Teilmenge von in den mehreren aktiven Spuren enthaltenen Spuren in dem Teilbreitenzustand ungenutzt werden sollen.
  • In wenigstens einem Beispiel umfasst der bestimmte Zustand einen Rücksetzzustand.
  • In wenigstens einem Beispiel beschreiben die Bitübertragungsschicht-Steuerinformationen einen Fehler der Datenverbindung.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Einbetten eines Taktsignals in Daten, die von einer ersten Vorrichtung über eine serielle Datenverbindung, die mehrere Spuren enthält, übermittelt werden sollen, und zum Übergehen von einem ersten Verbindungsübertragungszustand, der eine erste Anzahl der mehreren Spuren verwenden soll, in einen zweiten Verbindungsübertragungszustand, der eine zweite Anzahl der mehreren Spuren verwenden soll, bereitstellen.
  • In wenigstens einem Beispiel ist die zweite Anzahl von Spuren größer als die erste Anzahl von Spuren.
  • In wenigstens einem Beispiel enthält das Übergehen von einem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand das Senden einer Teilbreitenzustands-Austrittssupersequenz, die eine oder mehrere Instanzen einer Sequenz umfasst, die eine Electrical Ordered Set (EOS) und mehrere Instanzen einer Trainingssequenz enthält.
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden einer Anfangs-EOS, die der Teilbreitenzustands-Austrittssupersequenz vorausgeht.
  • In wenigstens einem Beispiel sollen während des Sendens der Anfangs-EOS auf den aktiven Spuren Null-Flits gesendet werden.
  • In wenigstens einem Beispiel umfasst die Trainingssequenz eine unverwürfelte Schnelltrainingssequenz (FTS).
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Verwenden der Teilbreitenzustands-Austrittssupersequenz zum Initialisieren wenigstens eines Teils der in den mehreren Spuren enthaltenen ungenutzten Spuren.
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden eines Datensequenzanfangs (SDS) nach der Initialisierung des Teils der ungenutzten Spuren.
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden einer Teil-FTS (FTSp) nach dem Senden der SDS.
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Empfangen einer Quittierung des Übergangs, wobei die Quittierung die Teilbreitenzustands-Austrittssupersequenz enthält.
  • In wenigstens einem Beispiel enthält das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand das Senden eines Inbandsignals über die Datenverbindung an die zweite Vorrichtung.
  • In wenigstens einem Beispiel ist die erste Anzahl von Spuren größer als die zweite Anzahl von Spuren.
  • In wenigstens einem Beispiel umfassen die Daten einen Datenstrom, der abwechselnde Übertragungsintervalle und Steuerintervalle enthält, und wird das Signal innerhalb eines bestimmten Steuerintervalls gesendet und gibt es den Übergang von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand an.
  • In wenigstens einem Beispiel soll der Übergang von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand mit dem Ende eines bestimmten Übertragungsintervalls unmittelbar nach dem bestimmten Steuerintervall synchronisiert werden.
  • In wenigstens einem Beispiel beruht der Übergang auf einer Anforderung einer Leistungssteuereinheit.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen und wobei der Datenstrom über eine serielle Datenverbindung, die aktive Spuren und inaktive Spuren enthalten soll, gesendet werden soll, zum Identifizieren von Steuerdaten, die in einem bestimmten der Steuerintervalle enthalten sind, wobei die Daten einen Versuch, wenigstens einen Teil der inaktiven Spuren der Verbindung zu aktivieren, angeben sollen, und zum Ermöglichen der Aktivierung des Teils der inaktiven Spuren bereitstellen.
  • In wenigstens einem Beispiel wird der Datenstrom empfangen, während die Datenverbindung in einem Teilbreitenzustand ist, und sollen die Steuerdaten einen Versuch, aus dem Teilbreitenzustand auszutreten, angeben sollen.
  • In wenigstens einem Beispiel soll das Ermöglichen der Aktivierung des Teils der inaktiven Spuren das Empfangen einer Supersequenz, die einen Versuch, den Teil der inaktiven Spuren zu aktivieren, angeben soll, enthalten.
  • In wenigstens einem Beispiel soll die Supersequenz eine oder mehrere Instanzen einer Sequenz umfassen, die eine Electric Idle Exit Ordered Set (EIEOS) und mehrere Instanzen einer Trainingssequenz enthält.
  • In wenigstens einem Beispiel enthält das Ermöglichen der Aktivierung des Teils der inaktiven Spuren das Senden wenigstens einer Anfangs-EIEOS, die der Supersequenz unmittelbar vorausgeht.
  • In wenigstens einem Beispiel sollen während des Sendens der Anfangs-EIEOS Null-Flits auf den aktiven Spuren gesendet werden.
  • In wenigstens einem Beispiel umfasst die Trainingssequenz eine unverwürfelte Schnelltrainingssequenz (FTS).
  • In wenigstens einem Beispiel enthält das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Verwenden der Supersequenz zum Initialisieren des Teils der inaktiven Spuren.
  • In wenigstens einem Beispiel enthält das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Empfangen eines Datensequenzanfangs (SDS) nach der Initialisierung des Teils der inaktiven Spuren.
  • In wenigstens einem Beispiel enthält das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Empfangen einer Teil-FTS (FTSp) nach der SDS.
  • In wenigstens einem Beispiel enthält das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Quittieren des Versuchs durch identisches Wiedergeben der Supersequenz.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden sollen und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen, zum Identifizieren von Steuerdaten, die einen versuchten Eintritt aus einem Verbindungsübertragungszustand in einen leistungsarmen Zustand angeben, wobei der Datenstrom in dem Verbindungsübertragungszustand empfangen werden soll, und zum Übergehen in den leistungsarmen Zustand bereitstellen.
  • In wenigstens einem Beispiel umfassen die Steuerdaten einen im Voraus definierten Code.
  • In wenigstens einem Beispiel enthält das Übergehen in den leistungsarmen Zustand das identische Wiedergeben des im Voraus definierten Codes in einem nachfolgenden Steuerintervall.
  • In wenigstens einem Beispiel enthält das Übergehen in den leistungsarmen Zustand das Empfangen einer Supersequenz, die den Übergang in den leistungsarmen Zustand angibt.
  • In wenigstens einem Beispiel enthält das Übergehen in den leistungsarmen Zustand ferner das identische Wiedergeben der Supersequenz.
  • In wenigstens einem Beispiel umfasst die Supersequenz eine oder mehrere Instanzen einer Sequenz, die eine Electrical Ordered Set (EOS), gefolgt von einer vorgegebenen Anzahl von Instanzen einer Trainingssequenz, enthält.
  • In wenigstens einem Beispiel umfasst die EOS eine Electrical Idle Electrical Ordered Set (EIEOS).
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, eine maschinenlesbare Ablage und ein Verfahren zum Identifizieren einer bestimmten Instanz eines periodischen Steuerintervalls, das in einen Datenstrom auf einer seriellen Datenverbindung während eines Verbindungsübertragungszustands eingebettet werden soll, zum Senden von Zustandsübergangsdaten während der bestimmten Instanz des Steuerintervalls an eine Vorrichtung, wobei die Zustandsübergangsdaten einen Versuch, in einen leistungsarmen Zustand einzutreten, angeben sollen und zum Übergehen in den leistungsarmen Zustand bereitstellen.
  • Eines oder mehrere Beispiele können ferner das Empfangen einer Quittierung von der Vorrichtung bereitstellen, wobei die Quittierung die Zustandsübergangsdaten umfasst.
  • In wenigstens einem Beispiel soll die Quittierung mit einem nächsten periodischen Steuerintervall zusammenfallen.
  • In wenigstens einem Beispiel enthält das Übergehen in den leistungsarmen Zustand das Senden einer Supersequenz, die den Übergang in den leistungsarmen Zustand angibt, an die Vorrichtung.
  • In wenigstens einem Beispiel enthält das Übergehen in den leistungsarmen Zustand ferner das Empfangen einer wiederholten Instanz der Supersequenz von der Vorrichtung.
  • In wenigstens einem Beispiel umfasst die Supersequenz eine oder mehrere Instanzen einer Sequenz, die eine Electrical Ordered Set (EOS), gefolgt von einer vorgegebenen Anzahl von Instanzen einer Trainingssequenz, enthält.
  • In wenigstens einem Beispiel umfasst die EOS eine Electric Idle Exit Ordered Set (EIEOS).
  • In wenigstens einem Beispiel beruht der Übergang in den leistungsarmen Zustand auf einer Anforderung einer Leistungssteuereinheit.
  • Eines oder mehrere Beispiele können ferner das Initiieren eines Übergangs von dem leistungsarmen Zustand in den Verbindungsübertragungszustand bereitstellen.
  • Eines oder mehrere Beispiele können ferner eine Bitübertragungsschicht (PHY) bereitstellen, die dafür konfiguriert ist, mit einer seriellen differentiellen Verbindung gekoppelt zu werden, wobei die PHY periodisch einen Verbindungssperrzustand (BLS) ausgeben soll, wobei die BLS-Anforderung veranlassen soll, dass ein Agent in einen BLS eintritt, um die Verbindungsschicht-Flit-Sendung für eine Dauer zurückzuhalten, wobei die PHY die serielle differentielle Verbindung während der Dauer für der PHY zugeordnete Aufgaben nutzen soll.
  • In wenigstens einem Beispiel soll die PHY die serielle differentielle Verbindung während der Dauer für der PHY zugeordnete Aufgaben, umfasst das Senden einer oder mehrerer Nachrichten einer Prioritätsnachrichtenliste, die NOP, Zurücksetzen, Inbandzurücksetzen, Eintritt in einen leistungsarmen Zustand, Eintritt in einen Teilbreitenzustand, Eintritt in einen anderen PHY-Zustand usw. enthält, nutzen.
  • Eines oder mehrere Beispiele können ferner eine Bitübertragungsschicht (PHY) bereitstellen, die dafür konfiguriert ist, mit einer Verbindung gekoppelt zu werden, wobei die Verbindung eine erste Anzahl von Spuren enthält, wobei die PHY in einem Vollbreiten-Übertragungsverbindungszustand Flits über die erste Anzahl von Spuren senden soll und wobei die PHY in einem Teilbreiten-Verbindungsübertragungszustand Flits über eine zweite Anzahl von Spuren, die kleiner als die erste Anzahl von Spuren ist, senden soll.
  • In wenigstens einem Beispiel soll die PHY einen Verbindungssperrzustand nutzen, um von dem Verbindungssperrzustand in den Teilbreiten-Verbindungsübertragungszustand einzutreten.
  • In wenigstens einem Beispiel haben die Flits, wenn sie über die erste Anzahl von Spuren und über die zweite Anzahl von Spuren übertragen werden, dieselbe Größe.
  • In wenigstens einem Beispiel nutzt die PHY zum Übertragen über die erste Anzahl von Spuren und über die zweite Anzahl von Spuren einen eingebetteten Takt.
  • In wenigstens einem Beispiel nutzt die PHY zum Übertragen über die erste Anzahl von Spuren einen eingebetteten Takt und zum Übertragen über die zweite Anzahl von Spuren einen weitergeleiteten Takt.
  • Die Bezugnahme auf „die eine Ausführungsform“ oder „eine Ausführungsform“ bedeutet überall in dieser Beschreibung, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben ist, in wenigstens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Somit beziehen sich die Vorkommen der Ausdrücke, „in der einen Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen überall in der Beschreibung nicht notwendig alle auf auf dieselbe Ausführungsform. Darüber hinaus können die bestimmten Merkmale, Strukturen oder Eigenschaften in einer oder in mehreren Ausführungsformen auf irgendeine Weise kombiniert werden.
  • In der vorstehenden Beschreibung ist eine ausführliche Beschreibung mit Bezug auf spezifische beispielhafte Ausführungsformen gegeben worden. Allerdings können daran offensichtlich verschiedene Abwandlungen und Änderungen vorgenommen werden, ohne von dem umfassenderen Erfindungsgedanken und Schutzumfang der Erfindung, wie sie in den beigefügten Ansprüchen dargelegt sind, abzuweichen. Dementsprechend sind die Beschreibung und die Zeichnungen in einem veranschaulichenden anstatt in einem einschränkenden Sinn anzusehen. Darüber hinaus bezieht sich die vorstehende Verwendung einer Ausführungsform und anderer beispielhaften Sprache nicht notwendig auf dieselbe Ausführungsform oder auf dasselbe Beispiel, sondern können sie sich auf unterschiedliche und verschiedene Ausführungsformen sowie potentiell auf dieselbe Ausführungsform beziehen.
  • Weitere Ausführungsformen fallen unter den Rahmen der folgenden Definitionen:
    1. 1. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Sicherungsschichtlogik und eine Bitübertragungsschichtlogik umfasst, wobei die Bitübertragungsschichtlogik in einen Sicherungsschicht-Datenstrom, der über eine serielle Datenverbindung gesendet werden soll, ein periodisches Steuerfenster einbetten soll, wobei das Steuerfenster dafür konfiguriert ist, Bitübertragungsschichtinformationen einschließlich Informationen zur Verwendung beim Initiieren von Zustandsübergängen auf der Datenverbindung bereitzustellen.
    2. 2. Vorrichtung nach Anspruch 1, wobei der Datenstrom eine Reihe von Flits umfasst.
    3. 3. Vorrichtung nach Anspruch 1, wobei der Sicherungsschicht-Datenstrom während eines Verbindungsübertragungszustands der Datenverbindung gesendet wird.
    4. 4. Vorrichtung nach Anspruch 3, wobei die Bitübertragungsschichtlogik ferner ein bestimmtes Steuerfenster in dem Datenstrom identifizieren soll und während des bestimmten Steuerfensters Rücksetzdaten an eine mit der Datenverbindung verbundene Vorrichtung senden soll, wobei die Rücksetzdaten einen Versuch, von dem Verbindungsübertragungszustand in einen Rücksetzzustand einzutreten, übermitteln sollen.
    5. 5. Vorrichtung nach Anspruch 4, wobei die Bitübertragungsschichtlogik ferner eine dem Rücksetzzustand zugeordnete Supersequenz erzeugen soll und die Supersequenz an die Vorrichtung senden soll.
    6. 6. Vorrichtung nach Anspruch 3, wobei die Bitübertragungsschichtlogik ferner in dem Datenstrom ein bestimmtes Steuerfenster identifizieren soll und während des bestimmten Steuerfensters Verbindungsbreiten-Übergangsdaten an eine mit der Datenverbindung verbundene Vorrichtung senden soll, wobei die Verbindungsbreiten-Übergangsdaten einen Versuch, die Anzahl aktiver Spuren auf der Verbindung zu ändern, übermitteln sollen.
    7. 7. Vorrichtung nach Anspruch 6, wobei die Anzahl der Spuren von einer ursprünglichen Anzahl auf eine neue Anzahl verringert werden soll, wobei das Verringern der Anzahl aktiver Spuren einem Eintritt in einen Teilbreiten-Verbindungsübertragungszustand zugeordnet ist.
    8. 8. Vorrichtung nach Anspruch 7, wobei die Bitübertragungsschichtlogik ferner ein nachfolgendes Steuerfenster in dem Datenstrom identifizieren soll und während des nachfolgenden Steuerfensters Teilbreitenzustands-Austrittsdaten an die Vorrichtung senden soll, wobei die Teilbreitenzustands-Austrittsdaten einen Versuch, die Anzahl aktiver Spuren auf die ursprüngliche Anzahl zurückzustellen, übermitteln sollen.
    9. 9. Vorrichtung nach Anspruch 3, wobei die Bitübertragungsschichtlogik ferner ein bestimmtes Steuerfenster in dem Datenstrom identifizieren soll und während des bestimmten Steuerfensters Leistungsarm-Daten an eine mit der Datenverbindung verbundene Vorrichtung senden soll, wobei die Leistungsarm-Daten einen Versuch, von dem Verbindungsübertragungszustand in einen leistungsarmen Zustand einzutreten, übermitteln sollen.
    10. 10. Vorrichtung nach Anspruch 1, wobei die Steuerfenster in Übereinstimmung mit einem definierten Steuerintervall eingebettet werden und mit der Datenverbindung verbundene Vorrichtungen den Zustandsübergang mit einem Ende eines entsprechenden Steuerintervalls synchronisieren sollen.
    11. 11. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Bitübertragungsschichtlogik, eine Sicherungsschichtlogik und eine Protokollschichtlogik umfasst, wobei die Bitübertragungsschichtlogik Folgendes ausführen soll:
        • Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden sollen und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen;
        • Identifizieren von Steuerdaten, die in ein bestimmtes der Steuerintervalle aufgenommen werden sollen, wobei die Steuerdaten einen versuchten Eintritt aus einem ersten Zustand in einen bestimmten Zustand angeben sollen, wobei der Datenstrom in dem ersten Zustand empfangen werden soll; und
        • Ermöglichen des Übergangs in den bestimmten Zustand.
    12. 12. Vorrichtung nach Anspruch 11, wobei der bestimmte Zustand einen Rücksetzzustand umfasst.
    13. 13. Vorrichtung nach Anspruch 12, wobei das Ermöglichen des Übergangs in den bestimmten Zustand das Senden einer Quittierung des versuchten Eintritts in den bestimmten Zustand enthält.
    14. 14. Vorrichtung nach Anspruch 13, wobei die Quittierung innerhalb des Steuerintervalls gesendet wird.
    15. 15. Vorrichtung nach Anspruch 11, wobei der Datenstrom über eine serielle Datenverbindung, die mehrere aktive Spuren enthält, gesendet wird und wobei der bestimmte Zustand einen Teilbreitenzustand umfasst, wobei wenigstens eine Teilmenge von in den mehreren aktiven Spuren enthaltenen Spuren in dem Teilbreitenzustand ungenutzt werden sollen.
    16. 16. Vorrichtung nach Anspruch 15, wobei die Bitübertragungsschichtlogik ferner nachfolgende Daten, die in einem nachfolgenden der Steuerintervalle enthalten sind, identifizieren soll, wobei die nachfolgenden Daten einen Versuch, aus dem Teilbreitenzustand auszutreten und die ungenutzten Spuren zu reaktivieren, angeben.
    17. 17. Vorrichtung nach Anspruch 11, wobei der bestimmte Zustand einen leistungsarmen Übertragungszustand umfasst.
    18. 18. Verfahren, das Folgendes umfasst:
      • Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthält, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten;
      • Identifizieren von Steuerdaten, die in einem bestimmten der Steuerintervalle enthalten sind, wobei die Steuerdaten einen versuchten Eintritt aus einem ersten Zustand in einen bestimmten Zustand angeben, wobei der Datenstrom in dem ersten Zustand empfangen wird; und
      • Ermöglichen des Übergangs in den bestimmten Zustand.
    19. 19. Verfahren nach Anspruch 18, wobei der Datenstrom über eine serielle Datenverbindung empfangen wird, die mehrere aktive Spuren enthält, und wobei der bestimmte Zustand einen Teilbreitenzustand umfasst, wobei wenigstens eine Teilmenge von in den mehreren aktiven Spuren enthaltenen Spuren in dem Teilbreitenzustand ungenutzt werden soll.
    20. 20. Verfahren nach Anspruch 18, wobei der bestimmte Zustand einen Rücksetzzustand umfasst.
    21. 21. Verfahren nach Anspruch 18, wobei die Bitübertragungsschicht-Steuerinformationen einen Fehler der Datenverbindung beschreiben.
    22. 22. System, das Folgendes umfasst:
      • eine erste Vorrichtung; und
      • eine zweite Vorrichtung, die unter Verwendung einer seriellen Datenverbindung mit der ersten Vorrichtung kommunikationstechnisch gekoppelt ist, wobei die zweite Vorrichtung ein Bitübertragungsschichtmodul enthält, das durch wenigstens einen Prozessor ausgeführt wird, der Folgendes ausführen soll:
        • Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthält, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten;
        • Identifizieren von Steuerdaten, die in einem bestimmten der Steuerintervalle enthalten sind, wobei die Steuerdaten einen versuchten Eintritt aus einem ersten Zustand in einen bestimmten Zustand angeben, wobei der Datenstrom in dem ersten Zustand empfangen wird; und
        • Ermöglichen des Übergangs in den bestimmten Zustand.
    23. 23. System nach Anspruch 22, wobei die erste Vorrichtung einen Mikroprozessor umfasst.
    24. 24. System nach Anspruch 23, wobei die zweite Vorrichtung einen zweiten Mikroprozessor umfasst.
    25. 25. System nach Anspruch 23, wobei die zweite Vorrichtung einen Graphikbeschleuniger umfasst.
    26. 26. System nach Anspruch 22, wobei die erste Vorrichtung eine Bitübertragungsschichtlogik enthält, die Folgendes ausführen soll:
      • Senden der Steuerdaten in dem bestimmten Steuerintervall; und
      • Übergehen in den bestimmten Zustand.
    27. 27. System nach Anspruch 22, wobei der bestimmte Zustand in mehreren Zuständen einer Verbindungstrainings-Zustandsmaschine enthalten ist.
    28. 28. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Bitübertragungsschichtlogik, eine Sicherungsschichtlogik und eine Protokollschichtlogik umfasst, wobei die Bitübertragungsschichtlogik Folgendes ausführen soll:
        • Einbetten eines Taktsignals in Daten, die von einer ersten Vorrichtung über eine serielle Datenverbindung, die mehrere Spuren enthält, übermittelt werden sollen; und
        • Übergehen von einem ersten Verbindungsübertragungszustand, der eine erste Anzahl der mehreren Spuren verwenden soll, in einen zweiten Verbindungsübertragungszustand, der eine zweite Anzahl der mehreren Spuren verwenden soll.
    29. 29. Vorrichtung nach Anspruch 28, wobei die zweite Anzahl von Spuren größer als die erste Anzahl von Spuren ist.
    30. 30. Vorrichtung nach Anspruch 29, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand das Senden einer Teilbreitenzustands-Austrittssupersequenz enthält, die eine oder mehrere Instanzen einer Sequenz umfasst, die eine Electrical Ordered Set (EOS) und mehrere Instanzen einer Trainingssequenz enthält.
    31. 31. Vorrichtung nach Anspruch 30, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden einer Anfangs-EOS, die der Teilbreitenzustands-Austrittssupersequenz vorausgeht, enthält.
    32. 32. Vorrichtung nach Anspruch 31, wobei während des Sendens der Anfangs-EOS auf aktiven Spuren Null-Flits gesendet werden sollen.
    33. 33. Vorrichtung nach Anspruch 30, wobei die Trainingssequenz eine unverwürfelte Schnelltrainingssequenz (FTS) umfasst.
    34. 34. Vorrichtung nach Anspruch 30, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Verwenden der Teilbreitenzustands-Austrittssupersequenz zum Initialisieren wenigstens eines Teils der in den mehreren Spuren enthaltenen ungenutzten Spuren enthält.
    35. 35. Vorrichtung nach Anspruch 34, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden eines Datensequenzanfangs (SDS) nach der Initialisierung des Teils der ungenutzten Spuren enthält.
    36. 36. Vorrichtung nach Anspruch 35, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Senden einer Teil-FTS (FTSp) nach dem Senden der SDS enthält.
    37. 37. Vorrichtung nach Anspruch 30, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand ferner das Empfangen einer Quittierung des Übergangs enthält, wobei die Quittierung die Teilbreitenzustands-Austrittssupersequenz enthält.
    38. 38. Vorrichtung nach Anspruch 28, wobei das Übergehen von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand das Senden eines Inbandsignals über die Datenverbindung an die zweite Vorrichtung enthält.
    39. 39. Vorrichtung nach Anspruch 38, wobei die erste Anzahl von Spuren größer als die zweite Anzahl von Spuren ist.
    40. 40. Vorrichtung nach Anspruch 39, wobei die Daten einen Datenstrom umfassen, der abwechselnde Übertragungsintervalle und Steuerintervalle enthält, und wobei das Signal innerhalb eines bestimmten Steuerintervalls gesendet wird und den Übergang von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand angibt.
    41. 41. Vorrichtung nach Anspruch 40, wobei der Übergang von dem ersten Verbindungsübertragungszustand zu dem zweiten Verbindungsübertragungszustand mit dem Ende eines bestimmten Übertragungsintervalls unmittelbar nach dem bestimmten Steuerintervall synchronisiert werden soll.
    42. 42. Vorrichtung nach Anspruch 28, wobei der Übergang auf einer Anforderung einer Leistungssteuereinheit beruht.
    43. 43. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Bitübertragungsschichtlogik, eine Sicherungsschichtlogik und eine Protokollschichtlogik umfasst, wobei die Bitübertragungsschichtlogik Folgendes ausführen soll:
        • Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen und wobei der Datenstrom über eine serielle Datenverbindung, die aktive Spuren und inaktive Spuren enthalten soll, gesendet werden soll;
        • Identifizieren von Steuerdaten, die in einem bestimmten der Steuerintervalle enthalten sind, wobei die Daten einen Versuch, wenigstens einen Teil der inaktiven Spuren der Verbindung zu aktivieren, angeben sollen; und
        • Ermöglichen der Aktivierung des Teils der inaktiven Spuren.
    44. 44. Vorrichtung nach Anspruch 43, wobei der Datenstrom empfangen wird, während die Datenverbindung in einem Teilbreitenzustand ist, und wobei die Steuerdaten einen Versuch, aus dem Teilbreitenzustand auszutreten, angeben sollen.
    45. 45. Vorrichtung nach Anspruch 43, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren das Empfangen einer Supersequenz, die den Versuch, den Teil der inaktiven Spuren zu aktivieren, angeben soll, enthalten soll.
    46. 46. Vorrichtung nach Anspruch 45, wobei die Supersequenz eine oder mehrere Instanzen einer Sequenz umfassen soll, die eine Electric Idle Exit Ordered Set (EIEOS) und mehrere Instanzen einer Trainingssequenz enthält.
    47. 47. Vorrichtung nach Anspruch 46, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren das Senden wenigstens einer Anfangs-EIEOS, die der Supersequenz unmittelbar vorausgehen soll, enthält.
    48. 48. Vorrichtung nach Anspruch 47, wobei während des Sendens der Anfangs-EIEOS Null-Flits auf den aktiven Spuren gesendet werden sollen.
    49. 49. Vorrichtung nach Anspruch 46, wobei die Trainingssequenz eine unverwürfelte Schnelltrainingssequenz (FTS) umfasst.
    50. 50. Vorrichtung nach Anspruch 45, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Verwenden der Supersequenz zum Initialisieren des Teils der inaktiven Spuren enthält.
    51. 51. Vorrichtung nach Anspruch 50, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Empfangen eines Datensequenzanfangs (SDS) nach der Initialisierung des Teils der inaktiven Spuren enthält.
    52. 52. Vorrichtung nach Anspruch 51, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Empfangen einer Teil-FTS (FTSp) nach der SDS enthält.
    53. 53. Vorrichtung nach Anspruch 45, wobei das Ermöglichen der Aktivierung des Teils der inaktiven Spuren ferner das Quittieren des Versuchs durch identisches Wiedergeben der Supersequenz enthält.
    54. 54. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Bitübertragungsschichtlogik, eine Sicherungsschichtlogik und eine Protokollschichtlogik umfasst, wobei die Bitübertragungsschichtlogik Folgendes ausführen soll:
        • Empfangen eines Datenstroms, wobei der Datenstrom abwechselnde Übertragungsintervalle und Steuerintervalle enthalten soll, wobei während der Übertragungsintervalle Sicherungsschicht-Flits gesendet werden sollen und wobei die Steuerintervalle Gelegenheiten zum Senden von Bitübertragungsschicht-Steuerinformationen bieten sollen;
        • Identifizieren von Steuerdaten, die einen versuchten Eintritt aus einem Verbindungsübertragungszustand in einen leistungsarmen Zustand angeben, wobei der Datenstrom in dem Verbindungsübertragungszustand empfangen werden soll; und
        • Übergehen in den leistungsarmen Zustand.
    55. 55. Vorrichtung nach Anspruch 54, wobei die Steuerdaten einen im Voraus definierten Code umfassen.
    56. 56. Vorrichtung nach Anspruch 55, wobei das Übergehen in den leistungsarmen Zustand das identische Wiedergeben des im Voraus definierten Codes in einem nachfolgenden Steuerintervall enthält.
    57. 57. Vorrichtung nach Anspruch 54, wobei das Übergehen in den leistungsarmen Zustand das Empfangen einer Supersequenz, die den Übergang in den leistungsarmen Zustand angibt, enthält.
    58. 58. Vorrichtung nach Anspruch 57, wobei das Übergehen in den leistungsarmen Zustand ferner das identische Wiedergeben der Supersequenz enthält.
    59. 59. Vorrichtung nach Anspruch 57, wobei die Supersequenz eine oder mehrere Instanzen einer Sequenz, die eine Electrical Ordered Set (EOS), gefolgt von einer vorgegebenen Anzahl von Instanzen einer Trainingssequenz enthält, umfasst.
    60. 60. Vorrichtung nach Anspruch 59, wobei die EOS eine Electrical Idle Electrical Ordered Set (EIEOS) umfasst.
    61. 61. Vorrichtung, die Folgendes umfasst:
      • einen Schichtstapel, der eine Bitübertragungsschichtlogik, eine Sicherungsschichtlogik und eine Protokollschichtlogik umfasst, wobei die Bitübertragungsschichtlogik Folgendes ausführen soll:
        • Identifizieren einer bestimmten Instanz eines periodischen Steuerintervalls, das in einen Datenstrom auf einer seriellen Datenverbindung während eines Verbindungsübertragungszustands eingebettet werden soll;
        • Senden von Zustandsübergangsdaten während der bestimmten Instanz des Steuerintervalls an eine Vorrichtung, wobei die Zustandsübergangsdaten einen Versuch, in einen leistungsarmen Zustand einzutreten, angeben sollen; und
        • Übergehen in den leistungsarmen Zustand.
    62. 62. Vorrichtung nach Anspruch 61, wobei die Bitübertragungsschichtlogik von der Vorrichtung eine Quittierung empfangen soll, wobei die Quittierung die Zustandsübergangsdaten umfasst.
    63. 63. Vorrichtung nach Anspruch 62, wobei die Quittierung mit einem nächsten periodischen Steuerintervall zusammenfallen soll.
    64. 64. Vorrichtung nach Anspruch 61, wobei das Übergehen in den leistungsarmen Zustand das Senden einer Supersequenz, die den Übergang in den leistungsarmen Zustand angibt, an die Vorrichtung enthält.
    65. 65. Vorrichtung nach Anspruch 64, wobei das Übergehen in den leistungsarmen Zustand ferner das Empfangen einer wiederholten Instanz der Supersequenz von der Vorrichtung enthält.
    66. 66. Vorrichtung nach Anspruch 64, wobei die Supersequenz eine oder mehrere Instanzen einer Sequenz, die eine Electrical Ordered Set (EOS), gefolgt von einer vorgegebenen Anzahl von Instanzen einer Trainingssequenz, enthält, umfasst.
    67. 67. Vorrichtung nach Anspruch 66, wobei die EOS eine Electric Idle Exit Ordered Set (EIEOS) umfasst.
    68. 68. Vorrichtung nach Anspruch 61, wobei der Übergang in den leistungsarmen Zustand auf einer Anforderung einer Leistungssteuereinheit beruht.
    69. 69. Vorrichtung nach Anspruch 61, wobei die Bitübertragungsschichtlogik ferner einen Übergang von dem leistungsarmen Zustand in den Verbindungsübertragungszustand initiieren soll.
    70. 70. Vorrichtung, die Folgendes umfasst:
      • eine Bitübertragungsschicht (PHY), die dafür konfiguriert ist, mit einer seriellen differentiellen Verbindung gekoppelt zu werden, wobei die PHY periodisch einen Verbindungssperrzustand (BLS) ausgeben soll, wobei die BLS-Anforderung veranlassen soll, dass ein Agent in einen BLS eintritt, um die Verbindungsschicht-Flit-Sendung für eine Dauer zurückzuhalten, wobei die PHY die serielle differentielle Verbindung während der Dauer für der PHY zugeordnete Aufgaben nutzen soll.
    71. 71. Vorrichtung nach Anspruch 70, wobei die PHY die serielle differentielle Verbindung während der Dauer für der PHY zugeordnete Aufgaben, umfasst das Senden einer oder mehrerer Nachrichten einer Prioritätsnachrichtenliste, die NOP, Zurücksetzen, Inbandzurücksetzen, Eintritt in einen leistungsarmen Zustand, Eintritt in einen Teilbreitenzustand, Eintritt in einen anderen PHY-Zustand usw. enthält, nutzen soll.
    72. 72. Vorrichtung, die Folgendes umfasst:
      • eine Bitübertragungsschicht (PHY), die dafür konfiguriert ist, mit einer Verbindung gekoppelt zu werden, wobei die Verbindung eine erste Anzahl von Spuren enthält, wobei die PHY in einem Vollbreiten-Übertragungsverbindungszustand Flits über die erste Anzahl von Spuren senden soll und wobei die PHY in einem Teilbreiten-Verbindungsübertragungszustand Flits über eine zweite Anzahl von Spuren, die kleiner als die erste Anzahl von Spuren ist, senden soll.
    73. 73. Vorrichtung nach Anspruch 72, wobei die PHY einen Verbindungssperrzustand nutzen soll, um von dem Verbindungssperrzustand in den Teilbreiten-Verbindungsübertragungszustand einzutreten.
    74. 74. Vorrichtung nach Anspruch 72, wobei die Flits, wenn sie über die erste Anzahl von Spuren und über die zweite Anzahl von Spuren übertragen werden, dieselbe Größe haben.
    75. 75. Vorrichtung nach Anspruch 72, wobei die PHY zum Übertragen über die erste Anzahl von Spuren und über die zweite Anzahl von Spuren einen eingebetteten Takt nutzt.
    76. 76. Vorrichtung nach Anspruch 72, wobei die PHY zum Übertragen über die erste Anzahl von Spuren einen eingebetteten Takt nutzt und zum Übertragen über die zweite Anzahl von Spuren einen weitergeleiteten Takt nutzt.

Claims (26)

  1. Prozessorvorrichtung, umfassend: einen Sender-Port, der Bitübertragungsschichtlogik umfasst zum: Senden einer Anforderung zum Eintreten in einen Teilbreitenzustand an einen fernen Agenten, wobei die Anforderung über eine Verbindung während eines Verbindungssteuerzustands, der einen zeitlich festgelegten Zustand umfasst, während dessen Sicherungsschicht-Flits zurückgehalten werden, gesendet wird, während Bitübertragungsschichtinformation an den fernen Agenten übertragen werden soll, wobei die Verbindung eine Vielzahl von Bahnen umfasst, wobei eine Teilmenge der Vielzahl von Bahnen der Verbindung während des Teilbreitenzustands verwendet werden soll, und Bahnen der Vielzahl von Bahnen, die nicht in der Teilmenge enthalten sind, während des Teilbreitenzustands inaktive Bahnen sind; Abschalten der inaktiven Bahnen auf eine gestaffelte Weise; und Senden eines Sicherungsschicht-Flits über die Teilmenge von Bahnen während des Teilbreitenzustands.
  2. Prozessorvorrichtung nach Anspruch 1, wobei der Sender-Port auf jeder der Vielzahl von Bahnen senden soll.
  3. Prozessorvorrichtung nach Anspruch 1, wobei die Vielzahl von Bahnen 20 Bahnen umfasst, und die Teilmenge von Bahnen 8 Bahnen umfasst.
  4. Prozessorvorrichtung nach Anspruch 1, ferner umfassend einen Empfänger-Port zum Empfangen von Daten auf der Vielzahl von Bahnen der Verbindung.
  5. Prozessorvorrichtung nach Anspruch 4, wobei der Empfänger-Port während des Teilbreitenzustands Daten lediglich auf der Teilmenge von Bahnen empfangen soll.
  6. Prozessorvorrichtung nach Anspruch 1, wobei der Verbindungssteuerzustand periodisch einen Verbindungssendezustand unterbrechen soll.
  7. Prozessorvorrichtung nach Anspruch 1, ferner umfassend Sicherungsschichtlogik zum Erzeugen der Sicherungsschicht-Flits.
  8. Prozessorvorrichtung nach Anspruch 1, wobei die Anfrage zum Eintreten in den Teilbreitenzustand eine Supersequenz umfasst und die Supersequenz ein sich wiederholendes Muster umfasst.
  9. Prozessorvorrichtung nach Anspruch 8, wobei das sich wiederholende Muster einen elektrischen geordneten Satz (EOS) und eine Vielzahl an Anlaufsequenzen umfasst.
  10. Prozessorvorrichtung nach Anspruch 9, wobei der EOS einen elektrischen inaktiven geordneten Austrittssatz (EIEOS) umfasst.
  11. Prozessorvorrichtung nach Anspruch 9, wobei die Vielzahl von Anlaufsequenzen eine vorbestimmte Anzahl von Anlaufsequenzen umfasst, die in einer Reihe innerhalb des sich wiederholenden Musters gesendet werden sollen.
  12. Prozessorvorrichtung nach Anspruch 11, wobei die vorbestimmte Anzahl 6 Anlaufsequenzen umfasst.
  13. Prozessorvorrichtung nach Anspruch 9, wobei die Anlaufsequenzen schnelle Anlaufsequenzen umfassen.
  14. Verfahren, umfassend: Senden einer Anforderung zum Eintreten in einen Teilbreitenzustand an einen fernen Agenten, wobei die Anforderung über eine Verbindung während eines Verbindungssteuerzustands, der einen zeitlich festgelegten Zustand, während dessen Sicherungsschicht-Flits zurückgehalten werden, gesendet wird, während Bitübertragungsschichtinformation an den fernen Agenten übertragen werden soll, wobei die Verbindung eine Vielzahl von Bahnen umfasst, wobei eine Teilmenge der Vielzahl von Bahnen der Verbindung während des Teilbreitenzustands verwendet werden soll, und Bahnen der Vielzahl von Bahnen, die nicht in der Teilmenge enthalten sind, während des Teilbreitenzustands inaktive Bahnen sind; Abschalten der inaktiven Bahnen auf eine gestaffelte Weise; und Senden eines Sicherungsschicht-Flits über die Teilmenge an Bahnen während des Teilbreitenzustands.
  15. Verfahren nach Anspruch 14, ferner umfassend: Eintreten in einen Verbindungssendezustand, wobei der Verbindungssteuerzustand den Verbindungssendezustand periodisch unterbrechen soll; und Senden des Sicherungsschicht-Flits während des Verbindungssendezustands.
  16. Verfahren nach Anspruch 15, wobei sämtliche der Vielzahl von Bahnen verwendet werden sollen, um die Sicherungsschicht-Flits während des Verbindungssendezustands zu senden.
  17. System, umfassend Mittel zum Durchführen des Verfahrens gemäß einem der Ansprüche 14 bis 16.
  18. Vorrichtung, umfassend: einen Controller, der mit einem ersten Prozessor assoziiert ist, wobei der Controller ein Interface zwischen dem ersten Prozessor zum Erkennen eines ersten Befehlssatzes und einem zweiten Prozessor zum Erkennen eines zweiten Befehlssatzes, der sich von dem ersten Befehlssatz unterscheidet, ist, wobei der Controller Protokollschichtlogik, Sicherungsschichtlogik und Bitübertragungsschichtlogik umfasst, wobei die Bitübertragungsschichtlogik eingerichtet ist zum: Senden einer Anforderung zum Eintreten in einen Teilbreitenzustand an ein anderes Gerät, wobei die Anforderung während eines periodischen Steuerfensters über eine Verbindung gesendet wird, in der Sicherungsschicht-Flits zurückgehalten werden, während Bitübertragungsschichtsteuerinformation an das erste Gerät übertragen werden soll, wobei die Verbindung eine Vielzahl an Bahnen umfasst, wobei eine Teilmenge der Vielzahl an Bahnen der Verbindung während des Teilbreitenzustands verwendet werden soll, und Bahnen der Vielzahl an Bahnen während des Teilbreitenzustands in einen inaktiven Zustand gewechselt werden sollen; Wechseln der Bahnen außerhalb der Vielzahl von Bahnen in den inaktiven Zustand auf eine gestaffelte Weise; und Senden eines Sicherungsschicht-Flits an das erste Gerät über die Teilmenge von Bahnen während des Teilbreitenzustands.
  19. Vorrichtung nach Anspruch 18, wobei die Anforderung zum Eintreten in den Teilbreitenzustand eine Supersequenz umfasst, und die Supersequenz ein sich wiederholendes Muster umfasst.
  20. Vorrichtung nach Anspruch 19, wobei das sich wiederholende Muster einen elektrischen inaktiven geordneten Austrittssatz (EIEOS) und eine Vielzahl von Anlaufsequenzen umfasst.
  21. Vorrichtung nach Anspruch 20, wobei die Vielzahl von Anlaufsequenzen eine vorbestimmte Anzahl schneller Anlaufsequenzen umfasst, die in dem sich wiederholenden Muster gesendet werden sollen.
  22. System, umfassend: ein erstes Gerät; ein zweites Gerät zum Verbinden des ersten Geräts über eine Verbindung, wobei das zweite Gerät Bitübertragungsschichtlogik umfasst, die eingerichtet ist zum Senden einer Anforderung zum Eintreten in einen Teilbreitenzustand an das erste Gerät, wobei die Anforderung über die Verbindung während eines Verbindungssteuerzustands, der einen zeitlich festgelegten Zustand, während dessen Sicherungsschicht-Flits zurückgehalten werden, gesendet wird, während Bitübertragungsschichtinformation an das erste Gerät übertragen werden soll, wobei die Verbindung eine Vielzahl von Bahnen umfasst, wobei eine Teilmenge der Vielzahl von Bahnen der Verbindung während des Teilbreitenzustands verwendet werden soll, und Bahnen der Vielzahl von Bahnen, die nicht in der Teilmenge enthalten sind, während des Teilbreitenzustands inaktive Bahnen sind; Staffeln von Übergängen der Bahnen außerhalb der Vielzahl von Bahnen in den inaktiven Zustand; und Senden eines Sicherungsschicht-Flits an das erste Gerät über die Teilmenge von Bahnen während des Teilbreitenzustands.
  23. System nach Anspruch 22, wobei ein oder beide der ersten und zweiten Geräte einen Prozessorknoten umfassen.
  24. System nach Anspruch 22, wobei ein oder beide der ersten und zweiten Geräte einen Beschleuniger enthalten.
  25. System nach Anspruch 22, wobei ein oder beide der ersten und zweiten Geräte einen Knotencontroller umfassen.
  26. System nach Anspruch 22, wobei das erste Gerät Bitübertragungsschichtlogik umfasst zum: Empfangen der Anforderung zum Eintreten in einen Teilbreitenzustand von dem zweiten Gerät; Teilnehmen an gestaffelten Übergängen der Bahnen außerhalb der Vielzahl von Bahnen in den inaktiven Zustand; und Empfangen des Sicherungsschicht-Flits von dem zweiten Gerät über die Teilmenge von Bahnen während des Teilbreitenzustands.
DE112013007752.3T 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht Active DE112013007752B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22

Publications (1)

Publication Number Publication Date
DE112013007752B3 true DE112013007752B3 (de) 2023-04-27

Family

ID=50485278

Family Applications (14)

Application Number Title Priority Date Filing Date
DE112013003723.8T Active DE112013003723B4 (de) 2012-10-22 2013-03-15 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013005093.5T Pending DE112013005093T5 (de) 2012-10-22 2013-03-15 Hochleistungszusammenschaltungsbitübertragungsschicht
DE112013005090.0T Pending DE112013005090T5 (de) 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013004094.8T Active DE112013004094B4 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013007752.3T Active DE112013007752B3 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013001360.6T Active DE112013001360B4 (de) 2012-10-22 2013-03-28 Vorrichtung, verfahren und system zum bereitstellen einer kopplungsstruktur-linkschicht
DE112013007767.1T Active DE112013007767B3 (de) 2012-10-22 2013-03-28 Vorrichtung und system zur verbesserten nutzung von datenverbindungen

Family Applications Before (11)

Application Number Title Priority Date Filing Date
DE112013003723.8T Active DE112013003723B4 (de) 2012-10-22 2013-03-15 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013005093.5T Pending DE112013005093T5 (de) 2012-10-22 2013-03-15 Hochleistungszusammenschaltungsbitübertragungsschicht
DE112013005090.0T Pending DE112013005090T5 (de) 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013004094.8T Active DE112013004094B4 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE112013001360.6T Active DE112013001360B4 (de) 2012-10-22 2013-03-28 Vorrichtung, verfahren und system zum bereitstellen einer kopplungsstruktur-linkschicht
DE112013007767.1T Active DE112013007767B3 (de) 2012-10-22 2013-03-28 Vorrichtung und system zur verbesserten nutzung von datenverbindungen

Country Status (9)

Country Link
US (20) US20140201463A1 (de)
EP (2) EP3410304B1 (de)
JP (2) JP6139689B2 (de)
KR (27) KR101815173B1 (de)
CN (26) CN104756097B (de)
BR (1) BR112015006432A2 (de)
DE (14) DE112013003723B4 (de)
RU (2) RU2599971C2 (de)
WO (11) WO2014065878A1 (de)

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013105967A1 (en) * 2012-01-13 2013-07-18 Intel Corporation Efficient peer-to-peer communication support in soc fabrics
US8943255B2 (en) * 2012-05-29 2015-01-27 Lsi Corporation Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices
US9355058B2 (en) 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
US9280507B2 (en) 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
DE112013003723B4 (de) 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
US9367474B2 (en) * 2013-06-12 2016-06-14 Apple Inc. Translating cache hints
US20150006962A1 (en) * 2013-06-27 2015-01-01 Robert C. Swanson Memory dump without error containment loss
CN104579605B (zh) * 2013-10-23 2018-04-10 华为技术有限公司 一种数据传输方法及装置
US9306863B2 (en) * 2013-12-06 2016-04-05 Intel Corporation Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
KR101985157B1 (ko) * 2013-12-26 2019-05-31 인텔 코포레이션 멀티칩 패키지 링크
RU2645288C2 (ru) * 2013-12-26 2018-02-19 Интел Корпорейшн Усовершенствование интерфейса pci express
US9594719B2 (en) 2014-02-03 2017-03-14 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
CN105095147B (zh) * 2014-05-21 2018-03-13 华为技术有限公司 片上网络的Flit传输方法及装置
RU2608881C2 (ru) * 2014-05-28 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
US9696920B2 (en) 2014-06-02 2017-07-04 Micron Technology, Inc. Systems and methods for improving efficiencies of a memory system
US9619214B2 (en) 2014-08-13 2017-04-11 International Business Machines Corporation Compiler optimizations for vector instructions
US9571465B1 (en) 2014-09-18 2017-02-14 Amazon Technologies, Inc. Security verification by message interception and modification
US9904645B2 (en) * 2014-10-31 2018-02-27 Texas Instruments Incorporated Multicore bus architecture with non-blocking high performance transaction credit system
US9870328B2 (en) * 2014-11-14 2018-01-16 Cavium, Inc. Managing buffered communication between cores
US9665505B2 (en) 2014-11-14 2017-05-30 Cavium, Inc. Managing buffered communication between sockets
US9506982B2 (en) 2014-11-14 2016-11-29 Cavium, Inc. Testbench builder, system, device and method including a generic monitor and transporter
US20160173398A1 (en) 2014-12-12 2016-06-16 Intel Corporation Method, Apparatus And System For Encoding Command Information In a Packet-Based Network
US9921768B2 (en) * 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
US9444551B2 (en) * 2014-12-19 2016-09-13 Intel Corporation High performance optical repeater
US10025746B2 (en) * 2014-12-20 2018-07-17 Intel Corporation High performance interconnect
US9740646B2 (en) * 2014-12-20 2017-08-22 Intel Corporation Early identification in transactional buffered memory
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
US9785556B2 (en) 2014-12-23 2017-10-10 Intel Corporation Cross-die interface snoop or global observation message ordering
US20160188519A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Method, apparatus, system for embedded stream lanes in a high-performance interconnect
CN104536929A (zh) * 2015-01-14 2015-04-22 浪潮(北京)电子信息产业有限公司 一种物理层初始化方法及客户端
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
US10282315B2 (en) 2015-03-27 2019-05-07 Cavium, Llc Software assisted hardware configuration for software defined network system-on-chip
US9639276B2 (en) * 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
US9720838B2 (en) * 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
US9619396B2 (en) * 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
US9760515B2 (en) 2015-04-06 2017-09-12 Qualcomm Incorporated Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
US10417128B2 (en) 2015-05-06 2019-09-17 Oracle International Corporation Memory coherence in a multi-core, multi-level, heterogeneous computer architecture implementing hardware-managed and software managed caches
US20160353357A1 (en) * 2015-05-27 2016-12-01 Qualcomm Incorporated Methods and systems for multiplexed communication in dense wireless environments
WO2016197345A1 (zh) * 2015-06-10 2016-12-15 华为技术有限公司 一种信号传输方法、控制器和信号传输系统
US9697145B2 (en) * 2015-06-12 2017-07-04 Apple Inc. Memory interface system
US20160371222A1 (en) * 2015-06-22 2016-12-22 Qualcomm Incorporated COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US10089275B2 (en) 2015-06-22 2018-10-02 Qualcomm Incorporated Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
KR102485999B1 (ko) * 2015-07-01 2023-01-06 삼성전자주식회사 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템
US9692589B2 (en) 2015-07-17 2017-06-27 Intel Corporation Redriver link testing
JP6665380B2 (ja) * 2015-07-30 2020-03-13 ヴァレンス セミコンダクター リミテッド 高帯域幅レーンのシームレスな追加
JP6674085B2 (ja) * 2015-08-12 2020-04-01 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9990291B2 (en) * 2015-09-24 2018-06-05 Qualcomm Incorporated Avoiding deadlocks in processor-based systems employing retry and in-order-response non-retry bus coherency protocols
DE112015006953T5 (de) * 2015-09-26 2018-06-14 Intel Corporation Training einer gültigen lane
WO2017052662A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Stream identifier lane protection
WO2017052665A1 (en) * 2015-09-26 2017-03-30 Intel Corporation In-band margin probing on an operational interconnect
WO2017052661A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Multichip package link error detection
US9720439B2 (en) * 2015-09-26 2017-08-01 Intel Corporation Methods, apparatuses, and systems for deskewing link splits
GB2543745B (en) * 2015-10-15 2018-07-04 Advanced Risc Mach Ltd An apparatus and method for operating a virtually indexed physically tagged cache
US10198384B2 (en) 2016-03-01 2019-02-05 Qorvo Us, Inc. One wire bus to RFFE translation system
US10128964B2 (en) 2016-03-10 2018-11-13 Qualcomm Incorporated Multiphase preamble data sequences for receiver calibration and mode data signaling
US9779028B1 (en) 2016-04-01 2017-10-03 Cavium, Inc. Managing translation invalidation
CN105933286B (zh) * 2016-04-05 2019-08-02 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置
RU2643620C2 (ru) * 2016-05-11 2018-02-02 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ планирования задач предобработки данных Интернета Вещей для систем анализа
US10713202B2 (en) * 2016-05-25 2020-07-14 Samsung Electronics Co., Ltd. Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports
US10503641B2 (en) * 2016-05-31 2019-12-10 Advanced Micro Devices, Inc. Cache coherence for processing in memory
US11144691B2 (en) * 2016-06-02 2021-10-12 Siemens Industry Software Inc. Virtual Ethernet mutable port group transactor
TWI613547B (zh) * 2016-06-16 2018-02-01 新漢股份有限公司 具有pci-e增強器的電腦系統,及其pci-e增強器的設定方法
US10103837B2 (en) * 2016-06-23 2018-10-16 Advanced Micro Devices, Inc. Asynchronous feedback training
US10484361B2 (en) * 2016-06-30 2019-11-19 Intel Corporation Systems, methods, and apparatuses for implementing a virtual device observation and debug network for high speed serial IOS
US10303605B2 (en) * 2016-07-20 2019-05-28 Intel Corporation Increasing invalid to modified protocol occurrences in a computing system
US10929059B2 (en) 2016-07-26 2021-02-23 MemRay Corporation Resistance switching memory-based accelerator
US10379904B2 (en) * 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
RU2016137176A (ru) * 2016-09-16 2018-03-19 Оракл Интернэйшнл Корпорейшн Связывание преобразованного исходного кода с первоначальным исходным кодом с помощью метаданных
US10255181B2 (en) * 2016-09-19 2019-04-09 Qualcomm Incorporated Dynamic input/output coherency
US10936045B2 (en) 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. Update memory management information to boot an electronic device from a reduced power mode
US10846258B2 (en) * 2016-09-30 2020-11-24 Intel Corporation Voltage modulated control lane
US10152446B2 (en) * 2016-10-01 2018-12-11 Intel Corporation Link-physical layer interface adapter
CN108121842B (zh) * 2016-11-30 2021-04-27 深圳市中兴微电子技术有限公司 多处理器系统芯片的低功耗工作方式的验证方法和装置
CN106527576A (zh) * 2016-12-01 2017-03-22 郑州云海信息技术有限公司 一种pcie设备的时钟分离设计方法和系统
TWI610179B (zh) 2016-12-07 2018-01-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
CN108170370B (zh) 2016-12-07 2021-01-26 慧荣科技股份有限公司 数据储存装置与数据传输速率控制方法
TWI633777B (zh) * 2016-12-13 2018-08-21 威盛電子股份有限公司 傳輸介面晶片以及其測試方法
KR20180071598A (ko) 2016-12-20 2018-06-28 주식회사 포스코 중장비 위치 추적 시스템
KR101946135B1 (ko) * 2017-01-11 2019-02-08 울산과학기술원 비휘발성 메모리를 이용하는 데이터베이스 관리 시스템 및 방법
US11159636B2 (en) * 2017-02-08 2021-10-26 Arm Limited Forwarding responses to snoop requests
US11182315B2 (en) * 2017-02-10 2021-11-23 Intel Corporation Apparatuses, methods, and systems for hardware control of processor performance levels
US10572434B2 (en) 2017-02-27 2020-02-25 International Business Machines Corporation Intelligent certificate discovery in physical and virtualized networks
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
CN107491407B (zh) * 2017-07-03 2019-07-12 西安空间无线电技术研究所 基于fpga内serdes的自适应高速传输系统
US11030126B2 (en) * 2017-07-14 2021-06-08 Intel Corporation Techniques for managing access to hardware accelerator memory
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
CN107678854A (zh) * 2017-08-31 2018-02-09 郑州云海信息技术有限公司 一种解决计算机缓存一致性冲突的方法
US10474611B2 (en) 2017-09-19 2019-11-12 International Business Machines Corporation Aligning received bad data indicators (BDIS) with received data on a cross-chip link
CN107589698B (zh) * 2017-09-20 2021-05-25 友达光电股份有限公司 应用于物联网中的感测装置及控制方法
US20190095273A1 (en) * 2017-09-27 2019-03-28 Qualcomm Incorporated Parity bits location on i3c multilane bus
US10963035B2 (en) * 2017-10-11 2021-03-30 Qualcomm Incorporated Low power PCIe
CN109075854B (zh) * 2017-11-22 2021-09-07 深圳市大疆创新科技有限公司 一种断链恢复的方法及飞行器
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
US10466911B2 (en) * 2017-12-18 2019-11-05 Western Digital Technologies, Inc. Method using logical based addressing for latency reduction
US10853212B2 (en) * 2018-01-08 2020-12-01 Intel Corporation Cross-talk generation in a multi-lane link during lane testing
WO2019140049A1 (en) * 2018-01-10 2019-07-18 Lumeova, Inc. Method, devices and system for wireless communication channels fso
US20190227971A1 (en) * 2018-01-23 2019-07-25 Qualcomm Incorporated Architecture for consolidating multiple sources of low-bandwidth data over a serial bus
US20190294777A1 (en) * 2018-03-26 2019-09-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for managing access to host computing devices by external devices
US10534881B2 (en) * 2018-04-10 2020-01-14 Advanced Micro Devices, Inc. Method of debugging a processor
CN108563510B (zh) * 2018-05-04 2021-07-13 湖南大学 面向e级计算的体系结构感知优化方法
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
US20190356412A1 (en) * 2018-05-16 2019-11-21 Qualcomm Incorporated Fast termination of multilane double data rate transactions
CN108762747B (zh) * 2018-05-30 2022-02-18 郑州云海信息技术有限公司 数据处理方法以及计算机设备
WO2019237130A1 (en) * 2018-06-04 2019-12-12 Lightfleet Corporation Routing and control protocol for high-performance interconnect fabrics
CN110609866B (zh) * 2018-06-15 2023-08-11 伊姆西Ip控股有限责任公司 用于协商事务的方法、设备和计算机程序产品
US10693589B2 (en) * 2018-06-18 2020-06-23 Huawei Technologies Co., Ltd. Serdes with jitter injection self stress mechanism
US11301160B2 (en) * 2018-06-20 2022-04-12 Genesys Telecommunications Laboratories, Inc. System and method for a replication protocol in a real-time statistical engine
CN109144943A (zh) * 2018-06-26 2019-01-04 深圳市安信智控科技有限公司 基于高速串行通道互连的计算芯片与存储器芯片组合系统
GB2575294B8 (en) * 2018-07-04 2022-07-20 Graphcore Ltd Host Proxy On Gateway
US10841355B2 (en) * 2018-07-13 2020-11-17 Apple Inc. Methods and apparatus for streaming media conversion with reduced buffering memories
US10541841B1 (en) * 2018-09-13 2020-01-21 Advanced Micro Devices, Inc. Hardware transmit equalization for high speed
CN109558122B (zh) * 2018-11-29 2022-08-19 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法
US10761939B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Powering-down or rebooting a device in a system fabric
TWI706257B (zh) * 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統
US10771189B2 (en) * 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
KR102165860B1 (ko) * 2018-12-31 2020-10-14 성균관대학교산학협력단 슬로티드 페이지의 더블 헤더 로깅 방법 및 데이터베이스 장치
US10599601B1 (en) * 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11068400B2 (en) * 2019-01-24 2021-07-20 Vmware, Inc. Failure-atomic logging for persistent memory systems with cache-coherent FPGAs
US11099991B2 (en) 2019-01-24 2021-08-24 Vmware, Inc. Programming interfaces for accurate dirty data tracking
WO2020160477A1 (en) 2019-01-31 2020-08-06 Tektronix, Inc. Systems, methods and devices for high-speed input/output margin testing
US11940483B2 (en) 2019-01-31 2024-03-26 Tektronix, Inc. Systems, methods and devices for high-speed input/output margin testing
US10713209B2 (en) 2019-02-08 2020-07-14 Intel Corporation Recalibration of PHY circuitry for the PCI Express (PIPE) interface based on using a message bus interface
US10802966B2 (en) * 2019-02-14 2020-10-13 International Business Machines Corporation Simultaneous, non-atomic request processing within an SMP environment broadcast scope for multiply-requested data elements using real-time parallelization
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11099905B2 (en) 2019-02-26 2021-08-24 International Business Machines Corporation Efficient remote resource allocation within an SMP broadcast scope maintaining fairness between operation types
US11249837B2 (en) * 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US20220147614A1 (en) * 2019-03-05 2022-05-12 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications
CN109947551B (zh) * 2019-03-19 2021-04-23 中南大学 一种多轮次任务分配方法、边缘计算系统及其存储介质
EP3723345A1 (de) * 2019-04-10 2020-10-14 ABB Schweiz AG Aggregationsserver und verfahren zur weiterleitung von knotendaten
US10698842B1 (en) * 2019-04-10 2020-06-30 Xilinx, Inc. Domain assist processor-peer for coherent acceleration
IT201900005822A1 (it) * 2019-04-15 2020-10-15 Phoenix Ict S R L S Adattore di periferiche general purpose per computer
US11119958B2 (en) 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
CN110138761B (zh) * 2019-05-09 2021-10-15 豪威触控与显示科技(深圳)有限公司 基于mipi协议的设备间通信方法及设备拓扑结构
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
JP7259537B2 (ja) * 2019-05-16 2023-04-18 オムロン株式会社 情報処理装置
US10802967B1 (en) * 2019-06-28 2020-10-13 Intel Corporation Partial write management in a multi-tiled compute engine
US11144469B2 (en) * 2019-07-02 2021-10-12 Microsoft Technology Licensing, Llc Per-tenant incremental outward distributed proactive caching
US11444829B2 (en) * 2019-09-09 2022-09-13 Intel Corporation Link layer communication by multiple link layer encodings for computer buses
US11271860B1 (en) * 2019-11-15 2022-03-08 Xilinx, Inc. Compressed tag coherency messaging
JP7204006B2 (ja) * 2019-11-20 2023-01-13 三菱電機株式会社 光通信装置及び通信システム
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer
RU2738955C1 (ru) * 2019-11-27 2020-12-21 Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) Способ трёхкратного резервирования межсоединений
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11132321B2 (en) * 2020-02-26 2021-09-28 Quanta Computer Inc. Method and system for automatic bifurcation of PCIe in BIOS
WO2021174224A1 (en) * 2020-02-28 2021-09-02 Riera Michael F A stand-alone accelerator protocol (sap) for heterogeneous computing systems
US11115176B1 (en) * 2020-03-04 2021-09-07 Qualcomm Incorporated System and method for adjusting clock-data timing in a multi-lane data communication link
US11126585B1 (en) 2020-03-09 2021-09-21 Western Digital Technologies, Inc. Data storage device with improved interface transmitter training
US11886312B2 (en) 2020-04-07 2024-01-30 Intel Corporation Characterizing error correlation based on error logging for computer buses
CN111400232B (zh) * 2020-04-10 2024-01-16 芯启源(上海)半导体科技有限公司 一种基于数据位宽展开的scramble与descramble硬件实现方法
US11288225B2 (en) 2020-04-14 2022-03-29 Western Digital Technologies, Inc. Adapting transmitter training behavior based upon assumed identity of training partner
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training
US11513981B2 (en) * 2020-04-29 2022-11-29 Dell Products L.P. PCIe link management without sideband signals
US11586446B1 (en) * 2020-05-20 2023-02-21 Marvell Asia Pte Ltd System and methods for hardware-based PCIe link up based on post silicon characterization
US11263137B2 (en) * 2020-05-27 2022-03-01 Arm Limited Core-to-core cache stashing and target discovery
US11500797B2 (en) * 2020-05-29 2022-11-15 Netlist, Inc. Computer memory expansion device and method of operation
US20210013999A1 (en) * 2020-06-04 2021-01-14 Intel Corporation Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses
KR102254337B1 (ko) * 2020-06-22 2021-05-21 한양대학교 산학협력단 Dc-밸런싱을 고려한 pam4 5b3q 코딩 방법 및 장치
US11360906B2 (en) * 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
US11588745B2 (en) 2020-08-31 2023-02-21 Micron Technology, Inc. Early credit return for credit-based flow control
US11580044B2 (en) * 2020-08-31 2023-02-14 Micron Technology, Inc. Network credit return mechanisms
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
CN112134859B (zh) * 2020-09-09 2021-07-06 上海沈德医疗器械科技有限公司 一种基于arm架构的聚焦超声治疗设备控制方法
DE102021121105A1 (de) * 2020-09-28 2022-03-31 Samsung Electronics Co., Ltd. Intelligente ablagespeichervorrichtung
TWI783293B (zh) * 2020-11-09 2022-11-11 瑞昱半導體股份有限公司 訊號傳輸裝置識別方法與訊號處理系統
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
CN116802510A (zh) 2020-11-24 2023-09-22 特克特朗尼克公司 用于高速输入/输出裕量测试的系统、方法和设备
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
CN112579479B (zh) * 2020-12-07 2022-07-08 成都海光微电子技术有限公司 在维护缓存一致性时维护事务次序的处理器及其方法
US11636037B2 (en) 2020-12-21 2023-04-25 Nxp Usa, Inc. Methods and apparatuses involving radar system data paths
CN112953556A (zh) * 2021-02-05 2021-06-11 南京大学 基于斐波那契数列的抗串扰互联的编解码器及编码方法
CN112631989A (zh) * 2021-03-08 2021-04-09 南京蓝洋智能科技有限公司 一种小芯片间、芯片间、小芯片与芯片间的数据传输方法
US11431649B1 (en) * 2021-03-26 2022-08-30 Arm Limited Interconnect resource allocation
CN113019479A (zh) * 2021-03-31 2021-06-25 中国人民解放军空军军医大学 一种用于模拟井下工作环境的试验箱
IT202100008723A1 (it) 2021-04-08 2022-10-08 Phoenix ICT Sistema per la gestione in sicurezza dei documenti digitali
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
KR102518317B1 (ko) * 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR20220162345A (ko) 2021-06-01 2022-12-08 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
CN113971143B (zh) * 2021-10-22 2023-12-05 展讯半导体(成都)有限公司 一种内存控制器、物联网芯片及电子设备
US11755494B2 (en) * 2021-10-29 2023-09-12 Advanced Micro Devices, Inc. Cache line coherence state downgrade
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit
CN114510268B (zh) * 2021-12-24 2022-09-20 中国人民解放军战略支援部队航天工程大学 一种基于gpu实现下变频中单精度浮点数累积误差控制方法
US20220327084A1 (en) * 2021-12-30 2022-10-13 Intel Corporation Die-to-die interconnect protocol layer
US20220342840A1 (en) * 2021-12-30 2022-10-27 Intel Corporation Die-to-die interconnect
US11907132B2 (en) 2022-03-23 2024-02-20 International Business Machines Corporation Final cache directory state indication
US11726660B1 (en) * 2022-04-15 2023-08-15 Dell Products L.P. Techniques for flexible physical drive expansion using a loop back connection
US20230342308A1 (en) * 2022-04-22 2023-10-26 Western Digital Technologies, Inc. Reducing Link Up Time In PCIe Systems
CN114942814B (zh) * 2022-06-01 2023-07-11 咪咕视讯科技有限公司 页面组件的聚焦方法、系统、终端设备及介质
US11880686B2 (en) * 2022-06-16 2024-01-23 Ampere Computing Llc Devices transferring cache lines, including metadata on external links
CN115238619B (zh) * 2022-09-20 2023-06-27 北京数字光芯集成电路设计有限公司 数字芯片的子模块后仿真方法和系统
US11914473B1 (en) * 2022-10-20 2024-02-27 Micron Technology, Inc. Data recovery using ordered data requests

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034295A1 (en) 2004-05-21 2006-02-16 Intel Corporation Dynamically modulating link width
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization

Family Cites Families (269)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4191941A (en) 1978-04-03 1980-03-04 Rca Corporation Switch matrix for data transfers
US4716523A (en) 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
US5537640A (en) * 1988-12-30 1996-07-16 Intel Corporation Asynchronous modular bus architecture with cache consistency
NZ232223A (en) * 1989-01-27 1993-03-26 British Telecomm Alternate burst communication for cordless phones re-established after channel failure
US4959833A (en) * 1989-03-08 1990-09-25 Ics Electronics Corporation Data transmission method and bus extender
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
CA2093355A1 (en) * 1990-10-03 1992-04-04 David C. Douglas Parallel computer system
US5222062A (en) 1991-10-03 1993-06-22 Compaq Computer Corporation Expandable communication system with automatic data concentrator detection
US5434993A (en) * 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
JPH07168763A (ja) * 1992-11-13 1995-07-04 Cyrix Corp ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ
US5325360A (en) * 1992-12-09 1994-06-28 National Semiconductor Corporation Controllable PCM state machine user interface
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5432775A (en) 1993-12-03 1995-07-11 Advanced Micro Devices, Inc. Auto negotiation system for a communications network
US5551005A (en) * 1994-02-25 1996-08-27 Intel Corporation Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5383143A (en) 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
EP0706138A1 (de) * 1994-10-03 1996-04-10 International Business Machines Corporation Abwechselnde Datengültigkeitssteuerungssignale für Hochgeschwindigkeitsdatenübertragung
EP0707269A1 (de) * 1994-10-11 1996-04-17 International Business Machines Corporation Cachespeicherkohärenznetzwerk für Multiprozessor-Datenverarbeitungssystem
DE69628493T2 (de) * 1995-03-31 2004-05-19 Sun Microsystems, Inc., Santa Clara Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert
EP0735487B1 (de) * 1995-03-31 2001-10-31 Sun Microsystems, Inc. Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US5983326A (en) * 1996-07-01 1999-11-09 Sun Microsystems, Inc. Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode
CN1179043A (zh) * 1996-09-20 1998-04-15 摩托罗拉公司 Tdm/tdma系统中离散可变的时隙宽度
US5991819A (en) * 1996-12-03 1999-11-23 Intel Corporation Dual-ported memory controller which maintains cache coherency using a memory line status table
US6249520B1 (en) * 1997-10-24 2001-06-19 Compaq Computer Corporation High-performance non-blocking switch with multiple channel ordering constraints
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US5987056A (en) * 1997-11-13 1999-11-16 Lsi Logic Corporation PN sequence hopping method and system
US6163608A (en) * 1998-01-09 2000-12-19 Ericsson Inc. Methods and apparatus for providing comfort noise in communications systems
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
US6141733A (en) * 1998-02-17 2000-10-31 International Business Machines Corporation Cache coherency protocol with independent implementation of optimized cache operations
US6345339B1 (en) * 1998-02-17 2002-02-05 International Business Machines Corporation Pseudo precise I-cache inclusivity for vertical caches
US6631448B2 (en) * 1998-03-12 2003-10-07 Fujitsu Limited Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US7471075B2 (en) 1998-04-17 2008-12-30 Unique Technologies, Llc Multi-test Arc fault circuit interrupter tester
ES2194287T3 (es) * 1998-09-30 2003-11-16 Cit Alcatel Metodo y disposicion para transicion entre un estado de baja potencia y un estado de plena otencia en un sistema de comunicacion.
GB2342823B (en) * 1998-10-16 2000-11-29 Marconi Comm Ltd Communication system
US6526481B1 (en) * 1998-12-17 2003-02-25 Massachusetts Institute Of Technology Adaptive cache coherence protocols
US6393529B1 (en) * 1998-12-21 2002-05-21 Advanced Micro Devices, Inc. Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US6556634B1 (en) * 1999-02-10 2003-04-29 Ericsson, Inc. Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system
US6185250B1 (en) * 1999-03-10 2001-02-06 Lucent Technologies Inc. Training of level learning modems
AU5158800A (en) * 1999-05-28 2000-12-18 Basic Resources, Inc. Wireless transceiver network employing node-to-node data messaging
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
KR100566289B1 (ko) * 1999-09-03 2006-03-30 삼성전자주식회사 데이타 링크 맵을 이용한 브이5.2 계층 2의 비활성화 제어 방법 및 장치
US7010607B1 (en) 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6754185B1 (en) * 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6674720B1 (en) * 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6763034B1 (en) * 1999-10-01 2004-07-13 Stmicroelectronics, Ltd. Connection ports for interconnecting modules in an integrated circuit
US6320406B1 (en) 1999-10-04 2001-11-20 Texas Instruments Incorporated Methods and apparatus for a terminated fail-safe circuit
US6665832B1 (en) * 2000-03-31 2003-12-16 Qualcomm, Incorporated Slotted mode decoder state metric initialization
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US6865231B1 (en) * 2000-06-20 2005-03-08 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated crossed differential pair correction
US7124252B1 (en) * 2000-08-21 2006-10-17 Intel Corporation Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US6668335B1 (en) 2000-08-31 2003-12-23 Hewlett-Packard Company, L.P. System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
US6892319B2 (en) * 2000-09-08 2005-05-10 Hewlett-Packard Development Company, L.P. Method for verifying abstract memory models of shared memory multiprocessors
US7327754B2 (en) 2000-09-28 2008-02-05 Teridian Semiconductor, Corp. Apparatus and method for freezing the states of a receiver during silent line state operation of a network device
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
EP1211837A1 (de) * 2000-12-04 2002-06-05 Telefonaktiebolaget Lm Ericsson Ungleicher Fehlerschutz in ein Paketübertragungssystem
EP1217613A1 (de) * 2000-12-19 2002-06-26 Koninklijke Philips Electronics N.V. Wiederherstellung von schlechten oder fehlenden Rahmen in zellularer Telefonie
US6859864B2 (en) * 2000-12-29 2005-02-22 Intel Corporation Mechanism for initiating an implicit write-back in response to a read or snoop of a modified cache line
US20020161975A1 (en) * 2001-02-23 2002-10-31 Zilavy Daniel V. Cache to cache copying of clean data
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6987947B2 (en) 2001-10-30 2006-01-17 Unwired Technology Llc Multiple channel wireless communication system
US6941425B2 (en) * 2001-11-12 2005-09-06 Intel Corporation Method and apparatus for read launch optimizations in memory interconnect
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
US7227845B2 (en) * 2001-12-11 2007-06-05 Motorola, Inc. Method and apparatus for enabling a communication resource reset
US7117311B1 (en) * 2001-12-19 2006-10-03 Intel Corporation Hot plug cache coherent interface method and apparatus
US7030737B2 (en) 2002-03-01 2006-04-18 Hewlett-Packard Development Company, L.P. Apparatus, system, and method for indicating a level of network activity
US7200186B2 (en) 2002-03-14 2007-04-03 Intel Corporation Methods and apparatus for reducing power usage of a transmitter and receiver coupled via a differential serial data link
US7334047B1 (en) * 2002-03-18 2008-02-19 Cisco Technology, Inc. Method and system for selective link state advertisement blocking over a data network area
US7653790B2 (en) * 2002-05-13 2010-01-26 Glasco David B Methods and apparatus for responding to a request cluster
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
US6973545B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. System with a directory based coherency protocol and split ownership and access right coherence mechanism
US20040028074A1 (en) * 2002-07-26 2004-02-12 Gary Huff Physical layer device with line state encoding
US7093172B2 (en) * 2002-08-07 2006-08-15 Broadcom Corporation System and method for determining on-chip bit error rate (BER) in a communication system
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7720135B2 (en) * 2002-11-07 2010-05-18 Intel Corporation System, method and device for autonegotiation
US7505486B2 (en) * 2002-11-19 2009-03-17 Hewlett-Packard Development Company, L.P. Degradable network data path transmission scheme
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
US20040174570A1 (en) 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
US6892283B2 (en) * 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
US7525989B2 (en) * 2002-12-16 2009-04-28 Intel Corporation System, method and device for time slot status messaging among SONET nodes
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7535836B2 (en) * 2003-02-12 2009-05-19 Broadcom Corporation Method and system to provide word-level flow control using spare link bandwidth
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
US7464307B2 (en) * 2003-03-25 2008-12-09 Intel Corporation High performance serial bus testing methodology
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US20050027876A1 (en) * 2003-07-29 2005-02-03 Toshitomo Umei Data transmission method, data transmission system, and data transmission apparatus
CN1320464C (zh) * 2003-10-23 2007-06-06 英特尔公司 用于维持共享高速缓存一致性的方法和设备
US7146284B2 (en) * 2003-11-07 2006-12-05 Texas Instruments Incorporated Method of testing phase lock loop status during a Serializer/Deserializer internal loopback built-in self-test
CA2545817C (en) * 2003-11-12 2011-11-29 Qualcomm Incorporated High data rate interface with improved link control
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7440468B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Queue management of a global link control byte in an input/output subsystem
US8009563B2 (en) * 2003-12-19 2011-08-30 Broadcom Corporation Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
US7631118B2 (en) 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
JP4005974B2 (ja) * 2004-01-09 2007-11-14 株式会社東芝 通信装置、通信方法、および通信システム
US7856534B2 (en) * 2004-01-15 2010-12-21 Hewlett-Packard Development Company, L.P. Transaction references for requests in a multi-processor network
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
US8176259B2 (en) * 2004-01-20 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for resolving transactions in a cache coherency protocol
US7620696B2 (en) * 2004-01-20 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for conflict responses in a cache coherency protocol
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US7210000B2 (en) * 2004-04-27 2007-04-24 Intel Corporation Transmitting peer-to-peer transactions through a coherent interface
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US7716409B2 (en) * 2004-04-27 2010-05-11 Intel Corporation Globally unique transaction identifiers
CN1951045B (zh) * 2004-04-30 2011-04-20 夏普株式会社 无线通信系统
US7219220B2 (en) * 2004-05-21 2007-05-15 Intel Corporation Methods and apparatuses for resetting the physical layers of two agents interconnected through a link-based interconnection
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US7313712B2 (en) 2004-05-21 2007-12-25 Intel Corporation Link power saving state
US20060041696A1 (en) * 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
CN1700639A (zh) * 2004-05-21 2005-11-23 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US20060041715A1 (en) * 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect
US7467358B2 (en) * 2004-06-03 2008-12-16 Gwangju Institute Of Science And Technology Asynchronous switch based on butterfly fat-tree for network on chip application
US7295618B2 (en) * 2004-06-16 2007-11-13 International Business Machines Corporation Automatic adaptive equalization method and system for high-speed serial transmission link
US7436836B2 (en) * 2004-06-30 2008-10-14 Cisco Technology, Inc. Method and apparatus for detecting support for a protocol defining supplemental headers
US8161429B1 (en) * 2004-08-20 2012-04-17 Altera Corporation Methods and apparatus for initializing serial links
KR100579053B1 (ko) 2004-08-26 2006-05-12 삼성전자주식회사 스마트 카드와 메모리 카드간의 멀티 인터페이스 방법 및멀티 인터페이스 카드
US20060047862A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Automatic hardware data link initialization
US9727468B2 (en) * 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US7191255B2 (en) * 2004-10-27 2007-03-13 Intel Corporation Transaction layer link down handling for PCI express
CN100384118C (zh) * 2004-11-03 2008-04-23 上海贝尔阿尔卡特股份有限公司 处理通用成帧规程帧的方法和装置
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7761719B2 (en) * 2005-03-28 2010-07-20 Akros Silicon Inc. Ethernet module
EP1875681A1 (de) * 2005-04-13 2008-01-09 Koninklijke Philips Electronics N.V. Elektronische vorrichtung und verfahren zur durchflussregelung
US7613864B2 (en) * 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US7564904B2 (en) 2005-05-03 2009-07-21 Texas Instruments Incorporated Apparatus for and method of detection of powered devices over a network
US7539801B2 (en) * 2005-05-27 2009-05-26 Ati Technologies Ulc Computing device with flexibly configurable expansion slots, and method of operation
US7694060B2 (en) * 2005-06-17 2010-04-06 Intel Corporation Systems with variable link widths based on estimated activity levels
US7620694B2 (en) * 2005-09-27 2009-11-17 Intel Corporation Early issue of transaction ID
US7633877B2 (en) 2005-11-18 2009-12-15 Intel Corporation Method and apparatus for meeting compliance for debugging and testing a multi-speed, point-to-point link
US20070239922A1 (en) * 2005-12-09 2007-10-11 Horigan John W Technique for link reconfiguration
US7924708B2 (en) * 2005-12-13 2011-04-12 Intel Corporation Method and apparatus for flow control initialization
US7606981B2 (en) * 2005-12-19 2009-10-20 Intel Corporation System and method for reducing store latency
CN1996782B (zh) * 2005-12-26 2010-05-05 中兴通讯股份有限公司 一种空域自适应链路的天线选择指示方法
US7430628B2 (en) * 2006-01-10 2008-09-30 Kabushiki Kaisha Toshiba System and method for optimized allocation of shared processing resources
US7512741B1 (en) * 2006-01-11 2009-03-31 Intel Corporation Two-hop source snoop based messaging protocol
US7543115B1 (en) * 2006-01-11 2009-06-02 Intel Corporation Two-hop source snoop based cache coherence protocol
JP4572169B2 (ja) * 2006-01-26 2010-10-27 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
US9390015B2 (en) * 2006-03-16 2016-07-12 International Business Machines Corporation Method for performing cacheline polling utilizing a store and reserve instruction
US7783959B2 (en) * 2006-03-23 2010-08-24 Intel Corporation Apparatus and method for reduced power consumption communications over a physical interconnect
US7681093B2 (en) * 2006-03-31 2010-03-16 Intel Corporation Redundant acknowledgment in loopback entry
US7743129B2 (en) 2006-05-01 2010-06-22 International Business Machines Corporation Methods and arrangements to detect a failure in a communication network
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US7536515B2 (en) * 2006-06-30 2009-05-19 Intel Corporation Repeated conflict acknowledgements in a cache coherency protocol
US7721050B2 (en) * 2006-06-30 2010-05-18 Intel Corporation Re-snoop for conflict resolution in a cache coherency protocol
US7506108B2 (en) * 2006-06-30 2009-03-17 Intel Corporation Requester-generated forward for late conflicts in a cache coherency protocol
CN101501679A (zh) * 2006-08-08 2009-08-05 皇家飞利浦电子股份有限公司 用于同步通信的电子装置和方法
US7986718B2 (en) 2006-09-15 2011-07-26 Itron, Inc. Discovery phase in a frequency hopping network
US7600080B1 (en) * 2006-09-22 2009-10-06 Intel Corporation Avoiding deadlocks in a multiprocessor system
GB2443465A (en) * 2006-11-06 2008-05-07 Fujitsu Ltd Communication systems
US8019940B2 (en) * 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
KR101514630B1 (ko) * 2007-01-15 2015-04-23 코닌클리케 필립스 엔.브이. Ofdm 시스템을 위해 첨두 전력 대 평균 전력 비율(papr)이 낮은 2진수 프리엠블 시퀀스를 생성하는 방법
DE102007007136B3 (de) 2007-02-09 2008-08-28 Siemens Ag Radelektronik und Verfahren zum Betreiben einer Radelektronik
US8428175B2 (en) * 2007-03-09 2013-04-23 Qualcomm Incorporated Quadrature modulation rotating training sequence
US7978635B2 (en) 2007-03-21 2011-07-12 Qualcomm Incorporated H-ARQ acknowledgment detection validation by re-decoding
DE602007001576D1 (de) * 2007-03-22 2009-08-27 Research In Motion Ltd Vorrichtung und Verfahren zur verbesserten Maskierung von Rahmenverlusten
EP2573971A1 (de) * 2007-05-08 2013-03-27 Interdigital Technology Corporation Verfahren und Vorrichtung zur Bereitstellung von Huckepack-Feldanzeiger positiver Rückmeldungen/negativer Rückmeldungen und eines Abfrageanzeigers
US7827357B2 (en) * 2007-07-31 2010-11-02 Intel Corporation Providing an inclusive shared cache among multiple core-cache clusters
US7899111B2 (en) * 2007-08-07 2011-03-01 Intel Corporation Link interface technique including data indicator symbols
US20090063889A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
US20090125363A1 (en) * 2007-10-22 2009-05-14 Nokia Siemens Networks Oy Method, apparatus and computer program for employing a frame structure in wireless communication
EP2063581A1 (de) * 2007-11-20 2009-05-27 STMicroelectronics (Grenoble) SAS Übertragung eines Datenstroms zwischen zwei elektronischen Geräten mittels eines Netzwerk-on-chip
US8392663B2 (en) * 2007-12-12 2013-03-05 Mips Technologies, Inc. Coherent instruction cache utilizing cache-op execution resources
US8179901B2 (en) * 2008-02-11 2012-05-15 Vitesse Semiconductor Corporation System and method for squelching a recovered clock in an ethernet network
WO2009108205A1 (en) 2008-02-29 2009-09-03 Hewlett-Packard Development Company, L.P. Modular system and retractable assembly for electronic devices
DE102008012979A1 (de) * 2008-03-06 2009-09-10 Gip Ag Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken
US7492807B1 (en) 2008-04-07 2009-02-17 International Business Machines Corporation Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods
CN102016812B (zh) * 2008-04-28 2014-06-11 惠普开发有限公司 虚拟中断模式接口和用于虚拟化中断模式的方法
US8762652B2 (en) * 2008-04-30 2014-06-24 Freescale Semiconductor, Inc. Cache coherency protocol in a data processing system
CN101599811B (zh) * 2008-06-02 2011-04-06 华为技术有限公司 一种数据处理装置,通信设备以及数据处理方法
US7769048B2 (en) 2008-06-25 2010-08-03 Intel Corporation Link and lane level packetization scheme of encoding in serial links
US8201069B2 (en) * 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US8205045B2 (en) * 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
MX2011002590A (es) * 2008-09-08 2011-07-28 Samsung Electronics Co Ltd Adquisicion de subcanal en un receptor de television digital diseñado para recibir señales moviles/portatiles.
EP2338313B1 (de) * 2008-09-10 2018-12-12 NextNav, LLC Grossflächiges positionierungssystem
US8917209B2 (en) * 2009-09-10 2014-12-23 Nextnav, Llc Coding in a wide area positioning system (WAPS)
US8265071B2 (en) * 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
CN101430664B (zh) * 2008-09-12 2010-07-28 中国科学院计算技术研究所 一种多处理器系统及Cache一致性消息传输方法
EP2173066B1 (de) 2008-10-01 2012-05-16 STMicroelectronics Srl Verfahren zum Austauschen von Informationen in einem Network-on-Chip-Kommunikationsnetzwerk, entsprechendes Network-on-Chip-Kommunikationsnetzwerk und Computerprogrammprodukt
US8531943B2 (en) * 2008-10-29 2013-09-10 Adapteva Incorporated Mesh network
KR100988809B1 (ko) * 2008-11-06 2010-10-20 주식회사 하이닉스반도체 반도체 메모리 장치 및 출력인에이블 신호 생성 방법
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
CN101437033B (zh) * 2008-12-16 2012-07-11 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8300571B2 (en) * 2008-12-17 2012-10-30 Viasat, Inc. Start of frame correlation for physical layer header synchronization
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
US8026726B2 (en) * 2009-01-23 2011-09-27 Silicon Image, Inc. Fault testing for interconnections
KR101598094B1 (ko) * 2009-02-02 2016-02-26 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR20100092353A (ko) * 2009-02-12 2010-08-20 엘지전자 주식회사 트래픽 암호화 키 관리방법 및 장치
KR101133256B1 (ko) * 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
WO2010096969A1 (zh) * 2009-02-27 2010-09-02 华为技术有限公司 无源光网络中发送上行传送帧的方法及设备
US20100228922A1 (en) 2009-03-09 2010-09-09 Deepak Limaye Method and system to perform background evictions of cache memory lines
US8401400B2 (en) * 2009-03-10 2013-03-19 Tyco Electronics Subsea Communications Llc Detection of data in signals with data pattern dependent signal distortion
CN101854331A (zh) * 2009-04-02 2010-10-06 天际微芯(北京)科技有限公司 训练序列结构及训练方法
US9690625B2 (en) * 2009-06-16 2017-06-27 Oracle America, Inc. System and method for out-of-order resource allocation and deallocation in a threaded machine
US8335911B2 (en) * 2009-05-21 2012-12-18 Oracle America, Inc. Dynamic allocation of resources in a threaded, heterogeneous processor
US8199759B2 (en) 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
CN101561794B (zh) * 2009-06-05 2012-07-04 威盛电子股份有限公司 通用串行总线装置
US8239704B2 (en) * 2009-06-12 2012-08-07 Cray Inc. Global clock via embedded spanning tree
WO2010147264A1 (en) * 2009-06-16 2010-12-23 Lg Electronics Inc. Method of exchanging messages and transmitting and receiving devices
US8782347B2 (en) * 2009-06-26 2014-07-15 Intel Corporation Controllably exiting an unknown state of a cache coherency directory
US20100332877A1 (en) 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8831666B2 (en) * 2009-06-30 2014-09-09 Intel Corporation Link power savings with state retention
CN101695193A (zh) * 2009-09-27 2010-04-14 上海华为技术有限公司 一种下行数据发送和下行数据接收的方法和装置
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
US8327228B2 (en) * 2009-09-30 2012-12-04 Intel Corporation Home agent data and memory management
US8819305B2 (en) * 2009-11-16 2014-08-26 Intel Corporation Directly providing data messages to a protocol layer
US8621128B2 (en) * 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US9100809B2 (en) * 2009-12-21 2015-08-04 Julia Olincy Olincy Automatic response option mobile system for responding to incoming texts or calls or both
US8301813B2 (en) * 2009-12-24 2012-10-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US20120227045A1 (en) 2009-12-26 2012-09-06 Knauth Laura A Method, apparatus, and system for speculative execution event counter checkpointing and restoring
US8804960B2 (en) * 2010-02-22 2014-08-12 International Business Machines Corporation Implementing known scrambling relationship among multiple serial links
US8892820B2 (en) * 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data
US8473567B2 (en) * 2010-03-29 2013-06-25 Intel Corporation Generating a packet including multiple operation codes
US8514885B2 (en) * 2010-03-30 2013-08-20 International Business Machines Corporation Using variable length packets to embed extra network control information
US8539260B2 (en) * 2010-04-05 2013-09-17 Intel Corporation Method, apparatus, and system for enabling platform power states
CN101867401B (zh) * 2010-05-04 2013-11-20 西安交通大学 一种遮挡躲避的60GHz多天线系统及其信号处理方法
CN102238623B (zh) * 2010-05-06 2014-04-09 中兴通讯股份有限公司 加快无线链路控制窗口状态应答的方法及基站子系统
JP2011248814A (ja) * 2010-05-31 2011-12-08 Nec Corp PCIExpressリンクエラー検出及び自動復旧機能を備えたデバイス
US9448938B2 (en) * 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
CN101867452B (zh) 2010-06-10 2013-07-17 国网电力科学研究院 一种电力专用串行实时总线的通信方法
KR101323055B1 (ko) * 2010-06-17 2013-10-29 엘지디스플레이 주식회사 내부 디스플레이 포트 인터페이스 테스트 방법 및 장치
CN102315917B (zh) * 2010-07-06 2014-12-17 瑞昱半导体股份有限公司 一种用于信号传输的省电方法及装置
CN102377608B (zh) * 2010-08-12 2014-07-09 盛科网络(苏州)有限公司 物理层故障模拟系统及方法
US8656115B2 (en) * 2010-08-20 2014-02-18 Intel Corporation Extending a cache coherency snoop broadcast protocol with directory information
WO2012038546A1 (en) * 2010-09-23 2012-03-29 St-Ericsson Sa Multi-lane data transmission de-skew
US8751714B2 (en) 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
US9146610B2 (en) 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
US8805196B2 (en) * 2010-09-30 2014-08-12 Teradyne, Inc. Electro-optical communications link
JP5597104B2 (ja) * 2010-11-16 2014-10-01 キヤノン株式会社 データ転送装置及びその制御方法
CN102142987B (zh) * 2010-12-09 2014-01-08 浪潮(北京)电子信息产业有限公司 一种高速串行总线设备及其传输数据的方法
JP2012146041A (ja) * 2011-01-11 2012-08-02 Hitachi Ltd 計算機装置及び信号伝送方法
JP2012155650A (ja) * 2011-01-28 2012-08-16 Toshiba Corp ルータ及びメニーコアシステム
EP2482196B1 (de) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Bildverarbeitungsvorrichtung, Druckvorrichtung und Steuerverfahren in einer Bildverarbeitungsvorrichtung
US8924672B2 (en) * 2011-02-08 2014-12-30 Infineon Technologies Ag Device with processing unit and information storage
US8756378B2 (en) * 2011-02-17 2014-06-17 Oracle International Corporation Broadcast protocol for a network of caches
US8824489B1 (en) * 2011-04-26 2014-09-02 Marvell International Ltd. Physical layer (PHY) devices for use in automotive and industrial applications
US9189424B2 (en) 2011-05-31 2015-11-17 Hewlett-Packard Development Company, L.P. External cache operation based on clean castout messages
US8868955B2 (en) 2011-07-01 2014-10-21 Intel Corporation Enhanced interconnect link width modulation for power savings
US8788890B2 (en) * 2011-08-05 2014-07-22 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US8514889B2 (en) * 2011-08-26 2013-08-20 Sonics, Inc. Use of common data format to facilitate link width conversion in a router with flexible link widths
US9208110B2 (en) * 2011-11-29 2015-12-08 Intel Corporation Raw memory transaction support
WO2013085501A1 (en) 2011-12-07 2013-06-13 Intel Corporation Multiple transaction data flow control unit for high-speed interconnect
CN103188059A (zh) 2011-12-28 2013-07-03 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法
CN102594745B (zh) * 2011-12-29 2015-02-04 东南大学 单载波频域均衡系统中的同步方法及其实现电路
US8892269B2 (en) 2012-03-30 2014-11-18 Intel Corporation Power down and quick start of thermal sensor
CN102685128B (zh) * 2012-05-09 2015-09-30 东南大学 一种基于状态机的协议构造方法
US9122810B2 (en) 2012-05-18 2015-09-01 Dell Products, Lp System and method for providing input/output functionality to a processing node
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value
US9280504B2 (en) 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US8935578B2 (en) 2012-09-29 2015-01-13 Intel Corporation Method and apparatus for optimizing power and latency on a link
US8996757B2 (en) * 2012-09-29 2015-03-31 Intel Corporation Method and apparatus to generate platform correctable TX-RX
US9003091B2 (en) 2012-10-18 2015-04-07 Hewlett-Packard Development Company, L.P. Flow control for a Serial Peripheral Interface bus
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
DE112013003723B4 (de) 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) * 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
EP2962210A4 (de) 2013-02-28 2016-11-02 Intel Corp Einsatz eines zählungs- und/oder konfigurationsmechanismus eines verbindungsprotokolls für ein unterschiedliches verbindungsprotokoll
US9436244B2 (en) * 2013-03-15 2016-09-06 Intel Corporation Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications
KR101985157B1 (ko) * 2013-12-26 2019-05-31 인텔 코포레이션 멀티칩 패키지 링크
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US20060034295A1 (en) 2004-05-21 2006-02-16 Intel Corporation Dynamically modulating link width

Also Published As

Publication number Publication date
US20190391939A1 (en) 2019-12-26
WO2014065875A1 (en) 2014-05-01
KR101815180B1 (ko) 2018-01-04
KR20170005897A (ko) 2017-01-16
US20150081984A1 (en) 2015-03-19
US20170109315A1 (en) 2017-04-20
DE112013005104T5 (de) 2015-07-02
CN104335196B (zh) 2017-10-13
CN104756097A (zh) 2015-07-01
CN104969206B (zh) 2017-12-26
US10380046B2 (en) 2019-08-13
CN106815151B (zh) 2021-04-20
US20240012772A1 (en) 2024-01-11
US20210117350A1 (en) 2021-04-22
KR20160089541A (ko) 2016-07-27
CN107968756A (zh) 2018-04-27
RU2014145179A (ru) 2016-05-27
KR20170007865A (ko) 2017-01-20
DE112013004094B4 (de) 2018-03-29
KR20170007523A (ko) 2017-01-18
KR20160144510A (ko) 2016-12-16
KR20170081730A (ko) 2017-07-12
KR20150059721A (ko) 2015-06-02
US20180095927A1 (en) 2018-04-05
CN104737142B (zh) 2018-03-23
JP2017188909A (ja) 2017-10-12
KR101861312B1 (ko) 2018-05-28
CN111737167A (zh) 2020-10-02
KR101700261B1 (ko) 2017-01-26
CN104769570B (zh) 2018-05-15
KR101755005B1 (ko) 2017-07-06
CN104487958A (zh) 2015-04-01
KR20140137398A (ko) 2014-12-02
KR20150047551A (ko) 2015-05-04
JP2016506548A (ja) 2016-03-03
WO2014065873A8 (en) 2014-07-10
CN104969207A (zh) 2015-10-07
KR20170012581A (ko) 2017-02-02
CN106815151A (zh) 2017-06-09
DE112013007767B3 (de) 2023-04-20
KR101686360B1 (ko) 2016-12-13
CN107092565A (zh) 2017-08-25
KR20140141616A (ko) 2014-12-10
CN104380269B (zh) 2018-01-30
CN107102960A (zh) 2017-08-29
CN108132892B (zh) 2022-02-11
US20140112339A1 (en) 2014-04-24
KR101905055B1 (ko) 2018-10-08
KR101695340B1 (ko) 2017-01-11
DE112013002090T5 (de) 2015-01-15
US20170109286A1 (en) 2017-04-20
KR20170042379A (ko) 2017-04-18
WO2014065882A1 (en) 2014-05-01
DE112013004094T5 (de) 2015-07-23
KR101598746B1 (ko) 2016-02-29
KR101815173B1 (ko) 2018-01-30
CN107045479A (zh) 2017-08-15
CN108132892A (zh) 2018-06-08
KR101686359B1 (ko) 2016-12-13
WO2014065877A1 (en) 2014-05-01
DE112013002069T5 (de) 2015-01-08
US20150067207A1 (en) 2015-03-05
EP2909728A1 (de) 2015-08-26
CN104995614B (zh) 2018-04-06
WO2014065878A1 (en) 2014-05-01
KR101912074B1 (ko) 2018-10-25
CN108614783B (zh) 2022-11-18
WO2014065876A1 (en) 2014-05-01
DE112013005093T5 (de) 2015-10-22
WO2014065876A9 (en) 2015-02-26
CN106776364B (zh) 2020-07-17
KR20180018853A (ko) 2018-02-21
KR101831550B1 (ko) 2018-02-22
KR20150047552A (ko) 2015-05-04
CN108228495B (zh) 2021-05-25
US20180203811A1 (en) 2018-07-19
KR101689998B1 (ko) 2016-12-26
CN104303166B (zh) 2018-01-09
KR101696124B1 (ko) 2017-01-12
EP3410304B1 (de) 2021-09-22
WO2014065879A1 (en) 2014-05-01
US20170083476A1 (en) 2017-03-23
US20180143937A1 (en) 2018-05-24
CN104536933A (zh) 2015-04-22
CN108614783A (zh) 2018-10-02
KR20150063044A (ko) 2015-06-08
US20170097907A1 (en) 2017-04-06
DE112013001360T5 (de) 2014-11-27
US9753885B2 (en) 2017-09-05
KR101681509B1 (ko) 2016-12-01
KR101615908B1 (ko) 2016-04-27
KR101985120B1 (ko) 2019-05-31
DE112013003723B4 (de) 2018-09-13
US20140215437A1 (en) 2014-07-31
KR101642086B1 (ko) 2016-07-22
EP3410304A1 (de) 2018-12-05
US10909055B2 (en) 2021-02-02
CN106776364A (zh) 2017-05-31
US9892086B2 (en) 2018-02-13
US20150261711A1 (en) 2015-09-17
KR101772037B1 (ko) 2017-08-28
US20190347226A1 (en) 2019-11-14
CN104335196A (zh) 2015-02-04
CN108228495A (zh) 2018-06-29
KR101700545B1 (ko) 2017-01-26
KR101815178B1 (ko) 2018-01-04
US20140215112A1 (en) 2014-07-31
US10216661B2 (en) 2019-02-26
KR20160150653A (ko) 2016-12-30
WO2014065884A1 (en) 2014-05-01
WO2014065880A1 (en) 2014-05-01
JP6139689B2 (ja) 2017-05-31
CN104995614A (zh) 2015-10-21
EP2909728A4 (de) 2016-06-22
US9418035B2 (en) 2016-08-16
CN104391816B (zh) 2018-11-09
CN108055214A (zh) 2018-05-18
US9378171B2 (en) 2016-06-28
DE112013007751B3 (de) 2023-01-12
JP6423040B2 (ja) 2018-11-14
KR20150077398A (ko) 2015-07-07
KR20170081728A (ko) 2017-07-12
CN107092565B (zh) 2021-03-12
US11269793B2 (en) 2022-03-08
BR112015006432A2 (pt) 2017-07-04
CN107102960B (zh) 2021-07-09
DE112013005086T5 (de) 2015-09-03
KR20150052102A (ko) 2015-05-13
KR20160145197A (ko) 2016-12-19
DE112013002069B4 (de) 2022-12-01
CN104969206A (zh) 2015-10-07
RU2599971C2 (ru) 2016-10-20
KR20150047550A (ko) 2015-05-04
CN104391816A (zh) 2015-03-04
CN104737147A (zh) 2015-06-24
DE112013001360B4 (de) 2023-03-23
KR101861452B1 (ko) 2018-05-25
CN104737147B (zh) 2018-11-06
KR20160046928A (ko) 2016-04-29
CN104756097B (zh) 2018-05-15
CN104737142A (zh) 2015-06-24
CN106681938B (zh) 2020-08-18
KR101847943B1 (ko) 2018-04-11
US11741030B2 (en) 2023-08-29
CN104536933B (zh) 2018-02-13
US20220114122A1 (en) 2022-04-14
WO2014065873A1 (en) 2014-05-01
US9626321B2 (en) 2017-04-18
CN104303166A (zh) 2015-01-21
KR101828756B1 (ko) 2018-02-12
CN104487958B (zh) 2018-05-22
KR20150003363A (ko) 2015-01-08
KR101691756B1 (ko) 2016-12-30
DE112013002880T5 (de) 2015-03-05
DE112013004105T5 (de) 2015-04-30
DE112013005090T5 (de) 2015-07-02
CN108055214B (zh) 2021-04-13
US10248591B2 (en) 2019-04-02
US20140201463A1 (en) 2014-07-17
DE112013003723T5 (de) 2015-04-16
KR20150070107A (ko) 2015-06-24
US10204064B2 (en) 2019-02-12
KR101599852B1 (ko) 2016-03-07
WO2014065883A1 (en) 2014-05-01
KR20180049192A (ko) 2018-05-10
US20200356502A1 (en) 2020-11-12
WO2014065881A1 (en) 2014-05-01
RU2579140C1 (ru) 2016-03-27
CN104769570A (zh) 2015-07-08
US9916266B2 (en) 2018-03-13
CN107968756B (zh) 2021-10-01
CN104380269A (zh) 2015-02-25
CN107015924A (zh) 2017-08-04
CN107045479B (zh) 2020-09-01
CN106681938A (zh) 2017-05-17
CN107015924B (zh) 2020-10-30
KR20150077397A (ko) 2015-07-07
KR101754890B1 (ko) 2017-07-06
KR20150059775A (ko) 2015-06-02

Similar Documents

Publication Publication Date Title
DE112013007752B3 (de) Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013007732B4 (de) System und Vorrichtung zum Bestimmen und Melden eines Fehlers auf einer Bahn
US11080212B2 (en) High performance interconnect physical layer
DE112013007734B4 (de) Geräte, verfahren und systeme zum identifizieren eines protokolls, das eine physikalische verbindung nutzt
US10146733B2 (en) High performance interconnect physical layer
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE112017006687T5 (de) Hochgeschwindigkeitsverbindungen mit kanalerweiterung
DE112017006557T5 (de) Bimodale phy für geringe latenz in hochgeschwindigkeitsverbindungswegen
DE112016003233T5 (de) Redriver-verbindungsprüfung
DE102020116195A1 (de) Leistungsmanagement für neu-treiber-vorrichtungen
DE112017003301T5 (de) Interprozessor-Energiezustandswechsel
DE112017005002T5 (de) Verbindungsphysikalischer schichtschnittstellenadapter
DE102019129626A1 (de) Vorwärtsfehlerkorrekturmechanismus für datenübertragung über mehrspurige verbindungen
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112018002466T5 (de) Umgehung der entzerrung bei niedrigeren datenraten
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE102018005753A1 (de) Serdes link training
DE112017004963T5 (de) Spannunsgmodulierte steuer-lane
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE102020101958A1 (de) Dynamisches spurzugriffswechseln zwischen pcie-wurzelräumen
DE102019129618A1 (de) Befördern früher hinweisinformationen für zustandsänderungen physikalischer verbindungsstrecken
DE102020115989A1 (de) Dynamische Präsentation von Zwischenverbindungsprotokollfähigkeitsstrukturen
DE102022101490A1 (de) Technologien zur echtzeitaktualisierung von verschlüsselungsschlüsseln

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 112013005104

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final