System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多核芯片中的多核数据动态组合传输方法及装置制造方法及图纸_技高网

一种多核芯片中的多核数据动态组合传输方法及装置制造方法及图纸

技术编号:40909554 阅读:10 留言:0更新日期:2024-04-18 14:38
本发明专利技术属于车用软件技术领域,具体公开了一种多核芯片中的多核数据动态组合传输方法及装置,该方法包括如下步骤:在计数周期内接收来自至少一个进程的数据,并累计接收到的数据的组数;将所述组数与预定义的第一阈值进行比较,若所述组数大于所述第一阈值,则将接收到的多组数据合并为一个IPCF数据序列;向所述多核芯片提出中断请求,以发送所述IPCF数据序列。本发明专利技术的优点在于提高了CPU的运行效率和数据跨核传输的效率。

【技术实现步骤摘要】

本专利技术涉及车用软件,尤其涉及了一种多核芯片中的多核数据动态组合传输方法及装置


技术介绍

1、车载电子控制单元(electronic control unit,ecu)所采用的处理器功能也越来越强大。芯片设计和生产厂商纷纷推出了多核(core)处理器,由此产生了核间数据通信的需求。进一步的,如果多个核(core)分别采用不同的系统架构,则需要更复杂、更合理的核间数据通信协议来规定通信流程。

2、目前,在汽车电子领域中,汽车开放系统架构(automotive open systemarchitecture,autosar)逐渐成为最主流的软件架构。该架构基本分为3个层级:应用软件层(appl),实时运行环境(rte)和基础软件层(bsw)。但是,现有的架构并没有为多核处理器的核间数据通信规定协议,现有技术中通常采用基于共享内存(sharedmemory)的中断触发方式来传输数据,或者采用基于其他高速总线协议的方式来进行数据传输。

3、对于采用基于sharedmemory的中断触发方式来传输数据的情况,在数据量较少的场景下可以达到较高效的传输效率,但是由于中断是需要cpu即时反应的触发方式,当数据量比较庞大时,cpu主进程会被频繁打断,从而导致cpu的运行效率低下。

4、对于采用基于其他高速总线协议的方式来进行数据传输的情况,由于需要在多种总线协议之间进行相应转换,容易导致数据传输效率低下的缺陷。


技术实现思路

1、本专利技术提出了一种多核芯片中的多核数据动态组合传输方法及装置,能够提高cpu的运行效率和数据传输的效率。

2、本专利技术提供了一种多核芯片中的多核数据动态组合传输方法,当第一核向所述多核芯片中的其他核发送数据时,包括如下步骤:

3、在计数周期内接收来自至少一个进程的数据,并累计接收到的数据的组数;

4、将所述组数与预定义的第一阈值进行比较,若所述组数大于所述第一阈值,则将接收到的多组数据合并为一个ipcf数据序列;

5、向所述多核芯片提出中断请求,以发送所述ipcf数据序列。

6、上述的方法中,还包括定义数据缓冲区,所述数据缓冲区用于保存所述ipcf数据序列。

7、上述的方法中,所述数据缓冲区的大小至少为所述ipcf数据序列的2倍。

8、上述的方法中,对于接收到的每一组所述数据,分别根据所述数据的源核id、目的核id、目的进程方向和cpu数据负载初始化所述数据,得到结构化的数据pdu,其中,所述cpu数据负载与所述组数呈正相关的关系。

9、上述的方法中,所述将接收到的多组数据合并为一个ipcf数据序列,包括:

10、将每一组所述数据pdu分别转换为适于在ipcf中传输的ipcf数据;

11、依次连接多个所述ipcf数据,形成所述ipcf数据序列。

12、上述的方法中,所述ipcf数据序列为一维结构的数据。

13、上述的方法中,当所述多核芯片中的其他核从所述第一核接收所述数据时,包括如下步骤包括:

14、通过中断的方式接收所述ipcf数据序列;

15、根据所述ipcf数据序列中所包括的源核id、目的核id、目的进程方向分割所述ipcf数据序列,得到多个所述ipcf数据;

16、将多个所述ipcf数据转换为所述数据pdu;

17、根据所述目的核id和所述目的进程方向将所述数据pdu发送给相应的进程。

18、相应的,本专利技术还提出了一种多核芯片,包括:多个核以及ipcf硬件单元,所述多个核中的每一个包括:

19、软件发送接口,用于将来自所述软件的数据打包为结构化的数据pdu;

20、软件接收接口,用于接收结构化的数据pdu,并将其转换为适应于所述软件的数据格式;

