CN103226521A - 多模式数据预取装置及其管理方法 - Google Patents
多模式数据预取装置及其管理方法 Download PDFInfo
- Publication number
- CN103226521A CN103226521A CN2013101348031A CN201310134803A CN103226521A CN 103226521 A CN103226521 A CN 103226521A CN 2013101348031 A CN2013101348031 A CN 2013101348031A CN 201310134803 A CN201310134803 A CN 201310134803A CN 103226521 A CN103226521 A CN 103226521A
- Authority
- CN
- China
- Prior art keywords
- data
- prefetch
- looking ahead
- mode
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多模式数据预取装置,包括处理器内核、数据高速缓存、内存和多模式预取系统;所述多模式预取系统包括软件性能监视器和硬件预取系统装置;软件性能监视器包括采样模块等模块;硬件预取系统包括性能计数器等模块;数据高速缓存分别与处理器内核、最近最少使用状态更新模块和内存信号连接,内存还与流预取引擎信号连接,内存还通过预取请求过滤器与指针预取引擎信号连接;预取缓冲分别与最近最少使用状态更新模块、流预取引擎、指针预取引擎和处理器内核信号连接;性能计数器分别与处理器内核和软硬件接口信号连接,软硬件接口还与切换控制器信号连接;偏移地址表与预取请求过滤器信号连接。
Description
技术领域
本发明涉及嵌入式处理器存储系统的性能优化领域,具体为一种多模式数据预取装置及其管理方法。
背景技术
随着嵌入式处理器微体系结构技术的不断发展和生产工艺的不断改进,当今嵌入式处理器的最高频率已经突破了1.5GHz,处理速度得到了大幅地提升。与此同时,以DRAM为代表的存储器访问速度的提升却十分缓慢,近30年间只提高了不到10倍,从而形成了制约处理器性能的“存储墙”现象。为此,国内外研究人员都致力于寻找提高处理器存储系统性能的方法。其中一种可行的方法是采用多层次的存储结构和大容量的片上存储空间,降低访问片外存储器的次数;另一种是采用数据预取机制,将数据提前预取到高速缓存(cache)中。数据预取通过不同的方法预测访存地址,适当提前地发起访存操作。相比增大片上cache的层次和容量,数据预取能以较小的硬件开销有效地隐藏处理器的访存时延,从而提高存储系统的性能。不同的应用程序拥有不同的数据结构,研究人员根据这些数据间的不同相关性提出了很多预取的算法。其中,流预取机制针对流式数据结构访问特征设计,是一种已被工业界验证的成熟、高效的预取机制,已经被运用于许多现代高性能微处理器。但是,高速缓存(cache)缺失并不都是访问流式数据结构造成的,链式数据结构(如链表或者树等)就是其中常见的一种。所以,为了很好地预取链式数据结构,我们还需要重新设计针对链式数据结构访问特征的预取引擎。因此,单一的预取机制很难充分挖掘程序中的数据访问特征,以适用于不同应用背景。为处理器添加多个预取引擎组成多模式预取系统,其中每个预取引擎分别针对一种数据结构的访问特征进行优化,是解决上述问题的一种有效途径。然而,为嵌入式处理器设计多模式预取系统需要考虑很多因素:一方面,嵌入式处理器本身结构相对简单,在预取引擎设计以及预取过程控制上要充分考虑到硬件和功耗的开销;另一方面,简单地通过堆叠预取引擎并不能达到我们的目的,不同的预取引擎之间会因为内存和高速缓存(cache)有限的资源造成竞争,如果这样的竞争没有被有效地管理,不仅会造成内存带宽的浪费,还会延迟对正常访存请求的响应,从而降低处理器整体的性能,增加功耗。
发明内容
本发明要解决的技术问题是提供一种对处理器存储系统进行优化的多模式数据预取装置及其管理方法。
为了解决上述技术问题,本发明提供一种多模式数据预取装置及其管理方法,多模式数据预取装置包括处理器内核、数据高速缓存、内存和多模式预取系统;所述多模式预取系统包括软件性能监视器和硬件预取系统装置;所述软件性能监视器通过软硬件接口实现与硬件预取系统信息的交互。
作为对多模式数据预取装置的改进:软件性能监视器包括采样模块、计算模块和判决模块;硬件预取系统包括性能计数器、预取缓冲、最近最少使用状态更新模块、切换控制器、流预取引擎、指针预取引擎、预取请求过滤器和偏移地址表;数据高速缓存分别与处理器内核、最近最少使用状态更新模块和内存信号连接,内存还与流预取引擎信号连接,内存还通过预取请求过滤器与指针预取引擎信号连接;预取缓冲分别与最近最少使用状态更新模块、流预取引擎、指针预取引擎和处理器内核信号连接;性能计数器分别与处理器内核和软硬件接口信号连接,软硬件接口还与切换控制器信号连接;偏移地址表与预取请求过滤器信号连接。
一种多模式数据预取管理方法:包含以下步骤:a、通过硬件性能计数器统计处理器内核的实时运行信息;b、通过软件性能监视器读取统计信息,并计算获得衡量当前预取系统工作模式效率的参数,并作出切换判决;c、在指针预取工作模式下,通过基于偏移地址的过滤机制防止过多无效预取;d、预取数据暂时存放于预取缓冲,等待高速缓存端口空闲时重填入数据高速缓存;e、通过分类的高速缓存替换机制降低无效预取数据对数据高速缓存的污染。
作为对一种多模式数据预取管理方法的改进;所述内容a中性能计数器分别统计的处理器内核的实时运行信息包括有处理器有效预取数量、总预取数量、读取指令数量和高速缓存读取缺失数量。
作为对一种多模式数据预取管理方法的进一步改进;所述内容b中软件监视器的采样模块等时间间隔地读取性能计数器的统计信息,完成读取后将性能计数器的统计信息清零;由计算模块对统计信息进行获得的判决参数计算;所述判决参数包括预取准确率、预取覆盖率和高速缓存缺失率;通过判决模块进行工作模式判决;所述工作模式包括流预取模式、指针预取模式以及无预取模式。
作为对一种多模式数据预取管理方法的进一步改进;所述内容c中过滤机制对缺失数据进行地址预测,指针预取引擎将预测结果存入偏移地址表,指针预取引擎根据偏移地址表中的记录信息计算预取地址发起预取请求。
作为对一种多模式数据预取管理方法的进一步改进;所述内容d中的预取缓冲用于存放一次预取获得的所有数据,以32位为一项,每一项设置1位的有效位;当预取数据写入预取缓冲时,对应项的有效位为1,当预取数据重填入数据高速缓存后,对应项的有效位为0。
作为对一种多模式数据预取管理方法的进一步改进;所述内容e中分类的高速缓存替换机制根据替换数据种类具体分为两种处理方法:A、当替换数据为普通访存数据,按照普通最近最少使用机制替换高速缓存中相应位置数据,并更新最近最少使用状态编码;B、当替换数据为预取数据,替换对应位置数据,并不马上更新最近最少使用状态编码,直到预取数据被再次访问之后修改最近最少使用状态编码。
本发明的多模式数据预取装置及其管理方法可以根据当前应用特性,自适应地在流预取模式、指针预取模式和无预取模式这三种工作状态下切换,对处理器存储系统进行优化,兼顾性能和功耗方面的平衡。本发明的多模式数据预取系统通过对指针预取的过滤,可以降低无效预取的比例,节省处理器总线带宽资源。本发明的多模式数据预取系统通过对高速缓存替换机制的改进,还可以降低无效预取对高速缓存的污染。
附图说明
图1为本发明的多模式数据预取装置及其管理方法的系统结构图;
图2为本发明的多模式数据预取装置及其管理方法的切换算法的一种实施方法;
图3为本发明的多模式数据预取装置及其管理方法的过滤机制的一种实施方法,即当前缺失数据为地址时的过滤方法;
图4为本发明的多模式数据预取装置及其管理方法的过滤机制的另一种实施方法,即当前缺失数据为普通数据时的过滤方法;
图5为本发明的多模式数据预取装置及其管理方法的预取缓冲装置的结构图。
具体实施方式
实施例1、图1给出一种多模式数据预取装置及其管理方法;多模式数据预取装置(多模式数据预取装置作用于处理器存储子系统)包括处理器内核101、数据高速缓存102、内存103和多模式预取系统203;多模式预取系统203包括软件性能监视器201和硬件预取系统装置202。
软件性能监视器201包括采样模块121、计算模块122和判决模块123,硬件预取系统202包括性能计数器110(用于统计处理器内核101的运行信息)、预取缓冲111(用于暂时存放预取数据)、最近最少使用状态更新模块112(用于支持改进的高速缓存更新机制)、切换控制器116(用于控制预取系统工作模式)、流预取引擎113(用于提供流预取工作模式)、指针预取引擎114(用于提供指针预取工作模式)、预取请求过滤器115(用于过滤指针预取发起请求)和偏移地址表117(用于记录指针预取地址预测信息)。切换控制器116通过控制流预取引擎113和指针预取引擎114的开关状态提供三种多模式预取系统(流预取模式、指针预取模式以及无预取模式)的工作状态。
软件性能监视器201通过软硬件接口104实现与硬件预取系统202信息的交互;数据高速缓存102分别与处理器内核101、最近最少使用状态更新模块112和内存103信号连接,内存103还与流预取引擎113和指针预取引擎114(内存103通过预取请求过滤器115与指针预取引擎114信号连接)信号连接;预取缓冲111分别与最近最少使用状态更新模块112、流预取引擎113、指针预取引擎114和处理器内核101信号连接;性能计数器110分别与处理器内核101和软硬件接口104信号连接,软硬件接口104还与切换控制器116信号连接;偏移地址表117与预取请求过滤器115信号连接。
通过以上所述的多模式数据预取装置可以实现本发明的多模式数据预取管理方法,具体如下:
1、处理器运行信息统计:
通过硬件性能计数器110统计处理器内核101的实时运行信息;硬件性能计数器110具体包括有效预取数量计数器、总预取数量计数器、读取指令数量计数器和高速缓存读取缺失数量计数器;分别通过有效预取数量计数器、总预取数量计数器、读取指令数量计数器和高速缓存读取缺失数量计数器可以读取处理器内核101的有效预取数量、总预取数量、读取指令数量以及高速缓存读取缺失数量。
2、软件性能监视器:
软件性能监视器201的组件中,采样模块121通过软硬件接口104等时间间隔地读取性能计数器110的统计结果;采样模块121每次对性能计数器110的数据读取结束后,对性能计数器110的四个计数器(即有效预取数量计数器、总预取数量计数器、读取指令数量计数器和高速缓存读取缺失数量计数器)进行清零。
软件性能监视器201的组件中,计算模块122根据采样模块121读取的统计值计算判决参数。
判决参数用于衡量当前多模式数据预取装置的工作模式下的工作效率,包括预取准确率、预取覆盖率和高速缓存缺失率,其计算公式如表1所示:
表1
参数 | 公式 |
预取准确率 | 有效预取数量÷总预取数量 |
预取覆盖率 | 有效预取数量÷(高速缓存读取缺失数量+有效预取数量) |
高速缓存缺失率 | 高速缓存读取缺失数量÷读取指令数量 |
软件性能监视器201的组件之一判决模块123根据以上所述的三个判决参数做出对多模式数据预取装置的工作模式的判决。以图2为例,描述一种切换算法的实施方法:
a、多模式预取系统的初始工作模式为流预取模式;
b、当工作模式为流预取模式时,经过一个采样间隔,如果此时流预取的预取准确率低于准确率的阈值(Tacc)或者预取覆盖率低于覆盖率的阈值(Tcov),那么我们认为当前的数据格式不适用于流预取引擎,将预取模式切换为指针预取(如图2所述过程306);如果预取准确率高于准确率的阈值和预取覆盖率高于覆盖率的阈值),我们认为当前的预取模式工作良好,不作任何操作(如图2所述过程305);
c、当工作模式为指针预取时,如果此时指针预取的预取准确率低于准确率的阈值(Tacc)或者预取覆盖率低于覆盖率的阈值(Tcov),则再切换回流预取模式(如图2所述过程307);如果预取准确率高于准确率的阈值和预取覆盖率高于覆盖率的阈值,同样不作任何操作(如图2所述过程308);
d、如果流预取和指针预取均不能取得很好的效果,预取的工作模式将反复地在流预取和指针预取进行切换,当判决模块123记录的切换计数(切换计数即预取的工作模式反复地在流预取和指针预取进行切换的次数)大于切换阈值(Nswitch)时,我们认为此时的数据结构不适用于任何预取,判决模块123将通过软硬件接口104通知切换控制器116将流预取引擎113和指针预取引擎114关闭,进入无预取模式(如图2所述过程304和302)。
发生这样的切换,很有可能是因为当前的高速缓存缺失率很低,预取引擎(即流预取引擎113或者指针预取引擎114)难以发挥效果。随着程序的继续执行,高速缓存缺失率会发生变化,当高速缓存缺失率大于缺失率阈值(Tmiss),判决模块123会尝试再次启动流预取(如图2所述过程303),而如果缺失率一直保持在一个较低的水平,那么处理器也将保持无预取的工作模式(如图2所述过程301)。
以上所述的判决门限(即准确率的阈值Tacc、覆盖率的阈值Tcov、切换阈值Nswitch和缺失率阈值Tmiss)可以人为在判决模块123内设置或通过某种动态学习的方法自适应调整。表2为本实施例中设置的门限值。
表2
Tacc | Tcov | Tmiss | Nswitch |
0.5 | 0.1 | 0.01 | 3 |
3、基于偏移地址的过滤机制:
指针预取工作模式下(即指针预取引擎工作时),通过偏移地址表117和预取请求过滤器115对指针预取引擎114发起的预取请求进行过滤,偏移地址表117尝试预取链表结构体中的众多指针成员中实际将被访问到的成员。
当处理器内核101读取数据高速缓存102发生缺失(性能计数器110的高速缓存读取缺失数量计数器进行记录)时,指针预取引擎114通过逐位对比缺失数据与缺失地址,预测当前缺失数据是否为一个地址。根据预测结果分为两种具体实施方法:
a、若当前缺失数据是一个有效的地址。以图3为例,读取数据高速缓存102的缺失发生在访问结构体A的第三个成员f,成员f指向结构体B的头地址。
此时,在偏移地址表117中记录结构体B的头地址(即f的缺失数据)和当前缺失地址的偏移地址(相对于结构体头地址的偏移量)。
随后,将f的读取值当做虚地址发生一次预取,得到结构体B的数据。
如果预取的结构体B中有任何一个成员(例如成员p)在随后被处理器内核101使用到,那么认为结构体B中成员f指向的结构体C可能在未来被处理器内核101使用到。
利用偏移地址表117中的头地址加上偏移地址索引到成员f的位置,将成员f的数值进行地址预测,如果确认是一个有效的虚地址,则发起新一次针对结构体C的预取,之后更新偏移地址表117中的头地址为结构体C的头地址。
b、若当前缺失数据是一个普通数值。以图4为例,读取数据高速缓存102的缺失发生在访问结构体A的第一个成员p,其为一个普通数值。
此时,通过指针预取引擎114扫描当前缺失高速缓存行的所有数据,用指针预取引擎114(地址预测)查找可能存在的地址,将它们的头地址和偏移地址信息均记录在偏移地址表117中。
如图4所示,扫描之后,发现结构体A中存在指针成员b和f,分别指向结构体D和结构体B,并记录两者的偏移地址2和3。如果处理器内核101在之后的运行中,发生了一次读取结构体B成员造成的数据高速缓存102缺失,那么我们认为指向结构体B成员f才是数据结构中经常被访问的指针成员。同样,我们利用偏移地址表117中的偏移地址加上头地址,索引到结构体B中成员f的位置,将f的值进行地址预测,随后的处理过程与a所述一致。
4、预取缓冲:
本发明通过设置一个小容量的预取缓冲111解决数据高速缓存102的端口冲突的问题,当预取数据取回(即流预取请求和指针预取请求到达内存103,内存103将数据取出,写入数据高速缓冲102)时,首先,流预取引擎113或者指针预取引擎114将数据存入缓冲预取缓冲111中。存放于预取缓冲111中的预取数据以32位为一项分开保存,每一项设置1位的有效位;例如图5所示,如果每次预取的数据为一条高速缓存行,则预取缓冲的项数为8。如图5所述的一种预取缓冲111的工作方式:
a、预取数据逐项写入预取缓冲111,且相应的有效位置1;
b、当数据高速缓存102的端口空闲时,由重填的预取计数器信号311(预取计数器信号311由流预取引擎113或者指针预取引擎114提供,根据具体的工作状态确定是由流预取引擎113或者指针预取引擎114提供,即流预取模式时,由流预取引擎113提供,指针预取工作模式时,由指针预取引擎114提供)控制选择器输出重填的预取数据项信号314;当预取缓冲111中的所有预取数据完成重填后,将有效位(预取缓冲111中每一项的一个组织部分,图中的valid位)清零;
c、当处理器内核101在执行过程中,有访存操作需要读取数据,而此时数据恰好在预取缓冲111中等待写入数据高速缓存102时,通过当前的访存地址信号312控制选择器输出读取数据313,避免处理器内核101的流水线进入停顿等待状态。
5、改进的高速缓存替换机制:
为了降低暂存于预取缓冲111中的无效预取数据重填后对数据高速缓存102中数据的污染,我们对高速缓存102的替换操作进行了分类:
A、当重填的数据为普通访存数据时,数据采用最近最少使用替换策略,并且在数据高速缓存102重填完毕后通过最近最少使用状态更新模块112更新最近最少使用状态编码;
B、当重填的数据为预取回的数据,通过最近最少使用状态更新模块112直接将预取数据填入数据高速缓存102,而暂时不更新最近最少使用状态编码,直到该预取数据被处理器核心101再次使用到时,再通过最近最少使用状态更新模块112更新数据高速缓存102中的最近最少使用状态编码,可以设想,如果预取数据在一段时间内未被用到,则会很快被当成无效预取替换出数据高速缓存102。
以上附图3和附图4中所示的321均为加法器,所述的加法器321均为现有的公知技术,为基本电路,所以未在文中描述;以上文中所述的选择器为基本电路,即附图5中的MUX8to1,因为选择器为现有的公知技术,所以未详细描述。以下为附图3、附图4以及附图5中的详细说明:load miss:数据高速缓存102读取缺失;miss again:数据高速缓存102读取再次缺失;add_offset:偏移地址;addr_head:头地址;Prf_counter:预取计数器;Load_addr:访存地址;To cache和To processorcore:这两个是指示信号分别送到数据高速缓存和处理器器内核;Prf_data:预取数据,即预取缓冲111中存放的32位的一项数据;;Valid:有效位,即每一项32位预取数据的有效位标识 。
最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (8)
1.多模式数据预取装置,其特征是:包括处理器内核(101)、数据高速缓存(102)、内存(103)和多模式预取系统(203);所述多模式预取系统(203)包括软件性能监视器(201)和硬件预取系统装置(202);
所述软件性能监视器(201)通过软硬件接口(104)实现与硬件预取系统(202)信息的交互。
2.根据权利要求1所述的多模式数据预取装置,其特征是:软件性能监视器(201)包括采样模块(121)、计算模块(122)和判决模块(123);
硬件预取系统(202)包括性能计数器(110)、预取缓冲(111)、最近最少使用状态更新模块(112)、切换控制器(116)、流预取引擎(113)、指针预取引擎(114)、预取请求过滤器(115)和偏移地址表(117);
数据高速缓存(102)分别与处理器内核(101)、最近最少使用状态更新模块(112)和内存(103)信号连接,内存(103)还与流预取引擎(113)信号连接,内存(103)还通过预取请求过滤器(115)与指针预取引擎(114)信号连接;预取缓冲(111)分别与最近最少使用状态更新模块(112)、流预取引擎(113)、指针预取引擎(114)和处理器内核(101)信号连接;性能计数器(110)分别与处理器内核(101)和软硬件接口(104)信号连接,软硬件接口(104)还与切换控制器(116)信号连接;偏移地址表(117)与预取请求过滤器(115)信号连接。
3.多模式数据预取管理方法;其特征是:包含以下步骤:
a、通过硬件性能计数器(110)统计处理器内核(101)的实时运行信息;
b、通过软件性能监视器(201)读取统计信息,并计算获得衡量当前预取系统工作模式效率的参数,并作出切换判决;
c、在指针预取工作模式下,通过基于偏移地址的过滤机制防止过多无效预取;
d、预取数据暂时存放于预取缓冲(111),等待高速缓存端口空闲时重填入数据高速缓存(102);
e、通过分类的高速缓存替换机制降低无效预取数据对数据高速缓存(102)的污染。
4.根据权利要求3所述的多模式数据预取管理方法;其特征是:所述内容a中性能计数器(110)分别统计的处理器内核(101)的实时运行信息包括有处理器有效预取数量、总预取数量、读取指令数量和高速缓存读取缺失数量。
5.根据权利要求4所述的多模式数据预取管理方法;其特征是:所述内容b中软件监视器(201)的采样模块(121)等时间间隔地读取性能计数器(110)的统计信息,完成读取后将性能计数器(110)的统计信息清零;
由计算模块(122)对统计信息进行获得的判决参数计算;所述判决参数包括预取准确率、预取覆盖率和高速缓存缺失率;
通过判决模块(123)进行工作模式判决;所述工作模式包括流预取模式、指针预取模式以及无预取模式。
6.根据权利要求5所述的多模式数据预取管理方法;其特征是:所述内容c中过滤机制对缺失数据进行地址预测,指针预取引擎(114)将预测结果存入偏移地址表(117),指针预取引擎(114)根据偏移地址表(117)中的记录信息计算预取地址发起预取请求。
7.根据权利要求6所述的多模式数据预取管理方法;其特征是:所述内容d中的预取缓冲(111)用于存放一次预取获得的所有数据,以32位为一项,每一项设置1位的有效位;当预取数据写入预取缓冲(111)时,对应项的有效位为1,当预取数据重填入数据高速缓存(102)后,对应项的有效位为0。
8. 根据权利要求7所述的多模式数据预取管理方法;其特征是:所述内容e中分类的高速缓存替换机制根据替换数据种类具体分为两种处理方法:
A、当替换数据为普通访存数据,按照普通最近最少使用机制替换高速缓存中相应位置数据,并更新最近最少使用状态编码;
B、当替换数据为预取数据,替换对应位置数据,并不马上更新最近最少使用状态编码,直到预取数据被再次访问之后修改最近最少使用状态编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310134803.1A CN103226521B (zh) | 2013-04-18 | 2013-04-18 | 多模式数据预取装置及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310134803.1A CN103226521B (zh) | 2013-04-18 | 2013-04-18 | 多模式数据预取装置及其管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226521A true CN103226521A (zh) | 2013-07-31 |
CN103226521B CN103226521B (zh) | 2016-03-02 |
Family
ID=48836978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310134803.1A Active CN103226521B (zh) | 2013-04-18 | 2013-04-18 | 多模式数据预取装置及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226521B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750696A (zh) * | 2013-12-26 | 2015-07-01 | 华为技术有限公司 | 一种数据预取方法及装置 |
CN104808967A (zh) * | 2015-05-07 | 2015-07-29 | 盐城工学院 | 一种处理器的动态数据预取系统 |
CN105550031A (zh) * | 2014-10-22 | 2016-05-04 | 想象技术有限公司 | 节流硬件预取的设备和方法 |
CN105930281A (zh) * | 2016-05-12 | 2016-09-07 | 清华大学 | 以配置信息驱动数据访存模式匹配的片上缓存预取机制 |
CN108874691A (zh) * | 2017-05-16 | 2018-11-23 | 龙芯中科技术有限公司 | 数据预取方法和内存控制器 |
CN109196487A (zh) * | 2016-06-13 | 2019-01-11 | 超威半导体公司 | 向上/向下预取器 |
CN109408412A (zh) * | 2018-10-24 | 2019-03-01 | 龙芯中科技术有限公司 | 内存预取控制方法、装置及设备 |
WO2020020175A1 (zh) * | 2018-07-27 | 2020-01-30 | 华为技术有限公司 | 一种数据预取方法及终端设备 |
CN111258644A (zh) * | 2018-11-30 | 2020-06-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、处理器、数据处理装置及存储介质 |
CN112100094A (zh) * | 2019-10-01 | 2020-12-18 | 海光信息技术股份有限公司 | 用于基于预取指针的结构的系统和方法 |
CN114065947A (zh) * | 2021-11-15 | 2022-02-18 | 深圳大学 | 一种数据访问推测方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201732A (zh) * | 2007-10-09 | 2008-06-18 | 浙江大学 | 32位的多模式微处理器 |
US20120226892A1 (en) * | 2005-03-16 | 2012-09-06 | Tirumalai Partha P | Method and apparatus for generating efficient code for scout thread to prefetch data values for a main thread |
-
2013
- 2013-04-18 CN CN201310134803.1A patent/CN103226521B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226892A1 (en) * | 2005-03-16 | 2012-09-06 | Tirumalai Partha P | Method and apparatus for generating efficient code for scout thread to prefetch data values for a main thread |
CN101201732A (zh) * | 2007-10-09 | 2008-06-18 | 浙江大学 | 32位的多模式微处理器 |
Non-Patent Citations (1)
Title |
---|
EIMAN EBRABIMI等: "Techniques for Bandwidth-Efficient Prefetching of Linked Data Structures in Hybrid Prefetching Systems", 《PROCEEDINGS OF THE 15TH INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750696B (zh) * | 2013-12-26 | 2018-07-20 | 华为技术有限公司 | 一种数据预取方法及装置 |
CN104750696A (zh) * | 2013-12-26 | 2015-07-01 | 华为技术有限公司 | 一种数据预取方法及装置 |
CN105550031A (zh) * | 2014-10-22 | 2016-05-04 | 想象技术有限公司 | 节流硬件预取的设备和方法 |
CN104808967A (zh) * | 2015-05-07 | 2015-07-29 | 盐城工学院 | 一种处理器的动态数据预取系统 |
CN105930281B (zh) * | 2016-05-12 | 2019-01-15 | 清华大学 | 以配置信息驱动数据访存模式匹配的片上缓存预取机制 |
CN105930281A (zh) * | 2016-05-12 | 2016-09-07 | 清华大学 | 以配置信息驱动数据访存模式匹配的片上缓存预取机制 |
CN109196487A (zh) * | 2016-06-13 | 2019-01-11 | 超威半导体公司 | 向上/向下预取器 |
CN108874691B (zh) * | 2017-05-16 | 2021-04-30 | 龙芯中科技术股份有限公司 | 数据预取方法和内存控制器 |
CN108874691A (zh) * | 2017-05-16 | 2018-11-23 | 龙芯中科技术有限公司 | 数据预取方法和内存控制器 |
WO2020020175A1 (zh) * | 2018-07-27 | 2020-01-30 | 华为技术有限公司 | 一种数据预取方法及终端设备 |
US11586544B2 (en) | 2018-07-27 | 2023-02-21 | Huawei Technologies Co., Ltd. | Data prefetching method and terminal device |
CN109408412A (zh) * | 2018-10-24 | 2019-03-01 | 龙芯中科技术有限公司 | 内存预取控制方法、装置及设备 |
CN111258644A (zh) * | 2018-11-30 | 2020-06-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、处理器、数据处理装置及存储介质 |
CN111258644B (zh) * | 2018-11-30 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 数据处理方法、处理器、数据处理装置及存储介质 |
CN112100094A (zh) * | 2019-10-01 | 2020-12-18 | 海光信息技术股份有限公司 | 用于基于预取指针的结构的系统和方法 |
CN112100094B (zh) * | 2019-10-01 | 2021-07-23 | 海光信息技术股份有限公司 | 用于基于预取指针的结构的系统和方法 |
CN114065947A (zh) * | 2021-11-15 | 2022-02-18 | 深圳大学 | 一种数据访问推测方法、装置、存储介质及电子设备 |
CN114065947B (zh) * | 2021-11-15 | 2022-07-22 | 深圳大学 | 一种数据访问推测方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103226521B (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226521B (zh) | 多模式数据预取装置及其管理方法 | |
CN102023931B (zh) | 一种自适应缓存预取方法 | |
US8103894B2 (en) | Power conservation in vertically-striped NUCA caches | |
CN107193646A (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
US8271728B2 (en) | Spiral cache power management, adaptive sizing and interface operations | |
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 | |
CN101689147B (zh) | 数据预取调节 | |
CN111052095B (zh) | 使用动态预取深度的多行数据预取 | |
CN102937937B (zh) | 数据预取器及预取数据至高速缓存存储器的方法 | |
CN103246613B (zh) | 缓存装置及用于缓存装置的缓存数据获取方法 | |
CN100399299C (zh) | 一种高速缓存失效的处理器访存指令处理方法 | |
EP3676713B1 (en) | Utilization-based throttling of hardware prefetchers | |
CN104662519A (zh) | 在非易失性存储器中缓存代码的方法、系统和设备 | |
CN103885728A (zh) | 一种基于固态盘的磁盘缓存系统 | |
CN104572497B (zh) | 通过计数逐出进行的动态高速缓存扩大 | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
Bock et al. | Concurrent page migration for mobile systems with OS-managed hybrid memory | |
DE102013202995A1 (de) | Energieeinsparung in Verzweigungsvorhersagen | |
CN104679681A (zh) | Ahb总线访问片上sram的高速桥装置及其工作方法 | |
EP1304619A1 (en) | Cache memory operation | |
CN102521161B (zh) | 一种数据的缓存方法、装置和服务器 | |
US11467972B2 (en) | L1D to L2 eviction | |
CN100595738C (zh) | 一种面向嵌入式应用的软件可控Cache的实现方法 | |
Sun et al. | DAC: A dynamic active and collaborative cache management scheme for solid state disks | |
Sleiman et al. | Embedded way prediction for last-level caches |
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 |