CN117827713A - 信息处理方法、装置、设备及存储介质 - Google Patents

信息处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117827713A
CN117827713A CN202311691591.7A CN202311691591A CN117827713A CN 117827713 A CN117827713 A CN 117827713A CN 202311691591 A CN202311691591 A CN 202311691591A CN 117827713 A CN117827713 A CN 117827713A
Authority
CN
China
Prior art keywords
data
srio
pcie
information
mapping
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
CN202311691591.7A
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.)
STMicroelectronics Shenzhen R&D Co Ltd
Original Assignee
STMicroelectronics Shenzhen R&D Co 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 STMicroelectronics Shenzhen R&D Co Ltd filed Critical STMicroelectronics Shenzhen R&D Co Ltd
Priority to CN202311691591.7A priority Critical patent/CN117827713A/zh
Publication of CN117827713A publication Critical patent/CN117827713A/zh
Pending legal-status Critical Current

Links

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
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Transfer Systems (AREA)

Abstract

本申请实施例提供的一种信息处理方法、装置、设备及存储介质,通过在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,能够实现对Rapidio设备与主机之间的数据进行转换,从而实现Rpidio设备与主机系统的高速通讯。

Description

信息处理方法、装置、设备及存储介质
技术领域
本申请属于信息处理技术领域,尤其涉及一种信息处理方法、装置、设备及存储介质。
背景技术
PCIe作为广泛使用的高速接口其应用场景具有较强的兼容性与可塑性,而同样作为高速接口的Rpidio在点对点设备通讯传输的表现尤为不俗,但是Rpidio没有定义标准的软件模型,这导致厂家之间的设备大概率无法兼容,为了实现兼容,通常使用主机系统对各个Rpidio设备的通讯进行调度,但是Rpidio设备无法直接与主机进行交互,因此亟需一种方法来实现Rpidio设备与主机系统的高速通讯。
发明内容
针对上述问题,本申请实施例提供了一种信息处理方法、装置、设备及存储介质,能够实现Rpidio设备与主机系统的高速通讯。
本申请实施例提供了一种信息处理方法,包括:
在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;
在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
在一些实施例中,所述SRIO数据包括:门铃Doorbell信息,所述基于预先建立的映射关系将所述SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
对所述Doorbell信息进行解析,得到地址信息,其中,所述地址信息中包括:域名信息;
基于所述域名信息与预先存储的每个通道的寄存器样本进行匹配,得到匹配结果;
基于所述匹配结果确定到目标通道;
基于所述映射关系将所述Doorbell信息映射为PCIe数据;
将所述PCIe数据传入所述目标通道对应的队列中;
基于所述队列将所述PCIe数据发送给主机。
在一些实施例中,所述PCIe数据包括:Doorbell信息,所述基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
对所述Doorbell信息进行解析,得到地址信息;
基于所述地址信息确定目标通道;
将所述Doorbell信息发送至到目标通道;
基于所述映射关系将所述Doorbell信息映射为SRIO数据;
基于所述目标通道将所述SRIO数据发送给Rapidio设备。
在一些实施例中,所述方法还包括:
获取每个通道的第一寄存器和第二寄存器,其中,所述第一寄存器用于存储接收到发送成功的Doorbell信息的个数,所述第二寄存器用于存储发送的Doorbell信息的个数;
基于所述第一寄存器值和第二寄存器值确定完成状态;
在存在未完成的情况下,确定未完成的Doorbell信息的状态;
记录未完成的Doorbell信息的状态。
在一些实施例中,所述方法还包括:
确定所述SRIO数据的ID;
在发送SRIO数据后,确定是否获取到成功的回复信息;
在获取到所述回复信息情况下,将发送成功的Doorbell信息存储在第一寄存器中;
在没有获取到所述回复信息的情况下,记录所述Doorbell信息为错误状态。
在一些实施例中,PCIe数据包括:读写命令,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
将所述读写命令进行解析得到地址信息;
基于所述地址信息和预先建立的查找表确定目标映射窗口;
基于所述目标映射窗口将读写命令映射为SRIO命令;
基于所述SRIO命令发送给Rapidio设备。
在一些实施例中,SRIO数据包括:读写命令,所述基于预先建立的映射关系将所示SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
将所述读写命令进行解析,得到地址信息;
基于所述地址信息和查找表确定目标映射窗口;
基于所述目标映射窗口的大小确定地址偏移量;
基于所述地址偏移量和所述目标映射窗口对应的映射地址生成PCIe转换地址;
基于所述PCIe转换地址生成PCIe命令;
将所述PCIe命令发送主机。
本申请实施例提供一种信息处理装置,包括:
第一转换模块,用于在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;
第二转换模块,用于在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
本申请实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得电子设备执行上述任一项所述的方法。
本申请实施例提供的一种信息处理方法、装置、设备及存储介质,通过在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,能够实现对Rapidio设备与主机之间的数据进行转换,从而实现Rpidio设备与主机系统的高速通讯。
附图说明
在下文中将基于实施例并参考附图来对本申请进行更详细的描述。
图1为本申请实施例提供的一种信息处理系统的连接结构示意图;
图2为本申请实施例提供的一种信息处理方法的实现流程示意图;
图3为本申请实施例提供的一种读请求的数据组合示意图;
图4为本申请实施例提供的一种写请求的数据组合示意图;
图5为本申请实施例提供的一种维护请求的数据组合示意图;
图6为本申请实施例提供的一种Doorbell信息的数据组合示意图;
图7为本申请实施例提供的一种回复信息的数据组合示意图;
图8为本申请实施例提供的一种Outbound Doorbell信息的示意图;
图9为本申请实施例提供的一种SRIO Doorbell的示意图;
图10为本申请实施例提供的一种映射关系的示意图;
图11为本申请实施例提供的一种ZONE查找表中字段功能示意图;
图12为本申请实施例提供的一种PCIe数据转换为SRIO命令的示意图;
图13为本申请实施例提供的查找表的示意图;
图14为本申请实时提供的一种地址转换的示意图;
图15为本申请实施例提供的一种信息处理方法的实现流程示意图;
图16为本申请实施例提供的一种信息处理方法的实现流程示意图;
图17为本申请实施例提供的一种信息处理方法的实现流程示意图;
图18为本申请实施例提供的一种信息的处理装置的结构示意图;
图19为本申请实施例提供的电子设备的组成结构示意图。
在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一\第二\第三”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
基于相关技术中存在的问题,本申请实施例提供一种信息处理方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、路侧设备等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。本申请实施例提供的信息处理方法实现的功能可以通过电子设备的处理器调用程序代码来实现,其中,程序代码可以保存在计算机存储介质中。
图1为本申请实施例提供的一种信息处理系统的连接结构示意图,如图1所示,信息处理系统包括:电子设备,电子设备可以认为是一种协议转换设备,例如,映射引擎,电子设备的一端与PCIe接口连接,所述电子设备的另一端与SRIO接口连接,所述电子设备可以为映射引擎(Mapping引擎)。下面以电子设备为Mapping引擎为例进行说明。
本申请实施例中,Mapping引擎可以同时向PCIe接口与SRIO接口进行发送与接收操作。PCIe接口连接到主机,SRIO接口连接到Rapidio设备。
本申请实施例提供一种信息处理方法,图2为本申请实施提供的一种信息处理方法的实现流程示意图,如图2所示,包括:
步骤S101,在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机。
本申请实施例中,所述SRIO数据的类型可以包括:Doorbell信息和读写命令。
本申请实施例中,所述映射关系中包括:SRIO数据与PCIe数据之间的对应关系。表1为本申请实施例提供的一种映射关系的示意表,如表1所示,
表1为一种映射关系的示意表
本申请实施例中,可以将SRIO数据与映射关系中的SRIO事务进行匹配,从而得到对应的PCIe包。从而将SRIO数据转换为对应的PCIe数据。
步骤S102,在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
本申请实施例中,PCIe数据的类型可以包括:Doorbell信息和读写命令。读写命令可以包括:读命令和写命令。读写命令用于发送数据。
承接上面的示例,可以将PCIe数据与映射关系中PCIe事务进行匹配,基于匹配的结果确定对应的SRIO包,从而将PCIe数据转换为对应的SRIO数据。
本申请实施例中,Mapping引擎实现双向非透明桥的映射传输功能,不仅为主机提供了直接发送数据与Doorbell信息给SRIO设备的通路,并且还可以接收SRIO设备发送的数据与Doorbel信息,最终通过映射传输到主机内部存储空间中。Mapping引擎主要实现两个方向的数据传输与数据转换,将PCIe数据转换到SRIO数据和将SRIO数据转换到PCIe数据。
本申请实施例提供的一种信息处理方法,通过在获取到Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,能够实现对Rapidio设备与主机之间的数据进行转换,从而实现Rpidio设备与主机系统的高速通讯。
在一些实施例中,SRIO数据可以认为是SRIO包,SRIO包有很多类型,每一种SRIO包的处理元素是不同的,该元素代表着Rapidio设备需要完成该请求所进行的一系列操作。表2为本申请实施例提供的一种SRIO包类型与传输类型的操作意义之间的对应关系表,如表2所示:
表2一种SRIO请求包类型与传输类型的操作意义之间的对应关系表
本申请实施例中,每一个类型的SRIO包都有对应的字段代表请求的具体执行需求,表3为本申请实施例提供的一种请求包中不同字段代表的含义的示意表,如表3所示,
表3为一种请求包中不同字段代表的含义的示意表
本申请实施例中,不同类型的SRIO数据在传输时组合字段与位置也不相同,SRIO数据包括:读请求、写请求、维护请求、Doorbell信息以及回复信息,图3为本申请实施例提供的一种读请求的数据组合示意图,图4为本申请实施例提供的一种写请求的数据组合示意图,图5为本申请实施例提供的一种维护请求的数据组合示意图,图6为本申请实施例提供的一种Doorbell信息的数据组合示意图,图7为本申请实施例提供的一种回复信息的数据组合示意图,如图3至7所示,不同类型的SRIO数据在传输时组合字段与位置不相同。
本申请实施例中,回复信息(Reponse)分为带数据与不带数据,若类型为不带数据则下述reposne示例就不存在后续8bytes数据。
本申请实施例中,Mapping引擎支持以上所有类型的SRIO数据转换,通过通道实现高效稳定的传输。
本申请实施例中,Mapping引擎具有两个功能,两个功能分别为DMA传输功能与Doorbell传输功能,DMA功能主要实现数据搬移的相互转换,而Doorbell功能只实现短消息的接收与发送。每个功能具有两个方向分别为inbound与outbound,inbound为接收Rapidio设备发送的SRIO数据然后转换为PCIe数据,outbound为接收主机发送的PCIe数据然后转换为SRIO数据。
本申请实施例中,每一个功能的inbound与outbound方向都支持8个独立通道,可以单独进行协议转换与命令发送。不同功能不同方向不同通道的命令以轮询方式进行处理。
本申请实施例中,Mapping引擎实现双向DMA的功能,不仅为Host提供了直接发送数据给Rapidio设备的通路,并且还可以接收Rapidio设备发送的数据与消息包,最终通过映射传输到Host内部存储空间中。因此该引擎主要实现两个方向的数据处理与包转换,即PCIe到SRIO和SRIO到PCIe。映射引擎实现PCIe接口到SRIO接口地址转换可以简称为:PC2SR,映射引擎实现SRIO接口到PCIe接口转换可以简称为:SR2PC。
本申请实施例中,PC2SR实现下述功能:32个同时执行的SRIO NREAD/maintenance读请求。32个同时执行的门铃请求、maintenance写请求、和NWRITE_R请求。五个PCIe Bar(6个Bar寄存器,Bar1-5),Bar1:32bit非预取内存,至少为16MB用于门铃,Bar2/3:32bit Bar2或64bit Bar2/3,预取Bar大小至少16MB用于PCIe到SRIO桥连,Bar4/5:32bit Bar4或64bitBar4/5,非预取Bar至少16MB用于PCIe to SRIO桥连。桥接BAR2/3、BAR4/5各对应8个出站窗口,每个窗口对应8个Zone,用于将击中某一窗口的某一Zone的PCIe事务转换为SRIO事务。
请求分割包括:支持单个MWr写命令转换为多个NWRITE的SRIO包,支持单个MRd读命令映射转换为多个NREAD的SRIO包。8KB响应重组包括:SRIO发出的NREAD由SR2PC分割为多个MRd,对MRd的多个响应进行重组。8KB缓冲区为32x256byte。
本申请实施例中,SR2PC支持下述功能:同时执行最多32个PCIe MRd请求;8个入站窗口用于将集中入站窗口的SRIO事务转换为PCIe事务;请求分割包括:PCIe最大包长为256字节时,SRIO侧事务包的地址+负载长度跨越4KB边界;12KB完成重组缓存,组成包括:32x256byte+4KB。32x256字节用于长度小于257字节的MRd事务的响应(同一MRd的多个响应共享一个缓冲区)4KB用于长度大于256字节的MRd事务。
本申请实施例,Doorbell功能包括:Outbound方向和Inbound方向。
Outbound方向:主机可以通过写BAR1空间直接发送Doorbell信息给Mapping引擎,Mapping引擎通过对地址信息的解析将该Doorbell映射到不同的通道中,然后发起Doorbell命令给Rapidio设备。
Inbound方向:Rapidio设备发送的Doorbell信息会映射到Mapping引擎,Mapping会根据Doorbell信息以及主机初始化配置的Mask与Pattern寄存器匹配出相应的通道,然后通过该通道将Doorbell发送给主机,未匹配到的则丢弃并回复相应的Response给设备。
DMA功能包括:
Outbound方向和Inbound方向,其中,Outbound方向:主机可以通过写BAR2~5空间直接发送数据给Mapping引擎,Mapping引擎通过对地址的解析将该数据映射为不同的命令,然后发起对应的命令给SRIO控制器,将需要发送的数据以映射到命令形式发送给SRIO设备。
Inbound方向:SRIO设备发送的命令会发送到Mapping引擎,Mapping会根据SRIO命令的访问地址信息以及主机初始化配置的8个窗口地址匹配出相应的通道,然后通过该通道将数据与命令发送到Host指定的地址中,未匹配到的则丢弃并回复相应的Response给设备。
在一些实施例中,所述PCIe数据包括:Doorbell信息。
本申请实施例中,在获取到SRIO数据后,可以对SRIO数据的类型进行判断,从而确定是否是Doorbell信息。
本申请实施例中,主机通过PCIe MWr命中BAR1地址来发起outbound Doorbell操作,而电子设备在获取到Doorbell信息后,可以对Doorbell信息进行解析,以确定Doorbell信息是否命中BAR1地址,从而确定是否为Doorbell信息。
本申请实施例中,Doorbell信息包括Doorbell请求与Response事务(通常为DONE响应)。Doorbell信息能够实现Rapidio设备双方通过SRIO协议与互联结构交互发送一个非常短的消息。Doorbell事务使用info字段来保存消息信息,并没有有效数据负载。Info字段的意义可以进行定义。
本申请实施例中,所述基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,即Outbound Doorbell,示例性地,图8为本申请实施例提供的一种Outbound Doorbell信息的示意图,如图8所示,Doorbell的发送目的ID位于访问地址bit[17:2],选择通道信息存放在访问地址bit[24:22],而Doorbell信息则为2Byte写数据。则可以基于访问地址bit[24:22]确定出目标通道。
所述基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
步骤S1,对所述Doorbell信息进行解析,得到地址信息。
本申请实施例中,主机可以通过PCIe数据命中BAR1地址来发起Doorbell信息。
步骤S2,基于所述地址信息确定目标通道。
本申请实施例中,可以基于地址信息解析出目标通道。
步骤S3,将所述Doorbell信息发送至到目标通道。
步骤S4,基于所述映射关系将所述Doorbell信息映射为SRIO数据。
步骤S5,基于所述目标通道将所述SRIO数据发送给Rapidio设备。
本申请实施例中,通过对BAR1空间写操作实现将Doorbell信息发送给Rapidio设备。
在一些实施例中,在步骤S5之后,所示方法还包括:
步骤S6,获取每个通道的第一寄存器和第二寄存器,其中,所述第一寄存器用于存储接收到发送成功的Doorbell信息的个数,所述第二寄存器用于存储发送的Doorbell信息的个数。
本申请实施例中,可以为每一个通道设计两个Doorbell发送寄存器。第一寄存器为16bit的ODB_OK_CNT,该寄存器累计所有收到OK Response的Doorbell。第二寄存器为16bit的ODB_TOT_CNT,该寄存器累计所有发送的Doorbell个数。主机可以随时读取这两个寄存器来计算未正常完成的Doorbell个数。
步骤S7,基于所述第一寄存器值和第二寄存器值确定发送的完成状态。
本申请实施例中,完成状态可以包括:完成和未完成。
步骤S8,在存在未完成的情况下,确定未完成的Doorbell信息的状态。
本申请实施例中,Doorbell信息的状态可以包括:错误(Error)、重试(Retry)或者超时(Timeout)。
步骤S9,记录未完成的Doorbell信息的状态。
本申请实施例中,可以为每一个通道设计异常状态log寄存器,当Doorbell发送出现Error、Retry或者Timeout时,可以将该Doorbell的PCIe头信息与发生的异常状态记录下来,供主机查看与分析。其中存放log的信息的寄存器为Outbound Doorbell Response LogBuffer,指示异常状态的寄存器为SR2PC Outbound Doorbell Response Log BufferStatus。
在一些实施例中,可以为每个通道设计中断状态寄存器。在出现异常状态时可已发送中断通知主机并通过中断状态寄存器查询异常原因。
在一些实施例中,在步骤S5执行的同时,所述方法还包括:
步骤S10,确定所述SRIO数据的ID。
可以为SRIO数据申请ID,每个SRIO数据对应一个ID。
步骤S11,在发送SRIO数据后,确定是否获取到成功的回复信息。
步骤S12,在获取到所述回复信息情况下,将发送成功的Doorbell信息存储在第一寄存器中。
步骤S13,在没有获取到所述回复信息的情况下,记录所述Doorbell信息为错误状态。
本申请实施例中,每个ID对应的缓存空间存放这该Doorbell信息的PCIe头信息与消息info,在收到异常Response时可以通过ID找到对应的消息信息进行异常上报与重传。
在一些实施例中,如果需要重新传输,则可以提取info信息重新发送命令包。
在一些实施例中,所述SRIO数据包括:Doorbell信息,
本申请实施例中,在获取到SRIO数据后,可以对SRIO数据的类型进行判断,从而确定是否是Doorbell信息。
本申请实施例中,可以确定Doorbell信息是否命中BAR1地址确定是否为Doorbell信息。
本申请实施例中,在所述SRIO数据为Doorbell信息的情况下,基于预先建立的映射关系将所述SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,即inboundDoorbell,图9为本申请实施例提供的一种SRIO Doorbell的示意图,如图9所示,SRIODoorbell信息中的信息内容与PCIe MWr的负载内容基本相同,但各个字段的位置不同,SRIO Doorbell信息负载为8Bytes,但每一个Inbound Doorbell队列的条目都具有64Bytes,因此PCIe写Doorbell也需要写64Bytes的payload信息,信息及具体位置如下:
-Bit 63:硬件拥有bit位,1代表这该Doorbell已经被硬件更新,0代表该Doorbell信息无效。
-Bit 15-0:为Doorbell信息。
-Bit 31-16:为Doorbell SrcID。
-Bit 47-32:为Doorbell DestID。
-其他:无效位,补0。
在所述SRIO数据为Doorbell信息的情况下,基于预先建立的映射关系将所述SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
步骤S21,对所述Doorbell信息进行解析,得到info字段。
步骤S22,基于所述info字段与预先存储的每个通道的寄存器样本进行匹配,得到匹配结果。
本申请实施例中,为能够让主机顺利的接收到Doorbell消息,Mapping引擎对每个通道定义了如下寄存器:
Inbound Doorbell Queue Base寄存器,用于定义Doorbell在主机内存存放的地址(即Doorbell队列地址),主机在初始化时配置基地址;Inbound Doorbell Queue Size寄存器,用于定义Doorbell队列的空间大小,主机在初始化时配置;Inbound Doorbell QueueWrite Pointer寄存器,Mapping引擎指定的Doorbell队列写指针,用于指示写入的Doorbell在队列中的位置,该寄存器由Mapping引擎维护;
Inbound Doorbell Queue Read Pointer寄存器,主机指定Doorbell队列读指针,用于指示主机当前读取的Doorbell在队列中的位置,该寄存器由主机维护,读写指针与队列空间能够计算出当前Doorbell队列的使用情况,当(Write Pointer+1)MOD Queue Size=Read Pointer时代表队列已满。
Mapping引擎具有8个通道,每一个通道对应一个Doorbell队列,Mapping引擎通过寄存器与PATTERN选择将收到的Doorbell信息发送到哪个通道中。
步骤S23,基于所述匹配结果确定到目标通道。
本申请实施例中,将info信息与每个通道的寄存器样本(即寄存器PATTERN)进行按位与操作,并与寄存器样本相比较,如果相等则该Doorbell信息被发送到对应的通道中。
本申请实施例中,可以将各个通道的MASK与PATTERN设计成查找表,MASK与PATTERN为主机在初始化时配置的,在主机配置后发送给电子设备,从而使得电子设备获取到MASK与PATTERN。当接收到Doorbell信息后可以在1个时钟周期内进行通道匹配。
本申请实施例中,如果没有匹配到,则返回错误(ERROR)的回复信息。
步骤S24,基于所述映射关系将所述Doorbell信息映射为PCIe数据。
步骤S25,将所述PCIe数据传入所述目标通道对应的队列中。
本申请实施例中,可以检测队列缓存是否为空,如果不为空,则可以基于info信息组合PCIe数据,将PCIe数据发送到目标通道对应的队列中。在所示队列缓存满了的情况下,则回复SRIO Retry。
步骤S26,基于所述队列将所述PCIe数据发送给主机。
在一些实施例中,在发送完PCIe数据需要生成完成状态DONE的SRIO Response事务,代表该Doorbell信息被顺利接收与转换。
在一些实施例中,PCIe数据包括:读写命令。在获取到,PCIe数据后,可以对PCIe数据的类型进行判断,从而确定是否是:读写命令。
本申请实施例中,可以确定PCIe数据是否命中BAR2/BAR3、BAR4/BAR5地址,以确定是否为读写命令。
本申请实施例中,为了实现灵活的命令与地址映射转换,可以设置八个地址映射窗口,图10为本申请实施例提供的一种映射关系的示意图,如图10所示,每一个地址映射窗口又可以分为8个ZONE,每一个ZONE的命令转换类型都可以是不同的,并且对应的SRIO数据也可以是独立的。可以通过地址来确定地址映射窗口,基于地址映射窗口确定对应的ZONE,不同的ZONE对应由不同的转换地址。可以制定不同的范围的命令与地址转换之间的关系。
本申请实施例中,主机与Mapping引擎共同制定一些功能寄存器,用来指定不同范围的命令与地址的转换之间的关系,其中,寄存器可以包括:
Outbound Window Base寄存器,该寄存器用于指定可以进行映射转换的窗口基地址,只有访问地址命中该基地址与窗口大小区间的内的请求才可以被转换,每一个窗口的地址区间不可以重叠。每个窗口的8个ZONE可以指定不同的SRIO设备。
Outbound Window Size寄存器,该寄存器用于指定窗口大小,与Outbound WindowBase共同决定窗口区间,每个窗口的大小是2NByes,N支持15(32K)到34(16G)。
Outbound Window Lookup Table Zone Select寄存器,用于控制与选择读取/配置ZONE查找表,图11为本申请实施例提供的一种ZONE查找表中字段功能示意图,如图11所示,RD_WRB:用于选择读/写ZONE查找表,0写1读;ZONE_GO:读写操作执行标志。当为写时,软件需要先确认该位为0,然后配置ZONE查找表,再将该位配置为1,DMA检测到assert后会将转换信息更新到对应的窗口与ZONE中,随后DMA会将该位清0。当为读时,软件需要先确认该位为0,然后配置该位为1,DMA检测到assert后会将对应窗口与ZONE的查找表信息更新到查找表寄存器中,随后将该位清0,软件读取查找表寄存器;
WIN_SEL:选择进行读/写查找表操作的窗口;ZONE_SEL:选择进行读/写查找表操作的ZONE。
Outbound Window Lookup Table Data寄存器,该寄存器总共有三个,主要实现以下功能:ADD/CONFIG_OFFSET:映射后转换为SRIO的地址/寄存器偏移;RD_TYPE:指示该ZONE转换后的SRIO读命令类型WR_TYPE:指示该ZONE转换后的SRIO写命令类型;INFO:配置转换后SRIO头包信息的字段,如:CRF、TT、DEVICEID等。
本申请实施例中,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
步骤S31,将所述读写命令进行解析得到地址信息。
本申请实施例中,所述地址信息可以为PCIe头包地址。
步骤S32,基于所述地址信息和预先建立的查找表确定目标映射窗口。
示例性地,可以通过图10和图11的映射关系来进行确定目标映射窗口。
本申请实施例中,将地址信息与查找表进行匹配,从而确定目标映射窗口。
本申请实施例中,主机配置窗口基地址与大小,同时设置窗口对应ZONE查找表。配置使能的窗口个数是任意的,按照主机的需求而定。
本申请实施例中,如果没有确定到目标映射窗口,则回复错误状态,读命令发送URcpl,写命令丢弃数据发送坏包cpl。
步骤S33,基于所述目标映射窗口将读写命令映射为SRIO命令。
可以匹配出转换后的SRIO命令的类型、SRIO包信息与高位转换地址,从而基于SRIO命令的类型、SRIO包信息与高位转换地址生成为SRIO命令。
图12为本申请实施例提供的一种PCIe数据转换为SRIO命令的示意图,如图12所示,在接收到MWr的PCIe头包地址,根据查找表匹配出对应的窗口,然后根据窗口的大小找出对应的ZONE(即以窗口大小为基准,访问地址的最高3bit)与地址偏移量offset,根据ZONE的查找表可以匹配出转换后的SRIO命令的类型、SRIO包信息与高位转换地址。
步骤S34,基于所述SRIO命令发送给Rapidio设备。
本申请实施例中,SRIO命令可以包括:读命令和写命令。
本申请实施例中,读命令实现读取SRIO数据并写入主机的流程,写命令实现接收PCIe数据写入SRIO设备内存的流程。
在一些实施例中,SRIO数据包括:读写命令,所述基于预先建立的映射关系将所示SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
步骤S41,将所述读写命令进行解析,得到地址信息。
步骤S42,基于所述地址信息和查找表确定目标映射窗口。
本申请实施例中,主机可以配置窗口基地址与大小,同时设置窗口地址转换的查找表。配置使能的窗口个数是任意的,按照主机的需求而定。
本申请实施例中,SRIO对PCIe的地址映射可以由8个地址窗口实现,每一个窗口对应一定地址范围内的地址转换,图13为本申请实施例提供的查找表的示意图,如图13所示,不同的地址对应由不同的窗口,不同的窗口对应不同的PCIe的地址。
本申请实施例中,为了能够实现上述功能,主机与Mapping引擎共同制定一些功能寄存器,用来指定不同范围的地址转换,寄存器包括:
Inbound Window Base寄存器,该寄存器用于指定可以进行映射转换的窗口基地址,只有访问地址命中该基地址与窗口大小区间的内的请求才可以被转换,每一个窗口的地址区间不可以重叠。每个窗口的8个ZONE可以指定不同的SRIO设备;
Intbound Window Size寄存器,该寄存器用于指定窗口大小,与Outbound WindowBase共同决定窗口区间,每个窗口的大小是2NByes,N支持15(32K)到34(16G);
Inbound Window Translated Address寄存器,该寄存器指定命中窗口后对应的PCIe转换地址。
本申请实施例中,如果地址信息没有命中任意一个窗口,则反馈Error状态。当SRIO发送写命令时没有命中任何窗口,则丢弃负载数据并且上报异常中断。若SRIO请求命中窗口但长度超出窗口规定大小范围,则上报异常状态,丢弃命令。
本申请实施例中,主机软件可以在DMA空闲的时候使能、配置、修改上述寄存器,这样可以在不同时刻根据当前需求灵活选择映射转换的区间、类型与地址。
步骤S43,基于所述目标映射窗口的大小确定地址偏移量。
本申请实施例中,窗口的大小与地址偏移量存在对应关系,在确定了目标映射窗口的大小后,则可以确定地址偏移量。
步骤S44,基于所述地址偏移量和所述目标映射窗口对应的映射地址生成PCIe转换地址。
图14为本申请实时提供的一种地址转换的示意图,如图14所示,接收到SRIO请求命令及包地址,根据查找表匹配出对应的窗口,然后根据窗口的大小找出对应的地址偏移量offset,通过窗口对应映射地址一起组合成最终的PCIe转换地址。
步骤S45,基于所述PCIe转换地址生成PCIe命令。
步骤S46,将所述PCIe命令发送主机。
本申请实施例中,主机在接收到PCIe命令后,可以解析接收的命令并将其分为三个部分,分别处理SRIO NREAD、SRIO NWRITE与维护读写,具体功能为读命令实现读取PCIe数据并写入SRIO设备的流程,写命令实现接收SRIO数据并写入主机内存的流程,维护命令实现访问设计内部寄存器操作并返回数据与状态给SRIO设备流程。
本申请实施例中,在实际设计中读命令可以分为两个区域,即PCIe区域与SRIO区域,SRIO区域负责接收命令,并将解析后的命令发送到PCIe区域,同时该区域还负责回复SRIO Response,根据PCIe接收CPLD与窗口匹配情况回复特定的Response。PCIe区域由发起MRd命令与接收CPLD两部分组成,这两部分的功能是独立的,在缓存允许的情况下可以最多一次性发送32个MRd请求,这样做可以大大提升读数据的效率。读取接收到CPLD后,PCIe区域会触发一个Response写命令给SRIO区域,完成最终的命令数据响应。
写命令则负责接收SRIO的写命令与数据,并根据转换后的地址重新组成PCIe MWr将缓存中的数据写入映射后的主机内存中。对于NWRITE_R类型的命令还需要回复对应状态的Response。
基于前述的各个实施例,本申请实施例在提供一种信息处理方法,图15为本申请实施例提供的一种信息处理方法的实现流程示意图,如图15所示,包括:
步骤S51,主机发起PCIe数据。
步骤S52,映射引擎判断是否命中BAR1地址空间。
本申请实施例中,如果是,则执行步骤S54,如果否则执行步骤S53。
步骤S53,映射引擎执行DMA操作。
步骤S54,接收数据与解析地址。
步骤S55,选择Doorbell通道。
步骤S56,对指定通道发送Doorbell写命令。
步骤S57,解析命令发送SRIO的Doorbell数据。
步骤S58,等待回复。
步骤S59,判单是否收到OK的回复信息。
本申请实施例中,如果收到OK的回复信息,则完成。如果不是OK的回复信息,则执行步骤S60。
步骤S60,判断是否为Retry。
本申请实施例中,如果是,则执行步骤S57,如果否,则执行步骤S61。
步骤S61,等级错误log与状态并上报中断。
本申请实施例中,在组成SRIO数据之前需要申请命令ID,该ID用于接收对应的Response,每一个Doorbell信息具有独立的ID,每个ID对应的缓存空间存放这该Doorbell的PCIe头信息与消息info,在收到异常Response时可以通过ID找到对应的消息信息进行异常上报与重传。
本申请实施例提供的方法,能够实现将PCIe数据发送给Rapidio设备。
基于前述的各个实施例,本申请实施例再提供一种信息处理方法,图16为本申请实施例提供的一种信息处理方法的实现流程示意图,如图16所示,包括:
步骤S71,Rapidio设备发送Doorbell。
步骤S72,判断接收命令类型是否为Doorbell。
本申请实施例,如果是Doorbell,则执行步骤S73,如果非Doorbell,则执行步骤S74。
步骤S73,匹配Doorbell通道。
步骤S74,DMA操作。
步骤S75,接收并存储Doorbell。
步骤S76,判断Doorbell队列是否满。
本申请实施例中,如果满了,则执行步骤S77。如果没有满则执行步骤S78。
步骤S77,回复SRIO Retry。
步骤S78,发送PCIe命令。
步骤S79,发送SRIO回复。
本申请实施例提供的方法,能够将Rapidio设备发送Doorbell发送给主机。
基于前述的各个实施例,本申请实施例再提供一种信息处理方法,图17为本申请实施例提供的一种信息处理方法的实现流程示意图,如图17所示,包括:
步骤S81,配置与使能映射窗口。
步骤S82,发送读写请求。
步骤S83,判断是否命中BAR2~BAR5空间。
本申请实施例中,如果否,则执行步骤S84,如果是则执行步骤S85。
步骤S84,窗口匹配。
步骤S85,Doorbell操作。
步骤S86,判断窗口是否匹配。
本申请实施例中,如果否,则执行步骤S87。如果是,则执行步骤S88。
步骤S87,丢弃AER。
步骤S88,命令信息与数据写入缓存。
步骤S89,Read DMA。
步骤S90,Write DMA。
步骤S91,发送给SRIO设备。
基于前述的实施例,本申请实施例提供一种信息的处理装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
本申请实施例提供一种信息的处理装置,图18为本申请实施例提供的一种信息的处理装置的结构示意图,如图18所示,信息的处理装置1400包括:
第一转换模块1401,用于在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;
第二转换模块1402,用于在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
在一些实施例中,所述SRIO数据包括:门铃Doorbell信息,所述第一转换模块,包括:
第一解析单元,用于对所述Doorbell信息进行解析,得到info字段;
匹配单元,用于基于所述info字段与预先存储的每个通道的寄存器样本进行匹配,得到匹配结果;
第一确定单元,用于基于所述匹配结果确定到目标通道;
第一映射单元,用于基于所述映射关系将所述Doorbell信息映射为PCIe数据;
第一传输单元,用于将所述PCIe数据传入所述目标通道对应的队列中;
第一发送单元,用于基于所述队列将所述PCIe数据发送给主机。
在一些实施例中,所述PCIe数据包括:Doorbell信息,所述第一转换模块,包括:
第二解析单元,用于对所述Doorbell信息进行解析,得到地址信息;
第二确定单元,用于基于所述地址信息确定目标通道;
第二发送单元,用于将所述Doorbell信息发送至到目标通道;
第二映射单元,基于所述映射关系将所述Doorbell信息映射为SRIO数据;
第三发送单元,用于基于所述目标通道将所述SRIO数据发送给Rapidio设备。
在一些实施例中,所述第一转换模块,还包括:
第一获取单元,用于获取每个通道的第一寄存器和第二寄存器,其中,所述第一寄存器用于存储接收到发送成功的Doorbell信息的个数,所述第二寄存器用于存储发送的Doorbell信息的个数;
第三确定单元,用于基于所述第一寄存器值和第二寄存器值确定发送的完成状态;
第四确定单元,用于在存在未完成的情况下,确定未完成的Doorbell信息的状态;
第一记录单元,用于记录未完成的Doorbell信息的状态。
在一些实施例中,所述第一转换模块,还包括:
第五确定单元,用于确定所述SRIO数据的ID;
第六确定单元,用于在发送SRIO数据后,确定是否获取到成功的回复信息;
存储单元,用于在获取到所述回复信息情况下,将发送成功的Doorbell信息存储在第一寄存器中;
第二记录单元,用于在没有获取到所述回复信息的情况下,记录所述oorbell信息为错误状态。
在一些实施例中,PCIe数据包括:读写命令,第二转换模块,包括:
第三解析单元,用于将所述读写命令进行解析得到地址信息;
第七确定单元,用于基于所述地址信息和预先建立的查找表确定目标映射窗口;
第三映射单元,用于基于所述目标映射窗口将读写命令映射为SRIO命令;
第四发送单元,用于基于所述SRIO命令发送给Rapidio设备。
在一些实施例中,SRIO数据包括:读写命令,第二转换模块,包括:
第四解析单元,用于将所述读写命令进行解析,得到地址信息;
第八确定单元,用于基于所述地址信息和查找表确定目标映射窗口;
第九确定单元,用于基于所述目标映射窗口的大小确定地址偏移量;
第一生成单元,用于基于所述地址偏移量和所述目标映射窗口对应的映射地址生成PCIe转换地址;
第二生成单元,用于基于所述PCIe转换地址生成PCIe命令;
发送单元,用于将所述PCIe命令发送主机。
本申请实施例提供一种电子设备,电子设备可以为路侧单元或车载单元;图19为本申请实施例提供的电子设备的组成结构示意图,如图19所示,所述电子设备1500包括:一个处理器1501、至少一个通信总线1502、用户接口1503、至少一个外部通信接口1504、存储器1505。其中,通信总线1502配置为实现这些组件之间的连接通信。其中,用户接口1503可以包括显示屏,外部通信接口1504可以包括标准的有线接口和无线接口。所述处理器1501配置为执行存储器中存储的信息处理方法的程序,以实现以上述实施例提供的信息处理方法中的步骤。
本申请实施例中,如果以软件功能模块的形式实现上述的信息处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的信息处理方法中的步骤。
本申请实施例再提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得电子设备执行上述任一项所述的信息处理方法。
以上电子设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请计算机设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种信息处理方法,其特征在于,包括:
在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;
在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
2.根据权利要求1所述的方法,其特征在于,所述SRIO数据包括:门铃Doorbell信息,所述基于预先建立的映射关系将所述SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
对所述Doorbell信息进行解析,得到info字段;
基于所述info字段与预先存储的每个通道的寄存器样本进行匹配,得到匹配结果;
基于所述匹配结果确定到目标通道;
基于所述映射关系将所述Doorbell信息映射为PCIe数据;
将所述PCIe数据传入所述目标通道对应的队列中;
基于所述队列将所述PCIe数据发送给主机。
3.根据权利要求1所述的方法,其特征在于,所述PCIe数据包括:Doorbell信息,所述基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
对所述Doorbell信息进行解析,得到地址信息;
基于所述地址信息确定目标通道;
将所述Doorbell信息发送至到目标通道;
基于所述映射关系将所述Doorbell信息映射为SRIO数据;
基于所述目标通道将所述SRIO数据发送给Rapidio设备。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取每个通道的第一寄存器和第二寄存器,其中,所述第一寄存器用于存储接收到发送成功的Doorbell信息的个数,所述第二寄存器用于存储发送的Doorbell信息的个数;
基于所述第一寄存器值和第二寄存器值确定发送的完成状态;
在存在未完成的情况下,确定未完成的Doorbell信息的状态;
记录未完成的Doorbell信息的状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定所述SRIO数据的ID;
在发送SRIO数据后,确定是否获取到成功的回复信息;
在获取到所述回复信息情况下,将发送成功的Doorbell信息存储在第一寄存器中;
在没有获取到所述回复信息的情况下,记录所述Doorbell信息为错误状态。
6.根据权利要求1所述的方法,其特征在于,PCIe数据包括:读写命令,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备,包括:
将所述读写命令进行解析得到地址信息;
基于所述地址信息和预先建立的查找表确定目标映射窗口;
基于所述目标映射窗口将读写命令映射为SRIO命令;
基于所述SRIO命令发送给Rapidio设备。
7.根据权利要求1所述的方法,其特征在于,SRIO数据包括:读写命令,所述基于预先建立的映射关系将所示SRIO数据转换为PCIe数据,将所述PCIe数据发送给主机,包括:
将所述读写命令进行解析,得到地址信息;
基于所述地址信息和查找表确定目标映射窗口;
基于所述目标映射窗口的大小确定地址偏移量;
基于所述地址偏移量和所述目标映射窗口对应的映射地址生成PCIe转换地址;
基于所述PCIe转换地址生成PCIe命令;
将所述PCIe命令发送主机。
8.一种信息处理装置,其特征在于,包括:
第一转换模块,用于在获取到高性能嵌入式互连Rapidio设备发送的分组交换互连SRIO数据的情况下,基于预先建立的映射关系将所述SRIO数据转换为高速串行计算机扩展总线标准PCIe数据,将所述PCIe数据发送给主机;
第二转换模块,用于在获取到主机发送的PCIe数据的情况下,基于所述映射关系将所述PCIe数据转换为SRIO数据,将所述SRIO数据发送给Rapidio设备。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项信息处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述信息处理方法。
CN202311691591.7A 2023-12-08 2023-12-08 信息处理方法、装置、设备及存储介质 Pending CN117827713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311691591.7A CN117827713A (zh) 2023-12-08 2023-12-08 信息处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311691591.7A CN117827713A (zh) 2023-12-08 2023-12-08 信息处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117827713A true CN117827713A (zh) 2024-04-05

Family

ID=90523625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311691591.7A Pending CN117827713A (zh) 2023-12-08 2023-12-08 信息处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117827713A (zh)

Similar Documents

Publication Publication Date Title
JP6543714B2 (ja) 周辺デバイス、周辺デバイスによりエミュレートするための方法
TWI244288B (en) Network interface and protocol
US6598177B1 (en) Monitoring error conditions in an integrated circuit
JP2008059554A (ja) システム管理バス実装のためのプロトコル埋め込み方法
CN107168971B (zh) 网页应用的数据处理方法和装置
US20230014098A1 (en) Method and system for accelerating reading of information of field replace unit, device, and medium
US20220358075A1 (en) Pcie-based data transmission method and apparatus
US10853239B2 (en) Memory card controller, memory card device, method used in memory card controller, and electronic device coupled to memory card device
EP4080375A1 (en) Pcie-based data transmission method and device
CN105207794A (zh) 统计计数设备及其实现方法、具有统计计数设备的系统
CN113179216B (zh) 一种寄存器的远程配置方法、计算机设备及存储介质
US7933953B2 (en) Dual processing system capable of ensuring real-time processing in protocol conformance test
KR101559089B1 (ko) 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜
CN114116562A (zh) 连接装置
CN112422485B (zh) 一种传输控制协议的通信方法及装置
US20220182181A1 (en) Operating method of self-service terminal and self-service terminal
CN117827713A (zh) 信息处理方法、装置、设备及存储介质
US11216424B2 (en) Dynamically rendering an application programming interface for internet of things applications
US7990972B2 (en) Network communication device and a packet routing method
CN110611678B (zh) 一种识别报文的方法及接入网设备
CN115827548B (zh) 一种基于lpc总线的mdio接口方法及系统
CN115883461B (zh) 数据发送方法、数据响应方法、设备及存储介质
CN116095042B (zh) 通信方法、系统、电子设备及存储介质
CN117349214B (zh) 一种具备拆包组包能力的axi协议转串行通讯协议的转换桥
CN117336169B (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