一种分支跳转指令的预取方法、装置及设备制造方法及图纸

技术编号:21771147 阅读:19 留言:0更新日期:2019-08-03 21:25
本发明专利技术公开了一种分支跳转指令的预取方法,包括:从指令Cache获取待执行指令;判断待执行指令是否为分支跳转指令;若是,则提取待执行指令中的分支内存地址;控制指令Cache从内存领取分支内存地址对应的待执行指令;本发明专利技术通过对指令Cache中的分支跳转指令的识别判断,可以从分支跳转指令中提取出分支内存地址,进而控制指令Cache预取这预取这段内存上的指令,避免了指令Cache中的分支跳转指令引起的Cache缓存缺失情况,提高了指令Cache中指令的有效性,提升了系统运行效率和用户体验。此外,本发明专利技术还公开了一种分支跳转指令的预取装置、设备及计算机可读存储介质,同样具有上述有益效果。

A Pre-fetching Method, Device and Equipment for Branch Jump Instructions

【技术实现步骤摘要】
一种分支跳转指令的预取方法、装置及设备
本专利技术涉及数据处理领域,特别涉及一种分支跳转指令的预取方法、装置、设备及计算机可读存储介质。
技术介绍
随着众所周知,现代处理器(CPU)的工作频率远高于内存频率,为了提高CPU取指效率,现代CPU架构中加入Cache(高速缓冲部件)来提前缓存内存中部分指令,CPU执行指令时直接从Cache中取指。Cache的频率很高,但是容量很小,内存空间和Cache空间是基于空间大小进行映射,这样Cache中对应存储内存映射过来的部分指令。一个典型的2路组相联的Cache结构如附图1所示。在图1中,Cache分成s组(Set),每组包含两个cacheline(Way1和Way2),也称为两路,主存中的每个数据块只能位于s个Set中的某一个,但可以在指定Set中的任意一个cacheline中。然而,在现有技术的指令执行的过程中,有部分跳转指令(分支跳转指令),使CPU转而去执行另一段内存空间上的指令,由于Cache中的指令是均匀映射过来的,因此跳转后在Cache中可能只有一小部分或者没有这段跳转后内存空间上的指令,从而很高概率发生Cache缓存缺失,如果发生Cache缓存缺失,CPU不得不去内存取指,从而影响系统运行效率。因此,如何能够避免Cache中的分支跳转指令引起的Cache缓存缺失情况,提高Cache中指令的有效性,从而提升系统运行效率,是现今急需解决的问题。
技术实现思路
本专利技术的目的是提供一种分支跳转指令的预取方法、装置、设备及计算机可读存储介质,以避免Cache中的分支跳转指令引起的Cache缓存缺失情况,提高Cache中指令的有效性,提升系统运行效率。为解决上述技术问题,本专利技术提供一种分支跳转指令的预取方法,包括:从指令Cache获取待执行指令;判断所述待执行指令是否为分支跳转指令;若是,则提取所述待执行指令中的分支内存地址;控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令。可选的,所述从指令Cache获取待执行指令,包括:处理器从所述指令Cache取指执行过程中,按预设取指顺序从所述指令Cache获取所述待执行指令。可选的,所述控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令,包括:控制所述指令Cache将所述分支内存地址对应的待执行指令覆盖存储到所述预设取指顺序的尾部对应的Set中。本专利技术还提供了一种分支跳转指令的预取装置,包括:取指模块,用于从指令Cache获取待执行指令;识别模块,用于判断所述待执行指令是否为分支跳转指令;提取模块,用于若为所述分支跳转指令,则提取所述待执行指令中的分支内存地址;预取模块,用于控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令。可选的,所述取指模块,包括:取指子模块,用于在从所述指令Cache取指执行过程中,按预设取指顺序从所述指令Cache获取所述待执行指令。可选的,所述预取模块,包括:覆盖存储子模块,用于控制所述指令Cache将所述分支内存地址对应的待执行指令覆盖存储到所述预设取指顺序的尾部对应的Set中。本专利技术还提供了一种分支跳转指令的预取设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的分支跳转指令的预取方法的步骤。此外,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的分支跳转指令的预取方法的步骤。本专利技术所提供的一种分支跳转指令的预取方法,包括:从指令Cache获取待执行指令;判断待执行指令是否为分支跳转指令;若是,则提取待执行指令中的分支内存地址;控制指令Cache从内存领取分支内存地址对应的待执行指令;可见,本专利技术通过对指令Cache中的分支跳转指令的识别判断,可以从分支跳转指令中提取出分支内存地址,进而控制指令Cache预取这预取这段内存上的指令,避免了指令Cache中的分支跳转指令引起的Cache缓存缺失情况,提高了指令Cache中指令的有效性,提升了系统运行效率和用户体验。此外,本专利技术还提供了一种分支跳转指令的预取装置、设备及计算机可读存储介质,同样具有上述有益效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为现有技术中典型的2路组相联的Cache结构示意图;图2为本专利技术实施例所提供的一种分支跳转指令的预取方法的流程图;图3为本专利技术实施例所提供的分支预取的Cache结构示意图;图4为本专利技术实施例所提供的一种分支跳转指令的预取装置的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图2,图2为本专利技术实施例所提供的一种分支跳转指令的预取方法的流程图。该方法可以包括:步骤101:从指令Cache获取待执行指令。其中,本步骤中的指令Cache可以为处理器中的用于从内存中领取缓存处理器需要执行的指令的高速缓冲部件,本步骤中的待执行指令可以为指令Cache中缓存的处理器需要执行的指令。可以理解的是,本实施例的目的可以为处理器通过对指令Cache中的分支跳转指令的识别判断,控制指令Cache预取这预取分支跳转指令中的分支内存地址处的指令,从而避免指令Cache缓存缺失的问题。具体的,对于本实施例所提供方法的具体执行时间,即本步骤中处理器从指令Cache获取待执行指令的具体时间,可以由设计人员根据实用场景和用户需求自行设置,如可以在处理器从指令Cache取指执行过程中,由处理器进行本实施例所提供的方法,即本步骤可以为处理器从指令Cache取指执行过程中,按预设取指顺序从指令Cache获取待执行指令;也可以在指令Cache从对应的领取(映射)待执行指令之后,由处理器进行本实施例所提供的方法。只要保证处理器执行指令Cache中的分支跳转指令(待执行指令)时,该指令Cache中可以缓存有内存中的该分支跳转指令对应的分支内存地址处的指令(待执行指令),本实施例对此不做任何限制。步骤102:判断待执行指令是否为分支跳转指令;若是,则进入步骤103。可以理解的是,本步骤的目的可以为处理器通过对从指令Cache获取待执行指令的识别,判断待执行指令是否为分支跳转指令,从而确定是否需要指令Cache预取跳转后内存地址(分支内存地址)上的指令。即处理器从指令Cache取指执行过程中,当处理器从指令Cache获取并执行到分支跳转指令,可以识别出该指令。具体的,对于本步骤中处理器判断待执行指令是否为分支跳转指令的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如可以采用与现有技术中的指令识别相同或相似的方式实现,只要处理器可以识别出待执行指令是否为分支跳转指令本文档来自技高网...

【技术保护点】
1.一种分支跳转指令的预取方法,其特征在于,包括:从指令Cache获取待执行指令;判断所述待执行指令是否为分支跳转指令;若是,则提取所述待执行指令中的分支内存地址;控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令。

【技术特征摘要】
1.一种分支跳转指令的预取方法,其特征在于,包括:从指令Cache获取待执行指令;判断所述待执行指令是否为分支跳转指令;若是,则提取所述待执行指令中的分支内存地址;控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令。2.根据权利要求1所述的分支跳转指令的预取方法,其特征在于,所述从指令Cache获取待执行指令,包括:处理器从所述指令Cache取指执行过程中,按预设取指顺序从所述指令Cache获取所述待执行指令。3.根据权利要求2所述的分支跳转指令的预取方法,其特征在于,所述控制所述指令Cache从内存领取所述分支内存地址对应的待执行指令,包括:控制所述指令Cache将所述分支内存地址对应的待执行指令覆盖存储到所述预设取指顺序的尾部对应的Set中。4.一种分支跳转指令的预取装置,其特征在于,包括:取指模块,用于从指令Cache获取待执行指令;识别模块,用于判断所述待执行指令是否为分支跳转指令;提取模块,用于若为所述分支跳转指令,...

【专利技术属性】
技术研发人员:杨宏斌方兴董刚刘栩辰
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏,32

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

1