一种用于集成电路芯片的互联网络、方法及集成电路芯片与流程

摘要: 本技术涉及集成电路,尤其涉及一种用于集成电路芯片的互联网络、方法及集成电路芯片。背景技术:1、集成电路芯片中的互联网络能够实现多个节点之间的并行通信和高效的数据...
一种用于集成电路芯片的互联网络、方法及集成电路芯片与流程

本技术涉及集成电路,尤其涉及一种用于集成电路芯片的互联网络、方法及集成电路芯片。

背景技术:

1、集成电路芯片中的互联网络能够实现多个节点之间的并行通信和高效的数据传输,基于多节点并行通信和高效数据传输,互联网络在各节点对不同方向的请求进行仲裁,以保证各请求在经过节点时被处理的均匀且快速。仲裁的均衡性将直接影响互联网络上各请求发起方(master)的带宽。

2、在现有技术中,仲裁调度常采用基于时间片的轮询(round-robin)方法。该方法采用固定优先级的调度策略:当仲裁器从多个请求中选出一个并完成调度后,会将该请求所对应的端口(port)的优先级降为最低;在下一个时间片的调度过程中,仲裁器优先服务其他端口,也是按照优先级进行选择。然而,该方法的均衡性依赖于请求输入至仲裁器的顺序,当请求分布不均匀时,容易造成各端口获得的调度机会差异较大,均衡性较差。

技术实现思路

1、有鉴于此,本技术实施例提供一种用于集成电路芯片的互联网络、方法及集成电路芯片,能够提高选择器的仲裁均衡性。

2、第一方面,本技术实施例提供一种用于集成电路芯片的互联网络,包括: 第一选择器;所述第一选择器包括:第一逻辑运算模块,所述第一逻辑运算模块的多个端口分别用于一一对应地接收多个请求发送方发送的请求;所述第一逻辑运算模块用于将前一周期对应的授权码序列与多个请求发送方发送的请求进行逻辑运算,得到授权请求序列;其中,所述授权码序列的各位置与所述第一逻辑运算模块的各端口一一对应,所述授权码序列中的授权码为第一值时,表示该位置对应的所述第一逻辑运算模块的端口接收到的请求在当前周期之前已被所述第一选择器选择作为输出;所述授权码序列中的授权码为第二值时,表示该位置对应所述第一逻辑运算模块的端口接收到的请求在当前周期之前未被所述第一选择器选择;第一仲裁器,所述第一仲裁器的输入端与所述第一逻辑运算模块的输出端相连,用于在所述第一仲裁器处于使能状态下,根据第一预设选择策略,从所述授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到所述第一仲裁器的输出。

3、根据本技术实施例的一种具体实现方式,所述互联网络还包括:触发器,所述触发器用于储存前一周期对应的授权码序列;所述触发器与所述第一逻辑运算模块相连;所述第一逻辑运算模块用于从所述触发器中获取前一周期对应的授权码序列。

4、根据本技术实施例的一种具体实现方式,所述互联网络还包括:修改模块,用于在所述目标授权请求从所述第一选择器所在的节点发出的情况下,将所述授权码序列中与所述目标授权请求对应的位置上的值由第二值修改为第一值,得到新授权码序列;将所述新授权码序列存入所述触发器中。

5、根据本技术实施例的一种具体实现方式,所述互联网络还包括第二选择器和权重补偿结构;其中,所述第二选择器与所述第一选择器相连且处于所述第一选择器的前一级;所述权重补偿结构与所述第二选择器相连,用于基于第二选择器的输出,得到n个请求,并将n个请求分别一一对应地输入到所述第一逻辑运算模块的n个端口;其中,n与所述第二选择器接收的请求个数。

6、根据本技术实施例的一种具体实现方式,所述第二选择器通过一条物理线与所述权重补偿结构相连;所述权重补偿结构包括:数据分配器,所述数据分配器通过n条连接线与所述第一逻辑运算模块的n个端口一一对应相连;所述数据分配器用于根据接收到的单比特的有效请求、所述第二选择器被选择的端口标识以及所述第二选择器接收的请求个数n,确定输入到所述第一逻辑运算模块的n个端口的请求,并根据预设的请求与端口标识的对应关系,将n个请求一一对应地输入到所述第一逻辑运算模块的n个端口。

7、根据本技术实施例的一种具体实现方式,所述权重补偿结构包括:n条连接线,所述n条连接线分别与所述第一逻辑运算模块的n个端口一一对应相连,用于将所述第二选择器的输出一一对应地输入到所述第一逻辑运算模块的n个端口。

8、根据本技术实施例的一种具体实现方式,所述第一选择器还包括:第二第一逻辑运算模块,所述第二第一逻辑运算模块与所述第一逻辑运算模块相连,用于对所述第一逻辑运算模块输出的所述授权请求序列按位进行逻辑运算,得到使能信号;第二仲裁器,所述第二仲裁器分别与所述第二第一逻辑运算模块和所述第二选择器的输出端相连,用于在所述使能信号为第三值时,根据第二预设选择策略,从第二仲裁器的输入端输入的请求中确定所述第二目标授权请求,基于所述第二目标授权请求得到第二仲裁器的输出;其中,所述第一仲裁器与所述第二第一逻辑运算模块相连,具体用于在所述使能信号为第四值时,根据第一预设选择策略,从所述授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到所述第一仲裁器的输出。

9、第二方面,本技术实施例提供一种用于集成电路芯片的仲裁方法,包括:第一逻辑运算模块接收多个请求发送方发送的请求;第一逻辑运算模块将前一周期对应的授权码序列与多个请求发送方发送的请求进行逻辑运算,得到授权请求序列;第一仲裁器根据第一预设选择策略,从所述授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到所述第一仲裁器的输出。

10、根据本技术实施例的一种具体实现方式,在得到授权请求序列之前,所述方法还包括:第一逻辑运算模块从触发器中获取前一周期对应的授权码序列。

11、根据本技术实施例的一种具体实现方式,在所述目标授权请求从所述第一选择器所在的节点发出的情况下,所述方法还包括:将所述授权码序列中与所述目标授权请求对应的位置上的值由第二值修改为第一值,得到新授权码序列;将所述新授权码序列存入所述触发器中。

12、根据本技术实施例的一种具体实现方式,所述第一逻辑运算模块接收多个请求发送方发送的请求,包括:基于第二选择器的输出,得到n个请求,并将n个请求分别一一对应地输入到所述第一逻辑运算模块的n个端口;其中,n与所述第二选择器接收的请求个数。

13、根据本技术实施例的一种具体实现方式,所述基于第二选择器的输出,得到n个请求,并将n个请求分别一一对应地输入到所述第一逻辑运算模块的n个端口,包括:根据第二选择器的输出的单比特的有效请求、所述第二选择器被选择的端口标识以及所述第二选择器接收的请求个数n,确定输入到所述第一逻辑运算模块的n个端口的请求,并根据预设的请求与端口标识的对应关系,将n个请求一一对应地输入到所述第一逻辑运算模块的n个端口。

14、根据本技术实施例的一种具体实现方式,所述基于第二选择器的输出,得到n个请求,并将n个请求分别一一对应地输入到所述第一逻辑运算模块的n个端口,包括:将所述第二选择器的输出一一对应地输入到所述第一逻辑运算模块的n个端口。

15、根据本技术实施例的一种具体实现方式,所述方法还包括:第二逻辑运算模块对所述第一逻辑运算模块输出的所述授权请求序列按位进行逻辑运算,得到使能信号;在所述使能信号为第三值时,第二仲裁器根据第二预设选择策略,从第二仲裁器的输入端输入的请求中确定所述第二目标授权请求,基于所述第二目标授权请求得到第二仲裁器的输出;所述第一仲裁器根据第一预设选择策略,从所述授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到所述第一仲裁器的输出,包括:在所述使能信号为第四值时,所述第一仲裁器根据第一预设选择策略,从所述授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到所述第一仲裁器的输出。

16、第三方面,本技术实施例提供一种集成电路芯片,包括:互联网络,所述互联网络为前述任一实施方式所述的互联网络。

17、本实施例的用于集成电路芯片的互联网络、方法及集成电路芯片,授权码序列的各位置与第一逻辑运算模块的各端口一一对应,授权码序列中的授权码为不同值时,表示该位置对应的第一逻辑运算模块的端口接收到的请求在当前周期之前已被所述第一选择器选择作为输出或者未被选择,将前一周期对应的授权码序列与多个请求发送方发送的请求进行逻辑运算,得到授权请求序列,在第一仲裁器处于使能状态下,根据预设选择策略,从授权请求序列中确定第一目标授权请求,并基于所述第一目标授权请求得到第一仲裁器的输出,由于当前周期使用的授权码序列是将当前周期之前的周期中已经被选择(调度)的一个端口屏蔽(mask掉),这样,选择当前周期第一仲裁器的输出时就不会选择之前已被选择过的端口,并且将前一周期对应的授权码序列与多个请求发送方发送的请求进行逻辑运算,这样,当前周期没有有效请求的端口和当前周期之前的周期中已经被选择(调度)的一个端口屏蔽,这样,第一仲裁器即可从授权请求序列中选出当前周期具有有效请求的端口进行调度,提高选择器的仲裁均衡性。