本发明专利技术公开一种基于忆阻器的协处理器设计方法,解决现有技术无法兼容忆阻器存内计算产生数据的量化操作和通用数据向量操作;无法自由分配算力给各种计算模式的技术问题,包括S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;S2,读入dma生成器生成多通道读入dma控制器及dma通道数;S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;S4,算子逻辑生成器生成多通道计算模块;S5,流水线生成器调节向量寄存器时序;S6,量化逻辑生成器生成量化计算模块;S7,写出dma生成器生成多通道写出dma控制模块的步骤。模块的步骤。模块的步骤。
【技术实现步骤摘要】
一种基于忆阻器的协处理器设计方法
[0001]本专利技术涉及一种协处理器设计方法,具体涉及一种基于忆阻器的协处理器设计方法,属于计算机处理器
技术介绍
[0002]存内计算,是指将传统冯诺依曼架构中以计算为中心的设计,转变为以数据存储为中心的设计,也就是利用存储器对数据进行运算,从而避免数据搬运产生的“存储墙”和“功耗墙”,极大提高数据的并行度和能量效率。这种架构特别适用于要求大算力、低功耗的终端设备,如可穿戴设备、移动设备、智能家居等。
[0003]为了配合采用忆阻器技术做存内计算产生的多通道数据,需要设计向量数据协处理器对数据做后处理, 向量数据协处理器所需要的计算模式包括张量计算、量化计算、通用向量计算。由于需要额外考虑计算常数在忆阻器中摆放的拓扑结构,当数据来自于基于忆阻器技术的存内计算的时候,有多种数据搬运模式和计算模式对应匹配。
[0004]传统神经网络使用独立的向量数据协处理器,为了有效解决数据并行计算问题,需要搭配搬运读入数据的dma、多数据处理流水线、写出数据的dma,这三者的并行度和外部存储器的宽度、bank数和延时流水线级数有关,无法同时兼顾存内计算模块输出的数据的计算模式。
[0005]本申请人发现现有技术至少存在以下技术问题:1、现有技术中,向量数据协处理器无法同时兼容忆阻器技术存内计算产生数据的量化操作和通用数据的向量操作;2、现有技术中,向量数据协处理器无法自由分配算力给各种计算模式。
技术实现思路
[0006]本专利技术的目的在于提供一种基于忆阻器的协处理器设计方法,以解决现有技术中的向量数据协处理器无法同时兼容忆阻器技术存内计算产生数据的量化操作和通用数据的向量操作;向量数据协处理器无法自由分配算力给各种计算模式的技术问题。
[0007]为实现上述目的,本专利技术提供了以下技术方案:本专利技术提供的一种基于忆阻器的协处理器设计方法,步骤包括:S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;S2,读入dma生成器生成多通道读入dma控制器及dma通道数;S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;S4,算子逻辑生成器生成多通道计算模块;S5,流水线生成器调节向量寄存器时序;S6,量化逻辑生成器生成量化计算模块;S7,写出dma生成器生成多通道写出dma控制模块。
[0008]进一步地,S1步骤中向所述忆阻器存内计算控制器生成器输入忆阻器输出数据通道数,生成所述忆阻器存内计算控制器及所述存内计算通道数。
[0009]进一步地,S2步骤中向所述读入dma生成器输入静态存储器组数量及S1步骤中生成的所述存内计算通道数,生成多通道读入dma控制器及dma通道数。
[0010]进一步地,所述多通道读入dma控制器通道数通过所述读入dma生成器输入的静态存储器组数量及S1步骤中生成的所述存内计算通道数得到。
[0011]进一步地,所述多通道读入dma控制器通道数的计算公式为Floor(存储器组数量+存内计算通道数)/2+1。
[0012]进一步地,S3步骤中向所述向量寄存器数组生成器输入向量寄存器数组数量和S2步骤中生成的dma通道数,生成向量寄存器数组及向量寄存器控制器。
[0013]进一步地,S4步骤中向所述算子逻辑生成器输入算子列表及S3步骤中生成的向量寄存器数组,生成多通道计算模块。
[0014]进一步地,所述算子列表包括操作符号列表。
[0015]进一步地,根据所述操作符号列表和所述S3步骤中生成的向量寄存器数组数量生成多通道计算模块。
[0016]进一步地,S5步骤中向所述流水线生成器输入流水线级数配置,根据所述流水线级数配置调节向量寄存器时序。
[0017]进一步地,根据流水线级数插入向量寄存器调节时序。
[0018]进一步地,S6步骤中向所述量化逻辑生成器输入量化配置,根据量化配置生成所述量化计算模块。
[0019]进一步地,所述量化配置包括:量化数据类型、量化公式、量化参数。
[0020]进一步地,根据所述量化公式通过多项式展开加符号推导自动生成所述量化计算模块。
[0021]进一步地,所述量化计算模块包括计算电路。
[0022]进一步地,S7步骤中向所述写出dma生成器输入写出dma通道数生成所述多通道写出dma控制模块。
[0023]进一步地,所述多通道写出dma控制模块的控制方式为:每一通道对写出地址译码映射到存储器组,在所述存储器组的入口对多个写入dma的数据进行公平仲裁,获得写入许可的数据先写入,没有得到写入许可的数据阻塞写入操作直到获得写入许可。
[0024]方法最终生成基于忆阻器的协处理器的RTL Verilog代码。
[0025]基于上述技术方案,本专利技术实施例至少可以产生如下技术效果:(1)本专利技术提供的一种基于忆阻器的协处理器设计方法,对采用忆阻器技术做存内计算产生的数据通道数量、静态存储器宽度和通道数做全参数化的设计,可以在张量计算、量化计算和通用向量计算三种模式自动切换。
[0026](2)本专利技术提供的一种基于忆阻器的协处理器设计方法,当存内计算模块输出多通道数据,可用于通道量化或者层量化时,匹配不同的量化需求配置读入dma搬运相应的系数进入寄存器组,完成量化模式的计算,通过写出dma写出量化后的数据,节省存储器带宽,提升存储密度。
[0027](3)本专利技术提供的一种基于忆阻器的协处理器设计方法,当需要对张量或者向量
数据操作的时候,可以配置读取dma搬运张量/向量数据进入寄存器组,完成双目,单目或者规约操作,通过写出dma写出数据。
附图说明
[0028]图1是本专利技术实施例的方法流程示意图。
具体实施方式
[0029]本专利技术提供了一种基于忆阻器的协处理器设计方法,现结合附图对本专利技术优选实施例进行详细说明。
[0030]本专利技术提供的一种基于忆阻器的协处理器设计方法,基于Verilog实现。
[0031]Verilog语言全称为Verilog HDL,一般简称Verilog。
[0032]Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,Verilog 可以表示逻辑电路图、逻辑表达式,以及数字逻辑系统所完成的逻辑功能。
[0033]本专利技术提供的一种基于忆阻器的协处理器设计方法,步骤包括:S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;S2,读入dma生成器生成多通道读入dma控制器及dma通道数;S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;S4,算子逻辑生成器生成多通道计算模块;S5,流水线生成器调节向量寄存器时序;S6,量化逻辑生成器生成量化计算模块;S7,写出dma生成器生成多通道写出dma控制模块。
[0034]本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于忆阻器的协处理器设计方法,其特征在于,步骤包括:S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;S2,读入dma生成器生成多通道读入dma控制器及dma通道数;S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;S4,算子逻辑生成器生成多通道计算模块;S5,流水线生成器调节向量寄存器时序;S6,量化逻辑生成器生成量化计算模块;S7,写出dma生成器生成多通道写出dma控制模块。2.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S1步骤中向所述忆阻器存内计算控制器生成器输入忆阻器输出数据通道数,生成所述忆阻器存内计算控制器及所述存内计算通道数。3.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S2步骤中向所述读入dma生成器输入静态存储器组数量及S1步骤中生成的所述存内计算通道数,生成多通道读入dma控制器及dma通道数。4.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S3步骤中向所述向量寄存器数组生成器输入向量寄存器数组数量和...
【专利技术属性】
技术研发人员:伍骏,景乃峰,
申请(专利权)人:上海亿铸智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。