CN104756097A - 一致性协议表 - Google Patents

一致性协议表 Download PDF

Info

Publication number
CN104756097A
CN104756097A CN201380049062.5A CN201380049062A CN104756097A CN 104756097 A CN104756097 A CN 104756097A CN 201380049062 A CN201380049062 A CN 201380049062A CN 104756097 A CN104756097 A CN 104756097A
Authority
CN
China
Prior art keywords
state table
message
state
protocol
agency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380049062.5A
Other languages
English (en)
Other versions
CN104756097B (zh
Inventor
R·比尔斯
Y·S·迪隆
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
Priority to CN201810337297.9A priority Critical patent/CN108614783B/zh
Publication of CN104756097A publication Critical patent/CN104756097A/zh
Application granted granted Critical
Publication of CN104756097B publication Critical patent/CN104756097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

提供了代理以包括状态表存储设备,其用于保持状态表组,所述状态表组表示多个一致性协议动作,其中所述状态表组包括至少一个嵌套状态表。所述代理还包括与所述状态表存储设备相关联的协议逻辑,所述协议逻辑接收一致性协议消息,并且至少部分地基于所述一致性协议消息而从所述状态表组确定所述多个一致性协议动作中的一个一致性协议动作。

Description

一致性协议表
技术领域
本公开总体上涉及计算机开发领域,并且更具体地,涉及包括对相互依存的约束系统的协调的软件开发。
背景技术
半导体处理和逻辑设计的发展已允许在集成电路设备上呈现的逻辑数量的增加。作为一个必然结果,计算机系统配置已从系统中的单个或多个集成电路演进为在个体集成电路上呈现的多个内核、多个硬件线程、和多个逻辑处理器,以及集成在这种处理器内的其它接口。处理器或集成电路通常包括单个物理处理器管芯,其中该处理器管芯可以包括任意数量的内核、硬件线程、逻辑处理器、接口、存储器、控制器集线器等。
作为在较小封装中的适应更强处理能力的更大能力的结果,更小的计算设备增加了流行度。智能电话、平板计算机、超薄笔记本计算机、以及其它用户设备已按指数级增长。然而,这些更小的设备依靠服务器以用于超出形状因子的数据存储和复杂处理。因此,也提高了对于高性能计算市场(即,服务器空间)的需求。例如,在现代服务器中,通常不但仅有具有多个内核的单个处理器,而且还有多个物理处理器(也被称为多个插口)以提高计算能力。但是随着处理能力随着计算系统中识别的数量的增加而增长,插口和其它设备之间的通信变得更加关键。
实际上,互连已从主要负责电通信的更为传统的多点分支总线成长为促成快速通信的完全成熟的互连架构。不幸的是,随着对于未来处理器的需求以按更高速率消耗,对应的需求被置于现有互连架构的能力上。
附图说明
图1示出了根据一个实施例的包括在计算机系统中连接I/O设备的点对点互连的系统的简化框图;
图2示出了根据一个实施例的分层协议栈的简化框图;
图3示出了事物描述符的实施例。
图4示出了串行点对点链路的实施例。
图5示出了潜在的高性能互连(HPI)系统配置的实施例。
图6示出了与HPI相关联的分层协议栈的实施例。
图7示出了示例协议状态表的表示。
图8示出了协议状态表的示例嵌套的表示。
图9示出了由示例测试引擎使用一组协议状态表的表示。
图10示出了由示例测试引擎使用一组协议状态表的表示。
图11示出了包括多核处理器的计算系统的框图的实施例。
图12示出了示例计算系统的框图的实施例。
在各个图中,相似的附图标记和名称表明相似元件。
具体实施方式
在以下描述中,阐述了许多具体细节,例如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定处理器管线级(pipeline stage)、特定互连层、特定分组/事物配置、特定事物名称、特定协议交换、特定链路宽度、特定实施方式、以及操作等的示例,以便提供对本发明的透彻理解。然而,对于本领域技术人员来说可以显而易见的是,不一定需要采用这些具体细节来实践本公开的主题。在其它实例中,已经避免了对已知组件或方法的非常详细的描述(例如,特定和替代处理器架构、针对所描述的算法的特定逻辑电路/代码、特定固件代码、低级互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实施方式、用代码对算法进行的特定表达、特定断电和门控技术/逻辑以及计算机系统的其它特定操作细节),以便避免不必要地模糊本公开。
尽管可以参照功率节约、功率效率、处理效率等在特定集成电路(例如计算平台或微处理器)中描述以下实施例,但是其它实施例可适用于其它类型的集成电路和逻辑器件。可以将本文中描述的实施例的类似技术和教导应用于也可以受益于这些特征的其它类型的电路或半导体设备。例如,所公开的实施例并不限于服务器计算机系统、台式计算机系统、膝上型计算机、超级本TM,而且还可以用于其它设备,例如手持设备、智能电话、平板计算机、其它薄笔记本计算机、片上系统(SoC)设备、以及嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)、以及手持PC。在这里,可以应用用于高性能互连的类似技术以提高在低功率互连中的性能(或甚至节省功率)。嵌入式应用通常包括微处理器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、或能够执行下文所教导的功能和操作的任何其它系统。另外,本文中描述的装置、方法、和系统并不限于物理计算设备,而且还可以与用于能量节约和效率的软件优化有关。如在下文描述中可以变得容易显而易见的,本文中描述的方法、装置、和系统的实施例(无论是否参照硬件、固件、软件或其组合)可以被认为是对用性能考量进行了平衡的“绿色技术”未来至关重要的。
随着计算系统的发展,其中的组件变得越来越复杂。在组件之间耦合并通信的互连架构也在复杂度上提高了,以确保满足应用最优组件操作的带宽需求。此外,不同市场区隔需要互连架构的不同方面以适应各自的市场。例如,服务器需要更高性能,但是移动生态系统有时为了省电能够牺牲总体性能。但是,对于大多数结构来说,提供可能的最高性能且具有最大的功率节约是单一的目的。此外,各种不同互连可以潜在地得益于本文中描述的主题。例如,根据本文中描述的一个或多个原理,以及其它示例,可以潜在地提高外围组件互连(PCI)快速(PCIe)互连结构架构和快速通道互连(QPI)结构架构等。
图1示出了由互连所示的一组组件的点对点链路组成的结构的一个实施例。系统100包括耦合到控制器集线器115的处理器105和系统存储器110。处理器105可以包括任何处理元件,例如微处理器、主机处理器、嵌入式处理器、协处理器、或其它处理器。处理器105通过前端总线(FSB)106耦合到控制器集线器115。在一个实施例中,如下文所示,FSB 106为串行点对点互连。在另一实施例中,链路106包括与不同互连标准兼容的串行、差分互连架构。
系统存储器110包括任意存储器设备,例如随机存取存储器(RAM)、非易失性(NV)存储器、或可由系统100中的设备访问的其它存储器。系统存储器110通过存储器接口116耦合到控制器集线器115。存储器接口的示例包括双倍数据速率(DDR)存储器接口、双通道DDR存储器接口、以及动态RAM(DRAM)存储器接口。
在一个实施例中,例如,在PCIe互连层级结构中,控制器集线器115可以包括根集线器、根组件(root complex)、或根控制器。控制器集线器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)、插入卡(add-in card)、音频处理器、网络处理器、硬盘驱动器、存储设备、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、固件设备、通用串行总线(USB)设备、扫描仪、和其它输入/输出设备。通常在PCIe术语中,例如设备被称为端点。尽管并未详细示出,但是设备125可以包括网桥(例如,PCIe到PCI/PCI-X网桥)以支持遗留设备或其它版本的设备或由这样的设备所支持的互连结构。
图形加速器130还可以通过串行链路132耦合到存储器集线器115。在一个实施例中,图形加速器耦合到MCH,MCH耦合到ICH。接着,交换机120,以及由此I/O设备125耦合到ICH。I/O模块131和118还实现分层协议栈和相关联的逻辑以在图形加速器130和存储器集线器115之间通信。类似于上文的MCH讨论,图像控制器或图形加速器130自身可以集成在处理器105中。
转向图2,其示出了分层协议栈的实施例。分层协议栈200可以包括任何形式的分层通信栈,例如QPI栈、PCIe栈、下一代高性能计算互连(HPI)栈、或其它分层栈。在一个实施例中,协议栈200可以包括事物层205、链路层210、和物理层220。诸如图1中的接口117、118、121、122、126、和131这样的接口可以被表示为通信协议栈200。作为通信协议栈的表示还可以被称为模块或接口,该模块或接口实现/包括协议栈。
分组可以用来在组件之间通信消息。可以在事物层205和数据链路层210中形成分组以将信息从发送组件携带至接收组件。随着所发送的分组流过其它层,可以使用用于在那些层处处理分组的信息来扩展这些分组。在接收侧,发生相反的过程并且将分组从它们的物理层220表示变换为数据链路层210表示并且最终(对于事物层分组)变换为可以由接收设备的事物层205处理的形式。
在一个实施例中,事物层205可以提供设备的处理内核和互连架构(例如,数据链路层210和物理层220)之间的接口。在这方面,事物层205的主要责任可以包括组装和拆装分组(即,事物层分组,或TLP)。事物层205还可以管理对于TLP的基于信用(credit)的流控制。在一些实施方式中,在其它示例中,还可以利用分离事物(即,具有由时间所分离的请求和响应的事物),以在目标识别收集数据以用于响应时,允许链路携带其它业务。
基于信用的流控制可以用于利用互连结构来实现虚拟信道和网络。在一个示例中,设备可以对事物层205中的每个接收缓冲区广播初始信用额。在链路对端处的外部设备(例如,图1中的控制器集线器115)可以计数由每个TLP消耗的信用数。如果事物不超出信用限制,则可以传输该事物。在接收到响应时,恢复信用额。在其它潜在的优点当中,这种信用机制的优点的一个示例在于在没有达到信用限制的情况下,信用返回的时延并不影响性能。
在一个实施例中,四个事物地址空间可以包括配置地址空间、存储器地址空间、输入/输出地址空间、和消息地址空间。存储空间事物包括读请求和写请求中的一个或多个,以将数据传送到存储器映射的位置/从存储器映射的位置传送数据。在一个实施例中,存储空间事物能够使用两种不同的地址格式,例如短地址格式(例如,32比特地址),或长地址格式(例如,64比特地址)。配置空间事物可以用于访问连接到互连的各个设备的配置空间。到配置空间的事物可以包括读请求和写请求。消息空间事物(或,仅消息)还可以被定义为支持互连代理之间的带内通信。因此,在一个示例实施例中,事物层205可以组装分组头/有效负载206。
快速参考图3,其示出了事物层分组描述符的实施例。在一个实施例中,事物描述符300可以是用于携带事物信息的机制。在这方面,事物描述符300支持在系统中对事物的识别。其它潜在的用途包括追踪对默认事物顺序的修改和事物与信道的关联。例如,事物描述符300可以包括全局标识符字段302、属性字段304和信道标识符字段306。在所示的示例中,全局标识符字段302被描绘为包括本地事物标识符字段308和源标识符字段310。在一个实施例中,全局标识符字段302对于所有的未完成请求都是唯一的。
根据一个实施方式,本地事物标识符字段308为由请求代理所生成字段,并且其可以是对于要求完成该请求代理的所有未完成请求是唯一的。此外,在该示例中,源标识符310在互连层级结构内唯一地识别请求者代理。由此,本地事物标识符字段308与源ID 310一起在层级结构域内提供事物的全局标识。
属性字段304详细说明事物的特性和关系。在这方面,属性字段304潜在地用于提供允许对事物的默认处理的修改的额外信息。在一个实施例中,属性字段304包括优先级字段312、预留字段314、排序(ordering)字段316、和无监听(no-snoop)字段318。这里,优先级子字段312可以由发起者修改以向事物分配优先级。预留字段314是为未来预留的、或为供应商定义的用途。可以使用预留的属性字段来实现使用优先级或安全属性的潜在使用模型。
在该示例中,排序字段316用于提供表达了可以修改默认排序规则的排序类型的可选信息。根据一个示例实施方式,排序属性“0”表示要应用默认排序规则,其中排序属性“1”表示乱序排序(relaxed ordering),其中写可以穿越过在同一方向上的写,而读取完成穿越过在同一方向上的写。利用无监听字段318来确定事物是否被监听。如图所示,信道ID字段306标识出与事物相关联的信道。
回到图2的讨论,链路层210(也被称为数据链路层210)可以作为事物层205和物理层220之间的中间级。在一个实施例中,数据链路层210的责任为在链路上提供用于在两个组件之间交换事物层分组(TLP)的可靠机制。数据链路层210的一侧接受由事物层205所组装的TLP、应用分组序列标识符211(即,标识号或分组号)、计算并应用错误检测码(即,CRC212)、并且将修改后的TLP提交到物理层220以用于跨物理传输到外部设备。
在一个示例中,物理层220包括逻辑子块221和电子块222以将分组物理地传输到外部设备。这里,逻辑子块221负责物理层221的“数字”功能。在这方面,逻辑子块可以包括传输部分以准备出去(outgoing)信息以用于由物理子块222进行传输,以及接收器部分以在将接收到的信息传递到链路层210之前识别和准备该接收到的信息。
物理快220包括发射器和接收器。由逻辑子块221为发射器提供符号,发射器将该符号序列化并传输到外部设备。从外部设备为接收器提供序列化的符号,并且接收器将接收到的信号转换为比特流。将比特流反序列化(de-serialize)并且提供到逻辑子块221。在一个示例实施例中,采用8b/10b传输码,其中发送/接收十比特的符号。这里,使用特殊符号以使分组适合于帧223。另外,在一个实施例中,接收器还提供从进来的(incoming)串行流中恢复的符号时钟。
如上文所述,尽管参照协议栈的特定实施例(例如,PCIe协议栈)讨论了事物层205、链路层210、和物理层220,但是并不限于这样的分层协议栈。实际上,可以包括/实现任何分层协议栈并且采用本文中所讨论的特征。例如,被表示为分层协议的端口/接口可以包括:(1)用于组装分组的第一层(即,事物层);用于排序分组的第二层(即,链路层);以及用于传输分组的第三层(即,物理层)。作为特定示例,利用了如本文中所描述的高性能互连分层协议。
接下来参考图4,其示出了串行点对点结构的示例实施例。串行点对点链路可以包括用于传输串行数据的任何传输通路。在所示的实施例中,链路可以包括两个低电压差分驱动信号对:发射对406/411和接收对412/407。由此,设备405包括传输逻辑406以将数据传输到设备410,以及接收逻辑407以从设备410接收数据。也就是说,两个传输通路(即,通路416和417)和两个接收通路(即,通路418和419)被包括在链路的一些实施方式中。
传输通路是指用于传输数据的任何通路,例如传输线、铜线、光学线、无线通信信道、红外通信链路、或其它通信通路。两个设备(例如,设备405和设备410)之间的连接被称为链路,例如链路415。链路可以支持一个通道——每个通道表示一组差分信号对(一对用于发送、一对用于接收)。为了调整(scale)带宽,链路可以聚合多个通道,用xN表示,其中N为任何支持的链路宽度,例如1、2、4、8、12、16、32、64、或更宽。
差分对可以指用于传输差分信号的两个传输通路,例如线路416和417。例如,当线路416从低电平切换为高电平时(即,上升沿),线路417从高逻辑电平驱动为低逻辑电平(即,下降沿)。除了其它示例优点,差分信号还潜在地示出了更好的电特性,例如更好的信号完整性,即交互耦合、电压过冲/下冲、震荡(ringing)。这允许更好的时间窗,其使能更宽的传输频率。
在一个实施例中,提供了新的高性能互连(HPI)。HPI可以包括下一代高速缓存一致性、基于链路的互连。例如,HPI可以在高性能计算平台(例如,工作站或服务器)中被利用,包括在通常使用PCIe或另一互连协议来连接处理器、加速器、I/O设备等的系统中被利用。然而,HPI并不限于此。相反,可以在本文中描述的任何系统或平台中利用HPI。此外,所开发的单个主意可以被应用于其它互连和平台,例如PCIe、MIPI、QPI等。
为了支持多个设备,在一个示例实施方式中,HPI可以包括指令集架构(ISA)无关(即,能够在多个不同设备中实现HPI)。在另一情况下,HPI还可以用于连接高性能I/O设备,不仅仅用于连接处理器或加速器。例如,高性能PCIe设备可以通过适当的转换桥(translation bridge)(即,HPI到PCIe)而耦合到HPI。另外,可以由许多基于HPI的设备(例如,处理器)以各种方式(例如,星形、环形、网等)利用HPI链路。图5示出了多个潜在的多插口配置的示例实施方式。如图所描绘的两插口配置505可以包括两个HPI链路;然而,在其它实施方式中,可以利用一个HPI链路。对于更大的拓扑,只要标识符(ID)是可分配的,则可以利用任意配置,并且除了其它附加或替换特征,还存在一些形式的虚拟通路。如图所示,在一个示例中,四插口配置510具有从每个处理器到另一处理器的HPI链路。但是在配置515中示出的八插口实施方式中,并不是每个插口都通过HPI链路直接相互连接。然而,如果处理器之间存在虚拟通路或信道,则支持该配置。一系列支持的处理器在本机域中包括2-32个。除了其它示例之外,还可以通过使用多个域或节点控制器之间的其它互连而达到更多数量的处理器。
HPI架构包括分层协议架构的定义,在一些实施例中包括协议层(一致性、非一致性、以及可选地其它基于存储器的协议)、路由层、链路层、以及包括相关联的I/O逻辑的物理层。此外,HPI还可以包括与功率管理有关的增强(例如,功率控制单元(PCU))、用于测试和调试的设计(DFT)、故障处理、寄存器、安全、以及其它示例。图6示出了示例HPI分层协议栈的实施例。在一些实施方式中,图6中所示的层中的至少一些可以是可选的。每层处理其自身层的信息粒度(granularity)或信息量子(协议层605a、b具有分组630、链路层610a、b具有微片(flit)635、并且物理层605a、b具有物理单元(phit)640)。应当注意在一些实施例中,基于实施方式,分组可以包括部分微片、单个微片或多个微片。
作为第一示例,一定宽度的物理单元640包括链路宽度到比特的1对1映射(例如,20比特的链路宽包括20比特的物理单元等)。微片可以具有更大的尺寸,例如184、192、或200比特。应当注意,如果物理单元640为20比特宽并且微片635的尺寸为184比特,则需要小数个物理单元640来传输一个微片635(例如,在20比特的情况下用9.2物理单元来传输184比特微片635或在20比特的情况下用9.6物理单元来传输192比特微片等)。应当注意,在物理层处的基础链路的宽度可以变化。例如,每个方向的通道数量可以包括2、4、6、8、10、12、14、16、18、20、22、24等。在一个实施例中,链路层610a、b能够将多个段不同事物嵌入到单个微片中,并且可以将一个或多个头(例如,1、2、3、4)嵌入到微片内。在一个示例中,HPI将头分为对应的时隙(slot)以使得微片中的多个消息能够以不同节点为目的地。
在一个实施例中,物理层605a、b可以负责信息在物理介质(电或光等)上的快速传输。物理链路可以是两个链路层实体(例如,层605a和605b)之间的点对点。链路层610a、b可以从上层中抽象(abstract)物理层605a、b并且提供可靠地传输数据(以及请求)的能力并且管理两个直接连接的实体之间的流控制。链路层还可以负责将物理信道虚拟化为多个虚拟信道和消息类别。协议层620a、b依靠链路层610a、b而在将协议消息传递到物理层605a、b以用于跨物理链路传输之前,将协议消息映射到适合的消息类别和虚拟信道中。链路层610a、b可以支持多个消息,例如请求、监听、响应、写回(writeback)、非一致性数据等。
如图6中所示,可以在电层(即,连接两个组件的电导体)之上和链路层610a、b之下实现HPI的物理层605a、b(或PHY)。物理层和对应的逻辑可以驻留在每个代理上并且将相互分离(例如,在链路的两侧上的设备上)的两个代理(A和B)上的链路层连接。本地和远程电层是通过物理介质(例如,导线、导体、光等)连接的。在一个实施例中,物理层605a、b具有两个主要阶段,初始化和操作。在初始化期间,连接对于链路层是不透明的并且信令可以包括定时的状态(timed state)和握手事件的组合。在操作期间,连接对于链路层是透明的并且信令处于一定速度,其中所有通道共同操作作为单个链路。在操作阶段期间,物理层将微片从代理A传送到代理B并且从代理B传送到代理A。连接也被称为链路并且从链路层中抽象包括介质、宽度和速度的一些物理方面,而同时与链路层交换微片和当前配置的控制/状态(例如,宽度)。初始化阶段包括次要阶段,例如轮询、配置。操作阶段也包括次要阶段(例如,链路功率管理状态)。
在一个实施例中,链路层610a、b可以被实现以便提供在两个协议或路由实体之间的可靠数据传送。链路层可以从协议层620a、b抽象物理层605a、b,并且可以负责两个协议代理(A、B)之间的流控制,并且提供虚拟信道服务给协议层(消息类别)和路由层(虚拟网络)。协议层620a、b和链路层610a、b之间的接口通常在分组层面处。在一个实施例中,在链路层处的最小传送单元被称为微片,微片为特定数量的比特,例如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可以包括一致性协议层a、b以支持缓存来自存储器的数据行的代理。想要缓存存储器数据的代理可以使用一致性协议以读取数据行来加载到代理的高速缓存中。想要修改在其高速缓存中的数据行的代理可以使用一致性协议,以在修改数据之前得到该行的所有权。在对行进行修改之后,代理可以遵循这样的协议要求:将该行保持在代理的高速缓存中,直到该代理将该行写回到存储器,或直到该代理将该行包括在对外部请求的响应中。最后,代理可以完成外部请求以使得在该代理的高速缓存中的行无效。该协议通过制定所有高速缓存代理可以遵循的规则而确保数据的一致性。该协议还可以提供用于代理的单元而无需高速缓存来一致地读和写存储器数据。
可以强制实施两个条件以支持利用HPI一致性协议的事物。第一,例如,该协议可以以每个地址为基础而维持在代理的高速缓存中的数据之间的数据一致,以及这些数据与存储器中的数据之间的数据一致。非正式地,数据一致可以指代在代理的高速缓存中的每个有效的数据行以表示数据的最新值,并且在一致性协议分组中传输的数据可以表示在该分组被发送时该数据的最新值。当在高速缓存或传输中不存在数据的有效副本时,协议可以确保数据的最新值驻留于存储器中。第二,协议可以提供针对请求的明确定义的提交点(commitment point)。针对读的提交点可以表明数据何时是可用的;并且针对写的提交点可以表明所写的数据何时是全局可观察的并且何时将由随后的读所加载。协议可以支持针对一致性存储空间中的可缓存请求和不可缓存(UC)请求的这些提交点。
HPI一致性协议还可以确保由到一致性存储空间中的地址的代理所做出的一致性请求的转发进度。当然,事物最终可以被满足并且可以退出以用于适当的系统操作。在一些实施例中,HPI一致性协议可以不具有重新尝试以解决资源分配冲突的概念。因此,协议其自身可以被定义以不包含循环资源依赖,并且实施方式可以在它们的设计中注意不引入可以导致死锁的依赖。另外,协议可以表明在什么情况下设计能够提供对协议资源的公平访问。
在一个实施例中,在逻辑上,HPI一致性协议可以包括三项:一致性(或“高速缓存”或“缓存”)代理、本地代理、和连接代理的HPI互连结构。一致性代理和本地代理可以共同工作,以通过在互连上交换消息而实现数据一致。链路层610a、b和其相关的描述可以提供互连结构的细节,所述细节包括该互连结构如何遵从一致性协议的要求(本文中所讨论的)。(可以注意到,分为一致性代理和本地代理是为了清楚的目的)。设计可以在插口内包含多个两种类型的代理,或者甚至将代理行为组合到单个设计单元中,以及其它示例。
在一个实施例中,本地代理可以被配置为防护物理存储器。每个本地代理可以负责一致性存储空间的一个区域。区域可以是非重叠的,这是因为由一个本地代理防护单个地址,并且在系统中的本地代理区域覆盖该一致性存储空间。例如,每个地址可以由至少一个本地代理防护。因此,在一个实施例中,在HPI系统的一致性存储空间中的每个地址可以正好映射到一个本地代理。
在一个实施例中,HPI一致性协议中的本地代理可以负责服务于对一致性存储空间的请求。对于读(Rd)请求,本地代理可以生成监听(Snp)、处理它们的响应、发送数据响应、并且发送完成响应。对于无效(Inv)请求,本地代理可以生成必要的监听、处理它们的响应、并且发送完成响应。对于写请求,本地代理可以将数据提交到存储器并且发送完成响应。
本地代理可以在HPI一致性协议中提供监听并且可以处理来自一致性代理监听响应。本地代理还可以处理来自一致性代理的转发请求(其为特殊的监听响应)以用于冲突解决。当本地代理接收到转发请求时,本地代理可以向生成该转发请求的一致性代理(即,检测到冲突监听请求的代理)发送转发响应。一致性代理可以使用这些转发请求的顺数和来自本地代理的完成响应的顺序来解决冲突。
一致性代理可以发出所支持的一致性协议请求。请求可以被发出到一致性存储空间中的地址。除了RdCur之外的接收到的用于读请求(Rd)的数据可以是一致的。当生成数据分组时,用于RdCur的数据可以已经是一致的(尽管数据在传递期间可能已经过期)。表1示出了潜在的所支持的请求的示例性的、非详尽的列表:
表1
HPI可以支持一致性协议利用MESI协议的原理。可以用一个或多个支持的状态(例如,在高速缓存行中所编码的)来标记每个高速缓存行。“M”或“修改(Modified)”状态可以表明已经将高速缓存行值从主存储器中的值进行了修改。处于M状态的行仅出现在特定或对应的高速缓存中,代理可以被要求例如在允许读取(不再有效的)主存储器状态之前,在未来某一时间将修改的数据写回到存储器。写回可以将该行从M状态转换到E状态。“E”或“专属(Exclusive)”状态可以表明该高速缓存行仅出现在当前高速缓存中,但是其值与主存储器中的值匹配。处于E状态的高速缓存行可以相应于读请求而在任何时间转换到S状态,或者可以通过对该行进行写而变为M状态。“S”或“共享(Shared)”状态可以表明该高速缓存行可以被存储在机器的其它高速缓存中并且具有与主存储器的值相匹配的值。可以在任意时间丢弃该行(变为I状态)。“I”或“无效(Invalid)”状态可以表明高速缓存行是无效的或未使用的。在HPI中还支持其它状态,例如“F”或“转发(Forward)”共享状态表明特定的共享状态要被转发到也要共享该行的其它高速缓存等。
表2包括一些一致性协议消息中可以包括的示例性信息,包括监听、度、和写请求等:
表2
监听消息可以由本地代理所生成并且被导向一致性代理。监听(SNP)虚拟信道可以用于监听,并且在一个实施例中,监听是使用该SNP虚拟信道的唯一消息。监听可以包括请求代理的NID,以及在监听结果导致数据被直接发送到请求代理的情况下请求代理所分配的针对请求的RTID。在一个实施例中,监听还可以包括由本地代理所分配的用于处理请求的HTID。处理监听的一致性代理可以将HTID包括在一致性代理发送回本地代理的监听响应中。在一些实例中,监听不包括本地代理的NID,这是因为其可以从所包括的地址中得到,这是目标一致性代理在发送其响应时所做的。扇出(fanout)监听(具有“SnpF”前缀的那些监听)可以不包括目的NID,这是因为路由层负责为扇出区域中的所有对等点(peer)生成适当的监听消息。监听信道消息的示例性列表如表3所列举:
表3
HPI还可以支持它们可以发出到地址的非监听请求,例如被实现为非一致性请求的那些请求。这样的请求的示例可以包括从存储器请求只读行的非监听读、根据掩码而将行写到存储器的非监听写、以及其它潜在的示例。
在一个示例中,可以在HPI一致性协议中定义四种通用类型的响应消息:数据、完成、监听、和转发。某些数据消息可以携带额外的完成指示,并且某些响应可以携带数据。响应消息可以使用RSP虚拟信道,并且通信结构可以维持有序的完成响应和转发响应之间的合适的消息传递顺序。
表4包括由示例HPI一致性协议支持的至少一些潜在的响应消息的列表:
表4
在一个示例中,数据响应可以将请求一致性代理作为目标。本地代理可以发送任何数据响应。一致性代理可以仅发送不包含有序的完成指示的数据响应。另外,作为处理监听请求的结果,一致性代理可以限于仅发送数据响应。组合的数据和完成响应可以总是有序的完成类型,并且可以保持与通过通信结构的转发响应顺序一致。
HPI一致性协议可以使用通用的无序的完成消息和一致性特定的有序的完成消息。本地代理可以将完成响应发送到一致性请求,并且完成响应通常可以以一致性代理作为目标。有序的完成响应可以保持与通过通信结构的转发响应顺序一致。
具体地响应于处理监听请求,监听响应可以由一致性代理发送,并且以负责该监听请求的本地代理作为目标。destNID通常为本地代理(根据监听请求中的地址确定)并且所包括的TID是针对本地代理的所分配的用于处理该请求的资源的。在命令中具有“Wb”的监听响应是针对修改的高速缓存行的隐含写回的,并且这些监听响应携带该高速缓存行数据(隐含写回可以包括由于另一代理的请求而由一致性代理做出的那些,然而其它请求是由一致性代理使用其请求资源而明确做出的)。
当监听请求与未完成请求发生冲突时,一致性代理可以生成转发请求。转发请求以生成该监听的本地代理作为目标,这是根据该监听请求中的地址所确定的。因此,destNID为本地代理。转发请求还可以包括针对本地代理的被分配以用于处理原始请求的资源的TID,以及生成该转发请求的一致性代理的NID。
HPI一致性协议可以支持单个转发响应,FwdCnfltO。本地代理可以针对接收到的每个转发请求而发送转发响应,并且发送到转发请求的peerNID字段中的一致性代理。转发响应携带高速缓存行地址,所以一致性代理可以将该消息与一致性代理所分配的转发资源匹配。转发响应消息可以携带请求代理的NID,但是在一些情况下,不携带请求代理的TID。如果一致性代理想要支持高速缓存对高速缓存(cache-to-cache)传输以用于转发响应,则其可以在处理监听时保存请求代理的TID并发送转发请求。为了支持冲突解决,通信结构可以维持转发响应于与在转发响应之前被发送到同一目的一致性代理的所有有序的完成之间的顺序。
在一些实施方式中,可以使用状态机来管理高速缓存行的状态转换。在一个实施方式中,状态机可以进一步由已被定义以详细描述以下的所有各种组合的状态表组或库来实施:命令、属性、之前的状态、以及可以影响如何发生状态转换、以及可以与状态转换相关联的消息类型、数据操作、掩码等。每个状态表可以与特定动作、或动作或状态的特定类别相对应。该组表可以包括多个表,每个表与特定动作或子动作相对应。该组表可以实施对协议(例如,一致性协议或HPI的(在任何堆栈层处的)另一协议)的正式规范。
状态表可以为人可读文件,例如可以由使用端点计算机设备而与状态表结构进行交互的人类用户容易地解释、修改和开发的状态表结构。其它用户可以利用状态表来容易地解释一致性协议(或HPI的任何其它协议)内的状态转换。此外,状态表可以为机器可读和可解析结构,其由计算机读取并解释以识别根据特定协议规范状态如何转换。
图7示出了针对动作“动作A”的一般化的状态表的简化表示。在一个示例中,协议状态表700可以包括与当前状态(或要从其进行转换的状态)有关的列(例如,705)以及与下一状态(或要转换到的状态)有关的其它列(例如,710)。在当前状态列中的列可以与状态的各个特性相对应,例如在响应消息中接收到的命令、监听消息、或其它消息、高速缓存行状态、出去请求缓冲区(ORB)状况(condition)、用于应用/预留的信用或资源、高速缓存行是否被部分地修改、转发状况等。表700中的每行可以与处于特定状态的高速缓存行的所检测到的状况组相对应。此外,在下一状态列(例如,710)内的行中的单元格可以基于在当前状态列(例如,705)中的行单元格中详细说明的当前状态状况来表明要进入到的下一状态及其状况。下一状态列(例如,710)可以与下一状态中的状况相对应,例如要发送(到对应的本地节点(HNID)、请求节点(RNID)、对等节点等)的消息、下一高速缓存行状态、转发状态等。
在一个实施例中,协议状态表可以使用跨行(row spanning)来表明多个行为或状态(行)对于某组当前状态状况是等同地允许的。例如在图7的示例中,当命令为Cmd1、第一状况为假、高速缓存行处于第二状态、并且第二状况也为假时(如由行715所表明的),多个潜在的下一状态状况是可能的并且可以是等同地允许的,每个潜在的下一状态状况由相应行表明。也就是说,可以基于对应的当前状态状况而触发这些等同地允许的转换中的任意一个。在一些实施方式中,除其它示例实施方式之外,附加的代理逻辑还可以选择要选择多个下一状态中的哪个。在一个示例性示例中,与本地代理发送请求响应相对应的状态表的当前状态部分可以包括多个状况(或输入和状态防护),其包括对于一致性代理在将完整M-行保存在其高速缓存中并且在处理到同一高速缓存行的SnpMigr时要执行的所有有效行为。除了其它示例之外,表行还可以与一致性代理可以响应于当前状态状况而进行的五个不同的并且等同地允许的下一状态行为相对应。
在其它系统中,偏置比特可以被包括在协议状态表中,其中对于特定当前状态,多个潜在的下一状态或状况是可能的。例如,在QPI中,“偏置”比特被包括在表中作为在行为中进行选择的机制。这样的偏置比特可以主要在对协议的状态机进行验证期间使用,但是这样的偏置比特引入额外的复杂度,并且在一些情况下引入不熟悉偏置比特的使用的混乱。在一些方面,偏置比特可以只不过是验证工作的伪影(artifact)。在HPI的一个示例中,通过使用潜在地跨多个行的行的协议表,偏置比特和其它特征可以被排除。在这样的实例中,HPI协议表可以强调明确的非确定性。
转到图8的示例,在一个实施例中,协议表可以通过使一个表在“下一状态”列中参照另一子表而进行嵌套,并且嵌套表可以具有额外的或细粒度的防护以指定哪些行(行为)是被允许的。如图8所示,示例协议状态表700可以包括对被包括在表组中的另一表800的嵌入引用805,所述表组实施协议规范,例如与被指定以针对表700的某些行的下一状态中所包括关于动作或行为的子动作有关的状态表。多个表(例如,700、810)可以引用嵌套表(例如,800)。例如,处理对协议响应的进来的响应的代理可以遵循动作表(例如,700、810)以及子动作表800。这里,动作表700可以包括具有嵌套在一个或多个其它协议表下的子动作表的下一状态。这种类型的嵌套可以应用于一致性协议和协议层状态表之外,但是还可以应用于任何已知或未来的协议响应/表。
在一个示例中,代理可以利用协议表(或从协议表构建的另一可解析结构)并且可以识别与特定动作或事件对应的特定状态表。此外,该代理可以识别应用到由该代理所负责或作为目标的缓冲行的行,并且从表中识别针对该缓冲行的状态信息。该确定可以包括识别对嵌套的子动作表的引用。由此,代理可以识别所链接到的嵌套表的对应结构并且进一步参考嵌套表以确定状态转换。
在一个特定示例中,协议表的集合组可以被定义并且表示协议中所有可能的、定义的状态转换。此外,每个表可以指定覆盖协议内的一组有关行为的一组转换(例如,一个表覆盖监听和更新高速缓存状态中所包括的所有行为,一个覆盖生成新请求的所有行为等)。当代理执行行为、处理事件、或检查是否应当采取一些其它动作时,代理可以识别覆盖状态表组内的特定行为的特定状态表。接着,代理可以识别系统的当前状态并且参照所选择的状态表来识别与当前状态相匹配的(如果有的话)行或行的组。如果没有行匹配,则在一些实例中,代理可以避免针对给定的当前状态而采取任何动作,并且在再次尝试之前等待一些其它事件/行为来改变该状态。此外,在一些实例中,如上文所述,如果多于一行与所识别的系统相匹配,则代理可以选择它们中的任何一个来执行,这是因为它们全都被认为是等同地允许的。此外,在嵌套的情况下,如果行参照嵌套表,则代理可以访问该嵌套表并且使用所标识的系统的当前状态以在嵌套表中搜索允许的行。
在一些示例中,在遍历了任何主要和嵌套表以确定对特定的标识的系统(或协议)状态的响应时,根据在对应状态表中所指定的“下一状态”,代理可以使得对应的动作被执行并且使得系统的状态被更新。
在一些实例中,多于一个状态表与一组行为有关或覆盖一组行为是可能的。例如,如一个示例性示例,可以提供两个表以用于处理监听,第一个表用于当存在发生冲突的活动请求时的情况,第二个表用于不存在这样的冲突时情况。由此,在一些实施方式中,代理可以调查多个表以确定哪个表包括与由代理所识别的特定状况和状态相关的行。在外,在一些情况下,代理可以负责同时发生的两个不相关或不同的事件,例如这样的示例:本地代理同时接收到监听响应和新请求。在多个事件被同时处理的实例中,代理可以同时识别和使用多个对应的表以确定如何处理这些事件。
现在转向图9和图10,其示出了用于验证协议的至少一部分而使用的测试或验证环境的示例的简化框图900、1000。例如,在图9的示例中,测试引擎900被提供以适应于验证协议的状态机。例如,在一个示例中,测试引擎900可以包括或可以基于Murphi工具或另一枚举(显式状态)模型检查器等。例如,其它规范语言可以被利用以代替所描述的Murphi示例,包括,如另一示例,TLA+或另一合适的语言或格式。在传统系统中,状态模型检查器已由尝试将状态机(例如,从所附状态表等)转化为接着被使用以生成能够检查该状态机的检查器的一组要求的人类开发员所构建。这不但是典型的劳动力和资源密集型过程,而且引入人为误差,这是因为由人类用户来转录和解释状态表的状态及状态转换。
在一个实施方式中,测试引擎900可以利用状态表组(例如,905)以(从该状态表组)自动生成资源以在测试环境中对代理的行为进行建模。例如,在图9的示例中,测试引擎900可以利用状态表905作为用于对高速缓存代理或可以用于通过使用其它真实或仿真的代理(包括本地代理915)而仿真请求和响应(例如,912)以验证各种状态转换的其它代理(例如,910)进行建模。类似地,如图10的示例所示,测试引擎900可以利用状态表905来仿真本地代理(例如,920)的请求和响应(例如,918),并且可以与其它真实或仿真的代理(例如,925)接合以进一步验证并枚举协议的状态。例如,基于状态表905,测试引擎900可以对代理进行建模并且接收真实或建模的协议消息,例如HPI一致性协议消息,并且参照状态表905(或从状态表905生成的另一可解析结构)来自动生成适当响应,执行对应的状态转换等。
在一个特定实施方式中,测试引擎或另一基于软件或硬件的工具(utility)可以用于利用状态表(例如,905)以生成用于代码,该代码用于驱使采用特定协议(例如,HPI一致性协议)的设计或对该设计作出反应。在该特定示例中,通过将表或所包括的伪代码以及针对表值和伪代码元素的Murphi映射转换为适当的Murphi规则和过程格式,状态表可以被用作测试引擎的输入。测试引擎可以用于进一步生成Murphi代码以用于类型定义和支持功能。例如,可以使用转换器而将Murphi模型转换为C++或其它类别定义。确实,可以利用任何合适的编程语言。模型类别的子类别可以被进一步生成,并且这些模块可以用于作为采用或对齐到在状态表中实施的协议规范的仿真的或测试平台版本的代理。此外,内部API可以被生成或另外被提供,其对齐到在协议状态表中定义的消息生成和消息接收。例如,消息生成API可以被关联到链路分组类型,并且消息接收可以在单个接口点中被统一。在该示例中,整个正式的协议规范可以被转换为C++(或其它面向对象编程语言)类别。可以使用继承以截获所生成的消息,并且继承类别的实例可以被创建为功能性测试平台代理。一般地,正式的规范表可以用作用于验证或测试环境工具的功能引擎,而非使开发员基于他们对规范的解释而单独地创建他们自己的工具。
HPI可以被并入任何种类的计算设备和系统,包括大型计算机、服务器系统、个人计算机、移动计算机(例如,平板计算机、智能电话、个人数字系统等)、智能装置、游戏或娱乐控制台以及机顶盒等。例如,参照图11,描绘了包括多核处理器的计算系统的框图的实施例。处理器1100包括任何处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用程序处理器、协处理器、片上系统(SoC)、或其它设备以执行代码。在一个实施例中,处理器1100包括至少两个内核——内核1101和1102,其可以包括非对称内核或对称内核(所示出的实施例)。然而,处理器1100可以包括可以是对称或非对称的任意数量的处理元件。
在一个实施例中,处理元件是指支持软件线程的硬件或逻辑。硬件处理元件额示例包括:线程单元、线程槽(thread slot)、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、内核、和/或任何其它元件,其能够保持处理器的状态,例如执行状态或架构状态。也就是说,在一个实施例中,处理元件是指能够独立地与代码(例如,软件线程、操作系统、应用程序、或其它代码)相关联的任何硬件。物理处理器(或处理器插口)通常是指集成电路,其潜在地包括任意数量的其它处理元件,例如内核或硬件线程。
内核通常是指位于集成电路上的能够维持独立的架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与内核不同,硬件线程通常是指位于集成电路上的能够维持独立的架构状态的任何逻辑,其中该独立维持的架构状态共享对执行资源的访问。可见,当某些资源被共享并且其它资源专用于架构状态时,硬件线程和内核的术语之间的线是重叠的。但往往,内核和硬件线程被操作系统视为个体逻辑处理器,其中操作系统能够个体地调度每个逻辑处理器上的操作。
如图11所示,物理处理器1100包括两个内核——内核1101和1102。这里,内核1101和1102被认为是对称内核,即具有相同配置、功能单元、和/或逻辑的内核。在另一实施例中,内核1101包括无序处理器内恶化,而内核1102包括有序处理器内核。然而,内核1101和1102可以是从以下任意类型的内核中单独选择的,例如:原生(native)内核、软件管理的内核、适应于执行原生指令集架构(ISA)的内核、适应于执行经转换的指令集架构(ISA)的内核、协同涉及的内核、或其它已知内核。在异构内核环境(即,非对称内核)中,可以利用一些形式的转换(例如,二进制转换)来调度或执行一个或两个内核上的代码。对于进一步的讨论,在下文中消息描述了在内核1101中示出的功能单元,在所描绘的实施例中,内核1102中的单元以类似方式操作。
如所描绘的,内核1101包括两个硬件线程1101a和1101b,其还可以被称为硬件线程槽1101a和1101b。因此,在一个实施例中,软件实体(例如操作系统)潜在地将处理器1100视为四个单独处理器,即能够同时执行四个软件线程的逻辑处理器或处理元件。如上文所暗示的,第一线程与架构状态寄存器1101a相关联,第二线程与架构状态寄存器1101b相关联,第三线程可以与架构状态寄存器1102a相关联,并且第四线程可以与架构状态寄存器1102b相关联。这里,如上文所述,架构状态寄存器(1101a、1101b、1102a、和1102b)中的每个可以被称为处理元件、线程槽、或线程单元。如所示出的,在架构状态寄存器1101b中复制架构状态寄存器1101a,所以单个架构状态/上下文能够被存储以用于逻辑处理器1101a和逻辑处理器1101b。在内核1101中,其它较小的资源(例如,分配器和重命名器块1130中的指令指针和重命名逻辑)也可以被复制以用于线程1101a和1101b。可以通过分区而共享一些资源,例如重排序/退出单元1135中的重排序缓冲区、ILTB1120、加载/存储缓冲区、和队列。其它资源,例如通用内部寄存器、页-表基地址寄存器、低层数据高速缓存和数据TLB 1151、执行单元1140、以及无序单元1135的一部分可以潜在地被完全共享。
处理器1100通常包括其它资源,该其它资源可以被完全共享、通过分区而共享、或由处理元件专用/专用于处理元件。在图11中,示出了具有处理器的示例性逻辑单元/资源的纯示例性处理器的实施例。应当注意,处理器可以包括或省略这些功能单元中的任何功能单元,并且可以包括其它未示出的已知功能单元、逻辑或固件。如所示出的,内核1101包括简化的、代表性的无序(OOO)处理器内核。但是在不同实施例中可以利用有序处理器。OOO内核包括分支目标缓冲区1120以预测要被执行/采用的分支,以及指令转换缓冲区以存储用于指令的地址转换实体。
内核1101还包括耦合到提取单元1120的解码模块1125以解码所提取的元素。在一个实施例中,提取逻辑包括分别与线程槽1101a、1101b相关联的个体定序器(sequencer)。内核1101通常与第一ISA相关联,第一ISA定义/详细说明可在处理器1100上执行的指令。第一ISA的一部分的机器代码指令通常包括该指令(被称为操作码)的一部分,其引用/详细说明要执行的指令或操作。解码逻辑1125包括这样的电路:从这些指令的操作码而识别这些指令并且将所解码的指令在管线中传递以用于如由第一ISA所定义的而进行处理。例如,如在下文中更加详细讨论的,在一个实施例中,解码器1125包括被设计或适用于识别特定指令(例如,事物指令)的逻辑。作为有解码器1125所进行的识别的结果,架构或内核1101采用特定的、预先定义的动作来执行与适当指令相关联的任务。重要的是要注意到,可以响应于单个或多个指令来执行本文中描述的任何任务、块、和方法;所述单个或多个指令中的一些可以是新的或旧的指令。在一个实施例中,应当注意解码器1126识别同一ISA(或其子集)。或者,在异构内核环境中,解码器1126识别第二ISA(第一ISA的子集或不同的ISA)。
在一个示例中,分配器和重命名器块1130包括分配器以保留资源(例如,寄存器堆(register file))来存储处理结果的指令。然而,线程1101a和1101b潜在地能够无序执行,其中分配器和重命名器块1130还保留其它资源(例如,重排序缓冲区)以追踪指令结果。单元1130还可以包括寄存器重命名器以将程序/指令参考寄存器重命名为处理器1100内部的其它寄存器。重排序/退出单元1135包括组件,例如上文提到的重排序缓冲区、加载缓冲区、和存储缓冲区以支持无序执行以及之后的无序执行的指令的有序退出。
在一个实施例中,调度器和执行单元块1140包括调度器单元以调度执行单元上的指令/操作。例如,浮点指令被调度到具有可用浮点执行单元的执行单元的端口上。还包括与该执行单元相关联的寄存器堆以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转(jump)执行单元、加载执行单元、存储执行单元、和其它已知执行单元。
较低层数据高速缓存和数据转换缓冲区(D-TLB)1150耦合到执行单元1140。数据高速缓存存储最近在元件上所使用/操作的(例如,数据操作数),其潜在地被保持在存储器一致性状态中。D-TLB存储最近的虚拟/线性地址到物理地址的转换。如一个特定示例,处理器可以包括页表结构以将物理存储器分解为多个虚拟页。
这里,内核1101和1102共享对较高层或较外部(further-out)高速缓存(例如与片上接口1110相关联的第二层高速缓存)的访问。应当注意,较高层或较外部是指增加或更加远离执行单元的高速缓存层。在一个实施例中,较高层高速缓存是最后一层数据高速缓存——在处理器1100上的存储器层级结构中的最后的高速缓存——例如第二或第三层数据高速缓存。然而,较高层高速缓存并不限于此,这时因为其可以与指令高速缓存相关联或包括指令高速缓存。追踪高速缓存——指令高速缓存的一种——相反可以在解码器1125之后耦合以存储最近所解码的追踪。这里,指令潜在地指代宏指令(即,由解码器识别的通用指令),其可以解码成多个宏指令(微操作)。
在所示的配置中,处理器1100还包括片上接口模块1100。历史上地,在下文中更详细描述的存储器控制器已被包括在处理器1100外部的计算系统中。在这种情况下,片上接口111与处理器1100外部的设备进行通信,例如系统存储器1175、芯片组(通常包括存储器控制器集线器以连接到存储器1175,以及I/O操作器集线器以连接外围设备)、存储器控制器集线器、北桥、或其它集成电路。并且在该情况下,总线1105可以包括任何已知互连,例如多点分支总线、点对点互连、串行互连、并行总线、一致性(例如,高速缓存一致性)总线、分层协议架构、差分总线、以及GTL总线。
存储器1175可以专用于处理器1100或与系统中的其它设备共享。存储器1175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)、以及其它已知存储设备。应当注意设备1180可以包括耦合到存储器控制器集线器的图形加速器、处理器、或卡,耦合到I/O控制器集线器的数据存储设备,无线收发器、闪存设备、音频控制器、网络控制器、或其它已知设备。
然而近来,随着更多的逻辑和设备被集成到单个管芯上(例如SOC),这些设备中的每个可以被并入到处理器1100上。例如,在一个实施例中,存储器控制器集线器与处理器1100在同一封装和/或管芯上。这里,内核1100的一部分包括一个或多个控制器以用于与诸如存储器1175或图形设备1180这样的其它设备接合。包括用于与这种设备接合的互连和控制器的配置通常被称为内核上(on-core)(或无内核(un-core)配置)。例如,片上接口1110包括用于片上通信的环形互连和用于片外通信的高速串行点对点链路1105。但是在SOC环境中,甚至更多设备(例如网络接口、协处理器、存储器1175、图形处理器1180、以及任何其它已知的计算机设备/接口)可以被集成在单个管芯或集成电路上,以提供具有高功能性和低功耗的小形状因子。
在一个实施例中,处理器1100能够执行编译器、优化、和/或翻译器代码1177以编译、翻译、和/或优化应用程序代码1176来支持本文中描述的装置和方法或与其接合。编译器通常包括程序或程序组以将源文本/代码翻译为目标文本/代码。通常,使用编译器对程序/应用程序代码的编译是在多个阶段和步骤内完成的,以将高级编程语言代码转换为低级机器或汇编语言代码。然而,单遍编译器仍可以用于简单编译。编译器可以利用任何已知的编译技术并且执行任何已知的编译操作,例如词法分析、预处理、解析、语义分析、代码生成、代码转换、和代码优化。
较大的编译器通常包括多个阶段,但是最经常时这些阶段被包括在两个一般阶段内:(1)前端,即,一般可以发生句法处理、语义处理、和一些转换/优化的地方,以及(2)后端,即一般发生分析、转换、优化和代码生成的地方。一些编译器指代中间,其示出了编译器的前端和后端之间的描画的模糊。因此,对编译器的插入、关联、生成、或其它操作的提及可以发生在上文所述的任意阶段或步骤中,以及编译器的任何其它已知的阶段或步骤中。如示例性示例,编译器潜在地将操作、调用、函数等插入到编译的一个或多个阶段中,例如将调用/操作插入到编译的前端阶段,并且接着在转换阶段期间将调用/操作转换为低级代码。应当注意在动态编译期间,编译器代码或动态优化代码可以插入这样的操作/调用,以及优化代码以用于在运行期间执行。如特定的示例性示例,二进制代码(已编译的代码)可以在运行期间被动态地优化。这里,程序代码可以包括动态优化代码、二进制代码、或其组合。
与编译器雷系,诸如二进制翻译器的翻译器将代码静态地或动态地翻译以优化和/或翻译代码。因此,对代码、应用程序代码、程序代码、或其它软件环境的执行的提及可以指代:(1)编译器程序、优化代码优化器、或翻译器的动态或静态执行,以编译程序代码、维持软件结构、执行其它操作来优化代码、或翻译代码;(2)包括操作/调用的主程序代码(例如,已被优化/编译的应用程序代码)的执行;(3)执行与主程序代码相关联的其它程序代码(例如,库)以维持软件结构、执行其它关于软件的操作、或优化代码;或(4)其组合。
HPI可以被并入任何种类的计算设备和系统,包括大型计算机、服务器系统、个人计算机、移动计算机(例如,平板计算机、智能电话、个人数字系统等)、智能装置、游戏或娱乐控制台以及机顶盒等。例如,图12示出了根据一些实施方式的示例计算机系统1200。如图12所示,多处理器系统1200为点对点互连系统,并且包括经由点对点互连1250耦合的第一处理器1270和第二处理器1280。处理器1270和1280中的每个可以为一些版本的处理器。在一个实施例中,1252和1254为串行点对点一致性互连结构(例如高性能架构)的一部分。因此,本发明可以在QPI架构内实施。
虽然仅示出两个处理器1270、1280,但是要理解的是本发明的范围并不限于此。在其它实施例中,在给定处理器中可以存在一个或多个额外的处理器。
示出了处理器1270和1280,其分别包括集成的存储器控制器单元1272和1282。处理器1270还包括作为其总线控制器单元的一部分的点对点(P-P)接口1276和1278;类似地,第二处理器1280包括P-P接口1286和1288。处理器1270和1280可以使用P-P接口电路1278、1288经由点对点(P-P)接口1250交换信息。如图12所示,IMC 1272和1282将处理器耦合到相应存储器,即存储器1232和存储器1234,其可以为在本地附接到相应处理器的主存储器的一部分。
处理器1270和1280使用点对点接口电路1276、1294、1286、1298经由个体P-P接口1252、1254而与芯片组1290交换信息。芯片组1290还沿着高性能图形互连1239经由接口电路1292而与高性能图形电路1238交换信息。
共享高速缓存(未示出)可以被包括在每个处理器内或两个处理器外;但是经由P-P互连而与处理器相连,从而使得如果处理器被置于低功率模式,则每个或两个处理器的本地高速缓存信息可以被存储在共享高速缓存中。
芯片组1290可以经由接口1296而耦合到第一总线1216。在一个实施例中,第一总线1216可以是外围组件互连(PCI)总线、或诸如快速PCI总线或另一第三代I/O互连总线这样的总线,尽管本发明的范围不限于此。
如图12所示,各个I/O设备1214耦合到第一总线1216以及总线桥1218,总线桥1218将第一总线1216耦合到第二总线1220。在一个实施例中,第二总线1220包括低引脚数(LPC)总线。各种设备被耦合到第二总线1220,这包括例如键盘/鼠标1222、通信设备1227和数据存储单元1228(例如,在一个实施例中,磁盘驱动器或其它大容量存储设备,其通常包括指令/代码和数据1230)。此外,音频I/O 1224被示出为耦合到第二总线1220。应当注意,其它架构是可能的,其中所包括的组件和互连架构不同。例如,除了图12的点对点架构,系统可以实现多点分支总线或其它这样的架构。
虽然已关于有限数量的实施例描述了本发明,但是本领域技术人员将意识到对这些实施例的许多修改和变型。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这些修改和变型。
设计可以经历各个阶段,从创建到仿真到制造。表示设计的数据可以以多种方式来表示设计。首先,如在仿真中实用的,可以使用硬件描述语言或另一功能性描述语言来表示硬件。另外,可以在设计过程的一些阶段生产具有逻辑和/或晶体管栅极的电路级模型。此外,大多数设计在一些阶段达到表示各个设备在硬件模型中的物理放置的数据等级。在使用传统半导体制造技术的情况下,表示硬件模型的数据可以为详细说明在针对用于产生集成电路的掩膜的不同掩膜层上的各个特征的存在或不存在的数据。在设计的任意表示中,数据可以存储在任意形式的机器可读介质中。存储器或磁或光存储设备(例如,盘)可以为用于存储经由调制的或另外生成以传输信息的光或电波而传播的信息的机器可读介质。当传输了表明或携带代码或设计的电载波时,电信号的复制、缓冲、或重传被执行,做出新的副本。因此,通信提供商或网络提供商可以在有形、机器可读介质上(至少临时地)存储实施了本发明的实施例的技术的制品,例如被编码成载波的信息。
本文中所使用的模块是指硬件、软件、和/或固件的任意组合。例如,模块包括硬件(例如,微控制器),其与用于存储适用于由该微控制器执行的代码的非瞬时性介质相关联。因此,在一个实施例中,对模块的提及是指硬件,其具体地被配置为识别出和/或执行要保持在非瞬时性介质上的代码。此外,在另一实施例中,模块的使用是指包括代码的非瞬时性介质,该代码具体地适应于要被微控制器执行以进行预先确定的操作。并且如可以推断的,在又一实施例中,术语模块(在本实例中)可以指代微控制器和非瞬时性介质。通常,被示出为分离的模块边界一般不同并且潜在地重叠。例如,第一和第二模块可以共享硬件、软件、固件、或其组合,而潜在地保留一些独立硬件、软件、或固件。在一个实施例中,术语逻辑的使用包括硬件(例如,晶体管、寄存器)、或其它硬件(例如,可编程逻辑器件)。
在一个实施例中,短语“被配置为”的使用是指布置、装配、制造、提供销售、导入和/或设计装置、硬件、逻辑、或元件以执行特定的或确定的任务。在该示例中,为进行操作的装置或其元件仍然“被配置为”执行特定的任务,如果其被设计、耦合、和/或互连以执行所述特定的任务。如纯示例性示例,逻辑门可以在操作期间提供0或1。但是逻辑门“被配置为”向时钟提供使能信号并不包括可以提供1或0的每个潜在的逻辑门。相反,该逻辑门为以一些方式耦合从而在操作期间1或0输出要使能时钟的一个逻辑门。再一次注意,术语“被配置为”的使用并不要求操作,但是相反专注于装置、硬件、和/或元件的潜在状态,其中在潜在状态中,装置、硬件和/或元件被设计为当该装置、硬件、和/或元件在运行时执行特定任务。
此外,在一个实施例中,短语“以”、“能够”、和/或“可操作以”的使用是指以这样的方式而设计的一些装置、逻辑、硬件、和/或元件:以指定的方式而使能该装置、逻辑、硬件、和/或元件的使用。在一个实施例中,如上所述的以、能够、或可操作以的使用是指装置、逻辑、硬件、和/或元件的潜在状态,其中装置、逻辑、硬件、和/或元件并不运行但是以这样的方式被设计:以指定方式使能装置的使用。
如在本文中使用的,值包括数字、状态、逻辑状态、或二进制逻辑状态的任何已知表示。通常,逻辑水平、逻辑值、或逻辑的值也被称为1和0,其仅表示二进制逻辑状态。例如,1指代高逻辑水平而0指代低逻辑水平。在一个实施例中,存储单元(例如,晶体管或闪存单元)可以能够保持单个逻辑值或多个逻辑值。然而,还没使用计算机系统中的值的其他表示。例如,十进制数十还可以被表示为二进制值1010和十六进制字母A。因此,值包括能够被保持在计算机系统中的信息的任何表示。
另外,可以由值或值的一部分来表示状态。例如,第一值(例如,逻辑一)可以表示默认或初始状态,而第二值(例如,逻辑零)可以表示非默认状态。另外,在一个实施例中,术语重置和设置分别是指默认和更新的值或状态。例如,默认值潜在地包括高逻辑值,即重置,而更新的值潜在地包括低逻辑值,即设置。应当注意值的任意组合可以用于表示任意数量的状态。
可以经由存储在机器可访问、机器可读、计算机可访问、或计算机可读介质上的可由处理单元执行的指令或代码,实现上文阐述的方法、硬件、软件、固件或代码的实施例。非瞬时性机器可访问/可读介质包括以由机器(例如,计算机、或电子系统)可读的形式提供(即,存储和/或传输)信息的任何机制。例如,非瞬时性机器可访问介质包括随机存取存储器(RAM),例如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪速存储器设备;电存储设备;光存储设备;声存储设备;用于保持从瞬时性(传播的)信号(例如,载波、红外信号、数字信号)接收到的信息的其它形式的存储设备;等,其区别于可以从其接收信息的非瞬时性介质。
用于编程逻辑以执行本发明的实施例的指令可以被存储在系统中的存储器内,例如DRAM、高速缓存、闪速存储器、或其它存储设备。此外,指令可以经由网络或通过其它计算机可读介质而分发。因此,计算机可读介质可以包括用于以由机器(例如,计算机)可读的形式存储或传输信息的任何机制,但不限于在经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)通过互联网而传输信息中所使用的软盘、光盘、光盘只读存储器(CD-ROM)、磁-光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁或光卡、闪速存储器、或有形、机器可读存储设备。由此,计算机可读介质包括适用于以由机器(例如,计算机)可读的形式存储或传输点指令或信息的任意类型的有形机器可读介质。
以下示例关于根据本说明书的实施例。一个或多个实施例可以提供装置、系统、机器可读存储设备、机器可读介质、和方法来提供包括状态表存储设备的代理,其用于保持状态表组,所述状态表组表示多个一致性协议动作,其中所述状态表组包括至少一个嵌套状态表,以及与所述状态表存储设备相关联的协议逻辑,所述协议逻辑接收一致性协议消息,并且至少部分地基于所述一致性协议消息,从所述状态表组确定所述多个一致性协议动作中的一个一致性协议动作。
在至少一个示例中,所述嵌套状态表包括还在所述状态表组中的至少一个其它状态表中所链接到的特定状态表。
在至少一个示例中,其中,所述特定状态表与对应于所述其它状态表的动作的子动作相对应。
在至少一个示例中,其中,所述特定状态表是通过所述状态表组中的多个不同状态表被链接到的。
在至少一个示例中,协议层逻辑在所述状态表组中识别与该消息相对应的特定状态表,识别与所述特定状态表的与所述消息的属性相对应的行,并且在所述行中识别对所述嵌套状态表的引用,其中所述一致性协议动作是至少部分地基于所述嵌套状态表而确定的。
在至少一个示例中,所述特定状态表包括与当前状态相对应的一个或多个列以及与下一状态相对应的一个或多个列,并且对所述嵌套状态表的所述引用被包括在与下一状态相对应的列中。
在至少一个示例中,所述一致性协议动作包括转换到由与下一状态相对应的列中的一个或多个单元格所指定的另一状态。
在至少一个示例中,所述消息包括监听、数据消息、完成、和转发响应消息中的至少一个。
在至少一个示例中,该表组实施协议的正式规范。
在至少一个示例中,所述协议包括一致性协议。
在至少一个示例中,该表组为机器可解析表。
在至少一个示例中,该表组包括明确非确定性的表。
在至少一个示例中,该表组缺少偏置字段。
一个或多个实施例可以提供装置、系统、机器可读存储设备、机器可读介质、和方法来提供状态表存储设备,其用于保持状态表组,所述状态表组表示多个一致性协议动作,其中所述协议表组包括至少一个嵌套状态表,以及适用于验证特定协议的状态机的至少一部分的测试引擎,其中验证所述状态机包括仿真代理的一致性协议动作,并且所述状态表组被用于根据所述特定协议仿真所述代理的一致性协议动作。
在至少一个示例中,所述特定协议包括一致性协议。在至少一个示例中,测试平台代理是根据所述状态表组生成的。在至少一个示例中,生成测试平台代理包括根据所述状态表组生成至少一个Murphi模型。在至少一个示例中,生成所述测试平台代理还包括将Murphi模型转换为至少一个类别定义。在至少一个示例中,所述测试平台代理,当被执行时,仿真所述代理的请求和响应。
在至少一个示例中,所述状态表组包括至少一个嵌套状态表。在至少一个示例中,所述嵌套状态表包括在所述状态表组中的至少一个其它状态表中所链接到的特定状态表。在至少一个示例中,所述嵌套状态表与对应于所述其它状态表的动作的子动作相对应。
一个或多个实施例可以提供装置、系统、机器可读存储设备、机器可读介质、和方法来接收一致性协议消息,在状态表组中识别与该消息相对应的特定状态表,其中,所述状态表组包括一个或多个嵌套状态表,在特定状态表中识别对另一嵌套状态表的引用,并且至少部分地基于所述另一状态表的内容而确定对所述消息的响应。
在至少一个示例中,所述响应包括状态转换和响应消息中的一个或多个。在至少一个示例中,响应消息包括监听响应消息、写回消息、读消息、数据消息、和转发请求消息中的至少一个。
在至少一个示例中,所述响应在测试中对代理的响应进行建模。在至少一个示例中,所述测试包括对协议的至少一部分的验证。在至少一个示例中,所述状态表组是明确非确定性的。
本说明书中通篇提到的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构、或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”在本说明书通篇中各处的出现并不一定指代同一实施例。此外,这些特定特征、结构、或特性可以以任何适当方式在一个或多个实施例中结合。
在前述说明书中,已经参照具体的示例性实施例给出了详细描述。然而,将会显而易见的是,可以对具体的示例性实施例进行各种修改和改变而不背离在所附权利要求中所阐述的本发明的宽泛精神和范围。由此,本说明书和图被认为在说明性的意义上而非在限制性的意义上。此外,实施例和其它示例性语言的前述使用并不一定指代同一实施例或同一示例,但是可以指代不同和独特的实施例,以及潜在地指代同一实施例。

Claims (35)

1.一种装置,包括:
代理,其包括:
状态表存储设备,其用于保持状态表组,所述状态表组表示多个一致性协议动作,其中,所述状态表组包括至少一个嵌套状态表;
与所述状态表存储设备相关联的协议逻辑,所述协议逻辑:
接收一致性协议消息;并且
至少部分地基于所述一致性协议消息,从所述状态表组确定所述多个一致性协议动作中的一个一致性协议动作。
2.根据权利要求1所述的装置,其中,所述嵌套状态表包括还在所述状态表组中的至少一个其它状态表中所链接到的特定状态表。
3.根据权利要求2所述的装置,其中,所述特定状态表与对应于所述其它状态表的动作的子动作相对应。
4.根据权利要求2所述的装置,其中,所述特定状态表是通过所述状态表组中的多个不同状态表被链接到的。
5.根据权利要求1所述的装置,其中,协议层逻辑:
在所述状态表组中识别与所述消息相对应的特定状态表;
识别与所述特定状态表的与所述消息的属性相对应的行;并且
在所述行中识别对所述嵌套状态表的引用;
其中,所述一致性协议动作是至少部分地基于所述嵌套状态表而确定的。
6.根据权利要求5所述的装置,其中,所述特定状态表包括与当前状态相对应的一个或多个列以及与下一状态相对应的一个或多个列,并且对所述嵌套状态表的所述引用被包括在所述与下一状态相对应的列中。
7.根据权利要求6所述的装置,其中,所述一致性协议动作包括转换到由所述与下一状态相对应的列中的一个或多个单元格所指定的另一状态。
8.根据权利要求1所述的装置,其中,所述消息包括监听、数据消息、完成、和转发响应消息中的至少一个。
9.根据权利要求1所述的装置,其中,所述表组实施协议的正式规范。
10.根据权利要求9所述的装置,其中,所述协议包括一致性协议。
11.根据权利要求9所述的装置,其中,所述表组为机器可解析表。
12.根据权利要求1所述的装置,其中,所述表组包括明确非确定性的表。
13.根据权利要求12所述的装置,其中,所述表组缺少偏置字段。
14.一种装置,包括:
状态表存储设备,其用于保持状态表组,所述状态表组表示多个一致性协议动作,其中,所述状态表组包括至少一个嵌套状态表;
测试引擎,其适用于验证特定协议的状态机的至少一部分,其中,验证所述状态机包括仿真代理的一致性协议动作,并且所述状态表组被用于根据所述特定协议仿真所述代理的一致性协议动作。
15.根据权利要求14所述的装置,其中,所述特定协议包括一致性协议。
16.根据权利要求14所述的装置,其中,所述测试引擎进一步用于根据所述状态表组生成测试平台代理。
17.根据权利要求16所述的装置,其中,生成测试平台代理包括根据所述状态表组生成至少一个Murphi模型。
18.根据权利要求17所述的装置,其中,所述生成所述测试平台代理还包括将所述Murphi模型转换为至少一个类别定义。
19.根据权利要求16所述的装置,其中,所述测试平台代理在被执行时仿真所述代理的请求和响应。
20.根据权利要求14所述的装置,其中,所述状态表组包括至少一个嵌套状态表。
21.根据权利要求20所述的装置,其中,所述嵌套状态表包括在所述状态表组中的至少一个其它状态表中所链接到的特定状态表。
22.根据权利要求21所述的装置,其中,所述嵌套状态表与对应于所述其它状态表的动作的子动作相对应。
23.一种方法,包括:
接收一致性协议消息;
在状态表组中识别与所述消息相对应的特定状态表,其中所述状态表组包括一个或多个嵌套状态表;
在特定状态表中识别对另一嵌套状态表的引用;并且
至少部分地基于所述另一状态表的内容而确定对所述消息的响应。
24.根据权利要求23所述的方法,其中,所述另一表与对应于所述特定状态表的动作的子动作相对应,其中,所述消息与所述动作相对应。
25.根据权利要求24所述的方法,其中,多个表引用所述另一表。
26.根据权利要求23所述的方法,其中,所述消息包括监听、数据消息、完成、和转发响应消息中的至少一个。
27.根据权利要求23所述的方法,其中,所述响应包括状态转换和响应消息中的一个或多个。
28.根据权利要求27所述的方法,其中,响应消息包括监听响应消息、写回消息、读消息、数据消息、和转发请求消息中的至少一个。
29.根据权利要求23所述的方法,其中,所述响应在测试中对代理的响应进行建模。
30.根据权利要求29所述的方法,其中,所述测试包括对协议的至少一部分的验证。
31.一种系统,包括:
本地代理,其用于服务于对一致性存储空间的请求;
高速缓存代理,其通信地耦合到所述本地代理,所述高速缓存代理根据一致性协议而对所述一致性存储空间做出请求;以及
状态表组,其表示所述一致性协议的状态机,其中,所述状态表组由所述本地代理和所述高速缓存代理中的一个或两者使用,并且所述状态表组包括至少一个嵌套状态表。
32.根据权利要求31所述的系统,其中,所述高速缓存代理进一步从所述本地代理接收对所述一致性存储空间的所述请求的响应。
33.根据权利要求32所述的系统,其中,所述高速缓存代理根据所述状态表组确定响应。
34.根据权利要求33所述的系统,其中,所述响应是至少部分地基于所述嵌套状态表的内容的。
35.根据权利要求31所述的系统,其中,所述状态表组是明确非确定性的。
CN201380049062.5A 2012-10-22 2013-03-15 一致性协议表 Active CN104756097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810337297.9A CN108614783B (zh) 2012-10-22 2013-03-15 一致性协议表

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22
PCT/US2013/032709 WO2014065880A1 (en) 2012-10-22 2013-03-15 Coherence protocol tables

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810337297.9A Division CN108614783B (zh) 2012-10-22 2013-03-15 一致性协议表

