CN117472446B - 基于处理器的多级取指目标缓冲器的分支预测方法 - Google Patents

基于处理器的多级取指目标缓冲器的分支预测方法 Download PDF

Info

Publication number
CN117472446B
CN117472446B CN202311828912.3A CN202311828912A CN117472446B CN 117472446 B CN117472446 B CN 117472446B CN 202311828912 A CN202311828912 A CN 202311828912A CN 117472446 B CN117472446 B CN 117472446B
Authority
CN
China
Prior art keywords
target buffer
branch prediction
instruction
stage
fetch
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
CN202311828912.3A
Other languages
English (en)
Other versions
CN117472446A (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.)
Beijing Micro Core Technology Co ltd
Original Assignee
Beijing Micro Core 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 Beijing Micro Core Technology Co ltd filed Critical Beijing Micro Core Technology Co ltd
Priority to CN202311828912.3A priority Critical patent/CN117472446B/zh
Publication of CN117472446A publication Critical patent/CN117472446A/zh
Application granted granted Critical
Publication of CN117472446B publication Critical patent/CN117472446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本发明提供一种基于处理器的多级取指目标缓冲器的分支预测方法,涉及计算机技术领域,方法包括:根据分支预测指令同时查找一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;若一级取指目标缓冲器未命中分支预测指令,且替换取指目标缓冲器命中分支预测指令,则替换取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器;若一级取指目标缓冲器及替换取指目标缓冲器都未命中分支预测指令,且二级取指目标缓冲器命中分支预测指令,则二级取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器。本发明能够在提升取指目标缓冲器容量的同时,保证访问的低延时和低功耗。

Description

基于处理器的多级取指目标缓冲器的分支预测方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于处理器的多级取指目标缓冲器的分支预测方法。
背景技术
取指目标缓冲器(Fetch Target Buffer,FTB)是处理器分支预测的核心部件,其他分支预测部件所做出的预测全部依赖于FTB提供的信息。FTB提供预测块内分支指令的信息。每一个取指目标缓冲器FTB项都形成一个预测块,对下一个取指块(Fetch Group)的起始地址做预测,同时也对当前取指块的结束点做预测。FTB最大化每次预测取指的指令数量。每个FTB项表示一个可变长度的顺序取指块,直到下一个分支。FTB为取指块生成一个起始地址、取指块结束的地址,以及下一个预测块的预测目标地址。
大容量的FTB可以提供更好的分支预测能力,以预测更多的分支的方向和目标。但是,大容量的FTB会导致FTB访问延迟的增加,降低处理器的主频,增加处理器的功耗。
因此,如何在提升FTB容量的同时,保证FTB访问的低延时和低功耗,以提升处理器的性能,提高处理器的主频,降低处理器的功耗。
发明内容
针对现有技术存在的问题,本发明提供一种基于处理器的多级取指目标缓冲器的分支预测方法。
本发明提供一种基于处理器的多级取指目标缓冲器的分支预测方法,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;所述方法包括:
根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:
所述替换取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;
在所述一级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;
将所述第一分支预测信息写入所述替换取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:
所述二级取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;
在所述一级取指目标缓冲器接收到来自所述二级取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;
将所述第一分支预测信息写入所述替换取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述将所述第一分支预测信息写入所述替换取指目标缓冲器,包括:
在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量已满的情况下,从所述替换取指目标缓冲器中删除第二分支预测信息,将所述第一分支预测信息写入所述替换取指目标缓冲器;
将所述第二分支预测信息写入所述二级取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述将所述第二分支预测信息写入所述二级取指目标缓冲器,包括:
在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量已满的情况下,从所述二级取指目标缓冲器中删除第三分支预测信息,将所述第二分支预测信息写入所述二级取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述方法还包括:
若所述一级取指目标缓冲器、所述替换取指目标缓冲器及所述二级取指目标缓冲器都未命中所述分支预测指令,则将所述分支预测指令中的顺序取指块写入所述一级取指目标缓冲器。
根据本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述从所述一级取指目标缓冲器中删除第一分支预测信息,包括:
从所述一级取指目标缓冲器中,基于替换算法删除第一分支预测信息。
本发明还提供一种处理器,包括多级取指目标缓冲器;所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;其中:
所述处理器根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于处理器的多级取指目标缓冲器的分支预测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于处理器的多级取指目标缓冲器的分支预测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于处理器的多级取指目标缓冲器的分支预测方法。
本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,通过根据分支预测指令同时查找一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;若一级取指目标缓冲器命中分支预测指令,则一级取指目标缓冲器确定分支预测结果;若一级取指目标缓冲器未命中分支预测指令,且替换取指目标缓冲器命中分支预测指令,则替换取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器;若一级取指目标缓冲器及替换取指目标缓冲器都未命中分支预测指令,且二级取指目标缓冲器命中分支预测指令,则二级取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器,从而基于一级取指目标缓冲器最大限度地减少访问延迟,实现高速访问,基于二级取指目标缓冲器实现多级取指目标缓冲器的大容量,基于替换取指目标缓冲器实现一级取指目标缓冲器和二级取指目标缓冲器之间的缓冲,FTB表项根据需要在一级取指目标缓冲器、替换取指目标缓冲器和二级取指目标缓冲器之间进行传递,既保证FTB容量增加带来高性能,又保证FTB访问的低延时和低功耗,从而能够提升处理器的性能,提高处理器的主频,降低处理器的功耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法的流程示意图之一;
图2是本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法的流程示意图之二;
图3是本发明提供的多级取指目标缓冲器的结构示意图;
图4是本发明提供的多级取指目标缓冲器的流水线示意图;
图5为本发明提供的处理器的结构示意图;
图6是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图描述本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法、处理器、电子设备及存储介质。
图1是本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法的流程示意图之一;如图1所示,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器,该方法包括步骤101-步骤103,其中:
步骤101,根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器。
步骤102,若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
步骤103,若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
需要说明的是,本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法可适用于处理器分支预测场景中。该方法的执行主体可以为处理器,处理器包括多级取指目标缓冲器;多级取指目标缓冲器包括一级取指目标缓冲器(L1 FTB)、二级取指目标缓冲器(L2 FTB)及替换取指目标缓冲器(Victim FTB)。所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器,均用于存储分支预测信息。
可选地,一级取指目标缓冲器及替换取指目标缓冲器的容量,可以相对小,而二级取指目标缓冲器的容量相对大。
可选地,一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器,均可以用静态随机存取存储器(Static Random-Access Memory,SRAM)实现,也可以用寄存器实现。
本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法,通过根据分支预测指令同时查找一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;若一级取指目标缓冲器命中分支预测指令,则一级取指目标缓冲器确定分支预测结果;若一级取指目标缓冲器未命中分支预测指令,且替换取指目标缓冲器命中分支预测指令,则替换取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器;若一级取指目标缓冲器及替换取指目标缓冲器都未命中分支预测指令,且二级取指目标缓冲器命中分支预测指令,则二级取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器,从而基于一级取指目标缓冲器最大限度地减少访问延迟,实现高速访问,基于二级取指目标缓冲器实现多级取指目标缓冲器的大容量,基于替换取指目标缓冲器实现一级取指目标缓冲器和二级取指目标缓冲器之间的缓冲,FTB表项根据需要在一级取指目标缓冲器、替换取指目标缓冲器和二级取指目标缓冲器之间进行传递,既保证FTB容量增加带来高性能,又保证FTB访问的低延时和低功耗,从而能够提升处理器的性能,提高处理器的主频,降低处理器的功耗。
图2是本发明提供的基于处理器的多级取指目标缓冲器的分支预测方法的流程示意图之二;如图2所示,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器,该方法包括步骤201-步骤208,其中:
步骤201,执行第一流水级:根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器。
步骤202,执行第二流水级:若一级取指目标缓冲器命中分支预测指令,则一级取指目标缓冲器确定分支预测结果。
步骤203,若一级取指目标缓冲器未命中分支预测指令,且替换取指目标缓冲器命中分支预测指令,则替换取指目标缓冲器确定分支预测结果;替换取指目标缓冲器将分支预测结果传递到一级取指目标缓冲器。
步骤204,在一级取指目标缓冲器接收到来自替换取指目标缓冲器的分支预测结果,且一级取指目标缓冲器容量未满的情况下,将分支预测结果写入一级取指目标缓冲器。
步骤205,在一级取指目标缓冲器接收到来自替换取指目标缓冲器的分支预测结果,且一级取指目标缓冲器容量已满的情况下,从一级取指目标缓冲器中删除第一分支预测信息,将分支预测结果写入一级取指目标缓冲器;将第一分支预测信息写入替换取指目标缓冲器。
可选地,步骤205中将所述第一分支预测信息写入所述替换取指目标缓冲器的实现方式可以包括:
在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量已满的情况下,从所述替换取指目标缓冲器中删除第二分支预测信息,将所述第一分支预测信息写入所述替换取指目标缓冲器;将所述第二分支预测信息写入所述二级取指目标缓冲器;
或者,在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量未满的情况下,将所述第一分支预测信息写入所述替换取指目标缓冲器。
可选地,所述将所述第二分支预测信息写入所述二级取指目标缓冲器的实现方式可以包括:
在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量已满的情况下,从所述二级取指目标缓冲器中删除第三分支预测信息,将所述第二分支预测信息写入所述二级取指目标缓冲器;
或者,在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量未满的情况下,将所述第二分支预测信息写入所述二级取指目标缓冲器。
步骤206,执行第三流水级:若一级取指目标缓冲器及替换取指目标缓冲器都未命中分支预测指令,且二级取指目标缓冲器命中分支预测指令,则二级取指目标缓冲器确定分支预测结果,二级取指目标缓冲器将分支预测结果传递到一级取指目标缓冲器。
步骤207,在一级取指目标缓冲器接收到来自二级取指目标缓冲器的分支预测结果,且一级取指目标缓冲器容量未满的情况下,将分支预测结果写入一级取指目标缓冲器。
步骤208,在一级取指目标缓冲器接收到来自二级取指目标缓冲器的分支预测结果,且一级取指目标缓冲器容量已满的情况下,从一级取指目标缓冲器中删除第一分支预测信息,将分支预测结果写入一级取指目标缓冲器;将第一分支预测信息写入替换取指目标缓冲器。
可选地,步骤208中将所述第一分支预测信息写入所述替换取指目标缓冲器的实现方式可以包括:
在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量已满的情况下,从所述替换取指目标缓冲器中删除第二分支预测信息,将所述第一分支预测信息写入所述替换取指目标缓冲器;将所述第二分支预测信息写入所述二级取指目标缓冲器;
或者,在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量未满的情况下,将所述第一分支预测信息写入所述替换取指目标缓冲器。
可选地,所述将所述第二分支预测信息写入所述二级取指目标缓冲器的实现方式可以包括:
在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量已满的情况下,从所述二级取指目标缓冲器中删除第三分支预测信息,将所述第二分支预测信息写入所述二级取指目标缓冲器;
或者,在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量未满的情况下,将所述第二分支预测信息写入所述二级取指目标缓冲器。
可选地,若所述一级取指目标缓冲器、所述替换取指目标缓冲器及所述二级取指目标缓冲器都未命中所述分支预测指令,则将所述分支预测指令中的顺序取指块写入所述一级取指目标缓冲器。
本发明中,多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器,基于一级取指目标缓冲器最大限度地减少访问延迟,实现高速访问,基于二级取指目标缓冲器实现多级取指目标缓冲器的大容量,基于替换取指目标缓冲器实现一级取指目标缓冲器和二级取指目标缓冲器之间的缓冲,FTB表项根据需要在一级取指目标缓冲器、替换取指目标缓冲器和二级取指目标缓冲器之间进行传递,既保证FTB容量增加带来高性能,又保证FTB访问的低延时和低功耗,从而达到提升处理器的性能,提高处理器的主频,降低处理器的功耗的目的。
图3是本发明提供的多级取指目标缓冲器的结构示意图,如图3所示,多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器,以及作为一级取指目标缓冲器和二级取指目标缓冲器之间缓冲的替换取指目标缓冲器。一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器均可以用SRAM实现,也可以用寄存器实现。
图4是本发明提供的多级取指目标缓冲器的流水线示意图,如图4所示,一级取指目标缓冲器及替换取指目标缓冲器容量相对小,访问后一个时钟周期返回结果。二级取指目标缓冲器容量大,访问后两个时钟周期返回结果。其他1-3周期的分支预测部件,一般处理器包括1周期的分支目标缓冲器(Branch Target Buffer,BTB)、返回地址栈(ReturnAddress Stack,RAS);条件分支方向预测器(TAGE-SC),TAGE的延迟是2周期,SC的延迟是3周期;3周期的间接跳转预测器(Indirect Target TAgged GEnometric legnth,ITTAGE)等分支预测部件。后面的分支预测部件检测到前面分支预测部件的预测错误,也会更新前面的分支预测部件,并重定向分支预测错误的指令。取指目标队列(Fetch Target Queue,FTQ)将分支预测部件和取指部件解耦。程序计数器(Program Counter,PC)指示程序取指的地址。一级指令高速缓存(Instruction Cache,ICache)保存最近使用的指令。译码部件负责指令的译码,执行部件负责指令的执行操作。译码部件和执行部件如检测到分支指令预测错,会更新预测部件,并重定向分支预测错误的指令,重新执行分支预测错误的指令及分支预测错误指令后面的指令。译码部件和执行部件之间还包括寄存器重命名、重定序缓冲、保留站等其他处理器流水线部件。
基于图3及图4,本发明中基于处理器的多级取指目标缓冲器的分支预测流水级和操作,示例如下:
第一流水级(即流水级1):同时查找L1 FTB、Victim FTB和L2 FTB。
第二流水级(即流水级2):如果L1 FTB访问命中(hit),则L1 FTB给出预测结果,取消使用Victim FTB和L2 FTB的预测结果。
如果L1 FTB访问不命中,Victim FTB访问命中:
将Victim FTB的访问结果传递到L1 FTB中。如果L1 FTB容量未满,则把从VictimFTB中取到的项写入L1 FTB。或者,如果L1 FTB容量已满,则从L1 FTB中按照替换算法删除L1 FTB中原有的一项,再把从Victim FTB中取到的项写入L1 FTB。将从L1 FTB中删除的项,写入到Victim FTB中。
如果Victim FTB容量未满,则直接把从L1 FTB中替换出的项写入Victim FTB。或者,如果Victim FTB容量已满,则从Victim FTB中按照替换算法删除Victim FTB中原有的一项,再把从L1 FTB中替换出的项写入Victim FTB。如从Victim FTB中删除项,将从VictimFTB中删除的项写入到L2 FTB中。如果L2 FTB容量已满,则从L2 FTB中按照替换算法删除L2FTB中原有的一项。
可选地,替换算法可以采用最近最少使用(Least Recently Used,LRU)、最不经常使用(Least Frequently Used,LFU)、先进先出(First In First Out,FIFO)和随机替换算法(Random)等。为了使得L1 FTB、Victim FTB和L2 FTB都尽量保存最新更新的分支预测信息,可以优先采用LRU算法。
第三流水级(即流水级3):如果L1 FTB和Victim FTB都不命中,L2 FTB命中,则使用L2 FTB的预测结果,将L2 FTB中命中的信息传递至L1 FTB。如果L1 FTB容量未满,则把从L2 FTB中取到的项写入L1 FTB。或者,如果L1 FTB容量已满,则从L1 FTB中按照替换算法删除L1 FTB中原有的一项,再把从L2 FTB中取到的项写入L1 FTB。从L1 FTB中删除的项,写入到Victim FTB中。
如果Victim FTB容量未满,则直接把从L1 FTB中删除的项写入Victim FTB。或者,如果Victim FTB容量已满,则从Victim FTB中按照替换算法删除Victim FTB中原有的一项,再把从L1 FTB中删除的项(即从L1 FTB中替换出的项)写入Victim FTB。如从VictimFTB中删除项,将从Victim FTB中删除的项写入到L2 FTB中。如果L2 FTB容量已满,则从L2FTB中按照替换算法删除L2 FTB中原有的一项,再把从Victim FTB中删除的项写入L2 FTB。
如果L1 FTB、Victim FTB和L2 FTB都未命中:
如果请求的FTB项不在L1 FTB、Victim FTB中,也不在L2 FTB中,则生成新取指块,即将顺序取指块放入L1 FTB,直到处理器检测到分支预测错误。一旦在译码或执行阶段发现分支预测错误,用取指块的正确信息对L1 FTB进行更新。同样,如果将顺序取指块放入L1FTB时,若L1 FTB容量已满,则从L1 FTB中按照替换算法删除L1 FTB中原有的一项。从L1FTB中删除的项,写入到Victim FTB中。如果Victim FTB容量已满,则从Victim FTB中按照替换算法删除Victim FTB中原有的一项,再把从L1 FTB中替换出的项写入Victim FTB。如从Victim FTB中删除项,将从Victim FTB中删除的项写入到L2 FTB中。如果L2 FTB容量已满,则从L2 FTB中按照替换算法删除L2 FTB中原有的一项。
下面对本发明提供的处理器进行描述,下文描述的处理器与上文描述的基于处理器的多级取指目标缓冲器的分支预测方法可相互对应参照。
图5为本发明提供的处理器的结构示意图,如图5所示,处理器500,包括多级取指目标缓冲器;所述多级取指目标缓冲器包括一级取指目标缓冲器501、二级取指目标缓冲器502及替换取指目标缓冲器503;其中:
所述处理器500根据分支预测指令同时查找所述一级取指目标缓冲器501、所述二级取指目标缓冲器502及所述替换取指目标缓冲器503;
若所述一级取指目标缓冲器501命中所述分支预测指令,则所述一级取指目标缓冲器501确定分支预测结果;若所述一级取指目标缓冲器501未命中所述分支预测指令,且所述替换取指目标缓冲器503命中所述分支预测指令,则所述替换取指目标缓冲器503确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器501;
若所述一级取指目标缓冲器501及所述替换取指目标缓冲器503都未命中所述分支预测指令,且所述二级取指目标缓冲器502命中所述分支预测指令,则所述二级取指目标缓冲器502确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器501。
本发明提供的处理器中,多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器,通过根据分支预测指令同时查找一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;若一级取指目标缓冲器命中分支预测指令,则一级取指目标缓冲器确定分支预测结果;若一级取指目标缓冲器未命中分支预测指令,且替换取指目标缓冲器命中分支预测指令,则替换取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器;若一级取指目标缓冲器及替换取指目标缓冲器都未命中分支预测指令,且二级取指目标缓冲器命中分支预测指令,则二级取指目标缓冲器确定分支预测结果,将分支预测结果写入一级取指目标缓冲器,从而基于一级取指目标缓冲器最大限度地减少访问延迟,实现高速访问,基于二级取指目标缓冲器实现多级取指目标缓冲器的大容量,基于替换取指目标缓冲器实现一级取指目标缓冲器和二级取指目标缓冲器之间的缓冲,FTB表项根据需要在一级取指目标缓冲器、替换取指目标缓冲器和二级取指目标缓冲器之间进行传递,既保证FTB容量增加带来高性能,又保证FTB访问的低延时和低功耗,从而能够提升处理器的性能,提高处理器的主频,降低处理器的功耗。
可选地,所述替换取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;
在所述一级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;
将所述第一分支预测信息写入所述替换取指目标缓冲器。
可选地,所述二级取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;
在所述一级取指目标缓冲器接收到来自所述二级取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;
将所述第一分支预测信息写入所述替换取指目标缓冲器。
可选地,在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量已满的情况下,从所述替换取指目标缓冲器中删除第二分支预测信息,将所述第一分支预测信息写入所述替换取指目标缓冲器;
将所述第二分支预测信息写入所述二级取指目标缓冲器。
可选地,在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量已满的情况下,从所述二级取指目标缓冲器中删除第三分支预测信息,将所述第二分支预测信息写入所述二级取指目标缓冲器。
可选地,若所述一级取指目标缓冲器、所述替换取指目标缓冲器及所述二级取指目标缓冲器都未命中所述分支预测指令,则将所述分支预测指令中的顺序取指块写入所述一级取指目标缓冲器。
可选地,从所述一级取指目标缓冲器中,基于替换算法删除第一分支预测信息。
图6是本发明提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于处理器的多级取指目标缓冲器的分支预测方法,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;所述方法包括:
根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;所述方法包括:
根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于处理器的多级取指目标缓冲器的分支预测方法,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;所述方法包括:
根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于处理器的多级取指目标缓冲器的分支预测方法,其特征在于,所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;所述方法包括:
根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:所述替换取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;在所述一级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;将所述第一分支预测信息写入所述替换取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:所述二级取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;在所述一级取指目标缓冲器接收到来自所述二级取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;将所述第一分支预测信息写入所述替换取指目标缓冲器。
2.根据权利要求1所述的基于处理器的多级取指目标缓冲器的分支预测方法,其特征在于,所述将所述第一分支预测信息写入所述替换取指目标缓冲器,包括:
在所述替换取指目标缓冲器接收到来自所述一级取指目标缓冲器的所述第一分支预测信息,且所述替换取指目标缓冲器容量已满的情况下,从所述替换取指目标缓冲器中删除第二分支预测信息,将所述第一分支预测信息写入所述替换取指目标缓冲器;
将所述第二分支预测信息写入所述二级取指目标缓冲器。
3.根据权利要求2所述的基于处理器的多级取指目标缓冲器的分支预测方法,其特征在于,所述将所述第二分支预测信息写入所述二级取指目标缓冲器,包括:
在所述二级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述第二分支预测信息,且所述二级取指目标缓冲器容量已满的情况下,从所述二级取指目标缓冲器中删除第三分支预测信息,将所述第二分支预测信息写入所述二级取指目标缓冲器。
4.根据权利要求1所述的基于处理器的多级取指目标缓冲器的分支预测方法,其特征在于,所述方法还包括:
若所述一级取指目标缓冲器、所述替换取指目标缓冲器及所述二级取指目标缓冲器都未命中所述分支预测指令,则将所述分支预测指令中的顺序取指块写入所述一级取指目标缓冲器。
5.根据权利要求1所述的基于处理器的多级取指目标缓冲器的分支预测方法,其特征在于,所述从所述一级取指目标缓冲器中删除第一分支预测信息,包括:
从所述一级取指目标缓冲器中,基于替换算法删除第一分支预测信息。
6.一种处理器,其特征在于,包括多级取指目标缓冲器;所述多级取指目标缓冲器包括一级取指目标缓冲器、二级取指目标缓冲器及替换取指目标缓冲器;其中:
所述处理器根据分支预测指令同时查找所述一级取指目标缓冲器、所述二级取指目标缓冲器及所述替换取指目标缓冲器;
若所述一级取指目标缓冲器命中所述分支预测指令,则所述一级取指目标缓冲器确定分支预测结果;若所述一级取指目标缓冲器未命中所述分支预测指令,且所述替换取指目标缓冲器命中所述分支预测指令,则所述替换取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:所述替换取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;在所述一级取指目标缓冲器接收到来自所述替换取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;将所述第一分支预测信息写入所述替换取指目标缓冲器;
若所述一级取指目标缓冲器及所述替换取指目标缓冲器都未命中所述分支预测指令,且所述二级取指目标缓冲器命中所述分支预测指令,则所述二级取指目标缓冲器确定分支预测结果,将所述分支预测结果写入所述一级取指目标缓冲器;
所述将所述分支预测结果写入所述一级取指目标缓冲器,包括:所述二级取指目标缓冲器将所述分支预测结果传递到所述一级取指目标缓冲器;在所述一级取指目标缓冲器接收到来自所述二级取指目标缓冲器的所述分支预测结果,且所述一级取指目标缓冲器容量已满的情况下,从所述一级取指目标缓冲器中删除第一分支预测信息,将所述分支预测结果写入所述一级取指目标缓冲器;将所述第一分支预测信息写入所述替换取指目标缓冲器。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于处理器的多级取指目标缓冲器的分支预测方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于处理器的多级取指目标缓冲器的分支预测方法。
CN202311828912.3A 2023-12-28 2023-12-28 基于处理器的多级取指目标缓冲器的分支预测方法 Active CN117472446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311828912.3A CN117472446B (zh) 2023-12-28 2023-12-28 基于处理器的多级取指目标缓冲器的分支预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311828912.3A CN117472446B (zh) 2023-12-28 2023-12-28 基于处理器的多级取指目标缓冲器的分支预测方法

Publications (2)

Publication Number Publication Date
CN117472446A CN117472446A (zh) 2024-01-30
CN117472446B true CN117472446B (zh) 2024-04-09

Family

ID=89627854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311828912.3A Active CN117472446B (zh) 2023-12-28 2023-12-28 基于处理器的多级取指目标缓冲器的分支预测方法

Country Status (1)

Country Link
CN (1) CN117472446B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069285A (zh) * 2019-04-30 2019-07-30 海光信息技术有限公司 一种检测分支预测的方法及处理器
CN112579175A (zh) * 2020-12-14 2021-03-30 海光信息技术股份有限公司 分支预测方法、分支预测装置和处理器核
CN113986774A (zh) * 2021-11-16 2022-01-28 中国科学院上海高等研究院 一种基于指令流和访存模式学习的缓存替换系统及方法
CN116048627A (zh) * 2023-03-31 2023-05-02 北京开源芯片研究院 指令缓冲方法、装置、处理器、电子设备及可读存储介质
CN117008979A (zh) * 2023-10-07 2023-11-07 北京数渡信息科技有限公司 一种分支预测器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298465B2 (en) * 2012-06-15 2016-03-29 International Business Machines Corporation Asynchronous lookahead hierarchical branch prediction
US11163573B2 (en) * 2019-02-13 2021-11-02 International Business Machines Corporation Hierarchical metadata predictor with periodic updates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069285A (zh) * 2019-04-30 2019-07-30 海光信息技术有限公司 一种检测分支预测的方法及处理器
CN112579175A (zh) * 2020-12-14 2021-03-30 海光信息技术股份有限公司 分支预测方法、分支预测装置和处理器核
CN113986774A (zh) * 2021-11-16 2022-01-28 中国科学院上海高等研究院 一种基于指令流和访存模式学习的缓存替换系统及方法
CN116048627A (zh) * 2023-03-31 2023-05-02 北京开源芯片研究院 指令缓冲方法、装置、处理器、电子设备及可读存储介质
CN117008979A (zh) * 2023-10-07 2023-11-07 北京数渡信息科技有限公司 一种分支预测器

Also Published As

Publication number Publication date
CN117472446A (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
JP4027620B2 (ja) 分岐予測装置、プロセッサ、及び分岐予測方法
US10409605B2 (en) System and method for using a branch mis-prediction buffer
KR101361928B1 (ko) 스레드 이송 시의 캐시 프리필링
US6178498B1 (en) Storing predicted branch target address in different storage according to importance hint in branch prediction instruction
US10613869B2 (en) Branch target address provision
US11169922B2 (en) Method and arrangement for saving cache power
TW201351145A (zh) 指令快取的減少耗能
CN112579175B (zh) 分支预测方法、分支预测装置和处理器核
US20080148017A1 (en) Systems for executing load instructions that achieve sequential load consistency
US11099849B2 (en) Method for reducing fetch cycles for return-type instructions
US11249762B2 (en) Apparatus and method for handling incorrect branch direction predictions
JP2008186233A (ja) 命令キャッシュプリフェッチ制御方法及びその装置
CN106557304B (zh) 用于预测子程序返回指令的目标的取指单元
JP2007272280A (ja) データ処理装置
JP3683439B2 (ja) 分岐予測を抑止する情報処理装置および方法
CN111065998A (zh) 用于预执行数据相依的负载的切片结构
US10922082B2 (en) Branch predictor
CN117472446B (zh) 基于处理器的多级取指目标缓冲器的分支预测方法
US20150193348A1 (en) High-performance data cache system and method
US9395985B2 (en) Efficient central processing unit (CPU) return address and instruction cache
KR20210025677A (ko) 초기 리턴 예측을 갖는 분기 타겟 버퍼
US20210141642A1 (en) Instruction address based data prediction and prefetching
US20190018769A1 (en) Operating different processor cache levels
US20070239939A1 (en) Apparatus for Performing Stream Prefetch within a Multiprocessor System
CN116627506A (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