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

在管理的运行时间环境域中的高速缓存管理制造技术

技术编号:12542445 阅读:114 留言:0更新日期:2015-12-19 11:03
描述了在管理的运行时间环境中提供高速缓存管理的方法和装置。在一个实施例中,控制器包括用于以下的逻辑:确定在运行时间环境中用于对象的更新频率,以及当更新频率超过更新频率阈值时将对象分配给非共享高速缓存行。还描述了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】
本公开一般涉及计算领域。更具体地,本专利技术的实施例一般涉及在管理的运行时间环境中的高速缓存管理。
技术介绍
现代计算系统使得管理的运行时间环境能够实现于多核心处理器系统上。许多多核心处理器系统利用分布式相干高速缓冲存储器,其引起错误共享问题,错误共享问题继而降低了系统的性能。因此,减少错误共享问题的技术可能有实用性。【附图说明】参照附图提供了详细描述。在图中,附图标记最左边的(多个)数字标识该附图标记首次出现在其中的图。在不同图中使用相同的附图标记指示类似或相同项目。图1-2是根据一些实施例的可以适用于在管理的运行时间环境中实现高速缓存管理的电子设备的示意性框图图示。图3是根据一些实施例的可以用于在管理的运行时间环境中实现高速缓存管理的高速缓冲存储器的示意性图示。图4是根据一些实施例的在管理的运行时间环境中的对象的示意性图示。图5是图示根据一些实施例的在管理的运行时间环境中实现高速缓存管理的方法中的操作的流程图。【具体实施方式】本文所描述的是管理高速缓存操作以在管理的运行时间环境中消除或至少减少错误共享问题的技术的各种实施例。通常,错误共享发生在以下时候:多处理器环境中不同线程频繁访问(读取或写入)两个对象或字段,至少一个线程正在写入,并且对象恰巧在同一高速缓存行上。随着将更多核心集成到单个系统中的工业趋势,高速缓存行错误共享很可能成为计算机性能瓶颈。减少高速缓存行错误共享可以显著改善计算机性能。本文所描述的广泛的各种实施例通过实现以下技术解决了该问题,在该技术中,为管理的运行时间环境中的对象确定更新频率,并且对频繁更新的对象分配非共享高速缓存行。在一些实施例中,可以例如通过对运行时间环境中管理的多个对象周期性编译更新频率统计,来建立更新阈值。因此,在一些实施例中,可以根据管理的运行时间环境所管理的特定工作负荷而动态调整更新频率阈值。比更新频率阈值更频繁地更新的对象可以被视为超出更新频率阈值,并可以被分配给非共享高速缓存行。在一些实施例中,可以例如通过插入额外数据而填充这些对象,从而对象消耗整个高速缓存行。在一些实施例中,可以将高速缓冲存储器的至少一段指定为单个对象行存储器,并且这些对象可以被分配给高速缓冲存储器的单个对象行存储器。在一些实施例中,可以将对象指定为完全高速缓存行对象,并将其分配给非共享高速缓存行。将最频繁更新的对象分配给非共享高速缓存行降低了错误共享事件的可能性。因此,本文描述的各种实施例解决了在管理的运行时间环境中管理高速缓冲存储器以便减少错误共享事件的技术问题。在下面的描述中,阐述了多个具体细节以提供对各种实施例的透彻理解。然而,本专利技术的各种实施例可以在没有这些具体细节的情况下实践。在其它实例中,为了不模糊本专利技术的特定实施例,没有详细描述公知的方法、过程、部件和电路。此外,可以使用各种手段来执行本专利技术的实施例的各个方面,所述手段例如是集成半导体电路(“硬件”)、组织为一个或多个程序的计算机可读指令(“软件”)、或者硬件和软件的某种组合。出于本公开的目的,提及“逻辑”应当意指硬件、软件(例如,包括控制处理器、固件的操作的微代码等),或其某种组合。而且,如本文所讨论的,术语“硬件”和“逻辑”是可互换的。图1-2是根据一些实施例的可以适用于在管理的运行时间环境中实现高速缓存管理的电子设备的示意性框图图示。系统100可以包括一个或多个处理器102-1到102-N(在此总称为“多个处理器102”或“处理器102”)。多个处理器102可以经由互连网络或总线104进行通信。每个处理器可以包括各种部件,为了清楚起见,仅参照处理器102-1讨论了其中一些部件。相应地,剩余的处理器102-2到102-N中的每个可以包括参照处理器102-1讨论的相同或类似部件。在实施例中,处理器102-1可以包括一个或多个处理器核心106-1到106-M (本文中称为“核心106”或在描述调度器的上下文中称为执行器)、共享高速缓存108、路由器110、和/或处理器控制逻辑或单元120。处理器核心106可以实现于单个集成电路(IC)芯片上。此外,芯片可以包括一个或多个共享和/或私有高速缓存(例如高速缓存108)、总线或互连(例如,总线或互连网络112)、存储器控制器或其它部件。处理器核心106可以包括本地高速缓冲存储器116-1到116-M (本文称为高速缓存116),并包括任务调度器逻辑118-1到118-M (本文称为任务调度器逻辑118)。任务调度器逻辑118可以实现如下所述的操作,以将任务分配给一个或多个核心106和/或在核心106具有可用的计算带宽时从一个或多个核心106偷走任务。在一个实施例中,路由器110可用于处理器102-1和/或系统100的各个部件之间进行通信。此外,处理器102-1可以包括多于一个的路由器110。此外,多个路由器110可以进行通信以使得数据能够在处理器102-1内或外的各个部件之间路由。共享高速缓存108可以存储由处理器102-1的一个或多个部件(例如,核心106)所利用的数据(例如,包括指令)。例如,共享高速缓存108可以在本地对存储于存储器114中的数据进行缓存,以由处理器102的部件更快速地访问。在实施例中,高速缓存108可以包括中级高速缓存(例如,2级(L2)、3级(L3)、4级(L4)、或其它级的高速缓存)、末级高速缓存(LLC)和/或其组合。此外,处理器102-1的各个部件可以通过总线(例如总线112)和/或存储器控制器或中心与共享高速缓存108直接通信。如图1所示,在一些实施例中,一个或多个核心106可以包括I级(LI)高速缓存116-1 (本文中总称为“LI高速缓存116”)。图2图示了根据本专利技术实施例的处理器核心106的部分和计算系统的其它部件的框图。在一个实施例中,图2所示的箭头图示了指令通过核心106的流动方向。一个或多个处理器核心(例如处理器核心106)可以实现于单个集成电路芯片(或管芯)上,例如参照图1所讨论的。此外,芯片可以包括一个或多个共享和/或私有高速缓存(例如,图1的高速缓存108)、互连(例如,图1的互连104和/或112)、控制单元、存储器控制器或其它部件。如图2所示,处理器核心106可以包括取出单元202,以取出供核心106执行的指令(包括具有条件分支的指令)。可以从例如存储器114的任意存储设备取出指令。核心106还可以包括解码单元204,用于对取出的指令进行解码。例如,解码单元204可以将取出的指令解码为多个uop (微操作)。另外,核心106可以包括调度单元206。调度单元206可以执行与存储经解码指令(例如,从解码单元204所接收到的)相关联的各种操作,直到指令准备好用于分派,例如直到经解码指令的所有源值变得可用。在一个实施例中,调度单元206可以调度和/或发布(或分派)经解码指令到执行单元208以进行执行。执行单元208可以在它们被解当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种包括存储于非瞬态计算机可读介质中的逻辑指令的计算机程序产品,当被控制器执行时,所述逻辑指令将所述控制器配置为执行用于管理在运行时间环境中的高速缓冲存储器的操作,包括:确定在所述运行时间环境中用于对象400的更新频率;以及当所述更新频率超过更新频率阈值时,将所述对象400分配给非共享高速缓存行310。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:吴克强周经森李永丰
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1