CN115617717A - 一种基于忆阻器的协处理器设计方法 - Google Patents

一种基于忆阻器的协处理器设计方法 Download PDF

Info

Publication number
CN115617717A
CN115617717A CN202211455244.XA CN202211455244A CN115617717A CN 115617717 A CN115617717 A CN 115617717A CN 202211455244 A CN202211455244 A CN 202211455244A CN 115617717 A CN115617717 A CN 115617717A
Authority
CN
China
Prior art keywords
generator
dma
memristor
vector register
quantization
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
CN202211455244.XA
Other languages
English (en)
Other versions
CN115617717B (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.)
Shanghai Yizhu Intelligent Technology Co ltd
Original Assignee
Shanghai Yizhu Intelligent Technology Co ltd
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 Shanghai Yizhu Intelligent Technology Co ltd filed Critical Shanghai Yizhu Intelligent Technology Co ltd
Priority to CN202211455244.XA priority Critical patent/CN115617717B/zh
Publication of CN115617717A publication Critical patent/CN115617717A/zh
Application granted granted Critical
Publication of CN115617717B publication Critical patent/CN115617717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开一种基于忆阻器的协处理器设计方法,解决现有技术无法兼容忆阻器存内计算产生数据的量化操作和通用数据向量操作;无法自由分配算力给各种计算模式的技术问题,包括S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;S2,读入dma生成器生成多通道读入dma控制器及dma通道数;S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;S4,算子逻辑生成器生成多通道计算模块;S5,流水线生成器调节向量寄存器时序;S6,量化逻辑生成器生成量化计算模块;S7,写出dma生成器生成多通道写出dma控制模块的步骤。

Description

一种基于忆阻器的协处理器设计方法
技术领域
本发明涉及一种协处理器设计方法,具体涉及一种基于忆阻器的协处理器设计方法,属于计算机处理器技术领域。
背景技术
存内计算,是指将传统冯诺依曼架构中以计算为中心的设计,转变为以数据存储为中心的设计,也就是利用存储器对数据进行运算,从而避免数据搬运产生的“存储墙”和“功耗墙”,极大提高数据的并行度和能量效率。这种架构特别适用于要求大算力、低功耗的终端设备,如可穿戴设备、移动设备、智能家居等。
为了配合采用忆阻器技术做存内计算产生的多通道数据,需要设计向量数据协处理器对数据做后处理, 向量数据协处理器所需要的计算模式包括张量计算、量化计算、通用向量计算。由于需要额外考虑计算常数在忆阻器中摆放的拓扑结构,当数据来自于基于忆阻器技术的存内计算的时候,有多种数据搬运模式和计算模式对应匹配。
传统神经网络使用独立的向量数据协处理器,为了有效解决数据并行计算问题,需要搭配搬运读入数据的dma、多数据处理流水线、写出数据的dma,这三者的并行度和外部存储器的宽度、bank数和延时流水线级数有关,无法同时兼顾存内计算模块输出的数据的计算模式。
本申请人发现现有技术至少存在以下技术问题:
1、现有技术中,向量数据协处理器无法同时兼容忆阻器技术存内计算产生数据的量化操作和通用数据的向量操作;
2、现有技术中,向量数据协处理器无法自由分配算力给各种计算模式。
发明内容
本发明的目的在于提供一种基于忆阻器的协处理器设计方法,以解决现有技术中的向量数据协处理器无法同时兼容忆阻器技术存内计算产生数据的量化操作和通用数据的向量操作;向量数据协处理器无法自由分配算力给各种计算模式的技术问题。
为实现上述目的,本发明提供了以下技术方案:
本发明提供的一种基于忆阻器的协处理器设计方法,步骤包括:
S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;
S2,读入dma生成器生成多通道读入dma控制器及dma通道数;
S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;
S4,算子逻辑生成器生成多通道计算模块;
S5,流水线生成器调节向量寄存器时序;
S6,量化逻辑生成器生成量化计算模块;
S7,写出dma生成器生成多通道写出dma控制模块。
进一步地,S1步骤中向所述忆阻器存内计算控制器生成器输入忆阻器输出数据通道数,生成所述忆阻器存内计算控制器及所述存内计算通道数。
进一步地,S2步骤中向所述读入dma生成器输入静态存储器组数量及S1步骤中生成的所述存内计算通道数,生成多通道读入dma控制器及dma通道数。
进一步地,所述多通道读入dma控制器通道数通过所述读入dma生成器输入的静态存储器组数量及S1步骤中生成的所述存内计算通道数得到。
进一步地,所述多通道读入dma控制器通道数的计算公式为Floor(存储器组数量+存内计算通道数)/2+1。
进一步地,S3步骤中向所述向量寄存器数组生成器输入向量寄存器数组数量和S2步骤中生成的dma通道数,生成向量寄存器数组及向量寄存器控制器。
进一步地,S4步骤中向所述算子逻辑生成器输入算子列表及S3步骤中生成的向量寄存器数组,生成多通道计算模块。
进一步地,所述算子列表包括操作符号列表。
进一步地,根据所述操作符号列表和所述S3步骤中生成的向量寄存器数组数量生成多通道计算模块。
进一步地,S5步骤中向所述流水线生成器输入流水线级数配置,根据所述流水线级数配置调节向量寄存器时序。
进一步地,根据流水线级数插入向量寄存器调节时序。
进一步地,S6步骤中向所述量化逻辑生成器输入量化配置,根据量化配置生成所述量化计算模块。
进一步地,所述量化配置包括:量化数据类型、量化公式、量化参数。
进一步地,根据所述量化公式通过多项式展开加符号推导自动生成所述量化计算模块。
进一步地,所述量化计算模块包括计算电路。
进一步地,S7步骤中向所述写出dma生成器输入写出dma通道数生成所述多通道写出dma控制模块。
进一步地,所述多通道写出dma控制模块的控制方式为:每一通道对写出地址译码映射到存储器组,在所述存储器组的入口对多个写入dma的数据进行公平仲裁,获得写入许可的数据先写入,没有得到写入许可的数据阻塞写入操作直到获得写入许可。
方法最终生成基于忆阻器的协处理器的RTL Verilog代码。
基于上述技术方案,本发明实施例至少可以产生如下技术效果:
(1)本发明提供的一种基于忆阻器的协处理器设计方法,对采用忆阻器技术做存内计算产生的数据通道数量、静态存储器宽度和通道数做全参数化的设计,可以在张量计算、量化计算和通用向量计算三种模式自动切换。
(2)本发明提供的一种基于忆阻器的协处理器设计方法,当存内计算模块输出多通道数据,可用于通道量化或者层量化时,匹配不同的量化需求配置读入dma搬运相应的系数进入寄存器组,完成量化模式的计算,通过写出dma写出量化后的数据,节省存储器带宽,提升存储密度。
(3)本发明提供的一种基于忆阻器的协处理器设计方法,当需要对张量或者向量数据操作的时候,可以配置读取dma搬运张量/向量数据进入寄存器组,完成双目,单目或者规约操作,通过写出dma写出数据。
附图说明
图1是本发明实施例的方法流程示意图。
具体实施方式
本发明提供了一种基于忆阻器的协处理器设计方法,现结合附图对本发明优选实施例进行详细说明。
本发明提供的一种基于忆阻器的协处理器设计方法,基于Verilog实现。
Verilog语言全称为Verilog HDL,一般简称Verilog。
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,Verilog 可以表示逻辑电路图、逻辑表达式,以及数字逻辑系统所完成的逻辑功能。
本发明提供的一种基于忆阻器的协处理器设计方法,步骤包括:
S1,忆阻器存内计算控制器生成器生成忆阻器存内计算控制器及存内计算通道数;
S2,读入dma生成器生成多通道读入dma控制器及dma通道数;
S3,向量寄存器数组生成器生成向量寄存器数组及向量寄存器控制器;
S4,算子逻辑生成器生成多通道计算模块;
S5,流水线生成器调节向量寄存器时序;
S6,量化逻辑生成器生成量化计算模块;
S7,写出dma生成器生成多通道写出dma控制模块。
在本发明优选实施例中,S1步骤中向所述忆阻器存内计算控制器生成器输入忆阻器输出数据通道数,生成所述忆阻器存内计算控制器及所述存内计算通道数。
在本发明优选实施例中,S2步骤中向所述读入dma生成器输入静态存储器组数量及S1步骤中生成的所述存内计算通道数,生成多通道读入dma控制器及dma通道数。
在本发明优选实施例中,所述多通道读入dma控制器通道数通过所述读入dma生成器输入的静态存储器组数量及S1步骤中生成的所述存内计算通道数得到。
在本发明优选实施例中,所述多通道读入dma控制器通道数的计算公式为Floor(存储器组数量+存内计算通道数)/2+1。
在本发明优选实施例中,S3步骤中向所述向量寄存器数组生成器输入向量寄存器数组数量和S2步骤中生成的dma通道数,生成向量寄存器数组及向量寄存器控制器。
在本发明优选实施例中,S4步骤中向所述算子逻辑生成器输入算子列表及S3步骤中生成的向量寄存器数组,生成多通道计算模块。
在本发明优选实施例中,所述算子列表包括操作符号列表。
在本发明优选实施例中,根据所述操作符号列表和所述S3步骤中生成的向量寄存器数组数量生成多通道计算模块。
优选的,根据向量寄存器数组数量,每个向量寄存器数组的成员有一个算术逻辑单元,所述算术逻辑单元的可以执行的计算功能通过所述操作符号表定义。
在本发明优选实施例中,S5步骤中向所述流水线生成器输入流水线级数配置,根据所述流水线级数配置调节向量寄存器时序。
在本发明优选实施例中,根据流水线级数插入向量寄存器调节时序。
每增加一级流水线,数据都要用寄存器锁存一拍,流水线越长,向量寄存器时序越好,但是延时也加长。
在本发明优选实施例中,S6步骤中向所述量化逻辑生成器输入量化配置,根据量化配置生成所述量化计算模块。
在本发明优选实施例中,所述量化配置包括:量化数据类型、量化公式、量化参数。
在本发明优选实施例中,所述量化数据类型包括int8,uint8,所述量化公式为f=S*(q-z)+B, 量化参数包括缩放系数S,零点位置z,偏移B。
在本发明优选实施例中,根据所述量化公式通过多项式展开加符号推导自动生成所述量化计算模块。
在本发明优选实施例中,所述量化计算模块包括计算电路。
在本发明优选实施例中,S7步骤中向所述写出dma生成器输入写出dma通道数生成所述多通道写出dma控制模块。
在本发明优选实施例中,生成所述多通道写出dma控制模块的方式为:每一通道对写出地址译码映射到存储器组,在所述存储器组的入口对多个写入dma的数据进行公平仲裁,获得写入许可的数据先写入,没有得到写入许可的数据阻塞写入操作直到获得写入许可。
在本发明优选实施例中,步骤S1至S7中,每一步骤通过格式化配置文档实现输入,通过设计文件实现输出。
方法最终生成基于忆阻器的协处理器的RTL Verilog代码。
本发明优选实施例对采用忆阻器技术做存内计算产生的数据通道数量,静态存储器宽度和通道数做全参数化的设计,可以在张量计算,量化计算和通用向量计算三种模式自动切换。
当存内计算模块输出多通道数据,可用于通道量化或者层量化时,本发明优选实施例匹配不同的量化需求配置读入dma控制器搬运相应的系数进入寄存器组,完成量化模式的计算,通过写出dma写出量化后的数据,节省存储器带宽,提升存储密度。
当需要对张量或者向量数据操作的时候,本发明优选实施例可以配置读入dma搬运张量/向量数据进入寄存器组,完成双目,单目或者规约操作,通过写出dma写出数据。
以上计算模式使用统一的计算流水线完成,软件可以根据需求在协处理器中划分通道使用各自的计算模式。
以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

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步骤中向所述向量寄存器数组生成器输入向量寄存器数组数量和S2步骤中生成的dma通道数,生成向量寄存器数组及向量寄存器控制器。
5.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S4步骤中向所述算子逻辑生成器输入算子列表及S3步骤中生成的向量寄存器数组,生成多通道计算模块。
6.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S5步骤中向所述流水线生成器输入流水线级数配置,根据所述流水线级数配置调节向量寄存器时序。
7.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S6步骤中向所述量化逻辑生成器输入量化配置,根据量化配置生成所述量化计算模块。
8.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,S7步骤中向所述写出dma生成器输入写出dma通道数生成所述多通道写出dma控制模块。
9.根据权利要求1所述的一种基于忆阻器的协处理器设计方法,其特征在于,所述方法最终生成基于忆阻器的协处理器的RTL Verilog代码。
10.根据权利要求5所述的一种基于忆阻器的协处理器设计方法,其特征在于,所述算子列表包括操作符号列表。
CN202211455244.XA 2022-11-21 2022-11-21 一种基于忆阻器的协处理器设计方法 Active CN115617717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211455244.XA CN115617717B (zh) 2022-11-21 2022-11-21 一种基于忆阻器的协处理器设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211455244.XA CN115617717B (zh) 2022-11-21 2022-11-21 一种基于忆阻器的协处理器设计方法

Publications (2)

Publication Number Publication Date
CN115617717A true CN115617717A (zh) 2023-01-17
CN115617717B CN115617717B (zh) 2023-05-12

Family

ID=84878161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211455244.XA Active CN115617717B (zh) 2022-11-21 2022-11-21 一种基于忆阻器的协处理器设计方法

Country Status (1)

Country Link
CN (1) CN115617717B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190205741A1 (en) * 2017-12-29 2019-07-04 Spero Devices, Inc. Digital Architecture Supporting Analog Co-Processor
CN110750300A (zh) * 2019-09-18 2020-02-04 复旦大学 一种基于忆阻器存储器内处理的混合计算装置
CN113126898A (zh) * 2020-01-15 2021-07-16 三星电子株式会社 存储器设备及其操作方法和存储器控制器的操作方法
CN113869504A (zh) * 2021-12-02 2021-12-31 之江实验室 一种基于忆阻器可编程神经网络加速器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190205741A1 (en) * 2017-12-29 2019-07-04 Spero Devices, Inc. Digital Architecture Supporting Analog Co-Processor
CN111542826A (zh) * 2017-12-29 2020-08-14 斯佩罗设备公司 支持模拟协处理器的数字架构
CN110750300A (zh) * 2019-09-18 2020-02-04 复旦大学 一种基于忆阻器存储器内处理的混合计算装置
CN113126898A (zh) * 2020-01-15 2021-07-16 三星电子株式会社 存储器设备及其操作方法和存储器控制器的操作方法
CN113869504A (zh) * 2021-12-02 2021-12-31 之江实验室 一种基于忆阻器可编程神经网络加速器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴杰 等: "忆阻器数字化仿真器的设计与实现" *

