CN105653790A - 一种基于人工神经网络的乱序处理器Cache访存性能评估方法 - Google Patents

一种基于人工神经网络的乱序处理器Cache访存性能评估方法 Download PDF

Info

Publication number
CN105653790A
CN105653790A CN201511018113.5A CN201511018113A CN105653790A CN 105653790 A CN105653790 A CN 105653790A CN 201511018113 A CN201511018113 A CN 201511018113A CN 105653790 A CN105653790 A CN 105653790A
Authority
CN
China
Prior art keywords
memory access
storehouse
neural network
order
hash table
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
CN201511018113.5A
Other languages
English (en)
Other versions
CN105653790B (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.)
Suzhou Institute, Southeast University
Original Assignee
Southeast University - Wuxi Institute Of Technology Integrated Circuits
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 Southeast University - Wuxi Institute Of Technology Integrated Circuits filed Critical Southeast University - Wuxi Institute Of Technology Integrated Circuits
Priority to CN201511018113.5A priority Critical patent/CN105653790B/zh
Publication of CN105653790A publication Critical patent/CN105653790A/zh
Application granted granted Critical
Publication of CN105653790B publication Critical patent/CN105653790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于人工神经网络的乱序处理器Cache访存性能评估方法,访存指令乱序执行,使得利用二进制执行工具提取的堆栈距离分布在预测LRU-Cache访存行为时精度不高。本发明将红黑树与哈希表结合,设计基于Cache组关联结构的堆栈距离提取算法,并分别计算访存顺序与乱序执行的堆栈距离分布。利用BP神经网络拟合访存顺序执行的堆栈距离分布与访存缺失次数。将基于二进制执行工具提取的堆栈距离分布导入训练好的神经网络中,可高精度地预测Cache访存行为。本发明采用人工神经网络,有效地解决了利用二进制执行工具提取的堆栈距离分布在预测Cache访存行为上精度不高的问题。

Description

一种基于人工神经网络的乱序处理器Cache访存性能评估方法
技术领域
本发明涉及一种基于人工神经网络的乱序处理器Cache访存性能评估方法,属于软硬件协同设计领域。
背景技术
基于硬件行为建模的硅前架构评估及设计空间探索可提供芯片设计指导意见,降低芯片设计迭代周期。Cache作为片上高速缓存对处理器访存性能影响较大,访问缺失会使处理器流水线产生气泡或引起流水线阻塞,降低处理器计算性能。另外,Cache占据大量芯片面积,消耗大量功耗,所以处理器设计需要更合理地设计Cache的组织结构。
近几年关于Cache访存性能的研究可以分成两个方向维度,一是减少目标应用程序在当前Cache结构中的访存缺失次数,二是减少访问命中时SRAM体响应时间以及访问缺失后的数据取回时间。统计Cache访存缺失次数的方法主要包含两种,一是基于重用距离分布的概率推算,二是基于堆栈距离分布的统计计数。重用距离指,针对同一Cacheline的两次连续访存请求之间存在的访存请求个数。堆栈距离指,针对同一Cacheline的两次连续访存请求之间的访存地址种类个数。重用距离与堆栈距离均需要从访存Trace流中提取。获取Trace流多以在二进制执行工具中软件插桩的方式来统计访存顺序流,或者也可以将重用距离、堆栈距离提取算法直接嵌入到二进制执行工具中。采用二进制执行工具的好处是可较为快速地提取出重用距离与堆栈距离分布,但缺点是获取的重用距离、堆栈距离分布均是按照访存指令顺序执行的结果统计。该方法不能直接应用于乱序处理器的Cache访存行为建模。
访存行为在乱序处理器中的乱序调度受四个因素影响。首先,访存地址运算会乱序执行。访存指令在转换成访存操作前需要计算访存地址。若计算所依赖的源操作数(寄存器)处于就绪状态,在无读写一致性问题且无MemoryBarrier指令嵌入时,地址计算操作可被调度。乱序调度的原因是由于优先进入流水线的指令,其计算资源未就绪。为了提升处理器指令吞吐率,故将计算资源已经就绪的指令优先调度。其次,TLB访问缺失引起会访存乱序发射。在地址计算完成后,访存地址会传输至TLB进行地址翻译,将虚拟地址转换成物理地址。因为TLB采取CAM或类Cache的访问结构,容量相对较小,无法将页表中所有的表项缓存在TLB中,所以地址转换过程中会产生TLB访问缺失现象。假如存在地址计算完成且TLB访问命中的访存请求,则乱序至前排发射。第三,地址转换过后,访存请求会通过Cache端口进入到Cache存储体中。由于端口数量有限,非阻塞发射访存请求会使Cache端口存在被填充满的情况。此时,所有就绪访存停止发射,待Cache端口处于非堵塞状态时重新恢复发射。在等待过程中,由于计算资源未就绪或TLB访问缺失等原因,被乱序至后排发射的访存请求此时已处于发射就绪状态。基于乱序调度机制遵循最老指令优先调度的原则,原本被打乱的访存序列存在恢复顺序执行逻辑的可能。
最后值得注意的是,即使得到访存乱序执行流,也不能将其直接应用于乱序处理器的Cache访存行为建模。这是因为处理器非阻塞发射访存请求,使得后续访问在前次访存还未完成的情况下被扔出。而顺序处理器必须等待前次访问完成后才能发出后续访问请求。
上述四种乱序影响,使得基于二进制执行工具提取的堆栈距离分布同乱序执行后的结果相比差异巨大,导致Cache访存行为预测精度不高。现有预测乱序处理器Cache访问缺失次数的方法采用全功能仿真模型,由于全仿真时间开销过大,该方法不利于快速评估Cache访存行为。所以本发明针对上述问题提出了一种基于神经网络的Cache性能评估方法,用于快速预测乱序处理器中Cache访存行为。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于人工神经网络的乱序处理器Cache访存性能评估方法,该方法解决了利用二进制执行工具提取的堆栈距离分布在预测Cache访存行为上精度不高的问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于人工神经网络的乱序处理器Cache访存性能评估方法,包括以下步骤:
步骤1,仿真获取目标程序执行时间前30%的访存乱序执行流;依据Gem5指令取指序号对乱序执行流进行重排序,获取访存顺序执行流;设计堆栈距离算法,分别对顺序执行流与乱序执行流提取堆栈距离分布,并作数据归一化;
步骤2,根据步骤1得到的乱序访存堆栈距离分布在Gem5中加入Cache访问缺失事件的判定逻辑,统计各项缺失事件次数;
步骤3,选取BP人工神经网络,依照经验公式调试获取合适的训练方法、网络层级数目以及各层级内的神经元个数;通过选定的BP人工神经网络对步骤1得到的归一化后的顺序访存堆栈距离分布与步骤2判断得到的不同的访问缺失事件间的映射关系进行拟合;
步骤4,利用Qemu运行目标程序得到目标程序顺序执行流,将目标程序顺序执行流导入步骤1设计的堆栈距离算法提取目标程序堆栈距离分布;
步骤5,将第4步获取的目标程序堆栈距离分布归一化后导入步骤3选取的BP人工神经网络,同时根据堆栈距离分布与不同的访问缺失事件间的映射关系预测目标程序在乱序处理器中的Cache访问缺失次数。
所述步骤1中堆栈距离算法的设计方法如下:堆栈距离指针对同一Cacheline的两次连续访存请求间的访存地址个数,通过红黑树与哈希表的组合计算堆栈距离;访存Trace包括2个模块,一是当前访存请求地址,二是当前访存请求序号SN;哈希表的个数为两个,分别为第一哈希表、第二哈希表,第一哈希表采用地址中Tag与Set位域作为索引,获取内容无效化标志以及前次同地址访存的序号;第二哈希表通过地址Set位域索引,获取指向红黑树的指针;红黑树中存储访存序号SN,并按照升序排列;通过在第一哈希表中索引到的SN号,在红黑树中找到存储位置,计算该位置与红黑树尾端的距离即为当前访存请求在CacheSet内的堆栈距离;通过在第一哈希表中索引到的SN号,在红黑树中找到存储位置,计算该位置与红黑树尾端的距离即为当前访存请求在CacheSet内的堆栈距离;完成堆栈距离计算后,将当前访存序号更新到在哈希表和红黑树中索引的SN处;当检测到写操作时,依据写地址找到第一个哈希表中对应的内容失效位置1。
优选的:对访存堆栈距离分布采取归一化的数据处理的方法;将堆栈距离超过100的所有分布合成一维。
所述步骤2中Gem5中Cache访问缺失事件的判定的方法:
访存缺失计数可通过在gem5中嵌入访存堆栈距离计算来判定。
冷缺失:若在第一哈希表中找不到当前访存请求地址,则判定为冷缺失。
竞争缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离大于等于Cache组关联数目,则判定为竞争缺失。
一致性缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离小于Cache组关联数,同时内容无效化标志为1,则判定为一致性缺失。
优选的:BP人工神经网络采用LevenbergMarquard训练方法。
优选的:BP神经网络的隐含层节点数目存在经验公式如下:
h = m + n + a
其中h为隐含层节点数目,m为输入层节点数目,n为输出层节点数目,a为1-10之间的调节常数。
优选的:所述BP神经网络采用双隐含层,第一隐含层采用8个神经单元,第二隐含层采用4个神经元。
有益效果:本发明提供的一种基于人工神经网络的乱序处理器Cache访存性能评估方法,相比现有技术,具有以下有益效果:
本发明提出的基于人工神经网络的乱序处理器Cache访存性能评估方法,可以避免精确获取乱序处理器Cache访存缺失次数时所需的全仿真过程。利用人工神经网络代替全仿真,加速了预测Cache访存行为的速度。
附图说明
图1为访存堆栈距离计算框图;
图2为神经网络训练输入与目标输出;
图3为神经网络层级图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于人工神经网络的乱序处理器Cache访存性能评估方法,包括以下步骤:
步骤1,仿真获取目标程序执行时间前30%的访存乱序执行流;依据Gem5指令取指序号对乱序执行流进行重排序,获取访存顺序执行流;设计堆栈距离算法分别对顺序执行流与乱序执行流提取堆栈距离分布,并对堆栈距离分布作数据归一化。
步骤2,根据步骤1得到的乱序访存堆栈距离分布在Gem5中加入Cache访问缺失事件的判定逻辑,统计各项缺失事件次数。
步骤3,选取BP人工神经网络,依照经验公式调试获取合适的训练方法、网络层级数目以及各层级内的神经元个数;通过选定的BP人工神经网络对步骤1得到的归一化后的顺序访存堆栈距离分布与步骤2判断得到的不同的访问缺失事件间的映射关系进行拟合。
步骤4,利用Qemu运行目标程序得到目标程序顺序执行流,将目标程序顺序执行流导入步骤1设计的堆栈距离算法提取目标程序的堆栈距离分布。
步骤5,将第4步获取的目标程序堆栈距离分布归一化后导入步骤3选取的BP人工神经网络,同时根据堆栈距离分布与不同的访问缺失事件间的映射关系预测目标程序在乱序处理器中的Cache访问缺失次数。
1、堆栈距离算法的设计
堆栈距离指,针对同一Cacheline的两次连续访存请求间的访存地址个数。本发明将红黑树与哈希表组合,设计算法计算堆栈距离。本发明采用的访存Trace包含2个模块,一是当前访存请求地址,二是当前访存请求序号SN。算法中包含两个哈希表,一是采用地址中Tag与Set位域作为索引,获取内容无效化标志以及前次同地址访存的序号。二是通过地址Set位域索引,获取指向红黑树的指针。利用Set位域索引是为了统计每个CacheSet内的访存堆栈距离。红黑树中存储访存序号SN,并按照升序排列。通过在第一个哈希表中索引到的SN号,在红黑树中找到存储位置,计算该位置与红黑树尾端的距离即为当前访存请求在CacheSet内的堆栈距离。完成堆栈距离计算后,将当前访存序号更新到在哈希表和红黑树中索引的SN处。当检测到写操作时,依据写地址找到第一个哈希表中对应的内容失效位置1。
2、Gem5访存缺失事件分类计数
访存缺失计数可通过在gem5中嵌入访存堆栈距离计算来判定。
访存缺失计数可通过在gem5中嵌入访存堆栈距离计算来判定。
冷缺失:若在第一哈希表中找不到当前访存请求地址,则判定为冷缺失。
竞争缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离大于等于Cache组关联数目,则判定为竞争缺失。
一致性缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离小于Cache组关联数,同时内容无效化标志为1,则判定为一致性缺失。
3、数据归一化与BP神经网络
在进行神经网络拟合前,需要将堆栈距离分布进行数据归一化处理。目的是为了消除数量级差异导致的模型训练无法迅速收敛。同时,堆栈距离可能出现过大的情况,导致模型输入维度过大。所以本发明将堆栈距离超过100的所有分布合成一维。需要注意的是,100维选取只是依照经验,具体维度上限选择可视实际情况而定。
BP网络是单向传播的多层前向网络,由输入层、输出层和隐含层组成,每层有若干个神经元(也称节点)。同层神经元间无耦合,节点的激活函数必须可微、非减。网络结构关系着网络的函数映射能力,也决定着网络解决问题的能力。而网络的输入层和输出层是与外界联系的接口,这两层的节点数一般由应用对象的实际问题决定,不能任意选取,因此整个网络结构中只有隐含层层数及其节点数目有待确定。
关于网络结构设计,即如何选取隐含层层数及其节点数,目前还没有确定的理论和方法。通过实验发现规律:当隐含层节点数取输入层节点数和输出层节点数之间的值时,尤其当靠近输入节点数时,网络收敛速度较快。隐含层节点数太少时,学习过程不收敛;但隐含层节点数太多时,网络映射能力增强,局部最小点越少,越容易收敛到全局最小点,却致使学习时间长,且网络容易训练过渡,此时导致网络不仅记住了学习样本一般特征而且记住了个别特征(如随机噪声)导致网络容错性降低。隐含层节点数目存在经验公式如下:
h = m + n + a
其中h为隐含层节点数目,m为输入层节点数目,n为输出层节点数目,a为1-10之间的调节常数。根据以上规律,本发明采用双隐含层,第一隐含层采用8个神经单元,第二隐含层采用4个神经元。训练方法采用LevenbergMarquard。
4、Qemu中堆栈距离提取与LRU-Cache访存行为预测
在Qemu中嵌入步骤1的堆栈距离算法,获取堆栈距离分布。将分布归一化后注入神经网络模型,预测乱序处理器中的LRU-Cache访存行为。
本实施例采用哈希表记录访问过的访存地址与对应的内容无效化标志。若产生访问缺失时,哈希表中无该地址的访问记录,表示该访存请求产生一次冷缺失(Coldmiss)。若哈希表中存有该地址记录且无内容无效化标志,表示该访存请求产生一次竞争缺失(Conflictmiss)。若哈希表中存有该地址记录,内容无效化标志为1,并且堆栈距离小于当前Cache组关联数,表示该访存请求产生一次一致性缺失(Coherencemiss)。此处的堆栈距离计算需要考虑非阻塞发射访存请求的影响,访存序列内容的更新需要在Cache命中或者Cache访问缺失且Cacheline重填的时刻进行。
本实施例在Gem5中获取访存乱序执行序列,并借助仿真模型CPU取指标号对乱序执行的访存序列进行重排序,导出访存顺序执行序列;通过将红黑树与哈希表结合,设计基于Cache组关联结构的访存堆栈距离提取算法,并利用该算法分别计算访存顺序执行与乱序执行的堆栈距离分布;当检测到写失效信号时,将哈希表中对应的内容无效标志置1,表示该地址存储内容已经无效化;将基于访存顺序执行提取的堆栈距离分布做数据归一化处理。同时,提取Gem5中不同类型访存缺失的次数;利用BP神经网络将归一化后的堆栈距离分布同访存缺失次数进行拟合;在Qemu中插入堆栈距离算法,提取堆栈距离分布并归一化;将归一化后分布导入神经网络预测Cache访存行为。
图1为访存堆栈距离计算框图。哈希表I用于判定当前访存是否会产生重用现象。当选取访存地址Tag与Set位域进行索引时,若返回内容非空,则表明产生一次重用现象。“Flag”为内容失效标志,“SN”代表该访存执行序号。哈希表11中的存储对象通过访存地址的Set位域索引,被索引内容为指向红黑树结构的指针。为了能够计算每个CacheSet内的堆栈距离,每个CacheSet将维护一个红黑树结构。红黑树中记录前次同地址访存请求的SN号,将哈希表I中所得的SN号去索引其在红黑树中的位置。由于红黑树中的内容是按照升序排序的,所以SN号存储位置到红黑树底端间距离为该访存的堆栈距离。
图2为神经网络训练输入与目标输出框图。访存顺序执行提取的堆栈距离分布需要经过3个阶段才能预测到miss数。图中每个椭圆表示一个堆栈距离分布被影响的阶段。X(Y)表示方式指的是不同的访存堆栈距离以及发生次数。例如,0(200)代表访存堆栈距离为0的情况发生200次。椭圆间的连线表征访存堆栈距离受乱序影响而变换的方向。2(198)在第一个椭圆H1中,堆栈距离可能会变为0,1,2或者是3。其结果就是访存堆栈距离为2的次数从198变成128,即2(198)变成2(128)。神经网络输入为H1,训练目标为gem5中提取的Cachemiss数。
图3为神经网络层级图。本发明依照隐含层节点数目经验公式:
h = m + n + a
采用双隐含层,第一隐含层采用8个神经单元,第二隐含层采用4个神经元。训练方法采用LevenbergMarquard。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于,包括以下步骤:
步骤1,仿真获取目标程序执行时间前30%的访存乱序执行流;依据Gem5指令取指序号对乱序执行流进行重排序,获取访存顺序执行流;设计堆栈距离算法,分别对顺序执行流与乱序执行流提取堆栈距离分布,并作数据归一化;
步骤2,根据步骤1得到的乱序访存堆栈距离分布在Gem5中加入Cache访问缺失事件的判定逻辑,统计各项缺失事件次数;
步骤3,选取BP人工神经网络,依照经验公式调试获取合适的训练方法、网络层级数目以及各层级内的神经元个数;通过选定的BP人工神经网络对步骤1得到的归一化后的顺序访存堆栈距离分布与步骤2判断得到的不同的访问缺失事件间的映射关系进行拟合;
步骤4,利用Qemu运行目标程序得到目标程序顺序执行流,将目标程序顺序执行流导入步骤1设计的堆栈距离算法提取目标程序堆栈距离分布;
步骤5,将第4步获取的目标程序堆栈距离分布归一化后导入步骤3选取的BP人工神经网络,同时根据堆栈距离分布与不同的访问缺失事件间的映射关系预测目标程序在乱序处理器中的Cache访问缺失次数。
2.根据权利要求1所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:所述步骤1中堆栈距离算法的设计方法如下:堆栈距离指针对同一Cacheline的两次连续访存请求间的访存地址个数,通过红黑树与哈希表的组合计算堆栈距离;访存Trace包括2个模块,一是当前访存请求地址,二是当前访存请求序号SN;哈希表的个数为两个,分别为第一哈希表、第二哈希表,第一哈希表采用地址中Tag与Set位域作为索引,获取内容为无效化标志以及前次同地址访存的序号;第二哈希表通过地址Set位域索引,获取指向红黑树的指针;红黑树中存储访存序号SN,并按照升序排列;通过在第一哈希表中索引到的SN号,在红黑树中找到数据结构中的存储位置,计算该位置与红黑树尾端的距离即为当前访存请求在CacheSet内的堆栈距离;完成堆栈距离计算后,将当前访存序号分别更新至第一哈希表与红黑树中索引的SN处;当检测到写操作时,依据写地址找到第一哈希表中对应的内容失效位置1。
3.根据权利要求2所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:对访存堆栈距离分布采取归一化的数据处理的方法;将堆栈距离超过100的所有分布合成一维。
4.根据权利要求1所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:所述步骤2中Gem5中Cache访问缺失事件的判定的方法:
访存缺失计数可通过在gem5中嵌入访存堆栈距离计算来判定;
冷缺失:若在第一哈希表中找不到当前访存请求地址,则判定为冷缺失;
竞争缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离大于等于Cache组关联数目,则判定为竞争缺失;
一致性缺失:若在第一哈希表中找到当前访存请求地址且堆栈距离小于Cache组关联数,同时内容无效化标志为1,则判定为一致性缺失。
5.根据权利要求1所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:BP人工神经网络采用LevenbergMarquard训练方法。
6.根据权利要求1所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:BP神经网络的隐含层节点数目存在经验公式如下:
h = m + n + a
其中h为隐含层节点数目,m为输入层节点数目,n为输出层节点数目,a为1-10之间的调节常数。
7.根据权利要求1所述的基于人工神经网络的乱序处理器Cache访存性能评估方法,其特征在于:所述BP神经网络采用双隐含层,第一隐含层采用8个神经单元,第二隐含层采用4个神经元。
CN201511018113.5A 2015-12-29 2015-12-29 一种基于人工神经网络的乱序处理器Cache访存性能评估方法 Active CN105653790B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511018113.5A CN105653790B (zh) 2015-12-29 2015-12-29 一种基于人工神经网络的乱序处理器Cache访存性能评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511018113.5A CN105653790B (zh) 2015-12-29 2015-12-29 一种基于人工神经网络的乱序处理器Cache访存性能评估方法

