一种基于芯片内部的通信方法、装置、芯片及介质与流程

文档序号:37450037发布日期:2024-03-28 18:33阅读:37来源:国知局
一种基于芯片内部的通信方法、装置、芯片及介质与流程

本发明涉及通信,特别是涉及一种基于芯片内部的通信方法、装置、芯片及介质。


背景技术:

1、随着芯片技术的飞速发展,片上系统(system-on-a-chip,soc)芯片的制程不断减小,单个soc芯片系统中包含的功能模块越来越多,soc芯片系统内部中央处理器(centralprocessing unit,cpu)和功能模块之间、功能模块和功能模块之间的通信较为频繁复杂,会通过“点对点式”的通信方式。

2、由于点对点式的通信方式,在通信过程中随着通信的功能模块数量增多,其对应高速接口的数量也增加,使得这些高速接口在芯片内占用较大的面积,增加制造成本。若发送端和接收端之间的通信频率较低的情况下,使得高速接口有效工作时长较短,导致处于空闲(idle)状态的时间较多,但是在该状态下仍然会产生功耗,因此产生极大的资源浪费。另外,在使用过程中不同的使用场景下内部数据交互通信路径趋于相同,cpu和功能模块之间、功能模块和功能模块之间的通信路径较为单一,使之芯片的使用场景较为固定受限,通用性较差。

3、因此,如何减少芯片的占用面积、减少成本的同时节省资源和提高通用性是本领域技术人员亟需要解决的技术问题。


技术实现思路

1、本发明的目的是提供一种基于芯片内部的通信方法、装置、芯片及介质,以解决点对点通信方式的高速接口多、占用较多的面积,处于空闲状态时间较多占用资源且通信路径单一和通用性较差的问题。

2、为解决上述技术问题,本发明提供一种基于芯片内部的通信方法,应用于发送端,包括:

3、获取待传输的当前数据;

4、将所述当前数据发送至队列管理器以便于所述队列管理器根据所述当前数据确定接收端对应的发送实际队列;并调用所述队列管理器内的虚拟队列以存储所述当前数据;

5、通过所述接收端的发送实际队列将所述当前数据发送至所述接收端以便于所述接收端对所述当前数据进行处理得到对应的反馈数据,并根据所述反馈数据确定所述接收端在所述队列管理器内对应的接收实际队列和所述发送端对应的发送实际队列,通过所述接收端的接收实际队列对所述反馈数据进行接收至对应的虚拟队列内;

6、接收由所述队列管理器内所述发送端对应的发送实际队列发送的所述反馈数据以完成所述当前数据的通信传输。

7、优选地,所述当前数据的传输类型包括cpu与功能模块之间或者各所述功能模块之间的传输类型,调用所述队列管理器内的虚拟队列,包括:

8、在所述发送端为所述cpu时,对所述当前数据进行解析确定对应的所述虚拟队列;并根据解析确定的所述虚拟队列进行调用;

9、在所述发送端为第一功能模块时,根据所述当前数据确定所述第一功能模块在所述队列管理器内对应的接收实际队列;

10、通过所述第一功能模块在所述队列管理器内对应的接收实际队列接收所述当前数据,并将所述当前数据路由至所述第一功能模块对应的第一虚拟队列内,并根据路由的所述第一虚拟队列进行调用。

11、优选地,所述虚拟队列的建立过程,包括:

12、获取待传输数据以及对应的传输方向,其中,所述传输方向包括基于所述发送实际队列的发送方向和基于所述接收实际队列的接收方向;

13、根据所述传输方向确定在所述虚拟队列内的预取命令指针或预填写指针;

14、在所述传输方向为基于所述发送实际队列的发送方向时,根据所述待传输数据确定fw固件读数据指针和所述发送实际队列内的指针;

15、在所述传输方向为基于所述接收实际队列的接收方向时,根据所述待传输数据确定fw固件写数据指针和所述接收实际队列内的指针;

16、根据所述待传输数据确定所述发送实际队列的发送状态和所述接收实际队列的接收状态;

17、根据所述待传输数据确定所述发送实际队列的实际流量速率;

18、通过先进先出状态确定所述虚拟队列的空满状态和fw固件的异常状态以建立所述虚拟队列。

19、优选地,在所述待传输数据的传输方向为所述发送实际队列的发送方向时,根据所述待传输数据确定所述发送实际队列的发送状态,包括:

20、预先设置待发送的第一预设数据量和临界数据量,其中,所述临界数据量大于所述第一预设数据量;

21、获取所述待传输数据的实际数据量;

22、在所述实际数据量小于所述第一预设数据量的情况下,获取其他待传输数据并合并所述待传输数据,以便于所述待传输数据和所述其他待传输数据的实际数据量达到所述第一预设数据量时,通过所述发送实际队列对所述待传输数据和所述其他待传输数据进行发送以确定所述发送实际队列的发送状态;

23、在所述实际数据量大于所述第一预设数据量,且达到所述临界数据量的情况下,通过所述发送实际队列对所述待传输数据进行发送以确定所述发送实际队列的发送状态;

24、对应地,在所述传输方向为基于所述接收实际队列的接收方向时,根据所述待传输数据确定所述接收实际队列的接收状态,包括:

25、获取所述虚拟队列内的当前数据量和饱和数据量;

26、在所述当前数据量与所述饱和数据量的差值达到第二预设数据量时,在所述虚拟队列内设置第一标志位;

27、将所述第一标志位发送至当前的所述接收实际队列;

28、获取当前的所述接收实际队列内的所述待传输数据;

29、待当前的所述接收实际队列内的所述待传输数据发送至所述发送端后,将当前的所述接收实际队列反压以确定所述接收实际队列的接收状态。

