CN113946538A - 一种基于行缓存机制的卷积层融合存储装置及方法 - Google Patents

一种基于行缓存机制的卷积层融合存储装置及方法 Download PDF

Info

Publication number
CN113946538A
CN113946538A CN202111112572.5A CN202111112572A CN113946538A CN 113946538 A CN113946538 A CN 113946538A CN 202111112572 A CN202111112572 A CN 202111112572A CN 113946538 A CN113946538 A CN 113946538A
Authority
CN
China
Prior art keywords
layer
data
chip ram
result
writing
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
CN202111112572.5A
Other languages
English (en)
Other versions
CN113946538B (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.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202111112572.5A priority Critical patent/CN113946538B/zh
Publication of CN113946538A publication Critical patent/CN113946538A/zh
Application granted granted Critical
Publication of CN113946538B publication Critical patent/CN113946538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供了一种基于行缓存机制的卷积层融合存储装置及方法。该装置包括DDR存储器,用于存储原始输入图像数据和最终输出的特征图;片上RAM,用于基于行缓存机制存储卷积层首层的输入图像数据和层间计算结果;DDR控制器,用于控制片上RAM与DDR存储器的数据交互过程;计算模块,包括数据分发模块、卷积运算阵列和结果收集模块,用于按照层融合的分块策略,对图像分块数据进行卷积计算,并将结果存入片上RAM中。本发明可以减少层融合存储过程中分块的重叠搬运,复用数据,提升片上RAM存储资源的利用效率。

Description

一种基于行缓存机制的卷积层融合存储装置及方法
技术领域
本发明属于数字图像分类领域,尤其涉及一种基于行缓存机制的卷积层融合存储装置及方法。
背景技术
卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对大型图像处理有出色表现。
卷积神经网络中包含了大量的卷积运算,并且卷积层的层数随着分类效果的不断提升而逐渐加深,卷积核的数目与通道数也逐步增多,这些因素都大大增加了卷积层中的卷积运算量,因此卷积运算需要占用大量的存储资源。
从片外的存储器DDR进行数据存取的速度严重滞后于卷积神经网络的运算速度,成为了限制其运算速度的主要原因。相对于处理器的时钟频率和性能,存储器的访问延迟不断增大。在缓解处理器和存储器的发展不平衡的问题时,如何有效地利用有限的片上存储资源发挥着重要的作用。
发明内容
针对上述现有技术存在的问题,本发明旨在提供一种基于行缓存机制的卷积层融合存储装置及方法,能够提升计算能效,充分利用片上有限的存储资源。
本发明采取的技术方案为:
一种基于行缓存机制的卷积层融合存储装置,包括:
DDR存储器,用于存储原始输入图像数据和最终输出的特征图;
片上RAM,用于基于行缓存机制存储卷积层首层的输入图像数据和层间计算结果;
DDR控制器,用于控制片上RAM与DDR存储器的数据交互过程;
计算模块,包括数据分发模块、卷积运算阵列和结果收集模块,用于按照层融合的分块策略,对图像分块数据进行卷积计算,并将结果存入片上RAM中。
进一步地,所述DDR控制器包括读控制器和写控制器,分别用于在读写图像分块数据的过程中,控制片上RAM的读写地址。
进一步地,在卷积层的每一层都配置一块片上RAM,第一层的片上RAM用于存储输入图像数据,其余每个卷积层的片上RAM用于存储层间计算结果。
进一步地,所述数据分发模块,用于按照层融合的分块策略,从片上RAM中读出对应的数据传输给卷积运算阵列进行计算;所述卷积运算阵列,用于对数据分块模块传输的数据进行多层网络的卷积运算;所述结果收集模块,用于接收卷积运算阵列的卷积结果,将结果进行拼接,得到下一层的输入并写入对应的片上RAM内。
本发明利用上述一种基于行缓存机制的卷积层融合存储装置的方法,包括如下步骤:
(1)数据分发模块从DDR存储器的相应地址搬运卷积层首层第一个图像分块的数据至片上RAM;并从片上RAM中取出上述数据给卷积运算阵列进行计算;
(2)结果收集模块收集首层第一个分块的计算结果,由DDR控制器将结果写入片上RAM;
(3)首层其余图像分块的计算重复步骤(1)-步骤(2),直到卷积层首层所有分块计算完成,卷积层首层计算的特征图写入片上RAM;
(4)从片上RAM读取卷积层首层得到的特征图进行卷积层第二层的计算,重复步骤(1)-步骤(3),直到得到最终输出的特征图,并将最终输出的特征图写入DDR存储器。
进一步地,步骤(1)和(2)中,由于图像分块之间有部分重叠,每次从DDR存储器往片上RAM搬运图像分块数据时,为了复用重叠部分的数据,要对片上RAM的读写地址进行控制。
进一步地,对片上RAM的读写地址进行控制的具体步骤如下:
1)当写一个分块的数据到片上RAM时,记录其最后写入的地址last_addr;
2)在写下一个分块到片上RAM时,从last_addr+1开始写,写到片上RAM最底部时返回第零行继续;
3)对于有数据复用的分块,则从last_addr-复用行数的地址进行读取
本发明的特点在于能够将大图像用层融合存储策略分块进行计算,并用行缓存机制减少重叠图像分块的重复搬运,与现有技术相比,本发明的优点是:
1、本发明利用层融合存储策略,即将连续的几层卷积操作的层间结果不存储到片外,而是缓存在片上RAM中,下一层计算直接从RAM中取得输入数据。这种方法可以在存储资源有限的情况下对大图像进行存储计算,减少硬件加速器对片外访存的需求,从而降低功耗,提高了运算效率。
2、本发明利用行缓存机制,可以多次读取分块图像的重叠部分,不需要多次搬运,充分利用片上有限的存储资源,进一步提高了存储资源的利用率。
附图说明
图1是本发明装置的结构框图;
图2是本发明实例中图像分块示意图;
图3是本发明实例中分块存储方式示意图;
图4是本发明实例中层融合存储方法的具体实现方式示意图。
具体实施方式
下面结合附图对本发明进行详细说明
如图1所示,本实施例的卷积层融合存储装置包括DDR存储器、片上RAM、DDR控制器、读写控制器和计算模块。DDR存储器作为片外存储资源,用于存储存储原始输入图像数据和最终输出的特征图;片上RAM,用于存储卷积层首层的输入数据和层间计算结果;DDR控制器控制DDR存储器和片上RAM的数据交互过程;读写控制器,用于在读写图像分块数据的过程中,控制片上RAM的读写地址;计算模块,包括数据分发模块、卷积运算阵列和结果收集模块,用于按照层融合的分块策略,从片上RAM中读出对应的数据传输给卷积运算阵列进行计算;卷积运算阵列,用于对数据分块模块传输的数据进行多层网络的卷积运算;结果收集模块,用于接收卷积运算阵列的卷积结果,将结果进行拼接,得到下一层的输入并写入对应的RAM内。
DDR控制器,包括读控制器和写控制器,分别实现数据读控制和数据写控制两个功能。在数据读控制过程中,由于运算按照层融合分块策略进行,每次有读激励请求时需要搬运的数据量都不同,因此读长度需要不断修改。本发明实施例中,卷积层首层图片的尺寸为1080*1920,把它分为4*44个图像分块。如图2所示,水平方向上图像分为4部分,分块宽度从左至右依次为514、554、554和520,各分块之间重叠的宽度为74;垂直方向上将图像分为44块,第一块高度为58,第2~43块高度为24,第44块高度为14,各分块之间没有重叠。
可以提前计算好多个分块对应的读数地址和突发长度,在配置状态时,将读取请求对应的配置信息分别存入对应RAM。在数据写控制过程中,需要传输结果数据,也可以各分块对应的地址和突发长度预先配置给写控制器。如图3所示,分块的数据在RAM中按列——通道——行的顺序存储,即一个地址存放一个通道的一行激励的一部分(根据卷积运算阵列大小决定长度),先存放完一个分块一行一个通道的数据,再存放该行下一个通道,再存放下一行,每一层的激励存储在不同的RAM中。
如图4所示,片上RAM要求每一层都分配一块RAM,第一层用于存储输入图像数据,其余每个卷积层用于存储层间计算结果。由于图像被拆分为多个分块顺序计算,多个分块会写进同一个RAM,而分块与分块间有复用的数据,因此需要对RAM的读写地址进行一定的控制。当写一个分块的数据进RAM时,记录其最后写入的地址last_addr,发送给写控制器,在写下一个分块进RAM时,从last_addr+1开始写,写到RAM最底部时返回第零行继续。对于有数据复用的分块,读控制器则从(last_addr-复用行数)的地址进行读取。

Claims (7)

1.一种基于行缓存机制的卷积层融合存储装置,其特征在于,包括:
DDR存储器,用于存储原始输入图像数据和最终输出的特征图;
片上RAM,用于基于行缓存机制存储卷积层首层的输入图像数据和层间计算结果;
DDR控制器,用于控制片上RAM与DDR存储器的数据交互过程;
计算模块,包括数据分发模块、卷积运算阵列和结果收集模块,用于按照层融合的分块策略,对图像分块数据进行卷积计算,并将结果存入片上RAM中。
2.根据权利要求1所述的一种基于行缓存机制的卷积层融合存储装置,其特征在于,所述DDR控制器包括读控制器和写控制器,分别用于在读写图像分块数据的过程中,控制片上RAM的读写地址。
3.根据权利要求1所述的一种基于行缓存机制的卷积层融合存储装置,其特征在于,在卷积层的每一层都配置一块片上RAM,第一层的片上RAM用于存储输入图像数据,其余每个卷积层的片上RAM用于存储层间计算结果。
4.根据权利要求1所述的一种基于行缓存机制的卷积层融合存储装置,其特征在于,所述数据分发模块,用于按照层融合的分块策略,从片上RAM中读出对应的数据传输给卷积运算阵列进行计算;所述卷积运算阵列,用于对数据分块模块传输的数据进行多层网络的卷积运算;所述结果收集模块,用于接收卷积运算阵列的卷积结果,将结果进行拼接,得到下一层的输入并写入对应的片上RAM内。
5.利用如权利要求1所述一种基于行缓存机制的卷积层融合存储装置的方法,其特征在于,该方法包括如下步骤:
(1)数据分发模块从DDR存储器的相应地址搬运卷积层首层第一个图像分块的数据至片上RAM;并从片上RAM中取出上述数据给卷积运算阵列进行计算;
(2)结果收集模块收集首层第一个分块的计算结果,由DDR控制器将结果写入片上RAM;
(3)首层其余图像分块的计算重复步骤(1)-步骤(2),直到卷积层首层所有分块计算完成,卷积层首层计算的特征图写入片上RAM;
(4)从片上RAM读取卷积层首层得到的特征图进行卷积层第二层的计算,重复步骤(1)-步骤(3),直到得到最终输出的特征图,并将最终输出的特征图写入DDR存储器。
6.根据权利要求5所述的一种基于行缓存机制的卷积层融合存储方法,其特征在于,步骤(1)和(2)中,由于图像分块之间有部分重叠,每次从DDR存储器往片上RAM搬运图像分块数据时,为了复用重叠部分的数据,要对片上RAM的读写地址进行控制。
7.根据权利要求5所述的一种基于行缓存机制的卷积层融合存储方法,其特征在于,对片上RAM的读写地址进行控制的具体步骤如下:
1)当写一个分块的数据到片上RAM时,记录其最后写入的地址last_addr;
2)在写下一个分块到片上RAM时,从last_addr+1开始写,写到片上RAM最底部时返回第零行继续;
3)对于有数据复用的分块,则从last_addr-复用行数的地址进行读取。
CN202111112572.5A 2021-09-23 2021-09-23 一种基于行缓存机制的卷积层融合存储装置及方法 Active CN113946538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111112572.5A CN113946538B (zh) 2021-09-23 2021-09-23 一种基于行缓存机制的卷积层融合存储装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111112572.5A CN113946538B (zh) 2021-09-23 2021-09-23 一种基于行缓存机制的卷积层融合存储装置及方法

Publications (2)

Publication Number Publication Date
CN113946538A true CN113946538A (zh) 2022-01-18
CN113946538B CN113946538B (zh) 2024-04-12

Family

ID=79328967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111112572.5A Active CN113946538B (zh) 2021-09-23 2021-09-23 一种基于行缓存机制的卷积层融合存储装置及方法

Country Status (1)

Country Link
CN (1) CN113946538B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779060A (zh) * 2017-02-09 2017-05-31 武汉魅瞳科技有限公司 一种适于硬件设计实现的深度卷积神经网络的计算方法
EP3330900A1 (en) * 2016-12-01 2018-06-06 VIA Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3 dimensional convolutions
CN108133269A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 具有可作为高速缓存存储器或神经网络单元存储器操作的存储器阵列的处理器
CN108665063A (zh) * 2018-05-18 2018-10-16 南京大学 用于bnn硬件加速器的双向并行处理卷积加速***
US10311341B1 (en) * 2015-08-27 2019-06-04 Hrl Laboratories, Llc System and method for online deep learning in an ultra-low power consumption state
US20190206056A1 (en) * 2017-12-29 2019-07-04 Leica Biosystems Imaging, Inc. Processing of histology images with a convolutional neural network to identify tumors
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN110770740A (zh) * 2018-09-30 2020-02-07 深圳市大疆创新科技有限公司 基于卷积神经网络的图像处理方法和设备,以及无人机
CN110852428A (zh) * 2019-09-08 2020-02-28 天津大学 基于fpga的神经网络加速方法和加速器
CN111160545A (zh) * 2019-12-31 2020-05-15 北京三快在线科技有限公司 人工神经网络处理***及其数据处理方法
CN111445012A (zh) * 2020-04-28 2020-07-24 南京大学 一种基于fpga的分组卷积硬件加速器及其方法
CN111488983A (zh) * 2020-03-24 2020-08-04 哈尔滨工业大学 一种基于fpga的轻量级cnn模型计算加速器
CN111967468A (zh) * 2020-08-10 2020-11-20 东南大学 一种基于fpga的轻量级目标检测神经网络的实现方法
CN112732601A (zh) * 2018-08-28 2021-04-30 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
CN113177956A (zh) * 2021-05-11 2021-07-27 南通大学 一种面向无人机遥感影像的语义分割方法
CN113301221A (zh) * 2021-03-19 2021-08-24 西安电子科技大学 一种深度网络相机图像处理方法、***及应用

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311341B1 (en) * 2015-08-27 2019-06-04 Hrl Laboratories, Llc System and method for online deep learning in an ultra-low power consumption state
EP3330900A1 (en) * 2016-12-01 2018-06-06 VIA Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3 dimensional convolutions
CN108133269A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 具有可作为高速缓存存储器或神经网络单元存储器操作的存储器阵列的处理器
CN106779060A (zh) * 2017-02-09 2017-05-31 武汉魅瞳科技有限公司 一种适于硬件设计实现的深度卷积神经网络的计算方法
US20190206056A1 (en) * 2017-12-29 2019-07-04 Leica Biosystems Imaging, Inc. Processing of histology images with a convolutional neural network to identify tumors
CN108665063A (zh) * 2018-05-18 2018-10-16 南京大学 用于bnn硬件加速器的双向并行处理卷积加速***
CN112732601A (zh) * 2018-08-28 2021-04-30 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
CN110770740A (zh) * 2018-09-30 2020-02-07 深圳市大疆创新科技有限公司 基于卷积神经网络的图像处理方法和设备,以及无人机
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN110852428A (zh) * 2019-09-08 2020-02-28 天津大学 基于fpga的神经网络加速方法和加速器
CN111160545A (zh) * 2019-12-31 2020-05-15 北京三快在线科技有限公司 人工神经网络处理***及其数据处理方法
CN111488983A (zh) * 2020-03-24 2020-08-04 哈尔滨工业大学 一种基于fpga的轻量级cnn模型计算加速器
CN111445012A (zh) * 2020-04-28 2020-07-24 南京大学 一种基于fpga的分组卷积硬件加速器及其方法
CN111967468A (zh) * 2020-08-10 2020-11-20 东南大学 一种基于fpga的轻量级目标检测神经网络的实现方法
CN113301221A (zh) * 2021-03-19 2021-08-24 西安电子科技大学 一种深度网络相机图像处理方法、***及应用
CN113177956A (zh) * 2021-05-11 2021-07-27 南通大学 一种面向无人机遥感影像的语义分割方法

Also Published As

Publication number Publication date
CN113946538B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
US9058254B2 (en) Memory device
US7554874B2 (en) Method and apparatus for mapping memory
CN108595110B (zh) 一种利用Nand特性提高读性能的方法及固态硬盘
CN102016809A (zh) 存储器控制装置、存储器***、半导体集成电路和存储器控制方法
CN111028360B (zh) 一种3d图像处理中数据读写方法及***、存储介质及终端
US20150074360A1 (en) Scheduler for memory
CN113760189B (zh) 载荷数据填充存储方法和***
WO2024036985A1 (zh) 存储***及其计算存储处理器、固体硬盘和数据读写方法
KR102623702B1 (ko) 메모리 버퍼를 포함하는 메모리 시스템
CN115035128A (zh) 基于fpga的图像重叠滑窗分割方法及***
CN113946538B (zh) 一种基于行缓存机制的卷积层融合存储装置及方法
CN105373497A (zh) 基于dsp芯片的矩阵转置装置
CN104461956A (zh) 访问同步动态随机访问存储器的方法、装置及***
CN115630013A (zh) 基于空间可重构阵列的便笺式缓存架构构建方法及***
CN103123610B (zh) 固态储存装置
CN114742214A (zh) 一种神经网络的高速缓存方法、***、装置及存储介质
JP7177948B2 (ja) 情報処理装置、及び情報処理方法
TWI721660B (zh) 控制資料讀寫裝置與方法
JP2001256106A (ja) メモリアクセスシステム
CN102073604B (zh) 一种同步动态存储器读写控制方法、装置和***
US11094368B2 (en) Memory, memory chip and memory data access method
CN118276772A (zh) 神经网络的数据处理方法、***及可读存储介质
JP7516087B2 (ja) イメージデータキューブを格納するように構成されたメモリのアクセス
WO2024001414A1 (zh) 报文的缓存方法、装置、电子设备及存储介质
US20220066672A1 (en) Memory controller partitioning for hybrid memory system

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