用于缓存中通路分配及通路锁定的方法技术

技术编号:7184569 阅读:277 留言:0更新日期:2012-04-11 18:40
设想了用于计算系统共享高速缓冲存储器中的数据分配的系统和方法。共享的集关联缓存的每一个缓存通路都可被诸如一或多个处理器内核、图形处理单元(GPU)、输入/输出(I/O)设备或多个不同软件线程之类的多个源访问。共享缓存控制器基于接收到的存储器请求的对应源启用或禁用分别对每一个缓存通路的访问。一或多个配置和状态寄存器(CSR)存储用以改变对每一个共享缓存通路的可访问性的编码值。通过改变在CSR中的存储值控制对共享缓存通路的可访问性可用于在掉电序列期间在共享缓存继续运行的同时创建共享缓存内的伪RAM结构和逐步减少共享缓存的大小。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算系统,更具体地,涉及计算系统的共享高速缓冲存储器中的数据分配。
技术介绍
现代微处理器可包括一或多个处理器内核或处理器,其中每一个处理器都能够执行软件应用程序的指令。这些处理器通常是管线化的,其中处理器包括与位于各阶段 (stage)之间的存储元件(如寄存器和阵列)串联连接的一或多个数据处理阶段。虽然该管线可分为任何数目的阶段,在所述阶段会执行一部分的指令处理,指令处理一般包括获取指令、解码指令、执行指令以及将执行结果存储到由该指令确定的目的地中。理想地,每一个时钟周期产生用于管线的每一个阶段的指令的有用执行。然而,管线中的拖延(stall)可能会导致无用的工作在该特定的管线阶段进行。拖延(通常是多周期拖延)的一个例子是数据缓存或指令缓存的未命中。降低性能损失的方法是减少多周期拖延的发生。微处理器可能会耦合到一个层次或多个层次的缓存层次结构,以减少存储器中的用于读或写操作的微处理器的数据请求的延迟。一般来说,缓存可能会存储一个或多个模块,每一个模块是一份存储在系统存储器中的相应地址的数据。此处使用的“块(block)” 是存储在连续的存储器位置的一组字节,出于一致性的目的,它们作为单元处理。此处使用的术语“缓存块”、“块”、“缓存行”和“行”是可以互换的。在一些实施方式中,块还可以是在缓存中的分配和释放的单位。在一个块中的字节数可能会随设计的选择而多种多样,可能是任意大小的。作为例子,经常使用32字节和64字节的块。当太多的块映射到同一个集时,在一个集关联或直接映射的缓存中有冲突或碰撞、未命中发生,因此,在那个集中有一个或多个块需要被抛弃。一个特定的缓存可能有两个或两个以上使用缓存用于数据存储的源。例如,一个或多个处理器内核、一个或多个图形处理单元(GPU)、一个或多个输入/输出(I/O)设备或可存取特定缓存的其他。这些源可能无法平等地分享缓存中的存储资源。由于源的平均存储器延迟的增加而经历的系统性能下降可能对每一个源是不相等的。例如,可能是存储器层次结构中的L2或L3缓存的集关联的共享缓存可以被两个芯片上的处理器内核或内核、图形处理器单元(GPU)和多输入/输出(I/O)设备用于数据存储。要分配空间使新的数据在此缓存中存储,诸如在缓存未命中后的填充缓存行之类典型的缓存实现允许在选定集中的最近最少使用(LRU)通路被替换。由于这种分配策略不区分来自不同源的请求,它可能让诸如I/O源之类源占据缓存中的通路的显著部分,这可能是不可取的。现在,内核的数据块可以在这一选择的集中收回,从这降低了由系统中的内核所经历的平均存储器延迟。鉴于以上所述,需要用于计算系统的存储器中的数据分配的高效的方法和机制。 专利技术简要概述设想了用于计算系统共享高速缓冲存储器中的数据分配的系统和方法。在一实施方式中,计算系统包括一或多个处理器内核以及共享的集关联缓存。共享缓存的每一个缓存通路都可被多个源访问,其中多个源被配置为生成存储器请求。共享缓存控制器被配置为基于接收到的存储器请求的对应源启用或禁用分别给每一个缓存通路的缓存填充行分配。多个源的每一个源可以是下面中的至少一个处理器内核、图形处理单元(GPU)和输入 /输出(I/O)设备。一或多个配置和状态寄存器(CSR)被耦合到共享缓存控制器,用于存储用来启用和禁用分别给每一个共享缓存通路的所述分配的编码值。在CSR中的存储值的编程可使得每一个共享缓存通路在只有一或多个预选源的缓存未命中之后可分配。因此,诸如I/O设备之类的特定的第一源对在缓存未命中之后的特定的缓存通路可能没有分配可用性,以避免诸如处理器内核之类的第二源的数据的不期望的逐出。通过改变在一或多个CSR中的存储值控制共享缓存通路的分配可用性也可以用于在掉电序列期间在共享缓存继续运行的同时创建共享缓存内的伪RAM结构和逐步减少共享缓存的大小。参考下面的说明和附图,这些实施方式以及其它实施方式将变得明显。附图说明图1是说明计算系统的一种实施方式的总体框图。图2是说明典范处理节点的一种实施方式的总体框图。图3是说明集关联缓存存储布置(storage arrangement)的一种实施方式的总体框图。图4是用于共享资源中的数据的高效分配的方法的一种实施方式的流程图。图5是用于高效的缓存行锁机制的方法的一种实施方式的流程图。图6是用于高效的缓存扇区掉电(power-down)序列的方法的一种实施方式的流程图。图7是用于高效的缓存扇区上电(power-up)序列的方法的一种实施方式的流程图。尽管本专利技术易受各种修改和替代形式的影响,但在附图中以实施例的方式示出了具体的实施方式并在此进行了详细说明。然而,应当认识到,附图及其详细说明不是为了将本专利技术限制于公开的特定形式,与此相反,本专利技术涵盖包括在由所附权利要求书定义的本专利技术的精神和范围内的所有的修改、等同形式和替代形式。具体实施例方式在下面的说明中,阐述了许多具体细节以提供对本专利技术的透彻理解。然而,本领域的普通技术人员应理解,本专利技术可以在没有这些具体细节的情况下实施。在某些情况下,熟为人知的电路、结构和技术没有做详细说明,以避免混淆本专利技术。参考图1,示出了计算系统100的一种实施方式。一般来说,计算系统100包括多个处理节点llOa-llOd。如此处使用的,后面跟字母的参考数字所指的元件可以由单单该数字来统称。例如,处理节点IlOa-IlOd可统称为处理节点110或节点110。虽然图1示出了四个节点110,但其它的实施方式可包括1、2、6或任何不同数量的节点,其中每个节点110包括一或多个处理器内核。每一个节点110可通过各自的存储器控制器120耦合到各自的存储器130。此外, 每一个处理节点110可包括用于与其它处理节点110通信的接口逻辑140。例如,处理节点 IlOa包括用于与处理节点IlOb和IlOc通信的接口逻辑140a。同样,处理节点IlOb包括用于与处理节点IlOa和IlOd通信的接口逻辑140b,依此类推。在图1的实施方式中,处理节点IlOd显示为通过接口逻辑140d耦合到输入/输出(I/O)设备160a以与之通信。I/O 设备160a进一步耦合到第二 I/O设备160b。此外,处理节点IlOd显示为耦合到图形处理单元(GPU) 170以与之通信。其它处理节点可与其它I/O设备、其它GPU或其它组件以类似的方式进行通信。作为选择的,处理节点110可与耦合到I/O总线的I/O桥通信。在一实施方式中,计算系统100可只有一个处理节点110,如显示为耦合到I/O设备160和GPU170的节点110d。这样的实施方式的实施例可包括移动笔记本电脑系统、台式机、入门级服务器系统、中档工作站或其它。对于这样的实施方式,单一的处理节点110可在内部利用系统总线控制器进行通信。系统总线控制器的一个实施例是AMD-762 北桥系统总线控制器。在另一实施方式中,计算系统100可包括多个处理节点110。对于这样的实施方式,计算系统100可实行基于数据包的链路以用于节点间的通信。在所描绘的实施方式中, 链路是作为单向线路的组合来实施的(例如,线路150a用来将数据包从处理节点IlOa传送到处理节点110b,而线路150b则用来将数据包从处理节点IlOb传送到处理节本文档来自技高网...

【技术保护点】
1.一种计算系统,其包括:第一源,其被配置为生成存储器请求;与所述第一源不同的第二源,其被配置为生成存储器请求;共享缓存,其包括由一或多个条目组成的第一部分和由一或多个条目组成的与所述第一部分不同的第二部分;和共享缓存控制器,其耦合到所述共享缓存;其中共享缓存控制器配置为:确定所述第一部分被允许具有由所述第一源分配而不是由所述第二源分配的数据;和确定所述第二部分被允许具有由所述第二源分配而不是由所述第一源分配的数据。

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

【专利技术属性】
技术研发人员:乔纳森·欧文古亨·克里希南卡尔·D·迪茨道格拉斯·理查德·巴尔德威廉·K·卢恰克亚历山大·布兰欧威
申请(专利权)人:超威半导体公司
类型:发明
国别省市:US

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

1