30、优选地,所述根据所述待传输数据确定所述发送实际队列的实际流量速率,包括:

31、获取所述发送实际队列内的流控上限值和当前流量速率;

32、在所述当前流量速率小于所述流控上限值的情况下,获取令牌桶;

33、根据所述待传输数据的传输速率请求在所述令牌桶内获取令牌;

34、若获取到所述令牌,则获取所述令牌桶内的令牌生成速度;

35、根据所述令牌生成速度对所述当前流量速率进行调整以确定所述实际流量速率。

36、优选地,在所述发送实际队列内包括多个子发送实际队列时,所述发送实际队列的建立过程,包括:

37、获取所述当前数据;

38、将所述当前数据存储至所述发送实际队列内的sram空间内以便于将所述当前数据分配至目标子发送实际队列;

39、在所述目标子发送实际队列分配的sram空间小于预设空间且其他sram空间内存在所述当前数据的部分未发送数据时,在所述目标子发送数据发送所述当前数据内除所述部分未发送数据之外的其他数据后,对所述发送实际队列内申请数据传输请求,以便于对所述部分未发送数据进行传输。

40、为解决上述技术问题,本发明还提供一种基于芯片内部的通信方法,应用于接收端,包括:

41、获取由发送端经队列管理器内的所述接收端对应的发送实际队列发送的所述当前数据,其中,所述发送实际队列由待传输的所述当前数据在所述队列管理器内对应得到,所述当前数据在所述队列管理器内的虚拟队列内存储;

42、对所述当前数据进行处理得到对应的反馈数据;

43、根据所述反馈数据确定所述接收端在所述队列管理器内对应的接收实际队列和所述发送端对应的发送实际队列;

44、通过所述接收端的接收实际队列对所述反馈数据进行接收至对应的虚拟队列内以便于所述发送端接收由所述队列管理器内所述发送端对应的发送实际队列发送的所述反馈数据以完成所述当前数据的通信传输。

45、为解决上述技术问题,本发明还提供一种基于芯片内部的通信装置,应用于发送端,包括:

46、第一获取模块,用于获取待传输的当前数据;

47、第一确定模块,用于将所述当前数据发送至队列管理器以便于所述队列管理器根据所述当前数据确定接收端对应的发送实际队列;并调用所述队列管理器内的虚拟队列以存储所述当前数据;

48、第一发送模块,用于通过所述接收端的发送实际队列将所述当前数据发送至所述接收端以便于所述接收端对所述当前数据进行处理得到对应的反馈数据,并根据所述反馈数据确定所述接收端在所述队列管理器内对应的接收实际队列和所述发送端对应的发送实际队列,通过所述接收端的接收实际队列对所述反馈数据进行接收至对应的虚拟队列内;

49、第一接收模块,用于接收由所述队列管理器内所述发送端对应的发送实际队列发送的所述反馈数据以完成所述当前数据的通信传输。

50、为解决上述技术问题,本发明还提供一种基于芯片内部的通信装置,应用于接收端,包括:

51、第二获取模块,用于获取由发送端经队列管理器内的所述接收端对应的发送实际队列发送的所述当前数据,其中,所述发送实际队列由待传输的所述当前数据在所述队列管理器内对应得到,所述当前数据在所述队列管理器内的虚拟队列内存储;

52、第一处理模块,用于对所述当前数据进行处理得到对应的反馈数据;

53、第二确定模块,用于根据所述反馈数据确定所述接收端在所述队列管理器内对应的接收实际队列和所述发送端对应的发送实际队列;

54、第二接收模块,用于通过所述接收端的接收实际队列对所述反馈数据进行接收至对应的虚拟队列内以便于所述发送端接收由所述队列管理器内所述发送端对应的发送实际队列发送的所述反馈数据以完成所述当前数据的通信传输。

55、为解决上述技术问题,本发明还提供一种芯片,包括:

56、存储器,用于存储计算机程序;

57、处理器,用于执行所述计算机程序时实现如上述所述的基于芯片内部的通信方法的步骤。

58、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的基于芯片内部的通信方法的步骤。

59、本发明提供的一种基于芯片内部的通信方法,应用于发送端,通过待传输的当前数据,在发送端内控制队列管理器基于该当前数据确定接收端对应的发送实际队列,以此将该当前数据存储在虚拟队列内以便于通过发送实际队列将其发送至接收端,在接收端内根据当前数据进行处理得到反馈数据,基于反馈数据确定接收端在队列管理内的接收实际队列和发送端对应的发送实际队列,通过反馈数据确定的接收实际队列对反馈数据进行接收,再通过反馈数据确定的发送实际队列发送至发送端。整个通信传输过程,无需点对点通信方式,加入队列管理器的虚拟队列、交互通信路径(发送实际队列和接收实际队列)这种具体的路由方式实现了通用性,将其数据交互方式进行统一管理,通信方式的选择仅在队列管理器内完成,利用交互通信路径完成信息通信,大大减少芯片内部因点对点通信导致的高速接口数量较多占用的芯片面积较大的困扰,同时减少制造成本。另外,相对于现有的通信频率较低时由于点对点通信导致对应的高速接口无法使用的同时产生功耗,本发明基于队列管理器内综合使用具体的路由方式,在对应的路由方式下通过不同的发送实际队列和接收实际队列实现高速通信接口的高利用,避免通信路径单一。

60、另外,本发明还提供了一种应用于接收端的基于芯片内部的通信方法、应用于发送端和接收端的基于芯片内部的通信装置、芯片及介质,具有如上述应用于发送端的基于芯片内部的通信方法相同的有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1