DE112013004094T5 - Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht - Google Patents

Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht Download PDF

Info

Publication number
DE112013004094T5
DE112013004094T5 DE112013004094.8T DE112013004094T DE112013004094T5 DE 112013004094 T5 DE112013004094 T5 DE 112013004094T5 DE 112013004094 T DE112013004094 T DE 112013004094T DE 112013004094 T5 DE112013004094 T5 DE 112013004094T5
Authority
DE
Germany
Prior art keywords
sequence
supersequence
startup
state
layer logic
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.)
Granted
Application number
DE112013004094.8T
Other languages
English (en)
Other versions
DE112013004094B4 (de
Inventor
Venkatraman Iyer
Darren S. Jue
Sitaraman V. Iyer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013004094T5 publication Critical patent/DE112013004094T5/de
Application granted granted Critical
Publication of DE112013004094B4 publication Critical patent/DE112013004094B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • 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
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Ein Satz von Anlaufsequenzen wird erzeugt, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfassen soll, und der Anlaufsequenzkopf über den Satz von Anlaufsequenzen gleichstromausgeglichen sein soll. Der Satz von Anlaufsequenzen kann mit elektrisch geordneten Sätzen kombiniert werden, um Supersequenzen zur Verwendung bei solchen Aufgaben wie Verbindungsanpassung, Verbindungszustandsübergängen, Byte-Verriegelung, Entzerrung und anderen Aufgaben zu bilden.

Description

  • GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf das Gebiet der Computerentwicklung und insbesondere auf Softwareentwicklung, die die Koordination von gegenseitig abhängigen eingeschränkten Systemen beinhaltet.
  • HINTERGRUND
  • Fortschritte in der Halbleiterverarbeitung und Logikkonstruktion haben eine Erhöhung der Menge an Logik ermöglicht, die in integrierten Schaltungsvorrichtungen vorhanden sein kann. Als Begleiterscheinung haben sich Computersystemkonfigurationen aus einer einzelnen oder mehreren integrierten Schaltungen in einem System zu mehreren Kernen, mehreren Hardwareabläufen und mehreren logischen Prozessoren, die in individuellen integrierten Schaltungen vorhanden sind, sowie anderen Schnittstellen, die in solche Prozessoren integriert sind, entwickelt. Ein Prozessor oder eine integrierte Schaltung umfasst typischerweise einen einzelnen physikalischen Prozessorchip, wobei der Prozessorchip irgendeine Anzahl von Kernen, Hardwareabläufen, logischen Prozessoren, Schnittstellen, einen Speicher, Steuereinheitsknotenpunkte usw. umfassen kann.
  • Infolge der größeren Fähigkeit, mehr Verarbeitungsleistung in kleinere Bausteine einzufügen, haben kleinere Rechenvorrichtungen an Popularität zugenommen. Smartphones, Tablets, ultradünne Notebooks und eine andere Benutzerausrüstung haben exponentiell zugenommen. Diese kleineren Vorrichtungen beruhen jedoch auf Servern sowohl für die Datenspeicherung als auch für komplexe Verarbeitung, die den Formfaktor überschreitet. Folglich hat der Bedarf auf dem Hochleistungsrechenmarkt (d. h. Serverplatz) auch zugenommen. In modernen Servern ist beispielsweise typischerweise nicht nur ein einzelner Prozessor mit mehreren Kernen vorhanden, sondern auch mehrere physikalische Prozessoren (auch als mehrere Sockel bezeichnet), um die Rechenleistung zu erhöhen. Da jedoch die Verarbeitungsleistung zusammen mit der Anzahl von Vorrichtungen in einem Rechensystem zunimmt, wird die Kommunikation zwischen Sockeln und anderen Vorrichtungen kritischer.
  • Tatsächlich sind Zusammenschaltungen von herkömmlicheren Mehrpunktbussen, die hauptsächlich elektrische Kommunikationen gehandhabt haben, zu voll entfalteten Zusammenschaltungsarchitekturen gewachsen, die eine schnelle Kommunikation erleichtern. Als Bedarf, dass zukünftige Prozessoren mit noch höheren Raten verbrauchen, wird leider den Fähigkeiten von existierenden Zusammenschaltungsarchitekturen ein entsprechender Bedarf auferlegt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt ein vereinfachtes Blockdiagramm eines Systems mit einer seriellen Punkt-zu-Punkt-Zusammenschaltung, um E/A-Vorrichtungen in einem Computersystem zu verbinden, gemäß einer Ausführungsform dar;
  • 2 stellt ein vereinfachtes Blockdiagramm eines Schichtenprotokollstapels gemäß einer Ausführungsform dar;
  • 3 stellt eine Ausführungsform eines Transaktionsdeskriptors dar.
  • 4 stellt eine Ausführungsform einer seriellen Punkt-zu-Punkt-Verbindung dar.
  • 5 stellt Ausführungsformen von potentiellen Hochleistungs-Zusammenschaltungs-Systemkonfigurationen (HPI-Systemkonfigurationen) dar.
  • 6 stellt eine Ausführungsform eines Schichtenprotokollstapels dar, der HPI zugeordnet ist.
  • 7 stellt eine Darstellung einer Beispielzustandsmaschine dar.
  • 8 stellt Beispielsteuersupersequenzen dar.
  • 9 stellt ein Ablaufdiagramm dar, das einen Beispieleintritt in einen Teilbreitenübertragungszustand darstellt.
  • 10 stellt eine Beispielanlaufsequenz dar.
  • 11 stellt eine Ausführungsform eines Blockdiagramms für ein Rechensystem mit einem Mehrkern-Prozessor dar.
  • 12 stellt eine weitere Ausführungsform eines Blockdiagramms für ein Rechensystem mit einem Mehrkern-Prozessor dar.
  • 13 stellt eine Ausführungsform eines Blockdiagramms für einen Prozessor dar.
  • 14 stellt eine weitere Ausführungsform eines Blockdiagramms für ein Rechensystem mit einem Prozessor dar.
  • 15 stellt eine Ausführungsform eines Blocks für ein Rechensystem mit mehreren Prozessorsockeln dar.
  • 16 stellt eine weitere Ausführungsform eines Blockdiagramms für ein Rechensystem dar.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, wie z. B. Beispiele von spezifischen Typen von Prozessoren und Systemkonfigurationen, spezifischen Hardwarestrukturen, spezifischen Architektur- und Mikroarchitekturdetails, spezifischen Registerkonfigurationen, spezifischen Befehlstypen, spezifischen Systemkomponenten, spezifischen Prozessorpipelinestufen, spezifischen Zusammenschaltungsschichten, spezifischen Paket/Transaktions-Konfigurationen, spezifischen Transaktionsnamen, spezifischen Protokollaustauschvorgängen, spezifischen Verbindungsbreiten, spezifischen Implementierungen und einer Operation usw., um für ein gründliches Verständnis der vorliegenden Erfindung zu sorgen. Für einen Fachmann auf dem Gebiet kann jedoch ersichtlich sein, dass diese spezifischen Details nicht notwendigerweise verwendet werden müssen, um den Gegenstand der vorliegenden Offenbarung auszuführen. In anderen Fällen wurde eine gut detaillierte Beschreibung von bekannten Komponenten oder Verfahren vermieden, wie z. B. spezifischen und alternativen Prozessorarchitekturen, spezifischen Logikschaltungen/eines spezifischen Codes für beschriebene Algorithmen, eines spezifischen Firmwarecodes, einer Zusammenschaltungsoperation niedriger Ebene, spezifischen Logikkonfigurationen, spezifischen Herstellungstechniken und Materialien, spezifischen Kompiliererimplementierungen, eines spezifischen Ausdrucks von Algorithmen im Code, spezifischen Ausschalt- und Torsteuertechniken/Logik und anderen spezifischen Betriebsdetails eines Computersystems, um es zu vermeiden, die vorliegende Offenbarung unnötig unklar zu machen.
  • Obwohl die folgenden Ausführungsformen mit Bezug auf eine Energieeinsparung, Energieeffizienz, Verarbeitungseffizienz und so weiter in spezifischen integrierten Schaltungen wie z. B. in Rechenplattformen oder Mikroprozessoren beschrieben werden können, sind andere Ausführungsformen auf andere Typen von integrierten Schaltungen und Logikvorrichtungen anwendbar. Ähnliche Techniken und Lehren der hier beschriebenen Ausführungsformen können auf andere Typen von Schaltungen oder Halbleitervorrichtungen angewendet werden, die auch von solchen Merkmalen profitieren können. Die offenbarten Ausführungsformen sind beispielsweise nicht auf ein Servercomputersystem, Desktop-Computersysteme, Laptops, UltrabooksTM begrenzt, sondern können auch in anderen Vorrichtungen wie z. B. in der Hand gehaltenen Vorrichtungen, Smartphones, Tablets, anderen dünnen Notebooks, Vorrichtungen mit Systemen auf einem Chip (SOC) und eingebetteten Anwendungen verwendet werden. Einige Beispiele von in der Hand gehaltenen Vorrichtungen umfassen Mobiltelefone, Internet-Protokoll-Vorrichtungen, Digitalkameras, persönliche digitale Assistenten (PDAs) und in der Hand gehaltene PCs. Hier können ähnliche Techniken für eine Hochleistungszusammenschaltung angewendet werden, um in einer leistungsarmen Zusammenschaltung die Leistung zu erhöhen (oder sogar Leistung zu sparen). Eingebettete Anwendungen umfassen typischerweise einen Mikrocontroller, einen Digitalsignalprozessor (DSP), ein System auf einem Chip, Netzcomputer (NetPC), Digitalempfänger, Netzknotenpunkte, Schalter eines weiträumigen Netzes (WAN) oder irgendein anderes System, das die nachstehend gelehrten Funktionen und Operationen durchführen kann. Überdies sind die hier beschriebenen Geräte, Verfahren und Systeme nicht auf physikalische Rechenvorrichtungen begrenzt, sondern können sich auch auf Softwareoptimierungen für Energieeinsparung und Energieeffizienz beziehen. Wie in der nachstehenden Beschreibung leicht ersichtlich werden kann, können die hier beschriebenen Ausführungsformen von Verfahren, Geräten und Systemen (ob in Bezug auf Hardware, Firmware, Software oder eine Kombination davon) als für eine Zukunft einer ”grünen Technologie” unerlässlich betrachtet werden, die mit Leistungserwägungen im Gleichgewicht ist.
  • Da Rechensysteme fortschreiten, werden die Komponenten darin komplexer. Die Zusammenschaltungsarchitektur zum Koppeln und zur Kommunikation zwischen den Komponenten hat auch in der Komplexität zugenommen, um sicherzustellen, dass der Bandbreitenbedarf für einen optimalen Komponentenbetrieb erfüllt wird. Ferner verlangen verschiedene Marktsegmente verschiedene Aspekte von Zusammenschaltungsarchitekturen zur Anpassung an den jeweiligen Markt. Server erfordern beispielsweise eine höhere Leistung, während das mobile Ökosystem manchmal die Gesamtleistung für Leistungseinsparungen opfern kann. Dennoch ist es ein einzigartiger Zweck der meisten Gebilde, die höchstmögliche Leistung mit maximaler Leistungseinsparung bereitzustellen. Ferner kann eine Vielfalt von verschiedenen Zusammenschaltungen potentiell vom hier beschriebenen Gegenstand profitieren.
  • Die Peripheriekomponenten-Zusammenschaltungs-(PCI)Express-(PCIe)Zusammenschaltungsgebildearchitektur und die QuickPath-Zusammenschaltungs-(QPI)Gebildearchitektur unter anderen Beispielen können gemäß einem oder mehreren hier beschriebenen Prinzipien unter anderen Beispielen potentiell verbessert werden. Ein Hauptziel von PCIe besteht beispielsweise darin, zu ermöglichen, dass Komponenten und Vorrichtungen von verschiedenen Verkäufern in einer offenen Architektur zusammenarbeiten, die sich über mehrere Marktsegmente erstreckt; Clients (Desktops und Mobilgerät) Server (Standard und Unternehmen) und eingebettete und Kommunikationsvorrichtungen. PCI-Express ist eine universelle Hochleistungs-E/A-Zusammenschaltung, die für eine breite Vielfalt von zukünftigen Rechen- und Kommunikationsplattformen definiert ist. Einige PCI-Attribute wie z. B. ihr Verwendungsmodell, Lade-Speicher-Architektur und Softwareschnittstellen wurden durch ihre Überarbeitungen aufrechterhalten, wohingegen vorherige parallele Busimplementierungen durch eine stark skalierbare, vollständig serielle Schnittstelle ersetzt wurden. Die jüngeren Versionen von PCI-Express nutzen Fortschritte in Punkt-zu-Punkt- Zusammenschaltungen, der Technologie auf Schalterbasis und des paketisierten Protokolls, um neue Leistungsebenen und Merkmale zu liefern. Leistungsmanagement, Dienstqualität (QoS), Unterstützung von Einbau/Austausch im laufenden Betrieb, Datenintegrität und Fehlerhandhabung befinden sich unter einigen der fortschrittlichen Merkmale, die von PCI-Express unterstützt werden. Obwohl die primäre Erörterung hier in Bezug auf eine neue Hochleistungs-Zusammenschaltungsarchitektur (HPI-Architektur) stattfindet, können Aspekte der hier beschriebenen Erfindung auf andere Zusammenschaltungsarchitekturen angewendet werden, wie z. B. eine mit PCIe kompatible Architektur, eine mit QPI kompatible Architektur, eine mit MIPI kompatible Architektur, eine Hochleistungsarchitektur oder eine andere bekannte Zusammenschaltungsarchitektur.
  • Mit Bezug auf 1 ist eine Ausführungsform eines Gebildes, das aus Punkt-zu-Punkt-Verbindungen besteht, die einen Satz von Komponenten zusammenschalten, dargestellt. Das System 100 umfasst einen Prozessor 105 und einen Systemspeicher 110, der mit einem Steuereinheitsknotenpunkt 115 gekoppelt ist. Der Prozessor 105 kann irgendein Verarbeitungselement wie z. B. einen Mikroprozessor, einen Hauptrechnerprozessor, einen eingebetteten Prozessor, einen Coprozessor oder einen anderen Prozessor umfassen. Der Prozessor 105 ist mit dem Steuereinheitsknotenpunkt 115 durch einen Vorderseitenbus (FSB) 106 gekoppelt. In einer Ausführungsform ist der FSB 106 eine serielle Punkt-zu-Punkt-Zusammenschaltung, wie nachstehend beschrieben. In einer anderen Ausführungsform umfasst die Verbindung 106 eine serielle, differentielle Zusammenschaltungsarchitektur, die mit einem unterschiedlichen Zusammenschaltungsstandard kompatibel ist.
  • Der Systemspeicher 110 umfasst irgendeine Speichervorrichtung wie z. B. einen Direktzugriffsspeicher (RAM), einen nichtflüchtigen (NV) Speicher oder einen anderen Speicher, auf den von Vorrichtungen im System 100 zugegriffen werden kann. Der Systemspeicher 110 ist mit dem Steuereinheitsknotenpunkt 115 durch eine Speicherschnittstelle 116 gekoppelt. Beispiele einer Speicherschnittstelle umfassen eine Speicherschnittstelle mit doppelter Datenrate (DDR), eine Doppelkanal-DDR-Speicherschnittstelle und eine Speicherschnittstelle eines dynamischen RAM (DRAM).
  • In einer Ausführungsform kann der Steuereinheitsknotenpunkt 115 einen Wurzelknotenpunkt, einen Wurzelkomplex oder eine Wurzelsteuereinheit wie z. B. in einer PCIe-Zusammenschaltungshierarchie umfassen. Beispiele des Steuereinheitsknotenpunkts 115 umfassen einen Chipsatz, einen Speichersteuereinheitsknotenpunkt (MCH), eine Northbridge, einen Zusammenschaltungssteuereinheitsknotenpunkt (ICH), eine Southbridge und eine Wurzelsteuereinheit/einen Wurzelknotenpunkt. Häufig bezieht sich der Begriff Chipsatz auf zwei physikalisch separate Steuereinheitsknotenpunkte, z. B. einen Speichersteuereinheitsknotenpunkt (MCH), der mit einem Zusammenschaltungssteuereinheitsknotenpunkt (ICH) gekoppelt ist. Es ist zu beachten, dass aktuelle Systeme häufig den MCH umfassen, der mit dem Prozessor 105 integriert ist, während die Steuereinheit 115 mit E/A-Vorrichtungen kommunizieren soll, in einer ähnlichen Weise, wie nachstehend beschrieben. In einigen Ausführungsformen wird eine Peer-to-Peer-Leitweglenkung durch den Wurzelkomplex 115 optional unterstützt.
  • Hier ist der Steuereinheitsknotenpunkt 115 mit dem Schalter/der Brücke 120 durch eine serielle Verbindung 119 gekoppelt. Eingabe/Ausgabe-Module 117 und 121, die auch als Schnittstellen/Ports 117 und 121 bezeichnet werden können, können einen Schichtenprotokollstapel umfassen/implementieren, um eine Kommunikation zwischen dem Steuereinheitsnetzknoten 115 und dem Schalter 120 zu schaffen. In einer Ausführungsform können mehrere Vorrichtungen mit dem Schalter 120 gekoppelt sein.
  • Der Schalter/die Brücke 120 leitet Pakete/Nachrichten von der Vorrichtung 125 stromaufwärts, d. h. eine Hierarchie aufwärts in Richtung eines Wurzelkomplexes, zum Steuereinheitsknotenpunkt 115 und stromabwärts, d. h. eine Hierarchie hinab weg von einer Wurzelsteuereinheit, vom Prozessor 105 oder Systemspeicher 110 weg zur Vorrichtung 125. Der Schalter 120 wird in einer Ausführungsform als logische Anordnung von mehreren virtuellen PCI-zu-PCI-Brückenvorrichtungen bezeichnet. Die Vorrichtung 125 umfasst eine beliebige interne oder externe Vorrichtung oder Komponente, die mit einem elektronischen System gekoppelt werden soll, wie z. B. eine E/A-Vorrichtung, eine Netzschnittstellensteuereinheit (NIC), eine Zusatzkarte, einen Audioprozessor, einen Netzprozessor, ein Festplattenlaufwerk, eine Speichervorrichtung, einen CD/DVD-ROM, einen Monitor, ein Drucker, eine Maus, eine Tastatur, einen Router, eine tragbare Speichervorrichtung, eine Firewire-Vorrichtung, eine Vorrichtung eines universellen seriellen Busses (USB), einen Scanner und andere Eingabe/Ausgabe-Vorrichtungen. Häufig wird in der PCIe-Fachsprache eine solche Vorrichtung als Endpunkt bezeichnet. Obwohl nicht spezifisch gezeigt, kann die Vorrichtung 125 eine Brücke (z. B. eine PCIe-zu-PCI/PCI-X-Brücke) umfassen, um veraltete oder andere Versionen von Vorrichtungen zu unterstützen oder Gebilde, die von solchen Vorrichtungen unterstützt werden, zusammenzuschalten.
  • Ein Graphikbeschleuniger 130 kann auch mit dem Steuereinheitsknotenpunkt 115 über eine serielle Verbindung 132 gekoppelt sein. In einer Ausführungsform ist der Graphikbeschleuniger 130 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Der Schalter 120 und folglich die E/A-Vorrichtung 125 ist dann mit dem ICH gekoppelt. E/A-Module 131 und 118 sollen auch einen Schichtenprotokollstapel implementieren, um zwischen dem Graphikbeschleuniger 130 und dem Steuereinheitsknotenpunkt 115 zu kommunizieren. Ähnlich zur obigen MCH-Erörterung kann eine Graphiksteuereinheit oder der Graphikbeschleuniger 130 selbst in den Prozessor 105 integriert sein.
  • Wenn man sich 2 zuwendet, ist eine Ausführungsform eines Schichtenprotokollstapels dargestellt. Der Schichtenprotokollstapel 200 kann irgendeine Form von Schichtenkommunikationsstapel umfassen, wie z. B. einen QPI-Stapel, einen PCIe-Stapel, einen Hochleistungs-Rechenzusammenschaltungsstapel (HPI-Stapel) der nächsten Generation oder einen anderen Schichtenstapel. In einer Ausführungsform kann der Protokollstapel 200 eine Transaktionsschicht 205, eine Sicherungsschicht 210 und eine Bitübertragungsschicht 220 umfassen. Eine Schnittstelle wie z. B. die Schnittstellen 117, 118, 121, 122, 126 und 131 in 1 können als Kommunikationsprotokollstapel 200 dargestellt werden. Die Darstellung als Kommunikationsprotokollstapel kann auch als Modul oder Schnittstelle, die einen Protokollstapel implementiert/umfasst, bezeichnet werden.
  • Pakete können verwendet werden, um Informationen zwischen Komponenten zu übermitteln. Pakete können in der Transaktionsschicht 205 und der Datensicherungsschicht 210 gebildet werden, um die Informationen von der sendenden Komponente zur empfangenden Komponente zu übertragen. Wenn die übertragenen Pakete durch die anderen Schichten fließen, werden sie mit zusätzlichen Informationen erweitert, die verwendet werden, um Pakete in diesen Schichten zu bearbeiten. An der empfangenden Seite findet der umgekehrte Prozess statt und Pakete werden von ihrer Darstellung der Bitübertragungsschicht 220 zur Darstellung der Datensicherungsschicht 210 transformiert und schließlich (für Transaktionsschichtpakete) in die Form, die von der Transaktionsschicht 205 der Empfangsvorrichtung verarbeitet werden kann.
  • In einer Ausführungsform kann die Transaktionsschicht 205 eine Schnittstelle zwischen dem Verarbeitungskern einer Vorrichtung und der Zusammenschaltungsarchitektur bereitstellen, wie z. B. eine Datensicherungsschicht 210 und eine Bitübertragungsschicht 220. In dieser Hinsicht kann eine Hauptverantwortung der Transaktionsschicht 205 die Zusammensetzung und Zerlegung von Paketen (d. h. Transaktionsschichtpaketen oder TLPs) umfassen. Die Translationsschicht 205 kann auch die Flussteuerung auf Punktebasis für TLPs managen. In einigen Implementierungen können geteilte Transaktionen verwendet werden, d. h. Transaktionen mit zeitlich getrennter Anforderung und Antwort, was ermöglicht, dass unter anderen Beispielen eine Verbindung anderen Verkehr trägt, während die Zielvorrichtung Daten für die Antwort sammelt.
  • Die Flusssteuerung auf Punktebasis kann verwendet werden, um virtuelle Kanäle und Netze unter Verwendung des Zusammenschaltungsgebildes zu verwirklichen. In einem Beispiel kann eine Vorrichtung eine anfängliche Menge an Punkten für jeden der Empfangspuffer in der Transaktionsschicht 205 ankündigen. Eine externe Vorrichtung am entgegengesetzten Ende der Verbindung wie z. B. der Steuereinheitsknotenpunkt 115 in 1 kann die Anzahl von Punkten, die von jedem TLP verbraucht werden, zählen. Eine Transaktion kann übertragen werden, wenn die Transaktion eine Punktgrenze nicht überschreitet. Beim Empfangen einer Antwort wird eine Punktmenge wiederhergestellt. Ein Beispiel eines Vorteils eines solchen Punktschemas besteht unter anderen potentiellen Vorteilen darin, dass die Latenz der Punktrückgabe die Leistung nicht beeinflusst, vorausgesetzt, dass die Punktgrenze nicht angetroffen wird.
  • In einer Ausführungsform können vier Transaktionsadressenräume einen Konfigurationsadressenraum, einen Speicheradressenraum, einen Eingabe/Ausgabe-Adressenraum und einen Nachrichtenadressenraum umfassen. Speicherraumtransaktionen umfassen eine oder mehrere von Leseanforderungen und Schreibanforderungen, um Daten zu/von einer auf den Speicher abgebildeten Stelle zu übertragen. In einer Ausführungsform können Speicherraumtransaktionen zwei verschiedene Adressenformate verwenden, z. B. ein kurzes Adressenformat wie z. B. eine 32-Bit-Adresse oder ein langes Adressenformat wie z. B. eine 64-Bit-Adresse. Konfigurationsraumtransaktionen können verwendet werden, um auf den Konfigurationsraum von verschiedenen Vorrichtungen zuzugreifen, die mit der Zusammenschaltung verbunden sind. Transaktionen zum Konfigurationsraum können Leseanforderungen und Schreibanforderungen umfassen. Nachrichtenraumtransaktionen (oder einfach Nachrichten) können auch definiert sein, um eine bandinterne Kommunikation zwischen Zusammenschaltungsagenten zu unterstützen. Daher kann in einer Beispielausführungsform die Transaktionsschicht 205 Paketkopf/Nutzinformationen 206 zusammensetzen.
  • Mit schnellem Bezug auf 3 wird eine Beispielausführungsform eines Transaktionsschicht-Paketdeskriptors dargestellt. In einer Ausführungsform kann der Transaktionsdeskriptor 300 ein Mechanismus zum Übertragen von Transaktionsinformationen sein. In dieser Hinsicht unterstützt der Transaktionsdeskriptor 300 die Identifikation von Transaktionen in einem System. Andere potentielle Verwendungen umfassen die Verfolgung von Modifikationen einer Vorgabetransaktionsordnung und Zuordnung der Transaktion zu Kanälen. Der Transaktionsdeskriptor 300 kann beispielsweise ein Feld 302 eines globalen Identifizierers, ein Attributfeld 304 und ein Kanalidentifiziererfeld 306 umfassen. Im dargestellten Beispiel ist das Feld 302 des globalen Identifizierers mit einem Feld 308 eines lokalen Transaktionsidentifizierers und einem Quellenidentifiziererfeld 310 dargestellt. In einer Ausführungsform ist der globale Transaktionsidentifizierer 302 für alle ausstehenden Anforderungen eindeutig.
  • Gemäß einer Implementierung ist das Feld 308 des lokalen Transaktionsidentifizierers ein Feld, das durch einen Anforderungsagenten erzeugt wird, und kann für alle ausstehenden Anforderungen eindeutig sein, die eine Vollendung für diesen Anforderungsagenten erfordern. In diesem Beispiel identifiziert der Quellenidentifizierer 310 ferner eindeutig den Anforderungsagenten innerhalb einer Zusammenschaltungshierarchie. Folglich schafft zusammen mit der Quellen-ID 310 das Feld des lokalen Transaktionsidentifizierers 308 eine globale Identifikation einer Transaktion innerhalb einer Hierarchiedomäne.
  • Das Attributfeld 304 legt Eigenschaften und Beziehungen der Transaktion fest. In dieser Hinsicht wird das Attributfeld 304 potentiell verwendet, um zusätzliche Informationen bereitzustellen, die die Modifikation der Vorgabehandhabung von Transaktionen ermöglichen. In einer Ausführungsform umfasst das Attributfeld 304 ein Prioritätsfeld 312, ein reserviertes Feld 314, ein Ordnungsfeld 316 und ein Keine-Spionage-Feld 318. Hier kann das Prioritätsunterfeld 312 durch einen Initiator modifiziert werden, um der Transaktion eine Priorität zuzuweisen. Das reservierte Attributfeld 314 wird für die Zukunft oder für die vom Verkäufer definierte Verwendung reserviert gelassen. Mögliche Verwendungsmodelle unter Verwendung von Prioritäts- und Sicherheitsattributen können unter Verwendung des reservierten Attributfelds implementiert werden.
  • In diesem Beispiel wird das Ordnungsattributfeld 316 verwendet, um optionale Informationen zu liefern, die den Typ von Ordnung übermitteln, der Vorgabeordnungsregeln modifizieren kann. Gemäß einer Beispielimplementierung bezeichnet ein Ordnungsattribut von ”0”, dass Vorgabeordnungsregeln anzuwenden sind, wobei ein Ordnungsattribut von ”1” eine gelockerte Ordnung bezeichnet, wobei Schreibvorgänge Schreibvorgänge in derselben Richtung überholen können und Lesevollendungen Schreibvorgänge in derselben Richtung überholen können. Das Spionageattributfeld 318 wird verwendet, um festzustellen, ob Transaktionen abgehört werden. Wie gezeigt, identifiziert das Kanal-ID-Feld 306 einen Kanal, dem eine Transaktion zugeordnet ist.
  • Mit Rückkehr zur Erörterung von 2 kann eine Sicherungsschicht 210, die auch als Datensicherungsschicht 210 bezeichnet wird, als Zwischenstufe zwischen der Transaktionsschicht 205 und der Bitübertragungsschicht 220 wirken. In einer Ausführungsform schafft eine Verantwortung der Datensicherungsschicht 210 einen zuverlässigen Mechanismus zum Austauschen von Transaktionsschichtpaketen (TLPs) zwischen zwei Komponenten auf einer Verbindung. Eine Seite der Datensicherungsschicht 210 nimmt TLPs an, die durch die Transaktionsschicht 205 zusammengesetzt werden, wendet einen Paketsequenzidentifizierer 211 an, d. h. eine Identifikationsnummer oder Paketnummer, berechnet und wendet einen Fehlerdetektionscode an, d. h. CRC 212, und übermittelt die modifizierten TLPs zur Bitübertragungsschicht 220 für die Übertragung über eine physikalische zu einer externen Vorrichtung.
  • In einem Beispiel umfasst die Bitübertragungsschicht 220 einen logischen Unterblock 221 und einen elektrischen Unterblock 222, um physikalisch ein Paket zu einer externen Vorrichtung zu übertragen. Hier ist der logische Unterblock 221 für die ”digitalen” Funktionen der Bitübertragungsschicht 221 verantwortlich. In dieser Hinsicht kann der logische Unterblock einen Sendeabschnitt, um abgehende Informationen für die Sendung durch den physikalischen Unterblock 222 vorzubereiten, und einen Empfängerabschnitt, um empfangene Informationen zu identifizieren und vorzubereiten, bevor sie zur Sicherungsschicht 210 übergeben werden, umfassen.
  • Der physikalische Block 222 umfasst einen Sender und einen Empfänger. Der Sender wird vom logischen Unterblock 221 mit Symbolen beliefert, die der Sender serialisiert und zu einer externen Vorrichtung weitersendet. Der Empfänger wird mit serialisierten Symbolen von einer externen Vorrichtung beliefert und transformiert die empfangenen Signale in einen Bitstrom. Der Bitstrom wird entserialisiert und zum logischen Unterblock 221 geliefert. In einer Beispielausführungsform wird ein 8b/10b-Übertragungscode verwendet, wobei Zehn-Bit-Symbole gesendet/empfangen werden. Hier werden spezielle Symbole verwendet, um ein Paket mit Rahmen 223 zu umrahmen. Außerdem liefert der Empfänger in einem Beispiel auch einen Symboltakt, der vom ankommenden seriellen Strom wiederhergestellt wird.
  • Wie vorstehend angegeben, ist, obwohl die Transaktionsschicht 205, die Sicherungsschicht 210 und die Bitübertragungsschicht 220 in Bezug auf eine spezifische Ausführungsform eines Protokollstapels (wie z. B. eines PCIe-Protokollstapels) erörtert sind, ein Schichtenprotokollstapel nicht so begrenzt. Tatsächlich kann irgendein Schichtenprotokoll enthalten sein/implementiert werden und hier erörterte Merkmale übernehmen. Als Beispiel kann ein Port/eine Schnittstelle, die als Schichtenprotokoll dargestellt ist, umfassen: (1) eine erste Schicht zum Zusammensetzen von Paketen, d. h. eine Transaktionsschicht; eine zweite Schicht zum Sequenzieren von Paketen, d. h. eine Sicherungsschicht; und eine dritte Schicht zum Übertragen der Pakete, d. h. eine Bitübertragungsschicht. Als spezifisches Beispiel wird ein Hochleistungs-Zusammenschaltungs-Schichtenprotokoll, wie hier beschrieben, verwendet.
  • Mit Bezug als nächstes auf 4 wird eine Beispielausführungsform eines seriellen Punkt-zu-Punkt-Gebildes erläutert. Eine serielle Punkt-zu-Punkt-Verbindung kann irgendeinen Übertragungspfad zum Übertragen von seriellen Daten umfassen. In der gezeigten Ausführungsform kann eine Verbindung zwei differentiell angesteuerte Signalpaare mit niedriger Spannung umfassen: ein Sendepaar 406/411 und ein Empfangspaar 412/407. Folglich umfasst die Vorrichtung 405 eine Sendelogik 406, um Daten zur Vorrichtung 410 zu senden, und eine Empfangslogik 407, um Daten von der Vorrichtung 410 zu empfangen. Mit anderen Worten, zwei Sendepfade, d. h. Pfade 416 und 417, und zwei Empfangspfade, d. h. Pfade 418 und 419, sind in einigen Implementierungen einer Verbindung enthalten.
  • Ein Übertragungspfad bezieht sich auf irgendeinen Pfad zum Übertragen von Daten, wie z. B. eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, eine Infrarotkommunikationsverbindung oder einen anderen Kommunikationspfad. Eine Anbindung zwischen zwei Vorrichtungen wie z. B. der Vorrichtung 405 und der Vorrichtung 410 wird als Verbindung wie z. B. Verbindung 415 bezeichnet. Eine Verbindung kann eine Bahn unterstützen – wobei jede Bahn einen Satz von differentiellen Signalpaaren darstellt (ein Paar für das Senden, ein Paar für den Empfang). Um die Bandbreite zu skalieren, kann eine Verbindung mehrere Bahnen vereinigen, die mit xN bezeichnet sind, wobei N irgendeine unterstützte Verbindungsbreite wie z. B. 1, 2, 4, 8, 12, 16, 32, 64 oder breiter ist.
  • Ein differentielles Paar kann sich auf zwei Übertragungspfade beziehen, wie z. B. Leitungen 416 und 417, um differentielle Signale zu übertragen. Als Beispiel, wenn die Leitung 416 von einem niedrigen Spannungspegel auf einen hohen Spannungspegel umschaltet, d. h. eine ansteigende Flanke, steuert die Leitung 417 von einem hohen Logikpegel auf einen niedrigen Logikpegel, d. h. eine fallende Flanke. Differentielle Signale demonstrieren potentiell bessere elektrische Eigenschaften wie z. B. eine bessere Signalintegrität, d. h. Kreuzkopplung, Spannungsüberschwingen/-unterschwingen, Rufzeichen unter anderen Beispielvorteilen. Dies ermöglicht ein besseres Zeitsteuerfenster, was schnellere Übertragungsfrequenzen ermöglicht.
  • In einer Ausführungsform wird eine neue Hochleistungs-Zusammenschaltung (HPI) geschaffen. HPI kann eine Cache-kohärente Zusammenschaltung auf Verbindungsbasis der nächsten Generation umfassen. Als ein Beispiel kann HPI in Hochleistungs-Rechenplattformen wie z. B. Arbeitsplatzrechnern oder Servern, einschließlich in Systemen, in denen PCIe oder ein anderes Zusammenschaltungsprotokoll typischerweise verwendet wird, um Prozessoren, Beschleuniger E/A-Vorrichtungen und dergleichen zu verbinden, verwendet werden. HPI ist jedoch nicht so begrenzt. Stattdessen kann HPI in irgendeinem der hier beschriebenen Systeme oder Plattformen verwendet werden. Ferner können die entwickelten individuellen Ideen auf andere Zusammenschaltungen und Plattformen wie z. B. PCIe, MIPI, QPI usw. angewendet werden.
  • Um mehrere Vorrichtungen zu unterstützen, kann HPI in einer Beispielimplementierung eine Befehlssatzarchitektur-Agnostik (ISA-Agnostik) umfassen (d. h. HPI kann in mehreren verschiedenen Vorrichtungen implementiert werden). In einem anderen Szenario kann HPI auch verwendet werden, um Hochleistungs-E/A-Vorrichtungen zu verbinden, nicht nur Prozessoren oder Beschleuniger. Eine Hochleistungs-PCIe-Vorrichtung kann beispielsweise mit HPI durch eine geeignete Umsetzungsbrücke (d. h. HPI zu PCIe) gekoppelt werden. Überdies können die HPI-Verbindungen von vielen Vorrichtungen auf HPI-Basis wie z. B. Prozessoren in verschiedenen Weisen verwendet werden (z. B. Sterne, Ringe, Netze usw.). 5 stellt Beispielimplementierungen von mehreren potentiellen Konfigurationen mit mehreren Sockeln dar. Eine Konfiguration 505 mit zwei Sockeln, wie dargestellt, kann zwei HPI-Verbindungen umfassen; in anderen Implementierungen kann jedoch eine HPI-Verbindung verwendet werden. Für größere Topologien kann irgendeine Konfiguration verwendet werden, solange ein Identifizierer (ID) zuweisbar ist und unter anderen zusätzlichen oder Ersatzmerkmalen eine gewisse Form von virtuellem Pfad besteht. Wie gezeigt, weist in einem Beispiel eine Konfiguration 510 mit vier Sockeln eine HPI-Verbindung von jedem Prozessor zu einem anderen auf. Aber in der Implementierung mit acht Sockeln, die in der Konfiguration 515 gezeigt ist, ist nicht jeder Sockel direkt mit jedem anderen über eine HPI-Verbindung verbunden. Wenn jedoch ein virtueller Pfad oder Kanal zwischen den Prozessoren existiert, wird die Konfiguration unterstützt. Ein Bereich von unterstützten Prozessoren umfasst 2–32 in einer nativen Domäne. Hohe Zahlen von Prozessoren können durch die Verwendung von mehreren Domänen oder anderen Zusammenschaltungen zwischen Knotensteuereinheiten unter anderen Beispielen erreicht werden.
  • Die HPI-Architektur umfasst eine Definition einer Schichtenprotokollarchitektur, einschließlich in einigen Beispielen Protokollschichten (kohärent, nicht kohärent und wahlweise andere Protokolle auf Speicherbasis), einer Leitweglenkungsschicht, einer Sicherungsschicht und einer Bitübertragungsschicht. Ferner kann HPI weiter Verbesserungen in Bezug auf Leistungsmanager (wie z. B. Leistungssteuereinheiten (PCUs)) Konstruktion für Test und Fehlersuche (DFT), Fehlerhandhabung, Register, Sicherheit unter anderen Beispielen umfassen. 5 stellt eine Ausführungsform eines Beispiel-HPI-Schichtenprotokollstapels dar. In einigen Implementierungen können zumindest einige der in 5 dargestellten Schichten optional sein. Jede Schicht behandelt ihre eigene Ebene von Granularität oder Informationsmenge (die Protokollschicht 605a, b mit Paketen 630, die Sicherungsschicht 610a, b mit Flits 635 und die Bitübertragungsschicht 605a, b mit Phits 640). Es ist zu beachten, dass ein Paket in einigen Ausführungsformen teilweise Flits, ein einzelnes Flit oder mehrere Flits auf der Basis der Implementierung umfassen kann.
  • Als erstes Beispiel umfasst eine Breite eines Phits 640 eine 1-zu-1-Abbildung der Verbindungsbreite von Bits (z. B. umfasst eine 20 Bit-Verbindungsbreite ein Phit von 20 Bits usw.). Flits können eine größere Größe aufweisen, wie z. B. 184, 192 oder 200 Bits. Es ist zu beachten, dass, wenn das Phit 640 20 Bits breit ist und die Größe des Flits 635 184 Bits ist, dann es eine Bruchzahl von Phits 640 erfordert, um ein Flit 635 zu übertragen (z. B. 9,2 Phits bei 20 Bits zum Übertragen eines Flits 635 mit 184 Bits oder 9,6 bei 20 Bits, um ein Flit mit 192 Bits zu übertragen, unter anderen Beispielen). Es ist zu beachten, dass Breiten der grundlegenden Verbindung auf der Bitübertragungsschicht variieren können. Die Anzahl von Bahnen pro Richtung kann beispielsweise 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 usw. umfassen. In einer Ausführungsform ist die Sicherungsschicht 610a, b in der Lage, mehrere Teile von verschiedenen Transaktionen in einem einzelnen Flit einzubetten und ein oder mehrere Köpfe (z. B. 1, 2, 3, 4) können in das Flit eingebettet sein. In einem Beispiel teilt HPI die Köpfe in entsprechende Schlitze auf, um mehrere Nachrichten im Flit zu ermöglichen, die für verschiedene Knoten bestimmt sind.
  • Die Bitübertragungsschicht 605a, b kann in einer Ausführungsform für die schnelle Übertragung von Informationen auf dem physikalischen Medium (elektrisch oder optisch usw.) verantwortlich sein. Die physikalische Verbindung kann Punkt-zu-Punkt zwischen zwei Sicherungsschichtentitäten wie z. B. Schicht 605a und 605b sein. Die Sicherungsschicht 610a, b kann die Bitübertragungsschicht 605a, b von den oberen Schichten abstrahieren und schafft die Fähigkeit, Daten (sowie Anforderungen) zuverlässig zu übertragen und die Flusssteuerung zwischen zwei direkt verbundenen Entitäten zu managen. Die Sicherungsschicht kann auch für die Virtualisierung des physikalischen Kanals in mehrere virtuelle Kanäle und Nachrichtenklassen verantwortlich sein. Die Protokollschicht 620a, b verlässt sich auf die Sicherungsschicht 610a, b, um Protokollnachrichten in die geeigneten Nachrichtenklassen und virtuellen Kanäle abzubilden, bevor sie zur Bitübertragungsschicht 605a, b zur Übertragung über die physikalischen Verbindungen übergeben werden. Die Sicherungsschicht 610a, b kann mehrere Nachrichten unterstützen, wie z. B. Anforderung, Spionage, Antwort, Zurückschreiben, nicht kohärente Daten unter anderen Beispielen.
  • Die Bitübertragungsschicht 605a, b (oder PHY) von HPI kann über der elektrischen Schicht (d. h. elektrischen Leitern, die zwei Komponenten verbinden) und unter der Sicherungsschicht 610a, b implementiert werden, wie in 6 dargestellt. Die Bitübertragungsschicht und die entsprechende Logik kann sich an jedem Agenten befinden und verbindet die Sicherungsschichten an zwei Agenten (A und B), die voneinander getrennt sind (z. B. an Vorrichtungen auf beiden Seiten einer Verbindung). Die lokalen und entfernten elektrischen Schichten sind durch physikalische Medien (z. B. Drähte, Leiter, optisch usw.) verbunden. Die Bitübertragungsschicht 605a, b weist in einer Ausführungsform zwei Hauptphasen, Initialisierung und Betrieb, auf. Während der Initialisierung ist die Verknüpfung für die Sicherungsschicht opak und die Signalgebung kann eine Kombination von zeitlich gesteuerten Zuständen und Quittungsaustauschereignissen beinhalten. Während des Betriebs ist die Verknüpfung für die Sicherungsschicht transparent und die Signalisierung geschieht mit einer Geschwindigkeit, wobei alle Bahnen zusammen als einzige Verbindung arbeiten. 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 Verbindung bezeichnet und abstrahiert einige physikalische Aspekte, einschließlich Medien, Breite und Geschwindigkeit von den Sicherungsschichten, während Flits und Steuerung/Status der aktuellen Konfiguration (z. B. Breite) mit der Sicherungsschicht ausgetauscht werden. Die Initialisierungsphase umfasst nebensächliche Phasen, z. B. Abfrage, Konfiguration. Die Betriebsphase umfasst auch nebensächliche Phasen (z. B. Verbindungsleistungsmanagementzustände).
  • In einer Ausführungsform kann die Sicherungsschicht 610a, b implementiert werden, um eine zuverlässige Datenübertragung zwischen zwei Protokoll- oder Leitweglenkungsentitäten zu schaffen. Die Sicherungsschicht kann die Bitübertragungsschicht 605a, b von der Protokollschicht 620a, b abstrahieren und kann für die Flussteuerung zwischen zwei Protokollagenten (A, B) verantwortlich sein und virtuelle Kanaldienste für die Protokollschicht (Nachrichtenklassen) und Leitweglenkungsschicht (virtuelle Netze) bereitstellen. Die Schnittstelle zwischen der Protokollschicht 620a, b und der Sicherungsschicht 610a, b kann typischerweise auf der Paketebene liegen. In einer Ausführungsform wird die kleinste Übertragungseinheit auf der Sicherungsschicht als Flit bezeichnet, das eine festgelegte Anzahl von Bits ist, wie z. B. 192 Bits, oder irgendeine andere Bezeichnung. Die Sicherungsschicht 610a, b beruht auf der Bitübertragungsschicht 605a, b, um die Übertragungseinheit (Phit) der Bitübertragungsschicht 605a, b in die Übertragungseinheit (Flit) der Sicherungsschicht 610a, b einzurahmen. Außerdem kann die Sicherungsschicht 610a, b logisch in zwei Teile unterteilt werden, einen Sender und einen Empfänger. Ein Sender/Empfänger-Paar an einer Entität kann mit einem Empfänger/Sender-Paar an einer anderen Entität verbunden sein. Die Flusssteuerung wird häufig sowohl auf einer Flit- als auch Paketbasis durchgeführt. Fehlerdetektion und Fehlerkorrektur werden auch potentiell auf einer Flitebenenbasis durchgeführt.
  • In einer Ausführungsform kann die Leitweglenkungsschicht 615a, b ein flexibles und verteiltes Verfahren bereitstellen, um HPI-Transaktionen von einer Quelle zu einem Ziel zu leiten. Das Schema ist flexibel, da Leitweglenkungsalgorithmen für mehrere Topologien durch programmierbare Leitweglenkungstabellen an jedem Router festgelegt werden können (die Programmierung in einer Ausführungsform wird durch Firmware, Software oder eine Kombination davon durchgeführt). Die Leitweglenkungsfunktionalität kann verteilt sein; die Leitweglenkung kann durch eine Reihe von Leitweglenkungsschritten durchgeführt werden, wobei jeder Leitweglenkungsschritt durch einen Nachschlag einer Tabelle entweder an den Quellen-, Zwischen- oder Zielroutern definiert ist. Das Nachschlagen an einer Quelle kann verwendet werden, um ein HPI-Paket in das HPI-Gebilde einzuleiten. Das Nachschlagen an einem Zwischenrouter kann verwendet werden, um ein HPI-Paket von einem Eingangsport zu einem Ausgangsport zu leiten. Das Nachschlagen an einem Zielport kann verwendet werden, um auf den Ziel-HPI-Protokollagenten abzuzielen. Es ist zu beachten, dass die Leitweglenkungsschicht in einigen Implementierungen dünn sein kann, da die Leitweglenkungstabellen und daher die Leitweglenkungsalgorithmen nicht speziell durch die Spezifikation definiert sind. Dies ermöglicht Flexibilität und dass eine Vielfalt von Verwendungsmodellen, einschließlich flexibler Plattformarchitekturtopologien, durch die Systemimplementierung definiert wird. Die Leitweglenkungsschicht 615a, b beruht auf der Sicherungsschicht 610a, b zum Schaffen der Verwendung von bis zu drei (oder mehr) virtuellen Netzen (VNs) – in einem Beispiel zwei blockierungsfreie VNs, VN0 und VN1 mit mehreren Nachrichtenklassen, die in jedem virtuellen Netz definiert sind. Ein gemeinsam genutztes adaptives virtuelles Netz (VNA) kann in der Sicherungsschicht definiert sein, aber dieses adaptive Netz kann nicht direkt in Leitweglenkungskonzepten freigelegt sein, da jede Nachrichtenklasse und jedes virtuelles Netz zweckgebundene Ressourcen und einen garantierten Vorwärtsfortschritt unter anderen Merkmalen und Beispielen aufweisen kann.
  • In einigen Implementierungen kann HPI einen eingebetteten Takt verwenden. Ein Taktsignal kann in Daten eingebettet werden, die unter Verwendung der Zusammenschaltung übertragen werden. Mit dem in die Daten eingebetteten Taktsignal können unterschiedliche und zweckgebundene Taktbahnen weggelassen werden. Dies kann beispielsweise nützlich sein, da es ermöglichen kann, dass mehr Anschlussstifte einer Vorrichtung für die Datenübertragung zweckgebunden werden, insbesondere in Systemen, in denen Raum für Anschlussstifte heiß begehrt ist.
  • Eine Verbindung kann zwischen zwei Agenten auf beiden Seiten einer Zusammenschaltung hergestellt werden. Ein Agent, der Daten sendet, kann ein lokaler Agent sein, und der Agent, der die Daten empfängt, kann ein entfernter Agent sein. Zustandsmaschinen können von beiden Agenten verwendet werden, um verschiedene Aspekte der Verbindung zu managen. In einer Ausführungsform kann der Bitübertragungsschicht-Datenpfad Flits von der Sicherungsschicht zum elektrischen Vorderende übertragen. Der Steuerpfad umfasst in einer Implementierung eine Zustandsmaschine (auch als Verbindungstrainings-Zustandsmaschine oder dergleichen bezeichnet). Die Handlungen und Austritte aus Zuständen der Zustandsmaschine hängen von internen Signalen, Zeitgebern, externen Signalen oder anderen Informationen ab. Tatsächlich können einige der Zustände wie z. B. einige Initialisierungszustände Zeitgeber aufweisen, um einen Zeitüberschreitungswert zu liefern, um einen Zustand zu verlassen. Es ist zu beachten, dass sich eine Detektion in einigen Ausführungsformen auf das Detektieren eines Ereignisses auf beiden Zweigen einer Bahn bezieht; aber nicht notwendigerweise gleichzeitig. In anderen Ausführungsformen bezieht sich jedoch eine Detektion auf die Detektion eines Ereignisses durch einen Referenzagenten. Entprellen bezieht sich als ein Beispiel auf die aufrechterhaltene Aktivierung eines Signals. In einer Ausführungsform unterstützt HPI den Betrieb im Fall von nicht funktionierenden Bahnen. Hier können Bahnen in spezifischen Zuständen fallen gelassen werden.
  • Zustände, die in der Zustandsmaschine definiert werden, können Rücksetzzustände, Initialisierungszustände und Betriebszustände unter anderen Kategorien und Unterkategorien umfassen. In einem Beispiel können einige Initialisierungszustände einen sekundären Zeitgeber aufweisen, der verwendet wird, um den Zustand bei einer Zeitüberschreitung zu verlassen (im Wesentlichen ein Abbruch aufgrund eines Misslingens, im Zustand Fortschritt zu machen). Ein Abbruch kann die Aktualisierung von Registern wie z. B. eines Statusregisters umfassen. Einige Zustände können auch (einen) primären) Zeitgeber aufweisen, die verwendet werden, um die primären Funktionen im Zustand zeitlich zu steuern. Andere Zustände können definiert sein, so dass interne oder externe Signale (wie z. B. Quittungsaustauschprotokolle) den Übergang vom Zustand in einen anderen Zustand unter anderen Beispielen treiben.
  • Eine Zustandsmaschine kann auch die Fehlersuche durch einen einzigen Schritt, Einfrieren beim Initialisierungsabbruch und die Verwendung von Testern unterstützen. Hier können Zustandsaustritte verschoben/gehalten werden, bis die Fehlersuchsoftware bereit ist. In einem gewissen Fall kann der Austritt bis zur sekundären Zeitüberschreitung verschoben/gehalten werden. Handlungen und Austritte können in einer Ausführungsform auf dem Austausch von Anlaufsequenzen basieren. In einer Ausführungsform soll die Verbindungszustandsmaschine im lokalen Agententaktbereich laufen und der Übergang von einem Zustand zum nächsten soll mit einer Senderanlaufsequenzgrenze zusammenfallen. Statusregister können verwendet werden, um den aktuellen Zustand widerzuspiegeln.
  • 7 stellt eine Darstellung zumindest eines Abschnitts einer Zustandsmaschine dar, die von Agenten in einer Beispielimplementierung von HPI verwendet wird. Es sollte erkannt werden, dass die in der Zustandstabelle von 7 enthaltenen Zustände eine nicht erschöpfende Auflistung von möglichen Zuständen umfassen. Einige Übergänge sind beispielsweise weggelassen, um das Diagramm zu vereinfachen. Einige Zustände können auch kombiniert, aufgeteilt oder weggelassen werden, während andere hinzugefügt werden könnten. Solche Zustände können umfassen:
    Ereignisrücksetzzustand: in diesen wird bei einem warmen oder kalten Rücksetzereignis eingetreten. Stellt Vorgabewerte wieder her. Initialisieren von Zählern (z. B. Synchronzählern). Kann in einen anderen Zustand austreten, wie z. B. einen anderen Rücksetzzustand.
  • Zeitlich gesteuerter Rücksetzzustand: zeitlich gesteuerter Zustand für bandinterne Rücksetzung. Kann einen vordefinierten elektrischen geordneten Satz (EOS) steuern, so dass entfernte Empfänger in der Lage sind, den EOS zu detektieren und ebenso in das zeitlich gesteuerte Rücksetzen einzutreten. Der Empfänger weist Bahnen auf, die elektrische Einstellungen halten. Kann zu einem Rücksetzzustand zum Kalibrieren des Agenten austreten.
  • Kalibrierungsrücksetzzustand: Kalibrierung ohne Signalisierung auf der Bahn (z. B. Empfängerkalibrierungszustand) oder Ausschalten von Treibern. Kann eine vorbestimmte Menge an Zeit im Zustand auf der Basis eines Zeitgebers sein. Kann eine Betriebsgeschwindigkeit festlegen. Kann als Wartezustand wirken, wenn ein Port nicht freigegeben ist. Kann minimale Verweilzeit umfassen. Empfängerkonditionierung oder Empfängerstaffelung kann auf der Basis der Konstruktion stattfinden. Kann in einen Empfängerdetektionszustand nach einer Zeitüberschreitung und/oder der Vollendung der Kalibrierung austreten.
  • Empfängerdetektionszustand: Detektieren der Anwesenheit eines Empfängers auf (einer) Bahn(en). Kann nach Empfängerabschluss (z. B. Empfänger-Pulldown-Einfügung) suchen. Kann in den Kalibrierungsrücksetzzustand austreten, wenn ein festgelegter Wert gesetzt wird oder wenn ein anderer festgelegter Wert nicht gesetzt wird. Kann in den Senderkalibrierungszustand austreten, wenn ein Empfänger detektiert wird oder eine Zeitüberschreitung erreicht wird.
  • Senderkalibrierungszustand: für Senderkalibrierungen. Kann ein zeitlich gesteuerter Zustand sein, der für Senderkalibrierungen zugewiesen ist. Kann Signalisierung auf einer Bahn umfassen. Kann kontinuierlich einen EOS treiben, wie z. B. einen elektrisch inaktiven geordneten Austrittssatz (EIEOS). Kann in den Kompatibilitätszustand austreten, wenn eine Kalibrierung durchgeführt wird, oder beim Ablauf eines Zeitgebers. Kann in den Senderdetektionszustand austreten, wenn ein Zähler abgelaufen ist oder eine sekundäre Zeitüberschreitung aufgetreten ist.
  • Senderdetektionszustand: qualifiziert gültige Signalisierung. Kann ein Quittungsaustauschzustand sein, wobei ein Agent Handlungen vollendet und in einen nächsten Zustand austritt auf der Basis von entfernter Agentensignalgebung. Der Empfänger kann eine gültige Signalgebung vom Sender qualifizieren. Der Empfänger sucht in einer Ausführungsform nach einer wachen Detektion und sucht bei Entprellen auf einer oder mehreren Bahnen auf den anderen Bahnen danach. Der Sender treibt ein Detektionssignal. Kann in einen Abfragezustand in Reaktion darauf austreten, dass das Entprellen für alle Bahnen vollendet wird, und/oder eine Zeitüberschreitung oder wenn Entprellen auf allen Bahnen nicht vollständig ist und eine Zeitüberschreitung besteht. Hier können eine oder mehrere Überwachungsbahnen wach gehalten werden, um ein waches Signal zu entprellen. Und wenn entprellt, dann werden die anderen Bahnen potentiell entprellt. Dies kann Leistungseinsparungen in leistungsarmen Zuständen ermöglichen.
  • Abfragezustand: Der Empfänger passt einen Driftpuffer an, initialisiert ihn und kontrolliert Bits/Bytes (z. B. identifiziert er Symbolgrenzen). Bahnen können entzerrt werden. Ein entfernter Agent kann einen Austritt in einen nächsten Zustand (z. B. einen Verbindungsbreitenzustand) in Reaktion auf eine Bestätigungsnachricht verursachen. Die Abfrage kann zusätzlich eine Anlaufsequenzverriegelung durch Verriegeln auf einen EOS und einen Anlaufsequenzkopf umfassen. Die Verzerrung von Bahn zu Bahn am entfernten Sender kann bei einer ersten Länge für oberste Geschwindigkeit und einer zweiten Länge für langsame Geschwindigkeit gedeckelt werden. Die Entzerrung kann in einem langsamen Modus sowie einem Betriebsmodus durchgeführt werden. Der Empfänger kann ein spezifisches Maximum aufweisen, um eine Verzerrung von Bahn zu Bahn zu entzerren, wie z. B. 8, 16 oder 32 Intervalle von Verzerrung. Empfängerhandlungen können Latenzfixierung umfassen. Empfängerhandlungen können in einer Ausführungsform bei erfolgreicher Entzerrung einer gültigen Bahnabbildung vollendet werden. Ein erfolgreicher Quittungsaustausch kann in einem Beispiel erreicht werden, wenn eine Anzahl von aufeinander folgenden Anlaufsequenzköpfen mit Bestätigungen empfangen werden und eine Anzahl von Anlaufsequenzen mit einer Bestätigung übertragen werden, nachdem der Empfänger seine Handlungen vollendet hat.
  • Verbindungsbreitenzustand: Der Agent übermittelt die endgültige Bahnabbildung zum entfernten Sender. Der Empfänger empfängt die Informationen und decodiert sie. Der Empfänger kann eine konfigurierte Bahnabbildung in einer Struktur nach einem Prüfpunkt eines vorherigen Bahnabbildungswerts in einer zweiten Struktur aufzeichnen. Der Empfänger kann auch mit einer Bestätigung (”ACK”) antworten. Kann ein bandinternes Rücksetzen einleiten. Als ein Beispiel ein erster Zustand zum Einleiten eines bandinternen Rücksetzens. In einer Ausführungsform wird ein Austritt in einen nächsten Zustand, wie z. B. einen Flit-Konfigurationszustand, in Reaktion auf die ACK durchgeführt. Vor dem Eintritt in einen leistungsarmen Zustand kann auch ein Rücksetzsignal erzeugt werden, wenn die Frequenz eines wachen Detektionssignalsauftretens unter einen festgelegten Wert fällt (z. B. 1 jede Anzahl von Einheitsintervallen (UIs) wie z. B. 4K UI). Der Empfänger kann aktuelle und vorherige Bahnabbildungen halten. Der Sender kann verschiedene Gruppen von Bahnen auf der Basis von Anlaufsequenzen mit verschiedenen Werten verwenden. Die Bahnabbildung kann einige Statusregister in einigen Ausführungsformen nicht modifizieren.
  • Flitlock-Konfigurationszustand: in diesen wird von einem Sender eingetreten, aber der Zustand wird als verlassen betrachtet (d. h. sekundärer Zeitüberschreitungsstreit), wenn sowohl der Sender als auch der Empfänger in einen Blockierungsverbindungszustand oder einen anderen Verbindungszustand ausgetreten sind. Der Senderaustritt in einen Verbindungszustand umfasst in einer Ausführungsform einen Start einer Datensequenz (SDS) und einer Anlaufsequenz-(TS)Grenze nach dem Empfangen eines planetaren Ausrichtungssignals. Hier kann der Empfängeraustritt auf dem Empfangen eines SDS von einem entfernten Sender basieren. Dieser Zustand kann eine Brücke von einem Agenten zum Verbindungszustand sein. Der Empfänger identifiziert den SDS. Der Empfänger kann in einen Blockierungsverbindungszustand (BLS) (oder ein Steuerfenster) austreten, wenn der SDS empfangen wird, nachdem ein Entwürfler initialisiert ist. Wenn eine Zeitüberschreitung auftritt, kann der Austritt in den Rücksetzzustand sein. Der Sender steuert Bahnen mit einem Konfigurationssignal an. Der Senderaustritt kann in den Rücksetz-, BLS- oder andere Zustände auf der Basis der Bedingungen oder Zeitüberschreitungen sein.
  • Übertragungsverbindungszustand: Ein Verbindungszustand. Flits werden zu einem entfernten Agenten gesendet. In diesen kann von einem Blockierungsverbindungszustand eingetreten werden und zu einem Blockierungsverbindungszustand bei einem Ereignis zurückkehren wie z. B. eine Zeitüberschreitung. Der Sender sendet Flits. Der Empfänger empfängt Flits. Kann auch in einen leistungsarmen Verbindungszustand austreten. In einigen Implementierungen kann der Übertragungsverbindungszustand (TLS) als L0-Zustand bezeichnet werden.
  • Blockierungsverbindungszustand: ein Verbindungszustand. Sender und Empfänger arbeiten in einer vereinheitlichten Weise. Kann ein zeitlich gesteuerter Zustand sein, während dessen die Sicherungsschicht-Flits ferngehalten werden, während Bitübertragungsschicht-Informationen zum entfernten Agenten übermittelt werden. Kann in einen leistungsarmen Verbindungszustand (oder anderen Verbindungszustand auf der Basis der Konstruktion) austreten. Ein Blockierungsverbindungszustand (BLS) tritt in einer Ausführungsform periodisch auf. Die Periode wird als BLS-Intervall bezeichnet und kann zeitlich gesteuert werden ebenso wie sie sich zwischen langsamer Geschwindigkeit und Betriebsgeschwindigkeit unterscheiden kann. Es ist zu beachten, dass die Sicherungsschicht periodisch vom Senden von Flits blockiert werden kann, so dass eine Bitübertragungsschicht-Steuersequenz einer Länge gesendet werden kann, wie z. B. während eines Übertragungsverbindungszustandes oder eines Teilbreiten-Übertragungsverbindungszustandes. In einigen Implementierungen kann ein Blockierungsverbindungszustand (BLS) als L0-Steuer- oder L0c-Zustand bezeichnet werden.
  • Teilbreiten-Übertragungsverbindungszustand: Verbindungszustand. Kann Leistung sparen durch Eintritt in einen Teilbreitenzustand. In einer Ausführungsform bezieht sich eine asymmetrische Teilbreite auf jede Richtung einer Verbindung mit zwei Richtungen mit verschiedenen Breiten, die in einigen Konstruktionen unterstützt werden können. Ein Beispiel eines Initiators wie z. B. eines Senders, der eine Teilbreitenangabe sendet, um in einen Teilbreiten-Übertragungsverbindungszustand einzutreten, ist in dem Beispiel von 9 gezeigt. Hier wird eine Teilbreitenangabe gesendet, während auf einer ersten Verbindung mit einer ersten Breite übertragen wird, um die Verbindung zum Übertragen mit einer zweiten, neuen Breite zu überführen. Eine Fehlanpassung kann sich bei einer Rücksetzung ergeben. Es ist zu beachten, dass Geschwindigkeiten nicht geändert werden können, aber die Breite. Daher werden Flits potentiell mit verschiedenen Breiten gesendet. Kann zu einem Übertragungsverbindungszustand logisch ähnlich sein; da eine kleinere Breite besteht, kann es jedoch länger dauern, um Flits zu übertragen. Kann in andere Verbindungszustände austreten, wie z. B. einen leistungsarmen Verbindungszustand auf der Basis von bestimmten empfangenen und gesendeten Nachrichten, oder einen Austritt des Teilbreiten-Übertragungsverbindungszustandes oder einen Verbindungsblockierungszustand auf der Basis von anderen Ereignissen. In einer Ausführungsform kann ein Senderport inaktive Bahnen in einer versetzten Weise ausschalten, um eine bessere Signalintegrität (d. h. Rauschmilderung) zu schaffen. Hier können Flits ohne Neuversuchsfähigkeit wie z. B. Null-Flits verwendet werden während Perioden, in denen sich die Verbindungsbreite ändert. Ein entsprechender Empfänger kann diese Null-Flits fallen lassen und inaktive Bahnen in einer versetzten Weise ausschalten sowie die aktuellen und vorherigen Bahnabbildungen in einer oder mehreren Strukturen aufzeichnen. Es ist zu beachten, dass ein Status und ein zugehöriges Statusregister unverändert bleiben können. In einigen Implementierungen kann der Teilbreiten-Übertragungsverbindungszustand als teilweiser L0- oder L0p-Zustand bezeichnet werden.
  • Austritt aus dem Teilbreiten-Übertragungsverbindungszustand: Austritt aus dem Teilbreitenzustand. Kann einen Blockierungsverbindungszustand in einigen Implementierungen verwenden oder nicht. Der Sender leitet den Austritt in einer Ausführungsform durch Senden von Teilbreiten-Austrittsmustern auf den inaktiven Bahnen ein, um sie zu trainieren und zu entzerren. Als ein Beispiel ein Austrittsmusterstart mit EIEOS, der detektiert und entprellt wird, um zu signalisieren, dass die Bahn bereit ist, den Eintritt in einen vollen Übertragungsverbindungszustand zu starten, und kann mit einem SDS oder einer schnellen Anlaufsequenz (FTS) auf inaktiven Bahnen enden. Irgendein Ausfall während der Austrittssequenz (Empfängerhandlungen, wie z. B. Entzerrung nicht vollendet vor der Zeitüberschreitung) stoppt Flit-Übertragungen zur Sicherungsschicht und aktiviert ein Rücksetzen, das durch Zurücksetzen der Verbindung beim nächsten Auftreten eines Blockierungsverbindungszustandes behandelt wird. Der SDS kann auch den Verwürfler/Entwürfler auf den Bahnen auf geeignete Werte initialisieren.
  • Leistungsarmer Verbindungszustand: ist ein leistungsarmer Zustand. In einer Ausführungsform ist es niedrigere Leistung als der Teilbreiten-Verbindungszustand, da die Signalgebung in dieser Ausführungsform auf allen Bahnen und in beiden Richtungen gestoppt wird. Sender können einen Blockierungsverbindungszustand zum Anfordern eines leistungsarmen Verbindungszustandes verwenden. Hier kann der Empfänger die Anforderung decodieren und mit einer ACK oder einer NAK antworten; ansonsten kann Rücksetzen ausgelöst werden. In einigen Implementierungen kann der leistungsarme Verbindungszustand als L1-Zustand bezeichnet werden.
  • In einigen Implementierungen können Zustandsübergänge erleichtert werden, um zu ermöglichen, dass Zustände umgangen werden, beispielsweise wenn Zustandshandlungen der Zustände wie z. B. bestimmte Kalibrierungen und Konfigurationen bereits vollendet wurden. Vorherige Zustandsergebnisse und Konfigurationen einer Verbindung können gespeichert und in anschließenden Initialisierungen und Konfigurationen einer Verbindung wiederverwendet werden. Anstatt der Wiederholung von solchen Konfigurationen und Zustandshandlungen können entsprechende Zustände umgangen werden. Herkömmliche Systeme, die Zustandsumgehungen implementieren, implementieren jedoch häufig komplexe Konstruktionen und teure Validierungsauswege. Anstelle der Verwendung einer herkömmlichen Umgehung kann in einem Beispiel HPI kurze Zeitgeber in bestimmten Zuständen verwenden, wie z. B. wenn die Zustandshandlungen nicht wiederholt werden müssen. Dies kann potentiell gleichmäßigere und synchronisierte Zustandsmaschinenübergänge unter anderen potentiellen Vorteilen ermöglichen.
  • In einem Beispiel kann eine Steuereinheit auf Softwarebasis (z. B. durch einen externen Steuerpunkt für die Bitübertragungsschicht) einen kürzeren Zeitgeber für einen oder mehrere spezielle Zustände ermöglichen. Für einen Zustand, für den Handlungen bereits durchgeführt und gespeichert wurden, kann der Zustand beispielsweise kurzzeitig sein, um einen schnellen Austritt aus dem Zustand in einen nächsten Zustand zu erleichtern. Wenn jedoch die vorherige Zustandshandlung misslingt oder nicht innerhalb der kurzen Zeitgeberdauer angewendet werden kann, kann ein Zustandsaustritt durchgeführt werden. Ferner kann die Steuereinheit den kurzen Zeitgeber beispielsweise deaktivieren, wenn die Zustandshandlungen erneut durchgeführt werden sollten. Ein langer oder Vorgabezeitgeber kann für jeden jeweiligen Zustand festgelegt werden. Wenn Konfigurationshandlungen am Zustand nicht innerhalb des langen Zeitgebers vollendet werden können, kann ein Zustandsaustritt stattfinden. Der lange Zeitgeber kann auf eine angemessene Dauer gesetzt werden, um die Vollendung der Zustandshandlungen zu ermöglichen. Der kurze Zeitgeber kann dagegen beträchtlich kürzer sein, was es in einigen Fällen unmöglich macht, die Zustandshandlungen ohne Rückbezug auf vorher durchgeführte Zustandshandlungen unter anderen Beispielen durchzuführen.
  • In einigen Implementierungen von HPI können Supersequenzen definiert werden, wobei jede Supersequenz einem jeweiligen Zustand oder Eintritt/Austritt in den/aus dem jeweiligen Zustand entspricht. Eine Supersequenz kann eine sich wiederholende Sequenz von Datensätzen und Symbolen umfassen. Die Sequenzen können sich in einigen Fällen bis zur Vollendung eines Zustandes oder Zustandsübergangs oder Übermittlung eines entsprechenden Ereignisses unter anderen Beispielen wiederholen. In einigen Fällen kann sich die sich wiederholende Sequenz einer Supersequenz gemäß einer definierten Frequenz wie z. B. einer definierten Anzahl von Einheitsintervallen (UIs) wiederholen. Ein Einheitsintervall (UI) kann dem Zeitintervall zum Übertragen eines einzelnen Bits auf einer Bahn einer Verbindung oder eines Systems entsprechen. In einigen Implementierungen kann die sich wiederholende Sequenz mit einem elektrisch geordneten Satz (EOS) beginnen. Folglich kann erwartet werden, dass sich eine Instanz des EOS gemäß der vordefinierten Frequenz wiederholt. Solche geordneten Sätze können unter anderen Beispielen als definierte 16-Byte-Codes implementiert werden, die in einem Hexadezimalformat dargestellt werden können. In einem Beispiel kann der EOS einer Supersequenz ein elektrisch inaktiver geordneter Satz (oder EIEIOS) sein. In einem Beispiel kann ein EIEOS einem Taktsignal mit niedriger Frequenz (z. B. einer vordefinierten Anzahl von sich wiederholenden FF00- oder FFF000-Hexadezimalsymbolen usw.) ähneln. Ein vordefinierter Satz von Daten kann dem EOS folgen, wie z. B. eine vordefinierte Anzahl von Anlaufsequenzen oder anderen Daten. Solche Supersequenzen können in Zustandsübergängen, einschließlich Verbindungszustandsübergängen sowie Initialisierung unter anderen Beispielen verwendet werden.
  • Wie vorstehend eingeführt, kann die Initialisierung in einer Ausführungsform anfänglich mit langsamer Geschwindigkeit, gefolgt von einer Initialisierung mit schneller Geschwindigkeit durchgeführt werden. Die Initialisierung mit langsamer Geschwindigkeit verwendet die Vorgabewerte für die Register und Zeitgeber. Die Software verwendet dann die Verbindung mit langsamer Geschwindigkeit, um die Register, Zeitgeber und elektrischen Parameter einzurichten, und löscht die Kalibrierungssemaphoren, um den Weg für die Initialisierung mit schneller Geschwindigkeit zu bereiten. Als ein Beispiel kann die Initialisierung aus solchen Zuständen oder Aufgaben wie Rücksetzen, Detektion, Abfrage und Konfiguration unter potentiell anderen bestehen.
  • In einem Beispiel kann eine Sicherungsschicht-Blockierungssteuersequenz (d. h. ein Blockierungsverbindungszustand (BLS) oder L0c-Zustand) einen zeitlich gesteuerten Zustand umfassen, während dessen die Sicherungsschicht-Flits ferngehalten werden, während die PHY-Informationen zum entfernten Agenten übermittelt werden. Hier können der Sender und der Empfänger einen Blockierungssteuersequenz-Zeitgeber starten. Und beim Ablauf der Zeitgeber können der Sender und der Empfänger den Blockierungszustand verlassen und können andere Handlungen unternehmen, wie z. B. Austritt in das Rücksetzen, Austritt in einen anderen Verbindungszustand (oder anderen Zustand), einschließlich Zuständen, die das Senden von Flits über die Verbindung ermöglichen.
  • In einer Ausführungsform kann das Verbindungstraining bereitgestellt werden und das Senden von einer oder mehreren verwürfelten Anlaufsequenzen, geordneten Sätzen und Steuersequenzen wie z. B. in Verbindung mit einer definierten Supersequenz umfassen. Ein Anlaufsequenzsymbol kann einen oder mehrere eines Kopfs, reservierter Abschnitte, einer Ziellatenz, einer Paarnummer, von physikalischen Bahnabbildungscode-Referenzbahnen oder einer Gruppe von Bahnen und eines Initialisierungszustandes umfassen. In einer Ausführungsform kann der Kopf mit einer ACK oder NAK unter anderen Beispielen gesendet werden. Als Beispiel können Anlaufsequenzen als Teil von Supersequenzen gesendet werden und können verwürfelt werden.
  • In einer Ausführungsform werden geordnete Sätze und Steuersequenzen nicht verwürfelt oder versetzt und werden identisch, gleichzeitig und vollständig auf allen Bahnen übertragen. Ein gültiger Empfang eines geordneten Satzes kann das Prüfen zumindest eines Abschnitts des geordneten Satzes (oder des ganzen geordneten Satzes für teilweise geordnete Sätze) umfassen. Geordnete Sätze können einen elektrisch geordneten Satz (EOS) wie z. B. einen elektrisch inaktiven geordneten Satz (EIOS) oder einen EIEOS umfassen. Eine Supersequenz kann einen Start einer Datensequenz (SDS) oder eine schnelle Anlaufsequenz (FTS) umfassen. Solche Sätze und Steuersupersequenzen können vordefiniert sein und können irgendein Muster oder eine hexadezimale Darstellung sowie irgendeine Länge aufweisen. Geordnete Sätze und Supersequenzen können beispielsweise eine Länge von 8 Bytes, 16 Bytes oder 32 Bytes usw. sein. FTS kann als Beispiel zusätzlich für schnelle Bitverriegelung während des Austritts aus einem Teilbreiten-Übertragungsverbindungszustand verwendet werden. Es ist zu beachten, dass die FTS-Definition pro Bahn sein kann und eine gedrehte Version der FTS verwenden kann.
  • Supersequenzen können in einer Ausführungsform das Einfügen eines EOS wie z. B. eines EIEOS in einen Anlaufsequenzstrom umfassen. Wenn die Signalisierung startet, schalten Bahnen in einer Implementierung in einer versetzten Weise ein. Dies kann jedoch dazu führen, dass anfängliche Supersequenzen am Empfänger auf einigen Bahnen abgeschnitten gesehen werden. Supersequenzen können jedoch über kurze Intervalle (z. B. ungefähr eintausend Einheitsintervalle (oder ~1KUI)) wiederholt werden. Die Anlaufsupersequenzen können außerdem für eine oder mehrere von Entzerrung, Konfiguration und zur Übermittlung eines Initialisierungsziels, Bahnabbildung usw. verwendet werden. Der EIEOS kann für eine oder mehrere des Übergangs einer Bahn von einem inaktiven in einen aktiven Zustand, Überprüfen auf gute Bahnen, Identifizieren von Symbol- und TS-Grenzen unter anderen Beispielen verwendet werden.
  • Wenn man sich 8 zuwendet, sind Darstellungen von Beispielsupersequenzen gezeigt. Eine beispielhafte Detektionssupersequenz 805 kann beispielsweise definiert werden. Die Detektionssupersequenz 805 kann eine sich wiederholende Sequenz eines einzelnen EIEOS (oder anderen EOS), gefolgt von einer vordefinierten Anzahl von Instanzen einer speziellen Anlaufsequenz (TS) umfassen. In einem Beispiel kann der EIEOS übertragen werden, unmittelbar gefolgt von sieben wiederholten Instanzen einer TS. Wenn die letzte der sieben TSs gesendet wird, kann der EIEOS wieder gesendet werden, gefolgt von sieben zusätzlichen Instanzen einer TS, und so weiter. Diese Sequenz kann gemäß einer speziellen vordefinierten Frequenz wiederholt werden. In dem Beispiel von 8 kann der EIEOS erneut auf den Bahnen ungefähr einmal alle eintausend UIs (~1KUI) erscheinen, gefolgt vom Rest der Detektionssupersequenz 805. Ein Empfänger kann Bahnen auf die Anwesenheit einer sich wiederholenden Detektionssupersequenz 805 überwachen und kann bei der Validierung der Supersequenz 705 schlussfolgern, dass ein entfernter Agent vorhanden ist, auf den Bahnen hinzugefügt wurde (z. B. im laufenden Betrieb eingebaut), aufgewacht ist oder neu initialisiert usw.
  • In einem anderen Beispiel kann eine andere Supersequenz 810 definiert werden, um eine Abfrage-, Konfigurations- oder Prüfschleifenbedingung oder einen solchen Zustand anzugeben. Wie bei der Beispiel-Detektionssupersequenz 805 können Bahnen einer Verbindung durch einen Empfänger auf eine solche Abfrage/Konfiguration/Schleifen-Supersequenz 810 überwacht werden, um einen Abfragezustand, einen Konfigurationszustand oder einen Prüfschleifenzustand oder eine solche Bedingung zu identifizieren. In einem Beispiel kann eine Abfrage/Konfiguration/Schleifen-Supersequenz 810 mit einem EIEOS beginnen, gefolgt von einer vordefinierten Anzahl von wiederholten Instanzen einer TS. In einem Beispiel können dem EIEOS beispielsweise einunddreißig (31) Instanzen der TS folgen, wobei sich der EIEOS ungefähr alle viertausend UI (z. B. ~4KUI) wiederholt.
  • In einem anderen Beispiel kann ferner eine Teilbreiten-Übertragungszustands-Austrittssupersequenz (PWTS-Austrittssupersequenz) 815 definiert werden. In einem Beispiel kann eine PWTS-Austrittssupersequenz einen anfänglichen EIEOS umfassen, der sich wiederholen soll, um Vorbedingungsbahnen vor dem Senden der ersten vollständigen Sequenz in der Supersequenz vorzukonditionieren. Die zu wiederholende Sequenz in der Supersequenz 815 kann beispielsweise mit einem EIEOS beginnen (der sich ungefähr einmal alle 1KUI wiederholen soll). Ferner können schnelle Anlaufsequenzen (FTS) anstelle von anderen Anlaufsequenzen (TS) verwendet werden, wobei die FTS dazu konfiguriert ist, bei einer schnelleren Bitverriegelung, Byteverriegelung und Entzerrung zu unterstützen. In einigen Implementierungen kann eine FTS unverwürfelt sein, um weiter dabei zu unterstützen, inaktive Bahnen so schnell und unterbrechungsfrei wie möglich auf aktiv zurückzubringen. Wie bei anderen Supersequenzen, die einem Eintritt in einen Verbindungsübertragungszustand vorangehen, kann die Supersequenz 815 unterbrochen und beendet werden durch das Senden eines Starts einer Datensequenz (SDS). Ferner kann eine teilweise FTS (FTSp) gesendet werden, um beim Synchronisieren der neuen Bahnen mit den aktiven Bahnen zu unterstützen, wie z. B. durch Ermöglichen, dass Bits subtrahiert (oder addiert) werden von (zu) den FTSp, unter anderen Beispielen.
  • Supersequenzen wie z. B. die Detektionssupersequenz 705 und Abfrage/Konfiguration/Schleifen-Supersequenz 710 usw. können potentiell während der ganzen Initialisierung oder erneuten Initialisierung einer Verbindung gesendet werden. Ein Empfänger kann beim Empfangen und Detektieren einer speziellen Supersequenz in einigen Fällen durch Wiederholen derselben Supersequenz zum Sender über die Bahnen antworten. Der Empfang und die Validierung einer speziellen Supersequenz durch den Sender und Empfänger kann als Quittungsaustausch dienen, um einen Zustand oder eine Bedingung, die über die Supersequenz übermittelt wird, zu bestätigen. Ein solcher Quittungsaustausch (z. B. unter Verwendung einer Detektionssupersequenz 705) kann beispielsweise verwendet werden, um die erneute Initialisierung einer Verbindung zu identifizieren. In einem anderen Beispiel kann ein solcher Quittungsaustausch unter anderen Beispielen verwendet werden, um das Ende eines elektrischen Rücksetz- oder leistungsarmen Zustandes anzugeben, was dazu führt, dass entsprechende Bahnen wieder aufgebracht werden. Das Ende des elektrischen Rücksetzens kann beispielsweise aus einem Quittungsaustausch zwischen dem Sender und dem Empfänger, die jeweils eine Supersequenz 705 übertragen, identifiziert werden.
  • In einem anderen Beispiel können Bahnen auf Supersequenzen und die Verwendung der Supersequenzen in Verbindung mit dem Überprüfen von Bahnen auf Detektions-, wache, Zustandsaustritte und Zustandseintritte unter anderen Ereignissen überwacht werden. Die vordefinierte und vorhersagbare Art und Form von Supersequenzen kann ferner verwendet werden, um solche Initialisierungsaufgaben wie Bitverriegelung, Byteverriegelung, Entprellen, Entwürfeln, Entzerren, Anpassung, Latenzfixierung, verhandelte Verzögerungen und andere potentielle Verwendungen durchzuführen. Tatsächlich können Bahnen im Wesentlichen kontinuierlich auf solche Ereignisse überwacht werden, um die Fähigkeit des Systems, auf solche Bedingungen zu reagieren und diese zu verarbeiten, zu beschleunigen.
  • 10 stellt eine Beispielanlaufsequenz (TS) gemäß einem Beispiel dar. In 10 kann eine Anlaufsequenz 1005 einen Kopf 1010 und verschiedene Felder umfassen, die verwendet werden können, um Informationen in Verbindung mit einer Initialisierung einer Verbindung zu übermitteln. In einem Beispiel können beispielsweise Felder für Ziellatenz 1015, Zustand 1012, Bahnpaarnummer 1025, Bahnabbildung 1028 unter anderen Feldern enthalten sein. Ein Verwürflersynchronisationsfeld 1030 kann beispielsweise zusätzlich vorgesehen sein, um unter anderen Funktionen beim Synchronisieren von Schieberegistern mit linearer Rückkopplung (LFSR) an einer Vorrichtung zu unterstützen, um das Entwürfeln von TS-Feldern zu ermöglichen. Andere reservierte Felder (z. B. 1055, 1060) können auch in einer Anlaufsequenz (z. B. 1005) enthalten sein.
  • Ein TS-Kopf 1010 kann zusätzliche Felder umfassen, die verwendet werden können, um den Anlaufsequenztyp (z. B. von dem der Initialisierungszustand bestimmt oder abgeleitet werden kann) 1035, ACK/NAK-Felder 1040 (z. B. zur Verwendung beim Quittungsaustausch), Bahnidentifiziererfelder (z. B. Identifizieren einer Bahn durch ihr niedrigstwertiges Bit, durch Bahnumkehr usw.) 1045 und andere Felder, einschließlich reservierter Felder, zu übermitteln. In einigen Implementierungen können Abschnitte einer TS verwürfelt werden beispielsweise durch eine zufällige oder pseudozufällige binäre Sequenz (PRBS). In einem Beispiel kann der TS-Kopf 1010 im Klartext bewahrt werden, während der Rest (oder Körper (z. B. 1050)) der TS verwürfelt wird, beispielsweise, indem unter anderen Beispielen jene Abschnitte der TS mit einer PRBS einer Exklusiv-ODER-Operation unterzogen werden.
  • In einer Implementierung kann eine TS sechzehn (16) Bytes lang sein und der TS-Kopf kann das erste Byte (d. h. Byte 0) der TS belegen. Die TS-Nutzinformationen können verwürfelt werden und die restlichen fünfzehn Bytes belegen. In einer Beispielimplementierung kann ein TS-Ende oder TS-Suffix die letzten paar Bytes der TS umfassen. In einem Beispiel kann beispielsweise ein Verwürfelungssynchronisationsfeld 1030 mindestens drei Bytes der TS belegen, beispielsweise die Bytes 6–8 der TS. Die Endbits der TS (z. B. Bytes 9–15) können in dieser speziellen Implementierung als reservierte Bits (z. B. 1055) aufrechterhalten werden. Die Bits in den Bytes 6–15 können alle auf 0 gesetzt werden.
  • In einigen Implementierungen kann HPI die Verwendung eines TS-Kopfs (z. B. 1010) unterstützen, kann anstelle von oder zusätzlich zu TS-Nutzinformationen für Schlüsselinitialisierungsparameter verwendet werden. In einigen Implementierungen können TS-Nutzinformationen verwendet werden, um Initialisierungsparameter wie ACKs und Bahnnummern auszutauschen. Gleichstrompegel zur Übermittlung der Bahnpolarität können auch verwendet werden. In einigen Implementierungen kann jedoch HPI gleichstromausgeglichene Codes im TS-Kopf (z. B. 1010) für Schlüsselparameter implementieren. In Fällen, in denen ein TS-Kopf unverwürfelt ist, können beispielsweise verfügbare TS-Kopfcodes so definiert sein, dass die Anzahl von ”1”-en im Wesentlichen gleich der Anzahl von ”0”-en ist, die in den TS-Kopffeldern erscheinen (z. B. 1035, 1040, 1045). Der Gleichstromausgleich kann über den ganzen Rest der TS (z. B. die TS-Nutzinformationen) durch Verwürfeln von Bits der TS-Nutzinformationen durch Exklusiv-ODER-Operation an den Bits gegen eine zufällige oder pseudozufällige binäre Sequenz verwirklicht werden.
  • In einer Beispielimplementierung kann eine PRBS-Sequenz mit mindestens 23 Bits (PRBS23) verwendet werden. Die PRBS kann gemäß einem speziellen ausgewählten Polynom erzeugt werden. In einem Beispiel kann die PRBS durch ein selbst gesetztes Speicherelement mit ähnlicher Bitgröße wie z. B. ein Schieberegister mit linearer Rückkopplung (LFSR) erzeugt werden. Das LFSR kann ein 23-Bit-Fibonacci-LFSR sein, das zum Erzeugen einer PRBS-Sequenz von bis zu 8 Mb in der Länge in der Lage ist. Die PRBS kann sich nach dem Ende der Sequenz wiederholen. In einigen Implementierungen kann die Gesamtheit der PRBS23-Sequenz beim Verwürfeln von Anlaufsequenzen, die in Supersequenzen enthalten sind, die beispielsweise bei der Initialisierung der Verbindung in HPI verwendet werden, verwendet werden.
  • Obwohl die volle Länge einer PRBS-Sequenz verwendet werden kann, kann in einigen Implementierungen HPI das Ermöglichen der Verwendung von variierenden Längen der verfügbaren PRBS-Sequenz unterstützen (z. B. die Verwendung nur eines Abschnitts der PRBS23-Sequenz). In einigen Beispielen kann eine Steuereinheit einer Vorrichtung festlegen, dass nur ein Abschnitt der vollen Länge einer PRBS-Sequenz verwendet wird. Dies kann unter potentiell anderen Anwendungen beispielsweise in Testanwendungen erwünscht sein, in denen die Wiederholbarkeit von Bitsequenzen erwünscht ist. Eine Steuereinheit auf Softwarebasis kann Festlegen, dass variierende Längen der PRBS angewendet werden. Das BIOS einer Vorrichtung kann beispielsweise die PRBS-Länge, die auf die Verbindung angewendet werden soll, festlegen. In einigen Implementierungen kann die Verwendung der vollen Länge der PRBS-Sequenz die Vorgabeeinstellung sein, beispielsweise um die Vorteile der langen PRBS-Sequenz zu maximieren.
  • Der Bahnverkehr in einem Übertragungsverbindungszustand (TLS) und Anlaufsequenzen können mit einer PRBS einer speziellen minimalen Länge (z. B. 23 Bits) verwürfelt werden. Der auf einen Strom angewendete Startkeim kann zwischen den Bahnen verändert werden, um die elektrischen Vorteile der PRBS auf der Verbindung zu verbessern. In einer Beispielimplementierung kann die PRBS durch ein 23-Bit-Fibonacci-LFSR erzeugt werden, das ein Generatorpolynom mit 6 Verzweigungen implementiert, wie z. B. (x23 + x21 + x16 + x8 + x5 + x2 + 1).
  • Die Startkeimwerte (bei der Verwürfler/Entwürfler-Initialisierung) für die Bahnnummer modulo 8 können ein beliebiger Wert, beispielsweise 8 Hexadezimalwerte, sein, wobei jeder 2 oder 3 der Bahnen in einer Verbindung zugeordnet ist. Die Verwendung von solchen Keimen kann zum Drehen (oder Versetzen) der PRBS zwischen den Bahnen führen. Die Anzahl von LFSRs kann unter Verwendung der Eigenschaft verringert werden, dass eine gerade Bahn-PRBS von einem Exklusiv-ODER der PRBS von ungeraden Bahnen abgeleitet werden kann. Der EIEOS und der Kopf der Anlaufsequenzen werden nicht verwürfelt. Der Eintrittspunkt einer Supersequenz auf jeder Bahn kann an einem anderen Punkt auf jeder Bahn an einem unterschiedlichen Punkt auf jeder Bahn eingeleitet werden (z. B. wenn der Sender die Ansteuerung beginnt). Dies kann ermöglichen, dass die Bahnen in einer versetzten Weise eingeschaltet werden, um Rauschen im Leistungszufuhrsystem zu verringern. Tatsächlich kann jede Bahn ihre eigene Instanz eines LFSR aufweisen. Die Versetzungszeiten können durch die Anzahl von Bahnen, die eingeschaltet werden, variieren und können während der Initialisierung von der Implementierung abhängen. Diese können in den Zeitablaufdiagrammen und Zeitgeberprofilen für den Teilübertragungsbreitenzustandsaustritt festgelegt werden. Ferner können schnelle Anlaufsequenzen (FTS) (auch nachstehend erörtert) auch durch die Bahn gedreht werden.
  • In einigen Fällen kann das Verwürfeln das Leistungsversorgungsrauschen am Sender verringern und ein reicheres Frequenzspektrum am Empfänger bereitstellen. Der Verwürfler kann durch den ersten übertragenen EIEOS initialisiert werden. Der Entwürfler kann mit dem Verwürfler beispielsweise durch Selbstsetzen synchronisiert werden. Das empfangene 23-Bit-Muster kann in ein Feld der TS eingebettet werden als Keim. In einem Beispiel kann der 23-Bit-Keim aus dem Verwürfeln der Bits des Verwürfelungssynchronisationsfeldes (z. B. 1050) identifiziert werden. Der Empfänger kann den Keimwert verwenden, um den spezifischen Ort der PRBS zu identifizieren, der verwendet wird, um die empfangene TS zu verwürfeln. Ein Empfänger kann beispielsweise den Keim identifizieren und den Keim in sein eigenes LFSR laden, um mit der PRBS zu synchronisieren, die vom Sender verwendet wird. In einigen Fällen kann ein Empfänger mehrere Verwürfelungssynchronisationsfelder oder mehrere TSs in einer Supersequenz lesen, um sein eigenes LFSR zu setzen. Beim Detektieren und Synchronisieren mit der PRBS des Senders kann jedoch ein Empfänger den Rest der TSs sowie alle anschließenden TS, die in Supersequenzen gesendet werden, während der Initialisierung der Verbindung unter anderen Beispielen entwürfeln.
  • Supersequenzen können verwendet werden, um die Bitverriegelung und Bitsynchronisation auf einer Bahn zu erleichtern. Wie vorstehend erörtert, kann zumindest ein Teil der Supersequenzen verwürfelt werden. Mit Rückkehr zur Erörterung von 8 kann eine Detektionssupersequenz vom Empfänger verwendet werden, um die Bit- und Bytekanten des empfangenen Bitstroms zu detektieren oder zu verriegeln und zu identifizieren, welche Bytes in der Supersequenz gesendet werden. Der EIEOS und TS-Kopf können beispielsweise unverwürfelt belassen werden, um den Empfänger zu unterstützen, schneller auf die Supersequenz zu verriegeln. Außerdem kann die Supersequenz definiert werden, um zu ermöglichen, dass der EIEOS (und der Beginn der Supersequenz) sich mit einer relativ kurzen Frequenz wiederholt (z. B. um schneller dem Empfänger eine weitere Chance zu ermöglichen, den EIEOS in dem Fall zu detektieren, dass der erste EIEOS nicht genau detektiert wurde). In einem Beispiel kann eine Supersequenz beispielsweise als sich alle 1KUI oder kürzer wiederholend definiert sein. Solche Supersequenzen können ferner randomisiertere Übergänge während der Initialisierung sowie Vereinfachung von TS-Verriegelung, Latenzfixierung und andere Handlungen ermöglichen.
  • Außerdem kann das unverwürfelte Belassen des EIEOS und TS-Kopfs ermöglichen, dass die Byte-Verriegelung stattfindet, und ermöglichen, dass der Empfänger den Ort von anschließenden Bytes und Symbolen (einschließlich verwürfelter TS-Symbole) identifizieren kann. Die Kante des unverwürfelten TS-Kopfs kann beispielsweise identifiziert werden und dadurch auch der Start des Verwürfelungssynchronisationsfeldes (z. B. 1050) (z. B. durch einfaches Zählen der Anzahl von Bytes von der Kante des TS-Kopfs zum Symbol). Beim Detektieren des PRBS-Keims im Verwürfelungssynchronisationsfeld kennt der Empfänger die folgenden PRBS-Musterwerte und kann auch die Werte von anschließenden Werten des Verwürfelungssynchronisationsfeldes (z. B. 1050) vorhersagen. Folglich kann der Empfänger beim Verriegeln auf die PRBS ferner die Werte des Verwürfelungssynchronisationsfeldes (z. B. 1050) verwenden, um andere Konfigurationsaufgaben wie z. B. Anpassung, Entzerrung und anderen Aufgaben zu erleichtern.
  • Auf Verbindungen mit mehreren Bahnen können Symbole gleichzeitig auf allen Bahnen durch einen Sender gesendet werden, es kann sich jedoch bei einigen Symbolen eine Verzerrung von Verbindung zu Verbindung zeigen, die nicht am Empfänger gleichzeitig ankommen. Quellen von Verzerrung können beispielsweise Chipdifferentialtreiber und Empfänger, Impedanzvariationen einer gedruckten Leiterplatte, Bahndrahtlängenfehlanpassungen unter anderen Beispielen umfassen. In einer Ausführungsform schafft HPI eine fortschrittliche Logik, um Bahnen zu entzerren. Als Beispiel kann die TS-Grenze nach der TS-Verriegelung verwendet werden, um die Bahnen zu entzerren. Die TS-Verriegelung kann beispielsweise verwendet werden, um die Verzerrung zu detektieren (z. B. dass eine TS auf einer Bahn später ankommt als eine andere TS auf einer anderen der Bahnen der Verbindung). Ein EIEOS kann auch verwendet werden, um die Verzerrung zu detektieren. Unter Verwendung der Vorhersagbarkeit eines synchronisierten PRBS-Musters können außerdem einige Implementierungen von HPI durch Vergleichen von Bahn-PRBS-Mustern im LFSR während spezifischer Punkte in den Nutzinformationen entzerren. Ferner kann in einigen Fällen die Verwürfelung von Anlaufsequenzen erneut initialisiert werden und die Entzerrung kann unter anderen Beispielen durchgeführt werden, indem ein Tabellennachschlag von PRBS-Werten während des erneuten Setzens der Anlaufsequenz durchgeführt wird. Eine solche Entzerrung kann in Testchips nützlich sein, denen unter anderen Beispielen beispielsweise die Fähigkeit fehlen kann, TS oder Zustandsmaschinen zu detektieren, um die Entzerrung zu managen.
  • Beim Detektieren einer Verzerrung kann die HPI-Logik (z. B. durch eine durch Software unterstützte Steuereinheit vorgesehen) die Verzerrung auf jeder Bahn relativ zu anderen Bahnen in einer Verbindung identifizieren und die Bahnen einstellen, um zu versuchen, die Verzerrung zu beseitigen. ”Schnellere” Bahnen können beispielsweise künstlich verlangsamt werden (oder alternativ können langsamere Bahnen beschleunigt werden (z. B. durch Verringern der Latenz im Datenpfad)) auf der Basis der in einer Verzerrung von Bahn zu Bahn detektierten Verzögerung, um den Symbolen der ”langsameren” Bahnen Rechnung zu tragen, die im Wesentlichen gleichzeitig mit den verzögerten ”schnelleren” Bahnen ankommen, unter anderen Beispielen.
  • Im Fall von Anpassung können elektrische Eigenschaften einer Bahn zwischen einem Sender und einem Empfänger beispielsweise auf der Basis von Abtastdaten, die zwischen dem Sender und dem Empfänger übertragen werden, eingestellt werden. Die Empfängeranpassung kann beispielsweise umfassen, dass der Sender ein Datenmuster zum Empfänger sendet, wobei die Logik am Empfänger elektrische Eigenschaften am Empfänger einstellt, um die Bahn für die Verbindung anzupassen. Die Senderanpassung kann beinhalten, dass der Sender Abtastdaten zum Empfänger sendet und der Empfänger eine Rückmeldung zum Sender sendet, die vom Sender verwendet werden kann, um Einstellungen am Sender durchzuführen, um die Bahn anzupassen. Der Empfänger kann weiterhin eine Rückmeldung zum Sender auf der Basis der Einstellungen senden, die am Sender durchgeführt werden.
  • In einem Beispiel können Anpassungsabtastdaten durch verwürfelte TS-Daten verkörpert sein. Als ein Beispiel kann ein festes UI-Muster verwendet werden, um mit einer Umgehung in einen Anpassungszustand zu verwürfeln. Aber durch Verwürfeln von TS mit PRBS23 kann die Empfängeranpassung ohne die Umgehung durchgeführt werden. Außerdem können Versatz und andere Fehler während der Taktwiderherstellung und Abtastung verringert werden. Die Zufälligkeit, die durch die lange PRBS-Sequenz (z. B. PRBS23) bereitgestellt wird, kann sich als effektiver Abtaststrom für die Anpassung erweisen. In einigen Implementierungen kann ferner eine Bahn zum Arbeiten in einem langsamen Modus festgelegt werden, um die Logik beim Analysieren und Anpassen an Abtastdaten, die auf der Bahn empfangen werden, zu unterstützen. Beim Bewilligen der Eigenschaften der Bahn durch Anpassung können die angepassten Eigenschaften festgelegt werden und auf die Initialisierung der Verbindung angewendet werden.
  • Sobald die Verbindung erfolgreich kalibriert und konfiguriert wurde, kann die Initialisierung enden und in den Übertragungsverbindungszustand (TLS), in dem Flits beginnen übertragen zu werden, übergehen. In einigen Implementierungen von HPI können Übergänge auf den TLS auf der planetaren Ausrichtung im System basieren. Ein planetares Ausrichtungssignal kann beispielsweise eine Gelegenheit zum Übergang auf den TLS angeben. Anstatt des Übergangs an einer Kante einer Supersequenz, eines EIEOS oder TLS können einige Implementierungen von HPI ein Symbol des Starts einer Datensequenz (SDS) verwenden, das gemäß der planetaren Ausrichtung gesendet wird, um die Initialisierung und den Übergang in TLS zu beenden. In einem Beispiel kann ein SDS irgendwo in einem Initialisierungsbitstrom gesendet werden. Folglich kann ein Empfänger kontinuierlich empfangene Bits für den SDS abtasten, um das Beenden der Initialisierung gemäß einer planetaren Ausrichtung zu beschleunigen.
  • In einem Beispiel kann ein Beispiel-EIEOS ein Niederfrequenz-Taktsignal wie z. B. ein sich wiederholendes FF00-Signal emulieren. Ein Beispiel-SDS kann ein sich wiederholendes F0-Signal in einigen Implementierungen umfassen. In solchen Fällen kann folglich das Detektieren eines SDS, der in der Mitte eines EIEOS gesendet wird, relativ einfach zu identifizieren sein, da das Risiko von Aliasing innerhalb des EIEOS minimal sein kann. Die Verwürfelung von TS-Nutzinformationen und die resultierende Zufälligkeit der TS-Daten kann jedoch das Risiko von Aliasing von einigen Formen eines SDS einführen. In einigen Implementierungen kann eine PRBS erzeugt werden, der niemals eine SDS über irgendeine spezielle Spanne einer Anzahl von Bits verzerrt. Ferner kann ein Ende oder Suffix an einer TS vorgesehen sein, wie z. B. unter Verwendung der letzten Bytes der TS, um zu bewirken, dass die PRBS Exklusiv-ODER-0-Werte im Suffix ist und effektiv die PRBS unverwürfelt am Ende der TS darstellt. Wenn das Suffix ausreichend lang ist, können es die PRBS-Werte, die im verwürfelten Suffix widergespiegelt sind, unmöglich machen, dass ein SDS in den verwürfelten Nutzinformationen einer TS verzerrt wird. In einem Beispiel kann der SDS beispielsweise als zehn aufeinander folgende Bytes des Werts F0 (d. h. 1111000011110000...) definiert sein. Ferner kann ein Suffix von sieben reservierten Bytes in einer TS vorgesehen sein, der beispielsweise unmittelbar drei Bytes eines Verwürfelungssynchronisationsfeldes (z. B. 1050) folgen, wie beispielsweise in dem Beispiel von 10 gezeigt. Folglich kann die Länge des genullten TS-Suffix (z. B. zehn gesamte Bytes) dem gewählten SDS-Wert (z. B. zehn Bytes von F0) entsprechen, der unter anderen Beispielen als nicht innerhalb der ausgewählten Verwürfelungs-PRBS (z. B. PRBS23) erscheinend ausgewählt wurde. Auf der Basis des Polynoms, das in einer Implementierung von PRBS23 (oder einer anderen PRBS) verwendet wird, ist beispielsweise keine Zehn-Byte-Sequenz in PRBS23 jemals gleich dem ausgewählten SDS-Wert unter anderen Beispielen.
  • In einigen Implementierungen können beim Austritt aus einem Konfigurationszustand in den TLS die Sende- und Empfangs-LFSRs durch den SDS erneut initialisiert werden, die zwischen dem Sender und dem Empfänger ausgetauscht wird. Acht Start-PRBS-Keime können beispielsweise auf die Bahnen 0..7, 12..19 und 8..11 (z. B. nur erste vier) jeweils angewendet werden. Ferner kann eine Bahnumkehr einer Verbindung und Polaritätsinversion einer Bahn auch beispielsweise durch Vergleichen des unverwürfelten ersten Bytes der TS (z. B. des TS-Kopfs) nach dem EIEOS mit einem Satz von möglichen Werten unter anderen Beispielen bestimmt werden.
  • In einer Ausführungsform kann der Takt in die Daten eingebettet werden, so dass keine separaten Taktbahnen vorhanden sind. Flits können gemäß dem eingebetteten Takt gesendet werden. Ferner können die über die Bahnen gesendeten Flits verwürfelt werden, um die Taktrückgewinnung zu erleichtern. Die Empfängertaktrückgewinnungseinheit kann als ein Beispiel Abtasttakte zu einem Empfänger liefern (d. h. der Empfänger gewinnt den Takt aus den Daten zurück und verwendet ihn, um die ankommenden Daten abzutasten). Empfänger passen in einigen Implementierungen kontinuierlich an einen ankommenden Bitstrom an. Durch Einbetten des Takts kann eine Kontaktbelegung potentiell verringert werden. Das Einbetten des Takts in die bandinternen Daten kann jedoch die Weise ändern, in der ein bandinternes Rücksetzen angenähert wird. In einer Ausführungsform kann ein Blockierungsverbindungszustand (BLS) nach der Initialisierung verwendet werden. Supersequenzen eines elektrisch geordneten Satzes können auch während der Initialisierung verwendet werden, um das Rücksetzen zu erleichtern, unter anderen Erwägungen. Der eingebettete Takt kann zwischen den Vorrichtungen auf einer Verbindung gemeinsam sein und der gemeinsame Betriebstakt kann während der Kalibrierung und Konfiguration der Verbindung festgelegt werden. HPI-Verbindungen können beispielsweise auf einen gemeinsamen Takt mit Driftpuffern Bezug nehmen. Eine solche Implementierung kann eine niedrigere Latenz verwirklichen als elastische Puffer, die in nicht gemeinsamen Referenztakten verwendet werden, unter anderen potentiellen Vorteilen. Ferner können die Referenztakt-Verteilungssegmente innerhalb festgelegter Grenzen angepasst werden.
  • Wie vorstehend angegeben, kann eine HPI-Verbindung zum Arbeiten mit mehreren Geschwindigkeiten in der Lage sein, einschließlich eines ”langsamen Modus” für Vorgabehochfahren, Initialisierung usw. Die Betriebsgeschwindigkeit (oder ”schnelle” Geschwindigkeit) oder der Betriebsmodus jeder Vorrichtung kann durch das BIOS statisch festgelegt werden. Der gemeinsame Takt auf der Verbindung kann auf der Basis der jeweiligen Betriebsgeschwindigkeiten jeder Vorrichtung auf beiden Seiten der Verbindung konfiguriert werden. Die Verbindungsgeschwindigkeit kann beispielsweise auf der langsameren der zwei Vorrichtungsbetriebsgeschwindigkeiten unter anderen Beispielen basieren. Irgendeine Betriebsgeschwindigkeitsänderung kann von einem warmen oder kalten Rücksetzen begleitet sein.
  • In einigen Beispielen initialisiert beim Einschalten die Verbindung auf den langsamen Modus mit einer Übertragungsrate von beispielsweise 100 MT/s. Die Software richtet dann die zwei Seiten für die Betriebsgeschwindigkeit der Verbindung ein und beginnt die Initialisierung. In anderen Fällen kann ein Seitenbandmechanismus verwendet werden, um eine Verbindung mit dem gemeinsamen Takt auf der Verbindung beispielsweise bei Abwesenheit oder Nicht-Verfügbarkeit eines langsamen Modus aufzubauen.
  • Eine Initialisierungsphase des langsamen Modus kann in einer Ausführungsform dieselbe Codierung, Verwürfelung, Anlaufsequenzen (TS), Zustände usw. wie die Betriebsgeschwindigkeit, jedoch mit potentiell weniger Merkmalen (z. B. keine elektrische Parametereinrichtung, keine Anpassung usw.), verwenden. Die Betriebsphase des langsamen Modus kann auch potentiell dieselbe Codierung, Verwürfelung usw. verwenden (obwohl dies andere Implementierungen nicht können), aber kann weniger Zustände und Merkmale im Vergleich zur Betriebsgeschwindigkeit (z. B. keine leistungsarmen Zustände) aufweisen.
  • Ferner kann der langsame Modus unter Verwendung der nativen Phasenregelkreis-Taktfrequenz (PLL-Taktfrequenz) der Vorrichtung implementiert werden. HPI kann beispielsweise einen emulierten langsamen Modus ohne Andern der PLL-Taktfrequenz unterstützen. Obwohl einige Konstruktionen separate PLLs für langsame und schnelle Geschwindigkeit verwenden können, kann in einigen Implementierungen von HPI ein emulierter langsamer Modus erreicht werden durch Ermöglichen, dass der PLL-Takt mit derselben schnellen Betriebsgeschwindigkeit während des langsamen Modus läuft. Ein Sender kann beispielsweise ein langsameres Taktsignal durch mehrmaliges Wiederholen von Bits emulieren, um ein langsames hohes Taktsignal und dann ein langsames niedriges Taktsignal zu emulieren. Der Empfänger kann dann das empfangene Signal überabtasten, um Kanten aufzufinden, die durch die sich wiederholenden Bits emuliert werden, und das Bit zu identifizieren. In solchen Implementierungen können Ports, die sich einen PLL teilen, gemeinsam bei langsamen und schnellen Geschwindigkeiten existieren.
  • In einigen Implementierungen von HPI kann die Anpassung von Bahnen auf einer Verbindung unterstützt werden. Die Bitübertragungsschicht kann sowohl Empfängeranpassung als auch Übermittler- oder Senderanpassung unterstützen. Bei der Empfängeranpassung kann der Sender auf einer Bahn Abtastdaten zum Empfänger senden, die die Empfängerlogik verarbeiten kann, um Mängel in den elektrischen Eigenschaften der Bahn und die Qualität des Signals zu identifizieren. Der Empfänger kann dann Einstellungen an der Kalibrierung der Bahn durchführen, um die Bahn auf der Basis der Analyse der empfangenen Abtastdaten zu optimieren. Im Fall der Senderanpassung kann der Empfänger wieder Abtastdaten empfangen und Metriken entwickeln, die die Qualität der Bahn beschreiben, aber in diesem Fall die Metriken zum Sender übermitteln (z. B. unter Verwendung eines Rückkanals wie z. B. eines Software-, Hardware-, eingebetteten, Seitenband- oder anderen Kanals), um zu ermöglichen, dass der Sender Einstellungen an der Bahn auf der Basis der Rückmeldung durchführt.
  • Da beide Vorrichtungen auf einer Verbindung anhand desselben Referenztakts (z. B. ref clk) laufen können, können Elastizitätspuffer weggelassen werden (beliebige elastische Puffer können umgangen oder als Driftpuffer mit geringstmöglicher Latenz verwendet werden). Phaseneinstellungs- oder Driftpuffer können jedoch auf jeder Bahn verwendet werden, um den jeweiligen Empfängerbitstrom von der entfernten Taktdomäne zur lokalen Taktdomäne zu übertragen. Die Latenz der Driftpuffer kann ausreichen, um die Summe von Drift von allen Quellen in der elektrischen Spezifikation zu handhaben (z. B. Spannung, Temperatur, die restliche SSC, die durch Referenztakt-Leitweglenkungsfehlanpassungen eingeführt wird, und so weiter), aber so klein wie möglich sein, um die Transportverzögerung zu verringern. Wenn der Driftpuffer zu flach ist, können sich Driftfehler ergeben und als Reihe von CRC-Fehlern zeigen. In einigen Implementierungen kann folglich unter anderen Beispielen ein Driftalarm vorgesehen sein, der ein Bitübertragungsschichtrücksetzen einleiten kann, bevor ein tatsächlicher Driftfehler auftritt.
  • Einige Implementierungen von HPI können die zwei Seiten unterstützen, die mit derselben nominalen Referenztaktfrequenz laufen, jedoch mit einer ppm-Differenz. In diesem Fall können Frequenzeinstellungspuffer (oder Elastizitätspuffer) erforderlich sein und können während eines erweiterten BLS-Fensters oder während spezieller Sequenzen unter anderen Beispielen erneut eingestellt werden, die periodisch auftreten würden.
  • Der Betrieb der HPI-PHY-Logikschicht kann von den zugrundeliegenden Übertragungsmedien unabhängig sein, vorausgesetzt, dass die Latenz unter anderen Erwägungen nicht zu Latenzfixierungsfehlern oder Zeitüberschreitungen an der Sicherungsschicht führt.
  • Externe Schnittstellen können in HPI vorgesehen sein, um das Management der Bitübertragungsschicht zu unterstützen. Externe Signale (von Anschlussstiften, Sicherungen, anderen Schichten), Zeitgeber, Steuer- und Statusregister können beispielsweise vorgesehen sein. Die Eingangssignale können sich jederzeit relativ zum PHY-Zustand ändern, sollen jedoch durch die Bitübertragungsschicht an spezifischen Punkten in einem jeweiligen Zustand überwacht werden. Ein sich änderndes Ausrichtungssignal (wie nachstehend eingeführt) kann beispielsweise empfangen werden, aber keine Auswirkung haben, nachdem die Verbindung in einen Übertragungsverbindungszustand eingetreten ist, unter anderen Beispielen. Ebenso können Befehlsregisterwerte durch Bitübertragungsschichtentitäten nur zu spezifischen Zeitpunkten beobachtet werden. Die Bitübertragungsschichtlogik kann beispielsweise einen Schnappschuss des Werts aufnehmen und ihn in anschließenden Operationen verwenden. In einigen Implementierungen können folglich Aktualisierungen an Befehlsregistern einer begrenzten Teilmenge von spezifischen Perioden (z. B. in einem Übertragungsverbindungszustand oder beim Halten in der Rücksetzkalibrierung, im Übertragungsverbindungszustand des langsamen Modus) zugeordnet sein, um ein anomales Verhalten zu vermeiden.
  • Da Statuswerte Hardwareänderungen verfolgen, können die gelesenen Werte davon abhängen, wann sie gelesen werden. Einige Statuswerte, wie z. B. Verbindungsabbildung, Latenz, Geschwindigkeit, usw., können sich jedoch nach der Initialisierung nicht ändern. Eine erneute Initialisierung (oder ein Austritt aus dem leistungsarmen Verbindungszustand (LPLS) oder L1-Zustand) ist beispielsweise das Einzige, das verursachen kann, dass sich diese ändern (z. B. kann ein harter Bahnausfall in einem TLS nicht zur Umkonfiguration der Verbindung führen, bis eine erneute Initialisierung ausgelöst wird, unter anderen Beispielen).
  • Schnittstellensignale können Signale umfassen, die außerhalb des Bitübertragungsschichtverhaltens liegen, sich jedoch darauf auswirken. Solche Schnittstellensignale können als Beispiele Codierungs- und Zeitsteuersignale umfassen. Schnittstellensignale können konstruktionsspezifisch sein. Diese Signale können eine Eingabe oder Ausgabe sein. Einige Schnittstellensignale, wie z. B. unter anderen Beispielen Semaphoren und vorangestelltes EO genannt, können einmal pro Aktivierungsflanke aktiv sein, d. h. sie können deaktiviert und dann reaktiviert werden, um wieder wirksam zu werden, unter anderen Beispielen. Tabelle 1 umfasst beispielsweise eine Beispielauflistung von Beispielfunktionen: TABELLE 1
    Funktion
    Eingangsstiftrücksetzen (auch bekannt als warmes Rücksetzen)
    Eingangsstiftrücksetzen (auch bekannt als kaltes Rücksetzen)
    bandinterner Eingangsrücksetzimpuls; verursacht, dass ein Semaphor gesetzt wird; Semaphor wird gelöscht, wenn bandinternes Rücksetzen stattfindet
    Eingang ermöglicht leistungsarme Zustände
    Eingangsprüfschleifenparameter; für Prüfschleifenmuster angewendet
    Eingabe, um in PWLTS einzutreten
    Eingabe, um PWLTS zu verlassen
    Eingabe, um in LPLS einzutreten
    Eingabe, um LPLS zu verlassen
    Eingabe von inaktiver Austrittsdetektion (auch bekannt als Rauschsperrenunterbrechung)
    Eingabe ermöglicht Verwendung von CPhyInitBegin
    Eingabe von lokaler oder planetarer Ausrichtung für Sender, um Initialisierung zu verlassen
    Ausgabe, wenn NAKs LPLS-Anforderung vom entfernten Agenten
    Ausgabe, wenn Agent in LPLS eintritt
    Ausgabe an Sicherungsschicht, um nicht zum Neuversuch fähige Flits zu erzwingen
    Ausgabe an Sicherungsschicht, um NULL-Flits zu erzwingen
    Ausgabe, wenn sich Sender in Teilbreiten-Verbindungsübertragungszustand (PWLTS) befindet
    Ausgabe, wenn sich Empfänger in PWLTS befindet
  • CSR-Zeitgebervorgabewerte können in Paaren vorgesehen sein – einer für langsamen Modus und einer für Betriebsgeschwindigkeit. In einigen Fällen deaktiviert der Wert O den Zeitgeber (d. h. eine Zeitüberschreitung tritt niemals auf). Zeitgeber können die in der nachstehenden Tabelle 2 gezeigten umfassen. Primäre Zeitgeber können verwendet werden, um erwartete Handlungen in einem Zustand zeitlich zu steuern. Sekundäre Zeitgeber werden zum Abbrechen von Initialisierungen, die nicht fortschreiten, oder zum Durchführen von Vorwärtszustandsübergängen zu genauen Zeitpunkten in einem Modus einer automatisierten Testausrüstung (oder ATE) verwendet. In einigen Fällen können sekundäre Zeitgeber in einem Zustand viel größer sein als die primären Zeitgeber. Exponentiellen Zeitgebersätzen kann exp beigefügt werden und der Zeitgeberwert ist 2 potenziert zum Feldwert. Für lineare Zeitgeber ist der Zeitgeberwert der Feldwert. Beide Zeitgeber könnten verschiedene Granularitäten verwenden. Außerdem können einige Zeitgeber im Leistungsmanagementabschnitt sich in einem Satz befinden, der Zeitsteuerprofil genannt wird. Diese können einem Zeitsteuerdiagramm desselben Namens zugeordnet sein. TABELLE 2
    Zeitgeber
    Tabellen-Tpriexp-Satz
    Aufenthalt zum Ansteuern von EIEOS zurücksetzen
    Empfängerkalibrierungs-Minimalzeit; für Senderstaffelung aus
    Senderkalibrierungs-Minimalzeit; für Staffelung ein
    Tsecexp-Satz
    Zeitgesteuerte Empfängerkalibrierung
    Zeitgesteuerte Senderkalibrierung
    Rauschsperrenaustritt-Detektion/Entprellen
    DetectAtRx-Überhang für Quittungsaustausch
    Anpassung + Bitverriegelung/Byteverriegelung/Entzerrung
    Verbindungsbreiten konfigurieren
    Auf planetare ausgerichtete einwandfreie Flit-Grenze warten
    Erneute Byteverriegelung/Entzerrung
    Tdebugexp-Satz
    Für Einbau imlaufenden Betrieb; von O verschiedener Wert zur Fehlersuche hängt
    TBLSentry-Satz
    BLS-Eintrittsverzögerung – fein
    BLS-Eintrittsverzögerung – grob
    TBLS-Satz
    BLS-Dauer für Sender
    BLS-Dauer für Empfänger
    Einwandfreies BLS-Flit-Intervall für Sender
    Einwandfreies TBLS-Flit-Intervall für Empfänger
  • Befehls- und Steuerregister können vorgesehen sein. Steuerregister können eine späte Handlung sein und können in einigen Fällen kontinuierlich beim Rücksetzen durch Software gelesen oder geschrieben werden. Werte für späte Handlung können wirksam werden (z. B. von einer der Software zugewandten zu einer der Hardware zugewandten Stufe durchlaufen). Steuer-Semaphoren (vorangestellter CP) sind RW1S und können durch Hardware gelöscht werden. Steuerregister können verwendet werden, um irgendeinen der hier beschriebenen Punkte durchzuführen. Sie können durch Hardware, Software, Firmware oder eine Kombination davon modifizierbar und zugänglich sein.
  • Statusregister können vorgesehen sein, um Hardwareänderungen (geschrieben und verwendet von Hardware) zu verfolgen, und können nur für Lesen sein (aber die Fehlersuchsoftware kann auch in sie schreiben können). Solche Register können sich nicht auf die Zusammenarbeitsfähigkeit auswirken und können typischerweise mit vielen privaten Statusregistern ergänzt werden. Statussemaphoren (vorangestellter SP) können beauftragt werden, da sie durch Software gelöscht werden können, um die Handlungen, die den Status setzen, erneut durchzuführen. Vorgabe bedeutet anfängliche (beim Rücksetzen) Werte können als Teilmenge dieser Statusbits in Bezug auf Initialisierung geliefert werden. Bei einem Initialisierungsabbruch kann dieses Register in eine Speicherstruktur kopiert werden.
  • Werkzeugkastenregister können vorgesehen sein. Testfähigkeitswerkzeugkastenregister in der Bitübertragungsschicht können beispielsweise Mustererzeugungs-, Musterprüfungs- und Prüfschleifensteuermechanismen bereitstellen. Anwendungen höherer Ebene können beispielsweise von diesen Registern zusammen mit elektrischen Parametern Gebrauch machen, um Toleranzen zu bestimmen. Ein eingebauter Zusammenschaltungstest kann beispielsweise diesen Werkzeugkasten verwenden, um Toleranzen zu bestimmen. Für die Senderanpassung können diese Register in Verbindung mit den in vorherigen Abschnitten beschriebenen spezifischen Registern unter anderen Beispielen verwendet werden.
  • In einigen Implementierungen unterstützt HPI Zuverlässigkeits-, Verfügbarkeits- und Dienstfähigkeits-(RAS)Fähigkeiten unter Verwendung der Bitübertragungsschicht. In einer Ausführungsform unterstützt HPI Einbau und Entfernung im laufenden Betrieb mit einer oder mehreren Schichten, die Software umfassen können. Entfernen im laufenden Betrieb kann das Stilllegen der Verbindung umfassen und ein Initialisierungsanfangs-Zustand/Signal kann für den zu entfernenden Agenten gelöscht werden. Ein entfernter Agent (d. h. einer, der nicht entfernt wird (z. B. der Hauptrechneragent)) kann auf langsame Geschwindigkeit gesetzt werden und sein Initialisierungssignal kann auch gelöscht werden. Ein bandinternes Rücksetzen (z. B. durch BLS) kann verursachen, dass beide Agenten in einem Rücksetzzustand warten, wie z. B. einem Kalibrierungsrücksetzzustand (CRS); und der zu entfernende Agent kann entfernt werden (oder kann in gezieltem Anschlussstiftrücksetzen abgeschaltet gehalten werden), unter anderen Beispielen und Merkmalen. Tatsächlich können einige der obigen Ereignisse weggelassen werden und zusätzliche Ereignisse können hinzugefügt werden.
  • Hinzufügen im laufenden Betrieb kann umfassen, dass die Initialisierungsgeschwindigkeit auf langsam vorgegeben wird, und ein Initialisierungssignal kann am hinzuzufügenden Agenten festgelegt werden. Die Software kann die Geschwindigkeit auf langsam setzen und kann das Initialisierungssignal am entfernten Agenten löschen. Die Verbindung kann im langsamen Modus hochkommen und die Software kann eine Betriebsgeschwindigkeit bestimmen. In einigen Fällen wird an diesem Punkt keine PLL-Wiederverriegelung eines entfernten durchgeführt. Die Betriebsgeschwindigkeit kann an beiden Agenten festgelegt werden und eine Freigabe kann zur Anpassung gesetzt werden (wenn nicht vorher durchgeführt). Der Initialisierungsbeginnindikator kann an beiden Agenten gelöscht werden und ein bandinternes BLS-Rücksetzen kann verursachen, dass beide Agenten im CRS warten. Die Software kann ein warmes Rücksetzen (z. B. ein gezieltes oder Selbstrücksetzen) eines (hinzuzufügenden) Agenten aktivieren, was verursachen kann, dass ein PLL erneut verriegelt. Die Software kann auch das Initialisierungsbeginnsignal durch irgendeine bekannte Logik setzen und ferner am entfernten setzen (was es folglich in den Empfängerdetektionszustand (RDS) vorbringt). Die Software kann das warme Rücksetzen des Hinzufügungsagenten deaktivieren (was es folglich in den RDS vorbringt). Die Verbindung kann dann mit der Betriebsgeschwindigkeit in einen Übertragungsverbindungszustand (TLS) unter anderen Beispielen initialisieren (oder auf Prüfschleife, wenn das Anpassungssignal gesetzt wird). Einige der obigen Ereignisse können tatsächlich weggelassen werden und zusätzliche Ereignisse können hinzugefügt werden.
  • Eine Datenbahnausfallrückgewinnung kann unterstützt werden. Eine Verbindung in HPI kann in einer Ausführungsform robust gegen einen harten Fehler auf einer einzigen Bahn durch Selbstkonfigurieren auf weniger als die volle Breite (z. B. weniger als die halbe volle Breite) sein, was dadurch die fehlerhafte Bahn ausschließen kann. Als Beispiel kann die Konfiguration durch die Verbindungszustandsmaschine durchgeführt werden und unbenutzte Bahnen können im Konfigurationszustand ausgeschaltet werden. Folglich kann das Flit mit einer schmäleren Breite unter anderen Beispielen darüber gesendet werden.
  • In einigen Implementierungen von HPI kann eine Bahnumkehr auf einigen Verbindungen unterstützt werden. Die Bahnumkehr kann sich beispielsweise auf die Bahnen 0/1/2... eines Senders beziehen, der mit den Bahnen n/n–1/n–2... eines Empfängers verbunden ist (z. B. kann n gleich 19 oder 7 usw. sein). Die Bahnumkehr kann am Empfänger detektiert werden, wie in einem Feld eines TS-Kopfs identifiziert. Der Empfänger kann die Bahnumkehr durch Starten in einem Abfragezustand unter Verwendung der physikalischen Bahn n...0 für die logische Bahn 0..n handhaben. Daher können sich Bezugnahmen auf eine Bahn auf eine logische Bahnnummer beziehen. Daher können Platinenkonstrukteure effizienter die physikalische oder elektrische Konstruktion verlegen und HPI kann mit virtuellen Bahnzuweisungen arbeiten, wie hier beschrieben. überdies kann in einer Ausführungsform die Polarität umgekehrt werden (d. h. wenn ein differentieller Sender +/– mit einem Empfänger –/+ verbunden ist. Die Polarität kann auch an einem Empfänger aus einem oder mehreren TS-Kopffeldern detektiert und in einer Ausführungsform im Abfragezustand gehandhabt werden.
  • Mit Bezug auf 11 ist eine Ausführungsform eines Blockdiagramms für ein Rechensystem mit einem Mehrkernprozessor dargestellt. Der Prozessor 1100 umfasst irgendeinen Prozessor oder eine Verarbeitungsvorrichtung wie z. B. einen Mikroprozessor, einen eingebetteten Prozessor, einen Digitalsignalprozessor (DSP), einen Netzprozessor, einen in der Hand gehaltenen Prozessor, einen Anwendungsprozessor, einen Coprozessor, ein System auf einem Chip (SOC) oder eine andere Vorrichtung zum Ausführen eines Codes. Der Prozessor 1100 umfasst in einer Ausführungsform mindestens zwei Kerne – Kern 1101 und 1102, die asymmetrische Kerne oder symmetrische Kerne (die dargestellte Ausführungsform) umfassen können. Der Prozessor 1100 kann jedoch eine beliebige Anzahl von Verarbeitungselementen umfassen, die symmetrisch oder asymmetrisch sein können.
  • In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik zum Unterstützen eines Softwareablaufs. Beispiele von Hardwareverarbeitungselementen umfassen: eine Ablaufeinheit, einen Ablaufschlitz, einen Ablauf, eine Prozesseinheit, einen Kontext, eine Kontexteinheit, einen logischen Prozessor, einen Hardwareablauf, einen Kern und/oder irgendein anderes Elements, das in der Lage ist, einen Zustand für einen Prozessor zu halten, wie z. B. einen Ausführungszustand oder Architekturzustand. Mit anderen Worten, ein Verarbeitungselement bezieht sich in einer Ausführungsform auf irgendeine Hardware, die unabhängig einem Code zugeordnet werden kann, wie z. B. Softwareablauf, Betriebssystem, Anwendung oder anderer Code. Ein physikalischer Prozessor (oder Prozessorsockel) bezieht sich typischerweise auf eine integrierte Schaltung, die potentiell irgendeine Anzahl von anderen Verarbeitungselementen wie z. B. Kerne oder Hardwareabläufe umfasst.
  • Ein Kern bezieht sich häufig auf eine Logik, die in einer integrierten Schaltung angeordnet ist, die einen unabhängigen Architekturzustand aufrechterhalten kann, wobei jeder unabhängig aufrechterhaltene Architekturzustand mindestens einigen zweckgebundenen Ausführungsressourcen zugeordnet ist. Im Gegensatz zu Kernen bezieht sich ein Hardwareablauf typischerweise auf irgendeine Logik, die in einer integrierten Schaltung angeordnet ist, die einen unabhängigen Architekturzustand aufrechterhalten kann, wobei die unabhängig aufrechterhaltenen Architekturzustände sich den Zugriff auf Ausführungsressourcen teilen. Wie zu sehen ist, wenn bestimmte Ressourcen gemeinsam genutzt werden und andere für einen Architekturzustand zweckgebunden sind, überlappt die Linie zwischen der Nomenklatur eines Hardwareablaufs und eines Kerns. Dennoch werden häufig ein Kern und ein Hardwareablauf durch ein Betriebssystem als individuelle logische Prozessoren betrachtet, wobei das Betriebssystem Operationen an jedem logischen Prozessor individuell planen kann.
  • Der physikalische Prozessor 1100, wie in 11 dargestellt, umfasst zwei Kerne – Kern 1101 und 1102. Hier werden der Kern 1101 und 1102 als symmetrische Kerne betrachtet, d. h. Kerne mit denselben Konfigurationen, Funktionseinheiten und/oder derselben Logik. In einer anderen Ausführungsform umfasst der Kern 1101 einen Prozessorkern außer der Reihe, während der Kern 1102 einen Prozessorkern in der Reihe umfasst. Die Kerne 1101 und 1102 können jedoch individuell aus irgendeinem Typ von Kern ausgewählt sein, wie z. B. einem nativen Kern, einem durch Software gemanagten Kern, einem Kern, der dazu ausgelegt ist, eine native Befehlssatzarchitektur (ISA) auszuführen, einem Kern, der dazu ausgelegt ist, eine umgesetzte Befehlssatzarchitektur (ISA) auszuführen, einem mitgestalteten Kern oder einem anderen bekannten Kern. In einer heterogenen Kernumgebung (d. h. asymmetrische Kerne) kann eine gewisse Form von Umsetzung wie z. B. binäre Umsetzung verwendet werden, um einen Code an einem oder beiden Kernen zu planen oder auszuführen. Um die Erörterung noch zu fördern, werden die Funktionseinheiten, die im Kern 1101 dargestellt sind, nachstehend genauer beschrieben, da die Einheiten im Kern 1102 in der dargestellten Ausführungsform in einer ähnlichen Weise arbeiten.
  • Wie dargestellt, umfasst der Kern 1101 zwei Hardwareabläufe 1101a und 1101b, die auch als Hardwareablaufschlitze 1101a und 1101b bezeichnet werden können. Daher betrachten Softwareentitäten wie z. B. ein Betriebssystem in einer Ausführungsform potentiell den Prozessor 1100 als vier separate Prozessoren, d. h. vier logische Prozessoren oder Verarbeitungselemente, die in der Lage sind, gleichzeitig vier Softwareabläufe auszuführen. Wie vorstehend angesprochen, ist ein erster Ablauf Architekturzustandsregistern 1101a zugeordnet, ein zweiter Ablauf ist Architekturzustandsregistern 1101b zugeordnet, ein dritter Ablauf kann Architekturzustandsregistern 1102a zugeordnet sein und ein vierter Ablauf kann Architekturzustandsregistern 1102b zugeordnet sein. Hier kann jedes der Architekturzustandsregister (1101a, 1101b, 1102a und 1102b) als Verarbeitungselemente, Ablaufschlitze oder Ablaufeinheiten bezeichnet werden, wie vorstehend beschrieben. Wie dargestellt, sind die Architekturzustandsregister 1101a in die Architekturzustandsregister 1101b kopiert, so dass individuelle Architekturzustände/-kontexte für den logischen Prozessor 1101a und logischen Prozessor 1101b gespeichert werden können. Im Kern 1101 können andere kleinere Ressourcen wie z. B. Befehlszeiger und Umbenennungslogik im Zuweisungs- und Umbenennungsblock 1130 auch für die Abläufe 1101a und 1101b kopiert sein. Einige Ressourcen wie z. B. Umordnungspuffer in der Umordnungs-/Rückzugseinheit 1135, ILTB 1120, Lade/Speicher-Puffer und Warteschlangen können durch Partitionierung gemeinsam genutzt werden. Andere Ressourcen wie z. B. interne Universalregister, (ein) Seiten-Tabellen-Basis-Register, Datencache und Daten-TLB 1115 niedriger Ebene, (eine) Ausführungseinheiten) 1140 und Abschnitte einer Einheit 1135 außer der Reihe werden potentiell vollständig gemeinsam genutzt.
  • Der Prozessor 1100 umfasst häufig andere Ressourcen, die vollständig gemeinsam genutzt, durch Partitionierung gemeinsam genutzt oder durch/für Verarbeitungselemente zweckgebunden sein können. In 11 ist eine Ausführungsform eines rein beispielhaften Prozessors mit erläuternden logischen Einheiten/Ressourcen eines Prozessors dargestellt. Es ist zu beachten, dass ein Prozessor irgendeine dieser Funktionseinheiten umfassen oder weglassen kann, sowie beliebige andere bekannte Funktionseinheiten, Logik oder Firmware, die nicht dargestellt sind, umfassen kann. Wie dargestellt, umfasst der Kern 1101 einen vereinfachten, repräsentativen Prozessorkern außer der Reihe (OOO). Aber ein Prozessor in der Reihe kann in verschiedenen Ausführungsformen verwendet werden. Der OOO-Kern umfasst einen Zweigzielpuffer 1120, um auszuführende/zu nehmende Zweige vorherzusagen, und einen Befehlsumsetzungspuffer (I-TLB) 1120, um Adressenumsetzungseinträge für Befehle zu speichern.
  • Der Kern 1101 umfasst ferner ein Decodiermodul 1125, das mit einer Abrufeinheit 1120 gekoppelt ist, um abgerufene Elemente zu decodieren. Die Abruflogik umfasst in einer Ausführungsform individuelle Sequenzer, die jeweils den Ablaufschlitzen 1101a, 1101b zugeordnet sind. Gewöhnlich ist der Kern 1101 einer ersten ISA zugeordnet, die Befehle definiert/festlegt, die auf dem Prozessor 1100 ausführbar sind. Häufig umfassen Maschinencodebefehle, die ein Teil der ersten ISA sind, einen Abschnitt des Befehls (als Operationscode bezeichnet), der auf einen durchzuführenden Befehl oder eine durchzuführende Operation Bezug nimmt/diese angibt. Die Decodierlogik 1125 umfasst eine Schaltungsanordnung, die diese Befehle aus ihren Operationscodes erkennt und die decodierten Befehle in der Pipeline zur Verarbeitung weiterleitet, wie durch die erste ISA definiert. Wie nachstehend genauer erörtert, umfassen beispielsweise Decodierer 1125 in einer Ausführungsform eine Logik, die dazu entworfen oder ausgelegt ist, spezifische Befehle zu erkennen, wie z. B. einen Transaktionsbefehl. Infolge der Erkennung durch die Decodierer 1125 unternimmt die Architektur oder der Kern 1101 spezifische, vordefinierte Handlungen, um Aufgaben durchzuführen, die dem geeigneten Befehl zugeordnet sind. Es ist wichtig zu beachten, dass irgendeine der Aufgaben, Blöcke, Operationen und Verfahren, die hier beschrieben sind, in Reaktion auf einen einzelnen oder mehrere Befehle durchgeführt werden können; von denen einige neue oder alte Befehle sein können. Es ist zu beachten, dass die Decodierer 1126 in einer Ausführungsform dieselbe ISA (oder eine Teilmenge davon) erkennen. Alternativ erkennen in einer heterogenen Kernumgebung die Decodierer 1126 eine zweite ISA (entweder eine Teilmenge der ersten ISA oder eine unterschiedliche ISA).
  • In einem Beispiel umfasst der Zuweisungs- und Umbenennungsblock 1130 eine Zuweisungseinrichtung, um Ressourcen zu reservieren, wie z. B. Registerdateien, um Befehlsverarbeitungsergebnisse zu speichern. Die Abläufe 1101a und 1101b sind jedoch potentiell in der Lage zur Ausführung außer der Reihe, wobei der Zuweisungs- und Umbenennungsblock 1130 auch andere Ressourcen reserviert, wie z. B. Umordnungspuffer, um Befehlsergebnisse zu verfolgen. Die Einheit 1130 kann auch eine Registerumbenennungseinrichtung umfassen, um Programm/Befehls-Referenzregister in andere Register innerhalb des Prozessors 1100 umzubenennen. Die Umordnungs/Rückzugseinheit 1135 umfasst Komponenten wie z. B. die vorstehend erwähnten Umordnungspuffer, Ladepuffer und Speicherpuffer, um die Ausführung außer der Reihe und den späteren Rückzug in der Reihe von Befehlen, die außer der Reihe ausgeführt werden, zu unterstützen.
  • Der Planungs- und Ausführungseinheitsblock 1140 umfasst in einer Ausführungsform eine Planungseinheit, um Befehle/Betrieb an Ausführungseinheiten zu planen. Ein Gleitkommabefehl wird beispielsweise an einem Port einer Ausführungseinheit geplant, die eine verfügbare Gleitkomma-Ausführungseinheit aufweist. Registerdateien, die den Ausführungseinheiten zugeordnet sind, sind auch enthalten, um Informationsbefehlsverarbeitungsergebnisse zu speichern. Beispielhafte Ausführungseinheiten umfassen eine Gleitkomma-Ausführungseinheit, eine Ganzzahlen-Ausführungseinheit, eine Sprungausführungseinheit, eine Ladeausführungseinheit, eine Speicherausführungseinheit und andere bekannte Ausführungseinheiten.
  • Ein Datencache niedrigerer Ebene und ein Datenumsetzungspuffer (D-TLB) 1150 sind mit der (den) Ausführungseinheit(en) 1140 gekoppelt. Der Datencache soll kürzlich verwendete/bearbeitete Elemente wie z. B. Datenoperanden speichern, die potentiell in Speicherkohärenzzuständen gehalten werden. Der D-TLB soll neue Umsetzungen von virtueller/linearer in physikalische Adresse speichern. Als spezifisches Beispiel kann ein Prozessor eine Seitentabellenstruktur umfassen, um den physikalischen Speicher in mehrere virtuelle Seiten aufzuteilen.
  • Hier teilen sich die Kerne 1101 und 1102 den Zugriff auf einen Cache höherer Ebene oder weiter draußen, wie z. B. einen Cache zweiter Ebene, der einer Schnittstelle 1110 auf dem Chip zugeordnet ist. Es ist zu beachten, dass sich höhere Ebene oder weiter draußen auf Cacheebenen bezieht, die von der (den) Ausführungseinheit(en) zunehmen oder weiter weg gelangen. In einer Ausführungsform ist ein Cache höherer Ebene ein Datencache der letzten Ebene – der letzte Cache in der Speicherhierarchie im Prozessor 1100 – wie z. B. ein Datencache zweiter oder dritter Ebene. Der Cache höherer Ebene ist jedoch nicht so begrenzt, da er einem Befehlscache zugeordnet sein kann oder diesen umfassen kann. Ein Spurencache – ein Typ eines Befehlscaches – kann stattdessen nach dem Decodierer 1125 gekoppelt sein, um kürzlich decodierte Spuren zu speichern. Hier bezieht sich ein Befehl potentiell auf einen Makrobefehl (d. h. einen allgemeinen Befehl, der von den Decodierern erkannt wird), der in eine Anzahl von Mikrobefehlen (Mikrooperationen) decodieren kann.
  • In der dargestellten Konfiguration umfasst der Prozessor 1100 auch ein Schnittstellenmodul 1110 auf dem Chip. Historisch wurde eine Speichersteuereinheit, die nachstehend genauer beschrieben wird, in ein Rechensystem außerhalb des Prozessors 1100 aufgenommen. In diesem Szenario soll die Schnittstelle 111 auf dem Chip mit Vorrichtungen außerhalb des Prozessors 1100 wie z. B. dem Systemspeicher 1175, einem Chipsatz (häufig mit einem Speichersteuereinheitsknotenpunkt, um mit dem Speicher 1175 zu verbinden, und einem E/A-Steuereinheitsknotenpunkt, um Peripheriegeräte zu verbinden), einem Speichersteuereinheitsknotenpunkt, einer Northbridge oder einer integrierten Schaltung kommunizieren. Und in diesem Szenario kann der Bus 1105 irgendeine bekannte Zusammenschaltung wie z. B. einen Multidrop-Bus, eine Punkt-zu-Punkt-Zusammenschaltung, eine serielle Zusammenschaltung, einen parallelen Bus, einen kohärenten (z. B. Cache-kohärenten) Bus, eine Schichtenprotokollarchitektur, einen differentiellen Bus und einen GTL-Bus umfassen.
  • Der Speicher 1175 wurde für den Prozessor 1100 zweckgebunden oder mit anderen Vorrichtungen in einem System gemeinsam genutzt. Übliche Beispiele von Typen von Speicher 1175 umfassen DRAM, SRAM, einen nichtflüchtigen Speicher (NV-Speicher) und andere bekannte Speichervorrichtungen. Es ist zu beachten, dass die Vorrichtung 1180 einen Graphikbeschleuniger, einen Prozessor oder eine Karte, die mit einem Speichersteuereinheitsknotenpunkt gekoppelt ist, einen Datenspeicher, der mit einem E/A-Steuereinheitsknotenpunkt gekoppelt ist, einen drahtlosen Sender/Empfänger, eine Flash-Vorrichtung, eine Audiosteuereinheit, eine Netzsteuereinheit oder eine andere bekannte Vorrichtung umfassen kann.
  • Da jedoch in letzter Zeit mehr Logik und Vorrichtungen auf einem einzelnen Chip integriert werden, wie z. B. SOC, kann jede dieser Vorrichtungen in den Prozessor 1100 integriert sein. In einer Ausführungsform befindet sich beispielsweise ein Speichersteuereinheitsknotenpunkt auf demselben Baustein und/oder Chip mit dem Prozessor 1100. Hier umfasst ein Abschnitt des Kerns (ein Abschnitt am Kern) 1110 eine oder mehrere Steuereinheit(en) zum Koppeln mit anderen Vorrichtungen wie z. B. dem Speicher 1175 oder einer Graphikvorrichtung 1180 über eine Schnittstelle. Die Konfiguration mit einer Zusammenschaltung und Steuereinheiten zum Koppeln mit solchen Vorrichtungen über eine Schnittstelle wird häufig als am Kern (oder Uncore-Konfiguration) bezeichnet. Als Beispiel umfasst die Schnittstelle 1110 auf dem Chip eine Ringzusammenschaltung für die Kommunikation auf dem Chip und eine serielle Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung 1105 für die Kommunikation außerhalb des Chips. Dennoch können in der SOC-Umgebung noch mehr Vorrichtungen wie z. B. die Netzschnittstelle, Coprozessoren, der Speicher 1175, der Graphikprozessor 1180 und beliebige bekannte Computervorrichtungen/eine beliebige Schnittstelle auf einem einzelnen Chip oder einer integrierten Schaltung integriert sein, um einen kleinen Formfaktor mit hoher Funktionalität und niedrigem Leistungsverbrauch zu schaffen.
  • In einer Ausführungsform ist der Prozessor 1100 in der Lage, einen Kompilierer, eine Optimierung und/oder einen Übersetzercode 1177 auszuführen, um einen Anwendungscode 1176 zu kompilieren, zu übersetzen und/oder zu optimieren, um die Geräte und Verfahren, die hier beschrieben sind, zu unterstützen oder damit über eine Schnittstelle zu koppeln. Ein Kompilierer umfasst häufig ein Programm oder einen Satz von Programmen, um einen Quellentext/Quellencode in einen Zieltext/Zielcode zu übersetzen. Gewöhnlich wird eine Kompilierung eines Programms/Anwendungscodes mit einem Kompilierer in mehreren Phasen und Durchgängen durchgeführt, um einen Programmiersprachencode hoher Ebene in einen Maschinen- oder Assemblersprachencode niedriger Ebene zu transformieren. Dennoch können Kompilierer mit einzigem Durchgang immer noch für eine einfache Kompilierung verwendet werden. Ein Kompilierer kann beliebige bekannte Kompilierungstechniken verwenden und beliebige bekannte Kompiliereroperationen durchführen, wie z. B. lexikalische Analyse, Vorverarbeitung, syntaktische Analyse, semantische Analyse, Codeerzeugung, Codetransformation und Codeoptimierung.
  • Größere Kompilierer umfassen häufig mehrere Phasen, aber am häufigsten sind diese Phasen innerhalb zwei allgemeinen Phasen enthalten: (1) ein Vorderende, d. h. wo im Allgemeinen eine syntaktische Verarbeitung, semantische Verarbeitung und eine gewisse Transformation/Optimierung stattfinden können, und (2) ein Hinterende, d. h. wo im Allgemeinen Analyse, Transformationen, Optimierungen und Codeerzeugung stattfinden. Einige Kompilierer beziehen sich auf eine Mitte, die die Unschärfe der Abgrenzung zwischen einem Vorderende und Hinterende eines Kompilierers darstellt. Folglich kann eine Bezugnahme auf Einfügung, Zuordnung, Erzeugung oder eine andere Operation eines Kompilierers in irgendeiner der vorstehend erwähnten Phasen oder Durchgänge sowie irgendwelchen anderen bekannten Phasen oder Durchgängen eines Kompilierers stattfinden. Als erläuterndes Beispiel fügt ein Kompilierer potentiell Operationen, Aufrufe, Funktionen usw. in einer oder mehreren Kompilierungsphasen ein, wie z. B. Einfügung von Aufrufen/Operationen in einer Vorderendphase der Kompilierung und dann Transformation der Aufrufe/Operationen in einen Code niedrigerer Ebene während einer Transformationsphase. Es ist zu beachten, dass während der dynamischen Kompilierung der Kompilierercode oder dynamische Optimierungscode solche Operationen/Aufrufe einfügen sowie den Code für die Ausführung während der Laufzeit optimieren kann. Als spezifisches erläuterndes Beispiel kann der binäre Code (bereits kompilierter Code) dynamisch während der Laufzeit optimiert werden. Hier kann der Programmcode den dynamischen Optimierungscode, den binären Code oder eine Kombination davon umfassen.
  • Ähnlich zu einem Kompilierer übersetzt ein Übersetzer wie z. B. ein binärer Übersetzer den Code entweder statisch oder dynamisch, um den Code zu optimieren und/oder zu übersetzen. Daher kann sich eine Bezugnahme auf die Ausführung eines Codes, Anwendungscodes, Programmcodes oder einer anderen Softwareumgebung beziehen auf: (1) die Ausführung eines Kompiliererprogramms (von Kompiliererprogrammen), eines Optimierungscodeoptimierers oder Übersetzers entweder dynamisch oder statisch, um einen Programmcode zu kompilieren, Softwarestrukturen aufrechtzuerhalten, andere Operationen durchzuführen, den Code zu optimieren oder den Code zu übersetzen; (2) Ausführung eines Hauptprogrammcodes mit Operationen/Aufrufen, wie z. B. eines Anwendungscodes, der optimiert/kompiliert wurde; (3) Ausführung eines anderen Programmcodes wie z. B. Bibliotheken, die dem Hauptprogrammcode zugeordnet sind, um Softwarestrukturen aufrechtzuerhalten, andere auf Software bezogene Operationen durchzuführen oder den Code zu optimieren; oder (4) eine Kombination davon.
  • Mit Bezug auf 12 ist ein Blockdiagramm einer Ausführungsform eines Mehrkern-Prozessors gezeigt. Wie in der Ausführungsform von 12 gezeigt, umfasst der Prozessor 1200 mehrere Domänen. Insbesondere umfasst eine Kerndomäne 1230 mehrere Kerne 1230A1230N, eine Graphikdomäne 1260 umfasst eine oder mehrere Graphikmaschinen mit einer Medienmaschine 1265 und eine Systemagentendomäne 1210.
  • In verschiedenen Ausführungsformen behandelt die Systemagentendomäne 1210 Leistungssteuerereignisse und Leistungsmanagement, so dass individuelle Einheiten der Domänen 1230 und 1260 (z. B. Kerne und/oder Graphikmaschinen) unabhängig steuerbar sind, um dynamisch in einem geeigneten Leistungsmodus/einer geeigneten Ebene zu arbeiten (z. B. einem aktiven, Turbo-, Schlaf-, Winterschlaf-, Tiefschlaf- oder anderen Zustand nach Art einer fortschrittlichen Konfigurationsleistungsschnittstelle) angesichts der Aktivität (oder Inaktivität), die in der gegebenen Einheit stattfindet. Jede der Domänen 1230 und 1260 kann mit unterschiedlicher Spannung und/oder Leistung arbeiten und ferner arbeiten die individuellen Einheiten innerhalb der Domänen jeweils potentiell mit einer unabhängigen Frequenz und Spannung. Es ist zu beachten, dass, obwohl nur mit drei Domänen gezeigt, selbstverständlich der Schutzbereich der vorliegenden Erfindung nicht in dieser Hinsicht begrenzt ist und zusätzliche Domänen in anderen Ausführungsformen vorhanden sein können.
  • Wie gezeigt, umfasst jeder Kern 1230 ferner Caches niedriger Ebene zusätzlich zu verschiedenen Ausführungseinheiten und zusätzliche Verarbeitungselemente. Hier sind die verschiedenen Kerne miteinander und mit einem gemeinsam genutzten Cache-Speicher, der aus mehrere Einheiten oder Stücken eines Caches letzter Ebene (LLC) 1240A1240N ausgebildet ist, gekoppelt; diese LLCs umfassen häufig eine Speicher- und Cache-Steuereinheitsfunktionalität und werden unter den Kernen sowie potentiell auch unter der Graphikmaschine gemeinsam genutzt.
  • Wie zu sehen, koppelt eine Ringzusammenschaltung 1250 die Kerne miteinander und schafft eine Zusammenschaltung zwischen der Kerndomäne 1230, der Graphikdomäne 1260 und der Systemagentenschaltungsanordnung 1210 über mehrere Ringstopps 1252A1252N jeweils an einer Kopplung zwischen einem Kern und LLC-Stück. Wie in 12 zu sehen ist, wird die Zusammenschaltung 1250 verwendet, um verschiedene Informationen zu übertragen, einschließlich Adresseninformationen, Dateninformationen, Bestätigungsinformationen und Spionage-/ungültige Informationen. Obwohl eine Ringzusammenschaltung dargestellt ist, kann irgendeine bekannte Zusammenschaltung auf dem Chip oder Gebilde verwendet werden. Als erläuterndes Beispiel können einige der vorstehend erörterten Gebilde (z. B. eine andere Zusammenschaltung auf dem Chip, ein Systemgebilde auf dem Chip (OSF), eine fortschrittliche Mikrocontrollerbusarchitektur-Zusammenschaltung (AMBA-Zusammenschaltung), ein mehrdimensionales Netzgebilde oder eine andere bekannte Zusammenschaltungsarchitektur) in einer ähnlichen Weise verwendet werden.
  • Wie weiter dargestellt, umfasst die Systemagentendomäne 1210 eine Anzeigemaschine 1212, die eine Steuerung von und eine Schnittstelle zu einer zugehörigen Anzeige bereitstellen soll. Die Systemagentendomäne 1210 kann andere Einheiten umfassen, wie z. B.: eine integrierte Speichersteuereinheit 1220, die eine Schnittstelle zu einem Systemspeicher bereitstellt (z. B. einem DRAM, der mit mehreren DIMMs implementiert wird); eine Kohärenzlogik 1222, um Speicherkohärenzoperationen durchzuführen. Mehrere Schnittstellen können vorhanden sein, um eine Zusammenschaltung zwischen dem Prozessor und einer anderen Schaltungsanordnung zu ermöglichen. In einer Ausführungsform ist beispielsweise mindestens eine direkte Medienschnittstelle (DMI) 1216 sowie eine oder mehrere PCIeTM-Schnittstellen 1214 vorgesehen. Die Anzeigemaschine und diese Schnittstellen koppeln typischerweise mit einem Speicher über eine PCIeTM-Brücke 1218. Um Kommunikationen zwischen anderen Agenten zu schaffen, wie z. B. zusätzlichen Prozessoren oder einer anderen Schaltungsanordnung, können noch ferner eine oder mehrere andere Schnittstellen vorgesehen sein.
  • Mit Bezug auf 13 ist ein Blockdiagramm eines repräsentativen Kerns gezeigt; insbesondere logische Blöcke eines Hinterendes eines Kerns wie z. B. des Kerns 1230 von 12. Im Allgemeinen umfasst die in 13 gezeigte Struktur einen Prozessor außer der Reihe, der eine Vorderendeinheit 1370 aufweist, die verwendet wird, um ankommende Befehle abzurufen, eine unterschiedliche Verarbeitung (z. B. Cachen, Decodieren, Zweigvorhersage usw.) durchzuführen, und Befehle/Operationen entlang einer Maschine 1380 außer der Reihe (OOO) zu leiten. Die OOO-Maschine 1380 führt eine weitere Verarbeitung an decodierten Befehlen durch.
  • Insbesondere umfasst in der Ausführungsform von 13 die Maschine 1380 außer der Reihe eine Zuweisungseinheit 1382, um decodierte Befehle, die in Form von einem oder mehreren Mikrobefehlen oder uops vorliegen können, von der Vorderendeinheit 1370 zu empfangen und sie geeigneten Ressourcen wie z. B. Registern und so weiter zuzuweisen. Als nächstes werden die Befehle zu einer Reservierungsstation 1384 geliefert, die Ressourcen reserviert und sie für die Ausführung an einer von mehreren Ausführungseinheiten 1386A1386N plant. Verschiedene Typen von Ausführungseinheiten können vorhanden sein, einschließlich unter anderen beispielsweise arithmetischen Logikeinheiten (ALUs), Lade- und Speichereinheiten, Vektorverarbeitungseinheiten (VPUs), Gleitkomma-Ausführungseinheiten. Die Ergebnisse von diesen verschiedenen Ausführungseinheiten werden zu einem Umordnungspuffer (ROB) 1388 geliefert, der ungeordnete Ergebnisse annimmt und sie in der korrekten Programmreihenfolge zurückgibt.
  • Immer noch mit Bezug auf 13 ist zu beachten, dass sowohl die Vorderendeinheit 1370 als auch die Maschine 1380 außer der Reihe mit verschiedenen Ebenen einer Speicherhierarchie gekoppelt sind. Insbesondere ist ein Befehlsebenencache 1372 gezeigt, der wiederum mit einem Cache 1376 mittlerer Ebene koppelt, der wiederum mit einem Cache 1395 letzter Ebene koppelt. In einer Ausführungsform wird der Cache 1395 letzter Ebene in einer Einheit 1390 auf dem Chip (manchmal als Uncore bezeichnet) implementiert. Als Beispiel ist die Einheit 1390 ähnlich zum Systemagenten 1210 von 12. Wie vorstehend erörtert, kommuniziert der Uncore 1390 mit dem Systemspeicher 1399, der in der dargestellten Ausführungsform über einen ED-RAM implementiert wird. Es ist auch zu beachten, dass die verschiedenen Ausführungseinheiten 1386 innerhalb der Maschine 1380 außer der Reihe mit einem Cache 1374 erster Ebene in Kommunikation stehen, der auch mit einem Cache 1376 mittlerer Ebene in Kommunikation steht. Es ist auch zu beachten, dass zusätzliche Kerne 1330N-21330N mit LLC 1395 koppeln können. Obwohl in der Ausführungsform von 13 auf dieser hohen Ebene gezeigt, können selbstverständlich verschiedene Änderungen und zusätzliche Komponenten vorhanden sein.
  • Wenn man sich 14 zuwendet, ist ein Blockdiagramm eines beispielhaften Computersystems, das mit einem Prozessor ausgebildet ist, der Ausführungseinheiten umfasst, um einen Befehl auszuführen, wobei eine oder mehrere der Zusammenschaltungen ein oder mehrere Merkmale gemäß einer Ausführungsform der vorliegenden Erfindung implementieren, dargestellt. Das System 1400 umfasst eine Komponente wie z. B. einen Prozessor 1402, um Ausführungseinheiten mit einer Logik zu verwenden, um Algorithmen für Prozessdaten gemäß der vorliegenden Erfindung durchzuführen, wie z. B. in der hier beschriebenen Ausführungsform. Das System 1400 ist für Verarbeitungssysteme auf der Basis der Mikroprozessoren PENTIUM IIITM, PENTIUM 4TM, XeonTM, Itanium, XScaleTM und/oder StrongARMTM repräsentativ, obwohl andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, Konstruktionsarbeitsplatzrechner, Digitalempfänger und dergleichen) auch verwendet werden können. In einer Ausführungsform führt das Mustersystem 1400 eine Version des WINDOWSTM-Betriebssystems aus, das von Microsoft Corporation in Redmond, Washington, erhältlich ist, obwohl andere Betriebssysteme (beispielsweise UNIX und Linux), eingebettete Software und/oder graphische Benutzerschnittstellen auch verwendet werden können. Folglich sind die Ausführungsformen der vorliegenden Erfindung nicht auf irgendeine spezifische Kombination einer Hardwareschaltungsanordnung und Software begrenzt.
  • Ausführungsformen sind nicht auf Computersysteme begrenzt. Alternative Ausführungsformen der vorliegenden Erfindung können in anderen Vorrichtungen verwendet werden, wie z. B. in der Hand gehaltenen Vorrichtungen und eingebetteten Anwendungen. Einige Beispiele von in der Hand gehaltenen Vorrichtungen umfassen Mobiltelefone, Internetprotokollvorrichtungen, Digitalkameras, persönliche digitale Assistenten (PDAs) und in der Hand gehaltene PCs. Eingebettete Anwendungen können einen Mikrocontroller, einen Digitalsignalprozessor (DSP), ein System auf einem Chip, Netzcomputer (NetPC), Digitalempfänger, Netzknotenpunkte, Schalter eines weiträumigen Netzes (WAN) oder irgendein anderes System, das einen oder mehrere Befehle gemäß mindestens einer Ausführungsform durchführen kann, umfassen.
  • In dieser dargestellten Ausführungsform umfasst der Prozessor 1402 eine oder mehrere Ausführungseinheiten 1408, um einen Algorithmus zu implementieren, der mindestens einen Befehl durchführen soll. Eine Ausführungsform kann im Zusammenhang mit einem Einzel-Prozessor-Desktop- oder Serversystem beschrieben werden, aber alternative Ausführungsformen können in einem Mehrprozessorsystem enthalten sein. Das System 1400 ist ein Beispiel einer ”Knotenpunkt”-Systemarchitektur. Das Computersystem 1400 umfasst einen Prozessor 1402, um Datensignale zu verarbeiten. Der Prozessor 1402 umfasst als ein erläuterndes Beispiel einen Computermikroprozessor mit komplexem Befehlssatz (CISC-Mikroprozessor), einen Rechenmikroprozessor mit verringertem Befehlssatz (RISC-Mikroprozessor), einen Mikroprozessor für sehr lange Befehlsworte (VLIW-Mikroprozessor), einen Prozessor, der eine Kombination von Befehlssätzen implementiert, oder irgendeine andere Prozessorvorrichtung wie beispielsweise einen Digitalsignalprozessor. Der Prozessor 1402 ist mit einem Prozessorbus 1410 gekoppelt, der Datensignale zwischen dem Prozessor 1402 und anderen Komponenten im System 1400 überträgt. Die Elemente des Systems 1400 (z. B. Graphikbeschleuniger 1412, Speichersteuereinheitsknotenpunkt 1416, Speicher 1420, E/A-Steuereinheitsknotenpunkt 1424, drahtloser Sender/Empfänger 1426, Flash-BIOS 1428, Netzsteuereinheit 1434, Audiosteuereinheit 1436, serieller Erweiterungsport 1438, E/A-Steuereinheit 1440 usw.) führen ihre herkömmlichen Funktionen durch, die dem Fachmann auf dem Gebiet gut bekannt sind.
  • In einer Ausführungsform umfasst der Prozessor 1402 einen internen Cachespeicher 1404 der Ebene 1 (L1). In Abhängigkeit von der Architektur kann der Prozessor 1402 einen einzelnen internen Cache oder mehrere Ebenen von internen Caches aufweisen. Andere Ausführungsformen umfassen eine Kombination von sowohl internen als auch externen Caches in Abhängigkeit von der speziellen Implementierung und den Bedürfnissen. Die Registerdatei 1406 soll verschiedene Typen von Daten in verschiedenen Registern speichern, einschließlich Ganz zahlenregistern, Gleitkommaregistern, Vektorregistern, überhöhten Registern, Schattenregistern, Prüfpunktregistern, Statusregistern und Befehlszeigerregistern.
  • Die Ausführungseinheit 1408 mit einer Logik, um Ganzzahlen- und Gleitkommaoperationen durchzuführen, befindet sich auch im Prozessor 1402. Der Prozessor 1402 umfasst in einer Ausführungsform einen Mikrocode-ROM (μCode-ROM), um einen Mikrocode zu speichern, der, wenn er ausgeführt wird, Algorithmen für bestimmte Makrobefehle durchführen oder komplexe Szenarios handhaben soll. Hier ist der Mikrocode potentiell aktualisierungsfähig, um Logikfehler/Logikdilemmas für den Prozessor 1402 zu handhaben. Für eine Ausführungsform umfasst die Ausführungseinheit 1408 eine Logik, um einen gepackten Befehlssatz 1409 zu handhaben. Durch Einschließen des gepackten Befehlssatzes 1409 in den Befehlssatz eines Universalprozessors 1402 zusammen mit einer zugehörigen Schaltungsanordnung zum Ausführen der Befehle können die von vielen Multimediaanwendungen verwendeten Operationen unter Verwendung von gepackten Daten in einem Universalprozessor 1402 durchgeführt werden. Folglich werden viele Multimediaanwendungen beschleunigt und effizienter ausgeführt unter Verwendung der vollen Breite des Datenbusses eines Prozessors zum Durchführen von Operationen an gepackten Daten. Dies beseitigt potentiell den Bedarf, kleinere Einheiten von Daten über den Datenbus des Prozessors zu übertragen, um eine oder mehrere Operationen, ein Datenelement auf einmal durchzuführen.
  • Alternative Ausführungsformen einer Ausführungseinheit 1408 können auch in Mikrocontrollern, eingebetteten Prozessoren, Graphikvorrichtungen, DSPs und anderen Typen von Logikschaltungen verwendet werden. Das System 1400 umfasst einen Speicher 1420. Der Speicher 1420 umfasst eine Vorrichtung eines dynamischen Direktzugriffsspeichers (DRAM), eine Vorrichtung eines statischen Direktzugriffsspeichers (SRAM), eine Flash-Speichervorrichtung oder eine andere Speichervorrichtung. Der Speicher 1420 speichert Befehle und/oder Daten, die durch Datensignale dargestellt werden, die durch den Prozessor 1402 ausgeführt werden sollen.
  • Es ist zu beachten, dass beliebige der vorstehend erwähnten Merkmale oder Aspekte der Erfindung an einer oder mehreren Zusammenschaltungen, die in 14 dargestellt sind, verwendet werden können. Eine Zusammenschaltung auf dem Chip (ODI), die nicht gezeigt ist, zum Koppeln von internen Einheiten des Prozessors 1402 implementiert beispielsweise einen oder mehrere Aspekte der vorstehend beschriebenen Erfindung. Oder die Erfindung ist einem Prozessorbus 1410 (z. B. andere bekannte Hochleistungs-Rechenzusammenschaltung), einem Speicherpfad 1418 mit hoher Bandbreite zum Speicher 1420, einer Punkt-zu-Punkt-Verbindung zum Graphikbeschleuniger 1412 (z. B. einem mit Peripheriekomponenten-Zusammenschaltungsexpress (PCIe) kompatiblen Gebilde), einer Steuereinheitsknotenpunkt-Zusammenschaltung 1422, einer E/A oder anderen Zusammenschaltung (z. B. USB, PCI, PCIe) zum Koppeln der anderen dargestellten Komponenten zugeordnet. Einige Beispiele von solchen Komponenten umfassen die Audiosteuereinheit 1436, einen Firmware-Knotenpunkt (Flash-BIOS) 1428, einen drahtlosen Sender/Empfänger 1426, einen Datenspeicher 1424, eine veraltete E/A-Steuereinheit 1410, die Benutzereingabe- und Tastaturschnittstellen 1442 umfasst, einen seriellen Erweiterungsport 1438 wie z. B. einen universellen seriellen Bus (USB) und eine Netzsteuereinheit 1434. Die Datenspeichervorrichtung 1424 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Speichervorrichtung oder eine andere Massenspeichervorrichtung umfassen.
  • Mit Bezug auf 15 ist ein Blockdiagramm eines zweiten Systems 1500 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 15 gezeigt, ist das Mehrprozessorsystem 1500 ein Punkt-zu-Punkt-Zusammenschaltungssystem und umfasst einen ersten Prozessor 1570 und einen zweiten Prozessor 1580, die über eine Punkt-zu-Punkt-Zusammenschaltung 1550 gekoppelt sind. Jeder der Prozessoren 1570 und 1580 kann eine gewisse Version eines Prozessors sein. In einer Ausführungsform sind 1552 und 1554 ein Teil eines seriellen, kohärenten Punkt-zu-Punkt-Zusammenschaltungsgebildes wie z. B. einer Hochleistungsarchitektur. Folglich kann die Erfindung innerhalb der QPI-Architektur implementiert werden.
  • Obwohl nur mit zwei Prozessoren 1570, 1580 gezeigt, ist der Schutzbereich der vorliegenden Erfindung selbstverständlich nicht so begrenzt. In anderen Ausführungsformen können einer oder mehrere zusätzliche Prozessoren in einem gegebenen Prozessor vorhanden sein.
  • Die Prozessoren 1570 und 1580 sind mit integrierten Speichersteuereinheiten 1572 bzw. 1582 gezeigt. Der Prozessor 1570 umfasst auch als Teil seiner Bussteuereinheiten Punkt-zu-Punkt-Schnittstellen (P-P-Schnittstellen) 1576 und 1578; ebenso umfasst der zweite Prozessor 1580 P-P-Schnittstellen 1586 und 1588. Die Prozessoren 1570, 1580 können Informationen über eine Punkt-zu-Punkt-Schnittstelle (P-P-Schnittstelle) 1550 unter Verwendung von P-P-Schnittstellenschaltungen 1578, 1588 austauschen. Wie in 15 gezeigt, koppeln IMCs 1572 und 1582 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 1532 und einem Speicher 1534, die Abschnitte eines Hauptspeichers sein können, der an den jeweiligen Prozessoren lokal angebracht ist.
  • Die Prozessoren 1570, 1580 tauschen jeweils Informationen mit einem Chipsatz 1590 über individuelle P-P-Schnittstellen 1552, 1554 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1576, 1594, 1586, 1598 aus. Der Chipsatz 1590 tauscht auch Informationen mit einer Hochleistungs-Graphikschaltung 1538 über eine Schnittstellenschaltung 1592 entlang einer Hochleistungs-Graphikzusammenschaltung 1539 aus.
  • Ein gemeinsam genutzter Cache (nicht dargestellt) kann entweder im Prozessor oder außerhalb beider Prozessoren enthalten sein; dennoch mit den Prozessoren über eine P-P-Zusammenschaltung verbunden sein, so dass lokale Cache-Informationen von einem oder beiden Prozessoren im gemeinsam genutzten Cache gespeichert werden können, wenn ein Prozessor in einen leistungsarmen Modus gesetzt wird.
  • Der Chipsatz 1590 kann mit einem ersten Bus 1516 über eine Schnittstelle 1596 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1516 ein Peripheriekomponenten-Zusammenschaltungsbus (PCI-Bus) oder ein Bus wie z. B. ein PCI-Expressbus oder ein anderer E/A-Zusammenschaltungsbus der dritten Generation sein, obwohl der Schutzbereich der vorliegenden Erfindung nicht so begrenzt ist.
  • Wie in 15 gezeigt, sind verschiedene E/A-Vorrichtungen 1514 mit dem ersten Bus 1516 zusammen mit einer Busbrücke 1518 gekoppelt, die den ersten Bus 1516 mit einem zweiten Bus 1520 koppelt. In einer Ausführungsform umfasst der zweite Bus 1520 einen Bus mit niedriger Anschlussstiftzahl (LPC). Verschiedene Vorrichtungen sind mit dem zweiten Bus 1520 gekoppelt, einschließlich beispielsweise in einer Ausführungsform einer Tastatur und/oder einer Maus 1522, Kommunikationsvorrichtungen 1527 und einer Speichereinheit 1528 wie z. B. eines Plattenlaufwerks oder einer anderer Massenspeichervorrichtung, die häufig Befehle/Code und Daten 1530 umfasst. Ferner ist ein Audio-E/A 1524 mit dem zweiten Bus 1520 gekoppelt gezeigt. Es ist zu beachten, dass andere Architekturen möglich sind, wobei die enthaltenen Komponenten und Zusammenschaltungsarchitekturen variieren. Anstelle der Punkt-zu-Punkt-Architektur von 15 kann ein System beispielsweise einen Multidrop-Bus oder eine andere solche Architektur implementieren.
  • Wenn man sich als nächstes 16 zuwendet, ist eine Ausführungsform einer Konstruktion eines Systems auf einem Chip (SOC) gemäß den Erfindungen dargestellt. Als spezifisches erläuterndes Beispiel ist ein SOC 1600 in einer Benutzerausrüstung (UE) enthalten. In einer Ausführungsform bezieht sich die UE auf irgendeine Vorrichtung, die von einem Endbenutzer verwendet werden soll, um zu kommunizieren, wie z. B. ein in der Hand gehaltenes Telefon, ein Smartphone, ein Tablet, ein ultradünnes Notebook, ein Notebook mit einem Breitbandadapter oder irgendeine andere ähnliche Kommunikationsvorrichtung. Häufig verbindet eine UE mit einer Basisstation oder einem Knoten, der potentiell in der Art einer Mobilstation (MS) in einem GSM-Netz entspricht.
  • Hier umfasst das SOC 1600 2 Kerne – 1606 und 1607. Ähnlich zur obigen Erörterung können die Kerne 1606 und 1607 einer Befehlssatzarchitektur entsprechen, wie z. B. einem Prozessor auf der Basis von Intel® Architecture Core, einem Prozessor von Advanced Micro Devices, Inc. (AMD), einem Prozessor auf MIPS-Basis, einer Prozessorkonstruktion auf ARM-Basis oder einem Kunden davon, sowie ihren Lizenznehmern oder Erstanwendern. Die Kerne 1606 und 1607 sind mit einer Cachesteuerung 1608 gekoppelt, die der Busschnittstelleneinheit 1609 und dem L2-Cache 1611 zugeordnet ist, um mit anderen Teilen des Systems 1600 zu kommunizieren. Die Zusammenschaltung 1610 umfasst eine Zusammenschaltung auf dem Chip wie z. B. ein IOSF, AMBA oder eine andere vorstehend erörterte Zusammenschaltung, die potentiell einen oder mehrere hier beschriebene Aspekte implementiert.
  • Die Zusammenschaltung 1610 schafft Kommunikationskanäle für die anderen Komponenten wie z. B. ein Teilnehmeridentitätsmodul (SIM) 1630, um mit einer SIM-Karte über eine Schnittstelle zu koppeln, einen Boot-ROM 1635, um den Boot-Code für die Ausführung durch die Kerne 1606 und 1607 zu halten, um das SOC 1600 zu initialisieren und zu booten, eine SDRAM-Steuereinheit 1640, um mit einem externen Speicher (z. B. DRAM 1660) zu koppeln, eine Flash-Steuereinheit 1645, um mit einem nichtflüchtigen Speicher (z. B. Flash 1665) über eine Schnittstelle zu koppeln, eine periphere Steuerung (1650 (z. B. serielle periphere Schnittstelle), um mit Peripheriegeräten über eine Schnittstelle zu koppeln, Video-Codecs 1620 und eine Videoschnittstelle 1625, um eine Eingabe anzuzeigen und zu empfangen (z. B. eine berührungsfähige Eingabe), GPU 1615, um auf Graphik bezogene Anwendungen durchzuführen, usw. Beliebige dieser Schnittstellen können Aspekte der hier beschriebenen Erfindung beinhalten.
  • Außerdem stellt das System Peripheriegeräte für die Kommunikation dar, wie z. B. ein Bluetooth-Modul 1670, ein 3G-Modem 1675, GPS 1685 und WiFi 1685. Es ist zu beachten, wie vorstehend angegeben, dass eine UE einen Funk zur Kommunikation umfasst. Folglich sind diese peripheren Kommunikationsmodule nicht alle erforderlich. In einer UE soll jedoch eine gewisse Form von Funk für die externe Kommunikation enthalten sein.
  • Obwohl die vorliegende Erfindung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, erkennt der Fachmann auf dem Gebiet zahlreiche Modifikationen und Variationen davon. Es ist beabsichtigt, dass die beigefügten Ansprüche alle solchen Modifikationen und Variationen, die in den wahren Gedanken und Schutzbereich dieser vorliegenden Erfindung fallen, abdecken.
  • Eine Konstruktion kann verschiedene Stufen durchlaufen von der Erzeugung bis zur Simulation bis zur Herstellung. Daten, die eine Konstruktion darstellen, können die Konstruktion in einer Anzahl von Weisen darstellen. Erstens kann, wie in Simulationen nützlich ist, die Hardware unter Verwendung einer Hardwarebeschreibungssprache oder einer anderen Funktionsbeschreibungssprache dargestellt werden. Außerdem kann ein Schaltungsebenenmodell mit einer Logik und/oder Transistorgates in einigen Stufen des Konstruktionsprozesses erzeugt werden. Ferner erreichen die meisten Konstruktionen in einer gewissen Stufe eine Ebene von Daten, die die physikalische Anordnung von verschiedenen Vorrichtungen im Hardwaremodell darstellen. In dem Fall, in dem herkömmliche Halbleiterfertigungstechniken verwendet werden, können die Daten, die das Hardwaremodell darstellen, die Daten sein, die die Anwesenheit oder Abwesenheit von verschiedenen Merkmalen an verschiedenen Maskenschichten für Masken festlegen, die verwendet werden, um die integrierte Schaltung herzustellen. In irgendeiner Darstellung der Konstruktion können die Daten in irgendeiner Form eines maschinenlesbaren Mediums gespeichert werden. Ein Speicher oder ein magnetischer oder optischer Speicher wie z. B. eine Platte kann das maschinenlesbare Medium sein, um Informationen zu speichern, die über eine optische oder elektrische Welle übertragen werden, die moduliert oder anderweitig erzeugt wird, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder die Konstruktion angibt oder trägt, übertragen wird, wird in dem Umfang, in dem Kopieren, Puffern oder Neuübertragung des elektrischen Signals durchgeführt wird, eine neue Kopie erstellt. Folglich kann ein Kommunikationsanbieter oder ein Netzanbieter auf einem konkreten, maschinenlesbaren Medium zumindest vorübergehend einen Gegenstand wie z. B. Informationen speichern, die in einer Trägerwelle codiert sind, die Techniken von Ausführungsformen der vorliegenden Erfindung verkörpert.
  • Ein Modul, wie hier verwendet, bezieht sich auf irgendeine Kombination von Hardware, Software und/oder Firmware. Als Beispiel umfasst ein Modul Hardware wie z. B. einen Mikrocontroller, der einem nichtflüchtigen Medium zugeordnet ist, um einen Code zu speichern, der so ausgelegt ist, dass er durch den Mikrocontroller ausgeführt wird. Daher bezieht sich eine Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch konfiguriert ist, um den Code zu erkennen und/oder auszuführen, der auf einem nichtflüchtigen Medium gehalten werden soll. Ferner bezieht sich in einer anderen Ausführungsform die Verwendung eines Moduls auf das nichtflüchtige Medium mit dem Code, der spezifisch so ausgelegt ist, dass er vom Mikrocontroller ausgeführt wird, um vorbestimmte Operationen durchzuführen. Und wie abgeleitet werden kann, kann sich in noch einer weiteren Ausführungsform der Begriff Modul (in diesem Beispiel) auf die Kombination des Mikrocontrollers und des nichtflüchtigen Mediums beziehen. Modulgrenzen, die als separat dargestellt sind, variieren üblicherweise häufig und überlappen potentiell. Ein erstes und ein zweites Modul kann sich beispielsweise Hardware, Software, Firmware oder eine Kombination davon teilen, während eine gewisse unabhängige Hardware, Software oder Firmware potentiell aufrechterhalten wird. In einer Ausführungsform umfasst die Verwendung des Begriffs Logik Hardware wie z. B. Transistoren, Register oder eine andere Hardware wie z. B. programmierbare Logikvorrichtungen.
  • Die Verwendung des Ausdrucks ”dazu konfiguriert” bezieht sich in einer Ausführungsform auf das Anordnen, Zusammensetzen, Herstellen, Anbieten zum Verkauf, Importieren und/oder Konstruieren eines Geräts, einer Hardware, einer Logik oder eines Elements, um eine festgelegte oder bestimmte Aufgabe durchzuführen. In diesem Beispiel ist ein Gerät oder ein Element davon, das nicht arbeitet, immer noch ”dazu konfiguriert”, eine festgelegte Aufgabe durchzuführen, wenn es entworfen, gekoppelt und/oder zusammengeschaltet ist, um die festgelegte Aufgabe durchzuführen. Als rein erläuterndes Beispiel kann ein Logikgatter eine 0 oder eine 1 während des Betriebs liefern. Aber ein Logikgatter, das ”dazu konfiguriert” ist, ein Freigabesignal für einen Takt zu liefern, umfasst nicht jedes potentielle Logikgatter, das eine 1 oder eine 0 liefern kann. Stattdessen ist das Logikgatter eines, das in gewisser Weise gekoppelt ist, damit während des Betriebs die 1- oder 0-Ausgabe den Takt freigeben soll. Wiederum ist zu beachten, dass die Verwendung des Begriffs ”dazu konfiguriert” keine Operation erfordert, sondern stattdessen auf den latenten Zustand eines Geräts, einer Hardware und/oder eines Elements gerichtet ist, wobei im latenten Zustand das Gerät, die Hardware und/oder das Element dazu ausgelegt ist, eine spezielle Aufgabe durchzuführen, wenn das Gerät, die Hardware und/oder das Element arbeitet.
  • Ferner bezieht sich die Verwendung der Ausdrücke ”zu”, ”in der Lage zum” und/oder ”betriebsfähig zum” in einer Ausführungsform auf irgendein Gerät, irgendeine Logik, irgendeine Hardware und/oder irgendein Element, das in einer solchen Weise ausgelegt ist, dass die Verwendung des Geräts, der Logik, der Hardware und/oder des Elements in einer festgelegten Weise ermöglicht wird. Es ist wie vorstehend zu beachten, dass die Verwendung von zu, in der Lage zum oder betriebsfähig zum in einer Ausführungsform sich auf den latenten Zustand eines Geräts, einer Logik, einer Hardware und/oder eines Elements bezieht, wobei das Gerät, die Logik, die Hardware und/oder das Element nicht arbeiten, aber in einer solchen Weise konstruiert sind, dass die Verwendung eines Geräts in einer festgelegten Weise ermöglicht wird.
  • Ein Wert, wie hier verwendet, umfasst irgendeine bekannte Darstellung einer Zahl, eines Zustandes, eines logischen Zustandes oder eines binären logischen Zustandes. Häufig wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1-en und 0-en bezeichnet, die einfach binäre Logikzustände darstellen. Eine 1 bezieht sich beispielsweise auf einen hohen Logikpegel und 0 bezieht sich auf einen niedrigen Logikpegel. In einer Ausführungsform kann eine Speicherzelle wie z. B. eine Transistor- oder Flash-Zelle in der Lage sein, einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Andere Darstellungen von Werten in Computersystemen wurden jedoch verwendet. Die Dezimalzahl zehn kann beispielsweise auch als binärer Wert von 1010 und hexadezimaler Buchstabe A dargestellt werden. Daher umfasst ein Wert irgendeine Darstellung von Informationen, die in einem Computersystem gehalten werden können.
  • Überdies können Zustände durch Werte oder Teile von Werten dargestellt werden. Als Beispiel kann ein erster Wert wie z. B. eine logische Eins einen Vorgabe- oder anfänglichen Zustand darstellen, während ein zweiter Wert wie z. B. eine logische Null einen Nicht-Vorgabe-Zustand darstellen kann. Außerdem beziehen sich die Begriffe Rücksetzen und Setzen in einer Ausführungsform auf einen Vorgabe- bzw. einen aktualisierten Wert oder Zustand. Ein Vorgabewert umfasst beispielsweise potentiell einen hohen logischen Wert, d. h. Rücksetzen, während ein aktualisierter Wert potentiell einen niedrigen logischen Wert, d. h. Setzen, umfasst. Es ist zu beachten, dass irgendeine Kombination von Werten verwendet werden kann, um irgendeine Anzahl von Zuständen darzustellen.
  • Die Ausführungsformen von Verfahren, Hardware, Software, Firmware oder eines Codes, die vorstehend dargelegt sind, können über Befehle oder einen Code, der auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert ist, die von einem Verarbeitungselement ausführbar sind, implementiert werden. Ein nichtflüchtiges maschinenzugängliches/maschinenlesbares Medium umfasst irgendeinen Mechanismus, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), die von einer Maschine wie z. B. einem Computer oder elektronischen System lesbar ist. Ein nichtflüchtiges maschinenzugängliches Medium umfasst beispielsweise einen Direktzugriffsspeicher (RAM), wie z. B. einen statischen RAM (SRAM) oder dynamischen RAM (DRAM); einen ROM; ein magnetisches oder optisches Speichermedium; Flash-Speichervorrichtungen; elektrische Speichervorrichtungen; optische Speichervorrichtungen; akustische Speichervorrichtungen; eine andere Form von Speichervorrichtungen zum Halten von Informationen, die von vorübergehenden (ausgebreiteten) Signalen (z. B. Trägerwellen, Infrarotsignalen, digitalen Signalen) empfangen werden; usw., die von den nichtflüchtigen Medien unterschieden werden sollen, die Informationen davon empfangen können.
  • Befehle, die verwendet werden, um eine Logik zu programmieren, um Ausführungsformen der Erfindung durchzuführen, können innerhalb eines Speichers im System gespeichert sein, wie z. B. DRAM, Cache, Flash-Speicher oder anderer Speicher. Ferner können die Befehle über ein Netz oder durch andere computerlesbare Medien verteilt werden. Folglich kann ein maschinenlesbares Medium irgendeinen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form umfassen, die von einer Maschine (z. B. einem Computer) lesbar ist, ist jedoch nicht begrenzt auf Disketten, optische Platten, Kompaktdisk, Festwertspeicher (CD-ROMs), und magnetoptische Platten, einen Festwertspeicher (ROMs), Direktzugriffsspeicher (RAM), löschbaren programmierbaren Festwertspeicher (EPROM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), magnetische oder optische Karten, einen Flash-Speicher oder einen konkreten, maschinenlesbaren Speicher, der bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen von ausgebreiteten Signalen (z. B. Trägerwellen, Infrarotsignalen, digitalen Signalen usw.) verwendet wird. Folglich umfasst das computerlesbare Medium irgendeinen Typ von konkretem maschinenlesbarem Medium, das zum Speichern oder Übertragen von elektronischen Befehlen oder Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form geeignet ist.
  • Die folgenden Beispiele betreffen Ausführungsformen gemäß dieser Patentbeschreibung. Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um einen Satz von Anlaufsequenzen zu erzeugen, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfassen soll und der Anlaufsequenzkopf über den Satz von Anlaufsequenzen gleichstromausgeglichen sein soll.
  • In mindestens einem Beispiel soll der Satz von Anlaufsequenzen in einer Supersequenz enthalten sein.
  • In mindestens einem Beispiel umfasst die Supersequenz eine sich wiederholende Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von mehreren Anlaufsequenzen.
  • In mindestens einem Beispiel ist die Supersequenz ein spezieller von mehreren Supersequenztypen, wobei jeder Supersequenztyp einem oder mehreren jeweiligen Zuständen einer seriellen Datenverbindung entspricht.
  • In mindestens einem Beispiel umfassen die mehreren Supersequenztypen eine Detektionssupersequenz, die einem Detektionszustand entspricht, eine zweite Supersequenz, die einem von einem Satz von Zuständen mit einem Prüfschleifenzustand, einem Konfigurationszustand und einem Abfragezustand entspricht, und eine Teilbreitenaustritts-Supersequenz, die einem Austritt aus einem Teilbreiten-Übertragungszustand entspricht.
  • In mindestens einem Beispiel umfasst die sich wiederholende Sequenz der Detektionssupersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von sieben aufeinander folgenden Instanzen einer Anlaufsequenz, wobei die Sequenz ungefähr einmal alle eintausend Einheitsintervalle wiederholt werden soll.
  • In mindestens einem Beispiel umfasst die sich wiederholende Sequenz der zweiten Supersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von einunddreißig aufeinander folgenden Instanzen einer Anlaufsequenz, wobei die Sequenz ungefähr einmal alle viertausend Einheitsintervalle wiederholt werden soll.
  • In mindestens einem Beispiel umfasst die sich wiederholende Sequenz der Teilbreitenaustritts-Supersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von sieben aufeinander folgenden Instanzen einer schnellen Anlaufsequenz, wobei die Sequenz ungefähr einmal alle eintausend Einheitsintervalle wiederholt werden soll.
  • In mindestens einem Beispiel, in dem die Anlaufsequenzen jeweils Anlaufsequenz-Nutzinformationen umfassen, sollen die Anlaufsequenz-Nutzinformationen verwürfelt werden und der Anlaufsequenzkopf soll unverwürfelt sein.
  • In mindestens einem Beispiel soll der EOS unverwürfelt sein.
  • In mindestens einem Beispiel sollen die Anlaufsequenz-Nutzinformationen unter Verwendung einer pseudozufälligen binären Sequenz (PRBS) verwürfelt werden.
  • In mindestens einem Beispiel umfasst der Kopf ein ACK/NAK-Feld und ein Anlaufsequenztyp-Feld.
  • In mindestens einem Beispiel soll das Anlaufsequenztyp-Feld codiert werden, um einen Anlaufsequenztyp zu identifizieren, der einem jeweiligen Zustand einer seriellen Datenverbindung entspricht.
  • Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um einen Satz von Anlaufsequenzen zu empfangen, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfassen soll, wobei der Anlaufsequenzkopf über den Satz von Anlaufsequenzen gleichstromausgeglichen sein soll, und die Bitübertragungsschichtlogik ferner Grenzen von einem oder mehreren der Anlaufsequenzköpfe des Satzes von Anlaufsequenzköpfen detektieren soll.
  • In mindestens einem Beispiel soll der Satz von Anlaufsequenzen als Abschnitt einer Supersequenz empfangen werden, und die Supersequenz umfasst eine sich wiederholende Sequenz mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von mehreren der Anlaufsequenzen, die verwendet werden, um einen Zustand der Datenverbindung auf der Basis der Supersequenz zu bestimmen.
  • In mindestens einem Beispiel soll der Zustand zumindest teilweise aus einer Frequenz bestimmt werden, mit der die Sequenz in der Supersequenz wiederholt ist.
  • In mindestens einem Beispiel soll der Zustand zumindest teilweise aus einer Anzahl von Anlaufsequenzen in der Vielzahl bestimmt werden.
  • In mindestens einem Beispiel soll der Zustand zumindest teilweise aus Anlaufsequenzkopf-Feldinformationen bestimmt werden.
  • Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um eine jeweilige Supersequenz auf jeder von mehreren Bahnen zu empfangen, wobei die Supersequenz einen elektrisch geordneten Satz, gefolgt von mehreren Anlaufsequenzen umfassen soll und eine Verzerrung von Bahn zu Bahn zwischen mindestens einer ersten der mehreren Bahnen und einer zweiten der mehreren Bahnen auf der Basis der Supersequenz detektieren soll.
  • In mindestens einem Beispiel umfasst jede Anlaufsequenz einen Anlaufsequenzkopf.
  • In mindestens einem Beispiel soll die Verzerrung zumindest teilweise auf der Basis einer Kante des Anlaufsequenzkopfs detektiert werden.
  • In mindestens einem Beispiel soll die Verzerrung auf der Basis einer Identifikation, dass die Kante später auf der zweiten Bahn als auf der ersten Bahn ankommt, detektiert werden.
  • In mindestens einem Beispiel soll der Anlaufsequenzkopf unverwürfelt gesendet werden und der Rest der Anlaufsequenz soll verwürfelt sein.
  • In mindestens einem Beispiel sollen zumindest Nutzinformationen der Anlaufsequenz verwürfelt sein.
  • In mindestens einem Beispiel sollen die Nutzinformationen unter Verwendung einer pseudozufälligen binären 23-Bit-Sequenz (PRBS) mit einem 23-Bit-Keim verwürfelt werden.
  • In mindestens einem Beispiel kann der Keim der PRBS aus der Supersequenz detektiert werden.
  • In mindestens einem Beispiel kann die Verzerrung von Bahn zu Bahn behoben werden.
  • Eine oder mehrere Vorrichtungen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um eine Supersequenz mit zwei oder mehr aufeinander folgenden Instanzen einer Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen, zu erzeugen, wobei zumindest ein Abschnitt jeder Anlaufsequenz durch einen jeweiligen Verwürfelungswert verwürfelt werden soll.
  • In mindestens einem Beispiel ist ein Keim der PRBS aus dem Verwürfelungssynchronisationsfeld identifizierbar.
  • In mindestens einem Beispiel gibt der Keim einen speziellen Abschnitt der PRBS an, die beim Verwürfeln verwendet wird.
  • In mindestens einem Beispiel umfasst das Verwürfelungssynchronisationsfeld drei Bytes der Nutzinformationen.
  • In mindestens einem Beispiel soll die Gesamtheit der PRBS beim Verwürfeln verwendet werden.
  • In mindestens einem Beispiel soll weniger als die Gesamtheit der PRBS beim Verwürfeln verwendet werden.
  • Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um ein Abtastsignal für die Anpassung einer Bahn einer Verbindung zu empfangen, die eine erste Vorrichtung und eine zweite Vorrichtung verbindet, wobei das Signal eine Supersequenz umfasst und zumindest ein Abschnitt der Supersequenz durch eine Pseudozufallssequenz verwürfelt werden soll, und mindestens eine Anpassungsaufgabe auf der Basis des Abtastsignals durchzuführen.
  • Gerät nach Anspruch 68, wobei die Supersequenz einen elektrisch geordneten Satz (EOS), gefolgt von mehreren aufeinander folgenden Anlaufsequenzen, umfassen soll.
  • In mindestens einem Beispiel umfasst die mindestens eine Anpassungsaufgabe das Bestimmen der Qualität der Bahn aus dem Abtastsignal.
  • In mindestens einem Beispiel umfasst die mindestens eine Anpassungsaufgabe ferner das Liefern einer Rückmeldung zu einem Sender des Abtastsignals auf der Basis der Bestimmung der Qualität der Bahn.
  • In mindestens einem Beispiel umfasst die mindestens eine Anpassungsaufgabe ferner das Modifizieren von Eigenschaften der Bahn auf der Basis der Bestimmung der Qualität der Bahn.
  • Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um Supersequenzen in einem Initialisierungszustand zu erzeugen, wobei jede Supersequenz eine Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen, umfasst, wobei jede Anlaufsequenz ein Suffix umfasst, und einen Start einer Datensequenz (SDS) zu senden, um einen Übergang vom Initialisierungszustand zu einen Übertragungsverbindungszustand anzugeben.
  • In mindestens einem Beispiel soll das Suffix Aliasing des SDS durch den Pseudozufallswert verhindern.
  • In mindestens einem Beispiel ist der Wert des SDS nicht im Pseudozufallswert enthalten.
  • In mindestens einem Beispiel umfasst der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS), die durch ein Schieberegister mit linearer Rückkopplung (LFSR) erzeugt wird.
  • In mindestens einem Beispiel emuliert der EIEOS ein Taktsignal mit niedriger Frequenz und der SDS emuliert ein Taktsignal mit einer Frequenz, die höher ist als das Taktsignal mit niedriger Frequenz.
  • In mindestens einem Beispiel soll der SDS gesendet werden, um die Supersequenz zu unterbrechen.
  • In mindestens einem Beispiel soll der SDS innerhalb einer speziellen der Anlaufsequenzen gesendet werden.
  • In mindestens einem Beispiel soll der SDS innerhalb einer speziellen Instanz des SDS gesendet werden.
  • In mindestens einem Beispiel soll der SDS auf der Basis eines deterministischen Ausrichtungssteuersignals gesendet werden.
  • Eine oder mehrere Ausführungsformen können ein Gerät, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren schaffen, um Supersequenzen in einem Initialisierungszustand zu empfangen, wobei jede Supersequenz eine Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen umfasst, wobei jede Anlaufsequenz ein Suffix umfasst, und einen Start einer Datensequenz (SDS) zu empfangen, um den Übergang vom Initialisierungszustand in einen Übertragungsverbindungszustand anzugeben.
  • In mindestens einem Beispiel soll der SDS auf der Basis eines deterministischen Ausrichtungssteuersignals gesendet werden.
  • Ein oder mehrere Beispiele können ferner eine Bitübertragungsschicht (PHY) schaffen, die so konfiguriert ist, dass sie mit einer Verbindung gekoppelt ist, wobei die Verbindung eine erste Anzahl von Bahnen umfasst, wobei die PHY ein selbstgesetztes Speicherelement umfassen soll, um eine pseudozufällige Bitsequenz (PRBS) mit 23 Bits zu erzeugen, wobei die PHY eine Anlaufsequenz übertragen soll, die auf der Basis der 23-Bit-PRBS verwürfelt ist.
  • In dieser ganzen Patentbeschreibung bedeutet die Bezugnahme auf ”eine einzelne Ausführungsform” oder ”eine Ausführungsform”, dass ein spezielles Merkmal, eine spezielle Struktur oder Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Folglich beziehen sich die Erscheinungen der Ausdrücke ”in einer einzelnen Ausführungsform” oder ”in einer Ausführungsform” an verschiedenen Stellen in dieser ganzen Patentbeschreibung nicht notwendigerweise alle auf dieselbe Ausführungsform. Ferner können die speziellen Merkmale, Strukturen oder Eigenschaften in irgendeiner geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • In der vorangehenden Patentbeschreibung wurde eine ausführliche Beschreibung in Bezug auf spezifische beispielhafte Ausführungsformen gegeben. Es ist jedoch ersichtlich, dass verschiedene Modifikationen und Änderungen daran durchgeführt werden können, ohne vom breiteren Gedanken und Schutzbereich der Erfindung, wie in den beigefügten Ansprüchen dargelegt, abzuweichen. Die Patentbeschreibung und die Zeichnungen sollen folglich vielmehr in einer erläuternden Hinsicht als in einer einschränkenden Hinsicht betrachtet werden. Ferner bezieht sich die vorangehende Verwendung von Ausführungsform und einer anderen beispielhaften Sprache nicht notwendigerweise auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf verschiedene und unterschiedliche Ausführungsformen sowie potentiell dieselbe Ausführungsform beziehen.

Claims (105)

  1. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik einen Satz von Anlaufsequenzen erzeugen soll, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfassen soll, und der Anlaufsequenzkopf über den Satz von Anlaufsequenzen gleichstromausgeglichen sein soll.
  2. Gerät nach Anspruch 1, wobei der Satz von Anlaufsequenzen in einer Supersequenz enthalten sein soll.
  3. Gerät nach Anspruch 2, wobei die Supersequenz eine sich wiederholende Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von mehreren Anlaufsequenzen umfasst.
  4. Gerät nach Anspruch 3, wobei die Supersequenz ein spezieller von mehreren Supersequenztypen ist, wobei jeder Supersequenztyp einem oder mehreren jeweiligen Zuständen einer seriellen Datenverbindung entspricht.
  5. Gerät nach Anspruch 4, wobei die mehreren Supersequenztypen eine Detektionssupersequenz, die einem Detektionszustand entspricht, eine zweite Supersequenz, die einem von einem Satz von Zuständen mit einem Prüfschleifenzustand, einem Konfigurationszustand und einem Abfragezustand entspricht, und eine Teilbreitenaustritts-Supersequenz, die einem Austritt aus einem Teilbreiten-Übertragungszustand entspricht, umfassen.
  6. Gerät nach Anspruch 5, wobei die sich wiederholende Sequenz der Detektionssupersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von sieben aufeinander folgenden Instanzen einer Anlaufsequenz umfasst, wobei die Sequenz ungefähr einmal alle eintausend Einheitsintervalle wiederholt werden sollen.
  7. Gerät nach Anspruch 5, wobei die sich wiederholende Sequenz der zweiten Supersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS) umfasst, gefolgt von einunddreißig aufeinander folgenden Instanzen einer Anlaufsequenz, wobei die Sequenz ungefähr einmal alle viertausend Einheitsintervalle wiederholt werden soll.
  8. Gerät nach Anspruch 5, wobei die sich wiederholende Sequenz der Teilbreitenaustritts-Supersequenz einen EOS mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von sieben aufeinander folgenden Instanzen einer schnellen Anlaufsequenz umfasst, wobei die Sequenz ungefähr einmal alle eintausend Einheitsintervalle wiederholt werden soll.
  9. Gerät nach Anspruch 3, wobei die Anlaufsequenzen jeweils Anlaufsequenz-Nutzinformationen umfassen, wobei die Anlaufsequenz-Nutzinformationen verwürfelt werden sollen, und der Anlaufsequenzkopf unverwürfelt sein soll.
  10. Gerät nach Anspruch 9, wobei der EOS unverwürfelt sein soll.
  11. Gerät nach Anspruch 9, wobei die Anlaufsequenz-Nutzinformationen unter Verwendung einer pseudozufälligen binären Sequenz (PRBS) verwürfelt werden sollen.
  12. Gerät nach Anspruch 1, wobei der Kopf ein ACK/NAK-Feld und ein Anlaufsequenztyp-Feld umfasst.
  13. Gerät nach Anspruch 12, wobei das Anlaufsequenztyp-Feld codiert werden soll, um einen Anlaufsequenztyp zu identifizieren, der einem jeweiligen Zustand einer seriellen Datenverbindung entspricht.
  14. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik einen Satz von Anlaufsequenzen empfangen soll, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfassen soll, wobei der Anlaufsequenzkopf über den Satz von Anlaufsequenzen gleichstromausgeglichen sein soll, und die Bitübertragungsschichtlogik ferner Grenzen von einem oder mehreren der Anlaufsequenzköpfe des Satzes von Anlaufsequenzköpfen detektieren soll.
  15. Gerät nach Anspruch 14, wobei der Satz von Anlaufsequenzen als Abschnitt einer Supersequenz empfangen werden soll und die Supersequenz eine sich wiederholende Sequenz mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS), gefolgt von mehreren der Anlaufsequenzen umfasst.
  16. Gerät nach Anspruch 15, wobei die Bitübertragungsschichtlogik einen Zustand der Datenverbindung auf der Basis der Supersequenz bestimmen soll.
  17. Gerät nach Anspruch 16, wobei der Zustand zumindest teilweise aus einer Frequenz bestimmt werden soll, mit der die Sequenz in der Supersequenz wiederholt ist.
  18. Gerät nach Anspruch 16, wobei der Zustand zumindest teilweise aus einer Anzahl von Anlaufsequenzen in den mehreren bestimmt werden soll.
  19. Gerät nach Anspruch 16, wobei der Zustand zumindest teilweise aus Anlaufsequenzkopf-Feldinformationen bestimmt werden soll.
  20. Gerät nach Anspruch 15, wobei der EIEOS und die Anlaufsequenzköpfe unverwürfelt sein sollen und die Anlaufsequenz-Nutzinformationen verwürfelt sein sollen.
  21. Gerät nach Anspruch 16, wobei die Anlaufsequenz-Nutzinformationen unter Verwendung einer pseudozufälligen binären Sequenz (PRBS) verwürfelt werden sollen.
  22. Gerät nach Anspruch 14, wobei der Kopf ein ACK/NAK-Feld und ein Anlaufsequenztyp-Feld umfasst.
  23. Verfahren, das Folgendes umfasst: Versuchen, in einen speziellen Zustand einzutreten, der in mehreren Zuständen einer Zustandsmaschine für eine serielle Datenverbindung enthalten ist; und Senden einer Supersequenz über die Datenverbindung zu einer anderen Vorrichtung, um den Zustand anzugeben, wobei die Supersequenz eine sich wiederholende Sequenz umfasst, die mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS) beginnt, gefolgt von einer vorbestimmten Anzahl von Anlaufsequenzen, und jede der Anlaufsequenzen einen gleichstromausgeglichenen Kopf umfasst.
  24. Verfahren nach Anspruch 23, das ferner das Verwürfeln zumindest eines Abschnitts der Supersequenz umfasst.
  25. Verfahren nach Anspruch 24, wobei eine pseudozufällige binäre Sequenz (PRBS) verwendet werden soll, um den Abschnitt der Supersequenz zu verwürfeln.
  26. Verfahren nach Anspruch 25, wobei die Anlaufsequenzköpfe und der EIEIOS als unverwürfelt gesendet werden sollen.
  27. Verfahren nach Anspruch 26, wobei der Abschnitt der Supersequenz Nutzinformationen der Anlaufsequenzen umfasst.
  28. System, das Folgendes umfasst: eine erste Vorrichtung; und eine zweite Vorrichtung, die mit der ersten Vorrichtung unter Verwendung einer seriellen Datenverbindung kommunikativ gekoppelt ist, wobei die zweite Vorrichtung ein Bitübertragungsschichtmodul umfasst, das von mindestens einem Prozessor ausgeführt wird, um: zu versuchen, in einen speziellen Zustand einzutreten, der in mehreren Zuständen einer Zustandsmaschine für die Datenverbindung enthalten ist; und eine Supersequenz über die Datenverbindung zur ersten Vorrichtung zu senden, um den Zustand anzugeben, wobei die Supersequenz eine sich wiederholende Sequenz umfasst, die mit einem elektrisch inaktiven geordneten Austrittssatz (EIEOS) beginnt, gefolgt von einer vorbestimmten Anzahl von Anlaufsequenzen, und jede der Anlaufsequenzen einen gleichstromausgeglichenen Kopf umfasst.
  29. System nach Anspruch 28, wobei die erste Vorrichtung einen Mikroprozessor umfasst.
  30. System nach Anspruch 29, wobei die zweite Vorrichtung einen zweiten Mikroprozessor umfasst.
  31. System nach Anspruch 29, wobei die zweite Vorrichtung einen Graphikbeschleuniger umfasst.
  32. System nach Anspruch 28, wobei die erste Vorrichtung ein Bitübertragungsschichtmodul umfasst, um: die Supersequenz zu validieren; und den Zustand auf der Basis zumindest teilweise der Supersequenz zu identifizieren.
  33. System nach Anspruch 32, wobei das Bitübertragungsschichtmodul der ersten Vorrichtung ferner verwürfelte Abschnitte der Supersequenz entwürfeln soll.
  34. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik: eine jeweilige Supersequenz auf jeder von mehreren Bahnen empfangen soll, wobei die Supersequenz einen elektrisch geordneten Satz, gefolgt von mehreren Anlaufsequenzen umfassen soll; und eine Verzerrung von Bahn zu Bahn zwischen mindestens einer ersten der mehreren Bahnen und einer zweiten der mehreren Bahnen auf der Basis der Supersequenz detektieren soll.
  35. Gerät nach Anspruch 34, wobei jede Anlaufsequenz einen Anlaufsequenzkopf umfasst.
  36. Gerät nach Anspruch 35, wobei die Verzerrung zumindest teilweise auf der Basis einer Kante des Anlaufsequenzkopfs detektiert werden soll.
  37. Gerät nach Anspruch 36, wobei die Verzerrung auf der Basis einer Identifikation, dass die Kante auf der zweiten Bahn später ankommt als auf der ersten Bahn, detektiert werden soll.
  38. Gerät nach Anspruch 36, wobei der Anlaufsequenzkopf unverwürfelt gesendet werden soll und der Rest der Anlaufsequenz verwürfelt werden soll.
  39. Gerät nach Anspruch 34, wobei zumindest Nutzinformationen der Anlaufsequenz verwürfelt werden sollen.
  40. Gerät nach Anspruch 39, wobei die Nutzinformationen unter Verwendung einer pseudozufälligen binären 23-Bit-Sequenz (PRBS) mit einem 23-Bit-Keim verwürfelt werden sollen.
  41. Gerät nach Anspruch 40, wobei die Bitübertragungsschichtlogik ferner den Keim der PRBS identifizieren soll.
  42. Gerät nach Anspruch 40, wobei die Verzerrung zumindest teilweise aus der PRBS-Verwürfelung detektiert werden soll.
  43. Gerät nach Anspruch 42, wobei die PRBS aus der Supersequenz detektiert werden soll.
  44. Gerät nach Anspruch 34, wobei die Bitübertragungsschichtlogik ferner die Verzerrung von Bahn zu Bahn beheben soll.
  45. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik eine Supersequenz mit zwei oder mehr aufeinander folgenden Instanzen einer Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen erzeugen soll, wobei zumindest ein Abschnitt jeder Anlaufsequenz durch einen jeweiligen Verwürfelungswert verwürfelt werden soll.
  46. Gerät nach Anspruch 45, wobei der EOS einen elektrisch inaktiven geordneten Austrittssatz (EIEOS) umfasst.
  47. Gerät nach Anspruch 45, wobei der Verwürfelungswert einen Pseudozufallswert umfasst.
  48. Gerät nach Anspruch 47, wobei der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS) umfasst, die durch ein Schieberegister (LFSR) mit linearer Rückkopplung erzeugt wird.
  49. Gerät nach Anspruch 48, wobei das LSFR ein Fibonacci-LSFR umfasst.
  50. Gerät nach Anspruch 48, wobei die Anlaufsequenz einen Kopf und Nutzinformationen umfasst, wobei die Nutzinformationen im verwürfelten Abschnitt enthalten sein sollen und der Kopf unverwürfelt gelassen werden soll.
  51. Gerät nach Anspruch 50, wobei die Nutzinformationen ein Verwürfelungssynchronisationsfeld umfassen.
  52. Gerät nach Anspruch 51, wobei ein Keim der PRBS aus dem Verwürfelungssynchronisationsfeld identifizierbar ist.
  53. Gerät nach Anspruch 52, wobei der Keim einen speziellen Abschnitt der PRBS, der beim Verwürfeln verwendet wird, angibt.
  54. Gerät nach Anspruch 51, wobei das Verwürfelungssynchronisationsfeld drei Bytes der Nutzinformationen umfasst.
  55. Gerät nach Anspruch 48, wobei die Gesamtheit der PRBS beim Verwürfeln verwendet werden soll.
  56. Gerät nach Anspruch 48, wobei weniger als die Gesamtheit der PRBS beim Verwürfeln verwendet werden soll.
  57. Gerät nach Anspruch 56, wobei die Supersequenz in einem Testkontext erzeugt wird.
  58. Gerät nach Anspruch 45, wobei der EOS unverwürfelt belassen werden soll.
  59. Gerät nach Anspruch 45, wobei jede Anlaufsequenz einen jeweiligen Anlaufsequenzkopf umfasst und der Anlaufsequenzkopf unverwürfelt belassen werden soll und gleichstromausgeglichen sein soll.
  60. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik: eine Supersequenz mit zwei oder mehr aufeinander folgenden Instanzen einer Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen empfangen soll, wobei zumindest ein Abschnitt jeder Anlaufsequenz verwürfelt ist; und die Anlaufsequenzen auf der Basis der Identifikation eines Pseudozufallswerts, der beim Verwürfeln verwendet wird, entwürfeln soll.
  61. Gerät nach Anspruch 60, wobei der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS) umfasst, die durch ein Schieberegister (LFSR) mit linearer Rückkopplung erzeugt wird.
  62. Gerät nach Anspruch 61, wobei die PRBS aus einem Verwürfelungssynchronisationsfeld in einem Kopf von mindestens einer des Satzes von Anlaufsequenzen identifiziert werden soll.
  63. Gerät nach Anspruch 62, wobei die PRBS aus einem Keim identifiziert wird, der im Verwürfelungssynchronisationsfeld identifiziert ist.
  64. Gerät nach Anspruch 63, wobei die Bitübertragungsschichtlogik den Keim in ein lokales LFSR laden und mit der PRBS synchronisieren soll.
  65. Gerät nach Anspruch 62, wobei der Anlaufsequenzkopf unverwürfelt ist und das Verwürfelungssynchronisationsfeld in verwürfelten Nutzinformationen der Anlaufsequenz enthalten ist und die Bitübertragungsschichtlogik das Verwürfelungssynchronisationsfeld aus einer Kante des Anlaufsequenzkopfs identifizieren soll.
  66. Gerät nach Anspruch 61, wobei das LSFR ein 23-Bit-Fibonacci-LSFR umfasst.
  67. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik: ein Abtastsignal für die Anpassung einer Bahn einer Verbindung empfangen soll, die eine erste Vorrichtung und eine zweite Vorrichtung verbindet, wobei das Signal eine Supersequenz umfasst und mindestens ein Abschnitt der Supersequenz durch eine Pseudozufallssequenz verwürfelt werden soll; mindestens eine Anpassungsaufgabe auf der Basis des Abtastsignals durchführen soll.
  68. Gerät nach Anspruch 67, wobei die Supersequenz einen elektrisch geordneten Satz (EOS), gefolgt von mehreren aufeinander folgenden Anlaufsequenzen umfassen soll.
  69. Gerät nach Anspruch 68, wobei der EOS einen elektrisch inaktiven geordneten Austrittssatz (EIEOS) umfasst.
  70. Gerät nach Anspruch 68, wobei jede der Anlaufsequenzen einen Anlaufsequenzkopf und Anlaufsequenz-Nutzinformationen umfassen soll.
  71. Gerät nach Anspruch 70, wobei jeder Anlaufsequenzkopf unverwürfelt sein soll und alle Anlaufsequenz-Nutzinformationen verwürfelt sein sollen.
  72. Gerät nach Anspruch 71, wobei der EOS unverwürfelt gelassen werden soll.
  73. Gerät nach Anspruch 67, wobei der im Wesentlichen zufällige Wert einen Pseudozufallswert umfasst.
  74. Gerät nach Anspruch 73, wobei der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS) umfasst, die durch ein Schieberegister mit linearer Rückkopplung (LFSR) erzeugt wird.
  75. Gerät nach Anspruch 74, wobei das LSFR ein 23-Bit-Fibonacci-LSFR umfasst.
  76. Gerät nach Anspruch 73, wobei die mindestens eine Anpassungsaufgabe das Bestimmen der Qualität der Bahn aus dem Abtastsignal umfasst.
  77. Gerät nach Anspruch 76, wobei die mindestens eine Anpassungsaufgabe ferner das Liefern einer Rückmeldung zu einem Sender des Abtastsignals auf der Basis der Bestimmung der Qualität der Bahn umfasst.
  78. Gerät nach Anspruch 76, wobei die mindestens eine Anpassungsaufgabe ferner das Modifizieren von Eigenschaften der Bahn auf der Basis der Bestimmung der Qualität der Bahn umfasst.
  79. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik: Supersequenzen in einem Initialisierungszustand erzeugen soll, wobei jede Supersequenz eine Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen umfasst, wobei jede Anlaufsequenz ein Suffix umfasst; und einen Start einer Datensequenz (SDS) senden soll, um den Übergang vom Initialisierungszustand in einen Übertragungsverbindungszustand anzugeben.
  80. Gerät nach Anspruch 79, wobei zumindest ein Abschnitt jeder Anlaufsequenz durch einen jeweiligen Pseudozufallswert verwürfelt werden soll.
  81. Gerät nach Anspruch 80, wobei das Suffix Aliasing des SDS durch den Pseudozufallswert verhindern soll.
  82. Gerät nach Anspruch 81, wobei der Wert des SDS nicht im Pseudozufallswert enthalten ist.
  83. Gerät nach Anspruch 80, wobei der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS) umfasst, die durch ein Schieberegister mit linearer Rückkopplung (LFSR) erzeugt wird.
  84. Gerät nach Anspruch 83, wobei das LSFR ein 23-Bit-Fibonacci-LSFR umfasst.
  85. Gerät nach Anspruch 79, wobei der EOS einen elektrisch inaktiven geordneten Austrittssatz (EIEOS) umfasst.
  86. Gerät nach Anspruch 85, wobei der EIEOS ein Taktsignal mit niedriger Frequenz emuliert.
  87. Gerät nach Anspruch 86, wobei der SDS ein Taktsignal mit einer Frequenz emuliert, die höher ist als das Taktsignal mit niedriger Frequenz.
  88. Gerät nach Anspruch 79, wobei der SDS gesendet werden soll, um die Supersequenz zu unterbrechen.
  89. Gerät nach Anspruch 88, wobei der SDS innerhalb einer speziellen der Anlaufsequenzen gesendet werden soll.
  90. Gerät nach Anspruch 88, wobei der SDS innerhalb einer speziellen Instanz des EOS gesendet werden soll.
  91. Gerät nach Anspruch 88, wobei der SDS auf der Basis eines deterministischen Ausrichtungssteuersignals gesendet weiden soll.
  92. Gerät, das Folgendes umfasst: einen Schichtenstapel mit einer Bitübertragungsschichtlogik, einer Sicherungsschichtlogik und einer Protokollschichtlogik, wobei die Bitübertragungsschichtlogik: Supersequenzen in einem Initialisierungszustand empfangen soll, wobei jede Supersequenz eine Sequenz mit einem elektrisch geordneten Satz (EOS), gefolgt von einem Satz von Anlaufsequenzen umfasst, wobei jede Anlaufsequenz ein Suffix umfasst; und einen Start einer Datensequenz (SDS) empfangen soll, um den Übergang vom Initialisierungszustand in einen Übertragungsverbindungszustand anzugeben.
  93. Gerät nach Anspruch 92, wobei zumindest ein Abschnitt jeder Anlaufsequenz durch einen jeweiligen Pseudozufallswert verwürfelt werden soll.
  94. Gerät nach Anspruch 93, wobei das Suffix Aliasing des SDS durch den Pseudozufallswert verhindern soll.
  95. Gerät nach Anspruch 94, wobei der Wert des SDS nicht im Pseudozufallswert enthalten ist.
  96. Gerät nach Anspruch 93, wobei der Pseudozufallswert eine pseudozufällige binäre Sequenz (PRBS) umfasst, die durch ein Schieberegister mit linearer Rückkopplung (LFSR) erzeugt wird.
  97. Gerät nach Anspruch 96, wobei das LSFR ein 23-Bit-Fibonacci-LSFR umfasst.
  98. Gerät nach Anspruch 92, wobei der EOS einen elektrisch inaktiven geordneten Austrittsatz (EIEOS) umfasst.
  99. Gerät nach Anspruch 98, wobei der EIEOS ein Taktsignal mit niedriger Frequenz emuliert.
  100. Gerät nach Anspruch 99, wobei der SDS ein Taktsignal mit einer Frequenz emuliert, die höher ist als das Taktsignal mit niedriger Frequenz.
  101. Gerät nach Anspruch 92, wobei der SDS gesendet werden soll, um die Supersequenz zu unterbrechen.
  102. Gerät nach Anspruch 101, wobei der SDS innerhalb einer speziellen der Anlaufsequenzen gesendet werden soll.
  103. Gerät nach Anspruch 101, wobei der SDS innerhalb einer speziellen Instanz des EOS gesendet werden soll.
  104. Gerät nach Anspruch 101, wobei der SDS auf der Basis eines deterministischen Ausrichtungssteuersignals gesendet werden soll.
  105. Gerät, das Folgendes umfasst: eine Bitübertragungsschicht (PHY), die so konfiguriert ist, dass sie mit einer Verbindung gekoppelt ist, wobei die Verbindung eine erste Anzahl von Bahnen umfasst, wobei die PHY ein selbstgesetztes Speicherelement umfassen soll, um eine pseudozufällige Bitsequenz (PRBS) mit 23 Bits zu erzeugen, wobei die PHY eine Anlaufsequenz übertragen soll, die auf der Basis der 23-Bit-PRBS verwürfelt wird.
DE112013004094.8T 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht Active DE112013004094B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22
PCT/US2013/032699 WO2014065878A1 (en) 2012-10-22 2013-03-15 High performance interconnect physical layer

Publications (2)

Publication Number Publication Date
DE112013004094T5 true DE112013004094T5 (de) 2015-07-23
DE112013004094B4 DE112013004094B4 (de) 2018-03-29

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
DE112013004094.8T Active DE112013004094B4 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005090.0T Pending DE112013005090T5 (de) 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007752.3T Active DE112013007752B3 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
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 (2)

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

Family Applications After (11)

Application Number Title Priority Date Filing Date
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005090.0T Pending DE112013005090T5 (de) 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007752.3T Active DE112013007752B3 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
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) US9378171B2 (de)
EP (2) EP2909728A4 (de)
JP (2) JP6139689B2 (de)
KR (27) KR101700545B1 (de)
CN (26) CN106815151B (de)
BR (1) BR112015006432A2 (de)
DE (14) DE112013003723B4 (de)
RU (2) RU2579140C1 (de)
WO (11) WO2014065879A1 (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
US9280507B2 (en) 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
US9355058B2 (en) * 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
KR101700545B1 (ko) * 2012-10-22 2017-01-26 인텔 코포레이션 고성능 인터커넥트 코히어런스 프로토콜
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 华为技术有限公司 一种数据传输方法及装置
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
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
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
RU2656732C2 (ru) * 2013-12-26 2018-06-06 Интел Корпорейшн Звено связи многокристальной интегральной схемы
WO2015099724A1 (en) 2013-12-26 2015-07-02 Intel Corporation Pci express enhancements
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 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
US9733847B2 (en) 2014-06-02 2017-08-15 Micron Technology, Inc. Systems and methods for transmitting packets in a scalable memory system protocol
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
US20160139204A1 (en) * 2014-11-14 2016-05-19 Xpliant, Inc. Testbench builder, system, device and method including a generic driver and transporter
US9665505B2 (en) 2014-11-14 2017-05-30 Cavium, Inc. Managing buffered communication between sockets
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
US9632862B2 (en) 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
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
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
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US9619396B2 (en) * 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
US9720838B2 (en) 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
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
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
EP3297220B1 (de) 2015-06-10 2019-04-17 Huawei Technologies Co. Ltd. Signalübertragungsverfahren, steuergerät und signalübertragungssystem
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
US9720439B2 (en) 2015-09-26 2017-08-01 Intel Corporation Methods, apparatuses, and systems for deskewing link splits
WO2017052662A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Stream identifier lane protection
US10552253B2 (en) * 2015-09-26 2020-02-04 Intel Corporation Multichip package link error detection
US10671476B2 (en) * 2015-09-26 2020-06-02 Intel Corporation In-band margin probing on an operational interconnect
US10461805B2 (en) 2015-09-26 2019-10-29 Intel Corporation Valid lane training
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
WO2018057039A1 (en) * 2016-09-26 2018-03-29 Hewlett-Packard Development Company, L. 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设备的时钟分离设计方法和系统
CN108170370B (zh) 2016-12-07 2021-01-26 慧荣科技股份有限公司 数据储存装置与数据传输速率控制方法
TWI610179B (zh) * 2016-12-07 2018-01-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
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
WO2019100238A1 (zh) * 2017-11-22 2019-05-31 深圳市大疆创新科技有限公司 一种断链恢复的方法及飞行器
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 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法
TWI706257B (zh) 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統
US10761939B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Powering-down or rebooting a device in a system fabric
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
US11099991B2 (en) 2019-01-24 2021-08-24 Vmware, Inc. Programming interfaces for accurate dirty data tracking
US11068400B2 (en) * 2019-01-24 2021-07-20 Vmware, Inc. Failure-atomic logging for persistent memory systems with cache-coherent FPGAs
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
CN113508381B (zh) * 2019-03-05 2024-03-01 西门子工业软件有限公司 用于嵌入式软件应用的基于机器学习的异常检测
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
CN114651426B (zh) * 2019-11-20 2023-08-18 三菱电机株式会社 光通信装置及通信系统
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
WO2021174225A1 (en) * 2020-02-28 2021-09-02 Riera Michael F A software-defined board support package (sw-bsp) for stand-alone reconfigurable accelerators
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
WO2021243340A1 (en) * 2020-05-29 2021-12-02 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
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
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
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
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
JP2023550646A (ja) 2020-11-24 2023-12-04 テクトロニクス・インコーポレイテッド 高速入出力マージン試験のためのシステム、方法及び装置
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
KR102518317B1 (ko) * 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
US11782497B2 (en) 2021-06-01 2023-10-10 SK Hynix Inc. Peripheral component interconnect express (PCIE) interface device and method of operating the same
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实现下变频中单精度浮点数累积误差控制方法
US20220342840A1 (en) * 2021-12-30 2022-10-27 Intel Corporation Die-to-die interconnect
US20220327084A1 (en) * 2021-12-30 2022-10-13 Intel Corporation Die-to-die interconnect protocol layer
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

Family Cites Families (271)

* 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
NZ232222A (en) * 1989-01-27 1993-03-26 British Telecomm Alternate burst communication for cordless phones: burst formats
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
US5664149A (en) * 1992-11-13 1997-09-02 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol
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
US6345339B1 (en) * 1998-02-17 2002-02-05 International Business Machines Corporation Pseudo precise I-cache inclusivity for vertical caches
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
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
DE69813551T2 (de) * 1998-09-30 2004-02-12 Alcatel Verfahren und Einrichtung für den Übergang eines niedrigen Leistungszustandes zu einem hohen Leistungszustand in einem Kommunikationssystem
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
WO2000074306A2 (en) 1999-05-28 2000-12-07 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
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
US6941425B2 (en) * 2001-11-12 2005-09-06 Intel Corporation Method and apparatus for read launch optimizations 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
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
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
EP2242231A1 (de) * 2003-11-12 2010-10-20 Qualcomm Incorporated Hochgeschwindigkeits-Datenschnittstelle mit verbesserter Verbindungssteuerung
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
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
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
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
US7716409B2 (en) * 2004-04-27 2010-05-11 Intel Corporation Globally unique transaction identifiers
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US7210000B2 (en) * 2004-04-27 2007-04-24 Intel Corporation Transmitting peer-to-peer transactions through a coherent interface
JP4312794B2 (ja) * 2004-04-30 2009-08-12 シャープ株式会社 無線通信システム
CN1700639A (zh) * 2004-05-21 2005-11-23 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US20060041696A1 (en) 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
US7313712B2 (en) 2004-05-21 2007-12-25 Intel Corporation Link power saving state
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US8046488B2 (en) 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
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
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
JP4791530B2 (ja) * 2005-04-13 2011-10-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子デバイス及びフロー制御方法
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
US7543115B1 (en) * 2006-01-11 2009-06-02 Intel Corporation Two-hop source snoop based cache coherence protocol
US7512741B1 (en) * 2006-01-11 2009-03-31 Intel Corporation Two-hop source snoop based messaging 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
JP2010500641A (ja) * 2006-08-08 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子装置及び通信同期方法
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
JP5523835B2 (ja) * 2006-12-06 2014-06-18 フュージョン−アイオー,インコーポレイテッド 高容量不揮発性ストレージ用のキャッシュとしてのソリッドステートストレージのための装置、システム、及び方法
EP2122954A2 (de) * 2007-01-15 2009-11-25 Koninklijke Philips Electronics N.V. Verfahren zum erzeugen von binärpräambelsequenzen mit niedrigem verhältnis von spitzen- zu durchschnittsleistung (papr) für ofdm-systeme
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
CA2632031A1 (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
EP2248230B1 (de) 2008-02-29 2014-04-16 Hewlett-Packard Development Company, L.P. Modulares system und einfahrbare baugruppe für elektronische einrichtungen
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
US9037768B2 (en) * 2008-04-28 2015-05-19 Hewlett-Packard Development Company, L.P. Virtual-interrupt-mode interface and method for virtualizing an interrupt mode
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
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
US8205045B2 (en) * 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes 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
US9119165B2 (en) * 2009-09-10 2015-08-25 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
WO2010096122A1 (en) * 2008-10-29 2010-08-26 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 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8189504B2 (en) * 2008-12-17 2012-05-29 Viasat, Inc. Physical layer header structure for decoding and 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
KR101598093B1 (ko) * 2009-02-02 2016-02-26 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR20100092353A (ko) * 2009-02-12 2010-08-20 엘지전자 주식회사 트래픽 암호화 키 관리방법 및 장치
WO2010096969A1 (zh) * 2009-02-27 2010-09-02 华为技术有限公司 无源光网络中发送上行传送帧的方法及设备
KR101133256B1 (ko) * 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
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 上海华为技术有限公司 一种下行数据发送和下行数据接收的方法和装置
US8327228B2 (en) * 2009-09-30 2012-12-04 Intel Corporation Home agent data and memory management
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
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
US8868846B2 (en) * 2010-03-19 2014-10-21 Netapp, Inc. Method and system for maintaining data coherency across a network
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
KR101700545B1 (ko) 2012-10-22 2017-01-26 인텔 코포레이션 고성능 인터커넥트 코히어런스 프로토콜
US9600431B2 (en) * 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) * 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
CN104956347B (zh) 2013-02-28 2018-05-22 英特尔公司 将一种互连协议的枚举和/或配置机制用于不同的互连协议
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
RU2656732C2 (ru) * 2013-12-26 2018-06-06 Интел Корпорейшн Звено связи многокристальной интегральной схемы
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112013004094B4 (de) Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
US11080212B2 (en) High performance interconnect physical layer
US10795841B2 (en) High performance interconnect physical layer
DE112013007734B4 (de) Geräte, verfahren und systeme zum identifizieren eines protokolls, das eine physikalische verbindung nutzt
DE112013007732B4 (de) System und Vorrichtung zum Bestimmen und Melden eines Fehlers auf einer Bahn
DE112016003233T5 (de) Redriver-verbindungsprüfung
DE112017006687T5 (de) Hochgeschwindigkeitsverbindungen mit kanalerweiterung
US9355058B2 (en) High performance interconnect physical layer
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112017006557T5 (de) Bimodale phy für geringe latenz in hochgeschwindigkeitsverbindungswegen
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE112017001430T5 (de) In-band-retimer-registerzugriff
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112018001088T5 (de) Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung
DE102020115989A1 (de) Dynamische Präsentation von Zwischenverbindungsprotokollfähigkeitsstrukturen
DE102022101490A1 (de) Technologien zur echtzeitaktualisierung von verschlüsselungsschlüsseln
DE112013007770B3 (de) Vorrichtungen, verfahren und system zum senden und empfangen über eine schnittstelle
DE112013007769B3 (de) System, Vorrichtung und Verfahren zum Erzeugen und Senden von SKP geordneten Sätzen
DE112013007842B3 (de) System, vorrichtung und verfahren zum erzeugen und senden von flits verschiedener protokolle in unterschiedlichen modi

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

R130 Divisional application to

Ref document number: 112013007751

Country of ref document: DE

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