多核芯片间的核间通信IPC机制

现在很多的芯片都会几个core核,有的用的是Cortex M0+、M4、M7、A53、A73等等,有的是2核、3核、4核甚至6核8核,不同的核的主频支持度不一样,适用的具体应用场景也不同。

那么核间通信Inter-processor communication即IPC,一般作为核间通信使用。

可以看到处理器A和处理器B在进行IPC通信的时候,会用到Channel和Interrupt两个结构体,而且这是是共享的,关于共享可以从AHB总线层面和存储结构体两个层面来理解。

 从该图可以看到CPU子系统或者称on-chip,都是挂在AHB总线上的器件,处理器是,flash、rom、ram都是,所以说这些资源是共享的。

而结构体共享,同时也是IPC为了实现shared memory资源互斥而必须采用的结构。如果处理器A想使用IPC通信channel资源,就必须申请一个lock,然后放数据Data,然后通告Notify,处理器B获得通告Notify的Event,并触发Interrupt,开始进行数据Data处理,处理好之后,释放lock。

但是这个过程中的数据寄存器Data Register很小,一个32bit,2个只有6bit,如果传大数据怎么办呢?那就在data reg

版权声明:本文为CSDN博主「芯片-嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49369227/article/details/121727126

生成海报
点赞 0

芯片-嵌入式

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

多核芯片间的核间通信IPC机制

现在很多的芯片都会几个core核,有的用的是Cortex M0+、M4、M7、A53、A73等等,有的是2核、3核、4核甚至6核8核,不同的核的主频支持度不一样,适用的具体应用场景也不同。 那么核间通信Inter-processor comm

基于ARM IP的看门狗设计与功能验证

看门狗是一个定时器, ARM提供了一个32位向下计数的看门狗IP,它会不断地计数。通过软件可以设置计数值,计数到某一设定值重新开始计数,这一过程也被称为喂狗,如果没有正常喂狗

【STM32Cube笔记】2-STM32Cube安装教程

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配