[go: up one dir, main page]

CN103176941B - Communication method between cores and agent apparatus - Google Patents

Communication method between cores and agent apparatus Download PDF

Info

Publication number
CN103176941B
CN103176941B CN201310120633.1A CN201310120633A CN103176941B CN 103176941 B CN103176941 B CN 103176941B CN 201310120633 A CN201310120633 A CN 201310120633A CN 103176941 B CN103176941 B CN 103176941B
Authority
CN
China
Prior art keywords
core
access request
access
accessed
valid
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.)
Active
Application number
CN201310120633.1A
Other languages
Chinese (zh)
Other versions
CN103176941A (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.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310120633.1A priority Critical patent/CN103176941B/en
Publication of CN103176941A publication Critical patent/CN103176941A/en
Application granted granted Critical
Publication of CN103176941B publication Critical patent/CN103176941B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供一种核间通信方法和代理装置。该方法包括代理装置接收发起访问的核发送的访问请求;所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;其中,所述代理装置介于所述发起访问的核与所述被访问的核之间。本发明实施例可以提高多核通信的处理性能。

Embodiments of the present invention provide an inter-core communication method and a proxy device. The method includes that the proxy device receives the access request sent by the core that initiates the access; the proxy device determines the accessed core corresponding to the access request according to the pre-configured correspondence; the proxy device initiates an access request to the accessed core communication, so as to realize the communication between the access-initiating core and the accessed core; wherein, the proxy device is interposed between the access-initiating core and the accessed core. The embodiments of the present invention can improve the processing performance of multi-core communication.

Description

核间通信方法和代理装置Inter-core communication method and proxy device

技术领域technical field

本发明涉及通信技术,尤其涉及一种核间通信方法和代理装置。The invention relates to communication technology, in particular to an inter-core communication method and agent device.

背景技术Background technique

多核处理器也可以称为片上多处理器(ChipMulti-Processor,CMP),其结构主要是简化超标量结构,将多个相对简单的超标量处理器核集成到一个芯片上。为了提高多核处理器的性能,需要对不同数目及结构的多处理器核采用不同的互连方法和技术,以达到性能最优。目前多核互连通信主要有核串联通信、共享总线结构、交叉开关互连等方式。A multi-core processor can also be called a chip multi-processor (ChipMulti-Processor, CMP). Its structure is mainly to simplify the superscalar structure and integrate multiple relatively simple superscalar processor cores into one chip. In order to improve the performance of multi-core processors, it is necessary to adopt different interconnection methods and technologies for multi-processor cores with different numbers and structures to achieve optimal performance. At present, multi-core interconnection communication mainly includes core series communication, shared bus structure, and crossbar interconnection.

核串联通信是指完成核1向核2的通信后,核2再向核3发起通信,依此类推,完成所有指定核的通信,通信采用中断的方式上报,这种系统的结构优点是结构简单,但是处理速度慢。共享总线结构(ShareBusFabric,SBF)可以使用线性阵列的总线互连方式,能够使处理单元和存储器、外部设备在不同区段同时分段使用总线,降低了各模块之间竞争使用总线而产生的延时,大大提高了总线的使用效率,但是当连接的处理器核较多时,竞争依然会很严重。交叉开关互连允许由交叉开关(crossbar)以及crossbar接口逻辑构成,每个crossbar由一些地址线、数据线构成,crossbar接口逻辑主要由一些加载队列构成。交叉开关能够使连接在开关结构上的节点同时进行数据交换,保证了多核处理器在空间上处理数据的并行性,极大地提高了总线的带宽。但是,其结构复杂度较高,一旦集成的核数量较多,性能则会下降。Core serial communication means that after the communication from core 1 to core 2 is completed, core 2 initiates communication to core 3, and so on, to complete the communication of all specified cores, and the communication is reported by interruption. The structural advantage of this system is that Simple, but slow to process. The shared bus structure (ShareBusFabric, SBF) can use the bus interconnection method of the linear array, which can enable the processing unit, memory, and external devices to use the bus in different segments at the same time, reducing the delay caused by the competition between the modules to use the bus. When , the efficiency of bus usage is greatly improved, but when there are many connected processor cores, the competition will still be serious. The crossbar interconnection can be composed of a crossbar and crossbar interface logic, each crossbar is composed of some address lines and data lines, and the crossbar interface logic is mainly composed of some load queues. The crossbar can enable the nodes connected to the switch structure to exchange data at the same time, which ensures the parallelism of data processing by the multi-core processor in space, and greatly improves the bandwidth of the bus. However, its structural complexity is high, and once the number of integrated cores is large, the performance will decrease.

发明内容Contents of the invention

有鉴于此,本发明实施例提供了一种核间通信方法和代理装置,用以解决现有技术中存在的处理速度慢或者结构复杂、性能较低的问题。In view of this, an embodiment of the present invention provides an inter-core communication method and a proxy device to solve the problems of slow processing speed or complex structure and low performance in the prior art.

第一方面,提供了一种核间通信方法,包括:In a first aspect, an inter-core communication method is provided, including:

代理装置接收发起访问的核发送的访问请求;The proxy device receives the access request sent by the core that initiates the access;

所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;The proxy device determines the accessed core corresponding to the access request according to the pre-configured correspondence;

所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;The agent device initiates communication with the accessed core, so as to realize the communication between the access-initiating core and the accessed core;

其中,所述代理装置位于所述发起访问的核与所述被访问的核之间。Wherein, the proxy device is located between the access-initiating core and the accessed core.

结合第一方面,在第一方面的第一种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:With reference to the first aspect, in a first possible implementation manner of the first aspect, the proxy device determines the accessed core corresponding to the access request according to a pre-configured correspondence, including:

所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;The proxy device determines a hardware unit corresponding to the access request, wherein the hardware unit is pre-configured in the proxy device;

所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。The proxy device determines the core to be accessed corresponding to the access request according to the pre-configured correspondence in the hardware unit.

结合第一方面,在第一方面的第二种可能的实现方式中,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:With reference to the first aspect, in a second possible implementation manner of the first aspect, the proxy device determines the accessed core corresponding to the access request according to a pre-configured correspondence, including:

所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;The agent device judges whether the number of times of triggering the programmable unit reaches a preset number of times, wherein the programmable unit is pre-configured in the agent device, and each valid access request triggers the programmable unit once;

所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。When the judging result is that the preset number of times is reached, the agent device determines the core to be accessed corresponding to the access request according to a pre-configured correspondence.

结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:With reference to the first or second possible implementation of the first aspect, in a third possible implementation of the first aspect, the access request is an instruction, and the instruction includes the Processor core ID and/or address information, described method also comprises:

所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。The proxy device judges whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship if valid.

结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:With reference to the second possible implementation of the first aspect, in the fourth possible implementation of the first aspect, the access request is a message, and the determination of whether the number of times the programmable unit is triggered reaches the preset number of times , the method also includes:

将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;performing a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string;

将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The bit string after the bitwise OR operation is compared with the preset second bit string, and if they are the same, it is determined that the access request is valid.

第二方面,提供了一种代理装置,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括:In a second aspect, a proxy device is provided, the proxy device is located between a core that initiates an access and a core that is accessed, and the device includes:

接收模块,用于接收发起访问的核发送的访问请求;A receiving module, configured to receive an access request sent by the core that initiates the access;

处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;a processing module, configured to determine the accessed core corresponding to the access request received by the receiving module according to a pre-configured correspondence;

发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。A sending module, configured to initiate communication with the accessed core determined by the processing module, so as to realize communication between the access-initiating core and the accessed core.

结合第二方面,在第二方面的第一种可能的实现方式中,所述处理模块包括:With reference to the second aspect, in a first possible implementation manner of the second aspect, the processing module includes:

确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;A determining unit, configured to determine a hardware unit corresponding to the access request, wherein the hardware unit is pre-configured in the proxy device;

硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。The hardware unit is configured to determine the accessed core corresponding to the access request according to its pre-configured correspondence.

结合第二方面,在第二方面的第二种可能的实现方式中,所述处理模块包括:With reference to the second aspect, in a second possible implementation manner of the second aspect, the processing module includes:

可编程单元,所述可编程单元中包括计数器和确定单元;A programmable unit, which includes a counter and a determination unit;

所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;The counter is used to judge whether the number of times of triggering the programmable unit reaches a preset number of times, wherein each valid access request triggers the programmable unit once;

所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。The determining unit is configured to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship when the determination result of the counter reaches a preset number of times.

结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:With reference to the first or second possible implementation of the second aspect, in a third possible implementation of the second aspect, the access request is an instruction, and the instruction includes the Processor core ID and/or address information, the device also includes:

第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。A first judging module, configured to judge whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence when valid .

结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述访问请求为消息,所述装置还包括:With reference to the second possible implementation of the second aspect, in a fourth possible implementation of the second aspect, the access request is a message, and the device further includes:

第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The second decision module is used to perform a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string; and perform a bitwise OR operation on the bitwise OR-operated bit string with a preset second bit Strings are compared, and if they are the same, it is determined that the access request is valid.

通过上述技术方案,在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。Through the above technical solution, an agent device is set between the core that initiates the access and the core that is accessed, and the corresponding relationship is pre-configured in the agent device, and the communication between the core that initiates the access and the core that is accessed can be realized according to the corresponding relationship, The processing speed can be increased and the complexity can be reduced, thereby improving the processing performance of inter-core communication.

附图说明Description of drawings

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings that need to be used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained based on these drawings without any creative effort.

图1为本发明实施例提供的一种核间通信方法的流程示意图;FIG. 1 is a schematic flowchart of an inter-core communication method provided by an embodiment of the present invention;

图2为本发明实施例提供的另一种核间通信方法的流程示意图;FIG. 2 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention;

图3a为本发明实施例中配置硬件单元时1对1场景下采用中断方式进行核间通信的示意图;FIG. 3a is a schematic diagram of inter-core communication using an interrupt mode in a 1-to-1 scenario when a hardware unit is configured in an embodiment of the present invention;

图3b为本发明实施例中配置硬件单元时1对1场景下采用消息方式进行核间通信的示意图;FIG. 3b is a schematic diagram of inter-core communication using message mode in a 1-to-1 scenario when hardware units are configured in an embodiment of the present invention;

图4a为本发明实施例中配置硬件单元时1对多场景下采用中断方式进行核间通信的示意图;FIG. 4a is a schematic diagram of inter-core communication using an interrupt mode in a 1-to-many scenario when a hardware unit is configured in an embodiment of the present invention;

图4b为本发明实施例中配置硬件单元时1对多场景下采用消息方式进行核间通信的示意图;FIG. 4b is a schematic diagram of inter-core communication using message mode in a 1-to-many scenario when hardware units are configured in an embodiment of the present invention;

图5a为本发明实施例中配置硬件单元时多对1场景下采用中断方式进行核间通信的示意图;FIG. 5a is a schematic diagram of inter-core communication using an interrupt mode in a many-to-one scenario when configuring hardware units in an embodiment of the present invention;

图5b为本发明实施例中配置硬件单元时多对1场景下采用消息方式进行核间通信的示意图;FIG. 5b is a schematic diagram of inter-core communication using message mode in a many-to-one scenario when hardware units are configured in an embodiment of the present invention;

图6a为本发明实施例中配置硬件单元时多对多场景下采用中断方式进行核间通信的示意图;FIG. 6a is a schematic diagram of inter-core communication using an interrupt mode in a many-to-many scenario when configuring hardware units in an embodiment of the present invention;

图6b为本发明实施例中配置硬件单元时多对多场景下采用消息方式进行核间通信的示意图;FIG. 6b is a schematic diagram of inter-core communication using message mode in a many-to-many scenario when hardware units are configured in an embodiment of the present invention;

图7为本发明实施例提供的另一种核间通信方法的流程示意图;FIG. 7 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention;

图8a为本发明实施例中配置可编程单元且访问请求为指令时采用中断方式进行核间通信的示意图;Fig. 8a is a schematic diagram of inter-core communication in an interrupt mode when a programmable unit is configured and the access request is an instruction in an embodiment of the present invention;

图8b为本发明实施例中配置可编程单元且访问请求为指令时采用消息方式进行核间通信的示意图;Fig. 8b is a schematic diagram of inter-core communication in message mode when the programmable unit is configured and the access request is an instruction in the embodiment of the present invention;

图9为本发明实施例提供的另一种核间通信方法的流程示意图;FIG. 9 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention;

图10为本发明实施例中当访问请求为消息时对访问请求进行有效性判决时的示意图;FIG. 10 is a schematic diagram of validating an access request when the access request is a message in an embodiment of the present invention;

图11a为本发明实施例中配置可编程单元且访问请求为消息时采用中断方式进行核间通信的示意图;Figure 11a is a schematic diagram of inter-core communication in an interrupt mode when a programmable unit is configured and the access request is a message in an embodiment of the present invention;

图11b为本发明实施例中配置可编程单元且访问请求为消息时采用消息方式进行核间通信的示意图;Fig. 11b is a schematic diagram of inter-core communication using a message mode when a programmable unit is configured and the access request is a message in an embodiment of the present invention;

图12为本发明实施例提供的一种代理装置的结构示意图;FIG. 12 is a schematic structural diagram of an agent device provided by an embodiment of the present invention;

图13为本发明实施例提供的另一种代理装置的结构示意图。FIG. 13 is a schematic structural diagram of another agent device provided by an embodiment of the present invention.

具体实施方式detailed description

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

图1为本发明实施例提供的一种核间通信方法的流程示意图,包括:FIG. 1 is a schematic flow diagram of an inter-core communication method provided by an embodiment of the present invention, including:

11:代理装置接收发起访问的核发送的访问请求;11: The proxy device receives the access request sent by the core that initiates the access;

其中,该代理装置是新增加的设置于发起访问的核与被访问的核之间的装置。通过该代理装置可以完成发起访问的核与被访问的核之间的通信。Wherein, the proxy device is a newly added device arranged between the core that initiates the access and the core that is accessed. The communication between the core that initiates the access and the core that is accessed can be completed through the proxy device.

可选的,该访问请求可以为指令,即不包含具体的内容,而仅包含发起访问的核的处理器核ID和/或要访问的地址的地址信息。或者,Optionally, the access request may be an instruction, that is, it does not contain specific content, but only contains the processor core ID of the core that initiates the access and/or the address information of the address to be accessed. or,

可选的,该访问请求可以为消息,与指令不同的是,该消息中包含具体内容,例如,包含32比特的比特串。Optionally, the access request may be a message, which is different from the instruction in that the message contains specific content, for example, a 32-bit bit string.

12:所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;12: The proxy device determines the accessed core corresponding to the access request according to the pre-configured correspondence;

可选的,该对应关系可以配置在硬件单元中,该硬件单元预先配置在代理装置中。硬件单元的个数可以与发起访问的核一一对应,例如,发起访问的核为核0,那么对应的硬件单元可以为硬件单元0,发起访问的核为核1,那么对应的硬件单元可以为硬件单元1,依次类推。Optionally, the corresponding relationship may be configured in a hardware unit, and the hardware unit is pre-configured in the agent device. The number of hardware units can be in one-to-one correspondence with the cores that initiate access. For example, if the core that initiates access is core 0, then the corresponding hardware unit can be hardware unit 0, and the core that initiates access is core 1, then the corresponding hardware unit can be It is hardware unit 1, and so on.

可选的,该对应关系可以配置在可编程单元中,该可编程单元预先配置在代理装置中。该可编程单元中还可以配置计数器,以便在该计数器的数值达到预先配置的次数时,根据该对应关系发起相应的通信。Optionally, the corresponding relationship may be configured in a programmable unit, and the programmable unit is pre-configured in the agent device. A counter can also be configured in the programmable unit, so that when the value of the counter reaches a pre-configured number of times, corresponding communication is initiated according to the corresponding relationship.

13:所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。13: The proxy device initiates communication with the accessed core, so as to implement communication between the access-initiating core and the accessed core.

可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:Optionally, the proxy device determines the accessed core corresponding to the access request according to a pre-configured correspondence, including:

所述代理装置确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;The proxy device determines a hardware unit corresponding to the access request, wherein the hardware unit is pre-configured in the proxy device;

所述代理装置根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。The proxy device determines the core to be accessed corresponding to the access request according to the pre-configured correspondence in the hardware unit.

可选的,所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:Optionally, the proxy device determines the accessed core corresponding to the access request according to a pre-configured correspondence, including:

所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;The agent device judges whether the number of times of triggering the programmable unit reaches a preset number of times, wherein the programmable unit is pre-configured in the agent device, and each valid access request triggers the programmable unit once;

所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。When the judging result is that the preset number of times is reached, the agent device determines the core to be accessed corresponding to the access request according to a pre-configured correspondence.

可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:Optionally, the access request is an instruction, the instruction includes the processor core ID and/or address information of the core that initiates the access, and the method further includes:

所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。The proxy device judges whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship if valid.

可选的,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:Optionally, the access request is a message, and the method further includes:

将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;performing a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string;

将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The bit string after the bitwise OR operation is compared with the preset second bit string, and if they are the same, it is determined that the access request is valid.

本实施例通过在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。In this embodiment, an agent device is set between the core that initiates the access and the core that is accessed, and the corresponding relationship is pre-configured in the agent device. According to the corresponding relationship, the communication between the core that initiates the access and the core that is accessed can be realized. The processing speed is increased and the complexity can be reduced, thereby improving the processing performance of inter-core communication.

图2为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以配置硬件单元的方式为例,本实施例包括:FIG. 2 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention. This embodiment takes the configuration of hardware units as an example. This embodiment includes:

21:发起访问的核向代理装置发送访问请求;21: The core that initiates the access sends an access request to the proxy device;

该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信息。The access request may be an instruction, which includes processor core ID and/or address information of the core that initiates the access.

22:代理装置判断该访问请求是否有效,若是,执行23,否则执行25。22: The proxy device judges whether the access request is valid, if yes, execute 23, otherwise execute 25.

其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。Wherein, the proxy device can judge whether the access request is valid according to the processor core ID and/or address information included in the access request. For example, the proxy device can pre-configure a list of valid processor core IDs. When the device core ID belongs to the list of processor core IDs, the judgment result is that the access request is valid; or, an effective address information list can be pre-configured in the agent device, and when the address information contained in the access request belongs to the address information list , then the judgment result is that the access request is valid; or, the proxy device can be pre-configured with a valid processor core ID list and address information list, when the processor core ID contained in the access request belongs to the processor core ID list, and When the address information contained in the access request belongs to the address information list, the determination result is that the access request is valid.

23:代理装置根据访问请求确定对应的硬件单元。23: The agent device determines the corresponding hardware unit according to the access request.

在确定访问请求有效后,可以根据该访问请求中携带的处理器核ID和/或地址信息确定对应的硬件单元。例如,可以预先配置处理器核与硬件单元的对应关系,例如配置处理器核0对应硬件单元0,处理器核1对应硬件单元1,因此当处理器核ID为0时,就可以确定对应的硬件单元是硬件单元0。或者,为每个硬件单元配置地址信息,如硬件单元0的地址信息为地址0,当访问请求中包含的地址信息为地址0时,就可以确定对应的硬件单元是硬件单元0。当然,也可以结合处理器ID和地址信息联合配置相应的对应关系。After it is determined that the access request is valid, the corresponding hardware unit may be determined according to the processor core ID and/or address information carried in the access request. For example, the corresponding relationship between processor cores and hardware units can be configured in advance, for example, processor core 0 is configured to correspond to hardware unit 0, and processor core 1 is corresponding to hardware unit 1. Therefore, when the processor core ID is 0, the corresponding The hardware unit is hardware unit 0. Alternatively, address information is configured for each hardware unit. For example, the address information of hardware unit 0 is address 0. When the address information included in the access request is address 0, it can be determined that the corresponding hardware unit is hardware unit 0. Of course, the corresponding corresponding relationship may also be jointly configured in combination with the processor ID and address information.

24:该对应的硬件单元根据预先配置的对应关系,确定该访问请求对应的被访问的核,并发起对该被访问的核的通信。24: The corresponding hardware unit determines the accessed core corresponding to the access request according to the pre-configured correspondence, and initiates communication with the accessed core.

例如,对应的硬件单元为硬件单元0时,硬件单元0接收该次访问请求,硬件单元0中可以预先配置对应关系,例如与硬件单元0对应的被访问的核为处理器核20,那么当硬件单元0接收到该访问请求后就可以发起对处理器核20的访问。For example, when the corresponding hardware unit is hardware unit 0, hardware unit 0 receives the access request, and the corresponding relationship can be pre-configured in hardware unit 0, for example, the core to be accessed corresponding to hardware unit 0 is processor core 20, then when After receiving the access request, the hardware unit 0 can initiate access to the processor core 20 .

另外,当发起访问的核的个数为多个时,可以在相应的硬件单元中设置标识信号,当所有相应的硬件单元的标识信号都有效后,发起对被访问的核的通信。其中,每个硬件单元可以是在接收到访问请求后将各自对应的硬件单元的标识信号标为有效。例如,处理器核10和处理器核11发起访问,分别对应的硬件单元为硬件单元0和硬件单元1,那么当硬件单元0接收到处理器核10发送的访问请求后,硬件单元0可以将自身的标识信号置为有效,当硬件单元1接收到处理器核11发送的访问请求后,硬件单元1可以将自身的标识信号置为有效,当硬件单元0的标识信号和硬件单元1的标识信号都有效后,硬件单元0可以根据自身配置的对应关系,向对应的被访问的核发起通信,以及硬件单元1可以根据自身配置的对应关系,向对应的被访问的核发起通信。In addition, when there are multiple cores that initiate access, identification signals may be set in corresponding hardware units, and when the identification signals of all corresponding hardware units are valid, communication with the accessed cores is initiated. Wherein, each hardware unit may mark the identification signal of its corresponding hardware unit as valid after receiving the access request. For example, processor core 10 and processor core 11 initiate access, and the corresponding hardware units are hardware unit 0 and hardware unit 1, then when hardware unit 0 receives the access request sent by processor core 10, hardware unit 0 can The identification signal of itself is set to valid, and after the hardware unit 1 receives the access request sent by the processor core 11, the hardware unit 1 can set the identification signal of itself to be valid, when the identification signal of the hardware unit 0 and the identification signal of the hardware unit 1 After the signals are valid, the hardware unit 0 can initiate communication to the corresponding accessed core according to the corresponding relationship configured by itself, and the hardware unit 1 can initiate communication to the corresponding accessed core according to the corresponding relationship configured by itself.

上述的设置标识信号有效可以是高电平有效,后者是低电平有效。The above-mentioned setting identification signal can be effective at high level, and the latter is active at low level.

硬件单元发起的与被访问的核之间的通信可以是中断方式,也可以是消息方式。当为消息时,代理装置和被访问的核之间需要设置交叉开关。The communication initiated by the hardware unit and the accessed core can be in interrupt mode or in message mode. When it is a message, a cross switch needs to be set between the agent device and the core to be accessed.

25:结束。25: End.

下面实施例中,发起访问核为中央处理器(CentralProcessUnit,CPU)、数字信号处理器(DigitalSignalProcessor,DSP)、硬件加速器(HardwareAccelerator,HAC)和直接内存存取(DirectMemoryAccess,DMA)中的至少一个,被访问的核为CPU0、CPU1、DSP0和DSP1中的至少一个。In the following embodiments, the initiating access core is at least one of a central processing unit (CentralProcessUnit, CPU), a digital signal processor (DigitalSignalProcessor, DSP), a hardware accelerator (HardwareAccelerator, HAC) and a direct memory access (DirectMemoryAccess, DMA), The core to be accessed is at least one of CPU0, CPU1, DSP0 and DSP1.

参见图3a和图3b,分别示出了1对1访问时的采用中断方式和采用消息方式进行核间通信的示意图。该实施例中,发起访问的核为DMA。Referring to FIG. 3 a and FIG. 3 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode during 1-to-1 access are respectively shown. In this embodiment, the core that initiates access is DMA.

第一步,DMA向代理装置发送访问请求。In the first step, the DMA sends an access request to the proxy device.

第二步,代理装置接收到该访问请求后,可以判断该访问请求是否有效,并确定对应的硬件单元。具体处理流程可以参见上述的22和23。In the second step, after receiving the access request, the proxy device can judge whether the access request is valid, and determine the corresponding hardware unit. For specific processing procedures, refer to 22 and 23 above.

假设对应的硬件单元为硬件单元0。Assume that the corresponding hardware unit is hardware unit 0.

第三步,硬件单元0接收该访问请求。In the third step, hardware unit 0 receives the access request.

第四步,硬件单元0根据预先配置的对应关系,该对应关系指定的被访问的处理器核发起通信。In the fourth step, the hardware unit 0 initiates communication according to the pre-configured corresponding relationship, and the accessed processor core specified by the corresponding relationship.

例如,硬件单元0中预先配置的对应的被访问的处理器核为CPU0,那么向CPU0发起通信。For example, if the pre-configured and corresponding accessed processor core in hardware unit 0 is CPU0, communication is initiated to CPU0.

图3a给出了采用中断的方式,在该方式中,代理装置可以直接通过中断接口向CPU0发起中断。Fig. 3a shows the way of using interrupt, in this way, the proxy device can directly initiate an interrupt to CPU0 through the interrupt interface.

图3b给出了采用消息的方式,通常消息接口只有一个,也就是代理装置的出接口只有一个,此时可以通过交叉开关(crossbar),实现向相应的处理器核发送消息,例如,通过交叉开关将消息发送给CPU0。Figure 3b shows the method of using messages. Usually there is only one message interface, that is, there is only one outgoing interface of the proxy device. At this time, a crossbar can be used to send messages to the corresponding processor cores. For example, through the crossbar The switch sends the message to CPU0.

参见图4a和图4b,分别示出了1对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为1个,为DMA,被访问的处理器核为多个,分别为CPU0和CPU1。与1对1场景不同的时,在硬件单元0中可以预先配置1对多的关系,例如配置的被访问的处理器核包括CPU0和CPU1,那么发起通信的被访问的核包括CPU0和CPU1。其余流程可以参见1对1的场景。Referring to FIG. 4 a and FIG. 4 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode for one-to-many access are respectively shown. In this scenario, there is one processor core that initiates the access, which is DMA, and there are multiple processor cores that are accessed, namely CPU0 and CPU1. Unlike the 1-to-1 scenario, a 1-to-many relationship can be pre-configured in hardware unit 0. For example, the configured accessed processor cores include CPU0 and CPU1, and the accessed cores that initiate communication include CPU0 and CPU1. For the rest of the process, please refer to the 1-to-1 scenario.

参见图5a和图5b,分别示出了多对1访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为1个,为CPU0。与1对1场景不同的是,由于发起访问的处理器为多个,那么触发的硬件单元也可以是多个,例如分别为硬件单元0、硬件单元1和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核都是相同的。例如,硬件单元0配置的被访问的处理器核为CPU0,硬件单元1配置的被访问的处理器核也为CPU0,硬件单元2配置的被访问的处理器核也为CPU0。其余流程可以参见1对1的场景。Referring to FIG. 5 a and FIG. 5 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode are respectively shown during the many-to-one access. In this scenario, there are multiple processor cores that initiate access, namely DMA, HAC, and DSP, and one processor core that is accessed is CPU0. Different from the 1-to-1 scenario, since there are multiple processors that initiate access, multiple hardware units may also be triggered, for example, hardware unit 0, hardware unit 1, and hardware unit 2 respectively. In addition, the accessed processor cores corresponding to the corresponding relationship of each hard disk unit configuration are the same. For example, the accessed processor core configured by hardware unit 0 is CPU0, the accessed processor core configured by hardware unit 1 is also CPU0, and the accessed processor core configured by hardware unit 2 is also CPU0. For the rest of the process, please refer to the 1-to-1 scenario.

参见图6a和图6b,分别示出了多对多访问时的采用中断方式和采用消息方式进行核间通信的示意图。该场景下,该场景下,发起访问的处理器核为多个,分别为DMA、HAC和DSP,被访问的处理器核为多个,分别为CPU0、CPU1和DSP0。与1对1场景不同的是,由于发起访问的处理器核为多个,那么触发的硬件单元可以也是多个,例如分别为硬件单元0、硬件单元1和硬件单元2。另外,每个硬盘单元配置的对应关系所对应的被访问的处理器核存在不同。例如,硬件单元0配置的被访问的处理器核为CPU0,硬件单元1配置的被访问的处理器核为CPU1,硬件单元2配置的被访问的处理器核为DSP0。其余流程可以参见1对1的场景。Referring to FIG. 6 a and FIG. 6 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode for many-to-many access are respectively shown. In this scenario, there are multiple processor cores that initiate access, namely DMA, HAC, and DSP, and multiple processor cores that are accessed, namely CPU0, CPU1, and DSP0. Different from the 1-to-1 scenario, since there are multiple processor cores that initiate access, multiple hardware units may be triggered, for example, hardware unit 0, hardware unit 1, and hardware unit 2, respectively. In addition, the processor cores to be accessed corresponding to the corresponding relationships configured by each hard disk unit are different. For example, the accessed processor core configured by hardware unit 0 is CPU0, the accessed processor core configured by hardware unit 1 is CPU1, and the accessed processor core configured by hardware unit 2 is DSP0. For the rest of the process, please refer to the 1-to-1 scenario.

本实施例通过配置硬件单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。In this embodiment, by configuring the hardware unit, after the core that initiates the access sends the access request, the core to be accessed can be determined according to the corresponding relationship configured in the hardware unit, so as to realize inter-core communication. The overall performance can be improved through the proxy device. Multiple cores that initiate access can execute the access process in parallel, which improves the processing speed. By completing inter-core communication, it can ensure that the cores understand each other's status. By using messages to complete the inter-core communication, you can Improve the processing efficiency of the kernel.

图7为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为指令为例,本实施例包括:Fig. 7 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention. In this embodiment, a programmable unit is triggered and an access request is an instruction as an example. This embodiment includes:

71:发起访问的核向代理装置发送访问请求;71: The core that initiates the access sends an access request to the proxy device;

该访问请求可以为指令,该指令中包含发起访问的核的处理器核ID和/或地址信息。The access request may be an instruction, which includes processor core ID and/or address information of the core that initiates the access.

72:代理装置判断该访问请求是否有效,若是,执行73,否则执行75;72: The proxy device judges whether the access request is valid, if so, execute 73, otherwise execute 75;

其中,代理装置可以根据访问请求中包含的处理器核ID和/或地址信息判断访问请求是否有效,例如,代理装置中可以预先配置有效的处理器核ID列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的地址信息列表,当该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效;或者,代理装置中可以预先配置有效的处理器核ID列表和地址信息列表,当该访问请求中包含的处理器核ID属于该处理器核ID列表,且该访问请求中包含的地址信息属于该地址信息列表时,则判断结果为该访问请求有效。Wherein, the proxy device can judge whether the access request is valid according to the processor core ID and/or address information included in the access request. For example, the proxy device can pre-configure a list of valid processor core IDs. When the device core ID belongs to the list of processor core IDs, the judgment result is that the access request is valid; or, an effective address information list can be pre-configured in the agent device, and when the address information contained in the access request belongs to the address information list , then the judgment result is that the access request is valid; or, the proxy device can be pre-configured with a valid processor core ID list and address information list, when the processor core ID contained in the access request belongs to the processor core ID list, and When the address information contained in the access request belongs to the address information list, the determination result is that the access request is valid.

73:在访问请求有效时,触发代理装置中预先设置的可编程单元。73: Trigger a preset programmable unit in the agent device when the access request is valid.

其中,可编程单元中可以预先配置计数器,该计数器可以为递减计数器或者为递增计数器。当为递减计数器时,配置的初始值为预先设定的次数,之后每触发一次可编程单元,该计数值减1直至减为0。当为递增计数器时,配置的初始值为0,之后每触发一次可编程单元,该计数值增1直至增为预先设定的次数。Wherein, a counter may be pre-configured in the programmable unit, and the counter may be a down counter or an up counter. When it is a down-counter, the configured initial value is a preset number of times, and then every time the programmable unit is triggered, the count value is reduced by 1 until it is reduced to 0. When it is an up-counter, the configured initial value is 0, and each time the programmable unit is triggered, the count value increases by 1 until it reaches the preset number of times.

74:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。74: When the number of times the programmable unit is triggered reaches a preset number of times, the agent device initiates communication to the corresponding accessed processor core according to the preconfigured correspondence.

例如,采用递减计数器时,当计数值减为0时表明可编程单元被触发的次数达到预先设定的次数,或者,采用递增计数器时,当计数值增为预先设定的次数时表明可编程单元被触发的次数达到预先设定的次数。For example, when a down counter is used, when the count value decreases to 0, it indicates that the number of times the programmable unit is triggered reaches the preset number of times, or, when an up counter is used, when the count value increases to the preset number of times, it indicates that the programmable unit The unit is triggered a preset number of times.

发起通信同样可以采用中断方式或者消息方式。Initiating communication can also use interrupt mode or message mode.

75:结束。75: End.

参见图8a和图8b,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成1对1、1对多、多对1或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现1对1的场景。或者,可以预先配置与DMA对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现1对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现多对1的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现多对多的场景。Referring to FIG. 8 a and FIG. 8 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode are respectively shown. During specific visits, the corresponding relationship can be configured according to the actual situation to complete 1-to-1, 1-to-many, many-to-1 or many-to-pair scenarios. For example, the accessed core corresponding to DMA can be pre-configured as CPU0, then when the core that initiates access is DMA, when the number of valid access requests sent by DMA reaches the preset number of times, the corresponding relationship can be initiated according to the corresponding relationship. For CPU0 access, a 1-to-1 scenario can be implemented at this time. Alternatively, the accessed cores corresponding to DMA can be pre-configured as CPU0 and CPU1. When the cores that initiate access are DMA, and the number of valid access requests sent by DMA reaches the preset number of times, the corresponding relationship can be initiated according to the corresponding relationship. The access of CPU0 and CPU1 can implement a one-to-many scenario at this time. Or, the accessed core corresponding to DMA and HAC can be pre-configured as CPU0, when the core that initiates access is DMA and HAC, and the sum of the number of valid access requests sent by DMA and the number of valid access requests sent by HAC When the preset number of times is reached, an access to CPU0 can be initiated according to the corresponding relationship, and a many-to-one scenario can be realized at this time. Alternatively, the accessed cores corresponding to DMA and HAC can be pre-configured as CPU0 and CPU1. When the cores that initiate access are DMA and HAC, and the number of valid access requests sent by DMA and the number of valid access requests sent by HAC When the sum reaches a preset number of times, an access to CPU0 and CPU1 can be initiated according to the corresponding relationship, and a many-to-many scenario can be realized at this time.

本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。In this embodiment, by triggering the programmable unit, after the core that initiates the access sends the access request, the core to be accessed can be determined according to the corresponding relationship configured in the hardware unit, so as to realize inter-core communication. The overall performance can be improved through the proxy device. Multiple cores that initiate access can execute the access process in parallel, which improves the processing speed. By completing inter-core communication, it can ensure that the cores understand each other's status. By using messages to complete the inter-core communication, you can Improve the processing efficiency of the kernel.

图9为本发明实施例提供的另一种核间通信方法的流程示意图,本实施例以触发可编程单元,且访问请求为消息为例,本实施例包括:Fig. 9 is a schematic flowchart of another inter-core communication method provided by an embodiment of the present invention. In this embodiment, a programmable unit is triggered and an access request is a message as an example. This embodiment includes:

91:发起访问的核向代理装置发送访问请求;91: The core that initiates the access sends an access request to the proxy device;

与图7所示的实施例不同的是,本实施例中访问请求为消息,即该访问请求中不仅可以包含处理器核ID和/或地址信息,还可以包含消息内容。该消息内容可以具体为比特串。The difference from the embodiment shown in FIG. 7 is that the access request in this embodiment is a message, that is, the access request may include not only processor core ID and/or address information, but also message content. The message content may specifically be a bit string.

92:代理装置判断该访问请求是否有效,若是,执行93,否则执行95;92: The proxy device judges whether the access request is valid, if so, execute 93, otherwise execute 95;

与图7所示实施例不同的是,本实施例根据消息内容判断是否有效。Different from the embodiment shown in FIG. 7, this embodiment judges whether it is valid or not according to the content of the message.

本实施例中可以预先配置两个比特串,分别称为第一比特串和第二比特串,第一比特串可以表示为mask,第二比特串可以表示为match。In this embodiment, two bit strings may be pre-configured, which are respectively called a first bit string and a second bit string. The first bit string may be represented as a mask, and the second bit string may be represented as a match.

参见图10,判断访问请求是否有效的流程可以包括:Referring to Figure 10, the process of judging whether the access request is valid may include:

首先,可以将访问请求中包含的消息内容的全部或部分比特与第一比特串进行按位或预算,通过该步骤可以屏蔽掉不需要检测的比特。其中,具体采用消息内容的全部比特或部分比特可以预先配置。First, all or part of the bits of the message content included in the access request and the first bit string can be bitwise ORed, and bits that do not need to be detected can be shielded through this step. Wherein, all or part of the bits of the content of the message may be pre-configured.

其次,将按位或运算后的比特串与第二比特串比较,如果两者相同,即两者每位都相同,则表明访问消息有效,否则无效。Secondly, compare the bit string after the bitwise OR operation with the second bit string, if the two are the same, that is, every bit of the two is the same, it indicates that the access message is valid, otherwise it is invalid.

93:在访问请求有效时,触发代理装置中预先设置的可编程单元。93: Trigger a preset programmable unit in the agent device when the access request is valid.

94:当可编程单元被触发的次数达到预先设定的次数时,代理装置根据预先配置的对应关系向对应的被访问的处理器核发起通信。94: When the number of times the programmable unit is triggered reaches a preset number of times, the agent device initiates communication to the corresponding accessed processor core according to the preconfigured correspondence.

93~94的具体内容可以参见73~74,在此不再赘述。For the specific content of 93-94, please refer to 73-74, and will not repeat them here.

95:结束。95: End.

参见图11a和图11b,分别示出了采用中断方式和采用消息方式进行核间通信的示意图。在具体访问时,可以根据实际情况配置对应关系以完成1对1、1对多、多对1或多对对的场景。例如,可以预先配置与DMA对应的被访问的核为CPU0,那么当发起访问的核为DMA时,当DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现1对1的场景。或者,可以预先配置与DMA对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA,且DMA发送的有效的访问请求的次数达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现1对多的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0的访问,此时可以实现多对1的场景。或者,可以预先配置与DMA和HAC对应的被访问的核为CPU0和CPU1,当发起访问的核为DMA和HAC,且DMA发送的有效的访问请求的次数以及HAC发送的有效的访问请求的次数之和达到预先设置的次数时,可以根据该对应关系发起对CPU0和CPU1的访问,此时可以实现多对多的场景。Referring to FIG. 11 a and FIG. 11 b , schematic diagrams of inter-core communication in an interrupt mode and in a message mode are respectively shown. During specific visits, the corresponding relationship can be configured according to the actual situation to complete 1-to-1, 1-to-many, many-to-1 or many-to-pair scenarios. For example, the accessed core corresponding to DMA can be pre-configured as CPU0, then when the core that initiates access is DMA, when the number of valid access requests sent by DMA reaches the preset number of times, the corresponding relationship can be initiated according to the corresponding relationship. For CPU0 access, a 1-to-1 scenario can be implemented at this time. Alternatively, the accessed cores corresponding to DMA can be pre-configured as CPU0 and CPU1. When the cores that initiate access are DMA, and the number of valid access requests sent by DMA reaches the preset number of times, the corresponding relationship can be initiated according to the corresponding relationship. The access of CPU0 and CPU1 can implement a one-to-many scenario at this time. Or, the accessed core corresponding to DMA and HAC can be pre-configured as CPU0, when the core that initiates access is DMA and HAC, and the sum of the number of valid access requests sent by DMA and the number of valid access requests sent by HAC When the preset number of times is reached, an access to CPU0 can be initiated according to the corresponding relationship, and a many-to-one scenario can be realized at this time. Alternatively, the accessed cores corresponding to DMA and HAC can be pre-configured as CPU0 and CPU1. When the cores that initiate access are DMA and HAC, and the number of valid access requests sent by DMA and the number of valid access requests sent by HAC When the sum reaches a preset number of times, an access to CPU0 and CPU1 can be initiated according to the corresponding relationship, and a many-to-many scenario can be realized at this time.

本实施例通过触发可编程单元,发起访问的核发送访问请求后,可以根据硬件单元中配置的对应关系确定被访问的核,实现核间通信。通过代理装置可以提高整体性能,多个发起访问的核可以并行执行访问流程,提高了处理速度,通过完成核间通信可以保证核间了解相互的状态,通过采用消息的方式完成核间通信,可以提高核的处理效率。In this embodiment, by triggering the programmable unit, after the core that initiates the access sends the access request, the core to be accessed can be determined according to the corresponding relationship configured in the hardware unit, so as to realize inter-core communication. The overall performance can be improved through the proxy device. Multiple cores that initiate access can execute the access process in parallel, which improves the processing speed. By completing inter-core communication, it can ensure that the cores understand each other's status. By using messages to complete the inter-core communication, you can Improve the processing efficiency of the kernel.

图12为本发明实施例提供的一种代理装置的结构示意图,该装置位于发起访问的核与被访问的核之间,该装置120包括接收模块121、处理模块122和发送模块123;接收模块121用于接收发起访问的核发送的访问请求;处理模块122用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;发送模块123用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。FIG. 12 is a schematic structural diagram of a proxy device provided by an embodiment of the present invention. The device is located between the core that initiates the access and the core that is accessed. The device 120 includes a receiving module 121, a processing module 122, and a sending module 123; the receiving module 121 is used to receive the access request sent by the core that initiates the access; the processing module 122 is used to determine the accessed core corresponding to the access request received by the receiving module according to the pre-configured correspondence; the sending module 123 is used to initiate the access request The communication of the accessed core determined by the processing module, so as to realize the communication between the access-initiating core and the accessed core.

可选的,所述处理模块122包括:Optionally, the processing module 122 includes:

确定单元,用于确定所述访问请求对应的硬件单元,其中,所述硬件单元预先配置在所述代理装置中;A determining unit, configured to determine a hardware unit corresponding to the access request, wherein the hardware unit is pre-configured in the proxy device;

硬件单元,用于根据自身预先配置的对应关系,确定所述访问请求对应的被访问的核。The hardware unit is configured to determine the accessed core corresponding to the access request according to its pre-configured correspondence.

可选的,所述处理模块122包括:Optionally, the processing module 122 includes:

可编程单元,所述可编程单元中包括计数器和确定单元;A programmable unit, which includes a counter and a determination unit;

所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;The counter is used to judge whether the number of times of triggering the programmable unit reaches a preset number of times, wherein each valid access request triggers the programmable unit once;

所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。The determining unit is configured to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship when the determination result of the counter is that the preset number of times has been reached.

可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:Optionally, the access request is an instruction, the instruction includes the processor core ID and/or address information of the core that initiates the access, and the device further includes:

第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。A first judging module, configured to judge whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence when valid .

可选的,所述访问请求为消息,所述装置还包括:Optionally, the access request is a message, and the device further includes:

第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The second decision module is used to perform a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string; and perform a bitwise OR operation on the bitwise OR-operated bit string with a preset second bit Strings are compared, and if they are the same, it is determined that the access request is valid.

参见图13,为本发明实施例提供的另一种代理装置的结构示意图,该装置130包括接收器131、处理器132和发送器133。接收器131用于接收发起访问的核发送的访问请求;处理器132用于根据预先配置的对应关系,确定所述访问请求对应的被访问的核;发送器133用于发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信。Referring to FIG. 13 , it is a schematic structural diagram of another proxy device provided by an embodiment of the present invention. The device 130 includes a receiver 131 , a processor 132 and a sender 133 . The receiver 131 is used to receive the access request sent by the core that initiates the access; the processor 132 is used to determine the accessed core corresponding to the access request according to the pre-configured correspondence; the transmitter 133 is used to initiate the access to the accessed core. The communication between the cores, so as to realize the communication between the core that initiates the access and the core that is accessed.

可选的,处理器132具体用于确定所述访问请求对应的硬件单元;该装置还可以包括硬件单元,所述硬件单元用于根据所述硬件单元中预先配置的对应关系,确定所述访问请求对应的被访问的核。Optionally, the processor 132 is specifically configured to determine the hardware unit corresponding to the access request; the device may further include a hardware unit configured to determine the access request according to a pre-configured correspondence in the hardware unit. The core to be accessed corresponding to the request.

可选的,该装置包括可编程单元,该可编程单元包括计数器和处理器,计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;处理器132用于在计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。Optionally, the device includes a programmable unit, the programmable unit includes a counter and a processor, and the counter is used to judge whether the number of triggering the programmable unit reaches a preset number of times, wherein each valid access request triggers once The programmable unit; the processor 132 is configured to determine the accessed core corresponding to the access request according to the pre-configured corresponding relationship when the judgment result of the counter reaches the preset number of times.

可选的,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,处理器132还用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。Optionally, the access request is an instruction, the instruction includes the processor core ID and/or address information of the core that initiates the access, and the processor 132 is further configured to The information judges whether the access request is valid, so as to determine the accessed core corresponding to the access request according to the pre-configured correspondence relationship if valid.

可选的,所述访问请求为消息,处理器132还用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。Optionally, the access request is a message, and the processor 132 is further configured to perform a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string; The bit string is compared with the preset second bit string, and if they are the same, it is determined that the access request is valid.

在具体实现上,上述的接收器和发送器可以具体为接收接口和发送接口,上述的处理器可以具体为中央处理单元(CPU)、微处理器、单片机等。另外,该装置中还可以包括总线、存储器、定时器等通用模块。In terms of specific implementation, the above-mentioned receiver and transmitter may specifically be a receiving interface and a sending interface, and the above-mentioned processor may be specifically a central processing unit (CPU), a microprocessor, a single-chip microcomputer, and the like. In addition, the device may also include general modules such as a bus, a memory, and a timer.

本实施例通过在发起访问的核与被访问的核之间设置代理装置,该代理装置中预先配置对应关系,根据该对应关系可以实现发起访问的核与被访问的核之间的通信,可以提高处理速度并且可以降低复杂度,进而提高核间通信的处理性能。In this embodiment, an agent device is set between the core that initiates the access and the core that is accessed, and the corresponding relationship is pre-configured in the agent device. According to the corresponding relationship, the communication between the core that initiates the access and the core that is accessed can be realized. The processing speed is increased and the complexity can be reduced, thereby improving the processing performance of inter-core communication.

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. The internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For the specific working process of the above-described system, device, and unit, reference may be made to the corresponding process in the foregoing method embodiments, and details are not repeated here.

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, server, or network device, etc.) or a processor (processor) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-OnlyMemory), random access memory (RAM, RandomAccessMemory), magnetic disk or optical disk and other media that can store program codes.

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still understand the foregoing The technical solutions described in each embodiment are modified, or some of the technical features are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the application.

Claims (6)

1.一种核间通信方法,其特征在于,包括:1. A method for inter-core communication, comprising: 代理装置接收发起访问的核发送的访问请求;The proxy device receives the access request sent by the core that initiates the access; 所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核;The proxy device determines the accessed core corresponding to the access request according to the pre-configured correspondence; 所述代理装置发起对所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;The agent device initiates communication with the accessed core, so as to realize the communication between the access-initiating core and the accessed core; 其中,所述代理装置位于所述发起访问的核与所述被访问的核之间;Wherein, the proxy device is located between the core that initiates access and the core that is accessed; 所述代理装置根据预先配置的对应关系,确定所述访问请求对应的被访问的核,包括:The proxy device determines the accessed core corresponding to the access request according to the pre-configured correspondence, including: 所述代理装置判断触发可编程单元的次数是否达到预设的次数,其中,所述可编程单元预先配置在所述代理装置中,每一次有效的所述访问请求触发一次所述可编程单元;The agent device judges whether the number of times of triggering the programmable unit reaches a preset number of times, wherein the programmable unit is pre-configured in the agent device, and each valid access request triggers the programmable unit once; 所述代理装置在判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。When the judging result is that the preset number of times is reached, the agent device determines the core to be accessed corresponding to the access request according to a pre-configured correspondence. 2.根据权利要求1所述的方法,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述方法还包括:所述代理装置根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。2. The method according to claim 1, wherein the access request is an instruction, and the instruction includes the processor core ID and/or address information of the core that initiates the access, and the method further comprises: The proxy device judges whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship if valid. 3.根据权利要求1所述的方法,其特征在于,所述访问请求为消息,所述判断触发可编程单元的次数是否达到预设的次数之前,所述方法还包括:3. The method according to claim 1, wherein the access request is a message, and the method further comprises: 将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;performing a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string; 将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The bit string after the bitwise OR operation is compared with the preset second bit string, and if they are the same, it is determined that the access request is valid. 4.一种代理装置,其特征在于,所述代理装置位于发起访问的核与被访问的核之间,所述装置包括:4. A proxy device, characterized in that the proxy device is located between the core that initiates the access and the core that is accessed, and the device includes: 接收模块,用于接收发起访问的核发送的访问请求;A receiving module, configured to receive an access request sent by the core that initiates the access; 处理模块,用于根据预先配置的对应关系,确定所述接收模块接收的所述访问请求对应的被访问的核;a processing module, configured to determine the accessed core corresponding to the access request received by the receiving module according to a pre-configured correspondence; 发送模块,用于发起对所述处理模块确定的所述被访问的核的通信,以实现所述发起访问的核与所述被访问的核之间的通信;a sending module, configured to initiate communication with the accessed core determined by the processing module, so as to realize communication between the access-initiating core and the accessed core; 所述处理模块包括:The processing modules include: 可编程单元,所述可编程单元中包括计数器和确定单元;A programmable unit, which includes a counter and a determination unit; 所述计数器用于判断触发可编程单元的次数是否达到预设的次数,其中,每一次有效的所述访问请求触发一次所述可编程单元;The counter is used to judge whether the number of times of triggering the programmable unit reaches a preset number of times, wherein each valid access request triggers the programmable unit once; 所述确定单元用于在所述计数器的判断结果为达到预设的次数时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。The determining unit is configured to determine the accessed core corresponding to the access request according to a pre-configured correspondence relationship when the determination result of the counter reaches a preset number of times. 5.根据权利要求4所述的装置,其特征在于,所述访问请求为指令,所述指令中包含所述发起访问的核的处理器核ID和/或地址信息,所述装置还包括:第一判决模块,用于根据所述处理器核ID和/或地址信息判断所述访问请求是否有效,以便在有效时,根据预先配置的对应关系,确定所述访问请求对应的被访问的核。5. The device according to claim 4, wherein the access request is an instruction, the instruction includes the processor core ID and/or address information of the core that initiates the access, and the device further comprises: A first judging module, configured to judge whether the access request is valid according to the processor core ID and/or address information, so as to determine the accessed core corresponding to the access request according to a pre-configured correspondence when valid . 6.根据权利要求4所述的装置,其特征在于,所述访问请求为消息,所述装置还包括:6. The device according to claim 4, wherein the access request is a message, and the device further comprises: 第二判决模块,用于将所述消息中包含的全部或部分比特与预先设置的第一比特串进行按位或运算;将所述按位或运算后的比特串与预先设置的第二比特串进行比较,如果相同,确定所述访问请求有效。The second decision module is used to perform a bitwise OR operation on all or part of the bits contained in the message and a preset first bit string; and perform a bitwise OR operation on the bitwise OR-operated bit string with a preset second bit Strings are compared, and if they are the same, it is determined that the access request is valid.
CN201310120633.1A 2013-04-09 2013-04-09 Communication method between cores and agent apparatus Active CN103176941B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310120633.1A CN103176941B (en) 2013-04-09 2013-04-09 Communication method between cores and agent apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310120633.1A CN103176941B (en) 2013-04-09 2013-04-09 Communication method between cores and agent apparatus

Publications (2)

Publication Number Publication Date
CN103176941A CN103176941A (en) 2013-06-26
CN103176941B true CN103176941B (en) 2016-08-03

Family

ID=48636828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310120633.1A Active CN103176941B (en) 2013-04-09 2013-04-09 Communication method between cores and agent apparatus

Country Status (1)

Country Link
CN (1) CN103176941B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780437A (en) * 2017-12-14 2018-11-09 深圳市大疆创新科技有限公司 Communication method between cores, processor and multiprocessor communication system
CN110046050B (en) * 2018-01-16 2024-03-01 华为技术有限公司 Device and method for inter-core data transmission
CN109298961A (en) * 2018-08-28 2019-02-01 迈普通信技术股份有限公司 Fault handling method, device and the network equipment of multi-core processor
CN113703958B (en) * 2021-07-15 2024-03-29 山东云海国创云计算装备产业创新中心有限公司 Method, device, equipment and storage medium for accessing data among multi-architecture processors

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534504A (en) * 2003-03-31 2004-10-06 �ձ�������ʽ���� Paralled processing system using single processor operating system and parallel processing program
CN101043510A (en) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 PCI-E bus distributed system intra-board and inter-board data communication method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235455B2 (en) * 2011-03-16 2016-01-12 Microscan Systems, Inc. Multi-core distributed processing using shared memory and communication link

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534504A (en) * 2003-03-31 2004-10-06 �ձ�������ʽ���� Paralled processing system using single processor operating system and parallel processing program
CN101043510A (en) * 2007-04-29 2007-09-26 中兴通讯股份有限公司 PCI-E bus distributed system intra-board and inter-board data communication method

Also Published As

Publication number Publication date
CN103176941A (en) 2013-06-26

Similar Documents

Publication Publication Date Title
US10845868B2 (en) Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
US11500810B2 (en) Techniques for command validation for access to a storage device by a remote client
US11194753B2 (en) Platform interface layer and protocol for accelerators
CN113254381B (en) Method and apparatus for supporting multiple interconnect protocols
CN107992436B (en) A kind of NVMe data reading and writing method and NVMe device
US11372787B2 (en) Unified address space for multiple links
CN102866971B (en) Device, the system and method for transmission data
CN105247821B (en) Mechanism for controlling the utilization of resources using adaptive routing
CN102388583B (en) Series rate allocation method, relative device and system
EP3812911A2 (en) System, apparatus and method for communicating telemetry information via virtual bus encodings
CN106648832B (en) Device and method for improving resource utilization rate of virtual machine
CN103176941B (en) Communication method between cores and agent apparatus
CN106445855A (en) Method and system for sharing serial port by multiple cores in asymmetric processing system
CN116560826A (en) Memory management method, system and related device
WO2022227614A1 (en) Command distribution apparatus and method, chip, computer device, and storage medium
CN104123173A (en) Method and device for achieving communication between virtual machines
CN104252416A (en) Accelerator and data processing method
CN104349506B (en) Association management method, radio reception device and system
CN105528199B (en) A node processing method and device
CN104932947B (en) A kind of fence synchronous method and equipment
CN104850517A (en) Method and apparatus for transmitting packet data using DMA
CN110519333B (en) Method and device for data transmission
CN102970245B (en) Data transmission method and system
CN106445650B (en) A kind of interrupt processing method, IOAPIC and computer system
CN116962542A (en) Data communication method, memory pool switching device, cloud computing system and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210427

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address