具有高速缓存电路的处理电路,检测高速缓存行中更新地址的游程制造技术

技术编号:7134970 阅读:232 留言:0更新日期:2012-04-11 18:40
电路包括处理器核(100)、后台存储器(12)、以及处理器核(100)与后台存储器(12)之间的高速缓存电路(102)。在操作中,检测与高速缓存行关联的连续地址范围内的多个连续地址子范围,所述子范围包含高速缓存行中的在高速缓存电路中更新数据可用的地址,可以使用针对连续地址序列的单个存储器事务,检测到的子范围用于设定存储器事务的起始地址和长度或结尾地址。例如,这可以在高速缓存行中只有更新数据可用并且针对其他地址无有效数据时使用,或者在仅仅更新了高速缓存行中小段地址游程时用来减少带宽使用。

【技术实现步骤摘要】
【国外来华专利技术】,检测高速缓存行中更新地址的游程的制作方法
本专利技术涉及具有高速缓存存储器的系统、系统操作方法以及这种系统的编译器。
技术介绍
众所周知,在处理器和后台存储器之间提供有高速缓存存储器。高速缓存存储器 存储与后台存储器中选择的地址关联的数据的拷贝。当处理器对其高速缓存存储器中针对 后台存储器地址的数据进行更新时,需要向后台存储器写回更新数据。典型地,这通过从高 速缓存存储器向后台存储器拷贝回包含更新数据的高速缓存行来实现。在多处理器系统的情况下,多个处理器中每一个均具有在该处理器与后台存储器 之间耦接的相应高速缓存,其他处理器必须从后台存储器中重新读取包含更新数据的高速 缓存行,或者,以更复杂的高速缓存设计为代价,其他处理器必须探听更新的高速缓存存储 器与后台存储器之间的通信,以捕获更新的数据值。这种形式的回拷占据相当的存储器带宽。针对单独更新的字的各个单独写入事务 的使用会消耗相当大量的写周期。幸运的是,现代存储器也支持更大的写入事务。这可以 用于将高速缓存行整体写入,作为单个写入事务,以避免针对单独更新的字的各个单独写 入事务的开销。然而,高速缓存行写回仍然占用了相当的存储器带宽。此外,在多处理器系 统的情况下,由于从后台存储器的回读,高速缓存行写回会进一步增加存储器带宽使用。
技术实现思路
目的是减少针对更新高速缓存数据的写回的存储器带宽。提供了根据权利要求1所述的处理电路。其中,写回电路控制从高速缓存电路向 后台存储器接口的更新数据写回。写回电路被配置为检测高速缓存中针对向后台存储器的 选择性回传的地址的“游程”。“游程”是与高速缓存行相关联的、该高速缓存行中在高速缓 存电路中无更新数据可用的地址之间的地址子范围。由此节省了带宽。在实施例中,可以使用指定了起始地址和长度的存储器事务,起始地址和长度是 根据检测到的子范围而确定的。这节省了带宽。在实施例中,写回电路被配置为检测遭受如下状况的子范围子范围仅包含高速 缓存行中在高速缓存电路中更新数据可用的地址。这可以用于支持从数据已经更新的高速 缓存行的低带宽写回,而无需首先从后台存储器加载数据。通过写回高速缓存行中仅包含 更新数据的游程,可以进行快速写回,无需盖写未改变的数据。当没有单个更新地址连续游 程时,在多种实施例中可以使用多个游程,或者备选地,可以写回针对各个单独地址的更新 数据字,或者可以首先从后台存储器加载数据来填充间隙。在实施例中,保持定义了游程的信息,同时通过在每次处理器核执行至高速缓存 行的写入时更新数据,来使用高速缓存行。因此,在写回时不需要延迟来检测游程。在实施 例中,可以永久提供存储器(即,不同的存储器电路或一个较大存储器的不同区域),用于保持针对所有集合和路的组合的游程的有关信息。在其他实施例中,可以将这种存储器动 态地分配给被更新的集合和路的组合。这节省了电路面积。当更新足够不频繁时,不再需 要更多存储器。如果在一些情况下,可用于所有更新的高速缓存行的游程信息的存储器不 足,则可以向无存储器可用的高速缓存行提供标准的更多带宽密集写回处理。附图说明上述和其他目标以及有利方面将从使用如下附图的示例实施例的描述中显而易 见。图1示出了多处理系统;图2示出了用于保持子范围有关信息的电路;图3示出了用于保持子范围有关信息的电路;图4示出了多处理系统。具体实施例方式图1示出了多处理系统,包括多个处理元件10和后台存储器12。处理元件10经 由存储器接口 11耦接至后台存储器。每个处理元件10包括处理器核100、高速缓存电路 102、写回电路104和游程存储器106。每个处理元件10的高速缓存电路102耦接在处理元件10的处理器核100与后台 存储器12之间。高速缓存电路102可以包括高速缓存存储器和控制电路,被设置为测试由 来自处理器核100的命令所寻址的数据是否存在于高速缓存存储器中,以及根据是否存在 数据来从高速缓存返回数据或从后台存储器加载数据。虽然分离地示出了写回电路104,但 是写回电路104可以是高速缓存电路102的控制电路的一部分。写回电路104具有与从处理器核100向高速缓存电路102的地址/命令输出相耦 接的输入。此外,写回电路104耦接至高速缓存电路102、后台存储器12以及游程存储器 106。在操作中,处理器核100利用对后台存储器12中的位置进行寻址的加载和存储命 令来执行相应程序。针对这些地址的数据的拷贝存储在高速缓存电路102中。在加载命令 的情况下,可以将所寻址的数据以具有针对多个连续地址的数据的高速缓存行的形式从后 台存储器12拷贝至高速缓存电路102。在存储命令的情况下,可以在从后台存储器12拷 贝了原始数据之后,更新高速缓存电路102中高速缓存行中的数据。备选地,可以以高速缓 存来保持被存储的数据,而无需首先加载周围的高速缓存行。在这种情况下,高速缓存电路 102保持对高速缓存行中已经存储了更新数据的位置的记录。在执行存储操作之后,写回电路104将数据从高速缓存电路102写回到后台存储 器。为了准备写回,写回电路104在游程存储器106中保持与必须写回的地址有关的地址 子范围。在实施例中,游程存储器106针对高速缓存电路102中存储的每个高速缓存行,存 储对这种子范围的起始和结尾进行标识的信息,并且可选地存储对是否使能该子范围进行 指示的标志。写回电路104监视处理器核的输出,以检测至高速缓存电路102的写操作以 及获得该操作的写地址。写回电路104确定包含该写地址的高速缓存行,并将该写地址与 该高速缓存行的子范围的起始和结尾进行比较。如果该写地址在子范围之外,则写回电路104更新游程存储器106中针对该高速缓存行的信息,以扩展该子范围,从而该子范围扩展 至该写地址。随后,当需要写回至后台存储器12时,写回电路104使用与起始和结尾地址有关 的信息来选择来自高速缓存电路102的、将被写回至后台存储器12的数据。在实施例中, 写回电路104从高速缓存电路102向后台存储器12写回数据,数据开始于针对起始地址的 数据并结束于针对结尾地址的数据。例如,可以通过来自处理器核100的程序的命令,来触发写回,或者,如果高速缓 存电路102的控制器从高速缓存电路收回高速缓存行以为另一高速缓存行腾出空间,则通 过该控制器,来触发写回。当被触发时,写回电路104可以启动经由存储器接口 11的多字存储器事务,基于 来自游程存储器106的信息,向存储器接口 11提供事务起始地址和事务长度控制字。在该 实施例中,写回电路104控制高速缓存电路102向存储器接口 11提供高速缓存的数据字, 这些数据字来自相关高速缓存行中开始于起始地址并结束于结尾地址的地址。如果存储器 接口 11对存储器事务的起始地址和/或存储器事务的长度施加条件,例如要求这些地址与 最低有效的η比特为零(例如,η = 2)的地址对齐,则写回电路104可以扩展子范围,以将 该子范围与这种事务边界对齐。这可以在更新游程存储器106时进行,或者在写回电路104 使用来自游程存储器的信息来形成存储器事务时进行。在写回时,如果高速缓存行保持为 被分配给相同的后台存储器地址,则重置起始和结尾信息,以便指示空的更新写地址子范 围。当高速缓存行被新分配给存储器地本文档来自技高网...

【技术保护点】
一种处理电路,包括处理元件(10),处理元件(10)具有至后台存储器(12)的接口(11),处理元件(10)包括:  -处理器核(100);  -高速缓存电路(102),耦接在处理器核与所述至后台存储器(12)的接口(11)之间;  -写回电路(104),被配置为控制从高速缓存电路(102)向所述至后台存储器(12)的接口(11)的更新数据的写回,写回电路(104)被配置为检测与高速缓存行关联的连续地址范围内的多个连续地址子范围,所述子范围包含高速缓存行中的、在高速缓存电路(102)中更新数据可用的地址,所述子范围位于高速缓存行中的、在高速缓存电路(102)中无更新数据可用的地址之间,写回电路(104)被配置为选择性地引起向后台存储器(12)的针对所述子范围的数据的传输。

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

【专利技术属性】
技术研发人员:简·胡格布鲁格
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL

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

1