无分配高速缓存策略制造技术

技术编号:21665919 阅读:34 留言:0更新日期:2019-07-20 07:36
本公开描述一种用于有效地执行高速缓存存储器中的数据分配的系统和方法。响应于检测到访问请求而在高速缓存中执行查找。如果在所述高速缓存中找到目标数据,并且所述目标数据具有指示所述目标数据预期不被重用的无分配数据类型,则从所述高速缓存读取所述目标数据,而不响应于所述访问而更新所述目标数据的高速缓存替换策略信息。如果所述查找导致未命中,则阻止所述目标数据在所述高速缓存中进行分配。

Unallocated Cache Policy

【技术实现步骤摘要】
【国外来华专利技术】无分配高速缓存策略
技术介绍
相关技术的描述在各个实施方案中,微处理器耦合至高速缓存层级的一个或多个层。如本领域中所熟知,高速缓存用于减少对存储在存储器中的数据的请求的时延。一般来说,高速缓存存储一个或多个数据块,每个数据块是存储在系统存储器中的对应地址处的数据的副本。当在高速缓存中时,数据可以在由微处理器操作时更新。由于高速缓存具有有限大小,因此高速缓存块的总数本身受限。另外,映射至组关联高速缓存中的给定组的块数目受限制。一旦特定数据占用可用的高速缓存存储位置,所占用的高速缓存位置就不可用于其它数据,直到当前存储在所述位置中的数据被逐出为止。然而,在一些情况下,预期存储在高速缓存中的特定数据不会被重用,或仅会被重用少于给定次数(例如,数据可能预期仅被重用一次或相对较少次数)。因此,占用高速缓存的预期不重用的数据会阻止可能具有更高预测重用率的其它数据使用高速缓存的所述位置。因此,可能会增加访问时延并降低总体性能。鉴于上述内容,需要用于有效地执行高速缓存存储器中的数据分配的有效方法和系统。附图说明图1是数据存储装置的一个实施方案的概括图。图2是用于处理具有预期不重用数据的应用的方法的一个实施方案的概括图。图3是用于执行对预期不重用数据的读取访问请求的方法的一个实施方案的概括图。图4是用于执行对预期不重用数据的写入访问请求的方法的一个实施方案的概括图。尽管本专利技术容许各种修改和替代形式,但是特定实施方案借助于图式中的实例示出并且在本文中详细地描述。然而,应理解,附图以及对其的详细描述并不意图将本专利技术限于所公开的特定形式,相反,本专利技术将涵盖处于由所附权利要求书限定的本专利技术的范围内的所有修改、等效物和替代。具体实施方式在以下描述中,阐述许多特定细节以提供对本专利技术的全面理解。然而,本领域普通技术人员应认识到,可以在不具有这些具体细节的情况下实践本专利技术。在其它例子中,不详细示出众所周知的电路、结构和技术,以免混淆本专利技术。此外,应了解,为了说明的简单和清楚起见,图中所示的元件不必按比例绘制。例如,一些元件的尺寸相对于其它元件放大。设想用于分配预期不会在存储阵列中重用的数据的系统和方法。在各种实施方案中,存储阵列包括用于存储数据的多个块,并且存储控制器耦合至存储阵列以控制对所述多个块的访问。在一些实施方案中,存储阵列是组关联高速缓存阵列。然而,在其它实施方案中,存储阵列是各种存储资源中的一个,例如,完全关联队列、内容可寻址存储器(CAM)阵列、先进先出(FIFO)队列、直接映射的高速缓存等。在各种实施方案中,存储在存储阵列中的数据标记为预期不重用的数据。在一些实施方案中,对存储阵列中的给定数据的访问请求包括预期不重用所访问的给定数据的指示。在一些实施方案中,通过确定访问请求将特定地址范围作为目标还是与给定源标识符(ID)相关联,存储控制器确定访问请求是否对应于预期不重用的数据。此外,在各种实施方案中,当存储控制器在存储阵列中未找到用于访问请求的给定数据时,存储控制器阻止在存储阵列中分配预期不重用类型的给定数据。转至图1,示出数据存储装置100的一个实施方案的概括框图。存储阵列110包括用于存储数据和对应元数据的多个条目。在各种实施方案中,存储阵列110由多个线程共享,所述多个线程由通用处理器或例如图形处理单元或数据信号处理器的平行架构处理器进行处理。在一个实施方案中,存储阵列110对应于用于存储器核心上的数据存储的队列。在其它实施方案中,存储阵列110对应于高速缓存存储器层级的一个或多个层中的给定层内的高速缓存阵列。例如,存储阵列是组关联高速缓存阵列。然而,在其它实施方案中,存储阵列是各种存储资源中的一种,例如,完全关联队列、内容可寻址存储器(CAM)阵列、先进先出(FIFO)队列、直接映射的高速缓存等。如图所示,存储阵列110的每个条目包括多个字段112至118。尽管存储在字段112至118中的信息被示为以连续方式存储,但是在各种实施方案中,数据以不同次序存储,以非连续方式存储并通过未示出的其它字段存储。另外,在一些实施方案中,存储阵列110包括用于存储字段112至118的两个或更多个单独阵列。在各种实施方案中,重用数据类型字段112指示与条目相关联的数据是无分配数据类型120。尽管以下论述描述“无分配数据类型”,但是这可以被视为与数据而不是数据类型本身相关联的高速缓存策略。因此,在提及无分配数据类型的情况下,这可以替代地读取为与数据相关联的无分配策略。在各种实施方案中,无分配数据类型指示预期不重用数据。例如,生成数据并确定数据被使用一次,而其它数据可以预期被重用多次。在一个实例中,视频图形渲染包括矢量阴影计算。重用一些顶点着色结果进行有效处理,而其它顶点着色结果被使用一次。顶点索引用于指示哪些结果被重用以及哪些结果被使用一次。指示为被使用一次的结果标记为无分配数据类型120。在各种实施方案中,无分配数据类型120改变算法用来处理存储阵列110的读取/写入操作的步骤。如稍后所描述,这些改变旨在减少存储预期不重用数据的存储阵列110中的所分配条目的数目。在各种实施方案中,访问请求源确定何时数据预期不会被重用,并且提供数据对应于无分配数据类型120的指示。在一些实施方案中,确定特定数据预期被使用给定次数。在以上顶点着色实例中,与结果数据相关联的顶点索引指示结果数据被使用两次,而不是一次。在一些实施方案中,表格存储数据帧的分区的顶点索引,并且从表格中确定顶点索引指示相关联结果数据稍后被使用的次数。在各种实施方案中,保存结果数据的预期使用次数的计数。当每次在计算完成基础上、线程完成基础上、访问完成基础上或其它方式使用结果数据之后,数据得到更新,例如递减。当计数指示结果数据预期不再被重用时,结果数据标记为无分配数据类型120。随后,数据可以处理为对应于无分配类型。在一些实施方案中,其它数据属性字段114指示存储在条目中的数据对应于特定计算、过程标识符(ID)和/或线程ID、优先级、节点所有权ID、节点拥有者为远程还是本地的指示等。在各种实施方案中,状态字段116存储年龄信息,例如,与存储控制器130所采用的存储块替换算法相关联地使用的最近最少使用(LRU)高速缓存替换策略信息。状态字段116还存储所存储数据的干净(未修改)或脏(修改)状态的指示,以及所存储数据的有效状态的指示。在一些实施方案中,状态字段116还存储指定高速缓存一致性状态的指示,例如修改、独占、拥有、共享和无效的指示。存储块118将数据存储在所分配条目中。各种大小中的一个用于存储在存储块118中的数据。在各种实施方案中,存储块118是组关联高速缓存的多个通路中的一个通路。存储控制器130包括控制逻辑132和控制寄存器134。在各种实施方案中,控制逻辑132包括硬件电路和/或软件,用于实施针对分配和释放存储阵列110中的条目的算法,并且用于更新存储在存储阵列110中的计数器、指针和状态信息。在一些实施方案中,控制寄存器134包括由控制逻辑132使用来实施算法的可编程控制和状态寄存器。存储控制器130内的控制逻辑132和控制寄存器134还可以称为控制单元。存储控制器130还包括用于与存储阵列110、其它存储器和结果总线通信的接口逻辑(未示出)。在各种实施本文档来自技高网...

【技术保护点】
1.一种计算系统,包括:高速缓存,所述高速缓存包括用于存储数据的多个块;以及耦合至所述高速缓存的高速缓存控制器,其中响应于检测到对给定数据的访问请求,所述高速缓存控制器被配置成:确定所述给定数据是否被指示为预期被重用;以及响应于确定所述访问请求在所述高速缓存中未命中:响应于确定所述给定数据被指示为预期被重用,在所述高速缓存中分配所述给定数据;以及响应于确定所述给定数据被指示为预期不被重用,阻止在所述高速缓存中分配所述给定数据。

【技术特征摘要】
【国外来华专利技术】2016.12.09 US 15/374,7881.一种计算系统,包括:高速缓存,所述高速缓存包括用于存储数据的多个块;以及耦合至所述高速缓存的高速缓存控制器,其中响应于检测到对给定数据的访问请求,所述高速缓存控制器被配置成:确定所述给定数据是否被指示为预期被重用;以及响应于确定所述访问请求在所述高速缓存中未命中:响应于确定所述给定数据被指示为预期被重用,在所述高速缓存中分配所述给定数据;以及响应于确定所述给定数据被指示为预期不被重用,阻止在所述高速缓存中分配所述给定数据。2.如权利要求1所述的计算系统,其中响应于确定所述访问请求在所述高速缓存中命中,所述高速缓存控制器不会响应于所述访问而更新所述高速缓存中的所述给定数据的高速缓存替换策略信息。3.如权利要求2所述的计算系统,其中所述高速缓存替换策略信息是最近最少使用数据。4.如权利要求1所述的计算系统,其中确定所述给定数据是否被指示为预期被重用包括:检测所述访问请求中指示所述给定数据是否预期被重用的指示。5.如权利要求1所述的计算系统,其中确定所述给定数据是否被指示为预期被重用包括:确定所述访问请求指示给定地址范围内的地址。6.如权利要求1所述的计算系统,其中确定所述给定数据预期不被重用包括:确定所述给定数据包括图形管线中的顶点着色的结果。7.如权利要求1所述的计算系统,其中所述高速缓存控制器还被配置成响应于以下操作,在不通过写入数据修改的情况下从所述高速缓存中释放所述给定数据:确定所述访问请求是在所述高速缓存中命中的写入请求;以及检测到所述给定数据在所述高速缓存中是干净的。8.如权利要求7所述的计算系统,其中所述高速缓存控制器还被配置成将写入请求数据发送至低级存储器。9.如权利要求7所述的计算系统,其中所述高速缓存控制器还被配置成:识别所述给定数据内的干净子块和脏子块两者;在不通过写入请求数据修改的情况下,从所述高速缓存中释放所述干净子块;以及通过写入请求数据修改所述脏子块。10.一种用于管理存储器系统中的数据的方法,所述方法包括:接口逻辑接收对存储在所述存储器系统中的给定数据的访问请求;高速缓存控制逻辑:确定所述给定数据是否被指示为预期被重用;响应于确定所述访问请求在所述高速缓存中未命中:响应...

【专利技术属性】
技术研发人员:马克·福勒
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1
相关领域技术
  • 暂无相关专利