CN116303195A - Pcie通信 - Google Patents

Pcie通信 Download PDF

Info

Publication number
CN116303195A
CN116303195A CN202211473992.0A CN202211473992A CN116303195A CN 116303195 A CN116303195 A CN 116303195A CN 202211473992 A CN202211473992 A CN 202211473992A CN 116303195 A CN116303195 A CN 116303195A
Authority
CN
China
Prior art keywords
pcie
packet
destination
translated
data processing
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.)
Pending
Application number
CN202211473992.0A
Other languages
English (en)
Inventor
泰茜·托马斯
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.)
ARM Ltd
Original Assignee
ARM Ltd
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 ARM Ltd filed Critical ARM Ltd
Publication of CN116303195A publication Critical patent/CN116303195A/zh
Pending legal-status Critical Current

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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/4027Coupling between buses using bus bridges
    • 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/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种数据处理装置,该数据处理装置包括通信,该通信被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,该目的地字段包括目的地PCIe设备的物理地址。权限电路将与该转换PCIe分组分开的权限检查分组传输到根端口以确定该起点PCIe设备是否具有访问该目的地PCIe设备的权限。缓冲电路存储该转换PCIe分组直到接收到对该权限检查分组的响应。

Description

PCIE通信
技术领域
本公开涉及数据处理。
具体实施方式
在外围组件互连高速(PCIe)设备的网络中,通常期望减少通信的带宽和/或延迟。
发明内容
从第一示例配置来看,提供了一种数据处理装置,包括:通信电路,所述通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;权限电路,所述权限电路被配置为将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及缓冲电路,所述缓冲电路被配置为存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
从第二示例配置来看,提供了一种数据处理方法,包括:从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
从第三示例配置来看,提供了一种非暂态计算机可读介质,所述非暂态计算机可读介质用于存储用于制造数据处理装置的计算机可读代码,所述数据处理装置包括:通信电路,所述通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;权限电路,所述权限电路被配置为将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及缓冲电路,所述缓冲电路被配置为存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
附图说明
将参考如附图所示的本发明的实施方案,仅以举例的方式进一步描述本发明,其中:
图1示出了根据一些实施方案的装置;
图2示出了其中在片上系统(SoC)的上下文中放置采取PCIe交换机形式的装置的示例;
图3A示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3B示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3C示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3D示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3E示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3F示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;
图3G示出了其中一个PCIe设备将转换请求传输到网络中的另一设备的示例;并且
图4示出了示出PCIe交换机的行为的流程图。
示例性实施方案的具体实施方式
在参考附图讨论实施方案之前,提供了对实施方案的以下描述。
根据一个示例配置,提供了一种数据处理装置,包括:通信电路,所述通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;权限电路,所述权限电路被配置为将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及缓冲电路,所述缓冲电路被配置为存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
在PCIe网络中,发送或起点PCIe设备可与目的地PCIe设备通信(如果例如目的地PCIe设备和发送PCIe设备都已分配给同一虚拟机)。然而,通常仅在某些情况下允许此类通信以防止从一个设备到另一设备的恶意访问,该恶意访问可能导致违反机密性或隔离保证。在此类情况下,通常需要接收分组以确定起点PCIe设备是否被允许与目的地PCIe设备通信的数据处理装置。通过向根端口发送转换PCIe分组本身以进行此类确定来实现这一点可能是吸引人的。然而,这可能是带宽密集型的,因为必须将整个分组传输到根端口并且然后将整个分组从根端口返回到数据处理装置。在本发明示例中,转换PCIe分组被保持在数据处理装置的缓冲电路中,而权限检查分组(其不同于转换PCIe分组)被发送到根端口,并且接收响应。这样,不需要向和从根端口传输转换PCIe分组中的任何数据。在该示例中,PCIe分组从其包含包括目的地PCIe设备的物理地址的目的地字段的意义上进行转换。也就是说,不需要对分组进行进一步转换来确定其目的地。
在一些示例中,转换PCIe分组不传输到根端口。因此,由于不在数据处理装置与根端口之间传输PCIe分组中的数据,因此带宽得以节省。
在一些示例中,权限检查分组是无主体的。也就是说,权限检查分组可能是仅标头分组。因此,预期分组的总体尺寸小于包含具有数据的主体的分组,并且因此带宽消耗低于其原本可能的带宽消耗。
在一些示例中,根端口具有对存储器管理单元的访问权限,以基于物理地址确定起点PCIe设备是否具有访问目的地PCIe设备的权限。存储器管理单元(MMU)是用于确定特定设备是否具有对存储器特定区域的访问权限的设备,并且因此可用于通过评估起点PCIe设备是否能够访问分配给目的地PCIe设备的存储器来确定起点PCIe设备是否能够访问目的地PCIe设备。MMU可以是根端口的一部分,或者可以是根端口能够访问的分开实体。需注意,术语“访问权限”可以取决于所请求的访问类型。例如,起点PCIe设备可具有向目的地PCIe设备发出读取请求的权限,但不具有向目的地PCIe设备发出写入请求的权限。
在一些示例中,当通信电路接收到对权限检查分组的响应时:如果响应指示起点PCIe设备具有访问目的地PCIe设备的权限,则缓冲电路将转换PCIe分组释放到目的地PCIe设备,否则引发错误。一旦接收到对权限检查的响应,转换PCIe分组就能够被释放到目的地PCIe设备(如果权限被授予),否则引发错误。错误可涉及将转换PCIe分组返回到起点、将错误消息传输回起点PCIe设备、引发故障或异常和/或从缓冲电路中删除转换PCIe分组。
在一些示例中,通信电路被配置为:当通信电路响应于转换PCIe分组被释放到目的地PCIe设备而从目的地PCIe设备接收到完成分组时,避开根端口将完成分组转发到起点PCIe设备。完成分组通常响应于读取请求而被发送,并且可包含作为读取请求的主题的所请求数据。在这些示例中,因为转换PCIe分组经由数据处理装置从起点发送到目的地(不经由根端口发送),所以采取反向路径的完成分组也不需要从数据处理装置传递到根端口并且再返回,从而减少了系统中的带宽消耗和延迟。
在一些示例中,根据PCIe对等协议发送转换PCIe分组。在PCIe对等协议中,一个PCIe设备可直接向另一PCIe设备传输消息(即,无需将消息写入主存储器),因此这改善延迟。
在一些示例中,通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的非转换PCIe分组,该目的地字段包括目的地设备的虚拟地址或中间物理地址;并且响应于非转换PCIe分组,通信电路被配置为从根端口传输用于虚拟地址或中间物理地址的转换请求分组,并且将第二权限检查分组传输到根端口以确定起点PCIe设备是否具有访问目的地设备的权限。非转换PCIe分组是其中目的地地址并非物理地址(也就是说,该地址因此是虚拟地址或中间/部分转换地址)的分组。在这些情况下,非转换PCIe分组的实际目的地并非已知的(因为物理地址并非已知的),并且因此查询根端口以便确定物理地址,以使得非转换PCIe分组可被正确地路由。这通过转换请求分组来实现。同时,可发送第二权限检查分组以确定起点PCIe设备是否具有访问目的地设备的权限,如前所述。在实践中,转换请求分组和第二权限检查分组可以是相同的单个分组。
在一些示例中,通信电路被配置为当非转换PCIe分组是读取请求时通过将非转换PCIe分组转发到根端口来传输转换请求分组和第二权限检查分组。在这些示例中,非转换PCIe分组本身用作转换请求分组和第二权限检查分组两者。特别地,通过将非转换PCIe分组转发到根端口,根端口将尝试确定应当路由分组的位置,同时确定起点是否可与目的地通信。如果路由刚好经由数据处理装置,则(如果权限被授予)将分组发送回数据处理装置。这对于带宽方面不一定是成问题的,因为读取请求倾向于较小(并且甚至可能是无主体的仅标头消息)。同时,如果被访问的设备是经由根端口访问的主存储器,则延迟保持为低,因为请求已位于根端口处。
在一些示例中,数据处理装置包括模式电路,所述模式电路用于在带宽节省模式与延迟节省模式之间控制数据处理装置的操作模式。因此,数据处理装置关于保留带宽还是延迟可以是能够动态地改变的(在运行时)。
在一些示例中,通信电路被配置为当非转换PCIe分组是写入请求并且数据处理装置的操作模式是延迟节省模式时通过将非转换PCIe分组转发到根端口来传输转换请求分组和第二权限检查分组。在延迟节省操作模式中,数据处理装置旨在可能的情况下减少/节省延迟(可能但不一定以带宽为代价)。在此,将写入请求发送到根端口以便获得权限和转换。因此,当写入请求朝向经由根端口访问的设备(诸如,主存储器)时,写入请求已经存在并且可被立即发送。如果地址是指经由数据处理装置访问的地址,则写入请求被发送回去(从而扩大带宽),但是这并非本质上增加延迟,因为获得地址转换和权限无论如何都将需要向和从根端口的通信。因此,虽然在某些场景下带宽使用可能增加,但是延迟不会显著地受到负面影响,并且在一些情况下,相对于带宽节省模式有所改善。
在一些示例中,通信电路被配置为当非转换PCIe分组是写入请求并且数据处理装置的操作模式是带宽节省模式时:将两者都与非转换PCIe分组分开的转换请求分组和第二权限检查分组传输到根端口以确定起点PCIe设备是否具有访问目的地设备的权限以及获得对虚拟地址或中间物理地址的转换,以及使缓冲电路存储非转换PCIe分组直到接收到对转换请求分组和第二权限检查分组的响应。带宽节省模式试图减少/节省带宽(可能但不一定以延迟为代价)。在此,写入请求本身在数据处理装置处缓冲,并且转换请求分组和第二权限检查分组被发送。转换请求分组和第二权限检查分组可为与非转换PCIe分组不同的相同分组。因此,写入请求不被立即发送到根端口,并且因此可在某些场景下避免在根端口中发送数据-因此总体上减少带宽消耗。然而,在随后发送写入请求的数据变得必要的情况下,这可能由于在写入请求到达根端口之前交换的分组的数量增加而导致更高的延迟。
在一些示例中,转换请求分组和第二权限检查分组是无主体的。因此,这些分组可仅包括标头而不包括主体-从而保持带宽消耗为低。
在一些示例中,当通信电路接收到对转换请求分组和第二权限检查分组的至少一个响应时:如果所述至少一个响应指示起点PCIe设备具有访问目的地设备的权限,则缓冲电路基于对虚拟地址或中间物理地址的转换而将非转换PCIe分组释放到目的地设备,否则引发错误。因此,响应于转换请求和第二权限检查,如果确定权限被给予,则将非转换PCIe分组释放到其目的地(凭借转换,其现在是已知的)。否则,引发错误。如前所述,这可采取错误消息、返回非转换PCIe分组、引发异常或故障和/或从缓冲区中删除非转换PCIe分组的形式。
在一些示例中,当目的地设备是主存储器时,缓冲电路将转换PCIe分组释放到根端口;并且当目的地设备是目的地PCIe设备时,缓冲电路将转换PCIe分组释放到目的地PCIe设备。需注意,当目的地设备是主存储器时,如由转换地址所指示的,这涉及将转换请求和第二权限请求分组传输到根端口,根端口转换必要的地址并获得权限。然后将响应发送到数据处理装置,然后数据处理装置将写入请求发送回根端口。这是在将写入请求首先发送到根端口的情况下会发生的延迟增加,但是如果所得的转换地址不处于主存储器(并且经由数据处理装置本身而不是根端口访问),则其可导致带宽消耗降低。因此,在一些情况下,带宽被减少。
在一些示例中,数据处理装置包括高速缓存电路,该高速缓存电路被配置为高速缓存对权限检查分组的响应,并且在将执行与权限检查相对应的稍后权限检查时提供对权限检查的响应。为了进一步减少带宽和延迟影响,尤其是对于具有非转换地址的请求,数据处理装置可高速缓存其从根端口获得的转换和权限,并且在稍后读取或写入请求指向相同存储器页面时使用它们进行检查和路由。如果请求命中高速缓存,则这将意味着可以针对设备间请求减少或消除到根端口的往返历程。数据处理装置将由Compute SoC在允许其高速缓存转换和权限之前进行认证(并被鉴证检查,使得其在VM使用PCIe设备功能的信任边界内)。高速缓存应当能够处理来自软件的无效请求。在一些示例中,交换机的每个下游端口将具有高速缓存的实例。因此,高速缓存可存储从根端口接收的关于权限的响应(并且在适当的情况下存储转换),使得在将来,减少发送到根端口的针对权限/转换获得的请求的实例是可能的。
在一些示例中,通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的非转换PCIe分组,该目的地字段包括目的地设备的虚拟地址或中间物理地址;并且高速缓存电路被配置为存储与目的地设备的虚拟地址或中间物理地址相对应的物理地址。
现在将参考附图描述具体实施方案。
图1示出了根据一些实施方案的装置100。在这种情况下,装置100采取PCIe交换机的形式。提供接收电路110,用于从一个或多个PCIe设备和从根端口接收以分组形式的数据。类似地提供传输电路130,以便向所述一个或多个PCIe设备和向根端口传输以分组形式的数据。共同地,接收电路110和传输电路130形成所声称的通信电路。提供权限电路120,以便使传输电路132向根端口传输权限检查。在一些示例中,权限检查可以是传输到根端口的无主体分组(例如,仅标头),以便确定起点PCIe设备是否具有将分组传输到目的地PCIe设备的权限。这可取决于PCIe设备是否被分配给同一虚拟机。权限电路120可以是例如PCIe交换机100内的通用处理器。
提供缓冲电路140,以便缓冲经由接收电路110接收的分组,以用于将执行的权限检查。因此,减少由于来自PCIe设备的通信而经历的带宽消耗和/或延迟是可能的。
图2示出了其中在片上系统(SoC)的上下文中放置采取PCIe交换机形式的装置100的示例。在该示例中,PCIe设备0 210可参与通信。通信的目的地可以是另一PCIe设备1 220(如果例如这两个设备210、220正参与对等通信)或可以是主存储器。经由PCIe交换机100发生通信。PCIe根端口(RP)230提供向和从主存储器的访问权限。另外,PCIe根端口230具有对IOMMU 240的访问权限,所述IOMMU是存储器管理单元。IOMMU240用于执行虚拟/中间地址与物理地址之间的转换。另外,IOMMU 240还在请求对存储器的访问权限时执行权限检查。在对等通信的情况下,如果消息正经由主存储器以非对等方式传输,则IOMMU 240通过确定传输消息的起点是否将具有对该消息的目的地的访问权限来履行类似角色。
如先前所解释的,并且如将在后续图中演示的,可使用在PCIe交换机100内的缓冲电路140的用途,以便减少由于经由PCIe根端口230对IOMMU 240进行的访问检查而经历的带宽和/或延迟。
在该示例中,PCIe交换机100和PCIe设备210、220形成单个片上系统的一部分。与具有片外设备诸如PCIe根端口230和主存储器的通信相比,同一片上系统上的设备100、210、220之间的通信通常被认为是相对快的。当然,片上系统包括PCIe根端口230或类似组件是可能的。然而,已在此描述的本发明技术同样适用于此类架构。
图2的PCIe交换机100还包括高速缓存320。其用于存储从PCIe根端口230接收的响应,使得它们可用于稍后请求而无需将那些稍后请求转发到PCIe根端口230。
图3A示出了其中PCIe设备0 210将转换请求传输到PCIe设备1 220的示例。该请求可以是读取请求或写入请求。该请求从该请求的目的地字段包含与PCIe设备1 220相关联的物理地址的意义上进行转换。也就是说,转换请求的目的地字段内的地址本身不必被转换,并且对于PCIe交换机100而言转换请求分组的目的地是已知的。
在步骤A处,将转换请求从PCIe设备0 210传输到PCIe交换机100。在PCIe交换机100处,接收电路110接收转换请求。由于请求是转换请求,因此请求的目的地是已知的,并且可确定目的地是PCIe设备1 220。然而,PCIe交换机100不知道PCIe设备0 210是否具有访问PCIe设备1 220的权限。
因此,在步骤B处,转换请求存储在PCIe交换机100的缓冲电路140中。当在根端口230处检查权限时,请求被缓冲。
在该示例中,假设在高速缓存320中没有命中必要权限。因此,在步骤C处,从PCIe交换机100向PCIe根端口230发出权限检查消息。权限检查是仅标头消息。因此,与其中传输标头和主体消息的情况相比,带宽消耗保持为低。PCIe根端口230利用IOMMU 240检查必要权限。
在步骤D处,从PCIe根端口230向PCIe交换机100发出权限响应。响应指示在IOMMU240处检查权限的结果。
在这种情况下,权限响应是PCIe设备0 210确实具有访问PCIe设备1220的权限。因此,转换请求从PCIe交换机100的缓冲电路140转发到PCIe设备1 220。权限响应将存储在高速缓存中以供将来使用。如果权限响应是权限未被授予,则采取错误动作。这可包括从缓冲电路140中删除转换请求,并且可包括转发权限响应、将错误转发到PCIe设备0 210或一些其他动作诸如引发异常或故障。
在写入请求的情况下,无需发生进一步动作。然而,在读取请求的情况下,在步骤F处从PCIe设备1 220发出完成分组。该完成分组可包含在转换请求中请求的数据,或者可指示在读取过程期间已发生错误。
当完成分组由PCIe交换机100接收时,其可在步骤G处被直接转发到PCIe设备0210。这是因为,由于转换读取请求未通过PCIe根端口230,因此也不需要将完成分组发送到PCIe根端口230。实际上,完成分组能够遵循由转换请求采取的相同路径,并且因此可从PCIe交换机100直接转发到PCIe设备0 210(即,不转发到PCIe根端口230)。
这样,由于整个转换请求未被转发到PCIe根端口230,因此进行了第一带宽节省。由于完成消息未被传输到PCIe根端口230并且再返回,因此进行了第二带宽节省。此外,由于完成消息未经由PCIe根端口230发送到PCIe设备0 210,因此进行了延迟节省。
图3B至图3G处理其中PCIe设备0 210发出的请求是非转换的变型。在此,术语“非转换”是指其中需要进一步转换的地址。因此,地址可以是虚拟地址或可以是部分或中间地址。
图3B示出了其中PCIe设备0 210向存储器发出非转换读取请求的示例。该存储器是能够经由PCIe根端口230访问的。
在步骤A处,将请求从PCIe设备0 210发出到PCIe交换机100。需注意,PCIe交换机100此时不知道请求的目的地是主存储器,因为目的地字段给出非物理地址。
如前所述,假设地址转换在高速缓存320中不可用。如果转换可用,则可跳过下文描述的步骤B和C。
由于读取请求通常非常小,因此PCIe交换机100在步骤B处向PCIe根端口230发出读取请求,而不是使用缓冲电路140。这是因为向PCIe根端口230发出分开的权限检查请求几乎不会节省带宽。一旦PCIe根端口230接收到非转换请求,IOMMU 240就可用于执行地址转换和权限检查。此时,确定非转换读取请求的目标是存储器(并且权限被授予),并且因此由PCIe根端口230进行存储器读取请求。
在步骤C处,由PCIe根端口230向PCIe交换机100发回完成分组。完成分组还可包括地址转换或地址指代存储器的指示,然后可将该地址转换或指示存储在高速缓存320中以用于将来请求。
在步骤D处,将完成分组转发到PCIe设备0 210。
图3C示出了其中向PCIe设备1 220进行非转换读取请求的变型。在实践中,PCIe交换机100最初不知道这是非转换读取请求的目的地。
在步骤A处,PCIe设备0 210向PCIe交换机100发出非转换读取请求。
如前所述,假设地址转换在高速缓存320中不可用。如果转换可用,则可跳过下文描述的步骤B和C。
由此,在步骤B处,从PCIe交换机100向PCIe根端口230发出非转换读取请求。同样,通过使用IOMMU 240来转换地址(并且检查权限)。在这种情况下,确定读取请求的目的地是PCIe设备1 220。
因此,在步骤C处,现已转换读取请求连同对权限的验证一起被发送回PCIe交换机100。验证和转换存储在高速缓存320中,并且因此可稍后使用,而不需要接触根端口320。
在步骤D处,将(现已)转换读取请求发送到目的地PCIe设备1 220。如下文所解释的,PCIe交换机100使到PCIe设备1 220的读取请求排序在任何先前发出的写入请求之后。
在步骤E处,将针对读取请求的完成分组从PCIe设备1 220发出到PCIe交换机100,在PCIe交换机中将其转发回PCIe设备0 210。需注意,在实践中,完成分组是否可与经由PCIe根端口230行进相反地从PCIe交换机100直接传递到PCIe设备0 210将取决于正在使用哪种写入模式(带宽节省或延迟节省),如下文所解释的。
由于完成分组未被传输到PCIe根端口230,因此实现了带宽节省。相反,完成分组直接从PCIe交换机100传输到PCIe设备0 210。此外,由于读取请求在步骤B处从PCIe交换机100整体传输到PCIe根端口230,因此可节省延迟。特别地,当对主存储器进行读取请求时,不需要随后将读取请求从PCIe交换机100传输到PCIe根端口230。同时,带宽没有由于这个而显著增加,因为读取请求分组通常较小。
图3D至图3G处理了非转换写入请求。可经由模式电路300控制非转换写入请求的处理。特别地,模式电路300可用于根据需要将PCIe交换机放置在带宽节省模式或延迟节省模式中。系统可以是使得可根据需要动态地改变PCIe交换机100的模式。在带宽节省模式中,PCIe交换机100尝试采取动作,以使得PCIe交换机100与PCIe根端口230之间的通信中使用的带宽保持为低。同时,延迟节省模式旨在减少对由PCIe设备0 210发出的请求做出响应的总延迟。
图3D示出了系统在PCIe交换机100处于带宽节省模式并且由PCIe设备0 210发出到存储器的非转换写入时的行为。如前所述,PCIe交换机100最初不知道非转换写入到存储器的事实,因为地址是非转换的。
在步骤A处,将到存储器的非转换写入从PCIe设备0 210发出到PCIe交换机100。
在步骤B处,在缓冲电路140中缓冲请求。
如前所述,假设地址转换在高速缓存320中不可用。如果转换可用,则可跳过下文描述的步骤C和D。
在步骤C处,从PCIe交换机100向PCIe根端口230发出转换和权限检查请求分组。然后,PCIe根端口230使用IOMMU 240来转换地址。这使得知道写入请求的目的地是主存储器是可能的,由PCIe根端口230访问该主存储器。
在步骤D处,PCIe根端口230发出响应。该响应包括转换地址(或至少写入请求将被转发到PCIe根端口230的指示)并且还指示权限被授予。需注意,与在此示出的其他场景一样,权限可以由已提供转换的事实隐含。权限响应和转换(或转换的指示)可存储在高速缓存320中以供稍后使用。
在步骤E处,将(现已转换的)写入请求传输回PCIe根端口230。然后,PCIe根端口230负责将写入请求转发到存储器。
图3E示出了其中向PCIe设备1 220进行非转换写入请求的示例。在该示例中,步骤A、B和C遵循如相对于图3D所示的相同过程(如前所述,假设高速缓存320不具有必要信息)。在步骤C处,PCIe根端口230确定非转换地址是指PCIe设备1 220。
在步骤D处,PCIe根端口230向PCIe交换机100发出响应。该响应包括转换地址,并且还包括允许PCIe设备0 210访问PCIe设备1 220的指示。该响应的至少一部分由高速缓存320高速缓存。
在步骤E处,向PCIe设备1 220发出存储在缓冲电路140中的(现已转换的)写入请求。
因此,应当理解,在图3D和图3E的示例中,由于PCIe交换机100与PCIe根端口230之间的链路仅在必要时(例如,针对向存储器进行的写入请求)用于传输整个写入请求,因此带宽得以节省。如图3D的示例中所示的,这导致其中从PCIe交换机100发出初始权限检查(例如,使用仅标头消息)并且响应于确定非转换地址是指主存储器而然后执行从PCIe交换机100到PCIe根端口230的包含写入请求的进一步通信的情况。
图3F和图3G示出了延迟节省模式。
作为步骤A,将到PCIe设备1 220的非转换写入请求从PCIe设备0 210发出到PCIe交换机100。如前所述,PCIe交换机100此时不知道非转换写入请求是向PCIe设备1 220进行的。
如前所述,假设地址转换在高速缓存320中不可用。如果转换可用,则可跳过下文描述的步骤B和C。
在步骤B处,将非转换写入请求发出到PCIe根端口230。在此,PCIe根端口230使用IOMMU 240将非转换写入请求转变为转换写入请求。另外,PCIe根端口230能够确定PCIe设备0 210具有访问PCIe设备1 220的权限。
在步骤C处,由于写入请求是对PCIe设备1 220进行的(该PCIe设备是能够通过PCIe交换机100访问的),因此转换写入请求和权限验证被传输回PCIe交换机100。需注意,如前所述,权限验证可以由发送转换写入请求而不是错误通知隐含。对转换和权限的指示存储在高速缓存320中。
在步骤D处,从PCIe交换机100向PCIe设备1 220发出转换写入请求。
在图3G中,由PCIe设备0 210进行的写入请求是到主存储器的写入请求。步骤A和B以与图3F相同的方式进行(同样假设在高速缓存320中未命中所需数据)。然而,当PCIe根端口230接收到非转换写入请求并且经由IOMMU 240确定写入请求是到主存储器时(该写入请求经由PCIe根端口230处理),可立即处理该写入请求。在这种情况下,响应可从PCIe根端口230发送回PCIe交换机100以指示该事实,然后可将其存储在高速缓存320中。另选地,不存在任何另外的通信可以用作地址指代主存储器的隐式指示,并且这可存储在高速缓存320中。又一个替代方案是不采取动作。由于在没有转换可用时默认行为是将写入请求转发到根端口(在这种情况下其刚好是正确的目的地),因此可通过简单地不存储关于打算在根端口230处终止的请求(例如,被发送到主存储器的那些)的任何内容来节省高速缓存320的容量。
因此,应当理解,在延迟节省模式中,由于在到主存储器的写入请求的情况下,延迟对于将从PCIe交换机100传输到PCIe根端口230的进一步通信是不必要的,因此延迟得以节省。然而,如图3F所示,在写入请求被发现是到经由PCIe交换机100连接的PCIe设备的情况下,由于完整写入请求被不必要地传输到PCIe根端口230并且再返回,因此带宽使用更高。
如上所述,对带宽节省模式或延迟节省模式的选择可对完成分组所采取的路径具有影响。由于排序限制,如果使用了延迟节省模式(并且因此如果写入被发送到PCIe根端口230),则读取完成也通过PCIe根端口230发送,因为读取完成在任何时候都不能超过先前从同一设备发出的写入,除非完成已启用不严格排序。在带宽节省模式中,完成可由PCIe交换机100直接从一个设备220转发到另一设备210,条件是例如从PCIe设备1 220到PCIe设备0210的完成不会超过从PCIe设备1 220到PCIe设备0 210的写入。
图4示出了示出PCIe交换机100的行为的流程图400。在步骤405处,接收分组(例如,从PCIe设备0 210)。在步骤410处,确定分组的目的地地址是否已转换。如果目的地地址已经被转换并且因此PCIe交换机100能够确定目的地,则在步骤415处,将分组缓冲在缓冲电路140中。然后,在步骤416处,确定高速缓存320中是否存在权限。如果是,则在步骤420处,在步骤417中,从高速缓存中获得权限,将结果存储在本地高速缓存中,并且过程前进至步骤425。否则,经由PCIe根端口230获得权限。如先前所解释的,这可通过传输到PCIe根端口232的仅标头消息经由IOMMU240检查权限来实现。步骤425等待直到接收到对权限检查的响应。如果权限被拒绝,则在步骤430处发生错误。如先前所解释的,这可导致引发异常或故障,或者可产生被传输回PCIe设备0 210的拒绝消息。否则,在步骤435处,给予权限并且因此从缓冲电路140提取缓冲消息并将其发出到PCIe设备1 220。
如果在步骤410处,地址未被转换,则在步骤440处确定请求是否是读取请求。如果是,则在步骤44处,确定转换是否存储在本地高速缓存中。如果否,则在步骤445处,将读取请求转发到PCIe根端口230。由此,PCIe根端口230将适当地转发读取请求。在主存储器的情况下,PCIe根端口230将把请求转发到存储器。在经由PCIe交换机100访问的PCIe设备的情况下,根端口将把请求转发回PCIe交换机100。在流程图400中未示出转发消息的另外步骤,因为这涉及简单的分组转发。如果地址被高速缓存,则在步骤446处,请求可被直接转发到目的地。
如果在步骤440处,请求不是读取请求,则请求是写入请求。在步骤450处,确定系统是否在带宽节省模式中操作。如果否,则系统在延迟节省模式中操作。因此,在步骤451处,确定请求朝向的地址是否被本地存储(例如,在高速缓存320中)。如果是,则请求被转发到其目的地452。否则,将请求转发到PCIe根端口230以执行地址转换。由此,PCIe根端口然后将根据需要转发转换写入请求。同样,PCIe交换机100可参与消息的进一步路由。然而,这在流程图400中未示出。
如果在步骤450处,系统处于带宽节省模式,则在步骤455处,缓冲分组。在步骤456处,确定权限和地址转换是否存在于本地高速缓存320中。如果是,则在步骤457处,从高速缓存中获得地址和转换,并且过程前进至步骤465。否则,在步骤460处,经由PCIe根端口230获得权限和地址转换,并且将结果存储在本地高速缓存中。如前所述,这可通过向PCIe根端口230发出仅标头消息来实现。步骤465等待直到接收到响应。如果未获得权限,则在步骤470处,发生错误状况(例如,故障或异常)。否则,在步骤475处,确定转换地址是否是主存储器中的地址。如果是,则在步骤480处,将缓冲请求转发到PCIe根端口232再转发到主存储器系统。否则,在步骤485处,PCIe交换机100将缓冲请求转发到如物理地址所指示的目的地设备。
因此,通过上述技术,可以看出,可以在PCIe系统中减少带宽和/或延迟。
在本申请中,字词“被配置为...”用于意指装置的元件具有能够执行所限定的操作的配置。在该上下文中,“配置”意指硬件或软件的互连的布置或方式。例如,该装置可具有提供所限定的操作的专用硬件,或者可对处理器或其他处理设备进行编程以执行该功能。“被配置为”并不意味着装置元件需要以任何方式改变以便提供所限定的操作。
虽然本文已结合附图详细描述了本发明的示例性实施方案,但应当理解,本发明并不限于那些精确的实施方案,并且在不脱离所附权利要求书所限定的本发明的范围和实质的前提下,本领域的技术人员可在其中实现各种变化、增加和修改。例如,在不脱离本发明的范围的情况下,从属权利要求的特征可与独立权利要求的特征一起进行各种组合。