Publications (2)

Publication Number Publication Date
CN104756097A true CN104756097A (zh) 2015-07-01
CN104756097B CN104756097B (zh) 2018-05-15

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

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 高性能互连物理层

Family Applications After (10)

Application Number Title Priority Date Filing Date
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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933286A (zh) * 2016-04-05 2016-09-07 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置

Families Citing this family (200)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20010013089A1 (en) * 1998-03-12 2001-08-09 Wolf-Dietrich Weber Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US20050198192A1 (en) * 2004-01-20 2005-09-08 Van Doren Stephen R. System and method for conflict responses in a cache coherency protocol
CN1702858A (zh) * 2004-05-28 2005-11-30 英特尔公司 具有双向环路互连的多处理器芯片
CN101430664A (zh) * 2008-09-12 2009-05-13 中国科学院计算技术研究所 一种多处理器系统及Cache一致性消息传输方法
US20090198913A1 (en) * 2006-01-11 2009-08-06 Batson Brannon J Two-Hop Source Snoop Based Messaging Protocol
CN101971174A (zh) * 2008-03-06 2011-02-09 Gip股份公司 用于在网络中提供数据一致性的方法和程序

Family Cites Families (264)

* 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
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
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
US6665832B1 (en) * 2000-03-31 2003-12-16 Qualcomm, Incorporated Slotted mode decoder state metric initialization
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US6865231B1 (en) * 2000-06-20 2005-03-08 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated crossed differential pair correction
US7124252B1 (en) * 2000-08-21 2006-10-17 Intel Corporation Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US6668335B1 (en) 2000-08-31 2003-12-23 Hewlett-Packard Company, L.P. System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
US6892319B2 (en) * 2000-09-08 2005-05-10 Hewlett-Packard Development Company, L.P. Method for verifying abstract memory models of shared memory multiprocessors
US7327754B2 (en) 2000-09-28 2008-02-05 Teridian Semiconductor, Corp. Apparatus and method for freezing the states of a receiver during silent line state operation of a network device
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
EP1211837A1 (en) * 2000-12-04 2002-06-05 Telefonaktiebolaget Lm Ericsson Unequal error protection in a packet transmission system
EP1217613A1 (fr) * 2000-12-19 2002-06-26 Koninklijke Philips Electronics N.V. Reconstitution de trames manquantes ou mauvaises en téléphonie cellulaire
US6859864B2 (en) * 2000-12-29 2005-02-22 Intel Corporation Mechanism for initiating an implicit write-back in response to a read or snoop of a modified cache line
US20020161975A1 (en) * 2001-02-23 2002-10-31 Zilavy Daniel V. Cache to cache copying of clean data
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6987947B2 (en) 2001-10-30 2006-01-17 Unwired Technology Llc Multiple channel wireless communication system
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
US6941425B2 (en) * 2001-11-12 2005-09-06 Intel Corporation Method and apparatus for read launch optimizations in memory interconnect
US7227845B2 (en) * 2001-12-11 2007-06-05 Motorola, Inc. Method and apparatus for enabling a communication resource reset
US7117311B1 (en) * 2001-12-19 2006-10-03 Intel Corporation Hot plug cache coherent interface method and apparatus
US7030737B2 (en) 2002-03-01 2006-04-18 Hewlett-Packard Development Company, L.P. Apparatus, system, and method for indicating a level of network activity
US7200186B2 (en) * 2002-03-14 2007-04-03 Intel Corporation Methods and apparatus for reducing power usage of a transmitter and receiver coupled via a differential serial data link
US7334047B1 (en) * 2002-03-18 2008-02-19 Cisco Technology, Inc. Method and system for selective link state advertisement blocking over a data network area
US7653790B2 (en) * 2002-05-13 2010-01-26 Glasco David B Methods and apparatus for responding to a request cluster
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
US6973545B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. System with a directory based coherency protocol and split ownership and access right coherence mechanism
US20040028074A1 (en) * 2002-07-26 2004-02-12 Gary Huff Physical layer device with line state encoding
US7093172B2 (en) * 2002-08-07 2006-08-15 Broadcom Corporation System and method for determining on-chip bit error rate (BER) in a communication system
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7720135B2 (en) * 2002-11-07 2010-05-18 Intel Corporation System, method and device for autonegotiation
US7505486B2 (en) * 2002-11-19 2009-03-17 Hewlett-Packard Development Company, L.P. Degradable network data path transmission scheme
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
US20040174570A1 (en) 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
US6892283B2 (en) * 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
US7525989B2 (en) * 2002-12-16 2009-04-28 Intel Corporation System, method and device for time slot status messaging among SONET nodes
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7535836B2 (en) * 2003-02-12 2009-05-19 Broadcom Corporation Method and system to provide word-level flow control using spare link bandwidth
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
US7464307B2 (en) * 2003-03-25 2008-12-09 Intel Corporation High performance serial bus testing methodology
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US20050027876A1 (en) * 2003-07-29 2005-02-03 Toshitomo Umei Data transmission method, data transmission system, and data transmission apparatus
CN1320464C (zh) * 2003-10-23 2007-06-06 英特尔公司 用于维持共享高速缓存一致性的方法和设备
US7146284B2 (en) * 2003-11-07 2006-12-05 Texas Instruments Incorporated Method of testing phase lock loop status during a Serializer/Deserializer internal loopback built-in self-test
EP2247066B1 (en) * 2003-11-12 2012-09-26 Qualcomm Incorporated High data rate interface with improved link control
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7440468B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Queue management of a global link control byte in an input/output subsystem
US8009563B2 (en) 2003-12-19 2011-08-30 Broadcom Corporation Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
US7631118B2 (en) * 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
JP4005974B2 (ja) * 2004-01-09 2007-11-14 株式会社東芝 通信装置、通信方法、および通信システム
US7856534B2 (en) * 2004-01-15 2010-12-21 Hewlett-Packard Development Company, L.P. Transaction references for requests in a multi-processor network
US8176259B2 (en) * 2004-01-20 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for resolving transactions in a cache coherency protocol
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
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
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
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
US7492807B1 (en) 2008-04-07 2009-02-17 International Business Machines Corporation Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods
WO2009134218A1 (en) * 2008-04-28 2009-11-05 Hewlett-Packard Development Company, L.P. Virtual-interrupt-mode interface and method for virtualizing an interrupt mode
US8762652B2 (en) * 2008-04-30 2014-06-24 Freescale Semiconductor, Inc. Cache coherency protocol in a data processing system
CN101599811B (zh) * 2008-06-02 2011-04-06 华为技术有限公司 一种数据处理装置,通信设备以及数据处理方法
US7769048B2 (en) * 2008-06-25 2010-08-03 Intel Corporation Link and lane level packetization scheme of encoding in serial links
US8201069B2 (en) * 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US8205045B2 (en) 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
WO2010028365A1 (en) * 2008-09-08 2010-03-11 Samsung Electronics Co., Ltd. Sub-channel acquisition in a digital television receiver designed to receive mobile/handheld signals
KR101774202B1 (ko) * 2008-09-10 2017-09-01 넥스트나브, 엘엘씨 지상 비컨 네트워크 및 이를 이용한 위치 결정 신호 생성 및 송신 방법
US8917209B2 (en) * 2009-09-10 2014-12-23 Nextnav, Llc Coding in a wide area positioning system (WAPS)
US8265071B2 (en) * 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
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
US8924672B2 (en) * 2011-02-08 2014-12-30 Infineon Technologies Ag Device with processing unit and information storage
US8756378B2 (en) * 2011-02-17 2014-06-17 Oracle International Corporation Broadcast protocol for a network of caches
US8824489B1 (en) * 2011-04-26 2014-09-02 Marvell International Ltd. Physical layer (PHY) devices for use in automotive and industrial applications
US9189424B2 (en) 2011-05-31 2015-11-17 Hewlett-Packard Development Company, L.P. External cache operation based on clean castout messages
US8868955B2 (en) 2011-07-01 2014-10-21 Intel Corporation Enhanced interconnect link width modulation for power savings
US8788890B2 (en) * 2011-08-05 2014-07-22 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US8514889B2 (en) * 2011-08-26 2013-08-20 Sonics, Inc. Use of common data format to facilitate link width conversion in a router with flexible link widths
WO2013081580A1 (en) * 2011-11-29 2013-06-06 Intel Corporation Raw memory transaction support
US9442879B2 (en) * 2011-12-07 2016-09-13 Intel Corporation Multiple transaction data flow control unit for high-speed interconnect
CN103188059A (zh) 2011-12-28 2013-07-03 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20010013089A1 (en) * 1998-03-12 2001-08-09 Wolf-Dietrich Weber Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US20050198192A1 (en) * 2004-01-20 2005-09-08 Van Doren Stephen R. System and method for conflict responses in a cache coherency protocol
CN1702858A (zh) * 2004-05-28 2005-11-30 英特尔公司 具有双向环路互连的多处理器芯片
US20060041715A1 (en) * 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect
US20090198913A1 (en) * 2006-01-11 2009-08-06 Batson Brannon J Two-Hop Source Snoop Based Messaging Protocol
CN101971174A (zh) * 2008-03-06 2011-02-09 Gip股份公司 用于在网络中提供数据一致性的方法和程序
CN101430664A (zh) * 2008-09-12 2009-05-13 中国科学院计算技术研究所 一种多处理器系统及Cache一致性消息传输方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933286A (zh) * 2016-04-05 2016-09-07 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置
CN105933286B (zh) * 2016-04-05 2019-08-02 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置

