1.一种多功能仲裁器,其特征在于,所述多功能仲裁器包括:逻辑操作单元,被配置为将当前掩码和总线请求序列的相同位分别进行逻辑操作,得到逻辑操作结果,其中,所述逻辑操作结果用于屏蔽已经响应过的总线请求;第一仲裁单元,被配置为根据所述逻辑操作结果,得到第一路仲裁结果,其中,所述总线请求序列用于表征当前时刻芯片上多个模块分别发出的对总线的使用请求;第二仲裁单元,被配置为根据所述总线请求序列获取第二路仲裁结果;仲裁策略选择器,被配置为从所述第一路仲裁结果和所述第二路仲裁结果中选择一路作为目标仲裁结果;所述多功能仲裁器还包括:掩码生成单元,被配置为生成所述当前掩码;其中,所述掩码生成单元包括:计数器,被配置为记录所述当前掩码的使用次数;数据选择器,被配置为根据所述使用次数选择下一次获取所述第一路仲裁结果的掩码;所述逻辑操作单元包括与门,其中,所述与门的两个输入端分别用于输入所述当前掩码和所述总线请求序列且所述与门的输出端与所述第一仲裁单元的输入端连接,所述与门被配置为对所述当前掩码和所述总线请求序列中各相应位进行逻辑与操作,得到轮询总线请求序列。
2.如权利要求1的所述多功能仲裁器,其特征在于,所述当前掩码采用数字0记录响应过的请求,且采用数字1表征未被响应过的请求,所述总线请求序列采用数字1表征有来自于相应模块的总线请求;其中,所述第一仲裁单元被配置为接收所述轮询总线请求序列,并根据固定优先级仲裁策略和所述轮询总线请求序列得到所述第一路仲裁结果;其中,当所述当前掩码为全1时,则所述仲裁器被配置为基于固定优先级策略处理一个或多个请求。
3.如权利要求2所述的多功能仲裁器,其特征在于,所述总线请求序列包括的二进制的位数与能够共享同一资源的模块的总数目相同;其中,所述多功能仲裁器还包括:选择控制信号生成单元,被配置为将所述与门的输出信号中的各位进行逻辑操作,得到选通信号;所述仲裁策略选择器被配置为:当所述选通信号为1时则选择所述第一路仲裁结果作为所述目标仲裁结果,当所述选通信号为0时则选择所述第二路仲裁结果作为所述目标仲裁结果。
4.如权利要求1所述的多功能仲裁器,其特征在于,所述数据选择器被配置为:当所述使用次数大于或等于设定阈值时,则选择更新掩码作为下一次获取所述第一路仲裁结果的掩码;或者,当所述使用次数小于所述设定阈值时,则选择所述当前掩码作为下一次获取所述第一路仲裁结果的掩码。
5.如权利要求1所述的多功能仲裁器,其特征在于,所述掩码生成单元还包括:寄存器,被配置为存储所述当前掩码所对应的二进制序列。
6.一种仲裁方法,应用于如权利要求1-5任一项所述的多功能仲裁器上,其特征在于,所述仲裁方法包括:获取当前掩码,其中,所述当前掩码为一组二进制序列,且所述当前掩码用于记录响应过的请求;根据所述当前掩码和总线请求序列得到第一路仲裁结果;根据所述总线请求序列和固定优先级算法得到第二路仲裁结果;从所述第一路仲裁结果和所述第二路仲裁结果中选择一路作为目标仲裁结果。
7.如权利要求6所述的仲裁方法,其特征在于,所述仲裁方法还包括:获取所述当前掩码的使用次数;根据所述当前掩码的使用次数确定针对下一次总线请求序列的掩码。
8.如权利要求7所述的仲裁方法,其特征在于,所述根据所述当前掩码的使用次数确定针对下一次请求序列的更新掩码,包括:若确认所述当前掩码的使用次数大于或等于设定阈值时,则获取更新掩码作为所述针对下一次总线请求序列的掩码,否则选择所述当前掩码作为所述针对下一次总线请求序列的掩码,其中,所述更新掩码至少用于记录本次响应过的请求。
9.一种芯片,包括多个模块,共享总线以及如权利要求1-5任一项所述的多功能仲裁器,且每个模块均可发出请求使用所述共享总线的请求,得到用于记录同一时刻发出请求的总线请求序列,将所述总线请求序列输入所述仲裁器获得目标仲裁结果。
10.一种产品,其特征在于,所述产品包括如权利要求9所述的芯片和外设接口。