一种访存指令处理方法及处理器转让专利
申请号 : CN201910985667.4
文献号 : CN110806900B
文献日 : 2021-07-09
发明人 : 崔泽汉
申请人 : 成都海光微电子技术有限公司
摘要 :
权利要求 :
1.一种访存指令处理方法,其特征在于,包括:从缓存读取访存指令,并从缓存获取所述访存指令的关键度;其中,访存指令的关键度与访存指令导致的流水线停顿时间呈正相关关系,所述缓存的指令缓存块存储有访存指令的关键度;
在执行所述访存指令时,根据所述访存指令的关键度,调整所述访存指令的执行优先级;其中,访存指令的关键度与访存指令的执行优先级呈正相关关系;
输出所述访存指令相应的执行结果;
根据所述执行结果执行访存。
2.根据权利要求1所述的访存指令处理方法,其特征在于,所述缓存包括:一级缓存的指令缓存,和层级低于所述一级缓存的下级缓存;
所述指令缓存的指令缓存块设置有存储关键度的关键度存储空间;
所述下级缓存的指令缓存块的错误检查和纠正ECC空间存储有关键度;所述下级缓存的指令缓存块使用奇偶校验保护。
3.根据权利要求1或2所述的访存指令处理方法,其特征在于,所述根据所述访存指令的关键度,调整所述访存指令的执行优先级包括:根据访存指令的关键度,调整地址生成调度队列AGSQ调度访存指令的优先级,其中,访存指令的关键度与AGSQ调度访存指令的优先级呈正相关关系。
4.根据权利要求3所述的访存指令处理方法,其特征在于,所述根据访存指令的关键度,调整AGSQ调度访存指令的优先级包括:结合访存指令的关键度与访存指令在AGSQ中的存在时长,调整AGSQ调度访存指令的优先级;其中,访存指令的关键度和存在时长,均与AGSQ调度访存指令的优先级呈正相关关系。
5.根据权利要求1或2所述的访存指令处理方法,其特征在于,一条访存指令的关键度的存储格式包括:位置信息及关键度数值;其中,位置信息用于指示访存指令在所位于的指令缓存块中的位置。
6.根据权利要求2所述的访存指令处理方法,其特征在于,所述从缓存获取所述访存指令相应的关键度包括:
若取指地址命中指令缓存的指令缓存块,在从命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应的关键度;
若取指地址未命中指令缓存的指令缓存块,但命中下级缓存的指令缓存块,在从命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应的关键度。
7.根据权利要求6所述的访存指令处理方法,其特征在于,访存指令的关键度与访存指令所位于的指令缓存块相关联;所述方法还包括:当指令缓存块在指令缓存和所述下级缓存间搬移时,使搬移的指令缓存块关联的关键度随同指令缓存块搬移。
8.根据权利要求7所述的访存指令处理方法,其特征在于,所述当指令缓存块在指令缓存和所述下级缓存间搬移时,使搬移的指令缓存块关联的关键度随同指令缓存块搬移包括:
在从所述下级缓存回填指令缓存块到指令缓存时,将回填的指令缓存块关联的关键度从相应的ECC空间,搬移到指令缓存相应的指令缓存块的关键度存储空间;
在指令缓存的指令缓存块被替换时,将替换的指令缓存块关联的关键度,写回到所述下级缓存中相应指令缓存块的ECC空间。
9.根据权利要求8所述的访存指令处理方法,其特征在于,在所述取指地址未命中指令缓存的指令缓存块,但命中下级缓存的指令缓存块时,执行所述从所述下级缓存回填指令缓存块到指令缓存的过程。
10.根据权利要求6所述的访存指令处理方法,其特征在于,访存指令的关键度复用访存指令位于的指令缓存块的Tag;所述取指地址命中指令缓存的指令缓存块包括:取指地址命中指令缓存的指令缓存块的Tag;
所述取指地址未命中指令缓存的指令缓存块,但命中下级缓存的指令缓存块包括:所述取指地址未命中指令缓存的指令缓存块的Tag,但命中下级缓存的指令缓存块的Tag;
所述在从命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应的关键度包括:在从命中的Tag相应的指令缓存块中,读取与所述取指地址相应的访存指令时,根据复用命中的Tag的关键度,获取与所述访存指令相应的关键度。
11.根据权利要求1或2所述的访存指令处理方法,其特征在于,所述访存指令相应的执行结果携带有相应的关键度;所述根据所述执行结果执行访存包括:执行访存时,根据所述执行结果的关键度,调整访存优先级。
12.根据权利要求11所述的访存指令处理方法,其特征在于,所述根据所述执行结果的关键度,调整访存优先级包括:
根据所述执行结果的关键度,调整读队列LDQ调度相应访存请求的优先级,其中,执行结果的关键度与LDQ调度相应访存请求的优先级呈正相关关系。
13.根据权利要求12所述的访存指令处理方法,其特征在于,所述根据所述执行结果的关键度,调整LDQ调度相应访存请求的优先级包括:结合所述执行结果的关键度,与相应访存请求在LDQ的存在时长,调整LDQ调度相应访存请求的优先级;其中,执行结果的关键度和相应访存请求的存在时长,均与LDQ调度相应访存请求的优先级呈正相关关系。
14.根据权利要求11所述的访存指令处理方法,其特征在于,所述根据所述执行结果执行访存还包括:
如果访存结果在一级缓存的数据缓存中缺失,输出访存请求,并在输出的访存请求中指示相应优先级;其中,所指示的优先级与相应访存指令的关键度呈正相关关系。
15.根据权利要求1或2所述的访存指令处理方法,其特征在于,所述方法还包括:在访存指令处于重排序单元的队首至提交的期间,通过重排序单元和执行单元监测与访存指令相应的执行信息;
根据所述执行信息,监测访存指令的关键度。
16.根据权利要求15所述的访存指令处理方法,其特征在于,所述在访存指令处于重排序单元的队首至提交的期间,通过重排序单元和执行单元监测与访存指令相应的执行信息包括:
监测访存指令处于重排序单元的队首至提交的期间相应的时钟周期数,以及工作状态的执行单元个数;
所述根据所述执行信息,监测访存指令的关键度包括:根据所述时钟周期数与所述执行单元个数,监测访存指令的关键度;其中,所述时钟周期数与访存指令的关键度呈正相关关系,所述执行单元个数与访存指令的关键度呈负相关关系。
17.根据权利要求16所述的访存指令处理方法,其特征在于,所述根据所述时钟周期数与所述执行单元个数,监测访存指令的关键度包括:根据时钟周期数与关键度的映射关系,确定所述时钟周期数相应的第一关键度;其中,时钟周期数与关键度的映射关系指示,时钟周期数与关键度呈正相关关系;
根据工作状态的执行单元个数与关键度的映射关系,确定所述执行单元个数相应的第二关键度;其中,工作状态的执行单元个数与关键度的映射关系指示,工作状态的执行单元个数与关键度呈负相关关系;
结合第一关键度和第二关键度,得到监测的访存指令的关键度。
18.根据权利要求15所述的访存指令处理方法,其特征在于,还包括:构造更新请求并输出;所述更新请求至少包括:监测的访存指令的关键度,及访存指令的物理地址;
查找所述物理地址是否在指令缓存的指令缓存块中命中;
若所述物理地址在所述指令缓存的指令缓存块中命中,根据监测的访存指令的关键度,更新所述指令缓存块存储的相应访存指令的关键度。
19.根据权利要求18所述的访存指令处理方法,其特征在于,所述根据监测的访存指令的关键度,更新所述指令缓存块存储的相应访存指令的关键度包括:若监测的访存指令的关键度大于,存储的相应访存指令的关键度,且差值超过关键度阈值,则增加存储的相应访存指令的关键度;
若监测的访存指令的关键度小于,存储的相应访存指令的关键度,且差值超过关键度阈值,则减小存储的相应访存指令的关键度。
20.根据权利要求19所述的访存指令处理方法,其特征在于,还包括:若命中的指令缓存块中未存储相应访存指令的关键度,以监测的访存指令的关键度覆盖,命中的指令缓存块中已存储的空记录,或者,已存储的关键度最低的记录。
21.根据权利要求18‑20任一项所述的访存指令处理方法,其特征在于,还包括:将所述更新请求发往指令缓存命中预测单元;所述指令缓存命中预测单元用于预取指令;
如果所述物理地址在指令缓存命中预测单元中命中,将所述更新请求发往指令缓存。
22.一种处理器,其特征在于,所述处理器包括至少一个处理器核,所述处理器核至少包括如下逻辑:
缓存,用于从缓存读取访存指令,并从缓存获取所述访存指令的关键度;其中,访存指令的关键度与访存指令导致的流水线停顿时间呈正相关关系,所述缓存的指令缓存块存储有访存指令的关键度;
执行单元,用于在执行所述访存指令时,根据所述访存指令的关键度,调整所述访存指令的执行优先级,其中,访存指令的关键度与访存指令的执行优先级呈正相关关系;输出所述访存指令相应的执行结果;
访存单元,用于根据所述执行结果执行访存。
23.根据权利要求22所述的处理器,其特征在于,所述缓存包括:一级缓存的指令缓存,和层级低于所述一级缓存的下级缓存;
所述指令缓存的指令缓存块设置有存储关键度的关键度存储空间;
所述下级缓存的指令缓存块的错误检查和纠正ECC空间存储有关键度;所述下级缓存的指令缓存块使用奇偶校验保护。
24.根据权利要求22或23所述的处理器,其特征在于,所述执行单元包括逻辑,以实现:根据访存指令的关键度,调整地址生成调度队列AGSQ调度访存指令的优先级,其中,访存指令的关键度与AGSQ调度访存指令的优先级呈正相关关系。
25.根据权利要求23所述的处理器,其特征在于,所述缓存包括逻辑,以实现:若取指地址命中指令缓存的指令缓存块,在从命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应的关键度;
若取指地址未命中指令缓存的指令缓存块,但命中下级缓存的指令缓存块,在从命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应的关键度。
26.根据权利要求25所述的处理器,其特征在于,访存指令的关键度与访存指令所位于的指令缓存块相关联;所述缓存还包括逻辑,以实现:当指令缓存块在指令缓存和所述下级缓存间搬移时,使搬移的指令缓存块关联的关键度随同指令缓存块搬移。
27.根据权利要求22或23所述的处理器,其特征在于,所述访存指令相应的执行结果携带有相应的关键度;所述访存单元包括逻辑,以实现:执行访存时,根据所述执行结果的关键度,调整访存优先级。
28.根据权利要求22或23所述的处理器,其特征在于,所述处理器核还包括如下逻辑:关键度监测单元,用于在访存指令处于重排序单元的队首至提交的期间,通过重排序单元和执行单元监测与访存指令相应的执行信息;根据所述执行信息,监测访存指令的关键度。
29.根据权利要求28所述的处理器,其特征在于,所述关键度监测单元包括逻辑,以实现:
监测访存指令处于重排序单元的队首至提交的期间相应的时钟周期数,以及工作状态的执行单元个数;
根据所述时钟周期数与所述执行单元个数,监测访存指令的关键度;其中,所述时钟周期数与访存指令的关键度呈正相关关系,所述执行单元个数与访存指令的关键度呈负相关关系。
30.根据权利要求28所述的处理器,其特征在于,所述关键度监测单元还包括逻辑,以实现:
构造更新请求并输出;所述更新请求至少包括:监测的访存指令的关键度,及访存指令的物理地址;
所述缓存还包括逻辑,以实现:
查找所述物理地址是否在指令缓存的指令缓存块中命中;
若所述物理地址在所述指令缓存的指令缓存块中命中,根据监测的访存指令的关键度,更新所述指令缓存块存储的相应访存指令的关键度。
31.根据权利要求30所述的处理器,其特征在于,所述缓存包括逻辑,以实现:若监测的访存指令的关键度大于,存储的相应访存指令的关键度,且差值超过关键度阈值,则增加存储的相应访存指令的关键度;
若监测的访存指令的关键度小于,存储的相应访存指令的关键度,且差值超过关键度阈值,则减小存储的相应访存指令的关键度;
若命中的指令缓存块中未存储相应访存指令的关键度,以监测的访存指令的关键度覆盖,命中的指令缓存块中已存储的空记录,或者,已存储的关键度最低的记录。
32.根据权利要求30或31所述的处理器,其特征在于,所述关键度监测单元包括逻辑,以实现:
将所述更新请求发往指令缓存命中预测单元;所述指令缓存命中预测单元用于预取指令;
处理器核还包括如下逻辑:
指令缓存命中预测单元,用于如果所述物理地址在指令缓存命中预测单元中命中,将所述更新请求发往指令缓存。
33.一种处理器,其特征在于,所述处理器包括至少一个处理器核,所述处理器核至少包括:实现权利要求1‑21任一项所述的访存指令处理方法的逻辑。
说明书 :
一种访存指令处理方法及处理器
技术领域
背景技术
储的指令。
(即访存延迟较大),将使得流水线存在较长时间的停顿,这将导致处理器的性能损失;可
见,访存延迟是造成流水线长时间停顿的常见原因,因此急需提供一种针对访存指令的新
型处理方式,以减少访存延迟。
发明内容
指令的关键度;
存储有访存指令的关键度;
出所述访存指令相应的执行结果;
指令的执行优先级呈正相关关系;基于此,在读取访存指令时,本发明实施例可同时获取访
存指令的关键度,从而在执行访存指令时,本发明实施例可根据访存指令的关键度,调整访
存指令的执行优先级,使得关键度越高的访存指令越优先执行,即导致流水线停顿时间越
长的访存指令越优先执行;进而,在根据访存指令相应的执行结果执行访存时,可使得导致
流水线停顿时间越长的访存指令,越能够及时的实现访存,降低了由于访存延迟带来的流
水线停顿时间,提高了处理器的处理效率。
附图说明
申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
具体实施方式
则访存指令的关键度越高;从而通过优先执行高关键度的访存指令,可使得导致流水线长
时间停顿的访存指令优先执行,降低影响流水线长时间停顿的访存指令相应的访存延迟,
进而降低由于访存延迟带来的流水线停顿时间,提高处理器的处理效率。
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
发明实施例并不限于图1所示架构。
的任何其它处理器装置。
处理器核等。处理器核100可以以任何适合的方式实现,在处理器11集成多个处理器核100
的情况下,处理器核可在体系结构和/或指令集方面是同构或异构的;在一种可选实现中,
一些处理器核可以是有序的,而其它处理器核可以是乱序的,在另一种可选实现中,两个或
更多个处理器核可执行相同指令集,而其它处理器核可执行该指令集的子集或不同指令
集。
处理器总线耦合到南桥13。
统的组件可根据实际情况增设和调整,此处不进行逐一说明;
且向上耦合处理器,向下耦合南桥;南桥主要负责硬盘、外设以及各种对带宽要求较低的IO
(输入输出)接口与内存、处理器之间的信号传递。
成处理器、内存控制器、以及IO接口等,并且SoC可通过与外部的内存、IO设备、网卡等其他
组件相耦合,实现在单个主要芯片上搭建计算机体系结构。
协议装置、数码相机、个人数字助理(PDA)或手持式PC(personal computer,个人计算机)。
具有嵌入式应用的其他装置可包括网络计算机(Net PC)、置顶盒、服务器、宽域网(WAN)交
换机、或可执行至少一个本发明公开实施例的一个或更多个指令的任何其他系统。
Unit,图形处理器)、现场可编程门阵列或任何其它具有指令执行功能的处理器。上述虽然
是以单处理器进行的示例说明,但在实际情况下,计算机体系结构可能存在多个处理器,每
一处理器具有至少一个处理器核。
实施例并不限于图2所示架构。
个共享缓存220驻留在处理器核100的外部,并被所述至少一个处理器核100所共享;共享缓
存220访问内存12,并在处理器核100和内存12之间传递信号。可选的,在图2所示架构的基
础上,本发明实施例也可在处理器11外部设置外部共享缓存,由外部共享缓存在处理器11
与内存12之间传递信号。
实施例就不再赘述。
和三级(L3)缓存;当然,本发明实施例也可支持多于三级缓存或小于三级缓存的结构。
器核100所共享;当然,这种缓存设置方式仅是一种示例,也可能是L2和L3缓存作为共享缓
存,或者在设置多于三级缓存结构的情况下,也可能将L1、L2和L3缓存均集成在处理器核内
作为私有缓存。
作为本发明实施例公开内容的一个可选示例,图3示例性的示出了包含使用流水线技术的
处理器核的处理器框图;应该说明的是,该框图是为便于理解本发明实施例公开内容而示
出,本发明实施例并不限于图3所示架构。
为解决在处理分支指令时,处理器核等待分支指令的执行结果来确定下一步取指而导致的
流水线延迟,流水线的前端可设置分支预测单元,以实现分支预测。分支指令通常分为两种
情况:分支指令不跳转,则下一步指令为分支指令下一步顺序的指令;分支指令跳转,则下
一步指令为跳转到的指令。
图2所示处理器核100;
少一个共享缓存220;
缓存的信息,当然这种设置方式仅是可选的,本发明实施例并不局限于此。
史执行信息和结果进行分支预测。
103;在一种可选实现中,取指单元102可将读取的指令存放入处理器核100的指令寄存器,
以便译码单元103从指令寄存器读取指令进行译码。
可执行的uop(微指令)等;可选的,译码单元103可从寄存器文件中读取源操作数并解析操
作码产生控制信号。
执行指令;
失相应访存结果时,再访问内存;访存单元在访问缓存的过程中,可先访问L1缓存,在L1缓
存缺失访存结果时,再逐级的访问下级缓存。
本发明实施例的处理器核也可在四级流水线等其他流水线技术中适用。
明实施例就不再赘述。
停顿时间,设置访存指令的关键度,其中,访存指令导致的流水线停顿时间越长,则访存指
令的关键度越高;从而通过优先执行高关键度的访存指令,可使得导致流水线长时间停顿
的访存指令优先执行,降低影响流水线长时间停顿的访存指令相应的访存延迟,进而降低
由于访存延迟带来的流水线停顿时间,提高处理器的处理效率。
容不是必需的其他电路(未示出)。
长,则访存指令的关键度越高;并且,缓存200除实现指令和数据的存储外,还可存储访存指
令的关键度(如图4所示访存关键度);
缓存200根据取指请求可读取相应的访存指令,并获取访存指令相应的关键度;需要说明的
是,本发明实施例特以缓存读取的指令为访存指令进行方案说明,因此图4和相应说明直接
以缓存200读取访存指令进行示意;
码后,可展开成处理器内部需要的格式,此时译码后的指令可携带多个属性,比如opcode、
操作数等;本发明实施例可在译码后的访存指令的属性中增加关键度,以实现译码后的访
存指令携带关键度;
指令相应的执行结果例如访存地址等);其中,访存指令的关键度与执行优先级呈正相关关
系,即访存指令的关键度越高,则访存指令的执行优先级越高。
示方法(即通过处理器内的硬化逻辑电路执行该方法),下文描述涉及的处理器逻辑可认为
是,处理器的逻辑电路单元。
令;在执行单元执行访存指令的过程中,执行单元可根据访存指令的关键度,调整访存指令
的执行优先级,使得关键度越高的访存指令越优先执行;在完成执行访存指令后,执行单元
可输出访存指令相应的执行结果。
指令的执行优先级呈正相关关系;基于此,在读取访存指令时,本发明实施例可同时获取访
存指令的关键度,从而在执行访存指令时,本发明实施例可根据访存指令的关键度,调整访
存指令的执行优先级,使得关键度越高的访存指令越优先执行,即导致流水线停顿时间越
长的访存指令越优先执行;进而,在根据访存指令相应的执行结果执行访存时,可使得导致
流水线停顿时间越长的访存指令,越能够及时的实现访存,降低了由于访存延迟带来的流
水线停顿时间,提高了处理器的处理效率。
存、L3缓存等,各个下级缓存均可以具有数据缓存块(用于存放数据)及指令缓存块(用于存
放指令)。
的关键度。
缓存011和数据缓存012;所述至少一个下级缓存可以是层级低于L1缓存的一个或多个缓
存,例如L1缓存之下的L2缓存、L3缓存等之中的至少一个;所述至少一个下级缓存的部分或
全部可集成在处理器核内;
的数据缓存可缓存数据,L2缓存和L3缓存(所述至少一个下级缓存02的一种可选实现)可共
同缓存数据和指令。
护;由于所述至少一个下级缓存包含了指令缓存块,因此可设置所述至少一个下级缓存02
中的指令缓存块也使用奇偶校验进行保护,从而可空余出所述至少一个下级缓存的指令缓
存块中的ECC空间;
保护,从而利用下级缓存02的指令缓存块的ECC空间存储访存指令的关键度。
指令缓存块中是不连续的存储空间。
息,数据缓存块的ECC可用于为数据缓存块提供ECC保护,而指令缓存块则使用奇偶校验保
护,指令缓存块的ECC所对应的ECC空间用于存储关键度。
缓存的指令缓存块可存储访存指令的关键度。
访存指令的关键度;又如,下级缓存的一个指令缓存块的ECC空间可以存储,N个访存指令的
关键度;
如,关键度相应的访存指令相对于所在指令缓存块的起始地址的偏移位置),在译码访存指
令时,关键度的位置信息可用于译码后的访存指令关联相应关键度,即本发明实施例可通
过访存指令在所位于的指令缓存块的位置,来关联访存指令与相应的关键度。
指令边界对应一个关键度,关键度可包括具体的关键度数值;如果一个指令缓存块的大小
为64字节,每条指令为4字节,则所有可能的指令边界的个数为16个,在此基础上,本发明实
施例可通过bitmap(比特匹配)方式,来关联访存指令与相应的关键度,如在指令缓存的各
指令缓存块的关键度存储空间存储边界对应的bit;
表示任何含义,使用这种方式,整个bitmap可以只有很少数的有效信息;
指令缓存和所述至少一个下级缓存间搬移时,可使得关联的关键度也随指令缓存块搬移;
存011的过程(如图实线箭头所示),以及从指令缓存011写回指令缓存块到至少一个下级缓
存02的过程(如图虚线箭头所示);
移指令缓存块;
存011中相应的关键度存储空间0112;具体的,所述至少一个下级缓存02中,指令缓存块的
ECC空间和Tag及data是绑定的,在回填指令缓存块时,至少一个下级缓存的指令缓存块中
的Tag和data的信息,搬移到指令缓存的指令缓存块的指令存储空间0111,而ECC空间存储
的关键度搬移到指令缓存相应指令缓存块的关键度存储空间0112。
的,因此指令缓存的指令缓存块的指令信息并不用写回到至少一个下级缓存02中;具体的,
当指令缓存011中的指令缓存块被替换时,其关键度存储空间0112存储的关键度,写回到至
少一个下级缓存02中相应指令缓存块的ECC空间。
块关联的关键度可以为空,关键度可由后续说明的关键度更新机制进行更新。
令缓存块关联的关键度。例如,若取指地址命中指令缓存的指令缓存块,在从命中的指令缓
存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述访存指令相应
的关键度;若取指地址未命中指令缓存的指令缓存块,但命中下级缓存的指令缓存块,在从
命中的指令缓存块读取所述取指地址相应的访存指令时,从命中的指令缓存块获取与所述
访存指令相应的关键度。
指令缓存块的tag命中时,同时提取访存指令和相应的关键度;图10示例性的示出了本发明
实施例提供的取指方法流程,可选的,该方法流程可由缓存执行,参照图10,该方法可以包
括:
所述访存指令相应的关键度。
所述访存指令相应的关键度。
指地址命中下级缓存的指令缓存块时,可从下级缓存回填相应的指令缓存块和关联的关键
度至指令缓存。
测下级缓存的顺序,将取指起始地址与指令缓存块的Tag进行匹配,直至取指起始地址命中
指令缓存块的Tag。
访存指令相应的关键度。
指未在指令缓存中命中,而在下级缓存中命中,则可从下级缓存的指令缓存块的ECC空间,
获取访存指令相应的关键度(此时,可将下级缓存命中的指令缓存块及关联的关键度回填
到指令缓存)。
取指方式可参照前文相应调整,此处不再展开说明。
访存指令时,执行单元可基于访存指令的关键度,调整访存指令的执行优先级;
AGSQ调度访存指令的优先级呈正相关关系,即访存指令的关键度越高,则AGSQ调度访存指
令的优先级越高;其中,AGSQ是执行单元中地址计算部件的调度队列。
存指令对流水线停顿时间的影响,将使得访存延迟较大的访存请求无法优先执行,并无法
有效提高处理器的处理效率;
而使得导致流水线停顿时间越长的访存指令越能够优先调度处理;
虑访存指令的age对AGSQ调度访存指令的优先级的影响;
AGSQ调度访存指令的优先级越高。
优先级的方式,只要使得访存指令的关键度和age,均与AGSQ调度访存指令的优先级呈正相
关关系即可;当然,本发明实施例也可直接基于访存指令的关键度,调整AGSQ调度访存指令
的优先级,而不考虑访存指令的age。
据相应的关键度调整访存优先级;
出);
度,调整访存优先级;
关关系,即执行结果的关键度越高,则LDQ调度相应访存请求的优先级越高;其中,LDQ是访
存单元中读请求的调度队列,访存请求是访存单元馈送给存储部件的用于请求访存结果的
请求;
迟较大的访存请求无法优先执行,并无法有效提高处理器的处理效率;
相应访存请求的优先级呈正相关关系。
的原理类似,可相互参照;
度相应访存请求;
预定时长范围,则访存请求的存在时长越长,则LDQ调度相应访存请求的优先级越高。
示相应优先级(所指示的优先级可与访存请求相应的访存指令的关键度呈正相关关系),以
便在下级缓存或内存中能够优先获取访存结果。
框图;需要说明的是,处理器也可以包括对理解本发明实施例公开内容不是必需的其他电
路(未示出);
所示处理器结构中应用;
访存指令相应的执行信息;从而根据所述执行信息,监测访存指令的关键度;
键度监测单元可监测相应的时钟周期数,以及工作状态的执行单元个数;
多条其他指令依赖,则该访存指令容易造成流水线停顿,那么该访存指令位于重排序单元
队首至提交期间,依赖该访存指令的其他指令的执行单元将处于等待访存结果的状态,这
些执行单元将处于闲置状态,也即处于工作状态的执行单元的个数将减少。
9的时钟周期数映射为关键度2,将1‑4的时钟周期数映射为关键度1等;显然,此处举例仅是
示例说明,时钟周期数与关键度的映射关系的具体形式可根据实际情况设定;
单元个数映射为关键度1,将5‑9的执行单元个数映射为关键度2,将1‑4的执行单元个数映
射为关键度3等;显然,此处举例仅是示例说明,工作状态的执行单元个数与关键度的映射
关系的具体形式可根据实际情况设定;
第二关键度后,本发明实施例可结合第一关键度和第二关键度,得到监测的访存指令的关
键度;
方式可根据实际情况设定,本发明实施例并不局限。
第二计数器1072;第一计数器1071可监测重排序单元105,以监测访存指令处于重排序单元
队首至提交期间的时钟周期数;第二计数器1072可监测执行单元104,以监测访存指令处于
重排序单元队首至提交期间,处于工作状态的执行单元个数;在执行引擎中可以具有多个
用于指令执行的执行单元。
处于重排序单元队首至提交期间的时钟周期数,或,仅监测访存指令处于重排序单元队首
至提交期间,工作状态的执行单元个数,从而实现监测访存指令的关键度。
指令的关键度馈送给缓存,从而缓存可根据监测的访存指令的关键度,更新缓存中存储的
相应访存指令的关键度。
的更新。
则增加缓存中存储的相应访存指令的关键度;
的相应访存指令的关键度;
括:
指令是否在指令缓存中命中;在预测指令未在指令缓存中命中时,提前从指令缓存的下级
缓存读取指令到指令缓存(如提前从L2、L3缓存的指令缓存块中读取指令到指令缓存),实
现指令的预取;本发明实施例可使用指令缓存命中预测单元,来过滤物理地址不可能在指
令缓存中命中的更新请求;
路单元。
Tag,则可确定所述物理地址在指令缓存的指令缓存块中命中;如果未命中Tag,则放弃更
新。
令,从而可根据监测的访存指令的关键度,更新命中的指令缓存块中存储的相应访存指令
的关键度;
存储的相应访存指令的关键度;若监测的访存指令的关键度小于,存储的相应访存指令的
关键度,且差值超过关键度阈值,则减小存储的相应访存指令的关键度;可选的,在不满足
上述更新条件时,本发明实施例可不更新缓存中存储的相应访存指令的关键度。
中新记录相应访存指令的关键度;例如,以监测的访存指令的关键度覆盖,命中的指令缓存
块中已存储的空记录,或者,已存储的关键度最低的记录。
更快得到执行,减少流水线的阻塞,提高处理器的处理效率。
认为是本发明实施例披露、公开的实施例方案。另外,上文一些步骤和说明虽然描述了执行
这些步骤和说明的逻辑电路单元,但这些描述均是可选示例,本发明实施例完全可以在处
理器中设计相应的逻辑来执行这些步骤和说明,而不限于由上文描述的逻辑电路单元来执
行这些步骤和说明。
元。
存储有访存指令的关键度;
出所述访存指令相应的执行结果;
关系。
访存指令相应的关键度。
的关键度。
相关关系。
第一计数器可监测重排序单元,以监测访存指令处于重排序单元队首至提交期间的时钟周
期数;关键度监测单元的第二计数器可监测执行单元,以监测访存指令处于重排序单元队
首至提交期间,处于工作状态的执行单元个数。
式可在不冲突的情况下相互结合、交叉引用,这些均可认为是本发明实施例披露、公开的实
施例方案。
不限于前文描述,任意可实现本发明实施例提供的访存指令处理方法的逻辑,均是在本发
明的保护范围内。
要求所限定的范围为准。