CN111124490A - 使用posit的无精度损失低功耗mfcc提取加速器 - Google Patents
使用posit的无精度损失低功耗mfcc提取加速器 Download PDFInfo
- Publication number
- CN111124490A CN111124490A CN201911067668.7A CN201911067668A CN111124490A CN 111124490 A CN111124490 A CN 111124490A CN 201911067668 A CN201911067668 A CN 201911067668A CN 111124490 A CN111124490 A CN 111124490A
- Authority
- CN
- China
- Prior art keywords
- data
- posit
- mfcc
- accelerator
- arithmetic unit
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000005265 energy consumption Methods 0.000 claims abstract description 4
- 238000007667 floating Methods 0.000 claims abstract description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000001228 spectrum Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于集成电路技术领域,具体为一种使用POSIT的无精度损失低功耗MFCC提取加速器。本发明加速器装置包括:两个片上存储模块,用于存储运算过程中的中间数据以及运算时需要用到的相关参数;一个运算单元,包含一个支持posit数据格式运算的乘法器和一个支持posit数据格式运算的加法器,用于实现快速傅里叶变化以及离散余弦变换等运算;一个控制单元,用于控制计算过程和数据流向,和同外界的数据进行交互。计算过程中按照控制单元的指令,所有的运算不断复用同一个运算单元,通过相比于浮点运算而言极短的寄存器长度,实现无精度损失的MFCC数据运算,减少了数据运算中的能耗,提高了加速器的能效。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种进行梅尔特征频谱倒谱系数提取加速器装置。
背景技术
当今,语音识别技术被广泛的运用到人机交互、智能家居、智能机器人、机器翻译等诸多领域中。随着语音识别被更广泛的使用,传统移动端cpu在能效上越发显得捉襟见肘,一些针对梅尔特征频谱倒谱系数(MFCC)提取的应运而生。
在运算梅尔特征频谱倒谱系数求取的过程中,包含众多需要累加的运算,例如离散余弦变换,快速傅里叶变换等等,在传统的float数据格式运算中,为了保持运算过程中的高精度要求,中间寄存器需要使用很大的位宽,来满足中间数据的存储,从而加大了运算过程中的能量消耗。然而在移动端的设备上,为了长时间的使用设备,低功耗是很重的一个要素。
如果在float数据格式的累加运算中降低中间寄存器的位宽的话,又会截断中间数据的尾端,从而使运算过程中的精度下降,最后的输出与正确值会有一定的误差。然如今对语音识别的要求越来越高,输入数据的误差极大地影响了最后的结果。
综上所述,如何在降低梅尔特征频谱倒谱系数运算过程中的误差的同时,减少功耗损失,是该技术领域亟待解决的一个问题。
Posit数据格式于2017年提出,posit数据格式相比于float数据格式,同样的比特可以表达更大范围的数据,因此在累加过程中,可以使用远小于float累加运算时所需的寄存器长度,达到无精度损失的累加运算。
发明内容
本发明的目的在于提供一种基于posit数据格式的、无误差低功耗的语音输入梅尔特征频谱倒谱系数提取加速器。
本发明提出的梅尔特征频谱倒谱系数(MFCC)提取加速器,包括:
两块片上存储模块,用于存储运算过程中的中间数据与输出结果,以及运算中用到的权重参数;
一个支持posit数据格式运算的运算单元,内含一个乘法器与一个加法器,用于实现MFCC提取中的所有算法,包括快速傅里叶变换以及离散余弦变换的运算;
控制单元,用于控制计算过程以及数据流向,以及同外界数据的交互;
其中,所述的支持posit数据格式运算的运算单元,由一个支持posit格式运算的乘法器,一个支持posit数据格式运算的加法器,四个存储中间过程的寄存器,以及四个控制内部数据流向的多路选择器组成。运算单元可以支持posit格式的乘法、加法与乘加运算,并且可通过内部的寄存器直接将当前的输出作为下一次运算的输入,节省数据读取的时间,从而提升运算单元的能效。
本发明中,所述控制单元按照MFCC算法中的运算顺序,控制片上存储单元的读取使能信号以及数据读取地址信号,控制片上多路选择器的选择信号,控制信号的输入通路,传递给运算单元相应的输入,同时将运算单元的输出存储到对应的位置上。
本发明中,所述两块片上存储模块中,第一块片上存储模块,可以存储MFCC运算过程中的所有中间数据以及输出结果。第二块片上存储模块,可以存储运算中的所有参数,包括快速傅里叶变换中的参数W,离散余弦变换中的参数COS值等等。
本发明在计算过程中按照控制单元的指令,所有的运算不断复用同一个运算单元,在不断的重复运算过程中,根据posit表示范围更大的特性,通过相比于浮点运算而言极短的寄存器长度,实现无精度损失的MFCC数据运算,减少了数据运算中的能耗,从而提高了加速器的能效。
附图说明
图1是本发明实施例的顶层模块框图。
图2是本发明实施例的运算单元框图。
具体实施方式
以下结合具体实施例和附图对本发明的技术方案做进一步说明。应理解,以下描述的实施例是用于对本发明技术方案的说明而非限制。附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
实施例是一个语音输入的梅尔频谱倒谱系数运算的加速器。图1为其顶层模块框图。该所述加速器包括片上存储模块11,运算模块12,控制单元13。
存储模块中包含一个存储中间数据与结果的存储器111,与一个存储运算参数的存储器112。存储器111支持双端口读取,即运算模块可以同时从存储器111中读取两个数值。同时存储器111与片外数据进行交互,片外向其传入语音原始信号,其向片外传出MFCC数值。
运算模块12中包含三个多路选择器121,以及一个运算单元122。多路选择器负责选择将哪些数据传入运算单元中的A、B、C三个输入端口,从而实现MFCC中包含的不同算法。运算单元的输出端口D与存储器111相连,将中间结果以及MFCC输出写回到存储器中去。
图2为其运算单元的框图。其中含有一个posit数据格式乘法器,一个posit格式运算的加法器,四个支持posit累加运算无精度损失的寄存器,四个多路选择器,分别控制乘法器,加法器,寄存器的输入,以及哪个寄存器的值作为输出。运算单元支持加法,乘法,乘加三种运算。
控制单元13分别与存储模块,运算模块相连。通过与存储器相连的控制信号,决定当存储器读取的时候,哪些值会被读取,以及当输出结果写回时,数据需要写入到哪些位置上;通过与运算模块中多路选择器相连的控制信号,决定哪些数据最终被传入运算单元中去;通过与运算单元相连的控制信号,决定运算单元的运算模式是什么,并且决定运算单元输出是否写回到运算单元的输入中去。控制单元会根据MFCC的算法,按顺序的调用存储模块与计算模块,以此实现MFCC中的每一个算法。
Claims (5)
1.一种使用POSIT的无精度损失低功耗MFCC提取加速器,其特征在于,包括:
两块片上存储模块,用于存储运算过程中的中间数据与输出结果,以及运算中会用到的权重参数;
一个支持posit数据格式运算的运算单元,内含一个乘法器与一个加法器,用于实现MFCC提取中的所有算法,包括快速傅里叶变换以及离散余弦变换的运算;
控制单元,用于控制计算过程以及数据流向,以及同外界数据的交互。
2.根据权利要求1所述的MFCC提取加速器,其特征在于,所述支持posit数据格式运算的运算单元,由一个支持posit格式运算的乘法器,一个支持posit数据格式运算的加法器,四个存储中间过程的寄存器,以及四个控制内部数据流向的多路选择器组成;运算单元支持posit格式的乘法、加法与乘加运算,并且通过内部的寄存器直接将当前的输出作为下一次运算的输入,节省数据读取的时间,提升运算单元的能效。
3.根据权利要求1所述的MFCC提取加速器,其特征在于,所述控制单元,按照MFCC算法中的运算顺序,控制片上存储单元的读取使能信号以及数据读取地址信号,控制片上多路选择器的选择信号,控制信号的输入通路,传递给运算单元相应的输入,同时将运算单元的输出存储到对应的位置上。
4.根据权利要求1所述的MFCC提取加速器,其特征在于,所述两块片上存储模块中,第一块片上存储模块,存储MFCC运算过程中的所有中间数据以及输出结果;第二块片上存储模块,存储运算中的所有参数,包括快速傅里叶变换中的参数W,离散余弦变换中的参数COS值。
5.根据权利要求1所述的MFCC提取加速器,其特征在于,计算过程中,按照控制单元的指令,所有的运算不断复用同一个运算单元,在不断的重复运算过程中,根据posit表示范围更大的特性,通过相比于浮点运算而言极短的寄存器长度,实现无精度损失的MFCC数据运算,减少了数据运算中的能耗,提高了加速器的能效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067668.7A CN111124490A (zh) | 2019-11-05 | 2019-11-05 | 使用posit的无精度损失低功耗mfcc提取加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067668.7A CN111124490A (zh) | 2019-11-05 | 2019-11-05 | 使用posit的无精度损失低功耗mfcc提取加速器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111124490A true CN111124490A (zh) | 2020-05-08 |
Family
ID=70495516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067668.7A Pending CN111124490A (zh) | 2019-11-05 | 2019-11-05 | 使用posit的无精度损失低功耗mfcc提取加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124490A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965205A (zh) * | 2020-07-20 | 2022-01-21 | 美光科技公司 | 位串压缩 |
WO2023041002A1 (zh) * | 2021-09-17 | 2023-03-23 | 华为技术有限公司 | 近内存计算加速器、双列直插式内存模块以及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677741A (zh) * | 2013-12-30 | 2014-03-26 | 南京大学 | 基于ncs算法的成像方法以及混合精度浮点协处理器 |
CN107431635A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 化身面部表情和/或语音驱动的动画化 |
CN109284824A (zh) * | 2018-09-04 | 2019-01-29 | 复旦大学 | 一种基于可重构技术的用于加速卷积和池化运算的装置 |
-
2019
- 2019-11-05 CN CN201911067668.7A patent/CN111124490A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677741A (zh) * | 2013-12-30 | 2014-03-26 | 南京大学 | 基于ncs算法的成像方法以及混合精度浮点协处理器 |
CN107431635A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 化身面部表情和/或语音驱动的动画化 |
CN109284824A (zh) * | 2018-09-04 | 2019-01-29 | 复旦大学 | 一种基于可重构技术的用于加速卷积和池化运算的装置 |
Non-Patent Citations (4)
Title |
---|
E.CANTÓ-NAVARRO 等: "Floating-point accelerator for biometric recognition on FPGA embedded systems", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING》 * |
KAZUTAKA KURIHARA 等: "Picognizer: A JavaScript Library for Detecting and Recognizing Synthesized Sounds", 《ADVANCES IN COMPUTER ENTERTAINMENT TECHNOLOGY》 * |
LIANGJIAN LYU 等: "A 340nW/Channel Neural Recording Analog Front-End using Replica-Biasing LNAs to Tolerate 200mVpp Interfere from 350mV Power Supply", 《2019 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》 * |
MANISH KUMAR JAISWAL 等: "Universal Number Posit Arithmetic Generator on FPGA", 《2018 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965205A (zh) * | 2020-07-20 | 2022-01-21 | 美光科技公司 | 位串压缩 |
WO2023041002A1 (zh) * | 2021-09-17 | 2023-03-23 | 华为技术有限公司 | 近内存计算加速器、双列直插式内存模块以及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970247B2 (en) | Conditional operation in an internal processor of a memory device | |
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN101751244B (zh) | 微处理器 | |
CN102253921B (zh) | 一种动态可重构处理器 | |
EP1701250A1 (en) | Ultra low power ASIP (Application-Domain specific Instruction-set Processor) microcomputer | |
CN111124490A (zh) | 使用posit的无精度损失低功耗mfcc提取加速器 | |
CN104915213A (zh) | 一种可重构系统的局部重构控制器 | |
CN111860773B (zh) | 处理装置和用于信息处理的方法 | |
CN111353586A (zh) | 一种基于fpga实现cnn加速的系统 | |
CN115983348A (zh) | 支持卷积神经网络扩展指令的risc-v加速器系统 | |
CN108647780B (zh) | 面向神经网络的可重构池化操作模块结构及其实现方法 | |
CN102567254A (zh) | 采用dma控制器进行数据归一化处理的方法 | |
CN107943727A (zh) | 一种高效dma控制器 | |
CN112162942B (zh) | 一种多模态图像处理硬件加速系统 | |
CN101923386B (zh) | 一种降低cpu功耗的方法及一种低功耗cpu | |
US6370636B1 (en) | Accessing byte lines from dual memory blocks and aligning for variable length instruction execution | |
CN103293373A (zh) | 电能计量装置及其电能计量芯片 | |
CN113591031A (zh) | 低功耗矩阵运算方法及装置 | |
CN102622318B (zh) | 一种存储器控制电路及其控制的向量数据寻址方法 | |
TW201349102A (zh) | 運算模組、裝置及系統 | |
CN112884139A (zh) | 神经网络数据流控制方法、装置、电子设备及存储介质 | |
CN116089356B (zh) | 近存计算装置、近存计算方法、集成电路及存储介质 | |
CN109117454B (zh) | 3780点快速傅立叶转换处理器及其运作方法 | |
CN110647984B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200508 |
|
WD01 | Invention patent application deemed withdrawn after publication |