CN101057224A - 具有预取的高速缓冲存储器 - Google Patents

具有预取的高速缓冲存储器 Download PDF

Info

Publication number
CN101057224A
CN101057224A CNA2005800388872A CN200580038887A CN101057224A CN 101057224 A CN101057224 A CN 101057224A CN A2005800388872 A CNA2005800388872 A CN A2005800388872A CN 200580038887 A CN200580038887 A CN 200580038887A CN 101057224 A CN101057224 A CN 101057224A
Authority
CN
China
Prior art keywords
prefetch
data
cache memory
storer
cache
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.)
Pending
Application number
CNA2005800388872A
Other languages
English (en)
Inventor
让-威廉A·范德韦尔特
让-保罗·范因特格姆
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101057224A publication Critical patent/CN101057224A/zh
Pending legal-status Critical Current

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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Abstract

预取比特(126)与高速缓冲存储器(120)的每一个块(125)相关联,并且高速缓冲存储器预取操作的管理是基于该比特(126)的状态。通过使每一个应用能够对可能要进行规律重复的存储器存取的存储器区域(115)进行识别,例如识别视频应用中的帧存储器,来获得进一步的效率。针对这些存储器区(115)的每一个,应用还识别可能的步幅值,例如帧存储器中数据的线长。将预取局限于已识别的区域(115),并且将预取比特(126)用于对来自这些区域的块(125)进行识别,并且用于限制已重复的高速缓冲存储器命中/未命中确定。

Description

具有预取的高速缓冲存储器
技术领域
本发明涉及处理系统领域,更具体地,涉及一种包括具有预取能力的高速缓冲存储器的处理器。
背景技术
处理器和外部存储器之间的数据传送通常消耗大量时间,并且已经发展了减小这种数据传送影响的技术。两种这样的技术包括使用高速缓冲存储器和使用预取。
为了易于参考和理解,在下文中将高速缓冲存储器的操作按照“读取”访问进行定义,其中处理器向存储器地址请求数据。本领域的普通技术人员应该理解,本发明也可以应用于“写入”访问操作。
使高速缓冲存储器比外部存储器更靠近处理器,通常位于与处理器相同的集成电路内。当处理器向存储器地址请求数据项目时,检查高速缓冲存储器以确定所述高速缓冲存储器是否包含与所述存储器地址相对应的数据。当高速缓冲存储器内容与存储器地址相对应时发生“高速缓冲存储器-命中”,否则发生“高速缓冲存储器-未命中”。
如果发生高速缓冲存储器-命中,则在高速缓冲存储器和处理器之间而不是在存储器和处理器之间实现了数据传送。因为高速缓冲存储器更靠近处理器,高速缓冲存储器-处理器传送所需的时间实质上小于存储器-处理器传送所需的时间。
如果发生高速缓冲存储器-未命中,将数据从存储器传送到高速缓冲存储器,然后传送到处理器。假设向存储器请求数据的未来请求将表现出空间或时间局部性,当将数据从存储器传送时,传送了“块”或一“行”数据。空间局部性与向靠近前一个被请求地址的地址请求数据的请求相对应。时间局部性与在前一个数据请求的较短时间之内针对相同数据的请求相对应。如果空间或时间局部性在应用中是普遍的,则通过来自相同块高速缓冲存储器的多次高速缓冲存储器-处理器传送实现的节约,对与管理经由高速缓冲存储器的数据传送相关联的开销进行补偿。
将预取用于通过试图预测向存储器的数据的未来请求,来减少存储器-高速缓冲存储器或存储器-处理器传送的影响。与处理器的操作并行地执行预测存储器存取,以试图当处理器执行所预测的请求时,使来自预测存储器地址的数据是可用的。在典型的预取系统中,监测处理器上的存储器存取操作以确定存储器存取趋势。例如,程序内的do循环通常通过使用通称为数据存取“步幅”的规律模式来调试数据。在循环的开始几个周期之后,预取系统可以确定步幅,并且精确地预测随后的数据请求。在典型的预取系统中,保存已确定步幅值的表,通过发生重复存取的程序地址来对这些值进行索引。无论何时程序计数器表示程序再次处于前一个重复存取的地址,则将表中与该地址相对应的步幅值用于从存储器中预取数据。预测未来的存储器存取的其他措施在本领域是常见的。依赖于具体的实施例,将已预测的数据加载到预取缓冲器中,或者加载到高速缓冲存储器中,为了比从存储器向处理器更快地向处理器传送。如果预测是正确的,通过将数据预加载到高速缓冲存储器,减小了高速缓冲存储器-未命中的可能性。
传统的高速缓冲存储器-预取组合需要大量开销和/或表现出较低效率。在高速缓冲存储器变满之后,每一次将高速缓冲存储器块加载到高速缓冲存储器时,必须盖写(overwrite)已有的高速缓冲存储器块。如果正在被盖写的块已经用于写入意欲用于存储器的数据,则在新块盖写该数据之前,必须将已有的块复制到存储器。因此,每一次错误的预测具有这样的可能性:破坏了可能已经通过在高速缓冲存储器中具有盖写块而实现的有益效果,并且消耗了不需要的总线带宽和功率,用于将处理器没有使用的数据传送到高速缓冲存储器。
大体上,用于预取的预测精确性涉及专用于确定可预测存储器存取模式的资源量。因此,为了避免由错误预测引起的潜在高速缓冲存储器-效率有益效果的损失,典型地需要相当大量的预测逻辑电路和用于步幅预测值的存储器,而这对电路面积和功率消耗具有相应影响。另外,如果将软件用于实现一些或全部预取过程,则将附加的处理器周期用于执行该软件。
此外,当确定了已预测的存储器存取时,必须检查高速缓冲存储器以确定是否已经将所预测的存储器地址加载到高速缓冲存储器中。因此,对高速缓冲存储器的每一次重复的预测存取需要确定是否发生高速缓冲存储器-命中或高速缓冲存储器-未命中这两种确定。
发明内容
本发明的目的是提供一种有效的高速缓冲存储器-预取组合。本发明另一个目的是提供一种不需要大量电路或软件编程的高速缓冲存储器-预取组合。本发明另一个目的是提供一种与已有高速缓冲存储器或预取结构兼容的高速缓冲存储器-预取组合。
通过将预取比特与每一个高速缓冲存储器块相关联,并且基于该比特的状态来管理高速缓冲存储器-预取操作,来实现这些目的和其他目的。通过使每一个应用能够识别规律重复的存储器存取可能处于的存储器区域,例如视频应用中的帧存储器,来获得另外的效果。针对这些存储器区域中的每一个,所述应用还识别可能的步幅值,例如帧存储器中的数据的线宽。将预取限制在所识别的区域内,并且将预取比特用于从这些区域中识别块,并且用于限制重复的高速缓冲存储器-命中/未命中的确定。
附图说明
将作为示例并且参考附图来更详细地解释本发明,其中:
图1示出了根据本发明的处理系统的示例方框图。
图2示出了根据本发明的预取控制器的示例流程图。
在全部附图中,相同的附图标记指代相同的元件,或执行基本相同功能的元件。附图用于说明性目的,而不意欲限制本发明的范围。
具体实施方式
图1示出了根据本发明的处理系统的示例方框图。该处理系统包括处理器150和高速缓冲存储器120,将所述高速缓冲存储器120配置用于向外部存储器110发送和从外部存储器110接收数据,并且用于响应于来自处理器150的存储器存取请求,将至少一些数据传送到处理器150。
预取控制器130也包括在本发明的处理系统中,并且可以将其包括在高速缓冲存储器120中,或如图1所示,实现为与高速缓冲存储器120相连的分离模块。
根据本发明的一个方面,高速缓冲存储器120的每一个块或线125包括预取参数126,由控制器130使用所述预取参数126以确定是否预取与块125相对应的其他数据。在优选实施例中,预取参数126是单独的二进制数字(比特),尽管也可以将多比特参数用于限定预取选项的各种组合或不同的预取优先权。图2的流程图示出了控制器130对参数126的具体使用,但是本发明不局限于图2所示的方法。
本发明的前提在于被存取数据的位置可以作为是否发生对存储器的规律重复(即,可预测的)存取的识别。通常,将预取参数126用于基于高速缓冲存储器120中的块125中的数据,向控制器130提供处理器150是否可能要存取已预取的数据的识别。在参数126的多比特实施例中,参数的值可以与可能性的定量估计相对应;在单比特实施例中,参数的值可以与简单的可能/不可能或可能/未知的确定相对应。如上所述,与传统的步幅预测表相反,对存储器的规律重复存取的可能性是基于正在被存取的存储器的块,而不是正在被执行的程序代码段。
还可以将参数126用于识别已经执行了预取的块,从而避免了在存取每一个块内数据项目时,需要执行多次高速缓冲存储器命中/未命中的确定。
根据本发明另一个方面,基于Jan-Willem van de_Waerdt 2002年5月1日递交的美国专利申请公开US/2003/0208660“MEMORY REGIONBASED DATAPRE-FETCHING”中公开的原理,将其结合在此作为参考,应用程序可以通过识别其中可能发生可预测存取的存储器110中的区域115,便于确定高速缓冲存储器中的数据块125是否有可能确保其他数据的预取。例如,在视频处理应用中,应用程序可以将存储器110中用于帧缓冲的区域识别为适合于预取的区域115。使用传统技术,应用程序在预定寄存器或存储器位置中存储这些预取区域115的每一个的边界,并且预取控制器130将所请求的存储器地址与这些边界进行比较,以确定所请求的存储器地址是否在预取区域115内。
在示例实施例中,当执行应用的处理器150首先存取限定区域115内的数据时,执行预取。使用参数126,将随后从区域115传送到高速缓冲存储器120的每一个块125识别为用于确保预取的块。当存取每一个所识别的块125时,执行与其相应的预取块的预取。
根据本发明另一方面,应用程序还便于预取步幅值的确定。在典型实施例中,应用程序通过将与每一个预取区域115相关联的步幅存储在预定寄存器或存储器位置中,直接提供预取步幅值。例如,在其中通常存取相邻垂直图像元素(像素)、并且存储器中的数据被存储为象素的连续水平线的视频应用中,应用程序可以存储水平线宽作为预取步幅值。如果将存储器中的数据存储为矩形小块,应用程序可以存储小块尺寸作为预取步幅值。
可选地,当应用程序运行时,可以使用本领域普遍使用的预测技术,但是将其修改为存储器位置依赖的而不是程序代码依赖的预测技术,探索性地确定表现出可预测存储器存取的存储器区域115和/或与每一个区域115相关联的步幅值。
图2示出了根据本发明的预取控制器的示例流程图,可以由图1的预取控制器130来使用。在210处,接收针对位于地址A处的数据项目的存储器请求。在215处,进行高速缓冲存储器命中/未命中确定。如果确定高速缓冲存储器-命中,即表示被请求的数据项目位于高速缓冲存储器中,则在220处,返回相应的数据项目,从而允许图1的处理器150继续其操作,而预取控制器确定是否从外部存储器110中预取数据。
根据本发明的一个方面,在235处,预取控制器检查以确定对被请求地址A的存取之后是否可能有针对与地址A有关的预取存储器位置处的数据的请求。如上所述,与地址A相对应的块125相关联的预取参数126提供了这种可能性的表示。在优选实施例中,预取参数126是二进制数字,其中“0”表示预取不可能是有效的,而“1”表示预取可能是有效的,或者可能性是未知的,并且应该假设是可能的,除非收集到证据确定预取不可能是有效的。
如果在215处确定了高速缓冲存储器-未命中,在225处从外部存储器中得到与地址A相对应的数据块,并且在230处设定与该高速缓冲存储器块相对应的预取参数,以表示应该针对该块执行用于预取的检查。在220处,从高速缓冲存储器块中提取与地址A相对应的数据项目,并且将其返回到处理器,从而允许图1的处理器150继续其操作,而在235处,预取控制器确定是否从外部存取110中预取数据。
本领域的普通技术人员应该理解,除了块230之外的块215-235与传统高速缓冲存储器控制器的操作相对应,并且为了完整性而呈现在此。如果使用传统的高速缓冲存储器控制器,可以将预取控制器130配置用于使用高速缓冲存储器120的命中/未命中输出,在报告未命中时,选择性地执行块230,然后继续块235。
如果在235处,预取参数表示预取可能是有效的,预取控制过程分支到判决块240;否则,如果预取参数表示预取不可能是有效的,在290处,控制器只返回以等待来自处理器的另一个存储器请求。
在240处,控制器确定与地址A相对应的预取地址是否是可用的。如上所述,在本发明的优选实施例中,将应用程序配置用于识别其中预取可能是有效的外部存储器的区域。可选地,使用与传统的步幅预测分析类似的技术,对在前的存储器存取活动进行存取,以识别/预测这种区域。如果确定地址A不具有相关联的预取数据,在280处,如以下所讨论的,过程继续。
如果在240处,确定地址A具有相关联的预取数据,则在245处检查预取资源的可用性。如果在245处,此时不能执行预取,则在290处,过程只返回以等待另一个存储器请求,并且重复以上过程。
如果在245处,预取资源当前是可用的,则在250处,优选地,通过添加与A所处的预定预取区域相关联的步幅值,来确定预取数据的地址P。可选地,可以将前述步幅预测分析技术用于估计步幅值。如果没有使用使应用程序可以定义步幅值的优选技术,则还可以使用用于确定与地址A相对应的预取地址P的其他传统技术。
在255处,评定高速缓冲存储器以确定预取地址P是否已经包含在高速缓冲存储器中(高速缓冲存储器-命中)。如果预取地址已经在高速缓冲存储器中,则不需要进行预取,并且过程继续到280,这将在以下讨论。否则,在260处,从存储器中得到与预取地址P相对应的预取数据的块,并且将其存储在高速缓冲存储器中。在270处,对与包含地址P的高速缓冲存储器块相对应的预取参数(图1的126)进行设定,以表示当通过来自处理器的存储器请求对地址P进行存取时,预取可能是有效的。
在280处,对与被请求的存储器地址A相对应的高速缓冲存储器块相关联的预取参数进行重新设定,以表示当处理器请求来自存储器地址A的、或与存储器地址A相对应的高速缓冲存储器块之内的任意存储器地址的数据项目时,预取不可能是有效的。注意,预取不可能有效的原因是:或者因为已经确定地址A不具有用于预取的相关联的地址(经由240),或者是因为已经将A的相关联预取地址P加载到高速缓冲存储器中(经由255或255-260)。因此,一旦做出了这些确定中的任意一个,避免了针对与地址A相对应的高速缓冲存储器块之内的全部地址的预取开销。
在290处,过程返回,等待处理器对于存储器存取的另一个请求。
前面仅示出了本发明的原理。因此,应该理解的是,本领域的普通技术人员能够设计各种配置,尽管这里没有清楚地描述或示出这些配置,但是所述配置具体实现了本发明的原理,并且因此在本发明的精神和范围之内。例如,图1示出了其中将预取参数26存储在高速缓冲存储器120之内的实施例。本领域的普通技术人员应该认识到,可以将预取控制器130配置用于包含这些预取参数,从而避免必须重新设计传统的高速缓冲存储器结构。按照类似的方式,作为以预测方式识别区域115的边界以识别可能要存取的存储器区域的可选方式,可使用比特表来识别这些区域,以存储器地址的高位比特作为索引。按照类似的方式,可以将传统的高速缓冲存储器标记(通常是存储器地址的高位比特)用于对表进行索引,所述表包含识别与以预测方式可能要进行存取的区域的比特、以及表示针对所述块预取是否可能是有效的预取参数。对于本领域普通技术人员,考虑到本公开,这些和其他系统结构和优化特征将是显而易见的,并且将包括在所附权利要求的范围之内。
在解释这些权利要求时,应该理解的是:a)词语“包括”不排除给定权利要求所列的元件或动作之外的其他元件或动作的存在;b)单数形式的元件不排除多个该元件的存在;c)权利要求中的任意附图标记并不限制其范围;d)几个“装置”可以由相同的项目、硬件或软件实现的结构或功能来表示;e)每一个所公开的元件可以包括硬件部分(例如,包括分立的和集成的电子电路)、软件部分(例如,计算机程序)、及其组合;f)硬件部分可以包括模拟部分和数字部分之一或两者;g)可以将任意所公开的设备或部分组合在一起,或分离成另外的部分,除非有特别说明;h)并不要求特定的动作顺序,除非有特别说明;以及i)术语“多个元件”包括两个或更多所要求的元件,并不暗示元件个数的具体范围,即多个元件可以是最少两个元件。

Claims (17)

1.一种处理系统,包括:
处理器(150),配置用于从存储器(110)接收数据;
高速缓冲存储器(120),可操作地连接在处理器(150)和存储器(110)之间,配置用于从存储器(110)接收数据,并且将所述数据传送到处理器(150);以及
预取控制器(130),可操作地与高速缓冲存储器(120)相连,配置用于基于与从存储器(110)接收到的数据相关联的预取参数(126)的状态,对将要从存储器(110)传送到高速缓冲存储器(120)的预取数据进行识别。
2.根据权利要求1所述的处理系统,还包括存储器(110)。
3.根据权利要求1所述的处理系统,其中,预取参数(126)是二进制数字,用于识别处理器(150)是否可能要请求预取数据中的数据项目。
4.根据权利要求3所述的处理系统,其中,预取参数(126)的状态是基于来自存储器(110)的数据是否来自存储器(110)的一个或更多已定义的预取区域(115)。
5.根据权利要求1所述的处理系统,其中,对预取数据进行识别也是基于与从存储器(110)接收到的数据相关联的步幅值。
6.根据权利要求5所述的处理系统,其中,所述步幅值与存储器(110)的已定义预取区域(115)相关联。
7.根据权利要求5所述的处理系统,其中,基于先前对从存储器(110)接收到的数据的存取来确定所述步幅值。
8.一种高速缓冲存储器系统(120),包括:
高速缓冲存储器,包括多个高速缓冲存储器块(125);
预取控制器(130),可操作地与高速缓冲存储器相连,配置用于基于与多个高速缓冲存储器块(125)的每一个块(125)相关联的预取参数(126),将预取数据从外部存储器(110)传送到所述高速缓冲存储器。
9.根据权利要求8所述的高速缓冲存储器系统(120),其中,所述预取参数(126)是二进制数字,用于识别可操作地与高速缓冲存储器系统(120)相连的处理器(150)是否可能要请求预取数据中的数据项目。
10.根据权利要求8所述的高速缓冲存储器系统(120),其中,所述预取参数(126)的状态是基于相应的块(125)是否是从所述外部存储器(110)的已定义的预取区域(115)传送来的。
11.根据权利要求10所述的高速缓冲存储器系统(120),其中,所述高速缓冲存储器系统(120)基于与外部存储器(110)的已定义的预取区域(115)相关联的步幅值来对预取数据进行识别。
12.一种将预取数据从外部存储器(110)传送到高速缓冲存储器系统(120)的方法,包括:
从处理器(150)接收(210)针对数据项目的请求;
对包含所述数据项目的高速缓冲存储器系统(120)的高速缓冲存储器块(125)进行识别(215);
基于与所述高速缓冲存储器块(125)相关联的预取参数(126)的状态,将所述预取数据传送(260)到所述高速缓冲存储器系统(120)。
13.根据权利要求12所述的方法,还包括:如果(215)所述数据项目未位于所述高速缓冲存储器系统(120)内,将数据块从所述外部存储器(110)传送(225)到所述高速缓冲存储器块(125)。
14.根据权利要求12所述的方法,其中,
将所述预取数据传送(260)到所述高速缓冲存储器系统(120)还基于(240)所述数据块是否与所述外部存储器(110)的已定义的预取区域(115)相关联。
15.根据权利要求12所述的方法,其中,所述预取参数(126)的状态是基于(240-280)所述数据块是否与所述外部存储器(110)的已定义的预取区域(115)相关联。
16.根据权利要求15所述的方法,还包括:基于与所述已定义的预取区域(115)相关联的步幅值,对所述预取数据进行识别(250)。
17.根据权利要求12所述的方法,还包括:确定与来自所述外部存储器(110)的所述数据块相关联的步幅值,并且基于所述步幅值对所述预取数据进行识别(250)。
CNA2005800388872A 2004-11-15 2005-11-15 具有预取的高速缓冲存储器 Pending CN101057224A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62787004P 2004-11-15 2004-11-15
US60/627,870 2004-11-15

