共享物理内存的多处理器通信系统及其通信方法技术方案

技术编号:15878636 阅读:142 留言:0更新日期:2017-07-25 16:37
提供一种共享物理内存的多处理器通信系统及其通信方法,所述多处理器通信系统包括:多个处理器,其中,所述多个处理器互相发送和接收数据;物理内存,被划分为多个物理内存块,使得每个处理器具有一专用物理内存块;其中,所述多个处理器中的将发送数据的发送处理器将数据发送到所述多个处理器中的将接收数据的接收处理器的专用物理内存块,并且,所述接收处理器从它的专用物理内存块读取所述数据。根据所述多处理器通信系统及其通信方法,多个处理器互相传递数据时,可减少内存空间的占用,提高内存的使用效率,从而提高数据的传输速度。

Multiprocessor communication system for sharing physical memory and communication method thereof

Provides a multi processor communication system and communication method of shared physical memory, including the multi processor communication system: multiple processors, wherein the plurality of processors each other to send and receive data; physical memory is divided into a plurality of physical memory blocks, so that each processor has a special physical memory block; wherein the plurality of processors, the processor will send send data to send data to the plurality of processors will receive data processor dedicated physical memory blocks, and the receiving processor reads the data from its special physical memory block. According to the multiprocessor communication system and the communication method, when a plurality of processors transmit data to each other, the memory space occupation can be reduced, and the utilization efficiency of the memory can be improved, thereby improving the data transmission speed.

【技术实现步骤摘要】
共享物理内存的多处理器通信系统及其通信方法本申请是向中国知识产权局提交的申请日为2014年12月05日、申请号为201410734202.9、专利技术名称为“共享物理内存的多处理器通信系统及其通信方法”的申请的分案申请。
本专利技术总体说来涉及多处理器通信系统的设计。更具体地讲,涉及一种通过共享物理内存来实现多处理器间通信的通信系统及其通信方法。
技术介绍
在现有的多处理器通信系统中,多处理器间通过串行通信接口(例如,UART、USB、SPI等)进行数据通信,利用串行通信接口进行通信时外围电路复杂,传输速度缓慢,难以在多处理器间实现数据量大的通信或对速度要求高的通信。而在现有的共享物理内存的多处理器通信系统中,多处理器间进行数据通信时,不需要外围电路,存取速度快,实时性强。具体说来,在通过共享物理内存进行多处理器间通信的系统中,将物理内存划分为多个专用物理内存块,这样,每个处理器独占一个专用物理内存块以用于运行其专有的软件系统,此外,针对处理器间的数据通信,还会在物理内存中预留一个物理内存块,该物理内存块是全局内存共享区域,包括保存多处理器间通信数据的数据共享缓存区和用于保存并更新数据缓存区状态的状态共享缓存区。通常,为了在现有的共享物理内存的多处理器通信系统进行通信,一般需要预留比较大的全局内存共享区域,而这部分内存空间需要根据特定的硬件系统进行构造(例如,产品的设计需求、处理器的实际数目、每个处理器的应用场景等)来制定相应的使用规划。这种方式存在几个明显的问题:第一、全局内存共享区域长期预留,比较浪费内存(全局内存共享区域一旦静态规划好,确定的数据共享缓存区和状态共享缓存区即无法被动态地释放或回收做其它用途);第二、全局内存共享区域的使用规划不灵活(在因某些原因而要改变内存布局的情况下,需要计算并修改各个处理器上的软件系统中的参数,较为麻烦且容易出错);第三、多处理器间数据通信过程需要两次数据复制的操作(数据需要从发送处理器复制到全局内存共享区域,再从全局共享内存区域复制到接收处理器),效率不高。因此,在现有的通过共享物理内存在多处理器间进行通信的系统中传递数据时,物理内存的使用效率较低,数据传输的速度较慢。
技术实现思路
本专利技术的示例性实施例在于提供一种共享物理内存的多处理器通信系统及其通信方法,以解决现有多处理器通信系统中内存使用效率低、数据传输速度慢的问题。根据本专利技术示例性实施例的一方面,提供一种共享物理内存的多处理器通信系统,包括:多个处理器,其中,所述多个处理器互相发送和接收数据;物理内存,被划分为多个物理内存块,使得每个处理器具有一专用物理内存块;其中,所述多个处理器中的将发送数据的发送处理器将数据发送到所述多个处理器中的将接收数据的接收处理器的专用物理内存块,并且,所述接收处理器从它的专用物理内存块读取所述数据。在所述系统中,发送处理器可请求接收处理器在它的专用物理内存块中分配用于缓存数据的临时数据缓存区,并且,接收处理器可响应于发送处理器的请求而分配临时数据缓存区。在所述系统中,所述数据可以为突发数据,其中,用于缓存突发数据的临时数据缓存区可包括单个缓存区。在所述系统中,所述数据可以为流数据,其中,用于缓存流数据的临时数据缓存区可包括由多个分片组成的循环缓存区。所述系统可还包括:消息盒,暂存突发数据消息,其中,所述突发数据消息可包括指示突发数据传输事件的类型信息。在所述系统中,所述突发数据传输事件可包括以下事件中的至少一项:请求分配临时数据缓存区、临时数据缓存区已分配、临时数据缓存区存有待读取数据、临时数据缓存区中的数据已被读取。在所述系统中,当突发数据传输事件为请求分配临时数据缓存区时,所述突发数据消息可还包括关于请求分配临时数据缓存区的请求参数,其中,所述关于请求分配临时数据缓存区的请求参数包括请求的单个缓存区的大小以及应用标识、发送处理器和接收处理器的标识;当突发数据传输事件为临时数据缓存区已分配时,所述突发数据消息可还包括关于分配临时数据缓存区的分配参数,其中,所述关于分配临时数据缓存区的分配参数可包括实际分配的单个缓存区的大小和位置以及应用标识、发送处理器和接收处理器的标识;当突发传输事件为临时数据缓存区存有待读取数据时,所述突发数据消息可还包括关于临时数据缓存区存有待读取数据的参数,其中,所述关于临时数据缓存区存有待读取数据的参数可包括单个缓存区的地址、待读取数据的长度以及应用标识、发送处理器和接收处理器的标识;当突发传输事件为临时数据缓存区中的数据已被读取时,所述突发数据消息还包括关于临时数据缓存区中的数据已被读取的参数,其中,所述关于临时数据缓存区中的数据已被读取的参数可包括单个缓存区的地址以及应用标识、发送处理器和接收处理器的标识。所述系统可还包括:消息盒,暂存流数据消息,其中,所述流数据消息可包括指示流数据传输事件的类型信息。在所述系统中,所述流数据传输事件可包括以下事件中的至少一项:请求建立流连接、流连接已建立、分片状态发生改变、请求断开流连接、流连接已断开。在所述系统中,当流数据传输事件为请求建立流连接时,所述流数据消息还可包括关于请求建立流连接的请求参数,其中,所述关于请求建立流连接的请求参数可包括组成请求的循环缓存区的分片的数目和每个分片的大小以及应用标识、发送处理器和接收处理器的标识;当流数据传输事件为流连接已建立时,所述流数据消息可还包括关于流连接的唯一标识和实际分配临时数据缓存区的分配参数,其中,所述关于流连接的唯一标识用于全局唯一标识已建立的流连接;所述关于实际分配临时数据缓存区的分配参数可包括组成分配的循环缓存区的分片的数目以及每个分片的大小、位置和编号以及应用标识、发送处理器和接收处理器的标识;当流数据传输事件为请求断开流连接时,所述流数据消息可还包括关于断开流连接的请求参数,其中,所述关于断开流连接的请求参数可包括关于流连接的唯一标识以及应用标识、发送处理器和接收处理器的标识;当流数据传输事件为流连接已断开时,所述流数据消息可还包括关于流连接已断开的参数,其中,所述关于流连接已断开的参数可包括关于流连接的唯一标识以及应用标识、发送处理器和接收处理器的标识。在所述系统中,消息盒可以为从物理内存中划分出的专用区域,或者,消息盒可以为多处理器通信系统中设置的专用硬件寄存器。在所述系统中,消息盒还可暂存常驻消息,其中,所述常驻消息适用于频繁进行消息传递的场景。在所述系统中,所述多处理器通信系统可集成在单芯片系统中,或者,所述多处理器通信系统可集成在共享多端口物理内存的多处理器系统中。根据本专利技术示例性实施例的另一方面,提供一种共享物理内存的多处理器通信系统的通信方法,其中,所述多处理器通信系统包括多个处理器和物理内存,所述多个处理器互相发送和接收数据,所述方法包括:(a)将物理内存划分为多个物理内存块,使得每个处理器具有一专用物理内存块;(b)由所述多个处理器中的将发送数据的发送处理器将数据发送到所述多个处理器中的将接收数据的接收处理器的专用物理内存块;以及(c)由所述接收处理器从它的专用物理内存块读取所述数据。在所述方法中,在步骤(a)和(b)之间,可还包括:(d)发送处理器请求接收处理器在它的专用物理内存块中分配用于缓存数据的临时数据缓存区;(本文档来自技高网
...
共享物理内存的多处理器通信系统及其通信方法

【技术保护点】
一种共享物理内存的多处理器通信系统,包括:多个处理器,其中,所述多个处理器互相发送和接收数据;物理内存,被划分为多个物理内存块,使得每个处理器具有一专用物理内存块;其中,所述多个处理器中的将发送数据的发送处理器将数据发送到所述多个处理器中的将接收数据的接收处理器的专用物理内存块,并且,所述接收处理器从它的专用物理内存块读取所述数据,其中,发送处理器请求接收处理器在它的专用物理内存块中分配用于缓存数据的临时数据缓存区,并且,接收处理器响应于发送处理器的请求而分配临时数据缓存区,其中,所述系统还包括:消息盒,其中,所述消息盒用于暂存若干条具备完整语义的消息,其中,所述发送处理器和所述接收处理器通过所述消息盒进行消息交互,其中,所述临时数据缓存区使用完毕后释放。

【技术特征摘要】
1.一种共享物理内存的多处理器通信系统,包括:多个处理器,其中,所述多个处理器互相发送和接收数据;物理内存,被划分为多个物理内存块,使得每个处理器具有一专用物理内存块;其中,所述多个处理器中的将发送数据的发送处理器将数据发送到所述多个处理器中的将接收数据的接收处理器的专用物理内存块,并且,所述接收处理器从它的专用物理内存块读取所述数据,其中,发送处理器请求接收处理器在它的专用物理内存块中分配用于缓存数据的临时数据缓存区,并且,接收处理器响应于发送处理器的请求而分配临时数据缓存区,其中,所述系统还包括:消息盒,其中,所述消息盒用于暂存若干条具备完整语义的消息,其中,所述发送处理器和所述接收处理器通过所述消息盒进行消息交互,其中,所述临时数据缓存区使用完毕后释放。2.如权利要求1所述的系统,其中,所述数据为突发数据,其中,用于缓存突发数据的临时数据缓存区包括单个缓存区。3.如权利要求1所述的系统,其中,所述数据为流数据,其中,用于缓存流数据的临时数据缓存区包括由多个分片组成的循环缓存区。4.如权利要求2所述的系统,其中,消息盒用于暂存突发数据消息,其中,所述突发数据消息包括指示突发数据传输事件的类型信息。5.如权利要求3所述的系统,其中,消息盒用于暂存流数据消息,其中,所述流数据消息包括指示流数据传输事件的类型信息。6.如权利要求4或5所述的系统,其中,消息盒为从物理内存中划分...

【专利技术属性】
技术研发人员:唐红飞
申请(专利权)人:三星半导体中国研究开发有限公司三星电子株式会社
类型:发明
国别省市:江苏,32

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

1