Also Published As

Publication number Publication date
KR101861312B1 (ko) 2018-05-28
KR101831550B1 (ko) 2018-02-22
CN107102960B (zh) 2021-07-09
RU2014145179A (ru) 2016-05-27
WO2014065882A1 (en) 2014-05-01
CN108132892A (zh) 2018-06-08
US20190391939A1 (en) 2019-12-26
CN104391816A (zh) 2015-03-04
US20180203811A1 (en) 2018-07-19
US20220114122A1 (en) 2022-04-14
US9626321B2 (en) 2017-04-18
KR20170007523A (ko) 2017-01-18
CN104335196B (zh) 2017-10-13
CN104380269A (zh) 2015-02-25
CN107015924A (zh) 2017-08-04
KR20140141616A (ko) 2014-12-10
EP3410304A1 (en) 2018-12-05
WO2014065878A1 (en) 2014-05-01
US10216661B2 (en) 2019-02-26
CN106776364B (zh) 2020-07-17
WO2014065877A1 (en) 2014-05-01
KR101615908B1 (ko) 2016-04-27
KR101985120B1 (ko) 2019-05-31
CN107102960A (zh) 2017-08-29
US20150067207A1 (en) 2015-03-05
US20180143937A1 (en) 2018-05-24
CN107045479B (zh) 2020-09-01
US11741030B2 (en) 2023-08-29
KR20170007865A (ko) 2017-01-20
KR101700261B1 (ko) 2017-01-26
DE112013005093T5 (de) 2015-10-22
US10380046B2 (en) 2019-08-13
KR20160145197A (ko) 2016-12-19
WO2014065876A1 (en) 2014-05-01
KR101599852B1 (ko) 2016-03-07
JP2017188909A (ja) 2017-10-12
US20200356502A1 (en) 2020-11-12
DE112013004094B4 (de) 2018-03-29
KR101828756B1 (ko) 2018-02-12
CN106681938A (zh) 2017-05-17
JP6139689B2 (ja) 2017-05-31
WO2014065873A8 (en) 2014-07-10
CN108055214B (zh) 2021-04-13
KR20150047552A (ko) 2015-05-04
EP3410304B1 (en) 2021-09-22
CN104995614B (zh) 2018-04-06
KR20170042379A (ko) 2017-04-18
CN111737167B (zh) 2024-05-28
KR101815173B1 (ko) 2018-01-30
US20150261711A1 (en) 2015-09-17
KR101905055B1 (ko) 2018-10-08
CN108132892B (zh) 2022-02-11
WO2014065873A1 (en) 2014-05-01
KR101695340B1 (ko) 2017-01-11
CN108614783A (zh) 2018-10-02
WO2014065876A9 (en) 2015-02-26
CN108228495A (zh) 2018-06-29
CN104969206B (zh) 2017-12-26
DE112013005086T5 (de) 2015-09-03
CN104536933A (zh) 2015-04-22
KR20170012581A (ko) 2017-02-02
KR20180018853A (ko) 2018-02-21
US9378171B2 (en) 2016-06-28
US20180095927A1 (en) 2018-04-05
DE112013004094T5 (de) 2015-07-23
KR101861452B1 (ko) 2018-05-25
KR20150047550A (ko) 2015-05-04
CN104995614A (zh) 2015-10-21
KR20150077397A (ko) 2015-07-07
CN107015924B (zh) 2020-10-30
CN104380269B (zh) 2018-01-30
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
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
CN104756097A (zh) 一致性协议表
CN110036380A (zh) 用于高速互连中低延迟的双模phy
CN105718390B (zh) 共享存储器链路中的低功率进入
CN107077521B (zh) 片上系统配置元数据
CN109154924B (zh) 多个上行链路端口设备
CN104050138B (zh) 用于执行链路训练与均衡的装置、系统、和方法
CN110366842A (zh) 可调节的重定时器缓冲器
CN104932996B (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统
CN105593830B (zh) 用于测量电路的物理单元中的等待时间的方法、装置和系统
CN108701023A (zh) 带内重定时器寄存器访问
CN107430567A (zh) 共享缓冲存储器路由
CN108337910A (zh) 用于软件定义的互连交换机的架构
CN108604209A (zh) 扁平化端口桥
CN105793830A (zh) 在节点之间共享存储器和i/o服务
CN107111576A (zh) 发布的中断架构
CN116472523A (zh) 器件互连中的源排序
CN108292267A (zh) 总线-装置-功能地址空间的推测性枚举
CN110442532A (zh) 用于与主机相链接的设备的全球可存储存储器
CN109582998A (zh) 小巧PCIe端点的根复合体集成端点仿真
CN109844725A (zh) 点对点互连中的非对称通道
CN109643299A (zh) 在具有现有tlp定义的pcie上的持久存储器写入语义
US10120774B2 (en) Coherence protocol tables
CN105247476A (zh) 片上网格互连
CN107003838B (zh) 解码信息库
CN107750476A (zh) 边带导体谐振减轻

Legal Events

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