CN1296813C - 浮点存储方法及浮点运算装置 - Google Patents
浮点存储方法及浮点运算装置 Download PDFInfo
- Publication number
- CN1296813C CN1296813C CNB031486193A CN03148619A CN1296813C CN 1296813 C CN1296813 C CN 1296813C CN B031486193 A CNB031486193 A CN B031486193A CN 03148619 A CN03148619 A CN 03148619A CN 1296813 C CN1296813 C CN 1296813C
- Authority
- CN
- China
- Prior art keywords
- mentioned
- floating
- point
- value
- register
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3824—Accepting both fixed-point and floating-point numbers
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
本发明提供采用定点处理机可简单地处理浮点数值的浮点数值的存储方法等,在将实数x表示为a*(2n)时的a作为尾数部分并以n作为指数部分时,用定点数值将尾数部分存储到N位(N≥(U+L))的位字段上位侧的U位,用整数将指数部分存储到下位侧的L位。在对这种格式的2个实数进行乘法运算的场合下,以两个实数作为定点数值进行乘法运算,并只以所得到的结果的上位有效位作为尾数部分,另一方面,以两个实数作为整数进行加法运算,并只以所得到的结果的下位有效位作为指数部分,这样就能够用浮点格式得到乘法运算结果。
Description
背景技术
本发明涉及采用定点处理机可简易处理浮点数值的浮点数值存储方法和上述浮点数值运算装置。
技术领域
作为以往的浮点数值(浮点格式的数值)的存储格式的代表例子,有IEEE754标准的32位浮点格式。C语言中用float型所说明的变量就是以该格式为依据的。
图1表示的是IEEE754标准的32位浮点格式的位字段。本图中,最高有效位的1位是符号位存储字段,并且0表示正数,1表示负数。
接在符号位后的8位是被称为指数部分存储字段(field)71的区域。接在指数部分后的23位是被称为尾数(仮数)部分存储字段72的区域。在此,将指数部分作为8位整数时的值设为e,将尾数部分23位作为在该23位的最高位上有小数点的定点数值(定点格式的数值)时的值设为k,则用该浮点格式所表示的实数值x就成为
x=(2^(e-127))*(1·k)
式中,(1·k)表示式表示在23位数据k的最高有效位上有小数点,并且小数点之上的1位通常是1。例如,23位数据k是
k=10000000000000000000000时,表示
(1·k)=B′1.10000000000000000000000=1+0.5=1.5。如果再表示一个例子,就是
k=11100000000000000000000时,表示
(1·k)=B′1.11100000000000000000000=1+0.5+0.25+0.125=1.875。也就是,尾数部分是表示大于1而小于2的值的字段。
由于以上的原因,在IEEE754标准的32位浮点的位结构例如是
0 10000000 11100000000000000000000
时,该位结构所表示的实数值x为
x=(2^(128-127))*1.875=3.75。另外,是
0 01111110 10000000000000000000000
时,该位结构所表示的实数值x为
x=(2^(126-127))*1.5=0.75。
这样一来,在IEEE754标准的32位浮点格式中,为表示实数x而将作为x=a*2^n时的尾数部分a及指数部分n进行如上的变换并予以存储。由此,使在-2^129~2^129的较宽范围内的实数表示成为可能。
另一方面,作为不需要进行那种复杂变换的数值格式,有定点数值。该定点数值如图2所示,是不具有如上的指数部分存储字段的数值格式,并且通常情况下最高有效位是符号信息,是小数点固定于下面所指定的位位置上的数值。例如,如图2(a)所示,在小数点的位置处于紧靠符号位之后的位置上时,数值所能够取的范围被限定为-1~+1。例如,在
0 1000000000000000000000000000000
的场合下,最高有效位为0,因而是正数,并且小数点下面的第1位是1,因而表示0.5。另外,例如在
0 1100000000000000000000000000000
的场合下,最高有效位为0,因而是正数,并且小数点下面的第1位及第2位都是1,因而表示0.5+0.25,也就是说表示0.75。通常情况下,正负数值多数会用2个补数来表示,那种场合下,例如
1 0000000000000000000000000000000
表示-1。
1 1100000000000000000000000000000
表示-0.25
另外,在-1~+1的限制中处理难以处理的数字的场合下,如图2(b)所示,例如有时也会将小数点的位置固定于最高有效位的2位之后的位置上。那种场合下,数值所能够取的范围会变为-2~+2。
例如,在
01 010000000000000000000000000000
的场合下,最高有效位为0,因而是正数,并且在小数点的上位上有1,小数点下面的第2位为1,因而表示1.25。
如上所述,在以往对于浮点数值正如由IEEE754所表示的那样,采用这种格式来表示,该格式从上位位置按照符号位、指数部分、尾数部分的顺序存储位,另一方面,对于定点数值采用这种格式来表示,该格式从上位位置按照符号位、数值的顺序存储位。
但是,采用如上的浮点数值的存储格式,例如在只打算取出指数部分的值的情况下,有必要实行从原来的32位数据将最高有效位的1位和下位侧的23位拆开这样的处理,并且会产生需要很大的处理量之类的问题。
另一方面,在只打算取出尾数部分的值的情况下,在从原来的32位数据之中只取出下位侧的23位之后,有必要实施上面所示的(1·k)处理,并且这种场合下仍然会产生需要很大的处理量之类的问题。
另外,采用如上的浮点格式对所存储的实数x和y实行乘法运算的场合下,假设x=a*2^n、y=b*2^m,由于
x*y=(a*2^n)*(b*2^m)=a*b*2^(n+m),
所以有必要实行x、y各自的位字段的尾数部分之间的乘法运算及指数部分之间的加法运算,但在每次进行乘法运算时有必要从各自的位字段分别分出尾数部分和指数部分,并且会产生需要很大的处理量之类的问题。
另一方面,采用如上的定点数值的存储格式,因为进行运算时不需要将指数部分和尾数部分拆开的这种处理,所以同浮点格式相比处理量较少,但会产生限制可表示的值的范围这样的问题。
发明内容
因此,本发明是鉴于以往这种问题而作出的,其目的是提供浮点存储方法及浮点运算装置,该方法及装置可以同时实现使因采用浮点格式而产生的可表示的数值范围的加宽及因采用定点格式而产生的运算速度的高速化。
为达到上述目的,本发明的浮点存储方法,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,将上述a、n存储到N位的位字段中,其特征为:
在U及L是满足N≥(U+L)的整数的场合下,
用定点数值将尾数部分存储到上述位字段上位侧的U位,用整数将指数部分存储到上述位字段下位侧的L位。
根据这种存储方法,由于尾数部分集中于上位侧的位字段,指数部分集中于下位侧的位字段,因而打算取出尾数部分时只要分出全部位字段上位侧的字段就可以很容易地将其取出,打算取出指数部分时只要分出全部位字段下位侧的字段就可以很容易地将其取出。另外,取出尾数部分时即使省略拆开下位侧字段的处理,也就是即使在不进行分开处理的情况下一并取出全部位并就这样将其值视为尾数部分的值,也会因为由此而产生的数值数据的误差至多不超过2^(-24),所以实质上其误差几乎可以忽视,并且在取出尾数部分的值时实质上不需要位字段的分出处理。
在此,在上述浮点存储方法中上述N、L也可以设为8的倍数。通过设定为这样的大小,例如指数部分存储字段是全部位字段下位侧的8位的场合下,在将那样的数值数据存储到存储器中时,通过以字节单位对存储有全部位字段的下位8位的区域进行存取,就可以自动取出指数部分并且能够非常快速地取出指数部分。
本发明的浮点运算装置,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,用浮点数值输出对2个实数进行乘法运算所得到的值,
其特征为:具备
第1及第2寄存器,存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段,并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;
对上述第1寄存器的值和上述第2寄存器的值进行加法运算的加法器;
使上述乘法器输出的上位侧U位和上述加法器输出的下位侧L位进行耦合的耦合器。
根据这种运算装置,在浮点数值的乘法运算中,可以按原样对输入数据的全部位字段进行尾数部分的乘法运算和指数部分的加法运算,并且只是使上述乘法器输出的上位侧的位和上述加法器输出的下位侧的位进行位耦合,就可以将乘法运算的结果格式化为浮点格式,因而可以进行非常快速的浮点数值的乘法运算。
本发明的浮点运算装置,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,用定点数值输出对2个实数进行乘法运算所得到的值,
其特征为:具备
第1及第2寄存器,存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;
对上述第1寄存器的值和上述第2寄存器的值进行加法运算的加法器;
根据上述加法器输出的下位侧L位的值来使上述乘法器输出的上位侧位的值产生位移的移位器。
根据这种运算装置,在浮点数值的乘法运算中,能够按原样对输入数据的全部位字段进行尾数部分的乘法运算和指数部分的加法运算,并且只是以加法器输出的下位侧的值为依据使乘法器的输出产生位移,就可以将乘法运算的结果格式化为定点格式。
本发明的浮点运算装置,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,将实数变换为整数,其特征为:具备寄存器,存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段、下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
根据上述寄存器的下位侧L位所表示的值来使上述寄存器中所存储的值产生位移的移位器。
根据这种运算装置,可以只用减法器和移位器使任意的浮点数值变换为整数,并且可以使用极小的电路规模来实现将实数变换为整数的变换器。
在此,上述减法器在将预先确定好的数目设为X时进一步实行(N-S-x-X)的计算,并且上述移位器也能够只以上述减法器的输出值所表示的位数使上述寄存器中所存储的值产生位移。
根据这种运算装置,可以只用减法器和移位器对任意浮点数值得到使其小数点以下的X位进行有效化后的数值,并且可以使用极小的电路规模来实现将实数变换为使其小数点以下的位进行有效化后的数值的变换器。
再者,本发明不只是浮点格式的数值之间的乘法运算,而既可以作为使定点格式的数值和浮点格式的数值进行乘法运算的运算装置来实现,又可以作为一种运算方法来实现,这种运算方法以那些运算装置所具备的手段作为步骤。还有,本发明不只是可以作为微处理机和DSP(Digital Signal Processor)等硬件来实现,也可以作为使那种运算方法在计算机中实行的程序来实现。而且,当然可以通过CD-ROM等记录媒体和因特网等传输媒体使那种程序得以流通。
如上所述,通过本发明只是对以往的浮点格式进行变更,不需要设置特殊的电路等就可以只采用定点用运算器来进行浮点数值的乘法运算,同时能够谋求乘法运算的高速化,并且可以进一步通过简单的电路实现浮点数值的整数化,特别是作为使较多使用乘法运算处理的声音处理和图象处理等的多媒体数据处理实现高速化的技术,其实用价值非常高。
附图说明
图1是表示IEEE754的32位浮点格式的位字段的附图。
图2(a)是表示定点数值的格式的附图,图2(b)是表示定点数值其他示例的格式的附图。
图3是表示本发明的实施方式1中浮点数值数据的存储格式的一个示例的附图。
图4是表示浮点数值数据的存储格式的其他示例的附图。
图5是表示将图3所示的浮点数值数据存储到存储器中时位字段配置的附图。
图6是表示本发明的实施方式2中浮点运算装置结构的框图。
图7是表示同一浮点运算装置中位耦合器动作的附图。
图8是表示浮点运算装置其他示例的结构的框图。
图9是表示对定点数值和浮点数值进行乘法运算的浮点运算装置结构的框图。
图10是表示同一浮点运算装置中位耦合器动作的附图。
图11是表示对定点数值和浮点数值进行乘法运算的浮点运算装置其他示例的结构的框图。
图12是表示本发明的实施方式3中浮点运算装置结构的框图。
图13是说明给图12所示的减法器输入的C值的附图。
具体实施方式
(实施方式1)
下面,对于本发明的实施方式1的浮点存储方法,参照附图的同时予以说明。
图3表示的是在本实施方式l的浮点存储方法中存储实数x时的位字段(bit field)。该位字段的构成包括指数部分存储字段11及尾数部分存储字段12。
指数部分存储字段11用8位的整数存储以a*2^n表示出实数x时的n值。该值例如可以用2的补数来表示。尾数部分存储字段12用24位存储以a*2^n表示出实数x时的a值。该值可以用小数点位置已固定的定点数值来表示。在本实施方式中,a的值已规格化为-1~+1范围。因此,24位的位结构是,该24位的最高有效位为符号信息,并且为在紧靠其下的位置上为使小数点固定的有2的补数的定点数值。也就是说,是这样的数值表示法,这就是最高有效位(符号位)的下1位是表示0.5(2^(-1))的位,以下是表示0.25(2^(-2))、0.125(2^(-3))的位。
下面,对于这种具有位字段的浮点存储方法的具体示例予以说明。
首先,例如对于通过本实施示例的浮点存储方法来存储实数x=29.25的情形,予以说明。
将实数x表示为a*2^n时,由于是
29.25=0.9140625*2^5,
所以a=0.9140625、n=5。因而,在图3的指数部分存储字段11中存储5(=b′00000101)。在尾数部分存储字段12中存储通过2的补数的定点数值来表示出0.9140625的值(b′011101010000000000000000)。
因此,表示实数29.25的整体位结构为
b′011101010000000000000000 00000101。
其次,对于通过本实施示例的浮点存储方法来存储实数x=0.009033203125的情形,予以说明。
将实数x表示为a*2^n时,由于是
0.009033203125=0.578125*2^(-6),
所以a=0.578125、n=-6。因而,在图3的指数部分存储字段11中存储-6(=b′11111010)。
在尾数部分存储字段12中存储通过有2的补数的定点数值来表示出0.578125的值(b′010010100000000000000000)。
因此,表示实数0.009033203125的整体位结构为
b′010010100000000000000000 11111010。
再次,对于通过本实施示例的浮点存储方法来存储实数x=-4.0010986328125的情形,予以说明。
将实数x表示为a*2^n时,由于是
-4.0010986328125=-0.5001373291015625*2^3,
所以a=-0.5001373291015625、n=3。因而,在图3的指数部分存储字段11中存储3(=b′00000011)。在尾数部分存储字段12中存储通过2的补数的定点数值来表示出-0.5001373291015625的值。
在此,对负的定点数值的2的补数予以说明。
如果通过2的补数来表示上述-0.5001373291015625的绝对值,就是
b′010000000000010010000000。通过2的补数表示负值的场合下,通过使全部位反转并在最低位上加1这样的处理来求出。因而,-0.5001373291015625的2的补数表示法为
b′101111111111101100000000。因此,表示实数-0.5001373291015625的整体位结构为
b′101111111111101100000000 00000011。
再者,在上面的具体示例中,将指数部分存储字段11设为8位,将尾数部分存储字段12设为24位,但本发明并不限于这种位分配,也可以根据值所能够取的范围进行变更。例如,将指数部分存储字段设为6位并将尾数部分存储字段设为26位的场合下,值的准确度(尾数部分的表示位置数)会提高2位左右,但值所能够取的范围却减小2位左右。
而且,本实施方式中,在尾数部分存储字段12中存储的值,存储的是规格化为-1~+1的范围的值,但是例如也可以规格化为-2~+2的范围。
图4表示,将指数部分存储字段31设为6位,将尾数部分存储字段32设为26位,以及将尾数部分的值规格化为-2~+2的范围时的位字段。如本图所示,小数点的位置从最高有效位来看固定在第2位和第3位之间。例如,在上面的例子中,
表示实数29.25的整体位结构,表示为
b′011101010000000000000000 00000101
也就是说,表示为29.25=0.9140625*2^5,但是在图4所示的位字段的场合下,就会表示为
29.25=1.828125*2^4,并且指数部分是6位,因此整体位结构就为
b′01110101000000000000000000 000100。
如上所述,根据本实施方式,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,将该a、n存储到N位(N≥(U+L))的位字段中,此时通过用定点数值将尾数部分存储到上述位字段上位侧的U位,并用整数将指数部分存储到上述位字段下位侧的L位,使尾数部分集中于上位侧的位字段,并使指数部分集中于下位侧的位字段,因此打算取出尾数部分时只要分出全部位字段上位侧的字段就可以很容易地将其取出,打算取出指数部分时只要分出全部位字段下位侧的字段就可以很容易地将其取出。
另外,采用本实施方式中的浮点存储方法,由于在整体位字段的上位侧存储尾数部分,并且在与其尾数部分相接的下位侧存储指数部分,因此在取出尾数部分时即使省去分开下位侧(指数部分)的字段的处理,也就是即使在不进行分开处理的情况下一并取出全部位并按原样将其值视为尾数部分的值,由此而产生的数值数据的误差至多不超过2^(-24),所以实质上其误差几乎可以忽视,并且在取出尾数部分的值时实质上不需要位字段的分出处理。本实施方式的浮点存储方法的最大优点正在于此。
例如,采用上面所述的例子中将表示实数29.25的整体位结构表示为
b′011101010000000000000000 00000101
也就是说,表示为
29.25=0.9140625*2^5。在此准确地说,使符号位有所加大的尾数部分是上位侧的24位,即便将所有的32位都视为尾数部分,尾数部分的值也会成为
0.91406250232……,
并且作为误差是很小的。因此,在准备求出该浮点数值的值的场合下,将通过对所有位字段按原样进行存取而得到的值作为尾数部分,并将通过只对下位侧的位进行存取而得到的值作为指数部分,由此基本上可以得到正确的浮点数值,因而极少采用位分出处理就会得以解决。
另外,特别是通过将指数部分存储字段11作为全部位字段的最低位的8位,能够进一步得到下述的特殊效果。
图5表示的是将图3所示的格式的数值数据存储到存储器中时存储器上的位字段配置。在以字单位进行存取的场合下,如本图的采用字单位的存取范围20所示,通过用浮点所表示的实数值单位进行读写。另一方面,在以字节单位进行存取的场合下,如本图的采用字节单位的存取范围21所示,通过指数部分存储字段11的单位进行读写。还有,在图1所示的以往格式中,由于指数部分存储字段71还没有存储到全部字段的进行过字节调整的位置上,因而如本实施方式一样不能通过1次字节存取进行读写。
这样,在指数部分存储字段配置于全部位字段下位侧的8位的场合下,通过以字节单位对存储有全部位字段的下位8位的区域进行存取,而采用1次存取就可以取出指数部分,可以非常快速地进行指数部分的取出。
(实施方式2)
下面,对于本发明实施方式2的浮点运算装置,参照附图的同时予以说明。
图6是表示本实施方式2中浮点运算装置100的结构的框图。还有,在本实施方式中有关对浮点数值x、y进行乘法运算的运算装置100进行说明,但浮点数值的存储格式却是以上面在实施方式1中所述的格式为依据的。另外,乘法运算的方法在设为
x=a*2^n、y=(b*2^m)时,以公式
x*y=a*b*2^(n+m)
为依据来进行,因而尾数部分之间的乘法运算和指数部分之间的加法运算为主要的运算。
该浮点运算装置100是对32位长的2个实数进行乘法运算并以浮点格式输出其结果的运算电路,并且是由第1寄存器101、第2寄存器102、乘法器103、加法器104及位耦合器105来构成的。
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,第1寄存器101是存储实数值的32位寄存器,该实数值中上位侧的24位是尾数部分存储字段并且下位侧的8位是指数部分存储字段,第2寄存器102同样也是存储实数值的32位寄存器,该实数值中上位侧的24位是尾数部分存储字段并且下位侧的8位是指数部分存储字段,乘法器103是对该第1寄存器101的值和该第2寄存器102的值进行乘法运算的乘法器,加法器104是对该第1寄存器101的值和该第2寄存器102的值进行加法运算的加法器,位耦合器105是使上述乘法器103输出的上位侧24位和加法器104输出的下位侧8位进行耦合的位耦合器。
在此,存储于上述第1寄存器101及上述第2寄存器102中的浮点数值的存储格式是图3所示的格式,并且与上面在实施方式1中所述的格式相同,因此,例如表示实数29.25的整体位结构,就成为
b′011101010000000000000000 00000101。表示实数0.009033203125的整体位结构,就成为
b′010010100000000000000000 11111010。
下面,说明有关对这种具有位字段的数值进行处理的浮点运算装置100。目前,在第1寄存器101中作为值存储有29.25。也就是说,位结构为
b′011101010000000000000000 00000101。
乘法器103对该第1寄存器101的值和该第2寄存器102的值进行乘法运算。该乘法运算实行的是尾数部分之间的乘法运算,因而准确地说,是在从32位的全部位字段分开下位8位的指数部分的状态下取出尾数部分,对该尾数部分之间进行乘法运算的过程,但在本实施方式中取出32位的所有位字段并按原样对该值进行乘法运算。由此会从原来的值产生误差,但其误差至多不超过2^(-24),因而实质上可以忽视。
具体地说,在上述的例子中第1寄存器中存储的尾数部分的值,准确的是
b′011101010000000000000000,
因而如果用十进制表示,就为0.9140625。
另一方面,将全部位字段看作尾数部分的场合下,由于是
b′01110101000000000000000000000101,
所以如果用十进制表示,就为0.91406250232831………。另外,第2寄存器中存储的尾数部分的值,准确的是
b′010010100000000000000000,
因而如果用十进制表示,就为0.578125。
另一方面,将全部位字段看作尾数部分的场合下,由于是
b′01001010000000000000000011111010,
所以如果用十进制表示,就为0.57812511641532………。
可是,所准确分出的尾数部分之间的乘法运算结果,是
0.9140625*0.5781250=0.5284423828125,
因此如果用二进制表示,就为
b′0 1000011101001000000000000000000,
另一方面,视作全部位的尾数部分时的尾数部分之间的乘法运算结果,是
0.91406250232831*0.57812511641532=0.52844249056943,
因此如果用二进制表示,就为
b′0 1000011101001000000000011100111。在此,应引起注意的是,所准确分出的尾数部分之间的乘法运算结果和视作全部位的尾数部分时的尾数部分之间的乘法运算结果至上述24位为止是一致的。也就是,该乘法器103不用实行分出2个实数值的尾数部分这样的处理,其结果,只分出尾数部分进行乘法运算并计算出与该情形大致相等的值,因此减少了相当于省去分出处理的量的处理时间和电路。
其次,在加法器104中对该第1寄存器101的值和该第2寄存器102的值进行运算。该加法运算实行的是指数部分之间的加法运算,因而是从32位的全部位字段只分出下位8位,对该指数部分之间进行加法运算的过程,但在本实施方式中取出32位的所有位字段并按原样对该值进行加法运算。原因是,由于存储指数部分的位字段是最低位方面的字段,所以加法运算结果的下位侧的值不会受到输入的上位侧的值的影响,因而不需要特别地将输入的上位侧拆开进行加法运算。具体地说,在上述的例子中第1寄存器101的值是
b′01110101000000000000000000000101,第2寄存器102的值是
b′01001010000000000000000011111010
因而上述加法器104的输出为
b′10111111000000000000000011111111。当然,上述加法运算结果的下位8位与分出输入的下位8位进行加法运算的结果相一致。
下面,位耦合器105对上述乘法器103输出的上位侧24位和上述加法器104输出的下位侧8位进行耦合。
图7表示的是用位耦合器105所实行的位耦合的状态。在本图的左侧所示的64位数据110是来自乘法器103的输出位串,其中所分选出的部分(上位的24位)是分出的位,也就是说作为运算结果是有效的范围,并且会输入到位耦合器105的上位位置。另一方面,在本图的右侧所示的32位数据111是来自加法器104的输出位串,其中所分选出的部分(下位的8位)是分出的位,也就是说作为运算结果是有效的范围,并且会输入到位耦合器105的下位位置。在本图的下部所示的32位数据112是使分别从64位数据110及32位数据111所分出的位进行耦合后的位串。该32位数据112是只分出乘法器103的输出和加法器104的输出的各自的有效位并使之进行过耦合的数据。
具体地说,上述乘法器103的输出是
b′01000011101001000000000011100111,
上述加法器104的输出是
b′10111111000000000000000011111111,
因而上述位耦合器105的输出为
b′01000011101001000000000011111111。
那么,如果根据本实施方式的浮点数值存储格式试着将这样所得到的位串112换算成十进制,就为
0.5284423828125*2^(-1)
=0.26422119140625,并且可知与最初的输入值29.25和0.009033203125之间的乘法运算结果相一致。
如上所述,根据本实施方式,由于在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,具备第1及第2寄存器、对该第1寄存器的值和该第2寄存器的值进行乘法运算的乘法器、对该第1寄存器的值和该第2寄存器的值进行加法运算的加法器以及使上述乘法器输出的上位侧U位和上述加法器输出的下位侧L位进行耦合的耦合器,上述第1及第2寄存器中上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段,所以在浮点数值的乘法运算中可以按原样对输入数据的全部位字段进行尾数部分的乘法运算和指数部分的加法运算,并且只是使乘法器输出的上位侧的位和加法器输出的下位侧的位进行位耦合,就可以将乘法运算结果格式化为浮点格式,因此使非常快速的浮点数值的乘法运算成为可能。
再者,在本实施方式中,将浮点数值的乘法运算结果格式化为浮点数值并予以存储,但将乘法运算结果格式化为定点数值也是较为容易的。
图8是表示那种浮点运算装置200的结构的框图。浮点运算装置200是对32位长的2个实数进行乘法运算并以定点格式输出其结果的运算电路,并由第1寄存器101、第2寄存器102、乘法器103、加法器104及移位器201构成。还有,对于与上述浮点运算装置100相同的构成要件,附上相同的符号。与图6所示的浮点运算装置100不同之处是代替位耦合器105,而装载有移位器201。该移位器201是根据加法器104输出的下位8位的值使乘法器103的输出产生位移的32位移位器。如果采用与上面例子相同的数值作为示例,乘法器103的输出就是
0.5284423828125,
加法器104输出的下位8位的值是-1,因而上述移位器201通过使乘法器的值下移1位,结果与图6所示的浮点运算装置100所产生的结果相同,而生成
0.26422119140625。再者,这种场合下,由于指数部分的信息没有意义,所以没有必要使指数部分的值与下位8位进行耦合。
至此,对于本发明所涉及的浮点存储方法及浮点运算装置,以实施方式为基础已经做出说明,但本发明并不限定于这些实施方式。
例如,本发明所涉及的浮点存储方法不只是对2个浮点数据进行乘法运算的情形,对于对定点数值和浮点数值进行乘法运算的情形也是对实现高速化有效的格式。因此,本发明所涉及的浮点存储方法可以使用于对如下的定点数值进行处理的运算装置。
图9是表示对定点数值和浮点数值进行乘法运算并以浮点数值输出其结果的浮点运算装置300的结构的框图。该浮点运算装置300所具备的结构相当于在图6所示的浮点运算装置100中去除加法器104后的结构。再者,第1寄存器101存储有32位的定点数值。
乘法器103按原样对第1寄存器101中所存储的32位数据和第2寄存器102中所存储的32位数据(都作为定点数值)进行乘法运算,输出64位的乘法运算结果。位耦合器105如图10所示,以通过乘法器103所得到的64位之中的有效位(上位24位)作为上位的位,另一方面以第2寄存器102中存储的指数部分(下位8位)作为下位的位并使之进行耦合。即使是这样的浮点运算装置300,乘法器103也可以在不从第2寄存器102中所存储的32位数据只分出尾数部分的情况下,以原样对32位数据进行乘法运算,因而能够实现运算的高速化。
图11是表示对定点数值和浮点数值进行乘法运算并以定点数值输出其结果的浮点运算装置400的结构的框图。该浮点运算装置400所具备的结构相当于在图8所示的浮点运算装置200中去除加法器104后的结构。再者,第1寄存器101存储有32位的定点数值。
乘法器103按原样对第1寄存器101中所存储的32位数据和第2寄存器102中所存储的32位数据(都作为定点数值)进行乘法运算,输出64位的乘法运算结果。移位器201取出通过乘法器103所得到的64位之中的有效位(上位24位),之后只以对应于第2寄存器102中存储的指数部分(下位8位)的值的位数使该值产生位移。即使是这样的浮点运算装置400,乘法器103可以不从第2寄存器102中所存储的32位数据只分出尾数部分,而按原样对32位数据进行乘法运算,因而能够谋求运算的高速化。
(实施方式3)
下面,对于本发明的实施方式3的浮点运算装置,参照附图的同时予以说明。
图12是表示本发明的实施方式3的浮点运算装置结构的框图。浮点运算装置500是将浮点数值变换为整数的运算装置,并由第1寄存器101、减法器501及移位器502构成。
第1寄存器101是与实施方式1相同的寄存器,并且该寄存器在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下存储实数x,该实数x中上位侧的24位是尾数部分存储字段并且下位侧的8位是指数部分存储字段。
减法器501在将第1寄存器101的下位侧8位的值设为x时,从所确定的值C对x进行减法运算,移位器502只以与减法器501的输出值相应的位数使第1寄存器101中所存储的值向右产生位移。
此处,输入到减法器501中的C值如图13所示,在将第1寄存器101的位数设为N并将上述尾数部分存储字段中比小数点位置位高的位数设为S的场合下,是
C=N-S。例如,S值在第1寄存器101中存储的值的位字段是图3所示的格式的场合下,为1,另外在是图4所示的格式的场合下,为2。也就是,该S表示出在第1寄存器101中所存储的浮点数值的尾数部分存储字段中比小数点位高的位数。
还有在下面,第1寄存器101中存储的浮点数值的格式是图3所示的格式,并且与上面在实施方式1中所述的格式相同。例如,表示实数29.25的整体位结构为
b′011101010000000000000000 00000101。
下面,对如上所述而构成的浮点运算装置500的具体动作进行说明。
目前,在第1寄存器101中作为实数存储有29.25。也就是说,作为位结构存储有
b′011101010000000000000000 00000101。
减法器501从上述C值减去第1寄存器101的下位8位的值。在此,由于第1寄存器101的位数N为32,尾数部分存储字段中比小数点位置位高的位数S为1,所以C值就为
C=N-S
=32-1
=31。
另一方面,由于第1寄存器101下位8位的值为5,所以减法器501的输出值为
31-5=26。
然后,移位器502只以来自减法器501的输出值(26)所表示的位数使第1寄存器101的值向右产生位移。其结果是,第1寄存器101中所存储的实数值
b′011101010000000000000000 00000101
只以26位向右产生位移,并且作为结果为
b′00000000000000000000000000011101=29。该值「29」相当于对第1寄存器101中原先存储的浮点数值29.25进行整数化后的值。
如上所述,根据本实施方式,由于在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,通过具备第1寄存器101以及移位器502,其中,上述第1寄存器101中上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段,上述移位器502根据第1寄存器101的下位侧的L位所表示的值使该第1寄存器101中所存储的值产生位移,所以只通过减法处理和位移处理就能够实行将浮点数值变换为整数的处理,因而可以非常快速地进行处理。
再者,在本实施方式中,作为减法器中的正数方面的输入值C例举出(第1寄存器101的位数N)-(第1寄存器101中所存储的浮点数值的尾数部分存储字段中比小数点位置位高的位数S),但作为替代也可以作为对所确定的值X进一步进行减法运算后的值。例如,X=4的场合下,在上述的例子中需要产生位移的量为
32-1-5-4=22,
并且作为结果,
b′011101010000000000000000 00000101
只以22位向右产生位移,可以得出
b′00000000000000000000000111010100。
该值是对浮点数值「29.25」作为具备有小数点之下4位的有效数字的数来表示的。这样,通过适当设定上述X值,可以简单地实现使浮点数值的小数点之下的X位进行有效化后的值的表示。
Claims (21)
1.一种浮点运算装置,具备寄存器,上述寄存器具有在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下存储上述a、n的N位的位字段,其特征为:
在U及L是满足N≥(U+L)的整数的场合下,
上述寄存器用定点数值将尾数部分存储到上述位字段上位侧的U位,用整数将指数部分存储到上述位字段下位侧的L位。
2.根据权利要求1中记载的浮点运算装置,
对至少有1个是浮点数值的2个数值进行乘法运算,
上述寄存器是分别对上述2个数值进行存储的N位的第1及第2寄存器;
上述浮点运算装置还具备分别以上述第1及第2寄存器中所存储的N位数据作为定点数值进行乘法运算的乘法器。
3.根据权利要求2中记载的浮点运算装置,其特征为:
上述2个数值是浮点数值,
上述浮点运算装置进一步具备加法器,分别以上述第1及第2寄存器中所存储的N位数据作为整数进行加法运算。
4.根据权利要求3中记载的浮点运算装置,其特征为:
上述浮点运算装置进一步具备位耦合器,使通过上述乘法器所得到的乘法运算结果的上位位和通过上述加法器所得到的加法运算结果的下位位进行耦合。
5.根据权利要求4中记载的浮点运算装置,其特征为:
上述浮点数值由U位的尾数部分和L位的指数部分组成,
上述位耦合器使通过上述乘法器所得到的乘法运算结果的上位U位和通过上述加法器所得到的加法运算结果的下位L位进行耦合。
6.根据权利要求3中记载的浮点运算装置,其特征为:
上述浮点运算装置进一步具备移位器,该移位器取出通过上述乘法器所得到的乘法运算结果的上位位,并根据通过上述加法器所得到的加法运算结果的下位位来使所取出的位产生位移。
7.根据权利要求6中记载的浮点运算装置,其特征为:
上述浮点数值由U位的尾数部分和L位的指数部分组成,
上述移位器取出通过上述乘法器所得到的乘法运算结果的上位U位,并根据通过上述加法器所得到的加法运算结果的下位L位来使所取出的位产生位移。
8.根据权利要求2中记载的浮点运算装置,其特征为:
上述2个数值分别是定点数值和浮点数值,并且在上述第1寄存器中存储定点数值,在上述第2寄存器中存储浮点数值,
上述浮点运算装置进一步具备位耦合器,该位耦合器使通过上述乘法器所得到的乘法运算结果的上位位和上述第2寄存器中所存储的浮点数值的指数部分进行耦合。
9.根据权利要求8中记载的浮点运算装置,其特征为:
上述浮点数值由U位的尾数部分和L位的指数部分组成,
上述位耦合器使通过上述乘法器所得到的乘法运算结果的上位U位和上述第2寄存器的下位L位进行耦合。
10.根据权利要求2中记载的浮点运算装置,其特征为:
上述2个数值分别是定点数值和浮点数值,并且在上述第1寄存器中存储定点数值,在上述第2寄存器中存储浮点数值,
上述浮点运算装置进一步具备移位器,该移位器取出通过上述乘法器所得到的乘法运算结果的上位位,并根据上述第2寄存器中所存储的数据的下位位来使所取出的位产生位移。
11.根据权利要求10中记载的浮点运算装置,其特征为:
上述浮点数值由U位的尾数部分和L位的指数部分组成,
上述移位器取出通过上述乘法器所得到的乘法运算结果的上位U位,并根据上述第2寄存器中所存储的数据的下位L位来使所取出的位产生位移。
12.根据权利要求1中记载的浮点运算装置,
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,用浮点数值输出对2个实数进行乘法运算所得到的值,
上述寄存器是第1及第2寄存器,存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段,并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
上述浮点运算装置还具备:
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;
对上述第1寄存器的值和上述第2寄存器的值进行加法运算的加法器;以及
使上述乘法器输出的上位侧U位和上述加法器输出的下位侧L位进行耦合的耦合器。
13.根据权利要求1中记载的浮点运算装置,
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,用定点数值输出对2个实数进行乘法运算所得到的值,
上述寄存器是第1及第2寄存器,存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
上述浮点运算装置还具备:
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;
对上述第1寄存器的值和上述第2寄存器的值进行加法运算的加法器;以及
根据上述加法器输出的下位侧的L位的值来使上述乘法器输出的上位侧的U位的值产生位移的移位器。
14.根据权利要求1中记载的浮点运算装置,
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,用浮点数值输出使定点数值对实数进行乘法运算所得到的值,
上述寄存器是第1及第2寄存器,上述第1寄存器存储定点数值,上述第2寄存器存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
上述浮点运算装置还具备:
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;以及
使上述乘法器输出的上位侧U位和上述第2寄存器中所存储的数据的下位侧L位进行耦合的耦合器。
15.根据权利要求1中记载的浮点运算装置,
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,以定点数值输出使定点数值对实数进行乘法运算所得到的值,
上述寄存器是第1及第2寄存器,上述第1寄存器存储定点数值,上述第2寄存器存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段并且下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
上述浮点运算装置还具备:
对上述第1寄存器的值和上述第2寄存器的值进行乘法运算的乘法器;以及
根据上述第2寄存器中所存储的数据的下位侧L位的值来使上述乘法器输出的上位侧U位的值产生位移的移位器。
16.根据权利要求1中记载的浮点运算装置,
在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,将实数变换为整数,
上述寄存器存储上位侧的U位是用定点数值存储尾数部分的尾数部分存储字段、下位侧的L位是用整数存储指数部分的指数部分存储字段这样的浮点数值;
上述浮点运算装置还具备根据上述寄存器的下位侧L位所表示的值来使上述寄存器中所存储的值产生位移的移位器。
17.根据权利要求16中记载的浮点运算装置,其特征为:
上述浮点运算装置进一步具备减法器,该减法器在将上述寄存器的位数设为N,将上述尾数部分存储字段中比小数点位高的位数设为S,将上述寄存器下位侧的L位所表示的值设为x的场合下,进行N-S-x的计算,
上述移位器只以上述减法器的输出值所表示的位数使上述寄存器中所存储的值产生位移。
18.根据权利要求17中记载的浮点运算装置,其特征为:
上述减法器还在将预先确定好的数设为X时进行N-S-x-X的计算,
上述移位器只以上述减法器的输出值所表示的位数使上述寄存器中所存储的值产生位移。
19.根据权利要求1-18中任一项记载的浮点运算装置,其特征为:上述N及L是8的倍数。
20.一种浮点存储方法,在将实数x表示为a*(2^n)时的a作为尾数部分并以n作为指数部分的场合下,存储上述a、n的N位的位字段,其特征为:
在U及L是满足N≥(U+L)的整数的场合下,
用定点数值将尾数部分存储到上述位字段上位侧的U位,用整数将指数部分存储到上述位字段下位侧的L位。
21.根据权利要求20中记载的浮点存储方法,其特征为:上述N及L是8的倍数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002180630 | 2002-06-20 | ||
JP180630/2002 | 2002-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1471077A CN1471077A (zh) | 2004-01-28 |
CN1296813C true CN1296813C (zh) | 2007-01-24 |
Family
ID=29728261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031486193A Expired - Fee Related CN1296813C (zh) | 2002-06-20 | 2003-06-20 | 浮点存储方法及浮点运算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7188133B2 (zh) |
CN (1) | CN1296813C (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI220479B (en) * | 2003-07-09 | 2004-08-21 | Mediatek Inc | Digital signal processor based on jumping floating point arithmetic |
TWI252430B (en) * | 2004-01-19 | 2006-04-01 | Mediatek Inc | Joint adaptive fixed-point representation and related arithmetic and processor thereof |
CN1658153B (zh) * | 2004-02-18 | 2010-04-28 | 联发科技股份有限公司 | 复合式动态定点数表示法与运算法及其处理器结构 |
US7912887B2 (en) * | 2006-05-10 | 2011-03-22 | Qualcomm Incorporated | Mode-based multiply-add recoding for denormal operands |
JP4629750B2 (ja) * | 2008-03-31 | 2011-02-09 | 日立オートモティブシステムズ株式会社 | 組み込み制御装置 |
EP2189897B1 (de) * | 2008-11-19 | 2013-04-24 | VEGA Grieshaber KG | Multiplikation einer ganzen Zahl mit einer Gleitkommazahl |
JP2010160708A (ja) * | 2009-01-09 | 2010-07-22 | Sony Corp | 演算器、プロセッサ、コンパイル処理装置およびコンパイル処理方法 |
US8601044B2 (en) * | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US20120191955A1 (en) * | 2011-01-20 | 2012-07-26 | Jonsson Ragnar H | Method and system for floating point acceleration on fixed point digital signal processors |
US9747073B2 (en) | 2014-03-06 | 2017-08-29 | Oracle International Corporation | Floating point unit with support for variable length numbers |
US9507564B2 (en) | 2014-04-14 | 2016-11-29 | Oracle International Corporation | Processing fixed and variable length numbers |
US9817662B2 (en) * | 2015-10-24 | 2017-11-14 | Alan A Jorgensen | Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof |
CN105930128B (zh) * | 2016-05-17 | 2018-11-06 | 中国科学院数据与通信保护研究教育中心 | 一种利用浮点数计算指令实现大整数乘法计算加速方法 |
US10146533B2 (en) * | 2016-09-29 | 2018-12-04 | Intel Corporation | Instruction and logic for detecting numeric accumulation error |
CN107451658B (zh) * | 2017-07-24 | 2020-12-15 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
CN107562694A (zh) * | 2017-08-23 | 2018-01-09 | 维沃移动通信有限公司 | 一种数据处理方法及移动终端 |
CN108459969B (zh) * | 2018-02-28 | 2020-08-04 | 南京邮电大学 | 一种64位多核服务器内数据存储及传输方法 |
US10656913B2 (en) * | 2018-06-05 | 2020-05-19 | International Business Machines Corporation | Enhanced low precision binary floating-point formatting |
US10990399B2 (en) * | 2019-08-13 | 2021-04-27 | Intel Corporation | Methods and apparatus to implement efficient communications between components of computing systems |
WO2021056507A1 (zh) * | 2019-09-29 | 2021-04-01 | 深圳市大疆创新科技有限公司 | 浮点数处理方法、设备和可移动平台 |
US11188303B2 (en) * | 2019-10-02 | 2021-11-30 | Facebook, Inc. | Floating point multiply hardware using decomposed component numbers |
WO2022088157A1 (zh) * | 2020-10-31 | 2022-05-05 | 华为技术有限公司 | 一种浮点数计算电路以及浮点数计算方法 |
CN112905125B (zh) * | 2021-03-04 | 2023-02-07 | 中电普信(北京)科技发展有限公司 | 一种基于计算机高精度计算的数据存储及读取方法 |
WO2023028884A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 一种浮点数计算电路以及浮点数计算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3037701A (en) * | 1956-11-21 | 1962-06-05 | Ibm | Floating decimal point arithmetic control means for calculator |
GB1191507A (en) * | 1966-10-04 | 1970-05-13 | Gen Electric | Data Processing System having Improved Arithmetic Portion Therein. |
GB2323189A (en) * | 1997-03-14 | 1998-09-16 | Nokia Mobile Phones Ltd | Generation of exponent values |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594679A (en) * | 1983-07-21 | 1986-06-10 | International Business Machines Corporation | High speed hardware multiplier for fixed floating point operands |
US6898615B2 (en) * | 2000-07-24 | 2005-05-24 | Matsushita Electric Industrial Co., Ltd. | Signal processing unit and signal processing method including using an exponent part and a mantissa part for power generation |
US6990505B2 (en) * | 2002-05-09 | 2006-01-24 | Sun Microsystems, Inc. | Method/apparatus for conversion of higher order bits of 64-bit integer to floating point using 53-bit adder hardware |
-
2003
- 2003-04-03 US US10/405,242 patent/US7188133B2/en active Active
- 2003-06-20 CN CNB031486193A patent/CN1296813C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3037701A (en) * | 1956-11-21 | 1962-06-05 | Ibm | Floating decimal point arithmetic control means for calculator |
GB1191507A (en) * | 1966-10-04 | 1970-05-13 | Gen Electric | Data Processing System having Improved Arithmetic Portion Therein. |
GB2323189A (en) * | 1997-03-14 | 1998-09-16 | Nokia Mobile Phones Ltd | Generation of exponent values |
Also Published As
Publication number | Publication date |
---|---|
US20030236651A1 (en) | 2003-12-25 |
CN1471077A (zh) | 2004-01-28 |
US7188133B2 (en) | 2007-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1296813C (zh) | 浮点存储方法及浮点运算装置 | |
CN1153129C (zh) | 用于处理器定制操作的设备 | |
CN1252587C (zh) | 移位分组数据的方法、装置和处理数字音频信号的系统 | |
CN100338570C (zh) | 用于数据的并行右移位合并的方法和装置 | |
CN100339824C (zh) | 高效执行特长指令字的处理器和方法 | |
CN1749955A (zh) | 控制处理器和协处理器间的数据传输的运算处理装置 | |
CN1181416C (zh) | 预测控制设备 | |
CN1801082A (zh) | 在分组数据上执行乘-加运算的装置 | |
CN1685369A (zh) | 视频编码的低复杂性和统一标准的变换 | |
CN1501259A (zh) | 便于具有通用读/写模式的存储器数据存取的装置和方法 | |
CN1549106A (zh) | 在分组数据上执行乘-加运算的装置 | |
CN101034414A (zh) | 信息处理设备和方法以及程序 | |
CN1975662A (zh) | 算术运算单元、信息处理设备和算术运算方法 | |
CN1862521A (zh) | 处理器 | |
CN1848097A (zh) | 存储器地址生成装置以及具有它的处理器、存储器地址生成方法 | |
CN1577250A (zh) | 用于实现2的幂的浮点估计的系统与方法 | |
CN1737802A (zh) | 信息处理设备与方法、记录介质,以及程序 | |
CN1649274A (zh) | 可变长度解码装置和可变长度解码方法以及再现系统 | |
CN1146796C (zh) | 堆栈式寄存器堆及其控制方法 | |
CN1313918C (zh) | 在有限域中用于基转换的方法和设备 | |
CN1449521A (zh) | 计算机系统 | |
CN1671090A (zh) | 一种计算平方根的装置 | |
CN1143231C (zh) | 汉语信息处理装置 | |
CN1867890A (zh) | 执行模乘的方法和用2n位的数执行欧几里德乘法的方法 | |
CN1678987A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20200620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |