CN115221098A - 多核处理器核间通信方法、装置、电子设备和介质 - Google Patents

多核处理器核间通信方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN115221098A
CN115221098A CN202210652675.9A CN202210652675A CN115221098A CN 115221098 A CN115221098 A CN 115221098A CN 202210652675 A CN202210652675 A CN 202210652675A CN 115221098 A CN115221098 A CN 115221098A
Authority
CN
China
Prior art keywords
core
communication
communication request
instruction format
instruction
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
Application number
CN202210652675.9A
Other languages
English (en)
Inventor
彭俊
白宗元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yusur Technology Co ltd
Original Assignee
Yusur Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202210652675.9A priority Critical patent/CN115221098A/zh
Publication of CN115221098A publication Critical patent/CN115221098A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及一种多核处理器核间通信方法、装置、电子设备和存储介质,包括:响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式,其中,通信请求至少包括一路通信请求,指令格式至少包括输入路径和输出路径;根据指令格式,确定通信请求的通信通道,即指令系统包括多核通信的统一指令格式,多核处理器发送的通信请求至指令系统后,指令系统基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高了多核处理器核间通信效率。

Description

多核处理器核间通信方法、装置、电子设备和介质
技术领域
本公开处理器技术领域,尤其涉及一种多核处理器核间通信方法、装置、电子设备和介质。
背景技术
自2000年以来,多核处理器出现了蓬勃发展的势头。在传统的单核处理器时钟不能进一步提高、深亚微米设计难度加大、半导体技术前进步伐放缓的情况下,多核处理器引起了设计者的极大重视。目前,市场上主流处理器几乎均为多核处理器架构。与传统的单核处理器相比,多核处理器并行计算能力更强,可扩展性与可配置性也更好,功耗水平也有一定的优势。
现有技术中,处理器核之间的通信包括多路收发接口,多且复杂,数据通信效率不高,成为限制多核处理器性能提升的瓶颈。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种多核处理器核间通信方法、装置、电子设备和存储介质,提高了多核处理器核间通信效率。
第一方面,本公开实施例提供了一种多核处理器核间通信方法,包括:
响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式,其中,所述通信请求至少包括一路通信请求,所述指令格式至少包括输入路径和输出路径;
根据所述指令格式,确定所述通信请求的通信通道。
可选的,所述获取与所述通信请求对应的指令格式,包括:
获取所述通信请求请求执行的任务指令;
根据所述任务指令从存储器中读取与所述任务指令对应的指令格式。
可选的,所述根据所述指令格式,确定所述通信请求的通信通道,包括:
根据所述指令格式包括的输入路径,确定发送所述通信请求的第一IP核;
根据所述指令格式包括的输出路径,确定接收所述通信请求的第二IP核;
建立所述第一IP核与所述第二IP核之间的通信通道。
可选的,所述建立所述第一IP核和所述第二IP核之间的通信通道,包括:
发送控制命令至所述第一IP核和所述第二IP核;
响应于所述第一IP核和所述第二IP核返回的与所述通信请求对应的通信方式,建立所述第一IP核与所述第二IP核之间的通信通道。
可选的,所述指令格式还包括标识信息;
所述建立所述第一IP核与所述第二IP核之间的通信通道之前,还包括:
根据所述指令格式包括的标识信息,确定所述通信通道的状态信息;
所述建立所述第一IP核和所述第二IP核之间的通信通道,包括:
在所述通信通道的状态信息为第一状态信息时,建立所述第一IP核和所述第二IP核之间的通信通道;
在所述通信请求的通信通道的状态信息为第二状态时,获取下一个所述通信请求对应的指令格式。
可选的,所述获取与所述通信请求对应的指令格式之前,还包括:
根据所述多核处理器发送的所述通信请求的优先级,确定通信请求的执行序列;
所述获取与所述通信请求对应的指令格式,包括:
根据所述通信请求的执行序列,依次确定通信请求对应的指令格式。
可选的,所述响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式之前,还包括:
设置任务指令与指令格式的对应关系。
第二方面,本公开实施例提供一种多核处理器核间通信装置,包括:
指令格式获取模块,用于响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式,其中,所述通信请求至少包括一路通信请求,所述指令格式至少包括输入路径和输出路径;
通信通道确定模块,用于根据所述指令格式,确定所述通信请求的通信通道。
第三方面,本公开实施例提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的多核处理器通信方法、装置、电子设备和存储介质,首先响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式,然后根据指令格式,确定通信请求的通信通道,即指令系统包括多核通信的统一指令格式,多核处理器发送的通信请求至指令系统后,指令系统基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高了多核处理器核间通信效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种多核处理器核间通信方法的流程示意图;
图2是本公开实施例提供的另一种多核处理器核间通信方法的流程示意图;
图3是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图;
图4是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图;
图5是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图;
图6是本公开实施例提供的一种多核处理器核间通信装置的结构示意图;
图7是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
基于现有技术存在的问题,本公开实施例提供一种多核处理器核间通信方法,基于多核处理器发送的通信请求,获取与通信请求对应的指令格式,基于指令格式,确定通信请求的通信通道,即指令系统包括多核通信的统一指令格式,多核处理器发送的通信请求至指令系统后,指令系统基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高多核通信效率。
本公开实施例提供的多核处理器核间通信方法可基于指令系统来执行,该系统可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中,例如计算机等。
终端设备可以是平板电脑、手机、可穿戴设备、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等,本公开对电子设备的具体类型不作任何限制。
其中,本公开对电子设备的操作系统的类型不做限定。例如,Android系统、Linux系统、Windows系统、iOS系统等。
下面以几个具体的实施例对本公开的技术方案进行描述。
S10、响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式。
其中,通信请求至少包括一路通信请求,指令格式至少包括输入路径和输出路径。
多核处理器是指在一枚处理器上集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号,例如网络处理器(NPU,Neural-Network Processing Units)、TCP卸载引擎(TOE,TCPOffload Engine)、远程直接数据存取(RDMA,Remote Direct Memory Access),直接存储器访问(DMA,Direct Memory Access)等。
具体的,指令系统包括多路数据路径和多路控制路径,例如,16路数据路径和8路控制路径,数据路径传输通信数据,控制路径传输控制信号。指令系统接收多核处理器发送的通信请求,多核处理器不同IP核发送通信请求的时间不相同,在同一时间内,指令系统可能会接收到不同IP核发送的通信请求,也可能仅仅接收到某一个IP核发送的通信请求,通信请求包括数据流,数据流示例性可以为通信数据或控制数据,当通信请求包括通信数据时,指令系统通过数据路径接收通信数据,当通信请求包括控制数据时,指令系统通过控制路径接收控制数据。
指令系统基于多核处理器发送的通信请求,从存储器中查找到与通信请求对应的指令格式,示例性的,与通信请求对应的指令格式为【Ip_Core_Index,Ip_Core_Index】,其中,Ip_Core_Index表示通信请求来自哪个IP核,Ip_Core_Index表示数据流出到哪个IP核。
S30、根据指令格式,确定通信请求的通信通道。
当获取到与通信请求对应的指令格式后,可以确定该通信请求来自多核处理器中的哪个IP核,以及该通信请求请求将数据流发送至多核处理器中的哪个IP核,确定该通信请求的通信通道。
由于指令系统基于多核处理器发送的通信请求,获取与通信请求对应的指令格式,即指令系统包括多核通信的统一指令格式,然后基于指令格式确定通信请求的通信通道,即基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高多核通信效率。
本公开实施例提供的多核处理器通信方法,首先响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式,然后根据指令格式,确定通信请求的通信通道,即指令系统包括多核通信的统一指令格式,多核处理器发送的通信请求至指令系统后,指令系统基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高了多核处理器核间通信效率。
图2是本公开实施例提供的另一种多核处理器核间通信方法的流程示意图,本公开实施例是在上述实施例的基础上,如图2所示,步骤S10的一种具体可实施方式,包括:
S101、获取通信请求请求执行的任务指令。
具体的,任务指令为通信请求请求执行的程序段。
每个通信请求请求执行的程序段包括数据流是从哪个IP核输入、数据流输出到哪个IP核等信息。
在具体的实施方式中,指令系统的任意数据路径和控制路径在接收到通信请求后,基于该路径的通信请求,从双口Ram获得Vid_cnt、Start_addr、End_addr数据,然后通过程序段Ram,将Start_addr到End_addr任务命令依次取出,再组装成预设字节数的任务命令输出。
其中,Vid_cnt:表示通信请求对应的执行任务指令的数量,Start_addr:表示通信请求请求执行的任务指令的开始位,End_addr:表示通信请求请求执行的任务指令的结束位。
S102、根据任务指令从存储器中读取与任务指令对应的指令格式。
具体的,存储器可以为指令系统的RAM存储器。
当获取到通信请求请求执行的任务指令后,根据任务指令包括的数据流信息,从存储器中读取与任务指令对应的指令格式。
示例性的,通信请求请求执行的程序段为程序段1,此时,程序段1包括数据流从IP核1输入,输出至IP核2的信息,则从存储器获取的指令格式为【Ip核1,Ip核2】。
本公开实施例提供的多核处理器核间通信方法,响应于多核处理器发送的通信请求,根据通信请求请求执行的任务指令,确定通信请求对应的指令格式,即指令系统包括多个任务指令,每个任务指令包括不同的数据流信息,指令系统根据任务指令包括的数据流信息确定指令格式,当多核处理器发送的通信请求至指令系统后,指令系统基于通信请求请求执行的任务指令,基于多核通信的指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高多核通信效率。
图3是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图,本公开实施例是在上述实施例的基础上,如图3所示,步骤S30的具体实施方式包括:
S301、根据指令格式包括的输入路径,确定发送通信请求的第一IP核。
当获取到与通信请求对应的指令格式后,可以基于指令格式包括的输入路径,确定发送通信请求的第一IP核,示例性的,从存储器获取的指令格式为【Ip核1,Ip核2】,则可以确定发送通信请求的第一IP核为IP核1。
S302、根据指令格式包括的输出路径,确定接收通信请求的第二IP核。
当获取到与通信请求对应的指令格式后,可以基于指令格式包括的输出路径,确定发送通信请求的第二IP核,示例性的,从存储器获取的指令格式为【Ip核1,Ip核2】,则可以确定接收通信请求的第二IP核为IP核2。
S304、建立第一IP核与第二IP核之间的通信通道。
当基于指令格式确定发送通信请求的第一IP核以及接收通信请求的第二IP核后,指令系统发送控制命令至第一IP核和第二IP核,实现第一IP核与第二IP核之间的通信通道的建立。
作为一种具体的实施方式,可选的:发送控制命令至第一IP核和第二IP核;响应于第一IP核和第二IP核返回的与通信请求对应的通信方式,建立第一IP核与第二IP核之间的通信通道。
具体的,指令系统分别发送attach_data控制命令至第一IP核和第二IP核,第一IP核接收指令系统发送的attach_data控制命令后,会通过命令中的IP_Core_Index位来判断是否为本IP核控制命令,如果是,并且attach_val高电平有效,则接受该attach_data控制命令,随后根据attach_data控制命令包括的outport位来判断是第几个端口,存储到对应的fifo中,当outmode位为0,则检查noc方向的ready是否为高,如果为高,则接受axis总线对应outport口的数据,并且经过组帧后按输出到noc,当outmode位为1是,则检查doms方向的ready是否为高,如果为高,则接收axis总线对应outport口的数据,并且经过组帧后输出到doms。
第二IP核接收到指令系统发送的attach_data控制命令后,会通过控制命令中的IP_Core_Index位来判断是否为第二IP核的控制命令,如果是,并且attach_val高电平有效,则此时接受该attach_data控制命令,随后根据attach_data控制命令包括的inport位来判断是第几个端口,存储到对应的fifo中,当inmode位为0,则检查ready是否为高,如果为高,则接受noc对应inport口数据,当inmode位为1,则检查ready是否为高,如果为高,则接收doms对应inport口数据。
其中,包括:Input_Valid位:表示数据流输入的有效位;Input_Mode位:0表示数据流是输入片上网络(NOC,Network On Chip),1表示数据流输入数据对象管理系统(DOMS,Data Object Manage System);In_port位:表示数据流经过IP核的第几个通路;rd_ch位:表示数据流经过DOMS的哪条读通路;Output_Valid位:表示数据流输出的有效位;Output_Mode位:0表示数据流是经过片上网络(NOC,Network On Chip)输出,1表示数据流经过数据对象管理系统(DOMS,Data Object Manage System)输出;Out_port位:表示数据流经过IP核的第几个通路;wr_ch位:表示数据流经过DOMS的哪条写通路。
本公开实施例提供的多核处理器核间通信方法,在根据指令格式包括的输入路径以及输出路径,确定发送通信请求的第一IP和和接收通信请求的第二IP核后,指令系统发送控制指令至第一IP核和第二IP核,基于控制指令确定第一IP核与第二IP核之间的通信通道,其中,控制指令包括第一IP核发送数据流的端口、发送数据流的方式、第二IP核接收数据流的端口、接收数据流的方式等,实现数据流在第一IP核和第二IP核之间的通信。
图4是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图,本公开实施例是在图3对应的实施例的基础上,如图4所示,步骤S304之前还包括:
S303、根据指令格式包括的标识信息,确定通信通道的状态信息。
其中,指令格式还包括标识信息,标识信息用于标识通信通道的状态,通信通道的状态包括占用和空闲。
在建立第一IP核和第二IP核之间的通信通道之前,首先确定第一IP核和第二IP核之间通信通道的状态,指令系统包括优先级分配单元,当指令格式包括的标识信息所对应的占有位(Occupied)为1时,表示当前通信通道已经被分配,并且被占用,通信通道无法分配,通信通道的通信请求的执行过程被阻塞,无法继续执行,直到,该占有位被清零,该通信通道可以被分配通信请求。
当多核处理器核间通信方法包括步骤S303时,步骤S304的实现方式包括:
S3041、在通信通道的状态信息为第一状态信息时,建立第一IP核和第二IP核之间的通信通道。
S3042、在通信请求的通信通道的状态信息为第二状态时,获取下一个通信请求对应的指令格式。
其中,第一状态信息为空闲状态,第二状态信息为占有状态,当获取到通信通道的状态信息为第一状态信息时,此时表征第一IP核和第二IP核之间的通信通道处于空闲状态,此时,可以建立第一IP核和第二IP核之间的通信通道,当获取到通信通道的状态信息为第二状态信息时,此时表征第一IP核和第二IP核之间的通信通道处于占有状态,此时,基于多核处理器发送的通信请求的优先级,获取下一个优先级的通信请求对应的指令格式,进而基于该通信请求对应的指令格式,确定通信通道以及通信通道的状态信息,若下一个优先级的通信请求对应的指令格式包括的标识信息为第一状态时,则建立该通信请求对应的通信通道,否则获取再下一个优先级的通信请求对应的指令格式。
图5是本公开实施例提供的又一种多核处理器核间通信方法的流程示意图,本公开实施例是在上述实施例的基础上,如图5所示,步骤S10之前还包括:
S01、响应于多核处理器发送的通信请求,根据多核处理器发送的通信请求的优先级,确定通信请求的执行序列。
指令系统包括多路数据路径和多路控制路径,例如,16路数据路径和8路控制路径,数据路径传输通信数据,控制路径传输控制信号。指令系统接收多核处理器发送的通信请求,多核处理器不同IP核发送通信请求的时间不相同,在同一时间内,指令系统可能会接收到不同IP核发送的通信请求,也可能仅仅接收到某一个IP核发送的通信请求。当多路通信请求同时到达时,此时,指令系统需要进行轮询仲裁,选择一路通信请求,当被选择通信请求完成通信数据的发送以及处理后,才会释放该路通信请求。然后指令系统对剩余其它通信请求进行轮询仲裁,依次按照此方式轮询仲裁直到没有通信请求为止。指令系统基于仲裁器对输入的各路通信请求进行轮询仲裁,仲裁出来的通信请求,指令系统基于该通信请求获取与该通信请求对应的指令格式。
当多核处理器核间通信方法包括步骤S01时,步骤S10的具体实施方式包括:
S103、根据通信请求的执行序列,依次确定通信请求对应的指令格式。
在基于仲裁器对各路通信请求进行轮询仲裁,确定通信请求的执行序列后,基于通信请求的执行序列,依次确定各通信请求对应的指令格式。
示例性的,指令系统获取的通信请求包括通信请求1、通信请求2、通信请求3和通信请求4,基于轮询仲裁确定多核处理器发送的通信请求的优先级为通信请求1优先级大于通信请求2优先级,通信请求2优先级大于通信请求3优先级,通信请求3优先级大于通信请求4优先级,此时通信请求的执行序列为通信请求1、通信请求2、通信请求3和通信请求4,则指令系统根据通信请求的执行序列,依次确定通信请求对应的指令格式。
作为一种具体的实施方式,可选的,还包括:设置任务指令与指令格式的对应关系。
任务指令包括数据流是从哪个IP核输入、数据流输出到哪个IP核等信息,通过预先在指令系统建立任务指令与指令格式的对应关系,当通信请求请求执行某个任务指令时,可以直接获取到与该任务指令对应的指令格式,进一步提高多核处理器核间通信效率。
图6是本公开实施例提供的一种多核处理器核间通信装置的结构示意图,如图6所示,多核处理器核间通信装置包括:
指令格式获取模块610,用于响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式,其中,通信请求至少包括一路通信请求,指令格式至少包括输入路径和输出路径;
通信通道确定模块620,用于根据指令格式,确定通信请求的通信通道。
本公开实施例提供的多核处理器核间通信装置,指令格式获取模块响应于多核处理器发送的通信请求,获取与通信请求对应的指令格式,通信通道确定模块根据指令格式,确定通信请求的通信通道,即指令系统包括多核通信的统一指令格式,多核处理器发送的通信请求至指令系统后,指令系统基于多核通信的统一指令格式,确定通信请求的数据流的流向,实现数据流在各个IP核之间交互,简化多核通信流程,提高多核通信效率。
作为一种可实施方式,可选的,指令格式获取模块包括:
指令任务获取单元,用于获取通信请求请求执行的任务指令。
指令格式读取单元,用于根据任务指令从存储器中读取与任务指令对应的指令格式。
作为一种可实施方式,可选的,通信通道确定模块包括:
第一IP核确定单元,用于根据指令格式包括的输入路径,确定发送通信请求的第一IP核;
第二IP核确定单元,用于根据指令格式包括的输出路径,确定接收通信请求的第二IP核;
通信通道建立单元,用于建立第一IP核与第二IP核之间的通信通道。
作为一种可实施方式,可选的,通信通道建立单元的具体实施方式包括:
发送控制命令至第一IP核和第二IP核;
响应于第一IP核和第二IP核返回的与通信请求对应的通信方式,建立第一IP核与第二IP核之间的通信通道。
作为一种可实施方式,可选的,还包括:
状态信息确定单元,用于根据指令格式包括的标识信息,确定通信通道的状态信息;
此时,通信通道建立单元的具体实施方式包括:
在通信通道的状态信息为第一状态信息时,建立第一IP核和第二IP核之间的通信通道;
在通信请求的通信通道的状态信息为第二状态时,获取下一个通信请求对应的指令格式。
作为一种可实施方式,可选的,还包括:
执行序列确定模块,用于根据多核处理器发送的通信请求的优先级,确定通信请求的执行序列。
此时,指令格式获取模块的具体实施方式包括:
根据通信请求的执行序列,依次确定通信请求对应的指令格式。
作为一种可实施方式,可选的,还包括:
指令模块,用于设置任务指令与指令格式的对应关系。
本发明实施例所提供的装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本公开还提供一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现上述方法实施例的步骤。
图7为本公开提供的一种电子设备的结构示意图,图7示出了适于用来实现本发明实施例实施方式的示例性电子设备的框图。图7显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:一个或者多个处理器710,系统存储器720,连接不同系统组件(包括系统存储器720和处理器)的总线730。
总线730表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备700典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备700访问的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器720可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)740和/或高速缓存存储器750。电子设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统760可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线730相连。系统存储器720可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块770的程序/实用工具780,可以存储在例如系统存储器720中,这样的程序模块770包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块770通常执行本发明实施例所描述的实施例中的功能和/或方法。
处理器710通过运行存储在系统存储器720中的多个程序中的至少一个程序,从而执行各种功能应用以及信息处理,例如实现本发明实施例所提供的方法实施例。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的步骤。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)域连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行实现上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种多核处理器核间通信方法,其特征在于,包括:
响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式,其中,所述通信请求至少包括一路通信请求,所述指令格式至少包括输入路径和输出路径;
根据所述指令格式,确定所述通信请求的通信通道。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述通信请求对应的指令格式,包括:
获取所述通信请求请求执行的任务指令;
根据所述任务指令从存储器中读取与所述任务指令对应的指令格式。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述指令格式,确定所述通信请求的通信通道,包括:
根据所述指令格式包括的输入路径,确定发送所述通信请求的第一IP核;
根据所述指令格式包括的输出路径,确定接收所述通信请求的第二IP核;
建立所述第一IP核与所述第二IP核之间的通信通道。
4.根据权利要求3所述的方法,其特征在于,所述建立所述第一IP核和所述第二IP核之间的通信通道,包括:
发送控制命令至所述第一IP核和所述第二IP核;
响应于所述第一IP核和所述第二IP核返回的与所述通信请求对应的通信方式,建立所述第一IP核与所述第二IP核之间的通信通道。
5.根据权利要求3所述方法,其特征在于,所述指令格式还包括标识信息;
所述建立所述第一IP核与所述第二IP核之间的通信通道之前,还包括:
根据所述指令格式包括的标识信息,确定所述通信通道的状态信息;
所述建立所述第一IP核和所述第二IP核之间的通信通道,包括:
在所述通信通道的状态信息为第一状态信息时,建立所述第一IP核和所述第二IP核之间的通信通道;
在所述通信请求的通信通道的状态信息为第二状态时,获取下一个所述通信请求对应的指令格式。
6.根据权利要求1所述的方法,其特征在于,所述获取与所述通信请求对应的指令格式之前,还包括:
根据所述多核处理器发送的所述通信请求的优先级,确定通信请求的执行序列;
所述获取与所述通信请求对应的指令格式,包括:
根据所述通信请求的执行序列,依次确定通信请求对应的指令格式。
7.根据权利要求1所述的方法,其特征在于,所述响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式之前,还包括:
设置任务指令与指令格式的对应关系。
8.一种多核处理器核间通信装置,其特征在于,包括:
指令格式获取模块,用于响应于多核处理器发送的通信请求,获取与所述通信请求对应的指令格式,其中,所述通信请求至少包括一路通信请求,所述指令格式至少包括输入路径和输出路径;
通信通道确定模块,用于根据所述指令格式,确定所述通信请求的通信通道。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1~7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任一所述的方法。
CN202210652675.9A 2022-06-07 2022-06-07 多核处理器核间通信方法、装置、电子设备和介质 Pending CN115221098A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210652675.9A CN115221098A (zh) 2022-06-07 2022-06-07 多核处理器核间通信方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210652675.9A CN115221098A (zh) 2022-06-07 2022-06-07 多核处理器核间通信方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN115221098A true CN115221098A (zh) 2022-10-21

Family

ID=83608300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210652675.9A Pending CN115221098A (zh) 2022-06-07 2022-06-07 多核处理器核间通信方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN115221098A (zh)

Similar Documents

Publication Publication Date Title
CN110647480B (zh) 数据处理方法、远程直接访存网卡和设备
US7647416B2 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
CN111651384B (zh) 寄存器的读写方法、芯片、子系统、寄存器组及终端
US9678866B1 (en) Transactional memory that supports put and get ring commands
US9280297B1 (en) Transactional memory that supports a put with low priority ring command
US7480747B2 (en) Method and apparatus to reduce latency and improve throughput of input/output data in a processor
US9390036B2 (en) Processing data packets from a receive queue in a remote direct memory access device
CN112650558B (zh) 数据处理方法、装置、可读介质和电子设备
JP5194014B2 (ja) データワードストリーム処理装置
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
CN112749113A (zh) 一种数据交互的方法、系统、设备及介质
CN111258935A (zh) 数据传输装置和方法
CN112988647A (zh) 一种TileLink总线到AXI4总线转换系统及方法
US6496517B1 (en) Direct attach of interrupt controller to processor module
WO2022032990A1 (zh) 一种命令信息传输方法、系统、装置及可读存储介质
US9342313B2 (en) Transactional memory that supports a get from one of a set of rings command
CN117215989A (zh) 一种异构加速设备、系统、方法、装置及存储介质
US20230153153A1 (en) Task processing method and apparatus
CN115221098A (zh) 多核处理器核间通信方法、装置、电子设备和介质
US9093133B2 (en) Buffer for ordering out-of-order data, and corresponding integrated circuit and method for managing a buffer
CN116670661A (zh) 图形处理器的缓存访问方法、图形处理器及电子设备
CN115297169B (zh) 数据处理方法、装置、电子设备及介质
JPH07226750A (ja) 構内通信網アダプタ
CN117632820B (zh) 请求处理方法、装置、总线桥、电子设备及可读存储介质
US11689605B2 (en) In-network compute assistance

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