一种新型多核处理器之间通信方法技术

技术编号:26689611 阅读:20 留言:0更新日期:2020-12-12 02:38
本发明专利技术涉及一种新型多核处理器之间通信方法,包括应用层、核心层、移植层,所述应用层提供了高层次的用户接口,所述应用层定义了三种通信机制:message、pcaket和scalar channel,包含了一些嵌入式应用中必要的一些操作函数,该层的API可以被调用,所述核心层实现数据传递过程中数据发生、发送及使用功能;所述移植层实现将高层次的操作传递到针对不同目标系统的低层次的操作,内部涉及从库接口层到底层实现机制的调用。本发明专利技术的有益效果是:开发者不需要修改各层的函数,这在一定程度上将库实现模块化,降低了库移植的难度;简化了多核通信库的设计,实现高效的数据通信。

【技术实现步骤摘要】
一种新型多核处理器之间通信方法
本专利技术涉及处理器
,具体的说是一种新型多核处理器之间通信方法。
技术介绍
目前开源MCAPI最好的适用平台是PowerPC,而未能移植到其他嵌入式平台上。经分析可知,规范MCAPI在PowerPC平台上的通信过程是利用MSGRs机制实现数据交换,而该机制的相关实现函数,如fsl_send_msg()、fsl_clear_msg()等都存在于mpc85xx.c文件中,该文件是针对处理器的硬件特殊化代码,要移植到其他硬件环境下,需要进行大量的有关平台方面代码的修改,难以移植。
技术实现思路
针对上述现有技术不足,本专利技术提供一种新型多核处理器之间通信方法。本专利技术提供的一种新型多核处理器之间通信方法是通过以下技术方案实现的:一种新型多核处理器之间通信方法,包括应用层、核心层、移植层,所述应用层提供了高层次的用户接口,所述应用层定义了三种通信机制:message、pcaket和scalarchannel,包含了一些嵌入式应用中必要的一些操作函数,该层的API可以被调用,所述核心层实现数据传递过程中数据发生、发送及使用功能;所述移植层实现将高层次的操作传递到针对不同目标系统的低层次的操作,内部涉及从库接口层到底层实现机制的调用;其中:(一)为endpoint端口设计了运行时数据相关的结构体endpointData,发送端与接收端都有自己的消息结构体endpointData,每一个消息信息的结构体都包含以下几部分:用于消息通信的消息队列标识(msgq_id),预定义的endpoint结构体(endpointDef),标记通道是否打开的标记(open),用于通道通信的消息队列标识(chan_msgq_id),超时操作(timeout)以及用于线程安全的锁(mutex);(二)为等待函数提供了请求结构体句柄request_data,每一个消息请求的结构体都包含以下几部分:用于完成实际操作的回调函数(function),用于指向被回调函数使用的数据指针(data),用于标志请求是否完成的标志位(complete),用于标志是否有空余请求的标志位(reserved)(三)采用共享内存通信:在ARM端MCAPI移植层调用MPM-Transport库函数接口,向DSP传递启动镜像,该启动镜像中包含DSP的启动代码,启动代码中包括DSP中断初始化的一系列操作,之后,ARM端再将要传输的数据送入DDR共享内存中,并向DSP发送中断通知,实现与DSP的通信,当DSP收到中断后,从DDR中获取数据进行处理。所述预定义的endpoint结构体包含:endpoint本身的标识(id),通道类型或无通道标记(type),通道方向(dir),远端endpoint(remote_id),消息队列名字(msg_name)以及通道名字(chan_name)。所述ARM和DSP中都有自己的本地缓存,ARM处理器作为控制端负责控制、管理、加载DSP镜像及传输数据,DSP处理器作为处理端负责具体任务处理,它们之间的数据通信通过共享内存实现,共享内存作为异构多核处理器数据通信的方式,通常需要配合中断机制实现核间的通信,在中断通信的机制下,两个处理器可以通过互相发送中断信号实现通信。本专利技术的有益效果是:开发者不需要修改各层的函数,这在一定程度上将库实现模块化,降低了库移植的难度;简化了多核通信库的设计,实现高效的数据通信;多核通信库的代码实现及各个代码模块之间的调用关系,在规范MCAPI库源码基础上,保留少量头文件及部分函数,使用通用多核通信机制代替PowerPC平台的MSGRs作为多核通信库底层机制,实现了简单且易移植的多核通信库。该多核通信库实现了基本的message、packet及scalar三种通信方式的大部分功能函数,共享内存机制实现,为软件开发人员提供了可移植强且实际可行的轻量级的多核通信库。具体实施方式下面将通过实施例对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1一种新型多核处理器之间通信方法,包括应用层、核心层、移植层,所述应用层提供了高层次的用户接口,所述应用层定义了三种通信机制:message、pcaket和scalarchannel,包含了一些嵌入式应用中必要的一些操作函数,该层的API可以被调用,所述核心层实现数据传递过程中数据发生、发送及使用功能;所述移植层实现将高层次的操作传递到针对不同目标系统的低层次的操作,内部涉及从库接口层到底层实现机制的调用;其中:(一)为endpoint端口设计了运行时数据相关的结构体endpointData,发送端与接收端都有自己的消息结构体endpointData,每一个消息信息的结构体都包含以下几部分:用于消息通信的消息队列标识(msgq_id),预定义的endpoint结构体(endpointDef),标记通道是否打开的标记(open),用于通道通信的消息队列标识(chan_msgq_id),超时操作(timeout)以及用于线程安全的锁(mutex);(二)为等待函数提供了请求结构体句柄request_data,每一个消息请求的结构体都包含以下几部分:用于完成实际操作的回调函数(function),用于指向被回调函数使用的数据指针(data),用于标志请求是否完成的标志位(complete),用于标志是否有空余请求的标志位(reserved)(三)采用共享内存通信:在ARM端MCAPI移植层调用MPM-Transport库函数接口,向DSP传递启动镜像,该启动镜像中包含DSP的启动代码,启动代码中包括DSP中断初始化的一系列操作,之后,ARM端再将要传输的数据送入DDR共享内存中,并向DSP发送中断通知,实现与DSP的通信,当DSP收到中断后,从DDR中获取数据进行处理。实施例2上述步骤(一)中,预定义的endpoint结构体包含:endpoint本身的标识(id),通道类型或无通道标记(type),通道方向(dir),远端endpoint(remote_id),消息队列名字(msg_name)以及通道名字(chan_name)。实施例3上述步骤(三)中,所述ARM和DSP中都有自己的本地缓存,ARM处理器作为控制端负责控制、管理、加载DSP镜像及传输数据,DSP处理器作为处理端负责具体任务处理,它们之间的数据通信通过共享内存实现,共享内存作为异构多核处理器数据通信的方式,通常需要配合中断机制实现核间的通信,在中断通信的机制下,两个处理器可以通过互相发送中断信号实现通信。以上所述实施例仅表示本专利技术的实施方式,其描述较为具体和详细,但并不能理解为对本专利技术范围的限制。应当指出的是,对于本领域的技术人员来说,在不脱离本发本文档来自技高网...

【技术保护点】
1.一种新型多核处理器之间通信方法,包括应用层、核心层、移植层,所述应用层提供了高层次的用户接口,所述应用层定义了三种通信机制:message、pcaket和scalarchannel,包含了嵌入式应用中必要的操作函数,应用层的API可以被调用,所述核心层实现数据传递过程中数据发生、发送及使用功能;所述移植层实现将高层次的操作传递到针对不同目标系统的低层次的操作,内部涉及从库接口层到底层实现机制的调用;其中:/n(一)为endpoint端口设计了运行时数据相关的结构体 endpointData,发送端与接收端都有自己的消息结构体 endpointData,每一个消息信息的结构体都包含以下几部分:用于消息通信的消息队列标识(msgq_id),预定义的 endpoint 结构体(endpointDef),标记通道是否打开的标记(open),用于通道通信的消息队列标识(chan_msgq_id),超时操作(timeout)以及用于线程安全的锁(mutex);/n(二)为等待函数提供了请求结构体句柄request_data,每一个消息请求的结构体都包含以下几部分:用于完成实际操作的回调函数(function),用于指向被回调函数使用的数据指针(data),用于标志请求是否完成的标志位(complete),用于标志是否有空余请求的标志位(reserved);/n(三)采用共享内存通信:在ARM端MCAPI移植层调用 MPM-Transport 库函数接口,向DSP传递启动镜像,该启动镜像中包含DSP的启动代码,启动代码中包括DSP中断初始化的一系列操作,之后,ARM端再将要传输的数据送入DDR 共享内存中,并向DSP发送中断通知,实现与DSP的通信,当DSP收到中断后,从DDR中获取数据进行处理。/n...

【技术特征摘要】
1.一种新型多核处理器之间通信方法,包括应用层、核心层、移植层,所述应用层提供了高层次的用户接口,所述应用层定义了三种通信机制:message、pcaket和scalarchannel,包含了嵌入式应用中必要的操作函数,应用层的API可以被调用,所述核心层实现数据传递过程中数据发生、发送及使用功能;所述移植层实现将高层次的操作传递到针对不同目标系统的低层次的操作,内部涉及从库接口层到底层实现机制的调用;其中:
(一)为endpoint端口设计了运行时数据相关的结构体endpointData,发送端与接收端都有自己的消息结构体endpointData,每一个消息信息的结构体都包含以下几部分:用于消息通信的消息队列标识(msgq_id),预定义的endpoint结构体(endpointDef),标记通道是否打开的标记(open),用于通道通信的消息队列标识(chan_msgq_id),超时操作(timeout)以及用于线程安全的锁(mutex);
(二)为等待函数提供了请求结构体句柄request_data,每一个消息请求的结构体都包含以下几部分:用于完成实际操作的回调函数(function),用于指向被回调函数使用的数据指针(data),用于标志请求是否完成的标志位(complete),用于标志是否有...

【专利技术属性】
技术研发人员:贾阳徐彦飞
申请(专利权)人:苏州长江睿芯电子科技有限公司
类型:发明
国别省市:江苏;32

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

1