CN111221579B - 预测Load指令执行延迟的方法及系统 - Google Patents
预测Load指令执行延迟的方法及系统 Download PDFInfo
- Publication number
- CN111221579B CN111221579B CN201811425412.4A CN201811425412A CN111221579B CN 111221579 B CN111221579 B CN 111221579B CN 201811425412 A CN201811425412 A CN 201811425412A CN 111221579 B CN111221579 B CN 111221579B
- Authority
- CN
- China
- Prior art keywords
- load instruction
- input
- buffer
- instruction
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 230000000873 masking effect Effects 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000002411 adverse Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 2
- 101000701393 Homo sapiens Serine/threonine-protein kinase 26 Proteins 0.000 description 2
- 102100030617 Serine/threonine-protein kinase 26 Human genes 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种预测Load指令执行延迟的方法及系统。所述方法包括:将所派发的Load指令与缓冲内的输入进行比较,判断是否匹配;若匹配,则将预测结果存入发射队列,判断预测结果是否正确,若正确,则不更新缓冲内相应的输入,若不正确,则更新缓冲内相应的输入;若不匹配,则判断Load指令是否为可缓存的访问,若是,则不在缓冲内创建相应的输入,若不是,则在缓冲内创建相应的输入。本发明能够提高预测的准确度,减少因为预测错误带来的不利影响。
Description
技术领域
本发明涉及计算机架构技术领域,尤其涉及一种预测Load指令执行延迟的方法及系统。
背景技术
现代处理器中为了减小指令间的数据依赖(Data Dependency)对性能的影响,都会提前计算前一条指令何时能够提供源操作数(Source Data),这样与前一条指令有依赖关系的后续指令可以提前发射。但是如果前一条指令是Load指令(从内存中读取数据的指令),情况会稍显复杂。Load指令的访问属性可能为Non-Cacheable(不可缓存的访问)或者Device(外设访问),那么其需要到处理器外部总线上去读取数据,所需要的延迟时间(Latency)是无法估计的。另外,即使Load指令的访问属性为Cacheable(可缓存的访问),其也可能会有L1 Data Cache Miss(一级数据缓存命中),那所需要的延迟时间也是无法估计的。
现有的方案是直接预测Load指令的访问属性为可缓存的访问,且一定会一级数据缓存命中。那么与其有依赖关系的后续指令可以依据此计算最早能够发射的时间,但是这种预测方法准确度不高,会带来较多的流水线Stall(停顿)和Flush(刷新),导致不必要的功耗损耗和性能下降。
发明内容
本发明提供的预测Load指令执行延迟的方法及系统,能够提高预测的准确度,减少因为预测错误带来的不利影响。
第一方面,本发明提供一种预测Load指令执行延迟的方法,包括:
将所派发的Load指令与缓冲内的输入进行比较,判断是否匹配;
若匹配,则将预测结果存入发射队列,判断预测结果是否正确,若正确,则不更新缓冲内相应的输入,若不正确,则更新缓冲内相应的输入;
若不匹配,则判断Load指令是否为可缓存的访问,若是,则不在缓冲内创建相应的输入,若不是,则在缓冲内创建相应的输入。
可选地,所述缓冲内的每个输入包括四个域:PC[48:12]、PC[11:1]、MASK[3:0]和有效位,其中,有效位指示此输入是否有效,无效输入不能提供预测结果,PC[48:1]和PC[11:1]是指令的PC[48:12]和PC[11:1],MASK[3:0]是在比较时屏蔽掉PC[11:1]部分位。
可选地,所述将预测结果存入发射队列包括:将发射队列内的un-pred位置为1’b1。
可选地,所述更新缓冲内相应的输入包括:
找到预测出错Load指令的PC[11:1]中从左到右最后一个1’b1所对应的位N,则需要屏蔽的位为PC[11:N],然后找到MASK[3:0]所对应的值,即为屏蔽所要更新的值;
如果MASK[3:0]已经为4’b0000,则有效位变为1’b0。
可选地,所创建的相应的输入的PC[48:12]和PC[11:1]置为所述Load指令的PC[48:12]和PC[11:1],MASK[3:0]置为4’b1011,有效位置为1’b1。
第二方面,本发明提供一种预测Load指令执行延迟的系统,包括:
指令派发模块,用于对处理器内的Load指令进行派发;
延迟时间预测模块,用于将所派发的Load指令与缓冲内的输入进行比较,判断是否匹配,当判定匹配时将预测结果存入发射队列,判断预测结果是否正确,当判定预测结果不正确时更新缓冲内相应的输入;当判定不匹配时判断所述Load指令是否为可缓存的访问,当判定所述Load指令不是可缓存的访问时在缓冲内创建相应的输入;
发射队列指令发射模块,由多个输入组成,每一个输入存储从指令派发模块派发的Load指令,并将Load指令发射到后续执行模块。
可选地,所述缓冲内的每个输入包括四个域:PC[48:12]、PC[11:1]、MASK[3:0]和有效位,其中,有效位指示此输入是否有效,无效输入不能提供预测结果,PC[48:1]和PC[11:1]是指令的PC[48:12]和PC[11:1],MASK[3:0]是在比较时屏蔽掉PC[11:1]部分位。
可选地,所述延迟时间预测模块集成了缓冲存储和比较逻辑,缓冲存储预测所需要的信息,比较逻辑输出比较结果。
所述比较逻辑包括:
PC[48:12]比较逻辑,比较每一个输入内的PC[48:12]是否与派发的Load指令的PC[48:12]一致;
Masked PC[11:1]比较逻辑,根据MASK[3:0]的值,将PC[11:1]的某些位屏蔽后再进行比较;
只有两个比较逻辑都得到匹配的结果,最后的比较结果才为匹配。
可选地,所述延迟时间预测模块包括:
缓冲存储子模块,由多个输入组成,内部存储的PC是与不可缓存的访问或者外设访问关联;
比较逻辑子模块,将所述缓冲存储子模块的每个输入的PC与从所述指令派发模块派发的Load指令的PC相比较,得出是否匹配的结果。
可选地,所述系统还包括:
Load/Store执行模块,用于得到所述发射队列指令发射模块发射的Load指令的访问属性,并将所述访问属性返回给所述延迟时间预测模块。
本发明实施例提供的预测Load指令执行延迟的方法及系统,在Load指令发射时,能够预测出它是否可能会有数据缓存命中,能够提高预测的准确度,减少流水线的停顿和刷新,避免因为预测错误而带来的功耗损耗和性能下降。
附图说明
图1为本发明实施例提供的预测Load指令执行延迟的系统的结构示意图;
图2为本发明实施例提供的输入的组成结构示意图;
图3为本发明实施例提供的比较逻辑的结构示意图;
图4为本发明实施例提供的预测Load指令执行延迟的方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据ARMv8-A架构规定,当MMU(Memory Management Unit,内存管理单元)OFF或者Data Cache(数据缓存)OFF时,所有的Data Memory(数据存储器)访问都应为外设访问或者不可缓存的访问类型。对于这两种类型的Load指令,没有固定的执行延迟时间,因此需要根据MMU及数据缓存的状态,分场景进行设计。本发明分了三个场景。
场景1:MMU OFF
当MMU OFF时,所有的数据存储器访问为外设访问类型。在这种情况下,Load指令没有固定的执行延迟时间,因此后续有数据依赖的指令不能够提前发射,需要等到Load指令的数据真正返回时才能够发射。
场景2:Data Cache OFF
当Data OFF时,所有的数据存储器访问为不可缓存的访问或者外设访问类型。在这种情况下,Load指令没有固定的执行延迟时间,因此后续有数据依赖的指令不能够提前发射,需要等到Load指令的数据真正返回时才能够发射。
场景3:MMU ON和Data Cache ON
在此场景下,Load指令的访问属性可以为可缓存的访问、不可缓存的访问或者外设访问类型。本发明提出的方法能够预测Load指令是否为可缓存的访问。如果为可缓存的访问,则认为会一级数据缓存命中,后续有数据依赖的指令可以计算出最早发射时间。否则,Load指令的执行延迟时间不固定,后续有数据依赖的指令需要等到Load的数据返回才可以发射。
本发明实施例提供一种预测Load指令执行延迟的系统,如图1所示,所述系统包括:
指令派发模块101,负责处理器内指令的派发,由图1可知,每周期可以派发两条指令,分别为instr0和instr1。每条指令的PC[48:1]可以被派发到后续模块。
延迟时间预测模块102,内部集成了缓冲存储和比较逻辑。缓冲存储预测所需要的信息,比较逻辑输出比较结果。
所述延迟时间预测模块102包括缓冲存储子模块103和比较逻辑子模块104,其中,
缓冲存储子模块103,由多个输入(Entry)组成,每个输入的组成结构如图2所示。它内部存储的PC是与不可缓存的访问或者外设访问关联。
它包含四个域:PC[48:12]、PC[11:1]、MASK[3:0]和有效位。有效位指示此输入是否有效,无效输入不能提供预测结果。PC[48:1]和PC[11:1]是指令的PC[48:12]和PC[11:1]。MASK[3:0]是在比较时屏蔽掉PC[11:1]部分位。MASK[3:0]的编码为:
表1 MASK[3:0]编码
MASK[3:0] | 功能描述 |
4’b0000 | 不屏蔽PC[11:1] |
4’b0001 | 屏蔽PC[1] |
4’b0010 | 屏蔽PC[2:1] |
4’b0011 | 屏蔽PC[3:1] |
4’b0100 | 屏蔽PC[4:1] |
4’b0101 | 屏蔽PC[5:1] |
4’b0110 | 屏蔽PC[6:1] |
4’b0111 | 屏蔽PC[7:1] |
4’b1000 | 屏蔽PC[8:1] |
4’b1001 | 屏蔽PC[9:1] |
4’b1010 | 屏蔽PC[10:1] |
4’b1011 | 屏蔽PC[11:1] |
比较逻辑子模块104,将缓冲存储子模块103的每个输入的PC与从指令派发模块101派发指令的PC相比较,得出是否匹配的结果,比较逻辑的结构如图3所示。
PC[48:12]比较逻辑201,是比较每一个输入内的PC[48:12]是否与派发指令的PC[48:12]一致。
屏蔽PC[11:1]比较逻辑202,根据MASK[3:0]的值,将PC[11:1]的某些位屏蔽后再进行比较。
只有PC[48:12]比较逻辑201和屏蔽PC[11:1]比较逻辑202都得到匹配的结果,最后的比较结果才能匹配。
发射队列指令发射模块105,由多个输入组成,每一个输入一方面存储从指令派发模块101派发的指令instr0和instr1,另一方面将指令发射到后续执行单元。指令经过延迟时间预测模块102后,会得到是否为可缓存的访问指令,如果预测是的话,则相应的输入内的un-pred位会置为1’b0,否则为1’b1。后续与其有数据依赖的指令可以根据un-pred的值来决定何时发射。
Load/Store执行模块106,可以得到从发射队列指令发射模块105发射的Load指令的访问属性是否为可缓存的访问、不可缓存的访问或者外设访问。它可以将此属性返回给延迟时间预测模块102,进行缓冲存储子模块103的输入的分配或者更新。如果之前没有预测,则可以进行新输入的分配。如果预测有误,可能进行更新。
本发明实施例提供的预测Load指令执行延迟的系统,在Load指令发射时,能够预测出它是否可能会有数据缓存命中,能够提高预测的准确度,减少流水线的停顿和刷新,避免因为预测错误而带来的功耗损耗和性能下降。
本发明实施例提供一种预测Load指令执行延迟的方法,如图4所示,所述方法包括:
步骤S301、识别派发的指令是否为Load指令,如果是的话,将其PC与缓冲内的输入进行比较。
步骤S302、判断是否有match。如果Match,进入步骤S303;否则进入步骤S307。
步骤S303、因为Match,说明此Load被预测为不可缓存的访问或者外设访问,则将发射队列内的un-pred位置为1’b1。
步骤S304、指令进入LSU模块后,可以进行核实预测结果是否正确。如果正确则进入步骤S05;否则,进入步骤S306。
步骤S305、因为预测正确,说明此Load指令为不可缓存的访问或者外设访问,则不需要更新缓冲内相应输入。
步骤S306、因为预测错误,说明此Load指令为可缓存的访问,需要更新缓冲内相应输入的MASK[3:0]和有效位。具体方法为:
找到此预测出错Load的PC[11:1]中从左到右最后一个1’b1所对应的位N,则需要屏蔽的位为PC[11:N],然后找到表1中MASK[3:0]所对应的值,即为屏蔽所要更新的值。
如果MASK[3:0]已经为4’b0000,那么有效位应变为1’b0。
步骤S307、在LSU内得出此Load是否为可缓存的访问,如果是的话,则进入步骤S308;否则进入步骤S309。
步骤S308、如果Load指令是可缓存的访问,则不需要在缓冲内分配相应的输入。
步骤S309、如果Load指令是不可缓存的访问或者外设访问,则需要在缓冲内创建相应的输入。PC[48:12]和PC[11:1]置为此Load的PC[48:12]和PC[11:1],MASK[3:0]置为4’b1011,有效位置为1’b1。
本发明实施例提供的预测Load指令执行延迟的方法,在Load指令发射时,能够预测出它是否可能会有数据缓存命中,能够提高预测的准确度,减少流水线的停顿和刷新,避免因为预测错误而带来的功耗损耗和性能下降。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种预测Load指令执行延迟的方法,其特征在于,包括:
通过指令派发模块对处理器内的Load指令进行派发;
通过延迟时间预测模块将所派发的Load指令与缓冲内的输入进行比较,判断是否匹配;若匹配,则将预测结果存入发射队列,判断预测结果是否正确,若正确,则不更新缓冲内相应的输入,若不正确,则更新缓冲内相应的输入;若不匹配,则判断Load指令是否为可缓存的访问,若是,则不在缓冲内创建相应的输入,若不是,则在缓冲内创建相应的输入;
通过发射队列指令发射模块的每一个输入存储从指令派发模块派发的Load指令,并将Load指令发射到后续执行模块,所述发射队列指令发射模块由多个输入组成。
2.根据权利要求1所述的方法,其特征在于,所述缓冲内的每个输入包括四个域:PC[48:12]、PC[11:1]、MASK[3:0]和有效位,其中,有效位指示此输入是否有效,无效输入不能提供预测结果,PC[48:1]和PC[11:1]是指令的PC[48:12]和PC[11:1],MASK[3:0]是在比较时屏蔽掉PC[11:1]部分位。
3.根据权利要求2所述的方法,其特征在于,所述将预测结果存入发射队列包括:将发射队列内的un-pred位置为1’b1。
4.根据权利要求2所述的方法,其特征在于,所述更新缓冲内相应的输入包括:
找到预测出错Load指令的PC[11:1]中从左到右最后一个1’b1所对应的位N,则需要屏蔽的位为PC[11:N],然后找到MASK[3:0]所对应的值,即为屏蔽所要更新的值;
如果MASK[3:0]已经为4’b0000,则有效位变为1’b0。
5.根据权利要求2所述的方法,其特征在于,所创建的相应的输入的PC[48:12]和PC[11:1]置为所述Load指令的PC[48:12]和PC[11:1],MASK[3:0]置为4’b1011,有效位置为1’b1。
6.一种预测Load指令执行延迟的系统,其特征在于,包括:
指令派发模块,用于对处理器内的Load指令进行派发;
延迟时间预测模块,用于将所派发的Load指令与缓冲内的输入进行比较,判断是否匹配,当判定匹配时将预测结果存入发射队列,判断预测结果是否正确,当判定预测结果不正确时更新缓冲内相应的输入;当判定不匹配时判断所述Load指令是否为可缓存的访问,当判定所述Load指令不是可缓存的访问时在缓冲内创建相应的输入;
发射队列指令发射模块,由多个输入组成,每一个输入存储从指令派发模块派发的Load指令,并将Load指令发射到后续执行模块。
7.根据权利要求6所述的系统,其特征在于,所述缓冲内的每个输入包括四个域:PC[48:12]、PC[11:1]、MASK[3:0]和有效位,其中,有效位指示此输入是否有效,无效输入不能提供预测结果,PC[48:1]和PC[11:1]是指令的PC[48:12]和PC[11:1],MASK[3:0]是在比较时屏蔽掉PC[11:1]部分位。
8.根据权利要求7所述的系统,其特征在于,所述延迟时间预测模块集成了缓冲存储和比较逻辑,缓冲存储预测所需要的信息,比较逻辑输出比较结果;
所述比较逻辑包括:
PC[48:12]比较逻辑,比较每一个输入内的PC[48:12]是否与派发的Load指令的PC[48:12]一致;
Masked PC[11:1]比较逻辑,根据MASK[3:0]的值,将PC[11:1]的某些位屏蔽后再进行比较;
只有两个比较逻辑都得到匹配的结果,最后的比较结果才为匹配。
9.根据权利要求7或8所述的系统,其特征在于,所述延迟时间预测模块包括:
缓冲存储子模块,由多个输入组成,内部存储的PC是与不可缓存的访问或者外设访问关联;
比较逻辑子模块,将所述缓冲存储子模块的每个输入的PC与从所述指令派发模块派发的Load指令的PC相比较,得出是否匹配的结果。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括:
Load/Store执行模块,用于得到所述发射队列指令发射模块发射的Load指令的访问属性,并将所述访问属性返回给所述延迟时间预测模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425412.4A CN111221579B (zh) | 2018-11-27 | 2018-11-27 | 预测Load指令执行延迟的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425412.4A CN111221579B (zh) | 2018-11-27 | 2018-11-27 | 预测Load指令执行延迟的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221579A CN111221579A (zh) | 2020-06-02 |
CN111221579B true CN111221579B (zh) | 2022-04-26 |
Family
ID=70808749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811425412.4A Active CN111221579B (zh) | 2018-11-27 | 2018-11-27 | 预测Load指令执行延迟的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221579B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926032A (zh) * | 2021-03-26 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 用于处理和运行字节码的方法、装置及字节码运行系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0401992A2 (en) * | 1989-06-06 | 1990-12-12 | Advanced Micro Devices, Inc. | Method and apparatus for speeding branch instructions |
CN101246447A (zh) * | 2007-02-15 | 2008-08-20 | 国际商业机器公司 | 用于测量微处理器中的流水线停顿的方法和装置 |
CN101447911A (zh) * | 2007-11-27 | 2009-06-03 | 上海高性能集成电路设计中心 | 一种通过分布控制扩展访存队列容量的装置 |
CN102652304A (zh) * | 2009-12-22 | 2012-08-29 | 国际商业机器公司 | 预测并避免乱序微处理器中的操作数-存储-比较冒险 |
CN105446777A (zh) * | 2015-11-18 | 2016-03-30 | 上海兆芯集成电路有限公司 | 高速缓存行的非对齐加载指令的推测并行执行方法 |
-
2018
- 2018-11-27 CN CN201811425412.4A patent/CN111221579B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0401992A2 (en) * | 1989-06-06 | 1990-12-12 | Advanced Micro Devices, Inc. | Method and apparatus for speeding branch instructions |
CN101246447A (zh) * | 2007-02-15 | 2008-08-20 | 国际商业机器公司 | 用于测量微处理器中的流水线停顿的方法和装置 |
CN101447911A (zh) * | 2007-11-27 | 2009-06-03 | 上海高性能集成电路设计中心 | 一种通过分布控制扩展访存队列容量的装置 |
CN102652304A (zh) * | 2009-12-22 | 2012-08-29 | 国际商业机器公司 | 预测并避免乱序微处理器中的操作数-存储-比较冒险 |
CN105446777A (zh) * | 2015-11-18 | 2016-03-30 | 上海兆芯集成电路有限公司 | 高速缓存行的非对齐加载指令的推测并行执行方法 |
Non-Patent Citations (1)
Title |
---|
基于指令距离的存储相关性预测方法;路冬冬等;《计算机应用》;20130701(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111221579A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10740247B2 (en) | Method for accessing entry in translation lookaside buffer TLB and processing chip | |
US7640420B2 (en) | Pre-fetch apparatus | |
US5560036A (en) | Data processing having incircuit emulation function | |
US9123444B2 (en) | Method of testing coherency of data storage in multi-processor shared memory system | |
US20130339671A1 (en) | Zero cycle load | |
US20080184011A1 (en) | Speculative Throughput Computing | |
JPS61100837A (ja) | 命令メモリ制御方法 | |
US10853075B2 (en) | Controlling accesses to a branch prediction unit for sequences of fetch groups | |
US20140281137A1 (en) | Method and device implementing execute-only memory protection | |
US20120290780A1 (en) | Multithreaded Operation of A Microprocessor Cache | |
US11948013B2 (en) | Apparatus and method with value prediction for load operation | |
US20060161738A1 (en) | Predicting contention in a processor | |
CN112100094A (zh) | 用于基于预取指针的结构的系统和方法 | |
US20200133680A1 (en) | Managing pipeline instruction insertion for received external instructions | |
CN110291507B (zh) | 用于提供对存储器系统的加速访问的方法和装置 | |
CN105930136B (zh) | 处理器和指令码生成设备 | |
CN111221579B (zh) | 预测Load指令执行延迟的方法及系统 | |
US7769954B2 (en) | Data processing system and method for processing data | |
US11113065B2 (en) | Speculative instruction wakeup to tolerate draining delay of memory ordering violation check buffers | |
US10007524B2 (en) | Managing history information for branch prediction | |
US20140250289A1 (en) | Branch Target Buffer With Efficient Return Prediction Capability | |
EP2562652B1 (en) | System and method for locking data in a cache memory | |
US20140281246A1 (en) | Instruction boundary prediction for variable length instruction set | |
US20200012514A1 (en) | Systems, Methods, and Apparatuses for Resource Monitoring | |
US12093692B2 (en) | Apparatus and method with prediction for load operation |
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 |