CN113868899B - 一种分支指令处理方法、系统、设备及计算机存储介质 - Google Patents

一种分支指令处理方法、系统、设备及计算机存储介质 Download PDF

Info

Publication number
CN113868899B
CN113868899B CN202111461357.6A CN202111461357A CN113868899B CN 113868899 B CN113868899 B CN 113868899B CN 202111461357 A CN202111461357 A CN 202111461357A CN 113868899 B CN113868899 B CN 113868899B
Authority
CN
China
Prior art keywords
branch
prediction
branch prediction
jump
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111461357.6A
Other languages
English (en)
Other versions
CN113868899A (zh
Inventor
张贞雷
李拓
满宏涛
刘同强
周玉龙
邹晓峰
王贤坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111461357.6A priority Critical patent/CN113868899B/zh
Publication of CN113868899A publication Critical patent/CN113868899A/zh
Application granted granted Critical
Publication of CN113868899B publication Critical patent/CN113868899B/zh
Priority to PCT/CN2022/100476 priority patent/WO2023098039A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本申请公开了一种分支指令处理方法、系统、设备及计算机存储介质,基于目标分支指令确定待预测分支指令;基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;基于预测结果确定各个分支预测方法的预测准确率;将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;基于目标分支预测方法对目标分支指令进行分支预测。本申请中,可以在多个分支预测方法中选择预测准确性最高的分支预测方法作为目标分支预测方法,并根据目标分支预测方法对目标分支指令进行分支预测,可以保证预测结果的准确性,从而后续处理器基于该分支预测结果进行分支指令处理的话,能够保证准确性较高。

Description

一种分支指令处理方法、系统、设备及计算机存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种分支指令处理方法、系统、设备及计算机存储介质。
背景技术
当前,处理器在处理分支指令时,可能会产生跳转,从而打断流水线指令的处理,直至分支指令执行完毕,流水线越长,处理器等待时间便越长,为了避免此种情况,处理器需要进行分支预测,分支预测也即处理器在执行分支指令前预测是否执行分支指令,比如根据上一次是否跳转执行分支指令来预估当前是否跳转执行分支指令等。然而,现有分支预测的准确性较差,而分支预测失败会导致处理器损失20个左右的时钟周期,影响处理器的性能。
综上所述,如何提高处理器处理分支指令的准确性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种分支指令处理方法,其能在一定程度上解决如何提高处理器处理分支指令的准确性的技术问题。本申请还提供了一种分支指令处理系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种分支指令处理方法,包括:
基于目标分支指令确定待预测分支指令;
基于预设的多个分支预测方法对所述待预测分支指令进行预测,得到相应的预测结果;
基于所述预测结果确定各个所述分支预测方法的预测准确率;
将值最高的所述预测准确率对应的所述分支预测方法确定为目标分支预测方法;
基于所述目标分支预测方法对所述目标分支指令进行分支预测。
优选的,所述分支预测方法包括一直预测跳转执行分支指令的方法。
优选的,所述分支预测方法包括一直预测不跳转执行分支指令的方法。
优选的,所述分支预测方法包括基于分支预测状态确定当前分支预测结果的方法。
优选的,所述分支预测方法包括:
若所述分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的跳转执行分支指令;
若所述分支预测状态为所述第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的跳转执行分支指令;
其中,所述第一级别的执行概率大于所述第二级别。
优选的,所述分支预测方法包括:
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持所述分支预测状态表征不跳转执行分支指令。
优选的,所述分支预测方法包括:
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持所述分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
一种分支指令处理系统,包括:
第一确定模块,用于基于目标分支指令确定待预测分支指令;
第一预测模块,用于基于预设的多个分支预测方法对所述待预测分支指令进行预测,得到相应的预测结果;
第二确定模块,用于基于所述预测结果确定各个所述分支预测方法的预测准确率;
第三确定模块,用于将值最高的所述预测准确率对应的所述分支预测方法确定为目标分支预测方法;
第二预测模块,用于基于所述目标分支预测方法对所述目标分支指令进行分支预测。
一种分支指令处理设备,包括:
处理器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述分支指令处理方法的步骤。
一种计算机可读存储介质,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述分支指令处理方法的步骤。
本申请提供的一种分支指令处理方法,基于目标分支指令确定待预测分支指令;基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;基于预测结果确定各个分支预测方法的预测准确率;将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;基于目标分支预测方法对目标分支指令进行分支预测。本申请中,可以在多个分支预测方法中选择预测准确性最高的分支预测方法作为目标分支预测方法,并根据目标分支预测方法对目标分支指令进行分支预测,可以保证预测结果的准确性,从而后续处理器基于该分支预测结果进行分支指令处理的话,能够保证准确性较高。本申请提供的一种分支指令处理系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种分支指令处理方法的流程图;
图2为本申请实施例提供的分支预测方法的第一示意图;
图3为本申请实施例提供的分支预测方法的第二示意图;
图4为本申请实施例提供的分支预测方法的第三示意图;
图5为本申请实施例提供的一种分支指令处理系统的流程图;
图6为本申请实施例提供的一种分支指令处理设备的结构示意图;
图7为本申请实施例提供的一种分支指令处理设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种分支指令处理方法的流程图。
本申请实施例提供的一种分支指令处理方法,可以包括以下步骤:
步骤S101:基于目标分支指令确定待预测分支指令。
实际应用中,可以先基于目标分支指令确定待预测分支指令,目标分支指令也即处理器实际要处理的分支指令,待预测分支指令也即用于后续对多个分支预测方法进行准确性测试的分支指令。
需要说明的是,具体应用场景中,可以将与目标分支指令的架构相同,但运算周期短的指令作为待预测分支指令等,本申请在此不做具体限定。为了便于理解,假设本申请提供的分支指令处理方法应用于RISC-V处理器,则待预测分支指令可以为与RISC-V处理器上运行的主程序架构相同,但是运算周期短的算法/程序。应当指出,本申请所涉及的RISC-V读作RISC Five,意思是第五代精简指令处理器,其是一种全新的指令集架构,并且开源可以被任何学术机构或商业组织自由使用,具有自主可控的优势。
步骤S102:基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果。
实际应用中,在基于目标分支指令确定待预测分支指令之后,便可以基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果,以便后续根据预测结果评估各个分支预测方法的预测准确率。
步骤S103:基于预测结果确定各个分支预测方法的预测准确率。
步骤S104:将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法。
步骤S105:基于目标分支预测方法对目标分支指令进行分支预测。
实际应用中,在基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果之后,便可以基于预测结果确定各个分支预测方法的预测准确率,并将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法,最后基于目标分支预测方法对目标分支指令进行分支预测,以便得到准确性高的目标分支指令的分支预测结果,在此之后,处理器便可以该分支预测结果准确进行分支指令处理。本申请提供的一种分支指令处理方法,基于目标分支指令确定待预测分支指令;基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;基于预测结果确定各个分支预测方法的预测准确率;将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;基于目标分支预测方法对目标分支指令进行分支预测。本申请中,可以在多个分支预测方法中选择预测准确性最高的分支预测方法作为目标分支预测方法,并根据目标分支预测方法对目标分支指令进行分支预测,可以保证预测结果的准确性,从而后续处理器基于该分支预测结果进行分支指令处理的话,能够保证准确性较高。
需要说明的是,由于现有的RISC-V处理器作为专用处理器的应用越来越广泛,然而随之带来的问题也越来越多,比如RISC-V处理器中的分支预测机制并不适用于所有的应用领域,比如在A领域下,RISC-V处理器用1位预测机制,效率较高,在B领域下,RISC-V处理器用2位的预测机制效率较高,但是在C领域下,2位预测机制的效率比1位预测机制高,但是受限于RISC-V处理器上运行的特定算法,其整体的预测效率会普遍不高,也没有一种预测器可以满足RISC-V处理器所有的应用场景,使得RISC-V处理器的处理效率较低;而本申请提供的分支指令处理方法应用于RISC-V处理器时,能够保证RISC-V处理器处理分支指令的准确性,进而提高RISC-V处理器的处理效率。
本申请提供的一种分支指令处理方法中,为了丰富最终的分支预测结果,保证分支预测结果的准确性,分支预测方法可以包括一直预测跳转执行分支指令的方法、分支预测方法可以包括一直预测不跳转执行分支指令的方法等。
本申请提供的一种分支指令处理方法中,为了丰富最终的分支预测结果,保证分支预测结果的准确性,分支预测方法可以包括基于分支预测状态确定当前分支预测结果的方法。
具体应用场景中,分支预测方法可以包括:
若分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,也即不跳转执行分支指令,若验证当前分支预测成功,则保持分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;
若分支预测状态为第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;
若分支预测状态为第二级别的跳转执行分支指令,则当前分支预测结果为跳转,也即跳转执行分支指令,若验证当前分支预测成功,则调整分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;
若分支预测状态为第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;
其中,第一级别的执行概率大于第二级别。
为了便于理解,假设0表示第一级别的不跳转执行分支指令,1表示第二级别的不跳转执行分支指令,2表示第二级别的跳转执行分支指令,3表示第一级别的跳转执行分支指令,则该分支预测方法的各个分支预测结果间的跳转关系如图2所示,其中,预测失败表征当前分支预测结果是错误的,预测成功表征当前分支预测结果是正确的,可见只有连续两次预测失败之后,才发生预测跳转/不跳转的变化,其实现了分支指令的温和跳转。
需要说明的是,在每次应用本实施例分支预测方法时,可以初始化分支预测状态为第一级别的不跳转执行分支指令等,本申请在此不做具体限定。
本申请提供的一种分支指令处理方法中,为了丰富最终的分支预测结果,保证分支预测结果的准确性,分支预测方法可以包括:
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令。
为了便于理解,假设0表示跳转执行分支指令的预测结果的累积数量为1,10表示跳转执行分支指令的预测结果的累积数量为2,2表示0表示跳转执行分支指令的预测结果的累积数量为3,3表示不跳转执行分支指令,则该分支预测方法的各个分支预测结果间的跳转关系如图3所示,可见只有连续的3次跳转预测正确之后,下一次的预测才是不跳转,并且在不跳转的状态下,预测失败,则又回到状态0,只有在不跳转的状态下,预测成功,继续保持在状态3,其实现了分支指令的极易跳转预测。
需要说明的是,在每次应用本实施例分支预测方法时,可以初始化分支预测状态表征跳转执行分支指令的预测结果的累积数量为1等,本申请在此不做具体限定。
本申请提供的一种分支指令处理方法中,为了丰富最终的分支预测结果,保证分支预测结果的准确性,分支预测方法可以包括:
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
为了便于理解,假设0表示不跳转执行分支指令的预测结果的累积数量为1;1表示不跳转执行分支指令的预测结果的累积数量为2;2表示不跳转执行分支指令的预测结果的累积数量为3;3表示跳转执行分支指令,则该分支预测方法的各个分支预测结果间的跳转关系如图4所示,可见只有连续的3次不跳转预测正确之后,下一次的预测才是跳转,并且在跳转的状态下,预测成功,则又回到状态0,只有在跳转的状态下,预测失败,继续保持在状态3,其实现了分支指令的极易不跳转预测。
需要说明的是,在每次应用本实施例分支预测方法时,可以初始化分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1等,本申请在此不做具体限定。
请参阅图5,图5为本申请实施例提供的一种分支指令处理系统的流程图。
本申请实施例提供的一种分支指令处理系统,包括:
第一确定模块101,用于基于目标分支指令确定待预测分支指令;
第一预测模块102,用于基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;
第二确定模块103,用于基于预测结果确定各个分支预测方法的预测准确率;
第三确定模块104,用于将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;
第二预测模块105,用于基于目标分支预测方法对目标分支指令进行分支预测。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括一直预测跳转执行分支指令的方法。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括一直预测不跳转执行分支指令的方法。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括基于分支预测状态确定当前分支预测结果的方法。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括:
若分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;
若分支预测状态为第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;
若分支预测状态为第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;
若分支预测状态为第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;
其中,第一级别的执行概率大于第二级别。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括:
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令。
本申请实施例提供的一种分支指令处理系统,分支预测方法包括:
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
本申请还提供了一种分支指令处理设备及计算机可读存储介质,其均具有本申请实施例提供的一种分支指令处理方法具有的对应效果。请参阅图6,图6为本申请实施例提供的一种分支指令处理设备的结构示意图。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
基于目标分支指令确定待预测分支指令;
基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;
基于预测结果确定各个分支预测方法的预测准确率;
将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;
基于目标分支预测方法对目标分支指令进行分支预测。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括一直预测跳转执行分支指令的方法。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括一直预测不跳转执行分支指令的方法。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括基于分支预测状态确定当前分支预测结果的方法。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括:若分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;若分支预测状态为第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;若分支预测状态为第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;若分支预测状态为第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;其中,第一级别的执行概率大于第二级别。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括:若分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令。
本申请实施例提供的一种分支指令处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:分支预测方法包括:若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
请参阅图7,本申请实施例提供的另一种分支指令处理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现分支指令处理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
基于目标分支指令确定待预测分支指令;
基于预设的多个分支预测方法对待预测分支指令进行预测,得到相应的预测结果;
基于预测结果确定各个分支预测方法的预测准确率;
将值最高的预测准确率对应的分支预测方法确定为目标分支预测方法;
基于目标分支预测方法对目标分支指令进行分支预测。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括一直预测跳转执行分支指令的方法。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括一直预测不跳转执行分支指令的方法。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括基于分支预测状态确定当前分支预测结果的方法。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括:若分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;若分支预测状态为第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;若分支预测状态为第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的不跳转执行分支指令;若分支预测状态为第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整分支预测状态为第二级别的跳转执行分支指令;其中,第一级别的执行概率大于第二级别。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括:若分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:分支预测方法包括:若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;若分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的分支指令处理系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的分支指令处理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种分支指令处理方法,其特征在于,包括:
基于目标分支指令确定待预测分支指令;
基于预设的多个分支预测方法对所述待预测分支指令进行预测,得到相应的预测结果;
基于所述预测结果确定各个所述分支预测方法的预测准确率;
将值最高的所述预测准确率对应的所述分支预测方法确定为目标分支预测方法;
基于所述目标分支预测方法对所述目标分支指令进行分支预测;
其中,所述分支预测方法包括基于分支预测状态确定当前分支预测结果的方法;所述分支预测方法包括:
若所述分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的跳转执行分支指令;
若所述分支预测状态为所述第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的跳转执行分支指令;
其中,所述第一级别的执行概率大于所述第二级别。
2.根据权利要求1所述的方法,其特征在于,所述分支预测方法包括一直预测跳转执行分支指令的方法。
3.根据权利要求1所述的方法,其特征在于,所述分支预测方法包括一直预测不跳转执行分支指令的方法。
4.根据权利要求1所述的方法,其特征在于,所述分支预测方法包括:
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令;若验证当前分支预测失败,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令的预测结果的累积数量为1;若当前分支预测失败,则保持所述分支预测状态表征不跳转执行分支指令。
5.根据权利要求1所述的方法,其特征在于,所述分支预测方法包括:
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2;若验证当前分支预测失败,则保持所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为2,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3;若验证当前分支预测失败,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为3,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态表征跳转执行分支指令;若验证当前分支预测失败,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1;
若所述分支预测状态表征跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测失败,则保持所述分支预测状态表征跳转执行分支指令;若验证当前分支预测成功,则调整所述分支预测状态表征不跳转执行分支指令的预测结果的累积数量为1。
6.一种分支指令处理系统,其特征在于,包括:
第一确定模块,用于基于目标分支指令确定待预测分支指令;
第一预测模块,用于基于预设的多个分支预测方法对所述待预测分支指令进行预测,得到相应的预测结果;
第二确定模块,用于基于所述预测结果确定各个所述分支预测方法的预测准确率;
第三确定模块,用于将值最高的所述预测准确率对应的所述分支预测方法确定为目标分支预测方法;
第二预测模块,用于基于所述目标分支预测方法对所述目标分支指令进行分支预测;
其中,所述分支预测方法包括基于分支预测状态确定当前分支预测结果的方法;所述分支预测方法包括:
若所述分支预测状态为第一级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第二级别的不跳转执行分支指令,则当前分支预测结果为不跳转,若验证当前分支预测成功,则调整所述分支预测状态为所述第一级别的不跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为第二级别的跳转执行分支指令;
若所述分支预测状态为所述第二级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则调整所述分支预测状态为第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的不跳转执行分支指令;
若所述分支预测状态为所述第一级别的跳转执行分支指令,则当前分支预测结果为跳转,若验证当前分支预测成功,则保持所述分支预测状态为所述第一级别的跳转执行分支指令,若验证当前分支预测失败,则调整所述分支预测状态为所述第二级别的跳转执行分支指令;
其中,所述第一级别的执行概率大于所述第二级别。
7.一种分支指令处理设备,其特征在于,包括:
处理器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述分支指令处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述分支指令处理方法的步骤。
CN202111461357.6A 2021-12-03 2021-12-03 一种分支指令处理方法、系统、设备及计算机存储介质 Active CN113868899B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111461357.6A CN113868899B (zh) 2021-12-03 2021-12-03 一种分支指令处理方法、系统、设备及计算机存储介质
PCT/CN2022/100476 WO2023098039A1 (zh) 2021-12-03 2022-06-22 一种分支指令处理方法、系统、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111461357.6A CN113868899B (zh) 2021-12-03 2021-12-03 一种分支指令处理方法、系统、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN113868899A CN113868899A (zh) 2021-12-31
CN113868899B true CN113868899B (zh) 2022-03-04

Family

ID=78985705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111461357.6A Active CN113868899B (zh) 2021-12-03 2021-12-03 一种分支指令处理方法、系统、设备及计算机存储介质

Country Status (2)

Country Link
CN (1) CN113868899B (zh)
WO (1) WO2023098039A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868899B (zh) * 2021-12-03 2022-03-04 苏州浪潮智能科技有限公司 一种分支指令处理方法、系统、设备及计算机存储介质
CN118245115B (zh) * 2024-05-27 2024-07-26 北京微核芯科技有限公司 一种转移指令的预测方法及其装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752014A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous branch prediction
CN110688160A (zh) * 2019-09-04 2020-01-14 苏州浪潮智能科技有限公司 一种指令流水线处理方法、系统、设备及计算机存储介质
CN111538535A (zh) * 2020-04-28 2020-08-14 支付宝(杭州)信息技术有限公司 一种cpu指令处理方法、控制器和中央处理单元
CN113544640A (zh) * 2019-03-30 2021-10-22 华为技术有限公司 分支指令的处理方法、分支预测器及处理器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263427B1 (en) * 1998-09-04 2001-07-17 Rise Technology Company Branch prediction mechanism
JP3602840B2 (ja) * 2002-10-22 2004-12-15 株式会社東芝 命令の投機的実行制御装置およびその方法
TW200739419A (en) * 2006-04-07 2007-10-16 Univ Feng Chia Prediction mechanism of a program backward jump instruction
US8078852B2 (en) * 2009-05-28 2011-12-13 International Business Machines Corporation Predictors with adaptive prediction threshold
CN102707988B (zh) * 2011-04-07 2015-09-09 威盛电子股份有限公司 微处理器及其操作方法
US9229723B2 (en) * 2012-06-11 2016-01-05 International Business Machines Corporation Global weak pattern history table filtering
CN103984525B (zh) * 2013-02-08 2017-10-20 上海芯豪微电子有限公司 指令处理系统及方法
US9690587B2 (en) * 2014-04-08 2017-06-27 International Business Machines Corporation Variable updates of branch prediction states
US10007524B2 (en) * 2014-11-14 2018-06-26 Cavium, Inc. Managing history information for branch prediction
US10607137B2 (en) * 2017-04-05 2020-03-31 International Business Machines Corporation Branch predictor selection management
CN110134441B (zh) * 2019-05-23 2020-11-10 苏州浪潮智能科技有限公司 Risc-v分支预测方法、装置、电子设备及存储介质
US20210149676A1 (en) * 2019-11-14 2021-05-20 Higon Austin R&D Center Corporation Branch Prediction Method, Branch Prediction Unit and Processor Core
CN112579373B (zh) * 2020-12-08 2022-10-11 海光信息技术股份有限公司 用于分支预测器的验证方法、系统、设备以及存储介质
CN112988233B (zh) * 2021-02-06 2024-03-26 江南大学 一种面向分支指令预测的偏差矫正器及方法
CN113868899B (zh) * 2021-12-03 2022-03-04 苏州浪潮智能科技有限公司 一种分支指令处理方法、系统、设备及计算机存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752014A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous branch prediction
CN113544640A (zh) * 2019-03-30 2021-10-22 华为技术有限公司 分支指令的处理方法、分支预测器及处理器
CN110688160A (zh) * 2019-09-04 2020-01-14 苏州浪潮智能科技有限公司 一种指令流水线处理方法、系统、设备及计算机存储介质
CN111538535A (zh) * 2020-04-28 2020-08-14 支付宝(杭州)信息技术有限公司 一种cpu指令处理方法、控制器和中央处理单元

Also Published As

Publication number Publication date
CN113868899A (zh) 2021-12-31
WO2023098039A1 (zh) 2023-06-08

Similar Documents

Publication Publication Date Title
CN113868899B (zh) 一种分支指令处理方法、系统、设备及计算机存储介质
CN110298443B (zh) 神经网络运算装置及方法
US11036507B2 (en) Processor testing using pairs of counter incrementing and branch instructions
CN110688160B (zh) 一种指令流水线处理方法、系统、设备及计算机存储介质
US9043806B2 (en) Information processing device and task switching method
US20150277876A1 (en) Compiling device, compiling method, and storage medium storing compiler program
CN110134215B (zh) 数据处理方法、装置、电子设备及可读存储介质
CN112115668B (zh) Fpga布局方法、装置、电子设备和计算机可读介质
CN113421073A (zh) 在区块链中并发执行交易的方法和装置
JP6257745B2 (ja) プロセッサにおいてリターン分岐命令を実行する速度を向上させる方法
CN111552652B (zh) 基于人工智能芯片的数据处理方法、装置和存储介质
CN112990461B (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
US11372379B2 (en) Computer system and control method
CN105988855A (zh) 即时编译参数优化方法及装置
US20150095897A1 (en) Method and apparatus for converting programs
CN112579373A (zh) 用于分支预测器的验证方法、系统、设备以及存储介质
US20120089823A1 (en) Processing apparatus, compiling apparatus, and dynamic conditional branch processing method
CN109308327A (zh) 基于子图模型兼容点中心模型的图计算方法装置介质设备
CN116149978A (zh) 服务接口测试方法、装置、电子设备及存储介质
CN113032011A (zh) 一种数据流架构中循环程序执行的方法及系统
CN113296945A (zh) 一种持续集成方法、系统、设备及计算机可读存储介质
CN111210231A (zh) 信息处理方法和信息处理装置
US20240370265A1 (en) Branch instruction processing method, system, and device, and computer storage medium
US10776139B2 (en) Simulation apparatus, simulation method, and computer readable medium
CN109828894A (zh) 设备状态数据的采集方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant