当前位置: 首页 > 专利查询>英特尔公司专利>正文

根据优先级来处理高速缓存分配请求的方法和装置制造方法及图纸

技术编号:2861292 阅读:181 留言:0更新日期:2012-04-11 18:40
揭示了用于处理高速缓存分配请求的方法和装置。在范例方法中,将优先级分配给高速缓存分配请求。根据该优先级,来识别与该高速缓存分配请求关联的分配概率。根据该分配概率,利用分配条件或分流条件来识别该高速缓存分配请求。

【技术实现步骤摘要】

本专利技术一般涉及处理器系统内的存储器,更具体地说,涉及根据优先级来处理高速缓存分配请求的方法和装置
技术介绍
通常,高速缓存是一种存储器,与主存储器芯片上的随机存取存储器(RAM)相比,处理器可以更迅速地访问该存储器。可以根据存储器与该处理器的接近度和可达到程度来识别高速缓存。例如,一级统一标准(L1)高速缓存可能在与该处理器相同的芯片上。例如,当该处理器执行指令时,该处理器首先观察其芯片上的高速缓存,来发现与那个指令关联的数据,以避免更加耗时地在别处(例如,离开芯片或在主存储器芯片上的RAM上)搜索该数据。当前的处理器系统中所执行的高速缓存通常不知道如何将高速缓存行分配给多个引入的应用流。例如,当处理器发出关于高速缓存内的数据块的装载/存储请求时,该处理器只核对该高速缓存内的那个数据块。也就是说,如果该数据块不在该高速缓存内,则该高速缓存控制器向该主存储器发出请求。一从该主存储器接收到响应,该高速缓存控制器就将该数据块分配到该高速缓存中。在使用多线程核心、多核心处理器、多任务核心和/或虚拟化(virtualized)核心的处理器系统中,多个引入的应用流可能会相互干扰,结果,可能会导致共享高速缓存的无效操作率。与多个引入的应用流共享具有相等优先级的高速缓存空间经常导致高速缓存资源到更重要的存储密集应用程序的亚最佳分配。附图说明图1是框图,表现了一种范例高速缓存分配系统。图2是框图,表现了与图1所示的范例高速缓存分配系统关联的范例高速缓存分配请求。图3是框图,表现了与图1所示的范例高速缓存分配系统关联的范例优先级表格。图4是框图,表现了与图1所示的范例高速缓存分配系统关联的另一个范例优先级表格。图5是流程图,表现了图1中的该系统可以处理高速缓存分配请求的一种方式。图6是框图,表现了可以被用来执行图1所示的该系统的范例处理器系统。具体实施例方式虽然下文揭示了包括(在其他部件之中)在硬件上执行的软件或固件的范例系统,但是,应该注意,这类系统只是起说明的作用,而不应该被认为起限制的作用。例如,预期任何或所有这些所揭示的硬件、软件和/或固件部件都可以专门在硬件中、专门在软件中、专门在固件中或者在硬件、软件和/或固件的某种组合中加以具体表现。在图1和图2的例子中,所展示的高速缓存分配系统100包括优先级赋值单元110、高速缓存控制器120和高速缓存130。一般而言,优先级赋值单元110将优先级分配给来自多个引入的应用流的高速缓存分配请求210(通常被示作212、214、216和218)中的每个高速缓存分配请求。例如,优先级赋值单元110可以分配P1、P2、P3或P4的优先级——P1作为最高优先级,P4作为最低优先级。根据该优先级,高速缓存控制器120提供分配选择220,以提高高速缓存效率和性能,来适应关于高速缓存130内的高速缓存线230的高速缓存分配请求210。例如,高速缓存130可能是一级统一标准高速缓存(L1)、二级统一标准高速缓存(L2)、三级统一标准高速缓存(L3)和/或用于存储数据的任何其他合适的结构,这是掌握该
的普通技能的人将会容易认识到的。如上所述,优先级赋值单元110将优先级分配给高速缓存控制器120所接收的引入的应用流的高速缓存分配请求210中的每个高速缓存分配请求。可以使用操作系统(OS)来执行优先级赋值单元110。例如,该OS可以根据用户定义的参数,来将优先级分配给在处理器(例如,图6中的处理器1020)中运行的应用线程。当该应用线程发出存储器请求或一系列存储器请求时,该OS将优先级分配给那个应用线程。在另一个例子中,优先级赋值单元110可能是将优先级分配给该应用线程或该应用线程提出的每个存储器请求的编译器。作为选择,优先级赋值单元110可能是硬件(例如,特定用途集成电路(ASIC)),以便将优先级分配给高速缓存分配请求210中的每个高速缓存分配请求。不管执行优先级赋值单元110的特殊方式如何,优先级赋值单元110都根据高速缓存分配请求210的性质来分配该优先级。例如,与数据相比,优先级赋值单元110可能将更高优先级分配给指令;与数据存储相比,它可能将更高优先级分配给数据负载;并且/或者,与预取和推测的存储器引导相比,它可能将更高优先级分配给命令请求。优先级赋值单元110也可能根据特定线程的该高速缓存错过率来分配该优先级。换言之,优先级赋值单元110可能维持计数器,以跟踪高速缓存分配请求210的数量和关于每个高速缓存的该错过率。根据这些计数器值,优先级赋值单元110可以将更高优先级分配给具有更高高速缓存分配请求比率、更高高速缓存错过率和/或更高命中率的线程。另外,优先级赋值单元110可以根据这些引入的应用流的起源(即这些引入的应用线程的来源的类型)来分配该优先级。例如,如果高速缓存130是中央处理器(CPU),那么,与其他设备(例如,存储控制器和/或正尝试将数据发(即推)入高速缓存130的网络设备)相比,优先级赋值单元110可以将更高优先级分配给CPU启动的高速缓存分配请求。在图3的范例优先级表格300中,优先级赋值单元110根据这些引入的应用流,将优先级分配给高速缓存分配请求210中的每个高速缓存分配请求。也就是说,优先级赋值单元110可以将P1的优先级(即最高优先级)分配给与主要主机应用程序(例如,前端web服务)关联的引入的应用流,将P2的优先级分配给与次要主机应用程序(例如,中级工作负荷)关联的引入的应用流,将P3的优先级分配给与外围应用程序(例如,输入/输出驱动程序和/或OS线程)关联的引入的应用流,并将P4的优先级(即最低优先级)分配给与其他应用程序(例如,文字处理应用程序)关联的引入的应用流。高速缓存控制器120将分配概率(AP)分配给每个优先级。例如,在优先级表格300中,优先级P1(即最高优先级)可以被分配100%的AP,优先级P2可以被分配75%的AP,优先级P3可以被分配50%的AP,优先级P4(即最低优先级)可以被分配25%的AP。关于每个线程请求分配,高速缓存控制器120生成零(0)与一百(100)之间的随机数,并且将该随机数与为高速缓存分配请求210中的每个高速缓存分配请求而分配的该AP进行比较。如果该AP大于该随机数,那么,高速缓存控制器120允许将高速缓存130内的那些高速缓存线分配给该请求线程。另一方面,如果该AP小于或等于该随机数,则高速缓存控制器120拒绝将高速缓存130内的高速缓存线分配给该请求线程。关于在不同的执行阶段具有不同特征的应用程序,优先级赋值单元110可以动态地改变为高速缓存分配请求210而分配的这些优先级。在建立优先级集合(例如,如图3所示)并且为高速缓存分配请求210分配优先级之后,将高速缓存分配请求210和对应的优先级提供给高速缓存控制器120,用于处理。例如,通过要么直接将该优先级编码为该高速缓存分配请求、要么将流标识符用作进入优先级表格300的索引(优先级表格300又维持这些优先级到流类型的映射),可以提供高速缓存分配请求的该优先级。为了在运行时间期间动态地修改这些优先级,高速缓存控制器120可以更改该线程中的该优先值或者运行指令,以更新优先级表格300。特别是,高速缓存控制器120可以根据时间间隔本文档来自技高网
...

