CN107003955B - 用于在根复合体中集成设备的方法、装置和系统 - Google Patents
用于在根复合体中集成设备的方法、装置和系统 Download PDFInfo
- Publication number
- CN107003955B CN107003955B CN201580062623.4A CN201580062623A CN107003955B CN 107003955 B CN107003955 B CN 107003955B CN 201580062623 A CN201580062623 A CN 201580062623A CN 107003955 B CN107003955 B CN 107003955B
- Authority
- CN
- China
- Prior art keywords
- transaction
- logic
- root port
- agent
- credit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
在一个实施例中,一种装置包括:半导体管芯,其包括但不限于:用以执行指令的至少一个核心;用以实行至少一个功能的代理;根复合体,其包括用以经由第一互连与要耦合到所述装置的第一设备相接口连接的第一根端口,和用以经由桥逻辑与所述代理相接口连接的第二根端口;以及桥逻辑,其用以将第二根端口接口连接到代理、将具有第一格式的来自于第一根端口的第一事务转换为第二格式以及将具有第二格式的第一事务传达到所述代理。描述并且要求保护其他实施例。
Description
技术领域
本公开涉及计算系统,以及更特别地(但不排他地)涉及将设备进行集成以耦合到根复合体。
附图说明
图1是根据本发明的实施例的SoC的一部分的框图。
图2是根据本发明的实施例的其中PCIe结构耦合到相应根端口的PCIe事务层的框图。
图3是图示了根据本发明的实施例的信用处理的框图。
图4A是根据本发明的实施例的用于第一链路和第二链路的初始化状态之间的示例映射的框图。
图4B是根据一个实施例的空闲状态机的状态图。
图5是根据本发明的实施例的用于执行链路初始化的方法的流程图。
图6是根据本发明的实施例的用于将事务从根端口传达到下游代理的方法的流程图。
图7是根据本发明的实施例的用于将事务从下游代理传达到根端口的方法的流程图。
图8是根据本发明的实施例的系统的框图。
图9是实施例可以与其一起使用的示例系统的框图。
图10是实施例可以与其一起使用的另一示例系统的框图。
图11是根据本发明的实施例的系统的框图。
图12是根据本发明的实施例的片上系统的框图。
具体实施方式
在下面的描述中,陈述了许多具体细节(诸如以下示例:处理器和系统配置的具体类型、具体硬件结构、具体架构和微架构细节、具体寄存器配置、具体指令类型、具体系统部件、具体测量结果/高度、具体处理器流水线阶段和操作等等)以便提供对本发明实施例的透彻理解。然而,将显而易见的是,对于本领域技术人员来说不需要采用这些具体细节来实践实施例。在其他情况下,尚未详细描述众所周知的部件或方法(诸如具体的和可替代的处理器架构、用于所描述的算法的具体逻辑电路/代码、具体固件代码、具体互联操作、具体逻辑配置、具体制造技术和材料、具体编译器实现方式、算法在代码中的具体表达、具体掉电(power down)和选通技术/逻辑以及计算机系统的其他具体操作细节),以便避免不必要地使所描述的实施例晦涩难懂。
尽管可以参考特定集成电路中(诸如计算平台或微处理器中)的能量节约和能量效率来描述以下实施例,但是其他实施例可适用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于也可以从更好的能量效率和能量节约中受益的其他类型的电路或半导体设备。例如,所公开的实施例不限于台式计算机系统或UltrabooksTM,并且还可以用于其他设备中,诸如手持设备,平板计算机,其他薄型笔记本电脑,片上系统(SoC)设备和嵌入式应用。手持设备的一些示例包括蜂窝电话,互联网协议设备,数字相机,个人数字助理(PDA)和手持PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机或可执行下文所教导的功能和操作的任何其他系统。此外,本文描述的装置、方法和系统不限于物理计算设备,而是还可以涉及用于能量节约和效率的软件优化。如在下面的描述中将变得显而易见的,本文描述的方法、装置和系统的实施例(无论是关于硬件、固件、软件还是其组合)对将来与性能考虑因素相平衡的“绿色技术”是至关重要的。
随着计算系统一直发展,其中的部件正变得越来越复杂。结果,要在部件之间耦合和通信的互连架构在复杂性方面也正在增加,以确保满足用于最佳部件操作的带宽要求。此外,不同的细分市场要求互连架构的不同方面以适应市场的需求。例如,服务器需要更高的性能,而移动生态系统有时能够牺牲总体性能以实现功率节省。然而,大多数结构的单一目的是在最大功率节省的情况下提供最高可能的性能。下面讨论了多种互连,其将潜在地受益于本文所描述的实施例。
诸如外围部件互连Express(PCI Express(PCIe))根复合体之类的根复合体通常包括多个根端口,每个根端口具有与给定PCIe通信协议兼容的完整协议栈(物理、链路、事务和协议),诸如在外围部件互连Express(PCI Express(PCIe))规范基础说明书版本2.0(2007年出版)或其他此类规范(以下称为PCIe规范)中所描述的。这些根端口为包括根复合体(诸如片上系统(SoC)或其他处理器)的集成电路提供接口,使得平台的设备可以经由对应的根端口耦合到根复合体。
PCIe根端口提供了将非零总线号分配给PCIe设备的能力,这进而使得能够实现单根输入/输出(I/O)虚拟化(SRIOV),使得可以以大量的虚拟功能来列举这些设备。本文描述的实施例使得集成在给定SoC或其他处理器内的一个或多个设备能够支持SRIOV。换句话说,实施例提供对用于根复合体集成设备的非零总线号列举(以及因此SRIOV)的支持,因为这样的设备与根复合体集成在相同的管芯中,而不是集成在根复合体本身中。
在一些实施例中,集成设备可以支持与PCIe不同的协议。例如,在某些情况下,这样的集成设备可以支持与给定通信协议(诸如由半导体制造商或设计者发布的集成的片上系统结构(IOSF)规范)的兼容性以提供用于将知识产权(IP)块或逻辑(“块”和“逻辑”在本文中可互换使用)附着在诸如SoC的芯片内的标准化的管芯上互连协议。这样的IP块可以具有不同类型,包括通用处理器(诸如有序或无序的核心)、固定功能单元、图形处理器、IO控制器、显示控制器、媒体处理器,除了许多其他的以外。注意的是,许多不同类型的IP代理可以集成在不同类型的芯片中。相应地,半导体制造商不仅可以跨各种各样的客户细分高效地设计不同类型的芯片,其还可以通过规范来使得第三方能够将诸如IP代理之类的逻辑设计为结合在这样的芯片中。并且此外,通过为互连协议的许多方面提供多个选项,有效地适应了设计的重用。
为了使非PCIe设备能够接口连接到PCIe根复合体,可以在根端口和IP块之间适配桥逻辑。在一个实施例中,LOSF-PCIe桥的主要逻辑将根端口的PCIe事务层接口连接到IOSF协议,并且从而执行PCIe和IOSF协议之间的协议和接口转换。在一个实施例中,该转换采用并行IOSF通信并将其转换为PCIe串行通信,反之亦然。更进一步地,桥逻辑实现链路初始化逻辑,以将IOSF链路初始化进程映射到PCIe链路初始化进程。桥逻辑可以进一步实现PCIe信用处理机制,以将信用从PCIe信用转化为IOSF信用,反之亦然。此外,桥逻辑支持在边带接口上传达的遗留中断和错误消息,并且桥逻辑实现将这些边带消息接口连接到根端口。更进一步地,桥逻辑可以包括空闲状态管理逻辑,以使得能够实现IOSF协议的空闲和功率管理流的交互,以映射到PCIe协议的各种规则。
因此,通过经由桥逻辑与具有如本文所描述的逻辑的根复合体进行接口连接,实施例支持用于SoC或其他处理器内的一个或多个集成IP块的SRIOV。在一些情况下,集成IP块可以经由诸如如本文所描述的IOSF协议互连之类的管芯上辅助互连来耦合到PCIe根端口。实施例可以被用于许多不同类型的系统中。作为示例,本文所描述的实现方式可以结合半导体设备(诸如可以在单个半导体管芯上制造的处理器或其他半导体设备)来使用。在特定实现方式中,设备可以是SoC或其他高级处理器或芯片组,其包括各种同构和/或异构处理代理,以及附加部件,诸如联网部件(例如路由器)、控制器、桥设备、设备、存储器等等。
现在参考图1,其示出了根据本发明实施例的SoC的一部分的框图。如图1中所示,该SoC部分100包括根复合体110,其可以是PCIe根复合体。注意的是,为了易于说明,仅示出根复合体的部分。具体示出了根端口1120-112n。这些根端口可以在下游侧上与如本文所描述的接口或桥逻辑相接口连接。具体在图1中所示,对应的IP逻辑1300-130n之间的桥逻辑1200-120n接口可以是根端口1120-112n和IOSF协议的逻辑块。
在不同的实施例中,根复合体110可以包括多个PCIe根端口,其可以是分支成较小端口的独立端口或更宽的端口。为了易于说明,并未示出要与非集成(管芯外)设备接口连接的这样的根端口。桥逻辑120可以针对要连接到桥的另一侧上的IP块130的每个根端口112来实例化。桥逻辑120可以使用PCIe串行接口耦合到对应的根端口112,其中报头和数据信息两者经由单个互连在事务级被串行发送。在桥逻辑120的另一侧上,可以是IOSF结构的互连135由并行总线协议来配置,其中在独立互连上发送报头和数据信息。因此,桥逻辑120被配置为在上游侧上经由基于PCIe的链路115(其在如本文所描述的事务级处进行通信)与根复合体112通信,并且经由IOSF链路135向下游与对应的IP逻辑130通信。
仍然参考图1,IP逻辑130耦合到边带网络140,其在一个实施例中是耦合到根复合体110并且更具体地耦合到中断处理程序116和错误处理程序118的IOSF边带结构。如图1中所见,IP逻辑130支持经由边带网络140传达的遗留中断(例如,INTA/B/C/D)和错误消息(致命的、非致命的和可校正的)。中断处理程序116和错误处理程序118接口连接到边带网络140,并且将边带消息分别转换成根端口的主中断和错误逻辑(为了易于说明而未图示出)。注意的是,这样的处理程序通常不存在于PCIe中断复合体中,而是在这里配置成提供接口来处理由IP逻辑块130经由边带网络140传达的各种遗留中断错误消息发送。尽管在图1的实施例中以这种高级别示出,但变化是可能的。
现在参考图2,在另一视图中示出了SoC 100,其中PCIe结构105耦合到对应的根端口112的PCIe事务层。如所示的,PCIe结构105包括出站缓冲器106。在一个实施例中,缓冲器106可以被布置为针对报头和数据信息而分离的、用于多个消息类别(发布、未发布和完成)中的每个消息类别的单独的先入先出(FIFO)缓冲器。进而,在入站路径上,入站缓冲器108可以被实现为用于每个单独消息类别的多报头FIFO。虽然入站数据FIFO 109在图2的实施例中被示为根端口112的一部分,但是要理解的是,在其他情况下该缓冲器可以是PCIe结构105的一部分。
现在参考根端口112,注意到根端口112仅包括事务层,并且不包括链路层或物理层(注意,被配置为片外通信的其他实例化端口(图2中未示出)可以是具有所有事务层、链路层和物理层的常规根端口)。在所示的实施例中,根端口112包括被实现为数据FIFO的缓冲器109和在上游方向上在桥逻辑120和PCIe结构105之间进行接口连接的事务层接收器113。根端口112还包括配置成在下游方向上在PCIe结构105和桥逻辑120之间进行接口连接的出站仲裁逻辑111。
现在参考桥逻辑120的细节,在下游方向上,第一接口逻辑128被配置为将进入的事务从PCIe适配为IOSF格式,即将这样的事务分离成报头和数据信息,并将信息提供给时钟交叉逻辑125a的单独的路径,该时钟交叉逻辑125a在所示出的实施例中被实现为异步格雷编码的FIFO(AGF)。进而,AGF 125a耦合到格式转换逻辑124a。在该下游方向上,格式转换逻辑124a被配置为将进入的事务层分组转换为IOSF格式,并且在耦合在桥逻辑120和IP逻辑130之间的主IOSF互连135的单独的数据和报头链路上输出单独的数据和报头信息。
在上游方向上,桥逻辑120包括AGF 125b,以从IP逻辑130接收进入的数据和报头信息,并在适当时执行时钟变换,并且将分离的数据和报头信息提供给格式转换逻辑124b,该格式转换逻辑124b将来自IOSF的信息转换为PCIe事务层格式。
仍然参考桥逻辑120,提供一组请求队列126以用于存储进入的请求。桥逻辑120还包括用于信用信息的影子存储装置,该影子存储装置包括关于IP逻辑130存储关于可用信用的信息的出站信用存储装置122a和关于根端口112/PCI结构105存储关于可用信用的信息的入站信用存储装置122b。如进一步所见,桥逻辑120还包括仲裁逻辑123,其被配置为执行关于上游通信的仲裁并且例如基于请求队列126中的可用信用和未决请求来向IP逻辑130提供对应的授权。仍然进一步参考桥逻辑120,存在空闲状态机(ISM)127,其可以将基于PCIe的链路初始化进程映射到用于互连135的基于IOSF的初始化进程并且执行功率管理活动。
在下游方向上,桥逻辑120实现基于请求授权的协议,其中IP块130投放具有有效负荷信息大小的事务请求(发布,未发布和完成)。进而,仲裁逻辑123在对特定请求给予授权之前检查由根端口112通告的报头和数据信用两者。一旦事务在桥逻辑120中赢得入站仲裁,则保证其被根端口112吸收(sink)。
在给定的实现方式中,IOSF接口(以及因此IOSF仲裁和信用计数器)可能处于与根端口112相比时的不同的时钟频率。在此场景下,从根端口112到桥逻辑120的信用交换通过时钟域交叉逻辑125b(例如,异步格雷编码的FIFO)而发生。如图2中所示,来自IP逻辑130的报头和数据链路通过时钟域交叉逻辑125b耦合,以匹配根端口112和桥逻辑120中的不同时钟域。仲裁逻辑123确保在授权从IP块130到根端口112的特定事务时遵循PCIe排序规则。格式转换逻辑124b将来自IOSF协议格式的入站事务转换为PCIe协议格式,使得可以由根端口112来了解分组。与格式转换一起,转换逻辑124b还实现与串行转换并行地实现。如图2中所示,IP逻辑130在不同的互连上发送报头和数据信息。格式转换逻辑124b取得该报头和数据信息,并将其串行化成具有起始和结束标记的串行流(如被根端口112所了解的)以指示分组的开始/结束。
针对要从根端口112发送到IP块130的事务,根端口112中的仲裁逻辑111基于出站FIFO 106中的可用分组和在IP块130上可用的出站信用进行仲裁,如由信用存储装置122a中的信息所指示的。桥逻辑120实现从IP块130到桥逻辑120的信用返回机制,其每当IP逻辑块130中的缓冲器变得空闲时返回信用。将这些信用从桥逻辑120中的影子信用计数器存储装置122a传递到根端口112的仲裁逻辑111。这些信用被仲裁逻辑111用于确定要发送到IP块130的特定类型的事务。一旦事务在根端口112的事务层中赢得出站仲裁,则保证其被IP块130吸收。
虽然为了易于说明而未示出,但要理解的是,IP逻辑130包括也被称为空闲状态机(ISM)的初始化逻辑。为了支持PCIe样式列举,桥逻辑120在对应的ISM 127中实现唯一的状态(重置状态)。在重置去断言之后,ISM 127被配置为等待重置状态,直到基本输入输出系统(BIOS)编程特定配置寄存器中的给定指示符(例如,启动IOSF指示符)。在ISM 127处于此重置状态之前,根复合体110的初始化逻辑被指示为处于PCIe链路不可用状态(downstate),以伪装或模拟从物理链路正接收状态信息,尽管并不存在要耦合到根端口112的管芯外链路。一旦BIOS编程适当的指示符,则ISM 127继续进行通过不同状态以完成初始化。当ISM 127处于信用请求状态中时,桥逻辑120通知根端口112物理层可用(up)(尽管对于该链路并不存在物理层或管芯外互连)。
此时,ISM 127在入站和出站路径两者上执行信用初始化。在这个信用初始化期间,出站信用被传送到根端口112,就像它们正来自物理链路一样。一旦ISM 127完成信用初始化,则桥逻辑120通知根端口112链路层可用(up),并且在那时,根端口112占有出站信用值并将它们保存为从IP逻辑130接收到的初始信用。
在常规PCIe端口中,L1状态(链路禁用状态)被视为空闲状态,并且被功率管理逻辑用于进入低功率状态。桥逻辑120将互连135的空闲状况映射到PCIe的L1状态。与其中功率管理逻辑指示链路进入L1状态中的PCIe不同,当互连135上没有事务未决时,桥逻辑ISM127自动进入空闲状态。为了避免从IP块130发送事务同时包括根复合体110的封装处于低功率状态,在此状况下针对IP块130和桥逻辑120来选通时钟。在检测到唤醒事件时,功率管理逻辑去选通时钟,并允许事务取得进展。
现在参考IP逻辑130,存在各种缓冲器132、134、136和138,其为多个消息类别中的每个消息类别的不同事务的数据和报头信息提供存储。在一个实施例中,IP逻辑130可以支持3个独立接口,即主接口、边带消息接口和可测试性和调试接口(测试设计(DFT)、调试设计(DFD)接口))。更具体地说,IP逻辑130可以支持0-N主接口、0-N边带消息接口和可选的DFx接口。互连135可以是在不同代理之间移动数据的硬件元件。注意的是,互连的拓扑结构是产品特定的,并且可以实现为总线、分层总线、级联中枢等等。互连135可以是用于所有带内通信的主接口结构。主接口结构还可以使得能够实现代理和所支持结构之间的对等事务的通信。包括存储器、输入输出(IO)、配置和带内消息发送的所有事务类型都可以经由此主接口结构来递送,这可以充当用于在对等体之间传输的数据和/或与上游部件的通信的高性能接口。
在各种实现方式中,互连135实现分割事务协议以获得最大并发性。也就是说,该协议提供请求阶段、授权阶段以及命令和数据阶段。在各种实施例中,互连135支持三种基本请求类型:发布、未发布和完成。通常,发布的事务是下述事务,其当被一个源发送时被所述源认为是完成的并且所述源未接收到关于该事务的完成或其他确认消息。发布的事务的一个这样的示例可以是写入事务。相比之下,未发布的事务在接收到返回消息(即完成)之前,不被所述源认为是完成的。未发布的事务的一个示例是读取事务,其中源代理请求对数据的读取。相应地,完成消息提供所请求的数据。
此外,互连135支持不同信道的概念,以提供用于遍及系统的独立数据流的机制。互连135本身可以包括发起事务的主接口和接收事务的目标接口。主要的主接口可以进一步细分成请求接口、命令接口和数据接口。请求接口可用于为事务的命令和数据的移动提供控制。在各种实施例中,互连135可以支持PCI排序规则和列举。
进而,边带网络140可以是用于传达所有带外信息的标准机制。以这种方式,可以避免针对给定实现方式而设计的专用线,从而增强跨各种各样的芯片的IP重用的能力。因此,与使用专用线来处理诸如状态、中断、功率管理、融合分配、配置遮蔽(shadowing)、测试模式等等的带外通信的IP块相对比,边带网络140标准化所有带外通信、促进模块性,并减少跨不同设计的对于IP重用的验证要求。通常,边带网络140可以用来传达非性能关键信息,诸如中断和错误信息,而不是用于通常可以经由主接口结构传达的性能关键数据传输。理解的是,虽然在图2的实施例中以此高级别示出,但许多变化和替代方案是可能的。
现在参考图3,其示出的是图示了根据本发明实施例的信用处理的框图。如图3中所示,根端口112包括多个信用计数器1170-117n,其中的每一个都可以与特定消息类别和信息类型(例如,报头或数据)相关联。在一个实施例中,每个信用计数器都可以被配置为维持可用信用的计数,例如对应于对应数据FIFO 109和报头FIFO 108中的用于入站信息的可用空间。当在给定缓冲器中空间变得可用时更新这样的信用计数器的时候,信用返回消息被发送到桥逻辑120。进而,在适当时更新相应的影子信用计数器122b。
仲裁逻辑123由包括信用检查器123a和仲裁器123b的构成逻辑所形成。信用检查器123a被配置为确定哪些消息类别和信息类型具有可用信用,并将该信息提供给仲裁器123b,其可以至少部分地基于此信用信息来关于要在上游或入站方向上发送的事务做出仲裁决定。理解的是,虽然在图3中以此高级别示出,但许多变化和替代方案是可能的。
现在参考图4A,其示出了根据本发明的实施例的用于第一链路和第二链路的初始化状态之间的示例映射的框图。如图4的实施例中所示,IOSF初始化状态180和PCIe初始化状态190可以被相互映射。注意,这些状态中的某些可以根据底层通信协议而被修改,并且进一步地,为了至少在PCIe侧上维持两个不同通信协议的这些初始化状态之间的映射而识别某些状态(即使底层状态不可用),因为不存在完整的PCIe协议栈(包括链路层和物理层)。
因此,如图4A中所见,IOSF协议的ISM重置状态182被映射到PCIe链路不可用状态192。ISM信用请求状态184被映射到PCIe物理层可用状态194。ISM信用初始化状态186被映射到PCIe信用初始化状态196。进而,信用初始化完成状态188被映射到PCIe链路层可用状态198。因此,桥逻辑的ISM可以映射对应状态以使得信用分配和其他链路初始化操作能够发生,即使不存在完整的PCIe协议栈。
现在参考图4B,示出了根据本发明实施例的用于空闲状态机的状态图。在图4B的实施例中,空闲状态机可以具有在(例如,IOSF协议的)代理和PCIe结构之间进行接口连接的桥逻辑。如所看到的,在重置时,进入重置状态1000。此后,IOSF操作开始,并且状态机进入空闲状态0000。从该空闲状态,控制进行到信用请求状态0100或活动请求状态0010。当在信用请求状态中时,下一个转变将是信用确认状态0110,并且此后进行到信用初始化状态0101(并且此后回到空闲状态)。
仍然参考图4B,从活动请求状态0010,控制进行到信用请求状态0100或活动状态0011。在活动操作期间,控制可以在活动状态0011和空闲NAK状态0001之间迭代地进行。理解的是,图4B中所示的实际状态和转变是代表性的,并且在其他实施例中可以变化。此外,理解的是,由图4B的状态表示的ISM可以呈现与用于IOSF代理的空闲状态机(以及针对PCIe代理和结构的类似控制)不同的状态和转变。
因此,实施例可以用来将IP块集成到SoC或其他处理器中,特别是对IP块进行集成以耦合到PCIe根复合体的这种设备。作为示例,处理器可以包括经由PCIe辅助总线集成到(单个管芯上的)处理器中的一个或多个IP块(其是PCIe设备)。虽然本发明的范围不受限于这一点,但是这样的SoC可以被包括在微服务器或其他计算平台中,其中SoC在集成设备上支持SRIOV。
现在参考图5,其示出了根据本发明实施例的用于执行链路初始化的方法的流程图。如图5中所示,方法200可以通过硬件、软件和/或固件(诸如根端口的初始化逻辑)以及一个或多个空闲状态机(诸如桥逻辑的空闲状态机以及耦合到桥逻辑的代理的空闲状态机)的组合来执行。在一些实施例中,这样的逻辑可以被实现为一个或多个微控制器、状态机或其他硬编码逻辑。如所见的,方法200开始于执行链路初始化以初始化根端口和桥逻辑之间的第一链路,并且进一步初始化桥逻辑与代理之间的第二链路(块205)。接下来,控制传递到块210,在那里在桥逻辑的影子信用计数器中针对根端口初始化信用。这些影子信用计数器可以采用与根端口中存在的信用计数器相对应的一组信用计数器的形式,使得关于根端口中的可用信用的信息对于桥逻辑是可用的。在块215处,可以在桥逻辑的影子信用计数器中针对代理初始化信用。更进一步地,关于可用信用的这种信息也可以被传达到根端口本身,即根端口的事务层。通过将代理的这种信用信息提供给根端口本身,根端口的仲裁逻辑可以使其仲裁决定至少部分地基于可用信用信息,以使得当由根端口选择并输出事务时,保证该事务被成功接收并存储在代理的可用缓冲器中。理解的是,虽然在图5的实施例中以此高级别示出,但许多变化和替代方案是可能的。
现在参考图6,其示出了根据本发明实施例的用于将事务从根端口传达到下游代理的方法的流程图。如图6中所示,如上所述,可以由根端口、桥逻辑和代理的各种逻辑来执行方法220。
在块225处,在桥逻辑中从根端口接收事务。理解的是,该事务可以具有不同类型之一(例如,发布、未发布或完成),并且可以包括各种报头、命令和有效载荷信息。在块230处,可以在桥逻辑的时钟交叉逻辑中执行频率转换。在一个实施例中,可以使用AGF来执行时钟交叉操作,使得在第一频率下从根端口接收到的数据可以以第二潜在不同的频率输出到代理。
仍然参考图6,控制接下来传递到块235,在那里可以转换事务的格式。更具体地,可以将根据PCIe协议的格式接收到的PCIe事务转换为IOSF协议的格式。理解的是,虽然本文所描述的示例是关于PCIe/IOSF通信,但本发明的范围不受限于这一点,并且在其他实施例中,其他协议之间的通信是可能的。注意的是,该格式转换可以包括将存在于PCIe分组中的报头和数据信息分离成单独的命令和数据部分,其用于在IOSF互连的主接口的单独的命令和数据路径上进行通信。控制接下来传递到菱形240以确定用于给定类型的事务的代理中是否有足够的信用可用。如果是这样,则控制传递到块245,在那里经由第二互连的单独的命令接口和数据接口将事务发送到代理。否则,事务可以被保持在桥逻辑的缓冲器或其他存储装置中,直到这样的信用可用(使得控制从菱形240传递到块245以便传送此事务)。理解的是,虽然在图6的实施例中以此高级别示出,但许多变化和替代方案是可能的。
现在参考图7,其示出了根据本发明实施例的用于将事务从下游代理传达到根端口的方法的流程图。如图7中所示,如上所述,可以由根端口、桥逻辑和代理的各种逻辑来执行方法220。
如图7中所见,方法250开始于从代理在桥逻辑中接收事务的报头信息和数据信息(块255)。在块260处,可以在时钟交叉逻辑(例如,AGF)中执行频率转换。接下来,确定给定的事务是否已经被仲裁器选择(菱形265)。虽然本发明的范围不受限于这一点,但是这种仲裁可以在桥逻辑的仲裁逻辑中执行,并且可以是基于关于在事务的优先级下针对给定类型的事务在根端口中是否有足够的信用可用的确定和/或基于其他信息。当选择给定事务时,控制传递到块270,在那里可以将事务格式从第二格式转换为第一格式。例如,可以将事务的单独命令和数据信息合并成组合事务。此后,控制传递到块275,在那里经由第一互连将事务发送到根端口。理解的是,虽然在图7的实施例中以此高级别示出,但许多变化和替代方案是可能的。
理解的是,包括如本文所描述的集成设备的处理器或SoC(或其他集成电路)可以在许多不同的系统中使用,范围从小型便携式式设备到高性能计算系统和网络。现在参考图8,其示出了根据本发明实施例的系统的框图。在图8的实施例中,系统900可以是包括多个域的SoC,每个域可以被控制以在独立的操作电压和操作频率下进行操作。作为具体的说明性示例,系统900可以是基于Intel® Architecture CoreTM的SoC,诸如i3、i5、i7或可从Intel公司获得的另一种这样的处理器。然而,诸如可从加利福尼亚州桑尼维尔市的Advanced Micro Devices有限公司(AMD)获得的其他低功率SoC或处理器、来自ARM股份有限公司或其被许可方的基于ARM的设计或者来自加利福尼亚州桑尼维尔市的MIPS技术有限公司或其被许可方或采纳方的基于MIPS的设计可以作为代替而存在于其他实施例中,诸如Apple A7处理器、Qualcomm Snapdragon处理器或德州仪器OMAP处理器。这样的SoC可以用在诸如智能电话、平板计算机、平板手机计算机、UltrabookTM计算机、IoT设备、可穿戴设备或其他便携式计算设备之类的低功率系统中。
在图8中所示的高级别视图中,SoC 900包括包含多个核心的核心域910。核心域910可以包括一个或多个处理器核心、一个或多个高速缓存存储器和其他电路。域的每个核心可以支持一个或多个指令集(例如,x86指令集(具有已经添加有较新版本的一些扩展);MIPS指令集;ARM指令集(具有可选的附加扩展,诸如NEON))或其他指令集或其组合。注意,一些核心单元可以是异构资源(例如,具有不同的设计)。另外,每个这样的核心可以耦合到高速缓存存储器(未示出),其在一个实施例中可以是共享级(L2)高速缓存存储器。非易失性存储装置930可以用来存储各种程序和其他数据。例如,该存储装置可以用来存储微代码、启动信息(诸如BIOS)、其他系统软件等等的至少部分。
核心域910还可以包括诸如网络接口之类的接口,以使得能够实现与SoC的附加电路的互连。在一个实施例中,核心域910耦合到根复合体915并且耦合到存储器控制器935。进而,存储器控制器935控制与存储器(诸如DRAM(图8中为了易于说明而未示出))的通信。
根复合体915可以包括各种根端口,其包括仅包含要与桥逻辑920接口连接的事务层的具有如本文所描述的完整事务层、链路层和物理层以及根端口的常规PCIe报告。理解的是,虽然为了易于说明而示出了单个桥逻辑920,但可以提供多个桥逻辑,其每个在根复合体915的对应根端口和对应设备925之间进行接口连接,该对应设备925可以是集成设备,诸如专用处理器、加速器或其他此类设备。桥逻辑920可以被配置为在对应根端口的事务层和给定设备925之间进行接口连接,并且执行本文所描述的各种初始化、信用管理、事务和频率转换以及功率状态管理操作。
也可以存在其他加速器。在图8的图示中,视频编码器950可以执行编码操作,包括针对视频信息进行编码和解码,例如为高清视频内容提供硬件加速支持。还可以提供显示控制器955以加速显示操作,包括提供对系统的内部和外部显示的支持。此外,可以存在安全处理器945以执行安全操作。每个单元可以经由功率管理器940来控制其功耗,该功率管理器940可以包括控制逻辑以执行各种功率管理技术。
在一些实施例中,SoC 900还可以包括与各种外围设备可以耦合到的连贯结构相耦合的非连贯结构。一个或多个接口960a-960d使得能够实现与一个或多个片外设备的通信。这种通信可以根据各种通信协议,诸如PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI,除了其他类型的通信协议以外。尽管在图8的实施例中以此高级别示出,但理解的是本发明的范围不受限于这一点。
现在参考图9,其示出了实施例可以与其一起使用的示例系统的框图。如所见的,系统1200可以是智能电话或其他无线通信器。基带处理器1205被配置为关于要从系统传送或由系统接收的通信信号执行各种信号处理。进而,基带处理器1205耦合到应用处理器1210,应用处理器1210可以是用以执行OS和其他系统软件(除了诸如许多众所周知的社交媒体和多媒体应用之类的用户应用之外)的系统的主SoC。应用处理器1210还可以被配置为对设备执行各种其他计算操作,并且可以包括如本文所描述的管芯上互连架构,包括根端口、桥逻辑和集成设备。
进而,应用处理器1210可以耦合到用户接口/显示器1220,例如触摸屏显示器。此外,应用处理器1210可以耦合到包括非易失性存储器(即闪速存储器1230)和系统存储器(即动态随机存取存储器(DRAM)1235)的存储器系统。如进一步所看到的,应用处理器1210进一步耦合到捕获设备1240,诸如可以记录视频和/或静止图像的一个或多个图像捕获设备。
仍然参考图9,包括订户身份模块和可能的安全存储装置和密码处理器的通用集成电路卡(UICC)1240也耦合到应用处理器1210。系统1200还可以包括可以耦合到应用处理器1210的安全处理器1250。多个传感器1225可以耦合到应用处理器1210以使得能够输入各种感测信息,诸如加速度计信息和其他环境信息。音频输出设备1295可以提供要例如以语音通信,播放或流送音频数据等等的形式输出声音的接口。
如进一步所图示,提供了经由NFC天线1265在NFC近场中进行通信的近场通信(NFC)非接触式接口1260。虽然在图9中示出了单独的天线,但理解的是,在一些实施方式中可以提供一个天线或不同的天线组以使得能够实现各种无线功能。
功率管理集成电路(PMIC)1215耦合到应用处理器1210以执行平台级功率管理。为此,PMIC 1215可以向应用处理器1210发布功率管理请求,以根据需要输入某些低功率状态。此外,基于平台约束,PMIC 1215还可以控制系统1200的其他部件的功率水平。
为了使得通信能够被传送和接收,各种电路可以耦合在基带处理器1205和天线1290之间。具体地,可以存在射频(RF)收发器1270和无线局域网(WLAN)收发器1275。通常,RF收发器1270可以用来根据诸如3G或4G无线通信协议之类的给定无线通信协议来接收和传送无线数据和呼叫,诸如根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议。此外,可以存在GPS传感器1280。还可以提供其他无线通信,诸如无线电信号(例如AM/FM和其他信号)的接收或传送。此外,经由WLAN收发器1275,还可以实现本地无线通信(诸如根据BluetoothTM标准或IEEE 802.11标准(诸如IEEE 802.11a/b/g/n))。
现在参考图10,其示出了实施例可以与其一起使用的另一示例系统的框图。在图10的图示中,系统1300可以是诸如平板计算机,2:1平板设备、平板手机或其他可转换或独立平板系统之类的移动低功率系统。如所图示的,存在SoC 1310并且其可以被配置为作为用于设备的应用处理器进行操作。SoC 1310可以包括如本文所描述的管芯上互连架构,包括根端口、桥逻辑和集成设备。
各种设备可以耦合到SoC 1310。在所示的图示中,存储器子系统包括耦合到SoC1310的闪速存储器1340和DRAM 1345。另外,触摸面板1320耦合到SoC 1310以提供显示能力和经由触摸的用户输入,包括在触摸面板1320的显示器上提供虚拟键盘。为了提供有线网络连接性,SoC 1310耦合到以太网接口1330。外围中枢1325耦合到SoC 1310,以使得能够与诸如可以通过各种端口或其他连接器中的任何一个耦合到系统1300的各种外围设备相接口连接。
除了SoC 1310内的内部功率管理电路和功能之外,PMIC 1380耦合到SoC 1310以提供基于平台的功率管理,例如,基于该系统是由电池1390供电还是经由AC适配器1395由AC功率供电。除了这种基于功率源的功率管理之外,PMIC 1380还可以基于环境条件和使用条件进一步执行平台功率管理活动。更进一步,PMIC 1380可以将控制和状态信息传达到SoC 1310,以引起SoC 1310内的各种功率管理动作。
仍然参考图10,为了提供无线能力,WLAN单元1350耦合到SoC 1310,并且进而耦合到天线1355。在各种实现方式中,WLAN单元1350可以提供根据一个或多个无线协议的通信,包括IEEE 802.11协议,BluetoothTM协议或任何其他无线协议。
如进一步所图示的,多个传感器1360可以耦合到SoC 1310。这些传感器可以包括各种加速度计传感器、环境传感器和其他传感器,包括用户手势传感器。最后,音频编解码器1365耦合到SoC 1310以提供与音频输出设备1370的接口。当然理解的是,虽然以图10中的此特定实现方式示出,但许多变化和替代方案是可能的。
现在参考图11,其示出了根据本发明实施例的系统的框图。如图11中所示,多处理器系统1500(诸如高性能计算系统)可以进而耦合到HPC网络的其他系统。系统1500包括经由点对点互连1550耦合的第一处理器1570和第二处理器1580。如图11中所示,处理器1570和1580中的每一个可以是许多核心处理器,包括代表性的第一和第二处理器核心(即处理器核心1574a和1574b以及处理器核心1584a和1584b)。每个处理器1570和1580还可以包括如本文所描述的根复合体1575和1585,其包括常规根端口和基于事务层的根端口两者。进而,这样的根端口经由对应的桥逻辑1577和1587与集成设备1579和1589进行接口连接,集成设备1579和1589可以是要集成到处理器中的任何期望类型的专用处理器、加速器或其他期望设备。
仍然参考图11,第一处理器1570还包括存储器控制器中枢(MCH)1572和点对点(P-P)接口1576和1578。类似地,第二处理器1580包括MCH 1582和P-P接口1586和1588。如图11中所示,MCH 1572和MCH 1582将处理器耦合到相应的存储器,即存储器1532和存储器1534,其可以是本地附接到相应处理器的系统存储器(例如,DRAM)的部分。第一处理器1570和第二处理器1580可以分别经由P-P互连1562和1564耦合到芯片组1590。如图11中所示,芯片组1590包括P-P接口1594和1598。
此外,芯片组1590包括用以通过P-P互连1539将芯片组1590与高性能图形引擎1538相耦合的接口1592。进而,芯片组1590可以经由接口1596耦合到第一总线1516。如图11中所示,各种输入/输出(I/O)设备1514可以连同总线桥1518一起耦合到第一总线1516,该总线桥1518将第一总线1516耦合到第二总线1520。各种设备可以耦合到第二总线1520,例如在一个实施例中包括键盘/鼠标1522、通信设备1526和可以包括代码1530的数据存储单元1528(诸如磁盘驱动器或其他海量存储设备)。此外,音频I/O 1524可以耦合到第二总线1520。
现在参考图12,其示出了根据本发明的另一个实施例的片上系统的框图。如图12中所示,SoC 300可以包括核心域310和外围域340,其可以被实现为集成I/O(IIO)中枢。通常,核心域310包括多个核心3200-320n,其中的每个核心经由高速缓存控制器3220-322n耦合到共享高速缓存存储器的本地部分,即给定的一片末级高速缓存(LLC)3240-324n。如进一步所图示的,核心域310还包括归属代理/存储器控制器330,其可以与诸如DRAM的片外存储器相接口连接。此外,功率控制单元(PCU)335可以集成在核心域310内。
仍然参考图12,IIO中枢340包括PCIe结构345,其可以包括根据实施例的电路,以使得能够经由对应的桥逻辑3500-350n与另一个协议狂热(protocol frenzy)的(例如,IOS协议的)片上设备相接口连接。如图12的图示所示的,这样的设备可以包括千兆以太网(GbE)控制器360和直接存储器访问引擎365。如进一步所图示的,PCIe结构345可以经由给定链路耦合到各种片外外围设备,诸如经由一个或多个PCIe链路(例如,PCIe Gen 3链路和/或企业南桥接口/直接媒体接口(ESI/DMI)链路)。理解的是,虽然在图12的实施例中以此高级别示出,但许多变化和替代方案是可能的。
以下示例涉及另外的实施例。
在一个示例中,一种装置包括:半导体管芯,其包括但不限于:用以执行指令的至少一个核心;用以实行至少一个功能的代理;根复合体,其包括用以经由第一互连与要耦合到所述装置的第一设备相接口连接的第一根端口,和用以经由桥逻辑与所述代理相接口连接的第二根端口;以及桥逻辑,其用以将第二根端口接口连接到代理、将具有第一格式的来自于第一根端口的第一事务转换为第二格式以及将具有第二格式的第一事务传达到所述代理。
在一个示例中,桥逻辑包括:第一格式转换逻辑,其用以将具有第一格式的第一事务转换为具有第二格式的第一事务;以及第二格式转换逻辑,其用以将具有第二格式的来自于代理的第二事务转换为具有第一格式的第二事务。
在一个示例中,第一格式转换逻辑用以分离第一事务的命令信息和数据信息,并且在耦合在桥逻辑和代理之间的半导体管芯的第二互连的第一接口上传达命令信息,并且在第二互连的第二接口上传达数据信息;以及所述第二格式转换逻辑用以在所述第二互连的第三接口上接收所述第二事务的命令信息,并且在所述第二互连的第四接口上接收所述第二事务的数据信息,以及将所述命令信息和所述数据信息传达到单个接口上的第二根端口。
在一个示例中,桥逻辑包括第一影子信用计数器,其用以维持第二根端口中可用的信用,所述第一影子信用计数器用以反映第二根端口的信用计数器的信用信息。
在一个示例中,桥逻辑还包括仲裁逻辑,其用以至少部分地基于第一影子信用计数器中的信息来选择要从代理向第二根端口转发的事务。
在一个示例中,桥逻辑还包括时钟交叉逻辑。
在一个示例中,桥逻辑还包括空闲状态机,其用以将用于第一互连协议的初始化进程映射到用于第二互连协议的初始化进程。
在一个示例中,桥逻辑的空闲状态机用以响应于用于代理的空闲状态机的信用请求状态而使第二根端口的初始化逻辑处于物理层可用状态。
在一个示例中,桥逻辑的空闲状态机用以响应于用于代理的空闲状态机的信用完成状态而使第二根端口的初始化逻辑处于链路层可用状态。
在一个示例中,第一根端口包括事务层、链路层和物理层,以及第二根端口包括事务层,并且不包括链路层或物理层。
在一个示例中,第二根端口包括用以与桥逻辑相接口连接的事务层,而没有链路层或物理层。
在一个示例中,根复合体包括:中断处理程序,其用以经由耦合在代理和根复合体之间的边带网络从代理接收中断,所述中断处理程序用以处理中断并且用以向第二根端口提供中断信息;以及错误处理程序,其用以经由边带网络从代理接收错误指示,所述错误处理程序用以处理错误指示并且用以向第二根端口提供错误信息。
在一个示例中,第二根端口用以向代理列举非零总线号,以使所述代理使多个虚拟功能能够共享所述代理的至少一个资源。
在一个示例中,所述装置可以是可以使用各种手段来实现的处理器。
在一个示例中,所述处理器包括结合在用户装备触摸启用的设备中的SoC。
在另一示例中,所述系统包括显示器和存储器,并且包括上述示例中的一个或多个的处理器。
在另一个示例中,一种系统包括:具有半导体管芯的SoC,所述半导体管芯包括但不限于:用以执行指令的至少一个核心;包括要由多个功能共享的至少一个资源的代理,所述代理具有第二通信协议;根复合体,其包括用以与耦合到SoC的第一设备相接口连接的第一根端口和用以为所述代理列举非零总线号的第二根端口;以及桥逻辑,其用以将所述第二根端口的事务层接口连接到所述代理,所述桥逻辑包括仲裁逻辑,其用以从所述代理选择多个请求中的一个,并且向所述代理发送授权以使所述代理能够将与所选择的请求相对应的事务发送到所述桥逻辑,所述事务指向第二根端口。所述系统还可以包括经由第一通信协议的第一互连耦合到SoC的第一设备。
在一个示例中,桥逻辑包括:第一格式转换逻辑,其用以将第二通信协议的事务转换为第一通信协议;以及第二格式转换逻辑,其用以将来自于第二根端口的第一通信协议的第二事务转换为第二通信协议。
在一个示例中,桥逻辑包括第一影子信用计数器,其用以维持第二根端口中可用的信用,所述第一影子信用计数器用以反映第二根端口的信用计数器的信用信息。
在一个示例中,桥逻辑还包括:时钟交叉逻辑;以及空闲状态机,其用以将用于第一通信协议的初始化进程映射到用于第二通信协议的初始化进程。
在一个示例中,桥逻辑的空闲状态机用以响应于用于代理的空闲状态机的信用请求状态而使第二根端口的初始化逻辑处于物理层可用状态,以及用以响应于用于代理的空闲状态机的信用完成状态而使第二根端口的初始化逻辑处于链路层可用状态。
在更进一步的示例中,一种方法包括:初始化耦合在根复合体的根端口和桥逻辑之间的第一链路,所述第一链路用以在事务级进行通信;初始化耦合在桥逻辑和代理之间的第二链路,其中所述第二链路具有第二通信协议,以及第一链路具有第一通信协议;利用与根端口的相关联信用计数器的初始信用值相对应的初始信用值来初始化桥逻辑的第一组信用计数器;以及利用与代理的相关联信用计数器的初始信用值相对应的初始信用值来初始化桥逻辑的第二组信用计数器,以及将所述第二组信用计数器的初始信用值传达到所述根端口。
在一个示例中,所述方法还包括:在所述桥逻辑中从所述端口接收第一事务;将所述第一事务从所述第二通信协议的格式转换为所述第一通信协议的格式;以及至少部分地基于所述第一组信用计数器中的信息,将具有所述第一通信协议的格式的所述第一事务发送到所述根端口。
在一个示例中,所述方法还包括在桥逻辑的时钟交叉逻辑中对第一事务执行频率转换。
在一个示例中,所述方法还包括:如果所述第一组信用计数器中的第一信用计数器指示针对所述第一事务在所述根端口中存在可用空间,则将所述第一事务发送到所述根端口,所述可用空间与所述第一事务的类型相关联。
在一个示例中,所述方法还包括从所述代理接收作为包括报头部分和数据部分的分割事务的第一事务,并且将所述第一事务串行地发送到所述根端口。
在一个示例中,所述方法还包括:在所述桥逻辑中从所述代理接收第一请求投放指令(request put),所述第一请求投放指令用以请求将所述第一事务从所述代理传送到所述根端口;至少部分地基于存储在第一组信用计数器中的信息向所述代理发送授权消息以使所述代理能够发送所述第一事务;从所述代理接收所述第一事务,将所述第一事务从所述第二通信协议的格式转换为所述第一通信协议的格式,以及向所述根端口发送具有所述第一通信协议的格式的所述第二事务。
在一个示例中,所述方法还包括:当没有针对所述代理的未决事务时,进入所述桥逻辑的空闲状态机的空闲状态;并且此后选通所述代理的至少一部分和所述桥逻辑的至少一部分。
在一个示例中,所述方法还包括:响应于唤醒事件来去选通所述桥逻辑的至少一部分以及去选通所述代理的至少一部分。
在另一示例中,一种包括指令的计算机可读介质用以执行上述示例中任一项的方法。
在另一示例中,一种装置包括用于执行上述示例中的任一项的方法的装置。
在另一示例中,一种包括数据的计算机可读介质用以由至少一个机器用来制造至少一个集成电路以执行上述示例中的任一项的方法。
理解的是,上述示例的各种组合是可能的。
设计可以经历从创建到模拟到制造的各个阶段。表示设计的数据可以以多种方式来表示设计。首先,如在模拟中有用的,可以使用硬件描述语言或其他功能描述语言来表示硬件。此外,可以在设计过程的某些阶段产生具有逻辑门和/或晶体管门的电路级模型。而且,大多数设计在某些阶段达到表示硬件模型中各种设备的物理放置的数据级别。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指定用于生产集成电路的掩模的不同掩模层上存在或不存在各种特征的数据。在设计的任何表示中,可以以任何形式的机器可读介质来存储数据。诸如盘的磁存储装置或光学存储装置或者存储器可以是机器可读介质,其用以存储通过光波或电波传送的信息,该光波或电波被调制或以其他方式生成以传送此类信息。当传送指示或携带代码或设计的电载波时,就执行电信号的复制、缓冲或重传而言,制作新的副本。因此,通信提供商或网络提供商可以至少临时地在有形的、非暂时性的机器可读介质上存储制品(诸如编码到载波中的信息),从而体现本发明实施例的技术。
本文所使用的模块或逻辑是指硬件、软件和/或固件的任何组合。作为示例,模块或逻辑包括与非暂时性介质相关联的诸如微控制器的硬件,以存储适于由微控制器执行的代码。因此,在一个实施例中,对模块或逻辑的参考是指硬件,其被特别地配置为识别和/或执行要在非暂时性介质上保持的代码。此外,在另一个实施例中,模块的使用是指包括代码的非暂时性介质,该代码特别适于由微控制器执行以实行预定操作。并且如可以推断的,在又一个实施例中,术语模块(在该示例中)可以指微控制器和非暂时性介质的组合。常常分开说明的模块边界通常发生变化并且潜在地重叠。例如,第一和第二模块可以共享硬件、软件、固件或其组合,同时潜在地保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件,诸如晶体管、寄存器或其他硬件,诸如可编程逻辑设备。
在一个实施例中,短语“用以”或“被配置为”的使用是指对装置、硬件、逻辑或元件进行布置、放在一起、制造、提供销售、导入和/或设计,以执行指定或确定的任务。在该示例中,如果未正进行操作的装置或其元件被设计、耦合和/或互连以执行指定任务,那么该装置或其元件仍被“配置为”执行所述指定任务。作为纯粹的说明性示例,逻辑门可以在操作期间提供0或1。但是,“配置为”向时钟提供使能信号的逻辑门不包括可提供1或0的每个潜在逻辑门。相反,逻辑门以某种方式耦合,使得在操作期间,1或0输出将启用时钟。再次注意,术语“配置为”的使用不需要操作,而是着重于装置、硬件和/或元件的潜在状态,其中在该潜在状态下,装置、硬件和/或元件被设计为在装置、硬件和/或元件正进行操作时执行特定任务。
此外,在一个实施例中,短语“能够……”和/或“可操作为”的使用是指一些装置、逻辑、硬件和/或元件以这样的方式设计为使得能够以指定方式使用该装置、逻辑、硬件和/或元件。注意,如上所述,在一个实施例中使用“用以”、“能够”或“可操作为”指的是装置、逻辑、硬件和/或元件的潜在状态,其中该装置、逻辑、硬件和/或元件并非正进行操作,而是以这样的方式被设计为使得能够以指定的方式使用该装置。
如本文所使用的,值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑的值的使用也指的是1和0,这简单地表示二进制逻辑状态。例如,1指代高逻辑电平,并且0指代低逻辑电平。在一个实施例中,诸如晶体管或闪存单元的存储单元可以能够保持单个逻辑值或多个逻辑值。然而,已经使用了计算机系统中的值的其他表示。例如,十进制数“十”也可以表示为二进制值1010和十六进制字母A。因此,值包括能够被保持在计算机系统中的信息的任何表示。
此外,状态可以由值或值的部分来表示。作为示例,第一值(诸如逻辑一)可以表示默认或初始状态,而第二值(例如逻辑0)可以表示非默认状态。此外,在一个实施例中,术语重置和设置分别指代默认值或状态和更新值或状态。例如,默认值潜在地包括高逻辑值(即重置),而更新值潜在地包括低逻辑值,即设置。注意,值的任何组合可以用于表示任何数量的状态。
遍及本说明书中对“一个实施例”或“实施例”的参考意味着结合实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在遍及本说明书的各个地方中短语“在一个实施例中”或“在实施例中”的出现不一定都指代相同的实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
实施例可以用于许多不同类型的系统。例如,在一个实施例中,通信设备可被布置成执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,而是其他实施例可以指向用于处理指令的其他类型的装置或者包括指令的一个或多个机器可读介质,该指令响应于在计算设备上执行而使设备执行本文描述的方法和技术中的一种或多种。
实施例可以以代码来实现,并且可以被存储在其上存储有指令(其可用于对系统编程以执行所述指令)的非暂时性存储介质上。实施例还可以以数据来实现,并且可以被存储在非暂时性存储介质上,该非暂时性存储介质在由至少一个机器使用的情况下使该至少一个机器制造至少一个集成电路以执行一个或多个操作。存储介质可以包括但不限于包括软盘、光盘、固态驱动器(SSD)、致密盘只读存储器(CD-ROM)、致密盘可重写设备(CD-RW)和磁光盘在内的任何类型的盘、半导体设备(诸如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦除可编程只读存储器(EEPROM))、磁卡或光学卡、或者适用于存储电子指令的任何其他类型的介质。
虽然已经关于有限数量的实施例描述了本发明,但是本领域技术人员将认识到从这些实施例的许多修改和变化。所意图的是,所附权利要求涵盖落入本发明的真实精神和范围内的所有这些修改和变化。
Claims (24)
1.一种用于与代理接口连接的装置,包括:
半导体管芯,其包括但不限于:
用以执行指令的至少一个核心;
用以实行至少一个功能的代理;
根复合体,其包括用以经由第一互连与要耦合到所述装置的第一设备相接口连接的第一根端口和用以经由桥逻辑与所述代理相接口连接的第二根端口;以及
桥逻辑,其用以将所述第二根端口接口连接到所述代理、将具有第一格式的来自于所述第一根端口的第一事务转换为第二格式并且将具有第二格式的第一事务传达到所述代理,
其中所述第二根端口用以向所述代理列举非零总线号,以使所述代理使多个虚拟功能能够共享所述代理的至少一个资源。
2.根据权利要求1所述的装置,其中所述桥逻辑包括:
第一格式转换逻辑,其用以将具有第一格式的第一事务转换为具有第二格式的第一事务;以及
第二格式转换逻辑,其用以将具有所述第二格式的来自于代理的第二事务转换为具有所述第一格式的第二事务。
3.根据权利要求2所述的装置,其中所述第一格式转换逻辑用以分离第一事务的命令信息和数据信息,并且在耦合在所述桥逻辑和所述代理之间的半导体管芯的第二互连的第一接口上传达所述命令信息,并且在所述第二互连的第二接口上传达所述数据信息;以及
其中所述第二格式转换逻辑用以在所述第二互连的第三接口上接收所述第二事务的命令信息并且在所述第二互连的第四接口上接收所述第二事务的数据信息,以及将所述命令信息和所述数据信息传达到单个接口上的第二根端口。
4.根据权利要求1所述的装置,其中所述桥逻辑包括第一影子信用计数器,其用以维持所述第二根端口中可用的信用,所述第一影子信用计数器用以反映所述第二根端口的信用计数器的信用信息。
5.根据权利要求4所述的装置,其中所述桥逻辑还包括仲裁逻辑,其用以至少部分地基于第一影子信用计数器中的信息来选择要从代理向所述第二根端口转发的事务。
6.根据权利要求4所述的装置,其中所述桥逻辑还包括时钟交叉逻辑。
7.根据权利要求4所述的装置,其中所述桥逻辑还包括空闲状态机,其用以将用于第一互连协议的初始化进程映射到用于第二互连协议的初始化进程。
8.根据权利要求7所述的装置,其中所述桥逻辑的空闲状态机用以响应于用于所述代理的空闲状态机的信用请求状态而使所述第二根端口的初始化逻辑处于物理层可用状态。
9.根据权利要求8所述的装置,其中所述桥逻辑的空闲状态机用以响应于用于所述代理的空闲状态机的信用完成状态而使所述第二根端口的初始化逻辑处于链路层可用状态。
10.根据权利要求1所述的装置,其中所述第一根端口包括事务层、链路层和物理层,以及所述第二根端口包括事务层并且不包括链路层或物理层。
11.根据权利要求1所述的装置,其中所述根复合体包括:
中断处理程序,其用以经由耦合在所述代理和所述根复合体之间的边带网络从所述代理接收中断,所述中断处理程序用以处理中断并且用以向所述第二根端口提供中断信息;以及
错误处理程序,其用以经由所述边带网络从所述代理接收错误指示,所述错误处理程序用以处理所述错误指示并且用以向所述第二根端口提供错误信息。
12.一种用于与代理接口连接的系统,包括:
具有半导体管芯的片上系统SoC,所述半导体管芯包括但不限于:
用以执行指令的至少一个核心;
包括要由多个功能共享的至少一个资源的代理,所述代理具有第二通信协议;
根复合体,其包括用以与耦合到SoC的第一设备相接口连接的第一根端口和用以为所述代理列举非零总线号的第二根端口;以及
桥逻辑,其用以将所述第二根端口的事务层接口连接到所述代理,所述桥逻辑包括仲裁逻辑,其用以从所述代理选择多个请求中的一个,并且向所述代理发送授权以使所述代理能够将与所选择的请求相对应的事务发送到所述桥逻辑,所述事务指向所述第二根端口;以及
经由第一通信协议的第一互连耦合到所述SoC的所述第一设备。
13.根据权利要求12所述的系统,其中,所述桥逻辑包括:
第一格式转换逻辑,其用以将所述第二通信协议的事务转换为所述第一通信协议;以及
第二格式转换逻辑,其用以将来自于所述第二根端口的所述第一通信协议的第二事务转换为第二通信协议。
14.根据权利要求12所述的系统,其中,所述桥逻辑包括第一影子信用计数器,其用以维持所述第二根端口中可用的信用,所述第一影子信用计数器用以反映所述第二根端口的信用计数器的信用信息。
15.根据权利要求14所述的系统,其中,所述桥逻辑进一步包括:
时钟交叉逻辑;以及
空闲状态机,其用以将用于所述第一通信协议的初始化进程映射到用于所述第二通信协议的初始化进程。
16.根据权利要求15所述的系统,其中,所述桥逻辑的空闲状态机用以响应于用于所述代理的空闲状态机的信用请求状态而使所述第二根端口的初始化逻辑处于物理层可用状态,以及用以响应于用于所述代理的空闲状态机的信用完成状态而使所述第二根端口的初始化逻辑处于链路层可用状态。
17.一种用于与代理接口连接的方法,包括:
初始化耦合在根复合体的根端口和桥逻辑之间的第一链路,所述第一链路在事务级进行通信;
初始化耦合在所述桥逻辑和代理之间的第二链路,其中所述第二链路具有第二通信协议,以及所述第一链路具有第一通信协议;
利用与所述根端口的相关联信用计数器的初始信用值相对应的初始信用值来初始化所述桥逻辑的第一组信用计数器;以及
利用与所述代理的相关联信用计数器的初始信用值相对应的初始信用值来初始化所述桥逻辑的第二组信用计数器,以及将所述第二组信用计数器的初始信用值传达到所述根端口。
18.根据权利要求17所述的方法,进一步包括:
在所述桥逻辑中从所述代理接收第一事务;
将所述第一事务从所述第二通信协议的格式转换为所述第一通信协议的格式;以及
至少部分地基于所述第一组信用计数器中的信息,将具有所述第一通信协议的格式的所述第一事务发送到所述根端口。
19.根据权利要求18所述的方法,进一步包括在所述桥逻辑的时钟交叉逻辑中对所述第一事务执行频率转换。
20.根据权利要求18所述的方法,进一步包括如果所述第一组信用计数器中的第一信用计数器指示针对所述第一事务在所述根端口中存在可用空间,则将所述第一事务发送到所述根端口,所述可用空间与所述第一事务的类型相关联。
21.根据权利要求18所述的方法,进一步包括从所述代理接收作为包括报头部分和数据部分的分割事务的第一事务,并且将所述第一事务串行地发送到所述根端口。
22.根据权利要求18所述的方法,进一步包括:
在所述桥逻辑中从所述代理接收第一请求投放指令,所述第一请求投放指令用以请求将所述第一事务从所述代理传送到所述根端口;
至少部分地基于存储在所述第一组信用计数器中的信息来向所述代理发送授权消息以使所述代理能够发送所述第一事务;
从所述代理接收所述第一事务,将所述第一事务从所述第二通信协议的格式转换为所述第一通信协议的格式,以及向所述根端口发送具有所述第一通信协议的格式的第二事务。
23.根据权利要求17所述的方法,进一步包括:
当没有针对所述代理的未决事务时,进入所述桥逻辑的空闲状态机的空闲状态;以及
此后选通所述代理的至少一部分和所述桥逻辑的至少一部分。
24.一种包括机器可读指令的机器可读存储介质,所述机器可读指令当被执行时实施如权利要求17至23中的任一项所要求保护的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/573,738 US9747245B2 (en) | 2014-12-17 | 2014-12-17 | Method, apparatus and system for integrating devices in a root complex |
US14/573738 | 2014-12-17 | ||
PCT/US2015/061093 WO2016099750A1 (en) | 2014-12-17 | 2015-11-17 | Method, apparatus and system for integrating devices in a root complex |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003955A CN107003955A (zh) | 2017-08-01 |
CN107003955B true CN107003955B (zh) | 2021-01-15 |
Family
ID=56127270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580062623.4A Active CN107003955B (zh) | 2014-12-17 | 2015-11-17 | 用于在根复合体中集成设备的方法、装置和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9747245B2 (zh) |
EP (1) | EP3234789B1 (zh) |
CN (1) | CN107003955B (zh) |
TW (1) | TWI601010B (zh) |
WO (1) | WO2016099750A1 (zh) |
Families Citing this family (24)
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 |
DE102016002897A1 (de) | 2015-04-28 | 2016-11-03 | Giesecke & Devrient Gmbh | Wertdokumentbearbeitungsvorrichtung mit einem Datenkommunikationssystem und Verfahren zur Verteilung von Sensordaten in einer Wertdokumentbearbeitungsvorrichtung |
US11216396B2 (en) * | 2016-09-29 | 2022-01-04 | Intel Corporation | Persistent memory write semantics on PCIe with existing TLP definition |
US10416991B2 (en) * | 2016-12-14 | 2019-09-17 | Microsoft Technology Licensing, Llc | Secure IoT device update |
US10402273B2 (en) | 2016-12-14 | 2019-09-03 | Microsoft Technology Licensing, Llc | IoT device update failure recovery |
US10715526B2 (en) | 2016-12-14 | 2020-07-14 | Microsoft Technology Licensing, Llc | Multiple cores with hierarchy of trust |
RU170883U1 (ru) * | 2017-03-22 | 2017-05-12 | Акционерное общество "МЦСТ" | Процессорный модуль (МОНОКУБ) |
US11095556B2 (en) * | 2017-06-30 | 2021-08-17 | Intel Corporation | Techniques to support multiple protocols between computer system interconnects |
US11356388B2 (en) * | 2017-08-18 | 2022-06-07 | Missing Link Electronics, Inc. | Real-time multi-protocol heterogeneous packet-based transport |
WO2019036217A1 (en) * | 2017-08-18 | 2019-02-21 | Missing Link Electronics, Inc. | HETEROGENEOUS TRANSPORT BASED ON PACKETS |
US11249808B2 (en) | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
US10963035B2 (en) * | 2017-10-11 | 2021-03-30 | Qualcomm Incorporated | Low power PCIe |
KR102446172B1 (ko) * | 2017-10-27 | 2022-09-23 | 삼성전자주식회사 | 입출력 인터페이스를 통해 통신을 수행하는 방법 및 이를 위한 장치 |
KR102504660B1 (ko) * | 2018-02-05 | 2023-03-02 | 삼성전자주식회사 | 응용 프로세서, 전장 프로세서, 그리고 응용 프로세서를 포함하는 컴퓨팅 장치 |
JP7020991B2 (ja) * | 2018-05-01 | 2022-02-16 | 株式会社東芝 | 信号制御回路 |
TWI712893B (zh) * | 2018-09-04 | 2020-12-11 | 瑞昱半導體股份有限公司 | 資料傳輸格式轉換電路及控制其操作的方法 |
US10599598B1 (en) * | 2018-09-18 | 2020-03-24 | Hewlett Packard Enterprise Development Lp | PCIe write request acknowledgment |
US10824471B2 (en) * | 2019-03-22 | 2020-11-03 | Dell Products L.P. | Bus allocation system |
US11379398B2 (en) * | 2019-06-04 | 2022-07-05 | Microchip Technology Incorporated | Virtual ports for connecting core independent peripherals |
US20200151362A1 (en) * | 2019-08-21 | 2020-05-14 | Intel Corporation | Integrity and data encryption (ide) over computer buses |
CN111176408B (zh) * | 2019-12-06 | 2021-07-16 | 瑞芯微电子股份有限公司 | 一种SoC的低功耗处理方法和装置 |
TWI796564B (zh) * | 2020-05-12 | 2023-03-21 | 緯穎科技服務股份有限公司 | 電子裝置及其可熱插拔的儲存裝置 |
CN116049044B (zh) * | 2023-03-28 | 2023-06-23 | 飞腾信息技术有限公司 | 一种pcie设备控制方法、计算机设备及片上系统 |
CN116028430B (zh) * | 2023-03-28 | 2023-06-13 | 飞腾信息技术有限公司 | 一种pcie设备扫描方法及片上系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984123A (zh) * | 2001-12-28 | 2013-03-20 | 英特尔公司 | 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型 |
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
CN103392175A (zh) * | 2011-02-25 | 2013-11-13 | 国际商业机器公司 | Pci快速多根i/o虚拟化环境中的低延迟优先排序 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019393A1 (en) | 2001-08-24 | 2003-03-06 | Intel Corporation | A general intput/output architecture, protocol and related methods to implement flow control |
US20040019726A1 (en) * | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for serial I/O systems |
US7441055B2 (en) | 2004-03-31 | 2008-10-21 | Intel Corporation | Apparatus and method to maximize buffer utilization in an I/O controller |
US7062594B1 (en) * | 2004-06-30 | 2006-06-13 | Emc Corporation | Root complex connection system |
US7525986B2 (en) | 2004-10-28 | 2009-04-28 | Intel Corporation | Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools |
US7743197B2 (en) * | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
US8151145B2 (en) * | 2008-04-03 | 2012-04-03 | Oracle America, Inc. | Flow control timeout mechanism to detect PCI-express forward progress blockage |
US7873068B2 (en) | 2009-03-31 | 2011-01-18 | Intel Corporation | Flexibly integrating endpoint logic into varied platforms |
US8170062B2 (en) | 2009-04-29 | 2012-05-01 | Intel Corporation | Packetized interface for coupling agents |
US8270405B2 (en) | 2009-06-30 | 2012-09-18 | Intel Corporation | Multicast support on a switch for PCIe endpoint devices |
JP5374268B2 (ja) * | 2009-07-28 | 2013-12-25 | ラピスセミコンダクタ株式会社 | 情報処理装置 |
US20130151750A1 (en) | 2010-08-19 | 2013-06-13 | Balaji Kanigicherla | Multi-root input output virtualization aware switch |
JP2012064090A (ja) * | 2010-09-17 | 2012-03-29 | Renesas Electronics Corp | 情報処理装置、情報処理システムおよび情報処理システムの通信方法 |
US9021156B2 (en) * | 2011-08-31 | 2015-04-28 | Prashanth Nimmala | Integrating intellectual property (IP) blocks into a processor |
US8930602B2 (en) | 2011-08-31 | 2015-01-06 | Intel Corporation | Providing adaptive bandwidth allocation for a fixed priority arbiter |
US8805926B2 (en) | 2011-09-29 | 2014-08-12 | Intel Corporation | Common idle state, active state and credit management for an interface |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US8775700B2 (en) | 2011-09-29 | 2014-07-08 | Intel Corporation | Issuing requests to a fabric |
US8713240B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Providing multiple decode options for a system-on-chip (SoC) fabric |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
US8874976B2 (en) | 2011-09-29 | 2014-10-28 | Intel Corporation | Providing error handling support to legacy devices |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
US20140281067A1 (en) * | 2013-03-15 | 2014-09-18 | Debendra Das Sharma | Apparatus, system, and method for performing link training and equalization |
-
2014
- 2014-12-17 US US14/573,738 patent/US9747245B2/en active Active
-
2015
- 2015-11-09 TW TW104136859A patent/TWI601010B/zh active
- 2015-11-17 WO PCT/US2015/061093 patent/WO2016099750A1/en active Application Filing
- 2015-11-17 EP EP15870572.3A patent/EP3234789B1/en active Active
- 2015-11-17 CN CN201580062623.4A patent/CN107003955B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984123A (zh) * | 2001-12-28 | 2013-03-20 | 英特尔公司 | 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型 |
CN103392175A (zh) * | 2011-02-25 | 2013-11-13 | 国际商业机器公司 | Pci快速多根i/o虚拟化环境中的低延迟优先排序 |
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI601010B (zh) | 2017-10-01 |
EP3234789A1 (en) | 2017-10-25 |
WO2016099750A1 (en) | 2016-06-23 |
TW201636841A (zh) | 2016-10-16 |
EP3234789B1 (en) | 2020-08-12 |
US9747245B2 (en) | 2017-08-29 |
CN107003955A (zh) | 2017-08-01 |
US20160179738A1 (en) | 2016-06-23 |
EP3234789A4 (en) | 2019-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003955B (zh) | 用于在根复合体中集成设备的方法、装置和系统 | |
CN107278299B (zh) | 经由可重配置的虚拟交换机实现次级总线功能性的方法、装置和系统 | |
CN105793829B (zh) | 用于集成组件互连的装置、方法和系统 | |
CN107077521B (zh) | 片上系统配置元数据 | |
CN109154924B (zh) | 多个上行链路端口设备 | |
CN105793830B (zh) | 一种在节点之间共享存储器和i/o服务的装置、方法、系统 | |
CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
CN109614256B (zh) | 现场错误恢复 | |
CN107408032B (zh) | 互连中的伪随机比特序列 | |
CN113434446A (zh) | 灵活总线协议协商和启用序列 | |
KR101695328B1 (ko) | 모듈러 온-다이 코히어런트 인터커넥트 방법, 장치 및 시스템 | |
CN107078850B (zh) | 边带奇偶校验处理 | |
CN107003838B (zh) | 解码信息库 | |
JP2021090188A (ja) | ストリーミングファブリックインタフェース | |
CN107660282B (zh) | 处理多根系统中的分区复位 | |
JP6745289B2 (ja) | マルチチップパッケージリンク | |
EP3304328B1 (en) | Providing multiple roots in a semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |