本发明属于集成电路技术领域,涉及一种用于在染色内核(sc)中写回仲裁电路的实现。
背景技术:
现代处理器设计中,执行单元对寄存器文件的写回操作频繁发生,写回的性能也充分影响着整个处理器运行速率。这就要求写回单元能够合理分配写回通路,高效利用多条写回通路。
技术实现要素:
本发明的目的是:
本发明提供一种用于在染色内核中写回仲裁电路,从而能够实现提高写回通路的利用。
本发明的技术解决方案是:
一种用于在染色内核中写回仲裁电路,包括:
定点写回1、浮点写回2、lsu写回3、定点寄存器接口4、浮点寄存器接口5;
定点写回1,对外部定点运算单元送来的同一周期多个写回请求,按照时间顺序一次选择至多2个写回请求,每个写回请求分配在1个写回通路上,下发给定点寄存器接口4;
浮点写回2,对外部浮点运算单元送来的同一周期多个写回请求,按照时间顺序一次选择至多2个写回请求,每个写回请求分配在1个写回通路上,下发给浮点寄存器接口5;
lsu写回3,对外部lsu单元送来的同一周期同一类型的多个写回请求,如果写回请求都是定点类型,选择1个写回通路下发给定点寄存器接口4;如果写回请求都是浮点类型,选择另1个写回通路下发给浮点寄存器接口5;
定点寄存器接口4,对定点写回1和lsu写回3中的定点部分的写回请求根据现场冲突情况进行仲裁分配,并下发给外部的定点寄存器;
浮点寄存器接口5,对浮点写回2和lsu写回3中的浮点部分的写回请求根据现场冲突情况进行仲裁分配,并下发给外部的浮点寄存器。
定点寄存器接口4对定点部分的写回请求仲裁分配具体为:
定点写回1和lsu写回3中的定点部分同时最多进行两个写回操作,这种情况下,定点写回操作最多同时使用两条写回通路并行写回数据,定点写回1优先选择a通路,lsu写回3优先选择b通路,不存在任何写回通路的冲突情况。
定点寄存器接口4对定点部分的写回请求仲裁分配具体为:
定点写回1和lsu写回3中的定点部分同时进行三个写回操作,这种情况下,首先将定点写回1的两个写回操作的目标现场与lsu写回3目标现场进行对比,若定点写回1的一个写回操作的目标现场与lsu写回3完全一致,则调换定点写回1两个写回操作所使用的写回通路,否则按照定点写回1两个写回操作当前所选用的写回通道写回数据。
浮点寄存器接口5对浮点部分的写回请求仲裁分配具体为:
浮点写回2和lsu写回3中的浮点部分同时最多进行两个写回操作,这种情况下,浮点写回操作最多同时使用两条写回通路并行写回数据,浮点写回2优先选择a通路,lsu写回3优先选择b通路,不存在任何写回通路的冲突情况。
浮点寄存器接口5对浮点部分的写回请求仲裁分配具体为:
浮点写回2和lsu写回3中的浮点部分同时进行三个写回操作,这种情况下,首先将浮点写回2的两个写回操作的目标现场与lsu写回3目标现场进行对比,若浮点写回2的一个写回操作的目标现场与lsu写回3完全一致,则调换浮点写回2两个写回操作所使用的写回通路,否则按照浮点写回2两个写回操作当前所选用的写回通道写回数据。
本发明的优点是:本发明提供的涉及一种用于在染色内核中写回仲裁电路,用于实现执行单元对寄存器文件的写回,可同时接收染色内核的所有运算单元以及lsu单元的写回操作,并对写回通路分配写回操作,对寄存器写回。
附图说明
图1为本发明的模块图;
图2为具体分配方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一种用于在染色内核中写回仲裁电路,如图1、2所示,包括:
定点写回1、浮点写回2、lsu写回3、定点寄存器接口4、浮点寄存器接口5;
定点写回1,对外部定点运算单元送来的同一周期多个写回请求,按照时间顺序一次选择至多2个写回请求,每个写回请求分配在1个写回通路上,下发给定点寄存器接口4;
浮点写回2,对外部浮点运算单元送来的同一周期多个写回请求,按照时间顺序一次选择至多2个写回请求,每个写回请求分配在1个写回通路上,下发给浮点寄存器接口5;
lsu写回3,对外部lsu单元送来的同一周期同一类型的多个写回请求,如果写回请求都是定点类型,选择1个写回通路下发给定点寄存器接口4;如果写回请求都是浮点类型,选择另1个写回通路下发给浮点寄存器接口5;
定点寄存器接口4,对定点写回1和lsu写回3中的定点部分的写回请求根据现场冲突情况进行仲裁分配,并下发给外部的定点寄存器;
浮点寄存器接口5,对浮点写回2和lsu写回3中的浮点部分的写回请求根据现场冲突情况进行仲裁分配,并下发给外部的浮点寄存器。
定点寄存器接口4对定点部分的写回请求仲裁分配具体为:
定点写回1和lsu写回3中的定点部分同时最多进行两个写回操作,这种情况下,定点写回操作最多同时使用两条写回通路并行写回数据,定点写回1优先选择a通路,lsu写回3优先选择b通路,不存在任何写回通路的冲突情况。
定点寄存器接口4对定点部分的写回请求仲裁分配具体为:
定点写回1和lsu写回3中的定点部分同时进行三个写回操作,这种情况下,由于定点写回1的两个写回操作必须分别使用a、b写回通路,致使有一个写回操作与lsu的写回操作复用b通路。首先将定点写回1的两个写回操作的目标现场与lsu写回3目标现场进行对比,若定点写回1的一个写回操作的目标现场与lsu写回3完全一致,则调换定点写回1两个写回操作所使用的写回通路,否则按照定点写回1两个写回操作当前所选用的写回通道写回数据。
浮点寄存器接口5对浮点部分的写回请求仲裁分配具体为:
浮点写回2和lsu写回3中的浮点部分同时最多进行两个写回操作,这种情况下,浮点写回操作最多同时使用两条写回通路并行写回数据,浮点写回2优先选择a通路,lsu写回3优先选择b通路,不存在任何写回通路的冲突情况。
浮点寄存器接口5对浮点部分的写回请求仲裁分配具体为:
浮点写回2和lsu写回3中的浮点部分同时进行三个写回操作,这种情况下,由于浮点写回2的两个写回操作必须分别使用a、b写回通路,致使有一个写回操作与lsu的写回操作复用b通路。首先将浮点写回2的两个写回操作的目标现场与lsu写回3目标现场进行对比,若浮点写回2的一个写回操作的目标现场与lsu写回3完全一致,则调换浮点写回2两个写回操作所使用的写回通路,否则按照浮点写回2两个写回操作当前所选用的写回通道写回数据。