用于改进功率/性能权衡的多核存储器热量抑制算法的制作方法

文档序号:6592944阅读:157来源:国知局
专利名称:用于改进功率/性能权衡的多核存储器热量抑制算法的制作方法
技术领域
本发明的实施例总体上涉及集成电路领域,并且更具体地说,涉及用于改进与多 核存储器热量抑制算法相关联的功率/性能权衡的系统、方法和装置。
背景技术
现代计算系统通常包括集成在单个管芯上的两个或更多个处理器核心(或者简 单地说,核心)。这些核心可以具有同类型的工作负荷,或者他们可以具有不同类型的工作 负荷。术语“同类型的工作负荷”是指如下情况当运行在不同核心上的工作负荷对共享资 源(例如,末级高速缓存、互连、主系统存储器等)具有基本上类似的需求时的情况。术语 “不同类型的工作负荷”是指如下情况当运行在不同核心上的工作负荷对共享资源提出显 著不同的需求时的情况。多个核心通常共享称为主系统存储器的存储器资源的公共集合。主系统存储器可 以包括许多动态随机存取存储器设备(DRAM)。DRAM的温度受DRAM的使用程度影响。现代计算系统可以包括用于控制DRAM的温度的机制。例如,它们可以支持DRAM 抑制模式(DTM),其中,当DRAM设备的温度超过预设的安全阈值温度时,存在“开/关”(ON/ OFF)工作周期控制。在“开”状态期间,存储器控制器在指定数量的时钟周期(例如,256个 DRAM时钟周期)内应用常规的调度算法来调度请求。在“关”状态期间,存储器控制器在指 定数量的时钟周期(例如,256个时钟周期)内阻塞(抑制)对DRAM的所有请求,以使存储 器降温到较低的温度。