【技术保护点】
一种方法,其特征在于,包括:将优先级分配给高速缓存分配请求;根据该优先级来识别与该高速缓存分配请求关联的分配概率;以及,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求。

【技术特征摘要】
US 2003-11-26 10/722,8841.一种方法,其特征在于,包括将优先级分配给高速缓存分配请求;根据该优先级来识别与该高速缓存分配请求关联的分配概率;以及,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求。2.如权利要求1所述的方法,其特征在于,将该优先级分配给该高速缓存分配请求包括根据流类型、源类型和高速缓存占有率图中的至少一项,来将该优先级分配给该高速缓存分配请求。3.如权利要求1所述的方法,其特征在于,将优先级分配给该高速缓存分配请求包括将优先级分配给与主要主机应用程序关联的高速缓存分配请求、与次要主机应用程序关联的高速缓存分配请求、以及与外围应用程序关联的高速缓存分配请求中的至少一个请求。4.如权利要求1所述的方法,其特征在于,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求包括将该分配概率与任意生成的数字和预定数中的至少一个数字进行比较。5.如权利要求1所述的方法,其特征在于,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求包括响应于大于或等于任意生成的数字和预定数中的至少一个数字的该分配概率,利用该分配条件来识别该高速缓存分配请求。6.如权利要求1所述的方法,其特征在于,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求包括响应于小于任意生成的数字和预定数中的至少一个数字的该分配概率,利用该分流条件来识别该高速缓存分配请求。7.如权利要求1所述的方法,其特征在于,进一步包括响应于利用该分配条件而识别该高速缓存分配请求,来将高速缓存的一个部分分配给该高速缓存分配请求;并且,响应于利用该分流条件而识别该高速缓存分配请求,来拒绝该高速缓存分配请求。8.一种存储指令的机器可访问的介质,其特征在于当被执行时,这些指令使处理系统将优先级分配给高速缓存分配请求;根据该优先级来识别与该高速缓存分配请求关联的分配概率;以及,利用基于该分配概率的分配条件和分流条件之一来识别该高速缓存分配请求。9.如权利要求8中所定义的机器可访问的介质,其特征在于,通过根据流类型、源类型和高速缓存占有率图中的至少一项而将优先级分配给该高速缓存分配请求,当被执行时,这些指令使该机器将该优先级分配给该高速缓存分配请求。10.如权利要求8中所定义的机器可访问的介质,其特征在于,通过将优先级分配给与主要主机应用程序关联的高速缓存分配请求、与次要主机应用程序关联的高速缓存分配请求、以及与外围应用程序关联的高速缓存分配请求中的至少一个请求,当被执行时,这些指令使该机器将该优先级分配给该高速缓存分配请求。11.如权利要求8中所定义的机器可访问的介质,其特征在于,通过将该分配概率与任意生成的数字和预定数中的至少一个数字进行比较,当被执行时,这些指令使该机器利用该分配条件和该分流条件之一来识别该高速缓存分配请求。12.如权利要求8中所定义的机器可访问的介质,其特征在于,通过响应于大于或等于任意生成的数字和预定数中的至少一个数字而利用该分配条件来识别该高速缓存分配请求,当被执行时,这些指令使该机器利用基于该分配概率的该分配条件和该分流条件之一来识别该高速缓存分配请求。13.如权利要求8中所定义的机器可访问的介质,其特征在于,通过响应于小于任意生成的数字和预定数中的至少一个数字的该分配概率而利用该分流条件来识别该高速缓存分配请求,当被执行时,这些指令使该机器利用基于该分配概率的该分配条件和该分流条件之一来识别该高速缓存分配请求。14.如权利要求8中所定义的机器可访问的介质,其特征在于,当被执行时,这些指令使该机器响应于利用该分配条件来识别...

【专利技术属性】
技术研发人员:R艾尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1