CN104699629B - 共享片上缓存划分装置 - Google Patents

共享片上缓存划分装置 Download PDF

Info

Publication number
CN104699629B
CN104699629B CN201510112753.6A CN201510112753A CN104699629B CN 104699629 B CN104699629 B CN 104699629B CN 201510112753 A CN201510112753 A CN 201510112753A CN 104699629 B CN104699629 B CN 104699629B
Authority
CN
China
Prior art keywords
reconfigurable arrays
caching
monitoring modular
arrays
mrow
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.)
Active
Application number
CN201510112753.6A
Other languages
English (en)
Other versions
CN104699629A (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 CN201510112753.6A priority Critical patent/CN104699629B/zh
Publication of CN104699629A publication Critical patent/CN104699629A/zh
Application granted granted Critical
Publication of CN104699629B publication Critical patent/CN104699629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种共享片上缓存划分装置,包括:片上缓存模块;多个可重构阵列;多个第一监测模块,用于跟踪多个可重构阵列上执行应用程序的缓存利用率信息;多个第二监测模块,用于记录多个可重构阵列上执行算法的循环迭代次数;划分模块,用于根据缓存利用率信息和循环迭代次数确定分配至每个可重构阵列相应的共享缓存路数,实现片外存储器的访问。本发明实施例的划分装置,通过平衡多个可重构阵列之间的缓存利用率,从而缩短多个可重构阵列组成的流水线的关键路径长度提高系统性能,并且结构简单,操作方便。

Description

共享片上缓存划分装置
技术领域
本发明涉及动态可重构技术领域,特别涉及一种共享片上缓存划分装置。
背景技术
如图1所示,图中显示了多个可重构阵列共享片上缓存的一种通用的体系结构,该结构类似于片上多处理器(chip multiprocessor)架构,其中,每个可重构阵列相当于一个处理器。其中,通过共享片上缓存获得高性能的关键之一是有效地管理共享缓存,从而减少对片外存储器的访问次数。片上缓存通常采用LRU(Least Recently Used,最近最少使用页面置换算法)替换方法,该方法并不区分不同处理器的访存请求。因此,共享缓存中一个处理器将要用到的数据可能被别的处理器的数据替换掉,导致降低共享缓存的效率。
相关技术中,共享缓存划分已经被证明是一种可以有效地使用共享缓存的方法,其为每个处理器在共享缓存中动态地分配独享的空间。主要的共享缓存划分方法包括UCP方法、PIPP方法和Vantage方法。举例而言,如图2所示,图中给出了一个使用UCP方法划分两个处理器共享的8路缓存的例子,其使用硬件计数器(UMON)实时在线监视每一路缓存的命中和缺失状态,以此计数器收集的状态信息为基础,UCP方法以总的缓存命中最多为目标来决定分配给每个处理器的缓存资源数量,可以得出,当处理器0分配5路缓存,处理器1分配3路缓存的情况下,总的缓存命中数最多。
然而,相关技术中的共享缓存划分方法以总的缓存利用率最大化为优化目标,导致未考虑到缓存利用率对可重构阵列性能的影响,并且对于多个可重构阵列组成的流水线,相关技术中未考虑到平衡各级流水线的访存延时,从而可能会加长流水线的关键路径,导致系统整体性能的下降。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种能够提高系统性能,并且结构简单,操作方便的共享片上缓存划分装置。
为达到上述目的,本发明实施例提出了一种共享片上缓存划分装置,包括:片上缓存模块;与所述片上缓存模块相连的多个可重构阵列,其中,每个可重构阵列包括多个处理单元;多个第一监测模块,所述多个第一监测模块一一对应地与所述多个可重构阵列相连,用于跟踪所述多个可重构阵列上执行应用程序的缓存利用率信息;多个第二监测模块,所述多个第二监测模块一一对应地与所述多个可重构阵列相连,用于记录所述多个可重构阵列上执行算法的循环迭代次数;划分模块,所述划分模块分别与所述多个第一监测模块、所述多个第二监测模块和所述片上缓存模块相连,用于根据所述缓存利用率信息和所述循环迭代次数确定分配至所述每个可重构阵列相应的共享缓存路数,实现片外存储器的访问。
根据本发明实施例提出的共享片上缓存划分装置,通过实时监控并记录每个可重构阵列上执行算法的循环迭代次数,并且根据缓存利用率信息和循环迭代次数分配至每个可重构阵列相应的共享缓存路数,实现片外存储器的访问,通过平衡多个可重构阵列之间的缓存利用率,从而缩短多个可重构阵列组成的流水线的关键路径长度提高了系统性能,并且结构简单,操作方便。
另外,根据本发明上述实施例的共享片上缓存划分装置还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述多个第二监测模块中每个第二监测模块包括:减法器和与所述减法器相连的寄存器;迭代次数解析器,所述迭代次数解析器用于根据可重构阵列的配置信息获取所述可重构阵列上执行算法的总循环迭代次数;多路选择器,所述多路选择器分别与所述减法器、所述寄存器和所述迭代次数解析器相连,用于选择所述减法器的被减数,以每完成一次循环迭代,所述被减数的值减去1。
进一步地,在本发明的一个实施例中,分配结果为总性能Ptotal最大的缓存路数分配结果,其中,获取所述总性能Ptotal的公式为:
K为可重构阵列的个数,j为可重构阵列的索引,ij为分配给可重构阵列j的缓存路数,当ij路缓存被分配给所述可重构阵列j时,变量为所述可重构阵列j的缓存利用率,N_leftj为所述可重构阵列j上还未被执行的循环迭代次数。
优选地,在本发明的一个实施例中,所述片上缓存模块可以采用LRU替换算法。
进一步地,在本发明的一个实施例中,所述多个第一监测模块和所述多个第二监测模块可以为硬件计数器。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为相关技术中多个可重构阵列共享片上缓存的装置结构示意图;
图2为相关技术中基于利用率的共享缓存的划分示意图;
图3为根据本发明实施例的共享片上缓存划分装置的结构示意图;
图4为根据本发明一个实施例的第二监测模块的结构示意图;
图5为根据本发明一个实施例的共享片上缓存划分装置的结构示意图;
图6为根据本发明一个实施例的共享片上缓存划分装置与相关技术的性能对比示意图;
图7为根据本发明一个实施例的共享片上缓存划分装置与相关技术的划分结果对比示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
下面在描述根据本发明实施例提出的共享片上缓存划分装置之前,先来简单描述一下共享片上缓存划分的重要性。
具体地,动态可重构计算是一种将软件的灵活性和硬件的高效性结合在一起的计算方式。和通用处理器之间的区别在于它不仅可以改变控制流,还可以在配置信息的控制下动态地改变数据通路的结构,具有高性能、低硬件开销和功耗、灵活性好、扩展性好的优点;同时,在处理速度上,可重构计算的性能正在接近专用定制芯片。
进一步地,可重构计算阵列使用多个处理单元(Processing Elements,PEs)构成的阵列来满足不同应用程序的不同需求。未来的计算系统往往需要兼具多功能和高性能的特点,当前的趋势是在计算系统中加入多个可重构计算阵列,来自适应地支持不同的标准,同时满足日益增加的性能需求。与其他典型的计算系统类似,由多个可重构阵列组成的计算系统面临的挑战之一是:不断增加的内存带宽需求和有限的片外存储器访问速度之间日益增大的差距。片上缓存已经作为一种非常有效的方法来减少片外存储器的带宽要求。
然而,相关技术中,为了对运算进行加速,多个可重构阵列往往组成流水线完成一个应用程序。在这种模式下,一个应用程序被分解为多个可以顺序执行的子算法,分配到多个可重构阵列构成的流水线上进行运算,每个可重构阵列完成不同的子算法。因此,执行一个应用程序的性能由可重构阵列流水线中执行时间最长的一个子算法决定。由于缓存缺失之后从外部存储器读取数据的延时远远大于可重构阵列的计算时间,因此可重构阵列的性能瓶颈在于一旦发生缓存缺失之后的访存时间。不同的缓存划分结果会导致不同的缓存缺失率,从而影响可重构阵列的性能,导致出现系统整体性能下降的问题。
本发明正是基于上述问题,而提出了一种共享片上缓存划分装置。
下面参照附图描述根据本发明实施例提出的共享片上缓存划分装置。参照图3所示,该划分装置10包括:片上缓存模块100、多个可重构阵列200、多个第一监测模块300、多个第二监测模块400和划分模块500。
其中,多个可重构阵列200与片上缓存模块100相连,每个可重构阵列包括多个处理单元。多个第一监测模块300一一对应地与多个可重构阵列200相连,多个第一监测模块300用于跟踪多个可重构阵列200上执行应用程序的缓存利用率信息。多个第二监测模块400一一对应地与多个可重构阵200列相连,多个第二监测模块400用于记录多个可重构阵列200上执行算法的循环迭代次数。划分模块500分别与多个第一监测模块300、多个第二监测模块400和片上缓存模块100相连,划分模块500用于根据缓存利用率信息和循环迭代次数确定分配至每个可重构阵列相应的共享缓存路数,实现片外存储器20的访问。本发明实施例通过平衡多个可重构阵列之间的缓存利用率,从而缩短多个可重构阵列组成的流水线的关键路径长度实现提高系统性能的目的。
优选地,在本发明的一个实施例中,片上缓存模块100可以采用LRU替换算法。
进一步地,在本发明的一个实施例中,每个可重构阵列的结构可以为8*8个处理单元PEs。
优选地,在本发明的一个实施例中,多个第一监测模块300和多个第二监测模块400可以为硬件计数器。
在本发明的实施例中,本发明实施例使用硬件计数器实时监控并记录每个可重构阵列上执行算法的循环迭代次数,并且在共享缓存的划分方法中使用循环迭代次数对每个可重构阵列的缓存利用率进行加权,平衡多个可重构阵列组成的流水线的各级路径长度。
具体地,在本发明的一个实施例中,参照图4所示,多个第二监测模块中每个第二监测模块包括:减法器401、寄存器402、迭代次数解析器403和多路选择器404。
其中,寄存器402与减法器401相连。迭代次数解析器403用于根据可重构阵列的配置信息获取可重构阵列上执行算法的总循环迭代次数。多路选择器404分别与减法器401、寄存器402和迭代次数解析器403相连,多路选择器404用于选择减法器401的被减数,以每完成一次循环迭代,被减数的值减去1。
进一步地,在本发明的一个实施例中,分配结果为总性能Ptotal最大的缓存路数分配结果,其中,获取总性能Ptotal的公式为:
K为可重构阵列的个数,j为可重构阵列的索引,ij为分配给可重构阵列j的缓存路数,当ij路缓存被分配给可重构阵列j时,变量为可重构阵列j的缓存利用率,N_leftj为可重构阵列j上还未被执行的循环迭代次数。
具体地,例如K个可重构阵列共享一个Nway路缓存的系统,则本发明实施例根据上述公式使得总性能Ptotal最大的缓存路数分配结果就是划分结果。其中的各个变量定义如下:
1、下标j是可重构阵列的索引;
2、变量ij是分配给可重构阵列j的缓存路数;
3、当ij路缓存被分配给可重构阵列j时,变量表示UMON监控得到的可重构阵列j的缓存利用率;
4、变量N_leftj是可重构阵列j上还没有被执行的循环迭代次数。
进一步地,在本发明一个具体实施例中,参照图5所示,本发明实施例通过两个可重构阵列共享片上缓存的结构说明本发明的循环迭代感知的缓存划分机制。其中,每个可重构阵列被分配了一个第一监测模块UMON(即缓存利用率监测模块)和第二监测模块IMON(即循环迭代监测模块)。第一监测模块UMON1和第一监测模块UMON2分别跟踪可重构阵列1和可重构阵列2上执行应用程序的缓存利用率信息。第二监测模块IMON1和第二监测模块IMON2分别用于记录可重构阵列1和可重构阵列2上执行算法的循环迭代次数。基于第一监测模块UMON和第二监测模块IMON收集的信息,划分方法模块500决定分配给每个可重构阵列的共享缓存路数。
进一步地,参照图4所示,第二监测模块IMON采用硬件计数器实时监视可重构阵列上执行算法的循环迭代次数,即计数器的值N_left。使用的输入信号说明如下:
1、context信号:可重构阵列的配置信息,控制PE的功能和PE之间的互联;
2、loop_end信号:指示可重构阵列完成一次循环迭代运算;
3、N_total信号:迭代次数解析模块从配置信息中解析得到的可重构阵列上执行算法的总循环迭代次数;
其中,当算法的第一次循环迭代在可重构阵列上执行时,多路选择器404选通N_total作为减法器401的被减数;对于剩余的循环迭代,多路选择器404选通N_left作为减法器401的被减数。每完成一次循环迭代,被减数的值减去1,因此计数器的值N_left表示还没有被可重构阵列执行的循环迭代次数。
进一步地,由于较高的缓存利用率意味着较少的缓存缺失,因此可重构阵列执行算法的性能可以用缓存利用率表示。举例而言,假定一个Nway路缓存中的i路缓存分配给可重构阵列1,那么按照本发明实施例提出的循环迭代感知的划分方法可以得到,可重构阵列1和可重构阵列2的性能P1和P2如以下公式所示:
其中,当Nway路缓存中的i路缓存分配给可重构阵列1,剩下的Nway-i路缓存分配给可重构阵列2时,第一监测模块UMON1和第一监测模块UMON2监控到的两个可重构阵列的缓存利用率分别是U1 i和U2 (Nway-i);N_left1和N_left2是可重构阵列1和可重构阵列2上还没有被执行的循环迭代次数。
进一步地,本发明实施例以系统的总性能最高为目标,总性能公式为:
其中,总性能Ptotal是可重构阵列1的性能和可重构阵列2的性能之和。假定Nway路缓存中的i路缓存分配给可重构阵列1,剩下的Nway-i路缓存分配给可重构阵列2,对于i从1到Nway-1的所有可能情况,使得Ptotal最大的i就是本发明实施例得到的属于可重构阵列1的缓存路数。
在本发明的实施例中,参照图5所示,本发明实施例的结构中的各部分模块的配置参数如表1所示。
表1
其中,用于性能对比的测试集如表2所示,两个可重构阵列组成流水线,执行不同的算法。以测试集Pipeline3为例,可重构阵列1完成反离散余弦变换,可重构阵列2运动补偿,这两个算法是主流的视频解码算法中两个顺序执行的子算法。
表2
测试集名称 可重构阵列1执行的算法 可重构阵列2执行的算法
Pipeline1 中值滤波 反离散余弦变换
Pipeline2 中值滤波 运动补偿
Pipeline3 反离散余弦变换 运动补偿
Pipeline4 非结构化网格 背包问题
Pipeline5 最大期望算法 汉诺塔
Pipeline6 循环冗余码校验 霍夫曼编码
进一步地,参照图6所示,图6为本发明实施例与相关技术中的4种划分方法的性能对比示意图,具体的性能对比结果如表3所示,其中采用LRU方法的性能加速比归一化为1,其他划分方法的性能以相对于LRU算法的性能加速比表示。
表3
综上所述,本发明实施例与相关技术中的4种划分方法相比,系统的性能加速比平均分别提高了10%,8%,11%和10%。
进一步地,参照图7所示,以测试集Pipeline3为例,图中对比了本发明实施例与UCP方法得到的共享缓存划分结果的不同,图中只画出了分配给可重构阵列1的共享缓存路数,分配给可重构阵列2的共享缓存路数可以用16路缓存减去分配给可重构阵列1的共享缓存路数得到。
本测试集中,可重构阵列1完成反离散余弦变换,可重构阵列2完成运动补偿,其中完成反离散余弦变换比完成运动补偿需要更少的循环迭代次数。
与UCP方法相比,本发明实施例为可重构阵列1分配较少的缓存路数。此外,当可重构阵列1完成反离散余弦变换之后,可重构阵列2还在执行运动补偿,这时本发明实施例为可重构阵列1分配最少的缓存路数(1路缓存),为可重构阵列2分配最多的缓存路数(15路缓存)。本发明实施例的划分结果可以加速可重构阵列2上执行运动补偿算法的性能,因此相比于UCP方法,本发明实施例可以提高7%的系统性能。
根据本发明实施例提出的共享片上缓存划分装置,通过硬件计数器实时监控并记录每个可重构阵列上执行算法的循环迭代次数,并且根据缓存利用率信息和循环迭代次数分配至每个可重构阵列相应的共享缓存路数,实现片外存储器的访问,通过平衡多个可重构阵列之间的缓存利用率,从而缩短多个可重构阵列组成的流水线的关键路径长度,提高了系统性能,并且结构简单,操作方便。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (4)

1.一种共享片上缓存划分装置,其特征在于,包括:
片上缓存模块;
与所述片上缓存模块相连的多个可重构阵列,其中,每个可重构阵列包括多个处理单元;
多个第一监测模块,所述多个第一监测模块一一对应地与所述多个可重构阵列相连,用于跟踪所述多个可重构阵列上执行应用程序的缓存利用率信息;
多个第二监测模块,所述多个第二监测模块一一对应地与所述多个可重构阵列相连,用于记录所述多个可重构阵列上执行算法的循环迭代次数;
划分模块,所述划分模块分别与所述多个第一监测模块、所述多个第二监测模块和所述片上缓存模块相连,用于根据所述缓存利用率信息和所述循环迭代次数确定分配至所述每个可重构阵列相应的共享缓存路数,实现片外存储器的访问,其中,分配结果为总性能Ptotal最大的缓存路数分配结果,其中,获取所述总性能Ptotal的公式为:
<mrow> <msub> <mi>P</mi> <mrow> <mi>t</mi> <mi>o</mi> <mi>t</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <mrow> <mo>(</mo> <mi>N</mi> <mo>_</mo> <msub> <mi>left</mi> <mi>j</mi> </msub> <mo>&amp;times;</mo> <msubsup> <mi>U</mi> <mi>j</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
K为可重构阵列的个数,j为可重构阵列的索引,ij为分配给可重构阵列j的缓存路数,当ij路缓存被分配给所述可重构阵列j时,变量为所述可重构阵列j的缓存利用率,N_leftj为所述可重构阵列j上还未被执行的循环迭代次数。
2.根据权利要求1所述的共享片上缓存划分装置,其特征在于,所述多个第二监测模块中每个第二监测模块包括:
减法器和与所述减法器相连的寄存器;
迭代次数解析器,所述迭代次数解析器用于根据可重构阵列的配置信息获取所述可重构阵列上执行算法的总循环迭代次数;
多路选择器,所述多路选择器分别与所述减法器、所述寄存器和所述迭代次数解析器相连,用于选择所述减法器的被减数,以每完成一次循环迭代,所述被减数的值减去1。
3.根据权利要求1所述的共享片上缓存划分装置,其特征在于,所述片上缓存模块采用LRU替换算法。
4.根据权利要求1所述的共享片上缓存划分装置,其特征在于,所述多个第一监测模块和所述多个第二监测模块为硬件计数器。
CN201510112753.6A 2015-03-16 2015-03-16 共享片上缓存划分装置 Active CN104699629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510112753.6A CN104699629B (zh) 2015-03-16 2015-03-16 共享片上缓存划分装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510112753.6A CN104699629B (zh) 2015-03-16 2015-03-16 共享片上缓存划分装置

Publications (2)

Publication Number Publication Date
CN104699629A CN104699629A (zh) 2015-06-10
CN104699629B true CN104699629B (zh) 2017-09-22

Family

ID=53346778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510112753.6A Active CN104699629B (zh) 2015-03-16 2015-03-16 共享片上缓存划分装置

Country Status (1)

Country Link
CN (1) CN104699629B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729990B (zh) * 2017-07-20 2021-06-08 上海寒武纪信息科技有限公司 支持离散数据表示的用于执行正向运算的装置及方法
CN109710563B (zh) * 2018-11-19 2020-11-10 西安交通大学 一种可重构系统的缓存分区划分方法
CN111258640B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258638B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258642B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258639B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN112540950B (zh) * 2020-12-18 2023-03-28 清华大学 基于配置信息共享存储的可重构处理器及其共享存储方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609362A (zh) * 2012-01-30 2012-07-25 复旦大学 一种共享高速缓存动态划分方法与电路
CN103955398A (zh) * 2014-04-28 2014-07-30 浙江大学 一种基于处理器性能监控的虚拟机共生调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356648B2 (en) * 2003-10-02 2008-04-08 International Business Machines Corporation Shared buffer having hardware controlled buffer regions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609362A (zh) * 2012-01-30 2012-07-25 复旦大学 一种共享高速缓存动态划分方法与电路
CN103955398A (zh) * 2014-04-28 2014-07-30 浙江大学 一种基于处理器性能监控的虚拟机共生调度方法

Also Published As

Publication number Publication date
CN104699629A (zh) 2015-06-10

Similar Documents

Publication Publication Date Title
CN104699629B (zh) 共享片上缓存划分装置
Chishti et al. Distance associativity for high-performance energy-efficient non-uniform cache architectures
Sethi et al. RecShard: statistical feature-based memory optimization for industry-scale neural recommendation
Muralimanohar et al. Optimizing NUCA organizations and wiring alternatives for large caches with CACTI 6.0
CN105701022B (zh) 组相联高速缓存
CN107590085B (zh) 一种具有多级缓存的动态可重构阵列数据通路及其控制方法
CN103927270B (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
CN106708626A (zh) 一种面向低功耗的异构多核共享cache划分方法
US8683160B2 (en) Method and apparatus for supporting memory usage accounting
CN102968390A (zh) 基于预先解码分析的配置信息缓存管理方法及系统
CN109472361A (zh) 神经网络优化方法
US10067672B2 (en) Memory activity driven adaptive performance measurement
Xu et al. FusedCache: A naturally inclusive, racetrack memory, dual-level private cache
Charles et al. Efficient cache reconfiguration using machine learning in NoC-based many-core CMPs
CN103761072B (zh) 一种粗粒度可重构层次化的阵列寄存器文件结构
US20150100663A1 (en) Computer system, cache management method, and computer
Liu et al. Accelerating Personalized Recommendation with Cross-level Near-Memory Processing
Kim et al. Benzene: An energy-efficient distributed hybrid cache architecture for manycore systems
CN114385073A (zh) 操作存储系统的方法和对存储资源的层级进行分区的方法
Shang et al. LACS: A high-computational-efficiency accelerator for CNNs
Knyaginin et al. Profess: A probabilistic hybrid main memory management framework for high performance and fairness
Li et al. NDRec: A Near-Data Processing System for Training Large-Scale Recommendation Models
US8645640B2 (en) Method and apparatus for supporting memory usage throttling
Yang et al. Scavenger: Automating the construction of application-optimized memory hierarchies
Xiao et al. PASM: Parallelism Aware Space Management strategy for hybrid SSD towards in-storage DNN training acceleration

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