System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及报文收发,具体而言,涉及一种报文传输方法、报文收发方法、装置、设备及存储介质。
技术介绍
1、dma(direct memory access,直接内存访问)是一种cpu与外部设备交互的一种方式,和传统的io(输入输出)相比,原来由cpu做的事情由dmac(direct memory accesscontrol,直接内存访问控制器)代替,即从外部设备直接到内存的过程由dmac来做,而不再是cpu。
2、dmac和cpu之间使用描述符进行通信。描述符是一块特定格式的内存。描述符以环的方式实现。dmac的每个通道都有各自的描述符环,通过描述符环中的信息,dmac将报文存放到指定的内存地址,处理完成后通知cpu取数据,cpu再从指定的内存地址中取出报文。同样地,cpu将报文存放到指定的内存地址,处理完成后通知dmac取数据,dmac再从指定的内存地址中取出报文并发送。
3、当前描述符中包含表示实际报文存放的双倍速率同步动态随机存储器的内存地址,以实际物理地址总线的编址形式存在。dmac可以基于此地址访问相应的内存,而cpu不能直接基于此地址访问,必须将此地址经过页面映射为虚拟地址后,cpu才能访问相应的内存,即收发报文时,cpu侧需要看到相应内存的逻辑地址,dmac又需要看到相应内存的物理地址,会占用大量cpu资源来频繁进行逻辑地址和物理地址的转换,影响收发报文性能。
技术实现思路
1、本专利技术提供了一种报文传输方法、报文收发方法、装置、设备及存储
2、本专利技术的技术方案可以这样实现:
3、第一方面,本专利技术提供一种报文传输方法,应用于电子设备的cpu,所述电子设备还包括dmac,所述方法包括:
4、为所述dmac的描述符分配对应的数据内存,并将所述数据内存的物理地址和逻辑地址同时赋值到所述描述符中,得到处理后的描述符;
5、基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输。
6、可选地,所述基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输的步骤包括:
7、在接收到第一指令时,从处理后的描述符中获取所述数据内存的逻辑地址,并按照所述逻辑地址从所述数据内存中读取待收取报文;
8、其中,所述待收取报文是所述dmac接收的报文,所述第一指令是所述dmac在按照从处理后的描述符中获取的所述数据内存的物理地址,将所述待收取报文写入所述数据内存后发送的。
9、可选地,所述基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输的步骤还包括:
10、从处理后的描述符中获取所述数据内存的逻辑地址,并按照所述数据内存的逻辑地址将待发送报文写入所述数据内存;
11、向所述dmac发送第二指令,使所述dmac在接收到所述第二指令后,按照从处理后的描述符中获取的所述数据内存的物理地址,读取所述数据内存中的所述待发送报文,并进行报文发送。
12、第二方面,本专利技术提供一种报文收发方法,应用于电子设备中的dmac,所述电子设备还包括cpu,所述方法包括:
13、基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输,以实现报文的收取和发送;
14、其中,所述预设描述符是由所述cpu对所述dmac的描述符分配对应的数据内存,并将所述数据内存的物理地址和逻辑地址同时赋值到所述dmac的描述符中得到的。
15、可选地,所述基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输的步骤包括:
16、按照从预设描述符中获取的物理地址,将接收到的报文写入所述预设描述符对应的数据内存;
17、发送第一指令给所述cpu,以使所述cpu在接收到第一指令后,按照从预设描述符中获取的逻辑地址,从所述预设描述符对应的数据内存中读取所述dmac接收到的报文。
18、可选地,所述基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输的步骤还包括:
19、在接收到第二指令时,按照从预设描述符中获取的物理地址,从所述预设描述符对应的数据内存中读取待发送报文,并进行报文发送;
20、其中,所述待发送报文是所述cpu按照从预设描述符中获取的逻辑地址写入所述预设描述符对应的数据内存中的,所述第二指令是所述cpu在将所述待发送报文写入所述预设描述符对应的数据内存后发送的。
21、第三方面,本专利技术提供一种报文传输装置,应用于电子设备的cpu,所述电子设备还包括dmac,所述装置包括:
22、描述符处理模块,用于为所述dmac的描述符分配对应的数据内存,并将所述数据内存的物理地址和逻辑地址同时赋值到所述描述符中,得到处理后的描述符;
23、数据处理模块,用于基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输。
24、第四方面,本专利技术提供一种报文收发装置,应用于电子设备中的dmac,所述电子设备还包括cpu,所述装置包括:
25、报文处理模块,用于基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输,以实现报文的收取和发送;其中,所述预设描述符是由所述cpu对所述dmac的描述符分配对应的数据内存,并将所述数据内存的物理地址和逻辑地址同时赋值到所述dmac的描述符中得到的。
26、第五方面,本专利技术提供一种电子设备,其包括cpu、dmac以及存储器,所述存储器存储有第一计算机程序和第二计算机程序,所述第一计算机程序被所述cpu执行时实现如前述第一方面所述的报文传输方法,所述第二计算机程序被所述dmac执行时实现如前述第二方面所述的报文收发方法。
27、第六方面,本专利技术提供一种计算机可读存储介质,其存储有第一计算机程序和第二计算机程序,所述第一计算机程序被cpu执行时实现如前述第一方面所述的报文传输方法,所述第二计算机程序被dmac执行时实现如前述第二方面所述的报文收发方法。
28、相较于现有技术,本专利技术提供的应用于cpu报文传输方法:为dmac的描述符分配对应的数据内存,并将数据内存的物理地址和逻辑地址同时赋值到描述符中,得到处理后的描述符;再基于处理后的描述符,与dmac通过数据内存进行报文传输。由于本专利技术通过将数据内存的物理地址和逻辑地址同时赋值到描述符中,使cpu可以直接基于描述符获知相应数据内存的逻辑地址,dmac也可以直接基于描述符获知相应数据内存的物理地址,从而在报文收发时无需频繁进行逻辑地址和物理地址的转换,避免因大量cpu资源被占用影响报文收发性能。
本文档来自技高网...【技术保护点】
1.一种报文传输方法,其特征在于,应用于电子设备的CPU,所述电子设备还包括DMAC,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于处理后的描述符,与所述DMAC通过所述数据内存进行报文传输的步骤包括:
3.如权利要求2所述的方法,其特征在于,所述基于处理后的描述符,与所述DMAC通过所述数据内存进行报文传输的步骤还包括:
4.一种报文收发方法,其特征在于,应用于电子设备中的DMAC,所述电子设备还包括CPU,所述方法包括:
5.如权利要求4所述的方法,其特征在于,所述基于预设描述符,与所述CPU通过所述预设描述符对应的数据内存进行报文传输的步骤包括:
6.如权利要求5所述的方法,其特征在于,所述基于预设描述符,与所述CPU通过所述预设描述符对应的数据内存进行报文传输的步骤还包括:
7.一种报文传输装置,其特征在于,应用于电子设备的CPU,所述电子设备还包括DMAC,所述装置包括:
8.一种报文收发装置,其特征在于,应用于电子设备中的DMAC,所述电子设备还包括CPU,所述装置包
9.一种电子设备,其特征在于,其包括CPU、DMAC以及存储器,所述存储器存储有第一计算机程序和第二计算机程序,所述第一计算机程序被所述CPU执行时实现如权利要求1至3任一项所述的报文传输方法,所述第二计算机程序被所述DMAC执行时实现如权利要求4至6任一项所述的报文收发方法。
10.一种计算机可读存储介质,其特征在于,其存储有第一计算机程序和第二计算机程序,所述第一计算机程序被CPU执行时实现如权利要求1至3任一项所述的报文传输方法,所述第二计算机程序被DMAC执行时实现如权利要求4至6任一项所述的报文收发方法。
...【技术特征摘要】
1.一种报文传输方法,其特征在于,应用于电子设备的cpu,所述电子设备还包括dmac,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输的步骤包括:
3.如权利要求2所述的方法,其特征在于,所述基于处理后的描述符,与所述dmac通过所述数据内存进行报文传输的步骤还包括:
4.一种报文收发方法,其特征在于,应用于电子设备中的dmac,所述电子设备还包括cpu,所述方法包括:
5.如权利要求4所述的方法,其特征在于,所述基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输的步骤包括:
6.如权利要求5所述的方法,其特征在于,所述基于预设描述符,与所述cpu通过所述预设描述符对应的数据内存进行报文传输的步骤还包括:
【专利技术属性】
技术研发人员:李磊,赵仕中,秦欢,
申请(专利权)人:苏州盛科通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。