CN1934556A - Pci express开关的pci express端点与下游端口的模拟电路 - Google Patents

Pci express开关的pci express端点与下游端口的模拟电路 Download PDF

Info

Publication number
CN1934556A
CN1934556A CNA200580008749XA CN200580008749A CN1934556A CN 1934556 A CN1934556 A CN 1934556A CN A200580008749X A CNA200580008749X A CN A200580008749XA CN 200580008749 A CN200580008749 A CN 200580008749A CN 1934556 A CN1934556 A CN 1934556A
Authority
CN
China
Prior art keywords
pci express
pci
endpoint device
register
equipment
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
CNA200580008749XA
Other languages
English (en)
Other versions
CN100462953C (zh
Inventor
D·R·伊沃伊
J·M·罗斯
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34961636&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1934556(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1934556A publication Critical patent/CN1934556A/zh
Application granted granted Critical
Publication of CN100462953C publication Critical patent/CN100462953C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/14Handling requests for interconnection or transfer
    • 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

Abstract

本发明涉及与PCI类型装置一起实现的具有两个软件视图的单个硬件子系统,其看起来是以分层结构连接的两个单独的硬件子系统。根据本发明的一个实施例,硬件装置(100)适用于模拟在单个硬件块(120)中的两个虚拟的单独的分层子系统(121,146)。该模拟促进了设备与PCI Express类型通信链路的耦合,同时满足这些设备所要求的PCI Express类型链接。

Description

PCI EXPRESS开关的PCI EXPRESS端点 与下游端口的模拟电路
技术领域
本发明总地涉及处理类型应用的通信,更具体地涉及使用了PCIExpress类型链路的通信方法和装置。
背景技术
PCI(外设部件互连)是一种在微处理器与所连接设备之间的互连系统,其中扩展槽间隔紧密用于高速运行。通过使用PCI,计算机可以在继续支持旧标准的工业标准结构(ISA)扩展卡的同时支持新的PCI卡。PCI设计成独立的微处理器设计且与微处理器的时钟速度同步。PCI利用现行路径(在多点总线上)发送地址和数据信号,在一个时钟周期上发送地址并在下一个时钟周期上发送数据。PCI总线可装有需要快速进行相互访问和/或快速访问系统存储器的适配器,而且主处理器可以以接近于该处理器的全本地总线速度访问该适配器。利用可以从第一周期上的地址开始发送的脉冲串传输以及在某些相继的周期上一系列的数据传输来实现在PCI总线上的读写传输。在启动器与目标设备之间协商脉冲串的长度,其可以为任何长度。该PCI类型结构被广泛地实现,而且如今被安装在大多数台式计算机上。
PCI Express结构展示了与PCI结构的相似性,尽管有一些改变。PCI Express结构采用了开关,它用一个开关代替PCI结构的多点总线,其提供一种输入-输出(I/O)总线的扇出。该开关的扇出能力促进有关添加的、高性能的I/O的一系列连接。该开关是一个可以在还包含主机桥的部件内实现的逻辑元件。也就是说,可以逻辑地认为PCI开关是一个PCI至PCI桥的集合,其中的一个桥是上游桥,通过其下游端到另外一组PCI至PCI桥的上游端连接到专用的本地总线。
PCI Express在应用中被限定为端点类型的设备,这种设备通常不允许存在于内部总线上。具体地说,PCI Express要求端点设备(由类型00h的配置空间头部表示)不在PCI Express开关的内部总线上的配置软件中出现作为表示开关下游端口的虚拟PCI至PCI桥的同位体。另外,只有表示该开关下游端口的PC至PCI桥可以出现在内部总线上,由类型O的配置空间头部表示的端点不能出现在内部总线上。
这些及其他限制的存在是对实现具有PCI Express通信的集成设备的挑战。
发明内容
本发明各方面涉及各种计算机电路的测试方法,比如包括互连类型结构(例如,PCI结构)等等。以多个实现和应用来例举本发明,以下简要描述其中某些实现与应用。
根据本发明的一个实施例,配置并设置端点设备以模拟通过PCIExpress兼容链路与端点设备耦合的开关的下游端口。该端点设备与PCIExpress开关的总线耦合,具有符合与限制在总线上实现端点设备的PCIExpress实现兼容的模拟。根据该方法,一个或多个设备可以存在于PCIExpress网络集线器(HUB)内,它通常使用最小附加逻辑而且无需违反利用PCI Express实现的不允许集成设备的规则。另外,该方法促进了在完全符合PCI Express要求的同时实现PCI Express网络集线器内的一个或多个设备。
根据本发明的另一个实施例,PCI Express通信系统促进了端点设备与PCI Express兼容链路的直接连接。该系统包括一个中央处理器装置和与主机桥通信耦合的PCI Express开关。PCI Express开关在逻辑上包括一个上游端口、一个总线和多个下游端口,该上游端口连接到主机桥而下游端口连接到一个或多个PCI Express类型端点设备。PCIExpress端点设备和与其相连的下游端口都包含在单个电路中,该电路模拟通过虚拟链路耦合的下游端口和PCI Express端点设备。
本发明以上的概述并非意图描述本发明的每一个实施例或每个实现。本发明以上的概述也并非意图描述本发明每一个例举的实施例或每个实现。以下附图和详细描述更具体地举例说明这些实施例。
附图说明
根据以下结合了附图对本发明各个实施例的详细描述可以更完全地理解本发明,其中:
图1是显示根据本发明一个实施例用于实现端点设备与PCI Express内部总线相连的装置的框图;
图2是显示根据本发明一个实施例用于实现端点设备与PCI Express内部总线相连的装置的框图;
图3是显示根据本发明一个实施例用于实现端点设备与PCI Express内部总线相连的装置的框图;
图4A-4C显示了一种集成的PCI Express端点设备的软件视图,其中:
图4A显示了根据本发明一个实施例的单个集成设备的块级软件视图,其模拟通过虚拟链路耦合的两个块;
图4B显示了根据本发明另一个实施例在图4A中所示设备的各个层与寄存器的详细软件视图;以及
图4C显示了根据本发明另一个实施例在图4A中所示设备的虚拟链路配置寄存器的实现视图;
图5显示了根据本发明另一个实施例使用图4A中所示设备的模拟状态机的虚拟链路的实现视图;以及
图6显示了根据本发明另一个实施例集成的PCI Express端点设备的寄存器结构。
具体实施方式
虽然,本发明可进行各种修改与替代方式,但其具体内容已借助附图中的实例显示并将详细说明。然而,应理解本发明并不限定于所述具体实施例。相反,本发明覆盖所有落入所附的权利要求限定的发明范围内的修改、等效物与替换方式。
本发明被认为适用于涉及电子通信的各种电路和方法,尤其适用于那些涉及在端点类型设备与通信总线之间通信的电路和方法(例如,在PCI Express网络集线器内)。然而本发明并不局限于这种应用,通过讨论在这一环境内的实例可以更好地获得对本发明各方面的理解。
根据本发明的一个实施例,集成的PCI Express端点设备模拟PCIExpress链路以模拟一个通过PCI Express兼容链路连接到一个端点设备的开关的下游端口。该PCI Express链路模拟一条PCI Express总线适合于与其进行通信的PCI类型链路(例如,PCI至PCI Express桥)。根据该方法,可以将PCI Express端点设备连接到PCI Express总线,同时模拟在端点设备与总线之间存在一条PCI Express兼容链路。另外,该方法促进实现经由开关的下游端口将PCI Express端点设备旁边的集成的PCI Express端点设备连接到总线。
在一种实施方案中,集成的PCI Express端点设备包括寄存器,在满足PCI Express标准要求的同时促进与PCI Express网络集线器的内部总线的连接。具体地说,PCI Express设备是一种用寄存器虚拟地表现为两个单独设备(下游开关端口和端点设备)的集成端点设备,促进与PCI Express技术规格要求的兼容性,其涉及出现在内部总线上的端点设备的一般性禁用。
根据软件透视图,模拟以下一个或多个寄存器:每一个虚拟设备唯一的寄存器;在虚拟设备之间共享的寄存器;只读所有的零的寄存器(看起来在软件透视图中存在却未被功能性实现);以及控制虚拟设备之间的虚拟链路的寄存器,利用最小链路模拟逻辑使其看起来像真实存在的链路。未被功能性实现的寄存器促进了PCI Express设备的实现,在通常不约束设备与网络集线器之间虚拟链路的简易性的同时还满足PCI标准要求。例如,实现非功能性的寄存器来模拟符合PCI Express标准的虚拟链路。在有些情况下,上述一个或多个寄存器包含显示以上类别组合的字段。在这一实例中,单个寄存器包括非功能性只读零字段/位和功能性使用的字段。
现在转到附图,图1显示了根据本发明另一实施例的为包含PCIExpress总线的PCI Express端点设备所配置的PCI Express装置100。装置100包括PCI Express开关(即开关的逻辑实现方式),其包括一个与总线132耦合的上游端口130和多个下游开关端口140、142、144、146和148。例如,可以在还包含了主机桥的部件内实现该开关的上游端口130和总线132。根据逻辑透视图,集成的PCI Express端点设备120包括通过虚拟链路110与PCI Express端点设备121耦合的开关146的下游端口。具体地说,集成的PCI Express端点设备120是一个单独的块,其适用于模拟按分层结构相连(通过虚拟链路110)的两个单独的块(下游端口146和PCI Express端点设备120)。借助于实例显示了另一个集成的PCI Express端点设备122,其特征与集成的PCI Express端点设备120相类似(模拟通过虚拟链路112与PCI Express端点设备123耦合的下游端口148)。
根据软件透视图,PCI Express端点设备121有效地显示为一个外部块,其通过专用PCI Express链路(虚拟链路110)连接到下游端口146(继而连接到内部总线132)。同时,显示为专用PCI Express链路的虚拟链路110具有不同于专用PCI Express链路的功能要求。例如,由于该链路是虚拟的,所以不要求横跨虚拟链路110进行串行连接,不要求提供错误恢复,而且不要求物理逻辑层或物理电子层功能横跨两个芯片。使用内部虚拟链路110和112减轻对管理和控制PCI Express链路通常所需要更多的功能性要求。
在一种实施方案中,虚拟链路110减少和/或消除一般使用专用PCIExpress链路实现PCI Express功能所需要的逻辑。例如,就如通常专用PCI Express链路所要求的,由虚拟链路110提供的与两个逻辑端点(下游端口146和PCI Express端点设备121)的处理层、数据链接层和物理层有关的功能都不是必须的。有关专用PCI Express链路实现的上述功能以及“PCI Express兼容”应用的更多信息可以参考2003年4月来自俄勒冈州波特兰市的PCI-SIG(PCI-特别兴趣工作组)的“PCIExpress Base Specification Revision 1.0a”。符合PCI Express基本技术规范的解决方案可以认为是“PCI Express兼容”。
在另一种实施方案中,集成的PCI Express端点设备120包括共享下游端口(146)和端点(121)功能的比特的配置寄存器。以这种方式共享比特促使在两个单独块之间使用真实的专用PCI Express链路的有效程度为无效,从而减少相对于这一专用PCI Express链路装置所显示的复杂性。根据该方法,要求相对较少的寄存器比特来保持与为了PCIExpress通信而实现的软件驱动器的兼容性。以下图4A-6讨论可以连同PCI Express装置100一起实现的寄存器和其他部件用于模拟部件、链路及其他目的。
图2显示了根据本发明的另一实施例为PCI Express集成设备配置的PCI Express装置200。图2显示的实施例与图1中显示的实施例相类似,具有通过单个虚拟链路210与总线耦合的多个PCI设备(而不是每一个虚拟链路将总线耦合到单个PCI端点设备)。开关的上游端口230通过PCI Express总线232与下游端口240、242、244和246耦合,其中下游端口246集成在集成的PCI Express端点装置220内。
集成的PCI Express端点装置220包括一个电路块,它模拟通过虚拟链路210和虚拟(PCI)总线252耦合的分立元件。具体地说,多个PCI设备包括通过虚拟总线252与PCI Express至PCI Express桥部件250耦合的设备260、262和264。PCI Express至PCI桥150通过虚拟链路210耦合到下游端口246。根据该方法,由于模拟部件和虚拟链路(以及总线)符合PCI Express要求,所以集成的PCI Express端点装置220可以在(内部)PCI Express总线232上存在。如以上结合图1的以上讨论,以类似于所示模拟部件的方式耦合到PCI Express总线的分立部件所要求的各种部件相对更加复杂,并且相应地需要比集成的PCIExpress端点装置220更多的资源。通过将这些部件(例如,寄存器)组合成一个单独的块,相对于实现包括单个块的相同设备,可以使用更少的部件。另外,可以实现一个相对简单的传统软件模型用于控制PCIExpress装置200,这在使用多个PCI设备时特别有用。
图3显示了根据本发明的另一实施例为PCI Express集成设备配置的PCI Express装置300。在该实施例中,PCI Express网络集线器(带有虚拟的PCI Express总线332)位于相对于PCI Express至PCI桥380的下一层。具体地说,PCI Express至PCI桥380通过PCI总线334与集成的PCI设备372、374和376以及集成装置320耦合。
集成装置320是单个块,其具有模拟通过虚拟链路310和PCIExpress总线332进行耦合的单独块的功能。具体地说,PCI至PCIExpress桥320通过虚拟链路310与开关的上游端口330耦合。上游端口330通过PCI Express总线332与下游端口340、342和344耦合。例如,可以以类似于有关图1中类似部件所讨论的方式实现其中各种部件。举例来说,可以以类似于虚拟链路110的方式实现虚拟链路310。另外,可以以类似于图1中的方式实现共享的配置寄存器(还如同以下关于图4A-6进一步描述的)。根据该方法,促进了PCI Express兼容解决方案,而且PCI Express类型软件应当成功地列举装置。
图4A-4C显示了根据本发明另一实施例的集成设备420的软件和实现视图。集成设备420包括模拟块,其包括通过虚拟链路410耦合的下游端口446和PCI Express端点421。例如,可以连同图1、2和3中分别显示的虚拟链路110、210和310以及它们连接的模拟块一同实现虚拟链路410。虚拟链路410表现成作为真实的PCI Express链路的软件,它包括相应表现为分立块的下游端口446和PCI Express端点421。可以将虚拟链路410置于低功率模式,表现为具有两组完整的配置寄存器并在各方面都表现成作为完全的功能性链路的软件。然而,不实现包含处理、数据链接和物理层的一般PCI Express部件。根据配置图,在它们那儿是模拟这些功能运行的小逻辑块。
根据软件透视图,图4B和4C所示的PCI Express链路的层被模拟至该软件看起来似乎是查看一个完全运行的链路的程度。例如,通过假设没有错误发生以及所有块总是在准备状态来简化该模拟。在某些情况下,为了减少模拟的复杂性而支持最小功能。举例来说,可以保留不支持槽与可选的功率管理以及使可选的扩展寄存器保留无效。
参照图4B,显示了图4A的集成设备420的下游端口446和PCIExpress端点设备410的软件视图,其包括下游端口配置寄存器472和PCI Express端点配置寄存器474。下游端口层包括适配器480、处理层481、数据链接层482和物理层483。PCI Express端点层包括物理层484、数据链接层485、处理层486和与IP 488(具有知识产权的应用块,例如视频设备、音频设备或盘控制器)耦合的适配器487。适配器480和487在IP总线与包之间进行转换,提供对配置寄存器的访问并产生用于中断的消息。
图4C显示了集成设备420的虚拟链路410的软件透视图,其包括适配器490和I.P.498,以及与适配器490耦合的虚拟链路配置寄存器476。虚拟链路配置寄存器476包括处理模拟寄存器491、数据链接模拟寄存器492、物理模拟寄存器493、物理模拟寄存器494、数据链接模拟寄存器495和处理模拟寄存器496。
每一个处理,数据链接和物理层都不执行(例如是无效块)而为了与PCI Express兼容而进行模拟。为了模拟数据链接层482和485,响应认定的链路失效情况,分别使适配器480和487失效(防止产生任何新的循环)。
为了模拟物理层483和484,产生一个PME_TO_Ack消息来支持允许网络集线器收集所有PME_TO_Ack并完成在软件视图所示分层结构中向上返回该集合版本(aggregate version)。举例来说,带有PME_TO_Ack消息的模拟包括一个由处于分层结构顶部的处理器发送的PME_Turn_Off消息启动的停止处理。每一个端点设备在其准备关闭时通过产生一个PME_TO_Ack消息来应答该PME_Turn_Off消息。当网络集线器的所有下游设备都应答了一个PME_TO_Ack消息时,利用单个PME_TO_Ack消息应答处理器(或其他上游设备)的该网络集线器就收集这些PME_TO_Ack消息。
在一种实现方案中,PCI Express网络集线器(例如,当按照图1实现时包括总线132)在假设虚拟端口不进行应答就消除对该端口的依赖性的情况下运行。举例来说,当一个特定端口支持一个非功能性设备,由于它总是准备好关闭,所以不必等待该非功能性设备准备好关闭。如上所述,在某些情况下,网络集线器在产生对一个上游设备的PME_TO_Ack消息之前不用等候该虚拟端口应答。物理层通电至一种就绪和配置状态,而且配置摘要中存在的许多常数都是随机的。在这方面,对虚拟设备一般不使用与典型的PCI Express实现有关的L1退出时间功能(使物理层从低功率状态恢复的时间)。物理层使转变无任何延迟,如同实际运行时间为零那样。有效状态情况是理论上的,如同该软件无视独立的有效状态功率管理;因此,忽略有效状态情况且不影响装置470的运行性能。实现PCI Express“D”状态(设置一种“L”硬件状态的软件状态)作为读/写寄存器,同时立即选择一种请求状态(支持D0和D3状态)。另外,一般不产生PCI Express类型请求“PM_Active_State_Request_L1”。
图5显示了根据本发明另一个实施例的虚拟链路410(例如,类似于图4C中的视图)的另一个软件实现视图。适配器590和I.P.598与虚拟链路配置寄存器576一起运行以模拟下游端口446和PCI Express端点设备421及其分隔它们的虚拟链路410。上行链路和下行链路模拟状态机592和594与配置比特相互作用用于模拟处理、数据链接和物理层功能。在某些情况下,上行链路和下行链路模拟状态机592和594被集成到一个对于所有层的单个模拟块中。
利用各种装置中的一个或多个装置实现上述及图中所示寄存器。在本发明的一个实施例中,组合一个或多个配置寄存器。参照图4B作为例子,可以组合处理层481与数据链接层482的寄存器。为了模拟目的而实现的非功能性寄存器和比特被故意设置为零,而不实现的寄存器故意返回零。
在一种实现方案中,将寄存器及伴随电路配置成在没有进行选择时产生一个零结果(即,一个未定义的或未选择的)。例如,可以通过将每一个多路信道上的一个输入指定零或者更简单地通过使用标准‘与’‘或,树选择寄存器来实现该方法。在该‘与’‘或’树中,一个寄存器具有其通过一个“与”门选择的输出。所有寄存器的输出被一起进行“或”运算,结果就是被选择的门。如果没有选择门,所有“或”输入为0,保证任何没有被实现的寄存器结果为零。类似地,实现的寄存器内的所有未实现比特将返回“0”。
以一种或多种方式选择将要实现的寄存器(例如,共享的,开关端口或设备寄存器)。例如,某些寄存器包括对开关端口唯一的寄存器和对设备唯一的寄存器。当配置周期为类型0且目的地址与开关端口的设备数量匹配时选择开关端口寄存器。当配置周期为类型1时选择设备寄存器,该设备寄存器在开关端口编程的总线范围内且与设备标识符(ID)匹配。以兼容PCI要求的方式转换类型1和类型0周期。通过对以上涉及开关端口和设备寄存器的两个机制实现“或”操作来选择共享的寄存器。
可以通过使用类似于上述的方法来实现的一类共享寄存器是厂商ID寄存器。当读取开关端口寄存器或设备寄存器时选择该寄存器。在寄存器表中显示了在D开关与设备列中具有X的单个输入项。类似地可以实现其他各种类型的共享寄存器。
图6显示了根据本发明另一个实施例的命令寄存器装置600。该命令寄存器用作两个分立的虚拟寄存器的一个实例(以类似于涉及分立的虚拟寄存器的方式容易实现其他类型的寄存器)。对于PCI Express来说,比特15∶11,9,7,5∶2是只读位而不被实现;因此这些比特总是返回所有零。比特10,中断使能,可以用来允许中断传播或禁止中断传播。禁止任何一个比特就会禁止中断传播。有关这些比特实现的更多信息可以参照上述的PCI Express基本技术规范。
对于每一个命令寄存器610和620,在硬件中都不实现RO 0(只读固定0输出)比特(实现使用的比特)。在某些情况下,显示48比特而仅仅实现10比特。在页顶部的寄存器610和620描述了表示在同一位置的两个不同寄存器的寄存器。当实现中断禁止功能时,设置PCI Express设备的命令寄存器内的INT DIS比特或在开关的下游端口的命令寄存器内的相同比特来阻塞该INT信号。在一种实施方案中,通过使用上述“或”门来实现,组合两个禁止信号以使得在认定两个禁止位或其中一个时都会阻塞INT。在“或”门后面的“与”门在置位一个或两个INT DIS比特时禁止INT。如果寄存器内的总线主控使能位都被置位(以上所示的两个输入与非门),总线主控使能就启动该设备的总线主控。总线控制寄存器620实现要实现的2个比特,其中之一的SERR还包括在所示另外两个控制寄存器内的控制比特。其中任何一个比特都可以阻塞信号系统错误输出,而与虚拟分层结构中哪里的SERR被禁止无关。
以下的表1显示了根据本发明另一个实施例通过使用共享的寄存器集合的方法。例如,可以连同上述的图6实现表1中所示的信息。
表1.共享的寄存器集合,开关的下游端口和包括虚拟链路的设备
  地址   偏移量   寄存器   说明   D开关   设备   注意
                                    0/1类型
  0x00   0x00   VID   厂商ID   X   X   共享的RO寄存器
  0x02   0x02   DID   设备ID   X   开关的D端口的设备ID
  0x02   0x02   DID   设备ID   X   设备的设备ID,节点1
  0x04   0x04   CMD   命令寄存器   X   具体见文本
  0x04   0x04   CMD   命令寄存器   X   具体见文本
  0x06   0x06   STS   状态寄存器   X   具体见文本
  0x06   0x06   STS   状态寄存器   X   具体见文本
  0x08   0x08   RID   修正ID   X   X   共享的
  0x09   0x09   CC   分类符号   X   X   共享的
  0x0C   0x0C   CLS   超高速缓冲存储器线   RO 0
  0x0D   0x0D   MLT   主延迟时间   RO 0
  0x0E   0x0E   HT   标题类型   RO 0
  0x0F   0x0F   BIST   内置自测试   RO 0
  0x10   0x10   BAR0   基地址寄存器0,固定0   RO 0
  0x10   BAR0   基地址寄存器0,用户定义常数   X
  0x14   0x14   BARl   基地址寄存器1,固定0   RO 0
  0x14   BARl   基地址寄存器1,用户定义常数   X
  0x18   0x18   Pri-Bus#   主总线编号,RW,缺省0   X
  0x18   BAR2   基地址寄存器,用户定义   RO 0
  0x19   0x19   Sec-Bus#   次总线编号,RW,缺省0   X
  0x19   保留,所有零   RO 0
  0x1A   0x1A   Sub-Bus#   下级总线编号,RW,缺省0   X
  0x1A   保留,所有零   RO 0
  0x1B   0x1B   Sec-LT   次等候时间,保留,所有零   X   RO 0
  0x1B   保留,所有零   RO 0
  0x1C   0x1C   I/OBase   I/O基础,仅仅是软件分配   X
  0x1C   保留,所有零   RO 0
  0x1D   0x1D   I/OLimit   I/O限制,仅仅是软件分配   X
  0x1D   保留,所有零   RO 0
  0x1E   0x1E   Sec-STS   次总线状态   X
  0x1E   保留,所有零   RO 0
  0x20   0x20   MEMBase   存储器基础,RW,通过开关使用   X
  0x20   保留,所有零   RO 0
  0x22   0x22   MEMLimit   存储器限制,RW,通过开关使用   X
  0x22   保留,所有零   RO 0
  0x24   0x24   PMEMBase   可预取存储器,固定所有零   RO 0
  0x24   保留的,所有零   RO 0
  0x26   0x26   PMEMLimit   可预取存储器限制,固定所有零   RO 0
  0x26   保留,所有零   RO 0
  0x28   0x28   PMEMBase   可预取存储器基础,(高32比特)固定0   RO 0
  0x28   CIS   卡信息结构,不使用,固定0   RO 0
  0x2C   0x2C   PMEMLimit   可预取存储器限制,(上面的32比特)   RO 0
  0x2C,0x2E   SVID,SID   子系统厂商ID,子系统ID   X   常数ID
  0x30   0x30   I/OBase,I/OLimit   I/O基础(高16比特),I/O限制(高16比特),RW,用在开关中   RO 0
  0x30   ROM BAR   ROM基地址,不使用   RO 0
  0x34   0x34   CAP PTR   容量指针  X   X   共享的
  0x35-0x37   0x35-0x37   保留,所有零   RO 0
  0x38   0x38   ROM BAR   扩展ROM基地址,保留,所有零   RO 0
  0x38   保留,所有零   RO 0
  0x3C   0x3C   INTLINE   中断线   RO 0
  0x3D   0x3D   INT PIN   中断管脚   RO 0
  0x3E   0x3E   BCR   桥控制寄存器  X
  0x3E   0x3E   MIN GNT   最小许可,不使用   RO 0
  0x3F   0x3F   MAX LAT   最大等候时间,不使用   RO 0
                                       MSI
  0x40   0x00   消息控制   X
  0x44   0x04   消息地址   X
  0x4B   0x0B   消息高地址   消息高地址   X
  0x4C   0x0C   消息数据   消息数据   X
                                  PCI Express性能
  0x50   0x0   PCIExpress性能列表寄存器   PCI Express性能列表寄存器   X   X   共享的
  0x52   0x2   PCIExpress性能寄存器   PCI Express性能寄存器   X   共享的大多数比特,端口类型不同
  0x52   0x2   PCIExpress性能寄存器   PCI Express性能寄存器   X
  0x54   0x4   设备性能寄存器   设备性能寄存器   X   X   共享的RO比特,最大有效负载,延迟字段等于两个块
  0x58   0x8   设备控制寄存器   设备控制寄存器  X   X   比特必须设定为相同,因此共享事件控制。许多比特是固定的RO。假定没有错误(无链路)
  0x5A   0xA   设备状态寄存器   设备状态寄存器   RO 0(假定没有错误)
  0x5C   0x0C   链路性能   链路性能  X   X   共享RO伪字段
  0x60   0x10   链路控制寄存器   链路控制寄存器  X   X   共享比特4为RW但为空。其他的是内容
  0x62   0x12   链路状态寄存器   链路状态寄存器  X   X   RO比特,共享
  0x64   0x14   槽性能   槽性能   RO 0
  0x68   0x18   槽控制   槽控制   RO 0
  0x6A   0x1A   槽状态   槽状态   RO 0
  0x6C   0x1C   启动控制   启动控制  X   PMEint使能比特为仅仅需要的比特
  0x1c   Na   保留,所有的零   RO 0
  0x70   0x20   启动状态   启动状态  X
  0x20   na   保留,所有的零   RO 0
                                   电源
  0x74   0x0   电源管理性能   不需要
  0x78   0x4   电源管理状态/控制   不需要
                     卖方说明
                  卖方说明不需要

Claims (20)

1、一种供PCI Express类型数据通信使用的集成端点设备,其包括:配置并设置成执行外部PCI Express端点设备块功能的PCI Express端点电路(121,123,260,262,264);适用于与PCI Express总线进行通信而且被配置并设置成执行下游端口功能的PCI Express下游端口电路(146,148,246);模拟电路(110,112,210),其适用于模拟分别由PCI Express端点电路与PCI Express下游端口电路所实现的PCIExpress端点设备与PCI Express下游端口之间的一个PCI Express兼容链路。
2、按照权利要求1的设备,还包括合并的配置寄存器(600),其适用于存储由模拟电路与PCI Express端点电路使用的信息,所存储的信息有助于模拟PCI Express兼容链路。
3、按照权利要求1的设备,其中模拟电路适用于与可实现的软件应用接口,用于模拟PCI Express端点电路作为包含专用PCI Express链路的外部块。
4、按照权利要求1所述的设备,还包括至少一个非功能性寄存器(491,492,493),其被配置成模拟表现出PCI Express兼容设备特征的寄存器。
5、按照权利要求4的设备,其中模拟电路适于实现用在集成端点设备与PCI Express类型通信链路之间的PCI Express类型的通信的至少一个非功能性寄存器,其请求实现该至少一个非功能性寄存器所实现的寄存器功能。
6、按照权利要求4的设备,其中至少一个非功能性寄存器适用于只读取所有零。
7、按照权利要求4的设备,其中模拟非功能性寄存器以看起来在软件透视图中出现。
8、按照权利要求4的设备,其中至少一个非功能性寄存器对每一个外部PCI Express端点设备块是唯一的,PCI Express端点电路对其实现外部功能。
9、按照权利要求4的设备,其中至少一个非功能性寄存器对每一个模拟的PCI Express兼容链路是唯一的。
10、按照权利要求4的设备,其中在至少两个模拟的PCI Express兼容链路之间共享至少一个非功能性寄存器。
11、按照权利要求1的设备,其中配置并设置PCI Express端点电路来对至少两个PCI Express端点块实现PCI Express端点设备块功能,而且模拟电路适用于模拟和控制在至少两个PCI Express端点块之间的一个虚拟链路。
12、按照权利要求1的设备,其中PCI Express下游端口电路适用于与PCI Express网络集线器进行通信。
13、按照权利要求1的设备,其中PCI Express下游端口电路适用于与个人计算机、服务器和网络中的至少一个的PCI Express类型链路进行通信。
14、按照权利要求1的设备,其中模拟电路还适用于模拟PCIExpress兼容链路,其包含PCI Express至PCI桥和与PCI Express端点电路所实现的多个PCI Express端点设备块耦合的PCI总线。
15、一种供PCI Express类型通信使用的集成的PCI Express端点设备,其适用于在PCI Express开关的内部总线上出现并促进PCIExpress兼容性,该PCI Express端点设备包括一个硬件块,其被配置并设置成:实现PCI Express开关的下游端口功能,实现端点设备功能以及模拟通过PCI Express兼容链路耦合的下游端口块和端点设备块,其中该模拟的下游端口块实现下游端口功能而模拟的端点设备块实现端点设备功能;该PCI Express端点设备还包括一个合并的配置寄存器,其适用于存储该硬件块在模拟和实现下游端口、端点设备和PCI Express兼容链路功能时所使用的信息。
16、一种供PCI Express类型数据通信使用的集成端点设备,其包括:用于实现外部PCI Express端点设备块功能的外部块装置;经过配置并用于与PCI Express总线通信和实现PCI Express下游端口功能的端口装置;以及模拟装置,用于模拟分别由外部块装置与端口装置所实现的PCI Express端点设备与PCI Express下游端口之间的一个PCIExpress兼容链路。
17、一种PCI Express通信系统,包括:一个中央处理器装置;一个被配置并设置成在中央处理器装置和PCI Express总线开关之间进行通信的主机桥;一个PCI Express开关,其包含一个上游端口,一个总线和多个下游端口;与其中一个下游端口耦合的一个PCI Express端点设备;其中该PCI Express端点设备及与其耦合的下游端口包含在单个电路中,该单个电路模拟通过一个虚拟链路耦合的下游端口和PCIExpress端点设备。
18、按照权利要求17所述的系统,还包括为了模拟该模拟的下游端口和PCI Express端点设备特性所实现的多个寄存器。
19、按照权利要求18所述的系统,其中至少一个寄存器是为了模拟PCI Express类型功能所实现的非功能性寄存器。
20、一种PCI Express通信系统,包括:一个PCI至PCI Express桥;一个上游端口;多个下游端口;其中该PCI至PCI Express桥、上游端口和下游端口都包含在一个电路中,该电路模拟在PCI至PCIExpress桥与上游端口之间的一个虚拟链路和模拟链接多个下游端口与上游端口的一个PCI Express总线。
CNB200580008749XA 2004-03-19 2005-03-21 Pci express开关的pci express端点与下游端口的模拟电路 Expired - Fee Related CN100462953C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55450504P 2004-03-19 2004-03-19
US60/554,505 2004-03-19

Publications (2)

Publication Number Publication Date
CN1934556A true CN1934556A (zh) 2007-03-21
CN100462953C CN100462953C (zh) 2009-02-18

Family

ID=34961636

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200580008749XA Expired - Fee Related CN100462953C (zh) 2004-03-19 2005-03-21 Pci express开关的pci express端点与下游端口的模拟电路

Country Status (8)

Country Link
US (1) US7983888B2 (zh)
EP (1) EP1728168B1 (zh)
JP (1) JP2007529813A (zh)
KR (1) KR101035832B1 (zh)
CN (1) CN100462953C (zh)
AT (1) ATE433159T1 (zh)
DE (1) DE602005014753D1 (zh)
WO (1) WO2005091154A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103003808A (zh) * 2010-07-15 2013-03-27 超威半导体公司 用于访问PCI Express 兼容设备的资源的系统和方法
CN112799991A (zh) * 2021-01-07 2021-05-14 牛芯半导体(深圳)有限公司 Pcie交换芯片

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
CN100581172C (zh) 2006-04-19 2010-01-13 杭州华三通信技术有限公司 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统
US7529860B2 (en) * 2006-12-19 2009-05-05 International Business Machines Corporation System and method for configuring an endpoint based on specified valid combinations of functions
US7711888B2 (en) * 2006-12-31 2010-05-04 Texas Instruments Incorporated Systems and methods for improving data transfer between devices
US7660925B2 (en) * 2007-04-17 2010-02-09 International Business Machines Corporation Balancing PCI-express bandwidth
US8255707B2 (en) * 2008-03-06 2012-08-28 Fujitsu Limited System and method for providing a one-step testing architecture
US8200473B1 (en) * 2008-08-25 2012-06-12 Qlogic, Corporation Emulation of multiple MDIO manageable devices
DE102009002281A1 (de) * 2009-04-08 2010-10-14 Robert Bosch Gmbh Verfahren zur Anbindung von Slave-Karten an ein Bus-System
US9479489B2 (en) 2013-03-05 2016-10-25 Comcast Cable Communications, Llc Systems and methods for providing services
US9311266B2 (en) 2013-06-14 2016-04-12 National Instruments Corporation Hidden base address register programming in peripheral component interconnect express buses
US9563591B2 (en) 2014-03-06 2017-02-07 International Business Machines Corporation Peripheral component interconnect express (PCIe) ping in a switch-based environment
US10452570B1 (en) 2014-08-27 2019-10-22 Amazon Technologies, Inc. Presenting physical devices to virtual computers through bus controllers emulated on PCI express endpoints
US9842075B1 (en) * 2014-09-12 2017-12-12 Amazon Technologies, Inc. Presenting multiple endpoints from an enhanced PCI express endpoint device
US9996484B1 (en) 2014-09-17 2018-06-12 Amazon Technologies, Inc. Hardware acceleration for software emulation of PCI express compliant devices
US10303644B2 (en) 2014-11-21 2019-05-28 International Business Machines Corporation Providing remote, reliant and high performance PCI express device in cloud computing environments
KR101782852B1 (ko) * 2015-06-14 2017-10-23 아던트 시스템즈 아이엔씨 엔드포인트 에뮬레이션을 이용한 빈 엔드포인트 슬롯의 초기 열거법
CN105304116B (zh) 2015-09-16 2018-07-20 江苏时代全芯存储科技有限公司 记忆体驱动电路
US10860520B2 (en) 2015-11-18 2020-12-08 Oracle International Corporation Integration of a virtualized input/output device in a computer system
US10509758B1 (en) * 2017-09-28 2019-12-17 Amazon Technologies, Inc. Emulated switch with hot-plugging

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9318014D0 (en) 1993-08-31 1993-10-20 Texas Instruments Ltd Improvements in and relating to local area network adaptors
JP3838756B2 (ja) 1997-09-16 2006-10-25 株式会社東芝 回路設計支援装置
JP3439353B2 (ja) 1998-10-19 2003-08-25 Necエレクトロニクス株式会社 ソフトウェア・シミュレータシステム及びプログラムを記録した記録媒体
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US6141719A (en) * 1998-12-10 2000-10-31 Network Technologies, Inc. USB selector switch
EP1133108A1 (en) 2000-03-07 2001-09-12 Sony International (Europe) GmbH Interface link layer device for long delay connections
EP1134638A3 (en) * 2000-03-13 2002-08-14 Kabushiki Kaisha Toshiba Simulator and simulation method
JP2001331346A (ja) 2000-03-13 2001-11-30 Toshiba Corp シミュレータ及びシミュレーション方法
US20030144029A1 (en) * 2002-01-25 2003-07-31 Koninklijke Philips Electronics N.V. Apparatus for wireless connectivity using software modem
CN1251445C (zh) 2002-05-14 2006-04-12 华为技术有限公司 用于pci卡批量测试的装置
US7065597B2 (en) * 2002-06-28 2006-06-20 Intel Corporation Method and apparatus for in-band signaling of runtime general purpose events
US20040003154A1 (en) 2002-06-28 2004-01-01 Harris Jeffrey M. Computer system and method of communicating
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7320080B2 (en) * 2003-10-15 2008-01-15 Intel Corporation Power management over switching fabrics
US7657762B2 (en) * 2005-01-14 2010-02-02 Ati Technologies, Inc. Apparatus and methods for power management of a circuit module
US20060227768A1 (en) * 2005-04-07 2006-10-12 Dell Products L.P. System and method for communicating between a computer cluster and a remote user interface
TWI269174B (en) * 2005-07-05 2006-12-21 Istek Co Ltd Cross-platform driver-free driving method of peripheral device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103003808A (zh) * 2010-07-15 2013-03-27 超威半导体公司 用于访问PCI Express 兼容设备的资源的系统和方法
CN103003808B (zh) * 2010-07-15 2015-07-01 超威半导体公司 用于访问PCI Express 兼容设备的资源的系统和方法
CN112799991A (zh) * 2021-01-07 2021-05-14 牛芯半导体(深圳)有限公司 Pcie交换芯片
CN112799991B (zh) * 2021-01-07 2022-12-20 牛芯半导体(深圳)有限公司 Pcie交换芯片

Also Published As

Publication number Publication date
US7983888B2 (en) 2011-07-19
JP2007529813A (ja) 2007-10-25
ATE433159T1 (de) 2009-06-15
KR101035832B1 (ko) 2011-05-20
CN100462953C (zh) 2009-02-18
WO2005091154A1 (en) 2005-09-29
KR20070003954A (ko) 2007-01-05
EP1728168B1 (en) 2009-06-03
DE602005014753D1 (de) 2009-07-16
EP1728168A1 (en) 2006-12-06
US20080256284A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
CN1934556A (zh) Pci express开关的pci express端点与下游端口的模拟电路
US10437764B2 (en) Multi protocol communication switch apparatus
Flich et al. Designing network on-chip architectures in the nanoscale era
US8020168B2 (en) Dynamic virtual software pipelining on a network on chip
US6633946B1 (en) Flexible switch-based I/O system interconnect
US7506077B2 (en) Unified controller having host and device functionality
US7624222B2 (en) South bridge system and method
US20040179534A1 (en) Method and apparatus for shared I/O in a load/store fabric
US20090125706A1 (en) Software Pipelining on a Network on Chip
US20090210883A1 (en) Network On Chip Low Latency, High Bandwidth Application Messaging Interconnect
US20090109996A1 (en) Network on Chip
CN107111576A (zh) 发布的中断架构
CN100424668C (zh) Pci-e总线自动配置系统
US20170344506A1 (en) Qos-aware io management for pcie storage system with reconfigurable multi-ports
US20040141518A1 (en) Flexible multimode chip design for storage and networking
CN1477531A (zh) 提高串行存储设备的可靠性和可伸缩性的方法及装置
CN1650276A (zh) Ata/sata组合控制器
US7917680B2 (en) Performance based packet ordering in a PCI express bus
CN101971156A (zh) 用于端口倍增器增强的方法、装置及系统
US6748466B2 (en) Method and apparatus for high throughput short packet transfers with minimum memory footprint
US7594058B2 (en) Chipset supporting a peripheral component interconnection express (PCI-E) architecture
CN111722930A (zh) 一种数据预处理系统
Mohsenin Design and evaluation of fpga-based gigabit-ethernet/pci network interface card
Paulson The ins and outs of new local I/O trends
Aliyeva Hardware Support for FPGA Resource Elasticity

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070720

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20140321