Publications (1)

Publication Number Publication Date
CN101057224A true CN101057224A (zh) 2007-10-17

Family

ID=36336873

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800388872A Pending CN101057224A (zh) 2004-11-15 2005-11-15 具有预取的高速缓冲存储器

Country Status (6)

Country Link
US (1) US20090217004A1 (zh)
EP (1) EP1815343A2 (zh)
JP (1) JP2008521085A (zh)
KR (1) KR20070086246A (zh)
CN (1) CN101057224A (zh)
WO (1) WO2006051513A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595240A (zh) * 2011-01-17 2012-07-18 联发科技股份有限公司 缓冲装置与相应的缓冲方法
US8990435B2 (en) 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
CN106021128A (zh) * 2016-05-31 2016-10-12 东南大学—无锡集成电路技术研究所 一种基于步幅和数据相关性的数据预取器及其预取方法
US9538177B2 (en) 2011-10-31 2017-01-03 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
US11144215B2 (en) 2018-11-29 2021-10-12 Beijing Horizon Robotics Technology Research And Development Co., Ltd. Method, apparatus and electronic device for controlling memory access

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458029B1 (ko) 2007-08-16 2014-11-04 삼성전자 주식회사 프레임 캐싱 장치 및 방법
US8583894B2 (en) * 2010-09-09 2013-11-12 Advanced Micro Devices Hybrid prefetch method and apparatus
US8850123B2 (en) * 2010-10-19 2014-09-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Cache prefetch learning
US9971694B1 (en) * 2015-06-24 2018-05-15 Apple Inc. Prefetch circuit for a processor with pointer optimization
US10108549B2 (en) * 2015-09-23 2018-10-23 Intel Corporation Method and apparatus for pre-fetching data in a system having a multi-level system memory
US9904624B1 (en) 2016-04-07 2018-02-27 Apple Inc. Prefetch throttling in a multi-core system
US10180905B1 (en) 2016-04-07 2019-01-15 Apple Inc. Unified prefetch circuit for multi-level caches
US10331567B1 (en) 2017-02-17 2019-06-25 Apple Inc. Prefetch circuit with global quality factor to reduce aggressiveness in low power modes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US208660A (en) * 1878-10-01 Improvement in steam or air brakes
US6760818B2 (en) * 2002-05-01 2004-07-06 Koninklijke Philips Electronics N.V. Memory region based data pre-fetching
US7124262B2 (en) * 2002-11-20 2006-10-17 Intel Corporation Selectivity pipelining and prefetching memory data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595240A (zh) * 2011-01-17 2012-07-18 联发科技股份有限公司 缓冲装置与相应的缓冲方法
US8990435B2 (en) 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
US9497466B2 (en) 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US9538177B2 (en) 2011-10-31 2017-01-03 Mediatek Inc. Apparatus and method for buffering context arrays referenced for performing entropy decoding upon multi-tile encoded picture and related entropy decoder
CN106021128A (zh) * 2016-05-31 2016-10-12 东南大学—无锡集成电路技术研究所 一种基于步幅和数据相关性的数据预取器及其预取方法
CN106021128B (zh) * 2016-05-31 2018-10-30 东南大学—无锡集成电路技术研究所 一种基于步幅和数据相关性的数据预取器及其预取方法
US11144215B2 (en) 2018-11-29 2021-10-12 Beijing Horizon Robotics Technology Research And Development Co., Ltd. Method, apparatus and electronic device for controlling memory access

Also Published As

Publication number Publication date
EP1815343A2 (en) 2007-08-08
JP2008521085A (ja) 2008-06-19
WO2006051513A3 (en) 2007-05-18
US20090217004A1 (en) 2009-08-27
KR20070086246A (ko) 2007-08-27
WO2006051513A2 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
CN101057224A (zh) 具有预取的高速缓冲存储器
US10999214B2 (en) Secure memory with restricted access by processors
CN1952877B (zh) 用于软件可配置预取器的方法、装置和系统
US6976147B1 (en) Stride-based prefetch mechanism using a prediction confidence value
US9280474B2 (en) Adaptive data prefetching
US6430656B1 (en) Cache and management method using combined software and hardware congruence class selectors
JP4451717B2 (ja) 情報処理装置および情報処理方法
CN1673980A (zh) 为dma控制器提供高速缓存管理命令的系统和方法
US7363435B1 (en) System and method for coherence prediction
US20100293339A1 (en) Data processing system, processor and method for varying a data prefetch size based upon data usage
CN1722110A (zh) 低等待时间存储器系统访问
US20160117250A1 (en) Apparatus and Method of Throttling Hardware Pre-fetch
US8832414B2 (en) Dynamically determining the profitability of direct fetching in a multicore architecture
CN101180611A (zh) 依赖于指令类型的可配置高速缓存系统
US20090177842A1 (en) Data processing system and method for prefetching data and/or instructions
US20140229682A1 (en) Conditional prefetching
US20070240117A1 (en) Method and system for optimizing performance based on cache analysis
CN1757018A (zh) 具有预取装置的数据处理系统
EP3333710A1 (en) System, apparatus and method for dynamic profiling in a processor
KR20070084441A (ko) 로컬 메모리 데이터의 가간섭성 캐싱
US20230315627A1 (en) Cache line compression prediction and adaptive compression
US11048637B2 (en) High-frequency and low-power L1 cache and associated access technique
KR100737741B1 (ko) 다차원 데이터 선인출 캐쉬를 이용한 메모리 장치 및 그제어 방법
Long et al. An intelligent framework for oversubscription management in cpu-gpu unified memory
CN113641598A (zh) 微处理器、高速缓存存储器系统及其中实现的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20080516

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080516

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication