一种并行仲裁的方法、系统、设备和存储介质与流程



1.本发明涉及电子系统领域,更具体地,特别是指一种并行仲裁的方法、系统、设备和存储介质。


背景技术:



2.随着电子技术的发展,在电子系统中,有时需要多个设备同时申请多个资源的情况,此时需要仲裁器,确定哪些设备将获得授权。如在soc(system on chip,片上系统)中,多个核同时申请计数型信号量。常见的仲裁器有轮询仲裁器(round-robin)和固定优先级仲裁器(fixed-priority)两种。这两种仲裁器都存在一定的局限性:1、固定优先级仲裁器的最大缺点是公平问题,如果处于授权高优先级的设备一直不断产生请求,则低优先级的设备始终无法获得授权,这对于低优先级的设备不公平,对于某些场景系统功能无法正常运行;2、轮询仲裁器可以避免固定优先级仲裁器授权不公平的问题,但一次只能授权一个请求,授权效率低下。对于某些有多个请求,需要授权多个请求的场景,轮询仲裁器无法满足需求此需求,例如多个核同时申请一个计数型信号量,轮询仲裁器只能按轮询优先级一次授权一个请求,无法实现一次授权多个请求,所以授权效率低下。


技术实现要素:



3.有鉴于此,本发明实施例的目的在于提出一种并行仲裁的方法、系统、计算机设备及计算机可读存储介质,本发明不仅可以实现轮询仲裁器的功能,而且基于轮询优先级原理,根据请求和授权数量,实现了并行授权,一次可以授权多个请求,可以相对公平且高效的实现并行仲裁,从而提高系统的运行效率。
4.基于上述目的,本发明实施例的一方面提供了一种并行仲裁的方法,包括如下步骤:响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;根据资源数目和所述请求数目确定本次授权数目;按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。
5.在一些实施方式中,所述根据资源数目和请求数目确定本次授权数目包括:将所述资源数目和所述请求数目中的较小值作为本次授权数目。
6.在一些实施方式中,所述按照授权优先级确定比对的顺序包括:根据预先给每个位设置的优先级数字的大小或字符的顺序确定比对的顺序。
7.在一些实施方式中,所述按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目包括:从优先级最高的位开始向最低位轮询,并根据所述请求内容依次比对当前位是否需要授权;以及响应于当前位需要授权,对当前位进行授权并比对下一位直到授权的位数等于所述本次授权数目。
8.在一些实施方式中,所述根据所述请求内容依次比对当前位是否需要授权包括:
响应于所述请求内容对应的当前位为一,则确定当前位需要授权;以及响应于所述请求内容对应的当前位为零,则确定当前位不需要授权。
9.在一些实施方式中,方法还包括:响应于本次授权结束,将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级。
10.在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐升高,从最低位开始向第一方向轮询。
11.在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最高位,将最低位作为下次授权的最高优先级。
12.在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐降低,从最高位开始向第二方向轮询。
13.在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最低位,将最高位作为下次授权的最高优先级。
14.在一些实施方式中,方法还包括:响应于本次授权完成,产生授权完成信号,并基于所述授权完成信号产生一个周期的脉冲。
15.在一些实施方式中,方法还包括:响应于本次授权数目为零,维持当前状态并实时检测是否存在下一个请求。
16.本发明实施例的另一方面,提供了一种并行仲裁的系统,包括:请求模块,配置用于响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;数目模块,配置用于根据资源数目和所述请求数目确定本次授权数目;比对模块,配置用于按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及结果模块,配置用于对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。
17.本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
18.本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
19.本发明具有以下有益技术效果:不仅可以实现轮询仲裁器的功能,而且基于轮询优先级原理,根据请求和授权数量,实现了并行授权,一次可以授权多个请求,可以相对公平且高效的实现并行仲裁,从而提高系统的运行效率。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
21.图1为现有技术中轮询仲裁器的原理示意图;
图2为现有技术中固定优先级仲裁器的原理示意图;图3为本发明提供的并行仲裁的方法的实施例的示意图;图4为本发明提供的并行仲裁器的硬件架构图;图5为本发明提供的并行仲裁器的原理示意图;图6为本发明提供的并行仲裁器的控制状态机示意图;图7为本发明提供的并行仲裁的系统的实施例的示意图;图8为本发明提供的并行仲裁的计算机设备的实施例的硬件结构示意图;图9为本发明提供的并行仲裁的计算机存储介质的实施例的示意图。
具体实施方式
22.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
23.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
24.轮询仲裁器(round-robin)是指,多个设备同时向轮询仲裁器发出请求时,优先级最高的设备将获得授权,之后下一个设备的优先级最高,进行授权,依次类推。图1为现有技术中轮询仲裁器的原理示意图。如图1所示,最右边为最低位,最左边为最高位,初始时,最高优先级为请求的最低位,从最低位到高位,授权优先级逐位降低,直到有请求的位,此位将会被授权,下次授权的最高优先级为此次授权位的下一位,如果此次授权位为最高位,则下次授权的最高优先级为最低位,每次只授权一位,依次进行。轮询仲裁器的实现为检测仲裁器输入口信号源的request(请求),根据当前仲裁器的优先级,响应相应request,仲裁器输出授权结果后,更新仲裁器的优先级,用于下次授权。轮询仲裁器的仲裁实例如表1所示,其中优先级0为最高,优先级3为最低。
25.表1 request[3:0]rrprioritygrant[3:0]第一次110132100001第二次110021030100第三次100103211000第四次000132100001第一次request为1101,优先级的顺序是3210,则最低位的授权优先级最高,所以授权最低位,授权结果grant为0001,下次授权时,最高优先级为第1位(即最低位左边的一位)。之后被授权设备处理完相应操作后,取消申请。第二次授权时,request为1100,由于第1位授权优先级最高,第1位对应的申请内容为0,需要跳过,第2位申请为1,所以此次授权结果grant为0100,下次授权最高优先级为第3位。之后,被授权的设备处理完相应的操作后,取消申请。第三次授权时,request为1001,最低位设备又发出了申请,由于此次授权最高优先级为第3位,所以授权结果grant为1000,下次授权最高优先级为第0位。之后被授权设备处理完相应操作后,取消申请。第四次授权时,request为0001,由于此次授权最高优先级为0位(即最低位),所以授权结果grant为0001。之后被授权设备处理完相应操作后,取消申
请。之后授权活动,将按照此规则依次进行。
[0026]
固定优先级仲裁器(fixed-priority)是指,多个设备同时向轮询仲裁器发出请求时,最低位请求的优先级最高,其余优先级逐位递减,当某个请求获得授权后,优先级仍然保持不变。图2为现有技术中固定优先级仲裁器的原理示意图。如图2所示,最低位的授权优先级(priority)为0最高,位越高优先级越低,授权优先级从最低位到高位依次降低,并且授权优先级始终固定。固定优先级仲裁器的实现与轮询仲裁器类似,唯一不同的是轮询仲裁器在每次授权完成后会对优先级进行更新,而固定优先级仲裁器则不需要更新。表2为固定优先级授权实例。
[0027]
表2 request[3:0]fpprioritygrant[3:0]第一次110132100001第二次110032100100第三次100132100001第四次100032101000第一次授权时request为1101,最高优先级为第0位,所以授权结果grant为0001。之后被授权设备处理完相应操作后,取消申请。第二次授权时,request为1100,最高优先级仍然为第0位,由于第0位和第1位没有申请,所以授权结果grant为0100。之后被授权设备处理完相应操作后,取消申请。第三次授权时,request为1001,根据授权优先级,授权结果grant为0001。之后被授权设备处理完相应操作后,取消申请。第四次授权时,request为1000,根据授权优先级,从第0位到第2位没有申请,第3位有申请,所以授权结果grant为1000。之后被授权设备处理完相应操作后,取消申请。固定优先级仲裁器的授权活动,将按照此规则依次进行。
[0028]
针对上述两种仲裁器的局限性,本发明提出一种基于轮询方式下的并行仲裁的方法。由于此设计授权是基于轮询优先级原理进行的,所以可做到相对公平,保证每个请求都有机会获得授权。此设计不仅可以满足轮询仲裁器的功能,可以兼容轮询仲裁器,而且在n个请求,授权数为m(m《=n)的场景下,可以实现并行授权,一次授权多个请求,相较于上述两种传统仲裁器,此设计大大提高了仲裁效率,节省了授权时间,从而进一步提升系统运行效率。
[0029]
本发明实施例的第一个方面,提出了一种并行仲裁的方法的实施例。图3示出的是本发明提供的并行仲裁的方法的实施例的示意图。如图3所示,本发明实施例包括如下步骤:s1、响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;s2、根据资源数目和所述请求数目确定本次授权数目;s3、按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及s4、对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。
[0030]
图4为本发明提供的并行仲裁器的硬件架构图,结合图4对本发明实施例进行说明。如图4所示,本发明实施例的硬件架构主要包括两部分:授权数目计算模块和轮询授权
模块。授权数目计算模块,根据resource(资源)和request数目计算得到本次授权数目granted_num。轮询授权模块,根据本次授权数目granted_num、请求情况request和内部的授权优先级priority得到授权结果grant和授权完成信号grant_finish_vld_o,轮询授权模块只需要一个时钟周期就可以得到授权结果grant和授权完成信号grant_finish_vld_o。
[0031]
响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容。
[0032]
根据资源数目和所述请求数目确定本次授权数目。在一些实施方式中,所述根据资源数目和请求数目确定本次授权数目包括:将所述资源数目和所述请求数目中的较小值作为本次授权数目。
[0033]
根据resource和request的数目决定本次授权数目granted_num。resource数目代表可以授权的总数目,每授权一个请求resource数量就减少一,所以本次授权数目为request中请求个数和resource中的较小值,即只需取resource和request个数两者中的较小值,即可得到本次授权数目granted_num,granted_num将会在轮询授权模块被使用。由于授权数目granted_num为1是并行授权的特殊情况,所以本发明实施例不仅可以兼容轮询仲裁器,而且可以实现并行授权。如果resource和request的数目都大于1,此时granted_num也将大于1,此时将进行并行授权,多个请求可以同时被响应,一次授权多个请求,如果控制resource数目等于1,并且此时有请求,那么此次授权的授权数目granted_num为1,此场景与轮询仲裁器的仲裁情景完全相同,所以此并行授权电路功能完全可以兼容轮询仲裁器。
[0034]
按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目。
[0035]
在一些实施方式中,所述按照授权优先级确定比对的顺序包括:根据预先给每个位设置的优先级数字的大小或字符的顺序确定比对的顺序。例如,一共有7位,可以是0为最高优先级,6为最低优先级,也可以是a为最高优先级,g为最低优先级。
[0036]
在一些实施方式中,所述按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目包括:从优先级最高的位开始向最低位轮询,并根据所述请求内容依次比对当前位是否需要授权;以及响应于当前位需要授权,对当前位进行授权并比对下一位直到授权的位数等于所述本次授权数目。例如,优先级为6543210,则从最低位开始轮询,依次判断当前位是否需要授权,如果需要授权,则将granted_num1加1,直到granted_num1等于granted_num。
[0037]
在一些实施方式中,所述根据所述请求内容依次比对当前位是否需要授权包括:响应于所述请求内容对应的当前位为一,则确定当前位需要授权;以及响应于所述请求内容对应的当前位为零,则确定当前位不需要授权。
[0038]
在一些实施方式中,方法还包括:响应于本次授权结束,将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级。
[0039]
在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐升高,从最低位开始向第一方向轮询。例如,优先级为6543210,则从最低位开始向左轮询。
[0040]
在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最高位,将最低位作为下
次授权的最高优先级。
[0041]
在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐降低,从最高位开始向第二方向轮询。例如,优先级为0123456,则从最高位开始向右轮询。
[0042]
在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最低位,将最高位作为下次授权的最高优先级。
[0043]
对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。本发明实施例中的预设字符为零。
[0044]
图5为本发明提供的并行仲裁器的原理示意图,如图5所示,例如request=1010110,resource为2,由于request数目为4,则granted_num=2。grant_priority =6543210,即从最低位开始授权,授权数目为2。最低位申请request[0]为0,则跳过,第一位申请request[1]为1,则需要被授权,第二位申请request[2]也为1,需要被授权,此时本次授权数目granted_num=2,授权结果为grant为0000110,产生授权结果的同时grant_finish_vld_o信号产生一个周期的pulse。下次授权优先级grant_priority为3210654,以此类推,进行授权。并行仲裁器举例表3所示。
[0045]
表3 requestresourcegrant_prioritygrant第一次1101132100001第二次1110521031110第三次0001132100001第四次1010221031010第一次授权时,request为1101,resource为1,所以本次授权数目granted_num为1,由于最高授权优先级为第0位,所以授权结果grant为0001,下次授权时,最高授权优先级为第1位。第二次授权时,request为1110,即请求数目为3,resource为5,所以granted_num为3,由于此时最高授权优先级为第1位,所以授权结果grant为1110,此次授权的最后一位为第3位,所以下次授权时,最高授权优先级为第0位。以此类推,可知,第三次授权结果为0001,第四次授权结果为1010。
[0046]
在一些实施方式中,方法还包括:响应于本次授权完成,产生授权完成信号,并基于所述授权完成信号产生一个周期的脉冲。
[0047]
本发明实施例中的并行仲裁器采用状态机控制实现,状态机包括两个状态:granted_num和grant,状态转换图如图6所示。在granted_num状态时,根据request和resource的数目,计算本次授权数目granted_num,如果granted_num为0,则维持在granted_num状态,如果granted_num大于0,则跳转到grant状态。在grant状态时,基于轮询优先级原理,根据granted_num和request得到授权结果grant和授权完成信号grant_finish_vld_o。以此循环控制并行授权电路工作。
[0048]
在一些实施方式中,方法还包括:响应于本次授权数目为零,维持当前状态并实时检测是否存在下一个请求。
[0049]
本发明实施例基于轮询方式实现了并行仲裁,相较于只能实现授权数目为1的传
统仲裁器,本发明实施例不仅可以兼容轮询仲裁器,而且实现了并行授权,一次授权一个或多个请求,提高了仲裁器的授权效率,也扩大了应用场景,提高了系统运行效率。
[0050]
需要特别指出的是,上述并行仲裁的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于并行仲裁的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
[0051]
基于上述目的,本发明实施例的第二个方面,提出了一种并行仲裁的系统。如图7所示,系统200包括如下模块:请求模块,配置用于响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;数目模块,配置用于根据资源数目和所述请求数目确定本次授权数目;比对模块,配置用于按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及结果模块,配置用于对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。
[0052]
在一些实施方式中,所述数目模块配置用于:将所述资源数目和所述请求数目中的较小值作为本次授权数目。
[0053]
在一些实施方式中,所述比对模块配置用于:根据预先给每个位设置的优先级数字的大小或字符的顺序确定比对的顺序。
[0054]
在一些实施方式中,所述比对模块配置用于:从优先级最高的位开始向最低位轮询,并根据所述请求内容依次比对当前位是否需要授权;以及响应于当前位需要授权,对当前位进行授权并比对下一位直到授权的位数等于所述本次授权数目。
[0055]
在一些实施方式中,所述比对模块配置用于:响应于所述请求内容对应的当前位为一,则确定当前位需要授权;以及响应于所述请求内容对应的当前位为零,则确定当前位不需要授权。
[0056]
在一些实施方式中,系统还包括优先级模块,配置用于:响应于本次授权结束,将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级。
[0057]
在一些实施方式中,所述比对模块配置用于:响应于从最高位到最低位优先级逐渐升高,从最低位开始向第一方向轮询。
[0058]
在一些实施方式中,所述优先级模块配置用于:响应于本次授权的最后一位为最高位,将最低位作为下次授权的最高优先级。
[0059]
在一些实施方式中,所述比对模块配置用于:响应于从最高位到最低位优先级逐渐降低,从最高位开始向第二方向轮询。
[0060]
在一些实施方式中,所述优先级模块配置用于:响应于本次授权的最后一位为最低位,将最高位作为下次授权的最高优先级。
[0061]
在一些实施方式中,系统还包括脉冲模块,配置用于:响应于本次授权完成,产生授权完成信号,并基于所述授权完成信号产生一个周期的脉冲。
[0062]
在一些实施方式中,系统还包括检测模块,配置用于:响应于本次授权数目为零,维持当前状态并实时检测是否存在下一个请求。
[0063]
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:s1、响应于接收到授权请求,根据所述授权请求确定请求数目和请求内
容;s2、根据资源数目和所述请求数目确定本次授权数目;s3、按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及s4、对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。
[0064]
在一些实施方式中,所述根据资源数目和请求数目确定本次授权数目包括:将所述资源数目和所述请求数目中的较小值作为本次授权数目。
[0065]
在一些实施方式中,所述按照授权优先级确定比对的顺序包括:根据预先给每个位设置的优先级数字的大小或字符的顺序确定比对的顺序。
[0066]
在一些实施方式中,所述按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目包括:从优先级最高的位开始向最低位轮询,并根据所述请求内容依次比对当前位是否需要授权;以及响应于当前位需要授权,对当前位进行授权并比对下一位直到授权的位数等于所述本次授权数目。
[0067]
在一些实施方式中,所述根据所述请求内容依次比对当前位是否需要授权包括:响应于所述请求内容对应的当前位为一,则确定当前位需要授权;以及响应于所述请求内容对应的当前位为零,则确定当前位不需要授权。
[0068]
在一些实施方式中,步骤还包括:响应于本次授权结束,将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级。
[0069]
在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐升高,从最低位开始向第一方向轮询。
[0070]
在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最高位,将最低位作为下次授权的最高优先级。
[0071]
在一些实施方式中,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐降低,从最高位开始向第二方向轮询。
[0072]
在一些实施方式中,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最低位,将最高位作为下次授权的最高优先级。
[0073]
在一些实施方式中,步骤还包括:响应于本次授权完成,产生授权完成信号,并基于所述授权完成信号产生一个周期的脉冲。
[0074]
在一些实施方式中,步骤还包括:响应于本次授权数目为零,维持当前状态并实时检测是否存在下一个请求。
[0075]
如图8所示,为本发明提供的上述并行仲裁的计算机设备的一个实施例的硬件结构示意图。
[0076]
以如图8所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
[0077]
处理器301和存储器302可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0078]
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的并行仲裁的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模
块,从而执行服务器的各种功能应用以及数据处理,即实现并行仲裁的方法。
[0079]
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据并行仲裁的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0080]
一个或者多个并行仲裁的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的并行仲裁的方法。
[0081]
执行上述并行仲裁的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0082]
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行并行仲裁的方法的计算机程序。
[0083]
如图9所示,为本发明提供的上述并行仲裁的计算机存储介质的一个实施例的示意图。以如图9所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
[0084]
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0085]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0086]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术特征:


1.一种并行仲裁的方法,其特征在于,包括如下步骤:响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;根据资源数目和所述请求数目确定本次授权数目;按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。2.根据权利要求1所述的方法,其特征在于,所述根据资源数目和请求数目确定本次授权数目包括:将所述资源数目和所述请求数目中的较小值作为本次授权数目。3.根据权利要求1所述的方法,其特征在于,所述按照授权优先级确定比对的顺序包括:根据预先给每个位设置的优先级数字的大小或字符的顺序确定比对的顺序。4.根据权利要求1所述的方法,其特征在于,所述按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目包括:从优先级最高的位开始向最低位轮询,并根据所述请求内容依次比对当前位是否需要授权;以及响应于当前位需要授权,对当前位进行授权并比对下一位直到授权的位数等于所述本次授权数目。5.根据权利要求4所述的方法,其特征在于,所述根据所述请求内容依次比对当前位是否需要授权包括:响应于所述请求内容对应的当前位为一,则确定当前位需要授权;以及响应于所述请求内容对应的当前位为零,则确定当前位不需要授权。6.根据权利要求4所述的方法,其特征在于,方法还包括:响应于本次授权结束,将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级。7.根据权利要求6所述的方法,其特征在于,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐升高,从最低位开始向第一方向轮询。8.根据权利要求7所述的方法,其特征在于,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最高位,将最低位作为下次授权的最高优先级。9.根据权利要求6所述的方法,其特征在于,所述从优先级最高的位开始向最低位轮询包括:响应于从最高位到最低位优先级逐渐降低,从最高位开始向第二方向轮询。10.根据权利要求9所述的方法,其特征在于,所述将本次授权的最后一位根据优先级排序的方式移动一位作为下次授权的最高优先级包括:响应于本次授权的最后一位为最低位,将最高位作为下次授权的最高优先级。11.根据权利要求1所述的方法,其特征在于,方法还包括:响应于本次授权完成,产生授权完成信号,并基于所述授权完成信号产生一个周期的
脉冲。12.根据权利要求1所述的方法,其特征在于,方法还包括:响应于本次授权数目为零,维持当前状态并实时检测是否存在下一个请求。13.一种并行仲裁的系统,其特征在于,包括:请求模块,配置用于响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;数目模块,配置用于根据资源数目和所述请求数目确定本次授权数目;比对模块,配置用于按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及结果模块,配置用于对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。14.一种计算机设备,其特征在于,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-12任意一项所述方法的步骤。15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12任意一项所述方法的步骤。

技术总结


本发明提供一种并行仲裁的方法、系统、设备和存储介质,方法包括:响应于接收到授权请求,根据所述授权请求确定请求数目和请求内容;根据资源数目和所述请求数目确定本次授权数目;按照授权优先级确定比对的顺序,并按照所述比对的顺序根据所述请求内容依次确定每一位授权的结果直到授权的位数达到所述本次授权数目;以及对未授权的位用预设字符进行填充,并根据已授权的位和未授权的位形成授权结果。本发明可以实现并行仲裁,一次授权多个请求,大大提高了授权效率,进而提升了系统的运行效率。行效率。行效率。


技术研发人员:

樊志斌 王明明 赵璠

受保护的技术使用者:

苏州浪潮智能科技有限公司

技术研发日:

2022.11.09

技术公布日:

2022/12/9

本文发布于:2024-09-20 14:44:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/31084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:优先级   所述   数目   低位
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议