概述
在智能手机平台中,为了保证多媒体业务在平台上的流畅运行,多采用专用的处理器来处理多媒体业务。
如在Qucalcomm MSM 7K 平台上,就包含了4 个处理器内核,Qucalcomm MSM 7K 平台采用ARM 9(mARM,modemARM)处理基带业务;采用mDSP(Modem DSP)来处理协议栈业务;采用ARM 11(aARM,application ARM)来负责Linux 操作系统的运行;采用aDSP(Application DSP)来处理多媒体业务方面的编/解码加速工作。
通信离不开内存的操作,在Qucalcomm平台上,内存一般分为3种:基带内存(Modem Memory)、应用内存(Application Memory)和共享内存,其中系统MPU保护基带内存不被aARM接入,ARM MMU保护应用内存不被mARM接入。在本章中,将主要介绍基于共享内存的多核通信。
共享内存
在Linux 中,实现进程通信的机制有很多种,如信号、管道、信号量、消息队列、共享内存和套接字等,但共享内存的方式效率最高。
在Aurora 中,共享内存是多核通信的物理基础,其实现主要包括3 个部分:共享内存驱动(SMD,Shared Memory Driver)、共享内存状态机(SMSM,Shared Memory State Machine)和共享内存管理器(SMEM,Shared Memory Manager)。其中SMD 用于多核之间的数据通信;SMSM用于多核之间的状态通信;SMEM是一个底层的协议,是物理RAM共享内存的管理接口,是SMD和SMSM的基础。
SMEM 具有两种分配模式:动态SMEM 和静态SMEM,动态SMEM 根据需要实时分配,静态SMEM则会预先分配。SMEM的主要接口为:smem_alloc()、smem_find()、smem_init()等。
SMEM、SMD、SMSM的实现都需要硬件平台厂商提供支持
参考链接
https://blog.csdn.net/asmxpl/article/details/21027811
最后
以上就是自信自行车为你收集整理的计算机组成原理学习笔记02--多核CPU通信的理解的全部内容,希望文章能够帮你解决计算机组成原理学习笔记02--多核CPU通信的理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复