处理器预取以匹配存储器总线协议特性制造技术

技术编号:2859273 阅读:207 留言:0更新日期:2012-04-11 18:40
超高速缓存线路读取的示例性实施例包括:提供第一存储器(206),其中具有用于存储第一组N个数据元素(209a)和第二相邻组N个数据元素(209b)的位置。这两组数据元素与第一存储器(206)线路对准。N个数据元素构成整数个线路。提供处理器(202),用于访问超高速缓冲存储器(207),并且该处理器操作在两种模式,即第一模式(290)和第二模式(291)。确定处理器的操作模式。当该处理器处于第一模式(290)中时,一次N个数据元素地将数据从第一存储器传送到超高速缓冲存储器(207)。当该处理器处于第二模式中时,至少若干次,该处理器一次M×N个数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器,M是大于1的整数。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据预取领域,并且更具体地涉及以有助于减少处理器故障周期(stall cyc1e)的方式从存储器中预取数据的领域。
技术介绍
随着集成电路技术发展为更小的特征尺寸,因而正在研发更快的中央处理单元(CPU)。不幸地,其中通常存储指令和数据的诸如随机存取存储器(RAM)形式的主存储器的存储器子系统的存取时间尚未匹配CPU的存取时间。CPU必须访问这些较慢的设备,以便从中检索指令和数据来对其进行处理。在检索这些指令和数据的过程中,在CPU和较慢的存储器子系统之间存在瓶颈。典型地,为了降低该瓶颈的影响,在存储器子系统和CPU之间实现超高速缓冲存储器,以便利用较低的等待时间(latency)将最近使用的(MRU)指令和数据提供给处理器。超高速缓冲存储器的目的是增加从存储器子系统流向CPU的信息的指令和数据等待时间。通过所需要的时钟周期数量来测量等待时间,以便将预定数量的信息从主存储器传送给CPU。所需要的时钟周期数量越少,则等待时间越好。在CPU执行指令期间,访问存储器子系统和超高速缓冲存储器。首先访问超高速缓冲存储器,以查看相应的数据字节是否满足存储器存取请求。如果满足存储器存取请求,则超高速缓存“命中(hit)”结果,否则如果不满足存储器存取请求,则访问存储器子系统,以检索数据字节。必须访问存储器子系统以检索所需要的数据字节,这被称作超高速缓存“未命中(miss)”。当超高速缓存未命中发生时,处理器遭遇故障周期,同时将所需要的数据字节从存储器子系统传送给处理器和超高速缓冲存储器。执行从存储器子系统中预取数据字节的处理,以减少处理器故障周期。通过预期指令和数据的未来使用,执行从存储器子系统中预取该预期信息,以便当使用实际发生时,能够更快地给超高速缓冲存储器提供该信息。结果,能够减少处理器故障周期的数量,因为预取了数据,并且不必再从存储器子系统中读取(fetch)该数据。预取数据块的处理使用数据总线,这提供存储器子系统和超高速缓冲存储器之间的通信。作为预取操作的结果,降低了数据总线带宽。在一些情况下,预取处理从处理器将不使用的存储器子系统中检索数据块。这给总线使用增添了不必要的负载。将数据块读取到超高速缓冲存储器体系的某一层次需要替换现有的超高速缓存数据块,其中这样的数据块替换可能导致额外的总线使用,因为产生了另一个读取操作以便从存储器子系统中提供正确的数据。通常,重新组织超高速缓存数据块,以便将所替换的块移动到超高速缓冲存储器体系中的较低层次上。而且,如果所移动的数据块在超高速缓冲存储器体系的最高层次上不再可用于未来参考,则可能导致超高速缓存未命中。此外,因为下述原因,处理器在预期其未来使用时预取额外的数据块也可能是无效的。一个接一个地出现大量的预取可能导致突发的总线使用,这导致降低数据总线带宽。突发的总线使用可能导致使用共享数据总线资源的其它组件的临时不足,这可能导致其它类型的处理器故障周期,因而对处理器和系统性能具有降级影响。当从存储器子系统向超高速缓冲存储器传送数据字节时,传送的单位被称作超高速缓存线路。一旦已从存储器子系统传送出超高速缓存线路,则从存储器中预取下一个超高速缓存线路。预取处理基于从存储器子系统中预取下一个顺序线路将改善处理器性能的假定。当在当前的超高速缓存线路上超高速缓存未命中出现时,已经从存储器子系统中读取了相应的超高速缓存线路,有效地降低超高速缓存线路读取等待时间。在这种情况下,仅当超高速缓存未命中在这一线路上出现时,才将预取的超高速缓存线路放置在超高速缓冲存储器内,在超高速缓存未命中出现之前,预取的超高速缓存线路驻留在预取超高速缓存线路缓冲器内。这阻止了因为未使用的预取超高速缓存线路而牺牲有用的超高速缓存线路。这个执行下一顺序超高速缓存线路预取的处理是用于降低处理器可见的慢速存储器子系统访问时间即存储器等待时间的影响的公知技术。通过使用预取来隐藏这个等待时间,处理器遭受较少的故障周期,因为潜在预期的超高速缓存线路已经出现在靠近超高速缓冲存储器的预取缓冲器内。因而处理器可以从超高速缓冲存储器中更有效地访问这个预取超高速缓存线路,因此潜在地改善处理器性能。超高速缓存线路预取可能降低系统性能。处理器随后不再需要的预取超高速缓存线路随后从存储器子系统传送给处理器,因而消耗存储器带宽,阻止其它的存储器事务处理发生。在其中多个处理单元必需共享关键的存储器带宽资源的片上统一存储器系统结构(UnifiedMemory system on chip architecture)中,这种负面影响变得更加明显。因此,预取是从系统结构以及处理器的观点出发必须解决的处理。通常,确定在超高速缓冲存储器内使用的超高速缓存线路的大小以允许处理器的最佳性能;通常,这需要为最常见的情况即超高速缓存命中来优化超高速缓存线路大小。而且,超高速缓存线路的大小涉及超高速缓存未命中的增加或减少。如果超高速缓存线路太大,则导致超高速缓存污染,因为超高速缓冲存储器包含太多的数据,并且此数据的绝大部分不能由处理器使用,因为它是不正确的。如果超高速缓存线路太小,则超高速缓存并未包含足够的数据量来防止大多数的超高速缓存未命中,并且处理器需要从存储器子系统中预取数据,以便有助于处理操作。上述问题在其中多个处理器共享同一存储器和总线资源的多处理器系统内变得甚至更加明显。在这样的系统内,超高速缓存未命中影响所有处理器的性能,并且需要以及时的方式有效地解决超高速缓存未命中,以维持总体系统性能。有效的预取显著地提高处理器性能。
技术实现思路
根据本专利技术,提供一种超高速缓存线路读取的方法,包括以下步骤提供第一存储器,其中具有存储器位置,用于存储第一组N个数据元素和第二相邻组N个数据元素,这两组数据元素在第一存储器内被线路对准,其中N个数据元素构成整数个线路;提供超高速缓冲存储器;提供处理器,用于访问超高速缓冲存储器和用于在两个模式即第一模式和第二模式之中的每个模式内操作;确定处理器的操作模式;当处理器处于第一操作模式中时,一次N个数据元素地将数据从第一存储器传送给超高速缓冲存储器;和至少若干次地当处理器处于第二操作模式中时,一次M×N个数据元素地将数据从第一存储器传送给超高速缓冲存储器,其中M是大于1的整数。根据本专利技术的另一方面,提供一种其中存储数据的存储器,该数据涉及用于执行下述步骤的指令从包括第一操作模式和第二操作模式的多个操作模式中确定处理器的操作模式;当处理器处于第一操作模式中时,一次N个数据元素地将数据从第一存储器传送给超高速缓冲存储器;和至少若干次地当处理器处于第二操作模式中时,一次M×N个数据元素地将数据从第一存储器传送给超高速缓冲存储器,其中M是大于1的整数。根据本专利技术的又一方面,提供一种存储器系统电路,包括超高速缓冲存储器;和超高速缓存线路读取电路,用于在第一模式操作中在单个操作中将构成一个或多个超高速缓存线路的N个数据元素读取到超高速缓冲存储器内,并在第二其他的操作模式中在单个操作中将构成多个超高速缓存线路的M个数据元素读取到超高速缓冲存储器内,其中M>N,并且其中M和N之中的每个都是整数个超高速缓存线路。附图说明现在将参考附图描述本专利技术,在附图中图1a图示现有技术的片上系统(system on chip)本文档来自技高网
...

【技术保护点】
一种超高速缓存线路读取的方法,包括以下步骤:提供第一存储器(206),其中具有存储器位置,用于存储第一组N个数据元素(209a)和第二相邻组N个数据元素(209b),这两组数据元素在第一存储器(206)内进行线路对准,其中N个数据元素构成整数个线路;提供超高速缓冲存储器(207);提供处理器(202),用于访问超高速缓冲存储器(207)和用于在两个模式即第一模式(290)和第二模式(291)之中的每个模式内操作;确定处理器的操作模式;当处理器处于第一操作模式(290)中时,一次N个数据元素地将数据从第一存储器传送到超高速缓冲存储器(207);和至少若干次当处理器处于第二操作模式(291)中时,一次M×N个数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器,其中M是大于1的整数。

【技术特征摘要】
【国外来华专利技术】US 2002-8-23 10/226,1581.一种超高速缓存线路读取的方法,包括以下步骤提供第一存储器(206),其中具有存储器位置,用于存储第一组N个数据元素(209a)和第二相邻组N个数据元素(209b),这两组数据元素在第一存储器(206)内进行线路对准,其中N个数据元素构成整数个线路;提供超高速缓冲存储器(207);提供处理器(202),用于访问超高速缓冲存储器(207)和用于在两个模式即第一模式(290)和第二模式(291)之中的每个模式内操作;确定处理器的操作模式;当处理器处于第一操作模式(290)中时,一次N个数据元素地将数据从第一存储器传送到超高速缓冲存储器(207);和至少若干次当处理器处于第二操作模式(291)中时,一次M×N个数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器,其中M是大于1的整数。2.根据权利要求1的方法,其中第一模式(290)包括超高速缓存命中模式,其中在请求时由处理器所请求的数据存储在超高速缓冲存储器(207)内,和其中第二模式(291)包括超高速缓存未命中模式,其中在请求时由处理器所请求的数据并不存储在超高速缓冲存储器内。3.根据权利要求2的超高速缓存线路读取的方法,包括以下步骤确定已经出现超高速缓存未命中的数据元素(402a)是否在第一存储器(206)内被M线路对准,和其中仅在数据元素(402a)被M线路对准时,执行一次M×N数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器(207)的步骤。4.根据权利要求3的方法,其中M是2的幂。5.根据权利要求4的方法,其中M是2。6.根据权利要求5的方法,其中N=4。7.根据权利要求2的方法,包括以下步骤确定已经出现超高速缓存未命中的数据元素(402a)是否在第一存储器(206)内被M线路对准的数据元素(402)的线路内,和其中仅当数据元素(402a)被M线路对准时,执行一次M×N数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器(207)的步骤。8.根据权利要求7的方法,其中M是2的幂。9.根据权利要求8的方法,其中M是2。10.根据权利要求9的方法,其中N=4。11.一种存储器,其中存储数据,该数据涉及用于执行下述步骤的指令从包括第一操作模式(290)和第二操作模式(291)的多个操作模式中确定处理器的操作模式;当处理器处于第一操作模式中时,一次N个数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器(207);和至少若干次当处理器处于第二操作模式(291)中时,一次M×N个数据元素地将数据从第一存储器(206)传送到超高速缓冲存储器(207),其中M是大于1的整数。12.根据权利要求11的存储器,其中该数据用于执行指令,以使第一模式(290)包括超高速缓存命中模式,其中在请求时由处理器所请求的数据存储在超高速缓冲存储器(207)内,和其中第二模式(291)包括超高速缓存未命中模式,其中在请求时由处理器(202)所请求的数据并不存储在超高速缓存内。13.根据权利要求12的存储器,其中该数据涉及用于执行下述步骤的指...

【专利技术属性】
技术研发人员:JW范德维尔德特
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

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

1