CN110083568B - 数据交换系统、数据交换命令路由方法、芯片及电子设备 - Google Patents
数据交换系统、数据交换命令路由方法、芯片及电子设备 Download PDFInfo
- Publication number
- CN110083568B CN110083568B CN201910248911.9A CN201910248911A CN110083568B CN 110083568 B CN110083568 B CN 110083568B CN 201910248911 A CN201910248911 A CN 201910248911A CN 110083568 B CN110083568 B CN 110083568B
- Authority
- CN
- China
- Prior art keywords
- domain
- data
- cpu
- address
- slave
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17312—Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据交换系统、数据交换命令路由方法、芯片及电子设备,其中系统包括:CPU,路由模块,IO从设备,地址映射模块,IO主设备;地址映射模块用于,获取携带IO主设备域的目的数据标识的数据交换命令,根据IO从设备的IO主设备域的数据标识与CPU域的数据标识间的映射关系,将IO主设备域的目的数据标识转换为CPU域的目的数据标识,将携带CPU域的目的数据标识的数据交换命令发送给路由模块;所述路由模块用于,根据IO从设备的CPU域的数据标识,确定CPU域的目的数据标识对应的目的IO从设备,将携带CPU域的目的数据标识的数据交换命令路由到目的IO从设备。本发明实施例可提升数据交换命令的路由效率,且减轻CPU压力。
Description
技术领域
本发明实施例涉及CPU技术领域,具体涉及一种数据交换系统、数据交换命令路由方法、芯片及电子设备。
背景技术
IO(Input/Output,输入输出)设备是通过IO接口接入CPU(Central ProcessingUnit,中央处理器)的外设部件,可用于电子设备的功能扩展;典型的IO设备可以是基于PCI(Peripheral Component Interconnect,外设部件互连标准)的PCI设备,PCI设备可以使用PCI接口接入CPU,如PCI网卡、GPU加速卡等可以使用PCI接口接入CPU,实现电子设备不同的功能扩展。
IO设备接入CPU后可以形成数据交换系统,实现IO设备之间的数据交换,进行IO设备之间的数据交换需要对数据交换命令进行路由;然而,目前存在数据交换命令的路由效率较低,且CPU压力较大的问题,数据交换命令的路由效率较低将进一步导致数据交换效率降低;因此如何改进数据交换系统,从而为提升数据交换命令的路由效率,进一步提升IO设备之间的数据交换效率,且减轻CPU压力提供可能,成为了本领域技术人员需要考虑的问题。
发明内容
有鉴于此,本发明实施例提供一种数据交换系统、数据交换命令路由方法、芯片及电子设备,以为提升数据交换命令的路由效率,且减轻CPU压力提供可能。
为实现上述目的,本发明实施例提供如下技术方案包括:
一种数据交换系统,包括:CPU,路由模块,与所述路由模块连接的IO从设备,与所述路由模块连接的地址映射模块,和与所述地址映射模块连接的IO主设备;
所述地址映射模块用于,获取IO主设备发送的数据交换命令,所述数据交换命令携带IO主设备域的目的数据标识;根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识;将携带所述CPU域的目的数据标识的数据交换命令发送给所述路由模块;
所述路由模块用于,根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备;将携带所述CPU域的目的数据标识的数据交换命令路由到所述目的IO从设备。
本发明实施例还提供一种数据交换命令路由方法,基于上述所述的数据交换系统,所述数据交换方法包括:
地址映射模块获取IO主设备发送的数据交换命令,所述数据交换命令携带IO主设备域的目的数据标识;
地址映射模块根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识;
地址映射模块将携带所述CPU域的目的数据标识的数据交换命令发送给路由模块;
路由模块根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备;
路由模块将携带所述CPU域的目的数据标识的数据交换命令路由到所述目的IO从设备。
本发明实施例还提供一种芯片,包括上述所述的数据交换系统。
本发明实施例还提供一种电子设备,包括上述所述的芯片。
本发明实施例提供的数据交换命令路由方法中,地址映射模块可预建立IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系,路由模块可预记录为IO从设备分配的CPU域的数据标识;从而,地址映射模块获取IO主设备发送的携带IO主设备域的目的数据标识的数据交换命令后,地址映射模块可根据所述映射关系,将IO主设备域的目的数据标识转换为CPU域的目的数据标识,转换后的携带所述CPU域的目的数据标识的数据交换命令可发送给路由模块;进而,路由模块可根据预记录的为IO从设备分配的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备,将数据交换命令路由到目的IO从设备,实现数据交换命令的路由。
在本发明实施例提供的数据交换命令路由方法中,CPU参与过程大幅的减少,即CPU只是预先为地址映射模块配置IO从设备的CPU域的数据标识,并预先为路由模块配置IO从设备的CPU域的数据标识,从而在数据交换命令的路由过程中,可由地址映射模块通过IO主设备域与CPU域的数据标识转换,和路由模块基于CPU域的数据标识定位目的IO从设备,实现将数据交换命令路由到指定的目的IO从设备,本发明实施例可减少数据交换命令路由过程中CPU的参与,从而减少数据交换命令路由过程中CPU的指令数目,实现简便的数据交换命令的路由流程,达到提升数据交换命令的路由效率,减轻CPU压力的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统的数据交换系统的架构示意图;
图2为传统的数据交换系统的另一架构示意图;
图3为本发明实施例提供的数据交换系统的架构示意图;
图4为本发明实施例提供的初始化方法的流程图;
图5为本发明实施例提供的初始化方法的另一流程图;
图6为本发明实施例提供的数据交换命令路由方法的流程图;
图7为本发明实施例提供的数据交换命令路由方法的另一流程图;
图8为本发明实施例提供的数据交换命令路由方法的再一流程图;
图9为本发明实施例提供的数据交换命令路由方法的又一流程图。
具体实施方式
IO设备接入CPU可以分为两种情况:IO设备作为IO从设备接入CPU,IO设备作为IO主设备接入CPU。IO从设备接入CPU后,IO从设备可以作为CPU的附属设备;IO主设备接入CPU后,可以将接入CPU的IO从设备作为IO主设备的附属设备,以使用CPU资源。IO设备是作为IO主设备接入CPU,还是作为IO从设备接入CPU,可以由IO设备的设计决定,如IO设备的使用说明可以描述IO设备是作为IO主设备接入CPU,还是作为IO从设备接入CPU。
示例的,图1示出了IO设备作为IO从设备接入CPU的数据交换系统的架构示意,如图1所示,该系统可以包括:CPU1,路由模块2,多个IO接口3,多个IO从设备4;需要说明的是,图1所示是以两个IO接口和两个IO从设备进行示例,实际情况下,IO接口和IO从设备的数量可以为至少两个;
图1所示系统中,CPU作为整个系统的命令发起方,控制命令和数据的走向,当IO从设备之间需要进行数据交换时,由CPU发起DMA(Direct Memory Access,直接内存存取)命令,使源IO从设备发起数据交换命令(如读命令和/或写命令),并通过IO接口将数据交换命令发送到路由模块;路由模块根据地址映射关系将数据交换命令从源IO从设备路由到目的IO从设备;此处所指的地址映射关系可以是地址与IO从设备间的映射关系,表示的是各IO从设备的地址范围,例如,定义地址范围0~20映射到网卡(网卡可以认为是IO从设备的一种形式),如果路由模块收到的数据交换命令携带的地址处于0~20的范围,则路由模块可将数据交换命令路由到网卡。
更进一步的,图1所示系统中IO从设备可基于PCI协议,例如IO从设备可以是PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)从设备,IO接口可以是PCIE接口;图1中路由模块可位于CPU内。
示例的,图2示出了IO设备作为IO主设备接入CPU的数据交换系统的架构示意,如图2所示,该系统可以包括:CPU1,路由模块2,多个IO接口3,IO从设备4,IO主设备5,IO主设备空间6;可选的,路由模块2和IO主设备空间6可位于CPU1内,且IO主设备空间6与路由模块2连接,IO从设备4可通过IO接口3与路由模块2连接,IO主设备5可通过IO接口与IO主设备空间6连接;需要说明的是,图2所示IO接口和IO从设备的数量仅是示例说明,实际情况下,IO接口和IO从设备的数量可以为至少两个;
其中,IO主设备空间可位于CPU内,是CPU和IO主设备进行数据共享的一段空间,IO主设备空间的地址段可具有两个域,即IO主设备空间的地址段可具有CPU域和IO主设备域,如CPU可在IO主设备空间中分配IO主设备可使用的CPU域的地址段,IO主设备也可在IO主设备空间中分配IO主设备使用的IO主设备域的地址段,从而IO主设备空间可实现CPU域和IO主设备域的地址映射;
当IO主设备需要读IO从设备时,IO主设备可将读命令发送到IO主设备空间,该读命令可以携带IO主设备域的地址;CPU可通过CPU域和IO主设备域的地址映射,将IO主设备域的地址转换为CPU域的地址,从而根据转换的CPU域的地址,CPU可将读命令路由到相应的IO从设备,使得IO从设备将与读命令相应的数据发送到IO主设备空间;进而,CPU可通知IO主设备需要读的数据已经准备好,使得IO主设备从IO主设备空间中读取IO从设备的数据。
更为具体的,上述所述的地址转换(即IO主设备域与CPU域间的地址转换)可通过CPU的NTB(Non-Transparent Bridge,非透明桥)进行;CPU可预先在NTB建立IO主设备域与CPU域的地址映射关系;在IO主设备读IO从设备的数据时,IO主设备可发送读命令到IO主设备空间,NTB将读命令的IO主设备域对应的地址转换为CPU域对应的地址,基于所转换的CPU域对应的地址,CPU可确定IO主设备需要读的目的IO从设备,从而以下过程可使用CPU域的地址进行:CPU基于所转换的CPU域对应的地址,将读命令发送到目的IO从设备,目的IO从设备返回相应数据到内存,并通知NTB数据在内存中的内存地址;NTB将上述内存地址转换为IO主设备域对应的地址,IO主设备可根据转换后的IO主设备域对应的地址读取数据,从而实现IO主设备读IO从设备的数据。
更进一步的,图2所示系统可基于PCIE协议,例如IO主设备可以是PCIE主设备,IO从设备可以是PCIE从设备,IO接口可以是PCIE接口;图2中路由模块,IO主设备空间可位于CPU内。
可以看出,无论是图1所示系统还是图2所示系统,在进行IO设备之间的数据交换时均涉及到数据交换命令的路由,而数据交换命令的路由需要CPU发出一定数目的指令,CPU的压力较大,特别在IO设备作为IO主设备接入CPU时,数据交换命令的路由流程较为复杂,导致数据交换命令的路由效率较低,进一步导致数据交换效率较低。
基于此,本发明的发明人考虑改进IO设备接入CPU的方式,并相应提出改进的数据交换命令路由方法,以在IO设备作为IO主设备接入CPU时,能够使用CPU的IO从设备,并提高数据交换命令路由效率,且减轻CPU的压力。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的IO设备接入CPU的方式可适用于IO设备作为IO主设备接入CPU的情况,IO设备作为IO主设备接入CPU后,可以使用CPU的IO从设备,以实现使用CPU资源。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供的数据交换系统可增加设置地址映射模块,本发明实施例提供的数据交换系统可至少包括:CPU,路由模块,与路由模块连接的IO从设备,与路由模块连接的地址映射模块,和与地址映射模块连接的IO主设备;可选的,路由模块可通过IO接口连接IO从设备,地址映射模块可通过IO接口连接IO主设备;
在一种可选系统架构中,图3示出了本发明实施例提供的IO设备接入CPU的数据交换系统的示意图,该系统可以位于计算机体系结构的北桥,当然,本发明实施例也可支持其他形式的计算机体系结构,例如该系统可以适用于SOC(片上系统);如图3所示,该系统可以包括:CPU10,路由模块20,多个IO接口30,IO从设备40,IO主设备50,IO主设备空间60,地址映射模块70;需要说明的是,图3所示IO接口和IO从设备的数量仅是示例说明,实际情况下,IO接口和IO从设备的数量可以为至少两个;
可选的,路由模块20和IO主设备空间60可位于CPU10内,IO主设备空间与路由模块20连接,IO从设备40可通过IO接口30与路由模块20连接,IO主设备50可通过IO接口30,地址映射模块70与路由模块20连接。
其中,IO主设备空间可称为IOM(Input/Output Master)space,IO主设备空间可以是CPU内给IO主设备的驱动(driver)分配的一段空间,IO主设备空间可作为CPU与IO主设备共享数据的一段空间;IO主设备使用的IO主设备空间的地址段可具有CPU域和IO主设备域。
本发明实施例在IO主设备和路由模块之间专门设置了地址映射模块,可选的,IO主设备可通过IO接口与地址映射模块连接,且地址映射模块与路由模块连接;在本发明实施例中,地址映射模块可分别作为CPU和IO主设备的IO设备,地址映射模块可具有两个域(IO主设备域和CPU域),IO主设备在与IO从设备进行数据交换时,地址映射模块可主要负责将IO从设备的数据标识在IO主设备域与CPU域间进行映射转换;
可选的,数据标识可以是数据地址和/或设备ID;在一种示例中,数据地址可以具有IO主设备域与CPU域,数据地址的一种形式可以是BAR(基地址寄存器)地址;在一种示例中,设备ID可以具有IO主设备域与CPU域,设备ID的一种形式可以由bus number,functionnumber,device number组成,称为BDF信息。
在一种可选实现中,地址映射模块实现数据标识在IO主设备域与CPU域间的映射可以包括:
在实现数据地址在IO主设备域与CPU域间的映射方面,可选的,IO主设备可以为IO从设备分配IO主设备域的地址,CPU可为IO从设备分配CPU域的地址,从而地址映射模块可负责映射为IO从设备分配的IO主设备域的地址与CPU域的地址;例如,IO主设备可为IO从设备分配IO主设备域的BAR地址,CPU可为IO从设备分配CPU域的BAR地址,地址映射模块可负责映射为IO从设备分配的IO主设备域的BAR地址与CPU域的BAR地址;
在实现设备ID在IO主设备域与CPU域间的映射方面,可选的,IO主设备可以为IO从设备分配IO主设备域的设备ID,CPU可以为IO从设备分配CPU域的设备ID,从而地址映射模块可负责映射为IO从设备分配的IO主设备域的设备ID与CPU域的设备ID;例如,IO主设备可以为IO从设备分配IO主设备域的BDF信息,CPU可以为IO从设备分配CPU域对应的BDF信息,从而地址映射模块可负责映射为IO从设备分配的IO主设备域的BDF信息与CPU域的BDF信息。
另外,地址映射模块还可负责映射IO主设备空间的IO主设备域的地址,与CPU域的地址。
在地址映射模块实现数据标识在IO主设备域与CPU域间的映射的情况下,本发明实施例中路由模块可支持CPU域的数据标识路由,包括但不限于CPU域的数据地址路由和设备ID路由;CPU可在路由模块中配置各IO从设备的CPU域的数据标识,示例的,CPU可在路由模块中配置各IO从设备的CPU域的数据地址(如BAR地址)和设备ID(如BDF信息),从而实现数据交换命令在IO设备之间的路由,为完成数据交换命令的路由提供可能。
基于本发明实施例提供的IO设备接入CPU的数据交换系统,本发明实施例可通过初始化方法对地址映射模块和路由模块进行配置,CPU可参与初始化过程;初始化完成后,进行IO设备间的数据交换时,可减少CPU的参与,从而减轻CPU压力,提高数据交换命令的路由效率;作为一种可选实现,图4示出了初始化方法的一种可选流程示意,结合图3和图4所示,该初始化方法可以包括:
步骤S10、CPU扫描到地址映射模块,为地址映射模块分配CPU域的数据地址,及IO主设备扫描到地址映射模块,为地址映射模块分配IO主设备域的数据地址。
可选的,为地址映射模块分配的数据地址可以是BAR地址,地址映射模块可具有CPU域的数据地址和IO主设备域的数据地址。
步骤S11、CPU在地址映射模块分配IO从设备的CPU域的数据标识。
可选的,CPU可在地址映射模块分配IO主设备可扫描到的IO从设备的CPU域的数据地址(如BAR地址)和设备ID(如BDF信息)。
可选的,CPU还可在地址映射模块中定义CPU域和IO主设备域的数据标识的映射形式,具体的映射形式(如数据地址的映射形式等),本发明实施例并不限制。
步骤S12、CPU在路由模块中分配IO从设备的CPU域的数据标识。
可选的,CPU可在路由模块分配IO主设备可扫描到的IO从设备的CPU域的数据地址(如BAR地址)和设备ID(如BDF信息)。
可选的,步骤S11和步骤S12可同步执行。
步骤S13、IO主设备扫描IO从设备,为IO从设备分配IO主设备域的数据标识。
可选的,IO主设备可对扫描到的IO从设备,分配IO主设备域的数据地址(如BAR地址)和设备ID(如BDF信息)。
步骤S14、地址映射模块建立为IO从设备分配的数据标识在IO主设备域与CPU域的映射关系。
可以看出,在初始化过程中,地址映射模块可根据CPU分配的IO从设备的CPU域的数据标识,与IO主设备为IO从设备分配的IO主设备域的数据标识,建立IO从设备的IO主设备域的数据标识与CPU域的数据标识间的映射关系;基于所建立的映射关系,地址映射模块可将为IO从设备分配的数据标识在IO主设备域与CPU域间进行映射。
可选的,地址映射模块可建立为IO从设备分配的IO主设备域的数据地址(如BAR地址),与CPU域的数据地址间的映射关系;和/或,地址映射模块可建立为IO从设备分配的IO主设备域的设备ID(如BDF信息),与CPU域的设备ID间的映射关系;即,数据标识可以包括数据地址和/或设备ID。
可见,经过初始化流程,地址映射模块可实现为IO从设备分配的IO主设备域的数据标识,和CPU域的数据标识间的映射;基于地址映射模块所实现的数据标识在IO主设备域与CPU域间的映射,路由模块可基于配置的为IO从设备分配的CPU域的数据标识,实现数据交换命令由IO主设备至IO从设备的路由,从而简便数据交换命令的路由流程,减少CPU在数据交换命令的路由过程中的参与,减轻CPU压力,达到提升数据交换命令的路由效率和减轻CPU压力的目的。
作为一种细化的可选实现,图5示出了初始化方法的另一可选流程,参照图5所示,该初始化方法可以包括:
步骤S20、CPU扫描到地址映射模块,为地址映射模块分配CPU域对应的BAR地址,及IO主设备扫描到地址映射模块,为地址映射模块分配IO主设备域对应的BAR地址。
在本发明实施例中,地址映射模块可分别作为CPU和IO主设备的IO设备,CPU和IO主设备可分别扫描地址映射模块,并且CPU在扫描到地址映射模块后,可为地址映射模块分配CPU域对应的BAR地址,IO主设备在扫描到地址映射模块后,可为地址映射模块分配IO主设备域对应的BAR地址;从而,地址映射模块可具有两个域的BAR地址,即地址映射模块具有CPU域对应的BAR地址和IO主设备域对应的BAR地址。
可选的,BAR地址可以认为是数据地址的一种可选形式。
步骤S21、CPU在地址映射模块分配IO从设备的CPU域对应的BAR地址和BDF信息。
可选的,CPU还可在地址映射模块中定义地址映射方式,具体的地址映射方式的形式,本发明实施例并不限制。
可选的,CPU可预先分配IO主设备可扫描到的IO从设备,例如预先分配IO主设备可扫描到的IO从设备的BDF信息。
步骤S22、CPU在路由模块中分配IO从设备的CPU域对应的BAR地址和BDF信息。
可选的,步骤S21和步骤S22可同步执行。
步骤S23、IO主设备扫描IO从设备,为IO从设备分配IO主设备域对应的BAR地址和BDF信息。
步骤S24、地址映射模块建立IO主设备域对应的BAR地址和CPU域对应的BAR地址的映射关系,及IO主设备域对应的BDF信息和CPU域对应的BDF信息的映射关系。
可见,经过初始化流程,地址映射模块可通过IO主设备域对应的BAR地址和CPU域对应的BAR地址的映射关系,实现将IO主设备域对应的BAR地址转换为CPU域对应的BAR地址,通过IO主设备域对应的BDF信息和CPU域对应的BDF信息的映射关系,实现将IO主设备域对应的BDF信息转换为CPU域对应的BDF信息;并且,路由模块可基于CPU的配置,记录IO从设备的CPU域对应的BAR地址和BDF信息,进而在进行数据交换时,可通过地址映射模块的地址转换和路由模块的路由,实现数据交换命令的路由,极大的减少CPU的参与,达到简便数据交换命令的路由流程,减轻CPU压力的目的。
基于初始化流程,地址映射模块可建立IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系,路由模块可基于CPU的配置,记录IO从设备的CPU域的数据标识,从而本发明实施例可通过地址映射模块和路由模块实现数据交换命令的路由;该数据交换命令可以是IO主设备发送,用于请求与IO从设备交换数据;
作为本发明实施例公开内容的一种可选实现,图6示出了本发明实施例提供的数据交换命令路由方法的一种可选流程,该数据交换命令路由方法可用于IO主设备请求与IO从设备交换数据的场景,参照图6,该方法流程可以包括:
步骤S30、IO主设备向地址映射模块发送数据交换命令,所述数据交换命令携带IO主设备域的目的数据标识。
在IO主设备请求与IO从设备交换数据时,IO主设备可通过IO接口向地址映射模块发送携带IO主设备域的目的数据标识的数据交换命令,即目的数据标识(例如目的数据地址或目的设备ID)使用IO主设备域。
IO主设备域的目的数据标识可用于指示目的IO从设备,目的IO从设备可以认为是IO主设备请求的交换数据的IO从设备。
步骤S31、地址映射模块根据预建立的IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识。
通过初始化流程,对于IO主设备可扫描到的IO从设备,地址映射模块可建立IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系;通过该映射关系,地址映射模块在获取携带IO主设备域的目的数据标识的数据交换命令后,可将目的数据标识由IO主设备域转换为CPU域。
步骤S32、地址映射模块将携带所述CPU域的目的数据标识的数据交换命令发送给路由模块。
步骤S33、路由模块根据预记录的为IO从设备分配的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备。
通过初始化流程,路由模块可记录为IO从设备分配的CPU域的数据标识;从而,路由模块可根据为IO从设备分配的CPU域的数据标识,确定CPU域的目的数据标识对应的目的IO从设备,实现将数据交换命令路由到目的IO从设备。
步骤S34、路由模块将携带所述CPU域的目的数据标识的数据交换命令,路由到所述目的IO从设备。
可选的,路由模块可通过与目的IO从设备连接的IO接口,将携带所述CPU域的目的数据标识的数据交换命令,路由到所述目的IO从设备;目的IO从设备接收数据交换命令后,可执行数据交换过程,将数据交换命令指定的数据交换给IO主设备。
本发明实施例提供的数据交换命令路由方法中,地址映射模块可预建立IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系,路由模块可预记录为IO从设备分配的CPU域的数据标识;从而,地址映射模块获取IO主设备发送的携带IO主设备域的目的数据标识的数据交换命令后,地址映射模块可根据所述映射关系,将IO主设备域的目的数据标识转换为CPU域的目的数据标识,转换后的携带所述CPU域的目的数据标识的数据交换命令可发送给路由模块;进而,路由模块可根据预记录的为IO从设备分配的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备,将数据交换命令路由到目的IO从设备,实现数据交换命令的路由。
在本发明实施例提供的数据交换命令路由方法中,CPU参与过程大幅的减少,即CPU只是预先为地址映射模块配置IO从设备的CPU域的数据标识,并预先为路由模块配置IO从设备的CPU域的数据标识,从而在数据交换命令的路由过程中,可由地址映射模块通过IO主设备域与CPU域的数据标识转换,和路由模块基于CPU域的数据标识定位目的IO从设备,实现将数据交换命令路由到指定的目的IO从设备,本发明实施例可减少数据交换命令路由过程中CPU的参与,从而减少数据交换命令路由过程中CPU的指令数目,实现简便的数据交换命令的路由流程,达到提升数据交换命令的路由效率,减轻CPU压力的目的。
在一种可选实现中,数据交换命令可通过数据地址路由实现,示例的,所述数据标识可以是数据地址,例如BAR地址;可选的,图7示出了本发明实施例提供的数据交换命令路由方法的另一种可选流程,该数据交换命令路由方法可用于IO主设备请求与IO从设备交换数据,并且使用数据地址,路由数据交换命令的场景,参照图7,该方法流程可以包括:
步骤S40、IO主设备向地址映射模块发送数据交换命令,所述数据交换命令携带IO主设备域的目的数据地址。
结合图6所示步骤S30,以数据地址表示数据标识的情况下,目的数据地址是目的数据标识的一种可选形式;数据地址例如BAR地址,相应的,目的数据地址可以例如目的BAR地址。
步骤S41、地址映射模块根据预建立的IO从设备的IO主设备域的数据地址,和CPU域的数据地址间的映射关系,将所述IO主设备域的目的数据地址转换为对应的CPU域的目的数据地址。
结合图6所示步骤S31,地址映射模块建立的IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系可以例如:IO从设备的IO主设备域的数据地址,和CPU域的数据地址间的映射关系;即,通过初始化流程,对于IO主设备可扫描到的IO从设备,地址映射模块可建立IO从设备的IO主设备域的数据地址,和CPU域的数据地址间的映射关系;
从而,通过该映射关系,地址映射模块在获取携带IO主设备域的目的数据地址的数据交换命令后,可将目的数据地址由IO主设备域转换为CPU域。
可选的,在进一步的实现中,步骤S41的一种可选实现可以为:地址映射模块根据预建立的IO从设备的IO主设备域的BAR地址,和CPU域的BAR地址间的映射关系,将所述IO主设备域的目的BAR地址转换为对应的CPU域的目的BAR地址。
步骤S42、地址映射模块将携带所述CPU域的目的数据地址的数据交换命令发送给路由模块。
步骤S43、路由模块根据预记录的为IO从设备分配的CPU域的数据地址,确定所述CPU域的目的数据地址对应的目的IO从设备。
结合图6所示步骤S33,路由模块预记录的为IO从设备分配的CPU域的数据标识例如:为IO从设备分配的CPU域的数据地址;即,通过初始化流程,路由模块可记录为IO从设备分配的CPU域的数据地址;
从而,路由模块可根据为IO从设备分配的CPU域的数据地址,确定CPU域的目的数据地址对应的目的IO从设备,实现将数据交换命令路由到目的IO从设备。
可选的,在进一步的实现中,步骤S43的一种可选实现可以为:路由模块根据预记录的为IO从设备分配的CPU域的BAR地址,确定所述CPU域的目的BAR地址对应的目的IO从设备。
步骤S44、路由模块将携带所述CPU域的目的数据地址的数据交换命令,路由到所述目的IO从设备。
目的IO从设备接收数据交换命令后,可执行数据交换过程,将数据交换命令指定的数据交换给IO主设备。
基于图7所示方法,路由模块可获取地址映射模块转换后的携带CPU域的目的数据地址的数据交换命令,路由模块解析所述数据交换命令,确定数据交换命令适用于数据地址路由(例如,参考PCIE协议,数据交换命为内存读取命令等),从而可通过CPU预先配置的为IO从设备分配的CPU域的数据地址,确定CPU域的目的数据地址属于哪个IO从设备的地址段,从而确定出CPU域的目的数据地址对应的目的IO从设备,将数据交换命令路由到该目的IO从设备。
在一种可选实现中,数据交换命令可通过设备ID路由实现,示例的,所述数据标识可以是数据地址,例如BAR地址;可选的,图8示出了本发明实施例提供的数据交换命令路由方法的再一种可选流程,该数据交换命令路由方法可用于IO主设备请求与IO从设备交换数据,并且使用设备ID,路由数据交换命令的场景,参照图8,该方法流程可以包括:
步骤S50、IO主设备向地址映射模块发送数据交换命令,所述数据交换命令携带IO主设备域的目的设备ID。
结合图6所示步骤S30,以设备ID表示数据标识的情况下,目的设备ID是目的数据标识的一种可选形式;设备ID例如BDF信息,相应的,目的设备ID可以例如目的BDF信息。
步骤S51、地址映射模块根据预建立的IO从设备的IO主设备域的设备ID,和CPU域的设备ID间的映射关系,将所述IO主设备域的目的设备ID转换为对应的CPU域的目的设备ID。
结合图6所示步骤S31,地址映射模块建立的IO从设备的IO主设备域的数据标识,和CPU域的数据标识间的映射关系可以例如:IO从设备的IO主设备域的设备ID,和CPU域的设备ID间的映射关系;即,通过初始化流程,对于IO主设备可扫描到的IO从设备,地址映射模块可建立IO从设备的IO主设备域的设备ID,和CPU域的设备ID间的映射关系;
从而,通过该映射关系,地址映射模块在获取携带IO主设备域的目的设备ID的数据交换命令后,可将目的设备ID由IO主设备域转换为CPU域。
可选的,在进一步的实现中,步骤S51的一种可选实现可以为:地址映射模块根据预建立的IO从设备的IO主设备域的BDF信息,和CPU域的BDF信息间的映射关系,将所述IO主设备域的目的BDF信息转换为对应的CPU域的目的BDF信息。
步骤S52、地址映射模块将携带所述CPU域的目的设备ID的数据交换命令发送给路由模块。
步骤S53、路由模块根据预记录的为IO从设备分配的CPU域的设备ID,确定所述CPU域的目的设备ID对应的目的IO从设备。
结合图6所示步骤S33,路由模块预记录的为IO从设备分配的CPU域的数据标识例如:为IO从设备分配的CPU域的设备ID;即,通过初始化流程,路由模块可记录为IO从设备分配的CPU域的设备ID;
从而,路由模块可根据为IO从设备分配的CPU域的设备ID,确定CPU域的目的设备ID对应的目的IO从设备,实现将数据交换命令路由到目的IO从设备。
可选的,在进一步的实现中,步骤S53的一种可选实现可以为:路由模块根据预记录的为IO从设备分配的CPU域的BDF信息,确定所述CPU域的目的BDF信息对应的目的IO从设备。
步骤S54、路由模块将携带所述CPU域的目的设备ID的数据交换命令,路由到所述目的IO从设备。
目的IO从设备接收数据交换命令后,可执行数据交换过程,将数据交换命令指定的数据交换给IO主设备。
基于图8所示方法,路由模块可获取地址映射模块转换后的携带CPU域的目的设备ID的数据交换命令,路由模块解析所述数据交换命令,确定数据交换命令适用于设备ID路由(例如,参考PCIE协议,数据交换命为消息读取命令等),从而可通过CPU预先配置的为IO从设备分配的CPU域的设备ID,确定与CPU域的目的设备ID对应的目的IO从设备,从而将数据交换命令路由到该目的IO从设备。
在另一种可选实现中,数据交换命令路由方法可用于IO从设备请求与IO主设备交换数据,并且数据交换命令适用于设备ID路由;进一步,在初始化流程中,CPU可在路由模块中配置IO主设备的CPU域的设备ID,例如,路由模块可预记录IO主设备的CPU域的BDF信息;可选的,图9示出了本发明实施例提供的数据交换命令路由方法的又一种可选流程,参照图9,该方法流程可以包括:
步骤S60、IO从设备向路由模块发送数据交换命令,所述数据交换命令携带CPU域的目的设备ID。
IO从设备可使用CPU域,在IO从设备请求与IO主设备交换数据的场景下,IO从设备可通过IO接口向路由模块发送数据交换命令,该数据交换命令携带CPU域的目的设备ID。
可选的,设备ID的一种可选形式可以是BDF信息,相应的,目的设备ID可以是目的BDF信息。
步骤S61、路由模块根据预记录的为IO主设备配置的CPU域的设备ID,确定所述CPU域的目的设备ID对应IO主设备。
通过初始化流程,路由模块可预记录为IO从设备分配的CPU域的数据地址和/或设备ID,并且,路由模块还可预记录为IO主设备配置的CPU域的设备ID,从而路由模块获取IO从设备发送的携带CPU域的目的设备ID的数据交换命令后,路由模块可分析预记录的为IO主设备配置的CPU域的设备ID,若该CPU域的目的设备ID与为IO主设备配置的CPU域的设备ID相匹配,则可确定该CPU域的目的设备ID是分配给IO主设备的;
进而,路由模块可将数据交换命令路由到IO主设备,例如,路由模块可不通过地址映射模块,而是直接将数据交换命令路由到IO主设备。
步骤S62、路由模块将所述数据交换命令路由到IO主设备。
本发明实施例提供的数据交换命令路由方法可适于PCIE协议,例如,IO设备为PCIE设备,相应的,IO主设备为PCIE主设备,IO从设备为PCIE从设备,IO接口为PCIE接口,适应的,本发明实施例提供的数据交换系统的框图内容可相应调整,此处不再进一步说明。
通过本发明实施例,当IO设备作为IO主设备接入CPU时,IO主设备可将CPU的IO从设备作为自己的IO从设备,从而使用CPU的资源;同时,CPU内设置有与IO主设备共享的IO主设备空间,IO主设备空间可以使用CPU域和IO主设备域,从而通过地址映射模块可将IO主设备和CPU的地址映射为IO主设备空间的同一段空间,使得IO主设备可作为CPU的协处理器使用,分担部分CPU的工作。
当IO主设备与IO从设备之间需要交换数据时,本发明实施例可直接由IO主设备发起数据交换命令,并且通过地址映射模块实现IO主设备域的数据标识转换为CPU域的数据标识,从而由路由模块基于转换的CPU域的数据标识,将数据交换命令路由到指定的目的IO从设备,实现路由数据交换命令,整个数据交换命令的路由过程可大幅减少CPU的参与,减少CPU的指令数目,节省CPU的资源开销,达到提高数据交换命令的路由效率,且减轻CPU压力的目的。
进一步,通过使用IO主设备的IO接口,可使得CPU作为从设备接入其他系统,有利于实现系统扩展。
进一步,本发明实施例还提供一种芯片,该芯片可以包括本发明实施例提供的数据交换系统。
进一步,本发明实施例还提供一种电子设备,该电子设备可以包括上述所述的芯片。
上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (21)
1.一种数据交换系统,其特征在于,包括:CPU,路由模块,与所述路由模块连接的IO从设备,与所述路由模块连接的地址映射模块,和与所述地址映射模块连接的IO主设备;所述IO主设备和所述IO从设备为接入所述CPU的IO设备;
所述地址映射模块用于,获取IO主设备发送的数据交换命令,所述数据交换命令携带IO主设备域的目的数据标识;根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识;将携带所述CPU域的目的数据标识的数据交换命令发送给所述路由模块;IO从设备的IO主设备域的数据标识是IO主设备在初始化过程中,为IO从设备分配的IO主设备域的数据标识;
所述路由模块用于,根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备;将携带所述CPU域的目的数据标识的数据交换命令路由到所述目的IO从设备。
2.根据权利要求1所述的数据交换系统,其特征在于,所述CPU用于,在初始化过程中,在地址映射模块分配IO从设备的CPU域的数据标识,及在路由模块中分配IO从设备的CPU域的数据标识;
所述IO主设备用于,在初始化过程中,为IO从设备分配IO主设备域的数据标识;
所述地址映射模块还用于,在初始化过程中,根据CPU分配的IO从设备的CPU域的数据标识,与IO主设备为IO从设备分配的IO主设备域的数据标识,建立IO从设备的IO主设备域的数据标识与CPU域的数据标识间的映射关系;
所述路由模块还用于,在初始化过程中,记录IO从设备的CPU域的数据标识。
3.根据权利要求2所述的数据交换系统,其特征在于,所述数据交换系统还包括:与所述CPU和所述路由模块连接的IO主设备空间;所述IO主设备空间为CPU与IO主设备共享数据的空间;
所述地址映射模块还用于,映射所述IO主设备空间的IO主设备域的地址,与CPU域的地址。
4.根据权利要求2所述的数据交换系统,其特征在于,所述CPU还用于,在初始化过程中,扫描地址映射模块,为地址映射模块分配CPU域的数据地址;
所述IO主设备还用于,在初始化过程中,扫描地址映射模块,为地址映射模块分配IO主设备域的数据地址。
5.根据权利要求1-4任一项所述的数据交换系统,其特征在于,所述数据标识包括数据地址和/或设备ID。
6.根据权利要求5所述的数据交换系统,其特征在于,所述数据标识包括数据地址,所述目的数据标识包括目的数据地址;所述地址映射模块用于,根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识,具体包括:
根据预建立的IO从设备的IO主设备域的数据地址,和CPU域的数据地址间的映射关系,将所述IO主设备域的目的数据地址转换为对应的CPU域的目的数据地址;
所述路由模块用于,根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备,具体包括:
根据预记录的为IO从设备分配的CPU域的数据地址,确定所述CPU域的目的数据地址对应的目的IO从设备。
7.根据权利要求6所述的数据交换系统,其特征在于,所述数据地址包括基地址寄存器BAR地址,所述目的数据地址包括目的BAR地址。
8.根据权利要求5所述的数据交换系统,其特征在于,所述数据标识包括设备ID,所述目的数据标识包括目的设备ID;所述地址映射模块用于,根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识,具体包括:
根据预建立的IO从设备的IO主设备域的设备ID,和CPU域的设备ID间的映射关系,将所述IO主设备域的目的设备ID转换为对应的CPU域的目的设备ID;
所述路由模块用于,根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备,具体包括:
根据预记录的为IO从设备分配的CPU域的设备ID,确定所述CPU域的目的设备ID对应的目的IO从设备。
9.根据权利要求8所述的数据交换系统,其特征在于,所述设备ID包括BDF信息,所述目的设备ID包括目的BDF信息。
10.根据权利要求8或9所述的数据交换系统,其特征在于,所述路由模块还用于,获取IO从设备发送的数据交换命令,所述数据交换命令携带CPU域的目的设备ID;根据预记录的为IO主设备配置的CPU域的设备ID,确定所述CPU域的目的设备ID对应IO主设备;将所述数据交换命令路由到IO主设备。
11.根据权利要求权利1-4任一项所述的数据交换系统,其特征在于,还包括:与IO从设备连接的IO接口,所述路由模块通过IO接口连接IO从设备;与IO主设备连接的IO接口,所述地址映射模块通过IO接口连接IO主设备。
12.根据权利要求11所述的数据交换系统,其特征在于,所述数据交换系统基于高速串行计算机扩展总线标准PCIE,所述IO主设备为PCIE主设备,所述IO从设备为PCIE从设备,所述IO接口为PCIE接口。
13.一种数据交换命令路由方法,其特征在于,基于权利要求1-12任一项所述的数据交换系统,所述数据交换方法包括:
地址映射模块获取IO主设备发送的数据交换命令,所述数据交换命令携带IO主设备域的目的数据标识;
地址映射模块根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识;
地址映射模块将携带所述CPU域的目的数据标识的数据交换命令发送给路由模块;
路由模块根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备;
路由模块将携带所述CPU域的目的数据标识的数据交换命令路由到所述目的IO从设备。
14.根据权利要求13所述的数据交换命令路由方法,其特征在于,还包括:
CPU在地址映射模块分配IO从设备的CPU域的数据标识,及在路由模块中分配IO从设备的CPU域的数据标识;
IO主设备为IO从设备分配IO主设备域的数据标识;
地址映射模块根据CPU分配的IO从设备的CPU域的数据标识,与IO主设备为IO从设备分配的IO主设备域的数据标识,建立IO从设备的IO主设备域的数据标识与CPU域的数据标识间的映射关系;
路由模块记录IO从设备的CPU域的数据标识。
15.根据权利要求14所述的数据交换命令路由方法,其特征在于,还包括:
CPU扫描地址映射模块,为地址映射模块分配CPU域对应的数据地址;
IO主设备扫描地址映射模块,为地址映射模块分配IO主设备域对应的数据地址;其中,所述地址映射模块还建立有IO主设备空间的IO主设备域的地址,与CPU域的地址间的映射关系,所述IO主设备空间为CPU与IO主设备共享数据的空间。
16.根据权利要求13-15任一项所述的数据交换命令路由方法,其特征在于,所述数据标识包括数据地址和/或设备ID。
17.根据权利要求16所述的数据交换命令路由方法,其特征在于,所述数据标识包括数据地址,所述目的数据标识包括目的数据地址;所述地址映射模块根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识包括:
根据预建立的IO从设备的IO主设备域的数据地址,和CPU域的数据地址间的映射关系,将所述IO主设备域的目的数据地址转换为对应的CPU域的目的数据地址;
所述路由模块根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备包括:
根据预记录的为IO从设备分配的CPU域的数据地址,确定所述CPU域的目的数据地址对应的目的IO从设备。
18.根据权利要求16所述的数据交换命令路由方法,其特征在于,所述数据标识包括设备ID,所述目的数据标识包括目的设备ID;所述地址映射模块根据预建立的IO从设备的IO主设备域的数据标识,与CPU域的数据标识间的映射关系,将所述IO主设备域的目的数据标识转换为对应的CPU域的目的数据标识包括:
根据预建立的IO从设备的IO主设备域的设备ID,和CPU域的设备ID间的映射关系,将所述IO主设备域的目的设备ID转换为对应的CPU域的目的设备ID;
所述路由模块根据预记录的IO从设备的CPU域的数据标识,确定所述CPU域的目的数据标识对应的目的IO从设备包括:
根据预记录的为IO从设备分配的CPU域的设备ID,确定所述CPU域的目的设备ID对应的目的IO从设备。
19.根据权利要求18所述的数据交换命令路由方法,其特征在于,还包括:
路由模块获取IO从设备发送的数据交换命令,所述数据交换命令携带CPU域的目的设备ID;
路由模块根据预记录的为IO主设备配置的CPU域的设备ID,确定所述CPU域的目的设备ID对应IO主设备;
路由模块将所述数据交换命令路由到IO主设备。
20.一种芯片,其特征在于,包括权利要求1-12任一项所述的数据交换系统。
21.一种电子设备,其特征在于,包括权利要求20所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248911.9A CN110083568B (zh) | 2019-03-29 | 2019-03-29 | 数据交换系统、数据交换命令路由方法、芯片及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910248911.9A CN110083568B (zh) | 2019-03-29 | 2019-03-29 | 数据交换系统、数据交换命令路由方法、芯片及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083568A CN110083568A (zh) | 2019-08-02 |
CN110083568B true CN110083568B (zh) | 2021-07-13 |
Family
ID=67413858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910248911.9A Active CN110083568B (zh) | 2019-03-29 | 2019-03-29 | 数据交换系统、数据交换命令路由方法、芯片及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083568B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124953B (zh) * | 2019-12-18 | 2021-04-27 | 海光信息技术股份有限公司 | 数据交换方法、装置、处理器及计算机系统 |
CN115037568B (zh) * | 2022-05-16 | 2024-05-07 | 中国人民解放军海军工程大学 | 基于io映射的工业总线传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231470B2 (en) * | 2003-12-16 | 2007-06-12 | Intel Corporation | Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system |
CN101729369A (zh) * | 2008-10-31 | 2010-06-09 | 华为技术有限公司 | 一种消息路由的方法和设备 |
CN107370675A (zh) * | 2016-05-13 | 2017-11-21 | 华为技术有限公司 | 路由散播的方法和节点 |
CN107526974A (zh) * | 2017-08-03 | 2017-12-29 | 致象尔微电子科技(上海)有限公司 | 一种信息密码保护装置和方法 |
CN109033004A (zh) * | 2018-08-27 | 2018-12-18 | 北京计算机技术及应用研究所 | 一种基于Aurora总线的双机内存数据共享系统 |
-
2019
- 2019-03-29 CN CN201910248911.9A patent/CN110083568B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231470B2 (en) * | 2003-12-16 | 2007-06-12 | Intel Corporation | Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system |
CN101729369A (zh) * | 2008-10-31 | 2010-06-09 | 华为技术有限公司 | 一种消息路由的方法和设备 |
CN107370675A (zh) * | 2016-05-13 | 2017-11-21 | 华为技术有限公司 | 路由散播的方法和节点 |
CN107526974A (zh) * | 2017-08-03 | 2017-12-29 | 致象尔微电子科技(上海)有限公司 | 一种信息密码保护装置和方法 |
CN109033004A (zh) * | 2018-08-27 | 2018-12-18 | 北京计算机技术及应用研究所 | 一种基于Aurora总线的双机内存数据共享系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110083568A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603508B2 (en) | Scalable distributed memory and I/O multiprocessor systems and associated methods | |
CN1302400C (zh) | 虚拟pci设备装置和方法 | |
CN110083568B (zh) | 数据交换系统、数据交换命令路由方法、芯片及电子设备 | |
CN113296884B (zh) | 虚拟化方法、装置、电子设备、介质及资源虚拟化系统 | |
CN103117929A (zh) | 一种基于PCIe数据交换的通信方法及系统 | |
US20170124018A1 (en) | Method and Device for Sharing PCIE I/O Device, and Interconnection System | |
CN101751371A (zh) | 在不同种类处理单元中对非统一存储器访问的芯片组支持 | |
US8566416B2 (en) | Method and system for accessing storage device | |
JP2002149592A (ja) | ネットワーク上でのpciブリッジ | |
CN111490946B (zh) | 基于OpenCL框架的FPGA连接实现方法及装置 | |
US6421756B1 (en) | Buffer assignment for bridges | |
CN108471384B (zh) | 用于端到端通信的报文转发的方法和装置 | |
CN116414759B (zh) | 计算机交换系统及地址分配、枚举、数据分发方法 | |
US20090235048A1 (en) | Information processing apparatus, signal transmission method, and bridge | |
US20120303848A1 (en) | System and method for allocating transaction id in a system with a plurality of processing modules | |
US7447827B2 (en) | Multi-port bridge device | |
TW202034183A (zh) | 通信裝置、資訊處理系統及通信方法 | |
JP2008009926A (ja) | 情報処理装置、情報処理システムおよびアドレス変換方法 | |
JPWO2004088522A1 (ja) | バスブリッジ装置、バスブリッジ方法および入出力制御装置 | |
US12001370B2 (en) | Multi-node memory address space for PCIe devices | |
KR100581196B1 (ko) | 다중 채널을 제공하는 에스오씨 버스 구조 | |
US20230214345A1 (en) | Multi-node memory address space for pcie devices | |
JP4106964B2 (ja) | アドレス割当装置およびその方法 | |
CN113986457A (zh) | 一种远程输入输出设备中断映射装置与方法 | |
CN117130763A (zh) | 电路板的资源分配方法、装置、电路板以及存储介质 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 300384 industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin Applicant after: Haiguang Information Technology Co., Ltd Address before: 300384 industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |