CN115827506A - 数据写入方法、数据读取方法、装置、处理核和处理器 - Google Patents
数据写入方法、数据读取方法、装置、处理核和处理器 Download PDFInfo
- Publication number
- CN115827506A CN115827506A CN202211261106.8A CN202211261106A CN115827506A CN 115827506 A CN115827506 A CN 115827506A CN 202211261106 A CN202211261106 A CN 202211261106A CN 115827506 A CN115827506 A CN 115827506A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- storage area
- address pointer
- shared memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000013500 data storage Methods 0.000 claims description 59
- 230000007717 exclusion Effects 0.000 claims description 47
- 230000006854 communication Effects 0.000 abstract description 37
- 238000004891 communication Methods 0.000 abstract description 36
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供了一种数据写入方法、数据读取方法、装置、处理核和处理器,属于计算机技术领域,所述数据写入方法,应用于发送端处理核,所述方法包括:确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。本发明方案,采用由共享内存保存数据地址指针和目标消息数据的消息长度的方式,相较于把目标消息数据直接写入共享内存中,减少多核通信时的数据处理量,提高核间通信的实时性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据写入方法、数据读取方法、装置、处理核和处理器。
背景技术
车联万物(Vehicle to Everything,V2X)是指车辆到一切的无线通信。V2X系统旨在通过允许车与几乎所有可检测的东西进行通讯来提高车辆的安全性、舒适性和便利性。
在V2X车载设备中,系统级芯片(System on Chip,SOC)是通信芯片的核心零部件。由于半导体工艺的极限限制,继续制造高性能的单核处理器将成为一道难以跨越的坎。随之带来的功耗和散热问题也难以得到解决。在此情况下,越来越多的半导体厂商倾向于制造功耗更低、性能均衡的多核处理器以提高处理器的综合性能。按照内核架构是否相同,可以分为多核同构与多核异构。多核异构,可以实现芯片物尽其用,在多核异构方式下,一部分处理器用于管理调度,另外一部分处理器用于特定的性能加速,每个处理器的核针对不同的需求而设定,可以提高应用的计算性能和实时性能。
因此,V2X车载设备中的通信芯片SOC采用了多核处理器来支持V2X所需的算力,以支撑上层所进行的V2X应用实例的开发,其中,应用(Application,APP)和高层介质访问控制(Medium Access Control,MAC)协议处理运行在嵌入式处理器(Advanced RISCMachines,ARM)上,物理层处理运行在数字信号处理器(Digital Signal Processing,DSP)上。
随着多核处理器的应用,片上各处理核之间的通信需求也越来越大。但是在现有的多核处理器的核间通信过程中,发送端处理核在向接收端处理核发送数据时,需要经过两次数据拷贝,导致多核通信时的数据处理量大,影响核间通信的实时性。
发明内容
本发明实施例提供一种数据写入方法、数据读取方法、装置、处理核和处理器,用以解决现有技术中,多核通信时的数据处理量大,影响核间通信的实时性的问题。
为了解决上述技术问题,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供一种数据写入方法,应用于发送端处理核,所述方法包括:
确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
可选地,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
可选地,所述方法还包括:
在所述消息数据存储区域已满的情况下,生成告警信息。
可选地,所述将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域之后,所述方法还包括:
根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
可选地,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域之前,所述方法还包括:
获取所述互斥锁;
所述根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值之后,所述方法还包括:
释放所述互斥锁。
第二方面,本发明实施例还提供一种数据读取方法,应用于接收端处理核,所述方法包括:
读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
对所述共享内存帧头进行初始化处理;
对所述消息数据存储区域进行初始化处理。
可选地,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
可选地,所述方法还包括:
在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
可选地,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
申请新的第一存储区域;
将所述第一数据地址指针指向所述新的第一存储区域;
将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
可选地,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
可选地,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
获取所述互斥锁;
所述根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值之后,所述方法还包括:
释放所述互斥锁。
第三方面,本发明实施例还提供一种数据写入装置,应用于发送端处理核,所述装置包括:
第一确定模块,用于确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
写入模块,用于将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
可选地,所述第一确定模块,包括:
第一获取单元,用于获取所述读索引和所述写索引;
第一确定单元,用于根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
第二确定单元,用于在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
可选地,所述第一确定模块,还包括:
第一生成单元,用于在所述消息数据存储区域已满的情况下,生成告警信息。
可选地,所述装置还包括:
第一修改模块,用于根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
可选地,所述装置还包括:
第一获取模块,用于获取所述互斥锁;
第一释放模块,用于释放所述互斥锁。
第四方面,本发明实施例还提供一种数据读取装置,应用于接收端处理核,所述装置包括:
读取模块,用于读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
发送模块,用于将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述装置还包括:
第一处理模块,用于对所述共享内存帧头进行初始化处理;
第二处理模块,用于对所述消息数据存储区域进行初始化处理。
可选地,所述读取模块,包括:
第二获取单元,用于获取所述读索引和所述写索引;
第三确定单元,用于根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
处理单元,用于在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
可选地,所述读取模块,还包括:
第二生成单元,用于在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
可选地,所述装置还包括:
申请模块,用于申请新的第一存储区域;
第三处理模块,用于将所述第一数据地址指针指向所述新的第一存储区域;
第四处理模块,用于将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
可选地,所述装置还包括:
第二修改模块,用于根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
可选地,所述装置还包括:
第二获取模块,用于获取所述互斥锁;
第二释放模块,用于释放所述互斥锁。
第五方面,本发明实施例还提供一种处理器,包括发送端处理核、接收端处理核和共享内存;
其中,所述发送端处理核用于执行如第一方面中任一项所述的数据写入方法;
所述接收端处理核用于执行如权第二方面中任一项所述的数据读取方法。
第六方面,本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如第一方面中任一项所述的数据写入方法中的步骤,或,实现如第二方面中任一项所述的数据读取方法中的步骤。
本发明的有益效果是:
本发明方案,通过确定发送端处理核和接收端处理核的共享内存中的第一数据地址指针以及第一数据地址指针对应的第一消息长度存储区域,将目标消息数据写入第一数据地址指针指示的预设的第一存储区域,并将目标消息数据的消息长度写入第一消息长度存储区域,而非把目标消息数据直接写入共享内存中,由共享内存保存数据地址指针和目标消息数据的消息长度,减少多核通信时的数据处理量,提高核间通信的实时性。
附图说明
图1表示本发明实施例提供的数据写入方法的流程图;
图2表示本发明实施例提供的共享内存中存储的数据内容示意图;
图3表示本发明实施例提供的数据读取方法的流程图;
图4表示本发明实施例提供的数据写入装置的结构示意图;
图5表示本发明实施例提供的数据读取方法的结构示意图;
图6表示本发明实施例提供的处理器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
在进行具体实施方式的说明之前,首先进行说明如下:
共享内存是多核通信的物理基础,共享内存就是允许多核处理器中的多个处理核访问同一段物理内存,通过共享内存进行多核处理器的核间通信是一种非常有效的方式。
在现有的多核通信方案中,使用较大的共享内存作为循环缓存区,循环缓存区增加帧头,由帧头的读写指针判断收发数据长度,一方写入一方读取,核间使用单向终端通知方式,发送方发送数据后通过中断通知对方。例如:A核(发送端处理核)向B核(接收端处理核)发送数据,A核首先判断B核的共享内存是否有空闲空间,如果有空闲空间满足要求则A核将待发送数据拷贝到B核接收共享内存的写指针位置处,并修改写指针,且A核向B核发送中断通知,B核获得中断通知后,会在接收共享内存的读指针位置处读取有效长度的数据拷贝到用户内存中。即现有的核间通信方案中,A核向B核发送数据时,需要经过两次数据拷贝,首先A核拷贝待发送数据到目的核(B核)的共享内存,然后B核将数据从共享内存中拷贝到B核对应的用户内存中,在现有的多核通信方案中,会为每个处理核(B核)分配一个足够大的共享内存存储空间来接收其他处理核(A核)发送过来的数据。这个共享内存存储空间必须是连续的,且要根据应用中的最大数据通信需求进行预留。但是在实际使用中,各处理核的核间通信数据量也许达不到预留的最大存储空间,这样就会造成存储空间的浪费,并且上述的多核通信方案中如果多核数据通信的消息数据大小进行了修改,则各处理核的共享内存存储空间都需要重新进行规划,这样将会增加多核数据通信实现的复杂度且不易于代码移值。现有的多核通信方案中,A核向B核发送数据时需要经过两次数据拷贝,首先A核拷贝待发送数据到目的核的共享内存,然后B核将该发送数据从共享内存中拷贝到用户内存,这样将会增加多核数据通信的处理量,从而影响多核间通信的实时性。
本发明针对现有技术中,多核通信时的数据处理量大,影响核间通信的实时性的问题,提供一种数据写入方法、数据读取方法、装置、处理核和处理器。
如图1所示,本发明实施例提供一种数据写入方法,应用于发送端处理核,所述方法包括:
步骤101:确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存。
在本步骤中,使用共享内存作为循环缓存区。共享内存中存储有数据地址指针以及与数据地址指针对应的消息长度存储区域。其中,数据地址指针指向的存储区域由接收端处理核预先申请好,数据地址指针和消息长度存储区域放在共享内存中。
发送端处理核和接收端处理核为一多核处理器中的两个不同的处理核。
在发送端处理核发送待发送消息数据(目标消息数据)时,首先确定共享内存中的第一数据地址指针,以及与第一数据地址指针对应的第一消息长度存储区域。
步骤102:目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
在本步骤中,发送端处理核将目标消息数据写入到上述的第一数据指针对应的预设的第一存储区域,并将目标消息数据的消息长度写入到该第一数据指针对应的第一消息长度存储区域中。
需要说明的是,在进行目标消息数据写入时,需要按照共享内存中的数据地址指针和对应的消息长度存储区域的排列顺序,依次将消息数据写入每个数据地址指针对应的预设的存储区域,因此,在确定第一数据地址指针时,是将上一个写入的消息数据的预设的存储区域对应的数据地址指针的下一个数据地址指针。需要说明的是,在共享内存为循环缓冲(buffer)的情况下,上一个写入的消息数据的预设的存储区域对应的数据地址指针是共享内存中最大消息数对应的数据地址指针的情况下,下一个数据地址指针为最初始的数据地址指针(即共享内存中消息数0对应的数据地址指针)。
还需要说明的是,在发送端处理核将发送完目标消息数据后,即将目标消息数据写入第一数据地址指针指示的预设的第一存储区域,并将目标消息数据的消息长度写入第一消息长度存储区域后,发送端处理核通过中断通知接收端处理核,即使用共享内存加单向中断同步机制来管理和收发数据。
本发明实施例,通过确定发送端处理核和接收端处理核的共享内存中的第一数据地址指针以及第一数据地址指针对应的第一消息长度存储区域,将目标消息数据写入第一数据地址指针指示的预设的第一存储区域,并将目标消息数据的消息长度写入第一消息长度存储区域,而非把目标消息数据直接写入共享内存中,即共享内存中管理的不是消息数据,而是保存数据地址指针和目标消息数据的消息长度,减少多核通信时的数据处理量,提高核间通信的实时性。并且共享内存中只需要保存数据地址指针和消息长度,避免了共享内存的存储空间的浪费,且在多核之间进行数据通信时,如果进行核间通信的消息数据发生变化,该共享内存的大小也不用修改或进行很小的改动,这样就会降低多核间通信实现的复杂度,也会便于代码移植。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
本发明实施例提供的共享内存中存储的数据内容请参阅图2,共享内存包括共享内存帧头和消息数据存储区域。
具体地,共享内存中的共享内存帧头包含了消息数存储区域、互斥锁、读索引和写索引。共享内存中的共享内存帧头用来维护多核核间通信实现的各参数值。共享内存帧头中的消息数存储区域用于存储预设的核间通信的最大消息数,该最大消息数即为可存储消息数据的数据地址指针的个数和对应的消息长度存储区域的个数(消息数由0开始计数,最大消息数为图2中的n),其中,最大消息数根据用户实际需求进行设置,且只在核间通信初始化时设置一次即可;互斥锁用来实现资源互斥访问保护,且互斥锁用来保证本核访问该共享内存的互斥保护并不进行跨核互斥保护;读索引指向了接收端处理核的帧读取位置,由接收端处理核每读取一次数据后填写,即接收端处理核根据共享内存帧头中的读索引值,将已经接收的数据,以数据地址指针的形式返回给上层调用者(上层用户),上层处理完数据后,释放内存;写索引指向了发送端处理核的帧写入位置,由发送端处理核每写入一次数据后填写,即发送端处理核根据共享内存帧头中的写索引值,将发送数据写入到指定的内存地址。
共享内存还包括消息数据存储区域,消息数据存储区域包括用于消息数据存储的数据地址指针和用于存储消息数据的消息长度的消息长度存储区域,且数据地址指针和消息长度存储区域是以数据帧的形式存在,即消息数据存储区域包括多个数据帧,每个数据帧的帧结构包括数据地址指针和消息长度存储区域,即如图2所示,本发明实施例提供的共享内存一共包括两种帧格式,分别为共享内存帧头和每个数据帧,数据地址指针是消息数据存放的地址指针,由接收端处理核申请后填写到共享内存的每个数据帧中。接收端处理核每读取一帧后,需要重新申请新内存并赋值到这个指针中。消息长度存储区域是发送端处理核在此数据帧中实际写入的目标消息数据的消息长度,接收端处理核读取这个数值作为此帧的实际的目标消息数据的消息长度。发送端处理核每写入一数据帧后,需要填写这个参数。
可选地,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
获取共享内存中的读索引的索引值和写索引的索引值,根据读索引的索引值和写索引的索引值,判断共享内存中消息数据存储区域的缓冲是否已满,如果判断未满,则根据写索引的索引值获取消息数据存储区域中目标消息数据对应的数据帧的位置,该数据帧中的数据地址指针即为第一数据地址指针,拷贝该目标消息数据至该数据帧中的第一数据地址指针指向的预设的第一存储区域,并将该目标消息数据的消息长度写入到第一数据地址指针对应的该数据帧中的第一消息存储区域处。
需要说明的是,共享内存帧头中的读索引的索引值和写索引值相等时,可能是共享内存的缓冲(buffer)满也可能是buffer空,接收端处理核不能判断。为了避免这种情况,发送端处理核在计算消息数据存储区域中的空闲空间时,应该保证不要满载,至少保留一个空闲数据帧大小,这样保证共享内存帧头中的读索引的索引值和写索引的索引值相等时,共享内存的buffer为空。由于共享内为循环buffer,(写索引的索引值+1)=读索引的索引值,表示共享内存中消息数据存储区域的缓冲已满。
可选地,所述方法还包括:
在所述消息数据存储区域已满的情况下,生成告警信息。
若根据读索引的索引值和写索引值判断共享内存中消息数据存储区域的缓冲已满,则返回告警信息。
可选地,所述将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域之后,所述方法还包括:
根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
在发送端处理核将目标消息数据拷贝至第一数据地址指针指示的预设的第一存储区域,并将目标消息数据的消息长度写入第一消息长度存储区域之后,修改当前的写索引的索引值为(写索引的索引值+1)%最大消息数,其中,%表示取余。
可选地,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域之前,所述方法还包括:
获取所述互斥锁;
所述根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值之后,所述方法还包括:
释放所述互斥锁。
即在发送端处理核将目标消息数据拷贝至第一数据地址指针指示的预设的第一存储区域,并将目标消息数据的消息长度写入第一消息长度存储区域之前,获取共享内存中的互斥锁,采用互斥访问的方式确定共享内存中的第一数据地址指针以及第一数据地址指针对应的第一消息长度存储区域,并进行后续的将目标消息数据拷贝至第一数据地址指针指示的预设的第一存储区域,将目标消息数据的消息长度写入第一消息长度存储区域,以及后续的根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值,完成后,释放互斥锁。
如图3所示,本发明实施例还提供一种数据读取方法,应用于接收端处理核,所述方法包括:
步骤301:读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
在本步骤中,接收端处理核接收到发送端处理核发送的中断通知后,接收端处理核读取共享内存中的第一数据地址指针,以及第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度。
步骤302:将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
在本步骤中,接收端处理核将第一数据地址指针和目标消息数据的消息长度返回给接收端处理核的上层调用者(上层用户),上层用户根据目标消息数据的消息长度在第一数据地址指针指向的预设的第一存储区域中调用目标消息数据。
本发明实施例,发送端处理核将目标消息数据写入共享内存的第一数据地址指针中,接收端处理核读取第一数据地址指针和第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度,将第一数据地址指针和目标消息数据的消息长度发送给接收端处理核的上层用户,以使上层用户根据第一数据地址指针从预设的第一存储区域拷贝目标消息数据并进行使用,减少了消息数据拷贝的次数,提升核间数据通信的实时性。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
对所述共享内存帧头进行初始化处理;
对所述消息数据存储区域进行初始化处理。
在配置完接收端处理核和发送端处理核共享的共享内存后,接收端处理核需要对共享内存进行初始化处理,在接收端处理核对共享内存进行初始化完毕后即可进行后续的发送端处理核写入数据和接收端处理核读出数据的核间数据通信。
对共享内存进行初始化的操作包括:
共享内存帧头初始化,包括:在最大消息数存储区域设置最大消息数、互斥锁标志清零、读索引的索引值和写索引的索引值清零。
消息数据存储区域初始化,包括:将消息数据存储区域中的所有数据帧初始化,即接收端处理核将预先申请好存储区域以及将预先申请好的内存地址指针写入到共享内存中每个数据帧的数据地址指针中,每个数据地址指针对应的消息长度存储区域的长度值都赋初值为0。
可选地,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
在接收端处理核读取第一数据地址指针以及第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长之前,先获取共享内存中的读索引的索引值和写索引的索引值,根据读索引的索引值和写索引的索引值判断共享内存中是否存在未读取的数据帧,在共享内存中存在未读取的数据帧的情况下,根据读索引的索引值,确定共享内存中已经接收到目标消息数据的数据帧的位置,根据该数据帧的位置,读取该数据帧中的第一数据地址指针和第一消息长度存储区域中写入的目标消息数据的消息长度。
可选地,所述方法还包括:
在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
在根据共享内存中的读索引的索引值和写索引的索引值判断共享内存中不存在未读取的数据帧的情况下,生成第一指示信息,即该第一指示信息用于指示共享内存中不存在未读取的数据地址指针和消息数据的消息长度。
可选地,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
申请新的第一存储区域;
将所述第一数据地址指针指向所述新的第一存储区域;
将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
在接收端处理核将第一数据地址指针和目标消息数据的消息长度发送给上层用户,以使上层用户根据目标消息数据的消息长度在第一数据地址指针指向的第一存储区域中调用目标消息数据后,释放该第一存储区域,接收端处理核重新申请新的第一存储区域,将新申请的新的第一存储区域的地址指针赋值到第一数据地址指针处,即将所述第一数据地址指针指向新的第一存储区域,并设置第一数据地址指针对应的第一消息长度存储区域中的消息长度的值为0。
可选地,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
在接收端处理核处理根据读索引的索引值将第一数据地址指针和目标消息数据的消息长度发送上层用户后,修改当前的读索引的索引值为(读索引的索引值+1)%最大消息数,其中,%表示取余。
可选地,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
获取所述互斥锁;
所述根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值之后,所述方法还包括:
释放所述互斥锁。
即在接收端处理核读取共享内存中的第一数据地址指针,以及第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,获取共享内存中的互斥锁,采用互斥访问的方式读取共享内存中的第一数据地址指针,以及第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度,并进行后续的将第一数据地址指针对应和目标消息数据的消息长度发送给接收端的上层用户,进行以及后续的根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值,完成后,释放互斥锁。
如图4所示,本发明实施例还提供一种数据写入装置,应用于发送端处理核,所述装置包括:
第一确定模块401,用于确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
写入模块402,用于将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
可选地,所述第一确定模块401,包括:
第一获取单元,用于获取所述读索引和所述写索引;
第一确定单元,用于根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
第二确定单元,用于在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
可选地,所述第一确定模块401,还包括:
第一生成单元,用于在所述消息数据存储区域已满的情况下,生成告警信息。
可选地,所述装置还包括:
第一修改模块,用于根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
可选地,所述装置还包括:
第一获取模块,用于获取所述互斥锁;
第一释放模块,用于释放所述互斥锁。
需要说明的是,本发明实施例提供的数据写入装置是能够执行上述的数据写入方法的装置,则上述的数据写入方法的所有实施例均适用于该装置,且能够达到相同或者相似的技术效果。
如图5所示,本发明实施例还提供一种数据读取装置,应用于接收端处理核,所述装置包括:
读取模块501,用于读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
发送模块502,用于将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述装置还包括:
第一处理模块,用于对所述共享内存帧头进行初始化处理;
第二处理模块,用于对所述消息数据存储区域进行初始化处理。
可选地,所述读取模块501,包括:
第二获取单元,用于获取所述读索引和所述写索引;
第三确定单元,用于根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
处理单元,用于在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
可选地,所述读取模块501,还包括:
第二生成单元,用于在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
可选地,所述装置还包括:
申请模块,用于申请新的第一存储区域;
第三处理模块,用于将所述第一数据地址指针指向所述新的第一存储区域;
第四处理模块,用于将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
可选地,所述装置还包括:
第二修改模块,用于根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
可选地,所述装置还包括:
第二获取模块,用于获取所述互斥锁;
第二释放模块,用于释放所述互斥锁。
需要说明的是,本发明实施例提供的数据读取装置是能够执行上述的数据读取方法的装置,则上述的数据读取方法的所有实施例均适用于该装置,且能够达到相同或者相似的技术效果。
如图6所示,本发明实施例还提供一种处理器600,所述处理器为多核处理器,包括发送端处理核601、接收端处理核602和共享内存603;
其中,所述发送端处理核601用于执行:
确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
可选地,所述发送端处理核601,具体用于:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
可选地,所述发送端处理核601,具体还用于:
在所述消息数据存储区域已满的情况下,生成告警信息。
可选地,所述发送端处理核601,具体还用于:
根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
可选地,所述发送端处理核601确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域之前,还用于:
获取所述互斥锁;
所述发送端处理核601根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值之后,还用于:
释放所述互斥锁。
所述接收端处理核602用于执行:
读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
可选地,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述接收端处理核602,还用于:
对所述共享内存帧头进行初始化处理;
对所述消息数据存储区域进行初始化处理。
可选地,所述读接收端处理核602,具体用于:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
可选地,所述接收端处理核602,具体还用于:
在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
可选地,所述读接收端处理核602,还用于:
申请新的第一存储区域;
将所述第一数据地址指针指向所述新的第一存储区域;
将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
可选地,所述读接收端处理核602,还用于:
根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
可选地,所述读接收端处理核602读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,还用于:
获取所述互斥锁;
所述读接收端处理核602根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值之后,还用于:
释放所述互斥锁。
本发明具体实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上中任一项所述的数据写入方法中的步骤,或,实现如上中任一项所述的数据读取方法中的步骤。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (17)
1.一种数据写入方法,其特征在于,应用于发送端处理核,所述方法包括:
确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
2.根据权利要求1所述的数据写入方法,其特征在于,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述第一数据地址指针和所述第一消息长度存储区域为所述数据帧中的一个数据帧中的数据地址指针和与所述数据地址指针对应的消息长度存储区域。
3.根据权利要求2所述的数据写入方法,其特征在于,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述消息数据存储区域是否已满;
在所述消息数据存储区域未满的情况下,根据所述写索引的索引值,确定所述写索引值对应的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域。
4.根据权利要求3所述的数据写入方法,其特征在于,所述方法还包括:
在所述消息数据存储区域已满的情况下,生成告警信息。
5.根据权利要求3所述的数据写入方法,其特征在于,所述将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域之后,所述方法还包括:
根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值。
6.根据权利要求5所述的数据写入方法,其特征在于,所述确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域之前,所述方法还包括:
获取所述互斥锁;
所述根据所述最大消息数存储区域中存储的最大消息数,修改所述写索引的索引值之后,所述方法还包括:
释放所述互斥锁。
7.一种数据读取方法,其特征在于,应用于接收端处理核,所述方法包括:
读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
8.根据权利要求7所述的数据读取方法,其特征在于,所述共享内存包括共享内存帧头和消息数据存储区域;
所述共享内存帧头包括最大消息数存储区域、互斥锁、读索引和写索引;
所述消息数据存储区域包括目标个数的数据帧;每个所述数据帧包括一个数据地址指针和与所述数据地址指针对应的消息长度存储区域;所述目标个数为所述最大消息存储区域中存储的最大消息数;
所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
对所述共享内存帧头进行初始化处理;
对所述消息数据存储区域进行初始化处理。
9.根据权利要求8所述的数据读取方法,其特征在于,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度,包括:
获取所述读索引和所述写索引;
根据所述读索引的索引值和所述写索引的索引值,确定所述共享内存中是否存在未读取的数据帧;
在所述共享内存中存在未读取的数据帧的情况下,根据所述读索引的索引值,读取所述第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
其中,所述未读取的数据帧包括所述第一数据地址指针。
10.根据权利要求9所述的数据读取方法,其特征在于,所述方法还包括:
在所述共享内存中不存在未读取的数据帧的情况下,生成第一指示信息。
11.根据权利要求8所述的数据读取方法,其特征在于,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
申请新的第一存储区域;
将所述第一数据地址指针指向所述新的第一存储区域;
将所述第一数据地址指针对应的所述第一消息长度存储区域中的消息长度的值设置为0。
12.根据权利要求9所述的数据读取方法,其特征在于,所述将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户之后,所述方法还包括:
根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值。
13.根据权利要求12所述的数据读取方法,其特征在于,所述读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度之前,所述方法还包括:
获取所述互斥锁;
所述根据最大消息数存储区域中存储的最大消息数,修改所述读索引的索引值之后,所述方法还包括:
释放所述互斥锁。
14.一种数据写入装置,其特征在于,应用于发送端处理核,所述装置包括:
第一确定模块,用于确定共享内存中的第一数据地址指针以及所述第一数据地址指针对应的第一消息长度存储区域;所述共享内存为所述发送端处理核和接收端处理核的共享内存;
写入模块,用于将目标消息数据写入所述第一数据地址指针指示的预设的第一存储区域,并将所述目标消息数据的消息长度写入所述第一消息长度存储区域。
15.一种数据读取装置,其特征在于,应用于接收端处理核,所述装置包括:
读取模块,用于读取共享内存中的第一数据地址指针,以及所述第一数据地址指针对应的第一消息长度存储区域中写入的目标消息数据的消息长度;
发送模块,用于将所述第一数据地址指针和所述目标消息数据的消息长度发送给所述接收端处理核的上层用户;所述第一数据地址指针和所述目标消息数据的消息长度用于指示所述上层用户在预设的第一存储区域中获取所述目标消息数据。
16.一种处理器,其特征在于,包括发送端处理核、接收端处理核和共享内存;
其中,所述发送端处理核用于执行如权利要求1至6中任一项所述的数据写入方法;
所述接收端处理核用于执行如权利要求7至13中任一项所述的数据读取方法。
17.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至6中任一项所述的数据写入方法中的步骤,或,实现如权利要求7至13中任一项所述的数据读取方法中的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211261106.8A CN115827506A (zh) | 2022-10-14 | 2022-10-14 | 数据写入方法、数据读取方法、装置、处理核和处理器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211261106.8A CN115827506A (zh) | 2022-10-14 | 2022-10-14 | 数据写入方法、数据读取方法、装置、处理核和处理器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN115827506A true CN115827506A (zh) | 2023-03-21 |
Family
ID=85524769
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211261106.8A Pending CN115827506A (zh) | 2022-10-14 | 2022-10-14 | 数据写入方法、数据读取方法、装置、处理核和处理器 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115827506A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116841952A (zh) * | 2023-09-01 | 2023-10-03 | 北京智芯微电子科技有限公司 | 核间通信系统、方法、装置、设备、芯片及可读存储介质 |
| CN117407356A (zh) * | 2023-12-14 | 2024-01-16 | 芯原科技(上海)有限公司 | 基于共享内存的核间通信方法、装置、存储介质及终端 |
-
2022
- 2022-10-14 CN CN202211261106.8A patent/CN115827506A/zh active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116841952A (zh) * | 2023-09-01 | 2023-10-03 | 北京智芯微电子科技有限公司 | 核间通信系统、方法、装置、设备、芯片及可读存储介质 |
| CN117407356A (zh) * | 2023-12-14 | 2024-01-16 | 芯原科技(上海)有限公司 | 基于共享内存的核间通信方法、装置、存储介质及终端 |
| CN117407356B (zh) * | 2023-12-14 | 2024-04-16 | 芯原科技(上海)有限公司 | 基于共享内存的核间通信方法、装置、存储介质及终端 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111930676B (zh) | 多处理器间的通信方法、装置、系统及存储介质 | |
| CN112433920B (zh) | 一种埋点数据上报方法、装置、设备及介质 | |
| CN107797848B (zh) | 进程调度方法、装置和主机设备 | |
| CN111294792A (zh) | 一种缓存状态上报方法、终端和计算机存储介质 | |
| CN110430142B (zh) | 用于控制流量的方法和装置 | |
| CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
| CN112559476A (zh) | 一种用于提高目标系统性能的日志存储方法及其相关设备 | |
| CN112698959A (zh) | 一种多核通信方法和装置 | |
| CN112256460A (zh) | 进程间通信方法、装置、电子设备及计算机可读存储介质 | |
| CN114896215A (zh) | 元数据的存储方法及装置 | |
| CN111181874B (zh) | 一种报文处理方法、装置及存储介质 | |
| CN114490459A (zh) | 数据传输方法、装置、设备、接收机和存储介质 | |
| CN118152154B (zh) | 基于共享内存开发的通讯控制方法、系统和可读存储介质 | |
| CN108874560B (zh) | 进行通信的方法和通信设备 | |
| CN111435323B (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
| CN110990169B (zh) | 一种利用共享内存进行进程间字节流通信的结构及方法 | |
| CN111459819A (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
| CN106776393B (zh) | 一种无中断的串口数据接收方法和装置 | |
| CN111767154B (zh) | 用于无阻塞通讯的无锁环形队列实现方法 | |
| CN103294560A (zh) | 跨进程传递字符串的方法及装置 | |
| CN115878550A (zh) | 一种数据处理的方法、芯片、设备以及系统 | |
| CN114741214B (zh) | 一种数据传输方法、装置及设备 | |
| KR20150048028A (ko) | 데이터 전송 관리 방법 | |
| CN115576908A (zh) | 日志文件发送方法、装置和客户端 | |
| CN112214337A (zh) | Ttfc网络发送缓存设计方法、计算机设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |