可软件定义的存算一体芯片和电子设备制造技术

技术编号:22111639 阅读:65 留言:0更新日期:2019-09-14 08:02
本实用新型专利技术提供了一种可软件定义的存算一体芯片,该可软件定义的存算一体芯片的闪存处理阵列包括用于分别执行不同模拟向量‑矩阵乘法运算的多个闪存处理子阵列,可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元,控制模块根据实际应用的配置信息与有限状态机信息对存算一体芯片中各模块进行组合配置,实现芯片中电路结构的动态配置,使芯片能够根据实际任务灵活调节芯片的电路结构,且ADC、DAC、寄存器、可编程算术运算单元等外围电路能够实现复用,进而减小了电路面积,适应集成化、小型化的需要,并有效降低了芯片成本。

Software-defined memory-computing integrated chips and electronic devices

【技术实现步骤摘要】
可软件定义的存算一体芯片和电子设备
本技术涉及半导体集成电路领域,尤其涉及一种可软件定义的存算一体芯片。
技术介绍
闪存是一种非易失性存储器,其通过调控闪存晶体管的阈值电压来实现数据的存储。根据闪存晶体管和阵列结构的不同,闪存主要分为NOR-型闪存和NAND-型闪存。NAND-型闪存的读写以页和块为单位,其容量大、成本低,广泛应用于大规模独立式存储器;NOR-型闪存支持数据的随机存取,与NAND-型闪存相比,密度较低、容量较小、成本较高,主要应用于嵌入式存储器。近年来,为了解决传统冯诺依曼计算体系结构瓶颈,存内计算(Computing-In-Memory,CIM)芯片架构得到人们的广泛关注,其基本思想是直接利用存储器进行逻辑计算,从而减少存储器与处理器之间的数据传输量以及传输距离,降低功耗的同时提高性能。现有存算一体芯片架构的一经定制,其电路结构即被固定下来,不能根据实际任务进行灵活调节,且电路模块不能实现共享,导致电路面积大,不能适应集成化、小型化的需要。
技术实现思路
有鉴于此,本技术提供了一种可软件定义的存算一体芯片和设备,通过采用多个闪存处理子阵列、多个可编程算术运算单元以及控制模块配合,根据实际应用需求对芯片的电路结构进行动态配置,能够根据实际任务进行灵活调节,且ADC、DAC、寄存器、可编程算术运算单元等外围电路能够实现复用,进而减小了电路面积,适应集成化、小型化的需要。为了实现上述目的,本技术采用如下技术方案:第一方面,提供一种可软件定义的存算一体芯片,包括:闪存处理阵列、可编程算术运算模块以及与该闪存处理阵列和该可编程算术运算模块连接的控制模块,该闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子阵列;该可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元;该控制模块根据配置信息对多个闪存处理子阵列和多个可编程算术运算单元进行组合配置,实现芯片中电路结构的动态配置。进一步地,可软件定义的存算一体芯片还包括:输入接口模块,用于接收外部输入数据;输入寄存器堆,连接该输入接口模块,用于存储该外部输入数据或待处理数据;数模转换模块,输入端连接该输入寄存器堆,输出端连接该闪存处理阵列,用于将该外部输入数据或待处理数据转换为模拟信号并输至该闪存处理阵列,该闪存处理阵列对该模拟信号进行模拟向量-矩阵乘法运算并输出运算结果;模数转换模块,输入端连接该闪存处理阵列,输出端连接该可编程算术运算模块,用于将该模拟向量-矩阵乘法运算结果转换为数字信号并输至该可编程算术运算模块,该可编程算术运算模块对该数字信号进行算术运算并输出算术运算结果;输出寄存器堆,连接该可编程算术运算模块和该输入寄存器堆,用于暂存该算术运算结果,并将该算术运算结果输出或作为该待处理数据输至该输入寄存器堆;输出接口模块,连接该输出寄存器堆,接收该输出寄存器堆的输出数据,并将该输出数据向外输出;其中,该控制模块连接该输入接口模块、该输入寄存器堆、该数模转换模块、该闪存处理阵列、该模数转换模块、该输出寄存器堆、该可编程算术运算模块以及该输出接口模块,用于根据实际应用需求对上述电路模块进行动态配置。进一步地,该输入寄存器堆的输出端还连接该可编程算术运算模块。进一步地,多个该可编程算术运算单元串行连接,每个该可编程算术运算单元均包括:多路分配器、算术运算子单元以及多路选择器;该多路分配器的输入端连接上一可编程算术运算单元或该模数转换模块,其中一个输出端连接该算术运算子单元,另一个输出端与该算术运算子单元的输出端通过该多路选择器连接下一可编程算术运算单元或输出寄存器堆,控制端连接该控制模块。进一步地,可软件定义的存算一体芯片还包括:与该控制模块连接的编程电路,该编程电路连接所述闪存处理阵列中每一个闪存单元的源极、栅极和/或衬底,用于调控闪存单元的阈值电压;其中,该编程电路包括:用于产生编程电压或者擦除电压的电压产生电路以及用于将该编程电压加载至选定的闪存单元的电压控制电路。进一步地,可软件定义的存算一体芯片还包括:行列译码器,连接该闪存处理阵列以及该控制模块,用于在该控制模块的控制下对该闪存处理阵列进行行列译码。进一步地,该控制模块根据配置信息对与其连接的各电路模块进行动态配置,该配置信息包括:闪存处理子阵列的配置信息、可编程算术运算单元的配置信息、数模转换模块的配置信息、模数转换模块的配置信息、输入接口模块的配置信息、输出接口模块的配置信息、输入寄存器堆的配置信息以及输出寄存器堆的配置信息,该根据配置信息对与其连接的各电路模块进行动态配置包括:根据该闪存处理子阵列的配置信息将该闪存处理阵列划分为多个闪存处理子阵列,并控制多个闪存处理子阵列的工作时序;根据该可编程算术运算单元的配置信息控制各可编程算术运算单元对应的多路分配器与多路选择器的工作状态,使多个可编程算术运算单元实现任意组合运算;根据该数模转换模块的配置信息控制参与实际任务的数模转换电路开闭状态;根据该模数转换模块的配置信息控制参与实际任务的模数转换电路开闭状态;根据该输入接口模块的配置信息控制参与实际任务的输入接口电路开闭状态;根据该输出接口模块的配置信息控制参与实际任务的输出接口电路开闭状态;根据该输入寄存器堆的配置信息控制该输入寄存器待存储的数据来源于输入接口模块的输入数据或输出寄存器堆待处理数据;根据该输出寄存器堆的配置信息控制该输出寄存器堆将其内的数据输出或作为待处理数据输至该输入寄存器堆。第二方面,提供一种电子设备,包括上述可软件定义的存算一体芯片。本技术提供的可软件定义的存算一体芯片、电子设备,该可软件定义的存算一体芯片的闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子阵列,可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元,控制模块根据实际应用的配置信息与有限状态机信息对存算一体芯片各模块进行组合配置,实现芯片中电路结构的动态配置,使芯片能够根据实际任务灵活调节芯片中电路结构,且ADC、DAC、寄存器、可编程算术运算单元等外围电路能够实现复用,进而减小了电路面积,适应集成化、小型化的需要,并有效降低了芯片成本。为让本技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本技术实施例可软件定义的存算一体芯片的结构图一;图2为本技术实施例可软件定义的存算一体芯片的结构图二;图3为本技术实施例可软件定义的存算一体芯片中可编程算术运算单元30的结构图;图4为本技术实施例可软件定义的存算一体芯片中可编程算术运算子单元的结构图;图5为本技术实施例可软件定义的存算一体芯片中可编程算术运算模块实现复合运算的示意图;图6为本技术实施例可软件定义的存算一体芯片中闪存处理子阵列的结构图一;图7为本技术实施例可软件定义的存算一体芯片中闪存处理本文档来自技高网...

【技术保护点】
1.一种可软件定义的存算一体芯片,其特征在于,包括:闪存处理阵列、可编程算术运算模块以及与所述闪存处理阵列和所述可编程算术运算模块连接的控制模块,所述闪存处理阵列包括用于分别执行不同模拟向量‑矩阵乘法运算的多个闪存处理子阵列;所述可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元;所述控制模块根据配置信息对多个闪存处理子阵列和多个可编程算术运算单元进行组合配置,实现芯片中电路结构的动态配置。

【技术特征摘要】
1.一种可软件定义的存算一体芯片,其特征在于,包括:闪存处理阵列、可编程算术运算模块以及与所述闪存处理阵列和所述可编程算术运算模块连接的控制模块,所述闪存处理阵列包括用于分别执行不同模拟向量-矩阵乘法运算的多个闪存处理子阵列;所述可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元;所述控制模块根据配置信息对多个闪存处理子阵列和多个可编程算术运算单元进行组合配置,实现芯片中电路结构的动态配置。2.根据权利要求1所述的可软件定义的存算一体芯片,其特征在于,还包括:输入接口模块,用于接收外部输入数据;输入寄存器堆,连接所述输入接口模块,用于存储所述外部输入数据或待处理数据;数模转换模块,输入端连接所述输入寄存器堆,输出端连接所述闪存处理阵列,用于将所述外部输入数据或待处理数据转换为模拟信号并输至所述闪存处理阵列,所述闪存处理阵列对所述模拟信号进行模拟向量-矩阵乘法运算并输出运算结果;模数转换模块,输入端连接所述闪存处理阵列,输出端连接所述可编程算术运算模块,用于将所述模拟向量-矩阵乘法运算结果转换为数字信号并输至所述可编程算术运算模块,所述可编程算术运算模块对所述数字信号进行算术运算并输出算术运算结果;输出寄存器堆,连接所述可编程算术运算模块和所述输入寄存器堆,用于暂存所述算术运算结果,并将所述算术运算结果输出或作为所述待处理数据输至所述输入寄存器堆;输出接口模块,连接所述输出寄存器堆,接收该输出寄存器堆的输出数据,并将该输出数据向外输出;其中,所述控制模块连接所述输入接口模块、所述输入寄存器堆、所述数模转换模块、所述闪存处理阵列、所述模数转换模块、所述输出寄存器堆、所述可编程算术运算模块以及所述输出接口模块,用于根据实际应用需求对上述电路模块进行动态配置。3.根据权利要求2所述的可软件定义的存算一体芯片,其特征在于,所述输入寄存器堆的输出端还连接所述可编程算术运算模块。4.根据权利要求2所述的可软件定义的存算一体芯片,其特征在于,多个所述可编程算术运算单元串行连接,每个所述可编程算术运算单元均包括:多路分配器、算术运算子单元以及多路选择器;所述多路分配器的输入端连接上一可编程算术运算单元或所述模数转换模块,其中一个输出端连接所述算...

【专利技术属性】
技术研发人员:王绍迪
申请(专利权)人:北京知存科技有限公司
类型:新型
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1