一种处理器及电子设备的制作方法

文档序号:29722036发布日期:2022-04-16 19:36阅读:69来源:国知局
一种处理器及电子设备的制作方法

1.本技术涉及计算机体系结构技术,尤其涉及一种处理器及电子设备。


背景技术:

2.随着计算机体系结构的改进以及微处理器技术的快速发展,计算机性能也有极大的提高。基于微处理器技术的电子设备,通常以处理器核为粒度分配电子设备内的资源,使得电子设备内的每个处理器核能够依据分配的资源处理任务。因此,如何提高处理器的性能以及电子设备内的资源利用率是微处理器技术一直追求的目标。


技术实现要素:

3.本技术实施例提供一种处理器及电子设备,能够提高处理器的性能以及资源的利用率。
4.本技术实施例的技术方案是这样实现的:第一方面,本技术实施例提供一种处理器,所述处理器包括:资源管理单元和至少一个处理器核;每个所述处理器核,用于执行一个待处理任务;资源管理单元,用于针对所述待处理任务对应的资源进行资源管理;所述资源管理至少包括下述一项或多项:资源分配、资源回收和资源状态管理;其中,所述待处理任务对应的资源由所述资源管理单元基于所述待处理任务的信息分配。
5.在一些可选实施例中,所述资源管理包括资源分配;所述资源管理单元,用于确定所述待处理任务的信息,基于所述待处理任务的信息确定用于执行所述待处理任务的目标资源。
6.在一些可选实施例中,所述资源管理单元,用于基于所述待处理任务的信息确定资源分配策略;基于所述资源分配策略,为所述待处理任务分配目标资源。
7.在一些可选实施例中,所述资源管理单元,用于基于所述待处理任务的信息,确定所述待处理任务所需资源的强度;基于所述待处理任务所需资源的强度,确定所述资源分配策略。
8.在一些可选实施例中,所述资源管理单元,用于响应于所述待处理任务所需资源的强度满足第一条件,确定所述资源分配策略为第一资源分配策略;响应于所述待处理任务所需资源的强度满足第二条件,确定所述资源分配策略为第二资源分配策略;其中,针对同一类型的资源,基于所述第一资源分配策略分配的资源的大小小于基于所述第二资源分配策略分配的资源的大小。
9.在一些可选实施例中,针对电子设备内的每一类型的资源,所述资源管理单元,用于基于所述资源分配策略将所述每一类型的资源划分为至少一个子资源池;确定所述至少一个子资源池中的一个子资源池内的资源为所述目标资源。
10.在一些可选实施例中,任意两个所述子资源池包括的资源的大小相同或者不同。
11.在一些可选实施例中,全部类型的所述资源位于一个资源池内;或者,每一类型的资源位于一个资源池内。
12.在一些可选实施例中,所述资源管理单元为安装于所述处理器上的程序;或者,所述资源管理单元为所述处理器上的硬件组件。
13.在一些可选实施例中,所述资源管理单元包括安装于所述处理器上的程序和所述处理器上的硬件组件。
14.在一些可选实施例中,所述硬件组件,用于确定所述待处理任务的信息,将所述待处理任务的信息发送至所述程序;所述程序,用于基于所述待处理任务的信息确定所述资源分配策略,将所述资源分配策略发送至所述硬件组件。
15.在一些可选实施例中,所述资源管理包括:资源回收;所述资源管理单元,用于接收任务结束指令,基于所述任务结束指令,确定执行所述任务结束指令对应的任务的资源,回收所述资源;其中,所述资源由所述资源管理单元根据所述任务的信息分配至处理器核。
16.在一些可选实施例中,所述资源管理单元,用于响应于所述任务未完全结束,所述资源管理单元确认所述任务结束指令对应的至少一个子资源;所述资源管理单元确认所述任务对应的流水线中,已经完成的流水级对应的子资源;其中,所述子资源为用于执行所述任务所需资源中的部分资源。
17.在一些可选实施例中,所述资源管理单元,用于响应于所述任务全部结束,所述资源管理单元确认所述任务结束指令对应的全部子资源;所述资源管理单元确认所述全部子资源为执行所述任务结束指令对应的任务的资源;其中,所述全部子资源包括执行所述任务的全部资源中执行完成的子资源。
18.在一些可选实施例中,所述资源管理包括资源状态管理;所述资源管理单元,用于监测第一时间区间内电子设备的资源调用情况,基于所述资源调用情况控制资源的状态,所述资源的状态包括休眠状态或唤醒状态;其中,所述休眠状态的资源能够被分配至处理器核,所述唤醒状态的资源不能够被分配至处理器核。
19.在一些可选实施例中,所述资源管理单元,用于响应于所述资源调用情况为资源未被调用,控制所述资源的状态为休眠状态。
20.在一些可选实施例中,所述资源管理单元,用于响应于所述休眠状态的资源满足唤醒条件,控制所述资源的状态为唤醒状态。
21.第二方面,本技术实施例提供一种电子设备,所述电子设备包括:上述处理器以及存储器、总线;所述存储器存储可执行指令;所述处理器与所述存储器之间通过所述总线通信。
22.本技术实施例提供的处理器包括:资源管理单元和至少一个处理器核;每个所述
处理器核,用于执行一个待处理任务;资源管理单元,用于针对所述待处理任务对应的资源进行资源管理;所述资源管理至少包括下述一项或多项:资源分配、资源回收和资源状态管理;其中,所述待处理任务对应的资源由所述资源管理单元基于所述待处理任务的信息分配。如此,通过根据待处理任务的信息为待处理任务分配所需的资源,能够根据待处理任务对资源的需求分配资源,避免资源浪费,提高资源利用率;由于分配的资源满足待处理任务对资源的需求,因此能够提高待处理任务的执行效率,提高处理器的性能。
附图说明
23.图1是相关技术中指令的处理流程示意图;图2是本技术实施例提供的处理器的一种可选结构示意图;图3是本技术实施例提供的资源管理单元基于待处理任务的信息为待处理任务分配资源的一种可选处理流程示意图;图4是本技术实施例提供的资源管理单元基于待处理任务的信息为待处理任务分配目标资源的示意图;图5是本技术实施例提供的电子设备内的资源划分示意图;图6是本技术实施例提供的一种基于资源分配策略划分子资源池的示意图;图7是本技术实施例提供的另一种基于资源分配策略划分子资源池的示意图;图8是本技术实施例提供的资源回收方法的一种可选流程示意图;图9是本技术实施例提供的资源管理单元对资源进行资源状态管理的一种可选处理流程示意图;图10是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
24.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
25.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,
ꢀ“
一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
26.在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
27.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
28.应理解,在本技术的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
29.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语
进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
30.1)处理器核:是处理器内部最核心部分,也可以称为处理器内核。
31.2)处理器:包括一个或多个处理器核,以及存储器等其他组件或设备。
32.3)流水线:是一种将多条指令重叠执行的实现技术,流水线中的每个步骤完成指令的一部分,每一步骤称为流水级或流水段,流水级前后相连,形成流水线;指令在流水线的一端进入,通过这些流水级在流水线的另一端退出;每条流水线对应一个任务。
33.针对一条流水线中的指令的处理流程,如图1所示,在一条流水线中一条指令的生命周期包括:取指、译码、执行、访存和写回。其中,指令取指是指将指令从存储器中读取出来的过程。指令译码是指存储器中取出来的指令进行翻译的过程,经过译码之后得到指令需要的操作数寄存器索引,可以使用此索引从通用寄存器组(register file)中将操作数读出。指令译码之后所需要进行的计算类型都已得知,并且已经从通用寄存器组中读取出了所需的操作数,那么接下来便进行指令执行(instruction execute)。指令执行是指对指令进行真正运算的过程。例如,如果指令是一条加法运算指令,则对操作数进行加法操作;如果是减法运算指令,则对操作数进行减法操作。在“执行”阶段的最常见部件为alu,作为实施具体运算的硬件功能单元。访存是指存储器访问指令将数据从存储器中读出,或者写入存储器的过程。写回是指将指令执行的结果写回通用寄存器组的过程,如果是普通运算指令,该结果值来自于“执行”阶段计算的结果;如果是存储器读指令,该结果来自于“访存”阶段从存储器中读取出来的数据。
34.分配给处理器核的资源是指用于执行流水线的各个流水级的资源。例如:分配给处理器核的资源可以是分支预测资源、取指资源、译码资源、重命名资源、执行资源等;其中,执行资源至少可以包括运算资源、寄存器资源以及存储器资源中的一种或多种。其中,存储器资源可以包括缓存器和存储器,缓存器至少可以包括l1缓存、l2缓存和l3缓存中的一种或多种。存储器可以是闪存存储器等任意类型的存储器。译码资源可以包括至少一种译码器。重命名资源可以包括至少一种寄存器。
35.相关技术中,一台计算机设备内部包括多个处理器核,以处理器核为粒度对计算机设备内的资源进行分配;具体的,分别为每个处理器核分配该处理器核对应的资源;各个处理器核之间的资源是相互独立的,处理器核a在执行任务时不能够使用分配给处理器核b的资源;同样,处理器核b在执行任务时也不能适用分配给处理器核a的资源。申请人发现以处理器核为粒度对计算机设备内的资源进行分配时,至少存在如下问题:在某一处理器核执行的流水线需要较强的资源时,分配给该处理器核的资源不能满足该流水线对资源的需求,执行任务的效率低;在某一处理器核执行的流水线需要较弱的资源时,分配给该处理器核的部分资源空闲、资源不能够被有效利用。
36.针对相关技术中资源分配存在的资源利用率低以及任务的执行效率低的问题,本技术实施例提供了一种资源分配方法、电子设备以及计算机可读存储介质,能够提高资源利用率和待处理任务的执行效率。
37.本技术实施例提供的处理器的一种可选结构示意图,如图2所示,处理器100包括:资源管理单元101和至少一个处理器核102。
38.每个处理器核102,用于执行一个待处理任务;资源管理单元101,用于针对待处理任务对应的资源进行资源管理;
所述资源管理至少包括下述一项或多项:资源分配、资源回收和资源状态管理。
39.下面分别针对资源管理包括的内容进行说明:一、资源分配在一些实施例中,所述资源管理单元101,用于确定所述待处理任务的信息,基于所述待处理任务的信息确定用于执行所述待处理任务的目标资源。
40.在具体实施时,所述资源管理单元101,用于基于所述待处理任务的信息确定资源分配策略;基于所述资源分配策略,为所述待处理任务分配目标资源。
41.可选地,所述资源管理单元101,用于基于所述待处理任务的信息,确定所述待处理任务所需资源的强度;基于所述待处理任务所需资源的强度,确定所述资源分配策略。
42.或者,可选地,所述资源管理单元101,用于响应于所述待处理任务所需资源的强度满足第一条件,确定所述资源分配策略为第一资源分配策略;响应于所述待处理任务所需资源的强度满足第二条件,确定所述资源分配策略为第二资源分配策略;其中,针对同一类型的资源,基于所述第一资源分配策略分配的资源的大小小于基于所述第二资源分配策略分配的资源的大小。
43.在一些实施例中,针对电子设备内的每一类型的资源,所述资源管理单元101,用于基于所述资源分配策略将所述每一类型的资源划分为至少一个子资源池;确定所述至少一个子资源池中的一个子资源池内的资源为所述目标资源。
44.在一些实施例中,任意两个所述子资源池包括的资源的大小相同或者不同。在具体实施时,可以全部类型的资源位于一个资源池内;或者,每一类型的资源分别位于一个资源池内。
45.在一些实施例中,资源管理单元基于待处理任务的信息为待处理任务分配资源的一种可选处理流程示意图,如图3所示,至少可以包括以下步骤:步骤s201,资源管理单元确定待处理任务的信息。
46.在一些实施例中,待处理任务可以指电子设备内的一个处理器核将要执行的任务,一个待处理任务对应一条流水线。
47.在一些实施例中,待处理任务的信息至少可以包括下述中的一项或多项:待处理任务的类型、待处理任务的名称、待处理任务对应的应用程序和待处理任务的执行周期。
48.步骤s202,资源管理单元基于待处理任务的信息,为所述待处理任务分配目标资源;所述目标资源用于所述电子设备内的处理器核执行所述待处理任务。
49.在一些实施例中,资源管理单元基于待处理任务的信息为待处理任务分配目标资源的示意图,如图4所示,至少包括以下步骤:步骤s102a,资源管理单元基于待处理任务的信息确定资源分配策略。
50.步骤s102b,资源管理单元基于资源分配策略,为待处理任务分配目标资源。
51.针对步骤s102a,资源管理单元基于待处理任务的信息确定资源分配策略的具体实现过程可以包括:资源管理单元首先基于待处理任务的信息确定待处理任务所需的资源的强度,资源管理单元再基于待处理任务所需的资源的强度确定资源分配策略。
52.在一些实施例中,可以对任务所需的资源基于强度划分为多个不同的强度等级。作为示例,将任务所需的资源基于强度划分为两个等级,响应于所述待处理任务所需资源的强度满足第一条件,确定所述资源分配策略为第一资源分配策略;响应于所述待处理任
务所需资源的强度满足第二条件,确定所述资源分配策略为第二资源分配策略。其中,强度满足第一条件的资源为弱资源,强度满足第二条件的资源为强资源;针对弱资源,基于第一资源分配策略对电子设备内的可用资源进行划分;针对强资源,基于第二资源分配策略对电子设备内的可用资源进行划分。作为示例,第一条件可以是资源的强度小于第一强度阈值,第二条件可以是资源的强度大于第二强度阈值,第一强度阈值和第二强度阈值均用于表征资源的强度或大小,第一强度阈值小于或等于第二强度阈值。其中,针对同一类型资源,基于第一资源分配策略分配得到的每份资源的大小小于基于第二资源分配策略分配得到的每份资源的大小。
53.上述以将任务所需的资源基于强度划分为两个等级为例进行说明,在具体实施时,还可以将任务所需的资源基于强度划分为三个等级或三个以上的等级,本技术实施例中不做限定。其中,每个强度等级对应的资源分配策略均不相同。
54.以电子设备内的存储器资源为例,基于第一资源分配策略将电子设备内的可用的存储器资源划分为n份,每份存储器资源的大小为x;基于第二资源分配策略将电子设备内的可用的存储器资源划分为m份,每份存储器资源的大小为y;其中,n>m,x<y。
55.上述以对电子设备内的资源(如可用的存储器资源)平均划分为多份为例进行说明,在具体实施时,还可以对电子设备内的资源不平均划分,如对电子设备内的资源划分得到的多份资源大小均不同,或者对电子设备内的资源划分得到的资源中部分大小相同、部分大小不同。
56.针对步骤s102b,资源管理单元基于资源分配策略,为待处理任务分配目标资源的具体实现过程可以包括:针对电子设备内的每一类型的资源,资源管理单元基于所述资源分配策略,将每一类型的资源划分为至少一个子资源池;确定所述至少一个子资源池中的一个子资源池内的资源为所述目标资源。
57.在一些实施例中,电子设备内的每一类型的资源可以包括分支预测资源、取指资源、译码资源、重命名资源、运算资源、寄存器资源以及存储器资源。
58.以电子设备内的资源是分支预测资源为例,资源管理单元基于资源分配策略将分支预测资源划分为一个或多个分支预测子资源池,每个分支预测子资源池包括的资源的大小相同或不同。资源管理单元在多个分支预测子资源池中选择一个满足待处理任务需求的分支预测子资源池,所选择的分支预测子资源池内的资源为用于对待处理任务进行分支预测的目标资源。
59.上述仅以分支预测资源为例,对确定进行分支预测的目标资源的过程进行了说明。在具体实施时,确定用于取指、译码、重命名、运算、存储、访问等的目标资源的过程与确定进行分支预测的目标资源的过程相同,本技术实施例不详细赘述。
60.本技术实施例中,资源管理单元101可以是安装于所述处理器上的程序;或者,资源管理单元可以是所述处理器上的硬件组件;或者,资源管理单元101包括安装于所述处理器上的程序和所述处理器内的硬件组件。
61.在一些实施例中,若资源管理单元是安装于处理器上的程序,则表征本技术实施例提供的资源分配方法以软件的方式实施;其中,安装于处理器上的程序可以是安装于处理器上的应用程序,也可以是电子设备上安装的应用程序加载的小程序。
62.在具体实施时,安装于处理器上的程序确定待处理任务的信息,根据待处理任务
的信息确定资源分配策略,并基于资源分配策略为待处理任务分配目标资源;安装于处理器上的程序将目标资源发送至电子设备中对应的硬件组件,由硬件组件基于目标资源执行待处理任务。
63.在另一些实施例中,若资源管理单元是处理器内的硬件组件,则表征本技术实施例提供的资源分配方法以硬件的方式实施。
64.在具体实施时,处理器内的硬件组件根据待处理任务的信息确定资源分配策略,并基于资源分配策略为待处理任务分配目标资源,基于目标资源执行待处理任务。
65.在又一些实施例中,若资源管理单元包括安装于处理器上的程序和处理器内的硬件组件,则表征本技术实施例提供的资源分配方法以软件和硬件结合的方式实施。
66.在具体实施时,处理器内的硬件组件将待处理任务的信息发送至安装于处理器上的程序;安装于处理器上的程序根据待处理任务的信息确定资源分配策略,基于资源分配策略为待处理任务分配目标资源,并将目标资源发送至处理器中对应的硬件组件,由硬件组件基于目标资源执行待处理任务。
67.或者,在具体实施时,处理器内的硬件组件将待处理任务的信息发送至安装于处理器上的程序;安装于处理器上的程序根据待处理任务的信息确定资源分配策略,并将资源分配策略发送至处理器中对应的硬件组件,由硬件组件基于资源分配策略为待处理任务分配目标资源,基于目标资源执行待处理任务。
68.基于图3所示的资源分配方法,可以理解本技术实施例将一个电子设备内部包括的每个类型的资源划分为一个资源池,根据待处理任务的信息从资源池中为待处理任务分配执行待处理任务所需的资源。
69.在具体实施时,电子设备内的全部资源可以位于一个资源池内,或者按照资源的类型将电子设备内的全部资源划分为不同的资源池;电子设备内的资源划分示意图,如图5所示:将电子设备内包括的分支预测资源划分为一个分支预测资源池,将电子设备内包括的取指资源划分为一个取指资源池,将电子设备内包括的译码资源划分为一个译码资源池,将电子设备内包括的重命名资源划分为一个重命名资源池,将电子设备内包括的执行资源划分为一个执行资源池;其中,执行资源可以包括:寄存器资源、存储器资源以及运算资源中的一种或多种。各资源池之间通过连接网络进行连接;其中,连接网络可以是基于开关控制的硬件网络,也可以是其他任意形式的网络,本技术实施例不做限定。
70.图5所示的资源划分示意图中,由资源管理单元对全部资源池进行资源管理;在具体实施时,资源管理单元还可以包括多个资源管理子单元,由各个资源管理子单元分别对不同的资源池进行资源管理。作为示例,资源管理单元包括分支预测资源子管理单元、取指资源子管理单元、译码资源子管理单元、重命名资源子管理单元和执行资源子管理单元;其中,分支预测资源子管理单元用于对分支预测资源池内的资源进行资源管理,取指资源子管理单元用于对取指资源池内的资源进行资源管理,译码资源子管理单元用于对译码资源池内的资源进行资源管理,重命名资源子管理单元用于对重命名资源池内的资源进行资源管理,执行资源子管理单元用于对执行资源池内的资源进行管理。
71.针对图5所示的资源划分示意图,根据不同的资源分配策略,可以将每个资源池中划分为如图6所示的多个大小相同的子资源池,以及如图7所示的多个大小不同的子资源池;其中,大小相同的子资源池是指针对同一类型的资源,每个子资源池包括的资源的大小
均相同;大小不同的子资源池是指针对同一类型的资源,多个子资源池包括的资源的大小部分不同或全部不同。因此,任意两个子资源池包括的资源的大小可以相同或者不同。
72.下面分别对图6所示的一种基于资源分配策略划分子资源池的示意图,以及图7所示的另一种基于资源分配策略划分子资源池的示意图进行说明。
73.针对图6,基于资源分配策略将每个资源池以最小资源的组织方式划分子资源池,每个子资源池中包括的资源为该类型资源的最小单位;如此,针对每个资源池能够划分出最多数量的子资源池,以支持最大数量的处理器核执行最大数量的任务并行执行。作为示例,对分支预测资源池、取指资源池、译码资源池、重命名资源池和执行资源池均按照资源的最小单位划分,分支预测资源池划分为八个分支预测子资源池,取指资源池划分为八个取指资源子资源池,译码资源池划分为八个译码子资源池,重命名资源池划分为八个重命名子资源池,执行资源池划分为八个执行子资源池。每个子资源池可以用于一个处理器核执行任务,图6所示的资源可以支持八个处理器核并行执行八个任务。
74.在对每个资源池划分子资源池时,可能存在每个资源池划分得到的子资源池数量不同的情况;如:分支预测资源池划分为八个分支预测子资源池,取指资源池划分为六个取指资源子资源池,译码资源池划分为七个译码子资源池,重命名资源池划分为八个重命名子资源池,执行资源池划分为六个执行子资源池。该场景下,能够支持五个处理器核并行执行六个任务。
75.本技术实施例中,将每个资源池以最小资源的组织方式划分子资源池,使得电子设备内的资源能够支持最多数量的处理器核并行执行任务,提高任务并行的处理能力,进而提高电子设备的性能。
76.针对图7,基于资源分配策略将每个资源池以大小不同的组织方式划分子资源池,针对同一类型的资源,多个子资源池中包括的资源的大小部分不同或全部不同。如此,针对包括的资源多的子资源池,支持处理器核执行对资源需求强的任务,提高任务的处理效率和处理能力。作为示例,对分支预测资源池、取指资源池、译码资源池、重命名资源池和执行资源池中的每个资源池均以不同大小的组织方式划分子资源池;以分支预测资源池为例,分支预测资源池划分为五个分支预测子资源池,五个分支预测子资源池的大小有一部分不同,另一部分相同;图7中第一分支预测子资源池的大小大于第二分支预测子资源池的大小,第三分支预测子资源池、第四分支预测子资源池和第五分支预测子资源池的大小均相同。第一分支预测子资源池适用于对分支预测资源需求高的任务;第三分支预测子资源池、第四分支预测子资源池和第五分支预测子资源池适用于对分支预测资源需求低的任务;第二分支预测子资源池适用于对分支预测资源需求适中(对分支预测资源的需求处于最高和最低之间)的任务。其中,子资源池的大小是指子资源池内包括的资源的多少。
77.针对一个任务,可以根据任务对每种类型资源的需求从每个资源池中任意选择所需的一个子资源池;作为示例,为一个待执行任务分配第一分支预测子资源池、第二取指子资源池、第二译码子资源池、第三重命名子资源池和第一执行子资源池。
78.在一些实施例中,若电子设备内有两个或两个以上的处理器核,且有两个或两个以上的处理器核同时执行不同的待执行任务时,资源管理单元可以根据不同的待执行任务所需的资源确定资源分配优先级。
79.在一种场景下,针对同一类型的资源,根据每个所述待执行任务所需的资源数量,
确定为所述待执行任务分配该类型资源的资源分配优先级。如:确定为所需的资源数量最多的待执行任务分配该类型资源的资源分配优先级最高;确定为所需的资源数量最少的待执行任务分配该类型资源的资源分配优先级最低。若能够满足所需的资源数量多,则表示为有较多的子资源池可满足当前待执行任务的需求;而能够满足所需的资源数量少,则表示为有较少的子资源池可满足当前待执行任务的需求,可根据此类情况设置资源分配优先级,也即满足所需的资源数量少资源分配优先级越高,反之则资源分配优先级越低。
80.举例来说,包括两个待执行任务,即第一待执行任务和第二待执行任务。例如,第一待执行任务和第二待执行任务需要的一种类型的资源数量不同,如分支预测资源。例如,满足第一待执行任务需要的一种类型的资源数量少于满足第二待执行任务需要的一种类型的资源数量,此情况下,设定资源分配优先级为:第一待执行任务的优先级大于第二待执行任务的优先级。
81.在另一种场景下,针对同一类型的资源,根据所述电子设备的可用资源中能够满足每个所述待执行任务所需的资源的数量,确定为所述待执行任务分配该类型资源的资源分配优先级。如:确定所述电子设备的可用资源中,能够满足所需的资源数量最多的待执行任务的资源分配优先级最低;确定所述电子设备的可用资源中,能够满足所需的资源数量最低的待执行任务的资源分配优先级最高。举例来说,电子设备的可用资源中,能够满足第一待执行任务的取指资源包括取指资源1、取指资源2和取指资源3;电子设备的可用资源中,能够满足第二待执行任务的取指资源仅包括取指资源1;则第二待执行任务的资源分配优先级高于第一待执行任务的资源分配优先级。优先为第二待执行任务分配取指资源1.之后,再从取指资源2和取指资源3中为第一待执行任务分配取指资源。
82.本技术实施例中,将每个资源池以不同大小的组织方式划分子资源池,使得资源管理单元能够根据任务对每种类型的资源的需求,为任务分配所需的资源;避免相关技术中由于为每个处理器核分配固定的资源而导致的资源浪费或资源不足以支持处理器核执行任务的问题,提高了任务执行的效率和资源的利用率,进而提高了处理器的性能。
83.本技术实施例中,将处理器内每种类型的资源划分为一个资源池,基于待执行任务的信息确定资源分配策略,按照资源分配策略将每个资源池划分为多个大小相同或不同的子资源池;实现能够根据任务的需求从多个子资源池中为任务分配所需的资源。如此,不仅提高了任务的执行效率,而且提高了资源的利用率,进而提高了处理器的性能。
84.二、资源回收所述资源管理单元101,用于接收任务结束指令,基于所述任务结束指令,确定执行所述任务结束指令对应的任务的资源,回收所述资源;其中,所述资源由所述资源管理单元根据所述任务的信息分配至处理器核。
85.在一些实施例中,所述资源管理单元101,用于响应于所述任务未完全结束,所述资源管理单元101确认所述任务结束指令对应的至少一个子资源;所述资源管理单元101确认所述任务对应的流水线中,已经完成的流水级对应的子资源;其中,所述至少一个子资源包括执行所述任务的全部子资源中执行完成的子资源。在该场景下,每完成一个流水级,可以发送一个任务结束指令,该任务结束指令用于指示该流水级操作完成或结束,则所述资源管理单元101确认该流水级对应的子资源,并回收该流水级对应的子资源。
86.在一些实施例中,所述资源管理单元101,用于响应于所述任务全部结束,所述资源管理单元101确认所述任务结束指令对应的全部子资源;所述资源管理单元101确认所述全部子资源为执行所述任务结束指令对应的任务的资源;其中,所述全部子资源包括执行所述任务的全部资源。在该场景下,任务对应的全部流水级操作均完成或结束才发送任务结束指令,该任务结束指令用于指示任务对应的全部流水级均完成或结束,则所述资源管理单元101确认所述任务结束指令对应的全部子资源,并回收任务对应的全部子资源。
87.本技术实施例提供的资源回收方法的一种可选流程示意图,如图8所示。
88.步骤s301,资源管理单元接收任务结束指令。
89.在一些实施例中,所述资源管理单元接收处理器核发送的任务结束指令;所述任务结束指令用于表征所述处理器核执行的任务全部结束或未完全结束,指示所述资源管理单元回收执行完成的流水级对应的资源。
90.例如,若所述任务结束指令表征处理器核执行的任务全部结束,则指示所述资源管理单元回收所述资源管理单元分配的全部资源;或者,若所述任务结束指令表征所述处理器核执行的任务全部结束,则指示所述资源管理单元回收执行完成的流水级对应的资源。
91.其中,所述执行完成的流水级对应的资源(或子资源)包括处理器核在执行任务的过程中,执行完成的任务所对应的资源(或子资源);例如,所述任务包括取指、译码、执行、访存和写回,在所述处理器核执行完成取指后,执行所述取指所需的资源(或子资源)为所述执行完成的资源;或者,在所述处理器核执行完成取指和译码后,执行所述取指和所述译码所需的资源(或子资源)为所述执行完成的资源。
92.在一些实施例中,所述资源由所述资源管理单元根据所述任务分配至所述处理器核。具体的所述资源管理单元分配所述处理器核的过程将在后续进行详细描述。
93.步骤s302,所述资源管理单元基于所述任务结束指令,确定执行所述任务结束指令对应的任务的资源。
94.在一些实施例中,所述资源管理单元响应于所述任务未完全结束,所述资源管理单元确认所述任务对应的流水线中,已经完成的流水级对应的子资源;其中,所述子资源为用于执行所述任务所需资源中的部分资源。
95.具体实施时,若一个任务包括五个子任务,即取指、译码、执行、访存和写回,每个子任务对应一个流水级;在五个子任务中的任意一个子任务执行完成后,便回收该任务对应的流水级的子资源。举例来说,每个子任务对应一个任务结束指令,子任务执行完成后,处理器核向资源管理单元发送该子任务对应的任务结束指令。所述任务结束指令可以是所述处理器核在执行任务的过程中周期性向所述资源管理单元发送的;也可以是所述处理器核在执行任务的过程中,针对执行完成的子任务向所述资源管理单元发送的;其中,所述任务结束指令中可以包括所述处理器核执行所述任务的进度。
96.进一步,具体实施时,响应于所述任务结束指令为所述处理器核在执行任务的过程中周期性向所述资源管理单元发送的,所述资源管理单元基于所述任务结束指令,确定所述任务中执行完成子任务对应的子资源为所述执行所述任务结束指令对应的任务的资源。例如,所述任务包括五个子任务,即取指、译码、执行、访存和写回,所述处理器核在执行
且未执行完成所述访存时,周期性向所述资源管理单元发送所述任务结束指令;所述资源管理单元确认所述访存之前的取值、译码和执行所需的子资源为所述任务结束指令对应的任务的资源。
97.或者,具体实施时,响应于所述任务结束指令为所述处理器核在执行任务的过程中,针对执行完成的部分向所述资源管理单元发送的,所述资源管理单元基于所述任务结束指令,确定所述任务中执行完成的至少一个子资源为所述执行所述任务结束指令对应的任务的资源。例如,所述任务包括取指、译码、执行、访存和写回,所述处理器核在执行完成所述访存时,向所述资源管理单元发送所述任务结束指令;所述资源管理单元确认所述访存所需的子资源为所述任务结束指令对应的任务的资源;明显地,对于取值、译码和执行所需的子资源在所述取值、译码和执行完成后,通过所述处理器核发送的任务结束指令进行回收。
98.在一些实施例中,所述资源管理单元响应于所述任务全部结束,所述资源管理单元确认所述任务结束指令对应的全部子资源;所述资源管理单元确认所述全部子资源为执行所述任务结束指令对应的任务的资源;其中,所述全部子资源包括执行所述任务的全部资源中执行完成的子资源。
99.具体实施时,所述任务结束指令可以是所述处理器核在执行任务的过程中周期性向所述资源管理单元发送的;也可以是所述处理器核在执行任务的过程中,针对执行完成的部分向所述资源管理单元发送的;还可以是所述处理器核在执行全部任务后,向所述资源管理单元发送的;其中,所述任务结束指令中可以包括所述处理器核执行所述任务的进度。
100.进一步,具体实施时,响应于所述任务结束指令为所述处理器核在执行任务的过程中(包括周期性发送或执行完成一个子任务后发送),所述资源管理装置可以暂时挂起所述任务结束指令,待所述任务包括的全部子任务结束完成后,确认所述任务对应的全部子资源为执行所述任务结束指令对应的任务的资源;或者,响应于所述任务结束指令为所述处理器核在任务全部结束后发送的,所述资源管理单元确认所述任务对应的全部子资源为执行所述任务结束指令对应的任务的资源。
101.步骤s303,所述资源管理单元回收所述资源。
102.在一些实施例中,所述资源管理单元回收所述资源,以使后续为处理器核分配资源时可以分配或不分配所述回收的资源。
103.在一些实施例中,还可以记录资源回收的时刻,在资源回收的时刻与下一次资源分配的时刻之间的间隔小于预设的间隔阈值时,优先分配该资源。
104.本技术实施例中,处理器内的资源管理单元接收所述电子设备内的处理器核发送的任务结束指令;所述资源管理单元基于所述任务结束指令,确定执行所述任务结束指令对应的任务的资源;所述资源管理单元回收所述资源;所述资源由所述资源管理单元根据所述任务分配至所述处理器核;在任务全部完成或子任务完成的情况下,所述资源管理单元可以根据所述任务结束指令回收执行完成的资源(或子资源),便于其他任务的资源分配和执行,提升资源利用率和任务的执行效率;进而提高了处理器的性能。
105.三、资源状态管理所述资源管理单元101,用于监测第一时间区间内电子设备的资源调用情况,基于
所述资源调用情况控制资源的状态,所述资源的状态包括休眠状态或唤醒状态;其中,所述休眠状态的资源能够被分配至处理器核102,所述唤醒状态的资源不能够被分配至处理器核102。
106.在一些实施例中,所述资源管理单元101,用于响应于所述资源调用情况为资源未被调用,控制所述资源的状态为休眠状态。
107.在一些实施例中,所述资源管理单元101,用于响应于所述休眠状态的资源满足唤醒条件,控制所述资源的状态为唤醒状态。
108.本技术实施例提供的资源管理单元对资源进行资源状态管理的一种可选处理流程示意图,如图9所示,至少可以包括以下步骤:步骤s401,资源管理单元监测第一时间区间内电子设备上的资源调用情况。
109.其中,第一时间区间可根据应用场景灵活设定,如设定第一时间区间为1分钟、5分钟或10分钟等。在具体实施时,若第一时间区间太短,将会导致资源的状态在唤醒状态和休眠状态之间频繁切换,增加资源调用情况的监测成本;第一时间区间太长,将会导致资源闲置很久后才能进入休眠状态,不能有效地节省能耗。可选地,可根据多次实验结果或模型确定一个较佳的第一时间区间。
110.在一些实施例中,资源调用情况指电子设备的资源在第一时间区间内是否被调用、或是否被分配用于执行任务。
111.资源管理单元可通各种方式监测第一时间区间内电子设备的资源调用情况。
112.例如,在第一时间区间的开始时间,创建一个空白的资源调用表或清空原有的资源调用表;在将资源分配给执行流水线的处理器核的流程中,在该资源调用表中,记录下所分配的资源;在第一时间区间结束时,查看该资源调用表,该资源调用表中记录的资源,即为被调用的资源,未记录的资源即为未被调用的资源。
113.或者,在原有的资源管理项中,为每个资源项设置一个标志位,在第一时间区间开始时,将该标志位重置为代表“未调用”的值;当该资源被调用时,则将该标志位设置为代表“被调用”的值;在第一时间区间结束时,检查每个资源项的标志位,即可获知该资源是否被调用。
114.步骤s402,基于资源调用情况控制资源的状态;资源的状态包括休眠状态或唤醒状态。
115.在一些实施例中,电子设备的资源的默认状态为唤醒状态。若在第一时间区间内资源被调用,则控制该资源的继续保持唤醒状态;若资源未被调用,则控制该资源的状态从唤醒状态切换为休眠状态。
116.在一些实施例中,资源的状态切换为休眠状态后,可控制该资源以低能耗方式运行,以节省整个多核电子设备的能耗。
117.对于一些以低能耗方式运行后会损失部分性能或功能的资源来说,如果将其分配给用于执行流水线的处理器核,则有可能会影响到该处理器核的性能。为此,在本技术的实施例中,仅会将唤醒状态的资源分配给执行该流水线的处理器核;而休眠状态的资源则不被用于执行流水线。如此,可以进一步缩小资源分配的处理范围,减少资源管理单元的计算负荷,提高资源的管理效率。
118.在一些实施例中,在资源的状态切换为休眠状态之后,还可在满足唤醒条件时,唤
醒休眠状态的资源,控制该资源的状态从休眠状态切换为唤醒状态。
119.其中,唤醒条件可以包括:资源处于休眠状态的时长达到设定的时长门限;或者,处于唤醒状态的资源不满足待处理任务所需的资源。
120.需要说明的是,本技术实施例所涉及的资源是针对一台电子设备上的资源,相应的,资源分配是针对一台电子设备上的资源进行分配,资源回收是针对一台电子设备上的资源进行回收,资源状态管理是针对一台电子设备上的资源的资源状态进行管理。资源分配是为每个任务或每个任务对应的流水线分配资源,资源回收是对每个任务的资源或每个任务对应的流水线的资源进行回收。
121.本技术实施例中,通过电子设备内部的资源管理单元控制资源进入休眠状态,并控制休眠状态的资源以低能耗方式运行,能够减少资源所产生的能耗,提高处理器的性能。
122.需要说明的是,自第一台通用电子计算机问世以来,计算机技术在几十年间取得了飞速的发展,计算机技术的飞速发展得益于计算机体系结构的改进以及计算机生产技术的发展。计算机生产技术对计算机技术的发展的贡献一直是稳定的;然而,由于计算机体系结构经历几十年的改进,使得计算机体系结构的改进空间愈发狭小,因此针对计算机体系结构的任意小的改进都将对处理器的性能和计算机技术的发展带来较明显的影响。
123.本技术实施例还提供一种电子设备,电子设备400的组成结构示意图,如图10所示,包括:至少一个处理器410、存储器450以及总线440;电子设备400中的各个组件通过总线440耦合在一起。可理解,总线440用于实现这些组件之间的连接通信。总线440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线440。
124.处理器410可以是图2所示的处理器,可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等;处理器410可以包括至少一个处理器核。
125.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器 410的一个或多个存储设备。存储器450可以包括资源管理单元101。
126.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集。
127.在一些实施例中,电子设备400还可以包括:操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等。
128.本技术实施例提供的电子设备可以是服务器或终端设备。
129.服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务
器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做限制。
130.以上,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1