多核通信的一种IPC通信方案

admin 2024年12月8日22:41:11评论21 views字数 1968阅读6分33秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

目前,主流的车载芯片都已支持多核系统(multi-core systems),多核通信最为关注的当属数据同步(synchronization)问题。多核通信也称为进程间通信IPC(Inter-processor communication),IPC我们并不陌生,在实际的工程实践中,你又是如何使用的呢?本文聚焦一下该问题。

01

IPC Channel和IPC Interrupt

IPC通信的主要目的是确保共享资源存储数据的一致性,避免数据处理过程中被打断。

这里我们先了解两个概念:

IPC Channel:处理器之间通信和同步所需的数据结构(struct)。

IPC Interrupt:用于通知IPC事件的中断。

IPC Channel和IPC Interrupt关系示意如下:

多核通信的一种IPC通信方案

每个Processor都有一个中断向量表用于存储中断例程地址,每个IPC Channel可以主动触发和响应中断。

02

IPC的核间通信流程

以CYT4BB芯片为例,具体细化一下核间通信流程,示意如下:

多核通信的一种IPC通信方案

(1)发送Message的Core A尝试获取一个IPC Channel,当Core A获取一个可用的IPC Channel以后,即可通过该IPC Channel发送目标数据,没有释放此IPC Channel前,该通道不能被抢占;

(2)获取可用的IPC Channel后,Core A可以向IPC Channel的数据寄存器(IPC_STRUCTx_DATA0、IPC_STRUCTx_DATA1)填充数据;

(3)当Message(数据信息)写入IPC Channel后,发送方(Core A)会触发一个中断通知事件,告知接收方(Core B)去获取数据。它通过在IPC通道的IPC_STRUCTx_NOTIFY寄存器中设置相应的位来实现这一点。该事件在IPC中断B处创建一个通知事件。如果IPC通道的通知事件通过在IPC中断B中设置掩码位被启用,那么这将会在接收方产生一个中断;

(4)当接收方(Core B)接收到IPC中断B时,可以读取IPC_INTR_STRUCTx_INTR_MASKED寄存器,以了解哪个IPC Channel触发了通知事件。根据此信息,接收方识别出要读取的通道,并从IPC Channel的IPC_STRUCTx_DATA0和IPC_STRUCTx_DATA1寄存器中读取数据。接收方现在已接收到发送方发送的数据。接收方需要释放通道,以便其他处理器/进程可以使用它;

(5)接收方释放通道。它还可以选择在发送方的IPC中断A上生成一个释放事件。如果相应的通道释放事件没有被屏蔽,这将会在发送方产生一个释放事件中断。

如上既是IPC使用的基本步骤。但是,如上数据交互时有一个问题:IPC_STRUCTx_DATA0和IPC_STRUCTx_DATA1寄存器最多能传输64bit(8 byte)数据。如果数据量大于8 byte呢?答:传输目标数据的地址,通过地址获取所需数据长度。

(一)IPC大数据通信模式

核间进行大数据交互时的通信流程示意如下:

多核通信的一种IPC通信方案

该方式的核心就是:发送方将待发送的数据,按照一定的格式(struct)写到一个指定地址,之后将该地址(eg:4 byte)写入数据寄存器(Data Register),接收方从数据寄存器获取交互数据的地址,之后从该地址处,以同样的格式读取所需信息。如此,即可完成核间的大数据交互。

 end 

多核通信的一种IPC通信方案

 专业社群 

多核通信的一种IPC通信方案

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

多核通信的一种IPC通信方案

公司类型占比

多核通信的一种IPC通信方案

原文始发于微信公众号(谈思实验室):多核通信的一种IPC通信方案

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月8日22:41:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   多核通信的一种IPC通信方案https://cn-sec.com/archives/3483069.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息