CN113179216B - 一种寄存器的远程配置方法、计算机设备及存储介质 - Google Patents
一种寄存器的远程配置方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113179216B CN113179216B CN202110443744.0A CN202110443744A CN113179216B CN 113179216 B CN113179216 B CN 113179216B CN 202110443744 A CN202110443744 A CN 202110443744A CN 113179216 B CN113179216 B CN 113179216B
- Authority
- CN
- China
- Prior art keywords
- command
- register
- address space
- operation command
- continuous address
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种寄存器的远程配置方法、计算机设备及存储介质,所述方法包括:确定交换芯片中待配置的一个或多个寄存器;确定对所述寄存器的至少一项操作,将各所述操作以设定的格式依次处理为操作命令,并将各操作命令封装到请求报文的数据帧中;所述操作包括对所述寄存器的连续地址空间操作;将所述请求报文发送到所述交换芯片进行寄存器配置,并接收所述交换芯片反馈的应答报文。本申请可实现对交换芯片的寄存器的远程配置,提高寄存器的管理效率。
Description
技术领域
本申请涉及数据通信技术领域,特别涉及一种寄存器的远程配置方法、计算机设备及存储介质。
背景技术
如图1所示,目前交换芯片内部的寄存器,可以由交换芯片内部的CPU通过内部接口(Internal Interface)进行访问和配置,或者可以由交换芯片外部的CPU通过低速的SPI(Serial Peripheral Interface)或高速的PCIE(Peripheral Component InterconnectExpress)总线进行访问和配置。
但是,使用CPU对交换芯片的寄存器进行配置时,具有下述局限性:由于CPU基于总线实现对交换芯片的寄存器的配置访问,因此无法以远程的方式对交换芯片的寄存器进行配置;CPU每次只能对一个寄存器进行访问,且完成当前寄存器的配置访问后,才能开始对其他寄存器进行访问;必须保证系统能够正常的Boot、SPI或者PCIE通信,CPU才可以访问交换芯片的寄存器。
发明内容
有鉴于此,本申请的主要目的在于提供一种寄存器的远程配置方法、计算机设备及存储介质,可实现对交换芯片的寄存器的远程配置,提高寄存器的管理效率。
第一方面,本申请提供了一种寄存器的远程配置方法,应用于配置端,包括:
确定交换芯片中待配置的一个或多个寄存器;
确定对所述寄存器的至少一项操作,将各所述操作以设定的格式依次处理为操作命令,并将各操作命令封装到请求报文的数据帧中;所述操作包括对所述寄存器的连续地址空间操作;
将所述请求报文发送到所述交换芯片进行寄存器配置,并接收所述交换芯片反馈的应答报文。
由上,本方法的配置端通过将对寄存器的连续地址空间操作以设定格式处理为操作命令,并封装为可远程发送的请求报文,以发送给交换芯片端进行解析和执行,并接收其反馈的应答报文,从而实现对寄存器的远程连续地址空间操作配置,提高寄存器的管理效率。
可选的,在配置所述寄存器之前,还包括:
将获取芯片ID的操作,以设定的格式处理为操作命令,并将其封装到请求报文的数据帧中,将所述请求报文发送到所述交换芯片,并记录发送时间;
接收所述交换芯片反馈的芯片ID,并记录接收时间;
根据记录的发送时间和接收时间,预估单条命令执行时间,并基于所述单条命令执行时间,进行配置超时预估。
可选的,所述对所述寄存器的连续地址空间操作包括:
使用相同数据进行写连续地址空间、使用不同数据进行写连续地址空间、或者,进行读连续地址空间的操作。
可选的,所述将各所述操作以设定的格式依次处理为操作命令,包括:
将使用相同数据进行写连续地址空间的操作处理为第一连续地址空间操作命令,所述第一连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
或者,将使用不同数据进行写连续地址空间的操作处理为第二连续地址空间操作命令,所述第二连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
或者,将进行读连续地址空间操作处理为第三连续地址空间操作命令,所述第三连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址。
可选的,所述操作还包括:读寄存器操作或者写寄存器操作;
所述将各所述操作以设定的格式依次处理为操作命令,包括:
将读操作处理为读操作命令,所述读操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID;
或者,将写操作处理为写操作命令,所述写操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID以及向寄存器写入的数据。
第二方面,本申请提供了一种寄存器的远程配置方法,应用于交换芯片侧,所述方法包括:
接收配置端发送的请求报文;
解析所述请求报文,并将解析得到的封装于请求报文的数据帧中的各操作命令进行缓存;所述操作命令包括对寄存器的连续地址空间的操作命令;
在所述缓存中按设定规则读取操作命令,并根据读取的操作命令对寄存器进行配置操作;
在每个操作命令执行结束后,按照发送命令数据结构进行结果缓存,直到所有操作命令执行结束后,基于结果缓存生成应答报文;
将所述应答报文向所述配置端发送。
由上,本方法的交换芯片侧通过对接收的请求报文进行解析,并根据解析出的操作命令对寄存器进行相应的配置操作,并将操作结果以应答报文的形式远程反馈给配置端,从而实现对寄存器的远程连续地址空间操作配置,提高寄存器的管理效率。
可选的,所述按照发送命令数据结构进行结果缓存包括:
将各所述操作命令以及对应的操作结果按照发送命令数据结构依次缓存为应答命令。
可选的,所述将各所述操作命令以及对应的操作结果按照发送命令数据结构依次缓存为应答命令包括:
将使用相同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第一连续地址空间应答命令,所述第一连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
或者,将使用不同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第二连续地址空间应答命令,所述第二连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
或者,将进行读连续地址空间的操作命令以及对应的操作结果缓存为第三连续地址空间应答命令,所述第三连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别读取的连续地址空间的各数据。
可选的,所述基于结果缓存生成应答报文包括:
将缓存的各所述应答命令封装到应答报文的数据帧中,生成所述应答报文。
可选的,还包括:
对缓存的各所述应答命令进行校验码的计算,并将计算出的校验码封装到应答报文的数据帧中。
第三方面,本申请提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述寄存器的远程配置方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现所述寄存器的远程配置方法。
本申请的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
图1为现有的交换芯片的寄存器的配置系统的架构图;
图2为本申请实施例的一种寄存器的远程配置方法的流程图;
图3为本申请实施例的又一种寄存器的远程配置方法的流程图;
图4为本申请实施例的一种远程配置系统的架构图;
图5为本申请实施例的RMU请求报文的封装格式的示意图;
图6为本申请实施例的RMU应答报文的封装格式的示意图;
图7为本申请实施例的获取ID操作的应答命令的格式示意图;
图8为本申请实施例的寄存器的写操作的应答命令的格式示意图;
图9为本申请实施例的寄存器的读操作的应答命令的格式示意图;
图10为本申请实施例的使用相同数据进行连续地址空间的寄存器的写操作的应答命令的格式示意图;
图11为本申请实施例的使用不同数据进行连续地址空间的寄存器的写操作的应答命令的格式示意图;
图12为本申请实施例的连续地址空间的寄存器的读操作的应答命令的格式示意图;
图13为本申请实施例的RMU请求报文的异常应答命令的格式示意图;
图14为本申请实施例的一种计算设备的结构性示意性图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S201、S202……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
下面结合附图对本申请实施例进行详细说明。
如图2所示,本申请实施例提供了一种寄存器的远程配置方法,应用于配置端,该方法包括:
S201:确定交换芯片中待配置的一个或多个寄存器;
S202:确定对所述寄存器的至少一项操作,将各所述操作以设定的格式依次处理为操作命令,并将各操作命令封装到请求报文的数据帧中;所述操作包括对所述寄存器的连续地址空间操作;
S203:将所述请求报文发送到所述交换芯片进行寄存器配置,并接收所述交换芯片反馈的应答报文。
在一些实施例中,本方法在配置所述寄存器之前,还包括:
将获取芯片ID的操作,以设定的格式处理为操作命令,并将其封装到请求报文的数据帧中,将所述请求报文发送到所述交换芯片,并记录发送时间;
接收所述交换芯片反馈的芯片ID,并记录接收时间;
根据记录的发送时间和接收时间,预估单条命令执行时间,并基于所述单条命令执行时间,进行配置超时预估。
本实施例中,上述的对所述寄存器的连续地址空间操作具体可以包括:
使用相同数据进行写连续地址空间、使用不同数据进行写连续地址空间、或者,进行读连续地址空间的操作。
基于上述的对所述寄存器的连续地址空间操作,本实施例将各所述操作以设定的格式依次处理为操作命令的方式具体可以为:
将使用相同数据进行写连续地址空间的操作处理为第一连续地址空间操作命令,所述第一连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
将使用不同数据进行写连续地址空间的操作处理为第二连续地址空间操作命令,所述第二连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
将进行读连续地址空间操作处理为第三连续地址空间操作命令,所述第三连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址。
在一些实施例中,本方法的上述对寄存器的操作还包括:读寄存器操作或者写寄存器操作;以及
将读操作处理为读操作命令,所述读操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID;
将写操作处理为写操作命令,所述写操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID以及向寄存器写入的数据。
如图3所示,本申请实施例提供了又一种寄存器的远程配置方法,应用于交换芯片侧,该方法包括:
S301:接收配置端发送的请求报文;
S302:解析所述请求报文,并将解析得到的封装于请求报文的数据帧中的各操作命令进行缓存;所述操作命令包括对寄存器的连续地址空间的操作命令;
S303:在所述缓存中按设定规则读取操作命令,并根据读取的操作命令对寄存器进行配置操作;
S304:在每个操作命令执行结束后,按照发送命令数据结构进行结果缓存,直到所有操作命令执行结束后,基于结果缓存生成应答报文;
S305:将所述应答报文向所述配置端发送。
本实施例中,步骤S302中的解析所述请求报文还包括:
判断所述请求报文是否出错;
所述请求报文出错时,确定所述请求报文的错误类型,并按照发送命令数据结构生成应答报文,向所述配置端发送。
本实施例中,所述对寄存器的连续地址空间的操作命令包括:
第一连续地址空间操作命令:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
或者,第二连续地址空间操作命令:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
或者,第三连续地址空间操作命令:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址。
基于上述对寄存器的连续地址空间的操作命令,本实施例根据读取的操作命令对寄存器进行配置操作的方式具体可以为:
根据所述第一连续地址空间操作命令使用相同数据进行写连续地址空间寄存器的操作;
根据所述第二连续地址空间操作命令使用不同数据进行写连续地址空间寄存器的操作;
根据所述第三连续地址空间操作命令进行读连续地址空间寄存器的操作。
在一些实施例中,本方法的所述按照发送命令数据结构进行结果缓存包括:将各所述操作命令以及对应的操作结果按照发送命令数据结构依次缓存为应答命令。具体的,可以包括下述的一种或多种应答命令:
将使用相同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第一连续地址空间应答命令,所述第一连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
将使用不同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第二连续地址空间应答命令,所述第二连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
将进行读连续地址空间的操作命令以及对应的操作结果缓存为第三连续地址空间应答命令,所述第三连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别读取的连续地址空间的各数据。
基于上述应答命令,本方法的所述基于结果缓存生成应答报文包括:将缓存的各所述应答命令封装到应答报文的数据帧中,缓存的各所述应答命令进行校验码的计算,并将计算出的校验码封装到应答报文的数据帧中,由此生成所述应答报文。
下面参照如图4所示,对本申请进行进一步的详细描述。图4为本申请实施例的一种远程配置系统的架构图,该系统包括耦合连接的配置端100和交换芯片200;
其中配置端100中包括报文管理模块110,该报文管理模块110具体可以为一种报文管理软件,其中预置有远程报文的转发协议,可实现远程报文的封装、转发及解析。该远程报文具体为一种RMU(Remote Management Unit,远程管理)报文。
其中交换芯片200中包括报文转发模块210、报文分发模块220、报文处理模块230、报文汇聚模块240和配置管理模块250;具体的,
配置端100通过报文管理模块110将对交换芯片200的寄存器的各操作以设定格式依次处理为操作命令,并将操作命令封装到RMU请求报文中,并通过以太网接口发送至交换芯片200;
交换芯片200的报文转发模块210接收到封装的RMU请求报文后,经过处理后,确定该RMU请求报文的目标端口为报文处理模块230,即转发至报文分发模块220,由报文分发模块220转发至报文处理模块230进行解析处理;
报文处理模块230接收到该RMU请求报文后,对RMU请求报文中的操作命令进行解析,如图5所示,该RMU请求报文中包括数据链路层(L2)和网络层(L3),其中数据链路层中包括源地址字段SMAC、目的地址字段DMAC、用于指示报文数据帧类型为RMU报文的传输类型字段Type、用于指示报文数据帧长度的长度字段Length;其中网络层包括报文标签字段RMU-Tag、请求报文数据帧字段Request-Frame-Data;所述报文标签字段RMU-Tag包括报文格式指示字段Request-Format、序列号字段Sequence-Num;所述请求报文数据帧字段Request-Frame-Data包括命令字段Comand、校验码字段Check-Sum;所述命令字段Comand包括操作命令类型字段Request-Code、数据字段Request-Data;该RMU请求报文的结尾还包括校验序列码FCS字段。报文处理模块230按照RMU请求报文的上述封装格式解析出RMU请求报文中的操作命令,并按照接收数据的格式缓存到报文处理模块230的接收区,同时对接收区的操作命令进行校验码的计算,并与解析出的校验码Check Sum进行比较,确认操作命令是否正确;
本申请实施例中,RMU请求报文中封装的操作命令可以包括:获取交换芯片的ID、单地址空间的寄存器的读操作、单地址空间的寄存器的写操作、连续地址空间的寄存器的读操作、基于相同数据的连续地址空间的寄存器的写操作、基于不同数据的连续地址空间的寄存器的写操作、RMU请求报文的异常应答操作。其中,当操作命令为连续地址空间的读操作时,通过在该操作命令中设置对应该连续地址空间的读操作的操作命令长度和寄存器基地址;当操作命令为连续地址空间的写操作时,通过在该操作命令中设置对应该连续地址空间的写操作的操作命令长度、寄存器基地址和写操作的数据,该写操作的数据可以为相同数据,也可以为不同数据,由此可实现基于相同数据或不同数据的连续地址空间的寄存器的写操作。
具体的,操作命令的类型及对应格式如下表所示:
完成RMU请求报文的解析以及校验码的检查后,根据解析出的一条或多条操作命令,通过内部接口向配置管理模块250发起对交换芯片200的寄存器的操作;同时,报文处理模块230还将预先将对应该RMU请求报文的RMU应答报文的数据链路层(L2)和报文标签字段RMU Tag进行封装,并按照发送数据的格式,缓存到报文处理模块230的发送区;
配置管理模块250按照接收到的一条或多条操作命令,依次执行对寄存器的操作,并将操作结果返回到报文处理模块230中,并在完成最后一条操作命令的操作后,向报文处理模块230返回操作完成标识;
对应的,所述操作结果可以包括:所述操作是否成功、寄存器的读取值、寄存器的写入值。
报文处理模块230对接收的操作结果进行校验码的计算,将所有操作命令及接收到的所有操作结果、以及计算出的校验码封装到RMU应答报文的网络层(L3)的RMU应答报文数据帧字段Response-Frame-Data中,结合报文处理模块230预先封装的数据链路层(L2)和报文标签字段RMU Tag,生成完整的RMU应答报文,并缓存到发送区。如图6所示,与RMU请求报文对应的,该RMU应答报文中同样包括数据链路层(L2)和网络层(L3),其中数据链路层中包括源地址字段SMAC、目的地址字段DMAC、用于指示报文数据帧类型为RMU报文的传输类型字段Type、用于指示报文数据帧长度的长度字段Length;其中网络层包括报文标签字段RMU-Tag、应答报文数据帧字段Response-Frame-Data;所述报文标签字段RMU-Tag包括报文格式指示字段Response-Format、序列号字段Sequence-Num;所述应答报文数据帧字段Response-Frame-Data包括命令字段Comand、校验码字段Check-Sum;所述命令字段Comand包括应答命令类型字段Response-Code、数据字段Response-Data;该RMU应答报文的结尾还包括校验序列码FCS字段。报文处理模块230完成RMU应答报文的封装后,将缓存到发送区的完整的RMU应答报文发送至报文汇聚模块240;
其中,对应上表中示出的RMU请求报文中包括的操作命令的类型,当执行不同的操作命令后,生成对应的不同格式的应答命令,然后将各操作命令及对应的应答命令封装到应答报文的数据帧,示例的,
图7为本实施例的一种获取ID操作的应答命令的格式示意图,该获取ID操作的应答命令中包括:获取ID的操作命令Request-Code=0x0、命令序号Code-number,对应该获取ID操作命令的应答命令Response-Code=0x0、命令序号Code-number、获取的Device ID;
图8为本实施例的一种寄存器的写操作的应答命令的格式示意图,该寄存器的写操作的应答命令中包括:寄存器的写操作命令Request-Code=0x1、命令序号Code-number、用于寻址交换芯片内寄存器的Target_ID、写操作数据Wdata,对应该寄存器的写操作命令的应答命令Response-Code=0x1、命令序号Code-number、执行寻址交换芯片内寄存器的Target_ID、写入的数据Wdata;
图9为本实施例的一种寄存器的读操作的应答命令的格式示意图,该寄存器的读操作的应答命令中包括:寄存器的读操作命令Request-Code=0x2、命令序号Code-number、用于寻址交换芯片内寄存器的Target_ID,对应该寄存器的读操作命令的应答命令Response-Code=0x2、命令序号Code-number、执行寻址交换芯片内寄存器的Target_ID、读取的数据Rdata;
图10为本实施例的一种使用相同数据进行连续地址空间的寄存器的写操作的应答命令的格式示意图,该使用相同数据进行连续地址空间的寄存器的写操作的应答命令中包括:连续地址空间的寄存器的写操作命令Request-Code=0x3、写操作命令的长度Length、命令序号Code-number、用于寻址交换芯片内寄存器的Target_ID、写操作的寄存器基地址BaseAddr、写操作数据Wdata(相同数据),对应该连续地址空间的寄存器的写操作命令的应答命令Response-Code=0x3、写操作应答命令的长度Length、命令序号Code-number、执行寻址交换芯片内寄存器的Target_ID、写操作的寄存器基地址BaseAddr、写入的数据Wdata(相同数据);
图11为本实施例的一种使用不同数据进行连续地址空间的寄存器的写操作的应答命令的格式示意图,该使用不同数据进行连续地址空间的寄存器的写操作的应答命令中包括:连续地址空间的寄存器的写操作命令Request-Code=0x4、写操作命令的长度Length、命令序号Code-number、用于寻址交换芯片内寄存器的Target_ID、写操作的寄存器基地址BaseAddr、写操作数据Wdata0~Wdatan-1(不同数据),对应该连续地址空间的寄存器的写操作命令的应答命令Response-Code=0x4、写操作应答命令的长度Length、命令序号Code-number、执行寻址交换芯片内寄存器的Target_ID、写操作的寄存器基地址BaseAddr、写入的数据Wdata0~Wdatan-1(不同数据);
图12为本实施例的一种进行连续地址空间的寄存器的读操作的应答命令的格式示意图,该连续地址空间的寄存器的读操作的应答命令中包括:连续地址空间的寄存器的读操作命令Request-Code=0x5、读操作命令的长度Length、命令序号Code-number、用于寻址交换芯片内寄存器的Target_ID、读操作的寄存器基地址BaseAddr,对应该连续地址空间的寄存器的读操作命令的应答命令Response-Code=0x5、读操作应答命令的长度Length、命令序号Code-number、执行寻址交换芯片内寄存器的Target_ID、读操作的寄存器基地址BaseAddr、读取的数据Rdata0~Rdatan;
图13为本实施例的一种RMU请求报文的异常应答命令的格式示意图,该异常应答命令中包括:请求报文的异常命令Request-Code=0x6、命令序号Code-number、以及对应的异常应答标识Error ID。
其中,RMU应答报文中,基于RMU请求报文的不同异常类型,会生成对应的异常应答,具体的,异常应答类型及对应格式如下表所示:
报文汇聚模块240将RMU应答报文发送至报文转发模块210,报文转发模块210根据RMU应答报文的目的地址,发送至配置端100进行处理;
配置端100上的报文管理模块110对接收到的RMU应答报文进行解析,解析出每个操作命令及对应的操作结果,并根据校验码进行比较,确认操作结果的正确。配置端100根据解析出的操作命令及对应的操作结果,即可确认交换芯片200对接收到的远程RMU请求报文的执行结果。
综上所述,本申请实施例通过采用特定格式的远程管理报文,可改善现有技术中的通过CPU配置交换芯片的技术缺陷,从而高效率的实现对交换芯片的单地址空间或连续地址空间的寄存器的远程配置。
图14是本申请实施例提供的一种计算设备1400的结构性示意性图。该计算设备1400包括:处理器1410、存储器1420、通信接口1430、总线1440。
应理解,图14所示的计算设备1400中的通信接口1430可以用于与其他设备之间进行通信。
其中,该处理器1410可以与存储器1420连接。该存储器1420可以用于存储该程序代码和数据。因此,该存储器1420可以是处理器1410内部的存储单元,也可以是与处理器1410独立的外部存储单元,还可以是包括处理器1410内部的存储单元和与处理器1410独立的外部存储单元的部件。
可选的,计算设备1400还可以包括总线1440。其中,存储器1420、通信接口1430可以通过总线1440与处理器1410连接。总线1440可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线1440可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1410可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1410采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1420可以包括只读存储器和随机存取存储器,并向处理器1410提供指令和数据。处理器1410的一部分还可以包括非易失性随机存取存储器。例如,处理器1410还可以存储设备类型的信息。
在计算设备1400运行时,所述处理器1410执行所述存储器1420中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备1400可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备1400中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请的构思的情况下,还可以包括更多其他等效实施例,均属于本申请的保护范畴。
Claims (6)
1.一种寄存器的远程配置方法,其特征在于,包括:
通过配置端将获取芯片ID的操作,以设定的格式处理为操作命令,并将其封装到请求报文的数据帧中,将所述请求报文发送到交换芯片,并记录发送时间;接收所述交换芯片反馈的芯片ID,并记录接收时间;根据记录的发送时间和接收时间,预估单条命令执行时间,并基于所述单条命令执行时间,进行配置超时预估;
通过配置端确定交换芯片中待配置的一个或多个寄存器;
确定对所述寄存器的至少一项操作,将各所述操作以设定的格式依次处理为操作命令,并将各操作命令封装到请求报文的数据帧中;所述操作包括使用相同数据进行写连续地址空间、使用不同数据进行写连续地址空间、或者,进行读连续地址空间的操作;
将所述请求报文发送到所述交换芯片;
通过所述交换芯片解析所述请求报文,并将解析得到的封装于请求报文的数据帧中的各操作命令进行缓存;
在所述缓存中按设定规则读取操作命令,并根据读取的操作命令对寄存器进行配置操作;
在每个操作命令执行结束后,将各所述操作命令以及对应的操作结果按照发送命令数据结构依次缓存为应答命令,直到所有操作命令执行结束后,对缓存的各所述应答命令进行校验码的计算,并将缓存的各所述应答命令以及计算出的校验码封装到应答报文的数据帧中,生成应答报文;
将所述应答报文向所述配置端发送。
2.如权利要求1所述的方法,其特征在于,所述将各所述操作以设定的格式依次处理为操作命令,包括:
将使用相同数据进行写连续地址空间的操作处理为第一连续地址空间操作命令,所述第一连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
或者,将使用不同数据进行写连续地址空间的操作处理为第二连续地址空间操作命令,所述第二连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
或者,将进行读连续地址空间操作处理为第三连续地址空间操作命令,所述第三连续地址空间操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID以及寄存器的基地址。
3.如权利要求1所述的方法,其特征在于,所述将各所述操作以设定的格式依次处理为操作命令,包括:
将读操作处理为读操作命令,所述读操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID;
或者,将写操作处理为写操作命令,所述写操作命令包括:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID以及向寄存器写入的数据。
4.如权利要求1所述的方法,其特征在于,所述将各所述操作命令以及对应的操作结果按照发送命令数据结构依次缓存为应答命令包括:
将使用相同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第一连续地址空间应答命令,所述第一连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及向连续地址空间写入的数据;
或者,将使用不同数据进行写连续地址空间的操作命令以及对应的操作结果缓存为第二连续地址空间应答命令,所述第二连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别向连续的各地址空间写入的各数据;
或者,将进行读连续地址空间的操作命令以及对应的操作结果缓存为第三连续地址空间应答命令,所述第三连续地址空间应答命令包括:操作命令部分:操作命令类型、命令序号、用于寻址交换芯片内寄存器的目标ID以及寄存器的基地址;操作结果部分:应答命令类型、命令序号、执行寻址交换芯片内寄存器的目标ID、寄存器的基地址以及分别读取的连续地址空间的各数据。
5.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1至4中任意一项所述的方法。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被计算机执行时实现权利要求1至4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443744.0A CN113179216B (zh) | 2021-04-23 | 2021-04-23 | 一种寄存器的远程配置方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443744.0A CN113179216B (zh) | 2021-04-23 | 2021-04-23 | 一种寄存器的远程配置方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179216A CN113179216A (zh) | 2021-07-27 |
CN113179216B true CN113179216B (zh) | 2023-05-02 |
Family
ID=76924492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110443744.0A Active CN113179216B (zh) | 2021-04-23 | 2021-04-23 | 一种寄存器的远程配置方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179216B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703843B (zh) * | 2021-09-24 | 2024-04-12 | 中国人民解放军军事科学院军事医学研究院 | 一种寄存器数据处理方法、装置及存储器 |
CN114637711B (zh) * | 2022-03-31 | 2024-06-18 | 深圳市洲明科技股份有限公司 | 芯片的控制方法、控制数据传输方法、装置和计算机设备 |
CN115878512A (zh) * | 2022-10-14 | 2023-03-31 | 浪潮(北京)电子信息产业有限公司 | 一种内存映射方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122271A (zh) * | 2011-03-01 | 2011-07-13 | 株洲南车时代电气股份有限公司 | 一种nand闪存控制器及其控制方法 |
CN109918303A (zh) * | 2019-03-05 | 2019-06-21 | 杭州嘉楠耘智信息科技有限公司 | 一种芯片、芯片调试方法及装置、设备、介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973526B2 (en) * | 2002-06-28 | 2005-12-06 | Intel Corporation | Method and apparatus to permit external access to internal configuration registers |
US20080010420A1 (en) * | 2006-07-06 | 2008-01-10 | Rom-Shen Kao | Method for Accessing Control Registers via a Memory Device |
CN101193118B (zh) * | 2007-07-25 | 2010-08-18 | 中兴通讯股份有限公司 | 一种上位机和下位机之间的通信方法 |
CN106789507A (zh) * | 2016-12-19 | 2017-05-31 | 北京格林伟迪科技股份有限公司 | 一种实现中央处理器与功能芯片通信的方法和装置 |
CN112422485B (zh) * | 2019-08-23 | 2023-05-26 | 北京东土科技股份有限公司 | 一种传输控制协议的通信方法及装置 |
CN111488297B (zh) * | 2020-04-02 | 2023-04-14 | 杭州迪普科技股份有限公司 | 用于访问寄存器的方法、装置、电子设备及可读介质 |
-
2021
- 2021-04-23 CN CN202110443744.0A patent/CN113179216B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122271A (zh) * | 2011-03-01 | 2011-07-13 | 株洲南车时代电气股份有限公司 | 一种nand闪存控制器及其控制方法 |
CN109918303A (zh) * | 2019-03-05 | 2019-06-21 | 杭州嘉楠耘智信息科技有限公司 | 一种芯片、芯片调试方法及装置、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113179216A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113179216B (zh) | 一种寄存器的远程配置方法、计算机设备及存储介质 | |
CN111930676B (zh) | 多处理器间的通信方法、装置、系统及存储介质 | |
CN109688058B (zh) | 报文处理方法、装置及网络设备 | |
CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
KR102173089B1 (ko) | 인터페이스 회로 및 그것의 패킷 전송 방법 | |
US10353631B2 (en) | Techniques for moving data between a network input/output device and a storage device | |
CN110661725A (zh) | 用于对出口上的网络分组进行重排序的技术 | |
US9846657B2 (en) | Electronic device for packing multiple commands in one compound command frame and electronic device for decoding and executing multiple commands packed in one compound command frame | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
CN105207794A (zh) | 统计计数设备及其实现方法、具有统计计数设备的系统 | |
CN111159709A (zh) | 一种文件类型识别方法、装置、设备及存储介质 | |
CN111936982A (zh) | 主机系统和集成电路加速系统之间有效而可靠的消息通道 | |
CN113498595B (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN113596017A (zh) | 一种协议解析方法、装置、软网关和存储介质 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
WO2021134418A1 (zh) | 一种数据校验方法及装置 | |
CN115729879A (zh) | 数据帧格式、芯片通信方法及芯片 | |
CN110870286B (zh) | 容错处理的方法、装置和服务器 | |
US20210103541A1 (en) | Inter device data exchange via external bus by utilizing communication port | |
CN101777037B (zh) | 一种查找引擎实时系统内数据传输的方法和系统 | |
CN117041370A (zh) | 一种通信方法及系统 | |
US20090285207A1 (en) | System and method for routing packets using tags | |
CN113422792B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN110602211B (zh) | 一种带异步通知的乱序rdma方法与装置 | |
CN114157684A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |