CN101510149B - 一种数据处理方法和装置 - Google Patents

一种数据处理方法和装置 Download PDF

Info

Publication number
CN101510149B
CN101510149B CN2009101061124A CN200910106112A CN101510149B CN 101510149 B CN101510149 B CN 101510149B CN 2009101061124 A CN2009101061124 A CN 2009101061124A CN 200910106112 A CN200910106112 A CN 200910106112A CN 101510149 B CN101510149 B CN 101510149B
Authority
CN
China
Prior art keywords
fixed
point data
data
point
bit
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.)
Expired - Fee Related
Application number
CN2009101061124A
Other languages
English (en)
Other versions
CN101510149A (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.)
Actions Technology Co Ltd
Original Assignee
Actions Semiconductor 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 Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN2009101061124A priority Critical patent/CN101510149B/zh
Publication of CN101510149A publication Critical patent/CN101510149A/zh
Application granted granted Critical
Publication of CN101510149B publication Critical patent/CN101510149B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明适用于计算机领域,提供了一种数据处理方法和装置,所述方法包括下述步骤:对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1;检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据;将标志数据转化为定点数据的指数并输出。在本发明实施例中,通过对定点数据进行预处理,并检测预处理后的定点数据的标志位,根据定点数据的标志位获取定点数据的指数,将定点数据变成浮点数,从而在不需要增加数据位宽,或者加入浮点运算单元的情况下可以得到比纯定点运算精度高的数据。

Description

一种数据处理方法和装置
技术领域
本发明属于计算机领域,尤其涉及一种数据处理方法和装置。
背景技术
计算机中常用的数据表示格式有两种,一种是定点格式(称为定点数据),另一种是浮点格式(称为浮点数据)。一般来说,在数据位宽相同时,浮点格式所能表示的数值范围比定点格式所能表示的数值范围大,但浮点格式要求的处理硬件比定点格式要求的处理硬件复杂。
在纯定点运算中,数据确定在一定范围内,如果超出范围则产生溢出,因此,在纯定点运算中,当数据超出范围时,需要舍弃低位数据,再进行运算,如进行乘法运算时,假设要做一个乘积运算S=A*B,其中A、B、S均为32位数据,假设:
A=1111 1111 0100 0010 0101 0000 0011 1111(有符号数,十进制数为-12431297/2^32);
B=0000 1111 0000 0101 1011 1100 1111 0000(有符号数,十进制数为+252034288/2^32)
则纯定点运算后的结果如下:
temp=1111 1111 1111 1111 0100 1101 1110 0111 0011 0100 0011 0101 01000111 1111 0001 0000(有符号数,十进制数为-3133113088311536/2^64)
由于处理单元的数据位宽为32位,因此需要丢弃该运算结果的低32位,保留该运算结果的高32位,即将保留运算结果的高32位得到的数据S=11111111 1111 1111 0100 1101 1110 0111(有符号数,十进制数为-45953/2^32)继续参与后续的运算,这样32位的数据*32位的数据得到64位的乘积,如果只保留高位(比如32)继续后面的运算,舍弃低位,如果再有几次这样的取舍,则降低了数据精度。
如果要提高数据精度,就需要增加数据位宽,但增加数据位宽将增加硬件的成本。因此如何用有限的硬件代价实现更高精度成为现在需要解决的问题。现有技术提供了一种通过浮点运算来解决上述问题的方法,但浮点运算要求的处理硬件要比定点运算要求的处理硬件复杂,因此,也难以较好的解决该问题。
发明内容
本发明的目的在于提供一种数据处理方法,旨在解决现有的计算机系统需要增加数据位宽或者支持浮点运算才能提高数据精度的问题。
本发明是这样实现的,一种数据处理方法,所述方法包括下述步骤:
(101)对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1,将输入的定点数据的最高位预处理为0时,如果预处理前定点数据的最高位为1,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;将输入的定点数据的最高位预处理为1时,如果预处理前定点数据的最高位为0,则对输入的该定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;
(102)检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据,所述定点数据的标志位为定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位,所述对应的标识数据包括标志位和无效位,所述无效位为定点数据中除标志位以外的所有数据位;
(103)将所述定点数据对应的标志数据转化为定点数据的指数;
(104)根据所述定点数据的指数,将输入的定点数据左移定点数据的指数位,得到移位后的数据;
(105)将所述移位后的数据参与运算,得到中间运算结果;
(106)根据所述定点数据的指数,将所述中间运算结果右移定点数据的指数位,得到最终运算结果。
本发明的另一目的在于提供一种数据处理装置处理装置,所述装置包括:
定点数据预处理单元,用于对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1,将输入的定点数据的最高位预处理为0时,如果预处理前定点数据的最高位为1,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;将输入的定点数据的最高位预处理为1时,如果预处理前定点数据的最高位为0,则对输入的该定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;
标志数据输出单元,用于检测所述定点数据预处理单元预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据,所述定点数据的标志位为定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位,所述对应的标识数据包括标志位和无效位,所述无效位为定点数据中除标志位以外的所有数据位;
指数输出单元,用于将所述定点数据对应的标志数据转化为定点数据的指数;
定点数据处理单元,用于根据所述定点数据的指数对定点数据进行处理,并获得处理结果;
所述定点数据处理单元包括:
定点数据移位单元,用于根据所述定点数据的指数将输入的定点数据左移定点数据的指数位,得到移位后的数据;
移位数据处理单元,用于将所述定点数据移位单元获得的移位后的数据参与运算,得到中间运算结果;
处理结果移位单元,用于根据所述定点数据的指数将所述数据处理单元产生的中间运算结果右移定点数据的指数位,得到最终运算结果。
进一步的,所述标志数据输出单元包括:
一个或者多个级联的标志位确定单元,用于计算定点数据的某个数据位的数据是否与定点数据的最高位的数据相同。
进一步的,所述标志位确定单元包括反相器、NMOS管、PMOS管以及或非门,所述反相器的输入端与当前数据位的数据信号连接,输出端与所述或非门的输入端连接,反相器的输出端还与NMOS管以及PMOS管的栅极连接,所述或非门的另一输入端与高位的控制信号连接,或非门的输出端与当前数据位的标志信号连接,所述NMOS管的源极与高位的控制信号连接,NMOS管的漏极与给低位的控制信号连接,所述PMOS管的源极接电源,漏极与给低位的控制信号连接。
在本发明实施例中,通过对定点数据进行预处理,并检测预处理后的定点数据的标志位,根据定点数据的标志位计算定点数据的数据指数,将定点数据变成浮点数后,对该浮点数进行处理,从而可以得到比纯定点运算精度高的数据。
附图说明
图1是本发明实施例提供的数据处理方法的实现流程图;
图2是本发明实施例提供的数据处理装置的结构框图;
图3是本发明实施例提供的标志位输出单元的数据处理电路连接原理图;
图4是本发明实施例提供的标志位确定单元的硬件电路原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,先对定点数据进行预处理,将定点数据的最高位处理为有效位,再检测定点数据标志位,最后将标志位转化为数据指数,根据数据指数将定点数据转变成浮点数据,通过对浮点数据进行处理,从而可以得到比纯定点运算精度高的数据。
图1示出了本发明实施例提供的数据处理方法的实现流程,详述如下:
在步骤S101中,对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1。
在本发明实施例中,对输入的定点数据进行预处理时,可以将输入的定点数据的最高位预处理为0或者1,如假设输入的定点数据为Input[31:0],则对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0的过程如下:
Output=Input[31:]?~Input[31:0]:Input[31:0];//当输入的定点数据的最高位为1时,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将输入的定点数据作为预处理后的定点数据。
对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为1的过程如下:
Output=Input[31:]?Inpu[31:0]:~Input[31:0];//当输入的定点数据的最高位为1时,则直接将输入的定点数据作为预处理后的定点数据,否则对输入的定点数据取反,作为预处理后的定点数据。
在步骤S102中,检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。其中定点数据的标志位是指定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位。
在本发明实施例中,定点数据的标志位是指定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位,定点数据的无效位是指定点数据中除标志位以外的所有数据位。
如当预处理后的定点数据从高位到低位的顺序如下:
1111 1111 0100 0010 0101 0000 0011 1111
则上述预处理后的定点数据中,最高位为第31位,其值为1,按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位为第23位,其值为0,即上述预处理后的定点数据的标志位为第23位,定点数据的无效位是除第23位以外的所有数据位。
在检测到定点数据的标志位后,在根据检测到的定点数据的标志位输出定点数据对应的标志数据时,当预处理后的定点数据的最高位的数据为0时,则定点数据的标志位的输出为1,定点数据的无效位的输出为0;当预处理后的定点数据的最高位的数据为1时,定点数据的标志位的输出为0,定点数据的无效位的输出为1,从而得到定点数据对应的标志数据。
在本发明实施例中,当定点数据中每个数据位上的数据均与定点数据的最高位相同,即当定点数据的最高位为0时,定点数据的其余各个数据位上的数据均为0,或者当定点数据的最高位为1时,定点数据的其余各个数据位上的数据均为1,可以输出特殊的标志位,也可以直接将该定点数据作为全为无效位来处理。
在本发明实施例中,可以采用并行方式或者串行方式来检测并输出定点数据的标志位。以下以verilog编程语言详细说明采用并行方式和串行方式来检测并输出定点数据的标志位的具体过程,假设在步骤S101中,将输入的定点数据预处理成最高位为0的定点数据时,则采用并行方式来检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据的具体过程如下:
Always@(data1)
Begin
Wire{31:0}ex_out;
Casex(data1)
//下面是预处理后的定点数据到标志数据的并行处理过程
01xx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx:
data1=32’b0100_0000_0000_0000_0000_0000_0000_0000;//数据
01xx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx对应的标志数据为32’b0100_0000_0000_0000_0000_0000_0000_00000
001x_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx:
   data1=32’b0010_0000_0000_0000_0000_0000_0000_0000;
0001_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx:
   data1=32’b0001_0000_0000_0000_0000_0000_0000_0000;
0000_1xxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx:
   data1=32’b0000_1000_0000_0000_0000_0000_0000_0000;
Default:data1=32’b1000_0000_0000_0000_0000_0000_0000_0000;
Endcase
End
通过上述过程即可检测到预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。
采用串行方式来检测并输出定点数据的标志位的具体过程如下:
Always@(data1)
Begin
Wire{31:0}ex_out;
//下面是预处理后的定点数据到标志位数据的串行处理过程
     If(data1[30])
         Ex_out=32’b0100_0000_0000_0000_0000_0000_0000_0000;
     Else if(data1[29])
         Ex_out=32’b0010_0000_0000_0000_0000_0000_0000_0000;
     Else if(data1[0])
          Ex_out=32’b0010_0000_0000_0000_0000_0000_0000_0001;
     Else
          Ex_out=32’b1000_0000_0000_0000_0000_0000_0000_0000;
     End
通过上述过程即可检测到预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。
在步骤S103中,将定点数据对应的标志数据转化为定点数据的指数。
在本发明实施例中,定点数据的指数是指该定点数据的多余的符号位的位数,即定点数据的最高位之后与定点数据的最高位连续的相同的数据位数。由于定点数据的标志位之前的所有数据位的数据均与定点数据的最高位的数据相同,因此,根据标志数据中标志位的位置即可得到该定点数据的指数。如当标志位为第30位时,则定点数据的最高位之后与定点数据的最高位连续的相同的数据位数为0;当标志位为第29位时,则定点数据的最高位之后与定点数据的最高位连续的相同的数据位数为1;依此类推,根据定点数据的标志位,即可得到定点数据的最高位之后与定点数据的最高位连续的相同的数据位数。
以下以verilog编程语言详细说明将定点数据的标志位转化为数据指数并输出的具体过程:
Always@(ex_out)
Begin
Wire[4:0]expo_out;
Case[1]
    Ex_out[31]:expo_out=5’b1_1111;
    //此段程序完成标志数据到定点数据的指数的运算
    Ex_out[30]:expo_out=5’b0_0000;
    Ex_out[29]:expo_out=5’b0_0001;
    Ex_out[28]:expo_out=5’b0_0010;
    Ex_out[0]:expo_out=5’b1_1110;
Default:expo_out=5’b0_0000;
Endcase
End
在步骤S104中,根据定点数据的指数对定点数据进行处理,并获得处理结果。其具体步骤如下:
根据定点数据的指数,将输入的定点数据左移定点数据的指数位,得到移位后的数据;
根据移位后的数据进行处理,得到中间处理结果;
根据定点数据的指数,将中间处理结果右移定点数据的指数位,得到最终处理结果。
如当定点数据的最高位之后与定点数据的最高位连续的相同的数据位数为N,即由标志数据转换得到的定点数据的指数为N时,通过将该定点数据左移N位,即可将该定点数据转换为浮点数,通过对移位后的数据进行处理,得到中间处理结果,最后将处理结果右移N位,即可在处理单元不支持浮点处理时,也可以实现数据处理的需求,同时可以得到比纯定点处理精度高的数据。
在本发明实施例中,在确定定点数据的指数时,该定点数据的数据位宽没有限制,即该定点数据的数据位宽可以是16位、32位等。且标志数据的数据位宽、定点数据的指数的数据位宽均没有限制。
以下以一个具体的示例对本发明实施例提供的数据处理方法进行进一步详细的说明。假设输入的定点数据为data1,其中:
data1=32’b1111 1111 0100 0010 0101 0000 0011 1111。
首先对定点数据进行预处理,将定点数据的最高位预处理为0。由于定点数据的最高位为1,将定点数据的最高位预处理为0时,将定点数据的所有数据位均反向,即可得到预处理后的定点数据为:
data1=32’b0000 0000 1011 1101 1010 1111 1100 0000
检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。经比较,发现定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位是定点数据的第23位,由于经预处理后的定点数据的最高位为0,因此定点数据的标志位为1,无效位为0,得到定点数据的标志位ex_out如下:
ex_out=32’b0000 0000 1000 0000 0000 0000 0000 0000
最后将定点数据的标志位转化为定点数据的指数Expo_out如下:
Expo_out=5’b0 0111;其十进制数为7。
图2示出了本发明实施例提供的数据处理装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该数据处理装置可以是内置于计算机中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到计算机或者计算机应用系统中。其中:
定点数据预处理单元21对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1。其中将输入的定点数据的最高位预处理为0的过程如下:
当输入的定点数据的最高位为1时,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将输入的定点数据作为预处理后的定点数据。
将输入的定点数据的最高位预处理为1的过程如下:
当输入的定点数据的最高位为1时,则直接将输入的定点数据作为预处理后的定点数据,否则对输入的定点数据取反,作为预处理后的定点数据。
标志数据输出单元22检测定点数据预处理单元21预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。该标志数据输出单元22可以采用并行或者串行的方式检测定点数据预处理单元21预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。其具体步骤如上所述,在此不再赘述。
在检测到定点数据的标志位后,在根据检测到的定点数据的标志位输出定点数据对应的标志数据时,当预处理后的定点数据的最高位的数据为0时,则定点数据的标志位的输出为1,定点数据的无效位的输出为0;当预处理后的定点数据的最高位的数据为1时,定点数据的标志位的输出为0,定点数据的无效位的输出为1,从而得到定点数据对应的标志数据。
在本发明实施例中,当定点数据中每个数据位上的数据均与定点数据的最高位相同,即当定点数据的最高位为0时,定点数据的其余各个数据位上的数据均为0,或者当定点数据的最高位为1时,定点数据的其余各个数据位上的数据均为1,可以输出特殊的标志位,也可以直接将该定点数据作为全为无效位来处理。
指数输出单元23将标志数据输出单元22输出的标志数据转化为定点数据的指数。
为了利用指数输出单元23输出的定点数据的指数,对定点数据进行处理,以得到比纯定点处理精度高的数据,,该数据处理装置还包括定点数据处理单元24。该定点数据处理单元24根据指数输出单元23输出的定点数据的指数对定点数据进行处理,并获得处理结果。该定点数据处理单元包括定点数据移位单元241、移位数据处理单元242和处理结果移位单元243。其中:
定点数据移位单元241根据指数输出单元23输出的定点数据的指数,将输入的定点数据左移指数输出单元23输出的定点数据的指数位。移位数据处理单元242对定点数据移位单元241获得的移位后的数据进行处理,得到中间处理结果。定点数据移位单元241在通过处理结果移位单元243将之间处理结果右移指数输出单元23输出的定点数据的指数位,即可得到最终的处理结果。即可在处理单元不支持浮点处理时,也可以实现数据处理需求,同时可以得到比纯定点处理精度高的数据。
图3示出了本发明实施例提供最高位数据为0,高位未出现1时高位的控制信号为0时的标志数据输出单元22的硬件电路原理,详述如下:
该标志位输出电路包括一个或者多个级联的标志位确定单元,该标志位确定单元用于确定定点数据的某个数据位的数据是否与定点数据的最高位的数据相同。请参阅图4,是本发明实施例提供的标志位确定单元的具体电路结构,该标志位确定单元包括两个输入信号和两个输出信号,两个输入信号分别为当前数据位的数据信号Din和高位的控制信号Cin,两个输出信号分别为给低位的控制信号Cout和当前数据位的标志信号Flag。
其中标志位确定单元包括反相器、NMOS管、PMOS管以及或非门。其中反相器的输入端与当前数据位的数据信号Din连接,输出端与或非门的输入端连接,同时反相器的输出端与NMOS管以及PMOS管的栅极连接。或非门的另一输入端与高位的控制信号Cin连接,或非门的输出端与当前数据位的标志信号Flag连接。NMOS管的源极与高位的控制信号Cin连接,NMOS管的漏极与给低位的控制信号Cout连接。PMOS管的源极接电源,漏极与给低位的控制信号Cout连接。
上述标志位确定单元的工作原理如下:当前数据位的数据信号Din经反相器反向后,得到!Din,该!Din作为或非门的其中一个输入端,或非门的另一输入端为高位的控制信号Cin,!Din和Cin经或非门后,得到当前数据位的标志信号Flag如下:Flag=!(!Din|Cin),简化后得到Flag=Din&(!Cin)。
当前数据位的数据信号Din经反相器反向后,得到!Din,该!Din择一选通PMOS管和NMOS管,当选通PMOS管时,给低位的控制信号Cout为高电平,当选通NMOS管时,给低位的控制信号Cout即为高位的控制信号Cin,因此,Cout=Din|Cin。
在本发明实施例中,通过对定点数据进行预处理,并检测预处理后的定点数据的标志位,根据定点数据的标志位计算定点数据的数据指数,从而可以将定点数据变成浮点数,通过根据该定点数据对应的指数,对浮点数进行处理,从而可以得到比纯定点处理精度高的数据。同时通过一个或者多个级联的标志位确定单元,确定定点数据的所有位的标志信息,实现了结构化设计,减少了电路出错的概率,同时在做版图设计时,可以将标志位确定单元作为单元电路处理,减少了工作量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种数据处理方法,其特征在于,所述方法包括下述步骤:
(101)对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1,将输入的定点数据的最高位预处理为0时,如果预处理前定点数据的最高位为1,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;将输入的定点数据的最高位预处理为1时,如果预处理前定点数据的最高位为0,则对输入的该定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;
(102)检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据,所述定点数据的标志位为定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位,所述对应的标识数据包括标志位和无效位,所述无效位为定点数据中除标志位以外的所有数据位;
(103)将所述定点数据对应的标志数据转化为定点数据的指数;
(104)根据所述定点数据的指数,将输入的定点数据左移定点数据的指数位,得到移位后的数据;
(105)将所述移位后的数据参与运算,得到中间运算结果;
(106)根据所述定点数据的指数,将所述中间运算结果右移定点数据的指数位,得到最终运算结果。
2.如权利要求1所述的方法,其特征在于,所述步骤(102)包括:
采用并行方式或者串行方式检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。
3.一种数据处理装置,其特征在于,所述装置包括:
定点数据预处理单元,用于对输入的定点数据进行预处理,将输入的定点数据的最高位预处理为0或者1,将输入的定点数据的最高位预处理为0时,如果预处理前定点数据的最高位为1,则对输入的定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;将输入的定点数据的最高位预处理为1时,如果预处理前定点数据的最高位为0,则对输入的该定点数据取反,作为预处理后的定点数据,否则直接将预处理前的定点数据作为预处理后的定点数据;
标志数据输出单元,用于检测所述定点数据预处理单元预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据,所述定点数据的标志位为定点数据中按照从高位到低位的顺序第一个与定点数据的最高位不同的数据位,所述对应的标识数据包括标志位和无效位,所述无效位为定点数据中除标志位以外的所有数据位;
指数输出单元,用于将所述定点数据对应的标志数据转化为定点数据的指数;
定点数据处理单元,用于根据所述定点数据的指数对定点数据进行处理,并获得处理结果;
所述定点数据处理单元包括:
定点数据移位单元,用于根据所述定点数据的指数将输入的定点数据左移定点数据的指数位,得到移位后的数据;
移位数据处理单元,用于将所述定点数据移位单元获得的移位后的数据参与运算,得到中间运算结果;
处理结果移位单元,用于根据所述定点数据的指数将所述数据处理单元产生的中间运算结果右移定点数据的指数位,得到最终运算结果。
4.如权利要求3所述的装置,其特征在于,所述标志数据输出单元采用并行方式或者串行方式检测预处理后的定点数据的标志位,并根据检测到的定点数据的标志位输出定点数据对应的标志数据。
5.如权利要求3所述的装置,其特征在于,所述标志数据输出单元包括:
一个或者多个级联的标志位确定单元,用于计算定点数据的某个数据位的数据是否与定点数据的最高位的数据相同。
6.如权利要求5所述的装置,其特征在于,所述标志位确定单元包括反相器、NMOS管、PMOS管以及或非门,所述反相器的输入端与当前数据位的数据信号连接,输出端与所述或非门的输入端连接,反相器的输出端还与NMOS管以及PMOS管的栅极连接,所述或非门的另一输入端与高位的控制信号连接,或非门的输出端为当前数据位的标志位输出信号,所述NMOS管的源极与高位的控制信号连接,NMOS管的漏极与给低位的控制信号连接,所述PMOS管的源极接电源,漏极与给低位的控制信号连接。
CN2009101061124A 2009-03-16 2009-03-16 一种数据处理方法和装置 Expired - Fee Related CN101510149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101061124A CN101510149B (zh) 2009-03-16 2009-03-16 一种数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101061124A CN101510149B (zh) 2009-03-16 2009-03-16 一种数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN101510149A CN101510149A (zh) 2009-08-19
CN101510149B true CN101510149B (zh) 2011-05-04

Family

ID=41002554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101061124A Expired - Fee Related CN101510149B (zh) 2009-03-16 2009-03-16 一种数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN101510149B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2596422A4 (en) * 2010-07-01 2016-04-27 Ericsson Telefon Ab L M CIRCULAR FLOATING VIRGIN NUMBER GENERATOR AND CIRCULAR FLOATING VIRGIN NUMBER ADDITIONER
CN104166535B (zh) * 2013-07-19 2017-07-28 郑州宇通客车股份有限公司 定点处理器及其防溢方法
CN109934331B (zh) * 2016-04-29 2020-06-19 中科寒武纪科技股份有限公司 用于执行人工神经网络正向运算的装置和方法
CN110163360B (zh) * 2018-02-13 2021-06-25 上海寒武纪信息科技有限公司 一种计算装置及方法
CN109558110B (zh) * 2018-11-30 2021-06-01 上海寒武纪信息科技有限公司 数据转换装置及相关产品
CN113296735A (zh) * 2020-11-03 2021-08-24 阿里巴巴集团控股有限公司 一种浮点数处理方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570847A (zh) * 2003-07-23 2005-01-26 联发科技股份有限公司 应用跳跃式浮点数运算法的数字讯号处理器
CN1658153A (zh) * 2004-02-18 2005-08-24 联发科技股份有限公司 复合式动态定点数表示法与运算法及其处理器结构

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570847A (zh) * 2003-07-23 2005-01-26 联发科技股份有限公司 应用跳跃式浮点数运算法的数字讯号处理器
CN1658153A (zh) * 2004-02-18 2005-08-24 联发科技股份有限公司 复合式动态定点数表示法与运算法及其处理器结构

Also Published As

Publication number Publication date
CN101510149A (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
CN101510149B (zh) 一种数据处理方法和装置
CN106293610B (zh) 微处理器及其方法
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
EP3519938A1 (en) Low energy consumption mantissa multiplication for floating point multiply-add operations
TWI774093B (zh) 用於轉換資料類型的轉換器、晶片、電子設備及其方法
CN103914276A (zh) 利用浮点架构的定点除法电路
US6463453B1 (en) Low power pipelined multiply/accumulator with modified booth's recoder
WO2021078209A1 (zh) 用于转换数据类型的转换器、芯片、电子设备及其方法
CN104156195A (zh) 扩展双精度的80位浮点处理单元在处理器中的集成系统及方法
CN103135960A (zh) 一种基于fpga的集成浮点运算器的设计方法
CN101986259A (zh) 无符号定点除法及无符号定点除法器
CN104778026A (zh) 一种带simd的高速数据格式转换部件及转换方法
CN100389399C (zh) 一种芯片验证的方法及系统
CN102567254B (zh) 采用dma控制器进行数据归一化处理的方法
CN100367191C (zh) 一种快速流水线型除法器
Lyu et al. PWL-based architecture for the logarithmic computation of floating-point numbers
CN1194301C (zh) 用于计算机算术运算的部分匹配部分输出高速缓冲存储器
CN104823153B (zh) 用于执行指令的处理器、归一化加法运算的方法、通信设备、机器可读介质、用于处理指令的设备和设备
US10157165B2 (en) Methods and devices for reducing array size and complexity in automata processors
CN102253822A (zh) 一种模(2n-3)乘法器
CN102073473A (zh) 基于fpga的十进制浮点乘法器设计
CN106547514B (zh) 一种基于时钟拉伸技术的高能效二进制加法器
CN104049940A (zh) 用于减少短整数乘法数量的系统、装置和方法
CN111078190B (zh) 一种小型plc的单精度浮点数算术运算控制系统及方法
CN104572018A (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
ASS Succession or assignment of patent right

Owner name: JUXIN(ZHUHAI) TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: JULI INTEGRATED CIRCUIT DESIGN CO., LTD.

Effective date: 20141215

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141215

Address after: 519085, C, No. 1, No. four, 1 hi tech Zone, Tang Wan Town, Guangdong, Zhuhai

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

Address before: 519085 No. 1, unit 15, building 1, 1 Da Ha Road, Tang Wan Town, Guangdong, Zhuhai

Patentee before: ACTIONS SEMICONDUCTOR Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee after: ACTIONS TECHNOLOGY Co.,Ltd.

Address before: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110504

CF01 Termination of patent right due to non-payment of annual fee