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

高性能互连物理层 Download PDF

Info

Publication number
CN107045479B
CN107045479B CN201710043763.8A CN201710043763A CN107045479B CN 107045479 B CN107045479 B CN 107045479B CN 201710043763 A CN201710043763 A CN 201710043763A CN 107045479 B CN107045479 B CN 107045479B
Authority
CN
China
Prior art keywords
processor
loopback
state
link
transmitter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710043763.8A
Other languages
English (en)
Other versions
CN107045479A (zh
Inventor
V·艾耶
D·S·尤
R·C·沙哈
A·库玛
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 CN107045479A publication Critical patent/CN107045479A/zh
Application granted granted Critical
Publication of CN107045479B publication Critical patent/CN107045479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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
    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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

本发明涉及高性能互连物理层。描述了一种在链路的初始化期间修改的串行数据链路。链路的修改包括从远程代理接收伪随机二进制序列(PRBS),分析PRBS以便标识数据链路的特性,并产生描述特性的指标数据。

Description

高性能互连物理层
本申请是申请日为2013年3月15日申请号为第201380049203.3号发明名称为“高性能互连物理层”的中国专利申请的分案申请。
技术领域
本公开内容通常涉及计算机开发的领域,且尤其涉及相互依赖的约束系统的协调的软件开发。
背景技术
半导体处理和逻辑设计的进步已经允许可以出现在集成电路设备上的逻辑的数量的增加。作为必然的结果,计算机系统配置已经从一个系统中的单个或多个集成电路进化成出现在单个集成电路上的多核、多硬件线程和多逻辑处理器,以及集成在这样的处理器内的其他接口。处理器或集成电路通常包括单个物理处理器管芯,其中处理器管芯可以包括任何数量的核、硬件线程、逻辑处理器、接口、存储器、控制器中枢等等。
作为在更小的封装中提供更多的处理能力的更大能力的结果,更小的计算设备已经普遍增加。智能电话、平板、超薄笔记本和其他用户设备已经指数性增长。然而,这些更小的设备依赖于服务器以便得到超过形状因子的数据存储和复杂处理。因此,高性能计算市场(即服务器空间)的需求也已经增加。举例来说,在现代服务器中,通常不仅存在具有多个核的单个处理器,而且也存在多个物理处理器(也被称为多个插槽)以便增加计算能力。但是,随着处理能力与计算系统中的设备的数量一同增长,在插槽和其他设备之间的通信变得更加重要。
事实上,互连已经从主要处理电通信的更传统的多点式总线发展到促进快速通信的完全成熟的互连架构。不幸的是,由于将来处理器以甚至更高速率消耗的需求,对现有的互连架构的能力提出了相应的需求。
附图说明
图1阐释根据一种实施例包括连接计算机系统中的I/O设备的串行点对点互连的系统的简化框图;
图2阐释根据一种实施例的分层协议栈的简化框图;
图3阐释事务描述符的实施例。
图4阐释串行点对点链路的实施例。
图5阐释潜在高性能互连(HPI)系统配置的实施例。
图6阐释与HPI相关联的分层协议栈的实施例。
图7阐释示例状态机的表示。
图8阐释示例控制超序列。
图9阐释到部分宽度状态的示例转换的流程图。
图10阐释示例模式产生器的示意图。
图11阐释包括多核处理器的计算系统的框图的实施例。
图12阐释包括多核处理器的计算系统的框图的另一实施例。
图13阐释处理器的框图的实施例。
图14阐释包括处理器的计算系统的框图的另一实施例。
图15阐释包括多个处理器插槽的计算系统的框图的实施例。
图16阐释计算系统的框图的另一实施例。
在各图中,相同的标号和名称表示相同的元素。
具体实施方式
在下列描述中,陈述了众多特定的细节,例如特定类型的处理器和系统配置、特定的硬件结构、特定的架构和微架构细节、特定的寄存器配置、特定的指令类型、特定的系统组件、特定的处理器管线阶段、特定的互连层、特定的分组/事务配置、特定的事务名称、特定的协议切换、特定的链路宽度、特定的实现和操作等等的示例,以便提供对本发明的透彻理解。然而,本领域中的技术人员可以明显看出,实践本公开内容的主题并不必定需要使用这些特定的细节。在其他实例中,已经避免了对已知的组件或方法的十分详细的描述,例如计算机系统的特定的和备选的处理器架构、用于所描述的算法的特定逻辑电路/代码、特定固件代码、低级互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、利用代码的算法的特定表示、特定的断电和门控技术/逻辑和其他特定的操作细节,以免不必要地模糊本公开内容。
尽管可以在特定的集成电路中例如在计算平台或微处理器中参考节能、能量效率、处理效率等等描述下列实施例,但其他实施例适用于其他类型的集成电路和逻辑设备。在此描述的各实施例的类似的技术和教导可以应用到也可以受益于这样的特征的其他类型的电路或半导体设备。例如,所公开的实施例不限于服务器计算机系统、台式计算机系统、膝上型计算机、超极本TM,而是也可以用于其他设备,例如手持式设备、智能电话、平板、其他轻薄笔记本、片上系统(SOC)设备和嵌入式应用。手持式设备的一些示例包括蜂窝式电话、因特网协议设备、数码相机、个人数字助理(PDA)和手持式PC。在这里,可以应用用于高性能互连的类似技术以便在低功率互连中增加性能(或甚至节省功率)。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机或可以执行下面教导的功能和操作的任何其他系统。此外,在此描述的装置、方法和系统不限于物理计算设备,而是也可以涉及用于节能和效率的软件优化。在下面的描述中可以明显看出,在此描述的方法、装置和系统的各实施例(无论是否引用硬件、固件、软件或其组合)可以被认为是对与性能考虑平衡的“绿色技术”未来至关重要。
随着计算系统的进步,其中的组件变得更加复杂。在各组件之间耦合和通信的互连架构的复杂度也已经增加,以便确保满足最优组件操作的带宽需求。此外,不同的市场部分需要互连架构的不同方面以便适应各自的市场。例如,服务器要求较高的性能,而移动生态系统有时可以牺牲总体性能以便节能。然而,对大多数组织结构的唯一目标是以最大的功率节省提供最高可能性能。进一步,各种不同的互连可以潜在地受益于在此讨论的本主题。
根据在此描述的一个或多个原理以及其他示例,可以潜在地改善外围组件互连(PCI)高速(PCIe)互连组织结构架构和QuickPath互连(QPI)组织结构架构以及其他示例。举例来说,PCIe的主要目的是,跨越多个市场部分;客户机(台式和移动)、服务器(标准和企业)和嵌入式设备及通信设备,允许来自不同销售商的组件和设备在开放的架构中相互操作。PCI EXPRESS是为各种各样的未来计算和通信平台定义的高性能通用I/O互连。已经通过其修订版维护诸如其使用模型、加载-存储架构和软件接口之类的一些PCI属性,而先前的并行总线实现已经被高度可扩展、完全串行的接口所替代。PCI EXPRESS的最近版本利用点对点互连、基于交换机的技术和分组化协议中的进步来递送新水平的性能和特征。功率管理、服务品质(QoS)、热拔插/热切换支持、数据完整性和错误处理属于PCIEXPRESS所支持的高级功能中的一些。尽管本文的主要讨论参考新的高性能互连(HPI)架构,但在此描述的本发明的各方面可以应用到其他互连架构,例如兼容PCIe的架构、兼容QPI的架构、兼容MIPI的架构、高性能架构或其他已知的互连架构。
参见图1,阐释了由互连一组组件的点对点链路组成的组织结构的一种实施例。系统100包括耦合到控制器中枢115的处理器105和系统存储器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、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描仪和其他输入/输出设备。通常,在PCIe术语中,例如,设备被称为端点。尽管不具体地示出,但设备125可以包括桥(例如,PCIe到PCI/PCI-X的桥)以便支持遗留或其他版本的设备或这样的设备所支持的互连组织结构。
图形加速器130也可以通过串行链路132耦合到控制器中枢115。在一种实施例中,图形加速器130耦合到MCH,MCH耦合到ICH。然后,交换机120耦合到ICH,并且以及相应地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。在所阐释的示例中,描述包括本地事务标识符字段308和源标识符字段310的全局标识符字段302。在一种实施例中,全局事务标识符302对所有未完成请求来说是唯一的。
根据一种实现,本地事务标识符字段308是由请求代理产生的字段,且对要求请求代理的完成的所有未完成请求来说可以是独特的。此外,在这一示例中,源标识符310唯一地标识在互连分层结构内的请求者代理。因此,与源ID 310一起,本地事务标识符308字段提供在分层域内的事务的全局标识。
属性字段304指定事务的特性和关系。在这点上,属性字段304可能被用来提供允许事务的默认处理的修改的附加信息。在一种实施例中,属性字段304包括优先级字段312、保留字段314、排序字段316以及无监听字段318。在这里,优先级子字段312可以由发起者修改以便向事务分配优先级。保留属性字段314被保留以供将来使用或销售商定义的用途。使用保留属性字段,可以实现使用优先级或安全属性的可能使用模型。
在这一示例中,排序属性字段316被用来提供表达排序的类型的可选信息,该可选信息可以修改默认排序规则。根据一种示例实现,排序属性“0”表示要应用默认排序规则,其中,排序属性“1”表示不严格的排序,其中,写入可以向相同的方向传送写入,且读取完成可以向相同的方向传送写入。监听属性字段318被用来判断是否监听事务。正如所示出的,信道ID字段306标识事务与之相关联的信道。
返回到图2的讨论,链路层210,也被称为数据链路层210,可以充当在事务层205和物理层220之间的中间级。在一种实施例中,数据链路层210的责任是为在链路上两个组件之间交换事务层分组(TLP)提供可靠机制。数据链路层210的一侧接受由事务层205组装的TLP,应用分组序列标识符211,即标识号或分组号,计算和应用错误检测代码,即CRC 212,并把经修改的TLP提交给物理层,以便跨越物理传输到外部设备。
在一个示例中,物理层220包括逻辑子块221和电气子块222以便物理上把分组发送给外部设备。在这里,逻辑子块221负责物理层221的“数字”功能。在这点上,逻辑子块可以包括发送部分以及接收器部分,发送部分准备传出信息以供由物理子块222传送,接收器部分在把所接收的信息传送给链路层210之前标识和准备所接收的信息。
物理块222包括发送器和接收器。发送器由逻辑子块221提供符号,发送器把符号串行化并将其发送给外部设备。向接收器提供来自外部设备的串行化符号,且接收器把所接收的信号变换成比特流。解串行化比特流并将其提供给逻辑子块221。在一个示例实施例中,采用了8b/10b传送码,其中发送/接收十比特符号。在这里,使用特殊符号以借助于帧223使分组成帧。另外,在一个示例中,接收器也提供从传入串行流恢复的符号时钟。
如上所述,尽管参考协议栈(例如PCIe协议栈)的特定实施例讨论了事务层205、链路层210和物理层220,但分层协议栈不限于此。事实上,可以包括/实现任何分层协议并采用在此讨论的特征。作为示例,被表示成分层协议的端口/接口可以包括:(1)组装分组的第一层,即事务层;序列化分组的第二层,即链路层;以及发送分组的第三层,即物理层。作为特定示例,利用了在此描述的高性能互连分层协议。
接下来参见图4,阐释了串行点对点组织结构的示例实施例。串行点对点链路可以包括用于发送串行数据的任何传输路径。在所示出的实施例中,链路可以包括两个低电压差分驱动信号对:发送对406/411和接收对412/407。相应地,设备405包括把数据发送给设备410的传送逻辑406和从设备410接收数据的接收逻辑407。换句话说,在链路的一些实现中包括两个发送路径(即路径416和417)和两个接收路径(即路径418和419)。
传输路径是指用于发送数据的任何路径,例如传输线、铜缆、光缆、无线通信信道、红外通信链路或其他通信路径。诸如设备405和设备410之类的在两个设备之间连接被称为链路,例如链路415。链路可以支持一个通道,每一通道表示一组差分信号对(一对用于传送,一对用于接收)。为了扩大带宽,链路可以集合由xN表示的多个通道,其中N是任何所支持的链路宽度,例如1、2、4、8、12、16、32、64或更宽。
差分对可以是指发送差分信号的两个传输路径,例如线路416和417。作为示例,在线路416从低电压电平切换到高电压电平时,即上升沿,线路417从高逻辑电平驱动到低逻辑电平,即下降沿。差分信号潜在地展现出更好的电气特性,例如更好的信号完整性,即交叉耦合、电压过冲/下冲、振铃以及其他示例优点。这允许更好计时窗口,而这又允许更快的传送频率。
在一种实施例中,提供了新的高性能互连(HPI),HPI可以包括下一代缓存一致性的基于链路的互连。作为一个示例,HPI可以用于高性能计算平台,例如工作站或服务器,在各系统中包括其中通常使用PCle或另一互连协议来连接处理器、加速器、I/O设备等等。然而,HPI不限于此。相反,HPI可以用于在此描述的任何系统或平台。此外,所开发的各种创意可以应用到其他互连和平台,例如PCIe、MIPI、QPI等等。
为了支持多个设备,在一个示例实现中,HPI可以包括不确定的指令集架构(ISA)(即可以在多个不同的设备中实现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)的设计、故障处理、寄存器、安全以及其他示例的增强功能。图6阐释示例HPI分层协议栈的实施例。在一些实现中,图6中所阐释的各层中的至少一些可以是可选的。每一层处理其自己级别的粒度或量子的信息(协议层605a、b处理分组630,链路层610a、b处理微片635,且物理层605a、b处理物理片640)。注意,在一些实施例中,基于该实现,分组可以包括微片的部分、单个微片或多个微片。
作为第一示例,物理片640的宽度包括链路宽度到比特的1对1映射(例如20位链路宽度包括20比特的物理片等等)。微片可以具有更大的尺寸,例如184、192或200比特,注意,如果物理片640是20比特宽,且微片635的大小是184比特,那么,采用物理片640的分数来发送一个微片635(例如用9.2个20比特的物理片发送184位微片635,或9.6个20比特的物理片发送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并提供在两个直接连接的实体之间可靠传输数据(以及请求)并管理流量控制的能力。链路层也可以负责把物理信道虚拟化成多个虚拟信道和消息类。在把协议消息提交给物理层605a、b以便跨越物理链路传输之前,协议层620a、b依赖于链路层610a、b来把协议消息映射成适当的消息类和虚拟信道。链路层610a、b可以支持多个消息,例如请求、监听、响应、写回、非一致性数据,以及其他示例。
可以在电气层(即连接两个组件的电导体)上面和在链路层610a、b下面实现HPI的物理层605a、b(或PHY),正如图6中所阐释的。物理层和相应逻辑可以驻留在每一代理上,且连接相互分离的两个代理(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可以利用嵌入式时钟。时钟信号可以被嵌入到使用互连传输的数据中。借助于被嵌入到数据中的时钟信号,可以省略不同的和专用的时钟通道。例如,这是有用的,这是由于它可以允许设备的更多引脚专用于数据传递,在用于引脚的空间非常紧缺的场合下尤其如此。
可以在互连的任一侧上的两个代理之间建立链路。发送数据的代理可以是本地代理,且接收数据的代理可以是远程代理。这两种代理可以采用状态机来管理链路的各方面。在一种实施例中,物理层数据路径可以把微片从链路层发送到电气前端。在一种实现中,控制路径包括状态机(也称为链路训练状态机或类似物)。状态机的动作和从各状态的退出可以取决于内部信号、定时器、外部信号或其他信息。事实上,诸如几个初始化状态之类的一些状态可以利用定时器来提供超时值以便退出状态。注意,在一些实施例中,检测是指在通道的两端上检测到事件;但并不必定是同时进行。然而,在其他实施例中,检测是指参考的代理检测到事件。作为一个示例,去抖动是指对信号的持续断言。在一种实施例中,HPI支持非功能通道的事件的操作。在这里,可以在特定状态结束通道。
状态机中所定义的状态可以包括复位状态、初始化状态和操作状态,以及其他类别和子类别。在一个示例中,一些初始化状态可以具有用来在超时(本质上是由于无法在该状态中取得进展的中止)的时候退出状态的次级定时器。中止可以包括诸如状态寄存器之类的寄存器的更新。一些状态也可以具有用来对状态中的主要功能计时的(多个)主定时器。可以定义其他状态,以使得内部信号或外部信号(例如握手协议)驱动从该状态到另一状态的转换,以及其他示例。
状态机也可以通过单步支持调试,冻结初始化中止和使用测试器。在这里,可以延期/保持状态退出,直到调试软件准备好。在一些实例中,可以延期/保持退出,直到次级超时。在一种实施例中,动作和退出可以基于训练序列的交换。在一种实施例中,链路状态机在本地代理时钟域中运行,且从一个状态转换到下一状态应与发送器训练序列边界一致。状态寄存器可以用来反映当前状态。
图7阐释在HPI的一个示例实现中代理所使用的状态机的至少一部分的表示。应明白,图7的状态表中所包括的状态包括可能状态的非穷尽列表。举例来说,省略了一些转换以便简化该图。而且,可以组合、拆分或省略一些状态,同时可以添加其他状态。这样的状态可以包括:
事件复位状态:在热复位事件或冷复位事件时进入。恢复默认值。初始化计数器(例如,同步计数器)。可以退出到另一状态,例如另一复位状态。
定时复位状态:用于带内复位的定时状态。可以驱动预定义电气有序集(EOS),使得远程接收机能够检测EOS并且也进入定时复位。接收器具有保持电气设置的通道。可以退出到代理以便校准复位状态。
校准复位状态:无需通道上的信令(例如接收器校准状态)或关闭驱动器就校准。可以是基于定时器处于该状态的预先确定量的时间。可以设置运行速度。可以充当在不允许端口时的等待状态。可以包括最小驻留时间。基于设计可以发生接收器调整或跳动(staggering off)。在超时和/或完成校准之后,可以退出到接收器检测状态。
接收器检测状态:在(多个)通道上检测接收器的存在。可以查找接收器终止(例如接收器下拉插入)。在设置所指定的值时或者在没有设置另一所指定的值时,可以退出到校准复位状态。如果检测到接收器或达到了超时,可以退出到发送器校准状态。
发送器校准状态:用于发送器校准。可以是为发送器校准分配的定时状态。可以包括通道上的信令。可以连续地驱动EOS,例如EIEOS。在完成校准时或在定时器过期时,可以退出到兼容性状态。如果计数器已经过期或次级超时已经发生,可以退出到发送器检测状态。
发送器检测状态:验证有效信令。可以是其中代理完成动作且基于远程代理信令退出到下一状态的握手状态。接收器可以验证来自发送器的有效信令。在一种实施例中,接收器查找唤醒检测,且如果在一个或多个通道上去抖动,则在其他通道上查找它。发送器驱动检测信号。响应于对所有通道完成了去抖动和/或响应于超时,或者如果没有完成所有通道上的去抖动且存在超时,可以退出到轮询状态。在这里,一个或多个监视器通道可以保持唤醒以便对唤醒信号去抖动。并且如果已经去抖动,那么,潜在地去抖动其他通道。这可以允许低功率状态下的节能。
轮询状态:接收器修改、初始化漂移缓冲器且锁定比特/字节(例如标识符号边界)。可以对通道进行去偏斜。响应于确认消息,远程代理可以引起退出到下一状态(例如链路宽度状态)。通过锁定到EOS和训练序列首部,轮询可以另外包括训练序列锁。可以在最高速度的第一长度和慢速速度的第二长度处确定在远程发送器处的通道到通道的偏斜的界限。可以以缓慢模式以及操作模式执行去偏斜。接收器可以具有对通道到通道的偏斜进行去偏斜的最大值,例如8、16或32个偏斜间隔。接收器动作可以包括延迟修复。在一种实施例中,可以在成功去偏斜有效通道映射时完成接收器动作。在一个示例中,在接收到带有确认的多个相继训练序列首部时可以实现成功握手,且在接收器已经完成其动作之后发送带有确认的多个训练序列。
链路宽度状态:代理与到远程发送器的最终通道映射通信。接收器接收信息和并解码。在第二结构中的先前通道映射值的检查点之后,接收器可以以一种结构记录经配置的通道映射。接收器也可以用确认(“ACK”)响应。可以发起带内复位。作为一个示例,第一状态发起带内复位。在一种实施例中,响应于ACK执行退出到下一状态,例如微片配置状态。进一步,在进入低功率状态之前,如果唤醒检测信号发生的频率低于指定值(例如每一数量的单位间隔(UI)例如4K UI,1次),也可以产生复位信号。接收器可以保持当前的和先前的通道映射。基于具有不同值的训练序列,发送器可以使用不同的通道组。在一些实施例中,通道映射可以不修改一些状态寄存器。
微片锁定配置状态:由发送器进入,但在发送器和接收器两者已经退出到阻断链路状态或其他链路状态时,考虑退出该状态(即次级超时无意义)。在一种实施例中,发送器退出到链路状态包括在接收到行星式排列信号之后开始数据序列(SDS)和训练序列(TS)边界。在这里,接收器退出可以是基于从远程发送器接收SDS。这种状态可以是从代理到链路状态的桥。接收器标识SDS。如果在初始化解扰器之后接收到SDS,则接收器可以退出到阻断链路状态(BLS)(或控制窗口)。如果超时发生,退出可以复位状态。发送器借助于配置信号驱动通道。基于各条件或超时,发送器退出可以是复位、BLS或其他状态。
发送链路状态:链路状态。把微片发送给远程代理。可以从阻断链路状态进入,且在诸如超时之类的事件时返回到阻断链路状态。发送器发送微片。接收器接收微片。也可以退出到低功率链路状态。在一些实现中,发送链路状态(TLS)可以被称为L0状态。
阻断链路状态:一种链路状态。发送器和接收器以统一方式操作。可以是定时状态,在此期间,在物理层信息被传输到远程代理的同时,推迟各链路层微片。可以退出到低功率链路状态(或基于设计退出到其他链路状态)。在一种实施例中,阻断链路状态(BLS)周期性地发生。该周期被称为BLS间隔且可以定时,并且在慢速和运行速度之间可以不同。注意,可以周期性阻止链路层发送微片,以使得可以发送一定长度的物理层控制序列,例如在发送链路状态或部分宽度发送链路状态期间。在一些实现中,阻断链路状态(BLS)可以被称为L0控制或L0c状态。
部分宽度发送链路状态:链路状态。可以通过进入部分宽度状态节能。在一种实施例中,不对称部分宽度是指两个方向链路的每一方向具有不同的宽度,在一些设计中可以支持这一点。在一个示例中,在图9的示例中示出部分宽度发送链路状态。在这里,在以第一宽度在链路上发送的同时发送部分宽度指示,以便把链路转换成以第二种新的宽度发送。失配可以引起复位。注意,速度可以不改变但是宽度可以改变。因此,潜在地以不同的宽度发送各微片。逻辑上可以类似于发送链路状态;然而,由于存在较小的宽度,发送微片可能需要更久。基于某些所接收的和所发送的消息或退出部分宽度发送链路状态,或者是基于其他事件的链路阻断状态,可以退出到其他链路状态,例如低功率链路状态。在一种实施例中,发送器端口可以以交错方式关闭空闲通道,以便提供更好的信号完整性(即噪声缓解)。在这里,在其中链路宽度正在改变的周期期间,可以利用不可重试的微片例如空微片。相应的接收器可以丢掉这些空微片并以交错方式关闭空闲通道,并且在一个或多个结构中记录当前的和先前的通道映射。注意,状态和关联的状态寄存器可以保持不变。在一些实现中,部分宽度发送链路状态可以被称为部分L0或L0p状态。
退出部分宽度发送链路状态:退出部分宽度状态。在一些实现中,可以或不可以使用阻断链路状态。在一种实施例中,通过在空闲通道上发送部分宽度退出模式以便训练和去偏斜它们,发送器发起退出。作为一个示例,退出模式从EIEOS开始,检测EIEOS并对其去抖动,以便发出信号告知通道准备好开始进入到完全发送链路状态,且可以用空闲通道上的SDS或快速训练序列(FTS)结束。在退出序列期间的任何故障(接收器动作,例如在超时之前没有完成去偏斜)停止微片传递到链路层并断言复位,通过在下一阻断链路状态发生时复位链路来处理这一问题。SDS也可以把各通道上的扰码器/解扰器初始化成适当的值。
低功率链路状态:是较低功率的状态。在一种实施例中,它比部分宽度链路状态更低功率,这是由于在这一实施例中在所有通道上且在两个方向停止了信令。发送器可以把阻断链路状态用于请求低功率链路状态。在这里,接收器可以解码请求且用ACK或NAK做出响应;否则,可以触发复位。在一些实现中,低功率链路状态可以被称为L1状态。
在一些实现中,例如在已经完成了状态的状态动作(例如特定校准和配置)时,可以促进状态转换以便允许旁路状态。链路的先前的状态结果和配置可以被存储起来且在链路的随后的初始化和配置中重用。代替重复这样的配置和状态动作,可以旁路相应的状态。然而,实现状态旁路的传统系统常常实现复杂的设计和昂贵的验证逸出。代替使用传统的旁路,在一个示例中,HPI可以在某些状态(例如不需要重复状态动作的状态)中利用短定时器。这可能允许更均匀的和同步的状态机转换,以及其他可能优点。
在一个示例中,基于软件的控制器(例如,通过物理层的外部控制点)可以允许短定时器用于一个或多个具体状态。举例来说,对于已经执行和存储了其动作的状态,可以短暂定时该状态,以便促进从该状态快速退出到下一状态。然而,如果在短定时器持续时间内先前的状态动作失败或者不能应用,则可以执行状态退出。进一步,控制器可以禁用短定时器,例如在应当重新执行状态动作的时候。可以为每一各自的状态设置长的或默认的定时器。如果在长定时器内不能完成在该状态处的配置动作,则可以发生状态退出。可以把长定时器设置为合理的持续时间,以便允许完成状态动作。相反,短定时器可以大大缩短,使得在一些情况中不可能无需回头参考先前执行的状态动作就执行各状态动作,以及其他示例。
在一些实例中,在链路的初始化(或重新初始化)期间,当代理通过状态机向操作链路状态前进时,可能发生一个或多个故障或状态退出,这引起该状态复位(例如,复位到复位状态或其他状态)。事实上,链路的初始化可以循环通过一个或多个状态而无需完成初始化和进入链路状态。在一个示例中,在链路的初始化内,可以为状态转换中的无效循环的数量维护一个计数。举例来说,每当初始化返回到复位状态而没有达到链路状态,计数器就可以递增。一旦链路成功地进入链路状态,则可以为该链路复位计数器。这样的计数器可以由链路两侧上的代理维护。进一步,例如,可以由基于软件的控制器利用一个或多个外部控制点来设置阈值。在无效循环的计数满足(或超过)已定义的阈值时,可以挂起链路的初始化(例如,被设置和保持在复位状态或者在复位状态之前)。在一些实现中,为了重新开始初始化并且从挂起状态释放初始化,基于软件的控制器可以触发链路的重启或重新初始化。在一些实例中,基于软件的工具可以分析已挂起的初始化的性质,并且执行诊断,设置寄存器值,且执行其他操作,以便预防初始化的进一步循环。实际上,在一些实现中,结合重启已挂起的链路初始化,控制器可以设置较高的计数器阈值或者甚至覆盖该计数器,以及其他示例。
在HPI的一些实现中,可以定义超序列,每一超序列对应于各自的状态或进入到各自的状态/从各自的状态退出。超序列可以包括数据集和符号的重复序列。在一些实例中,序列可以重复,直到完成了状态或状态转换或传输了相应事件,以及其他示例。在一些实例中,超序列的重复序列可以根据已定义频率(例如已定义数量的单位间隔(UI))重复。单位间隔(UI)可以对应于在链路或系统的通道上发送单个比特的时间间隔。在一些实现中,重复序列可以从电气有序集(EOS)开始。因此,可以预期EOS的实例根据预定义频率重复。这样的有序集可以被实现为以十六进制格式表示的已定义的16字节码,以及其他示例。在一个示例中,超序列的EOS可以是电气有序电气空闲有序集(或EIEIOS)。在一个示例中,EIEOS可以类似于低频率时钟信号(例如,预定义数量的重复的FF00或FFF000十六进制符号等等)。一组预定义数据可以跟随EOS,例如预定义数量的训练序列或其他数据。这样的超序列可以用于包括链路状态转换以及初始化的状态转换,以及其他示例。
如上面所介绍的,在一种实施例中,初始化可以最初以慢速进行,然后是以快速进行的初始化。以慢速的初始化把默认值用于寄存器和定时器。然后,软件使用慢速链路来设置寄存器、定时器和电气参数,并清除校准信号量,以便安排快速初始化的方式。作为一个示例,初始化可以由诸如复位、检测、轮询和配置以及可能其他之类的状态或任务组成。
在一个示例中,链路层阻断控制序列(即阻断链路状态(BLS)或L0c状态)可以包括定时状态,在此期间推迟链路层微片,同时向远程代理传输PHY信息。在这里,发送器和接收器可以开始阻断控制序列定时器。并且,在定时器过期时,发送器和接收器可以退出阻断状态且可以采取其他动作,例如退出到复位、退出到不同的链路状态(或其他状态),包括允许跨越链路发送微片的状态。
在一种实施例中,可以提供链路训练,且链路训练包括发送一个或多个扰码训练序列、有序集和控制序列,例如与定义的超序列结合。训练序列符号可以包括首部、保留部分、目标延迟时间、一对数字、物理通道映射代码参考通道或一组通道和初始化状态中的一种或多种。在一种实施例中,可以与ACK或NAK一起发送首部,以及其他示例。作为示例,可以作为超序列的一部分发送训练序列部分,且可以扰码训练序列。
在一种实施例中,不扰码或交错有序集和控制序列,且在所有通道上同等地、同时地和完全地发送有序集和控制序列。有效接收有续集可以包括检查有续集中的至少一部分(或者,对于部分有序集来说,整个有续集)。有序集可以包括电气有序集(EOS),例如电气空闲有序集(EIOS)或EIEOS。超序列可以包括数据序列(SDS)或快速训练序列(FTS)的开始。可以预定义这样的集和控制超序列,且他们可以具有任何模式或十六进制表示,以及任何长度。例如,有序集和超序列的长度可以是8字节、16字节或32字节等等。作为示例,FTS可以另外用于在退出部分宽度发送链路状态期间的快速比特锁定。注意,FTS定义可以是逐个通道进行的,且可以利用经旋转版本的FTS。
超序列,在一种实施例中,可以包括在训练序列流中插入诸如EIEOS之类的EOS。在一种实现中,在信令开始时,以交错方式使通道上电。然而,这可以引起在一些通道上的接收器处看到初始超序列被截断。然而,可以在短间隔(例如,大约一千个单位间隔(或~1KUI))内重复超序列。另外,训练超序列可以用于去偏斜、配置和通信初始化目标、通道映射等等中的一种或多种。EIEOS可以用于把通道从不活动状态变换成活动状态、筛选良好通道、标识符号和TS边界中的一种或多种,以及其他示例。
转到图8,示出了示例超序列的表示。例如,可以定义示例性检测超序列805。检测超序列805可以包括单个EIEOS(或其他EOS)后面跟着具体训练序列(TS)的预定义数量的实例的重复序列。在一个示例中,可以发送EIEOS,紧跟着TS的七个重复实例。在发送了七个TS的最后一个时,可以再次发送EIEOS,后面跟着TS的七个附加实例,等等。可以根据特定预定义频率重复这种序列。在图8的示例中,EIEOS可以以大约每一千个UI(~1KUI)一次地在通道上重复出现,后面跟着是检测超序列805的剩余部分。接收器可以监视通道以便发现重复检测超序列805的出现,并且一旦确证,超序列705可以推断远程代理存在、在通道上已经添加(例如,热插入)、已经唤醒或是重新初始化等等。
在另一示例中,另一超序列810可以被定义为指示轮询、配置或回送条件或状态。如同示例检测超序列805一样,可以由接收器监视链路的通道,以便发现这样的轮询/配置/循环超序列810,以便标识轮询状态、配置状态或回送状态或条件。在一个示例中,轮询/配置/循环超序列810可以从EIEOS开始,后面跟着是TS的预定义数量的重复实例。例如,在一个示例中,EIEOS可以后面跟着是TS的三十一个(31)实例,且EIEOS大约每四千UI(例如,~4KUI)就重复。
进一步,在另一示例中,可以定义部分宽度发送状态(PWTS)退出超序列815。在一个示例中,PWTS退出超序列可以包括要重复的初始EIEOS,以便在发送超序列中的第一完全序列之前预处理通道。举例来说,在超序列815重复的序列可以从EIEOS开始(大约每1KUI重复一次)。进一步,快速训练序列(FTS)可以用来代替其他训练序列(TS),FTS被配置为辅助更快的比特锁定、字节锁定和去偏斜。在一些实现中,可以不解扰FTS,以便进一步辅助尽可能快速地和非破坏性地把空闲通道恢复为活动。与进入到链路发送状态之前的其他超序列一样,可以通过发送数据序列(SDS)的开始中断和结束超序列815。进一步,可以发送部分FTS(FTSp)以便辅助把新通道同步到活动通道,例如通过允许从FTSp减去(或向其添加)各比特,以及其他示例。
可以基本上贯穿链路的初始化或重新初始化潜在地发送诸如检测超序列705和轮询/配置/循环超序列710等等的超序列。一旦接收和检测具体超序列,在一些实例中,接收器就可以通过在通道上把相同的超序列回送给发送器来进行响应。发送器和接收器对具体的超序列的接收和确证可以充当用于确认通过超序列传输的状态或条件的握手。举例来说,这样的握手(例如,利用检测超序列705)可以被用来标识链路的重新初始化。在另一示例中,这样的握手可以被用来指示电气复位或低功率状态的结束,引起相应的通道被带回,以及其他示例。例如,可以从在均发送检测超序列705的发送器和接收器之间的握手标识电气复位的结束。
在另一示例中,可以监视通道以便发现超序列,且结合通道的筛选使用超序列用于检测、唤醒、状态退出和进入,以及其他事件。超序列的预定义的和可预测的性质和形式还可以被用来执行初始化任务,例如比特锁定、字节锁定、去抖动、解扰、去偏斜、修改、延迟修复、协商延时和其他潜在的用途。事实上,可以基本上连续监视通道以便发现这样的事件,以便加快系统反应并处理这样的条件的能力。
在一种实施例中,时钟可以被嵌入在数据中,因此不存在分离的时钟通道。可以扰码在通道上发送的微片以便促进时钟恢复。作为一个示例,接收器时钟恢复单元,可以向接收器递送采样时钟(即接收器从数据恢复时钟,且用它来采样传入的数据)。在一些实现中,接收机连续地适应传入比特流。通过嵌入时钟,可能减少引脚引出线。然而,在带内数据中嵌入时钟可以改变进行带内复位的方式。在一种实施例中,在初始化之后可以利用阻断链路状态(BLS)。而且,在初始化期间可以利用电气排序集超序列来促进复位,以及其他考虑。在链路上的设备之间,嵌入式时钟可以是共用的,且可以在链路的校准和配置期间设置共用操作时钟。举例来说,HPI链路可以使得漂移缓冲器以公共时钟为基准。这样的实现可以实现比非共用参考时钟中所使用的弹性缓冲器更低的延迟时间,以及其他可能的优点。进一步,参考时钟分配部分可以被匹配为在指定界限内。
如上所述,HPI链路能够以多种速度操作,这些速度包括用于默认加电、初始化等等的“慢速模式”。每一设备的操作(或“快速”)速度或模式可以由BIOS静态设置。可以基于链路的任一侧上的每一设备的各自的运行速度配置链路上的公共时钟。举例来说,链路速度可以基于两种设备运行速度中的较慢者,以及其他示例。任何运行速度改变都可能伴随着热复位或冷复位。
在一些示例中,在通电时,链路初始化为例如100MT/s的传输率的缓慢模式。然后,软件为链路的运行速度设立两端且开始初始化。在其他实例中,例如在慢速模式不存在或不可用时,可以利用边带机制来在链路上建立包括公共时钟的链路。
在一种实施例中,慢速模式初始化阶段可以把相同的编码、扰码、训练序列(TS)、状态等等用作运行速度,但带有可能较少的特征(例如,没有电气参数设置、没有修改等等)。慢速模式工作阶段也可以潜在地使用相同的编码、扰码等等(尽管其他实现可以不使用),但相比于运行速度可以具有更少的状态和特征(例如,没有低功率状态)。
进一步,可以使用设备的本机锁相环(PLL)时钟频率来实现慢速模式。举例来说,HPI可以支持模拟慢速模式而无需改变PLL时钟频率。尽管一些设计可以把分离的PLL用于慢速和快速,在HPI的一些实现中,通过允许PLL时钟在慢速模式期间以相同的快速运行速度运行,可以上实现模拟的慢速模式。举例来说,通过重复各比特多次以便仿真慢速高时钟信号且然后仿真慢速低时钟信号,发送器可以仿真更慢的时钟信号。然后,接收器可以过采样所接收的信号以便定位重复比特所仿真的边缘且标识该比特。在这样的实现中,共享PLL的各端口可以以慢速和快速共存。
在HPI的一些实现中,可以支持链路上的通道的修改。物理层可以支持接收器修改和发射器或发送器修改两者。利用接收器修改,通道上的发送器可以向接收器发送样本数据,接收器逻辑可以处理该样本数据以便标识通道的电气特性和信号的品质的缺点。然后,接收器可以对通道的校准做出修改以便基于所接收的样本数据的分析优化通道。在发送器修改的情况中,接收器可以再次接收样本数据并且开发描述通道的品质指标,但在这种情况中把指标传输给发送器(例如,使用反向通道,例如软件、硬件、嵌入式、边带或其他信道),以便允许发送器基于反馈对通道做出修改。
在一个示例实现中,可以扰码超序列。举例来说,通过把诸如TS有效负荷之类的超序列的各部分与随机或伪随机序列进行异或,可以扰码那些部分。超序列的其他部分(例如,EIEOS、TS首部、FTS等等)可以保留未经扰码。在一个示例中,可以与至少23个比特(PRBS23)一起利用伪随机二进制序列。可以根据具体已选择的多项式产生PRBS。在一个示例中,可以由相似的比特大小、诸如线性反馈移位寄存器(LFSR)之类的自播(self-seeded)存储元件来产生PRBS。LFSR可以是能够产生长度超过8Mb的PRBS序列的23位斐波纳契(Fibonacci)LFSR。PRBS可以下在序列的结束之后重复。在一些实现中,PRBS23序列整体可以用于扰码所使用的超序列中所包括的训练序列,例如在链路初始化时,包括在修改时。
尽管可以使用完全长度的PRBS序列,但在一些实现中,HPI可以支持允许使用变化长度的可用PRBS序列(例如,使用PRBS23序列的仅一部分)。在一些示例中,设备的控制器可以指定,利用完全长度的PRBS序列的仅一部分。例如,在其中期望比特序列的可重复性的测试应用中,以及潜在地其他应用中,这是期望的。基于软件的控制器可以指定要应用的变化长度的PRBS。举例来说,设备的BIOS可以指定在链路上要应用的PRBS长度。在一些实现中,使用完全长度的PRBS序列可以是默认设置,例如,以便使得超长PRBS序列的益处最大化。
发送链路状态(TLS)和训练序列中的通道通信量可以与具体最小长度(例如,23比特)的PRBS一起扰码。应用到流的开始种子可以在通道之间变化,以便增强链路上的PRBS的电气益处。在一个示例实现中,PRBS可以由实现6抽头产生多项式例如(x23+x21+x16+x8+x5+x2+l)的23比特斐波纳契LFSR产生。
在修改时,代理的发送器可以向远程接收器发送随机或伪随机模式。在一些实例中,扰码超序列可以被用作该模式。接收器处的逻辑可以确定链路的一个或多个通道的特性,并且产生描述这样的特性的指标数据。在接收器修改的情况下,接收器可以尝试基于该指标为通道确定最优配置,并在接收器处应用这些配置。在发送器修改的情况下,接收器可以把指标传输给发送器,以供由发送器代理用来基于该指标配置和修改通道。在任一种实例中,在一些实现中,硬件或软件可以用来按算法顺序评定不同的发送器设置,以便确定最优的设置。
使用从远程发送器发送的轮询超序列,可以在轮询状态的开始时发起接收器修改。类似地,可以通过对每一发送器参数重复以下来进行发送器修改。两种代理都可以作为主设备进入回送模式状态并发送所指定的模式。进一步,两种接收机都可以在远程代理处测量具体发送器设置的指标(例如BER)。两种代理都可以去往回送标记状态,然后,复位并使用反向通道(慢速模式TLS或边带)来交换指标。基于这些指标,可以标识下一发送器设置。最终,可以标识最优发送器设置并和保存起来以供以后使用。
在一些实现中,在修改期间可以使用定时器。假设时间值长到足以准许发送器和接收器结束修改任务并成功地修改通道,则在预定义定时器值结束时,可以结束修改。在其他实现中,可以利用备选方法来改善链路修改的效率。例如,在一个示例中,握手可以被用来把修改中所耗费的时间修改成实际上用来完成修改的时间。在一个示例中,负责从由发送器发送的样本产生指标的第一代理处的接收器可以发送信号,该信号告知发送器:无论修改是由接收器还是由发送器执行,接收器都批准了链路(或(多个)通道)的配置。一旦接收到该信号,发送器可以通过发送确认信号完成握手。在一些实例中,确认可以指示发送器代理处对链路配置的类似批准,以及其他示例。
结合链路的修改,通过各种机制,可以把指标信息和其他反馈从接收器代理传输到发送器代理。在发送器修改的情况中,发送器可以标识可以对通道的一个或多个属性做出的改变,以便改善通道的特性。发送器可以做出这些改变并在通道上发送反映这些改变的附加样本数据。然后,在一些实例中,接收器可以提供附加的指标数据或反馈,以便报告这些改变的品质。在一个示例中,接收器可以通过反向通道提供指标信息。在一个示例中,通过使得链路(或一个或多个通道)进入允许软件工具分析从发送器接收的样本的品质的慢速模式,这样的反向通道可以被实现为基于软件的反向通道。软件工具可以引起把指标信息或配置推荐传输给发送器代理。这可以通过带内通信、软件到软件的消息或其他装置来完成。在另一示例中,可以把边带信道(当在(多个)设备上可用时)用作反向通道。在又一示例中,可以把基于硬件的信道用作反向通道,例如通过在两个代理之间为传送样本保留一个通道且为传送反馈指标数据保留第二通道(至少在修改事件期间)。在又一个进一步的示例中,可以利用嵌入式信道,该嵌入式信道把控制或BLS窗口用于发送反馈指标数据。在一些示例中,在控制间隔以运行速度传输样本的同时,以及其他可能示例,控制窗口可以被设置为慢速模式(例如,以便允许软件分析)。
在一些实例中,修改可以包括由发送器以主-主回送状态把PRBS(或超序列的PRBS扰码部分)发送给接收器。通道上的两种代理都可以锁定到PRBS,并且把该序列用作改变的参考序列。一种或两种代理可以接收该参考序列,并判断代理的接收器处是否适当地复制该参考序列。然后,一种或两种代理可以基于所接收的序列与预期参考序列的比较分别评定通道的品质。举例来说,基于该比较,可以为通道确定比特错误率。另外,在发送器(或接收器)处的逻辑可以在回送期间在发送之前有意地向信号注入抖动、噪声或其他特性,以便测试通道的品质(例如,尽管存在噪声,在接收器处是否仍然可以理解该信号),以及其他特征。在用来修改链路的指标数据中可以包括这样的评定的结果,包括所确定的比特错误率。
可以通过在HPI的一些实现中提供的功能执行自测试(例如,互连内建自测试(IBIST))。超序列可以用于这样的自测试。举例来说,发送器或主设备可以发送包括超序列、PRBS序列或其他序列的全部或部分的模式。在一些实例中,可以控制这样的序列的长度和可重复性,允许在一些实例中应用完全长度的具体序列,同时在其他实例中仅应用序列的一部分(和重复部分)。在一些示例中,使用PRBS23扰码的PRBS23或序列可以用于链路的自测试。另外,在自测试和其他功能中可以特别选择和使用序列的开始点和结束点。进一步,通过HPI的一些实现,可以使得多个非相关数据序列可用,允许在邻近通道上应用不同的数据序列。在一个示例中,可以提供多个非相关版本的PRBS,例如四个或更多个序列,以及其他示例。
如上所述,回送可以用于各种任务,包括测试、修改、初始化等等。在一些实例中,回送中两个代理的同步是困难的。举例来说,接收器的代理可能正在始发数据,例如特定训练序列、超序列等等。进一步,一旦进入回送,接收器可以把它已经始发的数据与它要回送的数据例如它要回送的训练序列拼接起来。在一个示例中,回送中的发送器或主设备可以包括从对由接收器代理始发的TS的锁定转换到对所回送的TS的锁定的逻辑。这样的TS锁定可能存在混叠威胁和其他问题。在一个示例中,可以格式化TS,例如TS的有效载荷,以便辅助补救混叠风险,或者用新近回送的TS干扰先前的TS。举例来说,在一个示例中,TS可以配备有归零数据的后缀,该数据可以包括用于解扰的字节以及其他两用保留字节。这样的归零字节可以另外用来减少或消除(统计学上)在接收器所拼接的数据以及从接收器始发的数据当中错过新近回送的TS的风险,以及其他示例。在回送中,主设备可以检查其模式的完整性并在回送之后重新锁定,例如,通过使用NAK-ACK握手,NAK-ACK握手具有带有未经改变的有效载荷的NAK TS以及用于带内参数有效载荷的握手(ACK)。进一步,也可以支持主-主回送,且TS格式被用于在主-主回送的每一侧处的TS锁。
在HPI的一些实现中,可以提供用于测试特征的设计。在一种实施例中,HPI包括允许后期设计测试、调试和确证的挂钩。下面包括了这样的特征的示例性非穷尽列表。注意,作为示例提供下列特征,这是因为可以省略其中的一些,且可以添加其他,等等:
单个步骤:单个步骤包括其中软件可以使得代理从初始化状态步进到诸如TLS之类的链路状态的调试特征。存储元件、寄存器或信号(它们是软件可访问的)可以允许这种模式。在这种模式中,代理可以在进入状态时设置信号量并执行状态动作。但在满足退出条件(包括次级超时)时,该信号量可以引起不采取下一状态转换。在这里,实际的转换可以发生在基于软件的控制器的方向,例如通过清除信号量。这潜在地允许软件在进展到发送状态或回送期间检查物理层。注意,通过在子状态的入口设置子状态信号量,以及其他示例,这可以扩展到子状态。只要设置了诸如寄存器中的一个比特之类的信号量,代理就可以保持在当前的状态。可以延迟从每一状态转换出去,直到外部代理清除了保持位。除了在涉及超时的情况之外,可以另外维持状态规则定义的退出准则,等等。可以禁用(例如省略)次级定时器。在这里,可以认为保持位的清除是模拟单次步进操作的次级定时器超时的替代激励,以及其他示例。进一步,可以以支持转发进度的完整性的方式执行软件辅助下的单次步进。
初始化中止时冻结:这是一种调试特征,其中在初始化中止时代理不立即转换到复位状态,延迟或挂起转换以使得基于软件的工具可以标识中止的原因。举例来说,基于软件的工具可以用来探明中止的原因,同时支持回归和重新初始化的完整性。诸如控制寄存器之类的保存一个或多个比特寄存器的一个或多个字段可以控制这种动作。通过给予软件用于声明由于故障引起的退出的控制权(单个步骤在正常进行的情况下这样做),这种特征补充了单个步骤。在一种实施例中,默认地,通过立即在任何初始化中止之后转换到复位状态,物理层状态机可以重试。然而,通过在寄存器中设置初始化中止冻结位,在故障点可以冻结状态机(即是说,保持在相同的状态),不转换到复位状态。作为示例,在初始化中止模式时冻结的情况下,在初始化中止发生时,通过在寄存器中设置诸如以上所描述的信号量之类的状态机保持位,冻结状态机。在一种实施例中,软件可以访问寄存器以便读取已停止的状态和其他已冻结的资源,且使用已冻结的状态来调试状态机。清除这种已冻结的状态中的保持位可以引起状态机退出到复位。在一种实施例中,带内复位不释放该保持。
自动化测试装备(ATE):自动化测试装备(ATE)可以用来表征(例如,界定)包括TLS的各种状态中的链路。在这种情况中,ATE可以充当代理,且使用一组预先确定的发送模式来使得被测设备(DUT)进入TLS。在ATE模式中,可以设置在寄存器中保持一个或多个比特的ATE模式字段。DUT执行相同的状态动作,但在满足退出条件时,不采取下一状态转换,且在次级超时发生时发生实际转换。因而,除了在预先编程的超时而不是软件干预的时候发生转换之外,这种模式类似于单个步骤。举例来说,ATE模式可以管理基于可编程定时器的穿过各状态的进度。在该模式期间设置的较长的定时器可以允许完成各状态中的握手,同时仍然在通过软件管理指定的或以另外方式用于ATE模式的时间退出。
在一些实例中,通过把DUT端口的发送器连接到其自己的接收器且获取到TLS的这一链路对,其中发送并检查每一初始化模式(除了回送或兼容性从设备之外)的签名模式,以便使得DUT通过或失败,可以执行大批量制造(HVM)测试。无需专用模式就可以完成这一点,但可以按正确的周期执行延迟修复以便检查签名。
IBIST(互连内建自测试):IBIST使用兼容性和回送状态来测试与内建模式产生器和检查器的互连。
顺从性:出于确证目的,可以使得代理成为顺从性主设备或从设备。代理从发送器校准状态(TCS)进入顺从性。在将来自主设备的传入数据重新计时到其本地时钟之后,从设备回送来自主设备的传入数据(没有撤销任何极性反转或通道逆转)。主设备发送顺从性模式并接收从从设备回送的顺从性模式。主设备可以进入到回送模式以便检验更多专用模式。也可以无需从设备就使用主设备,以使得可以表征其发送器。顺从性的典型用途是在回送不起作用时表征通道的一些子集上的模拟前端的操作。顺从性状态可以用于抖动或噪声研究、调试、探测链路等等。顺从性状态可以借助于来自主设备的发送器驱动超序列。接收器在监视通道上查找唤醒、去抖动该唤醒、丢弃坏的通道、修改和比特锁定等等。从设备发送器可以驱动顺从性模式直到完成了其接收器动作。然后,再次定时回送且不对其去偏斜。从设备接收器进行类似的监视和去抖动等等动作。退出可以是去往复位状态,例如定时复位,或去往回送模式状态以便开始测试,以及其他示例。
回送:可以使得代理成为用于详尽确证通道的子集的回送主设备。在成功轮询之后,主设备随通道的子集进入回送,且其他代理也进入回送,但是作为从设备。回送主设备可以使用轮询训练序列(TS)中的回送主设备比特来传输其进入回送的意向。不是回送主设备且在TS轮询中接收到这一比特的代理可以变成回送从设备。在轮询结束时,两个已连接端口都进入回送标记状态(LMS)。从那里,主设备使得从设备进入到回送模式状态,其中,它发送各模式和在它们从设备被回送之后检查它们。回送从设备回送经去偏斜的数据(不同于顺从性从设备)。状态机可以保持在回送,无限期地在一个测试之后执行其他测试。这允许串联测试而不会丢失比特锁。Tx修改也可以使用回送模式产生和检查能力。在TX修改期间,两个代理都充当主设备,但在一个场景中,TX发送模式且Rx检查比特错误。
模式产生:可以在兼容性和回送状态中激活模式产生器。在一种实施例中,模式产生器,例如图10的简化框图中所阐释的示例模式产生器,可以包括一个或多个模式缓冲器,每一个都具有指定大小(例如128比特)和通过诸如寄存器之类的结构访问的多个23比特(或其他长度)LFSR种子缓冲器。通过模式缓冲器选择间接定址模式产生器的各字。
在一种示例实现中,在每一个经允许的通道中串行地发送模式缓冲器的内容,首先从最低有效比特开始。每一通道可以选择利用寄存器机制的任何缓冲器。选择相同的模式缓冲器的所有通道在一个UI中发送相同的数据。也可以由23位伪随机发生器独立地扰码每一模式缓冲器,使用诸如模式控制寄存器之类的寄存器中的比特来启用23位伪随机发生器。例如,使用模式反转选择寄存器,任何通道中的传送都可以个别地反转。可以允许自动反转特征,以便使用模式产生器控制寄存器的自动反转允许位来产生串扰模式,以及其他示例。对于使用回送的发送器修改,可以选择交错PRBS23模式。这种模式也可以用来以低功率状态扰码微片。所发送的模式的数量可以多于模式产生器控制寄存器中的循环计数,这是由于循环计数是指所接收的128位模式的总数。主设备可以发送128UI模式的整数倍。可以连续地发送模式产生器内容,直到三个退出条件中的至少一个发生:(i)如果循环计数状态等于指数的循环计数;(ii)在寄存器中设置了“错误时停止(Stop On Error)”且在任何通道上已经发生错误;或(iii)在寄存器中设置了“停止测试(Stop Test)”。默认情况下,没有被检测为如发送器数据通道丢弃状态寄存器(Transmitter Data Lane Dropped StatusRegister)中已丢弃的通道所指示的发送器通道,以及如接收器数据通道丢弃状态寄存器(Receiver Data Lane Dropped Status Register)中的已丢弃接收器通道所指示的已丢弃接收器通道,它们不发送或比较任何模式。如果模式产生器控制寄存器中设置了“包括被丢弃的通道(Include Dropped Lanes)”比特,则被丢弃的通道也驱动且以回送模式状态检查模式。被禁用的通道可以不参与测试。进一步,可以经由从设备回送路径选择寄存器控制从设备发送器通道内容,以便从Rx通道回送内容或者选择模式产生器。在一些实例中,在所回送的数据和从设备产生的模式之间可以不存在对齐要求,以及其他特征、结构和示例。
模式检查和错误计数:回送模式中可以允许模式检查可以。每一接收器通道可以把所接收的数据与相应发送器通道中所发送的数据进行比较。可以通过在回送主和从设备两者中编程同一确切模式产生值实现从设备侧检查。检查和模式缓冲器扰码的开始可以由SDS的结束标记。每一通道可以选择比较或不依赖于寄存器值。可以由循环计数控制所检查的模式的数量。每一计数指示128比特的模式缓冲器数据。循环计数器可以具有5比特的指数计数以便允许长时间的测试。循环计数值零对应于无限计数,在这种情况下,在一些实现中,可以仅通过设置停止测试位终止测试。为了容纳在进入到回送模式时同步的电气参数应用,可以对检查进行屏蔽,持续模式检查器控制寄存器(Pattern Checker ControlRegister)中的时间值所指定的时间。使用模式检查器控制寄存器中的选择性错误检查开始和选择性错误检查间隔,对于间隔中的任何一个比特,可以使得检查是可选择的。
在回送中的发送器修改期间,两种代理都可以充当主设备,但发送器发送该模式且接收器检查比特错误。另一差异是,在进入回送之前可以设置开始测试,且可以使用一种结构可以来延时回送标记中的测试的实际开始(发送SDS)。在回送模式中,在循环计数终止时,结束发送器修改测试,代理可以返回到回送标记,等待超时,且然后退出到复位以便进行反向通道操作。在尝试了一系列发送器参数时,代理可以回到回送模式而不是复位,直到已经尝试了最后的参数,以及其他示例。
可以由每个通道和全局计数器共同执行错误计数。可以通过通道错误计数器寄存器访问错误计数器。所观察的且为全局计数器而选择的通道可以由模式检查器控制寄存器中的接收器错误计数器通道选择字段指示。错误计数器的最低有效8比特可用于每一通道。在状态机进入回送模式的时候,通道错误计数器寄存器的最高有效23比特仅可用于由接收器错误计数器通道选择指示的已选择通道。通道错误计数器寄存器并不坚持最大值,而是改为翻转为全部为0,通过逐个通道地设置溢出标志(例如,通道错误计数器寄存器中的比特31)来指示这一点。冻结最大错误计数的未选择通道中的逐个通道计数器可以标记溢出。初始屏蔽、选择性错误检查和循环计数停机也可以应用到错误计数器。通过把所有1写入到比特31:0,以及其他示例,软件可以手动地清除通道错误计数器寄存器。
通道逆转:如果轮询时在接收器处检测到通道逆转或极性反转,则可以在撤销通道的逆转和极性反转之后进行模式检查(并且如果是从设备则回送)。
代理回送标记状态:回送标记是代理状态,但不同于其他代理状态,主设备和从设备动作和退出可以不同。回送从设备可以撤销任何极性反转和/或通道逆转,但可以不解扰或再次解扰所回送的比特。由于从设备正在回送,确认交换可以不应用到从设备。由于从设备可以在对符号边界回送之前去偏斜,可以不强制要求主设备再次字节锁定或再次去偏斜,但主设备可以再次锁定训练序列以便避免锁定到一些别名。这样做的手段可以包括LFSR的重新播种、比较TS和/或EIEOS或这些的某种组合。SDS的结束标记回送设置的结束和模式产生、检查和计数的开始。
代理回送模式状态(或阻断链路状态):在这种状态中,代替控制模式,主发送器可以发送IBIST模式,且其接收器可以检查所接收的模式中的错误。对于发送器修改,两种代理都可以是主设备。对于预先确定的周期,发送器可以发送模式,且远程接收器可以比较这种模式,并且为在诸如寄存器之类的存储元件中记录的所接收的模式确定品质因数或指标。比较方法和指标可以依赖于设计(例如,带有抖动注入的BER)。在该周期的结束,两种代理都可以退出到复位,供反向通道检查该指标并建立发送器修改的下一迭代。
通道允许/禁用:在发送器、接收器或两者处可以禁用通道以便引起链路以较低宽度操作。如果正确通道被翻转了,禁用正确通道可能是基于软件的控制器或工具的责任。
如上所述,定时器和控制(例如,控制信号、握手等等)两者可以被用来促进过在HPI环境内的代理上所定义的状态机内的转换。举例来说,定时器可以用于一些状态转换,而信令可以用于其他状态转换。进一步,可以提供用于促进状态转换的机制。举例来说,如上面所介绍的,在一些实现中,可以提供ATE模式或其他测试模式,这些模式可以覆盖一些状态转换机制,例如,以便辅助管理和观察系统的测试。例如,在一个示例测试模式中,可以由测试或测试管理员根据各自的定时器设置所有状态转换。也可以提供辅助配置状态的逻辑,该逻辑在控制信号出现时将转换,以便基于已定义定时器转换,以及其他示例。这样的其他示例可以包括,例如,软件-控制器状态转换,例如单步步进(例如,通过冻结初始化中止),以及其他示例。
如上面所介绍的,BLS或L0c窗口可以用来传输在测试、初始化和错误检查应用内包括的各种控制码信号和其他数据。可以定义一组预定义BLS码,可以在通过BLS提供的UI的简短窗口内传输该组预定义BLS码。然而,瞬变、传输线不规则性和其他因素可以导致比特错误,比特错误可以潜在地引起控制码被损坏或误解。可以在链路上的代理上提供执行某种程度的错误检测和修正的逻辑,以便在解释和处理控制码时考虑更多小错误。如果该逻辑是仍然不能明白决定性地解决控制代码错误,则可以引起失配。在HPI的一些实现中,可以提供响应于失配的潜在的灾难性副作用的特征。举例来说,在一种实施例中,一旦检测到失配,就可以挂起链路,包括发送可能受损坏的微片、修改和其他通信。然后,在下一BLS(或L0c)间隔结束时,链路可以自动地转换到复位模式,以及其他示例。
由于链路上的两种设备都可以流出相同的参考时钟(例如,ref elk),可以省略弹性缓冲器(任何弹性缓冲器都可以被旁路或被用作具有最低可能延迟时间的漂移缓冲器)。然而,阶段修改或漂移缓冲器可以在每一通道上用来把各自的接收器比特流从远程时钟域传递到本地时钟域。漂移缓冲器的延迟时间足以处理从电气规范(例如,电压、温度、参考时钟路由适配引入的残差SSC等等)中的所有源的漂移的总和,但尽可能小以便减少传输延时。如果漂移缓冲器是太浅,可能导致漂移错误且表现为一系列CRC错误。因此,在一些实现中,可以提供漂移警报,漂移警报可以在实际漂移错误发生之前发起物理层复位,以及其他示例。
HPI的一些实现可以支持两侧以相同的标称参考时钟频率运行但具有ppm差异。在这种情况中,可能需要频率修改(或弹性)缓冲器,且在扩展BLS窗口期间或在将周期性地发生的专用序列期间,可以重新修改这些频率修改(或弹性)缓冲器,以及其他示例。
假定延迟时间不引起延迟时间修复错误或在链路层处超时,以及其他考虑,则HPIPHY逻辑层的操作可以独立于底层传输介质。
在HPI中可以提供外部接口以便辅助管理物理层。举例来说,可以提供外部信号(来自引脚、熔断器、其他层)、定时器、控制和状态寄存器。输入信号可以在任何时刻相对于PHY状态而改变,但由物理层在各种状态中的特定点观察。例如,可以接收到变化的对准信号(如下面所介绍的),但其在链路已经进入发送链路状态之后不再有效,以及其他示例。类似地,物理层实体仅在特定时间点观察命令寄存器值。举例来说,物理层逻辑可以抓拍值的快照并将其用于随后的操作。因此,在一些实现中,对命令寄存器的更新可以与特定周期的有限子集相关联(例如,在发送链路状态中或当在慢速模式发送链路状态中保持复位校准时),以便避免异常行为。
由于各状态值跟踪硬件改变,各值读数可以取决于何时读取它们。然而,一些状态值,例如链路映射、延迟时间、速度等等,在初始化之后可以不改变。举例来说,重新初始化(或低功率链路状态(LPLS)、或LI状态、退出)是可以引起这些改变的唯一事情(例如,TLS中的硬通道故障可以不引起链路的重配置,直到触发了重新初始化,以及其他示例)。
接口信号可以包括在外部但影响物理层行为的信号。作为示例,这样的接口信号可以包括编码和计时信号。接口信号可以对设计来说特异的。这些信号可以是输入或输出。一些接口信号,例如所说的信号量和前缀EO以及其他示例,在每次断言边上可以活动一次,即,它们可以被解除断言,且然后再次断言以便再次生效,以及其他示例。举例来说,表1包括示例功能的示例列表:
表1
Figure GDA0002431074430000291
Figure GDA0002431074430000301
可以成对提供CSR定时器默认值——一个用于慢速模式且一个用于运行速度。在一些实例中,值0禁用定时器(即,超时从不发生)。定时器可以包括下表2中所示出的那些。主定时器可以被用来对处于一种状态中的时间预期动作进行计时。次级定时器用于中止在自动化测试装备(或ATE)模式中状态转换没有在精确的时刻取得进展或进步的初始化。在一些情况中,次级定时器可以比一种状态下的主定时器大得多。指数定时器集可以是带有exp的后缀,且定时器值向该字段值升高2。对于线性定时器,定时器值是该字段值。任一定时器可以使用不同的粒度。另外,功率管理部分中的一些定时器可以处于被称为时序曲线的集合中。这些可以与相同名称的时序图相关联。
表2
Figure GDA0002431074430000302
Figure GDA0002431074430000311
可以提供命令和控制寄存器。控制寄存器可以后期动作,且在一些实例中可以由软件读取或写入。后期动作值可以在复位时连续生效(例如,从面向软件的阶段到面向硬件的阶段)。控制信号量(prefixed CP)是RW1S且可以由硬件清除。控制寄存器可以用来执行在此描述的各项中的任何。它们可以是可由硬件、软件、固件或其组合修改和访问。
可以提供状态寄存器以便跟踪硬件改变(由硬件写入和使用)且可以是只读的(但是调试软件也可以写入它们)。这样的寄存器可以不影响互操作性且通常可以是与多种私有状态寄存器互补。可以托管状态信号量(具有前缀SP),这是由于它们可以被软件清除以便重做设置状态的动作。默认意味着可以作为与初始化相关的这些状态比特的子集提供初始(在复位时)值。在初始化中止时,该寄存器可以被复制到存储结构中。
可以提供工具箱寄存器。举例来说,物理层中的可测试性工具箱寄存器可以提供模式产生、模式检查和回送控制机制。高级应用可以利用这些寄存器以及电气参数来确定容限。例如,互连内建测试可以利用这种工具箱来判断容限。对于发送器修改,可以与先前各节中所描述的特定寄存器联合使用这些寄存器,以及其他示例。
在一些实现中,HPI利用物理层来支持可靠性、可用性和可维护性(RAS)能力。在一种实施例中,HPI借助于一个或多个层支持热拔插和移除,这些层可以包括软件。热移除可以包括禁止链路,且可以为要移除的代理清除初始化开始状态/信号。可以把远程代理(即没有移除的代理(例如,宿主代理))设置为慢速且也可以清除其初始化信号。带内复位(例如,通过BLS)可以引起两种代理都在诸如校准复位状态(CRS)之类的复位状态中等待;以及可以移除要移除的代理(或可以保持在有目标引脚复位,断电),以及其他示例和特征。实际上,可以省略以上各事件中的一些,且可以添加附加的事件。
热添加可以包括在要增加的代理上初始化速度可以默认为慢速且可以设置初始化信号。软件可以把速度设置为慢速,且可以在远程代理上清除初始化信号。链路可以以慢速模式出现,且软件可以确定运行速度。在一些情况中,在此时不执行远程的PLL重新锁定。可以在两种代理上设置运行速度,且可以设置对修改的允许(如果先前没有进行)。可以在两种代理上清除初始化开始指示器,且带内BLS复位可以引起两种代理在CRS中等待。软件可以断言(要添加的)的代理的热复位(例如,目标或自复位),这可能引起PLL重新锁定。软件也可以通过任何已知的逻辑设置初始化开始信号,并且在远程上设置(因而使得它进入到接收器检测状态(RDS))。软件可以去断言添加代理热复位(因而使得它进入到RDS)。然后,链路可以以运行速度初始化到发送链路状态(TLS)(或者如果设置了修改信号则回送),以及其他示例。实际上,可以省略以上各事件中的一些,且可以添加附加的事件。
可以支持数据通道故障恢复。在一种实施例中,通过把自身配置为少于完全宽度(例如少于完全宽度的一半),HPI中的链路对于单个通道上的硬错误是有弹性的,这可以由此排除有故障的通道。作为示例,可以由链路状态机做出该配置,且在该配置状态中可以关闭未使用通道。结果,可以跨越更狭窄的宽度发送微片,以及其他示例。
在HPI的一些实现中,在一些链路上可以支持通道逆转。例如,通道逆转可以是指发送器的通道0/1/2被连接到接收器的通道n/n-l/n-2...(例如n可以等于19或7等等)。在接收器中可以检测通道逆转,如TS首部的字段中所标识的。通过把物理通道n...0用于逻辑通道0...n,通过以轮询状态开始,接收器可以处理通道逆转。因此,提及通道可以是指逻辑通道号。因此,电路板设计者可以更高效地规定物理或电气设计,且HPI可以对虚拟通道分配起作用,如在此描述的。此外,在一种实施例中,可以反转极性(即,在差分发送器+/-被连接到接收器-/+时)。在一种实施例中,在轮询状态中,在接收器处也可以从一个或多个TS首部字段检测并处理极性。
参见图11,叙述了包括多核处理器的计算系统的框图的实施例。处理器1100包括任何处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、片上系统(SOC)或执行代码的其他设备。在一种实施例中,处理器1100包括至少两个核——核1101和1102,它们可以包括不对称核或对称核(所阐释的实施例)。然而,处理器1100可以包括任何数量的处理元件,它们可以是对称的或不对称的。
在一种实施例中,处理元件是指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程时隙、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或任何其他元素,它们能够为处理器保持状态,例如执行状态或架构状态。换句话说,在一种实施例中,处理元件是指能够独立地与诸如软件线程、操作系统、应用或其他代码之类的代码相关联的任何硬件。物理处理器(或处理器插槽)通常是指集成电路,其潜在地包括任何数量的其他处理元件,例如核或硬件线程。
核是指位于能够维护独立的架构状态的集成电路上的逻辑,其中,每一独立维护的架构状态与至少一些专用执行资源相关联。相比于核,硬件线程通常是指位于能够维持独立的架构状态的集成电路上的任何逻辑,其中,独立维护的架构状态共享对执行资源的访问。可以看出,当某些资源共享且其他专用于架构状态时,在硬件线程和核的命名之间的界限重叠了。然而,核和硬件线程往往被操作系统看作是是单独的逻辑处理器,其中操作系统可以单独地在每一逻辑处理器上调度操作。
正如图11中所阐释的,物理处理器1100包括两个核——核1101和1102。在这里,核1101和1102被认为是对称核,即带有相同的配置、功能单元和/或逻辑的核。在另一实施例中,核1101包括无序处理器核,而核1102包括有序处理器核。然而,核1101和1102可以单独选自任何类型的核,例如本机核、软件托管的核、适于执行本机指令集架构(ISA)的核、适于执行转换指令集架构(ISA)的核、共同设计的核或其他已知的核。在异构核环境(即非对称核)中,可以利用某种形式的转换例如二进制转换来在一个或两个核上调度或执行代码。进一步讨论,下面进一步详细描述在核1101中所阐释的功能单元,在所叙述的实施例中核1102中的单元以相似方式操作这些功能单元。
如所叙述的,核1101包括两个硬件线程1101a和1101b,它们也可以被称为硬件线程时隙1101a和1101b。因此,在一种实施例中,诸如操作系统之类软件实体可以把处理器1100看作是四个分离的处理器,即,能够并发地执行四个软件线程的四个逻辑处理器或处理元件。如上面间接提到的,第一线程与架构状态寄存器1101a相关联,第二线程与架构状态寄存器1101b相关联,第三线程可以与架构状态寄存器1102a相关联,且第四线程可以与架构状态寄存器1102b相关联。在这里,架构状态寄存器(110la、1101b、1102a和1102b)中的每一个可以被称为处理元件、线程时隙或线程单元,如上所述。正如所阐释的,在架构状态寄存器1101b中复制架构状态寄存器1101a,因此能够为逻辑处理器1101a和逻辑处理器1101b存储各种架构状态/上下文。在核1101中,也可以为线程1101a和1101b复制其他较小的资源,例如分配器和重命名器模块1130中的指令指针和重命名逻辑。可以通过划分共享一些资源,例如重排序/引退单元1135中的重排序缓冲器、ILTB 1120、加载/存储缓冲器和队列。潜在地完全共享其他资源,例如通用内部寄存器、(多个)页面表基础寄存器、低级数据缓存和数据TLB 1115、(多个)执行单元1140和无序单元1135的各部分。
处理器1100常常包括其他资源,这些资源可以完全共享、通过分区共享,或专用于各处理元件。在图11中,阐释了带有处理器的说明性逻辑单元/资源的纯粹示例性的处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何,并且包括未叙述的任何其他已知的功能单元、逻辑或固件。正如所阐释的,核1101包括简化的代表性无序(OOO)处理器核。但是,有序处理器可以用于不同的实施例。OOO核包括要执行/取出的预测分支的分支目标缓冲器1120和为指令存储地址转换条目的指令转换缓冲器(I-TLB)1120。
核1101还包括解码模块1125,解码模块1125耦合到获取单元1120以便解码所获取的元素。在一种实施例中,获取逻辑包括分别与线程时隙1101a、1101b相关联的各个定序器。通常,核1101与第一ISA相关联,第一ISA定义/指定可在处理器1100上执行的指令。属于第一ISA的一部分的机器代码指令往往包括指令的一部分(称为操作码),其引用/指定要执行的指令或操作。解码逻辑1125包括从它们的操作码识别这些指令并在管线中传输经解码的指令的电路,以供如第一ISA所定义的处理。例如,如下面更详细地讨论,在一种实施例中,解码器1125包括被设计为或适于识别诸如事务指令之类的特定指令的逻辑。作为解码器1125识别的结果,架构或核1101采取特定的预定义动作来执行与适当的指令相关联的任务。重要的是要注意,可以响应于单个或多个指令执行在此描述的任务、模块、操作和方法中的任何;各指令中的一些可以新的或旧的指令。注意,在一种实施例中,解码器1126识别相同的ISA(或其子集)。备选地,在异构核环境中,解码器1126识别第二ISA(第一ISA的子集或不同的ISA)。
在一个示例中,分配器和重命名器模块1130包括预留资源的分配器,例如寄存器文件,以便存储指令处理结果。然而,线程1101a和1101b潜在地能够无序执行,其中分配器和重命名器模块1130也预留其他资源,例如重排序缓冲器,以便跟踪指令结果。单元1130也可以包括寄存器重命名器,以便把程序/指令参考寄存器重命名为处理器1100内部的其他寄存器。重排序/引退单元1135包括各种组件,例如上面提到的重排序缓冲器、加载缓冲器和存储缓冲器,以便支持无序执行和无序执行的指令的稍后顺序退役。
在一种实施例中,调度器和执行单元块1140包括调度器单元,其调度执行单元上的指令/操作。例如,在具有可用浮点执行单元的执行单元的端口上调度浮点指令。也包括与执行单元相关联的寄存器组,以便存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知的执行单元。
低级数据缓存和数据转换缓冲器(D-TLB)1150耦合到执行单元1140。数据缓存存储可能保持在存储器一致性状态的近来使用/操作的元素,例如数据操作数。D-TLB存储近来的虚拟/线性地址到物理地址的翻译。作为特定的示例,处理器可以包括把物理内存分成多个虚拟页面的页面表结构。
在这里,核1101和1102共享对诸如与片上接口1110相关联的二级缓存之类的高级或更外部的缓存的访问。注意,高级或更外部是指缓存级别增加或离执行单元更远。在一种实施例中,高级缓存是末级数据缓存——处理器1100上的存储器分层中的最后的缓存——例如二级或三级数据缓存。然而,高级缓存不限于此,这是由于它可以与指令缓存相关联或包括指令缓存。可以改为在解码器1125之后耦合追踪缓存——指令缓存的一种类型,以便存储近来解码的踪迹。在这里,指令可能是指宏指令(即解码器所识别的一般指令),其可以解码成多个微指令(微操作)。
在所叙述的配置中,处理器1100也包括片上接口模块1110。历史上,下面更详细地描述的存储器控制器被包括在处理器1100外的计算系统中。在这种场景中,片上接口1110与外置于处理器1100的设备通信,例如系统存储器1175、芯片组(常常包括连接到存储器1175的存储器控制器中枢和连接外围设备的I/O控制器中枢)、存储器控制器中枢、北桥或其他集成电路。并且,在这种场景中,总线1105可以包括任何已知的互连,例如多点式总线、点对点互连、串行互连、并行总线、一致性(例如,缓存一致性)总线、分层协议架构、差分总线和GTL总线。
存储器1175可以专用于处理器1100或与系统各种的其他设备共享。存储器1175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其他已知的存储设备。注意,设备1180可以包括耦合到存储器控制器中枢的图形加速器、处理器或卡、耦合到I/O控制器中枢的数据存储、无线收发器、闪存设备、音频控制器、网络控制器或其他已知设备。
然而,近来,随着更多逻辑和设备被集成在单个管芯上,例如SOC,这些设备中的每一个都可以被合并在处理器1100上。例如在一种实施例中,存储器控制器中枢是在与处理器1100相同的封装和/或管芯上。在这里,核的一部分(在核上的部分)1110包括用于与诸如存储器1175或图形设备1180之类的其他设备连接的一个或多个控制器。包括用于与这样的设备连接的互连和控制器的这种配置往往被称为核上(或非核)配置。作为示例,片上接口1110包括用于片上通信的环形互连和用于片外通信的高速串行点对点链路1105。然而,在SOC环境中,诸如网络接口、协处理器、存储器1175、图形处理器1180和任何其他已知的计算机设备/接口之类的甚至更多的设备可以被集成在单个管芯或集成电路上,以便以高功能和低功耗提供小形状因子。
在一种实施例中,处理器1100能够执行编译器、优化和/或转换器代码1177以便编译、转换和/或优化应用代码1176,以支持在此描述或与其连接的装置和方法。编译器常常包括把源文本/代码转换成目标文本/代码的程序或一组程序。通常,在多个阶段和轮次(pass)完成借助于编译器的程序/应用代码的编译,以便把高级编程语言代码变换成低级机器或汇编语言代码。然而,单轮次编译器(single pass compiler)仍然可以用于简单编译。编译器可以利用任何已知的编译技术并执行任何已知的编译器操作,例如词法分析、预处理、解析、语义分析、代码产生、代码变换和代码优化。
较大的编译器常常包括多个阶段,但最常见的是这些阶段被包括在两个一般阶段内:(1)前端,即其中通常发生语法处理、语义处理和某种变换/优化的场合,以及(2)后端,即其中通常发生分析、变换、优化和代码产生的场合。一些编译器被称为中间,其阐释在编译器的前端和后端之间的模糊划定。结果,提及编译器的插入、关联、产生或其他操作可以在任何前述阶段或轮次以及编译器的任何其他已知阶段或轮次中发生。作为说明性的示例,编译器可能在一个或多个编译阶段中插入操作、调用、函数等,例如在编译的前端阶段中插入调用/操作且然后在变换阶段期间把调用/操作变换成低级代码。注意,在动态编译期间,编译器代码或动态优化代码可以插入这样的操作/调用,并且优化代码以供在运行时期间执行。作为特定的说明性示例,可以动态在运行时期间优化二进制代码(已经编译的代码)。在这里,程序代码可以包括动态优化代码、二进制代码或其组合。
类似于编译器,诸如二进制翻译器之类的翻译器静态地或动态地翻译代码以便优化和/或转换代码。因此,对代码、应用代码、程序代码或其他软件环境的执行的引用可以是指:(1)动态地或静态地执行编译器程序、优化代码优化器或翻译器,以便编译程序代码、维护软件结构、执行其他操作、优化代码或翻译代码;(2)执行包括操作/调用的主程序代码,例如已经优化/编译的应用程序代码;(3)执行其他程序代码,例如与主程序代码相关联的库,以便维护软件结构,以执行其他软件相关的操作,或优化代码:或(4)其组合。
现在参见图12,所示出的是多核处理器的一种实施例的框图。如图12中的实施例所示出的,处理器1200包括多个域。具体地,核域1230包括多个核1230A-1230N,图形域1260包括具有媒体引擎1265的一个或多个图形引擎以及系统代理域1210。
在各种实施例中,系统代理域1210处理功率控制事件和功率管理,以使得域1230和1260(例如核和/或图形引擎)的各个单元独立可控,以便根据给定单元中发生的活动(或不活跃性)以适当功率模式/水平(例如活动、加速、睡眠、休眠、深度睡眠或其他类似高级配置功率接口的状态)动态工作。域1230和1260中的每一个可以以不同的电压和/或功率工作,并且,此外,在各域内的各个单元均潜在地以独立的频率和电压工作。注意,尽管仅示出为具有三个域,但应理解,本发明的范围不限于此,且在其他实施例中可以存在附加的域。
正如所示出的,除了各种执行单元和附加的处理元件之外,每一核1230还包括低级缓存。在这里,各种核相互耦合,且耦合到由末级缓存(LLC)1240A-1240N的中多个单元或部分形成的共享缓存存储器;这些LLC常常包括存储和缓存控制器功能,且在各核当中共享,并且可能也在个图形引擎当中共享。
正如所看见的,环形互连1250把各核耦合在一起,并且经由多个环站1252A-1252N提供在核域1230、图形域1260和系统代理电路1210之间的互连,环站1252A-1252N均耦合在核和LLC片之间。如图12可见,互连1250被用来携带各种信息,包括地址信息、数据信息、确认信息和监听/无效信息。尽管阐释了环形互连,但可以利用任何已知的管芯上的互连或组织结构。作为说明性示例,可以以类似的方式利用以上所描述的组织结构中的一些(例如另一芯上互连、片上系统组织结构(OSF)、高级微控制器总线架构(AMBA)互连、多维网格组织结构或其他已知的互连架构)。
正如所叙述的,系统代理域1210包括显示引擎1212,显示引擎1212提供对关联显示器的控制和接口。系统代理域1210可以包括其他单元,例如:集成存储器控制器1220,其提供到系统存储器的接口(例如,被实现为带有多个DIMM的DRAM);一致性逻辑1222,其执行存储器一致性操作。可以存在多个接口,以便允许在处理器和其他电路之间的互连。例如,在一种实施例中,提供了至少一个直接媒体接口(DMI)1216以及一个或多个PCIeTM接口1214。显示引擎和这些接口通常经由PCIeTM桥1218耦合到存储器。更进一步,为了在诸如另外的处理器或其他电路之类的其他代理之间提供通信,可以提供一个或多个其他接口。
现在参见图13,所示出的是代表性的核的框图;具体来说是,核(例如来自图12的核1230)的后端的逻辑模块。一般地,图13中所示出的结构包括具有前端单元1370的无序处理器,前端单元1370被用来获取传入指令、执行各种处理(例如缓存、解码、分支预测等等)并且把指令/操作传送给无序(OOO)引擎1380。OOO引擎1380对解码指令执行进一步的处理。
具体地,在图13的实施例中,无序引擎1380包括分配单元1382,分配单元1382从前端单元1370接收以一个或多个微指令或微操作码的形式的经解码指令的,并把它们分配给诸如寄存器等等的适当资源。接下来,把各指令提供给保留站1384,保留站保留资源并调度它们,以供在多个执行单元1386A-1386N中的一个上执行。可以存在各种类型的执行单元,例如包括运算逻辑单元(ALU)、加载和存储单元、向量处理单元(VPU)、浮点执行单元以及其他。把来自这些不同的执行单元的结果提供给重新排序缓冲器(ROB)1388,重新排序缓冲器(ROB)1388接受未经排序的结果并将它们恢复到正确的程序次序。
仍然参见图13,注意,前端单元1370和无序引擎1380两者耦合到存储器分层结构的不同级别。具体地,所示出的是指令级缓存1372,指令级缓存1372又耦合到中级缓存1376,中级缓存1376又耦合到末级缓存1395。在一种实施例中,在片上(有时被称为非核)单元1390中实现末级缓存1395。作为示例,单元1390类似于图12的系统代理1210。如以上所描述的,非核1390与系统存储器1399通信,在所阐释的实施例中,经由ED RAM实现系统存储器1399。也应注意,在无序引擎1380内的各种执行单元1386与一级缓存1374通信,一级缓存1374也与中级缓存1376通信。也应注意,附加的核1330N-2-1330N可以耦合到LLC 1395。尽管在图13的实施例中以这样的高级示出,但应理解,可以存在各种变更和附加组件。
转到图14,阐释了被形成为带有处理器的示例性计算机系统的框图,该处理器包括执行指令的执行单元,其中各互连中的一个或多个实现根据本发明的一种实施例的一个或多个特征。系统1400包括诸如处理器1402之类的的组件,以便采用包括根据本发明执行处理数据的算法的逻辑的执行单元,例如在本文描述的实施例中。系统1400表示基于奔腾IIITM、奔腾4TM、至强TM、安腾、XScaleTM和/或StrongARMTM微处理器的处理系统,但也可以使用其他系统(包括PC具有其他微处理器、工程工作站、机顶盒等等)。在一种实施例中,样本系统1400执行可从华盛顿州雷蒙德市微软公司商购的一种版本的WindowsTM操作,但也可以使用其他操作系统(例如UNIX和Linux)、嵌入式软件和/或图形用户接口。因而,本发明的各实施例不限于硬件电路和软件的任何具体组合。
各实施例不限于计算机系统。本发明的备选实施例可以用于其他设备,例如手持式设备和嵌入式应用。手持式设备的一些示例包括蜂窝式电话、因特网协议设备、数码相机、个人数字助理(PDA)和手持式PC。根据至少一种实施例,嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机或可以执行一个或多个指令的任何其他系统。
在这种所阐释的实施例中,处理器1402包括实现执行至少一个指令的算法的一个或多个执行单元1408。可以在单个处理器的台式机或服务器系统的上下文中描述一种实施例,但是多处理器系统中可以包括备选的实施例。系统1400是‘中枢’系统架构的示例。计算机系统1400包括处理数据信号的处理器1402。作为一个说明性的示例,处理器1402包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现各指令集的组合的处理器或诸如例如数字信号处理器之类的任何其他处理器设备。处理器1402耦合到处理器总线1410,处理器总线1410在处理器1402和系统1400中的其他组件之间传送数据信号。系统1400的元件(例如图形加速器1412、存储器控制器中枢1416、存储器1420、I/O控制器中枢1424、无线收发器1426、闪速BIOS 1428、网络控制器1434、音频控制器1436、串行扩展端口1438、I/O控制器1440等等)执行本领域中的技术人员所熟知的它们的常规功能。
在一种实施例中,处理器1402包括1级(L1)内部缓存存储器1404。取决于架构,处理器1402可以具有单个内部缓存或多级内部缓存。其他实施例包括内部和外部缓存两者的组合,这取决于具体的实现和需要。寄存器堆1406把不同类型的数据存储在各种寄存器中,包括整数寄存器、浮点寄存器、向量寄存器、编组寄存器、影子寄存器、检查点寄存器、状态寄存器和指令指针寄存器。
包括执行整数和浮点操作的逻辑执行单元1408也驻留在处理器1402中。在一种实施例中,处理器1402包括存储微代码的微代码(ucode)ROM,在被执行时,微代码执行特定宏指令的算法或应对复杂场景。在这里,微代码潜在地是可更新的,以便为处理器1402处理逻辑错误/修复。对于一种实施例,执行单元1408包括处理紧缩指令集1409的逻辑。通过在通用处理器1402的指令集中包括分打包指令集1409,连同执行指令的关联电路一起,可以使用通用处理器1402中的紧缩数据来执行多种多媒体应用所使用的操作。因而,通过把处理器的数据总线的完全宽度用于对紧缩数据执行操作,加速和更高效地执行多种多媒体应用。这潜在地消除了对跨越处理器的数据总线每次一个数据元素地传输较小的数据单元以便执行一个或多个操作的需要。
执行单元1408的备选实施例也可以用于微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路。系统1400包括存储器1420。存储器1420包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器设备或其他存储器设备。存储器1420存储要由处理器1402执行的指令和/或由数据信号表示的数据。
注意,本发明的前述特征或各方面中的任何可以用于图14中所阐释的一个或多个互连。例如,未示出的用于耦合的处理器1402内部单元的芯上互连(ODI)实现以上所描述的本发明的一个或多个方面。或者,本发明与处理器总线1410(例如其他已知的高性能计算互连)、到存储器1420的高带宽存储器路径1418、到图形加速器1412的点对点链路(例如兼容外围组件互连高速(PCIe)的组织结构)、控制器中枢互连1422、I/O或用于耦合其他所阐释的组件的其他互连(例如USB、PCI、PCIe)相关联。这样的组件的一些示例包括音频控制器1436、固件中枢(闪速BIOS)1428、无线收发器1426、数据存储1424、包含用户输入和键盘接口1442的遗留I/O控制器1410、诸如通用串行总线(USB)之类的串行扩展端口1438和网络控制器1434。数据存储设备1424可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪速存储器设备或其他大容量存储设备。
现在参见图15,所示出的是根据本发明的一种实施例的第二系统1500的框图。如图15中所示出,多处理器系统1500是点对点互连系统,且包括经由点对点互连1550耦合的第一处理器1570和第二处理器1580。处理器1570和1580中的每一个可以是某种版本的处理器。在一种实施例中,1552和1554是诸如高性能架构之类的串行、点对点一致性互连组织结构的一部分。结果,本发明可以在QPI架构内实现。
尽管借助于仅两个处理器1570、1580示出,但应理解,本发明的范围不限于此。在其他实施例中,一个或多个附加的处理器可以出现在给定的处理器中。
处理器1570和1580被示出为分别包括集成存储器控制器单元1572和1582。处理器1570也包括作为其总线控制器单元的一部分的点对点(P-P)接口1576和1578;类似地,第二处理器1580包括P-P接口1586和1588。处理器1570、1580可以使用P-P接口电路1578、1588经由点对点(P-P)接口1550交换信息。如图15中所示出,IMC 1572和1582把处理器耦合到各自的存储器,即存储器1532和存储器1534,它们可以是本地附加到各自的处理器的主存储器的一部分。
处理器1570、1580均使用点对点接口电路1576、1594、1586、1598经由各个P-P接口1552、1554与芯片组1590交换信息。芯片组1590也经由接口电路1592以及高性能图形互连1539与高性能图形电路1538交换信息。
共享缓存(未示出)可以被包括在任一个处理器中或者在两个处理器外;然而经由P-P互连与处理器连接,以使得如果处理器被置于低功率模式则任一个或两个处理器的本地缓存信息可以被存储在共享缓存中。
芯片组1590可以经由接口1596耦合到第一总线1516。在一种实施例中,第一总线1516可以是外围组件互连(PCI)总线,或诸如PCI EXPRESS总线之类的总线或另一第三代I/O互连总线,但本发明的范围不限于此。
如图15中所示出,各种I/O设备1514耦合到第一总线1516以及总线桥1518,总线桥1518把第一总线1516耦合到第二总线1520。在一种实施例中,第二总线1520包括低引脚数(LPC)总线。在一种实施例中,各种设备耦合到第二总线1520,这些设备包括例如键盘和/或鼠标1522、通信设备1527和诸如盘驱动器或其他大容量存储设备之类的存储单元1528,其常常包括指令/代码和数据1530。进一步,音频I/O 1524被示出为耦合到第二总线1520。注意,其他架构是可能的,其中所包括的组件和互连架构改变。例如,代替图15的点对点架构,系统可以实现多点式总线或其他这样的架构。
接下来转到图16,叙述根据各种发明的片上(SOC)系统设计的一种实施例。作为特定的说明性示例,用户装备(UE)中包括SOC 1600。在一种实施例中,UE是指由终端用户用来通信的任何设备例如手持式电话、智能手机、平板、超薄笔记本、带有宽带适配器的笔记本或任何其他类似通信设备。通常,UE连接到基站或节点,基站或节点潜在地基本对应于GSM网络中的移动基站(MS)。
在这里,SOC 1600包括两个核——1606和1607。类似于上面的讨论,核1606和1607可以符合一种指令集架构,例如基于
Figure GDA0002431074430000421
架构核TM的处理器、超威半导体有限公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计或其消费者以及它们经授权者或采用者。核1606和1607耦合到与总线接口单元1609和L2缓存1611相关联的缓存控制器1608,以便与系统1600的其他部分通信。互连1610包括片上互连,例如IOSF、AMBA或以上所描述的其他互连,它们潜在地实现在此描述一个或多个方面。
互连1610提供到其他组件的通信信道,例如与SIM卡连接的用户身份模块(SIM)1630,保存引导代码以供由核1606和1607执行以便初始化和引导SOC1600的引导ROM 1635、与外部存储器(例如DRAM 1660)连接的SDRAM控制器1640、与非易失性存储器(例如闪存1665)连接的闪存控制器1645、与外围设备连接的外围控制器1650(例如串行外围接口)、显示和接收输入(例如启用触摸的输入)的视频编解码器1620和视频接口1625、执行图形相关计算的GPU 1615等等。这些接口中的任何可以合并在此描述的本发明的各方面。
另外,系统阐释用于通信的外围设备,例如蓝牙模块1670、3G调制解调器1675、GPS1685和WiFi 1685。注意,如上所述,UE包括用于通信的无线电。结果,并非全部要求这些外围通信模块。然而,在UE中,包括用于外部通信的某种形式的无线电。
尽管已经相对于有限数量的实施例描述了本发明,但本领域中的技术人员将明白源于其的众多修改和变更。预期所附权利要求覆盖落在本发明的真实精神和范围内的所有这样的修改和变更。
一种设计可以经历从创建到仿真到制造的多个阶段。表示设计的数据可以以多种方式表示设计。首先,可以使用硬件描述语言或另一功能描述语言表示硬件,这在仿真中是有用的。另外,在设计过程的一些阶段可以产生带有逻辑和/或晶体管门的电路级模型。此外,在某种阶段,大多数设计到达表示各种设备在管芯硬件模型中的物理放置的数据的级别。在使用常规半导体制造技术的情况中,表示硬件模型的数据可以是指定各种特征在被用来生产集成电路掩膜的不同掩膜层上的存在或不存在的数据。在设计的任何表示中,数据可以被存储在任何形式的机器可读介质中。存储器或诸如盘之类的磁存储或光存储可以是机器可读介质,其存储经由光波或电波发送的信息,光波或电波被调制或被产生为发送这样的信息。当发送指示或携带代码或设计的电载波,在执行电信号的复制、缓冲或再次传送的范围内,制作新的副本。因而,通信提供商或网络提供商可以至少临时地把制品例如被编码到载波中的信息存储在有形机器可读介质中,实现本发明的各实施例的技术。
在此所使用的模块是指硬件、软件和/或固件的任何组合。作为示例,模块包括诸如微控制器之类的硬件,该硬件与存储适于由微控制器执行的代码的非暂态介质相关联。因此,在一种实施例中,对模块的引用是指硬件,该硬件被具体配置为识别和/或执行保存在非暂态介质上的代码。此外,在另一实施例中,模块的使用是指包括代码的非暂态介质,该代码具体地适于由微控制器执行,以便执行预先确定的操作。并且可以推断,在又一个实施例中,术语模块(在这一示例中)可以是指微控制器和非暂态介质的组合。通常,被阐释为分离的模块边界往往改变并可能重叠。例如,第一模块和第二模块可以共享硬件、软件、固件或其组合,同时可能保留一些独立的硬件、软件或固件。在一种实施例中,术语逻辑的使用包括硬件,例如晶体管、寄存器或诸如可编程逻辑设备之类的其他硬件。
在一种实施例中,短语‘被配置为’的使用是指排列、放置在一起、制造、提供销售、引入和/或设计一种装置、硬件、逻辑或元素,以便以执行所指派的或已确定的任务。在这一示例中,如果不是正在操作的装置或其元素被设计、被耦合和/或被互连为到执行所指派的任务,则不是正在操作的装置或其元素仍然‘被配置为’执行所述所指派的任务。作为纯粹说明性的示例,逻辑门可以在操作期间提供0或1。但是,‘被配置为’向时钟提供允许信号的逻辑门不包括可以提供1或0的每一可能逻辑门。相反,逻辑门是以某种方式耦合的逻辑门,在操作期间,1或0输出允许时钟。再次应当注意,术语‘被配置为’的使用不要求操作,而是聚焦于装置、硬件、和/或元素的潜伏状态,其中在该潜伏状态中,该装置、硬件和/或元素被设计为在装置、硬件和/或元素正在操作时执行具体的任务。
此外,在一种实施例中,短语‘要’、‘能够/应’和/或‘可操作为’的使用是指以这样的方式设计某种装置、逻辑、硬件和/或元素,以便允许以指定的方式使用该装置、逻辑、硬件和/或元素。如上所述,应注意,在一种实施例中,要、能够或可操作为是指装置、逻辑、硬件和/或元素的潜伏状态,其中该装置、逻辑、硬件和/或元素不是正在操作而是以这样的方式设计,以便允许以指定的方式使用装置。
在此所使用的值包括数量、状态、逻辑状态或二进制逻辑状态的任何已知表示。逻辑电平、逻辑值或逻辑值的使用通常也被称为l和0,它们简单地表示二进制逻辑状态。例如,1是指高逻辑电平且0是指低逻辑电平。在一种实施例中,诸如晶体管或闪存单元之类的存储单元能够保存单个逻辑值或多个逻辑值。然而,已经使用计算机系统中的值的其他表示。例如十进制数字十也可以被表示成1010的二进制值和十六进制字母A。因此,能够在计算机系统中保存包括信息的任何表示的值。
此外,状态可以由各值或各值的部分表示。作为示例,诸如逻辑一个之类的第一值可以表示默认的或初始的状态,而诸如逻辑零之类的第二值可以表示非默认状态。另外,在一种实施例中,术语复位和设置分别是指默认的和更新的值或状态。例如,默认值潜在地包括高逻辑值,即复位(reset),而更新值潜在地包括低逻辑值,即设置(set)。注意,可以利用各值的任何组合来表示任何数量的状态。
可以经由存储在机器可访问的、机器可读的、计算机可访问的或计算机可读的介质上的指令或代码实现上面陈述的各方法、硬件、软件、固件或代码的实施例,这些指令或代码可由处理元件执行。非暂态机器可访问/可读介质包括以可由机器读取的形式提供(即,存储和/或发送)信息的任何机制,例如计算机或电子系统。例如,非暂态机器可访问介质包括随机存取存储器(RAM),例如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪速存储器设备;电存储设备;光存储设备;声存储设备;用于保存从暂态(传播)信号(例如,载波、红外信号、数字信号)接收到的信息的其他形式的存储设备;等等,它们不同于可以从中接收信息的非暂态介质。
被用来编程逻辑以执行本发明的各实施例的指令可以被存储在该系统中的存储器内,例如DRAM、缓存、闪速存储器或其他存储。此外,可以经由网络或作为其他计算机可读介质分发指令。因而,机器可读介质可以包括用于以可由机器(例如,计算机)读取的形式存储或发送信息的任何机制,但不限于软盘、光盘、紧致盘、只读存储器(CD-ROM)和磁-光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、闪速存储器或用于经由电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等等)在因特网上传输信息的有形机器可读存储。因此,计算机可读介质包括适用于以可由机器(例如,计算机)读取的形式存储或发送电子指令或信息的任何类型的有形机器可读介质。
贯穿本说明书对“一种实施例”或“一个实施例”的引用意味着结合该实施例描述的具体的特征、结构或特性被包括在本发明的至少一种实施例中。因而,贯穿本说明书在各种场合出现短语“在一种实施例中”或“在一个实施例中”并不必定都是指相同的实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合各具体特征、结构或特性。
在前面的说明书中,已经参考特定的示例性的实施例给出了详细描述。然而,将明显看出,可以在不偏离所附权利要求陈述的本发明的宽广精神和范围的前提下对其做出各种修改和改变。因此,以说明性的意义而不是限制性的意义看待说明书和附图。此外,前面对实施例和其他示例性语言的使用并不必定是指相同的实施例或相同的示例,而是可以是指不同的和独特的实施例并且可能是指相同的实施例。

Claims (24)

1.一种处理器设备,包括:
物理层逻辑,用于:
进入状态机的回送状态;
使用线性反馈移位寄存器生成包括伪随机比特序列的回送模式;
通过物理连接将所述回送模式发送至另一处理器设备,其中所述回送模式的实例也要由所述另一处理器设备生成,所述回送模式根据所述处理器设备的发送器参数的第一设置被发送;
基于度量来调节所述处理器设备的发送器参数的所述第一设置,所述度量基于由所述另一处理器设备对所述另一处理器设备接收到的回送模式与所述另一处理器设备生成的回送模式的所述实例所作的比较来生成,其中调节发送器参数的第一设置得到所述处理器设备的发送器参数的第二设置;
根据所述处理器设备的发送器参数的所述第二设置将所述回送模式的另一实例发送至所述另一处理器设备。
2.如权利要求1所述的处理器设备,其特征在于,所述物理层逻辑进一步用于:
接收由所述另一处理器设备生成的回送模式的所述实例;
将接收到的回送模式的实例与所述处理器设备本地生成的回送模式相比较;以及
基于接收到的回送模式的实例与所述处理器设备本地生成的回送模式的比较来生成特定度量,其中所述另一处理器设备的发送器参数要基于所述特定度量来调节。
3.如权利要求1所述的处理器设备,其特征在于,所述回送模式包括电气有序集。
4.如权利要求3所述的处理器设备,其特征在于,所述回送模式还包括一系列训练序列。
5.如权利要求4所述的处理器设备,其特征在于,所述一系列训练序列包括预定义数量的训练序列。
6.如权利要求5所述的处理器设备,其特征在于,所述预定义数量的训练序列包括30个训练序列。
7.如权利要求4所述的处理器设备,其特征在于,所述回送模式包括所述电气有序集和一系列训练序列的重复模式。
8.如权利要求3所述的处理器设备,其特征在于,所述电气有序集包括电气空闲退出有序集。
9.如权利要求8所述的处理器设备,其特征在于:
所述电气空闲退出有序集包括16字节有序集,
所述电气空闲退出有序集的字节0、2、4、6、8、10、12和14包括值8’h00,以及
所述电气空闲退出有序集的字节1、3、5、7、9、11、13和15包括值8’hFF。
10.如权利要求1所述的处理器设备,其特征在于,所述度量要通过反向通道被接收。
11.如权利要求10所述的处理器设备,其特征在于,所述反向通道包括软件实现的反向通道。
12.如权利要求11所述的处理器设备,其特征在于,所述软件实现的反向通道使用用于物理连接的嵌入式时钟的慢速模式。
13.一种用于传送数据的装置,所述装置包括:
与第一处理器相关联的控制器,用于在所述第一处理器与第二处理器之间接口,所述第一处理器用于识别第一指令集,所述第二处理器用于识别与所述第一指令集不同的第二指令集,所述控制器包括协议层逻辑、链路层逻辑和物理层逻辑,所述物理层逻辑用于:
通过互连将超序列发送至所述第二处理器,其中所述超序列指示回送状态,发送器适配要在所述回送状态中执行,所述超序列包括一系列训练序列,所述一系列训练序列中的一个或多个包括:
训练序列类型字段,用于指示所述回送状态,以及
回送主比特,用于指示所述第一处理器要用作所述发送器适配中的主处理器;
使用线性反馈移位寄存器生成包括伪随机比特序列的回送模式;
通过所述互连将所述回送模式发送至所述第二处理器,其中所述回送模式要根据第一发送器参数设置被发送;
基于所述第二处理器处所述回送模式的接收来检查在所述第二处理器处生成的度量;
基于所述度量来标识第二发送器参数设置;以及
通过所述互连将所述回送模式发送至所述第二处理器,其中所述回送模式要根据第二发送器参数设置被发送。
14.如权利要求13所述的装置,其特征在于,所述伪随机比特序列是23位的伪随机比特序列。
15.如权利要求14所述的装置,其特征在于,所述伪随机比特序列要使用斐波纳契Fibonacci线性反馈移位寄存器来生成。
16.如权利要求13所述的装置,其特征在于,所述伪随机比特序列包括控制超序列,所述控制超序列的至少一部分使用所述伪随机比特序列来扰码。
17.如权利要求16所述的装置,其特征在于,所述超序列包括包含电气空闲退出有序集的重复序列,其中所述重复序列要根据特定的预定义频率来重复。
18.如权利要求17所述的装置,其特征在于,所述重复序列包括所述电气空闲退出有序集后的已定义数量的训练序列。
19.一种用于传送数据的方法,所述方法包括:
通过互连将超序列发送至第二处理器,其中所述超序列指示回送状态,发送器适配要在所述回送状态中执行,所述超序列包括一系列训练序列,所述一系列训练序列中的一个或多个包括:
训练序列类型字段,用于指示所述回送状态,以及
回送主比特,用于指示第一处理器要用作所述发送器适配中的主处理器;
使用线性反馈移位寄存器生成包括伪随机比特序列的回送模式;
通过所述互连将所述回送模式发送至所述第二处理器,其中所述回送模式要根据第一发送器参数设置被发送;
基于所述第二处理器处所述回送模式的接收来检查在所述第二处理器处生成的度量;
基于所述度量来标识第二发送器参数设置;以及
通过所述互连将所述回送模式发送至所述第二处理器,其中所述回送模式要根据第二发送器参数设置被发送。
20.一种用于传送数据的系统,所述系统包括:
第一处理器;以及
通过链路与所述第一处理器耦合的第二处理器,其中所述第二处理器包括物理层逻辑,所述物理层逻辑用于:
进入状态机的回送状态;
使用线性反馈移位寄存器生成包括伪随机比特序列的回送模式的第一实例;
通过所述链路从所述第一处理器接收所述回送模式的第二实例;
将所述第二实例与所述回送模式的所述第一实例相比较;
基于所述第二实例与所述回送模式的所述第一实例的比较来生成度量,其中所述度量要被用来适配所述第一处理器的发送器参数设置。
21.如权利要求20所述的系统,其特征在于,所述第一处理器包括用于生成所述伪随机比特序列的物理层逻辑。
22.如权利要求21所述的系统,其特征在于,所述第二处理器的所述物理层逻辑还用于将所述回送模式的所述第一实例发送至所述第一处理器。
23.如权利要求22所述的系统,其特征在于,所述第一处理器的所述物理层逻辑进一步用于:
通过所述链路从所述第二处理器接收所述回送模式的所述第一实例;
将所述第一实例与所述回送模式的所述第二实例相比较;
基于所述第一实例与所述回送模式的所述第二实例的比较来生成度量,其中所述度量要被用来适配所述第二处理器的发送器参数设置。
24.一种用于传送数据的系统,所述系统包括:
用于通过互连将超序列发送至第二处理器的装置,其中所述超序列指示回送状态,发送器适配要在所述回送状态中执行,所述超序列包括一系列训练序列,所述一系列训练序列中的一个或多个包括:
训练序列类型字段,用于指示所述回送状态,以及
回送主比特,用于指示第一处理器要用作所述发送器适配中的主处理器;
用于使用线性反馈移位寄存器生成包括伪随机比特序列的回送模式的装置;
用于通过所述互连将所述回送模式发送至所述第二处理器的装置,其中所述回送模式要根据第一发送器参数设置被发送;
用于基于所述第二处理器处所述回送模式的接收来检查在所述第二处理器处生成的度量的装置;
用于基于所述度量来标识第二发送器参数设置的装置;以及
用于通过所述互连将所述回送模式发送至所述第二处理器的装置,其中所述回送模式要根据第二发送器参数设置被发送。
CN201710043763.8A 2012-10-22 2013-03-15 高性能互连物理层 Active CN107045479B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22
CN201380049203.3A CN104969206B (zh) 2012-10-22 2013-03-15 高性能互连物理层

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
CN107045479A CN107045479A (zh) 2017-08-15
CN107045479B true CN107045479B (zh) 2020-09-01

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 (9)

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 用于控制多时隙链路层微片中的消息收发的装置和系统

Family Applications After (16)

Application Number Title Priority Date Filing Date
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 高性能互连链路层

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)

Families Citing this family (201)

* 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
CN114510268B (zh) * 2021-12-24 2022-09-20 中国人民解放军战略支援部队航天工程大学 一种基于gpu实现下变频中单精度浮点数累积误差控制方法
US20220342840A1 (en) * 2021-12-30 2022-10-27 Intel Corporation Die-to-die interconnect
US20220327084A1 (en) * 2021-12-30 2022-10-13 Intel Corporation Die-to-die interconnect protocol layer
US11907132B2 (en) 2022-03-23 2024-02-20 International Business Machines Corporation Final cache directory state indication
US11726660B1 (en) * 2022-04-15 2023-08-15 Dell Products L.P. Techniques for flexible physical drive expansion using a loop back connection
US20230342308A1 (en) * 2022-04-22 2023-10-26 Western Digital Technologies, Inc. Reducing Link Up Time In PCIe Systems
CN114942814B (zh) * 2022-06-01 2023-07-11 咪咕视讯科技有限公司 页面组件的聚焦方法、系统、终端设备及介质
US11880686B2 (en) * 2022-06-16 2024-01-23 Ampere Computing Llc Devices transferring cache lines, including metadata on external links
CN115238619B (zh) * 2022-09-20 2023-06-27 北京数字光芯集成电路设计有限公司 数字芯片的子模块后仿真方法和系统
US11914473B1 (en) * 2022-10-20 2024-02-27 Micron Technology, Inc. Data recovery using ordered data requests

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422460A (zh) * 2000-03-31 2003-06-04 高通股份有限公司 时隙模式译码器状态的量度初始化
CN101076790A (zh) * 2003-06-27 2007-11-21 新信息系统公司 动态多群集系统重新配置
US20100061465A1 (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
CN102637152A (zh) * 2011-02-08 2012-08-15 英飞凌科技股份有限公司 具有处理单元和信息存储装置的设备

Family Cites Families (267)

* 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
GB2342823B (en) * 1998-10-16 2000-11-29 Marconi Comm Ltd Communication system
US6526481B1 (en) * 1998-12-17 2003-02-25 Massachusetts Institute Of Technology Adaptive cache coherence protocols
US6393529B1 (en) * 1998-12-21 2002-05-21 Advanced Micro Devices, Inc. Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US6556634B1 (en) * 1999-02-10 2003-04-29 Ericsson, Inc. Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system
US6185250B1 (en) * 1999-03-10 2001-02-06 Lucent Technologies Inc. Training of level learning modems
AU5158800A (en) * 1999-05-28 2000-12-18 Basic Resources, Inc. Wireless transceiver network employing node-to-node data messaging
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
KR100566289B1 (ko) * 1999-09-03 2006-03-30 삼성전자주식회사 데이타 링크 맵을 이용한 브이5.2 계층 2의 비활성화 제어 방법 및 장치
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6754185B1 (en) * 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
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
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
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 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
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 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8189504B2 (en) * 2008-12-17 2012-05-29 Viasat, Inc. Physical layer header structure for decoding and synchronization
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
US8026726B2 (en) * 2009-01-23 2011-09-27 Silicon Image, Inc. Fault testing for interconnections
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
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 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法
CN102594745B (zh) * 2011-12-29 2015-02-04 东南大学 单载波频域均衡系统中的同步方法及其实现电路
US8892269B2 (en) 2012-03-30 2014-11-18 Intel Corporation Power down and quick start of thermal sensor
CN102685128B (zh) * 2012-05-09 2015-09-30 东南大学 一种基于状态机的协议构造方法
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422460A (zh) * 2000-03-31 2003-06-04 高通股份有限公司 时隙模式译码器状态的量度初始化
CN101076790A (zh) * 2003-06-27 2007-11-21 新信息系统公司 动态多群集系统重新配置
US20100061465A1 (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
CN102637152A (zh) * 2011-02-08 2012-08-15 英飞凌科技股份有限公司 具有处理单元和信息存储装置的设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种高效嵌入式微处理器控制器设计;彭和平等;《微电子学与计算机》;20060430;第23卷(第4期);第1-3页 *

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
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
CN107092565A (zh) 2017-08-25
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
CN107045479B (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