CN111047029A - 具有存储器内运算架构的存储器及其操作方法 - Google Patents
具有存储器内运算架构的存储器及其操作方法 Download PDFInfo
- Publication number
- CN111047029A CN111047029A CN201910547680.1A CN201910547680A CN111047029A CN 111047029 A CN111047029 A CN 111047029A CN 201910547680 A CN201910547680 A CN 201910547680A CN 111047029 A CN111047029 A CN 111047029A
- Authority
- CN
- China
- Prior art keywords
- memory
- artificial intelligence
- core
- data
- regions
- 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
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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Memory System (AREA)
Abstract
本发明提出一种具有存储器内运算架构的存储器及其操作方法。存储器包括存储器阵列、模式缓存器、人工智能核心以及存储器接口。存储器阵列包括多个存储器区域。模式缓存器储存多个存储器模式设定。存储器接口耦接存储器阵列以及模式缓存器,并且外部耦接至特殊功能处理核心。人工智能核心耦接存储器阵列以及模式缓存器。所述多个存储器区域依据模式缓存器的所述多个存储器模式设定来分别选择性地被寻址于特殊功能处理核心以及人工智能核心,以使特殊功能处理核心以及人工智能核心依据所述多个存储器模式设定来分别存取存储器阵列中的不同存储器区域。
Description
技术领域
本发明是有关于一种电路架构,且特别是有关于一种具有存储器内运算(Processing In Memory,PIM)架构的存储器及其操作方法。
背景技术
随着人工智能(Artificial Intelligence,AI)运算的演进,人工智能运算的应用越来越广泛,例如经由神经网络(Neural network)模型来进行图像(Image)数据分析、语音(Voice)数据分析、自然语言(Natural language)处理等神经网络运算。并且,随着神经网络的运算复杂度越来越高,目前用于执行人工智能运算的计算机设备已逐渐无法应付当前的神经网络运算需求,来提供有效且快速的运算性能。
因此,目前已有专属的处理核心被设计出来,以利用专属的处理核心来进行神经网络运算。然而,虽然将神经网络运算独立由专属的处理核心执行可充分发挥处理核心的运算能力,但是专属的处理核心的处理速度仍然受限于数据存取速度。由于专属的处理核心与其他特殊功能处理核心经由相同的通用总线(Bus)来读取存储器的数据,因此在其他特殊功能处理核心占用通用总线的情况下,导致专属的处理核心无法实时的取得执行人工智能运算所需的数据。有鉴于此,如何设计一种能快速执行人工智能运算的处理架构,以下将提出几个实施例的解决方案。
发明内容
本发明提供一种具有存储器内运算架构的存储器及其操作方法,可藉由整合在存储器当中的人工智能(Artificial Intelligence,AI)核心来直接读取储存在存储器芯片当中的执行神经网络(Neural network)运算所需的数据,以实现快速地神经网络运算的功效。
本发明的具有存储器内运算架构的存储器包括存储器阵列、模式缓存器、存储器接口以及人工智能核心。存储器阵列包括多个存储器区域。模式缓存器用以储存多个存储器模式设定。存储器接口耦接存储器阵列以及模式缓存器,并且外部耦接至特殊功能处理核心。人工智能核心耦接存储器阵列以及模式缓存器。所述多个存储器区域依据模式缓存器的所述多个存储器模式设定来分别选择性地被寻址于特殊功能处理核心以及人工智能核心,以使特殊功能处理核心以及人工智能核心依据所述多个存储器模式设定来分别存取存储器阵列中的不同存储器区域。
在本发明的一实施例中,上述的特殊功能处理核心以及人工智能核心分别经由各自专属的存储器总线来同时存取存储器阵列的不同存储器区域。
在本发明的一实施例中,上述的所述多个存储器区域包括第一存储器区域以及第二存储器区域。第一存储器区域用以供人工智能核心专属存取。第二存储器区域用以供特殊功能处理核心专属存取。
在本发明的一实施例中,上述的所述多个存储器区域还包括多个数据缓冲区域。人工智能引擎以及存储器接口交替地至所述多个数据缓冲区域存取不同数据。
在本发明的一实施例中,上述的当该人工智能核心执行神经网络运算时,人工智能核心读取所述多个数据缓冲区域中的一个的输入数据作为输入参数,并且读取第一存储器区域的权重数据。人工智能核心输出特征数据至第一存储器区域。
在本发明的一实施例中,上述的当人工智能核心执行神经网络运算时,人工智能核心读取第一存储器区域的特征数据作为下一输入参数,并且读取第一存储器区域的另一权重数据。人工智能核心输出下一特征图数据至所述多个数据缓冲区中的一个,以覆写所述多个数据缓冲区中的一个。
在本发明的一实施例中,上述的所述多个数据缓冲区域分别可交替地被寻址于特殊功能处理核心以及人工智能核心,以使对应于人工智能核心的第一存储器空间包括第一存储器区域以及所述多个数据缓冲区域中的一个,并且对应于特殊功能处理核心的第二存储器空间包括第二存储器区域以及所述多个数据缓冲区域中的另一个。
在本发明的一实施例中,上述的专属于人工智能核心与所述多个存储器区域之间的总线的宽度大于特殊功能处理核心与存储器接口之间的外部总线的宽度。
在本发明的一实施例中,上述的所述多个存储器区域分别对应于多个列缓冲区块,并且所述多个存储器区域分别包括多个存储器库。专属于该人工智能核心与所述多个存储器区域之间的一总线的宽度大于或等于所述多个存储器库的一整列的数据数。
在本发明的一实施例中,上述的该存储器为动态随机存取存储器芯片。
本发明的具有存储器内运算架构的存储器操作方法适于一存储器包括存储器阵列、模式缓存器、存储器接口以及人工智能核心。所述方法包括以下步骤:依据模式缓存器的所述多个存储器模式设定来分别选择性地将存储器中的多个存储器区域被寻址于特殊功能处理核心以及人工智能核心;以及藉由特殊功能处理核心以及人工智能核心依据所述多个存储器模式设定来分别存取存储器阵列中的不同存储器区域。
在本发明的一实施例中,上述的特殊功能处理核心以及人工智能核心分别经由各自专属的存储器总线来同时存取存储器阵列的不同存储器区域。
在本发明的一实施例中,上述的所述多个存储器区域包括第一存储器区域以及第二存储器区域,第一存储器区域用以供人工智能核心专属存取,并且第二存储器区域用以供特殊功能处理核心专属存取。
在本发明的一实施例中,上述的所述多个存储器区域还包括多个数据缓冲区域,并且人工智能引擎以及存储器接口交替地至所述多个数据缓冲区域存取不同数据。
在本发明的一实施例中,上述的当人工智能核心执行神经网络运算时,其中藉由特殊功能处理核心以及人工智能核心依据模式缓存器的所述多个存储器模式设定来分别存取存储器阵列中的不同存储器区域的步骤包括:藉由人工智能核心读取所述多个数据缓冲区域中的一个的输入数据作为输入参数;藉由人工智能核心读取该第一存储器区域的权重数据;以及藉由人工智能核心输出特征数据至第一存储器区域。
在本发明的一实施例中,上述的当人工智能核心执行神经网络运算时,其中藉由特殊功能处理核心以及人工智能核心依据模式缓存器的所述多个存储器模式设定来分别存取存储器阵列中的不同存储器区域的步骤还包括:藉由人工智能核心读取第一存储器区域的特征数据作为下一输入参数;藉由人工智能核心读取第一存储器区域的另一权重数据;以及藉由人工智能核心输出下一特征图数据至所述多个数据缓冲区中的一个,以覆写所述多个数据缓冲区中的一个。
在本发明的一实施例中,上述的所述多个数据缓冲区域分别可交替地被寻址于特殊功能处理核心以及人工智能核心,以使对应于人工智能核心的第一存储器空间包括第一存储器区域以及所述多个数据缓冲区域中的一个,并且对应于特殊功能处理核心的第二存储器空间包括第二存储器区域以及所述多个数据缓冲区域中的另一个。
在本发明的一实施例中,上述的专属于该人工智能核心与所述多个存储器区域之间的总线的宽度大于特殊功能处理核心与存储器接口之间的外部总线的宽度。
在本发明的一实施例中,上述的所述多个存储器区域分别对应于多个列缓冲区块,并且所述多个存储器区域分别包括多个存储器库。专属于人工智能核心与所述多个存储器区域之间的总线的宽度大于或等于所述多个存储器库的整列的数据数。
在本发明的一实施例中,上述的该存储器为动态随机存取存储器芯片。
基于上述,本发明的存储器及其操作方法,可使外部的特殊功能处理核心以及设置在存储器当中的人工智能核心可同时存取存储器阵列中的不同存储器区域。因此,本发明的存储器可快速地执行神经网络运算。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是绘制本发明的一实施例的存储器的示意框图。
图2是绘制本发明的一实施例的存储器与多个特殊功能处理核心的架构示意图。
图3是绘制本发明的另一实施例的存储器与多个特殊功能处理核心的架构示意图。
图4A以及图4B是绘制本发明的一实施例的不同存储器空间当中的不同存储器区块的交换寻址的示意图。
图5A以及图5B是绘制本发明的一实施例的同一存储器空间的不同存储器区块的交换存取的示意图。
图6是绘制本发明的一实施例的存储器操作方法的流程图。
附图标记说明
100、200、400:存储器
110:存储器阵列
120、220、420:模式缓存器
130、230、430:人工智能核心
140、240、440:存储器接口
211、213、411、413、415、417:存储器区域
212、214、412、414、416、418:列缓冲区块
340:存储器接口
351:中央处理单元核心
352:图形处理器核心
353:数字信号处理器核心
354:特殊功能处理核心
417_1、417_2:子存储器区域
450、450’、460、460’、550、550’:存储器空间
S610、S620:步骤
具体实施方式
为了使本发明的内容可以被更容易明了,以下特举实施例作为本发明确实能够据以实施的范例。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤,代表相同或类似部件。
图1是绘制本发明的一实施例的存储器的示意框图。参考图1,存储器100包括存储器阵列110、模式缓存器120、人工智能(Artificial Intelligence,AI)核心130以及存储器接口140。存储器阵列110耦接人工智能核心130以及存储器接口140。模式缓存器(Moderegister)120耦接存储器阵列110、人工智能核心130以及存储器接口140。存储器阵列110包括多个存储器区域。所述多个存储器区域分别用以储存特定数据(或称数据集(Dataset))。并且,在一实施例中,存储器100还可进一步包括多个专属存储器控制单元。所述多个专属存储器控制单元以一对一地对应于所述多个存储器区域,来分别执行数据存取动作。在本实施例中,存储器接口140可外部耦接至特殊功能处理核心。并且,所述多个存储器区域依据记录在模式缓存器120当中的多个存储器模式设定的来分别选择性地被寻址(Addressing)于特殊功能处理核心以及人工智能核心130,以使特殊功能处理核心以及人工智能核心130可依据所述多个存储器模式设定来分别存取存储器阵列110中的不同存储器区域。并且,本实施例的存储器100具有执行人工智能运算的能力。
在本实施例中,存储器100可为动态随机存取存储器(Dynamic Random AccessMemory,DRAM)芯片,并且可例如是由控制逻辑、运算逻辑以及高速缓存(Cache)单元等诸如此类的电路组件所建构而成的存储器内运算(Processing In Memory,PIM)架构。人工智能核心130可整合在存储器100的周边电路区域当中,以直接透过专属的存储器控制器以及专属的总线(Bus)来存取存储器阵列110的多个存储器库(Memory bank)。并且,人工智能核心130可预先设计以具有执行特定的神经网络(Neural network)运算的功能及特性。换言之,本实施例的存储器100具有执行人工智能运算的功能,并且人工智能核心130以及外部的特殊功能处理核心可同时存取存储器阵列110,以提供高效率的数据存取以及运算效果。
在本实施例中,所述特殊功能处理核心可例如是中央处理单元(CentralProcessing Unit,CPU)核心、图像信号处理器(Image Signal Processor,ISP)核心、数字信号处理器(Digital Signal Processor,DSP)核心、图形处理器(Graphics ProcessingUnit,GPU)核心或其他类似特殊功能处理核心。在本实施例中,特殊功能处理核心经由通用的总线(或标准总线)耦接至存储器接口140,以经由存储器接口140存取存储器阵列110。对此,人工智能核心130是经由存储器内部的专属总线来存取存储器阵列110,因此不受限于存储器接口140的宽度或速度,并且人工智能核心130可依据特定的数据存取模式来快速地存取存储器阵列130。
图2是绘制本发明的一实施例的存储器与多个特殊功能处理核心的架构示意图。参考图2,存储器200包括存储器区域211、213、列缓冲区块212、214、模式缓存器220、人工智能核心230以及存储器接口240。在本实施例中,模式缓存器220耦接人工智能核心230以及存储器接口240,以分别提供多个存储器模式设定至人工智能核心230以及存储器接口240。人工智能核心230以及存储器接口240各自独立运作,以分别存取存储器阵列。存储器阵列包括存储器区域211、213以及列缓冲区块212、214。存储器区域211、213分别包括多个存储器库。存储器区域211、213可为数据缓冲区域。在本实施例中,存储器接口240外部耦接至另一存储器接口340。存储器接口340例如经由总线耦接至中央处理单元核心351、图形处理器核心352以及数字信号处理器核心353。
在本实施例中,当中央处理单元核心351、图形处理器核心352以及数字信号处理器核心353需要存取列缓冲区块212或列缓冲区块214时,中央处理单元核心351、图形处理器核心352以及数字信号处理器核心353需经由存储器接口240、340依顺序或依队列来存取列缓冲区块212或列缓冲区块214。然而,无论上述的各种特殊功能处理核心的当前存取存储器阵列的情况为何,人工智能核心230可同时存取在存储器阵列中的不同存储器区域。在一实施例中,存储器区域211或存储器区域213可例如适用于存取执行神经网络运算或其他机器学习运算所需的数字化输入数据、权重(Weight)数据或特征图(Feature map)数据等。
值得注意的是,上述的各种特殊功能处理核心以及人工智能核心230是分别经由各自专属的存储器总线来同时存取存储器阵列的不同存储器区域。也就是说,当上述的各种特殊功能处理核心经由列缓冲区块212存取存储器区域211当中的数据时,人工智能核心230可经由列缓冲区块214存取存储器区域213当中的数据。并且,当上述的各种特殊功能处理核心经由列缓冲区块214存取存储器区域213当中的数据时,人工智能核心230可经由列缓冲区块212存取存储器区域211当中的数据。换言之,上述的各种特殊功能处理核心以及人工智能核心230可交替地至作为数据缓冲区域的存储器区域211、213存取不同数据。此外,在一实施例中,人工智能核心230还可进一步包括多个高速缓存(Cache)或队列(Queue),并且人工智能核心230可透过所述多个高速缓存或所述多个队列以管线式(Pipeline)的方式来快速存取存储器区域211或存储器区域213当中的数据。
图3是绘制本发明的另一实施例的存储器与多个特殊功能处理核心的架构示意图。参考图3,本实施例的处理器400包括存储器区域411、413、415、417、列缓冲区块412、414、416、418、模式缓存器420、人工智能核心430以及存储器接口440。在本实施例中,模式缓存器420耦接人工智能核心430以及存储器接口440,以分别提供多个存储器模式设定至人工智能核心430以及存储器接口440。存储器接口440例如经由总线耦接至中央处理单元核心351、图形处理器核心352以及数字信号处理器核心353。在本实施例中,人工智能核心430以及存储器接口440各自独立运作,以分别存取存储器阵列。存储器阵列包括存储器区域411、413、415、417以及列缓冲区块412、414、416、418,并且存储器区域411、413、415、417各别包括多个存储器库。
在本实施例中,存储器区域413、415可为数据缓冲区域。存储器区域411供上述的各种特殊功能处理核心专属存取,其中所述各种特殊功能处理核心可例如是中央处理单元核心351、图形处理器核心352以及数字信号处理器核心353。存储器区域417供人工智能核心430专属存取。也就是说,当上述的各种特殊功能处理核心与人工智能核心430分别专属存取存储器区域411以及存储器区域417时,上述的各种特殊功能处理核心与人工智能核心430之间不会互相影响存取动作。举例而言,以执行神经网络运算为例,存储器区域417的多个存储器库的一整列可例如储存权重数据的多个权重值。人工智能核心430可透过列缓冲区块418来依序且交错地读取专属于人工智能核心430的存储器区域417的所述多个存储器库的每一列,以快速地取得执行神经网络运算所需的数据。
图4A以及图4B是绘制本发明的一实施例的不同存储器空间当中的不同存储器区块的交换寻址的示意图。请参考图3、图4A以及图4B。以下将以对多个图像数据连续执行神经网络运算为例并且搭配图4A以及图4B来说明存储器400的一种存取方式。人工智能核心430所执行的人工智能运算可例如是深度学习网络(Deep Neural Networks,DNN)运算、卷积神经网络(Convolutional Neural Networks,CNN)运算或循环神经网络(RecurrentNeural Network,RNN)运算等,本发明并不加以限制。在一实施情境中,存储器区域417包括子存储器区域417_1、417_2。子存储器区域417_1例如用于储存具有多个权重值的权重数据,并且子存储器区域417_2例如用于储存具有多个特征值的特征图数据。在此一实施情境中,存储器区域413例如被寻址于特殊功能处理核心354,并且存储器区域415例如被寻址于人工智能核心430。特殊功能处理核心354可例如是图3的中央处理单元核心351、图形处理器核心352或数字信号处理器核心353。因此,如图4A所示,对应于特殊功能处理核心354的存储器空间450包括存储器区域411、413,并且对应于人工智能核心430的存储器空间460包括存储器区域415、417。
在此实施情境中,假设特殊功能处理核心354即图3的数字信号处理器核心353,因此存储器区域415可储存有由数字信号处理器核心353先前储存的数字化输入数据,例如图像数据。人工智能核心430可例如执行神经网络运算,以对储存在存储器区域415当中的当前图像数据进行图像识别。人工智能核心430可经由专属总线来读取存储器区域417的权重数据,并且读取存储器区域415的图像数据作为神经网络运算所需的输入参数,以进行神经网络运算。同时,数字信号处理器核心353可经由存储器接口340、440对存储器区域413储存下一个图像数据。
接着,当存储器区域415的图像数据经由人工智能核心430识别完成后,透过设定模式缓存器420,可交换存储器区域413、415的被寻址对象,以交换存储器区域413、415所处的存储器空间。因此,存储器区域413、415经由寻址交换后,如图4B所示,对应于数字信号处理器核心353的存储器空间450’包括存储器区域411、415,并且对应于人工智能核心430的存储器空间460’包括存储器区域413、417。此时,人工智能核心430可接续执行神经网络运算,以对储存在存储器区域413当中的新一个图像数据进行图像识别。人工智能核心430可经由专属总线来读取存储器区域417-1的权重数据,并且读取存储器区域413的下一个图像数据作为神经网络运算所需的输入参数,以进行神经网络运算。同时,数字信号处理器核心353可经由存储器接口340、440对存储器区域415进行覆写,以储存下下一个图像数据至存储器区域415。据此,本实施例的存储器400可提供高效率的数据存取操作,并且存储器400可实现具有高速执行效果的神经网络运算。
图5A以及图5B是绘制本发明的一实施例的同一存储器空间的不同存储器区块的交换存取的示意图。请参考图3、图5A以及图5B。以下将以对图像数据执行神经网络运算为例并且搭配图4A以及图4B来说明存储器400的另一种存取方式。在上述情境中,在神经网络运算的输入层阶段,对应于人工智能核心430的存储器空间550可例如包括存储器区域415、子存储器区域417_1、417_2。人工智能核心430可读取存储器区域415,以取得输入数据,并作为输入参数。存储器区域415储存有由数字信号处理器核心353先前储存的图像数据。并且,人工智能核心430读取子存储器区域417_1的权重数据。因此,人工智能核心430依据输入参数以及权重数据执行神经网络运算,以产生特征图数据,并且人工智能核心430将特征图数据储存至子存储器区域417_2。
接着,在神经网络运算的下一隐藏层阶段,对应于人工智能核心430的存储器空间550’包括存储器区域415、子存储器区域417_1、417_2。人工智能核心430读取前次储存在子存储器区域417_2的特征图数据,以作为当前隐藏层的输入参数,并且读取子存储器区域417_1的权重数据。因此,人工智能核心430依据输入参数以及权重数据执行神经网络运算,以产生新的特征图数据,并且人工智能核心430将新的特征图数据复写至存储器区域415。换言之,被寻址于人工智能核心430的存储器区域不变,但是人工智能核心430的读取及储存目标地址交换。以此类推,本实施例的人工智能核心430可利用存储器区域415以及子存储器区域417_2来轮替地读取先前产生的特征图数据以及储存人工智能核心430在当前进行神经网络运算的过程中所产生的当前特征图数据。由于各存储器区域有其独立总线,因此本实施例的人工智能核心430可快速地取得输入数据以及权重数据,并且快速地执行神经网络运算并储存输出数据。
图6是绘制本发明的一实施例的存储器操作方法的流程图。参考图6,本实施例的存储器操作方法可至少适用于图1的存储器100,以使存储器100执行步骤S610、S620。存储器100的存储器接口140可外部耦接至特殊功能处理核心。在步骤S610中,依据模式缓存器120的多个存储器模式设定来分别选择性地将存储器阵列110的多个存储器区域被寻址于特殊功能处理核心以及人工智能核心130的存储器空间。在步骤S620中,特殊功能处理核心以及人工智能核心130依据所述多个存储器模式设定来分别存取存储器阵列110中的不同存储器区域。因此,本实施例的存储器操作方法可使存储器100可同时供特殊功能处理核心以及人工智能核心130进行存取,以提供高效率的存储器运作效果。
另外,关于本实施例的存储器100的相关内部组件、实施方式以及技术细节,可参考上述图1至图5B实施例的说明而获得足够的教示、建议以及实施说明,因此不再赘述。
综上所述,本发明的存储器及其操作方法,可藉由模式缓存器设计有多个特定存储器模式设定,以使存储器阵列的多个存储器区域可依据所述多个特定存储器模式设定来分别选择性地被寻址于外部的特殊功能处理核心以及人工智能核心,以使外部的特殊功能处理核心以及人工智能核心可同时存取存储器阵列中的不同存储器区域。因此,设置在存储器当中的人工智能核心可快速地执行神经网络运算。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求书所界定者为准。
Claims (20)
1.一种具有存储器内运算架构的存储器,包括:
一存储器阵列,包括多个存储器区域;
一模式缓存器,用以储存多个存储器模式设定;
一存储器接口,耦接所述存储器阵列以及所述模式缓存器,并且外部耦接至一特殊功能处理核心;以及
一人工智能核心,耦接所述存储器阵列以及所述模式缓存器,
其中所述多个存储器区域依据所述模式缓存器的所述多个存储器模式设定来分别选择性地被寻址于所述特殊功能处理核心以及所述人工智能核心,以使所述特殊功能处理核心以及所述人工智能核心依据所述多个存储器模式设定来分别存取所述存储器阵列中的不同存储器区域。
2.如权利要求1所述的存储器,其中所述特殊功能处理核心以及所述人工智能核心分别经由各自专属的存储器总线来同时存取所述存储器阵列的不同存储器区域。
3.如权利要求1所述的存储器,其中所述多个存储器区域包括一第一存储器区域以及一第二存储器区域,所述第一存储器区域用以供所述人工智能核心专属存取,并且所述第二存储器区域用以供所述特殊功能处理核心专属存取。
4.如权利要求3所述的存储器,其中所述多个存储器区域还包括多个数据缓冲区域,并且所述人工智能引擎以及所述存储器接口交替地至所述多个数据缓冲区域存取不同数据。
5.如权利要求4所述的存储器,其中当所述人工智能核心执行一神经网络运算时,所述人工智能核心读取所述多个数据缓冲区域中的一个的一输入数据作为一输入参数,并且读取所述第一存储器区域的一权重数据,其中所述人工智能核心输出一特征数据至所述第一存储器区域。
6.如权利要求5所述的存储器,其中当所述人工智能核心执行所述神经网络运算时,所述人工智能核心读取所述第一存储器区域的所述特征数据作为下一输入参数,并且读取所述第一存储器区域的另一权重数据,其中所述人工智能核心输出下一特征图数据至所述多个数据缓冲区中的一个,以覆写所述多个数据缓冲区中的一个。
7.如权利要求4所述的存储器,其中所述多个数据缓冲区域分别可交替地被寻址于所述特殊功能处理核心以及所述人工智能核心,以使对应于所述人工智能核心的一第一存储器空间包括所述第一存储器区域以及所述多个数据缓冲区域中的一个,并且对应于所述特殊功能处理核心的一第二存储器空间包括所述第二存储器区域以及所述多个数据缓冲区域中的另一个。
8.如权利要求1所述的存储器,其中专属于所述人工智能核心与所述多个存储器区域之间的一总线的宽度大于所述特殊功能处理核心与所述存储器接口之间的一外部总线的宽度。
9.如权利要求1所述的存储器,其中所述多个存储器区域分别对应于多个列缓冲区块,并且所述多个存储器区域分别包括多个存储器库,其中专属于所述人工智能核心与所述多个存储器区域之间的一总线的宽度大于或等于所述多个存储器库的一整列的数据数。
10.如权利要求1所述的存储器,其中所述存储器为一动态随机存取存储器芯片。
11.一种具有存储器内运算架构的存储器操作方法,所述存储器包括一存储器阵列、一模式缓存器、一存储器接口以及一人工智能核心,其中所述方法包括:
依据所述模式缓存器的所述多个存储器模式设定来分别选择性地将所述存储器中的多个存储器区域被寻址于所述特殊功能处理核心以及所述人工智能核心;以及
藉由所述特殊功能处理核心以及所述人工智能核心依据所述多个存储器模式设定来分别存取所述存储器阵列中的不同存储器区域。
12.如权利要求11所述的存储器操作方法,其中所述特殊功能处理核心以及所述人工智能核心分别经由各自专属的存储器总线来同时存取所述存储器阵列的不同存储器区域。
13.如权利要求11所述的存储器操作方法,其中所述多个存储器区域包括一第一存储器区域以及一第二存储器区域,所述第一存储器区域用以供所述人工智能核心专属存取,并且所述第二存储器区域用以供所述特殊功能处理核心专属存取。
14.如权利要求13所述的存储器操作方法,其中所述多个存储器区域还包括多个数据缓冲区域,并且所述人工智能引擎以及所述存储器接口交替地至所述多个数据缓冲区域存取不同数据。
15.如权利要求14所述的存储器操作方法,当所述人工智能核心执行一神经网络运算时,其中藉由所述特殊功能处理核心以及所述人工智能核心依据所述模式缓存器的所述多个存储器模式设定来分别存取所述存储器阵列中的不同存储器区域的步骤包括:
藉由所述人工智能核心读取所述多个数据缓冲区域中的一个的一输入数据作为一输入参数;
藉由所述人工智能核心读取所述第一存储器区域的一权重数据;以及
藉由所述人工智能核心输出一特征数据至所述第一存储器区域。
16.如权利要求15所述的存储器操作方法,当所述人工智能核心执行所述神经网络运算时,其中藉由所述特殊功能处理核心以及所述人工智能核心依据所述模式缓存器的所述多个存储器模式设定来分别存取所述存储器阵列中的不同存储器区域的步骤还包括:
藉由所述人工智能核心读取所述第一存储器区域的所述特征数据作为下一输入参数;
藉由所述人工智能核心读取所述第一存储器区域的另一权重数据;以及
藉由所述人工智能核心输出下一特征图数据至所述多个数据缓冲区中的一个,以覆写所述多个数据缓冲区中的一个。
17.如权利要求14所述的存储器操作方法,其中所述多个数据缓冲区域分别可交替地被寻址于所述特殊功能处理核心以及所述人工智能核心,以使对应于所述人工智能核心的一第一存储器空间包括所述第一存储器区域以及所述多个数据缓冲区域中的一个,并且对应于所述特殊功能处理核心的一第二存储器空间包括所述第二存储器区域以及所述多个数据缓冲区域中的另一个。
18.如权利要求11所述的存储器操作方法,其中专属于所述人工智能核心与所述多个存储器区域之间的一总线的宽度大于所述特殊功能处理核心与所述存储器接口之间的一外部总线的宽度。
19.如权利要求11所述的存储器操作方法,其中所述多个存储器区域分别对应于多个列缓冲区块,并且所述多个存储器区域分别包括多个存储器库,其中专属于所述人工智能核心与所述多个存储器区域之间的一总线的宽度大于或等于所述多个存储器库的一整列的数据数。
20.如权利要求11所述的存储器操作方法,其中所述存储器为一动态随机存取存储器芯片。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862744140P | 2018-10-11 | 2018-10-11 | |
US62/744,140 | 2018-10-11 | ||
US201862785234P | 2018-12-27 | 2018-12-27 | |
US62/785,234 | 2018-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111047029A true CN111047029A (zh) | 2020-04-21 |
CN111047029B CN111047029B (zh) | 2023-04-18 |
Family
ID=70231709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910547680.1A Active CN111047029B (zh) | 2018-10-11 | 2019-06-24 | 具有存储器内运算架构的存储器及其操作方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111047029B (zh) |
TW (1) | TWI749331B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI821148B (zh) * | 2023-04-26 | 2023-11-01 | 旺宏電子股份有限公司 | 電子裝置及其操作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037014A1 (en) * | 2006-11-21 | 2010-02-11 | Young-Hun Lim | Memory device, memory system and dual port memory device with self-copy function |
CN102640226A (zh) * | 2009-10-21 | 2012-08-15 | 美光科技公司 | 具有内部处理器的存储器及控制存储器存取的方法 |
CN105654419A (zh) * | 2016-01-25 | 2016-06-08 | 上海华力创通半导体有限公司 | 一种图像的运算处理系统及运算处理方法 |
US20170277659A1 (en) * | 2016-03-23 | 2017-09-28 | Gsi Technology Inc. | In memory matrix multiplication and its usage in neural networks |
US20170337966A1 (en) * | 2016-05-20 | 2017-11-23 | Samsung Electronics Co., Ltd. | Memory device shared by two or more processors and system including the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2284947C (en) * | 1999-10-04 | 2005-12-20 | Storagequest Inc. | Apparatus and method for managing data storage |
-
2019
- 2019-06-06 TW TW108119618A patent/TWI749331B/zh active
- 2019-06-24 CN CN201910547680.1A patent/CN111047029B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037014A1 (en) * | 2006-11-21 | 2010-02-11 | Young-Hun Lim | Memory device, memory system and dual port memory device with self-copy function |
CN102640226A (zh) * | 2009-10-21 | 2012-08-15 | 美光科技公司 | 具有内部处理器的存储器及控制存储器存取的方法 |
CN105654419A (zh) * | 2016-01-25 | 2016-06-08 | 上海华力创通半导体有限公司 | 一种图像的运算处理系统及运算处理方法 |
US20170277659A1 (en) * | 2016-03-23 | 2017-09-28 | Gsi Technology Inc. | In memory matrix multiplication and its usage in neural networks |
US20170337966A1 (en) * | 2016-05-20 | 2017-11-23 | Samsung Electronics Co., Ltd. | Memory device shared by two or more processors and system including the same |
Also Published As
Publication number | Publication date |
---|---|
CN111047029B (zh) | 2023-04-18 |
TW202014895A (zh) | 2020-04-16 |
TWI749331B (zh) | 2021-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990524B2 (en) | Memory with processing in memory architecture and operating method thereof | |
US11294599B1 (en) | Registers for restricted memory | |
CN107392309A (zh) | 一种基于fpga的通用定点数神经网络卷积加速器硬件结构 | |
EP3657337B1 (en) | Method, apparatus, device and storage medium for accessing static random access memory | |
KR20200108774A (ko) | 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법 | |
WO2019118363A1 (en) | On-chip computational network | |
CN111008040A (zh) | 缓存装置及缓存方法、计算装置及计算方法 | |
WO2020073801A1 (zh) | 一种3d图像处理中数据读写方法及系统、存储介质及终端 | |
JP6912535B2 (ja) | 人工知能動作を実行できるメモリチップおよびその方法 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
WO2011113646A1 (en) | Masked register write method and apparatus | |
CN111047029B (zh) | 具有存储器内运算架构的存储器及其操作方法 | |
US20220113944A1 (en) | Arithmetic processing device | |
CN111047026B (zh) | 可执行人工智能运算的存储器芯片及其操作方法 | |
CN110490312B (zh) | 一种池化计算方法和电路 | |
CN109800867B (zh) | 一种基于fpga片外存储器的数据调用方法 | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
US11500632B2 (en) | Processor device for executing SIMD instructions | |
JP4071930B2 (ja) | シンクロナスdram | |
CN112035056A (zh) | 一种基于多计算单元的并行ram访问架构及访问方法 | |
CN118012631B (zh) | 一种算子执行方法、处理设备、存储介质及程序产品 | |
US20240220409A1 (en) | Unified flexible cache | |
JP2021043593A (ja) | 読込制御装置、読込制御方法、学習システム、および学習モデル | |
CN114595173A (zh) | 一种数据传输方法、系统及计算机可读存储介质 | |
CN116324812A (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 |