[go: up one dir, main page]

CN106843812A - 一种实现间接转移关联软件预测的方法及装置 - Google Patents

一种实现间接转移关联软件预测的方法及装置 Download PDF

Info

Publication number
CN106843812A
CN106843812A CN201611208034.5A CN201611208034A CN106843812A CN 106843812 A CN106843812 A CN 106843812A CN 201611208034 A CN201611208034 A CN 201611208034A CN 106843812 A CN106843812 A CN 106843812A
Authority
CN
China
Prior art keywords
prediction
instruction
indirect branch
software
code
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.)
Pending
Application number
CN201611208034.5A
Other languages
English (en)
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.)
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Original Assignee
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
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 BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING filed Critical BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Priority to CN201611208034.5A priority Critical patent/CN106843812A/zh
Publication of CN106843812A publication Critical patent/CN106843812A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种实现间接转移关联软件预测的方法及装置,包括:对每条间接转移指令进行软件预测,确定该间接转移指令为难预测的热点间接转移指令后,对该指令的控制流图进行宽度遍历,获取到达该指令的路径;当获取到达该指令的路径满足预设的路径数时,为到达该指令的每一路径复制相应的代码副本;为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。本发明通过对间接转移指令进行代码复制,设置多个代码副本,为每一代码副本建立相应的软件预测链,并使不同路径的程序控制流进入到不同的代码副本,实现了低开销、高预测准确率的预测过程,实现了无需改造平台硬件,就降低了处理间接转移指令所需的开销,改善了系统性能。

Description

一种实现间接转移关联软件预测的方法及装置
技术领域
本发明涉及动态翻译技术,尤指一种动态翻译系统中实现间接转移关联软件预测的方法及装置。
背景技术
动态二进制翻译技术(dynamic translation)广泛应用于指令系统模拟、二进制插桩、动态优化、程序行为分析等领域。在多种应用场景下,性能是翻译系统需考虑的重要指标。其中,控制转移指令的处理方法是影响动态翻译系统性能的重要因素。当控制转移指令执行时,其获取到的转移目标是一个源程序计数器地址(SPC,Source Program Counter,简称为源地址),需要将其转换为相应的目标程序计数器地址(TPC,Target ProgramCounter,简称为目标地址),翻译系统才可正常执行。控制转移指令一般可分为条件转移指令、直接跳转指令与间接转移指令(IB,Indirect Branch)。对于转移目标固定的条件转移指令与直接跳转指令,翻译系统可使用代码块链接技术来降低开销;而间接转移指令的转移目标在运行时才可以确定,且转移目标不固定,因此每次执行时均需进行一次源地址(SPC)到目标地址(TPC)的地址转换操作。图1为现有翻译系统处理间接转移指令的流程示意图,如图1所示,由于间接转移指令在每次执行时都需根据其当前的转移目标进行地址转换,因此进行大量的地址转换操作导致了巨大的性能开销,使得间接转移指令的处理过程成为主要的系统性能开销。
动态二进制翻译系统一般会维护一个SPC-TPC的映射表,在源地址产生后,运行一个哈希(Hash)查表例程来进行地址转换,然后再跳转至相应的目标地址。但进行一次哈希查表需要10条以上指令,导致较大的开销。
软件预测法可以在一定程度上避免哈希查表带来的额外开销,即在转移目标的SPC产生后,进入一条软件预测链与预设的若干目标进行匹配,若匹配成功则直接跳转,称为预测成功。但是,软件预测法的预测准确率一般较低,从而制约了其对整体性能的提升。图2为现有软件预测的方法示意图,如图2所示,在获取到间接转移指令的转移目标的源地址后,需要进行若干次的比较-跳转的预测操作。其中,每一个比较跳转语句称为一个预测槽(Prediction Slot),所比较的目标称为预设目标,多个串行比较的预测槽称为一条“预测链”。若预测成功,则直接跳转到相应的目标代码块,如果预测失败,则按照图1所示的现有的翻译系统处理间接转移指令的方法进行处理。现有软件预测法的主要问题是预测准确率较低,直接增加软件预测链上的预测槽个数可一定程度上提升准确率,但同时增加了预测时需进行的“比较”操作的次数,导致单次预测开销上升,无法提升性能。
此外,目前还出现了一些软硬件协同的优化方案,如在CPU流水线中新增一个跳转地址查找表,或者新增一个按内容访问的相联存储器(CAM,Content-Associated Memory),但这些方案均需改动硬件或指令系统,通用性较差,无法直接在已有平台上实现。
综上所述,在现有的动态翻译系统中,间接转移指令往往占用大量的系统性能开销,现有的处理方法存在指令开销过大、预测准确率低及平台应用的通用性较差等问题,间接转移指令占用主要系统开销的问题依旧未得到有效处理。
发明内容
为了解决上述技术问题,本发明提供一种实现间接转移关联软件预测的方法及装置,能够简单、有效的降低间接转移指令对系统性能开销的占用。
为了达到上述发明目的,本发明公开了一种实现间接转移关联软件预测的方法,包括:
对每条间接转移指令进行软件预测,当软件预测失败次数大于热点指令阈值时,确定该间接转移指令为难预测的热点间接转移指令;
对所述难预测的热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
当获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达所述热点间接转移指令的每一路径复制相应的代码副本;
为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
进一步地,为每一代码副本在预测槽中填入相应的预测目标具体包括:为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标。
进一步地,当软件预测链形成后,该方法还包括:在软件预测失败时,进入哈希Hash查表例程。
另一方面,本申请还提供一种实现间接转移关联软件预测的装置,包括:预测判断单元、路径获取单元、代码复制单元及预测链单元;其中,
预测判断单元,用于对每条间接转移指令进行软件预测,当预测失败次数大于热点指令阈值时,确定所述间接转移指令为难预测的热点间接转移指令。
路径获取单元,用于当所述间接转移指令为难预测的热点间接转移指令时,对该热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
代码复制单元,用于当获取到达所述热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本;
预测链单元,用于为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
进一步地,预测链单元具体用于,为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标,以形成相应的软件预测链。
进一步地,该装置还包括查表单元,用于当软件预测链形成后,在软件预测失败时,进入哈希查表例程。
本申请技术方案包括:对每条间接转移指令进行软件预测,对每条间接转移指令进行软件预测,当软件预测失败次数大于热点指令阈值时,确定该间接转移指令为难预测的热点间接转移指令;对难预测的热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;当获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本;为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。本发明通过对间接转移指令进行代码复制,设置多个代码副本,为每一代码副本建立相应的软件预测链,并使来自于不同路径的程序控制流进入到不同的代码副本,实现了低开销、高预测准确率的关联软件预测过程。从而在不需要对平台进行硬件改造下,降低了处理间接转移指令所需的开销,改善了系统性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有翻译系统处理间接转移指令的流程示意图;
图2为现有软件预测的方法示意图;
图3为本发明实现间接转移关联软件预测的方法的流程图;
图4为本发明实现间接转移关联软件预测的装置的结构框图;
图5为本发明实现代码副本复制前后间接转移关联软件预测的实施例的示意图;
图6为本发明实现间接转移关联软件预测的实施例方法的示意图。
具体实施方式
图3为本发明实现间接转移关联软件预测的方法的流程图,如图1所示,包括:
步骤300、对每条间接转移指令进行软件预测,当软件预测失败次数大于热点指令阈值时,确定该间接转移指令为难预测的热点间接转移指令。
需要说明的是,采用首次命中法选取预测目标,进行软件预测失败次数统计,首次命中法为本领域技术人员熟知的一种方法,即将第一个出现的转移目标作为预测目标。另外,间接转移指令在实际应用过程中,运行次数可能达到上亿次,采用首次命中法选取预测目标后,如果软件预测在运行过程中,失败次数不大于热点指令阈值,则该间接转移指令会一直按照传统方法继续运行。
需要说明的是,根据相关系统的经验,热点指令阈值一般设为100左右,根据实际情况可以进行相应的调整。
步骤301、对难预测的热点间接转移指令的控制流图进行宽度遍历,获取到达该间接转移指令的路径。
需要说明的是,在对源二进制代码进行翻译时,动态二进制翻译系统可根据代码块之间的跳转关系形成代码控制流图。待需要对某间接转移指令进行关联软件预测时,系统会从该间接转移指令所在的代码块为起点节点,向上对控制流图进行宽度遍历,以收集到达该间接转移指令的各条代码路径。对控制流图进行宽度遍历,获取路径等属于本领域技术人员的惯用技术手段。
步骤302、当获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本。
需要说明的是,由于大多数间接转移指令拥有20个以下的转移目标,因此,根据技术经验,一般设置路径条数为10左右。
步骤303、为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
本步骤中,为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链具体包括:为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,则该转移目标被识别为热点目标,并被填入该副本的预测槽中,以形成相应的软件预测链。
每一个代码副本与预测目标是一一对应的,每一代码副本在预测槽中填入的相应的预测目标,相对于其他代码副本,每一代码副本的预测目标是独立的。
需要说明的是,根据相关系统的经验,热点目标的阈值一般设为50左右,根据实际情况可以进行相应的调整。
当软件预测链形成后,该方法还包括:在软件预测失败时,进入哈希(Hash)查表例程。
需要说明的是,每发现一个热点目标,即会向预测槽中填入该目标,每个预测槽仅能对应一个预测目标。当所有的预测槽均被填入预测目标后,则称为“填满”。传统的软件预测法的准确率较低,是因为其预测槽个数小于转移目标的个数。而单纯的增加预测槽,会增加预测时需遍历的预测槽的个数。虽能提升预测率,但由于预测开销上升,难以提升性能。关联软件预测法为间接转移指令设置了多个并行预测链,但在预测时并不会遍历所有的预测链,而是会根据路径历史信息选择其中一个预测链进行遍历,因此并未增加当次预测时所遍历的预测槽个数,从而不增加预测开销。
通过对间接转移指令的路径进行检测,当满足预设的进行间接转移指令处理条件时,为每一路径复制相应的代码副本,并未每一代码副本建立相应的关联软件预测链,实现了在不需要对平台进行硬件改造的同时,降低了间接转移指令对系统开销的大量占用,改善了系统性能。
图4为本发明一种实现间接转移关联软件预测的装置的结构框图,如图4所示,包括:预测判断单元、路径获取单元、代码复制单元及预测链单元;其中,
预测判断单元,用于对每条间接转移指令进行软件预测,当预测失败次数大于热点指令阈值时,确定间接转移指令为难预测的热点间接转移指令。
路径获取单元,用于当所述间接转移指令为难预测的热点间接转移指令时,对该热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径。
代码复制单元,用于当获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本。
预测链单元,用于为每一代码副本的预测槽中填入相应的预测目标,以形成相应的软件预测链。
预测链单元具体用于,为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标,以形成相应的软件预测链。
本发明装置还包括查表单元,该装置还包括查表单元,用于当软件预测链形成后,在软件预测失败时,进入哈希(Hash)查表例程。
以下结合具体实施例,对本发明方法进行更为详尽的说明,实施例只为更为清楚的陈述,并不用于限制本发明的保护范围。
实施例
图5为本发明实现代码副本复制前后间接转移关联软件预测的实施例的示意图,如图5所示,按照进行代码复制的条件的设置,当检测到间接转移指令为难预测的热点间接转移指令时,获取到达间接转移指令的路径。并在获取到达间接转移指令的路径满足预先设置的路径条数时,为到达间接转移指令的每一路径复制相应的代码副本。
图6为本发明实现间接转移关联软件预测的实施例方法的示意图,如图6所示,其中A、B、C、J、C1、J1、C2、J2为相应的代码块A、代码块B、代码块C、代码块J、代码块C1、代码块J1、代码块C2、代码块J2;
首先,对间接转移指令进行检测,判断到间接转移指令为难预测的热点间接转移指令时,为到达热点间接转移指令的每一路径复制相应的代码副本。
然后,为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,形成其相应的软件预测链,在每一代码副本的预测槽填入相应的预测目标。
需要说明的是,本发明可动态的根据软件预测失败次数对间接转移指令进行分类,对于易预测的间接转移指令或冷指令,使用传统软件预测法也可获得较好的效果,因此本发明仅对难预测的热点间接转移指令进行关联软件预测,进一步降低了系统开销。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (6)

1.一种实现间接转移关联软件预测的方法,其特征在于,包括:
对每条间接转移指令进行软件预测,当软件预测失败次数大于热点指令阈值时,确定该间接转移指令为难预测的热点间接转移指令;
对所述难预测的热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
当所述获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达所述热点间接转移指令的每一路径复制相应的代码副本;
为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
2.根据权利要求1所述的方法,其特征在于,所述为每一代码副本在预测槽中填入相应的预测目标具体包括:为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标。
3.根据权利要求1或2所述的方法,其特征在于,当软件预测链形成后,该方法还包括:在软件预测失败时,进入哈希Hash查表例程。
4.一种实现间接转移关联软件预测的装置,其特征在于,包括:预测判断单元、路径获取单元、代码复制单元及预测链单元;其中,
预测判断单元,用于对每条间接转移指令进行软件预测,当预测失败次数大于热点指令阈值时,确定所述间接转移指令为难预测的热点间接转移指令;
路径获取单元,用于当所述间接转移指令为难预测的热点间接转移指令时,对该热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
代码复制单元,用于当获取到达所述热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本;
预测链单元,用于为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
5.根据权利要求4所述的装置,其特征在于,所述预测链单元具体用于,为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标,以形成相应的软件预测链。
6.根据权利要求4或5所述的装置,其特征在于,该装置还包括查表单元,用于当软件预测链形成后,在软件预测失败时,进入哈希查表例程。
CN201611208034.5A 2016-12-23 2016-12-23 一种实现间接转移关联软件预测的方法及装置 Pending CN106843812A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611208034.5A CN106843812A (zh) 2016-12-23 2016-12-23 一种实现间接转移关联软件预测的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611208034.5A CN106843812A (zh) 2016-12-23 2016-12-23 一种实现间接转移关联软件预测的方法及装置

Publications (1)

Publication Number Publication Date
CN106843812A true CN106843812A (zh) 2017-06-13

Family

ID=59136033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611208034.5A Pending CN106843812A (zh) 2016-12-23 2016-12-23 一种实现间接转移关联软件预测的方法及装置

Country Status (1)

Country Link
CN (1) CN106843812A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816536A (zh) * 2022-06-30 2022-07-29 飞腾信息技术有限公司 一种分支预测处理方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649137A (en) * 1994-10-20 1997-07-15 Advanced Micro Devices, Inc. Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
CN1305150A (zh) * 1999-11-01 2001-07-25 国际商业机器公司 具有改进的地址目标预测的处理器和方法
CN1821953A (zh) * 2004-08-04 2006-08-23 威盛电子股份有限公司 可变群组组合分支目标地址快取传送每一快取列多目标地址
CN101044457A (zh) * 2004-09-28 2007-09-26 英特尔公司 用于依赖性链处理的系统、方法和装置
CN101140512A (zh) * 2002-12-27 2008-03-12 英特尔公司 使用计算历史进行预测的处理器及系统
US20090049286A1 (en) * 2007-08-13 2009-02-19 Levitan David S Data processing system, processor and method of data processing having improved branch target address cache
US20090158017A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Target-frequency based indirect jump prediction for high-performance processors
CN102156636A (zh) * 2011-04-28 2011-08-17 北京北大众志微系统科技有限责任公司 一种实现值关联间接跳转预测的装置
CN102306094A (zh) * 2011-08-16 2012-01-04 北京北大众志微系统科技有限责任公司 实现现代处理器间接转移预测的装置及方法
CN102306093A (zh) * 2011-08-04 2012-01-04 北京北大众志微系统科技有限责任公司 实现现代处理器间接转移预测的装置及方法
CN104049938A (zh) * 2013-03-13 2014-09-17 想象力科技有限公司 间接分支预测
US20150363201A1 (en) * 2014-06-11 2015-12-17 International Business Machines Corporation Predicting indirect branches using problem branch filtering and pattern cache

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649137A (en) * 1994-10-20 1997-07-15 Advanced Micro Devices, Inc. Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
CN1305150A (zh) * 1999-11-01 2001-07-25 国际商业机器公司 具有改进的地址目标预测的处理器和方法
CN101140512A (zh) * 2002-12-27 2008-03-12 英特尔公司 使用计算历史进行预测的处理器及系统
CN1821953A (zh) * 2004-08-04 2006-08-23 威盛电子股份有限公司 可变群组组合分支目标地址快取传送每一快取列多目标地址
CN101044457A (zh) * 2004-09-28 2007-09-26 英特尔公司 用于依赖性链处理的系统、方法和装置
US20090049286A1 (en) * 2007-08-13 2009-02-19 Levitan David S Data processing system, processor and method of data processing having improved branch target address cache
US20090158017A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Target-frequency based indirect jump prediction for high-performance processors
CN102156636A (zh) * 2011-04-28 2011-08-17 北京北大众志微系统科技有限责任公司 一种实现值关联间接跳转预测的装置
CN102306093A (zh) * 2011-08-04 2012-01-04 北京北大众志微系统科技有限责任公司 实现现代处理器间接转移预测的装置及方法
CN102306094A (zh) * 2011-08-16 2012-01-04 北京北大众志微系统科技有限责任公司 实现现代处理器间接转移预测的装置及方法
CN104049938A (zh) * 2013-03-13 2014-09-17 想象力科技有限公司 间接分支预测
US20150363201A1 (en) * 2014-06-11 2015-12-17 International Business Machines Corporation Predicting indirect branches using problem branch filtering and pattern cache

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾宁: ""动态翻译系统中的间接转移关联软件预测算法"", 《计算机研究与发展》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816536A (zh) * 2022-06-30 2022-07-29 飞腾信息技术有限公司 一种分支预测处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10922133B2 (en) Method and apparatus for task scheduling
US9210219B2 (en) Systems and methods for consistent hashing using multiple hash rings
CN109189552B (zh) 虚拟网络功能扩容与缩容方法及系统
US20230229699A1 (en) Video retrieval method and apparatus, device and storage medium
WO2017143957A1 (zh) 一种数据重分布的方法及装置
CN114511292B (zh) 一种基于智能三色灯的数据监测方法、设备及介质
CN110135967A (zh) 催收数据的处理方法和系统
CN115033337A (zh) 虚拟机内存迁移方法、装置、设备及存储介质
CN106843812A (zh) 一种实现间接转移关联软件预测的方法及装置
US11816245B2 (en) Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof
US9087082B2 (en) Processing control in a streaming application
US20170102948A1 (en) System and method for predicting latency of a variable-latency instruction
CN112506522A (zh) 数据的解析方法、装置、计算机设备及介质
US20240054127A1 (en) Automatic prevention of plan regressions
CN114398178B (zh) 一种任务执行方法、装置及电子设备
US11113160B2 (en) Apparatus for migrating data and method of operating same
CN115145897A (zh) 数据处理方法、装置、设备和存储介质
CN114840488A (zh) 一种基于超融合结构的分布式存储方法、系统及存储介质
US11494430B2 (en) Data storage apparatus and data prediction method thereof
CN105988855A (zh) 即时编译参数优化方法及装置
US9940328B2 (en) Dynamic threshold gates for indexing queues
US20150082278A1 (en) Clone detection method and clone function commonalizing method
CN114138330B (zh) 基于知识图谱的代码克隆检测优化方法、装置和电子设备
US20160232187A1 (en) Dump analysis method, apparatus and non-transitory computer readable storage medium
CN111241068B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170613