CN107771325B - 在高速外围组件互连(pcie)系统中传达因事务而异的属性 - Google Patents

在高速外围组件互连(pcie)系统中传达因事务而异的属性 Download PDF

Info

Publication number
CN107771325B
CN107771325B CN201680036274.3A CN201680036274A CN107771325B CN 107771325 B CN107771325 B CN 107771325B CN 201680036274 A CN201680036274 A CN 201680036274A CN 107771325 B CN107771325 B CN 107771325B
Authority
CN
China
Prior art keywords
transaction
pcie
specific attributes
attribute
prefix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680036274.3A
Other languages
English (en)
Other versions
CN107771325A (zh
Inventor
O·罗斯伯格
A·吉尔
J·L·帕尼安
P·帕特尔
S·Y·伊弗拉奇
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107771325A publication Critical patent/CN107771325A/zh
Application granted granted Critical
Publication of CN107771325B publication Critical patent/CN107771325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种PCIe系统包括主机系统(304)和至少一个PCIe端点(302)。该PCIe端点被配置成确定可以改进预定义主机事务的效率和性能的一个或多个因事务而异的属性。该PCIe端点在至少一个PCIe事务层分组(TLP)的TLP前缀中编码这些因事务而异的属性,并向该主机系统提供该PCIe TLP。该主机系统中的PCIe根复合体(316)被配置成从接收自该PCIe端点的该PCIe TLP的该TLP前缀检测并提取这些因事务而异的属性。通过在该PCIe TLP的该TLP前缀中传达这些因事务而异的属性,有可能改进该PCIe系统的效率和性能而不违反现有的PCIe标准。

Description

在高速外围组件互连(PCIE)系统中传达因事务而异的属性
优先权要求
本申请要求2015年6月22日提交并题为“ENHANCING PERIPHERAL COMPONENTINTERCONNECT(PCI)EXPRESS(PCIe)ATTRIBUTES TO SUPPORT ADVANCED SYSTEM BUSES(增强高速外围组件互连(PCI) (PCIe)属性以支持高级系统总线)”的美国临时专利申请S/N.62/182,807的优先权,其内容通过引用被全部纳入于此。
本申请还要求2016年5月31日提交并题为“COMMUNICATING TRANSACTION-SPECIFIC ATTRIBUTES IN A PERIPHERAL COMPONENT INTERCONNECT EXPRESS(PCIE)SYSTEM(在高速外围组件互连(PCIE) 系统中传达因事务而异的属性)”的美国专利申请S/N.15/168,574的优先权,其内容通过引用被全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及高速外围组件互连(PCIe)。
II.背景技术
移动通信设备在当前社会已变得越来越普遍。这些移动通信设备的盛行部分地是由目前在此类设备上实现的许多功能来推动的。此类设备中增强的处理能力意味着移动通信设备已经从纯粹的通信工具演进成实现增强的用户体验的复杂的移动多媒体中心。此类增加的功能性是通过在移动通信设备内纳入甚至更为复杂的集成电路(IC)来实现的。随着移动通信设备内的IC的数目和复杂度的增加,各种IC彼此通信的需要也增加了。
已经公布了数个标准,其概述了允许IC彼此通信的各种协议。一种流行的协议是外围组件互连(PCI)协议,其以各种配置呈现,包括高速PCI(PCIe) 协议。在作为IC到IC通信协议很有用的同时,PCI和PCIe也可以被用来通过电缆或其他连接器将移动终端耦合到远程设备。
高级微控制器总线架构(AMBA)是用于片上系统(SoC)中的功能块的连接和管理的一种开放标准、片上互连规范。AMBA允许用于高性能、高时钟频率系统设计的高级可扩展接口(AXI)。AXI包括使其适合于高速亚微米互连的特征,并且还允许属性被指派给事务以改进性能。PCIe不提供此类属性的使用。即,虽然PCIe具有特定的事务间属性(诸如,优先级和排序属性),但是这些是一个事务相对于其他事务的属性并且在PCIe事务层分组(TLP)的报头中提供。由此,PCIe能够受益于使用性能改进属性。
公开概述
具体描述中公开的诸方面包括在高速外围组件互连(PCIe)系统中传达因事务而异的属性。PCIe系统包括主机系统和至少一个PCIe端点。PCIe端点被配置成确定可以改进预定义主机事务的效率和性能的一个或多个因事务而异的属性(例如,可高速缓存、可缓冲、读分配(read-allocate)和写分配 (write-allocate))。就此而言,在一个方面,该PCIe端点在至少一个PCIe 事务层分组(TLP)的TLP前缀中编码因事务而异的属性,并向主机系统提供该PCIe TLP。在另一方面,该主机系统中的PCIe根复合体(RC)被配置成从接收自该PCIe端点的该PCIe TLP的该TLP前缀中检测并提取因事务而异的属性。通过在该PCIe TLP的该TLP前缀中传达因事务而异的属性,有可能改进该PCIe系统的效率和性能而不违反现有的PCIe标准。
就此而言,在一方面,提供了一种主机系统。该主机系统包括总线接口,其被配置成耦合到多个PCIe端点以接收包括TLP前缀的至少一个PCIe TLP。该主机系统还包括PCIeRC,该PCIe RC包括属性前缀检测和解析逻辑。该属性前缀检测和解析逻辑被配置成从该总线接口接收该至少一个PCIe TLP。该属性前缀检测和解析逻辑还被配置成检测该至少一个PCIe TLP中的TLP前缀。该属性前缀检测和解析逻辑还被配置成解析该TLP前缀以提取与预定义主机事务相关联的一个或多个因事务而异的属性。该属性前缀检测和解析逻辑还被配置成向属性接口提供该一个或多个因事务而异的属性。
在另一方面,提供了一种用于在主机系统中接收因事务而异的属性的方法。该方法包括接收包括TLP前缀的至少一个PCIe TLP。该方法还包括检测该至少一个PCIe TLP中的该TLP前缀。该方法还包括解析该TLP前缀以提取与预定义主机事务相关联的一个或多个因事务而异的属性。该方法还包括向属性接口提供该一个或多个因事务而异的属性。
在另一方面,提供了一种PCIe端点。该PCIe端点包括处理电路系统。该处理电路系统被配置成确定预定义主机事务的一个或多个因事务而异的属性。该处理电路系统还被配置成在至少一个PCIe TLP的TLP前缀中编码该一个或多个因事务而异的属性。该处理电路系统还被配置成向通信地耦合到该PCIe 端点的主机系统提供该至少一个PCIe TLP。
在另一方面,提供了一种用于从PCIe端点向主机系统传达因事务而异的属性的方法。该方法包括确定预定义主机事务的一个或多个因事务而异的属性。该方法还包括在至少一个PCIe TLP的TLP前缀中编码该一个或多个因事务而异的属性。该方法还包括向该主机系统提供该至少一个PCIe TLP。
附图简述
图1是示例性常规高速外围组件互连(PCIe)系统的示意图;
图2A是PCIe基本规范版本3.0(PCIe规范)中定义的示例性PCIe事务层分组(TLP)的示意图;
图2B是PCIe规范中定义的图2A的PCIe TLP中的TLP报头的示意图;
图2C是提供图2B的TLP报头中的用于传达事务间属性的第一属性字段和第二属性字段的示例性解说的示意图;
图3是配置成为了PCIe系统中的效率和性能改进而使得多个PCIe端点能够向主机系统传达因事务而异的属性的示例性PCIe系统的示意图。
图4是图3的每个PCIe端点可以用来在图2A的PCIe TLP的TLP前缀中编码图3的因事务而异的属性以供向图3的主机系统传达的示例性数据结构的示意图;
图5是用于在图3的主机系统中接收因事务而异的属性的示例性主机过程的流程图;
图6是用于向图3的主机系统传达因事务而异的属性的示例性PCIe端点过程的流程图;以及
图7是可包括图3的PCIe系统的示例性基于处理器的系统的框图。
详细描述
现在参照附图,描述本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
具体描述中公开的诸方面包括在高速外围组件互连(PCIe)系统中传达因事务而异的属性。PCIe系统包括主机系统和至少一个PCIe端点。PCIe端点被配置成确定可以改进预定义主机事务的效率和性能的一个或多个因事务而异的属性(例如,可高速缓存、可缓冲、读分配(read-allocate)和写分配 (write-allocate))。就此而言,在一个方面,PCIe端点在至少一个PCIe事务层分组(TLP)的TLP前缀中编码因事务而异的属性,并向主机系统提供该 PCIe TLP。在另一方面,主机系统中的PCIe根复合体(RC)被配置成从接收自PCIe端点的PCIe TLP的TLP前缀中检测并提取因事务而异的属性。通过在PCIe TLP的TLP前缀中传达因事务而异的属性,有可能改进PCIe系统的效率和性能而不违反现有的PCIe标准。
在讨论在包括本公开的具体诸方面的PCIe系统中传达因事务而异的属性的示例性方面之前,首先在图1中提供了常规PCIe系统的简要概述。随后参照图2A-2C讨论PCIe基本规范版本3.0(PCIe规范)(由外围组件互连(PCI) 特殊兴趣小组(SIG)(PCI-SIG)在2010年11月10日公布)中定义的PCIe TLP格式和性能优化属性的简要概述。参照图3开始讨论在PCIe系统中传达因事务而异的属性的具体示例性诸方面。
就此而言,图1是示例性常规PCIe系统100的示意图。常规PCIe系统 100包括主机系统102和多个PCIe端点104(1)-104(N)。在非限定性示例中, PCIe端点104(N)是控制PCIe端点104(N)(1)-104(N)(M)的PCIe交换器104(N)。在该示例中,PCIe端点104(N)(1)-104(N)(M)被配置成经由PCIe交换器104(N) 与主机系统102通信。
主机系统102包括至少一个处理器106、存储器控制器108、和存储器管理单元(MMU)110。处理器106、存储器控制器108、和MMU 110被耦合到内部总线112(例如,系统片上网络(SNoC)总线)。例如,存储器控制器 108被配置成控制存储器114,诸如动态随机存取存储器(DRAM)或双数据率(DDR)DRAM。主机系统102还包括通信地耦合到MMU 110的PCIe根复合体(RC)116。PCIe RC 116被配置成经由总线接口118控制PCIe端点 104(1)-104(N)。PCIeRC 116和PCIe端点104(1)-104(N)之间的通信是基于TLP (未示出)的。每个TLP包括使得PCIe RC 116能够将TLP正确地路由到PCIe 端点104(1)-104(N)的地址信息。就此而言,PCIe RC 116类似于网际协议(IP) 网络的路由器,而TLP类似于在IP网络中传达的IP分组。
根据PCIe规范,TLP被用来在PCIe RC 116和PCIe端点104(1)-104(N) 之间传达事务(诸如,读和写)以及特定类型的事件。PCIe规范定义了四(4) 种类型的事务,包括存储器事务、输入/输出(I/O)事务、配置事务、和消息事务。存储器事务包括读请求、写请求、和原子操作(AtomicOp)请求事务。此类事务可以伴有定义主机系统102如何对待一个PCIe事务(相对于另一PCIe 事务而言)的事务间属性(诸如,优先级、排序、和可窥探(snoopable)属性)。事务间属性可以根据PCIe规范在TLP中提供。为了帮助理解TLP如何能够被配置成根据PCIe规范来传达事务间属性,接着讨论图2A-2C。
就此而言,图2A是PCIe规范中定义的示例性PCIe TLP 200的示意图。 PCIe TLP200包括TLP前缀202、TLP报头204、数据载荷206、和TLP摘要 208。根据PCIe规范,TLP前缀202和TLP摘要208是任选的。在非限定性示例中,TLP前缀202根据供应商定义的数据结构来被编码以携带因供应商而异的信息。根据PCIe规范,事务间属性在TLP报头204中传达。
就此而言,图2B是PCIe规范中定义的图2A的PCIe TLP 200中的TLP 报头204的示意图。TLP报头204包括类型字段210。例如,类型字段210可以被编码以指示事务的类型,诸如存储器读请求、存储器写请求、I/O读请求、和I/O写请求。TLP报头204还包括第一属性字段212(图2B中缩写为Attr)、第二属性字段214(图2B中缩写为Attr)、和话务类字段216(图2B中缩写为TC)。第一属性字段212、第二属性字段214、和话务类字段216是携带图 1的PCIeRC 116和PCIe端点104(1)-104(N)之间的事务信息的PCIe事务描述符(未示出)的一部分。
根据PCIe规范,第一属性字段212和第二属性字段214被配置成传达事务间属性。就此而言,图2C是提供图2B的TLP报头204中的用于传达事务间属性的第一属性字段212和第二属性字段214的示例性解说的示意图。根据 PCIe规范,第一属性字段212具有一(1)个二进制位(1-bit)的相应长度,并且被配置成标识基于标识(ID)的排序属性。第二属性字段214具有两(2) 个二进制位(2-bit)的相应长度并被配置成标识宽松的排序以及无窥探(snoop) 属性。在第一属性字段212和第二属性字段214中携带的属性(例如,基于ID 的排序属性、宽松排序属性、和无窥探属性)在下文中被称作标准属性。
参照回图1,主机系统102包括被配置成解析图2A的PCIe TLP 200中的数据载荷206的事务解析逻辑120。事务解析逻辑120还被配置成解析图2B 的TLP报头204中的第一属性字段212和第二属性字段214。事务解析逻辑120 将在第一属性字段212和第二属性字段214中接收的属性传递到MMU 110。事务解析逻辑120还生成了总线事务122并将总线事务122提供给MMU 110。 MMU 110被配置成经由内部总线112向存储器控制器108提供总线事务122。
如先前所讨论的,事务间属性(诸如,优先级、排序、和可窥探(snoopable) 属性)定义了主机系统102如何对待一个PCIe事务(相对于另一PCIe事务而言)。如在PCIe规范中定义的,存储器事务包括读请求、写请求、和原子操作请求事务。就此而言,事务间属性定义了读请求、写请求、和原子操作请求事务之间的优先级和/或排序。然而,在一些主机系统架构设计(例如,由英国公司安谋控股(ARM Holdings)所研发的微处理器架构)中,可能包括事务内属性以改进主机系统102的效率和性能。
在非限定性示例中,事务内属性包括可高速缓存属性、可缓冲属性、读分配属性、写分配属性、指令/数据属性、特权/用户属性、直写(write-through) 属性、经排序的写和经排序的读属性。可高速缓存属性定义了目的地实体(例如,PCIe端点104(1))处的数据是否需要匹配源实体(例如,处理器106)处的原始格式。若在可高速缓存属性中,存储器事务被定义为可高速缓存的,则目的地实体处的数据不需要匹配始发实体处的原始格式。就此而言,主机系统 102可以将可高速缓存事务的数据与TLP中其他事务的数据混合。可缓冲属性定义了数据在抵达目的地实体时是否能被缓冲(延迟)。读分配属性定义了若读事务在高速缓存(未示出)中有未命中,则与该读事务相关联的数据是否必须在该高速缓存中被分配。写分配属性定义了若写事务在高速缓存(未示出) 中有未命中,则与该写事务相关联的数据是否必须在该高速缓存中被分配。指令/数据属性指示了数据是总线事务指令还是事务数据。MMU 110和/或存储器控制器108可以基于指令/数据属性确定要执行总线事务指令而非检查读/写许可。特权/用户属性指示总线事务122是用户模式还是特权模式访问。MMU110 和/或存储器控制器108可以使用特权/用户属性来确定存储器访问许可。直写属性指示高速缓存(未示出)应当将总线事务122作为直写还是回写来处置。直写属性可以由主机系统102中的各种高速缓存(例如,系统高速缓存、2级 (L2)高速缓存等)使用。经排序的写和经排序的读属性指示了并发的总线事务(写或读)需要被排序。经排序的写和经排序的读属性由内部总线112使用来将总线事务122对照所有先前的总线事务排序。就此而言,事务内属性定义了具体事务的事务处置偏好。例如,读分配属性可以涉及读请求事务,而写分配属性可以涉及写请求事务。由此,上文讨论的事务内属性在下文中被称作因事务而异的属性。
上文中讨论的因事务而异的属性可以帮助改进主机系统102的效率和性能。然而,当存储器事务源自PCIe端点104(1)-104(N)时,主机系统102具有有限的关于事务(例如,读请求、写请求、原子操作请求)的性质的知识,并且由此不能够确定PCIe端点104(1)-104(N)的因事务而异的属性。作为对比, PCIe端点104(1)-104(N)知晓因事务而异的属性,但是不能够将因事务而异的属性传递到主机系统102,因为PCIe规范不提供用于传达因事务而异的属性的机制。由此,可以期望使得PCIe端点104(1)-104(N)能够向PCIe RC 116传达因事务而异的属性,而同时维持对PCIe规范的顺应性。
就此而言,图3是配置成为了PCIe系统300中的效率和性能改进而使得多个PCIe端点302(1)-302(N)能够向主机系统304传达因事务而异的属性的示例性PCIe系统300的示意图。在非限定性示例中,PCIe端点302(N)是控制PCIe 端点302(N)(1)-302(N)(M)的PCIe交换器302(N)。在该示例中,PCIe端点 302(N)(1)-302(N)(M)被配置成经由PCIe交换器302(N)与主机系统304通信。
为方便参照,PCIe端点302(1)在下文中作为非限定性示例讨论。应当领会,参照PCIe端点302(1)讨论的配置和操作可应用于PCIe端点302(1)-302(N) 和PCIe端点302(N)(1)-302(N)(M)中的每一者。
参照图3,主机系统304包括至少一个处理器306、存储器控制器308、和MMU 310。处理器306、存储器控制器308、和MMU 310被耦合到内部总线312(例如,SNoC总线)。例如,存储器控制器308被配置成控制存储器 314,诸如DRAM或DDR DRAM。主机系统304还包括经由属性接口318通信地耦合到MMU 310的PCIe RC 316。在非限定性示例中,属性接口318是物理接口或逻辑接口。PCIe RC 316被配置成经由总线接口320控制PCIe端点 302(1)-302(N)。如参照图2A所讨论的,PCIe RC 316和PCIe端点302(1)-302(N) 之间的通信是基于TLP的。主机系统304包括被配置成解析图2A的PCIe TLP 200中的数据载荷206的事务解析逻辑322。事务解析逻辑322还被配置成解析图2B的TLP报头204中的第一属性字段212和第二属性字段214。
如先前在图2A中讨论的,PCIe TLP 200任选地包括可以根据供应商定义的数据结构编码以携带因供应商而异的信息的TLP前缀202。根据先前讨论的示例性方面,PCIe端点302(1)被配置成通过将供应商定义的数据结构嵌入在 PCIe TLP 200中的TLP前缀202中来将因事务而异的属性传达给PCIe RC 316。
就此而言,图4是PCIe端点302(1)-302(N)中的每一者都能用来在图2A 的PCIeTLP 200的TLP前缀202中编码图3的因事务而异的属性以供向图3 的主机系统304传达的示例性数据结构400的示意图。在非限定性示例中,数据结构400包括可缓冲属性位402、可高速缓存属性位404、读分配属性位406、和写分配属性位408。应当领会,数据结构400可以被扩展成在其中包括更多的属性位。
参照图4,可缓冲属性位402被设置成零(0)或一(1)来分别指示始发自PCIe端点302(1)的事务是不可缓冲的还是可缓冲的。可高速缓存属性位404 被设置成0或1来分别指示始发自PCIe端点302(1)的事务是不可高速缓存的还是可高速缓存的。读分配属性位406被设置成0或1来分别指示始发自PCIe 端点302(1)的事务是非读分配的还是读分配的。写分配属性位408被设置成0 或1来分别指示始发自PCIe端点302(1)的事务是非写分配的还是写分配的。
参照回图3,PCIe端点302(1)包括处理电路系统327,其被配置成确定预定义主机事务的一个或多个因事务而异的属性,该预定义主机事务可以是例如,读请求、写请求或原子操作请求。PCIe端点302(1)被配置成编码与至少一个PCIe TLP 324的TLP前缀202中的预定义主机事务相关联的因事务而异的属性。PCIe端点302(1)随后向总线接口320提供PCIeTLP 324以供向主机系统304传达。
PCIe RC 316经由总线接口320接收PCIe TLP 324。事务解析逻辑322解析PCIeTLP 325中的数据载荷206(以及任何标准属性)。事务解析逻辑322 生成预定义主机事务的总线事务326并将该总线事务326提供给MMU 310。 MMU 310被配置成经由内部总线312向存储器控制器308提供总线事务326。
PCIe RC 316包括属性前缀检测和解析逻辑328。属性前缀检测和解析逻辑328被配置成从总线接口320接收PCIe TLP 324并在接收到的PCIe TLP 324 中检测TLP前缀202。与事务解析逻辑322解析PCIe TLP 324中的数据载荷 206(以及任何标准属性)基本上并发地,属性前缀检测和解析逻辑328解析 TLP前缀202以提取由PCIe端点302(1)编码在图4的数据结构400中的因事务而异的属性。属性前缀检测和解析逻辑328随后向属性接口318提供因事务而异的属性。
MMU 310包括被配置成从属性接口318接收因事务而异的属性的属性转换器330(在图3中缩写为AC)。属性转换器330将因事务而异的属性转换成一个或多个因总线而异的属性332,并将因总线而异的属性332提供到存储器控制器308。在第一非限定性示例中,因总线而异的属性332作为总线事务 326的带内信号来被传达。结果,因总线而异的属性332与总线事务326同步。在第二非限定性示例中,因总线而异的属性332作为对总线事务326而言的边带信号来被传达。结果,因总线而异的属性332需要由主机系统304来与总线事务326同步。存储器控制器308可以随后使用因事务而异的属性来改进主机系统304的性能。在非限定性示例中,属性转换器330被配置成将因事务而异的属性转换成一个或多个因高级可扩展接口(AXI)而异的属性,并经由内部总线312将因AXI而异的属性提供给存储器控制器308。
如先前在图4中讨论的,数据结构400可以被扩展成包括更多属性位。由此,属性前缀检测和解析逻辑328可以被配置成接收和解析其他因事务而异的属性(例如,非存储器事务属性)并向属性接口318提供其他因事务而异的属性。相应地,电路系统336(在功能上与MMU 310不同)可以被配置成经由属性接口318接收其他因事务而异的属性以在主机系统304中执行其他预定义的主机事务。在非限定性示例中,电路系统336接收不被要求通过MMU310 的属性。此类属性并不取决于地址转译和/或其他存储器页属性。电路系统336 可以直接向内部总线312注入接收到的属性(例如,经排序的写和经排序的读属性)。
主机系统304可以被配置成根据主机侧过程从PCIe端点302(1)接收因事务而异的属性。就此而言,图5是用于在图3的主机系统304中接收因事务而异的属性的示例性主机过程500的流程图。
参照图5,属性前缀检测和解析逻辑328接收包括图2B的TLP前缀202 的PCIe TLP324(框502)。属性前缀检测和解析逻辑328检测PCIe TLP 324 中的TLP前缀202(框504)。属性前缀检测和解析逻辑328解析TLP前缀 202以提取与预定义主机事务相关联的因事务而异的属性(框506)。属性前缀检测和解析逻辑328随后向属性接口318提供因事务而异的属性(框508)。
参照回图3,PCIe端点302(1)可以被配置成根据PCIe端点侧过程向主机系统304提供因事务而异的属性。就此而言,图6是用于向图3的主机系统304 传达因事务而异的属性的示例性PCIe端点过程600的流程图。
参照图6,PCIe端点302(1)确定预定义主机事务的因事务而异的属性(框 602)PCIe端点302(1)随后在PCIe TLP 324的图2A的TLP前缀202中编码因事务而异的属性(框604)。PCIe端点302(1)随后向主机系统304提供PCIe TLP 324(框606)。
参照回图3,主机系统304中的PCIe RC 316被配置成实现与PCIe规范的后向兼容性。就此而言,若属性前缀检测和解析逻辑328检测到PCIe TLP 324 中的TLP前缀202不包含图4的数据结构400,则属性前缀检测和解析逻辑328 将不会解析TLP前缀202来提取所编码的因事务而异的属性。结果,属性前缀检测和解析逻辑328将不向属性接口318提供因事务而异的属性,并且MMU 310中的属性转换器330将不会将因事务而异的属性转换成因总线而异的属性 332。
PCIe端点302(1)还被配置成实现与PCIe规范的向后兼容性。就此而言,可以有可能提供PCIe RC 316与PCIe端点302(1)之间的能力消息接发。具体而言,PCIe规范允许用唯一性能力标识符定义新能力结构。当PCIe端点302(1) 被PCIe RC 316检测到时,若PCIe RC316支持数据结构400,则PCIe RC 316 将能力查询(未示出)作为初始设置的部分来发送。若PCIe端点302(1)支持数据结构400,则PCIe端点302(1)用唯一性的能力标识符来响应。若PCIe端点302(1)不支持数据结构400,则PCIe端点302(1)将忽视来自PCIe RC 316的能力查询。若PCIe端点302(1)在初始设置期间未从PCIe RC 316接收到能力查询,则PCIe端点302(1)可以得出PCIe RC 316不支持数据结构400(例如,旧式PCIe RC)的结论。因此,PCIe端点302(1)可以避免向PCIe TLP 324中的 TLP前缀202中添加数据结构400。PCIe端点302(1)可以使用内部寄存器(未示出)来基于初始设置的结果来指示PCIe RC 316是否支持数据结构400。
根据本文中所公开的诸方面的图3的主机系统304可以在任何基于处理器的设备中提供或者被集成到任何基于处理器的设备中。不构成限定的示例包括:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、智能电话、平板、平板手机、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器,便携式数字视频播放器,以及汽车。虽然所有此类设备都可以受益于本公开,但依赖于无线连接以及具有RFFE总线的设备将会从使用本公开的诸方面收益最大。
就此而言,图7解说了可以支持图3中的主机系统304的基于处理器的系统700的示例。在该示例中,基于处理器的系统700包括一个或多个中央处理单元(CPU)702,其各自包括一个或多个处理器704(例如,图3的处理器 306)。(诸)CPU 702可具有耦合到(诸)处理器704以用于对临时存储的数据进行快速访问的高速缓存存储器706。(诸)CPU 702被耦合到系统总线 708,该系统总线708可以是图3的内部总线312。如众所周知的,(诸)CPU 702通过在系统总线708上交换地址、控制、以及数据信息来与其他设备通信。尽管在图7中未解说,但可提供多个系统总线708,其中每个系统总线708构成不同的织构。
其他主控设备和从动设备可被连接到系统总线708。如图7中所解说的,作为示例,这些设备可包括存储器系统710、一个或多个输入设备712、一个或多个输出设备714、一个或多个网络接口设备716、一个或多个显示控制器 718、以及图3的MMU 310。(诸)输入设备712可包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备714可包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备716可以是配置成允许往来于网络720的数据交换的任何设备。网络 720可以是任何类型的网络,包括但不限于有线或无线网络、私有或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、蓝牙TM网络或因特网。(诸)网络接口设备716可被配置成支持所期望的任何类型的通信协议。存储器系统710可以包括一个或多个存储器单元722(0-N)和存储器控制器 724,该存储器控制器724可以是图3的存储器控制器308。
(诸)CPU 702还可被配置成在系统总线708上访问(诸)显示控制器 718以控制发送给一个或多个显示器726的信息。(诸)显示控制器718经由一个或多个视频处理器728向(诸)显示器726发送要显示的信息,视频处理器728将要显示的信息处理成适于(诸)显示器726的格式。(诸)显示器726 可包括任何类型的显示器,包括但不限于阴极射线管(CRT)、液晶显示器 (LCD)、等离子显示器、发光二极管(LED)显示器等。
本领域技术人员将进一步领会,结合本文所公开的诸方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文描述的主设备和从设备可用在任何电路、硬件组件、集成电路 (IC)、或IC芯片中。本文所公开的存储器可以是任何类型和大小的存储器,并且可被配置成存储所期望的任何类型的信息。为了清楚地解说这种可互换性,各种解说性组件、框、模块、电路和步骤在上文已经以其功能性的形式一般性地作了描述。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文所公开的各方面描述的各种解说性逻辑块、模块、以及电路可用被设计成执行本文所描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM (EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、 CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC 中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中所描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,可组合示例性方面中讨论的一个或多个操作步骤。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术和技艺中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文所公开的原理和新颖特征一致的最广义的范围。

Claims (30)

1.一种主机系统,包括:
总线接口,其被配置成耦合到多个高速外围组件互连PCIe端点以接收包括事务层分组TLP前缀的至少一个PCIe TLP;以及
PCIe根复合体RC,其包括属性前缀检测和解析逻辑,所述属性前缀检测和解析逻辑被配置成:
从所述总线接口接收所述至少一个PCIe TLP;
在所述至少一个PCIe TLP中检测所述TLP前缀;
解析所述TLP前缀以提取与预定义主机事务相关联的一个或多个因事务而异的属性;以及
向属性接口提供所述一个或多个因事务而异的属性。
2.如权利要求1所述的主机系统,其特征在于,所述预定义主机事务是选自包括以下各项的组的存储器事务:读请求;写请求;以及原子操作请求。
3.如权利要求1所述的主机系统,其特征在于,进一步包括:
耦合到内部总线的存储器控制器,所述存储器控制器被配置成控制存储器;以及
通信地耦合到所述内部总线的存储器管理单元MMU,所述MMU包括属性转换器,所述属性转换器被配置成:
从所述属性接口接收所述一个或多个因事务而异的属性;
将所述一个或多个因事务而异的属性转换成一个或多个因总线而异的属性;以及
向所述存储器控制器提供所述一个或多个因总线而异的属性。
4.如权利要求3所述的主机系统,其特征在于,所述属性转换器被进一步配置成:
将所述一个或多个因事务而异的属性转换成一个或多个因高级可扩展接口AXI而异的属性;以及
向所述存储器控制器提供所述一个或多个因AXI而异的属性。
5.如权利要求1所述的主机系统,其特征在于,所述一个或多个因事务而异的属性包括可高速缓存属性。
6.如权利要求1所述的主机系统,其特征在于,所述一个或多个因事务而异的属性包括可缓冲属性。
7.如权利要求1所述的主机系统,其特征在于,所述一个或多个因事务而异的属性包括读分配属性。
8.如权利要求1所述的主机系统,其特征在于,所述一个或多个因事务而异的属性包括写分配属性。
9.如权利要求1所述的主机系统,其特征在于,所述一个或多个因事务而异的属性包括选自包括以下各项的组的因事务而异的属性:指令/数据属性;特权/用户属性;直写属性;以及经排序的写和经排序的读属性。
10.如权利要求1所述的主机系统,其特征在于,所述PCIe RC进一步包括事务解析逻辑,所述事务解析逻辑被配置成解析所述至少一个PCIe TLP中的载荷和标准属性。
11.如权利要求1所述的主机系统,其特征在于,所述主机系统被集成到集成电路IC中。
12.如权利要求1所述的主机系统,其特征在于,所述主机系统被集成到选自下组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;移动电话;蜂窝电话;智能电话;平板电脑;平板手机;服务器;计算机;便携式计算机;台式计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频碟DVD播放器;便携式数字视频播放器;以及汽车。
13.一种用于在主机系统中接收因事务而异的属性的方法,包括:
接收包括事务层分组TLP前缀的至少一个高速外围组件互连PCIe TLP;
在所述至少一个PCIe TLP中检测所述TLP前缀;
解析所述TLP前缀以提取与预定义主机事务相关联的一个或多个因事务而异的属性;以及
向属性接口提供所述一个或多个因事务而异的属性。
14.如权利要求13所述的方法,其特征在于,进一步包括:
从所述属性接口接收所述一个或多个因事务而异的属性;
将所述一个或多个因事务而异的属性转换成一个或多个因总线而异的属性;以及
向存储器控制器提供所述一个或多个因总线而异的属性。
15.如权利要求14所述的方法,其特征在于,进一步包括:
将所述一个或多个因事务而异的属性转换成一个或多个因高级可扩展接口AXI而异的属性;以及
向所述存储器控制器提供所述一个或多个因AXI而异的属性。
16.如权利要求13所述的方法,其特征在于,进一步包括接收所述至少一个PCIe TLP的所述TLP前缀中的可高速缓存属性。
17.如权利要求13所述的方法,其特征在于,进一步包括接收所述至少一个PCIe TLP的所述TLP前缀中的可缓冲属性。
18.如权利要求13所述的方法,其特征在于,进一步包括接收所述至少一个PCIe TLP的所述TLP前缀中的读分配属性。
19.如权利要求13所述的方法,其特征在于,进一步包括接收所述至少一个PCIe TLP的所述TLP前缀中的写分配属性。
20.一种PCIe端点,其包括处理电路系统,所述处理电路系统被配置成:
确定预定义主机事务的一个或多个因事务而异的属性;
在至少一个PCIe事务层分组TLP的TLP前缀中编码所述一个或多个因事务而异的属性;以及
向通信地耦合到所述PCIe端点的主机系统提供所述至少一个PCIe TLP。
21.如权利要求20所述的PCIe端点,其特征在于,所述预定义主机事务是选自包括以下各项的组的存储器事务:读请求;写请求;以及原子操作请求。
22.如权利要求20所述的PCIe端点,其特征在于,所述一个或多个因事务而异的属性包括可高速缓存属性。
23.如权利要求20所述的PCIe端点,其特征在于,所述一个或多个因事务而异的属性包括可缓冲属性。
24.如权利要求20所述的PCIe端点,其特征在于,所述一个或多个因事务而异的属性包括读分配属性。
25.如权利要求20所述的PCIe端点,其特征在于,所述一个或多个因事务而异的属性包括写分配属性。
26.一种用于从高速外围组件互连PCIe端点向主机系统传达因事务而异的属性的方法,包括:
确定预定义主机事务的一个或多个因事务而异的属性;
在至少一个PCIe事务层分组TLP的TLP前缀中编码所述一个或多个因事务而异的属性;以及
向所述主机系统提供所述至少一个PCIe TLP。
27.如权利要求26所述的方法,其特征在于,进一步包括在所述至少一个PCIe TLP的所述TLP前缀中提供可高速缓存属性。
28.如权利要求26所述的方法,其特征在于,进一步包括在所述至少一个PCIe TLP的所述TLP前缀中提供可缓冲属性。
29.如权利要求26所述的方法,其特征在于,进一步包括在所述至少一个PCIe TLP的所述TLP前缀中提供读分配属性。
30.如权利要求26所述的方法,其特征在于,进一步包括在所述至少一个PCIe TLP的所述TLP前缀中提供写分配属性。
CN201680036274.3A 2015-06-22 2016-06-01 在高速外围组件互连(pcie)系统中传达因事务而异的属性 Active CN107771325B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562182807P 2015-06-22 2015-06-22
US62/182,807 2015-06-22
US15/168,574 2016-05-31
US15/168,574 US10089275B2 (en) 2015-06-22 2016-05-31 Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
PCT/US2016/035155 WO2016209568A1 (en) 2015-06-22 2016-06-01 Communicating transaction-specific attributes in a peripheral component interconnect express (pcie) system

Publications (2)

Publication Number Publication Date
CN107771325A CN107771325A (zh) 2018-03-06
CN107771325B true CN107771325B (zh) 2020-07-17

Family

ID=56118064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036274.3A Active CN107771325B (zh) 2015-06-22 2016-06-01 在高速外围组件互连(pcie)系统中传达因事务而异的属性

Country Status (9)

Country Link
US (1) US10089275B2 (zh)
EP (1) EP3311295B1 (zh)
JP (1) JP2018523217A (zh)
KR (1) KR20180019567A (zh)
CN (1) CN107771325B (zh)
AU (1) AU2016283926A1 (zh)
BR (1) BR112017027661A2 (zh)
TW (1) TW201712559A (zh)
WO (1) WO2016209568A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법
US11100026B2 (en) 2017-05-15 2021-08-24 Molex, Llc Reconfigurable server and server rack with same
US10558367B2 (en) 2018-03-08 2020-02-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
US10740000B2 (en) 2018-03-08 2020-08-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
CN109165183A (zh) * 2018-09-14 2019-01-08 贵州华芯通半导体技术有限公司 外围组件快速互联原子操作硬件实现方法、装置及系统
US11281810B1 (en) * 2018-12-11 2022-03-22 Xilinx, Inc. Memory access protection in programmable logic device
US11301411B2 (en) * 2019-06-07 2022-04-12 Intel Corporation Data structures for refined link training
CN111124960A (zh) * 2019-12-12 2020-05-08 北京计算机技术及应用研究所 一种基于高速pci-e接口硬盘连接机构
CN111159090B (zh) * 2019-12-31 2022-03-25 联想(北京)有限公司 一种信息处理方法、装置和电子设备
EP4080839B1 (en) * 2020-01-22 2024-01-03 Huawei Technologies Co., Ltd. Pcie-based data transmission method and apparatus
EP4080375A4 (en) * 2020-01-22 2022-12-21 Huawei Technologies Co., Ltd. PCIE BASED DATA TRANSFER METHOD AND DEVICE
EP4084422A4 (en) * 2020-01-22 2023-01-18 Huawei Technologies Co., Ltd. PCIE-BASED DATA TRANSMISSION METHOD, DEVICE AND SYSTEM
KR102529761B1 (ko) 2021-03-18 2023-05-09 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법
KR102521902B1 (ko) 2021-03-23 2023-04-17 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102496994B1 (ko) 2021-03-23 2023-02-09 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219695B2 (en) * 2012-03-29 2015-12-22 Fujitsu Limited Switch, information processing apparatus, and communication control method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US9535849B2 (en) * 2009-07-24 2017-01-03 Advanced Micro Devices, Inc. IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect
US20130346655A1 (en) 2012-06-22 2013-12-26 Advanced Micro Devices, Inc. Bus agent capable of supporting extended atomic operations and method therefor
US9003220B2 (en) 2012-09-07 2015-04-07 National Instruments Corporation Switch for clock synchronization over a switched fabric
WO2014065879A1 (en) 2012-10-22 2014-05-01 Venkatraman Iyer High performance interconnect physical layer
US20140237156A1 (en) 2012-10-25 2014-08-21 Plx Technology, Inc. Multi-path id routing in a pcie express fabric environment
US9424219B2 (en) 2013-03-12 2016-08-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge
US9563260B2 (en) 2013-03-15 2017-02-07 Intel Corporation Systems, apparatuses, and methods for synchronizing port entry into a low power state
US20140281067A1 (en) 2013-03-15 2014-09-18 Debendra Das Sharma Apparatus, system, and method for performing link training and equalization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219695B2 (en) * 2012-03-29 2015-12-22 Fujitsu Limited Switch, information processing apparatus, and communication control method

Also Published As

Publication number Publication date
EP3311295B1 (en) 2019-12-11
US10089275B2 (en) 2018-10-02
KR20180019567A (ko) 2018-02-26
US20160371221A1 (en) 2016-12-22
AU2016283926A1 (en) 2017-11-30
WO2016209568A1 (en) 2016-12-29
EP3311295A1 (en) 2018-04-25
CN107771325A (zh) 2018-03-06
JP2018523217A (ja) 2018-08-16
BR112017027661A2 (pt) 2018-08-28
TW201712559A (zh) 2017-04-01

Similar Documents

Publication Publication Date Title
CN107771325B (zh) 在高速外围组件互连(pcie)系统中传达因事务而异的属性
US20200192838A1 (en) Extended message signaled interrupts (msi) message data
US10585734B2 (en) Fast invalidation in peripheral component interconnect (PCI) express (PCIe) address translation services (ATS)
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US10127127B2 (en) Systems and methods for pre-warning a monitoring tool for a communication bus
JP2019197598A (ja) 低電圧セキュアデジタル(sd)インターフェースのためのシステムおよび方法
CN108885588B (zh) 基于硬件的转译后备缓冲器(tlb)失效
JP6066224B2 (ja) 修正された高速同期式シリアルインターフェース(hsi)プロトコルデバイスを動作させるための方法および電子デバイス
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
WO2017105723A1 (en) Audio bus interrupts
US20190354502A1 (en) Lightweight universal serial bus (usb) compound device implementation
WO2018187313A1 (en) Aggregating cache maintenance instructions in processor-based devices

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