G06F9/50
1.一种资源访问仲裁方法,其特征在于,包括:
监测申请源对资源的访问是否已经释放;
在所述申请源对所述资源的访问已经释放的情况下,对所述申请源申请资源访问的 优先级进行更新;
在所述申请源对资源申请访问时,根据更新后的所述申请源对资源申请访问的优先 级,仲裁是否允许对资源进行访问,其中,优先级高的申请源优先对资源申请访问。
2.根据权利要求1所述的方法,其特征在于,在所述申请源对所述资源的访问已经释放的 情况下,对所述申请源申请资源访问的优先级进行更新包括:
在所述申请源对所述资源的访问已经释放的情况下,将所述申请源当前的优先级更 新为优先级分配器根据预定的规则分配的优先级。
3.根据权利要求2所述的方法,其特征在于,
在所述优先级分配器通过计数器更新所述优先级的情况下,通过计数器计数所有申 请源对资源访问释放的次数;将计数的所述次数作为所述优先级分配器所分配的优先级 更新为所述申请源当前的优先级;或者,
在所述优先级分配器通过所述计时器更新为所述优先级的情况下,设置更新时间以 及预更新的优先级数;在所述更新时间到时时,将所述预更新的优先级数作为所述优先 级分配器所分配的优先级更新为所述申请源当前的优先级。
4.根据权利要求3所述的方法,其特征在于,在所述优先级分配器通过计数器更新所述优 先级的情况下,对申请源释放资源访问设置预定次数,在所述计数器的所述计数值达到 所述预定次数时,将所述计数器归零。
5.根据权利要求4所述的方法,其特征在于,在将所述计数器归零之后,还包括:
在对优先级区间的优先级进行排序后,将优先级最低的优先级区间内的申请源申请 资源访问的优先级进行更新,其中,将优先级划分为优先级区间,每个优先级区间包括 级别连续的多个优先级。
6.根据权利要求5所述的方法,其特征在于,将优先级最低的优先级区间内的申请源申请 资源访问的优先级通过以下公式进行更新:
i=j‑(K‑1)n,其中,i为更新后的申请源申请资源访问的优先级编号,j为当前申请 源申请资源访问的优先级编号,K为优先级最低的优先级区间的优先级编号,n是申请源 的总数,其中,优先级编号小的优先级高。
7.一种资源访问仲裁装置,其特征在于,包括:
监测模块,用于监测申请源对资源的访问是否已经释放;
更新模块,用于在所述申请源对所述资源的访问已经释放的情况下,对所述申请源 申请资源访问的优先级进行更新;
仲裁模块,用于在所述申请源对资源申请访问时,根据更新后的所述申请源对资源 申请访问的优先级,仲裁是否允许对资源进行访问,其中,优先级高的申请源优先对资 源申请访问。
8.根据权利要求7所述的装置,其特征在于,所述更新模块,用于在所述申请源对所述资 源的访问已经释放的情况下,将所述申请源当前的优先级更新为优先级分配器根据预定 的规则分配的优先级。
9.根据权利要求8所述的装置,其特征在于,
所述更新模块,用于在所述优先级分配器通过计数器更新所述优先级的情况下,通 过计数器计数所有申请源对资源访问释放的次数;将计数的所述次数作为所述优先级分 配器所分配的优先级更新为所述申请源当前的优先级;或者,
所述更新模块,用于在所述优先级分配器通过所述计时器更新为所述优先级的情况 下,设置更新时间以及预更新的优先级数;在所述更新时间到时时,将所述预更新的优 先级数作为所述优先级分配器所分配的优先级更新为所述申请源当前的优先级。
10.根据权利要求9所述的装置,其特征在于,所述更新模块用于在所述优先级分配器通过 计数器更新所述优先级的情况下,对申请源释放资源访问设置预定次数,在所述计数器 的所述计数值达到所述预定次数时,将所述计数器归零。
11.根据权利要求10所述的装置,其特征在于,所述更新模块还用于在对优先级区间的优先 级进行排序后,将优先级最低的优先级区间内的申请源申请资源访问的优先级进行更新, 其中,将优先级划分为优先级区间,每个优先级区间包括级别连续的多个优先级。
12.根据权利要求11所述的装置,其特征在于,所述更新模块还用于通过以下公式将优先级 最低的优先级区间内的申请源申请资源访问的优先级进行更新:
i=j‑(K‑1)n,
其中,i为更新后的申请源申请资源访问的优先级编号,j为当前申请源申请资源访 问的优先级编号,K为优先级最低的优先级区间的优先级编号,n是申请源的总数,其中, 优先级编号小的优先级高。
本发明涉及通信领域,具体而言,涉及一种资源访问仲裁方法及装置。
在通信或计算机领域,随着多核处理器和并行计算的发展,逐渐出现了对多个资源竞争 访问的情景。
传统的方法,是采用一个资源对应一个仲裁器的方式,该方法在资源数量较少的时候是 可以接受的;但对于数十个,甚至对数千个资源进行竞争访问时,该方式已经不再适用。
另外一个普遍采用的方法是通过数个先进先出的缓冲,把申请信息暂存,然后通过一个 统一的调度器进行调度,为了提高性能,缓冲的数量和深度应当与申请源的数量相等。该方 法会消耗较多的暂存器,且仲裁时间较长。
针对相关技术中资源数量较多时对于访问资源的申请的管理需要较多暂存器,并且对于 资源的申请仲裁时间过长的问题,目前尚未提出有效的解决方案。
针对相关技术中资源数量较多时对于访问资源的申请的管理需要较多暂存器,并且对于 资源的申请仲裁时间过长的问题,本发明提供了一种资源访问仲裁方法及装置,以至少解决 上述问题。
根据本发明的一个方面,提供了一种资源访问仲裁方法,包括:监测申请源对资源的访 问是否已经释放;在所述申请源对所述资源的访问已经释放的情况下,对所述申请源申请资 源访问的优先级进行更新;在所述申请源对资源申请访问时,根据更新后的所述申请源对资 源申请访问的优先级,仲裁是否对资源进行访问,其中,优先级高的申请源优先对资源申请 访问。
优选地,在所述申请源对所述资源的访问已经释放的情况下,对所述申请源申请资源访 问的优先级进行更新包括:在所述申请源对所述资源的访问已经释放的情况下,将所述申请 源当前的优先级更新为优先级分配器根据预定的规则分配的优先级。
优选地,在所述优先级分配器通过计数器更新所述优先级的情况下,通过计数器计数所 有申请源对资源访问释放的次数;将计数的所述次数作为所述优先级分配器所分配的优先级 更新为所述申请源当前的优先级;或者,在所述优先级分配器通过所述计时器更新为所述优 先级的情况下,设置更新时间以及预更新的优先级数;在所述更新时间到时时,将所述预更 新的优先级数作为所述优先级分配器所分配的优先级更新为所述申请源当前的优先级。
优选地,在所述优先级分配器通过计数器更新所述优先级的情况下,对申请源释放资源 访问设置预定次数,在所述计数器的所述计数值达到所述预定次数时,将所述计数器归零。
优选地,在将所述计数器归零之后,还包括:在对优先级区间的优先级进行排序后,将 优先级最低的优先级区间内的申请源申请资源访问的优先级进行更新,其中,将优先级划分 为优先级区间,每个优先级区间包括级别连续的多个优先级。
优选地,将优先级最低的优先级区间内的申请源申请资源访问的优先级通过以下公式进 行更新:i=j‑(K‑1)n,其中,i为更新后的申请源申请资源访问的优先级编号,j为当前申请 源申请资源访问的优先级编号,K为优先级最低的优先级区间的优先级编号,n是申请源的总 数,其中,优先级编号小的优先级高。
根据本发明的另一方面,提供了一种资源访问仲裁装置,包括:监测模块,用于监测申 请源对资源的访问是否已经释放;更新模块,用于在所述申请源对所述资源的访问已经释放 的情况下,对所述申请源申请资源访问的优先级进行更新,其中,优先级高的申请源优先对 资源申请访问;仲裁模块,用于在所述申请源对资源申请访问时,根据更新后的所述申请源 对资源申请访问的优先级,仲裁是否对资源进行申请访问,其中,优先级高的申请源优先对 资源申请访问。
优选地,所述更新模块,用于在所述申请源对所述资源的访问已经释放的情况下,将所 述申请源当前的优先级更新为优先级分配器根据预定的规则分配的优先级。
优选地,所述更新模块,用于在所述优先级分配器通过计数器更新所述优先级的情况下, 通过计数器计数所有申请源对资源访问释放的次数;将计数的所述次数作为所述优先级分配 器所分配的优先级更新为所述申请源当前的优先级;或者,所述更新模块,用于在所述优先 级分配器通过所述计时器更新为所述优先级的情况下,设置更新时间以及预更新的优先级数; 在所述更新时间到时时,将所述预更新的优先级数作为所述优先级分配器所分配的优先级更 新为所述申请源当前的优先级。
优选地,所述更新模块用于在所述优先级分配器通过计数器更新所述优先级的情况下, 对申请源释放资源访问设置预定次数,在所述计数器的所述计数值达到所述预定次数时,将 所述计数器归零。
优选地,所述更新模块还用于在对优先级区间的优先级进行排序后,将优先级最低的优 先级区间内的申请源申请资源访问的优先级进行更新,其中,将优先级划分为优先级区间, 每个优先级区间包括级别连续的多个优先级。
优选地,所述更新模块还用于通过以下公式将优先级最低的优先级区间内的申请源申请 资源访问的优先级进行更新:i=j‑(K‑1)n,其中,i为更新后的申请源申请资源访问的优先 级编号,j为当前申请源申请资源访问的优先级编号,K为优先级最低的优先级区间的优先级 编号,n是申请源的总数,其中,优先级编号小的优先级高。
通过本发明,采用监测申请源对资源的访问是否已经释放;在所述申请源对所述资源的 访问已经释放的情况下,对所述申请源申请资源访问的优先级进行更新;在所述申请源对资 源申请访问时,根据更新后的所述申请源对资源申请访问的优先级,仲裁是否允许对资源进 行访问,其中,优先级高的申请源优先对资源申请访问,解决了相关技术中资源数量较多时 对于访问资源的申请的管理需要较多暂存器,并且对于资源的申请仲裁时间过长的问题,进 而达到了有效地节省了资源,提高了对申请源申请资源的仲裁效率的效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示 意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的资源访问仲裁方法的流程图;
图2是根据本发明实施例的资源访问仲裁装置的结构框图;
图3是根据本发明实施例二的n个申请源对m个资源之间的竞争访问仲裁的结构示意图;
图4是根据本发明实施例二的仲裁器的一种实现结构示意图;
图5是根据本发明实施例二的动态优先级分配器的一种实现结构示意图;
图6是根据本发明实施例二的动态优先级分配器的计数器的工作流程图;
图7是根据本发明实施例二的申请代理器的一种实现结构示意图;
图8是根据本发明实施例二的申请代理器当前优先级记录单元的工作流程图;
图9是根据本发明实施例二的冲突检测器的处理流程图。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种资源访问仲裁方法,图1是根据本发明实施例的资源访问仲裁 方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,监测申请源对资源的访问是否已经释放;
步骤S104,在申请源对资源的访问已经释放的情况下,对申请源申请资源访问的优先级 进行更新;
步骤S106,在申请源对资源申请访问时,根据更新后的申请源对资源申请访问的优先级, 仲裁是否允许对资源进行访问,其中,优先级高的申请源优先对资源申请访问。
通过上述步骤,在申请源对资源申请访问时,根据申请源的优先级仲裁是否允许该申请 源对资源进行访问,从而改变了相关技术中将申请源的申请暂存在暂存器中,使用先进先出 的方式仲裁对资源进行访问的申请源的方式,避免了暂存器的使用,有效地节省了资源。解 决了相关技术中资源数量较多时对于访问资源的申请的管理需要较多暂存器的问题。此外, 在申请源对资源的访问释放的情况下对申请源申请资源访问的优先级进行了更新,因此,对 申请源对资源进行申请访问的优先级进行了动态分配,使得优先级的分配具备公平性,避免 了具有较低优先级的申请源一直无法获取资源的问题,并且,采用动态分配的方式,解决了 对于资源的申请仲裁时间过长的问题,提高了对申请源申请资源的仲裁效率。
在实施时,在申请源对资源的访问已经释放的情况下,可以将申请源当前的优先级更新 为优先级分配器根据预定的规则分配的优先级。当然,优先级分配器根据预定的规则分配优 先级可以采用多种方式,例如,在优先级分配器通过计数器更新优先级的情况下,通过计数 器计数所有申请源对资源访问释放的次数;将计数的次数作为优先级分配器所分配的优先级 更新为申请源当前的优先级,当计数器的计数值达到某一预定次数时,可以将该计数器归零, 归零后的计数值重新计数;又例如,在优先级分配器通过计时器更新为优先级的情况下,设 置更新时间以及预更新的优先级数;在更新时间到时时,将预更新的优先级数作为优先级分 配器所分配的优先级更新为申请源当前的优先级。当然也可以采用将通过计数器与计时器相 结合的方式将申请源当前的优先级更新为优先级分配器分配的优先级,在对设置计数器的计 数次数与计时器的更新时间结合来考虑,采用这样的处理方式可以较为有效且准确地控制优 先级分配器所分配的优先级。
对申请源申请资源访问的优先级进行更新除了直接对申请源的优先级进行更新外,还可 以通过以下方式进行更新,例如在申请源对应的优先级区间内对申请源申请资源访问的优先 级进行更新,其中,将优先级划分为优先级区间,每个优先级区间包括级别连续的多个优先 级。
优选地,采用优先级区间对申请源的优先级进行更新时,需要对优先级区间设置优先级; 在申请源所在的优先级级区间的优先级达到第一预定优先级(例如,该第一预定优先级为最 低优先级区间对应的优先级)的情况下,将优先级区间内的申请源申请资源访问的优先级更 新为第二预定优先级(例如,该第二优先级为最高优先级区间对应的优先级)空间中对应的 申请源对应的优先级。
在上述计数器归零或者计时器到时后,为了能够较好地保留之前仲裁的优先级情况,从 而进一步提高仲裁申请源对资源的访问的公平性,作为一种优选实施方式,可以在对优先级 区间的优先级进行排序后,将优先级最低的优先级区间内的申请源申请资源访问的优先级进 行更新,其中,将优先级划分为优先级区间,每个优先级区间包括级别连续的多个优先级。 例如,假设i为更新后的申请源申请资源访问的优先级编号,则i可以通过以下公式获得:i=j‑ (K‑1)n,其中,j为当前申请源申请资源访问的优先级编号,K为优先级最低的优先级区间 的优先级编号,n是申请源的总数,其中,优先级编号小的优先级高。通过设置优先级编号并 按照优先级编号小的优先级高的方式对优先级进行更新,实用性强。
在本实施例中还提供了一种资源访问仲裁装置,该装置用于实现上述实施例及优选实施 方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软 件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以硬件来实现,但是软件,或者软 件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的资源访问仲裁装置的结构框图,如图2所示,该装置包括监 测模块22、更新模块24和访问模块26。下面对该装置进行说明。
监测模块22,用于监测申请源对资源的访问是否已经释放;更新模块24,连接至该监测 模块22,用于在申请源对资源的访问已经释放的情况下,对申请源申请资源访问的优先级进 行更新;仲裁模块26,连接至该更新模块24,在申请源对资源申请访问时,根据更新后的申 请源对资源申请访问的优先级,仲裁是否允许对资源进行访问,其中,优先级高的申请源优 先对资源申请访问。
优选地,该更新模块,用于在申请源对资源的访问已经释放的情况下,将申请源当前的 优先级更新为优先级分配器根据预定的规则分配的优先级。
优选地,该更新模块,用于在优先级分配器通过计数器更新优先级的情况下,通过计数 器计数所有申请源对资源访问释放的次数;将计数的次数作为优先级分配器所分配的优先级 更新为申请源当前的优先级;或者,该更新模块,用于在优先级分配器通过计时器更新为优 先级的情况下,设置更新时间以及预更新的优先级数;在更新时间到时时,将预更新的优先 级数作为优先级分配器所分配的优先级更新为申请源当前的优先级。
优选地,该更新模块用于在优先级分配器通过计数器更新优先级的情况下,对申请源释 放资源访问设置预定次数,在计数器的计数值达到预定次数时,将计数器归零。
优选地,该更新模块还可以用于在对优先级区间的优先级进行排序后,将优先级最低的 优先级区间内的申请源申请资源访问的优先级进行更新,其中,将优先级划分为优先级区间, 每个优先级区间包括级别连续的多个优先级。
优选地,该更新模块还可以用于通过以下公式将优先级最低的优先级区间内的申请源申 请资源访问的优先级进行更新:
公式(一):i=j‑(K‑1)n,其中,i为更新后的申请源申请资源访问的优先级编号,j为 当前申请源申请资源访问的优先级编号,K为优先级最低的优先级区间的优先级编号,n为申 请源的总数,其中,优先级编号小的优先级高。
为解决相关技术中对于访问资源的申请的管理需要较多暂存器,并且存在仲裁时间较长 的问题,本实施例采用了动态优先级分配和竞争冲突检测的仲裁方法,简单而高效的实现了 对多个资源的公平竞争访问仲裁。
下面结合优选实施例进行说明,该优选实施例结合了上述实施例及其优选实施方式。
实施例一
在本优选实施例中,主要涉及通信或计算机领域,尤其涉及对多个资源的竞争访问机制, 提出了一种多资源公平竞争访问的仲裁方法和装置。该方法和装置在无冲突访问时一个时钟 周期就可以得到仲裁结果。
本实施例中的仲裁装置包括一个动态优先级分配器,上述仲裁方法包括以下步骤:
步骤一,动态优先级分配器管理的优先级信息采用分区间的管理方式。假设有n个申请 源,一个区间的优先级数量为n,则编号为0,1,2,...,n‑1。
步骤二,为保证公平竞争访问,动态优先级分配器管理的优先级区间可以大于或等于2, 例如,可以为4,则1号区间的优先级编号可以为(0,1,2,...,n‑1),2号区间的优先级编号 可以为(n,n+1,n+2,...,2n‑1),3、4号区间的优先级编号类推。假设低数值的具有较高优 先级,则低编号优先级区间是较高优先级区间。
步骤三,动态优先级分配器监测各个申请源的访问资源情况。每当有一个或多个申请源 完成资源的访问而释放资源时,动态优先级分配器的优先级编号累加。当优先级编号累加到 最低优先级区间的最低优先级时,优先级编号可以自动归0(即返回最高优先级区间的最高优 先级编号)。
本实施例中的仲裁装置还可以每个申请源都包括一个申请代理,则上述仲裁方法包括以 下步骤:
步骤一,每个申请代理在完成资源的访问而释放资源后,获取动态优先级分配器的当前 优先级编号,作为该申请源下一次访问的优先级,然后将动态优先级分配器中的优先级编号 累加。
步骤二,每个申请源在空闲状态下检测动态优先级分配器的状态,当优先级分配器的当 前优先级从最低优先级空间返回最高优先级空间时,所有处于最低优先级空间的申请源的优 先级自动返回到最高优先级空间,如上述公式一:i=j‑(K‑1)n所示。此外,也可以用另一种 表示方式,假设最低优先级空间为第K号空间,则编号为(K‑1)*n+i的优先级编号变为i号优 先级编号。
步骤三,接收申请源的申请信息,向对应的冲突检测装置发起仲裁申请。
本实施例中的仲裁装置还可以每个申请源对应一个冲突检测装置,则上述仲裁方法包括 以下步骤:
步骤一,监测所有申请代理发出的申请信息。
步骤二,监测该申请源申请的资源与其他申请源是否有冲突,如果没有冲突,则获得该 资源。否则,
步骤三,与本申请源冲突的其他申请源是否已经获得资源,如果有其他申请源已经获得 资源,则等待。否则,
步骤四,本申请源的优先级是否唯一最高,如果是唯一最高,则获得该资源。否则,
步骤五,本申请源的优先级是否与其他申请源并列最高,如果有并列最高,判断本申请 源的ID是否较低(假设具有低ID值的申请源具有高优先级),如果较低,则获得该资源。否 则等待(例如,等待下一时钟周期再次申请)。
实施例二
本实施例提供一种实现n个申请源对m个资源之间的竞争访问仲裁,通过动态优先级分 配的方式,提供近似公平的仲裁。本实施例可以应用在多个场合,图3是根据本发明实施例 二的n个申请源对m个资源之间的竞争访问仲裁的结构示意图,如图3所示,图中为一个信 号量锁定的示例:申请源需要独享访问某个资源时,向仲裁器发起独享访问申请,得到允许 后,通过总线矩阵访问特定的资源。
上述仲裁器可以包括三个部分:动态优先级分配器;n个申请代理器;n个冲突检测器。 图4是根据本发明实施例二的仲裁器的一种实现结构示意图,基于如图4所示的结构的仲裁 方法包括如下步骤:
步骤一,动态优先级分配器监测各个申请源的申请信号,同时向n个申请代理器广播其 当前优先级编号(例如,该优先级编号可以是计数器的计数值)。
步骤二,申请代理器接收申请源的申请,同时监测动态优先级分配器的当前优先级编号, 向冲突检测器发起仲裁申请。
步骤三,冲突检测器接收本申请源和其他申请源的申请信息,该申请信息可以包括各申 请源当前优先级编号,以及申请的资源ID。
其中,上述的动态优先级分配器的实现方式可以有很多种,图5是根据本发明实施例二 的动态优先级分配器的一种实现结构示意图,如图5所示,该结构仅为实现该分配器的其中 一个例子,该动态优先级分配器包括申请信号检测单元和计数器。在本实施例中是以采用计 数器产生当前的优先级编号为例进行说明。图6是根据本发明实施例二的动态优先级分配器 的计数器的工作流程图,如图6所示,上述动态优先级分配器的计数器的处理流程如下:
步骤S602,申请信号检测单元检测n个申请信号由申请资源状态到释放资源状态的跃迁, 如果有一个或多个跃迁发生,检测单元产生一个脉冲到计数器,计数器监测申请信号单元发 出的脉冲信号,如果没有脉冲信号产生,则进入步骤S604,如果有,则进入步骤S606。
步骤S604,计数器保持原值。
步骤S606,判断计数器是否已经到最大值,如果计数器已经到最大值,则进入步骤S608, 否则进入步骤S610。
步骤S608,计数器归零。
步骤S610,计数器加一。
此外,上述的申请代理器的实现方式也可以有很多种,图7是根据本发明实施例二的申 请代理器的一种实现结构示意图,如图7所示,该结构仅为实现该申请代理器的其中一个例 子,该申请代理中有一个该申请源对应的当前优先级编号的记录单元,负责产生该申请源的 申请对应的优先级编号。图8是根据本发明实施例二的申请代理器当前优先级记录单元的工 作流程图,如图8所示,上述申请代理器的处理流程如下:
步骤S802,在每一个时刻,检测动态优先级分配器的优先级编号是否归零,如果优先级 分配器优先级编号归零,则进入步骤S804,否则进入步骤S812。
步骤S804,判断本申请源是否获得资源,如果已经获得资源,进入步骤S806,否则进 入步骤S808。
步骤S806,本申请源的优先级编号保持不变。
步骤S808,判断本申请源的当前优先级编号是否处在最低优先级区间,如果是,则进入 步骤S810,否则进入步骤S806。
步骤S810,将优先级编号跳到最高优先级区间。
步骤S812,如果优先级分配器优先级编号没有归零,则监测本申请源是否有资源释放动 作,如果有资源释放动作,则进入步骤S814,否则进入步骤S806。
步骤S814,使本申请源的优先级编号等于动态优先级分配器的当前优先级编号。
此外,上述的冲突检测器的实现方式也可以有很多种,冲突检测器负责检测各个申请源 之间申请的资源是否有冲突,以及有冲突时检测各个申请源之间的优先级等。图9是根据本 发明实施例二的冲突检测器的处理流程图,如图9所示,上述冲突检测器的处理流程如下:
步骤S902,监测本申请源是否发起申请,如果有申请,则进入步骤S904,否则进入步 骤S912。
步骤S904,检测本申请源所申请的资源与其他申请源是否有冲突,如果没有冲突,则进 入步骤S912,否则进入步骤S906。
步骤S906,检测与本申请源冲突的其他申请源是否已经获得资源,如果有其他申请源已 经获得资源,则进入步骤S914,否则,进入步骤S908。
步骤S908,检测本申请源的优先级是否唯一最高,如果是唯一最高,则进入步骤S912, 否则,进入步骤S910。
步骤S910,检测本申请源的优先级是否与其他申请源并列最高,如果有并列最高,则可 以进一步判断本申请源的其他参数是否具有高优先级,例如,该申请源的ID是否较低(假设 具有低ID值的申请源具有高优先级),如果较低,则进入步骤S912,否则,本申请源的优先 级不是最高,进入步骤S914。
步骤S912,获得该资源。
步骤S914,等待下一时钟周期。
本优选实施例由于采取以上技术方案,具有以下优点:由于采用动态优先级分配的方法, 每个申请源释放资源后,其优先级变为最低,保证了公平的原则;在动态优先级分配器从最 低优先级区间返回到最高优先级区间时,处在最低优先级区间的优先级编号自动返回到最高 优先级区间,避免了不会存在处于最低优先级编号的申请源永远无法获得资源的问题;采用n 个冲突检测装置,可以保证无冲突情况下或具有最高优先级的申请源在一个时钟周期即可完 成仲裁处理,获得资源访问权限。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施例中 描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储 介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算 装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上, 可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中 由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员 来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等 同替换、改进等,均应包含在本发明的保护范围之内。
本文发布于:2023-04-13 03:34:02,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/85761.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |