CN105930281A - 以配置信息驱动数据访存模式匹配的片上缓存预取机制 - Google Patents

以配置信息驱动数据访存模式匹配的片上缓存预取机制 Download PDF

Info

Publication number
CN105930281A
CN105930281A CN201610317626.4A CN201610317626A CN105930281A CN 105930281 A CN105930281 A CN 105930281A CN 201610317626 A CN201610317626 A CN 201610317626A CN 105930281 A CN105930281 A CN 105930281A
Authority
CN
China
Prior art keywords
configuration information
prefetch
memory access
data
pattern
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
Application number
CN201610317626.4A
Other languages
English (en)
Other versions
CN105930281B (zh
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201610317626.4A priority Critical patent/CN105930281B/zh
Publication of CN105930281A publication Critical patent/CN105930281A/zh
Application granted granted Critical
Publication of CN105930281B publication Critical patent/CN105930281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/602Details relating to cache prefetching

Landscapes

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

Abstract

本发明公开了一种以配置信息驱动数据访存模式匹配的片上缓存预取机制,包括:模式检测模块,用于基于可重构阵列的访存地址,检测当前执行的配置信息的预取模式;模式存储模块,用于存储预设时间段内使用的配置信息的预取模式;地址生成模块,用于根据存储的预取模式为再次在可重构阵列上执行的配置信息产生数据预取地址;模式评估模块,用于计算存储的预取模式的预取准确度,以检测出失效的预取模式并更新。本发明实施例的片上缓存预取机制,在预取准确度超过一定的阈值时,按照预取模版获取预取数据,提高了预取的准确度和性能,进一步提高了系统性能,简单易实现。

Description

以配置信息驱动数据访存模式匹配的片上缓存预取机制
技术领域
本发明涉及动态可重构技术领域,特别涉及一种以配置信息驱动数据访存模式匹配的片上缓存预取机制。
背景技术
可重构计算阵列使用多个处理单元(Processing Elements,PEs)构成的阵列来满足不同应用程序的不同需求。未来的计算系统往往需要兼具多功能和高性能的特点,当前的趋势是在计算系统中加入多个可重构计算阵列,来自适应地支持不同的标准,同时满足日益增加的性能需求。与其他典型的计算系统类似,由多个可重构阵列组成的计算系统面临的挑战之一是:不断增加的内存带宽需求和有限的片外存储器访问速度之间日益增大的差距。片上缓存已经作为一种非常有效的方法来减少片外存储器的带宽要求。图1显示了多个可重构阵列共享片上缓存的一种通用的体系结构,该结构类似于片上多处理器(chip multiprocessor)架构,其中的每个可重构阵列相当于一个处理器。
通过片上缓存获得高性能的关键之一是有效地管理缓存,以减少对片外存储器的访问次数。片上缓存通常采用LRU(Least Recently Used)替换方法,该方法并不会对运算数据进行预取。因此,一旦当前需要的运算数据并不在片上缓存中,即发生缓存缺失时,需要从片外存储器中读取缺失的运算数据;此时,处理器不得不停止运算,等待运算数据从片外存储器中读入,导致降低处理器的性能。
为了解决这个问题,缓存的预取方法已经被证明是一种可以有效地使用片上缓存的技术,该技术为每个处理器预先准备运算数据。相关技术中,如图2所示,图2给出了使用SBP方法实现片上缓存预取的例子,该方法预先定义好了一些不同步长的预取模板,在系统运行时实时地评估不同的预取模板可能获得的收益,再按照收益最大的预取模板进行预取。
然而,相关技术中的片上缓存预取方法,根据处理器的历史访存信息,推测处理器近期将要使用的运算数据地址,并进行预取。其主要追踪记录通用处理器中独立的访存地址,没有考虑到可重构阵列上的配置信息被多次执行的特点,因此直接使用现有的预取方法会存在以下问题:
1、相关技术中的缓存预取方法需要经过同一地址的多次缓存缺失过程,才能确定访存 数据流的步长和方向,这个过程消耗的时间很长。
2、相关技术中的预取方法仅仅基于历史访存地址来推测当前可能的访存地址,它们之间不一定存在联系,因此历史访存信息很可能已经过时却仍然在被使用,从而对当前访存地址产生错误的推测。
3、相关技术中的硬件预取方法无法检测到数组的边界,会在数组边界之外预取大量的无效数据,从而造成片上缓存的污染和预取准确度的降低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提出一种以配置信息驱动数据访存模式匹配的片上缓存预取机制,该机制可以提高预取的准确度和性能,简单易实现。
为达到上述目的,本发明实施例提出了一种以配置信息驱动数据访存模式匹配的片上缓存预取机制,包括:模式检测模块,用于基于可重构阵列的访存地址,检测当前执行的配置信息的预取模式;模式存储模块,用于存储预设时间段内使用的配置信息的预取模式;地址生成模块,用于根据存储的预取模式为再次在可重构阵列上执行的配置信息产生数据预取地址;模式评估模块,用于计算所述存储的预取模式的预取准确度,以检测出失效的预取模式并更新。
本发明实施例的以配置信息驱动数据访存模式匹配的片上缓存预取机制,在进行收益评估时并不需要实际去获得预取的数据,而是通过判断预取模板是否可以精准地预取数据,只有当预取模板的预取准确度超过一定的阈值时,才会按照该预取模板去实际获取预取数据,提高了预取的准确度和性能,进一步提高了系统性能,简单易实现。
另外,根据本发明上述实施例的以配置信息驱动数据访存模式匹配的片上缓存预取机制还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述模式检测模块具体用于检测所述访存地址中的数据流,以记录下描述数据流的信息,并且当检测到的数据流与之前的任意一个数据流首尾相接时,将这两个数据流拼接在一起,以及当检测到的数据流与之前的任意一个数据流有重叠的地址时,将这两个数据流合并为一个。
进一步地,在本发明的一个实施例中,缓存采用全相连(full-associative)的组织模式,缓存的标签是配置信息索引,缓存的数据空间为每套配置信息存储固定数目的数据流。
进一步地,在本发明的一个实施例中,所述地址生成模块根据配置信息的预取模式产生基于步长的预取,其中,所述地址生成模块使用所述配置信息作为索引在所述模式存储模块中查找并读出相应的预取模式,按照基于步长的预取生成顺序的所述数据预取地址。
进一步地,在本发明的一个实施例中,所述模式评估模块通过布隆滤波器、预取计数器与命中计数器计算预取准确度,其中,所述布隆滤波器由多路选择器、按位异或模块和位向量组成,所述预取计数器与命中计数器分别统计预取的数据量和命中的数据量。
进一步地,在本发明的一个实施例中,所述预取模式的预取准确度通过计算命中计数器与预取计数器的比值得到,如果所述比值超过预设阈值,则所述预取模式仍然有效,不需要进行更新,否则所述预取模式需要被更新。
进一步地,在本发明的一个实施例中,所述位向量、所述预取计数器与所述命中计数器在评估过程完成之后进行一次复位。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为相关技术中的多个可重构阵列共享缓存的体系结构示意图;
图2为根据本发明一个实施例的实现片上缓存预取的SBP方法的流程图;
图3为根据本发明实施例的以配置信息驱动数据访存模式匹配的片上缓存预取机制的结构示意图;
图4为根据本发明一个实施例的模式存储模块的存储空间内容示意图;
图5为根据本发明一个实施例的模式评估模块的硬件结构示意图;以及
图6为根据本发明一个实施例的性能对比示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的以配置信息驱动数据访存模式匹配的片上缓存预取机制。
图3是本发明实施例的以配置信息驱动数据访存模式匹配的片上缓存预取机制的结构示意图。
如图3所示,该以配置信息驱动数据访存模式匹配的片上缓存预取机制10包括:模式检测模块100、模式存储模块200、地址生成模块300和模式评估模块400。
其中,模式检测模块100用于基于可重构阵列的访存地址,检测当前执行的配置信息的预取模式。模式存储模块200用于存储预设时间段内使用的配置信息的预取模式。地址生成模块300用于根据存储的预取模式为再次在可重构阵列上执行的配置信息产生数据预取地址。模式评估模块400用于计算存储的预取模式的预取准确度,以检测出失效的预取模式并更新。本发明实施例的片上缓存预取机制10在预取准确度超过一定的阈值时,按照预取模版获取预取数据,提高了预取的准确度和性能,进一步提高了系统性能。
具体地,如图3所示,模式检测模块基于可重构阵列20的访存地址,检测当前执行的配置信息的预取模式;模式存储模块200用来存储最近使用的配置信息的预取模式;地址生成模块300根据已经存储的预取模式,为再次在可重构阵列20上执行的配置信息产生数据预取地址;模式评估模块400计算预取模式的预取准确度,检测出失效的预取模式并更新。其中使用的输入信号说明如下:
1、context index信号:在可重构阵列上执行的配置信息的索引;
2、invalid信号:指示当前配置信息的访存模式是否需要更新;
3、prefetch addresses信号:预取地址;
4、cache miss信号:指示当前配置信息的预取模式不在模式存储模块中;
5、read cache信号:将当前配置信息的预取模式从模式存储模块中读出;
6、write cache信号:将当前配置信息的预取模式写入到模式存储模块中。
需要说明的是,图3中可重构阵列20、片上缓存30与片外存储器40的结构与作用为本领域技术人员公知的,为减少冗余,在此不作详细赘述。另外,预设时间段可以根据实际情况进行设置,例如为了得到最近使用的配置信息的预取模式,可以将预设时间段设置为一个月内,
进一步地,在本发明的一个实施例中,模式检测模块100具体用于检测访存地址中的数据流,以记录下描述数据流的信息,并且当检测到的数据流与之前的任意一个数据流首尾相接时,将这两个数据流拼接在一起,以及当检测到的数据流与之前的任意一个数据流有重叠的地址时,将这两个数据流合并为一个。
在本发明的实施例中,模式检测模块100主要检测访存地址中的数据流,记录下描述数据流的相关信息,如表1所示。另外,模式检测模块100可以实现多个数据流的拼接与合并:当检测到的数据流与之前的某个数据流首尾相接时,可以将这两个数据流拼接在一起;当检测到的数据流与之前的某个数据流有重叠的地址时,可以将这两个数据流合并为一个。
表1
项目 位宽 描述
起始地址 32bits 数据流的起始访存地址
位置 16bits 数据流在配置信息的全部访存地址中的位置
步长 16bits 数据流中相邻的两个访存地址的间隔
拍数 16bits 数据流的长度
权重 16bits 数据流的权重
进一步地,在本发明的一个实施例中,缓存采用全相连(full-associative)的组织模式,缓存的标签是配置信息索引,缓存的数据空间为每套配置信息存储固定数目的数据流。
具体地,模式存储模块200采用缓存结构存储近期使用的配置信息的预取模式,其中的存储内容如图4所示。缓存采用全相连(full-associative)的组织模式,缓存的标签是配置信息索引,缓存的数据空间为每套配置信息存储固定数目的数据流。
进一步地,在本发明的一个实施例中,地址生成模块300根据配置信息的预取模式产生基于步长的预取,其中,地址生成模块300使用配置信息作为索引在模式存储模块200中查找并读出相应的预取模式,按照基于步长的预取生成顺序的数据预取地址。
也就是说,在本发明的实施例中,地址生成模块300根据配置信息的预取模式产生基于步长的预取。地址生成模块300使用配置信息作为索引在模式存储模块中查找并读出相应的预取模式,按照基于步长的预取生成顺序的预取地址a+s,a+2×s,...a+d×s,其中的各个变量定义如下:
1、变量a是预取的起始地址,它等于可重构阵列当前的访存地址;
2、变量s是相邻的预取地址间偏移量,它等于预取模式的步长;
3、变量d是预取地址的数目,它等于预取模式的拍数。
进一步地,在本发明的一个实施例中,模式评估模块400通过布隆滤波器、预取计数器与命中计数器计算预取准确度,其中,布隆滤波器由多路选择器、按位异或模块和位向量组成,预取计数器与命中计数器分别统计预取的数据量和命中的数据量。
在本发明的一个实施例中,如图5所示,模式评估模块400使用布隆滤波器和两个计数器计算预取准确度:布隆滤波器由多路选择器、按位异或模块和一个4096比特位向量组成;两个硬件计数器分别统计预取的数据量和命中的数据量。其中使用的输入信号说明如下:
1、prefetch address信号:预取地址;
2、prefetch request信号:预取请求;
3、demand address信号:可重构阵列的访存地址;
4、filter address信号:布隆滤波器中用来生成比特位索引的地址。
当prefetch request信号有效时,多路选择器选通prefetch address到filter address,按位异或之后将位向量的相应比特位置为1,指示该预取地址已经被存入片上缓存中。同时,预取计数器的值增加1。
当可重构阵列发起访存请求时,多路选择器选通demand address到filter address,按位异或之后读出位向量的相应比特位的数值。若该值为1,表示可重构阵列的访存地址已经被预取到片上缓存中,在这种情况下,命中计数器的值增加1。
进一步地,在本发明的一个实施例中,预取模式的预取准确度通过计算命中计数器与预取计数器的比值得到,如果比值超过预设阈值,则预取模式仍然有效,不需要进行更新,否则预取模式需要被更新。
也就是说,预取模式的准确度可以通过计算命中计数器与预取计数器的比值得到:如果该比值超过给定的阈值θ(=3/4),那么认为预取模式仍然有效,不需要进行更新:否则,预取模式需要被更新。
进一步地,在本发明的一个实施例中,位向量、预取计数器与命中计数器在评估过程完成之后进行一次复位。即言,位向量和两个硬件计数器的值在每套配置信息的预取模式评估过程完成之后进行一次复位。
在本发明的实施例中,当进行收益评估时并不需要实际去获得预取的数据,而是通过将预取模板的访存地址与一个布隆滤波器中的历史记录进行比较,来判断预取模板是否可以精准地预取数据,只有当预取模板的预取准确度超过一定的阈值时,才会按照该预取模板去实际获取预取数据。具体地,本发明实施例的片上缓存预取机制的特点与优点如下:
主要特点:
1、使用可重构阵列的配置信息作为引导,当配置信息首次在可重构阵列上执行时,记录该配置信息的数据访存模式;
2、当配置信息再次在可重构阵列上执行时,根据已经记录的数据访存模式产生预取地址;
3、使用布隆滤波器评估数据访存模式的预取准确度,对于失效的数据访存模式进行更新。
主要优点:
1、该机制减少了重复训练的次数和时间,通常只需要在配置信息首次执行时进行一次训练过程;
2、该机制记录了配置信息准确的数据访存模式,消除了无效的历史数据对预取性能的负面影响;
3、该机制的数据访存模式可以记录到循环的边界,防止预取循环边界之外的无效数据。
举例而言,在图3所示的结构上,对比本发明实施例提出的以配置信息驱动数据访存模式匹配的片上缓存预取机制与相关技术中方法的性能。该结构中的各部分模块的配置参数如表2所示,表2为:
表2
用于性能对比的测试集如表3所示,可以分为两组:一组测试集包括Parallel1~Parallel7,其中两个可重构阵列执行同样的算法,但是输入数据不同;以测试集Parallel5为例,可重构阵列1和可重构阵列2分别完成同一帧图像的奇数场和偶数场的中值滤波运算。另一组测试集包括Pipeline1~Pipeline6,其中两个可重构阵列组成流水线,执行不同的算法;以测试集Pipeline3为例,可重构阵列1完成反离散余弦变换,可重构阵列2完成运动补偿,这两个算法是主流的视频解码算法中两个顺序执行的子算法。
表3
本发明实施例的预取方法与相关技术中3种预取方法的性能对比如图6所示,具体的性能对比结果如表4所示,其中采用LRU方法的性能加速比归一化为1,其他预取方法的性能以相对于LRU算法的性能加速比表示。
表4
由此得知,与相关技术中3种预取方法相比,采用本发明实施例的预取方法,系统的性能加速比平均分别提高了32%,12%,和8%。
下面以测试集Parallel4为例,对比了本发明实施例与SBP方法得到的预取效果的不同。
本测试集中,两个可重构阵列完成相同的运算,都是按照牛顿引力定律和牛顿运动定律来模拟N个粒子的运动状态。其中可重构阵列用到的输入数据包括N个粒子的位置、质量、速度,它们按照不同的数组存放在外部存储器中。计算的第一步是使用位置和质量计算粒子之间的引力大小;第二步是使用位置、质量和速度计算每个粒子的运动状态。计算过程中可重构阵列的输入数据由多个不同步长的短数据流交织组成,这些数据流在粒子的位置、质量、速度信息之间频繁切换。
在这种情况下,本发明实施例的预取方法可以检测到不同时刻访存同一类信息的具有 相同步长的多个短数据流,并且将它们合并为一个统一的长数据流;当配置信息再次被执行时,就可以预取整个长数据流,从而提高预取的性能。另外,本发明实施例的预取方法将数据流与配置信息相关联,消除了其他配置信息的数据流对预取准确度的影响,可以提高预取的性能。
相比之下,SBP预取方法只能按照预先定义好的固定步长进行预取,不适合本例子中多个不同步长的数据流交织在一起的情况。因此,相比于SBP方法,本发明实施例的预取方法可以提高9%的系统性能。
根据本发明实施例的以配置信息驱动数据访存模式匹配的片上缓存预取机制,在进行收益评估时并不需要实际去获得预取的数据,而是通过判断预取模板是否可以精准地预取数据,只有当预取模板的预取准确度超过一定的阈值时,才会按照该预取模板去实际获取预取数据,提高了预取的准确度和性能,进一步提高了系统性能,简单易实现。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、 或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,包括:
模式检测模块,用于基于可重构阵列的访存地址,检测当前执行的配置信息的预取模式;
模式存储模块,用于存储预设时间段内使用的配置信息的预取模式;
地址生成模块,用于根据存储的预取模式为再次在可重构阵列上执行的配置信息产生数据预取地址;以及
模式评估模块,用于计算所述存储的预取模式的预取准确度,以检测出失效的预取模式并更新。
2.根据权利要求1所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,所述模式检测模块具体用于检测所述访存地址中的数据流,以记录下描述数据流的信息,并且当检测到的数据流与之前的任意一个数据流首尾相接时,将这两个数据流拼接在一起,以及当检测到的数据流与之前的任意一个数据流有重叠的地址时,将这两个数据流合并为一个。
3.根据权利要求1所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,缓存采用全相连(full-associative)的组织模式,缓存的标签是配置信息索引,缓存的数据空间为每套配置信息存储固定数目的数据流。
4.根据权利要求1所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,所述地址生成模块根据配置信息的预取模式产生基于步长的预取,其中,所述地址生成模块使用所述配置信息作为索引在所述模式存储模块中查找并读出相应的预取模式,按照基于步长的预取生成顺序的所述数据预取地址。
5.根据权利要求1所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,所述模式评估模块通过布隆滤波器、预取计数器与命中计数器计算预取准确度,其中,所述布隆滤波器由多路选择器、按位异或模块和位向量组成,所述预取计数器与命中计数器分别统计预取的数据量和命中的数据量。
6.根据权利要求5所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,所述预取模式的预取准确度通过计算命中计数器与预取计数器的比值得到,如果所述比值超过预设阈值,则所述预取模式仍然有效,不需要进行更新,否则所述预取模式需要被更新。
7.根据权利要求5所述的以配置信息驱动数据访存模式匹配的片上缓存预取机制,其特征在于,所述位向量、所述预取计数器与所述命中计数器在评估过程完成之后进行一次复位。
CN201610317626.4A 2016-05-12 2016-05-12 以配置信息驱动数据访存模式匹配的片上缓存预取机制 Active CN105930281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610317626.4A CN105930281B (zh) 2016-05-12 2016-05-12 以配置信息驱动数据访存模式匹配的片上缓存预取机制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610317626.4A CN105930281B (zh) 2016-05-12 2016-05-12 以配置信息驱动数据访存模式匹配的片上缓存预取机制

Publications (2)

Publication Number Publication Date
CN105930281A true CN105930281A (zh) 2016-09-07
CN105930281B CN105930281B (zh) 2019-01-15

Family

ID=56834996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610317626.4A Active CN105930281B (zh) 2016-05-12 2016-05-12 以配置信息驱动数据访存模式匹配的片上缓存预取机制

Country Status (1)

Country Link
CN (1) CN105930281B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408412A (zh) * 2018-10-24 2019-03-01 龙芯中科技术有限公司 内存预取控制方法、装置及设备
CN109783399A (zh) * 2018-11-19 2019-05-21 西安交通大学 一种动态可重构处理器的数据缓存预取方法
CN110704107A (zh) * 2019-09-30 2020-01-17 上海兆芯集成电路有限公司 预取器、预取器的运作方法及处理器
CN110879797A (zh) * 2019-10-31 2020-03-13 西安交通大学 高速可重构处理器配置信息缓存替换方法及存储体系结构
EP3686734A4 (en) * 2017-07-20 2021-08-18 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCESS AND ASSOCIATED PRODUCT
CN114358179A (zh) * 2021-12-31 2022-04-15 海光信息技术股份有限公司 处理器的预取训练方法、处理装置、处理器和计算设备
CN115328821A (zh) * 2022-10-18 2022-11-11 北京红山微电子技术有限公司 基于GPU的可重构Cache系统、访存系统及访存方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233963A1 (en) * 2006-03-30 2007-10-04 Kabushiki Kaisha Toshiba Data processing system and method for processing data
CN102609377A (zh) * 2011-01-17 2012-07-25 索尼公司 存储器存取控制电路、存储器设备和信息处理系统
CN103226521A (zh) * 2013-04-18 2013-07-31 浙江大学 多模式数据预取装置及其管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233963A1 (en) * 2006-03-30 2007-10-04 Kabushiki Kaisha Toshiba Data processing system and method for processing data
CN102609377A (zh) * 2011-01-17 2012-07-25 索尼公司 存储器存取控制电路、存储器设备和信息处理系统
CN103226521A (zh) * 2013-04-18 2013-07-31 浙江大学 多模式数据预取装置及其管理方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3686734A4 (en) * 2017-07-20 2021-08-18 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCESS AND ASSOCIATED PRODUCT
US11481215B2 (en) 2017-07-20 2022-10-25 Cambricon (Xi'an) Semiconductor Co., Ltd. Calculation method and related product
CN109408412A (zh) * 2018-10-24 2019-03-01 龙芯中科技术有限公司 内存预取控制方法、装置及设备
CN109783399A (zh) * 2018-11-19 2019-05-21 西安交通大学 一种动态可重构处理器的数据缓存预取方法
CN109783399B (zh) * 2018-11-19 2021-01-19 西安交通大学 一种动态可重构处理器的数据缓存预取方法
US11403225B2 (en) 2019-09-30 2022-08-02 Shanghai Zhaoxin Semiconductor Co., Ltd. Prefetcher, operating method of prefetcher, and processor operated based on updated offset amount
CN110704107A (zh) * 2019-09-30 2020-01-17 上海兆芯集成电路有限公司 预取器、预取器的运作方法及处理器
CN110704107B (zh) * 2019-09-30 2022-03-22 上海兆芯集成电路有限公司 预取器、预取器的运作方法及处理器
CN110879797A (zh) * 2019-10-31 2020-03-13 西安交通大学 高速可重构处理器配置信息缓存替换方法及存储体系结构
CN110879797B (zh) * 2019-10-31 2021-09-07 西安交通大学 高速可重构处理器配置信息缓存替换方法及存储体系结构
CN114358179A (zh) * 2021-12-31 2022-04-15 海光信息技术股份有限公司 处理器的预取训练方法、处理装置、处理器和计算设备
CN115328821A (zh) * 2022-10-18 2022-11-11 北京红山微电子技术有限公司 基于GPU的可重构Cache系统、访存系统及访存方法
CN115328821B (zh) * 2022-10-18 2022-12-23 北京红山微电子技术有限公司 基于GPU的可重构Cache系统、访存系统及访存方法

Also Published As

Publication number Publication date
CN105930281B (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN105930281A (zh) 以配置信息驱动数据访存模式匹配的片上缓存预取机制
Gupta et al. Locality principle revisited: A probability-based quantitative approach
US7958317B2 (en) Cache directed sequential prefetch
CN100517274C (zh) 高速缓冲存储器及其控制方法
US10579531B2 (en) Multi-line data prefetching using dynamic prefetch depth
US20090006813A1 (en) Data forwarding from system memory-side prefetcher
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
Basu et al. Scavenger: A new last level cache architecture with global block priority
CN110321299A (zh) 用于检测重复数据访问并自动地将数据加载到本地高速缓存中的系统、方法和装置
US20200364053A1 (en) Data structure-aware prefetching method and device on graphics processing unit
US6711651B1 (en) Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching
US11301250B2 (en) Data prefetching auxiliary circuit, data prefetching method, and microprocessor
CN101645034B (zh) 用于检测数据存取违例的方法和装置
US7330941B2 (en) Global modified indicator to reduce power consumption on cache miss
US9367466B2 (en) Conditional prefetching
CN107844380A (zh) 一种支持指令预取的多核缓存wcet分析方法
US11036639B2 (en) Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays
US10037278B2 (en) Operation processing device having hierarchical cache memory and method for controlling operation processing device having hierarchical cache memory
Ali Cache replacement algorithm
US10013352B2 (en) Partner-aware virtual microsectoring for sectored cache architectures
DE102020132893A1 (de) Vorrichtungen, verfahren und systeme für einen duplikationsbeständigen on-die-prefetcher für unregelmässige daten
US6542855B1 (en) Selecting a cache design for a computer system using a model with a seed cache to generate a trace
US11086781B2 (en) Methods and apparatus for monitoring prefetcher accuracy information using a prefetch flag independently accessible from prefetch tag information
US10025717B1 (en) Multi-dimensional prefetching
US20230205699A1 (en) Region aware delta prefetcher

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant