取决于模式而可动态配置以选择一或多个组的多模式组相联高速缓存存储器的制造方法_6

文档序号:9921974阅读:来源:国知局
产生目前的最佳配置套用于该程序或该程序时程。
[0239]在方块3716中,该方法以方块3712中所试的配置来更新目前的最佳配置。流程回到方块3712去尝试目前参数的下一个数值一直到全部的合理数值都被试过,此时流程回到方块3708以反复操作下一个配置参数一直到全部的配置参数都被试过,在这个例子当中该方法结束,产生目前的最佳配置套用于该程序或该程序时程。
[0240]需要注意的是,使用类似于图23的方法所找到的较佳配置,设计人员并不会或不需要理解为什么该特定配置会产生较好的结果。
[0241]请参照图24,图24所示为处理器3900的方块图。处理器3900包含一个指令高速缓存3922,其提供指令给一个指令译码器3923,译码器3923将该指令译码并且把该译码后的指令提供给一个发送器3924,发送器3924把该指令发送至执行单元3926以执行。在较佳的情况下,处理器3900的微架构是超标量而乱序(out-of-order)执行,也可考虑其它的实施例,如此一来指令发送器3924还包含了一个指令排程器以将指令的发送排程以超标量乱序的方式至多个执行单元3926。在较佳的情况下,处理器3900还包含了架构寄存器(图未示),其包含处理器3900的架构状态,还有非架构寄存器(图未示)。在较佳的情况下,处理器3900还包含寄存器别名表(register alias table,RAT)(图未示)以用来执行寄存器重新命名以及重新排序缓冲器(reorder buffer,R0B)(图未示)以用来在程序排序中退出指令。在较佳的情况下,指令发送器包含指令转译器(图未示)其用来把架构指令转译为处理器3900的微指令组架构的微指令,其可被执行单元3926执行。
[0242]处理器3900还包含内存子系统3928其提供内存运算域给执行单元3926并且从执行单元3926接收内存运算域。内存子系统3928较佳为包含一个或多个加载单元,一个或多个存储单元,加载列,存储列,用来从内存请求高速缓存线的填入列,与处理器3900通信的内存总线的侦测有关的侦测列,列表引擎,以及其它相关功能的单元。
[0243]处理器3900还包含一个沟通于内存子系统3928的高速缓存存储器102。在较佳的情况下,高速缓存存储器102类似于描述于图1(以及图16中的1602)的高速缓存存储器。虽然示出的是一个单一的高速缓存存储器102,但高速缓存存储器102可以是一个更大的高速缓存存储器子系统的其中一个,其包含高速缓存存储器的一个分层,例如是阶层I的指令高速缓存,阶层I的数据高速缓存,以及支持阶层I高速缓存的统合的阶层2高速缓存。在一个实施例中,高速缓存子系统还包含阶层3高速缓存。处理器3900还包含一或多个预取器其从内存预取资料至高速缓存存储器102。在一个实施例中,处理器3900是一个多核心处理器,每一个核心具有如前所述的功能单元,且高速缓存存储器102由多个核心共享。
[0244]内存子系统3928存取高速缓存存储器102,如图1至图23中所描述的实施例一般。内存存取包含要被存取的内存位置的内存地址104。
[0245]虽然实施例已经用高速缓存存储器的区域以及接口的数量的特定配置来描述了,需要注意的是,在其它实施例中可以考虑包含在高速缓存存储器中的接口的不同数量,且区域的不同数量也被包含在其中,还有非区域的配置。在本揭露当中,包含权利要求中的标记2~N指的是2的N次方。
[0246]虽然本发明的多个不同实施例已被描述于此,需要注意的是,其是用以举例而非限制本发明。计算器领域的相关技术人员显而易见可知不同的形式或细部的改变都在本发明的保护范围之内。举例来说,软件可以启动,举例来说,功能、制程、模型、仿真、描述及/或本文中所描述的装置和方法的测试。其可经由一般的程序语言(例如C,C++)的使用来实现,硬件描述语言(HDL)包含Verilog硬件描述语言等等,或是其它可能的程序。所述的软件可配置于任何已知的计算器可用媒介例如是磁带,半导体,磁盘,或是光盘(例如CD-R0M,DVD-ROM等等),因特网,有线,无线或是其它通信媒介。本文所述的装置以及方法的实施例可被包含在半导体智慧产权核心,例如处理器核心(例如嵌入式或是具体式的,在硬件描述语言中)以及转变至硬件集成电路的制造中。除此之外,本文所描述的装置以及方法可被体现如硬件以及软件的组合。因此,本发明不被文中所描述的任何举例出的实施例所限制而是仅被根据本发明的权利要求及其同位物所定义。具体来说,本发明可以被实现在处理器装置中,其可用在一般用途的计算器。最后,本领域技术人员可以很容易的使用本文所揭露的概念和【具体实施方式】以做为设计或是修改其它架构的基础以实现出本发明的相同功效而不脱离本发明的权利要求所限定的范围。
【主权项】
1.一种高速缓存存储器,用于存储2~J字节的高速缓存线,J为大于3的整数,该高速缓存存储器包括: 一数组,该数组为2 'N组且每一组具有多个卷标,每一卷标为X比特,其中N以及X都是大于5的整数; 一输入端,该输入端接收Q比特的内存地址,该内存地址[(Q-1): O]具有: 一卷标内存地址[(Q-1): (Q-X)L以及 一索引内存地址[(Q-X-1): J]; 其中Q是至少为(N+J+X-1)的整数;以及 其中,当操作在一第一模式之下: 一组选取逻辑使用该索引以及该卷标的最低有效比特选取该数组的其中一组; 一比较逻辑将卷标中除了最低有效比特之外的所有比特对照于所选取的组中的每一卷标中除了最低有效比特之外的所有比特,并在对照结果为匹配时标示为命中;以及若对照结果为不匹配则一分配逻辑分配至所选取的组;以及当操作在一第二模式之下: 该组选取逻辑使用该索引选取数组的其中二组; 该比较逻辑将该卷标对照于所选取的二组中的每一卷标,并在对照结果为匹配时标示为命中;以及 若对照结果为不匹配则该分配逻辑分配至所选取的二组的其中一组。2.根据权利要求1所述的高速缓存存储器,其中当该高速缓存存储器从该第二模式转换至该第一模式的时候,若是脏的则该高速缓存存储器进行写回,并且无效该高速缓存存储器中其卷标的最低有效比特不匹配于其组的最高有效比特的每一高速缓存线。3.根据权利要求1所述的高速缓存存储器,其中该分配逻辑根据该卷标比特中至少某些的一散列分配至所选取的二组的其中一组。4.根据权利要求1所述的高速缓存存储器,其中该分配逻辑根据存储在该高速缓存存储器中的一或多个置换比特而分配至所选取的二组的其中一组。5.根据权利要求1所述的高速缓存存储器, 其中该数组具有2 ~ W路; 其中当操作在一第三模式之下: 该组选取逻辑使用该索引以及该卷标的最低有效比特选取该数组中的其中一组;该比较逻辑将该卷标除了最低有效比特之外的所有比特对照于所选取的一组中的每一卷标除了最低有效比特之外的所有比特并且在比较结果为匹配的时候标示为命中,以及当该比较逻辑标示为不匹配的时候,该分配逻辑: 当操作在一第一模式之下,分配至所选取的一组的2~W路中的其中之一;以及当操作在一第二模式之下,分配至所选取的一组的2~W路中的其中一子组,其中该2~W路的子组由一或多个内存地址[(Q-X+W): (Q-X+1)]限定。6.根据权利要求1所述的高速缓存存储器,其中该2~N组的该数组包含了多个实体区域,其中当操作在该第二模式之下,该组选取逻辑所选取的该数组中的二组是在该些实体区域中的不同实体区域。7.根据权利要求1所述的高速缓存存储器,其中当运行在包含该高速缓存存储器的一处理器上的一新进程被侦测到的时候,该高速缓存存储器从该第一模式转换至该第二模式。8.根据权利要求7所述的高速缓存存储器,其中当该处理器正在运行该新时程的时候,经由脱机分析出该高速缓存存储器在该第二模式之下执行得比在该第一模式之下更有效率的时候做出一决定。9.根据权利要求1所述的高速缓存存储器,其中当在该第一模式之下的未命中率超过一临界值的情况被侦测到的时候,该高速缓存存储器从该第一模式转换至该第二模式。10.根据权利要求1所述的高速缓存存储器,其中J为6,N为11,X为20而Q为36。11.根据权利要求1所述的高速缓存存储器,其中每一2~N组包含了 W路,其中W是大于I的整数。12.—种高速缓存存储器的操作方法,用于存储2~J字节的高速缓存线,J是大于3的整数,该高速缓存存储器具有2~N组的一数组,每一组具有多个卷标,每一卷标为X比特,N以及X都是大于5的整数,该高速缓存存储器的操作方法包括: 接收一Q比特内存地址[(Q-1): O],其包含: 一卷标内存地址[(Q-1): (Q-X)L以及 一索引内存地址[(Q-X-1): J]; 其中Q是至少为(N+J+X-1)的整数;以及 当操作在一第一模式之下: 使用该索引以及该卷标的最低有效比特选取该数组的其中一组; 将该卷标除了最低有效比特之外的所有比特对照于所选取的一组中的每一卷标除了最低有效比特之外的所有比特并且在对照结果为匹配的时候标示为命中;以及在对照结果为不匹配的时候,分配至所选取的一组;以及当操作在一第二模式之下: 使用该索引选取该数组的其中二组; 将该卷标对照于所选取的二组中的每一卷标并且在对照结果为匹配的时候标示为命中;以及 在对照结果为不匹配的时候,分配至所选取的二组的其中之一。13.根据权利要求12所述的高速缓存存储器的操作方法,更包括: 当该高速缓存存储器从该第二模式转换至该第一模式的时候,若是脏的则进行写回,并且无效该高速缓存存储器中其卷标的最低有效比特不匹配于其组的最高有效比特的每一高速缓存线。14.根据权利要求12所述的高速缓存存储器的操作方法,其中该分配的执行是根据该卷标比特中至少某些的一散列而执行该分配至所选取的二组的其中一组。15.根据权利要求12所述的高速缓存存储器的操作方法,其中该分配的执行是根据存储在高速缓存存储器中的一或多个置换比特而执行该分配至所选取的二组的其中一组。16.根据权利要求12所述的高速缓存存储器的操作方法, 其中该数组具有2 ~ W路; 其中当操作在一第三模式之下: 使用该所索引及该卷标的最低有效比特选取该数组中的其中一组; 将该卷标除了最低有效比特之外的所有比特对照于所选取的一组中的每一卷标除了最低有效比特之外的所有比特并且在比较结果为匹配的时候标示为命中,以及当该比较结果为不匹配的时候: 当操作在一第一模式之下,分配至所选取的一组的2~W路中的其中之一;以及当操作在一第二模式之下,分配至所选取的一组的2~W路中的其中一子组,其中该2~W路的子组由一或多个内存地址[(Q-X+W): (Q-X+1)]限定。17.根据权利要求12所述的高速缓存存储器的操作方法,更包括: 当运行在包含该高速缓存存储器的一处理器上的一新进程被侦测到的时候,将该高速缓存存储器从该第一模式转换至该第二模式。18.根据权利要求17所述的高速缓存存储器的操作方法,其中当该处理器正在运行该新时程的时候,经由脱机分析出该高速缓存存储器在该第二模式之下执行得比在该第一模式之下更有效率的时候做出一决定。19.根据权利要求12所述的高速缓存存储器的操作方法,更包括: 当在该第一模式之下的未命中率超过一临界值的情况被侦测到的时候,将该高速缓存存储器从该第一模式转换至该第二模式。20.—种处理器,包括: 一高速缓存存储器,用以存储2~J字节的高速缓存线,J为大于3的整数,该高速缓存存储器包括: 一数组,该数组为2 'N组且每一组具有多个卷标,每一卷标为X比特,其中N以及X都是大于5的整数; 一输入端,该输入端接收Q比特的内存地址,该内存地址[(Q-1): O]具有: 一卷标内存地址[(Q-1): (Q-X)L以及 一索引内存地址[(Q-X-1): J]; 其中Q是至少为(N+J+X-1)的整数;以及 其中,当操作在一第一模式之下: 一组选取逻辑使用该索引以及该卷标的最低有效比特选取该数组的其中一组; 一比较逻辑将卷标中除了最低有效比特之外的所有比特对照于所选取的组中的每一卷标中除了最低有效比特之外的所有比特,并在对照结果为匹配时标示为命中;以及若对照结果为不匹配则分配逻辑分配至所选取的组;以及当操作在一第二模式之下: 该组选取逻辑使用该索引选取数组的其中二组; 该比较逻辑将该卷标对照于所选取的二组中的每一卷标,并在对照结果为匹配时标示为命中;以及 若对照结果为不匹配则该分配逻辑分配至所选取的二组的其中一组。
【专利摘要】一种高速缓存存储器存储了2^J字节的高速缓存线并且包含了2^N组的数组,每一组含有每个为X比特的多个卷标,一个输入端接收一个为Q比特的内存地址,内存地址[(Q-1):0],其具有卷标内存地址[(Q-1):(Q-X)]以及索引内存地址[(Q-X-1):J]。Q是至少为(N+J+X-1)的整数。在第一模式之下,组选取逻辑使用索引以及卷标的最低有效比特选取一个组,比较逻辑把卷标中除了最低有效比特之外的所有比特对照于所选取组中的每一卷标中除了最低有效比特之外的所有比特,并且若对照结果为匹配则标示为命中,若反之,则分配逻辑分配至所选取的组。在第二模式之下,组选取逻辑使用索引选取二个组,比较逻辑把卷标对照于所选取的二组中的每一个卷标,并且若对照结果为匹配则标示为命中,若反之,则分配至所选取的二组中的其中一组。
【IPC分类】G06F12/0862, G06F12/0893
【公开号】CN105701033
【申请号】CN201510796862
【发明人】道格拉斯·R·瑞德
【申请人】上海兆芯集成电路有限公司
【公开日】2016年6月22日
【申请日】2015年11月18日
【公告号】WO2016097810A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1