CN111611195B 可软件定义存算一体芯片及其软件定义方法 (杭州知存算力科技有限公司)_第1页
CN111611195B 可软件定义存算一体芯片及其软件定义方法 (杭州知存算力科技有限公司)_第2页
CN111611195B 可软件定义存算一体芯片及其软件定义方法 (杭州知存算力科技有限公司)_第3页
CN111611195B 可软件定义存算一体芯片及其软件定义方法 (杭州知存算力科技有限公司)_第4页
CN111611195B 可软件定义存算一体芯片及其软件定义方法 (杭州知存算力科技有限公司)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CN209388304U,2019.09.13可软件定义存算一体芯片及其软件定义方法本发明提供了一种可软件定义的存算一体体芯片的闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子阵根据实际应用的配置信息与有限状态机信息对2所述闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子所述可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单所述控制模块根据配置信息配置所述输入接口模块、所述输入寄存器堆所述控制模块根据有限状态机信息控制所述输入接口模块、所述所述输入寄存器堆,连接所述输入接口模块,用于存储所述外部处理阵列对所述模拟信号进行模拟向量-矩阵乘法运算并输出运所述模数转换模块,输入端连接所述闪存处理阵列,输出端连接所模块,用于将所述模拟向量-矩阵乘法运算结果转换为数字信号并输至所述可编程算术运所述输出寄存器堆,连接所述可编程算术运算模块和所述输入寄存器所述多路分配器的输入端连接上一可编程算术运算单元或所述模数转换3制模块连接的编程电路,所述编程电路连接所述闪存处理子阵列中每一个闪存单元的源其中,所述编程电路包括:用于产生编程电压或者擦除电压的将所述编程电压加载至选定的闪存单元的电压行列译码器,连接所述闪存处理阵列以及所述控制模块,用于在所述控制7.根据权利要求4所述的可软件定义的存算一体芯片,其特征在于,所述配置信息包根据所述闪存处理子阵列的配置信息将所述闪存处理阵列划分为多个闪存处理子阵根据所述可编程算术运算单元的配置信息控制各可编程算术运算单元对应的多路分根据所述数模转换模块的配置信息控制参与实际任务的数模转换根据所述模数转换模块的配置信息控制参与实际任务的模数转换根据所述输入接口模块的配置信息控制参与实际任务的输入接口根据所述输出接口模块的配置信息控制参与实际任务的输出接口根据所述输入寄存器堆的配置信息控制该输入寄存器待存储的数据来源于输入接口根据所述输出寄存器堆的配置信息控制该输出寄存器堆将其内的数据输出或作为待根据所述有限状态机信息控制所述输入接口模块、所述输入寄存器根据所述闪存处理子阵列的配置信息将所述闪存处理阵列划分为多个闪存处理子阵4根据所述可编程算术运算单元的配置信息控制各可编程算术运算单元对应的选择器5[0003]近年来,为了解决传统冯诺依曼计算体系结构瓶颈,存内计算(Computing-In-术运算模块以及与该闪存处理阵列和该可编程算术运算模块连接的控[0008]该闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理[0009]该可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算[0010]该控制模块根据配置信息对多个闪存处理子阵列和多个可编程算术运算单元进6用于将该模拟向量-矩阵乘法运算结果转换为数字信号并输至该可编程算术运算模块,该可编程算术运算模块对该数字信号进行算术运算并输出[0027]根据该闪存处理子阵列的配置信息将该闪存处理阵列划分为多个闪存处理子阵[0028]根据该可编程算术运算单元的配置信息控制各可编程算术运算单元对应的多路7[0033]根据该输入寄存器堆的配置信息控制该输入寄存器待存储的数据来源于输入接[0034]根据该输出寄存器堆的配置信息控制该输出寄存器堆将其内的数据输出或作为[0040]根据该闪存处理子阵列的配置信息将该闪存处理阵列划分为多个闪存处理子阵[0041]根据该可编程算术运算单元的配置信息控制各可编程算术运算单元对应的选择一体芯片的闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子阵列,可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单[0048]图3为本发明实施例可软件定义的存算一体芯片中可编程算术运算单元30的结构[0049]图4为本发明实施例可软件定义的存算一体芯片中可编程算术运算子单元的结构8[0050]图5为本发明实施例可软件定义的存算一体芯片中可编程算术运算模块实现复合分别执行不同的模拟向量-矩阵乘法运算的多个闪存处理子阵列,可编程算术运算模块包阵列20和该可编程算术运算模块30连接的控[0060]该闪存处理阵列20包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处[0062]该可编程算术运算模块30包括用于分别实现不同算术运算的多个可编程算术运9存处理子阵列与可编程算术运算单元的组合配对方式进行控制以列包括用于分别执行不同的模拟向量-矩阵乘法运算的多个闪存处理子阵列,其可编程算[0072]输入接口模块40的输入端连接外部设备,用于接收来自外部设备的输入数据(即为模拟信号并输至该闪存处理阵列20,该闪存处理阵列20对该模拟信号进行模拟向量-矩阵乘法运算并输出模拟向量-矩阵乘法运算块30,用于将该模拟向量-矩阵乘法运算结果转换为数字信号并输至该可编程算术运算模[0080]根据该闪存处理子阵列201~20n的配置信息将该闪存处理阵列2[0081]根据该可编程算术运算单元301~30n的配置信息控制各可编[0082]根据所述数模转换模块60的配置信息控制参与实际任务的数模转换电路开闭状[0083]根据所述模数转换模块70的配置信息控制参与实际任务的模数转换电路开闭状[0084]根据所述输入接口模块40的配置信息控制参与实际任务的输入接口电路开闭状[0085]根据所述输出接口模块90的配置信息控制参与实际任务的输出接口电路开闭状[0086]根据所述输入寄存器堆50的配置信息控制该输入寄存器待存储的数据来源于输入接口模块的输入数据或输出寄存器堆待处[0087]根据该输出寄存器堆80的配置信息控制该输出寄存器堆80将其内的数据输出或输入数据或来自该输出寄存器堆80的待处理数据。该控制模块10连接该多路选择器(MUX)[0089]该数模转换模块60通过多路分配器(DEMUX)120选择性连接该多个闪存处理子阵[0090]该多个闪存处理子阵列(201~20n)的输出端通过一多路选择器130连接该模数转闪存处理子阵列的输出连接至该模数转换模块70的[0091]该可编程算术运算模块30的输入端通过多路选择器140连接该多路分配器110的[0092]该可编程算术运算模块30的多个该可编程算术运算单元301~3[0093]该多路分配器30a的输入端连接上一可编程算术运算单元或该模数转换模块70,配器30a另一个输出端通过一个多路选择器30c连接下一可编程算术运算单元或输出寄存[0094]具体地,第一可编程算术运算单元301中的多路分配器的输入端连接该模数转换模块70的输出端,其中一个输出端连接该第一可编程算术运算单元301中的算术运算子单编程算术运算单元302的输入端,该多路分配器和该多路选择器的控制端连接该控制模块[0095]第二可编程算术运算单元302中的多路分配器的输入端连接该第一可编程算术运算单元301的输出端,其中一个输出端连接该第二可编程算术运算单元302中的算术运算子可编程算术运算单元303的输入端,该多路分配器和该多路选择器的控制端连接该控制模可编程算术运算单元30n中的算术运算子单元的输入端,另一个输出端和该算术运算子单[0099]该输出寄存器堆80的输出端通过多路分配器150选择性连接该输出接口模块90的控制该多路分配器150的工作状态,以选择将该输出寄存器堆80输出结果输至输出接口模块90还是输入寄存器堆50,当选择将该输出寄存器堆80输出结果输至输入寄存器堆50时,[0100]在一个可选的实施例中,该输入寄存器堆50的输出端还可以通过一多路分配器110选择性连接该数模转换模块50的输入端或该可编程算术运算模块30的输入端,该控制该输入寄存器堆50的输出端连接至该数模转换模块50的输入端还是该可编程算术运算模意味着对该输入寄存器堆50的输出进行模拟向量-矩阵乘法运算和算术运算;当该输入寄极均连接至同一个模拟电流输出端,多列可编程半导体器件对应连接多个模拟电流输出后控制模块10根据有限状态机信息控制各个电路模块[0120]控制模块10根据第一周期的配置信息与有限状态机信息控制该输入寄存器堆5050后控制输出寄存器堆80输出端的多路分配器W和该输入寄存器堆50前端的多路选择器[0121]该数据P通过该输入寄存器堆50暂存后输至数模转换模块60,转换为模拟信号后输至闪存处理子阵列1,该闪存处理子阵列1对该模拟信号进行模拟向量-矩阵乘法运算1(比如矩阵乘法运算),模拟向量-矩阵乘法运算结果1通过该模数转换模块70转为数字信存处理子阵列2与模数转换模块70连通,控制可编程算术运算模块30的各可编程算术运算[0123]该第一层神经网络的算术运算结果1通过该输入寄存器堆50暂存后输至数模转换模拟向量-矩阵乘法运算2(比如矩阵乘法运算),模拟向量-矩阵乘法运算结果通过该模数可软件定义存算一体芯片的基础上,该输入寄存器堆50的输入端通过多路选择器(DEMUX)100连接该输入接口模块40的输出端和该输出寄存器堆80的输出端,以选择性接收来自该[0127]该数模转换模块60通过多路分配器(MUX)120选择性连接该多个闪存处理子阵列~20n[0128]该多个闪存处理子阵列(201~20n)的输出端通过一多路选择器130连接该模数转[0129]该可编程算术运算模块30的输入端通过多路选择器140连接该多路分配器110的[0130]该可编程算术运算模块30的多个该可编程算术运算单元301~3该可编程算术运算单元均包括选择器30a以及算术运算子[0131]该选择器30a的输入端连接上一可编程算术运算单元或该模数转换模块70,其中[0132]该输出寄存器堆80的输出端通过多路分配器150选择性连接该输出接口模块90的制该多路分配器W的工作状态,以选择将该输出寄存器堆80输出结果输至输出接口模块90[0133]该输入寄存器堆50的输出端通过一多路分配器110选择性连接该数模转换模块50置信息控制该多路分配器E的工作状态,以选择将该输入寄存器堆50的输出端连接至该数模拟向量-矩阵乘法运算和算术运算;当该输入寄存器堆50的输出端连接至该可编程算术运算模块30的输入端的输入端时,意味着对该输入寄存器堆50的输出进行一定的算术运[0137]本领域技术人员可以理解的是,应用本发明实施例可软列与可编程算术运算单元的组合配对方式进行控制以实[0144]由于多个可编程算术运算单元中每个可编程算术运算单元可以实现某一种或几[0149]步骤1:根据该闪存处理子阵列的配置信息将该闪存处理阵列划分为多个闪存处[0150]步骤2:根据该可编程算术运算单元的配置信息控制各可编程算术运算单元对应[0151]步骤3:根据输出寄存器堆80的配置信息控制该输出寄存器堆80将其内的数据输算一体芯片进行软件定义以实现神经网络运算的场景,以说明该软件定义方法的工作流主要实现矩阵乘法运算,而各层神经元之间通过一定算术运算进行连接(因本例重点在于[0156](2)根据第一周期的配置信息与有限状态机信息控制该输入寄存器堆50前端的多出端的多路分配器W和该输入寄存器堆50前端的多路选择器(DEMUX)A,使该输入寄存器堆[0157](3)根据第二周期的配置信息与有限状态机信息控制该闪存处理阵列20前端的多可在处理器上运行的计算机程序,该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论