一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

寄存器的访问方法及装置与流程

2021-12-14 23:56:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤指一种寄存器的访问方法及装置。


背景技术:

2.多子卡架构的网络设备是目前常用的一种网络设备,包括一个母卡和至少两个子卡,多子卡架构本质是一种端口扩展卡,可以实现在同一接口板上插入各种速率和类型的接口卡,从而可以为客户节省投资,方便运营管理,各个子卡不包括中央处理器(central processing unit,cpu)且不支持报文查找转发,各个子卡的访问物理层(physical layer,phy)芯片包括多个寄存器来存储对应的信息,例如包括初始化配置寄存器、状态与统计寄存器等等;母卡本质是一种没有面板口的特殊线卡,除了面板口功能外,母卡具备线卡所有的功能,母卡需要与各个子卡搭配后才能对外提供报文转发的功能。
3.由于各个子卡不包括cpu,母卡的cpu需要主动通过母卡的可编程逻辑器件发起访问phy芯片的各个寄存器来获取各个寄存器的值。
4.在多子卡架构的网络设备中,母卡与至少两个子卡之间采用的是串行外设接口(serial peripheral interface,spi)总线连接,由于spi总线只能使用串行的方式进行寄存器的访问,因此,母卡的cpu访问寄存器的时间会随着子卡的数量增加而线性相加,导致访问寄存器的耗时过长,影响网络设备的整体性能。


技术实现要素:

5.本发明实施例提供一种寄存器的访问方法及装置,用以解决现有技术中存在的访问寄存器的耗时过长,影响网络设备的整体性能的问题。
6.根据本发明实施例,提供一种寄存器的访问方法,,应用于多子卡架构的网络设备包括的母卡的可编程逻辑器件中,所述母卡还包括中央处理器cpu和存储器,所述多子卡架构的网络设备还包括至少两个子卡,所述至少两个子卡不包括cpu但包括物理层phy芯片,所述方法包括:
7.定期读取所述至少两个子卡的phy芯片包括的各个寄存器的值,将读取的各个寄存器的值写入各个寄存器在所述存储器对应的存储单元中;以及,
8.接收所述cpu发送的针对所述至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求;
9.从所述选定寄存器在所述存储器对应的存储单元中获取所述选定寄存器的值返回给所述cpu。
10.具体的,定期读取所述至少两个子卡的phy芯片包括的各个寄存器的值,具体包括:
11.监控设定周期是否到期;
12.若监控到所述设定周期到期,则并行向所述至少两个子卡的phy芯片发送寄存器读取请求;
13.接收所述至少两个子卡的phy芯片返回的携带对应的寄存器的值的寄存器读取响应。
14.具体的,将读取的各个寄存器的值写入各个寄存器在所述存储器对应的存储单元中,具体包括:
15.轮询读取的各个寄存器的值;
16.将轮询到的寄存器的值替换所述轮询到的寄存器在所述存储器对应的存储单元中的值。
17.具体的,从所述选定寄存器在所述存储器对应的存储单元中获取所述选定寄存器的值返回给所述cpu,具体包括:
18.从所述存储器中查找所述选定寄存器对应的存储单元;
19.读取所述选定存储器对应的存储单元中的值得到所述选定寄存器的值;
20.向所述cpu发送携带所述选定寄存器的值的访问响应。
21.根据本发明实施例,还提供一种寄存器的访问装置,应用于多子卡架构的网络设备包括的母卡的可编程逻辑器件中,所述母卡还包括中央处理器cpu和存储器,所述多子卡架构的网络设备还包括至少两个子卡,所述至少两个子卡不包括cpu但包括物理层phy芯片,所述装置包括:
22.写入模块,用于定期读取所述至少两个子卡的phy芯片包括的各个寄存器的值,将读取的各个寄存器的值写入各个寄存器在所述存储器对应的存储单元中;以及,
23.接收模块,用于接收所述cpu发送的针对所述至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求;
24.返回模块,用于从所述选定寄存器在所述存储器对应的存储单元中获取所述选定寄存器的值返回给所述cpu。
25.具体的,所述写入模块,用于定期读取所述至少两个子卡的phy芯片包括的各个寄存器的值,具体用于:
26.监控设定周期是否到期;
27.若监控到所述设定周期到期,则并行向所述至少两个子卡的phy芯片发送寄存器读取请求;
28.接收所述至少两个子卡的phy芯片返回的携带对应的寄存器的值的寄存器读取响应。
29.具体的,所述写入模块,用于将读取的各个寄存器的值写入各个寄存器在所述存储器对应的存储单元中,具体用于:
30.轮询读取的各个寄存器的值;
31.将轮询到的寄存器的值替换所述轮询到的寄存器在所述存储器对应的存储单元中的值。
32.具体的,所述返回模块,用于从所述选定寄存器在所述存储器对应的存储单元中获取所述选定寄存器的值返回给所述cpu,具体用于:
33.从所述存储器中查找所述选定寄存器对应的存储单元;
34.读取所述选定存储器对应的存储单元中的值得到所述选定寄存器的值;
35.向所述cpu发送携带所述选定寄存器的值的访问响应。
36.根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
37.存储器,用于存放计算机程序;
38.处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
39.根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
40.本发明有益效果如下:
41.本发明实施例提供一种寄存器的访问方法及装置,通过定期读取所述至少两个子卡的phy芯片包括的各个寄存器的值,将读取的各个寄存器的值写入各个寄存器在所述存储器对应的存储单元中;以及,接收所述cpu发送的针对所述至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求;从所述选定寄存器在所述存储器对应的存储单元中获取所述选定寄存器的值返回给所述cpu。该方案中,母卡的可编程逻辑器件会定期将至少两个子卡的phy芯片包括的各个寄存器的值写入母卡的寄存器对应的存储单元中,当cpu需要访问选定子卡的phy芯片的选定寄存器时,可以直接从选定寄存器在母卡的存储器对应的存储单元中获取选定寄存器的值返回给cpu,由于提前获取了选定寄存器的值,相对于现有技术,可以节省母卡的cpu访问选定寄存器的耗时,大大提升网络设备的整体性能。
附图说明
42.图1为本发明实施例中一种寄存器的访问方法的流程图;
43.图2为本发明实施例中一种寄存器的访问装置的结构示意图;
44.图3为本技术示出的一种电子设备的结构示意图。
具体实施方式
45.针对现有技术中存在的访问寄存器的耗时过长,影响网络设备的整体性能的问题,本发明实施例提供一种寄存器的访问方法,应用于多子卡架构的网络设备包括的母卡的可编程逻辑器件中,母卡还包括cpu和存储器,多子卡架构的网络设备还包括至少两个子卡,至少两个子卡不包括cpu但包括phy芯片,存储器可以但不限于为双口随机存取存储器(random access memory,ram),母卡与至少两个子卡之间可以但不限于通过spi总线连接,该方法的流程如图1所示,执行步骤如下:
46.s11:定期读取至少两个子卡的phy芯片包括的各个寄存器的值,将读取的各个寄存器的值写入各个寄存器在存储器对应的存储单元中。
47.可以预先在母卡的存储器中设置与至少两个子卡的phy芯片包括的各个寄存器对应的存储单元,这样,在定期读取至少两个子卡的phy芯片包括的各个寄存器的值后,可以直接将读取的各个寄存器的值写入对应的存储单元中,从而实现在母卡本地存储至少两个子卡的phy芯片包括的各个寄存器的值。
48.s12:接收cpu发送的针对至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求。
49.当cpu需要访问至少两个子卡中的某个子卡(可以定义为选定子卡)的phy芯片中包括的某个寄存器(可以定义为选定寄存器)的值时,会向母卡的可编程逻辑器件发起针对
至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求。
50.s13:从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu。
51.由于母卡的存储器中设置与至少两个子卡的phy芯片包括的各个寄存器对应的存储单元,在接收到母卡的cpu针对至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求后,无需再访问选定寄存器,而是直接从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu,从而可以大大节省cpu访问寄存器的耗时。
52.需要说明的是,s11与s12只是为了标识两个不同步骤,并没有严格的先后执行顺序,在某一时间段内,可能是先执行s11在执行s12,也可能是先执行s12再执行s11,也可能是同时执行s11和s12。
53.该方案中,母卡的可编程逻辑器件会定期将至少两个子卡的phy芯片包括的各个寄存器的值写入母卡的寄存器对应的存储单元中,当cpu需要访问选定子卡的phy芯片的选定寄存器时,可以直接从选定寄存器在母卡的存储器对应的存储单元中获取选定寄存器的值返回给cpu,由于提前获取了选定寄存器的值,相对于现有技术,可以节省母卡的cpu访问选定寄存器的耗时,大大提升网络设备的整体性能。
54.具体的,上述s11中的定期读取至少两个子卡的phy芯片包括的各个寄存器的值,实现过程具体包括:
55.监控设定周期是否到期;
56.若监控到设定周期到期,则并行向至少两个子卡的phy芯片发送寄存器读取请求;
57.接收至少两个子卡的phy芯片返回的携带对应的寄存器的值的寄存器读取响应。
58.可以预先设置设定周期,并监控设定周期是否到期,若监控到设定周期到期,则并行向至少两个子卡的phy芯片发送寄存器读取请求,具体可以通过spi控制器并行发送寄存器读取请求,然后接收至少两个子卡的phy芯片返回的携带对应的寄存器的值的寄存器读取响应,从而实现定期读取至少两个子卡的phy芯片包括的各个寄存器的值。其中,设定周期的大小可以根据实际需要进行设定。
59.具体的,上述s11中的将读取的各个寄存器的值写入各个寄存器在存储器对应的存储单元中,实现过程具体包括:
60.轮询读取的各个寄存器的值;
61.将轮询到的寄存器的值替换轮询到的寄存器在存储器对应的存储单元中的值。
62.在将读取的各个寄存器的值写入各个寄存器在存储器对应的存储单元中时实现方式有很多种,这里仅仅是以轮询的方式进行说明,当然还有很多其他方式,例如随机读取、单数读取完再双数读取等等方式,这里不再一一进行赘述。
63.具体的,上述s13中的从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu,实现过程具体包括:
64.从存储器中查找选定寄存器对应的存储单元;
65.读取选定存储器对应的存储单元中的值得到选定寄存器的值;
66.向cpu发送携带选定寄存器的值的访问响应。
67.从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu时,由于母卡的存储器中设置与至少两个子卡的phy芯片包括的各个寄存器对应的存储单元,因此,可以首先从存储器中查找选定寄存器对应的存储单元,然后读取选定存储器对应的存
储单元中的值,此时得到的就是选定寄存器的值,最后再向cpu发送携带选定寄存器的值的访问响应,cpu就可以后去到选定寄存器的值,实现访问选定寄存器。
68.基于同一发明构思,本发明实施例提供一种寄存器的访问装置,应用于多子卡架构的网络设备包括的母卡的可编程逻辑器件中,母卡还包括cpu和存储器,多子卡架构的网络设备还包括至少两个子卡,至少两个子卡不包括cpu但包括phy芯片,该装置的结构如图2所示,包括:
69.写入模块21,用于定期读取至少两个子卡的phy芯片包括的各个寄存器的值,将读取的各个寄存器的值写入各个寄存器在存储器对应的存储单元中;以及,
70.接收模块22,用于接收cpu发送的针对至少两个子卡中的选定子卡的phy芯片的选定寄存器的访问请求;
71.返回模块23,用于从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu。
72.该方案中,母卡的可编程逻辑器件会定期将至少两个子卡的phy芯片包括的各个寄存器的值写入母卡的寄存器对应的存储单元中,当cpu需要访问选定子卡的phy芯片的选定寄存器时,可以直接从选定寄存器在母卡的存储器对应的存储单元中获取选定寄存器的值返回给cpu,由于提前获取了选定寄存器的值,相对于现有技术,可以节省母卡的cpu访问选定寄存器的耗时,大大提升网络设备的整体性能。
73.具体的,写入模块21,用于定期读取至少两个子卡的phy芯片包括的各个寄存器的值,具体用于:
74.监控设定周期是否到期;
75.若监控到设定周期到期,则并行向至少两个子卡的phy芯片发送寄存器读取请求;
76.接收至少两个子卡的phy芯片返回的携带对应的寄存器的值的寄存器读取响应。
77.具体的,写入模块21,用于将读取的各个寄存器的值写入各个寄存器在存储器对应的存储单元中,具体用于:
78.轮询读取的各个寄存器的值;
79.将轮询到的寄存器的值替换轮询到的寄存器在存储器对应的存储单元中的值。
80.具体的,返回模块23,用于从选定寄存器在存储器对应的存储单元中获取选定寄存器的值返回给cpu,具体用于:
81.从存储器中查找选定寄存器对应的存储单元;
82.读取选定存储器对应的存储单元中的值得到选定寄存器的值;
83.向cpu发送携带选定寄存器的值的访问响应。
84.本技术实施例还提供了一种电子设备,请参见图3所示,包括处理器310、通信接口320、存储器330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。
85.存储器330,用于存放计算机程序;
86.处理器310,用于执行存储器330上所存放的程序时,实现上述实施例中任一所述的寄存器的访问方法。
87.通信接口320用于上述电子设备与其他设备之间的通信。
88.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易
失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
89.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
90.该方案中,母卡的可编程逻辑器件会定期将至少两个子卡的phy芯片包括的各个寄存器的值写入母卡的寄存器对应的存储单元中,当cpu需要访问选定子卡的phy芯片的选定寄存器时,可以直接从选定寄存器在母卡的存储器对应的存储单元中获取选定寄存器的值返回给cpu,由于提前获取了选定寄存器的值,相对于现有技术,可以节省母卡的cpu访问选定寄存器的耗时,大大提升网络设备的整体性能。
91.相应地,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的寄存器的访问方法。
92.该方案中,母卡的可编程逻辑器件会定期将至少两个子卡的phy芯片包括的各个寄存器的值写入母卡的寄存器对应的存储单元中,当cpu需要访问选定子卡的phy芯片的选定寄存器时,可以直接从选定寄存器在母卡的存储器对应的存储单元中获取选定寄存器的值返回给cpu,由于提前获取了选定寄存器的值,相对于现有技术,可以节省母卡的cpu访问选定寄存器的耗时,大大提升网络设备的整体性能。
93.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
94.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
95.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
96.尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
97.显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求
及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献