CN101051261A - 舍入运算方法及其运算装置 - Google Patents

舍入运算方法及其运算装置 Download PDF

Info

Publication number
CN101051261A
CN101051261A CNA2007100881875A CN200710088187A CN101051261A CN 101051261 A CN101051261 A CN 101051261A CN A2007100881875 A CNA2007100881875 A CN A2007100881875A CN 200710088187 A CN200710088187 A CN 200710088187A CN 101051261 A CN101051261 A CN 101051261A
Authority
CN
China
Prior art keywords
bit
multiplier
rounds
specific region
multiplicand
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
CNA2007100881875A
Other languages
English (en)
Other versions
CN101051261B (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of CN101051261A publication Critical patent/CN101051261A/zh
Application granted granted Critical
Publication of CN101051261B publication Critical patent/CN101051261B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing

Abstract

本发明涉及舍入运算方法及其运算装置,使用高速的低精度乘法器,使运算处理高速化,且确保运算的输出精度。运算装置具有输入由多个(K)z比特构成的输入数据IN1~INK的集合的舍入处理部(10)。舍入处理部(10)根据各32比特的输入数据IN1~INK中的上位z/2比特的特定区域A的使用状态,选择确保的位字段C,舍入为z/2。舍入处理结果是,舍去的非特定区域B的下位(16-n)比特的移位信息SHIFT被存储于存储器区域(21-1)中。舍入后的各16比特数据D10-1~D10-K用乘法器(30)相乘。在位数调整部(40)中,基于分别存储于存储器区域(21-1~21-k)中的移位信息SHIFT,使乘法结果D30向左移位来调整位数。

Description

舍入运算方法及其运算装置
                       技术领域
本发明涉及例如在固定小数点运算中使用低精度的乘法器来提高运算结果的精度,同时使运算高速化的舍入运算方法及其运算装置。
                       背景技术
目前,例如将作为声音压缩技术的MP3(MPEG-1 Audio Layer 3)进行译码(解码)的译码器中,需要高速乘法处理。
图2是表示将现有的MP3文件进行译码的处理的流程(流程图)的图。
在MP3的译码时,未图示的译码器基于从17比特(下称“bit”)的MP3文件1读入的数据(步骤S1),作为物理量进行生成具有含义的行列数据的逆量子化处理(步骤S2)。译码器为将逆量子化得到的17bit的各行列要素输入未图示的高速的16bit的乘法器(步骤S3),而需要将其舍入为16bit数据2(即舍0入1)(步骤S4)。因此,必须将MP3文件1的最上位bit(下称“MSB”)或最下位(下称“LSB”)舍去。舍去的数据用乘法器运算(步骤S5),从译码器输出(步骤S6)。
但是,在将先述的数据舍入为16bit的处理(步骤S4)中,当舍去LSB时,数据精度恶化。与之相对,当舍去MSB时,在数据完整使用MSB的情况下,数据被舍入为无含义的数值,其结果可能会使译码了的声音失真。
用于解决这样的舍入问题的方法在现有的专利文献1中被提出。
专利文献1:美国专利第6,360,204B1
图3是表示现有的专利文献1中记载的舍入运算方法的图。
该舍入运算方法中,通过如下研究舍入处理,使音频译码器的精度提高。
由于乘数3及被乘数4分别使用sbit的数字信号处理器(Digitalsignal processor下称“DSP”)得到的音频数据的乘法结果5为最大2s bit,因此,将其按如下顺序舍入为sbit。
首先,选择确保乘法结果5的上位sbit或下位sbit其中之一。通常,在上位bit的舍入处理中舍入精度低,在下位bit的舍入处理中舍入精度高。它们的选择方法是任意的。其次,在确保上位sbit时,确认数据饱和的有无(即是否使用了MSB)(步骤S10),若不饱和,则进行舍入处理(步骤S11),若饱和则不进行舍入处理。
通过现有的舍入运算方法,可提高安装于sbit的DSP中的音频译码器的精度,但如图3所示,可选择的精度在确保上位bit的情况和确保下位bit的情况下,存在限定在两个方面的问题,其应用程序(application)(应用)也被限定在音频译码器中。
即,在现有的舍入运算方法或运算装置中,例如在通用的微处理器(下称“MCU”)中,难以使用bit数少的低精度的乘法器将乘法高速化,同时难以适宜地选择并确保运算数据的精度,而且,将目标应用程序不限定在音频译码器中进行应用也是困难的。
                       发明内容
本发明第一方面的舍入运算方法中,判定是否使用了由zbit(其中z≥2)构成的输入数据中的上位nbit(其中,z>n≥2)的区域,若未使用所述特定区域,则将所述输入数据中的上述上位nbit和下位(z/2-n)bit舍去,舍入为z/2bit值,若使用所述特定区域,则将所述输入数据中的下位z/2bit舍去,舍入为z/2bit。
在使用了该第一方面的舍入运算方法的第四方面的运算装置中,具有舍入处理单元、存储单元、z/2bit乘法器、位数调整单元。
所述舍入处理单元中,分别输入由zbit(其中,z≥2)构成的乘数及被乘数,判定是否分别使用了所述乘数及所述被乘数中的各上位nbit(其中,z>n≥2)的特定区域,若未使用所述特定区域,则将所述乘数及所述被乘数的所述上位nbit和下位(z/2-n)bit舍去,分别舍入为z/2bit值,若使用所述特定区域,则将所述乘数及所述被乘数的下位z/2bit舍去,分别舍入为z/2bit。所述存储单元分别存储所述舍去的各bit数的信息。所述乘法器将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果。另外,所述位数调整单元基于所述存储单元中存储的所述bit数的信息将所述乘法结果移位来调整位数。
这样,在第一、第四方面的运算方法或运算装置中,在引入舍入处理中,根据条件将确保的位字段(多个bit)选择为上位比特位字段或下位位字段,另外,由于可通过应用程序调节精度,从而使用高速的低精度乘法器将运算处理高速化,且确保运算的输出精度。
在第二方面的舍入运算方法中,判定是否使用了由zbit(其中,z≥2)构成的输入数据中的上位z/2bit的特定区域的多少比特,若使用上述特定区域的xbit(其中,0≤x≤z/2),则将所述输入数据中的上位(z/2-x)bit和下位xbit舍去,舍入为z/2bit。
在使用了第二方面的舍入运算方法的第五方面的运算装置中,具有舍入处理单元、存储单元、z/2bit乘法器、位数调整单元。
所述舍入处理单元中,分别输入由zbit(其中,z≥2)构成的乘数及被乘数,判定是否分别使用了所述乘数及所述被乘数中的各上位nbit的特定区域的多少bit,若使用所述特定区域的xbit(其中,0≤x≤z/2),则将所述乘数及所述被乘数的所述上位(z/2-x)bit和下位xbit舍去,分别舍入为z/2bit。所述存储单元分别存储所述舍去的各bit数的信息。所述乘法器将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果。另外,所述位数调整单元基于所述存储单元中存储的所述比特数的信息将所述乘法结果移位来调整位数。
这样,在第二、第五方面的运算方法或运算装置中,在引入舍入处理中,根据条件动态地改变确保的位字段(多个bit)的范围,由此,使用高速的低精度乘法器将运算处理高速化,且确保运算的输出精度。
在第三方面的舍入运算方法中,在分别由zbit(其中,z≥2)构成的多个输入数据中,检测是否使用了所述各输入数据中的上位z/2bit的特定区域的多少比特,求出使用的bit数的最大值x(其中,0≤x≤z/2),将所述各输入数据的上位(z/2-x)bit和下位xbit舍去,分别舍入为z/2bit。
在使用了该第三方面的舍入运算方法的第六方面的运算装置中,具有舍入处理单元、存储单元、z/2bit乘法器、位数调整单元。
所述舍入处理单元中,分别输入由zbit(其中,z≥2)构成的乘数及被乘数,检测是否使用了所述多个乘数及被乘数中的各上位z/2bit的特定区域的多少bit,求出使用的bit数的最大值x(其中,0≤x≤z/2),将所述乘数及所述被乘数的所述上位(z/2-x)bit和下位xbit舍去,分别舍入为z/2bit。所述存储单元分别存储所述舍去的各bit数的信息。所述乘法器将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果。另外,所述位数调整单元基于所述存储单元中存储的所述比特数的信息将所述乘法结果移位来调整位数。
这样,在第三、第六方面的舍入运算方法或运算装置中,在引入舍入处理中,通过计算单位保持引入舍入的bit数,由此确保运算的输出精度,减少存储容量。
根据第一、第四方面的发明,具有如下(i)~(iii)这样的效果。
(i)由于研究了舍入处理,故能够确保运算结果的精度。
(ii)由于可使用所希望(z/2bit)的乘法器,故例如在可高速执行z/2bit积和运算的信息处理器中,可实现高速化。
(iii)通过调节确保的位字段的bit数,可确保与应用程序一致的精度。
根据第二、第五方面的发明,具有与第一、第四方面的发明的效果(i)、(ii)相同的效果,另外,通过动态地改变确保的bit数,可尽量确保容许bit数的精度,因此,与第一、第四方面相比,可改善乘法器的运算结果精度。
根据第三、第六方面的发明,具有与第一、第四的效果(i)、(ii)相同的效果,另外,由于按每个计算单位一并管理移位信息,故与第二、第五方面的发明相比,可减少存储器容量。
                       附图说明
图1是表示本发明实施例1的运算装置的说明图;
图2是表示将现有的MP3文件译码的处理的流程的图;
图3是表示现有的专利文献1中记载的舍入运算方法的图;
图4是表示图1(2)的(a)、(b)的情况下的舍入运算方法的说明图;
图5是表示含有图1的舍入运算方法的乘法处理的流程图;
图6是将本发明实施例和现有进行运算精度比较的图;
图7是表示本发明实施例2的运算装置的处理内容的图;
图8是表示含有图7的舍入运算方法的乘法处理的流程图;
图9是表示本发明实施例3的运算装置的处理内容的图;
图10是表示含有图9的舍入运算方法的乘法处理的流程图。
                       具体实施方式
在固定小数点运算的舍入运算方法中,判断是否使用由zbit(其中,z≥2)构成的输入数据中的上位nbit(其中,z>n≥2)的特定区域,如不使用上述特定区域,则舍掉上述输入数据中的上述上位nbit和下位(z/2-n)bit,舍入为z/2bit值,若使用上述特定区域,则舍掉上述输入数据中的下位z/2bit,舍入为z/2bit。
实施例1
(实施例1的构成)
图1(1)、(2)是表示本发明实施例1的运算装置的说明图,同图(A)是概略构成图,同图(B)是表示处理内容的图。
该运算装置例如是用于MP3的译码应用程序中的进行固定小数点运算的乘算的装置,其具有输入由多个(K)zbit(例如32bit)构成的输入数据IN1~INK集合的舍入处理单元(例如舍入处理部)10。舍入处理部10具有根据各32bit的输入数据IN1~INK中的上位nbit(固定值)的特定区域A的使用状态,选择确定的位字段C,并舍入为z/2(例如16bit)的功能。
即,舍入处理部10具有如下功能,对各输入数据IN1~INK判定是否使用上位nbit的特定区域A,若未使用特定区域A(图1(2)的(a)的情况),则舍掉该上位nbit的特定区域A和剩下的(32-n)bit的非特定区域B中的下位(z/2-n=16-n)bit,选择确保的位字段C,舍入为16bit值,若使用特定区域A(图1(2)的(b)的情况),则舍入非特定区域B中的下位16bit,选择确保的位字段C,舍入为16bit值。
在这样的舍入处理部10上连接有存储单元(例如存储器)20及z/2bit(例如18bit)的乘法器30,进而在该存储器20及乘法器30上连接有位数调整单元(例如,位数调整部)40。
存储器20具有用于将引入舍入时舍去的各bit数信息(即bit宽度信息)作为移位信息SHIFT保存的多个(K)存储器区域21-1~21-K。18bit的乘法器30是从舍入的多个16bit数据D10-1~D10-K中分别乘上作为乘数的16bit数据和作为被乘数的16bit数据,将各32bit的乘法结果D30向位数调整部40输出的电路。位数调整部40基于保存于各存储器区域21-1~21-K的各移位信息SHIFT分别移位各乘法结果D30,调整位数。
舍入处理部10及位数调整部40由算术逻辑单元(下称“ALU”)或移位器等构成。
(含有实施例1的舍入运算方法的乘法处理)
图4是说明图1(2)的(a)、(b)的情况的舍入运算方法的说明图。图5是表示含有图1的舍入运算方法的乘法处理的流程图。
相对于32bit的输入数据IN1~INK的集合的乘法处理根据图5的流程图如下执行。
开始乘法处理(步骤S20),当将32bit的输入数据IN1~INK的集合输入舍入处理部10(步骤S21)时,在该舍入处理部10中,判定某输入数据(例如IN1、IN2)是否使用上位nbit(例如3bit)的特定区域A(步骤S22),基于该判定结果进行舍入处理(步骤S23-1、S23-2)。
例如图4(a)的情况,若输入数据IN1不使用上位nbit(=3bit)的特定区域A(“000”),则舍去该上位nbit(=3bit)和非特定区域B的下位(16-n)bit(=13bit)(即从MSB插入“0”,只有(16-n)=13bit向右移位),选择确保的位字段C,舍入为16bit值(步骤S23-1)。
与此相对,如图4(b)的情况,若输入数据IN2使用上位nbit(=3bit)的特定区域A(“101”),则舍去非特定区域B的下位16bit(即从MSB插入“0”,只有16bit向右移位),选择确保的位字段C,舍入为16bit值(步骤S23-2)。
图4(a)的舍入处理结果是,将舍去的非特定区域B的下位(16-n)=13bit的移位信息SHIFT存储于存储器区域21-1(步骤S24-1)。或,图4(b)的舍入处理结果是,将舍去的非特定区域B的下位16bit的移位信息SHIFT存储于存储器区域21-2(步骤S24-2)。
对于其它输入数据IN3~INK也同样进行舍入处理。由于存储器区域21-1~21-K分别准备多个输入数据IN1~INK,故对应各输入数据IN1~INK的移位信息SHIFT分别存储于各存储器区域20-1~20-K。
舍入的各16bit数据D10-1~D10-K用乘法器30相乘(步骤S25),将32bit的乘法结果D30送向位数调整部40。在位数调整部40中,基于分别存储于存储器区域21-1~21-k的移位信息SHIFT使乘法结果D30向左移位来调整位数(步骤S26),输出输出数据OUT,结束处理(步骤S27)。
(实施例1的效果)
根据本实施例1,具有如下(1)~(4)这样的效果。
(1)由于研究了舍入处理,故可确保运算结果的精度。
(2)由于可使用16bit乘法器30,故例如在可高速执行16bti积和运算的信息处理器中,能够高速化。
(3)通过调整确保的位字段C的bit数(nbit),可确保与应用程序一致的精确。
(4)图6(1)、(2)是将本发明实施例和目前进行运算精度比较的图,同图(1)是表示比较的模拟结果,同图(2)是表示同图(1)的运算精度的求出方法的图。
如图6(2)损失,在求出运算精度(即舍入误差)时,将多个(例如128个)输入数据IN1~INK输入运算装置,求出运算结果的真值50和舍入的值51的误差52,只要求出该误差52的平均值即可。误差52的平均值可用下记的RMS(时效值VRMS)表示。
数1
V RMS = 1 T · ∫ Δt = T V ( t ) 2 · dt
其中,t:输入数据指标
v(t):误差
T:输入数据数
图6(1)的模拟结果中,将确保了上位16bit时(现有的曲线53)的精度(RMS现有的直线54)和使用了本发明实施例1时(实施例1的曲线55)的精度(RMS实施例的直线56)进行了比较。作为之一例,将128个样本的32bit输入值分别舍入为16bit,表示与32bit输入值的误差。根据该模拟结果,从RMS现有的直线54和RMS实施例的直线56可知,与现有的运算精度相比,本实施例1的运算精度误差小,且精度高。
(实施例2)
图7是表示本发明实施例2的运算装置的处理内容的图,表示实施例1的图1(2)中的要素和共通的要素使用共通的符号。
本实施例2的运算装置由处理内容与实施例1不同的舍入处理单元(例如舍入处理部)10-1、与实施例1相同的存储单元(例如存储器)20、z/2bit(例如18bit)的乘法器30、位数调整单元(例如位数调整部)40构成。
舍入处理部10-1具有根据各32bit输入数据IN1~INK中的上位z/2bit的特定区域A的使用状态将确保的位字段C动态地变化为个别数据,引入舍入为z/2(例如16bit)的功能。即,该舍入处理部10-1具有如下功能,对各输入数据IN1~INK判定上位nbit的特定区域A使用了多少bit,若使用xbit(0≤x≤z/2),则舍去特定区域的上位(z/2-x)bit和非特定区域B的下位xbit,选择确保的位字段C,将其舍入为16bit值。
与实施例1相同,引入舍入时舍去的比特宽度信息作为移位信息SHIFT被保存于存储器20内准备的数据的个数量的存储器区域21-1~21-K,用乘法器30相乘的乘法结果的位数成为通过位数调整部40移位来进行调整而使用的构成。
(含有实施例2的舍入运算方法的乘法处理)
图8是表示含有图7的舍入运算方法的乘法处理的流程图,与表示实施例1的图5中的要素相同的要素使用同一符号。
相对于32bit的输入数据IN1~INK的集合的乘法处理根据图8的流程图如下执行。
开始乘法处理(步骤S20),当将32bit的输入数据IN1~INK的集合输入舍入处理部10(步骤S21)时,在该舍入处理部10-1中,判定某输入数据(例如IN1、IN2)使用上位nbit(例如3bit)的特定区域A的多少bit(xbit)(步骤S32)。若输入数据(例如IN1、IN2)使用特定区域A的xbit(0≤x≤16),则舍去特定区域A的上位(16-x)bit和非特定区域B的下位xbit,选择确保的位字段C,舍入为16bit值(步骤S33)。
例如,在输入数据IN1使用特定区域A中的x(=3)bit时,将该特定区域A的上位(16-x=13)bit和非特定区域B的下位x(=3)bit舍去,舍入为16bit值。或在输入数据IN2使用特定区域A中的x(=5)bit时,将该特定区域A的上位(16-x=11)bit和非特定区域B的下位x(=5)bit舍去,舍入为16bit值。
舍入处理的结果是,将舍去的非特定区域B的下位xbit的移位信息SHIFT存储于存储器区域21-1、21-2(步骤S34)。对于其它输入数据IN3~INK也执行同样的舍入处理。与实施例1相同,由于存储器区域21-1~21-K准备多个输入数据IN1~INK,因此,对应于各输入数据IN1~INK的移位信息SHIFT被分别存储于各存储器区域21-1~21-K。
舍入的各16bit的数据D10-1~D10-K与实施例1相同,用乘法器30相乘(步骤S25),将32bit的乘法结果D30送向位数调整部40。在位数调整部40中,基于分别存储于存储器区域20-1~20-K的移位信息SHIFT使乘法结果D30向左移位,对位数进行调整(步骤S26),结束处理(步骤S27)。
(实施例2的效果)
根据本实施例2,具有与实施例1的效果(1)、(2)相同的效果,而且还具有如下(4)的效果。
(4)通过动态地改变确保的bti数,可确保容许bit数限度的精度,因此,与实施例1相比,可改善乘法器30的运算结果精度。与此相关,根据与图6相同的模拟结果,与实施例1相比,更可提高精度。
(实施例3的构成)
图9是表示本发明实施例3的运算装置的处理内容的图,与表示实施例1的图1(2)中的要素共通的要素使用共通的符号。
本实施例3的运算装置由处理内容与实施例1不同的舍入处理单元(例如舍入处理部)10-2、存储容量实施例1不同的存储单元(例如存储器)20-1、与实施例1相同的z/2bit(例如18bit)的乘法器30、位数调整单元(例如,位数调整部)40构成。
舍入处理部10-2具有根据各zbit(例如32bit)的输入数据IN1~INK中的上位z/2bit(例如16bit)的特定区域A的使用状态将确保的位字段C动态地变化,引入舍入为z/2(例如16bit)的功能。即,该舍入处理部10-2具有如下功能,检测多个输入数据IN1~INK中各上位nbit(例如16bit)的特定区域A使用多少比特,求出使用的比特数的最大值x(其中,0≤x≤z/2),舍去输入数据IN1~INK中的上位(z/2-x)bit和下位xbit,分别舍入为z/2bit。
引入舍入时舍去的比特宽度信息作为移位信息SHIFT被保存于存储器20-1内的存储器区域21-1。移位信息SHIFT对数据的每个计算单位(数据集合)保持,用乘法器30相乘的乘法结果的位数成为通过位数调整部40移位来进行调整而使用的构成。
(含有实施例3的舍入运算方法的乘法处理)
图10是表示含有图9的舍入运算方法的乘法处理的流程图,与表示实施例1的图5中的要素相同的要素使用同一的符号。
相对于32bit的输入数据IN1~INK的集合的乘法处理根据图10的流程图如下执行。
开始乘法处理(步骤S20),当将32bit的输入数据IN1~INK的集合输入舍入处理部10-2(步骤S21)时,在该舍入处理部10-2中,检测数据集合zbit(例如32bit)长度的各输入数据IN1~INK使用上位z/2bit(例如16bit)的特定区域A的多少bit(xbit)(步骤S42)。若使用的bit数的最大值为xbit(0≤x≤16),则舍去各输入数据IN1~INK的上位(16-x)bit和下位xbit,选择确保的位字段C,舍入为16bit值(步骤S43)。
例如,在输入数据IN1使用特定区域A中的x(=4)bit,输入数据IN2使用5bit,输入数据INK使用3bit时,将使用的bit数的最大值x设为5bit。因此,将各输入数据IN1~INK的上位(16-x=11)bit和下位x(=5)bit舍去,舍入为16bit值。
舍入处理的结果是,将在各输入数据IN1~INK中舍去的非特定区域B的下位x(=5)bit的移位信息SHIFT存储于存储器区域21-1(步骤S44)。舍去的bit数(=5)在数据集合的各输入数据IN1~INK中是相同的。因此,存储器区域21-1准备一个,共用于各数据。
舍入的各16bit的数据D10-1~D10-K与实施例1相同,用乘法器30相乘(步骤S25),将32bit的乘法结果D30送向位数调整部40。在位数调整部40中,基于存储于存储器区域20-1的移位信息SHIFT使乘法结果D30向左移位,对位数进行调整(步骤S26),结束处理(步骤S27)。
(实施例3的效果)
根据本实施例3,具有与实施例1的效果(1)、(2)相同的效果,还具有如下(5)的效果。
(5)由于对每个计算单位一并管理移位信息SHIFT,故与实施例2比较,可减少存储器容量。与此相关,根据与图6相同的模拟结果,可确保实施例1和实施例2的中间精度。
(变形例)
本发明不限于实施例1~3,可进行各种利用方式及变形。该利用方式及变形例如如下(I)、(II)。
(I)构成运算装置的舍入处理部10、10-1、10-2、乘法器30、及位数调整部40的bit数是任意的,另外,也可以将这些运算装置变更为图示以外的其它构成。
(II)在实施例1~3中,以MP3的译码进行了举例说明,但本发明在需要为了使用乘法器30的运算的高速化等而舍入数据的各种应用中,可确保精度。

Claims (6)

1.一种舍入运算方法,其特征在于,
判定是否使用了由z比特构成的输入数据中的上位n比特的特定区域,其中,z≥2,z>n≥2;
在所述判定结果中,若未使用所述特定区域,则将所述输入数据中的所述上位n比特和下位z/2-n比特舍去,舍入为z/2比特值;
在所述判定结果中,若使用所述特定区域,则将所述输入数据中的下位z/2比特舍去,舍入为z/2比特。
2.一种舍入运算方法,其特征在于,
判定是否使用了由z比特构成的输入数据中的上位z/2比特的特定区域中的多少比特,其中,z≥2;
在所述输入数据中,若使用上述特定区域的x比特,则将所述输入数据中的上位z/2-x比特和下位x比特舍去,舍入为z/2比特,其中,0≤x≤z/2。
3.一种舍入运算方法,其特征在于,
在分别由z比特构成的多个输入数据中,检测是否使用了所述各输入数据中的上位z/2比特的特定区域的多少比特,求出使用的比特数的最大值x,其中,z≥2,0≤x≤z/2;
将所述各输入数据的上位z/2-x比特和下位x比特舍去,分别舍入为z/2比特。
4.一种运算装置,其特征在于,具有:
舍入处理单元,其分别输入由z比特构成的乘数及被乘数,判定是否分别使用了所述乘数及所述被乘数中的各上位n比特的特定区域,若未使用所述特定区域,则将所述乘数及所述被乘数的所述上位n比特和下位z/2-n比特舍去,并分别舍入为z/2比特值,若使用所述特定区域,则将所述乘数及所述被乘数的下位z/2比特舍去,并分别舍入为z/2比特,其中,z≥2,z>n≥2;
存储单元,其分别存储所述舍去的各比特数的信息;
z/2比特乘法器,其将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果;
位数调整单元,其基于所述存储单元中存储的所述比特数的信息,将所述乘法结果移位来调整位数。
5.一种运算装置,其特征在于,具有:
舍入处理单元,其分别输入由z比特构成的乘数及被乘数,判定是否使用了所述乘数及所述被乘数中的各上位n比特的特定区域的多少比特,若使用所述特定区域的x比特,则将所述乘数及所述被乘数的所述上位z/2-x比特和下位x比特舍去,分别舍入为z/2比特,其中,z≥2,0≤x≤z/2;
存储单元,其分别存储所述舍去的各比特数的信息;
z/2比特乘法器,其将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果;
位数调整单元,其基于所述存储单元中存储的所述比特数的信息,将所述乘法结果移位来调整位数。
6.一种运算装置,其特征在于,具有:
舍入处理单元,其分别输入由z比特构成的乘数及被乘数,检测是否使用了所述多个乘数及被乘数中的各上位z/2比特的特定区域的多少比特,求出使用的比特数的最大值x,将所述乘数及所述被乘数的上位z/2-x比特和下xn比特舍去,分别舍入为z/2比特,其中,z≥2,0≤x≤z/2;
存储单元,其分别存储所述舍去的比特数的信息;
z/2比特乘法器,其将由所述舍入处理单元舍入的所述乘数和所述被乘数相乘,输出乘法结果;
位数调整单元,其基于所述存储单元中存储的所述比特数的信息,将所述乘法结果移位来调整位数。
CN2007100881875A 2006-04-07 2007-03-20 舍入运算方法及其运算装置 Expired - Fee Related CN101051261B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006105931 2006-04-07
JP2006-105931 2006-04-07
JP2006105931A JP4457084B2 (ja) 2006-04-07 2006-04-07 演算装置

Publications (2)

Publication Number Publication Date
CN101051261A true CN101051261A (zh) 2007-10-10
CN101051261B CN101051261B (zh) 2011-04-27

Family

ID=38576820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100881875A Expired - Fee Related CN101051261B (zh) 2006-04-07 2007-03-20 舍入运算方法及其运算装置

Country Status (4)

Country Link
US (1) US7912888B2 (zh)
JP (1) JP4457084B2 (zh)
KR (1) KR20070100637A (zh)
CN (1) CN101051261B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194307A (zh) * 2018-08-01 2019-01-11 南京中感微电子有限公司 数据处理方法及系统
CN109903145A (zh) * 2018-11-20 2019-06-18 阿里巴巴集团控股有限公司 数据核对方法、装置、设备及系统
CN110858070A (zh) * 2018-08-22 2020-03-03 发那科株式会社 控制装置及轴向进给控制方法
CN110858071A (zh) * 2018-08-22 2020-03-03 发那科株式会社 控制装置及轴向进给控制方法
CN110858071B (zh) * 2018-08-22 2024-04-05 发那科株式会社 控制装置及轴向进给控制方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5239387B2 (ja) 2008-02-21 2013-07-17 株式会社Jvcケンウッド データ変換装置、プログラム、及び方法
JP6567213B2 (ja) * 2017-02-22 2019-08-28 三菱電機株式会社 デジタル演算処理回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644522A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Method, apparatus and system for multiply rounding using redundant coded multiply result
US6233672B1 (en) * 1997-03-06 2001-05-15 Advanced Micro Devices, Inc. Piping rounding mode bits with floating point instructions to eliminate serialization
US6223198B1 (en) * 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US6360204B1 (en) * 1998-04-24 2002-03-19 Sarnoff Corporation Method and apparatus for implementing rounding in decoding an audio signal
CN1591824A (zh) * 2003-08-26 2005-03-09 中国科学院微电子中心 40位带舍入功能的快速累加累减器电路实现结构

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194307A (zh) * 2018-08-01 2019-01-11 南京中感微电子有限公司 数据处理方法及系统
CN109194307B (zh) * 2018-08-01 2022-05-27 南京中感微电子有限公司 数据处理方法及系统
CN110858070A (zh) * 2018-08-22 2020-03-03 发那科株式会社 控制装置及轴向进给控制方法
CN110858071A (zh) * 2018-08-22 2020-03-03 发那科株式会社 控制装置及轴向进给控制方法
CN110858071B (zh) * 2018-08-22 2024-04-05 发那科株式会社 控制装置及轴向进给控制方法
CN110858070B (zh) * 2018-08-22 2024-04-05 发那科株式会社 控制装置及轴向进给控制方法
CN109903145A (zh) * 2018-11-20 2019-06-18 阿里巴巴集团控股有限公司 数据核对方法、装置、设备及系统

Also Published As

Publication number Publication date
KR20070100637A (ko) 2007-10-11
CN101051261B (zh) 2011-04-27
JP4457084B2 (ja) 2010-04-28
US7912888B2 (en) 2011-03-22
US20070239817A1 (en) 2007-10-11
JP2007280082A (ja) 2007-10-25

Similar Documents

Publication Publication Date Title
CN1655118A (zh) 处理器和编译器
CN1217483C (zh) N抽头csd滤波器电路
CN1874162A (zh) 数据编码装置、数据编码方法
CN101060312A (zh) 音量变换装置
CN1728114A (zh) 使用页信息的页替换方法
CN101051261A (zh) 舍入运算方法及其运算装置
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器
CN101061473A (zh) 低复杂度非线性滤波器
CN1722029A (zh) 分数除法器系统及方法
CN101043284A (zh) 一种宽带码分多址系统中turbo编码器内的交织器
CN1949221A (zh) 存储元素的方法与系统及查找元素的方法与系统
CN1106081C (zh) 译码电路
CN1825760A (zh) 数据传输控制和采样频率转换器
CN1427967A (zh) 模运算的方法和装置
CN1099071C (zh) 具有比特移位单元的数字滤波器
CN1333950A (zh) 使用循环码的错误控制装置与方法
CN101060326A (zh) 加减计数电路和加减计数方法
CN1679081A (zh) 声音合成器
CN1592117A (zh) 用于计算交织参数的移动电话、设备、方法和程序
CN1809806A (zh) 改进的归约计算
CN1537268A (zh) 信息处理装置及信息处理方法
CN1380750A (zh) 模/数转换器
CN1862961A (zh) 一种有限脉冲响应fir滤波器
CN1178588A (zh) 使用移位装置的求幂电路及其使用方法
CN1898639A (zh) 桶式移位装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110427

Termination date: 20120320