21、ipcf接口单元,接收来自所述软件发送接口的所述数据pdu,并将多个所述数据pdu转换为ipcf数据序列,或者将接收到的ipcf数据序列转换为多个数据pdu,并向所述软件接收接口发送所述数据pdu;

22、其中,所述ipcf硬件单元分别与所述多个核的所述ipcf接口单元连接,在所述多个核之间传送所述ipcf数据序列。

23、上述的芯片中,

24、所述软件发送接口包括:

25、应用软件发送接口,用于将来自应用软件的数据打包为结构化的数据pdu;以及

26、基础软件发送接口,用于将来自基础软件的数据打包为结构化的数据pdu;

27、所述软件接收接口包括:

28、应用软件接收接口,用于接收结构化的数据pdu,并将其转换为适应于相应应用软件的数据格式;以及

29、基础软件接收接口,用于接收结构化的数据pdu,并将其转换为适应于相应基础软件的数据格式;

30、其中,所述ipcf接口单元接收来自所述基础软件发送接口的所述数据pdu,并将多个所述数据pdu转换为ipcf数据序列,或者将接收到的ipcf数据序列转换为多个数据pdu,并向所述基础软件接收接口发送所述数据pdu。

31、上述的芯片中,还包括,数据缓冲区,所述数据缓冲区用于保存所述ipcf数据序列。

32、相应的,本专利技术还提出了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,以实现上述的方法。

33、与现有技术相比,本专利技术在单位时间内累计第一核中需要向其他核发送的数据的组数(或者说包数),并比较该组数与预先定义好的阈值,若组数超过阈值数则认为数据发送频繁,不适合采用一次中断发送一组数据的方案,进而将方案修改为合并多组数据,并且将合并后的数据再次转换为ipcf(inter-platform communication framework,平台间通讯框架)硬件支持的数据格式,以便于通过ipcf硬件将第一核中的数据发送给其他核。从而在ipcf硬件驱动的支持下,实现了基于预定义阈值(watermark)的跨核数据传输协议,同时还可以预防cpu中断被频繁触发,有效利用ipcf的缓存(buffer)空间,避免导致cpu数据负载过高。同时符合autosar设计规范,可以在不同项目中进行移植。

本文档来自技高网...

【技术保护点】

1.一种多核芯片中的多核数据动态组合传输方法,其特征在于,当第一核向所述多核芯片中的其他核发送数据时,包括如下步骤:

2.如权利要求1所述的方法,其特征在于,还包括定义数据缓冲区,所述数据缓冲区用于保存所述IPCF数据序列。

3.如权利要求2所述的方法,其特征在于,所述数据缓冲区的大小至少为所述IPCF数据序列的2倍。

4.如权利要求1所述的方法,其特征在于,对于接收到的每一组所述数据,分别根据所述数据的源核ID、目的核ID、目的进程方向和CPU数据负载初始化所述数据,得到结构化的数据PDU,其中,所述CPU数据负载与所述组数呈正相关的关系。

5.如权利要求4所述的方法,其特征在于,所述将接收到的多组数据合并为一个IPCF数据序列,包括:

6.如权利要求5所述的方法,其特征在于,所述IPCF数据序列为一维结构的数据。

7.如权利要求5所述的方法,其特征在于,当所述多核芯片中的其他核从所述第一核接收所述数据时,包括如下步骤包括:

8.一种多核芯片,包括:多个核以及IPCF硬件单元,其特征在于,所述多个核中的每一个包括:

9.如权利要求8所述的芯片,其特征在于,

10.如权利要求8所述的芯片,其特征在于,所述芯片还包括,数据缓冲区,所述数据缓冲区用于保存所述IPCF数据序列。

11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现如权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种多核芯片中的多核数据动态组合传输方法,其特征在于,当第一核向所述多核芯片中的其他核发送数据时,包括如下步骤:

2.如权利要求1所述的方法,其特征在于,还包括定义数据缓冲区,所述数据缓冲区用于保存所述ipcf数据序列。

3.如权利要求2所述的方法,其特征在于,所述数据缓冲区的大小至少为所述ipcf数据序列的2倍。

4.如权利要求1所述的方法,其特征在于,对于接收到的每一组所述数据,分别根据所述数据的源核id、目的核id、目的进程方向和cpu数据负载初始化所述数据,得到结构化的数据pdu,其中,所述cpu数据负载与所述组数呈正相关的关系。

5.如权利要求4所述的方法,其特征在于,所述将接收到的多组数据合并为一个ip...

【专利技术属性】
技术研发人员:霍昊昌
申请(专利权)人:大陆软件系统开发中心重庆有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1