Publications (2)

Publication Number Publication Date
CN105653790A true CN105653790A (zh) 2016-06-08
CN105653790B CN105653790B (zh) 2019-03-29

Family

ID=56477442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511018113.5A Active CN105653790B (zh) 2015-12-29 2015-12-29 一种基于人工神经网络的乱序处理器Cache访存性能评估方法

Country Status (1)

Country Link
CN (1) CN105653790B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121565A (zh) * 2016-11-28 2018-06-05 阿里巴巴集团控股有限公司 生成指令集编码的方法、装置和系统
CN108345763A (zh) * 2018-04-02 2018-07-31 东南大学 乱序处理器Cache缺失服务时间的评估方法
CN108509723A (zh) * 2018-04-02 2018-09-07 东南大学 基于人工神经网络的LRU Cache预取机制性能收益评估方法
CN108762811A (zh) * 2018-04-02 2018-11-06 东南大学 基于聚类获取应用程序乱序访存行为模式的方法
KR20190039470A (ko) * 2016-08-26 2019-04-12 캠브리콘 테크놀로지스 코퍼레이션 리미티드 다중 데이터 스트림을 지원하는 tlb장치와 tlb모듈의 업데이트 방법
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN110782934A (zh) * 2019-09-27 2020-02-11 东南大学 采用时序推测型SRAM阵列的Cache行映射与替换方法
CN111338884A (zh) * 2018-12-19 2020-06-26 北京嘀嘀无限科技发展有限公司 缓存缺失率监测方法、装置、电子设备及可读存储介质
CN111626430A (zh) * 2019-04-18 2020-09-04 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
CN115113815A (zh) * 2022-06-21 2022-09-27 广州安凯微电子股份有限公司 一种芯片的处理系统、方法、设备及存储介质
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204135A1 (en) * 2006-02-28 2007-08-30 Mips Technologies, Inc. Distributive scoreboard scheduling in an out-of order processor
CN102346714A (zh) * 2011-10-09 2012-02-08 西安交通大学 用于多核处理器的一致性维护装置及一致性交互方法
CN202563494U (zh) * 2011-10-09 2012-11-28 西安交通大学 用于多核处理器的一致性维护装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204135A1 (en) * 2006-02-28 2007-08-30 Mips Technologies, Inc. Distributive scoreboard scheduling in an out-of order processor
CN102346714A (zh) * 2011-10-09 2012-02-08 西安交通大学 用于多核处理器的一致性维护装置及一致性交互方法
CN202563494U (zh) * 2011-10-09 2012-11-28 西安交通大学 用于多核处理器的一致性维护装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ABDULLAH KAYI等: "Adaptive Cache Coherence Mechanisms with Producer–Consumer Sharing Optimization for Chip Multiprocessors", 《IEEE TRANSACTIONS ON COMPUTERS》 *
ROELAND J. DOUMA等: "Fast and Precise Cache Performance Estimation for Out-Of-Order Execution", 《DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2015》 *
项晓燕等: "体系结构级Cache功耗优化技术研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3506113A4 (en) * 2016-08-26 2020-04-22 Cambricon Technologies Corporation Limited TLB DEVICE FOR SUPPORTING MULTIPLE DATA FLOWS AND UPDATING METHOD FOR TLB MODULE
US11513972B2 (en) 2016-08-26 2022-11-29 Cambricon Technologies Corporation Limited TLB device supporting multiple data streams and updating method for TLB module
KR102396866B1 (ko) * 2016-08-26 2022-05-11 캠브리콘 테크놀로지스 코퍼레이션 리미티드 다중 데이터 스트림을 지원하는 tlb장치와 tlb모듈의 업데이트 방법
KR20190039470A (ko) * 2016-08-26 2019-04-12 캠브리콘 테크놀로지스 코퍼레이션 리미티드 다중 데이터 스트림을 지원하는 tlb장치와 tlb모듈의 업데이트 방법
CN108121565B (zh) * 2016-11-28 2022-02-18 阿里巴巴集团控股有限公司 生成指令集编码的方法、装置和系统
CN108121565A (zh) * 2016-11-28 2018-06-05 阿里巴巴集团控股有限公司 生成指令集编码的方法、装置和系统
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
CN108762811A (zh) * 2018-04-02 2018-11-06 东南大学 基于聚类获取应用程序乱序访存行为模式的方法
CN108509723A (zh) * 2018-04-02 2018-09-07 东南大学 基于人工神经网络的LRU Cache预取机制性能收益评估方法
CN108509723B (zh) * 2018-04-02 2022-05-03 东南大学 基于人工神经网络的LRU Cache预取机制性能收益评估方法
CN108345763A (zh) * 2018-04-02 2018-07-31 东南大学 乱序处理器Cache缺失服务时间的评估方法
CN108762811B (zh) * 2018-04-02 2022-03-22 东南大学 基于聚类获取应用程序乱序访存行为模式的方法
CN111338884A (zh) * 2018-12-19 2020-06-26 北京嘀嘀无限科技发展有限公司 缓存缺失率监测方法、装置、电子设备及可读存储介质
CN111338884B (zh) * 2018-12-19 2023-06-16 北京嘀嘀无限科技发展有限公司 缓存缺失率监测方法、装置、电子设备及可读存储介质
CN111626430A (zh) * 2019-04-18 2020-09-04 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
CN111626430B (zh) * 2019-04-18 2023-09-26 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
CN110782934A (zh) * 2019-09-27 2020-02-11 东南大学 采用时序推测型SRAM阵列的Cache行映射与替换方法
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
CN115113815A (zh) * 2022-06-21 2022-09-27 广州安凯微电子股份有限公司 一种芯片的处理系统、方法、设备及存储介质

Also Published As

Publication number Publication date
CN105653790B (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN105653790A (zh) 一种基于人工神经网络的乱序处理器Cache访存性能评估方法
CN102566981B (zh) 并行处理机器学习决策树训练
CN108496160A (zh) 用于增强系统性能的自适应值范围剖析
CN104769560B (zh) 基于缓冲器充满度而向高速缓存进行预取
TW202134957A (zh) 用於修改機器學習模型之方法及非暫時性電腦儲存媒體以及機器學習計算系統
CN103678571B (zh) 应用于单台多核处理器主机的多线程网络爬虫执行方法
CN104813293B (zh) 使用动态分配的脏掩码空间的存储器管理
CN103218272A (zh) 一种星载数字信号处理器翻转加固方法
CN105574585A (zh) 基于多线程互斥的神经网络模型的样本训练方法
CN108509723B (zh) 基于人工神经网络的LRU Cache预取机制性能收益评估方法
CN109426624A (zh) 用于高效利用地址转换缓存的装置和方法
US10339054B2 (en) Instruction ordering for in-progress operations
CN103984637A (zh) 一种指令处理系统及方法
US9256544B2 (en) Way preparation for accessing a cache
CN109716307A (zh) 用于延迟的高速缓存利用的系统和方法
CN108881254A (zh) 基于神经网络的入侵检测系统
CN106445472B (zh) 一种字符操作加速方法、装置、芯片、处理器
JP2020030699A (ja) 学習装置および学習方法
CN106776466A (zh) 一种fpga异构加速计算装置及系统
JP2019212171A (ja) 学習装置および学習方法
US8984246B2 (en) Method, system and computer program product for reading a decision tree
Givaki et al. On the resilience of deep learning for reduced-voltage FPGAs
Ying et al. Processor free time forecasting based on convolutional neural network
CN103021016A (zh) 一种渲染过程中海量三维地理信息数据处理方法
JP2019160256A (ja) 学習識別装置および学習識別方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Ji Kecheng

Inventor after: Wang Qin

Inventor after: Ling Ming

Inventor after: Shi Longxing

Inventor before: Ji Kecheng

Inventor before: Wang Qin

Inventor before: Ling Ming

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190321

Address after: 215123 Linquan Street 399, Dushu Lake Higher Education District, Suzhou Industrial Park, Jiangsu Province

Patentee after: Suzhou Institute, Southeast University

Address before: 214135 No. 99 Linghu Avenue, New District, Wuxi City, Jiangsu Province

Patentee before: SOUTHEAST UNIVERSITY - WUXI INSTITUTE OF TECHNOLOGY INTEGRATED CIRCUITS

TR01 Transfer of patent right