CN104699629B - 共享片上缓存划分装置 - Google Patents
共享片上缓存划分装置 Download PDFInfo
- 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
Links
- 238000003491 array Methods 0.000 claims abstract description 117
- 238000012544 monitoring process Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 abstract description 11
- 230000009897 systematic effect Effects 0.000 abstract description 8
- 239000000203 mixture Substances 0.000 abstract description 6
- 238000009826 distribution Methods 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 4
- 238000004904 shortening Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 36
- 230000009466 transformation Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 101001074954 Homo sapiens Phosphatidylinositol 4,5-bisphosphate 5-phosphatase A Proteins 0.000 description 1
- 102100035985 Phosphatidylinositol 4,5-bisphosphate 5-phosphatase A Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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>&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>&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所述的共享片上缓存划分装置,其特征在于,所述多个第一监测模块和所述多个第二监测模块为硬件计数器。
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)
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)
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)
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 |
-
2015
- 2015-03-16 CN CN201510112753.6A patent/CN104699629B/zh active Active
Patent Citations (2)
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 |