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

具有有界差错延迟更新的软件高速缓存制造技术

技术编号:2838532 阅读:230 留言:0更新日期:2012-04-11 18:40
在某些实施例中,本发明专利技术涉及一种有关具有有界差错和延迟更新的软件高速缓存的系统和方法。本发明专利技术的实施例描述了延迟更新软件控制的高速缓存,它对于容许由高速缓存的值的延迟更新导致的差错的域专用应用可用于减小存储器访问等待时间并提高的吞吐量。在本发明专利技术的至少一个实施例中,软件高速缓存可通过利用编译器在必须访问和/或更新存储器的应用程序中自动生成高速缓存代码来实现。即使已更新全局数据,也访问高速缓存一段时间以延迟高成本的存储器访问。描述并要求保护了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的一个实施例一般涉及多处理器计算系统,尤其涉及多处理器或多核系统中的软件高速缓存以在维持足够的数据一致性的同时允许有界差错。背景信息存在用于处理器优化的各种机制。具体而言,很多处理器被设计成采用某种高速缓存的机制。高速缓存机制由于存储访问延迟而表现出问题。情况通常是增大存储器存储设备的容量增加了与它们相关联的延迟。因此,对较大的存储器的访问导致较长的延迟。存储访问延迟对处理器执行性能有影响。大多数应用具有在程序的执行中仅需要一小组被访问的数据的特性。基本上,使那些被频繁访问的存储器更“接近”处理器,即,在硬件高速缓存中。例如可从Intel公司购买到的IXP网络处理器之类的某些特殊的嵌入式处理器不具有硬件高度缓存。可在蜂窝电话、MP3播放器和其它设备中找到这些嵌入式处理器。对于这些嵌入式处理器而言,在管芯上包括高速缓存的成本可能过高。网络处理器往往处理许多完全不同的信息分组。每一分组可被个别处理。为了获得更大的吞吐量/带宽,可将处理器管芯在很多处理器元件中分配,其中每一个分组可由一不同的嵌入式处理器处理。较佳的是具有另外的处理器而不是在这些系统上实现硬件高速缓存。同样相信网络应用中有比其它应用更小的局部性。因此,有更少的“频繁使用的”数据要被放入高速缓存中。对于一般的应用,设计者倾向于包括硬件高速缓存而不是软件高速缓存。在现有的系统中,一般不执行软件高速缓存以及硬件高速缓存。某些研究人员已试图利用结合某些软件控制的片上存储器。例如,一篇论文中描述“某些数字信号处理(dsp)芯片具有小的、快速的片上存储器,程序员可利用它来提高访问次数。这些片上存储器不是高速缓存;相反,它们位于不连续的地址空间中。这通过消除将片上存储器地址与片外存储器地址相关、关联查找以及自动替换的任何需求来简化其实现。相反,设计者使程序员负责在主存储器和片上存储器之间以及时且有效的方式移动数据。”(some digital signal processing(dsp)chips have a small,fast,on-chip memorythat the programmer can use to improve access times.These on-chip memories are notcaches;instead,they are located in a disjoint address space.This simplifies theirimplementation by eliminating any need for relating on-chip memory address to off-chipmemory addresses,for associative lookup,and for automatic replacement.Instead,thedesigners make the programmer responsible for moving data between main memory andthe on-chip memory in a timely and efficient way.)该研究中讨论的方法提出了一种对于将片上存储器的一小部分作为溢出值的保持位置或小编译器控制的存储器(CCM)的另一种使用。现有的处理器架构利用这样一种存储器分层结构,其中处理器附近诸如高速缓存等小型但快速的存储器一直延伸到诸如动态随机存取存储器(DRAM)或磁盘驱动器之类的大型但慢速的存储器。该设计促进了大的存储空间,同时使对频繁访问的数据的存储器访问等待时间最小化。专用处理器架构对于具有特殊需要的应用变得日益重要。例如,如以上所讨论的Intel IXP处理器可被嵌入于路由器中以处理分组。因为各个分组可以独立于其它分组来处理,所以一个IXP处理器含有许多可专用于处理分组的任务的轻量的多线程化微引擎(ME)核。在利用Xscale技术的Intel平台中,有用于处理控制平面代码的Xscale核。Xscale是源自StrongARM技术的嵌入式微处理器架构。软件高速缓存试图高速缓存频繁读取且很少写入的数据。IXP中的存储器分层结构包括在每一个ME中的小型但快速的局部存储器、以及在所有ME之间共享的便笺式存储器、静态RAM(SRAM)和DRAM存储器(具有增加的访问等待时间)。这些ME被设计成不具有高速缓存以使每一个核的尺寸最小化,并且因为相信网络应用中的分组没有得益于高速缓存的空间或时间存储器局部性。这种假设起因于网络处理器仅读取分组一次,在该分组上进行某些工作,且在完成后仅将该分组向前发送的概念。提出了软件控制的高速缓存作为一种通过利用小型但快速的局部存储器来得益于没有硬件高速缓存的情况下的数据局部性的方式。这里,硬件高速缓存功能可用软件例程来仿真。软件控制的高速缓存可用有限的特征来实现以使软件额外开销最小化。例如,高速缓存一致性是保证在其中不同的ME中高速缓存的数据的副本具有相同的值的任何应用中的正确执行的必要条件。然而,在现有的系统中,在软件控制的高速缓存中支持高速缓存一致性是昂贵且低效的。附图简述本专利技术的特征和优点将从以下本专利技术的详细描述变得清楚,附图中附图说明图1示出在可与本专利技术的实施例一起使用的用于网络应用中的分组转发的示例性特里结构表;图2示出共享全局数据的非优化访问;图3是根据本专利技术的实施例的用于软件高速缓存的优化访问的流程图;图4是根据本专利技术的实施例的用于优化应用代码的示例性系统的框图;图5是根据本专利技术的实施例的用于利用应用剖析器来优化应用代码的示例性系统的框图;图6是示出根据本专利技术的实施例的在运行时执行的差错率分析的框图。详细描述本专利技术的一个实施例是一种涉及具有有界差错延迟更新的软件高速缓存的系统和方法。本专利技术的实施例描述了一种延迟更新的软件控制高速缓存,它对于可容忍由于高速缓存的值的延迟更新而导致的差错的域专用应用可用于减少存储器访问等待时间和提高吞吐量。在本专利技术的至少一个实施例中,软件高速缓存可通过利用编译器在必须访问和/或更新存储器的应用中自动生成高速缓存代码来实现。如本文所述的软件高速缓存可得到某些硬件高速缓存的优点,而没有硬件成本。硬件高速缓存的一个问题是高速缓存一致性。这是在其用于具有一个以上处理器的系统中时对于高速缓存的一个问题。该问题适用于台式机系统、多处理器系统、具有许多处理元件的网络处理器以及诸如多核系统之类的具有多个处理器的其它系统。为了以下描述的简单起见,术语多处理器的使用用于指多处理器系统、具有许多处理元件的网络处理器以及诸如多核系统之类的具有多个处理器的其它系统。在说明书中对本专利技术的“一个实施例”或“实施例”的参考意味着结合该实施例描述的特定特征、结构或特性包含在本专利技术的至少一个实施例中。因此,在整个说明书各处出现的短语“在一个实施例中”未必全部都指同一实施例。为了解释的目的,陈述了具体配置和细节以提供对本专利技术的全面理解。然而,本领域的技术人员将清楚本专利技术的实施例可在没有本文提出的具体细节的情况下实施。此外,省略或简化了公知的特征以免使本专利技术晦涩。在整个描述中可给出各种示例。它们仅仅是本专利技术的具体实施例的描述。本专利技术的范围本文档来自技高网...

【技术保护点】
一种用于具有延迟更新和有界差错的软件高速缓存的系统,包括:包括多个处理器元件的系统,每一处理器元件执行优化的应用指令,其中每一处理器元件通信上耦合到主存储器和高速缓冲存储器;用于更新所述主存储器的一部分的优化更新模块,其中更新设置一更新标志以指示所述主存储器的所述部分中的变化;以及用于检索所述主存储器的所述部分的优化加载模块,其中在检索所述部分前以周期性间隔检查所述更新标志,并且其中如果可用的话从高速缓存中检索所述部分,直到所述更新标志指示变化且到达所述周期性间隔。

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

【专利技术属性】
技术研发人员:MK陈DC居
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

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