System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于优先级判定的深度流水线前向旁路制造技术_技高网

基于优先级判定的深度流水线前向旁路制造技术

技术编号:39953640 阅读:8 留言:0更新日期:2024-01-08 23:29
本发明专利技术公开了一种基于优先级判定的深度流水线前向旁路,包括:旁路比较器,对输入的译码阶段的源寄存器标号与各个执行阶段的目的寄存器标号分别进行匹配比较,输出比较结果信号;旁路生成器,根据输入的译码阶段的源操作数有效信号、各个执行阶段的写回有效信号、以及旁路比较器输出的各个执行阶段对应的比较结果信号,输出旁路有效信号;优先级判别器,根据旁路生成器输出的各个执行阶段对应的旁路有效信号和各个执行阶段的优先级顺序,输出选择有效信号;数据选择器,根据输入的各个执行阶段的目的操作数、译码阶段的源寄存器操作数、以及优先级判别器输出的选择有效信号,输出旁路数据。本发明专利技术能够实现前向旁路的优先级判定,且易于实现。

【技术实现步骤摘要】

本专利技术涉及cpu,尤其涉及一种基于优先级判定的深度流水线前向旁路


技术介绍

1、在深度流水线中,指令被分解成多个阶段依次执行,每个阶段的结果作为下一个阶段的输入,这样能够提高cpu的执行效率。但是,在执行过程中,如果前面的指令产生的结果需要被后面的指令使用,而前面的指令的结果还没有来得及写回寄存器中,那么后面的指令就会出现数据相关性,导致cpu无法继续执行,即出现数据相关性问题(datadependency)导致的流水线停顿(pipeline stall)问题。

2、为了解决数据相关性问题导致的流水线停顿问题,目前提出了前向旁路,前向旁路又称为一级旁路或数据旁路。前向旁路通过将结果从前一个阶段直接转发给需要使用该结果的下一个阶段,绕过了流水线的停顿,这样,后续的指令可以继续在流水线中执行,提高了处理器的性能和效率,能够有效解决数据相关性导致的停顿,比如数据依赖、读后写、写后写等情况。

3、然而,目前使用的前向旁路结构没有考虑优先级判定问题,而在深度流水线中,可能有多个前向旁路同时存在的情况,导致现有的前向旁路结构在实际使用时存在一定的局限性。


技术实现思路

1、为解决上述现有技术中存在的部分或全部技术问题,本专利技术提供一种基于优先级判定的深度流水线前向旁路。

2、本专利技术的技术方案如下:

3、提供了一种基于优先级判定的深度流水线前向旁路,所述深度流水线前向旁路包括:

4、旁路比较器,与旁路生成器连接,被配置为对输入的译码阶段的源寄存器标号与各个执行阶段的目的寄存器标号分别进行匹配比较,获取并输出各个执行阶段对应的比较结果信号;

5、所述旁路生成器,与优先级判别器连接,被配置为根据输入的译码阶段的源操作数有效信号、各个执行阶段的写回有效信号、以及所述旁路比较器输出的各个执行阶段对应的比较结果信号,获取并输出各个执行阶段对应的旁路有效信号,其中,若源操作数有效信号、某个执行阶段的写回有效信号和比较结果信号均为1,则当前执行阶段对应的旁路有效信号为1;

6、所述优先级判别器,与数据选择器连接,被配置为根据所述旁路生成器输出的各个执行阶段对应的旁路有效信号和各个执行阶段的优先级顺序,获取并输出各个执行阶段对应的选择有效信号和用于表示不存在数据相关性情况的选择有效信号,其中,若某个执行阶段对应的旁路有效信号为1,且不存在优先级更高的执行阶段对应的旁路有效信号为1,则当前执行阶段对应的选择有效信号为1,其余执行阶段对应的选择有效信号为0,若各个执行阶段对应的旁路有效信号均为0,则用于表示不存在数据相关性情况的选择有效信号为1;

7、所述数据选择器,被配置为根据输入的各个执行阶段的目的操作数、译码阶段的源寄存器操作数、以及所述优先级判别器输出的选择有效信号,确定并输出旁路数据。

8、在一些可能的实现方式中,所述旁路比较器包括多个同或门;

9、多个所述同或门分别以多个执行阶段的目的寄存器标号作为一个输入、以及以译码阶段的源寄存器标号作为一个输入,所述同或门被配置为对两个输入进行同或逻辑操作,获取并输出比较结果信号,多个所述同或门的输出与所述旁路生成器连接,多个所述同或门的输出为所述旁路比较器的输出。

10、在一些可能的实现方式中,所述旁路生成器包括多个第一与门;

11、多个所述第一与门分别以多个所述同或门输出的比较结果信号作为一个输入、分别以输入的比较结果信号所对应的执行阶段的写回有效信号作为一个输入、以及以译码阶段的源操作数有效信号作为一个输入,所述第一与门被配置为对三个输入进行与逻辑操作,获取并输出旁路有效信号,多个所述第一与门的输出与所述优先级判别器连接,多个所述第一与门的输出为所述旁路生成器的输出。

12、在一些可能的实现方式中,所述优先级判别器包括第一或非门、第二或非门和第二与门;

13、所述第一或非门包括多个,第i个所述第一或非门以第i-1个至第一个所述第一与门输出的旁路有效信号和0号寄存器返回的数据为输入,i>1,第一个所述或非门以0号寄存器返回的数据为输入,所述第二或非门以第n个至第一个所述第一与门输出的旁路有效信号和0号寄存器返回的数据为输入,所述第一或非门和所述第二或非门被配置为对输入进行或非逻辑操作,n表示执行阶段的个数,第i个所述第一或非门和第i个所述第一与门对应于第i个执行阶段;

14、所述第二与门包括多个,多个所述第二与门分别以多个所述第一或非门的输出作为一个输入、以及分别以多个所述第一与门输出的旁路有效信号作为一个输入,所述第二与门被配置为对两个输入进行与逻辑操作,获取并输出各个执行阶段对应的选择有效信号,所述第二或非门输出用于表示不存在数据相关性情况的选择有效信号,多个所述第二与门和所述第二或非门的输出为所述优先级判别器的输出。

15、在一些可能的实现方式中,所述数据选择器包括第一门控电路、第二门控电路和或门;

16、所述第一门控电路包括多个,多个所述第一门控电路分别以多个所述第二与门输出的选择有效信号作为一个输入、以及分别以多个执行阶段的目的操作数作为一个输入,所述第一门控电路被配置为在输入的选择有效信号为1时,输出所输入的目的操作数,在输入的选择有效信号为0时,输出0;

17、所述第二门控电路以所述第二或非门输出的选择有效信号作为一个输入、以译码阶段的源寄存器操作数作为一个输入,所述第二门控电路被配置为在输入的选择有效信号为1时,输出所输入的源寄存器操作数,在输入的选择有效信号为0时,输出0;

18、所述或门的输入端与多个所述第一门控电路的输出端和所述第二门控电路的输出端连接,所述或门被配置为对输入的数据进行或逻辑操作,获取并输出旁路数据,旁路数据为源寄存器操作数或一个执行阶段的目的寄存器。

19、本专利技术技术方案的主要优点如下:

20、本专利技术的基于优先级判定的深度流水线前向旁路能够实现前向旁路的优先级判定,确定并输出优先级最高的旁路数据,有效地缓解数据相关性问题导致的流水线停顿问题,且具有较强的适用性;并且,通过采用逻辑门操作来实现优先级判定,能够保证该深度流水线前向旁路易于实现,并降低实现成本。

本文档来自技高网...

【技术保护点】

1.一种基于优先级判定的深度流水线前向旁路,其特征在于,包括:

2.根据权利要求1所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述旁路比较器包括多个同或门;

3.根据权利要求2所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述旁路生成器包括多个第一与门;

4.根据权利要求3所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述优先级判别器包括第一或非门、第二或非门和第二与门;

5.根据权利要求4所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述数据选择器包括第一门控电路、第二门控电路和或门;

【技术特征摘要】

1.一种基于优先级判定的深度流水线前向旁路,其特征在于,包括:

2.根据权利要求1所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述旁路比较器包括多个同或门;

3.根据权利要求2所述的基于优先级判定的深度流水线前向旁路,其特征在于,所述旁路生成器包括多个第...

【专利技术属性】
技术研发人员:温家辉赵杨张光达王会权
申请(专利权)人:中国人民解放军军事科学院国防科技创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1