一种多核系统的交互方法及相关装置与流程

文档序号:33622178发布日期:2023-03-25 12:41阅读:57来源:国知局
一种多核系统的交互方法及相关装置与流程

1.本发明涉及数据处理领域,特别涉及一种多核系统的交互方法及相关装置。


背景技术:

2.随着流片工艺的发展,中央处理器(cpu,central processing unit)的核频率遵循着摩尔定律逐步提升,但目前可通过工艺改进带来的提升空间已逐步缩减。多核异构系统通常由多个不同构型的高性能模块组成,每一高性能模块可具备独立的计算逻辑和处理能力,以此提高处理器的综合性能。但由于集成了大量的高性能模块,模块间的资源使用、跨核任务调度等问题则需要仲裁机制予以实现。
3.现有的仲裁方式可概括为轮询仲裁和优先级仲裁轮询仲裁的规则是定义多个高性能模块具有相同的优先级,初始化时的首个高性能模块具有最高优先级,响应后则下一个高性能模块具有最高优先级,以此轮询。优化级仲裁的规则是预先定义了多个高性能模块的不同优先级,高优先级的高性能模块会优先响应。
4.相关技术中,高性能模块多采用协议传输的方式向系统申请资源使用。该方式在选定待申请的资源后无法修改,若该资源被占用则只能被动等待,影响系统的处理速率。


技术实现要素:

5.本技术实施例提供一种多核系统的交互方法及相关装置,通过资源请求对象向仲裁请求寄存器发送资源请求标识的方式,无需协议传输,根据仲裁请求寄存器的录入情况即能获知该资源使用权的分配,提高了系统的处理速率。
6.第一方面,本技术实施例提供了一种多核系统的交互方法,所述方法包括:
7.确定待获取资源,向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识,并检测所述仲裁请求寄存器的录入情况;其中,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
8.若检测到所述资源请求标识已录入所述仲裁请求寄存器,则获取所述资源的使用权限;其中,资源请求标识对应的资源未被占用时,所述资源对应的仲裁请求寄存器具备对资源请求标识的录入权限。
9.本技术实施例的资源请求对象在确定待获取资源后,向该资源对应的仲裁请求寄存器发送资源请求标识。其中,每一资源请求对象的资源请求标识唯一,资源请求对象可以为中央处理器或中央处理器的核心。本技术实施例中,资源请求标识对应的资源未被其他对象占用时,该资源对应的仲裁请求寄存器才具备录入权限。资源请求对象在发送该资源请求标识后,通过检测仲裁请求寄存器针对该资源请求标识的录入状态获知该资源使用权的分配,上述方式以仲裁请求寄存器的录入状态确定资源使用权的分配,无需协议传输的等待流程,提高了处理速率。
10.在一些可能的实施例中,所述方法还包括:
11.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则根据所述仲裁请求寄
存器当前录入的资源请求标识确定所述资源的资源占用对象;
12.若所述资源占用对象的优先级低于所述资源请求对象,则向所述资源占用对象发送中断指示,以及在所述资源占用对象根据所述中断指示释放所述资源后,重新向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识;
13.其中,每一资源请求对象和每一资源占用对象均预设有对应的优先级,所述优先级表征资源使用的优先权;若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
14.本技术实施例中,若检测到该资源请求标识未被仲裁请求寄存器录入,则表明该资源已被占用,此时可通过识别该仲裁请求寄存器当前录入的资源请求标识来确定占用对象。若该占用对象比资源请求对象的优先级低,则资源请求对象可通过发送中断指示的方式让该占用对象释放该资源,以便该资源请求对象及时重新申请该资源的使用权限,提高资源获取速率。
15.在一些可能的实施例中,所述方法还包括:
16.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则向另一仲裁请求寄存器发送资源请求对象的资源请求标识;
17.根据所述另一仲裁请求寄存器的录入情况确定是否获取所述另一仲裁请求寄存器对应的资源;其中,不同仲裁请求寄存器对应的资源不同。
18.本技术实施例中,若检测到该资源请求标识未被仲裁请求寄存器录入,则表明该资源已被占用,此时可通过向其他仲裁请求寄存器发送该资源请求标识,即,在已选定的待获取资源被占用时可及时请求其他资源的使用权限,以提高资源获取速率。
19.在一些可能的实施例中,所述获取所述资源的使用权限之后,所述方法还包括:
20.采用所述资源进行信息交互,并在停止使用所述资源后向所述仲裁请求寄存器发送资源释放标识,以使所述仲裁请求寄存器具备所述录入权限。
21.本技术实施例采用所获取的资源进行信息交互后,通过向该资源对应的仲裁请求寄存器发送资源释放标识以使该仲裁请求寄存器重新具备录入权限,届时任一资源请求对象向该仲裁请求寄存器申请该资源的使用权限均会被通过,提高资源的使用效率。
22.在一些可能的实施例中,所述采用所述资源进行信息交互,包括:
23.识别信息交互对象可用的中断源,所述信息交互对象至少具有两个中断源;
24.将待传输信息发送给所述可用的中断源对应的信息寄存器,每一中断源对应有至少一个信息寄存器。
25.本技术实施例中的信息交互对象具备至少两个中断源,资源请求对象需待传输信息发送给可用的中断源所对应的信息寄存器,以保证信息的交互。
26.在一些可能的实施例中,每一中断源均设有序号,且均设有表征是否可用的状态标志位;同一信息交互对象下不同的中断源的序号不同,所述识别信息交互对象可用的中断源,包括:
27.根据每一中断源的序号大小,依次检测所述中断源的状态标志位;
28.若检测到表征可用的状态标志位,则将所述状态标志位对应的中断源确定为所述可用的中断源;
29.所述方法还包括:
30.若当前不具备所述可用的中断源,则基于所述序号大小轮询检测各中断源的状态标志位,直至检测到可用的中断源。
31.本技术实施例的中断源设有序号和表征是否可用的状态标志位,通过序号大小依次检测中断源的状态标志位即可快速确定可用的中断源。并且,如果当前不具备可用的中断源可通过对序号进行轮询,及时检测到可用的中断源,提高信息交互效率。
32.第二方面,本技术实施例提供了一种多核系统的交互方法,应用于仲裁请求寄存器,所述方法包括:
33.接收资源请求对象发送的资源请求标识,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
34.检测当前是否存有已录入的资源请求标识,若未检测到已录入的资源请求标识,则录入所述资源请求标识,以使所述资源请求对象具备所述资源的使用权限。
35.本技术实施例通过仲裁请求寄存器实现资源的仲裁,当仲裁请求寄存器接收到资源请求对象发送的资源请求标识时,检测当前是否存有已录入的资源请求标识。若存有,则表明该仲裁请求寄存器对应的资源已被占用,此时无法将该资源分配给该资源请求对象使用。若未存有,则表明该资源未被占用,此时可通过录入该资源请求对象的资源请求标识以使该资源请求对象获取该资源的使用权。
36.在一些可能的实施例中,所述方法还包括:
37.若接收到资源占用对象发送的资源释放标识,则将已录入的资源请求标识删除,所述已录入的资源请求标识为所述资源占用对象申请所述资源的使用权限时发送的;
38.其中,若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
39.第三方面,本技术实施例还提供了一种多核系统的交互装置,所述装置包括:
40.录入检测模块,被配置为执行确定待获取资源,向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识,并检测所述仲裁请求寄存器的录入情况;其中,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
41.权限获取模块,被配置为执行若检测到所述资源请求标识已录入所述仲裁请求寄存器,则获取所述资源的使用权限;其中,资源请求标识对应的资源未被占用时,所述资源对应的仲裁请求寄存器具备对资源请求标识的录入权限。
42.在一些可能的实施例中,所述权限获取模块还被配置为:
43.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则根据所述仲裁请求寄存器当前录入的资源请求标识确定所述资源的资源占用对象;
44.若所述资源占用对象的优先级低于所述资源请求对象,则向所述资源占用对象发送中断指示,以及在所述资源占用对象根据所述中断指示释放所述资源后,重新向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识;
45.其中,每一资源请求对象和每一资源占用对象均预设有对应的优先级,所述优先级表征资源使用的优先权;若所述资源请求对象为中央处理器,则所述资源占用对象为另
一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
46.在一些可能的实施例中,所述权限获取模块还被配置为:
47.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则向另一仲裁请求寄存器发送资源请求对象的资源请求标识;
48.根据所述另一仲裁请求寄存器的录入情况确定是否获取所述另一仲裁请求寄存器对应的资源;其中,不同仲裁请求寄存器对应的资源不同。
49.在一些可能的实施例中,执行所述获取所述资源的使用权限之后,所述权限获取模块还被配置为:
50.采用所述资源进行信息交互,并在停止使用所述资源后向所述仲裁请求寄存器发送资源释放标识,以使所述仲裁请求寄存器具备所述录入权限。
51.在一些可能的实施例中,执行所述采用所述资源进行信息交互,所述权限获取模块被配置为:
52.识别信息交互对象可用的中断源,所述信息交互对象至少具有两个中断源;
53.将待传输信息发送给所述可用的中断源对应的信息寄存器,每一中断源对应有至少一个信息寄存器。
54.在一些可能的实施例中,每一中断源均设有序号,且均设有表征是否可用的状态标志位;同一信息交互对象下不同的中断源的序号不同,执行所述识别信息交互对象可用的中断源,所述权限获取模块被配置为:
55.根据每一中断源的序号大小,依次检测所述中断源的状态标志位;
56.若检测到表征可用的状态标志位,则将所述状态标志位对应的中断源确定为所述可用的中断源;
57.所述权限获取模块被配置为:
58.若当前不具备所述可用的中断源,则基于所述序号大小轮询检测各中断源的状态标志位,直至检测到可用的中断源。
59.第四方面,本技术实施例还提供了一种多核系统的交互装置,所述装置包括:
60.标识接收模块,被配置为执行接收资源请求对象发送的资源请求标识,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
61.标识录入模块,被配置为执行检测当前是否存有已录入的资源请求标识,若未检测到已录入的资源请求标识,则录入所述资源请求标识,以使所述资源请求对象具备所述资源的使用权限。
62.在一些可能的实施例中,所述标识录入模块还被配置为:
63.若接收到资源占用对象发送的资源释放标识,则将已录入的资源请求标识删除,所述已录入的资源请求标识为所述资源占用对象申请所述资源的使用权限时发送的;
64.其中,若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
65.第五方面,本技术实施例还提供了一种电子设备,包括:
66.处理器;
67.用于存储所述处理器可执行指令的存储器;
68.其中,所述处理器被配置为执行所述指令,以实现如本技术第一方面和第二方面中提供的任一方法。
69.第六方面,本技术实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本技术第一方面和第二方面中提供的任一方法。
70.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
71.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
72.图1为本技术实施例示出的soc中各模块关系示意图;
73.图2为本技术实施例示出的资源申请示意图;
74.图3a为本技术实施例示出的一种多核系统的交互方法的时序图;
75.图3b为本技术实施例示出的轮询检测可用中断源示意图;
76.图4a为本技术实施例示出的系统结构示意图;
77.图4b为本技术实施例示出的基于仲裁模块401的整体流程图;
78.图4c为本技术实施例示出的基于中断控制模块402的整体流程图;
79.图5a为本技术实施例示出的一种多核系统的交互方法的流程图;
80.图5b为本技术实施例示出的一种多核系统的交互方法的另一流程图;
81.图6a为本技术实施例示出的多核系统的交互装置600a的结构图;
82.图6b为本技术实施例示出的多核系统的交互装置600b的结构图;
83.图7为本技术实施例示出的电子设备示意图。
具体实施方式
84.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。在本技术实施例的描述中,除非另有说明,“面将表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
85.在本技术实施例的描述中,除非另有说明,术语“多个”是指两个或两个以上,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
86.为进一步说明本技术实施例提供的技术方案,下面结合附图以及具体实施方式对
此进行详细的说明。虽然本技术实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本技术实施例提供的执行顺序。方法在实际的处理过程中或者控制设备执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
87.大型soc(system-on-a-chip,片上系统)多存在多核并存的情况,ahb(advanced microcontroller bus architecture,高级微控制器总线)作为soc的总线系统,多应用于高性能模块间(如cpu)的连接。具体如图1所示,ahb系统主要由虚拟从模块1-n(dummy slave)、虚拟主模块1-n(dummy master)以及基础结构(infrastructure)这三部分组成。整个ahb总线上的传输都由虚拟主模块发出,由虚拟从模块负责回应。基础结构则由仲裁器(arbiter)、虚拟主模块到虚拟从模块的多路器、虚拟从模块到虚拟主模块的多路器以及译码器(decoder)所组成。
88.soc中集成了大量的高性能模块,模块间的资源使用、跨核任务调度等需要依靠仲裁机制来提高系统处理速率。以模块间的信息交互为例,实际应用中存在需基于外部资源以支持模块间信息交互的情况,具体可如图2所示。图2示出系统包含多个资源,cpu0向cpun发起信息交互时需预先从多个资源中选定一个作为用于信息交互的资源。申请资源时,通过ahb协议传输的方式将请求信号添加到协议报头,由于在选定待申请的资源后无法修改,若该资源被占用则只能被动等待,进而影响系统的处理速率。这是由于协议传输的方式所造成的。
89.为解决上述问题,本技术的发明构思为:资源请求对象在确定待获取资源后,向该资源对象的仲裁请求寄存器发送资源请求标识。其中,每一资源请求对象的资源请求标识唯一,资源请求对象可以为中央处理器或中央处理器的核心。本技术实施例中,资源请求标识对应的资源未被其他对象占用时,该资源对应的仲裁请求寄存器才具备录入权限。资源请求对象在发送该资源请求标识后,通过检测仲裁请求寄存器针对该资源请求标识的录入状态即可获知该资源使用权的分配。
90.上述方式以仲裁请求寄存器的录入状态确定资源使用权的分配,无需协议传输的等待流程,提高了处理速率。
91.前文已阐述ahb作为soc的总线系统,多应用于高性能模块间(如cpu)的连接。多核系统中通常部署多个cpu,多核交互指代多个cpu间的交互或cpu内部的多个核心间的交互。即,本技术实施例中的资源请求对象可为cpu或cpu的核心。
92.为便于理解本技术实施例提供的技术方案,下面以cpu0向cpun发起信息交互为例进行说明,图3a为本技术实施例提供的一种多核系统的交互方法的时序图,具体如图3a所示,包括cpu0、cpun和仲裁请求寄存器100:
93.步骤301:确定待获取资源;
94.步骤302:向待获取资源对应的仲裁请求寄存器100发送资源请求对象的资源请求标识;
95.前文已提及,实际应用中存在基于外部资源以支持模块间的信息交互这一情况。即,cpu0向cpun发起信息交互前,需预先从系统的多个资源中申请一个资源来使用。本技术实施例为每一资源设有对应的仲裁请求寄存器。并为每一cpu(cpu0~cpun)设有唯一的资源
请求标识。确定待获取资源时,可随机从系统中的多个资源中选择一个作为待获取资源。也可根据实际情况,人为设定cpu0在需要资源进行信息传输时,选定哪一资源作为待获取资源,本技术待获取资源的选定方式不作限定。
96.具体的,cpu0,对应的资源请求标识可为0x1,cpun对应的资源请求标识可为0xn。
97.步骤303:接收cpu0的资源请求标识,并检测当前录入状态;
98.步骤304:若未检测到已录入的资源请求标识,则录入该资源请求标识;
99.前文已提及,资源请求标识对应的资源未被其他对象占用时,该资源对应的仲裁请求寄存器才具备录入权限。因而仲裁请求寄存器100接收到资源请求标识后,需检测当前是否存有已录入的资源请求标识。若检测到存有已录入的资源请求标识,例如已录入0xn则表示该资源目前正被cpun占用,此时无法将该资源分配给cpu0。相应的,若未检测到存有已录入的资源请求标识,则表示该资源目前未被其他对象占用,此时可通过录入cpu0的资源请求标识以将该资源分配给cpu0。
100.步骤305:检测仲裁请求寄存器100的录入情况;
101.本技术所提供的技术方案不采用协议传输的方式进行资源申请,cpu0需通过查询仲裁请求寄存器100的录入状态来获知是否获得该资源的使用权。
102.步骤306:若检测到该资源请求标识已录入仲裁请求寄存器100,则获取该资源的使用权限;
103.步骤307:若未检测到该资源请求标识已录入仲裁请求寄存器100,则根据仲裁请求寄存器100当前录入的资源请求标识确定该资源的资源占用对象cpun;
104.步骤308:若cpun的优先级低于cpu0则向cpun发送中断指示;并执行,
105.步骤309:重新向仲裁请求寄存器100发送cpu0的资源请求标识;
106.为提高系统的处理速率,本技术实施例中的每一资源请求对象均预设有优先级,优先级高的资源请求对象具有响应优先权。所谓响应优先权,例如cpu0和cpun同时向仲裁请求寄存器100发送各自的资源请求标识,则此时仲裁请求寄存器100会将该资源分配给优先级高的cpu。
107.优先级的设置可进一步提高处理速率,在执行上述步骤时,例如cpu0检测到仲裁请求寄存器100当前录入数值为0xn,则表示该资源当前被cpun占用。由于cpu0的优先级高于cpun,cpu0可基于优先级仲裁机制通知资源占用对象停止对该资源的使用,并在资源占用对象释放该资源后,重新申请该资源。
108.具体的,若检测到资源请求标识未录入仲裁请求寄存器100,则可向另一仲裁请求寄存器发送cpu0的资源请求标识,并根据该另一仲裁请求寄存器的录入情况确定是否获取该另一仲裁请求寄存器对应的资源;
109.为适用更多的应用场景,cpu0可在对仲裁请求寄存器100对应的资源获取失败后,通过向其他仲裁请求寄存器发送资源请求标识的方式申请其他资源。即,通过在待申请资源申请失败后,以及时申请其他资源的方式来加快资源获取速度,进而提高系统处理速率。
110.步骤310:识别cpun当前是否有可用的中断源;
111.步骤311:若检测到可用的中断源,则将待传输信息发送到该中断源对应的信息寄存器中。
112.本技术实施例中,每一信息交互对象至少配有两个中断源,且每一中断源对应有
至少一个信息寄存器。cpu0采用申请到的资源向cpun进行信息交互时,需预先识别cpun当前是否有可用的中断源,若存在可用的中断源则将待传输信息发送到该中断源对应的信息寄存器中。若不具备可用的中断源则重复对各中断源的使用状态进行检测,直至检测到可用的中断源。
113.未处于空闲状态的信息寄存器无法及时进行信息交互,将待传输信息发送给中断源对象的信息寄存器前需确定该信息寄存器是否处于空闲状态。具体的,可为信息寄存器添加状态标志。当该状态标志值为0则表示该信息寄存器空闲,相应的,该状态标志值为1时则表示该信息寄存器未处于空闲状态。由此,通过识别信息寄存器的状态标志能够快速确定空闲的信息寄存器。
114.在一些可能的实施例中,每一中断源均设有序号,同一信息交互对象下不同的中断源的序号不同。例如cpu0包括中断源1和中断源2,而cpun可包括中断源0和中断源1。cpun中的中断源1并非cpu0中的中断源1。
115.在一些可能的实施例中,每一中断源均设有表征是否可用的状态标志位。具体的,可为中断源添加中断位,若中断位值为0则表示可用,值为1则表示不可用。应理解的是,中断位的值可根据需求自行设定,仅需表现出可用的中断源和不可用中断源即可,本技术对此不作限定。
116.在识别信息交互对象可用的中断源时可根据每一中断源的序号大小,依次检测中断源的状态标志位。若检测到表征可用的状态标志位,则将所述状态标志位对应的中断源确定为所述可用的中断源。
117.考虑到相关技术中在不具备可用中断源时多采用就地等待的方式,为提高系统的处理速率,本技术实施例在确定当前不具备可用的中断源后,基于序号大小轮询检测各中断源的状态标志位,直至检测到可用的中断源。具体可如图3b所示,例如cpun包括中断源1-3,若从中断源1轮询到中断源3后仍未发现可用中断源,则可从新从中断源1进行轮询,这样可及时发现可用的中断源。
118.步骤312:cpu0在停止使用资源后,向仲裁请求寄存器100发送资源释放标识,以使所述仲裁请求寄存器具备所述录入权限。
119.步骤313:将已录入的资源请求标识删除。
120.本技术实施例中设置了唯一的资源释放标识,例如0x7。当cpu0使用完资源后向仲裁请求寄存器100发送0x7。仲裁请求寄存器100在接收到0x7后会将当前录入的cpu0的资源请求标识删除,此时仲裁请求寄存器100才允许将该资源分配给其他资源请求对象。
121.为进一步理解本技术实施例提供的技术方案,下面以系统的角度进行说明,具体如图4a所示,包括仲裁模块401和中断控制模块402。
122.仍以cpu0向cpun进行信息交互为例,cpu0向cpun发送交互的信息前,需申请用于支持发送该交互信息的资源。申请资源的过程即为多cpu对资源的竞争过程。而cpu0向cpun发送交互的信息的过程则是多cpu间中断控制和信息传递的过程。图3a中示出的步骤301-309即为多cpu对资源的竞争过程,该过程可通过图4a中的仲裁模块401完成,图3a中示出步骤310-311即为多cpu间中断控制和信息传递的过程,该过程可由中断控制模块402完成。
123.其中,上述cpu0基于仲裁模块401申请资源的具体流程可如图4b所示,包括如下步骤:
124.步骤401b:发送cpu0资源请求标识符0x1到仲裁请求寄存器mb_arbiter_req0;
125.步骤402b:确定仲裁请求寄存器是否录入0x1,若未录入,则可通过发中断的方式通知资源占用对象释放该资源的使用权,或等待仲裁请求寄存器录入0x1,或向其他仲裁请求寄存器执行步骤401b;若录入则获取该资源的使用权限;
126.步骤403b:仲裁请求寄存器录入0x1之后,获得该资源的使用权;
127.步骤404b:完成资源使用后,发送资源释放标识0x7到仲裁请求寄存器。
128.cpu0基于中断控制模块402完成中断控制和信息传递的具体流程可如图4c所示,包括如下步骤:
129.步骤401c:读取cpun的中断源状态寄存器mb_cpun_intr_src_sta;
130.步骤402c:检测cpun是否具有可用的中断源;若当前不具备可用的中断源,则持续执行步骤401b的读取过程,直至检测到可用的中断源。
131.步骤403c:读取cpun的信息寄存器状态标志mb_cpun_mem_valid,查找空闲的信息寄存器mb_cpun_memx;
132.步骤404c:将写入交互信息的信息寄存器对应的信息寄存器状态标志置位1,表示写入信息完成;
133.步骤405c:将cpun的中断源状态寄存器对应的状态被置位1,该状态即被仲裁模块401作为中断cpun_int发送给cpun。
134.cpun收到中断后,读取信息寄存器状态标志,并对状态标志位和写入交互信息的信息寄存器进行读操作,以获取交互信息。并在读取后清零信息寄存器状态标志位以及中断源状态寄存器对应的状态位,完成信息交互。
135.基于相同的发明构思,本技术实施例还提供了一种多核系统的交互方法的整体流程图,具体如图5a所示,包括:
136.步骤501a:确定待获取资源,向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识,并检测所述仲裁请求寄存器的录入情况;其中,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
137.步骤502a:若检测到所述资源请求标识已录入所述仲裁请求寄存器,则获取所述资源的使用权限;其中,资源请求标识对应的资源未被占用时,所述资源对应的仲裁请求寄存器具备对资源请求标识的录入权限。
138.在一些可能的实施例中,所述方法还包括:
139.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则根据所述仲裁请求寄存器当前录入的资源请求标识确定所述资源的资源占用对象;
140.若所述资源占用对象的优先级低于所述资源请求对象,则向所述资源占用对象发送中断指示,以及在所述资源占用对象根据所述中断指示释放所述资源后,重新向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识;
141.其中,每一资源请求对象和每一资源占用对象均预设有对应的优先级,所述优先级表征资源使用的优先权;若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
142.在一些可能的实施例中,所述方法还包括:
143.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则向另一仲裁请求寄存器发送资源请求对象的资源请求标识;
144.根据所述另一仲裁请求寄存器的录入情况确定是否获取所述另一仲裁请求寄存器对应的资源;其中,不同仲裁请求寄存器对应的资源不同。
145.在一些可能的实施例中,所述获取所述资源的使用权限之后,所述方法还包括:
146.采用所述资源进行信息交互,并在停止使用所述资源后向所述仲裁请求寄存器发送资源释放标识,以使所述仲裁请求寄存器具备所述录入权限。
147.在一些可能的实施例中,所述采用所述资源进行信息交互,包括:
148.识别信息交互对象可用的中断源,所述信息交互对象至少具有两个中断源;
149.将待传输信息发送给所述可用的中断源对应的信息寄存器,每一中断源对应有至少一个信息寄存器。
150.在一些可能的实施例中,每一中断源均设有序号,且均设有表征是否可用的状态标志位;同一信息交互对象下不同的中断源的序号不同,所述识别信息交互对象可用的中断源,包括:
151.根据每一中断源的序号大小,依次检测所述中断源的状态标志位;
152.若检测到表征可用的状态标志位,则将所述状态标志位对应的中断源确定为所述可用的中断源;
153.所述方法还包括:
154.若当前不具备所述可用的中断源,则基于所述序号大小轮询检测各中断源的状态标志位,直至检测到可用的中断源。
155.基于相同的发明构思,本技术实施例还提供了一种多核系统的交互方法的另一整体流程图,具体如图5b所示,包括:
156.步骤501b:接收资源请求对象发送的资源请求标识,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
157.步骤502b:检测当前是否存有已录入的资源请求标识,若未检测到已录入的资源请求标识,则录入所述资源请求标识,以使所述资源请求对象具备所述资源的使用权限。
158.在一些可能的实施例中,所述方法还包括:
159.若接收到资源占用对象发送的资源释放标识,则将已录入的资源请求标识删除,所述已录入的资源请求标识为所述资源占用对象申请所述资源的使用权限时发送的;
160.其中,若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
161.基于相同的发明构思,本技术实施例还提供了一种多核系统的交互装置600a,具体如图6a所示,包括:
162.录入检测模块601a,被配置为执行确定待获取资源,向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识,并检测所述仲裁请求寄存器的录入情况;其中,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器的核心;
163.权限获取模块602a,被配置为执行若检测到所述资源请求标识已录入所述仲裁请
求寄存器,则获取所述资源的使用权限;其中,资源请求标识对应的资源未被占用时,所述资源对应的仲裁请求寄存器具备对资源请求标识的录入权限。
164.在一些可能的实施例中,所述权限获取模块602a还被配置为:
165.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则根据所述仲裁请求寄存器当前录入的资源请求标识确定所述资源的资源占用对象;
166.若所述资源占用对象的优先级低于所述资源请求对象,则向所述资源占用对象发送中断指示,以及在所述资源占用对象根据所述中断指示释放所述资源后,重新向所述资源对应的仲裁请求寄存器发送资源请求对象的资源请求标识;
167.其中,每一资源请求对象和每一资源占用对象均预设有对应的优先级,所述优先级表征资源使用的优先权;若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
168.在一些可能的实施例中,所述权限获取模块602a还被配置为:
169.若检测到所述资源请求标识未录入所述仲裁请求寄存器,则向另一仲裁请求寄存器发送资源请求对象的资源请求标识;
170.根据所述另一仲裁请求寄存器的录入情况确定是否获取所述另一仲裁请求寄存器对应的资源;其中,不同仲裁请求寄存器对应的资源不同。
171.在一些可能的实施例中,执行所述获取所述资源的使用权限之后,所述权限获取模块602a还被配置为:
172.采用所述资源进行信息交互,并在停止使用所述资源后向所述仲裁请求寄存器发送资源释放标识,以使所述仲裁请求寄存器具备所述录入权限。
173.在一些可能的实施例中,执行所述采用所述资源进行信息交互,所述权限获取模块602a被配置为:
174.识别信息交互对象可用的中断源,所述信息交互对象至少具有两个中断源;
175.将待传输信息发送给所述可用的中断源对应的信息寄存器,每一中断源对应有至少一个信息寄存器。
176.在一些可能的实施例中,每一中断源均设有序号,且均设有表征是否可用的状态标志位;同一信息交互对象下不同的中断源的序号不同,执行所述识别信息交互对象可用的中断源,所述权限获取模块602a被配置为:
177.根据每一中断源的序号大小,依次检测所述中断源的状态标志位;
178.若检测到表征可用的状态标志位,则将所述状态标志位对应的中断源确定为所述可用的中断源;
179.所述权限获取模块602a被配置为:
180.若当前不具备所述可用的中断源,则基于所述序号大小轮询检测各中断源的状态标志位,直至检测到可用的中断源。
181.基于相同的发明构思,本技术实施例还提供了一种多核系统的交互装置600b,具体如图6b所示,包括:
182.标识接收模块601b,被配置为执行接收资源请求对象发送的资源请求标识,每一资源请求对象对应有唯一的资源请求标识,所述资源请求对象为中央处理器或中央处理器
的核心;
183.标识录入模块602b,被配置为执行检测当前是否存有已录入的资源请求标识,若未检测到已录入的资源请求标识,则录入所述资源请求标识,以使所述资源请求对象具备所述资源的使用权限。
184.在一些可能的实施例中,所述标识录入模块602b还被配置为:
185.若接收到资源占用对象发送的资源释放标识,则将已录入的资源请求标识删除,所述已录入的资源请求标识为所述资源占用对象申请所述资源的使用权限时发送的;
186.其中,若所述资源请求对象为中央处理器,则所述资源占用对象为另一中央处理器;若所述资源请求对象为中央处理器的核心,则所述资源占用对象为所述中央处理器的另一核心。
187.下面参照图7来描述根据本技术的这种实施方式的播放设备130。图7显示的播放设备130仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
188.如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
189.总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
190.存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(rom)1323。
191.存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
192.电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
193.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器132,上述指令可由装置400的处理器131执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
194.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器131执行时实现如本技术提供的多核系统的交互方法中的任一方法。
195.在示例性实施例中,本技术提供的一种多核系统的交互方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码
用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种多核系统的交互方法中的步骤。
196.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
197.本技术的实施方式的用于多核系统的交互的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
198.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
199.可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
200.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
201.应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
202.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
203.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
204.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
205.这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
206.这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
207.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
208.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1