Also Published As

Publication number Publication date
CN115617717B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN110059820B (zh) 用于计算的系统及方法
CN109522052B (zh) 一种计算装置及板卡
WO2018184570A1 (zh) 运算装置和方法
Jin et al. Principles and construction of MSD adder in ternary optical computer
JP2018055677A (ja) 外積累算演算のためのプロセッサおよび方法
Mohanty et al. Memory footprint reduction for power-efficient realization of 2-D finite impulse response filters
US11017290B2 (en) Signal processing module, especially for a neural network and a neuronal circuit
US11983616B2 (en) Methods and apparatus for constructing digital circuits for performing matrix operations
CN111353598B (zh) 一种神经网络压缩方法、电子设备及计算机可读介质
CN111045728B (zh) 一种计算装置及相关产品
CN112005251A (zh) 运算处理装置
CN114503126A (zh) 矩阵运算电路、装置以及方法
CN110059809B (zh) 一种计算装置及相关产品
JP2009116813A (ja) 大規模計算用カスタムメイド計算機
CN117271953A (zh) 一种用于优化快速傅里叶变换的存内计算加速电路及方法
Lu et al. A reconfigurable DNN training accelerator on FPGA
CN115617717A (zh) 一种基于忆阻器的协处理器设计方法
CN111368967A (zh) 一种神经网络计算装置和方法
Gonçalves et al. Exploring data size to run convolutional neural networks in low density fpgas
CN111368987B (zh) 一种神经网络计算装置和方法
CN111368990B (zh) 一种神经网络计算装置和方法
CN111078624B (zh) 片上网络处理系统和片上网络数据处理方法
CN111078625B (zh) 片上网络处理系统和片上网络数据处理方法
CN111382835B (zh) 一种神经网络压缩方法、电子设备及计算机可读介质
CN111078623B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Jun

Inventor after: Jing Naifeng

Inventor after: Xiong Dapeng

Inventor after: Li Tao

Inventor before: Wu Jun

Inventor before: Jing Naifeng

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 200120 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Suzhou Yizhu Intelligent Technology Co.,Ltd.

Address before: 200120 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant before: Shanghai Yizhu Intelligent Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Jun

Inventor after: Jing Naifeng

Inventor after: Xiong Dapeng

Inventor before: Wu Jun

Inventor before: Jing Naifeng

Inventor before: Xiong Dapeng

Inventor before: Li Tao