Claims (19)

1.一种数据处理装置,所述数据处理装置包括:
通信电路,所述通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;
权限电路,所述权限电路被配置为将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及
缓冲电路,所述缓冲电路被配置为存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
2.根据权利要求1所述的数据处理装置,其中
所述转换PCIe分组不传输到所述根端口。
3.根据权利要求1所述的数据处理装置,其中
所述权限检查分组是无主体的。
4.根据权利要求1所述的数据处理装置,其中
所述根端口具有对存储器管理单元的访问权限,以基于所述物理地址确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限。
5.根据权利要求1所述的数据处理装置,其中
当所述通信电路接收到对所述权限检查分组的响应时:
如果所述响应指示所述起点PCIe设备具有访问所述目的地PCIe设备的权限,则所述缓冲电路将所述转换PCIe分组释放到所述目的地PCIe设备,
否则引发错误。
6.根据权利要求1所述的数据处理装置,其中
所述通信电路被配置为:当所述通信电路响应于所述转换PCIe分组被释放到所述目的地PCIe设备而从所述目的地PCIe设备接收到完成分组时,避开所述根端口将所述完成分组转发到所述起点PCIe设备。
7.根据权利要求1所述的数据处理装置,其中
根据PCIe对等协议发送所述转换PCIe分组。
8.根据权利要求1所述的数据处理装置,其中
所述通信电路被配置为从所述起点外围组件互连高速(PCIe)设备接收包括目的地字段的非转换PCIe分组,所述目的地字段包括目的地设备的虚拟地址或中间物理地址;并且
响应于所述非转换PCIe分组,所述通信电路被配置为从所述根端口传输用于所述虚拟地址或中间物理地址的转换请求分组,并且将第二权限检查分组传输到所述根端口以确定所述起点PCIe设备是否具有访问所述目的地设备的权限。
9.根据权利要求8所述的数据处理装置,其中
所述通信电路被配置为当所述非转换PCIe分组是读取请求时通过将所述非转换PCIe分组转发到所述根端口来传输所述转换请求分组和所述第二权限检查分组。
10.根据权利要求8所述的数据处理装置,包括:
模式电路,所述模式电路用于在带宽节省模式与延迟节省模式之间控制所述数据处理装置的操作模式。
11.根据权利要求10所述的数据处理装置,其中
所述通信电路被配置为当所述非转换PCIe分组是写入请求并且所述数据处理装置的所述操作模式是所述延迟节省模式时通过将所述非转换PCIe分组转发到所述根端口来传输所述转换请求分组和所述第二权限检查分组。
12.根据权利要求10所述的数据处理装置,其中
所述通信电路被配置为当所述非转换PCIe分组是写入请求并且所述数据处理装置的所述操作模式是所述带宽节省模式时:
将两者都与所述非转换PCIe分组分开的所述转换请求分组和所述第二权限检查分组传输到所述根端口以确定所述起点PCIe设备是否具有访问所述目的地设备的权限以及获得对所述虚拟地址或中间物理地址的转换,以及
使所述缓冲电路存储所述非转换PCIe分组直到接收到对所述转换请求分组和所述第二权限检查分组的响应。
13.根据权利要求12所述的数据处理装置,其中
所述转换请求分组和所述第二权限检查分组是无主体的。
14.根据权利要求12所述的数据处理装置,其中
当所述通信电路接收到对所述转换请求分组和所述第二权限检查分组的至少一个响应时:
如果所述至少一个响应指示所述起点PCIe设备具有访问所述目的地设备的权限,则所述缓冲电路基于对所述虚拟地址或中间物理地址的所述转换而将所述非转换PCIe分组释放到所述目的地设备,
否则引发错误。
15.根据权利要求14所述的数据处理装置,其中
当所述目的地设备是主存储器时,所述缓冲电路将所述转换PCIe分组释放到所述根端口;并且
当所述目的地设备是所述目的地PCIe设备时,所述缓冲电路将所述转换PCIe分组释放到所述目的地PCIe设备。
16.根据权利要求1所述的数据处理装置,包括:
高速缓存电路,所述高速缓存电路被配置为高速缓存对所述权限检查分组的所述响应,并且在将执行与所述权限检查相对应的稍后权限检查时提供对所述权限检查的所述响应。
17.根据权利要求16所述的数据处理装置,其中
所述通信电路被配置为从所述起点外围组件互连高速(PCIe)设备接收包括目的地字段的非转换PCIe分组,所述目的地字段包括目的地设备的虚拟地址或中间物理地址;并且
所述高速缓存电路被配置为存储与所述目的地设备的所述虚拟地址或中间物理地址相对应的物理地址。
18.一种数据处理方法,所述数据处理方法包括:
从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;
将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及
存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质用于存储用于制造数据处理装置的计算机可读代码,所述数据处理装置包括:
通信电路,所述通信电路被配置为从起点外围组件互连高速(PCIe)设备接收包括目的地字段的转换PCIe分组,所述目的地字段包括目的地PCIe设备的物理地址;
权限电路,所述权限电路被配置为将与所述转换PCIe分组分开的权限检查分组传输到根端口以确定所述起点PCIe设备是否具有访问所述目的地PCIe设备的权限;以及
缓冲电路,所述缓冲电路被配置为存储所述转换PCIe分组直到接收到对所述权限检查分组的响应。
CN202211473992.0A 2021-12-06 2022-11-23 Pcie通信 Pending CN116303195A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/543,170 US11914543B2 (en) 2021-12-06 2021-12-06 PCIe communications
US17/543,170 2021-12-06

Publications (1)

Publication Number Publication Date
CN116303195A true CN116303195A (zh) 2023-06-23

Family

ID=84358601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211473992.0A Pending CN116303195A (zh) 2021-12-06 2022-11-23 Pcie通信

Country Status (3)

Country Link
US (1) US11914543B2 (zh)
EP (1) EP4191425A1 (zh)
CN (1) CN116303195A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972112B1 (en) * 2023-01-27 2024-04-30 Dell Products, L.P. Host IO device direct read operations on peer memory over a PCIe non-transparent bridge

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769168B2 (en) * 2006-10-17 2014-07-01 International Business Machines Corporation Method for communicating with a network adapter using a queue data structure and cached address translations
US8429325B1 (en) * 2010-08-06 2013-04-23 Integrated Device Technology Inc. PCI express switch and method for multi-port non-transparent switching
US8793539B2 (en) * 2012-06-13 2014-07-29 International Business Machines Corporation External settings that reconfigure the error handling behavior of a distributed PCIe switch
EP4089544B1 (en) * 2013-12-31 2024-01-31 Huawei Technologies Co., Ltd. Method and apparatus for extending pcie domain
US10853271B2 (en) 2018-08-03 2020-12-01 Arm Limited System architecture with query based address translation for access validation
US11392511B2 (en) 2019-09-25 2022-07-19 Intel Corporation Secure address translation services using a permission table
US11561909B2 (en) * 2021-04-28 2023-01-24 Western Digital Technologies, Inc. Bandwidth allocation for storage system commands in peer-to-peer environment
US20220405212A1 (en) 2021-06-21 2022-12-22 Intel Corporation Secure direct peer-to-peer memory access requests between devices

Also Published As

Publication number Publication date
US11914543B2 (en) 2024-02-27
EP4191425A1 (en) 2023-06-07
US20230176993A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US8898665B2 (en) System, method and computer program product for inviting other virtual machine to access a memory space allocated to a virtual machine
CN105938459B (zh) 处理地址转换请求
CN105900076B (zh) 用于处理多个交易的数据处理系统及方法
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
JP6434168B2 (ja) スイッチへのアドレスキャッシュ
WO2015078219A1 (zh) 一种信息缓存方法、装置和通信设备
US6832279B1 (en) Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node
US9219695B2 (en) Switch, information processing apparatus, and communication control method
US20130163593A1 (en) Method of processing data packets
CN110795376B (zh) 具有用于访问验证的基于查询的地址转换的系统架构
WO2019057005A1 (zh) 数据校验的方法、装置以及网卡
US20140181409A1 (en) Method and system for queue descriptor cache management for a host channel adapter
JP2017537404A (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
US20230114242A1 (en) Data processing method and apparatus and heterogeneous system
CN110870286B (zh) 容错处理的方法、装置和服务器
KR101867336B1 (ko) 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법
US20240345989A1 (en) Transparent remote memory access over network protocol
CN115248795A (zh) 高速外围组件互连(pcie)接口系统及其操作方法
CN116303195A (zh) Pcie通信
JP5056845B2 (ja) スイッチおよび情報処理装置
US11327890B1 (en) Partitioning in a processor cache
WO2014206229A1 (zh) 一种加速器以及数据处理方法
US20040193832A1 (en) Physical mode windows
US7565504B2 (en) Memory window access mechanism
CN112559434A (zh) 一种多核处理器及核间数据转发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication