一种具管线处理设计的处理器及执行路径预测方法与流程
- 国知局
- 2024-12-26 15:03:23
本发明提出了一种具管线处理设计的处理器及执行路径预测方法,涉及数据预测,特别涉及具管线处理设计的处理器及执行路径预测。
背景技术:
1、一般在处理器(cpu)内部对于一个指令的执行,通常需要经过包含以下步骤:fetch(获取指令)、decode(译码指令)、execute(执行指令)及write-back(写回数据)。当完全的执行完各阶段的步骤,则表示完成一条指令。
2、处理器的流水线(pipeline)处理,其可以同时且分段的执行上述步骤,例如前一指令a执行至译码指令时,次一指令b可以开始执行获取指令。如此一来,通过此种执行方式可以缩短执行完所有指令的所需时间。
3、然而对于特定指令,例如「if」指令,其下一条指令必需根据「if」式中的结果是「true(真)」还是「false(假)」来决定,所以必须等到「if」指令执行完,才能知道下一条指令是什么。此时,无疑降低处理器的执行效率,于是,现今处理器对于这种情况,都设计有一个分支预测(branch prediction)机制,就是针对这种if指令,不等它执行完毕,先预测一下执行的结果可能是true还是false,然后将对应条件的指令放进流水线。
4、分支预测的使用范围从每次单纯地产生相同的预测的方法至在该程序中维持先前分支的复杂记录以产生记录型预测的方法。分支预测可以透过硬件优化、编译程序优化或两者皆使用而变得容易。基于通过分支预测机制所提供的预测,可以预测地存取及执行指令。当对分支指令做最终评估时,可以确认分支预测。若预测是不正确时,可撤销基于不正确的预测而预测执行的任何指令。但是分支预测准确率高代表更复杂的算法,同时还会影响cpu的周期时间。
技术实现思路
1、本发明提供了一种具管线处理设计的处理器及执行路径预测方法,用以解决不正确的预测会造成效果损失等问题:
2、本发明提出的一种具管线处理设计的处理器及执行路径预测方法,所述具管线处理设计的处理器包括内存控制器、指令快取模块、发送单元、排程器和执行单元;其中,所述内存控制器与指令快取模块进行电性连接;所述指令快取模块与发送单元进行电性连接;所述发送单元与排程器进行电性连接;所述排程器与执行单元进行电性连接。
3、进一步地,所述排程器与执行单元进行电性连接包括第一电性连接通道和第二电性连接通道;其中,所述第一电性连接通道用于运作数据发送至所述排程器;所述第二电性连接通道用于确认运作数据重新发送至所述排程器。
4、进一步地,所述内存控制器与处理器所处系统的系统内存进行电性连接。
5、进一步地,所述具管线处理设计的处理器还包括分支预测单元和数据快取模块;其中,所述分支预测单元与所述执行单元进行电性连接,并且,所述分支预测单元与所述指令快取模块进行电性连接;所述数据快取模块分别与执行单元和内存控制器进行电性连接。
6、进一步地,所述具管线处理设计的处理器还包括总线;其中,所述总线与所述执行单元进行电性连接。
7、进一步地,所述具管线处理设计的处理器的执行路径预测方法包括:
8、将指令的执行作为条件跳转的预测满足条件;
9、当有跳转请求的指令被读取时,则检测条件跳转预测指令对应的条件跳转的满足条件是否发生;
10、当所述条件跳转的满足条件没有发生时,则管线继续执行下一指令;
11、当所述条件跳转的满足条件发生时,则程序指针移到满足条件的条件跳转指令所请求的指定位置,管线自所述条件跳转指令所请求的指定位置继续执行指令。
12、进一步地,具有跳转请求的该指令于第一次执行,无论该先指令有无执行过,视为该条件跳转的条件不满足。
13、进一步地,在所述条件跳转的条件被满足的情况下,具有跳转请求的该指令再次被执行时,则该程序指针移动到该跳转请求所指定的位置。
14、进一步地,所述条件跳转所对应的位置记录于一条件跳转记录表中,且每一所述条件跳转所对应的位置可被标注为有效的或无效的。
15、进一步地,计算指令的指令权重系数和权重更新系数,进而计算权重调节系数,对指令进行权重调节,包括:
16、获取指令的历史执行数据,根据所述指令的历史执行数据计算指令的指令权重系数;
17、所述指令权重系数的计算公式为:
18、
19、其中,qzli为第i个指令的指令权重系数,j为数据采集时间段的指令执行记录次数,si为第i次记录的时间衰减因子,用于减少旧执行记录对当前权重的影响,ci 为第i次记录中指令的成功执行次数,lvi为第i次记录中指令的预设权重,zi为第i次记录中指令的总执行次数;
20、根据指令执行顺序结合指令权重顺序生成执行预测路径;
21、将所述每个指令的指令权重系数与预设权重范围进行对比,获得权重对比结果;
22、所述权重对比结果包括范围外指令和范围内指令;
23、将执行预测路径中的范围外指令进行剔除,获得执行更新路径;
24、获取指令执行动态变化数据,根据所述指令执行动态变化数据对指令的历史执行数据进行更新,获得指令更新数据;
25、根据所述权重对比结果、指令权重系数结合指令更新数据计算指令的权重更新系数;
26、所述权重更新系数的计算公式为:
27、
28、其中,gzli为第i个指令的权重更新系数,δci为第i次记录中指令的成功执行次数的增加变化量,∇ci为第i次记录中指令的成功执行次数;
29、根据所述权重更新系数对指令的指令权重系数进行更新,进而对执行更新路径进行更新,获得执行变化路径;
30、当指令权重系数在预设权重范围外,且权重更新系数在预设权重范围内时,根据所述指令权重系数、权重更新系数结合预设权重范围计算权重调节系数;
31、所述权重调节系数的计算公式为:
32、
33、其中,tys为权重调节系数,xx为预设权重范围下限值,sx为预设权重范围上限值;
34、根据所述权重调节系数对对应指令的权重进行调节,直至指令的权重在预设权重范围内。
35、本发明有益效果:通过快取列具有跳转地址的设计,可以降低因为不正确的预测的效果损失,进而提高程序的执行效率。通过指令快取和分支预测技术,减少了对系统内存的访问次数和延迟,提高了指令的执行效率。管线化处理使得指令可以并行执行,进一步提高了处理器的吞吐量。双重电性连接通道(第一通道用于正常发送,第二通道用于重试)的设计,使得处理器在处理异常情况时更加灵活和可靠。总线接口提供了与外部设备通信的能力,增强了处理器的可扩展性和兼容性。排程器根据指令的依赖关系和资源可用性进行智能调度,确保了资源的有效利用和避免了不必要的冲突。数据快取模块减少了数据访问的延迟和带宽消耗,提高了系统整体的性能。高效的指令执行和数据管理能力使得处理器能够更快地响应用户的请求,提升了用户的使用体验。可靠的错误处理和重试机制保证了系统的稳定性和可靠性,减少了因硬件故障导致的系统崩溃和数据丢失的风险。
本文地址:https://www.jishuxx.com/zhuanli/20241226/344343.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。