<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.jackslab.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
		<id>http://wiki.jackslab.org/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA</id>
		<title>基于忆阻器的DLA - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.jackslab.org/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA"/>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;action=history"/>
		<updated>2026-09-11T06:16:44Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9687&amp;oldid=prev</id>
		<title>Comcat：/* 参考文献 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9687&amp;oldid=prev"/>
				<updated>2018-05-17T10:37:21Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;参考文献&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2018年5月17日 (四) 10:37的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第94行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第94行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== 参考文献 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== 参考文献 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1.&lt;/del&gt;PRIME: A Novel Processing-in-memory Architecture for Neural Network Computation in ReRAM-based Main Memory&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;PRIME: A Novel Processing-in-memory Architecture for Neural Network Computation in ReRAM-based Main Memory&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2.&lt;/del&gt;T. Chen et al., “DianNao: A small-footprint high-throughput accelerator for ubiquitous machine-learning,”in Proc. ASPLOS, 2014.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;T. Chen et al., “DianNao: A small-footprint high-throughput accelerator for ubiquitous machine-learning,”in Proc. ASPLOS, 2014.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;3.&lt;/del&gt;ISAAC: A Convolutional Neural Network Accelerator with In-Situ Analog Arithmetic in Crossbars&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;ISAAC: A Convolutional Neural Network Accelerator with In-Situ Analog Arithmetic in Crossbars&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;4.&lt;/del&gt;AEPE: An Area and Power Efficient ReRAM Crossbar-based Accelerator for Deep CNNs&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/ins&gt;AEPE: An Area and Power Efficient ReRAM Crossbar-based Accelerator for Deep CNNs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9686&amp;oldid=prev</id>
		<title>Comcat：/* ReRAM crossbar-based加速器的硬件实现 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9686&amp;oldid=prev"/>
				<updated>2018-05-17T10:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;ReRAM crossbar-based加速器的硬件实现&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2018年5月17日 (四) 10:35的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第73行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第73行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;如下图所示，比较了传统DLA、processing in memory（PIM）和PRINME的区别，传统的DLA和PIM结构都需要额外的processing units (PU)，而PRIME不需要。PRIME被设计为三个不同区域的bank，分别代表memory (Mem) subarrays, full function(FF) subarrays, and Buffer subarrays，Mem subarrays只存储数据，FF subarrays既可以做运算又可以做存储，Buffer subarrays作为FF subarrays的数据缓存，不做数据缓存的时候可以用来做常规的memory，Mem和Buffer subarrays通过私有的端口紧贴着与FF subarrays相连，这样buffer存取就不会消耗Mem subarrays的带宽。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;如下图所示，比较了传统DLA、processing in memory（PIM）和PRINME的区别，传统的DLA和PIM结构都需要额外的processing units (PU)，而PRIME不需要。PRIME被设计为三个不同区域的bank，分别代表memory (Mem) subarrays, full function(FF) subarrays, and Buffer subarrays，Mem subarrays只存储数据，FF subarrays既可以做运算又可以做存储，Buffer subarrays作为FF subarrays的数据缓存，不做数据缓存的时候可以用来做常规的memory，Mem和Buffer subarrays通过私有的端口紧贴着与FF subarrays相连，这样buffer存取就不会消耗Mem subarrays的带宽。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-07.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-07.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;PRIME的微架构如下图所示，主要由A、B、C、D、E五个组件和Mem、FF、Buffer subarrays组成：&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;PRIME的微架构如下图所示，主要由A、B、C、D、E五个组件和Mem、FF、Buffer subarrays组成：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-08.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-08.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A 表示Decoder和Driver，用于控制输入电压、驱动模拟信号；B表示Column Multiplexer，用于支持NN的计算，包含subtraction unit和non- linear threshold (sigmoid) unit两个模拟单元，每个bitline上连接有一个multiplexer用于切换FF subarrays的存储和计算模式；C表示Sense Amplifier，用于支持不同精度的计算，同时集成ReLU、Max pool等操作；D表示Buffer Connection，用于连接Buffer subarrays和FF subarrays；E表示PRIME controller，用于指令译码和提供FF subarrays相关电路的控制信号，最后贴上几张PRIME的Evaluation图，pNPU-co指的是DianNao作为co-processor的NPU solution&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A 表示Decoder和Driver，用于控制输入电压、驱动模拟信号；B表示Column Multiplexer，用于支持NN的计算，包含subtraction unit和non- linear threshold (sigmoid) unit两个模拟单元，每个bitline上连接有一个multiplexer用于切换FF subarrays的存储和计算模式；C表示Sense Amplifier，用于支持不同精度的计算，同时集成ReLU、Max pool等操作；D表示Buffer Connection，用于连接Buffer subarrays和FF subarrays；E表示PRIME controller，用于指令译码和提供FF subarrays相关电路的控制信号，最后贴上几张PRIME的Evaluation图，pNPU-co指的是DianNao作为co-processor的NPU solution&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-09.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-09.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9685&amp;oldid=prev</id>
		<title>Comcat：/* ReRAM crossbar-based加速器的硬件实现 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9685&amp;oldid=prev"/>
				<updated>2018-05-17T10:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;ReRAM crossbar-based加速器的硬件实现&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2018年5月17日 (四) 10:34的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第40行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第40行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;1、首先是2016 ISCA的论文ISAAC的方案，后来清华大学的团队又在ISAAC的基础做了改进，这两篇文章就放在一起讨论，ISAAC的整体架构如下图所示，ISAAC的顶层由一些tiles组成，这些tiles通过网状结构互联，每一个tile里面包括一些in-situ multiply-accumulate(IMA) units、输出寄存器、shift-and-add、sigmoid、and max-pool units。每一个IMA 有一些 crossbar arrays 和 ADCs, connected with a shared bus. 同时IMA 也有input/output registers 和 shift-and-add units。这个架构具体是怎么计算的哪？ISAAC把这些tiles按网络的层分开，网络的每一个layer由专门的一些tiles负责计算。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;1、首先是2016 ISCA的论文ISAAC的方案，后来清华大学的团队又在ISAAC的基础做了改进，这两篇文章就放在一起讨论，ISAAC的整体架构如下图所示，ISAAC的顶层由一些tiles组成，这些tiles通过网状结构互联，每一个tile里面包括一些in-situ multiply-accumulate(IMA) units、输出寄存器、shift-and-add、sigmoid、and max-pool units。每一个IMA 有一些 crossbar arrays 和 ADCs, connected with a shared bus. 同时IMA 也有input/output registers 和 shift-and-add units。这个架构具体是怎么计算的哪？ISAAC把这些tiles按网络的层分开，网络的每一个layer由专门的一些tiles负责计算。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-03.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-03.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;AEPE在ISAAC的基础上做了进一步的改进，主要针对优化ISAAC的面积和功耗，AEPE减少了一些on-chip buffer和on-chip network来改善面积，通过使所有列XBs共用一列DACs来减少DACs，同时对ADCs的精度和功耗做trade-off来减少功耗，优化后的结构如下图所示。增加Reg Buffer来减少eDRAM的带宽，提高数据复用，减少功耗。AEPE的实验结果显示能效增加了2.71x，面积减少了2.41x，精度只降低了0.5%。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;AEPE在ISAAC的基础上做了进一步的改进，主要针对优化ISAAC的面积和功耗，AEPE减少了一些on-chip buffer和on-chip network来改善面积，通过使所有列XBs共用一列DACs来减少DACs，同时对ADCs的精度和功耗做trade-off来减少功耗，优化后的结构如下图所示。增加Reg Buffer来减少eDRAM的带宽，提高数据复用，减少功耗。AEPE的实验结果显示能效增加了2.71x，面积减少了2.41x，精度只降低了0.5%。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-04.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-04.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CNN layer在tiles里的mapping如下图a所示，通过把CNN一个layer的3D卷积核展开为一个权值矩阵，每一个3D卷积核的所有权值保存在unfolded weight matrix的每一列，因为一个ReRAM cell不够存储16bit的权值，AEPE以4bit的resolution把16bit的权值转化为直接映射权值矩阵，这样就可以通过分割矩阵直接mapping到ReRAM crossbars之中。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CNN layer在tiles里的mapping如下图a所示，通过把CNN一个layer的3D卷积核展开为一个权值矩阵，每一个3D卷积核的所有权值保存在unfolded weight matrix的每一列，因为一个ReRAM cell不够存储16bit的权值，AEPE以4bit的resolution把16bit的权值转化为直接映射权值矩阵，这样就可以通过分割矩阵直接mapping到ReRAM crossbars之中。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-05.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-05.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;AEPE的Dataflow结构如下图b所示，可以充分的实现数据复用。原始的输入特征图像背包存在eDRAM buffer中，ping-pong寄存器buffer服务于当前PE阵列的计算和存储下一步卷积计算的输入。这里实现了三种数据复用，1）ping-pong寄存器数据的复用，2）每一行的PE复用同一批数据，3）每一列的PE复用卷积输出的partial sums&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;AEPE的Dataflow结构如下图b所示，可以充分的实现数据复用。原始的输入特征图像背包存在eDRAM buffer中，ping-pong寄存器buffer服务于当前PE阵列的计算和存储下一步卷积计算的输入。这里实现了三种数据复用，1）ping-pong寄存器数据的复用，2）每一行的PE复用同一批数据，3）每一列的PE复用卷积输出的partial sums&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-06.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[文件:Reram-dla-06.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;分析到这里，我们可以发现ReRAM确实很适合用来做矩阵向量乘法，抛开ReRAM介质，AEPE和IASSC的顶层架构，其实和传统的Dataflow结构有点相似，都有Memory Hierarchy的思想在里面，感觉除了底层PE由ReRAM组成，还没有完全抛开Dataflow的架构，同时基于ReRAM的DLA必须包含一堆DACs和ADCs，这也在一定程度上影响了面积和功耗，ISAAC只做到了380.7GOPs/W的能效，AEPE大概为1TGOPs/W多一点&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;分析到这里，我们可以发现ReRAM确实很适合用来做矩阵向量乘法，抛开ReRAM介质，AEPE和IASSC的顶层架构，其实和传统的Dataflow结构有点相似，都有Memory Hierarchy的思想在里面，感觉除了底层PE由ReRAM组成，还没有完全抛开Dataflow的架构，同时基于ReRAM的DLA必须包含一堆DACs和ADCs，这也在一定程度上影响了面积和功耗，ISAAC只做到了380.7GOPs/W的能效，AEPE大概为1TGOPs/W多一点&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9684&amp;oldid=prev</id>
		<title>Comcat：/* 申明 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9684&amp;oldid=prev"/>
				<updated>2018-05-17T10:33:38Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;申明&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2018年5月17日 (四) 10:33的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第8行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第8行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;先前的DNN加速器主要是GPU、FPGA、ASIC为主，其中以ASIC的能效最好，以ASIC为例，大多数的DNN加速器作为一个co-processor出现，这样带来的问题是processor需要频繁跟主存进行数据交换，造成大量time-consuming和energy-consuming，寒武纪的DianNao在DRAM访存上消耗了整体95%的功耗。因此越来越多的方案采用大容量的片上SRAM来减少processor访存DRAM，即使这样，还不能解决输入和输出数据传输造成的功耗，而且片上SRAM的功耗也不少。所以，学术界提出了ReRAM Crossbar-based Accelerator for DNN，ReRAM可以说在这方面有天然的优势，集存储和计算功能于一身，灵活的可配置特性，基于ReRAM的DLA理论上可以提供很高的能效，这点可以从PRIME的设计方案中得知。同时将DRAM的读写速度与SSD的非易失性结合于一身，这也是ReRAM替代DRAM成为主存的潜力，这些优点我们暂且不说，接下来主要讨论ReRAM作为DNN加速器的潜力。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;先前的DNN加速器主要是GPU、FPGA、ASIC为主，其中以ASIC的能效最好，以ASIC为例，大多数的DNN加速器作为一个co-processor出现，这样带来的问题是processor需要频繁跟主存进行数据交换，造成大量time-consuming和energy-consuming，寒武纪的DianNao在DRAM访存上消耗了整体95%的功耗。因此越来越多的方案采用大容量的片上SRAM来减少processor访存DRAM，即使这样，还不能解决输入和输出数据传输造成的功耗，而且片上SRAM的功耗也不少。所以，学术界提出了ReRAM Crossbar-based Accelerator for DNN，ReRAM可以说在这方面有天然的优势，集存储和计算功能于一身，灵活的可配置特性，基于ReRAM的DLA理论上可以提供很高的能效，这点可以从PRIME的设计方案中得知。同时将DRAM的读写速度与SSD的非易失性结合于一身，这也是ReRAM替代DRAM成为主存的潜力，这些优点我们暂且不说，接下来主要讨论ReRAM作为DNN加速器的潜力。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Why ReRAM ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Why ReRAM ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9683&amp;oldid=prev</id>
		<title>2018年5月17日 (四) 10:33 Comcat</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9683&amp;oldid=prev"/>
				<updated>2018-05-17T10:33:28Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一版本&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;2018年5月17日 (四) 10:33的版本&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;这是 Matery Allen 在该领域的文献综述，原文链接：https://zhuanlan.zhihu.com/p/33351291?utm_source=weibo&amp;amp;utm_medium=social&amp;amp;utm_oi=33945362104320&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;这是 Matery Allen 在该领域的文献综述，原文链接：https://zhuanlan.zhihu.com/p/33351291?utm_source=weibo&amp;amp;utm_medium=social&amp;amp;utm_oi=33945362104320&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;申明：最近导师让调研总结一下关于DLA的研究，过程中注意到了ReRAM这个领域，通过几篇论文大概总结了一下，也是初次接触ReRAM相关的DLA，整个过程时间比较短，难免会有错误，还请见谅。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;== 申明 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;By Matery Allen&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;最近导师让调研总结一下关于DLA的研究，过程中注意到了ReRAM这个领域，通过几篇论文大概总结了一下，也是初次接触ReRAM相关的DLA，整个过程时间比较短，难免会有错误，还请见谅。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;先前的DNN加速器主要是GPU、FPGA、ASIC为主，其中以ASIC的能效最好，以ASIC为例，大多数的DNN加速器作为一个co-processor出现，这样带来的问题是processor需要频繁跟主存进行数据交换，造成大量time-consuming和energy-consuming，寒武纪的DianNao在DRAM访存上消耗了整体95%的功耗。因此越来越多的方案采用大容量的片上SRAM来减少processor访存DRAM，即使这样，还不能解决输入和输出数据传输造成的功耗，而且片上SRAM的功耗也不少。所以，学术界提出了ReRAM Crossbar-based Accelerator for DNN，ReRAM可以说在这方面有天然的优势，集存储和计算功能于一身，灵活的可配置特性，基于ReRAM的DLA理论上可以提供很高的能效，这点可以从PRIME的设计方案中得知。同时将DRAM的读写速度与SSD的非易失性结合于一身，这也是ReRAM替代DRAM成为主存的潜力，这些优点我们暂且不说，接下来主要讨论ReRAM作为DNN加速器的潜力。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;先前的DNN加速器主要是GPU、FPGA、ASIC为主，其中以ASIC的能效最好，以ASIC为例，大多数的DNN加速器作为一个co-processor出现，这样带来的问题是processor需要频繁跟主存进行数据交换，造成大量time-consuming和energy-consuming，寒武纪的DianNao在DRAM访存上消耗了整体95%的功耗。因此越来越多的方案采用大容量的片上SRAM来减少processor访存DRAM，即使这样，还不能解决输入和输出数据传输造成的功耗，而且片上SRAM的功耗也不少。所以，学术界提出了ReRAM Crossbar-based Accelerator for DNN，ReRAM可以说在这方面有天然的优势，集存储和计算功能于一身，灵活的可配置特性，基于ReRAM的DLA理论上可以提供很高的能效，这点可以从PRIME的设计方案中得知。同时将DRAM的读写速度与SSD的非易失性结合于一身，这也是ReRAM替代DRAM成为主存的潜力，这些优点我们暂且不说，接下来主要讨论ReRAM作为DNN加速器的潜力。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	<entry>
		<id>http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9682&amp;oldid=prev</id>
		<title>Comcat：以“这是 Matery Allen 在该领域的文献综述，原文链接：https://zhuanlan.zhihu.com/p/33351291?utm_source=weibo&amp;utm_medium=social&amp;utm_oi=33945362104320  申...”为内容创建页面</title>
		<link rel="alternate" type="text/html" href="http://wiki.jackslab.org/index.php?title=%E5%9F%BA%E4%BA%8E%E5%BF%86%E9%98%BB%E5%99%A8%E7%9A%84DLA&amp;diff=9682&amp;oldid=prev"/>
				<updated>2018-05-17T10:32:52Z</updated>
		
		<summary type="html">&lt;p&gt;以“这是 Matery Allen 在该领域的文献综述，原文链接：https://zhuanlan.zhihu.com/p/33351291?utm_source=weibo&amp;amp;utm_medium=social&amp;amp;utm_oi=33945362104320  申...”为内容创建页面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;这是 Matery Allen 在该领域的文献综述，原文链接：https://zhuanlan.zhihu.com/p/33351291?utm_source=weibo&amp;amp;utm_medium=social&amp;amp;utm_oi=33945362104320&lt;br /&gt;
&lt;br /&gt;
申明：最近导师让调研总结一下关于DLA的研究，过程中注意到了ReRAM这个领域，通过几篇论文大概总结了一下，也是初次接触ReRAM相关的DLA，整个过程时间比较短，难免会有错误，还请见谅。&lt;br /&gt;
&lt;br /&gt;
先前的DNN加速器主要是GPU、FPGA、ASIC为主，其中以ASIC的能效最好，以ASIC为例，大多数的DNN加速器作为一个co-processor出现，这样带来的问题是processor需要频繁跟主存进行数据交换，造成大量time-consuming和energy-consuming，寒武纪的DianNao在DRAM访存上消耗了整体95%的功耗。因此越来越多的方案采用大容量的片上SRAM来减少processor访存DRAM，即使这样，还不能解决输入和输出数据传输造成的功耗，而且片上SRAM的功耗也不少。所以，学术界提出了ReRAM Crossbar-based Accelerator for DNN，ReRAM可以说在这方面有天然的优势，集存储和计算功能于一身，灵活的可配置特性，基于ReRAM的DLA理论上可以提供很高的能效，这点可以从PRIME的设计方案中得知。同时将DRAM的读写速度与SSD的非易失性结合于一身，这也是ReRAM替代DRAM成为主存的潜力，这些优点我们暂且不说，接下来主要讨论ReRAM作为DNN加速器的潜力。&lt;br /&gt;
&lt;br /&gt;
== Why ReRAM ==&lt;br /&gt;
&lt;br /&gt;
1、 Processing-in-memory (PIM)：PIM is a promising solution to address the “memory         wall” challenges for future computer systems；&lt;br /&gt;
&lt;br /&gt;
2、 ReRAM的crossbar array structure可以很高效地完成矩阵向量乘法，这一点可以完美应用到DNN；&lt;br /&gt;
&lt;br /&gt;
3、 Reconfigurable，支持多种large-scale DNNs，甚至可以支持SNN。&lt;br /&gt;
&lt;br /&gt;
4、 ReRAM有更小的面积（high density storage）、更高的性能和更低的功耗;&lt;br /&gt;
&lt;br /&gt;
5、 manufacture friendly with low cost，不需要复杂的逻辑集成设计或3D stacking；&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ReRAM crossbar-based 矩阵向量乘法 ==&lt;br /&gt;
&lt;br /&gt;
首先，说一下ReRAM crossbar architecture，如下图左所示，是一个具有子线和位线的阵列，为了增加密度和减少成本，可以做成multi-layer crossbar architecture和multi-level cell (MLC)。ReRAM是如何应用到Artificial neural networks (ANNs)上的，我们以2 × 2 ReRAM crossbar array为例来说明，如下图中所示，a i表示子线上的模拟输入电压，权重wi,j被编程到了crossbar array的cell里，每个位线的电流就是向量矩阵的乘积。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-01.jpg]]&lt;br /&gt;
&lt;br /&gt;
当然要在ReRAM上实现神经网络还需要一些其它电路结构，比如ADC、DAC、sigmoid unit等，一个完整的Vector-Matrix Multiplier如下图右所示。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-02.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ReRAM crossbar-based加速器的硬件实现 ==&lt;br /&gt;
&lt;br /&gt;
1、首先是2016 ISCA的论文ISAAC的方案，后来清华大学的团队又在ISAAC的基础做了改进，这两篇文章就放在一起讨论，ISAAC的整体架构如下图所示，ISAAC的顶层由一些tiles组成，这些tiles通过网状结构互联，每一个tile里面包括一些in-situ multiply-accumulate(IMA) units、输出寄存器、shift-and-add、sigmoid、and max-pool units。每一个IMA 有一些 crossbar arrays 和 ADCs, connected with a shared bus. 同时IMA 也有input/output registers 和 shift-and-add units。这个架构具体是怎么计算的哪？ISAAC把这些tiles按网络的层分开，网络的每一个layer由专门的一些tiles负责计算。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-03.jpg]]&lt;br /&gt;
&lt;br /&gt;
AEPE在ISAAC的基础上做了进一步的改进，主要针对优化ISAAC的面积和功耗，AEPE减少了一些on-chip buffer和on-chip network来改善面积，通过使所有列XBs共用一列DACs来减少DACs，同时对ADCs的精度和功耗做trade-off来减少功耗，优化后的结构如下图所示。增加Reg Buffer来减少eDRAM的带宽，提高数据复用，减少功耗。AEPE的实验结果显示能效增加了2.71x，面积减少了2.41x，精度只降低了0.5%。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-04.jpg]]&lt;br /&gt;
&lt;br /&gt;
CNN layer在tiles里的mapping如下图a所示，通过把CNN一个layer的3D卷积核展开为一个权值矩阵，每一个3D卷积核的所有权值保存在unfolded weight matrix的每一列，因为一个ReRAM cell不够存储16bit的权值，AEPE以4bit的resolution把16bit的权值转化为直接映射权值矩阵，这样就可以通过分割矩阵直接mapping到ReRAM crossbars之中。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-05.jpg]]&lt;br /&gt;
&lt;br /&gt;
AEPE的Dataflow结构如下图b所示，可以充分的实现数据复用。原始的输入特征图像背包存在eDRAM buffer中，ping-pong寄存器buffer服务于当前PE阵列的计算和存储下一步卷积计算的输入。这里实现了三种数据复用，1）ping-pong寄存器数据的复用，2）每一行的PE复用同一批数据，3）每一列的PE复用卷积输出的partial sums&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-06.jpg]]&lt;br /&gt;
&lt;br /&gt;
分析到这里，我们可以发现ReRAM确实很适合用来做矩阵向量乘法，抛开ReRAM介质，AEPE和IASSC的顶层架构，其实和传统的Dataflow结构有点相似，都有Memory Hierarchy的思想在里面，感觉除了底层PE由ReRAM组成，还没有完全抛开Dataflow的架构，同时基于ReRAM的DLA必须包含一堆DACs和ADCs，这也在一定程度上影响了面积和功耗，ISAAC只做到了380.7GOPs/W的能效，AEPE大概为1TGOPs/W多一点&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2、来自ISCA2016的一篇论文PRIME: A Novel Processing-in-memory Architecture for Neural Network Computation in ReRAM-based Main Memory让人眼前一亮，这是来自原文的一段话：“Our experimental results show that, compared with a state-of-the-art neural processing unit design, PRIME improves the performance by∼2360× and the energy consumption by ∼895×, across the evaluated machine learning benchmarks.”，要知道这里是在跟DianNao做对比，这数据让人震惊，下面我们主要讨论一下PRIME的实现。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PRIME不像前面讨论的ISAAC和AEPE，PRIME直接抛弃了AEPE里的eDRAM、Register buffer这样的存储结构设计，全部用ReRAM实现，设计了一种可变的内存计算架构：巧妙结合了ReRAM超高效加速神经网络的特点与内存计算的高效体系结构，充分利用了ReRAM既能作为存储器件，又能进行模拟计算的特性。比起一般的加速器结构或者单纯的内存计算结构，PRIME更灵活的可变结构能更有效利用资源，在需要神经网络计算的时候提供加速支持，而在其他时间提供更大的存储空间。同时，针对ReRAM计算精度受限的问题，PRIME提出了一套提升精度以达到神经网络计算要求的方法。在正常的ReRAM存储中，修改一部分存储的外围电路，使得这部分存储可以在“存储”状态和“神经网络加速器”状态之间灵活切换。其具体贡献包括：（1）存储外围电路设计，通过最大化复用存储和加速器的外围电路，最小化了需要在内存基础上添加的额外面积；（2）提出了一种克服ReRAM及其模拟计算精度偏低的方法；（3）提出了一整套的内存计算系统支持方案，并对大规模网络进行了仿真验证。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如下图所示，比较了传统DLA、processing in memory（PIM）和PRINME的区别，传统的DLA和PIM结构都需要额外的processing units (PU)，而PRIME不需要。PRIME被设计为三个不同区域的bank，分别代表memory (Mem) subarrays, full function(FF) subarrays, and Buffer subarrays，Mem subarrays只存储数据，FF subarrays既可以做运算又可以做存储，Buffer subarrays作为FF subarrays的数据缓存，不做数据缓存的时候可以用来做常规的memory，Mem和Buffer subarrays通过私有的端口紧贴着与FF subarrays相连，这样buffer存取就不会消耗Mem subarrays的带宽。&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-07.jpg]]&lt;br /&gt;
&lt;br /&gt;
PRIME的微架构如下图所示，主要由A、B、C、D、E五个组件和Mem、FF、Buffer subarrays组成：&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-08.jpg]]&lt;br /&gt;
&lt;br /&gt;
A 表示Decoder和Driver，用于控制输入电压、驱动模拟信号；B表示Column Multiplexer，用于支持NN的计算，包含subtraction unit和non- linear threshold (sigmoid) unit两个模拟单元，每个bitline上连接有一个multiplexer用于切换FF subarrays的存储和计算模式；C表示Sense Amplifier，用于支持不同精度的计算，同时集成ReLU、Max pool等操作；D表示Buffer Connection，用于连接Buffer subarrays和FF subarrays；E表示PRIME controller，用于指令译码和提供FF subarrays相关电路的控制信号，最后贴上几张PRIME的Evaluation图，pNPU-co指的是DianNao作为co-processor的NPU solution&lt;br /&gt;
&lt;br /&gt;
[[文件:Reram-dla-09.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&lt;br /&gt;
1.PRIME: A Novel Processing-in-memory Architecture for Neural Network Computation in ReRAM-based Main Memory&lt;br /&gt;
&lt;br /&gt;
2.T. Chen et al., “DianNao: A small-footprint high-throughput accelerator for ubiquitous machine-learning,”in Proc. ASPLOS, 2014.&lt;br /&gt;
&lt;br /&gt;
3.ISAAC: A Convolutional Neural Network Accelerator with In-Situ Analog Arithmetic in Crossbars&lt;br /&gt;
&lt;br /&gt;
4.AEPE: An Area and Power Efficient ReRAM Crossbar-based Accelerator for Deep CNNs&lt;/div&gt;</summary>
		<author><name>Comcat</name></author>	</entry>

	</feed>