CN107092565A - 高性能互连物理层 - Google Patents

高性能互连物理层 Download PDF

Info

Publication number
CN107092565A
CN107092565A CN201710243776.XA CN201710243776A CN107092565A CN 107092565 A CN107092565 A CN 107092565A CN 201710243776 A CN201710243776 A CN 201710243776A CN 107092565 A CN107092565 A CN 107092565A
Authority
CN
China
Prior art keywords
link
supersequence
eieos
state
delay
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
CN201710243776.XA
Other languages
English (en)
Other versions
CN107092565B (zh
Inventor
V.艾尔
D.S.朱
J.维利
R.G.布兰肯施普
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 CN107092565A publication Critical patent/CN107092565A/zh
Application granted granted Critical
Publication of CN107092565B publication Critical patent/CN107092565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/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

本发明涉及高性能互连物理层。将同步计数器的复位与外部确定性信号同步。进一步将到链路传输状态中的进入与该确定性信号同步。针对串行数据链路标识目标延迟。与关联于数据链路的同步计数器相同步地接收数据序列。使用该数据序列来保持目标延迟。

Description

高性能互连物理层
本申请为分案申请,其母案的发明名称为“高性能互连物理层”,申请日为2013年3月27日,申请号为201380017285.3。
技术领域
本公开一般涉及计算机开发领域,并且更特别地,涉及包含互相关约束系统的协调的软件开发。
背景技术
半导体加工和逻辑设计的进步已允许可呈现于集成电路设备的逻辑在数量上的增加。作为必然结果,计算机系统配置已从系统中的单个或多个集成电路演化为呈现于各个集成电路上的多核、多硬件线程和多逻辑处理器,以及与这种处理器相集成的其他接口。处理器或集成电路典型地包括单个物理处理器管芯,其中处理器管芯可包括任何数量的核、硬件线程、逻辑处理器、接口、存储器、控制器中枢等。
由于具有更强的能力以在更小的封装中适应更多的处理能力,更小的计算设备已经普及性增加。智能电话、平板电脑、超薄笔记本电脑、以及其他用户设备已经呈指数级增长。然而,这些更小的设备依赖于超过形状因子而既用于数据存储又用于复杂处理的服务器。因此,高性能计算市场(即服务器空间)方面的需求也已经增加。例如,在现代服务器中,典型地不仅存在具有多核的单个处理器,还存在多物理处理器(也称为多插槽)以增加计算能力。但随着处理能力与计算系统中的设备数量一同增长,插槽和其他设备之间的通信变得更加关键。
实际上,互连已从最初处理电通信的更传统的多支路总线成长为充分发展的促进快速通信的互连体系结构。不幸地,作为对以甚至更高速率消耗的未来处理器的需求,对应需求被投放在已有互连体系结构的能力上。
附图说明
图1说明了根据一个实施例的系统的简化框图,所述系统包括串行点对点互连以连接计算机系统中的I/O设备。
图2说明了根据一个实施例的分层协议栈的简化框图。
图3说明了事务描述符的实施例。
图4说明了串行点对点链路的实施例。
图5说明了可能的高性能互连(HPI)系统配置的实施例。
图6说明了与HPI关联的分层协议栈的实施例。
图7说明了示例状态机的表示。
图8说明了示例控制超序列(supersequence)。
图9说明了表示到部分宽度传输状态中示例进入的流程图。
图10说明了通过示例20通道数据链路发送的示例流控制单元(flit)的表示。
图11说明了通过示例8通道数据链路发送的示例流控制单元的表示。
图12说明了用于包括多核处理器计算系统的框图的实施例。
图13说明了用于包括多核处理器的计算系统的框图的另一实施例。
图14说明了用于处理器的框图的实施例。
图15说明了用于包括处理器的计算系统的框图的另一实施例。
图16说明了用于包括多处理器插槽的计算系统的框图的实施例。
图17说明了用于计算系统的框图的另一实施例。
各个附图中相同的附图标记和标号指示相同元素。
具体实施方式
在以下描述中,阐述了多个特定细节,诸如以下示例:特定类型的处理器和系统配置、特定硬件结构、特定体系结构的和微体系结构的细节、特定寄存器配置、特定指令类型、特定系统组件、特定处理器管线级、特定互连层、特定分组/事务配置、特定事务名、特定协议交换、特定链路宽度、特定实现方式、以及操作等,以便提供对本发明的全面理解。然而,对本领域技术人员显而易见的是,这些特定细节不需要一定被用来实践本公开的主题。在其他情况下,已避免已知组件或方法的详细描述,诸如特定的和替代的处理器体系结构、用于所描述的算法的特定逻辑电路/代码、特定固件代码、低级互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现方式、代码中算法的特定表达、特定下电和选通技术/逻辑、以及计算机系统的其他特定操作细节,以便避免不使本公开不必要地模糊。
尽管可参考特定集成电路中(诸如在计算平台或微处理器中)的节电、能效、处理效率等来描述以下实施例,但其他实施例可应用于其他类型的集成电路和逻辑设备。本文描述的实施例的相似的技术和教导可被应用于同样受益于此类特征的其他类型的电路或半导体设备。例如,公开的实施例不限于服务器计算机系统、桌面计算机系统、膝上型电脑、UltrabooksTM,而是也可用于其他设备中,诸如手持设备、智能电话、平板电脑、其他薄型笔记本电脑、片上系统(SOC)设备、和嵌入式应用。手持设备的某些示例包括蜂窝电话、互联网协议设备、数字照相机、个人数字助理(PDA)和手持PC。这里,用于高性能互连的相似的技术可被应用于在低功率互连中增加性能(或甚至省电)。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机、或可执行以下所教导的功能和操作的任何其他系统。此外,本文描述的装置、方法和系统不限于物理计算设备,还可涉及用于节能和效率的软件优化。如可在以下描述中显而易见的,本文描述的方法、装置和系统的实施例(无论参考硬件、固件、软件或其组合)可被认为对与性能考虑相权衡的“绿色技术”未来是重要的。
随着计算系统一直进步,其中的组件正变得更加复杂。耦合组件并在组件之间通信的互连体系结构也已经在复杂度上增加,以保证带宽需求被满足用于最佳组件操作。此外,不同的市场板块需要不同方面的互连体系结构,以适应相应市场。例如,服务器需要更高性能,而移动生态系统有时能够牺牲总体性能以省电。但是,大多数构造的单一化目的是在最大化的省电的情况下提供最高可能的性能。进一步,各种不同的互连可以潜在地受益于本文描述的主题。
高速外围组件互连(PCI)即(PCIe)互连构造体系结构和快速路径互连(QPI)构造体系结构,以及其他示例,可以根据本文描述的一个或多个原理以及其他示例而潜在地被改进。例如,PCIe的首要目标是使来自不同厂商的组件和设备能够在开放的体系结构中相互操作,跨越多市场板块;客户端(桌面和移动)、服务器(标准和企业)、以及嵌入和通信设备。高速PCI是高性能、通用I/O互连,其被定义用于广泛的未来计算和通信平台。某些PCI属性,诸如其使用模型、负载存储体系结构和软件接口,已通过其修订来维护,而先前的并行总线实现方式已被高度可缩放的、全串行接口所替代。高速PCI的最新版本利用点对点互连、基于交换机的技术、以及分组化协议中的进步,来传递新水平的性能和特征。功率管理、服务质量(QoS)、热插拔/热切换支持、数据完整性、以及误差处理在由高速PCI所支持的高级特征的一些当中。尽管本文的主要讨论参考了新的高性能互连(HPI)体系结构,但本文描述的发明的各方面可被应用于其他互连体系结构,诸如PCIe兼容的体系结构、QPI兼容的体系结构、MIPI兼容的体系结构、高性能体系结构、或其他已知互连体系结构。
参见图1,说明了由点对点链路组成的构造的实施例,该点对点链路将组件的集合进行互连。系统100包括处理器105和耦合于控制器中枢115的系统存储器110。处理器105可包括任何处理元件,诸如微处理器、主处理器、嵌入处理器、协处理器或其他处理器。处理器105通过前端总线(FSB)106耦合于控制器中枢115。在一个实施例中,FSB 106为如下所述的串行点对点互连。在另一实施例中,链路106包括串行的、不同的互连体系结构,其与不同的互连标准相兼容。
系统存储器110包括任何存储器设备,诸如随机存取存储器(RAM)、非易失性(NV)存储器、或可由系统100中的设备访问的其他存储器。系统存储器110通过存储器接口116耦合于控制器中枢115。存储器接口的示例包括双数据速率(DDR)存储器接口、双通道DDR存储器接口和动态RAM(DRAM)存储器接口。
在一个实施例中,控制器中枢115可包括根中枢、根联合体或根控制器,诸如在PCIe互连层次结构中。控制器中枢115的示例包括芯片组、存储器控制器中枢(MCH)、北桥、互连控制器中枢(ICH)、南桥和根控制器/中枢。通常术语芯片组指代两个物理分离的控制器中枢,例如,耦合于互连控制器中枢(ICH)的存储器控制器中枢(MCH)。注意,当前系统通常包括与处理器105相集成的MCH,而控制器115将与I/O设备以如下描述的类似方式进行通信。在某些实施例中,通过根联合体115可选地支持对等路由。
这里,控制器中枢115通过串行链路119耦合于开关/桥120。输入/输出模块117和121,其还可称为接口/端口117和121,可包括/实现分层协议栈,以提供控制器中枢115和开关120之间的通信。在一个实施例中,多个设备能够耦合于开关120。
开关/桥120将分组/消息从设备125上游,即层次结构的上方朝根联合体路由至控制器中枢115和下游,即远离根控制器的层次结构下方,从处理器105或系统存储器110路由至设备125。在一个实施例中,开关120称为多个虚拟PCI至PCI桥设备的逻辑组装件。设备125包括任何内部或外部设备或组件,其将被耦合于电子系统,诸如I/O设备、网络接口控制器(NIC)、外接卡、音频处理器、网络处理器、硬驱动器、存储设备、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、Firewire设备、通用串行总线(USB)设备、扫描仪和其他输入/输出设备。通常在PCIe术语中,诸如设备,被称为端点。尽管没有具体地示出,但设备125可包括桥(例如,PCIe至PCI/PCI-X的桥),以支持由此设备支持的设备或互连构造的传统版本或其他版本。
图形加速器130也可通过串行链路132耦合于控制器中枢115。在一个实施例中,图形加速器130耦合于MCH,该MCH耦合于ICIL。开关120,以及相应地I/O设备125则耦合于ICH。I/O模块131和118也将实现分层协议栈,以在图形加速器130和控制器中枢115之间通信。类似于上述的MCH讨论,图形控制器或图形加速器130本身可被集成于处理器105中。
转到图2,说明了分层协议栈的实施例。分层协议栈200可包括任何形式的分层通信栈,诸如QPI栈,PCIe栈,下一代高性能计算互连(HPI)栈或其他分层栈。在一个实施例中,协议栈200可包括事务层205、链路层210和物理层220。接口,诸如图1中的接口117、118、121、122、126和131,可表示为通信协议栈200。如通信协议栈的表示还可称为实现/包括协议栈的模块或接口。
分组可用于在组件之间传送信息。分组可形成于事务层205和数据链路层210中,以将信息从传输组件输送至接收组件。随着传输分组流经其他层,其利用附加信息来扩展,该附加信息用于在那些层处理分组。在接收侧发生反向过程并且将分组从其物理层220表示变换为数据链路层210表示,并最终(针对事务层分组)变换为可由接收设备的事务层205所处理的形式。
在一个实施例中,事务层205可提供设备的处理核和互连体系结构之间的接口,诸如数据链路层210和物理层220之间的接口。在这点上,事务层205的主要职责可包括分组(即,事务层分组或TLP)的组装和拆分。转换层205也可管理用于TLP的基于信用的流控制。在某些实现方式中,可利用分割事务,即具有按时间划分的请求和响应的事务,从而允许链路携带其他通信量,同时目标设备收集用于响应的,以及其他示例。
基于信用的流控制可用于利用互连构造实现虚拟通道和网络。在一个示例中,设备可对事务层205中的每个接收缓冲器通告初始信用量。在链路的相对端处的外部设备,诸如图1中的控制器中枢115,可计算由每个TLP消耗的信用的数量。如果事务未超过信用限度,则事务可被传输。在接收响应时,信用量被恢复。这种信用方案的优点的一个示例是,假如信用限度未被计数,信用返回的延迟不影响性能,以及其他可能的优点。
在一个实施例中,四个事务地址空间可包括配置地址空间、存储器地址空间、输入/输出地址空间和消息地址空间。存储器空间事务包括读请求和写请求中的一个或多个,以传输数据至存储器映射位置或从存储器映射位置传输数据。在一个实施例中,存储器空间事务能够使用两个不同的地址格式,例如,短地址格式,诸如32位地址,或长地址格式,诸如64位地址。配置空间事务可用于访问连接到互连的各种设备的配置空间。对于配置空间的事务可包括读请求和写请求。消息空间事务(或,仅消息)也可被定义,以支持互连代理之间的带内通信。因此,在一个示例实施例,事务层205可组装分组报头/有效载荷206。
快速参考图3,说明了事务层分组描述符的示例实施例。在一个实施例中,事务描述符300可以是用于承载事务信息的机构。在这点上,事务描述符300支持系统中事务的标识。其他可能的用途包括跟踪默认事务排序的修改和事务与通道的关联。例如,事务描述符300可包括全局标识符字段302、属性字段304和通道标识符字段306。在说明的示例中,全局标识符字段302被描绘为包括本地事务标识符字段308和源标识符字段310。在一个实施例中,全局事务标识符302对于所有未完成请求是独特的。
根据一个实现方式,本地事务标识符字段308是由请求代理所生成的字段,并可对于请求针对该请求代理的完成的所有未完成请求是独特的。此外,在该示例中,源标识符310在互连层次结构中独特地标识请求方代理。由此,连同源ID 310,本地事务标识符308字段提供了在层次结构域内的事务的全局标识。
属性字段304指定事务的特性和关系。在这点上,属性字段304可能用于提供附加的信息,其允许对事务的默认处理的修改。在一个实施例中,属性字段304包括优先级字段312、保留字段314、排序字段316和无嗅探(no-snoop)字段318。这里,优先级子字段312可由启动器修改,以对事务分配优先级。保留属性字段314被保留用于将来使用或厂商定义的使用。使用优先级或安全属性的可能的使用模型可使用保留属性字段来实现。
在该示例中,排序属性字段316用于提供可选的信息,其传递可修改默认排序规则的排序的类型。根据一个示例实现方式,排序属性“0”表示默认排序规则将应用,其中排序属性“1”表示随意的排序,其中写入可在同一方向上传递写入,并且读取完成可在同一方向上传递写入。嗅探属性字段318被用于确定事务是否被嗅探。如所示的,通道ID字段306标识事务所关联的通道。
返回到图2的讨论,链路层210,也称为数据链路层210,可充当事务层205和物理层220之间的中间级。在一个实施例中,数据链路层210的职责是提供可靠机构以用于在链路上的两个组件之间交换事务层分组(TLP)。数据链路层210的一侧接受由事务层205组装的TLP,应用分组序列标识符211,即标识数量或分组数量,计算并应用误差检测代码,即CRC212,以及提交修改的TLP至物理层220,以用于跨越物理至外部设备的传输。
在一个示例中,物理层220包括逻辑子块221和电学子块222,以将分组物理地传输至外部设备。这里,逻辑子块221负责物理层221的“数字”功能。在这点上,逻辑子块可包括传输部,用以准备发出用于由物理子块222进行传输的信息,以及接收器部,用以在将所接收的信息传动至链路层210之前对其进行识别和准备。
物理块222包括传输器和接收器。传输器由逻辑子块221与符号一起提供,传输器串行化该符号并将其传输至外部设备。接收器被提供有来自外部设备的串行化符号,并将接收信号转换成位流。该位流被去串行化并提供至逻辑子块221。在一个示例实施例,采用了8b/10b传输代码,其中10位符号被传输/接收。这里,特殊符号用于利用帧223来构成分组。此外,在一个示例中,接收器还提供从进入的串行流恢复的符号时钟。
如上所述,尽管参考协议栈(诸如PCIe协议栈)的具体实施例讨论了事务层205、链路层210和物理层220,但分层协议栈不被如此限制。实际上,任何分层协议可被包括/实现并采用本文讨论的特征。作为示例,表示为分层协议的端口/接口可包括:(1)用以组装分组的第一层,即事务层;用以排序分组的第二层,即链路层;以及用以传输分组的第三层,即物理层。作为特定的示例,利用了如本文描述的高性能互连分层协议。
接下来参见图4,说明了串行点对点构造的示例实施例。串行点对点链路可包括用于传输串行数据的任何传输路径。在示出的实施例中,链路可包括两个低电压的不同驱动的信号对:传输对406/411和接收对412/407。由此,设备405包括传输逻辑406,其用以传输数据至设备410,以及接收逻辑407,其用以从设备410接收数据。换言之,两个传输路径,即路径416和417,以及两个接收路径,即路径418和419,被包括在链路的某些实现方式中。
传输路径指代用于传输数据的任何路径,诸如传输线路、铜线路、光学线路、无线通信信道、红外通信链路或其他通信路径。两个设备之间的连接,诸如设备405和设备410之间的连接,被称为链路,诸如链路415。链路可支持一个通道–每个通道,其表示差分信号对的集合(一对用于传输,一对用于接收)。为对带宽进行定标,链路可聚集多个通道,表示为xN,其中N为任何所支持的链路宽度,诸如1、2、4、8、12、16、32、64或更宽。
差分对可指代两个传输路径,诸如线路416和417,以传输差分信号。作为示例,当线路416从低电压电平到高电压电平(即上升沿)进行触发时,线路417从高逻辑电平驱动至低逻辑电平,即下降沿。差分信号可能示范更好的电特性,诸如更好的信号完整性(即交叉耦合)、电压过冲/下冲、振铃,以及其他示例优点。这允许更好的定时窗口,其能够实现更快的传输频率。
在一个实施例中,提供了新的高性能互连(HPI)。HPI可包括下一代缓存一致的、基于链路的互连。作为一个示例,HPI可被用在高性能计算平台中,诸如工作站或服务器,其包括在其中PCIe或另一互连协议典型地被用于连接处理器、加速器、I/O设备等的系统中。然而,HPI不被如此限制。而是,HPI可被用于本文描述的系统或平台中的任意中。此外,所开发的各个构思可被应用于其他互连和平台,诸如PCIe、MIPI、QPI等。
为支持多个设备,在一个示例实现方式中,HPI可包括指令集体系结构(ISA)不可知(agnostic)(即,HPI能够被实现于多个不同的设备)。在另一情形中,HPI还可被用于连接高性能I/O设备,而不仅是处理器或加速器。例如,高性能PCIe设备可通过合适的转换桥(即HPI至PCIe)耦合于HPI。此外,HPI链路可以按各种方式(例如星形、环形、网状等)由许多基于HPI的设备(诸如处理器)所利用。图5说明了多个可能的多插槽配置的示例实现方式。所描绘的双插槽配置505,可包括两个HPI链路;然而,在其他实现方式中,可利用一个HPI链路。对于更大的拓扑结构,可利用任何配置,只要标识符(ID)是可分配的并且存在某种形式的虚拟路径,以及其他附加的或替代的特征。如所示的,在一个示例中,四插槽配置510具有从每个处理器到另一个处理器的HPI链路。但在配置515中所示出的八插槽实现方式中,不是每个插槽都通过HPI链路相互直接连接。然而,如果虚拟路径或通道存在于处理器之间,则支持该配置。所支持的处理器的范围在本域中包括2-32个。通过使用多个域或节点控制器之间的其他互连,可达到更高数量的处理器,以及其他示例。
HPI体系结构包括分层协议体系结构的定义,在某些示例中包括协议层(一致、非一致、以及可选地,其他基于存储器的协议)、路由层、链路层和物理层。此外,HPI可进一步包括与功率管理器(诸如功率控制单元(PCU))有关的增强、针对测试和调试(DFT)的设计、错误处理、寄存器、安全性,以及其他示例。图5说明了示例HPI分层协议栈的实施例。在某些实现方式中,图5说明的层中的至少某些层是可选的。每个层处理其自身级别的信息粒度或信息量(具有分组630的协议层605a、b,具有流控制单元(flit)635的链路层610a、b,以及具有物理层单元(phit) 640的物理层605a、b)。注意,分组在某些实施例中可包括基于实现方式的部分流控制单元、单个流控制单元或多个流控制单元。
作为第一示例,物理层单元 640的宽度包括链路宽度到位的1对1映射(例如20位链路宽度包括20位的物理层单元等)。流控制单元可具有更大的尺寸,诸如184、192或200个位。注意,如果物理层单元 640为20位宽度并且流控制单元635大小为184位,则其采用物理层单元 640的分数来传输一个流控制单元635(例如采用20位下的9.2个物理层单元传输184位流控制单元635或20位下的采用9.6个物理层单元传输192位流控制单元,以及其他示例)。注意,基础链路的宽度在物理层可变化。例如,每个方向的通道的数量可包括2、4、6、8、10、12、14、16、18、20、22、24等。在一个实施例中,链路层610a、b能够在单个流控制单元中嵌入不同事务的多个段,并且一个或多个报头(例如1、2、3、4)可被嵌入在流控制单元中。在一个示例中,HPI将该报头划分成对应的隙以能够实现去往不同节点的流控制单元中的多个消息。
在一个实施例中,物理层605a、b可负责在物理介质(电的或光的,等等)上快速传输信息。物理链路可以是两个链路层实体(诸如层605a和605b)之间的点对点。链路层610a、b可从上层抽取物理层605a、b并提供能力来可靠地传输数据(以及请求)并管理两个直接连接的实体之间的流控制。链路层还可负责将物理通道虚拟化成多个虚拟通道和消息类。协议层620a、b依赖于链路层610a、b来在将协议消息处理至物理层605a、b以用于跨越物理链路进行传输之前,将协议消息映射至合适的消息类和虚拟通道中。链路层610a、b可支持多个消息,诸如请求、嗅探、响应、写回、非一致数据,以及其他示例。
HPI的物理层605a、b(或PHY)可被实现在图6中说明的电学层(即连接两个组件的电导体)之上和链路层610a、b之下。物理层和对应逻辑可驻留于每个代理上并在相互分离的两个代理(A和B)上(例如在链路任一侧上的设备上)连接链路层。本地电学层和远程电学层通过物理介质连接(例如导线、导体、光介质等)。在一个实施例中,物理层605a、b具有两个主要阶段,即初始化和操作。在初始化期间,连接对链路层不透明,并且信令可涉及定时状态和握手事件的组合。在操作期间,连接对链路层透明并且信令是在一定速度下,其中所有通道一起操作为单个链路。在操作阶段期间,物理层将流控制单元从代理A传输至代理B并从代理B传输至代理A。连接也称为链路,并从链路层抽取某些物理方面,包括介质、宽度和速度,同时与链路层交换当前配置的流控制单元和控制/状态(例如宽度)。初始化阶段包括次要阶段,例如轮询、配置。操作阶段也包括次要阶段(例如链路功率管理状态)。
在一个实施例中,可实现链路层610a、b,以便在两个协议或路由实体之间提供可靠的数据传输。链路层可从协议层620a、b抽取物理层605a、b,并可负责两个协议代理(A、B)之间的流控制,并提供虚拟通道服务给协议层(消息类)和路由层(虚拟网络)。协议层620a、b和链路层610a、b之间的接口可典型地处于分组级。在一个实施例中,在链路层处的最小传输单元称为流控制单元(flit),其是指定数量的位,诸如192位或某些其他度量衡。链路层610a、b依赖于物理层605a、b来将物理层的605a、b传输单元(物理层单元)构成为链路层的610a、b传输单元(流控制单元)。此外,链路层610a、b可被逻辑上分为两个部分,即发送器和接收器。一个实体上的发送器/接收器对可被连接于另一实体上的接收器/发送器对。流控制通常以流控制单元和分组两者为基础来执行。误差检测和校正也可能以流控制单元级为基础来执行。
在一个实施例中,路由层615a、b可提供灵活和分布式的方法,以将HPI事务从源路由至目的地。该方案是灵活的,因为用于多个拓扑结构的路由算法可通过在每个路由器处的可编程路由表来指定(在一个实施例中,编程由固件、软件或其组合来执行)。路由功能可以是分布式的;路由可通过一系列路由步骤来完成,其中每个路由步骤通过对源、中间或目的地路由器中任一处的表的查找来定义。在源处的查找可被用于将HPI分组注入至HPI构造。在中间路由器处的查找可被用于将HPI分组从输入端口路由至输出端口。在目的地端口处的查找可被用于将目的地HPI协议代理作为目标。注意,在某些实现方式中,路由层可能较薄,这是由于路由表并且因此路由算法并未按规范而被具体定义。这允许灵活性和各种使用模型,包括要由系统实现方式所定义的灵活平台体系结构的拓扑结构。路由层615a、b依赖于链路层610a、b,以便提供多达三个(或更多个)的虚拟网络(VN)的使用——在一个示例中,两个免死锁VN,即VN0和VN1,具有在每个虚拟网络中定义的若干消息类。共享的自适应虚拟网络(VNA)可被定义于链路层中,但该自适应网络可能不直接暴露在路由概念中,因为每个消息类和虚拟网络可具有专用的资源和保证前向进展,以及其他特征和示例。
在某些实现方式中,HPI可利用嵌入时钟。时钟信号可嵌入使用互连来传输的数据中。利用嵌入数据中的时钟信号,不同的和专用的时钟通道可被省略。这可以是有用的,例如,由于其允许专用于数据传输的更多的设备引脚,特别是在用于引脚的空间是非常珍贵的系统中。
链路可被建立在互连的任一侧上的两个代理之间。发送数据的代理可以是本地代理并且接收数据的代理可以是远程代理。状态机可以被两个代理用来管理链路的各个方面。在一个实施例中,物理层数据路径可以将流控制单元从链路层传输至电学前端。在一个实现中,控制路径包括状态机(也称为链路训练状态机或类似物)。状态机的动作和从状态的退出可取决于内部信号、定时器、外部信号或其他信息。实际上,某些状态,诸如少量的初始化状态,可具有定时器,以提供超时值来退出状态。注意,在某些实施例中,检测指代检测通道的两个支线上的事件;但不一定同时地进行。然而,在其他实施例,检测指代通过参考代理来检测事件。作为一个示例,防反跳(debounce)指代对信号的持续断言。在一个实施例中,HPI支持非功能通道的事件中的操作。这里,通道可落在特定状态。
状态机中定义的状态可包括复位状态、初始化状态和操作状态,以及其他分类和子分类。在一个示例中,某些初始化状态可具有辅定时器,其用于退出在超时上的状态(实质上由于未能在状态中取得进展而中止)。中止可包括寄存器的更新,诸如状态寄存器。某些状态还可具有一个或多个主定时器,其用于对状态中的主功能进行定时。其他状态可被定义为使得内部或外部信号(诸如握手协议)驱动从该状态到另一状态的转变,以及其他示例。
状态机还可支持通过单个步骤的调试、对初始化中止的冻结以及测试器的使用。这里,状态退出可被退迟/保持,直到调试软件就绪。在某些情况下,退出可被退迟/保持直到辅助的超时。在一个实施例中,动作和退出可基于训练序列的交换。在一个实施例中,链路状态机将运行在本地代理时钟域中并从一个状态转变至与传输器训练序列边界相符合的下一状态。状态寄存器可被用来反映当前状态。
图7说明了在HPI的一个示例实现方式中由代理使用的至少一部分状态机的表示。应当理解,包括于图7的状态表中的状态包括可能状态的非穷举列表。例如,某些转变被省略以简化示图。并且,某些状态可被组合、划分或省略,而其他状态可被增加。此类状态可包括:
事件复位状态:在暖或冷复位事件上所输入的。恢复默认值。初始化计数器(例如,同步计数器)。可退出至另一状态,诸如另一复位状态。
定时复位状态:用于带内复位的定时状态。可驱动预定义电学有序集合(EOS),因此远程接收器能够检测EOS并也进入定时复位。接收器具有保持电学设置的通道。可退出至代理以校准复位状态。
校准复位状态:在没有通道上的信令(例如接收器校准状态)或关闭驱动器情况下的校准。可以是基于定时器的状态中的预定义时间量。可设置操作速度。可充当端口未被使能时的等待状态。可包括最小驻留时间。接收器调节或错开(stagger off)可基于设计发生。可在超时和/或完成校准之后退出至接收器检测状态。
接收器检测状态:检测一个或多个通道上的接收器的存在。可寻找接收器终止(例如接收器下拉插入)。可在特定值被设置时或另一特定值未被设置时退出至校准复位状态。如果接收器被检测到或达到超时,则可退出至传输器校准状态。
传输器校准状态:用于传输器校准。可以是分配用于传输器校准的定时状态。可包括通道上的信令。可连续地驱动EOS,诸如电学空闲退出有序集合(EIEOS)。当完成校准或定时器期满时可退出至遵从性状态。如果计数器已经期满或已经出现辅助的超时,则可退出至传输器检测状态。
传输器检测状态:限定有效信令。可意识握手状态,其中代理基于远程代理信令完成动作并退出至下一状态。接收器可限定来自传输器的有效信令。在一个实施例中,接收器寻找唤醒检测,并且如果在一个或多个通道上防反跳,则在其他通道上寻找。传输器驱动检测信号。响应于为所有通道完成的防反跳和/或超时或如果所有通道上的防反跳未完成并且存在超时,则可退出至轮询状态。这里,一个或多个监视通道可保持唤醒,以对唤醒信号防反跳。并且如果被防反跳,则可能对其他通道防反跳。这可以能够实现低功率状态中的节电。
轮询状态:接收器自适应,初始化漂移缓冲器并锁定位/字节(例如标识符号边界)。通道可以被去歪斜(deskew)。远程代理可响应于应答消息来引起向下一状态(例如链路宽度状态)的退出。轮询可通过锁定至EOS和训练序列报头来附加地包括训练序列锁定。可以针对最高速度以第一长度以及针对慢速度以第二长度覆盖远程传输器处的通道到通道的歪斜。去歪斜可在慢速模式以及操作模式中执行。接收器可具有对通道到通道的歪斜进行去歪斜的特定最大值,诸如8、16或32的歪斜间隔。接收器动作可包括延迟修复。在一个实施例中,接收器动作可在有效通道映射的成功去歪斜上完成。在一个示例中,可在利用应答接收多个连续训练序列报头并且具有应答的多个训练序列在接收器已经完成其动作之后被传输时实现成功的握手。
链路宽度状态:代理与到远程传输器的最终通道映射进行通信。接收器接收信息并解码。接收器可在第二结构中的先前通道映射值的检查点之后记录结构中的配置通道映射。接收器还可利用应答(“ACK”)进行响应。可启动带内复位。作为一个示例,第一状态启动带内复位。在一个实施例中,响应于ACK来执行退出至下一状态,诸如流控制单元配置状态。进一步,在进入低功率状态之前,如果唤醒检测信号出现的频率降至指定值以下(例如每个单位间隔(UI)的数量为1,诸如4K UI),则复位信号也可被生成。接收器可保持当前的和先前的通道映射。基于具有不同值的训练序列,传输器可使用不同的通道组。在某些实施例中,通道映射可不修改某些状态寄存器。
流控制单元锁定配置状态:当传输器和接收器已均退出至阻断链路状态或其他链路状态时,由传输器进入但状态被考虑退出(即辅助超时假设情况)。在一个实施例中,至链路状态的传输器退出包括在接收轨道对齐信号之后数据序列(SDS)的开始和训练序列(TS)边界。这里,接收器退出可基于从远程传输器接收SDS。该状态可以是从代理到链路状态的桥。接收器标识SDS。如果SDS在去加扰器被初始化之后被接收,则接收器可退出至阻断链路状态(BLS)(或控制窗口)。如果超时发生,退出可以到复位状态。传输器利用配置信号驱动通道。基于条件或超时,传输器退出可以到复位、BLS或其他状态。
传输链路状态:链路状态。流控制单元被发送至远程代理。可从阻断链路状态进入并在诸如超时的事件上返回到阻断链路状态。传输器传输流控制单元。接收器接收流控制单元。还可退出至低功率链路状态。在某些实现方式中,传输链路状态(TLS)可以被称为L0状态。
阻断链路状态:链路状态。传输器和接收器将以统一的方式进行操作。可意识定时状态,在此期间链路层流控制单元被拖延而物理层信息被传送至远程代理。可退出至低功率链路状态(或基于设计的其他链路状态)。在一个实施例中,阻断链路状态(BLS)周期性地出现。该周期被称为BLS间隔并且可被定时,以及可在慢速度和操作速度之间有所不同。注意,可周期性地阻断链路层发送流控制单元,使得一定长度的物理层控制序列可被发送,诸如在传输链路状态或部分宽度传输链路状态期间。在某些实现方式中,阻断链路状态(BLS)可称为L0控制或L0c状态。
部分宽度传输链路状态:链路状态。可通过进入部分宽度状态而省电。在一个实施例中,非对称部分宽度指代具有不同的宽度的双向链路的每个方向,其可在某些设计中被支持。启动器的示例,诸如传输器,其发送部分宽度指示以进入部分宽度传输链路状态,在图14的示例中被示出。这里,部分宽度指示被发送,同时利用第一宽度在链路上传输,以将链路进行转变以在新的第二宽度下进行传输。失配可导致复位。注意,速度可不改变但宽度可改变。因此,流控制单元可能以不同的宽度被发送。可类似于逻辑地传输链路状态;但由于存在更小的宽度,因此可花费较长时间传输流控制单元。可退出至其他链路状态,诸如基于特定的接收和发送消息的低功率链路状态或基于其他事件的部分宽度传输链路状态或链路阻断状态的退出。在一个实施例中,传输器端口可以交错的方式将空闲通道关闭以提供更好的信号完整性(即噪声减轻)。这里,非可重试流控制单元,诸如空流控制单元,可在链路宽度正改变的时段期间被利用。对应接收器可丢弃这些空流控制单元并以交错方式关闭空闲通道,以及在一个或多个结构中记录当前的和先前的通道映射。注意,状态和相关联的状态寄存器可保持不变。在某些实现方式中,部分宽度传输链路状态可称为部分L0或L0p状态。
退出部分宽度传输链路状态:退出部分宽度状态。在某些实现方式中,可使用或可不使用阻断链路状态。在一个实施例中,传输器通过在空闲通道上发送部分宽度退出模式以对其进行训练和去歪斜来启动退出。作为一个示例,退出模式开始于EIEOS,其被检测并对通道准备好开始进入完全传输链路状态的信号防反跳,并可结束于空闲通道上的SDS或快速训练序列(FTS)。在退出序列期间的任何失败(接收器动作,诸如在超时之前去歪斜未完成)停止流控制单元传输至链路层以及断言复位,其通过在下一阻断链路状态出现时复位链路来处理。SDS还可将通道上的加扰器/去加扰器初始化为合适的值。
低功率链路状态:为更低功率状态。在一个实施例中,其是比部分宽度链路状态更低的功率,因为在该实施例中的信令在所有通道和双方向上被停止。传输器可使用阻断链路状态以用于请求低功率链路状态。这里,接收器可解码请求并利用ACK或NAK进行响应;否则复位可被触发。在某些实现方式中,低功率链路状态可称为L1状态。
在某些实现方式中,状态转变可被促进以允许状态被绕过,例如,当状态的状态动作(诸如一定的校准和配置)已被完成时。链路的先前状态结果和配置可被存储并重用于链路的后续初始化和配置中。与重复这种配置和状态动作相反,对应状态可被绕过。然而,实现状态绕过传统系统通常实现复杂设计和昂贵的验证逃逸。与使用传统绕过相反,在一个示例中,HPI可利用一定状态中的短定时器,诸如在状态动作不需要被重复的情况下。这可以潜在地允许更多一致和同步的状态机转变,以及其他可能的优点。
在一个示例中,基于软件的控制器(如,通过用于物理层的外部控制点)可以能够实现用于一个或多个特定状态的短定时器。例如,对于动作已被执行和存储的状态,该状态可被短定时,以促进从该状态至下一状态的快速退出。然而,如果先前状态动作失败或无法在短定时器持续时间内被应用,则状态退出可被执行。进一步,控制器可禁用短定时器,例如,当状态动作应当被重新执行时。长的或默认的定时器可被设置用于每个相应状态。如果在该状态下的配置动作无法在长定时器内被完成,则状态退出可以发生。长定时器可被设置为合理的持续时间以便允许状态动作的完成。相反,短定时器可能是相当地更短,从而使其在某些情况下不可能在没有参考回到先前执行状态动作的情况下执行该状态动作,以及其他示例。
在HPI的某些实现方式中,超序列的可被定义,每个超序列对应于相应状态或进入/退出相应状态。超序列可包括数据集合和符号的重复序列。在某些情况下,序列可重复,直到状态或状态转变的完成或对应事件的通信为止,以及其他示例。在某些情况下,超序列的重复序列可根据定义的频率进行重复,诸如定义的单位间隔(UI)的数量。单位间隔(UI)可对应于用于在链路或系统的通道上传输单个位的时间间隔。在某些实现方式中,重复序列可开始于电学有序集合(EOS)。因此,EOS的实例可预计依据预定义的频率进行重复。这种有序集合可被实现为定义的16字节代码,其可按十六进制格式来表示,以及其他示例。在一个示例中,超序列的EOS可以是电学空闲有序集合(或EIEIOS)。在一个示例中,EIEOS可类似低频率时钟信号(例如,预定义数量的重复FF00或FFF000十六进制符号,等等)。预定义的数据集合可跟随EOS,诸如预定义数量的训练序列或其他数据。这种超序列可被用于状态转变中,包括链路状态转变和初始化,以及其他示例。
如以上所介绍的,在一个实施例中初始化可最初以慢速完成,之后是快速下的初始化。慢速下的初始化将默认值用于寄存器和定时器。然后软件使用慢速链路来设立寄存器、定时器和电学参数,并清除校准信号标(semaphore)来为快速初始化铺平道路。作为一个示例,初始化可包括的状态或任务诸如是复位、检测、轮询和配置,以及可能其他的状态或任务。
在一个示例中,链路层阻断控制序列(即阻断链路状态(BLS)或L0c状态)可包括定时状态,在此期间链路层流控制单元被拖延,而PHY信息被传送至远程代理。这里,传输器和接收器可启动阻断控制序列定时器。并且在定时器期满时,传输器和接收器可退出阻断状态并可采取其他动作,诸如退出至复位,退出至不同的链路状态(或其他状态),包括允许跨越链路发送流控制单元的状态。
在一个实施例中,链路训练可被提供并包括发送加扰训练序列、有序集合以及控制序列中的一个或多个,诸如连同定义的超序列。训练序列符号可包括以下一个或多个:报头、保留部分、目标延迟、对数量、物理通道映射代码参考通道或通道组、以及初始化状态。在一个实施例中,可与ACK或NAK一起发送报头,以及其他示例。作为示例,训练序列可作为超序列的一部分被发送并可被加扰。
在一个实施例中,有序集合以及控制序列不被加扰或交错并被同样、同时且完全地在所有通道上传输。有序集合的有效接收可包括检查至少一部分有序集合(或针对部分有序集合的整个有序集合)。有序集合可包括电学有序集合(EOS),诸如电学空闲有序集合(EIOS)或EIEOS。超序列可包括数据序列(SDS)或快速训练序列(FTS)的开始。这种集合和控制超序列可被预定义并可具有任何模式或十六进制表示,以及任何长度。例如,有序集合和超序列可以是8字节、16字节或32字节等的长度。作为示例,FTS可附加地被用于在部分宽度传输链路状态的退出期间的快速位锁定。注意,FTS定义可以是按通道的并可利用FTS的旋转版本。
在一个实施例中,超序列可包括在训练序列流中的EOS(诸如EIEOS)的插入。在一个实现方式中,当信令开始时,通道以交错形式被上电。然而,这可能导致最初的超序列在某些通道上的接收器处被截断。然而,超序列可通过短间隔(例如近似一千个单位间隔(或~1KUI))进行重复。训练超序列可附加地被用于以下一个或多个:去歪斜、配置、以及用于传送初始化目标、通道映射等。EIEOS可用于以下中的一个或多个:通道从非活动到活动状态的转变、筛选良好的通道、标识符号和TS边界,以及其他示例。
转到图8,示出了示例超序列的表示。例如,示例性检测超序列805可被定义。检测超序列805可包括单个EIEOS(或其他EOS)的重复序列,之后是预定义数量的特定训练序列(TS)实例。在一个示例中,EIEOS可被传输,紧接之后是TS的7个重复实例。当7个TS中的最后一个被发送时,EIEOS可被再次发送,后面是TS的7个附加实例,等等。该序列可根据特定预定义频率进行重复。在图8的示例中,EIEOS可在近似每一千个UI(~1KUI)一次在通道再次出现,后面是检测超序列805的剩余部分。接收器可针对通道监视重复检测超序列805的出现,并在验证超序列705时可推断远程代理存在、已在通道上添加(例如,热插接)、已唤醒、或正在重新初始化,等等
在另一示例中,另一超序列810可被定义以指示轮询、配置或环回条件或状态。如在示例检测超序列805的情况下,可针对该轮询/配置/循环超序列810由接收器监视链路的通道,以标识轮询状态、配置状态或环回状态或条件。在一个示例中,轮询/配置/循环超序列810可开始于EIEOS,之后是预定义数量的TS的重复实例。例如,在一个示例中,EIEOS之后可以是三十个(31)TS实例,其中EIEOS近似在每四千个UI(例如,~4KUI)进行重复。
进一步,在另一示例中,部分宽度传输状态(PWTS)退出超序列815可被定义。在一个示例中,PWTS退出超序列可包括初始EIEOS,以在发送超序列中的第一完全序列之前进行重复来预调节通道。例如,要在超序列815中重复的序列可开始于EIEOS(以近似每1KUI重复一次)。进一步,快速训练序列(FTS)可被用来代替其他训练序列(TS),该FTS被配置为帮助更快的位锁定、字节锁定、以及去歪斜。在某些实现方式中,FTS可以是非加扰的,以进一步帮助尽可能快速并且无干扰地使空闲通道活动。如在退出到链路传输状态中之前的其他超序列的情况下,超序列815可通过发送数据序列(SDS)的开始而被中断和结束。进一步,部分FTS(FTSp)可被发送以帮助将新通道同步至活动通道,诸如通过允许对FTSp减去(或增加)位,以及其他示例。
超序列,诸如检测超序列705和轮询/配置/循环超序列710等,可以潜在地基本上遍及链路的初始化或重新初始化进行发送。在某些情况下,接收器在接收和检测特定超序列时,可通过将相同超序列通过通道回波至传输器来响应。由传输器和接收器对特定超序列的接收和验证可用作握手,以应答通过超序列传送的状态或条件。例如,这种握手(例如,利用检测超序列705)可用于标识链路的重新初始化。在另一示例中,这种握手可用于指示电复位或低功率状态的结束,导致对应通道被带回来,以及其他示例。电复位的结束可被标识,例如,根据均传输检测超序列705的传输器和接收器之间的握手。
在另一示例中,通道可被监视用于超序列并使用超序列,连同对通道的筛选,以用于检测、唤醒、状态退出和进入,以及其他事件。超序列的预定义和可预测性质和形式可进一步用于执行这种初始化任务,诸如位锁定、字节锁定、防反跳、去加扰、去歪斜、自适应、延迟修复、协商延时、以及其他可能的用途。实际上,可针对此类事件实质上连续地监视通道,以加速系统对此类条件的反应并处理此类条件的能力。
在防反跳的情况下,作为各种条件的结果,可在通道上引入瞬变。例如,设备的增加和上电可引入到通道上的瞬变。附加地,电压不规则性可表现在通道上,这是因为较差通道质量或电学故障。在某些情况下,通道上的“反跳”可产生假阳性,诸如假EIEOS。然而,在某些实现方式中,尽管超序列可开始于EIEOS,但所定义的超序列可进一步包括附加的数据序列,以及EIEOS将被重复的所定义的频率。结果,即使在假EIEOS出现在通道上的情况下,接收器处的逻辑分析器可通过验证继假EIEOS之后的数据来确定EIEOS是假阳性。例如,如果预计的TS或其他数据并未跟随EIEOS或EIEOS并未在预定义超序列之一的预定义频率中的特定频率内进行重复,则接收器逻辑分析器可能无法验证接收的EIEOS。由于反跳可能在设备被增加至线路时发生在启动下,也可产生假阴性。例如,在增加至通道集合时,设备可开始发送检测超序列705,以对链路的其他侧警告其出现,并开始链路的初始化。然而,在通道上引入的瞬变可破坏最初的EIEOS、TS实例、以及超序列的其他数据。然而,接收设备上的逻辑分析器可继续监视通道并标识由重复检测超序列705的新设备发送的下一EIEOS,以及其他示例。
在某些实现方式中,HPI链路能够操作在由嵌入时钟促进的多个速度下。例如,慢速模式可被定义。在某些情况下,慢速模式可用于帮助附近链路的初始化。链路的校准可涉及基于软件的控制器,其提供用于设置链路的各种校准特性的逻辑,包括该链路要使用哪个通道、通道的配置、链路的操作速度、通道和代理的同步、去歪斜、目标延迟、以及其他可能的特性。这种基于软件的工具可利用外部控制点来将数据增加至物理层寄存器,以控制物理层设施和逻辑的各方面。
链路的操作速度可能比用于链路初始化中的基于软件的控制器的有效操作速度相当地更快。慢速模式可用于允许这种基于软件的控制器的使用,诸如在链路的初始化或重新初始化期间,以及其他示例。慢速模式可被应用在连接接收器的通道上并且例如当链路被接通、初始化、复位等的时候进行传输,以帮助促进链路的校准。
在一个实施例中,时钟可被嵌入数据中,因此没有单独的时钟通道。流控制单元可根据嵌入时钟来发送。进一步,通过通道发送的流控制单元可被加扰,以促进时钟恢复。作为一个示例,接收器时钟恢复单元可将采样时钟递送至接收器(即接收器从数据恢复时钟并将其用于对引入的数据进行采样)。接收器在某些实现方式中连续地适应于引入的位流。通过对时钟进行嵌入,可潜在地减少引脚分配(pinout)。然而,在带内数据中嵌入时钟可改变实现带内复位的方式。在一个实施例中,阻断链路状态(BLS)可在初始化之后被利用。并且,电学有序集合超序列可在初始化期间被用来促进复位,以及其他考虑。嵌入时钟可以是链路上的设备之间的公共的,并且公共操作时钟可在链路的校准和配置期间被设置。例如,HPI链路可参考具有漂移缓冲器的公共时钟。这种实现方式可相比非公共参考时钟中所使用的弹性缓冲器实现更低的延迟,以及其他可能的优点。进一步,参考时钟分布段可被匹配到指定限度内。
如上所述,HPI链路可以能够操作在多个速度下,包括用于默认上电、初始化等的“慢速模式”。每个设备的操作(或“快速”)速度或模式可由BIOS静态设置。链路上的公共时钟可基于链路的任一侧上的每个设备的相应操作速度来配置。例如,链路速度可基于两个设备操作速度中较慢的一个,以及其他示例。任何操作速度改变可通过暖或冷复位来实现。
在某些示例中,在上电时,链路利用例如100MT/s的传输速率初始化为慢速模式。然后软件对链路的操作速度设立两侧并开始初始化。在其他情况下,边带机构可被用来设立链路,包括链路上的公共时钟,例如在慢速模式不存在或不可用的情况下。
在一个实施例中,慢速模式初始化阶段可使用与操作速度相同的编码、加扰、训练序列(TS)、状态等,但可能具有更少的特征(例如,没有电学参数设立,没有自适应,等等)。慢速模式操作阶段还可以潜在地使用相同的编码、加扰等(尽管其他实现方式可能不使用),但可以相比于操作速度具有更少的状态和特征(例如,没有低功率状态)。
进一步,可利用设备的本地锁相环(PLL)时钟频率实现慢速模式。例如,HPI可支持仿真慢速模式而不改变PLL时钟频率。尽管某些设计可对慢速和快速使用单独的PLL,但在HPI的某些实现方式中,仿真慢速模式可通过允许PLL时钟在慢速模式期间运行在相同的快速操作速度下来实现。例如,发送器可通过多次重复位来仿真更慢的时钟信号,以便仿真慢速高时钟信号以及然后仿真慢速低时钟信号。然后接收器可过采样接收信号,以定位由重复位所仿真的边缘并标识该位。在该实现方式中,共享PLL的端口可共存于慢速和快速下。
在HPI的某些实现方式中,链路上通道的自适应可被支持。物理层可既支持接收器自适应又支持传输器或发送器自适应。利用接收器自适应,通道上的传输器可发送采样数据至接收器,接收器逻辑可处理该采样数据以标识通道的电学特性以及信号的质量上的缺点。接收器然后可对通道的校准进行调整以基于接收的采样数据的分析来优化通道。在传输器自适应的情况下,接收器可再次接收采样数据并开发描述通道的质量的度量,但在这种情况下将该度量传送至传输器(例如,利用反向信道,诸如软件、硬件、嵌入式、边带或其他信道),以允许传输器基于反馈对通道进行调整。
由于链路上的设备均可运行在相同参考时钟(例如,ref clk)下,弹性缓冲器可被省略(任何弹性缓冲器可被绕过或用作具有最低可能延迟的漂移缓冲器)。然而,相位调整或漂移缓冲器可被用于每个通道上,以将相应接收器位流从远程时钟域传输至本地时钟域。漂移缓冲器的延迟可足以处理来自电学规范(例如,电压、温度、由参考时钟路由失配引入的残余SSC,等等)中所有来源的漂移的总和,但是尽可能小以降低传输延时。如果漂移缓冲器过浅,则可能产生漂移误差并且其表现为一系列CRC误差。因此,在某些实现方式中,可提供漂移警告,其在实际漂移误差出现之前可启动物理层复位,以及其他示例。
HPI的某些实现方式可支持运行在相同标称参考时钟频率但具有ppm差异的两侧。在这种情况下,可能需要频率调整(或弹性)缓冲器并可在扩展BLS窗口期间或在将周期性出现的特殊序列期间对其进行重新调整,以及其他示例。
利用HPI的某些系统和设备可以是确定性的,使得其事务和与其他系统的交互(包括通过HPI链路的通信)与系统或设备上的特定事件同步。这种同步可根据对应于确定性事件的轨道对齐点或信号而发生。例如,轨道对齐信号可用于将状态转变(包括到链路传输状态中的进入)与设备上的其他事件同步。在某些情况下,同步计数器可被用于保持与设备的轨道对齐的对齐。例如,每个代理可包括本地同步计数器,其由轨道对齐信号所初始化(即,对于处于同步的所有代理/层是公共和同时的(除固定的歪斜外))。该同步计数器可正确地计数对齐点,即使在下电或低功率状态(例如,L1状态)中,并可用于对初始化过程计时(在复位或L1退出之后),包括包含于在初始化期间所利用的超序列中的EIEOS(或其他EOS)的边界(即,开始或结束)。这种超序列可以是固定大小,并大于最大可能的链路上延迟。超序列中的EIEOS-TS边界因此可用作针对远程同步计数器值的代理。
进一步,HPI可支持主从模型,其中确定性主设备或系统可根据其自身的轨道对齐时刻,驱动与另一设备交互的定时。进一步,在某些示例中,主主确定性可被支持。主主或主从确定性可保证两个或更多个链路对可以在链路层及以上处于锁定步骤中。在主主确定性中,每个方向的从初始化的退出可由相应传输器控制。例如,在主从确定性的情况下,主代理可通过使从传输器初始化退出等待其接收器退出初始化来控制链路对的确定性(即,在两个方向上),以及其他可能的示例和实现方式。
在某些实现方式中,同步(或“sync”)计数器可被利用,连同保持HPI环境的确定性。例如,同步计数器可被实现,以计数定义量,诸如256或512 UI。该同步计数器可由异步事件所复位并可从此(利用翻转)连续地计数(可能甚至在低功率链路状态期间)。基于引脚的复位(例如,上电复位,暖复位)可以是复位同步计数器的同步事件,以及其他示例。在一个实施例中,这些事件可出现在两侧,具有的偏斜少于(并且在许多情况下,远少于)同步计数器值。在初始化期间,在训练超序列的训练序列之前的传输退出有序集合(例如,EIEOS)的开始可与同步计数器的复位值(例如,同步计数器翻转)对齐。这种同步计数器可保持在链路上的每个代理处,以便通过保持通过特定链路的流控制单元传输的恒定延迟来保留确定性。
控制序列和代码,以及其他信号,可与轨道对齐信号同步。例如,EIEOS序列、BLS或L0c窗口(以及所包括的代码)、SDS等可被配置为被同步至轨道对齐。进一步,同步计数器可根据外部信号被复位,外部信号诸如是来自设备的轨道对齐信号,以便本身与轨道对齐同步,以及其他示例。
链路上的两个代理的同步计数器可被同步。链路的复位、初始化或重新初始化可包括同步计数器的复位,以将同步计数器与彼此和/或外部控制信号(例如,轨道对齐信号)进行重对齐。在某些实现方式中,同步计数器仅可通过到复位状态中的进入而被复位。在某些情况下,确定性可被保持,诸如在到L0状态的返回中,而不需要同步计数器的复位。相反,其他信号已被调谐为轨道对齐或其他确定性事件可用作用于复位的代理。在某些实现方式中,EIEOS可用于确定性状态进入中。在某些情况下,EIEOS的边界和超序列的初始TS可用于标识同步时刻并同步链路上的代理之一的同步计数器。例如,EIEOS的结束可被用于避免瞬变破坏EIEOS的开始边界的可能性,以及其他示例。
在HPI的某些实现方式中也可提供延迟修复。延迟不仅包括由用于流控制单元的通信的传输线所引入的延迟,还包括由链路其他侧上的代理进行的处理所产生的延迟。通道延迟可在链路初始化期间被确定。进一步,还可确定延迟上的改变。根据所确定的延迟,延迟修复被启动,以补偿这种改变并将为通道所预计的延迟返回到恒定的、预计值。在通道上保持一致的延迟对在某些系统中保持确定性是关键的。
在某些实现方式中,延迟可在接收器链路层处使用延迟缓冲器连同确定性被修复为编程值,以及通过开始对同步计数器翻转的检测(例如,通过发送检测超序列)来使能。因此,在一个示例中,轮询和配置中所传输的EIEOS(或其他EOS)可发生于同步计数器翻转。换言之,EIEOS可与同步计数器精确对齐,使得同步EIEOS(或其他EOS)可用作代理,在某些情况下,用于同步计数器值本身,至少连同一定的延迟修复活动。例如,接收器可将足够的延迟增加至所接收的EIEOS,使得其在物理层-链路层接口处满足规定的目标延迟。作为示例,如果目标延迟为96 UI并且去歪斜之后接收器EIEOS处于同步计数80 UI,则延迟的16 UI可被增加。本质上,假定EIEOS的同步,通道延迟可基于EIEOS已知要被发送时(例如,在特定同步计数器值下)和EIEOS被接收时之间的延时来确定。进一步,延迟可利用EIEOS来修复(例如,通过将延迟增加至EIEOS的传输,以保持目标延迟等)。
延迟修复可用于确定性的情境内,以允许外部实体(诸如提供轨道对齐信号的实体)在两个方向上跨越链路同步两个代理的物理状态。此特征可用于例如现场调试问题并用于支持锁定步骤行为。因此,该实现方式可包括一个或多个信号的外部控制,其可使物理层转变至两个代理上的传输链路状态(TLS)。具有确定能力的代理可退出TS边界上的初始化,在信号被断言时或之后,其还可能清除流控制单元边界。主从确定性可允许主机载两个方向上跨越链路同步主代理和从代理的物理层状态。如果被使能,从传输器从初始化的退出可取决于(例如,跟随或与其相协调)其接收器从初始化的退出(除基于确定性的其他考虑之外)。具有确定性能力的代理可另外拥有用于进入清洁的流控制单元上的BLS或L0c窗口的功能,以及其他示例。
通过使用延迟缓冲器在接收器链路层处将延迟修复至编程值,当用于将ATE上的测试模式与控制物理和链路层状态的测试下设备(DUT)进行同步时,确定性还可称为自动测试设备(ATE)。
在某些实现方式中,HPI中的确定性可包括促进一个代理基于确定性信号确定和应用延迟的能力。主机可发送目标延迟的指示至远程代理。远程代理可确定通道上的实际延迟并应用延时来调整延迟,以满足目标延迟(例如,在TS中所标识的)。调整延时或延迟可帮助促进在轨道对齐点处到链路传输状态的最终同步进入。延迟值可由主机传送到从机,例如,在超序列的TS有效载荷中。延迟可指定特定数量UI,其是为该延时确定的。从机可基于确定的延时来延时进入到状态中。该延时可例如被用于促进测试,以在链路的通道上交错L0c间隔,以及其他示例。
如上所述,状态退出可根据轨道对齐点而发生。例如,SDS可被发送以中断状态,超序列可驱动从该状态到另一状态的转变。SDS的发送可被定时,以与轨道对齐点相符合,并且在某些情况下,响应于轨道对齐信号。在其他情况下,SDS的发送可基于同步计数器值或同步至轨道对齐的其他信号来与轨道对齐点相同步。SDS可在超序列中的任何点处被发送,在某些情况下,中断超序列的特定TS或EIEOS等。这可保证具有很少延时的状态转变,同时保持与轨道对齐点的对齐,以及其他示例。
在某些实现方式中,HPI可支持具有宽度的流控制单元,其在某些情况下不是标称通道宽度的倍数(例如使用192位的流控制单元宽度和20个通道,仅作为说明性示例)。事实上,在允许部分宽度传输状态的实现方式中,通过其传输流控制单元的通道的数量可能波动,甚至在链路寿命期间。例如,在某些情况下,流控制单元宽度在一个瞬间可能是活动通道数量的倍数,但在另一瞬间可能不是活动通道数量的倍数(例如,随着链路改变状态和通道宽度)。在通道数量不是当前通道宽度的倍数的情况下,(例如,20个通道上的192位的流控制单元宽度的示例),在某些实施例中,连续流控制单元可被配置为被传输以在通道上重叠,从而由此保留带宽(例如,传输在20个通道上重叠的五个连续192位流控制单元)。
图10说明了在多个通道上重叠的连续流控制单元的传输的表示。例如,图10示出了通过20个通道链路所发送的五个重叠192位流控制单元的表示(由列0-19表示的通道)。图10的每个单元表示包括在通过4UI跨度所发送的流控制单元中的相应“半字节(nibble)”或四个位的分组(例如,位4n+3:4n)。例如,192位流控制单元可被划分成48个四位半字节。在一个示例中,半字节0包括位0-3,半字节1包括位4-7等。半字节中的位可被发送以便进行重叠或被交织(例如,“扰乱(swizzle)”),使得流控制单元的更高优先级字段被更早地呈现,误差检测属性(例如,CRC)被保持,以及其他考虑。事实上,扰乱方案还可提供的是某些半字节(以及其相应位)被无序发送(例如,如图10和11的示例中那样)。在某些实现方式中,扰乱方案可取决于链路层的体系结构和链路层中使用的流控制单元的格式。
具有不是活动通道倍数的长度的流控制单元的位(或半字节)可被扰乱,诸如根据图10的示例。例如,在第一4UI期间,半字节1,3,5,7,9,12,14,17,19,22,24,27,29,32,34,37,39,42,44和47可被发送。半字节0,2,4,6,8,11,13,16,18,21,23,26,28,31,33,36,38,41,43和46可在下一4UI期间被发送。在UI 8-11中,仅8个半字节保留于第一流控制单元。第一流控制单元的最终半字节(即,10,15,20,25,30,40,45)可与第二流控制单元的第一半字节(即,半字节2,4,7,9,12,16,20,25,30,35,40,45)同时发送,使得第一和第二流控制单元重叠或被扰乱。利用该技术,在当前示例中,五个完整的流控制单元可在48UI中被发送,其中每个流控制单元通过分数9.6UI周期被发送。
在某些情况下,扰乱可产生周期性的“清洁的”流控制单元边界。例如,在图10的示例中,开始的5个流控制单元边界(第一流控制单元的顶行)还可称为清洁的流控制单元边界,因为所有通道均从相同流控制单元传输开始的半字节。代理链路层逻辑可被配置为标识通道的扰乱并可从扰乱的位重构流控制单元。另外,物理层逻辑可包括用于基于当时使用的通道数量标识何时以及如何扰乱流控制单元数据的流的功能。事实上,在从一个链路宽度状态至另一个的转变中,代理可将自身配置为标识数据流的扰乱将如何被采用。事实上,链路的两侧可标识将被用于扰乱数据流的方案以便标识链路宽度状态转变如何将影响该流。在某些实现方式,为了促进在流控制单元的交错边缘处的链路宽度状态转变,部分FTS(FTSp)的长度可被修整,使得信令退出被同步,以及其他示例。进一步,物理层逻辑可被配置为保持确定性,而不管由扰乱所产生的交错流控制单元边界如何,以及其他特征。
如上所述,链路可在通道宽度之间转变,在某些情况下操作于原始的或完全的宽度,并稍后转变为利用更少通道的部分宽度(以及从其转变)。在某些情况下,流控制单元的定义宽度可以是由通道数量可除的。例如,图11的示例说明了这样的一个示例,其中先前示例的192位流控制单元通过8通道链路来传输。如图11所表示的,192位流控制单元的4位半字节可通过8通道均匀地分布和传输(即,由于192是8的倍数)。事实上,当操作于8通道部分宽度时,单个流控制单元可通过24 UI来发送。进一步,每个流控制单元边界在图11的示例中可以是清洁的。尽管清洁的流控制单元边界可简化状态转变、确定性和其他特征,允许扰乱和偶然的交错流控制单元边界可允许链路上浪费带宽的最小化。
另外,尽管图11的示例将通道0-7示为在部分宽度状态中保持活动的通道,但8通道的任何集合可以潜在地被使用。还要注意,上述示例仅出于说明的目的。流控制单元可以潜在地被定义为具有任何宽度。链路还可以潜在地具有任何链路宽度。进一步,系统的扰乱方案可根据流控制单元的格式和字段、系统中优选的通道宽度来灵活构成,以及其他考虑和示例。
假设延迟未在链路层处产生延迟修复误差或超时,HPI PHY逻辑层的操作可独立于底层传输介质,以及其他考虑。
外部接口可提供于HPI中,以帮助物理层的关联。例如,外部信号(来自引脚、熔线、其他层)、定时器、控制和状态寄存器可被提供。输入信号可在任何时间相对于PHY状态进行改变,但将由物理层在相应状态中的特定点所观测。例如,改变的对齐信号(如以下介绍的)可被接收,但在链路已进入传输链路状态之后没有效果,以及其他示例。类似地,命令寄存器值可由物理层实体仅在特定点按时观测。例如,物理层逻辑可获取该值的快照并将其用于后续操作中。因此,在某些实现方式中,对命令寄存器的更新可与特定时间段的有限子集(例如,在传输链路状态中或保持在复位校准中时,在慢速模式传输链路状态中)相关联,以避免异常行为。
由于状态值跟踪硬件改变,所读取的值可取决于其何时被读取。然而,某些状态值,诸如链路映射、延迟、速度等,可在初始化之后不改变。例如,重新初始化(或低功率链路状态(LPLS)或LI状态,退出)是可使其改变的仅有的原因(例如,TLS中的硬通道故障可能不导致链路的重新配置,直到重新初始化被触发,以及其他示例)。
接口信号可包括在物理层行为外部但影响物理层行为的信号。作为示例,该接口信号可包括编码和计时信号。接口信号可以是设计特定的。这些信号可以是输入或输出。某些接口信号,诸如所称的信号标(semaphore)并且前缀为EO,以及其他示例,可以每断言边缘活动一次,即,其可被取消断言并然后重新断言以再次生效,以及其他示例。例如,表1包括示例功能的示例列表:
表1
功能
输入引脚复位(aka暖复位)
输入引脚复位(aka冷复位)
输入带内复位脉冲;使信号标被设置;当带内复位发生时信号标被清除
输入使能低功率状态
输入环回参数;应用于环回模式
输入以进入PWLTS
输入以退出PWLTS
输入以进入LPLS
输入以退出LPLS
根据空闲退出检测输入(aka压制断裂(squelch break))
输入使能CPhylnitBegin的使用
根据本地或轨道对齐输入,用于传输器退出初始化
当远程代理NAK LPLS请求时输出
当代理进入LPLS时输出
输出至链路层以强制不可重试流控制单元
输出至链路层以强制空(NULL)流控制单元
当传输器处于部分宽度链路传输状态(PWLTS)中时输出
当接收器处于PWLTS时输出
CSR定时器默认值可成对被提供——一个用于慢速模式而一个用于操作速度。在某些情况下,值0禁用该定时器(即超时决不发生)。定时器可包括以下表2中所示的那些。主定时器可用于定时状态中的预计动作。辅定时器用于中止在自动测试设备(或ATE)模式中的精确次数下将没有进展的的初始化或用于进行前向状态转变。在某些情况下,辅定时器可远大于状态中的主定时器。指数定时器集合可以用exp来加后缀,并且定时器值为2的字段值次幂。对于线性定时器,计时器值为字段值。任一定时器可使用不同的粒度。另外,功率管理部分中的某些定时器可处于称为定时配置文件的集合中。这些可与相同名称的定时图相关联。
表2
定时器
表Tpriexp集合
复位驻留,用于驱动EIEOS
接收器校准最小时间;用于传输器交错关闭
传输器校准最小时间;用于交错开启
Tsecexp集合
定时接收器校准
定时传输器校准
压制退出检测/防反跳
检测AtRx附加部分以用于握手
自适应+位锁定/字节锁定/去歪斜
配置链路宽度
等待轨道对齐的清洁流控制单元边界
重新字节锁定/去歪斜
Tdebugexp集合
用于热插接;非0值调试暂停
TBLSentry集合
BLS进入延时–精细
BLS进入延时–粗略
TBLS集合
用于传输器的BLS持续时间
用于接收器的BLS持续时间
用于传输器的BLS清洁流控制单元间隔
用于接收器的TBLS清洁流控制单元间隔
命令和控制寄存器可被提供。控制寄存器可以是后期动作,并在某些情况下可由软件进行读或写。后期动作值可在复位中连续地生效(例如,从面向软件到面向硬件级穿过)。控制信号标(前缀为CP)是RW1S并可由硬件清除。控制寄存器可用于执行本文描述的项目中的任意。其是由硬件、软件、固件或其组合可修改或可访问的。
状态寄存器可被提供以跟踪硬件改变(由硬件写入和使用)并可以是只读的(但调试软件还可对其进行写入)。该寄存器可不影响互操作性并可典型地利用许多私有状态寄存器来补充。状态信号标(前缀为SP)可被托管,这是由于其可由软件清除,以重新进行设置状态的动作。默认手段初始(复位时)值可被提供为与初始化相关的这些状态位的子集。在初始化中止时,该寄存器可被复制到存储结构。
工具箱寄存器可被提供。例如,物理层中的可测试性工具箱寄存器可提供模式生成、模式检查和环回控制机制。更高级别的应用可利用这些寄存器以及电学参数来确定裕度。例如,测试中建立的互连可利用此工具箱来确定裕度。对于传输器自适应,这些寄存器可结合先前部分描述的特定寄存器来使用,以及其他示例。
在某些实现方式中,HPI利用物理层来支持可靠性、可用性和可服务性(RAS)能力。在一个实施例中,HPI支持利用一个或多个层的热插接和移除,其可包括软件。热移除可包括禁止链路,并且初始化开始状态/信号可针对要移除的代理而被清除。远程代理(即将不被移除的代理(例如,主代理))可被设置为慢速并且其初始化信号也可被清除。带内复位(例如,通过BLS)可使两个代理在复位状态中等待,诸如校准复位状态(CRS);并且要被移除的代理可被移除(或可保持在目标引脚复位,被下电),以及其他示例和特征。事实上,上述事件中的某些可被省略并且附加的事件可被增加。
热增加可包括初始化速度,其可默认为慢速,并且初始化信号可在要增加的代理上被设置。软件可设置速度为慢速,并可清除在远程代理上的初始化信号。链路可出现在慢速模式中,并且软件可确定操作速度。在某些情况下,此时不执行对远程的PLL重新锁定。操作速度可在两个代理上被设置,并可设置使能以用于自适应(如果先前未进行的话)。初始化开始标示符可在两个代理上被清除并且带内BLS复位可使两个代理在CRS中等待。软件可断言(要增加的)代理的暖复位(例如,目标或自复位),其可使PLL重新锁定。软件还可通过任何已知逻辑设置初始化开始信号并且进一步远程设置(由此将其推进到接收器检测状态(RDS))。软件可取消断言增加代理的暖复位(由此将其推进到RDS)。然后链路可在操作速度下初始化至传输链路状态(TLS)(或如果适应信号被设置,则初始化至环回),以及其他示例。事实上,上述事件中的某些可被省略,并且附加的事件可被增加。
数据通道故障恢复可被支持。在一个实施例中,HPI中的链路可通过将本身配置为小于全宽度(例如小于全宽度的一半)而承受单个通道上的硬误差,其可由此排除有故障的通道。作为示例,配置可由链路状态机完成,并且未使用的通道可在配置状态中被关闭。结果,流控制单元可跨越在更窄的宽度下被发送,以及其他示例。
在HPI的某些实现方式中,通道反转可在某些链路上被支持。通道反转例如可指代连接于接收器的通道n/n-l/n-2…的传输器的通道0/1/2…(例如n可等于19或7等)。通道反转可在TS报头的字段中被标识时在接收器处被检测。接收器可通过针对逻辑通道0…n使用物理通道n…0而开始于轮询状态中来处理通道反转。因此,对通道的参考可指代逻辑通道数量。因此,板设计者可更有效地敷设物理或电学设计,并且HPI可与虚拟通道分配一起工作,如本文所描述的。此外,在一个实施例中,极性可被颠倒(即当差分传输器+/-被连接于接收器-/+时)。极性还可在接收器处从一个或多个TS报头字段被检测并且在一个实施例中在轮询状态中被处理。
参考图12,描述了用于包括多核处理器的计算系统的框图的实施例。处理器1200包括任何处理器或处理设备,诸如微处理器、嵌入处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或执行代码的其他设备。在一个实施例中,处理器1200包括至少两个核——核1201和1202,其可包括非对称核或对称核(所说明得实施例)。然而,处理器1200可包括任何数量的处理元件,其可以是对称的或非对称的。
在一个实施例中,处理元件指代支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、情境、情境单元、逻辑处理器、硬件线程、核和/或其他任何元件,其能够保持用于处理器的状态,诸如执行状态或体系结构的状态。换言之,在一个实施例中,处理元件指代能够与代码独立关联的任何硬件,诸如软件线程、操作系统、应用或其他代码。物理处理器(或处理器插槽)典型地指代集成电路,其可能包括任何数量的其他处理元件,诸如核或硬件线程。
核通常指代能够保持独立体系结构状态的位于集成电路上的逻辑,其中每个独立保持的体系结构状态与至少某些专用的执行资源相关联。与核相比,硬件线程典型地指代能够保持独立体系结构状态的位于集成电路上的任何逻辑,其中独立保持的体系结构状态共享对执行资源的访问。如可见的,当一定资源被共享而其他资源专用于体系结构状态时,硬件线程和核的命名之间的线重叠。然而通常,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独调度每个逻辑处理器上的操作。
物理处理器1200,如图12所说明的,包括两个核——核1201和1202。这里,核1201和1202被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核1201包括无序处理器核,而核1202包括按序处理器核。然而,核1201和1202可从任何类型的核中单独选择,诸如本地核、软件管理核、适用于执行本地指令集体系结构(ISA)的核、适用于执行转换指令集体系结构(ISA)的核、共同设计的核、或其他已知核。在异构核环境(即非对称核)中,某种形式的转换,诸如二进制转换,可被用于调度或执行一个或两个核上的代码。然而为进一步讨论,核1201中说明的功能单元在下文被进一步详细描述,如核1202中的单元以所描绘的实施例中的类似方式进行操作。
如所描绘的,核1201包括两个硬件线程1201a和1201b,其还可称为硬件线程插槽1201a和1201b。因此,软件实体,诸如操作系统,在一个实施例中可能将处理器1200视为四个单独处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上所暗示的,第一线程与体系结构状态寄存器1201a相关联,第二线程与体系结构状态寄存器1201b相关联,第三线程可与体系结构状态寄存器1202a相关联,而第四线程可与体系结构状态寄存器1202b相关联。这里,体系结构状态寄存器(1201a,1201b,1202a和1202b)中的每个可称为处理元件、线程槽或线程单元,如上所述。如所说明的,体系结构状态寄存器1201a在体系结构状态寄存器1201b被复制,因此各个体系结构状态/情境能够被存储用于逻辑处理器1201a和逻辑处理器1201b。在核1201中,其他更小的资源,诸如分配器和重命名器块1230中的指令指针和重命名逻辑也可被复制用于线程1201a和1201b。某些资源,诸如重排序/回收单元1235中的重排序缓冲器、ILTB1220、加载/存储缓冲器、以及队列可通过划分来共享。其他资源,诸如通用内部寄存器、一个或多个基于页表的寄存器、低级别数据缓存和数据TLB1215、一个或多个执行单元1240、以及无序单元1235的部分可能被完全共享。
处理器1200通常包括其他资源,其可被完全共享、通过划分共享或由/对于处理元件专用。在图12中,说明了仅示例性处理器的实施例,其具有处理器的说明性逻辑单元/资源。注意,处理器可包括或省略这些功能单元中的任意,以及包括未描绘的其他任何已知功能单元、逻辑或固件。如所说明的,核1201包括简化的、表示性无序(OOO)处理器核。但按序处理器可被利用于不同的实施例中。该OOO核包括分支目标缓冲器1220,以预测要执行/采取的分支,以及指令转换缓冲器(I-TLB)1220,以存储用于指令的地址转换入口。
核1201进一步包括耦合于取指单元1220的解码模块1225,以解码取指元件。在一个实施例中,取指逻辑包括各个定序器,其分别与线程槽1201a、1201b相关联。通常,核1201关联于第一ISA,其定义/指定处理器1200上可执行的指令。通常,作为第一ISA的一部分的机器代码指令包括一部分指令(称为操作码),其参考/指定要执行的指令或操作。解码逻辑1225包括电路,其从其操作码识别这些指令并将解码的指令传递到管线以用于处理,如由第一ISA所定义的。例如,如以下更详细地讨论的,在一个实施例中,解码器1225包括设计为或适用于识别特定指令(诸如交易指令)的逻辑。作为由解码器1225识别的结果,体系结构或核1201采取特定的、预定义动作来执行关联于合适指令的任务。重要的是注意,本文描述的任务、块、操作和方法中的任意可响应于单个或多个指令来执行;其中某些可以是新指令或旧指令。注意,在一个实施例中,解码器1226识别相同的ISA(或其子集)。替代地,在异构核环境中,解码器1226识别第二ISA(第一ISA的子集或不同的ISA)。
在一个示例中,分配器和重命名器块1230包括用以保留资源的分配器,诸如用以存储指令处理结果的寄存器文件。然而,线程1201a和1201b可能能够无序执行,其中分配器和重命名器块1230还保留其他资源,诸如用以跟踪指令结果的重排序缓冲器。单元1230还可包括寄存器重命名器,以将程序/指令参考寄存器重命名为处理器1200内部的其他寄存器。重排序/回收单元1235包括组件,诸如上述重排序缓冲器、加载缓冲器和存储缓冲器,以支持无序执行并稍后按序回收被无序执行的指令。
在一个实施例中,调度器和一个或多个执行单元块1240包括调度器单元,以在执行单元上调度指令/操作。例如,浮点指令被调度在执行单元的端口上,其具有可用的浮点执行单元。还包括关联于执行单元的寄存器文件以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知执行单元。
低级别数据缓存和数据转换缓冲器(D-TLB)1250耦合于一个或多个执行单元1240。数据缓存用于存储元件上最近使用/操作的,诸如数据操作数,其可能被保持在存储器一致性状态中。D-TLB用于存储最近的虚拟/线性到物理地址转换。作为特定示例,处理器可包括页表结构,以将物理存储器分成复多个虚拟页。
这里,核1201和1202共享对更高级别或深远(further-out)的缓存的访问,诸如关联于片上接口1210的第二级别缓存,注意,更高级别或深远指代缓存级别增加或变得更加远离该一个或多个执行单元。在一个实施例中,更高级别缓存是末级别的数据缓存——处理器1200上的存储器层次结构中最后的缓存——诸如第二或第三级别数据缓存。然而,更高级别缓存不被如此限制,如其可关联于或包括指令缓存。追踪缓存——一种类型的指令缓存——替代地可被耦合在解码器1225之后,以存储最近解码的轨迹。这里,指令可能指代宏指令(即由解码器识别的通用指令),其可解码成多个微指令(微操作)。
在所描绘的配置中,处理器1200还包括片上接口模块1210。历史上,以下更详细地描述的存储器控制器已被包括于处理器1200外部的计算系统中。在这种情形下,片上接口121用于与处理器1200外部的设备相通信,诸如系统存储器1275、芯片组(通常包括存储器控制器中枢以连接至存储器1275,以及I/O控制器中枢以连接至外围设备)、存储器控制器中枢、北桥、或其他集成电路。并且在该情形下,总线1205可包括任何已知互连,诸如多站式总线、点对点互连、串行互连、并行总线、一致(例如缓存一致)总线、分层协议体系结构、差分总线、以及GTL总线。
存储器1275可专用于处理器1200或与系统中的其他设备共享。存储器1275的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其他已知存储设备。注意,设备1280可包括图形加速器、耦合于存储器控制器中枢的处理器或卡、耦合于I/O控制器中枢的数据存储装置、无线收发器、闪存设备、音频控制器、网络控制器或其他已知设备。
然而近年来,随着更多的逻辑和设备正被集成于单个管芯,诸如SOC,这些设备中的每一个可被结合于处理器1200中。例如在一个实施例中,存储器控制器中枢处于与处理器1200相同的封装和/或管芯上。这里,核1210的部分(核上部分)1210包括一个或多个控制器,用于与诸如存储器1275或图形设备1280的其他设备对接。包括互连以及用于与这种设备对接的控制器的配置,通常称为核上配置(或非核配置)。作为示例,片上接口1210包括用于片上通信的环形互连以及用于片外通信的高速串行点对点链路1205。然而,在SOC环境中,甚至更多的设备,诸如网络接口、协处理器、存储器1275、图形处理器1280和任何其他已知计算机设备/接口可被集成于单个管芯或集成电路上,以提供小形状因子以及高功能性和低功耗。
在一个实施例中,处理器1200能够执行编译器、优化和/或转换器代码1277,以编译、转换和/或优化应用代码1276,以支持本文描述的装置和方法或与其对接。编译器通常包括程序或程序集合,以将源文本/代码转换成目标文本/代码。通常,利用编译器对程序/应用代码的编译在多个阶段和过程中来完成以将高级别编程语言代码变换成低级别机器或汇编语言代码。然而,单程编译器仍可被用于简单编译。编译器可利用任何已知编译技术并执行任何已知编译器操作,诸如词法分析、预处理、解析、语义分析、代码生成、代码变换和代码优化。
更大的编译器通常包括多个阶段,但最通常这些阶段被包括于两个一般阶段内:(1)前端,即通常其中可发生句法处理、语义处理和某些变换/优化,以及(2)后端,即通常其中发生分析、变换、优化和代码生成。某些编译器涉及中间,其说明了编译器前端和后端之间描述的模糊。结果,对编译器的插入、关联、生成或其他操作的参考可发生在前述阶段或过程以及编译器的任何其他已知阶段或规程中的任意中。如说明性的示例,编译器可能在一个或多个编译阶段插入操作、调用函数等,诸如在编译的前端阶段插入调用/操作以及然后在变换阶段期间调用/操作变换成更低级别代码。注意,在动态编译期间,编译器代码或动态优化代码可插入这种操作/调用,以及优化用于在运行时间期间执行的代码。作为特定说明性的示例,二进制代码(已编译代码)可在运行时间期间被动态地优化。这里,程序代码可包括动态优化代码、二进制代码或其组合。
类似于编译器,转换器(诸如二进制转换器)静态地或动态地转换代码以优化和/或转换代码。因此,对代码执行、应用代码、程序代码或其他软件环境的参考可指代:(1)动态或静态地执行一个或多个编译器程序、优化代码优化器或者转换器,以编译程序代码、以保持软件结构、以执行其他操作、以优化代码、或以转换代码;(2)执行包括操作/调用的主程序代码,诸如已被优化/编译的应用代码;(3)执行其他程序代码,诸如关联于主程序代码的库,以保持软件结构、以执行其他软件相关操作、或者以优化代码;或(4)其组合。
现参见图13,示出了多核处理器的实施例的框图。如图13的实施例中所示,处理器1300包括多个域。具体地,核域1330包括多个核1330A-1330N,图形域1360包括一个或多个图形引擎,其具有媒体引擎1365,以及系统代理域1310。
在各种实施例中,系统代理域1310处理功率控制事件和功率管理,使得域1330和1360的各个单元(例如核和/或图形引擎)可被独立控制,以根据出现于给定单元中的活动性(或活动性)来动态地操作于合适的功率模式/级别下(例如活动、快速、睡眠、休眠、深度睡眠或其他高级配置功率接口类状态)。域1330和1360中的每个可操作于不同的电压和/或功率下,并且此外域内的各个单元可能操作于独立的频率和电压下。注意,尽管仅示出了三个域,但理解的是本发明的范围不被限制于这点上,并且附加的域可出现在其他实施例中。
如所示的,除各种执行单元和附加的处理元件以外,每个核1330进一步包括低级别缓存。这里,各种核相互耦合并耦合于共享的缓存存储器,其由末级别的缓存(LLC)1340A-1340N的多个单元或多片所形成;这些LLC通常包括存储和缓存控制器功能并在核间被共享,以及可能还在图形引擎间被共享。
如所见的,环形互连1350将核耦合在一起,并经由多个环形站点1352A-1352N在核域1330、图形域1360和系统代理电路1310之间提供互连,每一个环形站点耦合在核和LLC片之间。如图13中所见,互连1350用于携带各种信息,包括地址信息、数据信息、应答信息、以及嗅探/无效信息。尽管说明了环形互连,但可利用任何已知的管芯上互连或构造。作为说明性的示例,某些以上讨论的构造(例如另一管芯上互连、片上系统构造(OSF)、高级微控制器总线体系结构(AMBA)互连、多维网状构造或其他已知互连体系结构)可以按相同方式被利用。
如进一步描绘的,系统代理域1310包括显示引擎1312,其用于提供对相关联显示器的控制和与相关联显示器的接口。系统代理域1310可包括其他单元,诸如:集成存储器控制器1320,其提供与系统存储器的接口(例如,利用多个DIMM实现的DRAM;一致性逻辑1322,用以执行存储器一致性操作)。多个接口可被呈现以使能处理器和其他电路之间的互连。例如,在一个实施例中,提供至少一个直接媒体接口(DMI)1316接口,以及一个或多个PCIeTM接口1314。显示引擎和这些接口典型地经由PCIeTM桥1318耦合于存储器。更进一步地,为提供其他代理(诸如附加的处理器或其他电路)之间的通信,一个或多个其他接口可被提供。
现参见图14,示出了代表性的核的框图;具体地,诸如来自图13的核1330的核的后端的逻辑块。一般而言,图14中所示的结构包括无序处理器,其具有前端单元1470,用于取得进入的指令、执行各种处理(例如缓存、解码、分支预测等)并将指令/操作传递至无序(OOO)引擎1480。该OOO引擎1480在对解码的指令执行进一步处理。
具体地在图14的实施例中,无序引擎1480包括分配单元1482,以从前端单元1470接收可以是以一个或多个微指令或微操作(uop)的形式的解码指令,并将其分配至合适的资源,诸如寄存器等。接下来,指令被提供至保留站1484,其保留资源并将其调度用于在多个执行单元1486A-1486N之一上执行。各种类型的执行单元可被呈现,包括例如算术逻辑单元(ALU)、加载和存储单元、向量处理单元(VPU)、浮点执行单元、以及其他。来自这些不同的执行单元的结果被提供至重排序缓冲器(ROB)1488,其获取未排序结果并将其返回为正确的程序顺序。
仍参考图14,注意,前端单元1470和无序引擎1480均耦合于不同级别的存储器层次结构。具体示出了指令级别缓存1472,其转而耦合于中级别缓存1476,该中级别缓存1476转而耦合至末级别缓存1495。在一个实施例中,末级别缓存1495被实现在片上(有时称为非核)单元1490。作为示例,单元1490类似于图13的系统代理1310。如上所讨论,非核1490与系统存储器1499通信,系统存储器1499在所说明的实施例中经由ED RAM来实现。还注意到,无序引擎1480内的各种执行单元1486与第一级别缓存1474通信,第一级别缓存1474还与中级别缓存1476通信。还注意到,附加的核1430N-2—1430N可耦合于LLC 1495。尽管在图14的实施例中在这种高级别下示出,但理解的是,各种变更和附加的组件可被呈现。
转到图15,说明了利用包括执行指令的执行单元的处理器所形成的示例性计算机系统的框图,其中一个或多个互连实现了根据本发明的一个实施例的一个或多个特征。根据本发明,诸如本文描述的实施例中,系统1500包括组件,诸如处理器1502,以采用包括逻辑的执行单元以执行用于处理数据的算法。系统1500表示基于PENTIUM IIITM、PENTIUM4TM、XeonTM、Itanium、XScaleTM和/或StrongARMTM微处理器的处理系统,尽管其他系统(包括具有其他微处理器、工程工作站、机顶盒等的PC)也可被使用。在一个实施例中,采样系统1500执行从华盛顿、雷德蒙德的微软公司的可得的WINDOWSTM操作系统的版本,尽管其他操作系统(例如UNIX和Linux)、嵌入式软件和/或图形用户界面也可被使用。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
实施例不限于计算机系统。本发明的替代实施例可被用于其他设备中,诸如手持设备和嵌入式应用。手持设备的某些示例包括蜂窝电话、互联网协议设备、数字照相机、个人数字助理(PDA)和手持PC。嵌入式应用可包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机或可根据至少一个实施例执行一个或多个指令的其他任何系统。
在说明的实施例中,处理器1502包括一个或多个执行单元1508,以实现要执行至少一个指令的算法。一个实施例可被描述于单个处理器桌面或服务器系统的情境中,但替代的实施例可被包括于多处理器系统中。系统1500是“中枢”系统体系结构的示例。计算机系统1500包括处理数据信号的处理器1502。处理器1502,作为一个说明性的示例,包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集组合的处理器、或任何其他处理器设备,诸如数字信号处理器。处理器1502耦合于处理器总线1510,其在系统1500中的处理器1502和其他组件之间传输数据信号。系统1500的元件(例如图形加速器1512、存储器控制器中枢1516、存储器1520、I/O控制器中枢1524、无线收发器1526、闪存BIOS 1528、网络控制器1534、音频控制器1536、串行扩展端口1538、I/O控制器1540等)执行它们为本领域技术人员所公知的常规功能。
在一个实施例中,处理器1502包括级别1(L1)内部缓存存储器1504。根据体系结构,处理器1502可具有单个内部缓存或多级别的内部缓存。根据特定实现方式和需求,其他实施例包括内部和外部缓存的组合。寄存器文件1506用于在各种寄存器中存储不同类型的数据,各种寄存器包括整数寄存器、浮点寄存器、向量寄存器、分组寄存器、影子寄存器、检查点寄存器、状态寄存器和指令指针寄存器。
执行单元1508,包括执行整数和浮点运算的逻辑,也驻留于处理器1502中。在一个实施例中,处理器1502包括微代码(ucode)ROM以存储微代码,其当被执行时,用于执行针对一定的宏指令的算法或处理复杂场景。这里,微代码是潜在可更新的,以为处理器1502处理逻辑程序错误/修复。对于一个实施例,执行单元1508包括处理压缩指令集1509的逻辑。通过在通用处理器1502的指令集中包括压缩指令集1509,以及执行指令的相关联的电路,由许多多媒体应用所使用的操作可在通用处理器1502中使用压缩数据来执行。因此,通过使用处理器的数据总线的全部宽度以便对压缩数据执行操作,许多多媒体应用被加速以及更有效地执行。这潜在地消除了需要跨越处理器的数据总线传输更小的数据单元来一次一个数据元素地执行一个或多个操作。
执行单元1508的替代实施例还可被用于微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中。系统1500包括存储器1520。存储器1520包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备或其他存储器设备。存储器1520存储由将由处理器1502执行的数据信号所表示的指令和/或数据。
注意,本发明的任何前述特征或方面可被用于图15中说明的一个或多个互连上。例如,未示出的用于耦合处理器1502的内部单元的管芯上互连(ODI),实现上述的本发明的一个或多个方面。或者,本发明关联于处理器总线1510(例如其他已知高性能计算互连)、到存储器1520的高带宽存储器路径1518、到图形加速器1512的点对点链路(例如高速外围组件互连(PCIe)兼容构造)、控制器中枢互连1522、I/O或用于耦合其他的所说明组件的其他互连(例如USB、PCI、PCIe)。这种组件的某些示例包括音频控制器1536、固件中枢(闪存BIOS)1528、无线收发器1526、数据存储装置1524、包含用户输入的传统I/O控制器1510和键盘接口1542、诸如通用串行总线(USB)的串行扩展端口1538、以及网络控制器1534。数据存储设备1524可包括硬盘驱动、软盘驱动、CD-ROM设备、闪存设备或其他大容量存储设备。
现参见图16,示出了根据本发明实施例的第二系统1600的框图。如图16中所示,多处理器系统1600是点对点互连系统,并包括第一处理器1670和第二处理器1680,其经由点对点互连1650耦合。处理器1670和1680中的每个可以是处理器的某一版本。在一个实施例中,1652和1654是部分的串行、点对点一致互连构造,诸如高性能体系结构。结果,本发明可被实现于QPI体系结构内。
尽管仅示出具有两个处理器1670、1680,但要理解的是,本发明的范围不被如此限制。在其他实施例中,一个或多个附加的处理器可出现在给定的处理器中。
处理器1670和1680被示为分别包括集成存储器控制器单元1672和1682。处理器1670还包括作为其总线控制器单元的一部分的点对点(P-P)接口1676和1678;类似地,第二处理器1680包括P-P接口1686和1688。处理器1670、1680可使用P-P接口电路1678、1688,经由点对点(P-P)接口1650交换信息。如图16中所示,IMC 1672和1682将处理器耦合于相应存储器,即,存储器1632和存储器1634,其可以是本地附着于相应处理器的主存储器的部分。
使用点对点接口电路1676、1694、1686、1698,处理器1670、1680均与芯片组1690经由各个P-P接口1652、1654交换信息。芯片组1690还经由接口电路1692以及高性能图形互连1639与高性能图形电路1638交换信息。
共享缓存(未示出)可被包括于任一处理器中或在两个处理器的外部;但经由P-P互连与处理器连接,使得如果处理器被投入低功率模式中,则一个或两个处理器的本地缓存信息可被存储于共享缓存中。
芯片组1690可经由接口1696耦合于第一总线1616。在一个实施例中,第一总线1616可以是外围组件互连(PCI)总线或者诸如PCI高速总线或另一第三代I/O互连总线的总线,尽管本发明的范围不被如此限制。
如图16中所示,各种I/O设备1614耦合于第一总线1616,以及将第一总线1616耦合于第二总线1620的总线桥1618。在一个实施例中,第二总线1620包括低引脚计数(LPC)总线。各种设备耦合于第二总线1620,包括例如,键盘和/或鼠标1622、通信设备1627和存储单元1628,诸如磁盘驱动或其他大容量存储设备,其在一个实施例中通常包括指令/代码和数据1630。进一步,音频I/O 1624被示为耦合于第二总线1620。注意,其他体系结构也是可能的,其中所包括的组件和互连体系结构发生变化。例如,代替图16的点对点体系结构,系统可实现多站式总线或其他此类体系结构。
接下来转到图17,描绘了根据本发明的系统片上(SOC)设计的实施例。作为特定说明性的示例,SOC 1700被包括于用户设备(UE)中。在一个实施例中,UE指代由终端用户用来通信的任何设备,诸如手持电话、智能电话、平板电脑、超薄型笔记本电脑、具有宽带适配器的笔记本电脑或任何其他类似通信设备。通常,UE连接至基站或节点,其可能实质上对应于GSM网络中的移动台(MS)。
这里,SOC 1700包括两个核——1706和1707。类似于上述讨论,核1706和1707可遵循指令集体系结构,诸如基于Intel® Architecture CoreTM的处理器、高级微型设备公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计或其客户,以及其许可方或采用方。核1706和1707耦合于缓存控制1708,其关联于总线接口单元1709和L2缓存1711,以与系统1700的其他部分相通信。互连1710包括片上互连,诸如IOSF、AMBA或以上讨论的其他互连,其可能实现本文所描述的一个或多个方面。
接口1710提供与其他组件的通信信道,其他组件诸如是与SIM卡对接的用户身份模块(SIM)1730、保持引导代码以用于由核1706和1707执行来初始化和引导SOC 1700的引导ROM 1735、与外部存储器(例如DRAM 1760)对接的SDRAM控制器1740、与非易失性存储器(例如闪存1765)对接的闪速控制器1745、与外围设备对接的外围控制1750(例如串行外围接口),视频编解码器1720和显示并接收输入(例如触摸使能输入)的视频接口1725、执行图形相关计算的GPU 1715,等等。这些接口中的任意可结合本文描述的发明的各方面。
此外,系统说明了用于通信的外围设备,诸如蓝牙模块1770、3G调制解调器1775、GPS 1785和WiFi 1785。注意,如上所述,UE包括用于通信的无线电。因此,这些外围通信模块不是都需要的。然而,在UE中,将包括用于外部通信的某种形式的无线电。
尽管本发明已经相对于有限数量的实施例来被描述,本领域技术人员将理解从其的许多修改和变型。所旨在的是,所附权利要求涵盖所有这种修改和变型,如落入本发明的真实精神和范围内。
设计可经历各种阶段,从创建到仿真到制造。表示设计的数据可按多种方式表示设计。首先,如在仿真中有用的,硬件可通过使用硬件描述语言或另一功能描述语言来表示。另外,具有逻辑和/或晶体管门的电路级模型可在设计过程的某些阶段被产生。此外,大多数设计,在某个阶段,在硬件模型中达到表示各种设备的物理放置的数据的级别。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指定针对用于产生集成电路的掩模的不同掩模层上的各种特征的存在或不存在的数据。在设计的任何表示中,数据可被存储于任何形式的机器可读介质。存储器或磁存储或光存储,诸如磁盘,可以是机器可读介质,用以存储经由光或电波传输的信息,光或电波被调制或生成以传输这种信息。当指示或携带代码或设计的电载波被传输时,在某种程度上,电信号的复制、缓冲或重传输被执行,进行新的复制。因此,通信提供商或网络提供商可在有形的、机器可读介质上至少暂时存储诸如编码到载波中的信息的制品,从而体现本发明的实施例的技术。
如本文所使用的模块指代硬件、软件和/或固件的任何组合。例如,模块包括硬件,诸如微控制器,其关联于非瞬时介质,以存储适于由微控制器执行的代码,因此,在一个实施例中,对模块的引用指代硬件,其被具体配置为识别和/或执行将保持在非瞬时介质上的代码。此外,在另一实施例中,模块的使用指代包括代码的非瞬时介质,其具体适于由微控制器执行,以执行预定操作。并且如可以推断的,在又一实施例中,术语模块(在该示例中)可指代微控制器和非瞬时介质的组合。通常,说明为分离的模块边界通常发生变化并且可能重叠。例如,第一和第二模块可共享硬件、软件、固件或其组合,同时可能保留某些独立硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件,诸如晶体管、寄存器或其他硬件,诸如可编程逻辑器件。
在一个实施例中,用语“配置为”的使用指代布置、放一起、制造,许诺销售、进口和/或设计装置、硬件、逻辑或元件,以执行指定的或确定的任务。在该示例中,如果被设计、耦合和/或互连以执行所述指定的任务,则未正在操作的装置或其元件仍“配置为”执行指定的任务。仅作为说明性的示例,逻辑门可在操作期间提供0或1。但逻辑门“配置为”提供使能信号至时钟,不包括每个可提供1或0的可能的逻辑门。相反,逻辑门是在操作期间1或0输出用于使能时钟的以某种方式耦合的逻辑门。再次注意,术语“配置为”的使用不需要操作,但却集中于装置、硬件和/或元件的潜在状态,其中装置、硬件和/或元件的潜在状态被设计为当装置、硬件和/或元件正操作时执行特定任务。
此外,在一个实施例中,用语“以”、“能够”和/或“可操作为”指代以使能以指定方式使用装置、逻辑、硬件和/或元件的这种方式设计的某些装置、逻辑、硬件和/或元件。如以上注意的,在一个实施例中,以、能够、或可操作为的使用,指代装置、逻辑、硬件和/或元件的潜在状态,其中装置、逻辑、硬件和/或元件未正在操作但以使能以指定方式使用装置的这种方式来被设计。
如本文所使用的值,包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑上的值的使用也称为1和0,其仅表示二进制逻辑状态。例如,1指代高逻辑电平而0指代低逻辑电平。在一个实施例中,存储单元,诸如晶体管或闪存单元,可以能够保持单个逻辑值或多个逻辑值。然而,计算机系统中的值的其他表示已被使用。例如十进制数10还可被表示为1010的二进制值和十六进制的字母A。因此,值包括能够被保持在计算机系统中的信息的任何表示。
此外,状态可由值或值的部分来表示。例如,第一值,诸如逻辑1,可表示默认或初始状态,而第二值,诸如逻辑0,可表示非默认状态。此外,在一个实施例中,术语复位和设置,分别指代默认和更新的值或状态。例如,默认值可能包括高逻辑值,即复位,而更新值可能包括低逻辑值,即设置。注意,值的任何组合可被用于表示任何数量的状态。
上文阐述的方法、硬件、软件、固件或代码的实施例可经由存储于可由处理元件执行的机器可访问的、机器可读的、计算机可访问的或计算机可读的介质上的指令或代码来实现。非瞬时机器可访问/可读介质包括提供(即,存储和/或传输)以诸如计算机或电子系统的机器可读的形式的信息的任何机构。例如,非瞬时机器可访问介质包括随机存取存储器(RAM),诸如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪存设备;电存储设备;光存储设备;声学存储设备;用于保持接收自瞬时(传播的)信号(例如,载波、红外信号、数字信号)的信息的其他形式的存储设备;等等,其将区别于可从其中接收信息的非瞬时介质。
用于将逻辑编程以执行本发明的实施例的指令可存储于系统的存储器内,存储器诸如是DRAM、缓存、闪存或其他存储装置。此外,指令可经由网络或借助于其他计算机可读介质来分发。因此机器可读介质可包括用于以由机器(例如,计算机)可读的形式存储或传输信息的任何机构,但不限于,软磁盘、光盘、光盘只读存储器(CD-ROM)、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光学卡、闪存、或用于经由电、光、声学或其他形式的传播信号(例如,载波、红外信号、数字信号等)通过互联网传输信息的有形的、机器可读存储装置。因此,计算机可读介质包括任何类型的有形的机器可读介质,其适用于以由机器(例如,计算机)可读的形式存储或传输电子指令或信息。
以下示例属于根据本说明书的实施例。一个或多个实施例可提供装置、系统、机器可读存储装置、机器可读介质、以及方法,以提供包括物理层逻辑、链路层逻辑和协议层逻辑的同步计数器和分层栈,其中该物理层逻辑用于将同步计数器的复位与外部确定性信号同步并将到链路传输状态中的进入与确定性信号同步。
在至少一个示例中,物理层逻辑进一步用于使用一个或多个超序列来初始化数据链路。
在至少一个示例中,到链路传输状态中的进入用于与被发送以结束数据链路的初始化的数据序列的开始(SDS)相符合。
在至少一个示例中,SDS用于根据确定性信号来被发送。
在至少一个示例中,每个超序列包括相应的重复序列,其包括电学空闲退出有序集合和相应数量的训练序列。
在至少一个示例中,SDS用于中断超序列。
在至少一个示例中,超序列均包括相应的重复序列,其包括至少一个电学空闲退出有序集合(EIEOS)和相应数量的训练序列。
在至少一个示例中,超序列的EIEOS用于被发送以便与同步计数器相符合。
在至少一个示例中,物理层逻辑进一步用于基于接收的EIEOS来与确定性间隔同步。
在至少一个示例中,基于接收的EIEOS与确定性间隔同步包括标识接收的EIEOS的结束边界。
在至少一个示例中,结束边界用以被用于同步到链路传输状态中的进入。
在至少一个示例中,结束边界用以被用于同步从部分宽度链路传输状态的退出。
在至少一个示例中,物理层逻辑进一步用于生成特定超序列并将该特定超序列发送以与确定性信号同步。
在至少一个示例中,物理层逻辑用于指定与远程代理的目标延迟,其中该远程代理用于使用该目标延迟来应用延时以将实际延迟调整至目标延迟。
在至少一个示例中,目标延迟用于在训练序列的有效载荷中被传送。
在至少一个示例中,确定性信号包括用于设备的轨道对齐信号。
在至少一个示例中,物理层逻辑进一步用于将通过串行数据链路发送的链路层数据流中嵌入的周期性控制窗口与确定性信号同步,其中该控制窗口被配置用于在链路传输状态期间交换物理层信息。
在至少一个示例中,该物理层信息包括用于在数据链路上启动状态转变时使用的信息。
在至少一个示例中,控制窗口根据定义的控制间隔来被嵌入,并且控制间隔至少部分地基于确定性信号。
一个或多个示例可进一步将超序列在数据链路的初始化期间发送至连接到数据链路的远程代理,并且超序列的至少一个元素用于与确定性信号同步。
在至少一个示例中,该元素包括EIEOS。
在至少一个示例中,每个超序列包括相应的重复序列,其至少包括EIEOS和相应数量的训练序列。
一个或多个示例可进一步提供在链路传输状态中发送链路层流控制单元的流。
一个或多个示例可进一步提供将要嵌入流中的周期性控制窗口与确定性信号同步,其中该控制窗口被配置用于在链路传输状态期间交换物理层信息。
一个或多个示例可进一步提供发送延时信息至连接到数据链路的远程代理,其中该延时对应于确定性信号。
一个或多个实施例可提供装置、系统、机器可读存储装置、机器可读介质、以及方法,以标识用于串行数据链路的目标延迟,通过数据链路接收与关联于数据链路的同步计数器相同步的数据序列,以及使用该数据序列保持目标延迟。
在至少一个示例中,数据序列包括超序列,以包括重复序列,其中该序列用于以定义频率进行重复。
在至少一个示例中,序列用于包括电学空闲退出有序集合(EIEOS)。
在至少一个示例中,序列用于开始于EIEOS,之后是预定义数量的训练序列。
在至少一个示例中,训练序列中的至少一个包括标识目标延迟的数据。
在至少一个示例中,序列的至少一部分用于使用伪随机二进制序列(PRBS)来加扰。
一个或多个示例可进一步提供基于数据序列的接收来确定数据链路的实际延迟。
一个或多个示例可进一步提供确定实际延迟与目标延迟的偏差。
一个或多个示例可进一步提供使偏差被校正。
一个或多个实施例可提供装置、系统、机器可读存储装置、机器可读介质、以及方法,用于确定要通过包括一定数量的通道的串行数据链路发送的流控制单元的宽度是否是通道数量的倍数,并通过串行数据链路传输流控制单元,其中两个流控制单元用于被发送以便当流控制单元的宽度不是通道数量的倍数时在通道上重叠。
在至少一个示例中,重叠包括通过该一定数量的通道的第一部分发送两个流控制单元中的第一个的一个或多个位,同时通过该一定数量的通道的第二部分发送两个流控制单元中的第二个的一个或多个位。
在至少一个示例中,流控制单元的至少某些位用于被无序传输。
在至少一个示例中,当流控制单元的宽度是通道数量的倍数时,流控制单元不重叠。
在至少一个示例中,流控制单元的宽度包括192位。
在至少一个示例中,该一定数量的通道在至少一个链路传输状态中包括20个通道。
一个或多个示例可进一步提供转变至包括第二数量的通道的不同的新链路宽度。
一个或多个示例可进一步提供确定流控制单元的宽度是否是通道的第二数量的倍数。
在至少一个示例中,该转变用于与非重叠流控制单元边界对齐。
一个或多个实施例可提供装置、系统、机器可读存储装置、机器可读介质、以及方法,用于提供物理层逻辑以通过串行数据链路接收包括流控制单元的集合的位流,其中流控制单元的集合中的至少两个流控制单元的相应部分在数据链路的通道上被同时发送,以及提供链路层逻辑以从接收的位流重构流控制单元的集合。
在至少一个示例中,流控制单元的集合的一部分具有重叠边界。
在至少一个示例中,重叠边界包括通过该一定数量的通道的第一部分发送两个流控制单元中的第一个的一个或多个最终位,同时通过该一定数量的通道的第二部分发送两个流控制单元中的第二个的一个或多个开始位。
在至少一个示例中,流控制单元的宽度不是数据链路的通道数量的倍数。
在至少一个示例中,流控制单元的宽度包括192位并且该一定数量的通道包括20个通道。
在至少一个示例中,流控制单元的至少一部分位被无序传输。
一个或多个示例可进一步提供物理层(PHY),其配置为被耦合到链路,该链路包括第一数量的通道,其中PHY用于进入环回状态,并且其中PHY在驻留于环回状态中时,用于在链路上注入专门的模式。
一个或多个示例可进一步提供物理层(PHY),其配置为被耦合到链路,该链路包括第一数量的通道,其中该PHY包括同步(sync)计数器,并且其中PHY用于传输与关联于训练序列的同步计数器对齐的电学空闲退出有序集合(EIEOS)。
在至少一个示例中,来自同步计数器的同步计数器值在每个训练序列期间不被交换。
在至少一个示例中,与同步计数器的EIEOS对齐用于充当用于在每个训练序列期间交换来自同步计数器的同步计数器值的代理。
一个或多个示例可进一步提供物理层(PHY),其配置为耦合到链路,该PHY包括PHY状态机,以在多个状态之间转变,其中该PHY状态机能够基于握手事件从第一状态转变至第二状态以及基于主定时器事件将PHY从第三状态转变至第四状态。
在至少一个示例中,该PHY状态机能够基于主定时器事件连同辅定时器事件将PHY从第五状态转变至第六状态。
遍及说明书对“一个实施例”或“实施例”的引用意指结合实施例描述的特定特征、结构或特性被包括于本发明的至少一个实施例中。因此,遍及说明书在各个地方出现用语“在一个实施例中”或“在实施例中”不一定全部指代相同的实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式被组合。
在前述说明书中,已参考特定示例性实施例给出详细描述。然而,将显而易见的是,可在不偏离如所附权利要求中所阐述的本发明更广泛的精神和范围的情况下,对其进行各种修改和改变。因此,说明书和附图将被视为是以说明性意义而不是限制性意义。此外,实施例的前述用途和其他实例性语言不一定指代相同实施例或相同示例,而是可指代不同的和有区别的实施例,也可能是相同的实施例。

Claims (23)

1.一种用于传送数据的装置,所述装置包括:
接口,用于:
接收与链路上的初始化状态相对应的超序列,其中所述超序列包括重复模式,所述模式包括后面是多个连续训练序列的电学空闲退出有序集合(EIEOS),以及所述EIEOS的实例要与同步计数器的翻转对齐;以及
物理层逻辑,用于:
根据所述超序列中的所述EIEOS实例之一确定延迟值;以及
基于所述延迟值通过延迟缓冲器来向所述链路的接收路径添加延迟。
2.根据权利要求1所述的装置,其中所述超序列与系统的同步计数器翻转对齐。
3.根据权利要求2所述的装置,其中所述超序列的开始与所述同步计数器翻转对齐。
4.根据权利要求3所述的装置,其中所述EIEOS与所述超序列的开始相对应。
5.根据权利要求1所述的装置,其中所述EIEOS的实例中的每一个和所述训练序列中的每一个要与所述同步计数器对齐。
6.根据权利要求1所述的装置,进一步包括处理器节点。
7.根据权利要求6所述的装置,其中所述链路要被用于促进所述处理器节点和另一设备之间的通信。
8.根据权利要求7所述的装置,其中另一设备包括加速器。
9.根据权利要求7所述的装置,其中另一设备包括另一处理器节点。
10.根据权利要求7所述的装置,其中:
所述EIEOS包括16字节有序集合,
所述EIEOS的字节0、2、4、6、8、10、12和14包括值8’h00,以及
所述EIEOS的字节1、3、5、7、9、11、13和15包括值8’hFF。
11.根据权利要求1所述的装置,进一步包括所述同步计数器。
12.根据权利要求1所述的装置,进一步包括所述延迟缓冲器。
13.一种用于传送数据的装置,所述装置包括:
控制器,用于至少在用于识别第一指令集的第一处理器和用于识别与第一指令集不同的第二指令集的第二处理器之间进行对接,所述控制器包括协议层逻辑、链路层逻辑和物理层逻辑,其中所述物理层逻辑用于:
识别同步计数器的翻转的实例;
接收包括重复模式的超序列,所述模式包括后面是多个连续训练序列的电学空闲退出有序集合(EIEOS);
根据接收到的超序列中的EIEOS实例之一确定延迟值;以及
基于所确定的延迟值,使用延迟缓冲器来向链路的接收路径添加延迟。
14.根据权利要求13所述的装置,其中所述超序列与同步计数器的翻转对齐。
15.根据权利要求14所述的装置,其中所述超序列的开始与所述同步计数器翻转对齐。
16.根据权利要求15所述的装置,其中所述EIEOS与所述超序列的开始相对应。
17.一种方法,包括:
识别从设备接收的超序列,其中所述超序列与链路的初始化状态相对应,其中所述超序列包括重复模式,所述模式包括后面是多个连续训练序列的电学空闲退出有序集合(EIEOS),以及所述EIEOS的实例与同步计数器的翻转对齐;
将所接收的超序列中的EIEOS实例之一的到达时间与同步计数器的翻转的实例进行比较以确定延迟值;以及
基于所确定的延迟值,使用延迟缓冲器来向链路的接收路径添加延迟。
18.一种系统,包括:
用于识别从设备接收的超序列的装置,其中所述超序列与链路的初始化状态相对应,其中所述超序列包括重复模式,所述模式包括后面是多个连续训练序列的电学空闲退出有序集合(EIEOS),以及所述EIEOS的实例与同步计数器的翻转对齐;
用于将所接收的超序列中的EIEOS实例之一的到达时间与同步计数器的翻转的实例进行比较以确定延迟值的装置;以及
用于基于所确定的延迟值使用延迟缓冲器来向链路的接收路径添加延迟的装置。
19. 一种系统,包括:
第一设备;以及
经由链路连接到所述第一设备的第二设备,其中所述第二设备包括物理层逻辑,其用于:
从所述第一设备接收与链路上的初始化状态相对应的超序列,其中所述超序列包括重复模式,所述模式包括后面是多个连续训练序列的电学空闲退出有序集合(EIEOS),以及所述EIEOS的实例要与同步计数器的翻转对齐;
根据所述超序列中的EIEOS实例之一确定延迟值;以及
基于所述延迟值通过延迟缓冲器来向链路的接收路径添加延迟。
20.根据权利要求19所述的系统,其中所述第一和第二设备中的一个或两者包括处理器节点。
21.根据权利要求19所述的系统,其中所述第一和第二设备中的一个或两者包括加速器。
22.根据权利要求19所述的系统,其中所述第一和第二设备中的一个或两者包括节点控制器。
23.根据权利要求19所述的系统,其中所述第一设备包括物理层逻辑,其用于生成所述超序列并且根据同步计数器翻转来发送所述超序列。
CN201710243776.XA 2012-10-22 2013-03-27 高性能互连物理层 Active CN107092565B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717091 2012-10-22
CN201380017285.3A CN104487958B (zh) 2012-10-22 2013-03-27 高性能互连物理层

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380017285.3A Division CN104487958B (zh) 2012-10-22 2013-03-27 高性能互连物理层

Publications (2)

Publication Number Publication Date
CN107092565A true CN107092565A (zh) 2017-08-25
CN107092565B CN107092565B (zh) 2021-03-12

Family

ID=50485278

Family Applications (26)

Application Number Title Priority Date Filing Date
CN201380049203.3A Active CN104969206B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201710038141.6A Active CN106776364B (zh) 2012-10-22 2013-03-15 用于高性能互连物理层的装置、方法和系统
CN201380049212.2A Active CN104769570B (zh) 2012-10-22 2013-03-15 控制多时隙链路层微片中的消息收发
CN201380016998.8A Active CN104335196B (zh) 2012-10-22 2013-03-15 用于传送数据的方法、装置和系统
CN201380049066.3A Active CN104737147B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380016955.XA Active CN104380269B (zh) 2012-10-22 2013-03-15 高性能互连相干协议
CN201710093224.5A Active CN107015924B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201410582176.2A Active CN104391816B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201710043551.XA Active CN106681938B (zh) 2012-10-22 2013-03-15 用于控制多时隙链路层微片中的消息收发的装置和系统
CN201710043763.8A Active CN107045479B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380049199.0A Pending CN104969207A (zh) 2012-10-22 2013-03-15 高性能互连一致性协议
CN201810337297.9A Active CN108614783B (zh) 2012-10-22 2013-03-15 一致性协议表
CN202010633738.7A Active CN111737167B (zh) 2012-10-22 2013-03-15 用于高性能互连物理层的装置、方法和系统
CN201810011011.8A Active CN108055214B (zh) 2012-10-22 2013-03-15 用于对数据进行通信的装置和系统
CN201711159546.1A Active CN108228495B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380049062.5A Active CN104756097B (zh) 2012-10-22 2013-03-15 一致性协议表
CN201710038234.9A Active CN106815151B (zh) 2012-10-22 2013-03-15 高性能互连相干协议
CN201380055335.7A Active CN104737142B (zh) 2012-10-22 2013-03-16 多时隙链路层流控制单元
CN201380017285.3A Active CN104487958B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201710067578.2A Active CN107102960B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201810095156.0A Active CN108132892B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201410751146.XA Active CN104536933B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201380049075.2A Active CN104995614B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201710243776.XA Active CN107092565B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201711267378.8A Active CN107968756B (zh) 2012-10-22 2013-03-28 高性能互连链路层
CN201380016778.5A Active CN104303166B (zh) 2012-10-22 2013-03-28 高性能互连链路层

Family Applications Before (23)

Application Number Title Priority Date Filing Date
CN201380049203.3A Active CN104969206B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201710038141.6A Active CN106776364B (zh) 2012-10-22 2013-03-15 用于高性能互连物理层的装置、方法和系统
CN201380049212.2A Active CN104769570B (zh) 2012-10-22 2013-03-15 控制多时隙链路层微片中的消息收发
CN201380016998.8A Active CN104335196B (zh) 2012-10-22 2013-03-15 用于传送数据的方法、装置和系统
CN201380049066.3A Active CN104737147B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380016955.XA Active CN104380269B (zh) 2012-10-22 2013-03-15 高性能互连相干协议
CN201710093224.5A Active CN107015924B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201410582176.2A Active CN104391816B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201710043551.XA Active CN106681938B (zh) 2012-10-22 2013-03-15 用于控制多时隙链路层微片中的消息收发的装置和系统
CN201710043763.8A Active CN107045479B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380049199.0A Pending CN104969207A (zh) 2012-10-22 2013-03-15 高性能互连一致性协议
CN201810337297.9A Active CN108614783B (zh) 2012-10-22 2013-03-15 一致性协议表
CN202010633738.7A Active CN111737167B (zh) 2012-10-22 2013-03-15 用于高性能互连物理层的装置、方法和系统
CN201810011011.8A Active CN108055214B (zh) 2012-10-22 2013-03-15 用于对数据进行通信的装置和系统
CN201711159546.1A Active CN108228495B (zh) 2012-10-22 2013-03-15 高性能互连物理层
CN201380049062.5A Active CN104756097B (zh) 2012-10-22 2013-03-15 一致性协议表
CN201710038234.9A Active CN106815151B (zh) 2012-10-22 2013-03-15 高性能互连相干协议
CN201380055335.7A Active CN104737142B (zh) 2012-10-22 2013-03-16 多时隙链路层流控制单元
CN201380017285.3A Active CN104487958B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201710067578.2A Active CN107102960B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201810095156.0A Active CN108132892B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201410751146.XA Active CN104536933B (zh) 2012-10-22 2013-03-27 高性能互连物理层
CN201380049075.2A Active CN104995614B (zh) 2012-10-22 2013-03-27 高性能互连物理层

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201711267378.8A Active CN107968756B (zh) 2012-10-22 2013-03-28 高性能互连链路层
CN201380016778.5A Active CN104303166B (zh) 2012-10-22 2013-03-28 高性能互连链路层

Country Status (9)

Country Link
US (20) US9418035B2 (zh)
EP (2) EP2909728A4 (zh)
JP (2) JP6139689B2 (zh)
KR (27) KR101754890B1 (zh)
CN (26) CN104969206B (zh)
BR (1) BR112015006432A2 (zh)
DE (14) DE112013004094B4 (zh)
RU (2) RU2599971C2 (zh)
WO (11) WO2014065880A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114510268A (zh) * 2021-12-24 2022-05-17 中国人民解放军战略支援部队航天工程大学 一种基于gpu实现下变频中单精度浮点数累积误差控制方法
CN115238619A (zh) * 2022-09-20 2022-10-25 北京数字光芯集成电路设计有限公司 数字芯片的子模块后仿真方法和系统

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
WO2014065880A1 (en) 2012-10-22 2014-05-01 Robert Beers Coherence protocol tables
US9479196B2 (en) 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
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
US9306863B2 (en) * 2013-12-06 2016-04-05 Intel Corporation Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
CN105765544B (zh) * 2013-12-26 2019-04-09 英特尔公司 多芯片封装链路
RU2645288C2 (ru) 2013-12-26 2018-02-19 Интел Корпорейшн Усовершенствование интерфейса pci express
US9594719B2 (en) 2014-02-03 2017-03-14 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
CN105095147B (zh) * 2014-05-21 2018-03-13 华为技术有限公司 片上网络的Flit传输方法及装置
RU2608881C2 (ru) 2014-05-28 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
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
US9665505B2 (en) 2014-11-14 2017-05-30 Cavium, Inc. Managing buffered communication between sockets
US20160139204A1 (en) * 2014-11-14 2016-05-19 Xpliant, Inc. Testbench builder, system, device and method including a generic driver and transporter
US20160173398A1 (en) * 2014-12-12 2016-06-16 Intel Corporation Method, Apparatus And System For Encoding Command Information In a Packet-Based Network
US9921768B2 (en) * 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
US9444551B2 (en) * 2014-12-19 2016-09-13 Intel Corporation High performance optical repeater
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
US9946676B2 (en) 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
US9720838B2 (en) * 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
US9619396B2 (en) * 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
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
WO2016197345A1 (zh) * 2015-06-10 2016-12-15 华为技术有限公司 一种信号传输方法、控制器和信号传输系统
US9697145B2 (en) * 2015-06-12 2017-07-04 Apple Inc. Memory interface system
US10089275B2 (en) 2015-06-22 2018-10-02 Qualcomm Incorporated Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
US20160371222A1 (en) * 2015-06-22 2016-12-22 Qualcomm Incorporated COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
KR102485999B1 (ko) * 2015-07-01 2023-01-06 삼성전자주식회사 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템
US9692589B2 (en) * 2015-07-17 2017-06-27 Intel Corporation Redriver link testing
EP3329381B1 (en) * 2015-07-30 2020-02-26 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
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
WO2017052665A1 (en) * 2015-09-26 2017-03-30 Intel Corporation In-band margin probing on an operational interconnect
US9720439B2 (en) * 2015-09-26 2017-08-01 Intel Corporation Methods, apparatuses, and systems for deskewing link splits
WO2017052661A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Multichip package link error detection
WO2017052663A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Valid lane training
US20200244397A1 (en) * 2015-09-26 2020-07-30 Intel Corporation Stream identifier lane protection
GB2543745B (en) * 2015-10-15 2018-07-04 Advanced Risc Mach Ltd An apparatus and method for operating a virtually indexed physically tagged cache
US10698847B2 (en) 2016-03-01 2020-06-30 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
EP3721565A4 (en) 2018-01-10 2021-01-27 Lumeova, Inc METHOD, DEVICE AND SYSTEM FOR WIRELESS COMMUNICATION CHANNEL 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
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
CN108563510B (zh) * 2018-05-04 2021-07-13 湖南大学 面向e级计算的体系结构感知优化方法
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
US20200249275A1 (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
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications
CN109947551B (zh) * 2019-03-19 2021-04-23 中南大学 一种多轮次任务分配方法、边缘计算系统及其存储介质
US11055221B2 (en) * 2019-03-22 2021-07-06 Samsung Electronics Co., Ltd. Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory
US10698842B1 (en) * 2019-04-10 2020-06-30 Xilinx, Inc. Domain assist processor-peer for coherent acceleration
EP3723345A1 (en) 2019-04-10 2020-10-14 ABB Schweiz AG Aggregating server and method for forwarding node data
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
US20230074426A1 (en) * 2020-02-28 2023-03-09 Arizona Board Of Regents On Behalf Of Arizona State University C²mpi: a hardware-agnostic message passing interface for heterogeneous computing systems
US11115176B1 (en) * 2020-03-04 2021-09-07 Qualcomm Incorporated System and method for adjusting clock-data timing in a multi-lane data communication link
US11126585B1 (en) 2020-03-09 2021-09-21 Western Digital Technologies, Inc. Data storage device with improved interface transmitter training
US11886312B2 (en) 2020-04-07 2024-01-30 Intel Corporation Characterizing error correlation based on error logging for computer buses
CN111400232B (zh) * 2020-04-10 2024-01-16 芯启源(上海)半导体科技有限公司 一种基于数据位宽展开的scramble与descramble硬件实现方法
US11288225B2 (en) 2020-04-14 2022-03-29 Western Digital Technologies, Inc. Adapting transmitter training behavior based upon assumed identity of training partner
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training
US11513981B2 (en) * 2020-04-29 2022-11-29 Dell Products L.P. PCIe link management without sideband signals
US11586446B1 (en) * 2020-05-20 2023-02-21 Marvell Asia Pte Ltd System and methods for hardware-based PCIe link up based on post silicon characterization
US11263137B2 (en) * 2020-05-27 2022-03-01 Arm Limited Core-to-core cache stashing and target discovery
CN116134475A (zh) * 2020-05-29 2023-05-16 奈特力斯股份有限公司 计算机存储器扩展设备及其操作方法
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
CN116802510A (zh) 2020-11-24 2023-09-22 特克特朗尼克公司 用于高速输入/输出裕量测试的系统、方法和设备
CN112579479B (zh) * 2020-12-07 2022-07-08 成都海光微电子技术有限公司 在维护缓存一致性时维护事务次序的处理器及其方法
US20220182098A1 (en) * 2020-12-09 2022-06-09 Texas Instruments Incorporated Low power digital modes for duty-cycled integrated transceivers
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
KR102668564B1 (ko) 2021-06-01 2024-05-24 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
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
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
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
US11914473B1 (en) * 2022-10-20 2024-02-27 Micron Technology, Inc. Data recovery using ordered data requests

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255001A (zh) * 1998-10-16 2000-05-31 马科尼通讯有限公司 通信系统
US20100150053A1 (en) * 2008-12-17 2010-06-17 Viasat, Inc. Start of frame correlation for physical layer header synchronization
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法

Family Cites Families (268)

* 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
EP0552288A1 (en) * 1990-10-03 1993-07-28 Thinking Machines Corporation Parallel computer system
US5222062A (en) 1991-10-03 1993-06-22 Compaq Computer Corporation Expandable communication system with automatic data concentrator detection
US5434993A (en) * 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
JPH07168763A (ja) * 1992-11-13 1995-07-04 Cyrix Corp ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ
US5325360A (en) 1992-12-09 1994-06-28 National Semiconductor Corporation Controllable PCM state machine user interface
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5432775A (en) 1993-12-03 1995-07-11 Advanced Micro Devices, Inc. Auto negotiation system for a communications network
US5551005A (en) * 1994-02-25 1996-08-27 Intel Corporation Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5383143A (en) * 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
EP0706138A1 (en) * 1994-10-03 1996-04-10 International Business Machines Corporation Alternating data valid control signals for high performance data transfer
EP0707269A1 (en) * 1994-10-11 1996-04-17 International Business Machines Corporation Cache coherence network for a multiprocessor data processing system
EP0735480B1 (en) * 1995-03-31 2003-06-04 Sun Microsystems, Inc. Cache coherent computer system that minimizes invalidation and copyback operations
DE69616402T2 (de) * 1995-03-31 2002-07-18 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
US6141733A (en) * 1998-02-17 2000-10-31 International Business Machines Corporation Cache coherency protocol with independent implementation of optimized cache operations
US6345339B1 (en) * 1998-02-17 2002-02-05 International Business Machines Corporation Pseudo precise I-cache inclusivity for vertical caches
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
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
EP0991222B1 (en) * 1998-09-30 2003-04-16 Alcatel Method and arrangements for transition between a low power state and a full power state in a communication system
US6526481B1 (en) * 1998-12-17 2003-02-25 Massachusetts Institute Of Technology Adaptive cache coherence protocols
US6393529B1 (en) * 1998-12-21 2002-05-21 Advanced Micro Devices, Inc. Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US6556634B1 (en) * 1999-02-10 2003-04-29 Ericsson, Inc. Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system
US6185250B1 (en) * 1999-03-10 2001-02-06 Lucent Technologies Inc. Training of level learning modems
AU5158800A (en) * 1999-05-28 2000-12-18 Basic Resources, Inc. Wireless transceiver network employing node-to-node data messaging
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
KR100566289B1 (ko) * 1999-09-03 2006-03-30 삼성전자주식회사 데이타 링크 맵을 이용한 브이5.2 계층 2의 비활성화 제어 방법 및 장치
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6754185B1 (en) * 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
US6674720B1 (en) * 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit 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 (en) * 2000-12-04 2002-06-05 Telefonaktiebolaget Lm Ericsson Unequal error protection in a packet transmission system
EP1217613A1 (fr) * 2000-12-19 2002-06-26 Koninklijke Philips Electronics N.V. Reconstitution de trames manquantes ou mauvaises en téléphonie cellulaire
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
EP2247066B1 (en) * 2003-11-12 2012-09-26 Qualcomm Incorporated High data rate interface with improved link control
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7440468B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Queue management of a global link control byte in an input/output subsystem
US8009563B2 (en) 2003-12-19 2011-08-30 Broadcom Corporation Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
US7631118B2 (en) * 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
JP4005974B2 (ja) * 2004-01-09 2007-11-14 株式会社東芝 通信装置、通信方法、および通信システム
US7856534B2 (en) * 2004-01-15 2010-12-21 Hewlett-Packard Development Company, L.P. Transaction references for requests in a multi-processor network
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
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
US7620696B2 (en) * 2004-01-20 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for conflict responses in a cache coherency protocol
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
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
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US7716409B2 (en) * 2004-04-27 2010-05-11 Intel Corporation Globally unique transaction identifiers
JP4312794B2 (ja) * 2004-04-30 2009-08-12 シャープ株式会社 無線通信システム
US8046488B2 (en) * 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US20060041696A1 (en) 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
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
CN1700639A (zh) * 2004-05-21 2005-11-23 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US7313712B2 (en) * 2004-05-21 2007-12-25 Intel Corporation Link power saving state
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
US20100158052A1 (en) * 2006-08-08 2010-06-24 Koninklijke Philips Electronics N.V. Electronic device and method for synchronizing a communication
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
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
JP2010516143A (ja) * 2007-01-15 2010-05-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 無線通信方法及び無線通信ネットワーク
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
EP1973254B1 (en) * 2007-03-22 2009-07-15 Research In Motion Limited Device and method for improved lost frame concealment
EP2156595A1 (en) * 2007-05-08 2010-02-24 InterDigital Technology Corporation Method and apparatus for providing piggybacked positive acknowledgement/negative acknowledgement field indicator and a polling indicator
US7827357B2 (en) * 2007-07-31 2010-11-02 Intel Corporation Providing an inclusive shared cache among multiple core-cache clusters
US7899111B2 (en) * 2007-08-07 2011-03-01 Intel Corporation Link interface technique including data indicator symbols
US20090063889A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
US20090125363A1 (en) * 2007-10-22 2009-05-14 Nokia Siemens Networks Oy Method, apparatus and computer program for employing a frame structure in wireless communication
EP2063581A1 (en) * 2007-11-20 2009-05-27 STMicroelectronics (Grenoble) SAS Transferring a stream of data between first and second electronic devices via a network 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 (en) 2008-02-29 2014-04-16 Hewlett-Packard Development Company, L.P. Modular system and retractable assembly for electronic devices
DE102008012979A1 (de) * 2008-03-06 2009-09-10 Gip Ag Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken
US7492807B1 (en) 2008-04-07 2009-02-17 International Business Machines Corporation Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods
WO2009134218A1 (en) * 2008-04-28 2009-11-05 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
US8205045B2 (en) 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
WO2010028365A1 (en) * 2008-09-08 2010-03-11 Samsung Electronics Co., Ltd. Sub-channel acquisition in a digital television receiver designed to receive mobile/handheld signals
KR101774202B1 (ko) * 2008-09-10 2017-09-01 넥스트나브, 엘엘씨 지상 비컨 네트워크 및 이를 이용한 위치 결정 신호 생성 및 송신 방법
US8917209B2 (en) * 2009-09-10 2014-12-23 Nextnav, Llc Coding in a wide area positioning system (WAPS)
US8265071B2 (en) * 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
CN101430664B (zh) * 2008-09-12 2010-07-28 中国科学院计算技术研究所 一种多处理器系统及Cache一致性消息传输方法
EP2173066B1 (en) 2008-10-01 2012-05-16 STMicroelectronics Srl Method of exchanging information in a Network-on-Chip communication network, corresponding Network-on-Chip communication network and computer program product
US8531943B2 (en) * 2008-10-29 2013-09-10 Adapteva Incorporated Mesh network
KR100988809B1 (ko) * 2008-11-06 2010-10-20 주식회사 하이닉스반도체 반도체 메모리 장치 및 출력인에이블 신호 생성 방법
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
CN101437033B (zh) * 2008-12-16 2012-07-11 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
US8026726B2 (en) * 2009-01-23 2011-09-27 Silicon Image, Inc. Fault testing for interconnections
KR101598094B1 (ko) * 2009-02-02 2016-02-26 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR20100092353A (ko) * 2009-02-12 2010-08-20 엘지전자 주식회사 트래픽 암호화 키 관리방법 및 장치
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 天际微芯(北京)科技有限公司 训练序列结构及训练方法
US8335911B2 (en) * 2009-05-21 2012-12-18 Oracle America, Inc. Dynamic allocation of resources in a threaded, heterogeneous processor
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
US8199759B2 (en) 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
CN101561794B (zh) * 2009-06-05 2012-07-04 威盛电子股份有限公司 通用串行总线装置
US8239704B2 (en) * 2009-06-12 2012-08-07 Cray Inc. Global clock via embedded spanning tree
WO2010147264A1 (en) * 2009-06-16 2010-12-23 Lg Electronics Inc. Method of exchanging messages and transmitting and receiving devices
US8782347B2 (en) * 2009-06-26 2014-07-15 Intel Corporation Controllably exiting an unknown state of a cache coherency directory
US20100332877A1 (en) 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8831666B2 (en) * 2009-06-30 2014-09-09 Intel Corporation Link power savings with state retention
CN101695193A (zh) * 2009-09-27 2010-04-14 上海华为技术有限公司 一种下行数据发送和下行数据接收的方法和装置
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
US8327228B2 (en) * 2009-09-30 2012-12-04 Intel Corporation Home agent data and memory management
US8819305B2 (en) * 2009-11-16 2014-08-26 Intel Corporation Directly providing data messages to a protocol layer
US8621128B2 (en) * 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US9100809B2 (en) * 2009-12-21 2015-08-04 Julia Olincy Olincy Automatic response option mobile system for responding to incoming texts or calls or both
US8301813B2 (en) * 2009-12-24 2012-10-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US20120227045A1 (en) 2009-12-26 2012-09-06 Knauth Laura A Method, apparatus, and system for speculative execution event counter checkpointing and restoring
US8804960B2 (en) * 2010-02-22 2014-08-12 International Business Machines Corporation Implementing known scrambling relationship among multiple serial links
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
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
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 (en) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Image processing apparatus, printing apparatus and controlling method in image processing apparatus
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
WO2013081580A1 (en) * 2011-11-29 2013-06-06 Intel Corporation Raw memory transaction support
US9442879B2 (en) * 2011-12-07 2016-09-13 Intel Corporation Multiple transaction data flow control unit for high-speed interconnect
CN103188059A (zh) 2011-12-28 2013-07-03 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
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 东南大学 一种基于状态机的协议构造方法
US9665521B2 (en) 2012-05-18 2017-05-30 Dell Products, Lp System and method for providing a processing node with input/output functionality by an I/O complex switch
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
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
WO2014065880A1 (en) 2012-10-22 2014-05-01 Robert Beers Coherence protocol tables
US9479196B2 (en) * 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
US9600431B2 (en) * 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9405718B2 (en) 2013-02-28 2016-08-02 Intel Corporation Leveraging an enumeration and/or configuration mechanism of one interconnect protocol for a different interconnect protocol
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
CN105765544B (zh) * 2013-12-26 2019-04-09 英特尔公司 多芯片封装链路
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255001A (zh) * 1998-10-16 2000-05-31 马科尼通讯有限公司 通信系统
US20100150053A1 (en) * 2008-12-17 2010-06-17 Viasat, Inc. Start of frame correlation for physical layer header synchronization
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114510268A (zh) * 2021-12-24 2022-05-17 中国人民解放军战略支援部队航天工程大学 一种基于gpu实现下变频中单精度浮点数累积误差控制方法
CN115238619A (zh) * 2022-09-20 2022-10-25 北京数字光芯集成电路设计有限公司 数字芯片的子模块后仿真方法和系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104536933B (zh) 高性能互连物理层

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant