CN115309453A - 一种支持乱序处理器数据预取的缓存访问系统 - Google Patents

一种支持乱序处理器数据预取的缓存访问系统 Download PDF

Info

Publication number
CN115309453A
CN115309453A CN202210828128.1A CN202210828128A CN115309453A CN 115309453 A CN115309453 A CN 115309453A CN 202210828128 A CN202210828128 A CN 202210828128A CN 115309453 A CN115309453 A CN 115309453A
Authority
CN
China
Prior art keywords
address
queue
load
access information
access
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
CN202210828128.1A
Other languages
English (en)
Inventor
韩军
刘旭东
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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN202210828128.1A priority Critical patent/CN115309453A/zh
Publication of CN115309453A publication Critical patent/CN115309453A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明属于集成电路设计技术领域,具体为一种支持乱序处理器数据预取的缓存访问系统。本发明系统具体包括:LOAD访存信息追踪排序模块、LOAD访存地址历史缓冲器、预取器和目标预取地址缓冲器。LOAD访存信息追踪排序模块将乱序LOAD访存信息变为顺序LOAD访存信息,再输入预取器;预取器利用顺序的访存信息实现更准确的训练和目标预取地址预测,预取器输出的有效目标预取地址存储在目标预取地址缓冲器中等待后续发送,目标预取地址缓冲器实时更新以失效不及时地址,以避免发送无用的预取地址。本发明可提高访存规律的学习效率和地址预测的准确率,减少预取请求对缓存系统的资源占用。

Description

一种支持乱序处理器数据预取的缓存访问系统
技术领域
本发明属于集成电路设计技术领域,具体涉及一种支持乱序处理器数据预取的缓存访问系统。
背景技术
乱序执行和乱序访存是现代乱序处理器中提高指令执行效率和访存效率的常见技术,通过更改指令的执行顺序和访存顺序,减少整体的指令执行时间和访存时间。另一方面,由于应用程序的复杂化和缓存大小等方面的限制,面向一些访存密集的应用时,缓存缺失率较高,访存已逐渐成为现代处理器的一大性能瓶颈,缓存的数据预取技术是降低缓存缺失率、提高访存效率的一种有效方式,先进的高性能处理器大都会采用高效的数据预取器提高访存性能。面向数据进行预取的预取技术实现称为数据预取器,数据预取一般只对作为访存主要瓶颈的LOAD数据进行预取,硬件实现的数据预取器主要通过根据内部实现的预取算法硬件对输入的访存地址和其他访存信息进行处理,试图捕捉和复原应用程序的访存规律,即访存地址间的规律,再利用总结的访存规律对未来的访存地址进行预测,最后将预测访存地址的对应数据“预取”到缓存中,若预测是准确的,就避免了原先的缓存缺失。由于数据预取器需要捕捉和复原应用程序的访存规律,这需要数据预取器接收的访存地址是顺序的。然而在乱序处理器中,访存地址是乱序的,使用乱序的访存地址会大幅度影响数据预取器对访存规律的捕捉和复原,进而影响预测的准确率。另外,数据预取器发出的预取请求需要占用缓存系统的部分资源,除了地址预测错误,地址预测准确但不及时也会造成资源的无效消耗,甚至影响正常访存请求的处理。
发明内容
为了克服现有技术的不足,本发明提出一种支持乱序处理器数据预取并能过滤不及时预取请求的缓存访问系统。
本发明中,支持乱序处理器数据预取的缓存访问系统,主要有乱序LOAD访存信息变为顺序LOAD访存信息的地址转换系统和预取器发出的目标预取地址的失效系统两个部分。具体实现的硬件结构包括LOAD访存信息追踪排序模块、LOAD访存地址历史缓冲器、预取器和目标预取地址缓冲器。LOAD访存信息追踪排序模块将乱序LOAD访存信息变为顺序LOAD访存信息,然后再输入预取器;预取器能够利用顺序的访存信息实现更准确的训练和目标预取地址预测,预取器输出的有效目标预取地址将存储在目标预取地址缓冲器中,等待后续发送,目标预取地址缓冲器会实时更新以失效不及时地址以避免发送无用的预取地址。
本发明利用加载存储队列中的LOAD访存排序信息实现一级数据缓存中乱序访存地址的排序,以实现数据预取器更准确的训练和预测,并通过短期内的访存地址历史过滤不及时的预取请求。
本发明提供的持乱序处理器数据预取的缓存访问系统,实现硬件包括:LOAD访存信息追踪排序模块、LOAD访存地址历史缓冲器、预取器和目标预取地址缓冲器;其中:
所述LOAD访存信息追踪排序模块,是一个循环队列,该循环队列具有3个特殊的位置索引,分别是队列头、队列尾以及位于队列头和队列尾中间的当前访问表项;队列头和队列尾与从加载存储单元中加载地址队列的队列头和队列尾相一致;循环队列的表项数量与加载存储单元中加载地址队列的表项数量一致;循环队列的每个表项对应于加载地址队列同一位置的表项;由于加载地址队列从队列头到队列尾保持顺序的访存信息,循环队列从队列头到队列尾也有着顺序的访存信息。循环队列中各个表项的内容包括LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈、是否缺失、是否命中。其中,LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈等信息可直接从加载存储单元中加载地址队列同步获取,是否缺失和是否命中的信息需要从一级数据缓存中获取,当该访存地址从加载存储单元发送到一级数据缓存中时,将判断得到的是否缺失和是否命中的信息根据其在加载地址队列的位置写入到循环队列的对应表项。
进一步地,LOAD访存信息追踪排序模块中乱序LOAD访存信息变为顺序LOAD访存信息的转换,具体实现如下:
(1)LOAD访存信息追踪排序模块从加载存储单元中加载地址队列中获取同步的LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈等信息。
(2)LOAD地址发送到一级数据缓存中判断缺失或命中后,根据LOAD地址在加载存储单元中加载地址队列的位置,将是否缺失和是否命中的信息写入到LOAD访存信息追踪排序模块内循环队列的对应表项。
(3)LOAD访存信息追踪排序模块内循环队列具有3个特殊的位置索引,分别是队列头、队列尾,位于队列头和队列尾中间的当前访问表项。队列头和队列尾与从加载存储单元中加载地址队列的队列头和队列尾相一致,在无异常、分支预测错误等的正常情况下,LOAD指令提交时提交队列头并更新队列头,LOAD请求插入时写入队列尾并更新队列尾。位于队列头和队列尾中间的当前访问表项存储着下一个要发送给预取器的地址,该表项初始位置和队列头相一致。
(4)每一周期,LOAD访存信息追踪排序模块检查当前访问表项中是否存在地址命中标记、地址缺失标记和地址可被前馈标记,若至少存在上述3种标记中的任意一种标记,那么当前访问表项中存储的LOAD地址、LOAD指令PC等访存信息可被发送到LOAD访存地址历史缓冲器和预取器,同时更新当前访问表项位置。
所述LOAD访存地址历史缓冲器,是一个先入先出队列,队列的表项数量和预取器从输入访存信息到产生预测的目标预取地址所需时间相关,先入先出队列保存了LOAD访存信息追踪排序模块最近给出的几个输入到预取器的顺序访存地址。先入先出队列存储的访存地址历史用于判断预取器输出的目标预取地址是否有效,即预取器输出的目标预取地址是否在预取器输入输出延迟时间内已被处理器访问。
所述预取器,是数据预取器模块,根据不同的预取算法有不同的实现,但预取器的输入输出接口是统一的,输入为LOAD访存信息追踪排序模块给出的顺序访存信息,输出为预测的目标预取地址,预取器根据具体的预取算法对输入的LOAD访存信息进行模式识别和规律捕捉,进而进行目标预取地址的预测。
所述目标预取地址缓冲器,是一个循环队列,其中每个表项存储了一个目标预取地址,预取器产生的目标预取地址在判断为有效地址后将插入到循环队列尾。循环队列的每个存储着有效目标预取地址的表项在发出对应预取请求前可能被外部失效,目标预取地址缓冲器优先选择从队列头起始的首个有效的表项进而发出对应预取请求。
进一步地,目标预取地址缓冲器中预取器发出的目标预取地址的失效系统,具体实现如下:
(1)预取器产生一个新的目标预取地址时,需要从两个方面来判断该地址是否有效。第一个方面,需要查找LOAD访存地址历史缓冲器和LOAD访存信息追踪排序模块中的有效表项中是否存在相同的地址,若存在,说明这个目标预取地址在近期被处理器核实际访问过,对应数据极有可能已位于缓存中,该地址无效;第二个方面,需要查找目标预取地址缓冲器中的有效表项中是否存在相同的地址,若存在,说明这个目标预取地址在近期已经被发送过,是一个重复发送的目标预取地址,该地址无效;
(2)预取器产生的目标预取地址判断为有效地址后将插入到目标预取地址缓冲器的队列尾,每一周期,将检查目标预取地址缓冲器的每一表项中的目标预取地址是否与当前一级数据缓存给出的命中地址或缺失地址相同,若某一表项存储的地址与之相同,说明这一地址正被访问,该表项存储的地址已经不及时,将该表项置为无效表项,不再用于预取。
与现有技术相比,本发明的有益技术效果体现在:
(1)设计的乱序访存地址变为顺序访存地址的转换系统,利用处理器的加载存储单元中的加载地址队列提供的访存地址顺序,对实际访问一级数据缓存的地址及相关信息进行重排序后输入到预取器,进而实现预取器对顺序访存信息的模式识别和规律捕捉,提高访存规律的学习效率和地址预测的准确率;
(2)设计的准确但不及时的目标预取地址的失效系统,通过查找短期历史的访问地址和当前周期可能的访问地址以确认目标预取地址在实际发出对应预取请求前是否已被处理器访问过,再失效查找到的目标预取地址,进而避免对此类无用预取请求的处理,减少预取请求对缓存系统的资源占用。
附图说明
图1为支持乱序处理器数据预取的缓存访问系统硬件实现的结构框图。
图2为LOAD访存信息追踪排序模块的结构框图。
图3为目标预取地址缓冲器的结构框图。
具体实施方式
本发明中,支持乱序处理器数据预取的缓存访问系统的硬件实现结构如图1所示。这一缓存访问系统实现在一级缓存级别,可以容易地与处理器的加载存储单元进行通信,具体的硬件结构包括访存信息追踪模块、访存历史缓冲器、预取器和目标预取地址缓冲器。其中,硬件实现时并不涉及预取器单元的具体实现,而是对预取器单元的输入和输出进行处理,使用顺序访存地址输入辅助预取器进行模式识别和规律捕捉,并对预取器输出的目标预取地址进行过滤,提高预取器的预测准确率和减少预取请求对缓存系统的资源占用。
处理器核发出的所有访存请求均由加载存储单元进行处理,缓存访问系统的访存信息追踪模块将从加载存储单元读取LOAD访存排序信息,并从一级数据缓存读取实时的乱序访存信息,一级数据缓存传递给访存信息追踪模块的访存信息是乱序的,进行重排序后将顺序的访存信息输入到预取器。目标预取地址缓冲器发出的目标预取地址将发送到二级数据缓存以读取对应的数据,再将数据传输给一级数据缓存。下面对缓存访问系统的各个模块的功能和整体的工作原理进行介绍。
访存信息追踪模块的结构如图2所示,该模块是一个循环队列,负责对一级数据缓存给出的乱序访存地址进行重排序。循环队列的每一表项存储6部分信息,分别是LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈、是否缺失、是否命中。其中,LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈可直接从加载存储单元中加载地址队列同步获取,是否缺失和是否命中的信息需要从一级数据缓存中获取,当该访存地址从加载存储单元发送到一级数据缓存中时,将判断得到的是否缺失和是否命中的信息根据其在加载地址队列的位置写入到循环队列的对应表项。当加载存储单元接收处理器核发出一个新LOAD访存请求时,加载地址队列将在队列尾创建一个新的有效表项存储对应信息,访存信息追踪模块的循环队列也会同步更新,也在队列尾创建一个新的有效表项存储所需的对应信息。当处理器提交一条LOAD访存指令时,将失效加载地址队列内位于队列头的表项,同时也将失效循环队列内位于队列头的表项。
一个新的LOAD访存请求进入加载存储单元后,随后将发送到一级数据缓存中进行数据访问,但由于硬件结构冲突、读写冲突等原因,发送到一级数据缓存的访存请求可能会被拒绝,从而需要加载存储单元再次发送,正是因为有些访存请求会被拒绝,一级数据缓存处理的访存地址是乱序的,访存请求的完成时间是乱序的。
访存信息追踪模块内循环队列和加载存储单元的加载队列一样,从队列头到队列尾记录了LOAD访存请求的顺序,循环队列内某个表项有效只说明对应请求在加载存储单元中,但不清楚该请求是否已经发送给一级数据缓存,以及是否被接受。为了标记表项对应请求的此类信息,当某个LOAD访存请求发送给一级数据缓存并被接受时,根据当前请求的命中情况,根据该LOAD访存请求在加载地址队列中的位置索引,将访存信息追踪模块内循环队列对应表项中的命中标记或缺失标记置为1。
访存信息追踪模块向外输出顺序访存信息时,将从队列头起始查找首个未发送过的满足条件的表项,此处发送需要满足的条件为前馈标记、命中标记和缺失标记三者中任一标记为1。此处的前馈标记具体指的是加载存储单元中检测到的写地址到读地址的前馈,由于读地址和之前某个写地址相同,写请求数据可直接前馈到读请求数据,标记前馈的LOAD请求实际上不需要发送到一级数据缓存。向外发送的当前访问表项位置始终位于队列头和队列尾之间,初始时位于队列头,等待当前访问表项满足前述条件时向外发送。因此,访存信息追踪模块的发送系统保证了发送的访存信息是顺序的。
访存信息追踪模块发送的访存信息将输入到预取器和访存地址历史缓冲器,其中访存地址历史缓冲器是一个先入先出队列,存储了最近一段时间内的访问地址。一般情况下,预取器的硬件实现并不是纯组合逻辑,预取器在读取输入访存信息后到产生本次输入对应的预取地址间存在一定的延时,在这段延时内,可能有新的访存信息从访存信息追踪模块从输出,访存地址历史缓冲器的主要目的就是记录这段延时内访存信息追踪模块发送的访存地址,由于访存信息追踪模块中这些发送过的访存地址可能已经失效,访存地址历史缓冲器记录的这些地址可用来检查预取器发送的目标预取地址是否在预取器内部延时期间被访问过,从而判断目标预取地址是否已经不及时。
预取器根据访存信息追踪模块发送的顺序访存信息,经过内部的预取算法硬件处理后进行预测,产生目标的预取地址。
目标预取地址缓冲器的结构如图3所示,该缓冲器是一个循环队列,负责存储目标预取地址、失效不及时的目标预取地址以及向外发送预取请求。预取器产生的目标预取地址在判断为有效地址后,将插入到目标预取地址缓冲器内循环队列的队列尾。目标预取地址缓冲器向外发送预取请求时优先选择从队列头起始的首个有效的表项。
预取器产生的目标预取地址判断是否有效主要通过两方面进行:第一个方面,需要查找LOAD访存地址历史缓冲器和LOAD访存信息追踪排序模块中的有效表项中是否存在相同的地址,若存在,说明这个目标预取地址在近期被处理器核实际访问过,对应数据极有可能已位于缓存中,该地址无效;第二个方面,需要查找目标预取地址缓冲器中的有效表项中是否存在相同的地址,若存在,说明这个目标预取地址在近期已经被发送过,是一个重复发送的目标预取地址,该地址无效。
目标预取地址缓冲器内的有效表项仍有可能在发送对应预取请求前被失效。每一周期,将检查每一表项中的目标预取地址是否与当前一级数据缓存给出的命中地址或缺失地址相同,若某一表项存储的地址与之相同,说明这一地址正被访问,该表项存储的地址已经不及时,将该表项置为无效表项,不再用于预取。

Claims (3)

1.一种支持乱序处理器数据预取的缓存访问系统,其特征在于,分为乱序LOAD访存信息变为顺序LOAD访存信息的地址转换系统和预取器发出的目标预取地址的失效系统两个部分;硬件结构包括LOAD访存信息追踪排序模块、LOAD访存地址历史缓冲器、预取器和目标预取地址缓冲器;LOAD访存信息追踪排序模块将乱序LOAD访存信息变为顺序LOAD访存信息,然后再输入预取器;预取器利用顺序的访存信息实现更准确的训练和目标预取地址预测,预取器输出的有效目标预取地址存储在目标预取地址缓冲器中,等待后续发送;目标预取地址缓冲器实时更新以失效不及时地址以避免发送无用的预取地址;其中:
所述LOAD访存信息追踪排序模块,是一个循环队列,该循环队列具有3个位置索引,分别是队列头、队列尾以及位于队列头和队列尾中间的当前访问表项;队列头和队列尾与从加载存储单元中加载地址队列的队列头和队列尾相一致;表项数量与加载存储单元中加载地址队列的表项数量一致,循环队列的每个表项对应于加载地址队列同一位置的表项;由于加载地址队列从队列头到队列尾保持顺序的访存信息,循环队列从队列头到队列尾也有着顺序的访存信息;循环队列中各个表项的内容包括LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈、是否缺失、是否命中;其中,LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈的信息直接从加载存储单元中加载地址队列同步获取,是否缺失和是否命中的信息从一级数据缓存中获取;当该访存地址从加载存储单元发送到一级数据缓存中时,将判断得到的是否缺失和是否命中的信息根据其在加载地址队列的位置写入到循环队列的对应表项;
所述LOAD访存地址历史缓冲器,是一个先入先出队列,该队列的表项数量和预取器从输入访存信息到产生预测的目标预取地址所需时间相关,先入先出队列保存LOAD访存信息追踪排序模块最近给出的几个输入到预取器的顺序访存地址;先入先出队列存储的访存地址历史用于判断预取器输出的目标预取地址是否有效;
所述预取器,是数据预取模块,根据不同的预取算法有不同的实现方式;预取器的输入输出接口是统一的,输入为LOAD访存信息追踪排序模块给出的顺序访存信息,输出为预测的目标预取地址,预取器根据具体的预取算法对输入的LOAD访存信息进行模式识别和规律捕捉,进而进行目标预取地址的预测;
所述目标预取地址缓冲器,是一个循环队列,其中每个表项存储一个目标预取地址,预取器产生的目标预取地址在判断为有效地址后将插入到循环队列尾;循环队列的每个存储着有效目标预取地址的表项在发出对应预取请求前可能被外部失效,目标预取地址缓冲器优先选择从队列头起始的首个有效的表项进而发出对应预取请求。
2.根据权利要求1所述的支持乱序处理器数据预取的缓存访问系统,其特征在于,所述LOAD访存信息追踪排序模块中,乱序LOAD访存信息变为顺序LOAD访存信息的转换的流程如下:
(1)LOAD访存信息追踪排序模块从加载存储单元中加载地址队列中获取同步的LOAD地址、LOAD指令PC、地址属性是否可缓存、是否可被前馈信息;
(2)LOAD地址发送到一级数据缓存中判断缺失或命中后,根据LOAD地址在加载存储单元中加载地址队列的位置,将是否缺失和是否命中的信息写入到LOAD访存信息追踪排序模块内循环队列的对应表项;
(3)LOAD访存信息追踪排序模块内循环队列具有3个位置索引,分别是队列头、队列尾以及位于队列头和队列尾中间的当前访问表项;队列头和队列尾与从加载存储单元中加载地址队列的队列头和队列尾相一致;在无异常、分支预测错误的正常情况下,LOAD指令提交时提交队列头并更新队列头,LOAD请求插入时写入队列尾并更新队列尾;位于队列头和队列尾中间的当前访问表项存储有下一个要发送给预取器的地址,该表项初始位置和队列头相一致;
(4)每一周期,LOAD访存信息追踪排序模块检查当前访问表项中是否存在地址命中标记、地址缺失标记和地址可被前馈标记,若至少存在上述3种标记中的任意一种标记,那么当前访问表项中存储的LOAD地址、LOAD指令PC的访存信息被发送到LOAD访存地址历史缓冲器和预取器,同时更新当前访问表项位置。
3.根据权利要求1所述的支持乱序处理器数据预取的缓存访问系统,其特征在于,所述目标预取地址缓冲器中,预取器发出的目标预取地址的失效,具体如下:
(1)预取器产生一个新的目标预取地址时,从两个方面来判断该地址是否有效;第一个方面,查找LOAD访存地址历史缓冲器和LOAD访存信息追踪排序模块中的有效表项中是否存在相同的地址;若存在,说明这个目标预取地址在近期被处理器核实际访问过,对应数据极有可能已位于缓存中,该地址无效;第二个方面,查找目标预取地址缓冲器中的有效表项中是否存在相同的地址,若存在,说明这个目标预取地址在近期已经被发送过,是一个重复发送的目标预取地址,该地址无效;
(2)预取器产生的目标预取地址判断为有效地址后插入到目标预取地址缓冲器的队列尾,每一周期,将检查目标预取地址缓冲器的每一表项中的目标预取地址是否与当前一级数据缓存给出的命中地址或缺失地址相同,若某一表项存储的地址与之相同,说明这一地址正被访问,该表项存储的地址已经不及时,将该表项置为无效表项,不再用于预取。
CN202210828128.1A 2022-07-14 2022-07-14 一种支持乱序处理器数据预取的缓存访问系统 Pending CN115309453A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210828128.1A CN115309453A (zh) 2022-07-14 2022-07-14 一种支持乱序处理器数据预取的缓存访问系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210828128.1A CN115309453A (zh) 2022-07-14 2022-07-14 一种支持乱序处理器数据预取的缓存访问系统

Publications (1)

Publication Number Publication Date
CN115309453A true CN115309453A (zh) 2022-11-08

Family

ID=83856148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210828128.1A Pending CN115309453A (zh) 2022-07-14 2022-07-14 一种支持乱序处理器数据预取的缓存访问系统

Country Status (1)

Country Link
CN (1) CN115309453A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389630A (zh) * 2023-12-11 2024-01-12 北京开源芯片研究院 一种数据缓存方法、装置、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389630A (zh) * 2023-12-11 2024-01-12 北京开源芯片研究院 一种数据缓存方法、装置、电子设备及可读存储介质
CN117389630B (zh) * 2023-12-11 2024-03-05 北京开源芯片研究院 一种数据缓存方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
JP4160589B2 (ja) 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
US8788759B2 (en) Double-buffered data storage to reduce prefetch generation stalls
US8140768B2 (en) Jump starting prefetch streams across page boundaries
US7240163B2 (en) Microprocessor, apparatus and method for selective prefetch retire
US7657726B2 (en) Context look ahead storage structures
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
US9524232B2 (en) Inter-core cooperative TLB prefetchers
US8190825B2 (en) Arithmetic processing apparatus and method of controlling the same
JP2003514299A (ja) インデックスおよび任意の様式一致に基づいてデータを転送するストアバッファ
US7716424B2 (en) Victim prefetching in a cache hierarchy
CN112416817B (zh) 预取方法、信息处理装置、设备以及存储介质
US7047362B2 (en) Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer
US6237064B1 (en) Cache memory with reduced latency
CN115309453A (zh) 一种支持乱序处理器数据预取的缓存访问系统
US20110022802A1 (en) Controlling data accesses to hierarchical data stores to retain access order
US6983346B2 (en) Reducing tag-ram accesses and accelerating cache operation during cache miss
EP2790107A1 (en) Processing unit and method for controlling processing unit
KR100710922B1 (ko) 캐시 관리 방법
US20060179173A1 (en) Method and system for cache utilization by prefetching for multiple DMA reads
CN108874691B (zh) 数据预取方法和内存控制器
WO2006040689A1 (en) Implementation and management of moveable buffers in cache system
US10380034B2 (en) Cache return order optimization
CN112527395B (zh) 数据预取方法和数据处理装置
US5918247A (en) Method for canceling partial line fetch for cache when new data is requested during current fetch and invalidating portion of previously fetched data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination