CN100520737C - 高速缓存系统、方法及计算机系统 - Google Patents

高速缓存系统、方法及计算机系统 Download PDF

Info

Publication number
CN100520737C
CN100520737C CNB2005800085649A CN200580008564A CN100520737C CN 100520737 C CN100520737 C CN 100520737C CN B2005800085649 A CNB2005800085649 A CN B2005800085649A CN 200580008564 A CN200580008564 A CN 200580008564A CN 100520737 C CN100520737 C CN 100520737C
Authority
CN
China
Prior art keywords
cache memory
cache
cpu
important
loading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005800085649A
Other languages
English (en)
Other versions
CN1934542A (zh
Inventor
R·拉克维克
Y·吴
B·布莱克
J·沈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1934542A publication Critical patent/CN1934542A/zh
Application granted granted Critical
Publication of CN100520737C publication Critical patent/CN100520737C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Abstract

依照一个实施例,公开了一种系统。所述系统包括中央处理器(CPU)、耦合到所述CPU的第一高速缓冲存储器,用来只存储用于将在所述CPU立即处理的重要加载的数据,耦合到所述CPU的第二高速缓冲存储器,用来存储用于将在所述CPU处理的半重要加载的数据,和耦合到所述CPU、第一高速缓冲存储器和第二高速缓冲存储器的第三高速缓冲存储器,用来存储将在所述CPU处理的非重要加载。

Description

高速缓存系统、方法及计算机系统
技术领域
本发明涉及集成电路;本发明尤其涉及接口连接集成电路。
背景技术
目前,现有的几乎所有计算机系统都实现了超高速缓冲存储器系统。高速缓冲存储器典型情况下是随机存取存储器(RAM),计算机微处理器与访问主存储器相比可以更迅速地访问它。当微处理器处理数据时,它首先在高速缓存器中进行查看,并且如果它在所述高速缓存器中发现所述数据,那么所述微处理器就不必更费时地从更大的主存储器中读取数据。
典型情况下,计算机系统实现了常规的高速缓存结构,所述高速缓存结构实现了高速缓存器L1到L2或L3。当处理数据时,微处理器首先在L1高速缓存器中寻找所述数据。如果没有在所述L1高速缓存器中找到所述数据,那么在L2高速缓存器中搜索所述数据。如果在L2高速缓存器中没有找到所述数据,那么最后搜索L3高速缓存器。
常规高速缓存结构的问题在于:与各种指令相关联的数据比其它数据更为关键,并因而需要被更快速地处理(例如,1个等待时间周期)。然而,常规的高速缓存器操作并不考虑从高速缓存系统中快速检索这种关键(critical)数据。例如,可以把关键数据和非关键数据(例如,需要多达4个等待时间周期的数据)存储在L1高速缓存器中。把非关键数据存储在快速L1高速缓存器中是低效的,这是因为这样减少了可以被存储在所述L1高速缓存器中的关键加载(load)数据的数目。因而,必须搜索更大、更缓慢的L2或L3高速缓存器以便检索没有被存储在L1高速缓存器内的关键数据,从而超过1个等待时间周期。
发明内容
在本发明的第一个方面,提供了一种高速缓存系统,包括:
中央处理器CPU;
第一高速缓冲存储器,耦合到CPU,用于只存储要在CPU被立即处理的重要加载的数据;
第二高速缓冲存储器,耦合到CPU和第一高速缓冲存储器,用于存储要在CPU被处理的非重要加载;以及
第三高速缓冲存储器,耦合到CPU和第二高速缓冲存储器,用于存储要在CPU被处理的半重要加载的数据,
其中重要加载更新第一高速缓冲存储器和第二高速缓冲存储器。
优选地,所述CPU并行访问所述第一高速缓冲存储器、第二高速缓冲存储器和第三高速缓冲存储器。
优选地,重要加载被直接分配给所述第一高速缓冲存储器,半重要加载被直接分配给所述第三高速缓冲存储器,并且非重要加载被直接分配给所述第二高速缓冲存储器。
优选地,把所述加载分配到各高速缓存器被静态地执行。
优选地,在编译器执行对所述加载的分类。
优选地,重要加载将在一个时钟周期内、在所述CPU被处理。
优选地,半重要加载将在三个时钟周期内、在所述CPU被处理。
优选地,非重要加载将不在所述CPU被处理长达至少四个时钟周期之久。
优选地,所述第一高速缓冲存储器是256B高速缓存器并且所述第三高速缓冲存储器是1KB高速缓存器。
优选地,所述第二高速缓冲存储器在物理上大于所述第三高速缓冲存储器。
优选地,所述第一高速缓冲存储器和第三高速缓冲存储器在高速缓存器层次结构的相同层级上操作。
优选地,半重要加载更新所述第三高速缓冲存储器和第二高速缓冲存储器。
优选地,非重要加载更新所述第二高速缓冲存储器。
在本发明的第二个方面,提供了一种高速缓存方法,包括:
通过滤出距离大于预定时钟周期的加载指令来识别具有重要级别的加载指令,所述距离为加载指令与使用加载指令之间的距离;
识别具有非重要级别的加载指令;
在第一高速缓冲存储器中分配要存储的具有重要级别的加载指令;并且
在第二高速缓冲存储器中分配具有非重要级别的加载指令;
在识别具有重要级别的加载指令之后,识别具有半重要级别的加载指令;
在第三高速缓冲存储器中分配要存储的具有半重要级别的加载指令,其中所述具有重要级别的加载指令更新第一高速缓冲存储器和第二高速缓冲存储器。
优选地,所述方法还包括:在识别具有重要级别的加载指令之后执行剖析以便识别在所述第一高速缓冲存储器中频繁未命中的其余加载指令和未使用的高速缓存线。
优选地,所述方法还包括:在识别具有半重要级别的加载指令之后执行剖析以便识别在所述第三高速缓冲存储器中频繁未命中的其余加载指令和未使用的高速缓存线。
在本发明的第三个方面,提供了一种计算机系统,包括:
中央处理器CPU;
耦合到所述CPU的第一高速缓冲存储器,用来只存储用于重要加载的数据,所述重要加载要在所述CPU被立即处理;
耦合到所述CPU的第二高速缓冲存储器,用来存储用于半重要加载的数据,所述半重要加载要在所述CPU被处理;
耦合到所述CPU、所述第一高速缓冲存储器和第二高速缓冲存储器的第三高速缓冲存储器,用来存储要在所述CPU被处理的非重要加载,其中重要加载更新第一高速缓冲存储器和第三高速缓冲存储器;
耦合到所述CPU的芯片组;和
耦合到所述芯片组的主存储器装置。
优选地,所述CPU并行访问所述第一高速缓冲存储器、第二高速缓冲存储器和第三高速缓冲存储器。
优选地,重要加载被直接分配给所述第一高速缓冲存储器,半重要加载被直接分配给所述第二高速缓冲存储器,并且非重要加载被直接分配给所述第三高速缓冲存储器。
优选地,重要加载将在一个时钟周期内在所述CPU被处理,半重要加载将在三个时钟周期内在所述CPU被处理,并且非重要加载将不在所述CPU被处理长达至少四个时钟周期之久。
优选地,所述第一高速缓冲存储器和第二高速缓冲存储器在高速缓存器层次结构中的相同层级上操作。
优选地,半重要加载更新所述第二高速缓冲存储器和第三高速缓冲存储器。
优选地,非重要加载更新所述第三高速缓冲存储器。
附图说明
根据以下详细描述和本发明各个实施例的附图,将更完全地理解本发明。然而附图不应当被看作是将本发明限制为具体实施例,而只是用于解释和理解。
图1图示了计算机系统的一个实施例;
图2是用于加载分类的一个实施例的流程图;和
图3图示了高速缓冲存储器内的加载布置的一个实施例。
具体实施方式
描述了一种高速缓存机制。依照一个实施例,高速缓存机制的特点在于一个包括重要的小高速缓存器(cachelet)的经修改的高速缓存器层次结构,所述重要的小高速缓存器并不高速缓存用于半重要和非重要的加载的数据。这使重要的小高速缓存器能够被更小的加载(例如,重要的加载)组更有效地利用。类似地,半重要的小高速缓存器并不高速缓存用于非重要加载的数据。在进一步的实施例中,加载被直接分配给各个小高速缓存器,所述小高速缓存器由不同的加载并行访问。此外,静态地执行加载分配,并且可以把加载/存储单元直接附于所述小高速缓存器。
说明书中对“一个实施例”或“一实施例”的引用意味着把结合所述实施例所描述的特定特征、结构或特性包括在本发明的至少一个实施例中。在说明书的不同位置处所出现的短语“在一个实施例中”未必都指的是相同的实施例。
在下面描述中,阐明了许多细节。然而,本领域技术人员清楚的是,在没有这些具体细节的情况下也可以实施本发明。在其它实例中,没有详细地示出,而是以框图的形式示出公知的结构和装置,以避免模糊本发明。
图1是计算机系统100的一个实施例的框图。计算机系统100包括耦合到总线105的中央处理器(CPU)102。在一个实施例中,CPU 102是
Figure C200580008564D00081
处理器系列中的处理器,包括可从加利福尼亚的Santa Clara的Intel公司买到的
Figure C200580008564D00082
处理器系列、
Figure C200580008564D00083
处理器和
Figure C200580008564D00091
处理器。作为选择,可以使用其它CPU。
还把芯片组107耦合到总线105。芯片组107包括存储器控制集线器(memory control hub MCH)110。在一个实施例中,MCH 110经由集线器接口被耦合到输入/输出控制集线器(input/output control hub,ICH)140。ICH 140提供了到计算机系统100内的输入/输出(I/O)设备的接口。例如,ICH 140可以被耦合到遵循由俄勒冈州的Portland的PCI专用业务组(Special Interest Group)所开发的规范修订版2.1总线的外围组件互连总线。
在一个实施例中,MCH 110包括被耦合到主系统存储器115的存储器控制器112。主系统存储器115存储可以由在系统100中所包括的CPU102或任何其它设备执行的数据信号所表示的指令和代码序列和数据。在一个实施例中,主系统存储器115包括动态随机存取存储器(dynamicrandom access memory,DRAM);然而,可以使用其它存储器类型来实现主系统存储器115。
依照一个实施例,高速缓冲存储器152、154和156被耦合到CPU102。在进一步的实施例中,高速缓存器152、154和156实现了新颖的高速缓存结构,该高速缓存结构在相关指令需要加载数据时向CPU 102提供该加载数据。因而,减少了迟缓到达CPU 102的数据的数目并且更有效地利用高速缓存器,以致改进了CPU性能。
在一个实施例中,加载按重要性(vitality)分类,并且被直接分配给高速缓存器152、154和156,所述高速缓存器152、154和156是小且快速的高速缓存器,被称为小高速缓存器。在进一步的实施例中,小高速缓存器被设计成具有不同的等待时间以便更好地追踪加载行为。根据加载及其使用之间的距离(例如,加载-使用的距离)来定义加载的重要性。
依照一个实施例,加载被分类为三类:重要的(立即使用)、半重要的(在2到3个周期内使用)和非重要的(至少4个周期不使用)。然后,这些加载被分配给适当计时的小高速缓存器:高速缓存器152(例如,重要的小高速缓存器(单个周期))、高速缓存器154(例如,半重要的小高速缓存器(2个周期))和高速缓存器156(例如,非重要的高速缓存器(4个周期))。尽管这里相对于三个小高速缓存器进行了描述,然而本领域普通技术人员应当理解可以实现其它数量的小高速缓存器(例如4,5,6等)。
在一个实施例中,高速缓存器152是非常快(例如,1个周期等待时间)且非常小(例如,256B)的高速缓存器,其只存储用于重要加载的数据。高速缓存器152与高速缓存器154并行放置,所述高速缓存器154是快速(例如,2个周期等待时间)且很小(例如,1KB)的高速缓存器。立即需要的加载数据被分配给单周期的高速缓存器152。半重要的加载被直接分配到高速缓存器154。在一个实施例中,高速缓存器152和高速缓存器154一起在高速缓存器层次结构中的相同级别上操作。所有非重要的加载被分配给具有4个周期等待时间的高速缓存器156。如果重要的加载未命中高速缓存器152,那么它访问高速缓存器156。
依照一个实施例,根据加载分类来执行数据分配。因而,重要的加载更新高速缓存器152和高速缓存器156,而半重要的加载更新高速缓存器154和高速缓存器156。非重要的加载在高速缓存器156中分配数据。注意,因为高速缓存器152和高速缓存器154可以同时具有相同的数据,所以在它们之间可能出现相干性问题。
为了适应这点,向高速缓存器152和154以及高速缓存器156广播存储。这种存储带宽并非是性能限制器。此按要求分配和复制使得高速缓存器能够得到更有效的利用。在高速缓存器152和154之间并不强制在常规的高速缓存结构中明显的包含原理。因而,与常规的高速缓存结构相比较,在所公开的系统中具有更有效的高速缓存空间。
为了实现所公开的高速缓存机制,将在高速缓存器访问之前执行加载分类。在一个实施例中,编译器执行加载分类。然而在其它实施例中,可以使用其它软件或硬件机制来执行加载分类。编译器知道大部分加载及其使用之间的距离。从而,编译器在重要性分类方面进行有效的工作。
图2是用于加载分类的一个实施例的流程图。在处理块210,识别重要的加载。在一个实施例中,通过滤除相关距离大于1个周期的所有加载来识别重要的加载。在此过程内,存在用于使非重要分类最大化的前置调度阶段和后置调度阶段。随后,执行剖析来识别在高速缓存器152中频繁未命中的其余加载和没有重新使用的线。
在处理块220,识别半重要的加载。在一个实施例中,使用来自重要的加载识别和剖析的信息来确定半重要的加载。随后,再次执行剖析来识别在高速缓存器154中频繁未命中的加载和没有重新使用的高速缓存线。在处理块230,识别非重要的加载。在一个实施例中,使用来自重要的加载和半重要的识别的剖析信息来确定在高速缓存器154中频繁未命中的加载和没有重新使用的高速缓存线。
图3图示了在高速缓冲存储器152、154和156内加载布置的一个实施例。如图3所示,重要的加载被存储在高速缓存器152中,而半重要的和非重要的加载被分别存储在高速缓存器154和156。
上述高速缓存机制的特点在于一个重新组织且优化的数据高速缓存器层次结构,其充分利用了并不是每个加载数据都会被立即需要这一事实的优点。因而,不是利用传统的自上而下的方法来把加载分配到高速缓存器层次结构。相反,由重要性分类器来执行加载的分配及其数据的分配。非重要的加载被分配给最慢的高速缓存器,而更重要的加载被分配给快速且小的高速缓存器。快速且小的高速缓存器只分配用于更重要的加载的数据,并且为这些加载提供高命中率。
该高速缓存机制得益于把加载直接分配到各个小高速缓存器,并且由于所述小高速缓存器被不同的加载并行访问,所以该高速缓存机制向CPU核心提供了更多的带宽。该高速缓存机制的另一好处在于高速缓存器的访问等待时间。静态地执行加载分配,并且可以把加载/存储单元直接附于所述小高速缓存器。
尽管在阅读以上描述之后无疑使得本发明的许多改变和修改对本领域普通技术人员来说变得更加清楚,然而应当理解,借助例图所示出并描述的任何特定实施例并不意在限制。因此,各个实施例的参考细节并不意在限制权利要求的范围,在权利要求中只讲述了被认为是本发明的那些特征。

Claims (23)

1.一种高速缓存系统,包括:
中央处理器CPU;
第一高速缓冲存储器,耦合到CPU,用于只存储要在CPU被立即处理的重要加载的数据;
第二高速缓冲存储器,耦合到CPU和第一高速缓冲存储器,用于存储要在CPU被处理的非重要加载;以及
第三高速缓冲存储器,耦合到CPU和第二高速缓冲存储器,用于存储要在CPU被处理的半重要加载的数据,
其中重要加载更新第一高速缓冲存储器和第二高速缓冲存储器。
2.如权利要求1所述的系统,其中所述CPU并行访问所述第一高速缓冲存储器、第二高速缓冲存储器和第三高速缓冲存储器。
3.如权利要求1所述的系统,其中重要加载被直接分配给所述第一高速缓冲存储器,半重要加载被直接分配给所述第三高速缓冲存储器,并且非重要加载被直接分配给所述第二高速缓冲存储器。
4.如权利要求3所述的系统,其中把所述加载分配到各高速缓存器被静态地执行。
5.如权利要求4所述的系统,其中在编译器执行对所述加载的分类。
6.如权利要求1所述的系统,其中重要加载将在一个时钟周期内、在所述CPU被处理。
7.如权利要求6所述的系统,其中半重要加载将在三个时钟周期内、在所述CPU被处理。
8.如权利要求7所述的系统,其中非重要加载将不在所述CPU被处理长达至少四个时钟周期之久。
9.如权利要求1所述的系统,其中所述第一高速缓冲存储器是256B高速缓存器并且所述第三高速缓冲存储器是1KB高速缓存器。
10.如权利要求9所述的系统,其中所述第二高速缓冲存储器在物理上大于所述第三高速缓冲存储器。
11.如权利要求1所述的系统,其中所述第一高速缓冲存储器和第三高速缓冲存储器在高速缓存器层次结构的相同层级上操作。
12.如权利要求1所述的系统,其中半重要加载更新所述第三高速缓冲存储器和第二高速缓冲存储器。
13.如权利要求12所述的系统,其中非重要加载更新所述第二高速缓冲存储器。
14.一种高速缓存方法,包括:
通过滤出距离大于预定时钟周期的加载指令来识别具有重要级别的加载指令,所述距离为加载指令与使用加载指令之间的距离;
识别具有非重要级别的加载指令;
在第一高速缓冲存储器中分配要存储的具有重要级别的加载指令;并且
在第二高速缓冲存储器中分配具有非重要级别的加载指令;
在识别具有重要级别的加载指令之后,识别具有半重要级别的加载指令;
在第三高速缓冲存储器中分配要存储的具有半重要级别的加载指令,其中所述具有重要级别的加载指令更新第一高速缓冲存储器和第二高速缓冲存储器。
15.如权利要求14所述的方法,还包括:在识别具有重要级别的加载指令之后执行剖析以便识别在所述第一高速缓冲存储器中频繁未命中的其余加载指令和未使用的高速缓存线。
16.如权利要求14所述的方法,还包括:在识别具有半重要级别的加载指令之后执行剖析以便识别在所述第三高速缓冲存储器中频繁未命中的其余加载指令和未使用的高速缓存线。
17.一种计算机系统,包括:
中央处理器CPU;
耦合到所述CPU的第一高速缓冲存储器,用来只存储用于重要加载的数据,所述重要加载要在所述CPU被立即处理;
耦合到所述CPU的第二高速缓冲存储器,用来存储用于半重要加载的数据,所述半重要加载要在所述CPU被处理;
耦合到所述CPU、所述第一高速缓冲存储器和第二高速缓冲存储器的第三高速缓冲存储器,用来存储要在所述CPU被处理的非重要加载,其中重要加载更新第一高速缓冲存储器和第三高速缓冲存储器;
耦合到所述CPU的芯片组;和
耦合到所述芯片组的主存储器装置。
18.如权利要求17所述的系统,其中所述CPU并行访问所述第一高速缓冲存储器、第二高速缓冲存储器和第三高速缓冲存储器。
19.如权利要求18所述的系统,其中重要加载被直接分配给所述第一高速缓冲存储器,半重要加载被直接分配给所述第二高速缓冲存储器,并且非重要加载被直接分配给所述第三高速缓冲存储器。
20.如权利要求19所述的系统,其中重要加载将在一个时钟周期内在所述CPU被处理,半重要加载将在三个时钟周期内在所述CPU被处理,并且非重要加载将不在所述CPU被处理长达至少四个时钟周期之久。
21.如权利要求19所述的系统,其中所述第一高速缓冲存储器和第二高速缓冲存储器在高速缓存器层次结构中的相同层级上操作。
22.如权利要求17所述的系统,其中半重要加载更新所述第二高速缓冲存储器和第三高速缓冲存储器。
23.如权利要求22所述的系统,其中非重要加载更新所述第三高速缓冲存储器。
CNB2005800085649A 2004-03-18 2005-03-14 高速缓存系统、方法及计算机系统 Expired - Fee Related CN100520737C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/803,452 2004-03-18
US10/803,452 US7120749B2 (en) 2004-03-18 2004-03-18 Cache mechanism

Publications (2)

Publication Number Publication Date
CN1934542A CN1934542A (zh) 2007-03-21
CN100520737C true CN100520737C (zh) 2009-07-29

Family

ID=34962783

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800085649A Expired - Fee Related CN100520737C (zh) 2004-03-18 2005-03-14 高速缓存系统、方法及计算机系统

Country Status (5)

Country Link
US (1) US7120749B2 (zh)
JP (1) JP2007528082A (zh)
CN (1) CN100520737C (zh)
TW (1) TWI304942B (zh)
WO (1) WO2005091147A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467377B2 (en) * 2002-10-22 2008-12-16 Intel Corporation Methods and apparatus for compiler managed first cache bypassing
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
EP2388704A1 (en) * 2010-05-17 2011-11-23 Thomson Licensing Method of optimization of cache memory management and corresponding apparatus
US9223714B2 (en) 2013-03-15 2015-12-29 Intel Corporation Instruction boundary prediction for variable length instruction set
US20150193358A1 (en) * 2014-01-06 2015-07-09 Nvidia Corporation Prioritized Memory Reads

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0000533D0 (sv) * 2000-02-18 2000-02-18 Ericsson Telefon Ab L M Static cache
US6668306B2 (en) * 2001-06-12 2003-12-23 Intel Corporation Non-vital loads

Also Published As

Publication number Publication date
TW200540712A (en) 2005-12-16
JP2007528082A (ja) 2007-10-04
CN1934542A (zh) 2007-03-21
US20050210197A1 (en) 2005-09-22
US7120749B2 (en) 2006-10-10
WO2005091147A1 (en) 2005-09-29
TWI304942B (en) 2009-01-01

Similar Documents

Publication Publication Date Title
US6782454B1 (en) System and method for pre-fetching for pointer linked data structures
US9384134B2 (en) Persistent memory for processor main memory
US6988170B2 (en) Scalable architecture based on single-chip multiprocessing
US7107384B1 (en) Dynamic PCI-bus pre-fetch with separate counters for commands of commands of different data-transfer lengths
US7975108B1 (en) Request tracking data prefetcher apparatus
US8560781B2 (en) Technique for using memory attributes
US10013326B2 (en) Propagating a prefetching profile bit from a prefetch queue to a data cache to indicate that a line was prefetched in response to an instruction within a code region
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
US20090132750A1 (en) Cache memory system
CN114756502A (zh) 片上原子事务引擎
US6487639B1 (en) Data cache miss lookaside buffer and method thereof
CN103927277A (zh) Cpu和gpu共享片上高速缓存的方法及装置
KR20130018742A (ko) 가비지 콜렉션을 위한 gpu 서포트
CN103279428B (zh) 一种显式的面向流应用的多核Cache一致性主动管理方法
CN113342709B (zh) 在多处理器系统中访问数据的方法和多处理器系统
CN101154192A (zh) 管理计算机存储器高速缓存中的访问冲突的方法和装置
WO2019046002A1 (en) PRE-EXTRACTION OF MULTI-LINE DATA USING A DYNAMIC PRE-EXTRACTION DEPTH
CN100520737C (zh) 高速缓存系统、方法及计算机系统
Tse et al. CPU cache prefetching: Timing evaluation of hardware implementations
US6449698B1 (en) Method and system for bypass prefetch data path
CN1226023A (zh) 加载/加载检测和重定序方法
US7058767B2 (en) Adaptive memory access speculation
CN100514311C (zh) 用于实现组合式数据/相关性高速缓存的方法和装置
US20080294409A1 (en) Design structure for performing cacheline polling utilizing a store and reserve instruction
US9983874B2 (en) Structure for a circuit function that implements a load when reservation lost instruction to perform cacheline polling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090729

Termination date: 20150314

EXPY Termination of patent right or utility model