在附图的图示中,通过例子而非通过限制的方式来说明本发明的实施例,并且其 中,相同的附图标记指示相似的元素。图1是说明根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算系 统的所选择的方面的高级框图。图2是说明了根据本发明的实施例实现的、多核存储器抑制方案的所选择的方面 的框图。图3是说明了当系统处于抑制模式时,用于确定末级高速缓存(LLC)请求的优先 级的启发式规则的所选择的方面的示图。图4是说明了当系统处于DRAM抑制模式(DTM)时,用于抑制到存储器控制器的 LLC未命中的启发式规则的所选择的方面的示图。图5是说明了当系统处于抑制模式时,用于抑制对存储器的访问的启发式规则的 所选择的方面的示图。图6是说明了根据本发明的实施例的、在存储器抑制模式中的LLC和开关调度的 所选择的方面的流程图。图7是说明了根据本发明的实施例的、用于当在DTM模式中操作时将请求发送给DRAM的算法的所选择的方面的流程图。
具体实施例方式本发明的实施例关注于一种硬件技术,该技术用于在运行不同类型的工作负荷的 多核系统中的高效的动态随机存取存储器(DRAM)热量抑制。在一些实施例中,多核系统可 以具有集成的存储器控制器。在其它实施例中,多核系统可以具有分离的芯片组。运行不同类型的工作负荷的多核系统可以在每个核心(或线程)上运行多种不同 的工作负荷。一些工作负荷可能需要大量的DRAM存储器带宽。其它工作负荷可能(基本 上)是中间级或末级高速缓存范围类型的,并且可能仅产生小量的DRAM带宽。使用相对大 量的存储器带宽的工作负荷会增大DRAM设备的温度。术语DRAM热量抑制(或热量抑制, 或简称为抑制)是指限制DRAM带宽以控制DRAM设备温度。DRAM热量抑制的传统手段包括使用DRAM抑制模式(DTM),在该模式中存在“开/ 关”(on/off)工作周期控制。在“开”状态期间,存储器控制器在指定数量的时钟周期(例 如,256个时钟周期)内应用常规调度算法来调度请求。在“关”状态期间,存储器控制器在 指定数量的时钟周期(例如,256个时钟周期)内阻塞(抑制)对DRAM的所有请求。因为 请求集中在共享资源的各个队列中,所以DTM可以对“上游”资源产生反向压力,由于请求 没有被发送到DRAM,所以请求不会前进。这种反向压力最终会导致在核心(或线程)中的 停滞(stall)。为了本专利,术语“核心”和“线程”可互换地使用。原则上,可以并且应当允许高速缓存范围类型的工作负荷前进,因为它们不需要 大量的DRAM带宽。本发明的实施例在请求优先级划分和抑制方面提供了更多的智能,以便 在不同类型的多核心工作负荷的情况下,使得能够对大量使用DRAM带宽的工作负荷进行 抑制(以获得较好的功率节省)并且允许高速缓存范围类型的其它工作负荷前进(以提供 较好的性能权衡)。图1是说明了根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算 系统的所选择的方面的高级框图。系统100包括多个核心110、资源共享逻辑114、末级高 速缓存(LLC) 116、互连118、存储器控制器120和DRAM 122。在替代性实施例中,系统100 可以包括更多的元件、更少的元件和/或不同的元件。在一些实施例中,核心110、资源共享 逻辑114和存储器控制器120位于同一集成电路上。在替代性实施例中,核心110和资源 共享逻辑114位于第一集成电路上,并且存储器控制器120位于第二集成电路上(例如,作 为分离的芯片组的一部分)。在一些替代性实施例中,每个核心110具有单独的LLC(而不 是共享的LLC 116),并且核心110共享从LLC起的下游资源(例如,互连118、存储器控制 器 120、DRAM 122 等)。核心110可以是多种处理器核心中的任意一种,包括通用处理器、图形处理器等。 为了便于说明,图1示出了三个处理器核心。但是,应当意识到,系统100可以几乎具有任 意数量的处理器核心。每个核心100可以具有专用的第一和第二级高速缓存。核心110还可以共享LLC 116。此外,核心110可以共享其它的下游资源,包括例如互连118、存储器控制器120和 DRAM 122。在所说明的实施例中,每个核心110与LLC请求队列112相关联。在一些实施例中,针对每个核心110可以存在独立的队列112。在替代性实施例中,两个或更多个核心110 可以共享队列112。如下文进一步所描述的,在一些实施例中,监视队列112的占用率(使 用率)以针对每个核心110确定预定时间段期间的平均占用率。该值可以用于确定当系统 100处于DTM中时,哪个核心110具有对哪个共享资源的访问优先权。资源共享逻辑114提供了许多仲裁、交换和排队功能。例如,资源共享逻辑114可 以针对核心110仲裁对LLC 116和互连118的访问。如果系统100不处于DTM中,则逻辑 114可以应用传统的仲裁方案(例如,基于需求的或轮询的(round robin)仲裁),以控制 对共享资源的访问。当在系统中发信号通知DTM事件时,所述事件的出现指示只要系统处 于DTM中,那么相比于较少使用存储器带宽并且大量使用高速缓存的线程而言,大量使用 存储器带宽的线程可以工作在更低的优先级,并且该信息用于控制系统资源分配,以在功 率/性能之间做出更好的权衡。但是,当系统100处于DTM中时,逻辑114可以应用预先指 定的仲裁方案,对于主要访问LLC 116(而不是主系统存储器)的核心,所述方案允许前进, 同时抑制主要访问主系统存储器(例如,DRAM 122)的核心。在一些实施例中,对于较简单 的实现,预先指定的仲裁方案至少部分地基于队列112的占用率。如下文进一步所讨论的, 预先指定的仲裁方案可以通过使用其它特性来增强,所述特性包括在预设时间间隔期间 的每个核心的平均LLC命中率、在预设时间间隔期间的每个核心的平均存储器带宽等。互连118在逻辑114和存储器控制器120之间提供了连接。如果逻辑114和存储 器控制器120共同位于同一管芯上,则互连118可以是片上互连。替代地,如果逻辑114和 存储器控制器120没有位于同一管芯上,则互连118可以是片下互连(例如,总线或点对点 互连)。存储器控制器120在待处理的请求(例如,在LLC未命中之后,经由互连118从逻 辑114转发到存储器控制器的请求)之间进行仲裁,并且将所选择的请求发送到DRAM 122 中的一个(例如,以便读取或写数据)。存储器设备122中的至少一些可以包括温度传感器 124。温度传感器124可以与DRAM 122处在同一管芯上,或者位于相对于DRAM 122的方便 的位置以收集温度数据。存储器控制器120从传感器124接收输入,并且尝试将DRAM 122 的温度保持在规定的限度内,以避免热量失控。如果DRAM 122的温度超过规定的限度,则 存储器控制器120进入DRAM抑制模式,并且开始抑制对DRAM 122的请求。在一些实施例 中,DRAM不具有使用开环DRAM热量抑制算法的传感器,其中,当它超过阈值时,所述算法只 控制/抑制DRAM带宽。在一些实施例中,当系统100处于DTM中时,将预先指定的调度策略应用到来自核 心110的请求。该预先指定的调度策略结合DTM的“开/关”工作周期来工作。在“开”周 期期间,预先指定的调度策略确定允许(来自哪个核心的)哪个请求前进。在“关”周期期 间,抑制对存储器的请求以允许DRAM 122降温。在一些实施例中,预先指定的调度策略使 来自主要命中LLC 116的核心的请求优先于主要去往DRAM 122的请求。请求是否被判断 为“主要命中LLC 116”可以是特定于系统的。在一些实施例中,如果在某个时间间隔期间 核心发出的至少90% (+/"10% )的请求被LLC 116满足,则该核心被判断为主要命中LLC 116。术语“高速缓存范围类型的核心(cache bound core) ”是指(在相关的时间间隔期 间)生成主要命中高速缓存(例如,LLC 116)的请求的核心。术语“DRAM范围类型的核心 (DRAM bound core) ”是指(在相关的时间间隔期间)生成主要去往DRAM 122的请求的核心。这种核心也可能具有很大一部分请求命中LLC。在一些实施例中,在系统100中的多于一个点处,使来自高速缓存范围类型的核 心的请求优先于来自DRAM范围类型的核心的请求。例如,在一些实施例中,在针对LLC 116 的仲裁期间,相比于来自DRAM范围类型的核心的请求,更关照来自高速缓存范围类型的核 心的请求。这有助于高速缓存范围类型的核心即使在DTM的“关”周期期间,当存储器控制 器120抑制所有对DRAM 122的请求时,也可以有效地使用高速缓存资源。在一些实施例中, 当针对到互连118的访问(将被转发到存储器控制器120)进行仲裁时,在未命中LLC 116 的请求中的那些来自高速缓存范围类型的核心的请求将优先于那些来自DRAM范围类型的 核心的请求。在一些实施例中,存储器控制器120在DTM的“开”周期期间 优先处理来自高 速缓存范围类型的核心的请求。这有助于偶然的来自高速缓存范围类型的核心的DRAM请 求在DTM的“开”周期期间前进,以使得核心中的依赖于DRAM范围类型的请求的任何请求 也可以在“关”周期期间前进。图2是说明了根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算 系统的所选择的方面的框图。图2中所示的许多元件基本上类似于图1中所示的那些元件, 并且这些元件共享相同的附图标记。在替代性的实施例中,系统200可以包括更多的元件、 更少的元件和/或不同的元件。系统200包括用于实现许多启发式规则的逻辑,以使得能够在各种位置做出请求 优先级/仲裁的决定。表1列出了这些启发式规则中的一些。在替代性实施例中,系统200 可以实现更多的启发式规则、更少的启发式规则和/或不同的启发式规则。表 权利要求
一种系统,包括两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占用率监视器用于监视每个处理器核心的末级高速缓存流水线请求占用率值;以及与所述两个或更多个处理器核心耦合的资源共享逻辑,所述资源共享逻辑用于确定选择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应的末级高速缓存流水线请求占用率值来访问至少一个资源。
2.根据权利要求1所述的系统,其中,所述资源共享逻辑包括输入端,用于接收存储器 控制器处于动态随机存取存储器(DRAM)抑制模式的指示,并且其中,如果所述存储器控制器处于DRAM抑制模式,则所述选择的处理器核心将访问所 述至少一个资源,。
3.根据权利要求2所述的系统,其中,所述至少一个资源是共享的末级高速缓存。
4.根据权利要求3所述的系统,其中,所述资源共享逻辑包括第二监视器,用于针对所述两个或更多个处理器核心中的每一个监视每个核心的末级 高速缓存命中率;以及抑制优先级选择逻辑,用于改变对到所述末级高速缓存的访问的仲裁的优先级。
5.根据权利要求4所述的系统,其中,所述资源共享逻辑还包括交换逻辑,用于将产生 末级高速缓存未命中的请求转发到存储器控制器,并且其中,所述抑制优先级选择逻辑用于仲裁对所述存储器控制器的访问。
6.根据权利要求5所述的系统,其中,所述至少一个资源是主系统存储器。
7.根据权利要求6所述的系统,还包括所述存储器控制器,用于控制对主系统存储器的访问,所述存储器控制器包括DRAM抑 制逻辑,用于确定所述系统是否处于DRAM抑制模式中并且如果所述系统处于DRAM抑制模 式中,则向所述资源共享逻辑提供指示。
8.根据权利要求7所述的系统,其中,所述存储器控制器还包括与所述DRAM抑制逻辑耦合的DRAM带宽监视器,所述DRAM带宽监视器用于针对所述两 个或更多个处理器核心中的每一个确定DRAM带宽使用率值,以指示对应的处理器核心的 DRAM带宽使用的程度。
9.根据权利要求7所述的系统,其中,所述两个或更多个处理器核心、所述资源共享逻 辑和所述存储器控制器位于同一集成电路上。
10.根据权利要求7所述的系统,其中,所述两个或更多个处理器核心以及所述资源共 享逻辑位于第一集成电路上,并且所述存储器控制器位于第二集成电路上。
11.一种用于控制对系统中的共享资源的访问的方法,所述方法包括在资源共享逻辑处,接收所述系统处于动态随机存取存储器(DRAM)抑制模式中的指示;针对与所述资源逻辑耦合的两个或更多个处理器核心中的每一个计算末级高速缓存 仲裁权重,其中,所述两个或更多个处理器核心中的每一个的所述末级高速缓存仲裁权重 至少部分地基于在预定时间间隔期间的末级高速缓存请求队列占用率和该核心的末级高 速缓存命中率;以及使得所述两个或更多个处理器核心中的所选择的一个核心能够至少部分地基于所述末级高速缓存仲裁权重来访问末级高速缓存。
12.根据权利要求11所述的方法,还包括针对所述两个或更多个处理器核心中的每一个计算末级高速缓存命中率;以及用优先级标签来标记多个存储器请求中的每一个,其中,针对每一个请求的所述优先 级标签至少部分地基于末级高速缓存命中率以及与发出所述请求的核心相关联的存储器 带宽使用率。
13.根据权利要求12所述的方法,还包括针对所述两个或更多个处理器核心中的每一个确定平均存储器带宽值;以及至少部分地基于与请求相关联的优先级标签以及与发出所述请求的处理器核心相关 联的平均存储器带宽值,选择请求以发送到系统存储器。
14.根据权利要求13所述的方法,其中,用硬件来实现所述方法。
15.一种系统,包括集成电路,其包括两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占 用率监视器用于监视每个处理器核心的末级高速缓存占用率值;以及与所述两个或更多个处理器核心耦合的资源共享逻辑,所述资源共享逻辑用于确定选 择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应 的末级高速缓存占用率值和针对所述核心的末级高速缓存命中率来访问至少一个资源;以 及与所述集成电路耦合的至少一个动态随机存取存储器设备,用于向所述集成电路提供 主系统存储器。
16.根据权利要求15所述的系统,其中,所述资源共享逻辑包括输入端,用于接收存储 器控制器处于动态随机存取存储器(DRAM)抑制模式中的指示,并且其中,如果所述存储器控制器处于DRAM抑制模式中,则所述选择的处理器核心将访问 所述至少一个资源。
17.根据权利要求16所述的系统,其中,所述至少一个资源是共享的末级高速缓存。
18.根据权利要求17所述的系统,
19.根据权利要求18所述的系统,其中,所述资源共享逻辑包括第二监视器,用于针对所述两个或更多个处理器核心中的每一个监视每个核心的末级 高速缓存命中率;以及抑制优先级选择逻辑,用于仲裁对所述末级高速缓存的访问。
20.根据权利要求19所述的系统,其中,所述资源共享逻辑还包括交换逻辑,用于将产 生末级高速缓存未命中的请求转发到存储器控制器,并且其中,所述抑制优先级选择逻辑用于仲裁对所述存储器控制器的访问。
21.根据权利要求20所述的系统,其中,所述至少一个资源是主系统存储器。
22.根据权利要求21所述的系统,还包括所述存储器控制器,用于控制对主系统存储器的访问,所述存储器控制器包括DRAM抑 制逻辑,用于确定所述系统是否处于DRAM抑制模式中并且如果所述系统处于DRAM抑制模 式中,则向所述资源共享逻辑提供指示。
23.根据权利要求22所述的系统,其中,所述存储器控制器还包括与所述DRAM抑制逻辑耦合的DRAM带宽监视器,所述DRAM带宽监视器用于针对所述两 个或更多个处理器核心中的每一个确定DRAM带宽使用率值,以指示对应的处理器核心的 DRAM带宽使用的程度。
24.根据权利要求22所述的系统,其中,所述两个或更多个处理器核心、所述资源共享 逻辑和所述存储器控制器位于同一集成电路上。
25.根据权利要求22所述的系统,其中,所述两个或更多个处理器核心以及所述资源 共享逻辑位于第一集成电路上,并且所述存储器控制器位于第二集成电路上。
26.一种方法,包括接收热量事件的指示;响应于接收到所述热量事件的指示,测量两个或更多个核心中的每一个的共享资源使 用率;以及至少部分地基于所述两个或更多个核心的共享资源使用率来动态地重新安排对共享 资源的分配的核心优先级,以使得对于到共享资源的访问来说,具有较高的高速缓存使用 率和较低的动态随机存取存储器(DRAM)带宽使用率的核心的优先级高于具有较高的DRAM 带宽使用率的核心。
27.根据权利要求26所述的方法,其中,测量两个或更多个核心中的每一个的共享资 源使用率包括以下各项中的至少一项测量末级高速缓存流水线请求占用率值;测量每个核心的末级高速缓存命中率;以及测量动态随机存取存储器(DRAM)带宽使用率值。
28.根据权利要求26所述的方法,其中,所述共享资源是DRAM。
全文摘要
本发明的实施例总体上涉及用于改进与多核存储器热量抑制算法相关联的功率/性能权衡的系统、方法和装置。在一些实施例中,当系统处于动态随机存取存储器(DRAM)抑制模式中时,在系统中的一个或多个点处改变共享资源分配的优先级。这可以允许高速缓存范围类型的工作负荷前进,同时仍然对于存储器范围类型的工作负荷抑制DRAM。
文档编号G06F9/50GK101960418SQ200980106601
公开日2011年1月26日 申请日期2009年3月23日 优先权日2008年3月26日
发明者H·G·罗蒂托尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1