数据高速缓存通路预测的制作方法

文档序号:8926975阅读:371来源:国知局
数据高速缓存通路预测的制作方法
【专利说明】数据高速缓存通路预测
[0001]主张优先权
[0002]本申请案主张2013年I月15日提交的发明名称为“数据高速缓存通路预测(DATACACHE WAY PREDICT1N) ”的第13/741,917号美国非临时专利申请案的优先权,该申请案的内容以全文引用的方式并入本文本中。
技术领域
[0003]本发明大体上涉及一种数据高速缓冲存储器系统。
【背景技术】
[0004]技术的进步已产生更小且更强大的计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如便携式无线电话、个人数字助理(PDA)及寻呼装置,其体积小,重量轻且易于由用户携带。更具体来说,例如蜂窝电话及因特网协议(IP)电话等便携式无线电话可以经由无线网络传送语音及数据包。此外,多个此类无线电话包含并入其中的其它类型的装置。举例来说,无线电话还可以包含数字静物相机、数码摄像机、数字记录器及音频文件播放器。此外,此类无线电话包含可以处理可执行指令的处理器,包含软件应用程序,例如,可以用于上网的网络浏览器应用程序。因此,这些无线电话可以包含显著的计算能力。
[0005]访问处理器的数据高速缓存会消耗大量功率。数据高速缓存在常规上包含具有多个组的数据阵列,其各自包含多个高速缓存线(例如,存储位置)。数据高速缓存在常规上还包含多个通路,其自包含对应于数据高速缓存的至少一个高速缓存线(例如,高速缓存块)的驱动器。响应于用以访问存储在数据高速缓存中的数据的指令,启用(例如,激活)所有驱动器以(经由多个数据线)驱动数据阵列的特定集合到多路复用器的通路。
[0006]与被启用的所有驱动器并行(例如,同时地),执行标记查找操作以识别数据阵列内的特定高速缓存线。基于标记查找操作的结果,经由单个驱动器(对应于单个高速缓存线)提供的数据选择作为输出。考虑到从仅单个高速缓存线产生的数据基于指令输出,驱动集合的所有通路及执行标记查找操作会导致功率耗尽并且引起功率低效率。
[0007]关于访问处理器的指令高速缓存存在类似的功率消耗问题。对指令高速缓存的访问经常是可预测的并且利用可预测的指令序列的预测方法可以用于识别待驱动的指令高速缓存的特定通路。然而,访问数据高速缓存更复杂并且与访问指令高速缓存相比较不可预测。因此,用于指令高速缓存访问的预测技术可能不适用于预测数据高速缓存访问。另夕卜,如果预测技术应用于数据高速缓存,那么性能损失(例如,处理的延迟)及能量损失将由待访问通路的每一误预测(例如,作出不正确预测)产生。

【发明内容】

[0008]用于处理器的数据高速缓存的通路预测技术利用预测表(例如,通路预测表)来追踪(例如,监视)及预测用于指令的待驱动数据高速缓存的通路(例如,与一或多个高速缓存线相关联的通路)。在特定实施例中,经预测通路基于所述指令的先前执行(例如,作为所述指令的所述先前执行驱动的相同通路)。对于通过所述处理器执行的每一指令,控制逻辑可以监视及追踪每一指令的执行以填入、保持及/或利用所述预测表来识别所述经预测通路。举例来说,所述数据高速缓存的所述控制逻辑可以基于指示(例如,识别)特定指令的程序计数器(PC)标识符、针对所述特定指令访问的通路及通过所述特定指令修改的寄存器组的基址寄存器位置使用所述预测表追踪一或多个指令的执行。
[0009]当执行具有一或多个通路预测特性(例如,所述指令的寻址模式、所述指令的指令类型、所述指令包含在环路中的指示等)的指令时,控制逻辑可以读取预测表来确定是否可以识别经预测通路。举例来说,通路预测特性可以是指示所述指令可以具有可预测下一地址(例如,指示基于所述指令的下一执行检索到的有效地址将可获自同一高速缓存线(例如,经由同一通路)的可预测访问模式)的所述指令的特征(例如,模式、指令类型、环路内的位置等)或组成(例如,操作码、操作数、位值等)。所述控制逻辑可以确定在所述预测表中是否存在对应于所述指令的条目。在特定实施例中,所述一或多个通路预测特性可以包括模式(例如,寻址模式),例如,自动递增寻址模式或基址加上偏移寻址模式。所述经预测通路可以是在所述指令的先前执行(例如,在环路的先前重复期间所述指令的先前执行)期间此前访问的通路。
[0010]当所述预测表指示用于指令的预测通路时,所述控制逻辑可以选择性地启用(例如,打开)对应于所述经预测通路的驱动器并且可以选择性地停用(例如,关闭)对应于除所述经预测通路以外的通路的一或多个其它驱动器。当所述预测表指示用于所述指令的所述经预测通路时,所述控制逻辑还可以选择性地停用(例如,使用开关)标记阵列的标记查找操作。通过选择性地停用一或多个驱动器及/或选择性地停用所述标记查找操作,由所述处理器实现电力节省。
[0011]在特定实施例中,方法包含识别指令的一或多个通路预测特性。所述方法还包含基于所述一或多个通路预测特性的识别选择性地读取表以识别所述表的与指令相关联的识别数据高速缓存的通路的条目。所述方法进一步包含作出基于所述指令对所述数据高速缓存的下一访问是否将访问所述通路的预测。
[0012]在另一个特定实施例中,处理器包含经配置以识别指令的一或多个通路预测特性的解码逻辑。所述处理器还包含耦合到所述解码逻辑的控制逻辑。所述控制逻辑经配置以基于所述一或多个通路预测特性选择性地读取表以识别所述表的与所述指令相关联的识别数据高速缓存的通路的条目。所述控制逻辑进一步经配置以作出基于所述指令对所述数据高速缓存的下一访问是否将访问所述通路的预测。
[0013]在另一特定实施例中,设备包含用于识别指令的一或多个通路预测特性的装置。所述设备还包含用于基于所述一或多个通路预测特性的识别选择性地读取表以识别所述表的与所述指令相关联的识别数据高速缓存的通路的条目的装置。所述设备进一步包含用于作出基于所述指令对所述数据高速缓存的下一访问是否将访问所述通路的预测的装置。
[0014]在另一个特定实施例中,非暂时性计算机可读媒体包含当由处理器执行时致使所述处理器识别指令的一或多个通路预测特性的指令。所述非暂时性计算机可读媒体进一步包含致使所述处理器基于所述一或多个通路预测特性的识别选择性地读取表以识别所述表的与所述指令相关联的识别数据高速缓存的通路的条目的指令。所述非暂时性计算机可读媒体进一步包含致使所述处理器作出基于所述指令对所述数据高速缓存的下一访问是否将访问所述通路的预测的指令。
[0015]在另一个特定实施例中,方法包含识别在指令的第一执行期间的递增值及识别在基于所述指令的所述第一执行期间访问的数据高速缓存的通路。所述方法进一步包含将所述递增值添加到与所述指令相关联的地址值以确定第一经递增地址值。所述方法还包含确定所述第一经递增地址值是否位于所述数据高速缓存的所述通路中。所述方法进一步包含响应于确定所述第一经递增地址位于所述数据高速缓存的所述通路中而填入对应于表中的所述指令的条目。
[0016]通过所揭示实施例提供的一个特定优点是保持用于一或多个指令的预测表的通路预测技术(例如,基于指令类型、指令寻址模式、在环路中的指令的识别,或其组合)。所述通路预测表可以用于基于通路预测选择性地启用及/或停用一或多个驱动器。通过选择性地启用及/或停用一或多个驱动器,可以在所述数据高速缓存的数据访问期间实现电力节省。另外,通过监视、追踪及存储与所述通路预测表中的每一条目相关联的寄存器位置,可以避免当除对应于所述条目的所述指令以外的指令更改在所述寄存器位置处的数据(例如,内容)时将引起的潜在误预测。通过在所述条目(例如,所述通路预测)已验证为有效的之后选择性地停用所述标记查找操作,可以实现额外的电力效益。
[0017]本发明的其它方面、优点及特征将在审阅申请案之后变得显而易见,所述申请案包含以下部分:【附图说明】、【具体实施方式】及权利要求书。
【附图说明】
[0018]图1是利用数据高速缓存的通路预测的处理器系统的元件的第一说明性实施例的图式;
[0019]图2是执行数据高速缓存的通路预测的方法的第一说明性实施例的流程图;
[0020]图3是执行数据高速缓存的通路预测的方法的第二说明性实施例的流程图;
[0021]图4是用于通路预测的数据高速缓存的数据阵列的方框图及包含环路中的指令的程序代码的说明性实施例;
[0022]图5是执行数据高速缓存的通路预测的方法的第三说明性实施例的流程图;及
[0023]图6是包含执行通路预测的数据高速缓存及逻辑的无线通信装置的具体实施例的方块图。
【具体实施方式】
[0024]图1说明利用通路预测表152的处理器系统100的元件的第一特定实施例。处理器系统100包含数据高速缓存102、控制逻辑150、程序计数器170、标记阵列180及解码逻辑190。数据高速缓存102包含数据阵列110,所述数据阵列包含多个高速缓存线120a-d。在特定实施例中,数据高速缓存102包括组相联数据高速缓存。
[0025]处理器系统100经配置以执行(例如,处理)包含在程序中的指令(例如,一系列指令)。所述程序可以包含一环路或多个环路,其中一或多次执行一系列指令。所述程序可以包含一或多个指令,例如,具有为所述指令可以具有可预测下一地址(例如,指示用于待执行的下一指令的有效地址将可获自同一高速缓存线(例如,经由同一通路)的可预测访问模式)的指示的一或多个通路预测特性(例如,所述指令的寻址模式、所述指令的指令类型、所述指令包含在环路中的指示等)的指令。举例来说,所述指令的所述寻址模式可以包含自动递增寻址模式及/或基址加上偏移寻址模式,其致使数据高速缓存(例如,数据高速缓存102)的数据阵列的高速缓存线的操作。使用自动递增寻址模式的指令(例如,自动递增指令)可以识别寄存器组(未展示)的寄存器位置(例如,基址寄存器)并且可以递增量(例如,I或2等的整数值)修改(例如,递增)存储在寄存器位置处的内容(例如,地址数据)。使用基址加上偏移寻址模式的指令(例如,基址加上偏移指令)可以在所述指令的每一执行期间访问寄存器位置(例如,基址寄存器位置)并且可以通过所述指令的每一连续执行将偏移量添加到基址寄存器位置处的数据。
[0026]当使用自动递增寻址模式及/或基址加上偏移寻址模式的指令被执行为环路的一部分(例如,被执行若干次)时,所述指令可以各自包含指示基于所述指令的下一执行检索到的有效地址将可获自数据阵列110的同一高速缓存线120a-d(例如,同一通路)的可预测访问模式。因此,在指令的执行期间(例如,在环路的一或多个重复期间),可以识别针对使用自动递增寻址模式或基址加上偏移寻址模式的指令访问的数据高速缓存102的特定通路。由于使用自动递增寻址模式或基址加上偏移寻址模式的指令在同一寄存器上操作,因此有可能确定(例如,验证)经后递增地址或偏移地址可以访问与所述指令的前一执行相同的数据高速缓存102的高速缓存线(例如,同一通路)。因此,处理器系统100可以产生、保持及使用如下文所描述的预测表1
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1