CN111382861A - 处理系统 - Google Patents
处理系统 Download PDFInfo
- Publication number
- CN111382861A CN111382861A CN201911201499.1A CN201911201499A CN111382861A CN 111382861 A CN111382861 A CN 111382861A CN 201911201499 A CN201911201499 A CN 201911201499A CN 111382861 A CN111382861 A CN 111382861A
- Authority
- CN
- China
- Prior art keywords
- memory
- feature
- weight
- boundary
- temporary memory
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 130
- 238000001914 filtration Methods 0.000 claims abstract description 11
- 238000012805 post-processing Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及一种图像过滤处理系统,该图像过滤处理系统包括:临时存储器;流控制器,被配置为控制将特征和权重存储在临时存储器的点处,并且当特征和权重中的至少一个的值为0时,控制将下一特征和下一权重重写在该点处;以及处理元件,被配置为对临时存储器中的特征的值和权重的值执行乘法运算,并且对乘法结果执行加法运算。
Description
相关申请的交叉引用
本申请要求于2018年12月31日提交的申请号为10-2018-0173358的韩国专利申请的优先权,其公开内容通过引用整体并入本文。
技术领域
示例性实施例涉及一种处理系统。
背景技术
卷积神经网络(CNN)是主要用于图像识别和分析的处理系统。该处理系统需要卷积运算,该卷积运算通过使用矩阵乘法单元执行乘法和加法运算来从利用特定滤波从图像中提取特征。当使用密集图像和滤波时,即当数据具有少量的0(即,数据具有较少的稀疏性)时,可以有效地使用这种运算单元,但处理系统中使用的大多数图像和滤波的稀疏度为约30%至约70%。
当稀疏度增加时,数据将包括大量的零值(即,0)。零值对乘法和加法运算的结果值没有影响,但是可能会增加不必要的延迟并且导致电流消耗。
发明内容
各个实施例涉及一种提高处理系统的性能并且减少电流消耗的技术。
在实施例中,一种图像过滤处理系统可以包括:临时存储器;流控制器,被配置为控制将特征和权重存储在临时存储器的点处,并且当特征和权重中的至少一个的值为0时,控制将下一特征和下一权重重写在该点处;以及处理元件,被配置为对临时存储器中的特征的值和权重的值执行乘法运算,并且对乘法结果执行加法运算。
在另一实施例中,一种处理系统可以包括:临时存储器,包括多个点;流控制器,被配置为控制将特征、权重和边界标志存储在临时存储器的点处,并且当特征和权重中的至少一个的值为0时,控制将下一特征和下一权重重写在该点处;以及处理元件,被配置为对存储在临时存储器中的相同点处的特征的值和权重的值执行乘法运算,以及对相同边界的乘法运算结果执行加法运算。
在又一实施例中,一种处理系统可以包括:临时存储器;流控制器,被配置为控制将特征和权重存储在临时存储器的点处,并且当待存储在临时存储器的点处的下一特征和下一权重中的至少一个包括值0时,控制不将下一特征和下一权重存储在临时存储器中;以及处理元件,被配置为对存储在临时存储器中的特征的值和权重的值执行乘法运算,并且对乘法结果执行加法运算。
在又一实施例中,一种处理系统可以包括:存储器,适用于存储图像数据和与图像数据的过滤相关联的滤波数据,该图像数据包括多个特征,该滤波数据包括权重值;高速缓存存储器,适用于从存储器中加载图像数据和滤波数据以存储图像数据;临时存储器;以及流控制器,适用于读取图像数据和滤波数据,检测每一对特征和相应权重值中是否包括特定逻辑值,并且当确定该对中的一个包括特定逻辑值时,将该对重写到临时存储器的某个区域。
根据实施例,能够提高处理系统的性能并且减少电流消耗。
附图说明
图1是示出在处理系统中执行的卷积运算的示图。
图2是示出根据实施例的处理系统的示图。
图3是示出图2的处理元件的示图。
图4A和图4B是示出流控制器读取存储在片上存储器中的图像和滤波并且将所读取的图像和滤波写入临时存储器中的过程的示图。
图5是示出流控制器读取存储在片上存储器中的图像和滤波并将所读取的图像和滤波写入临时存储器中的过程的示图。
图6是示出流控制器将特征和权重写入临时存储器中的操作的流程图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施而不应该被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开是彻底的和完整的,并且将向本领域技术人员充分传达本发明的范围。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
在整个说明书中,当一个元件被称为“连接至”或“联接至”另一元件时,它可以表示前一个元件直接连接或联接或者电连接或联接至后一个元件,或其间插入有其它元件。此外,当元件“包括”或“包含”组件时,表示该元件不排除另一组件,而是可以进一步包括或包含另一组件,除非相反地指出。此外,尽管说明书中描述的组件以单数形式表示,但是本实施例不限于此,相应的组件也可以以复数形式表示。
图1是示出在处理系统中执行的卷积运算的示图。
在图1中,附图标记110可以表示图像(或图像数据)。例如,图像110的尺寸是4×4。附图标记120可以表示滤波(或滤波数据)。例如,滤波120的尺寸是2×2。图像中包括的值可以被称为特征,滤波中包括的值可以被称为权重。图像110可以包括16个特征,并且滤波120可以包括4个权重。
可以以如虚线111至114所示的将图像110和滤波120彼此重叠的方式来执行卷积运算。如虚线111所示的将图像110和滤波120彼此重叠的操作可以具有结果值137(=1×17+5×0+0×0+6×20)。此外,如虚线112所示的将图像110和滤波120彼此重叠的操作可以具有结果值0(=0×17+6×0+3×0+0×20)。即,第一边界111的运算结果可以是137,第二边界112的运算结果可以是0。类似地,第三边界113的运算结果可以是211(=3×17+0×0+4×0+8×20),第四边界114的运算结果可以是285(=5×17+0×0+6×0+10×20)。
在卷积运算中,可以看出,当特征和权重中的至少一个为0时,这对相应边界的运算结果值没有影响。例如,在第一边界运算(1×17+5×0+0×0+6×20=137)中,可以看出特征和权重中的至少一个为0的下划线部分对运算结果137没有影响。
图2是示出根据实施例的处理系统的示图。
参照图2,处理系统可以包括主存储器210、存储器接口220、片上存储器230、流控制器240、临时存储器250、处理元件260和特征映射生成器270。
主存储器210可以是存储图像、滤波等的大容量存储器。作为主存储器210,可以使用动态随机存取存储器(DRAM),并且也可以使用其他类型的存储器。
存储器接口220可以用于读取主存储器210的操作所需的图像和滤波,并且将读取的图像和滤波转移到片上存储器230。存储器接口220可以包括存储器控制器和用于访问主存储器210和片上存储器230的协议。
片上存储器230可以是从主存储器210加载待由处理元件260处理的一些数据并且存储所加载的数据的存储器。片上存储器230可以是一种大容量高速缓存存储器,用于使处理元件260和主存储器210之间的访问延迟最小化。大容量可以表示片上存储器230的容量大于临时存储器250的容量,并且片上存储器230的容量可以小于主存储器210的容量。可以使用静态随机存取存储器(SRAM)作为片上存储器230。
流控制器240可以读取存储在片上存储器230中的图像和滤波,并且将所读取的图像和滤波写入临时存储器250中。当特征或权重的值为0时,流控制器240可以执行使得将针对相应值的操作跳过的操作。进一步地,流控制器240可以在将特征和权重加载到临时存储器250的过程中,执行复制片上存储器230的特征和权重的操作。下文将描述流控制器240的详细操作。
临时存储器250可以是临时存储待由处理元件260处理的特征和权重的存储器。临时存储器250可以是由处理元件260直接访问的高速缓存存储器。也就是说,当临时存储器250是1级高速缓存时,片上存储器230可以是2级高速缓存。临时存储器250可以包括多个点并且存储特征、权重以及边界标志,该边界标志指示各个点中的特征和权重之间的边界。临时存储器250可以是高速暂存记忆体(scratch pad)。
处理元件260可执行将存储在临时存储器250中的相同点处的特征和权重相乘并且将相同边界内的相乘结果进行相加的运算。
特征映射生成器270可以对处理元件260的卷积运算结果执行后处理。特征映射生成器270可以执行诸如池化(pooling)的函数以基于逐个像素来查找平均值或最大值、诸如整流线性单元(ReLU)和sigmoid函数的激活函数以基于阈值来过滤数据、以及归一化函数以过滤偏离结果值的值。
为了快速并行处理,处理系统可以包括并行的多个元件,例如多个流控制器240、多个临时存储器250和多个处理元件260。
该处理系统可以利用一个或多个集成电路芯片来实施。例如,整个处理系统可以以片上系统的形式被包括在一个集成电路芯片中。可选地,处理系统可以以下方式利用多个集成电路芯片来实施:主存储器210被包括在一个集成电路芯片中,并且其他元件220、230、240、250、260和270被包括在另一个集成电路芯片中。
图3是示出图2的处理元件260的示图。
参照图3,处理元件260可以包括乘法器310、加法器320、寄存器阵列330和边界控制器340。
乘法器310可以将从临时存储器250接收的特征的值和权重的值相乘。乘法器310可以将存储在临时存储器250的相同点处的、特征的值和权重的值相乘。
加法器320可以将乘法器310的乘法结果与从寄存器阵列330提供的值相加。
边界控制器340可接收边界标志并且控制寄存器阵列330,使得加法器320可以将相同边界内的乘法结果进行相加。进一步地,边界控制器340可以控制寄存器阵列330,使得可以从寄存器阵列330输出每个边界的加法运算结果。
寄存器阵列330可以接收并存储加法器320的加法运算结果。当边界改变时,存储在寄存器阵列330中的值可以被输出到图2的特征映射生成器270,然后可以被初始化为“0”。
因此,如图1所示,处理元件260可以针对每个边界执行卷积运算。
图4A和图4B是示出流控制器240读取存储在片上存储器230中的图像和滤波并且将所读取的图像和滤波写入临时存储器250中的过程的示图。通过示例的方式,图4A和图4B示出了流控制器240不使用零值被跳过的零跳过方案。
在图4A中,附图标记410可以表示图1中的具有4×4尺寸的图像110被存储在图2的片上存储器230中。附图标记420可以表示如图1所示的具有2×2尺寸的滤波120被存储在片上存储器230中。换言之,410表示存储在片上存储器230中的图像,并且420表示存储在片上存储器230中的滤波。
对于每个边界,流控制器240可以以1、2、3和4的顺序从片上存储器230读取图像410。也就是说,流控制器240可以在图1的第一边界111处从片上存储器230读取图像410之中的特征1、5、0和6。另外,流控制器240可以在第二边界112处读取图像410之中的特征0、6、3和0。进一步地,流控制器240可以在第三边界113处读取图像410之中的特征3、0、4和8。此外,流控制器240可以在第四边界114处读取图像410之中的特征5、0、6和10。图4B示出了通过流控制器240的这种重复读取操作来复制存储在片上存储器230中的图像410的特征值。
此外,如箭头×9所示,流控制器240可以重复地读取存储在片上存储器230中的滤波420九次,从而读取滤波420的权重值。也就是说,可以使用重复地读取四个权重的方法,其中四个权重类似于边界尺寸。图4B示出了通过流控制器240的这种重复读取操作来复制存储在片上存储器230中的滤波420的权重值。
在图4B中,附图标记430可以表示将从片上存储器230读取的特征和权重写入临时存储器250中的结果。参考附图标记430,可以看出,特征和权重被存储在片上存储器230的36个点(即,点0至点35)中。边界标志用于区分特征和权重的边界。例如,可以看出,每当改变边界时,边界标志值就以0->1->0->1改变。
参照图4A和图4B,可以看出在将片上存储器230中存储的图像410和滤波420存储在临时存储器250中的过程中,特征值和权重值被重复访问,使得特征值和权重值中的一些被复制。
图5是示出流控制器240读取存储在片上存储器230中的图像410和滤波420并且将所读取的图像410和滤波420写入临时存储器250中的过程的示图。通过示例的方式,图5示出了流控制器240使用零跳跃方案。由于存储在片上存储器230中的图像410和滤波420的格式以及流控制器240访问图像410和滤波420的过程与图4A和图4B相同,因此将省略对其的说明。
流控制器240可以根据以下方案(方案1)和(方案2)执行零跳跃方案。
(方案1)当待存储在临时存储器250的相同点处的特征和权重中的至少一个具有值0时,流控制器240可以跳过该点。具体地,当从片上存储器230读取的特征和权重中的至少一个具有值0时,流控制器240可以将该值存储在临时存储器250中,然后保持该值待被写入的点的值。该值待被写入的点的值没有增加而是保持,因此可以在临时存储器250的该点处重写新值(即,原本将存储在下一个点的值)。
图5的左侧430表示不使用零跳跃方案并且将特征和权重存储在临时存储器250中的情况。图5的右侧530表示使用零跳过方案并且将特征和权重存储在临时存储器250中的情况。可以看出,在左侧430中,特征和权重中的至少一个包括值0的点(例如,点1、2、4、5等)被重写,但是在右侧530中,这些点被移除。
(方案2)流控制器240可以控制在相同边界内,至少一个点不被重写。这是因为,当边界内的四个点全部被重写时,边界消失并且可能无法导出边界的卷积结果值。在左侧430的第二边界处,四个点(即,点4至点7)全部符合零跳跃,并且当全部被跳跃时,不可能导出第二边界的卷积运算值为0的结果。因此,在这种情况下,流控制器240可以在特征和权重中写入值0,并且通过边界标志将边界彼此区分开。右侧530的点(点2)是指示第二边界的值,并且当处理元件260计算该值时,能够导出第二边界的卷积运算结果为0的结果。
当使用上述方案(方案1)和(方案2)执行零跳跃操作时,由于能够移除临时存储器250的点之中的、对运算结果值没有影响的点,因此能够防止处理元件260的不必要操作,并且防止由于不必要操作而导致的时间和电流浪费。此外,由于虽然执行零跳过,但是防止了边界内的所有点被跳过,因此可以不省略边界。
图6是示出流控制器240将特征和权重写入临时存储器250中的操作的流程图。
参照图6,流控制器240可以确定待写入的特征或权重是否包括值0(601)。
当确定特征和权重都不包括值0时(601中为“否”),可以将特征和权重写入在临时存储器250的当前点处(603)。此外,也可以写入用于区分当前点的边界的边界标志。
可以将当前点的值增加值1(605),并且可以再次执行步骤601,以便将下一特征和权重写入临时存储器250中。
当确定特征或权重包括值0时(601中为“是”),可以确定边界内的所有点是否都包括零,即待进行零跳跃的全零情况(607)。
当确定为不是全零的情况时(607中为“否”),可以将特征和权重写入在临时存储器250的当前点处(609)。为了将下一特征和权重写入临时存储器250中,同时当前点的值保持不变而没有增加,即为了对在步骤609中所写入的特征和权重进行重写,可以再次执行步骤601。
当确定为是全零的情况时(607中为“是”),可以将值0写入临时存储器250的当前点的特征和权重中(611)。此外,也可以写入用于区分当前点的边界的边界标志。此外,为了基本上防止整个边界被重写,可以将当前点的值增加值1(613)。然后,可以再次执行步骤601,以便将下一特征和权重写入临时存储器250中。
当流控制器240如图6所示操作时,特征、权重和边界标志可以类似于图5的右侧530的被写入临时存储器250中。
前述实施例示例了流控制器240以以下方式来实现零跳跃:通过保持临时存储器250中的写入目标点的值而不增加该值来重写新值。然而,与此不同的是,当然也可以以下方式来执行零跳跃操作:流控制器240基本上防止将待进行零跳跃的特征和权重写入临时存储器250中。即使在这种情况下,也应该将相同边界内的至少一个点写入临时存储器250中,以便可以区分边界。
尽管出于说明性目的描述了各个实施例,但是对于本领域技术人员来说显而易见的是,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种处理系统,包括:
临时存储器;
流控制器,控制将特征和权重存储在所述临时存储器的点处,并且当所述特征和所述权重中的至少一个的值为0时,控制将下一特征和下一权重重写在所述点处;以及
处理元件,对所述临时存储器中的所述特征的值和所述权重的值执行乘法运算,并且对乘法结果执行加法运算。
2.根据权利要求1所述的处理系统,其中所述临时存储器进一步存储边界标志,所述边界标志指示所述临时存储器中的所述特征和所述权重的卷积运算的边界。
3.根据权利要求2所述的处理系统,其中所述临时存储器包括多个边界,所述多个边界中的每个包括多个点,并且所述流控制器控制至少一个点不被重写,所述至少一个点对应于所述多个边界之中的相同边界。
4.根据权利要求2所述的处理系统,其中所述临时存储器包括多个边界,所述多个边界中的每个包括多个点,其中当确定对与所述多个边界之中的相同边界相对应的所有点进行重写时,所述流控制器将所述特征和所述权重中的至少一个为0写入在所述边界的一个点处并且存储所述边界标志。
5.根据权利要求1所述的处理系统,其中所述临时存储器包括高速暂存记忆体。
6.一种处理系统,包括:
临时存储器,包括多个点;
流控制器,控制将特征、权重和边界标志存储在所述临时存储器的点处,并且当特征和权重中的至少一个具有值0时,控制将下一特征和下一权重重写在所述点处;以及
处理元件,对存储在所述临时存储器中的相同点处的特征的值和权重的值执行乘法运算,以及对相同边界的乘法运算结果执行加法运算。
7.根据权利要求6所述的处理系统,其中所述临时存储器包括多个边界,所述多个边界中的每个包括多个点,并且所述流控制器控制至少一个点不被重写,所述至少一个点对应于所述多个边界之中的相同边界。
8.根据权利要求6所述的处理系统,其中所述临时存储器包括多个边界,所述多个边界中的每个包括多个点,其中当确定对与相同边界相对应的所有点进行重写时,所述流控制器将所述特征和所述权重中的至少一个为0写入在所述边界的一个点处并且存储所述边界标志。
9.根据权利要求6所述的处理系统,其中所述处理元件包括:
乘法器,将存储在所述临时存储器的相同点处的所述特征的值与所述权重的值相乘;
加法器,对所述乘法器的乘法运算结果执行加法运算;
寄存器阵列,存储所述加法器的加法运算结果;以及
边界控制器,接收所述边界标志,控制所述寄存器阵列使得将相同边界的乘法运算结果相加,并且控制从所述寄存器阵列输出每个边界的加法运算结果。
10.根据权利要求6所述的处理系统,进一步包括:
主存储器;
存储器接口,访问所述主存储器;以及
片上存储器,存储通过所述存储器接口而从所述主存储器读取的特征和权重,
其中所述流控制器将存储在所述片上存储器中的特征和权重存储在所述临时存储器中。
11.根据权利要求10所述的处理系统,其中在将存储在所述片上存储器中的特征存储在所述临时存储器中的过程中,所述流控制器重复地读取和复制存储在所述片上存储器中的特征中的一些。
12.根据权利要求10所述的处理系统,其中进一步包括:
特征映射生成器,对所述处理元件的运算结果执行后处理。
13.根据权利要求10所述的处理系统,其中所述主存储器包括动态随机存取存储器,即DRAM,并且
所述片上存储器包括静态随机存取存储器,即SRAM。
14.根据权利要求6所述的处理系统,其中所述临时存储器包括高速暂存记忆体。
15.根据权利要求6所述的处理系统,进一步包括:多个处理元件和多个流控制器。
16.一种处理系统,包括:
临时存储器;
流控制器,控制将特征和权重存储在所述临时存储器的点处,并且当待存储在所述临时存储器的所述点处的下一特征和下一权重中的至少一个包括值0时,控制不将所述下一特征和所述下一权重存储在所述临时存储器中;以及
处理元件,对存储在所述临时存储器中的所述特征的值和所述权重的值执行乘法运算,并且对乘法结果执行加法运算。
17.根据权利要求16所述的处理系统,其中所述临时存储器进一步存储边界标志,所述边界标志指示存储在所述临时存储器中的所述特征和所述权重的边界。
18.根据权利要求17所述的处理系统,其中所述临时存储器包括多个边界,所述多个边界中的每个包括多个点,并且所述流控制器控制将所述多个边界之中的相同边界内的至少一个点存储在所述临时存储器中。
19.一种系统,包括:
存储器,存储图像数据和与所述图像数据的过滤相关联的滤波数据,所述图像数据包括多个特征,所述滤波数据包括权重值;
高速缓存存储器,从所述存储器加载所述图像数据和所述滤波数据以存储所述图像数据;
临时存储器;以及
流控制器,读取所述图像数据和所述滤波数据,检测每一对特征和相应权重值中是否包括特定逻辑值,并且当确定所述对中的一个包括所述特定逻辑值时,将所述对重写到所述临时存储器的某个区域。
20.根据权利要求19所述的系统,其中所述特定逻辑值包括零值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173358A KR20200082613A (ko) | 2018-12-31 | 2018-12-31 | 프로세싱 시스템 |
KR10-2018-0173358 | 2018-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382861A true CN111382861A (zh) | 2020-07-07 |
CN111382861B CN111382861B (zh) | 2023-11-10 |
Family
ID=71122022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911201499.1A Active CN111382861B (zh) | 2018-12-31 | 2019-11-29 | 处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11551069B2 (zh) |
JP (1) | JP7437135B2 (zh) |
KR (1) | KR20200082613A (zh) |
CN (1) | CN111382861B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532709A (zh) * | 2003-03-20 | 2004-09-29 | ���µ�����ҵ��ʽ���� | 数据存储器高速缓存装置及数据存储器高速缓存系统 |
CN103984560A (zh) * | 2014-05-30 | 2014-08-13 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
US20170024632A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance Enhancement For Two-Dimensional Array Processor |
US20170132496A1 (en) * | 2015-11-05 | 2017-05-11 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
WO2017129325A1 (en) * | 2016-01-29 | 2017-08-03 | Fotonation Limited | A convolutional neural network |
CN107256424A (zh) * | 2017-05-08 | 2017-10-17 | 中国科学院计算技术研究所 | 三值权重卷积网络处理系统及方法 |
CN107656899A (zh) * | 2017-09-27 | 2018-02-02 | 深圳大学 | 一种基于fpga的模板卷积实现方法和系统 |
JP2018032190A (ja) * | 2016-08-24 | 2018-03-01 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
US20180189643A1 (en) * | 2017-01-05 | 2018-07-05 | Electronics And Telecommunications Research Institute | Convolution circuit, application processor including the same, and operating method thereof |
US20180268584A1 (en) * | 2017-03-20 | 2018-09-20 | Sap Se | Weight initialization for machine learning models |
CN108960414A (zh) * | 2018-07-20 | 2018-12-07 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现单广播多运算的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180082181A1 (en) | 2016-05-13 | 2018-03-22 | Samsung Electronics, Co. Ltd. | Neural Network Reordering, Weight Compression, and Processing |
KR102566325B1 (ko) | 2016-07-18 | 2023-08-14 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
KR102631381B1 (ko) | 2016-11-07 | 2024-01-31 | 삼성전자주식회사 | 컨볼루션 신경망 처리 방법 및 장치 |
US20180131946A1 (en) * | 2016-11-07 | 2018-05-10 | Electronics And Telecommunications Research Institute | Convolution neural network system and method for compressing synapse data of convolution neural network |
KR20180060149A (ko) | 2016-11-28 | 2018-06-07 | 삼성전자주식회사 | 컨볼루션 처리 장치 및 방법 |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11580193B2 (en) | 2017-06-22 | 2023-02-14 | Nec Corporation | Computation device, computation method, and program |
US20190303757A1 (en) * | 2018-03-29 | 2019-10-03 | Mediatek Inc. | Weight skipping deep learning accelerator |
KR20200091623A (ko) * | 2019-01-23 | 2020-07-31 | 삼성전자주식회사 | 위노그라드 변환에 기반한 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
-
2018
- 2018-12-31 KR KR1020180173358A patent/KR20200082613A/ko not_active Application Discontinuation
-
2019
- 2019-10-31 US US16/670,645 patent/US11551069B2/en active Active
- 2019-11-08 JP JP2019202872A patent/JP7437135B2/ja active Active
- 2019-11-29 CN CN201911201499.1A patent/CN111382861B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532709A (zh) * | 2003-03-20 | 2004-09-29 | ���µ�����ҵ��ʽ���� | 数据存储器高速缓存装置及数据存储器高速缓存系统 |
CN103984560A (zh) * | 2014-05-30 | 2014-08-13 | 东南大学 | 基于大规模粗粒度嵌入式可重构系统及其处理方法 |
US20170024632A1 (en) * | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance Enhancement For Two-Dimensional Array Processor |
US20170132496A1 (en) * | 2015-11-05 | 2017-05-11 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
WO2017129325A1 (en) * | 2016-01-29 | 2017-08-03 | Fotonation Limited | A convolutional neural network |
CN108701236A (zh) * | 2016-01-29 | 2018-10-23 | 快图有限公司 | 卷积神经网络 |
JP2018032190A (ja) * | 2016-08-24 | 2018-03-01 | キヤノン株式会社 | 演算回路、その制御方法及びプログラム |
US20180189643A1 (en) * | 2017-01-05 | 2018-07-05 | Electronics And Telecommunications Research Institute | Convolution circuit, application processor including the same, and operating method thereof |
US20180268584A1 (en) * | 2017-03-20 | 2018-09-20 | Sap Se | Weight initialization for machine learning models |
CN107256424A (zh) * | 2017-05-08 | 2017-10-17 | 中国科学院计算技术研究所 | 三值权重卷积网络处理系统及方法 |
CN107656899A (zh) * | 2017-09-27 | 2018-02-02 | 深圳大学 | 一种基于fpga的模板卷积实现方法和系统 |
CN108960414A (zh) * | 2018-07-20 | 2018-12-07 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现单广播多运算的方法 |
Non-Patent Citations (2)
Title |
---|
PARASHAR等: "SCNN: An accelerator for compressed-sparse convolutional neural networks", 《ACM SIGARCH COMPUTER ARCHITECTURE NEWS》, pages 27 - 40 * |
张军: "基于Web的S-76飞控系统故障诊断专家系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, pages 140 - 301 * |
Also Published As
Publication number | Publication date |
---|---|
US20200210819A1 (en) | 2020-07-02 |
CN111382861B (zh) | 2023-11-10 |
US11551069B2 (en) | 2023-01-10 |
JP2020109621A (ja) | 2020-07-16 |
KR20200082613A (ko) | 2020-07-08 |
JP7437135B2 (ja) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107403221B (zh) | 用于实现卷积神经网络的方法和硬件、制造方法和系统 | |
TWI470426B (zh) | Memory management device and memory management method | |
CN109753443B (zh) | 一种数据处理方法、装置及电子设备 | |
US11537535B2 (en) | Non-volatile memory based processors and dataflow techniques | |
CN106201331B (zh) | 用于写入数据的方法及设备与储存媒体 | |
US20170285954A1 (en) | Data storage device and data maintenance method thereof | |
WO2020256787A1 (en) | Non-volatile memory die and storage controller having data augmentation components for use with machine learning | |
US9483181B2 (en) | Data storage device and operating method thereof | |
JP7020989B2 (ja) | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
CN110309912B (zh) | 数据存取方法、装置、硬件加速器、计算设备、存储介质 | |
CN105786722B (zh) | 基于异构混合内存的nvm内存擦写控制方法和系统 | |
CN114265670A (zh) | 一种内存块整理方法、介质及计算设备 | |
CN111382861B (zh) | 处理系统 | |
CN114328315A (zh) | 基于dma的数据预处理方法、dma部件及芯片结构 | |
CN111553847B (zh) | 图像处理方法及装置 | |
US20170031629A1 (en) | Method and apparatus for transferring binary image into memory device | |
CN111880745A (zh) | 基于固态盘阵列的数据处理方法、装置、设备及存储介质 | |
US6591264B1 (en) | Method that allows I/O requests to run concurrently with a rollback from a snapshot in a drive array | |
JP2006338083A (ja) | メモリコントローラ | |
CN112950456A (zh) | 图像处理方法及装置、电子设备、计算机可读介质 | |
CN112308762A (zh) | 一种数据处理方法及装置 | |
US8503241B2 (en) | Electronic apparatus and data reading method | |
CN108845959A (zh) | 一种内存数据处理方法、装置和电子设备 | |
CN111124290A (zh) | 应用于闪存存储装置的冗余方法及闪存存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |