CN104106045B - 产生浮点常数值的方法、系统及设备 - Google Patents
产生浮点常数值的方法、系统及设备 Download PDFInfo
- Publication number
- CN104106045B CN104106045B CN201380008389.8A CN201380008389A CN104106045B CN 104106045 B CN104106045 B CN 104106045B CN 201380008389 A CN201380008389 A CN 201380008389A CN 104106045 B CN104106045 B CN 104106045B
- Authority
- CN
- China
- Prior art keywords
- field
- constant value
- floating point
- instruction
- value
- 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
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
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明揭示一种用于根据指令产生浮点常数值的系统及方法。将所述指令的第一字段解码为所述浮点常数值的正负号位。解码所述指令的第二字段以对应于所述浮点常数值的指数值。解码所述指令的第三字段以对应于所述浮点常数值的有效数。组合所述第一字段、所述第二字段及所述第三字段以形成所述浮点常数值。所述指数值可包含偏差,且可将偏差常数加到所述指数值上以补偿所述偏差。所述第三字段可包括所述有效数的最高有效位。任选地,所述第二字段及所述第三字段可分别移位第一及第二移位值,其后将其进行组合以形成所述浮点常数值。
Description
技术领域
所揭示实施例涉及浮点运算。更确切地说,示范性实施例涉及用于产生常用浮点常数的指令。
背景技术
数的浮点表示在用于计算用于支持比可用整数或定点格式支持的更宽范围的值的系统中为有用的。在浮点数中,允许小数点(十进制/二进制)为“浮动的”,此使得可能使用少量的位来编码广泛范围的值。由于广泛范围,所以许多浮点数可不能在没有严重精度损失或有时误差/异常的情况下用定点格式有效地表示。
一些现代处理器支持可对用浮点格式表示的数进行运算的浮点指令。将浮点指令集成在整数/定点处理器管线中呈现了挑战。举例来说,潜在精度损失在于浮点指令中编码浮点常数或立即值方面引起了挑战。
用于计算机处理器的传统指令集架构(ISA)通常包含指定立即值的指令。通常,指定立即值的指令含有在指令自身内(在指令的指定字段中)的立即值。可用于指令中的立即值的位的数目相当少,通常比指令的位宽度小得多。因此,浮点指令可不能够在小位宽度的立即值字段中准确地指定浮点立即值。因此,浮点常数/立即值常规地直接从存储器加载,或通过用于产生所要浮点常数的定制指令而整体形成。一些方法还可包含对寄存器中的特定浮点值(例如,0.0、1.0及2.0)硬译码。如可认识到,此类用于产生浮点常数的常规技术导致增加的等待时间、增加的代码大小及/或增加的硬件。
因此,此项技术中存在用于克服与用于浮点指令的浮点常数/立即值相关联的上述限制的需要。
发明内容
本发明的示范性实施例涉及用于根据指令产生浮点常数值的系统及方法。
举例来说,示范性实施例涉及根据指令产生浮点常数值的方法,所述方法包括:将指令的第一字段解码为浮点常数值的正负号位;解码指令的第二字段以对应于浮点常数值的指数值;解码指令的第三字段以对应于浮点常数值的有效数;以及组合第一字段、第二字段及第三字段以形成浮点常数值。任选地,所述第二字段及所述第三字段可分别移位第一及第二移位值,其后将所述字段进行组合以形成浮点常数值。
另一示范性实施例涉及用于产生浮点常数值的指令,其中所述指令包括:对应于浮点常数值的正负号位的第一字段;对应于浮点常数值的指数值的第二字段;以及对应于浮点常数值的有效数的第三字段。
另一示范性实施例涉及用于根据指令产生浮点常数值的系统,所述系统包括:用于将指令的第一字段解码为浮点常数值的正负号位的装置;用于解码指令的第二字段以对应于浮点常数值的指数值的装置;用于解码指令的第三字段以对应于浮点常数值的有效数的装置;以及用于组合第一字段、第二字段及第三字段以形成浮点常数值的装置。
另一示范性实施例涉及非暂时性计算机可读存储媒体,其包括在由处理器执行时致使所述处理器执行用于根据指令而产生浮点常数值的操作的代码,所述非暂时性计算机可读存储媒体包括:用以将指令的第一字段解码为浮点常数值的正负号位的代码;用以解码指令的第二字段以对应于浮点常数值的指数值的代码;用以解码指令的第三字段以对应于浮点常数值的有效数的代码;以及用以组合第一字段、第二字段及第三字段以形成浮点常数值的代码。
附图说明
呈现附图来辅助对本发明的实施例的描述,且仅出于说明而非限制所述实施例的目的来提供附图。
图1A说明根据示范性实施例的浮点立即字段。
图1B说明应用到图1A的浮点立即字段的指数及有效数字段的任选第一及第二移位量。
图2为根据示范性实施例的根据指令产生浮点常数值的方法的流程图说明。
图3说明示范性无线通信系统300,其中可有利地使用根据示范性实施例的用于产生浮点常数值的指令。
具体实施方式
在以下针对本发明特定实施例的描述和有关图式中揭示本发明的若干方面。可在不脱离本发明的范围的情况下设计替代实施例。另外,将不会详细描述本发明的众所周知的元件,或将省略所述元件,以免混淆本发明的相关细节。
词“示范性”在本文中用以意味“充当实例、例子或说明”。本文中被描述为“示范性”的任何实施例不必被理解为比其它实施例优选或有利。同样,术语“本发明的实施例”并非要求本发明的所有实施例包含所论述的特征、优点或操作模式。
本文中所使用的术语仅出于描述特定实施例的目的且并不希望限制本发明的实施例。如本文中所使用,单数形式“一”和“所述”既定也包含复数形式,除非上下文另外清楚地指示。将进一步了解,术语“包括”及/或“包含”在用于本文中时指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一或多个其它特征、整数、步骤、操作、元件、组件及/或其群组的存在或添加。
此外,依据将由(例如)计算装置的元件执行的动作序列来描述许多实施例。将认识到,可由特定电路(例如,专用集成电路(ASIC))、由正由一或多个处理器执行的程序指令或由两者的组合来执行本文中所述的各种动作。另外,可认为本文中所述的这些动作序列完全实施于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中已存储一组对应计算机指令,所述指令在被执行时将致使相关联的处理器执行本文中所述的功能性。因此,本发明的各种方面可以许多不同形式来实施,所有所述形式均被涵盖在所主张的标的物的范围内。此外,对于本文中所述的实施例的每一者来说,任何此类实施例的对应形式可在本文中被描述为(例如)“经配置以(执行所描述动作)的逻辑”。
示范性实施例涉及在处理系统中使用用于整数管线的预先存在架构来产生经常遇到的浮点值。实施例包含用以指定例如指令的立即值字段中的浮点常数的一或多个指令。立即值字段内的一或多个子字段可包括对应于指定浮点常数的信息,例如正负号、有效数及指数值。可适当地提取及组装子字段以产生指定的浮点常数。
所属领域的技术人员将辨识用于表示浮点数的常规格式。大体上,浮点数可包含用以指示浮点数的正负号(正/负)的正负号位。浮点数还包含对应于有效数(还称作“尾数”)的数个位,所述有效数包括浮点数的有效数字(例如,不包含前导零的数字)。大体上,有效数的位的数目与浮点数可表示的精度有关。有效数被提高浮点数中所指定的指数值(具有假定的基数),以提供浮点数的量值。举例来说,二进制数的假定基数为2,且十进制数的假定基数为10。在数学记法中,浮点数的值通过具有适当正负号的公式有效数*基数^指数来得出。
指数值有时可偏移指定或假定的偏差值以便使指数范围移位。在常规实施方案中,可将偏差值加到从浮点数提取的指数值上以便获得实际指数值。此外,有效数内的小数点可以预定格式明确地指定。然而,在常规实施方案中,假定将小数点放在有效数中的固定位置,且适当地调整指数值以实现小数点的浮动性质。举例来说,可将十进制小数点统一指定为放在有效数的最高有效数字之后,使得十进制数12.3×10^10可通过移位小数点以放在有效数的最高有效数字之后且适当地增加指数值而表示为1.23×10^11。
用于表示具有上述字段的浮点数的标准格式(例如,IEEE-754标准)为此项技术中众所周知的。IEEE-754标准包含用于在现代处理系统中使用的浮点数的单精度及双精度标准。基本上,单精度格式包括32位二进制浮点数,包含正负号位、23位有效数字段及8位指数字段,其中偏差值为127。双精度格式包括64位二进制浮点数,包含正负号位、52位有效数字段及11位指数字段,其中偏差值为1023。虽然本文不将详细描述IEEE-754标准的各种其它条款,但将理解示范性实施例可与针对单精度及双精度格式两者的IEEE-754标准兼容。
举例来说,示范性实施例可包含指令“SFMAKE”及“DFMAKE”以产生单精度及双精度浮点值以用作浮点常数。这些指令可用以产生可(例如)在与数字信号处理器、微处理器或其它通用处理器相关的应用中经常遇到的大的浮点值集合。
在说明性实施例中,可将指定11位浮点立即字段的示范性指令辨识为包括正负号位、6位有效数字段及4位指数字段。可基于浮点常数值是用单精度还是双精度表示来应用预定偏差值。在此说明中,可假定偏差值6为适用的。此示范性指令可用以产生属于表示为以下的广泛范围的常数的浮点数:[+,-][1.0,1+63/64]*2^[-6,+9]。举例来说,在此常数范围内可产生以下量值范围的所有正及负的整数:[1,128]。此外,在此常数范围内可产生以下量值的所有正及负的偶数整数:[2,256]。还可产生量值1000的正及负的整数。还可产生量值例如0.25、0.5、1/32(或其诸多倍数)、1.5、1/256等许多常用的分数值(正及负两者)。所属领域的技术人员将辨识由示范性指令中的常数范围覆盖的众多其它浮点常数值。
参看图1A,说明如上文描述的浮点立即字段的示范性格式。字段100可表示浮点立即字段(例如,11位的大小,如上文所述)。如所展示,字段100可包括第一字段102中的正负号位。第二字段104可包括指数值(例如,4位的大小)。或者,如上文描述,第二字段104可包括包含偏差的指数值,可将基于所要精度的偏差常数(例如,值6,如在以上描述中)加到所述指数值上以便补偿包含在指数值中的偏差。第三字段106可包括有效数(例如,6位的大小)。在一些实施方案中,第三字段106可仅包括对应浮点常数的有效数的最高有效位。
继续参看图1A,可从在字段100中包括浮点立即字段的浮点指令解码或提取第一字段102、第二字段104及第三字段106。可适当地组合经解码字段(具有包含在第二字段104中的适当偏差)以产生在浮点立即指令中指定的对应浮点常数值。
现参看图1B,可将任选移位量应用到第二字段104及第三字段106。第二字段104及第三字段106可移位如第一移位值108_1及第二移位值108_2(如图1B所示)所指示的量,以分别形成移位字段104'及106'。第一移位值108_1及第二移位值108_2可包含在浮点立即字段100中,例如分别在第四及第五字段中。可将预定常数值(未图示)加到移位字段104'及106'上以便产生指定浮点常数值。因此,经由对常数值的移位及相加的额外步骤,可更改浮点常数值的精度。举例来说,对应于IEEE-754标准,仅有效数的最高有效位可包含在第三字段106中,且这些最高有效位可移位适当地移位量以便产生单精度或双精度的浮点常数值。在第二字段104中具有任选偏差啊指数值还可基于所要精度或基于特定应用而类似地移位。在一个实例中,由第一移位值108_1及第二移位值108_2指示的适当移位量可基于用以产生浮点常数值的指令是上述SFMAKE指令还是DFMAKE指令。在其它实施例中,单移位字段可包含在浮点立即字段100中,且可被应用到第二字段104及第三字段106中的任一者或两者。
因此,示范性实施例可包含用以产生常用浮点常数值的一或多个指令,而不需要将从存储器载入的浮点常数值。所揭示实施例避免用浮点常数值污染储存器及高速缓冲存储器。因此,实施例还导致用于产生浮点常数值的低功率实施方案。实施例可用于例如除法、平方根计算等运算中。可支持广泛范围的常用常数。实施例可充分支持单精度或双精度格式,且可与用于表示浮点数的常规标准兼容。
此外,将了解实施例包含用于执行本文所揭示的过程、功能及/或算法的各种方法。举例来说,如图2中说明,实施例可包含根据指令产生浮点常数值的方法,所述方法包括:将指令的第一字段(例如,102)解码为浮点常数值的正负号位(方框202);解码指令的第二字段(例如,104)以对应于浮点常数值的指数值(方框204);解码指令的第三字段(例如,106)以对应于浮点常数值的有效数(方框206);任选地将第二字段及第三字段移位第一移位值及第二移位值(例如,108_1及108_2)(方框207);以及组合第一字段与视情况经移位第二字段及第三字段以形成浮点常数值(方框208)。
所属领域的技术人员将了解,可使用多种不同技术及技法中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中所参考的数据、指令、命令、信息、信号、位、符号及码片。
此外,所属领域的技术人员将了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。此类功能性是实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决定不应被解释为会导致脱离本发明的范围。
结合本文所揭示的实施例而描述的方法、序列及/或算法可直接以硬件、以由处理器执行的软件模块或以两者的组合体现。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、抽取式磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体式。
因此,本发明的实施例可包含体现用于根据指令产生浮点常数值的方法的计算机可读媒体。因此,本发明并不限于所说明的实例且用于执行本文中所描述的功能性的任何装置均包含在本发明的实施例中。
参看图3,描绘且大体用300指定包含用于根据示范性实施例来产生浮点常数值的指令的无线装置的特定说明性实施例的框图。装置300包含处理器,例如数字信号处理器(DSP)364。DSP 364可包含可包括上述SFMAKE/DFMAKE指令的存储器365。图3还展示耦合到DSP 364及耦合到显示器328的显示控制器326。译码器/解码器(CODEC)334(例如,音频及/或语音CODEC)可耦合到DSP 364。还说明其它组件,例如显示控制326(其可包含视频CODEC及/或图像处理器)及无线控制器340(其可包含调制解调器)。扬声器336及麦克风338可耦合到CODEC 334。图3还指示可耦合到无线天线342的无线控制器340。在特定实施例中,DSP364、显示控制器326、存储器332、CODEC 334及无线控制器340包含在系统级封装或系统单芯片装置322中。
在特定实施例中,输入装置330及电力供应器344耦合到系统单芯片装置322。此外,在特定实施例中,如图3中说明,显示器328、输入装置330、扬声器336、麦克风338、无线天线342及电力供应器344在系统单芯片装置322外部。然而,显示器328、输入装置330、扬声器336、麦克风338、无线天线342及电力供应器344中的每一者可耦合到系统单芯片装置322的组件,例如接口或控制器。
应注意,尽管图3描绘无线通信装置,但也可将DSP 364及存储器332集成到机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、个人数字助理(PDA)、固定位置数据单元或计算机中。还可将处理器(例如,DSP 364)集成到此类装置中。
前文所揭示的装置及方法通常经设计且经配置到存储于计算机可读媒体上的GDSII及GERBER计算机文件中。这些文件又被提供到基于这些文件来制造装置的制造处置器。所得产品是半导体晶片,其接着被切割成半导体裸片且封装成半导体芯片。所述芯片接着用于上文所描述的装置中。
虽然前面的揭示内容展示本发明的说明性实施例,但应注意,可在不脱离如所附权利要求书界定的本发明的范围的情况下,在其中做出各种改变及修改。无需以任何特定次序来执行根据本文中所述的本发明的实施例的方法权利要求项的功能、步骤及/或动作。此外,尽管可以单数形式描述或主张本发明的元件,但除非明确陈述对于单数的限制,否则也涵盖复数形式。
Claims (8)
1.一种根据指令产生浮点常数值的方法,其包括:
将所述指令的第一字段解码为所述浮点常数值的正负号位;
解码所述指令的第二字段,将所述第二字段移位第一移位值,所述第一移位值来自所述指令的第四字段,且将经移位第二字段加上第一常数值以形成所述浮点常数值的指数值;
解码所述指令的第三字段,将所述第三字段移位第二移位值,所述第二移位值来自所述指令的第五字段,且将经移位第三字段加上第二常数值以形成所述浮点常数值的有效数;以及
从所述正负号位、所述指数值以及所述有效数来产生所述浮点常数值。
2.根据权利要求1所述的方法,其中所述指数值包含偏差。
3.根据权利要求2所述的方法,其进一步包括将所述指数值加到偏差常数上以补偿包含在所述指数值中的所述偏差。
4.根据权利要求1所述的方法,其中根据IEEE 754单精度或双精度格式中的一者而形成所述浮点常数值。
5.根据权利要求1所述的方法,其中所述第三字段包括所述浮点常数值的所述有效数的最高有效位。
6.一种用于根据指令产生浮点常数值的系统,其包括:
用于将所述指令的第一字段解码为所述浮点常数值的正负号位的装置;
用于解码所述指令的第二字段,将所述第二字段移位第一移位值,所述第一移位值来自所述指令的第四字段,且将经移位第二字段加上第一常数值以形成所述浮点常数值的指数值的装置;
用于解码所述指令的第三字段,将所述第三字段移位第二移位值,所述第二移位值来自所述指令的第五字段,且将经移位第三字段加上第二常数值以形成所述浮点常数值的有效数的装置;以及
用于从所述正负号位、所述指数值以及所述有效数来产生所述浮点常数值的装置。
7.根据权利要求6所述的系统,其中所述指数值包含偏差,且所述系统进一步包括用于将偏差常数加到所述指数值上以补偿包含在所述指数值中的所述偏差的装置。
8.一种用于根据指令产生浮点常数值的设备,包括:
经配置以将所述指令的第一字段解码为所述浮点常数值的正负号位的逻辑;
经配置以解码所述指令的第二字段,将所述第二字段移位第一移位值,所述第一移位值来自所述指令的第四字段,且将经移位第二字段加上第一常数值以形成所述浮点常数值的指数值的逻辑;
经配置以解码所述指令的第三字段,将所述第三字段移位第二移位值,所述第二移位值来自所述指令的第五字段,且将经移位第三字段加上第二常数值以形成所述浮点常数值的有效数的逻辑;以及
经配置以从所述正负号位、所述指数值以及所述有效数来产生所述浮点常数值的逻辑。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/369,693 US10289412B2 (en) | 2012-02-09 | 2012-02-09 | Floating point constant generation instruction |
US13/369,693 | 2012-02-09 | ||
PCT/US2013/025401 WO2013119995A1 (en) | 2012-02-09 | 2013-02-08 | Floating point constant generation instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104106045A CN104106045A (zh) | 2014-10-15 |
CN104106045B true CN104106045B (zh) | 2017-09-01 |
Family
ID=47846130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380008389.8A Expired - Fee Related CN104106045B (zh) | 2012-02-09 | 2013-02-08 | 产生浮点常数值的方法、系统及设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10289412B2 (zh) |
EP (1) | EP2812793B1 (zh) |
JP (1) | JP6114315B2 (zh) |
KR (1) | KR101763286B1 (zh) |
CN (1) | CN104106045B (zh) |
WO (1) | WO2013119995A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289412B2 (en) * | 2012-02-09 | 2019-05-14 | Qualcomm Incorporated | Floating point constant generation instruction |
WO2015076951A1 (en) * | 2013-11-25 | 2015-05-28 | Benson Dwayne M | Integrated power, cooling, and heating device and method thereof |
KR20160090796A (ko) * | 2013-11-27 | 2016-08-01 | 마이크로칩 테크놀로지 인코포레이티드 | 메인 클록의 높은 정밀 발진기 |
US9455743B2 (en) * | 2014-05-27 | 2016-09-27 | Qualcomm Incorporated | Dedicated arithmetic encoding instruction |
CN104572018A (zh) * | 2014-12-30 | 2015-04-29 | 杭州中天微系统有限公司 | 一种用于浮点常数生成的装置及方法 |
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 |
US10235170B2 (en) | 2016-09-30 | 2019-03-19 | International Business Machines Corporation | Decimal load immediate instruction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805475A (en) * | 1995-02-10 | 1998-09-08 | International Business Machines Corporation | Load-store unit and method of loading and storing single-precision floating-point registers in a double-precision architecture |
CN101685383A (zh) * | 2008-09-28 | 2010-03-31 | 杨高祥 | 计算器、基于直接对阶的自由精度浮点数的运算电路 |
CN201628951U (zh) * | 2009-12-31 | 2010-11-10 | 西北工业大学 | 一种高速浮点规格化运算器 |
US7949696B2 (en) * | 2004-11-25 | 2011-05-24 | Sony Corporation | Floating-point number arithmetic circuit for handling immediate values |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5201056A (en) * | 1990-05-02 | 1993-04-06 | Motorola, Inc. | RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output |
US5341320A (en) * | 1993-03-01 | 1994-08-23 | Motorola, Inc. | Method for rapidly processing floating-point operations which involve exceptions |
JPH08153310A (ja) | 1994-11-28 | 1996-06-11 | Sony Corp | 磁気抵抗効果型薄膜磁気ヘッド |
US5878266A (en) | 1995-09-26 | 1999-03-02 | Advanced Micro Devices, Inc. | Reservation station for a floating point processing unit |
US5940311A (en) | 1996-04-30 | 1999-08-17 | Texas Instruments Incorporated | Immediate floating-point operand reformatting in a microprocessor |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
GB9712317D0 (en) * | 1997-06-13 | 1997-08-13 | Zeneca Ltd | Composition, compound and use |
US6298367B1 (en) * | 1998-04-06 | 2001-10-02 | Advanced Micro Devices, Inc. | Floating point addition pipeline including extreme value, comparison and accumulate functions |
US6519694B2 (en) * | 1999-02-04 | 2003-02-11 | Sun Microsystems, Inc. | System for handling load errors having symbolic entity generator to generate symbolic entity and ALU to propagate the symbolic entity |
US6487653B1 (en) * | 1999-08-25 | 2002-11-26 | Advanced Micro Devices, Inc. | Method and apparatus for denormal load handling |
US7330864B2 (en) | 2001-03-01 | 2008-02-12 | Microsoft Corporation | System and method for using native floating point microprocessor instructions to manipulate 16-bit floating point data representations |
WO2003007147A1 (en) * | 2001-07-13 | 2003-01-23 | Intel Zao | A method and apparatus to extract integer and fractional components from floating-point data |
US7003539B1 (en) * | 2001-08-08 | 2006-02-21 | Pasternak Solutions Llc | Efficiently determining a floor for a floating-point number |
US7212959B1 (en) * | 2001-08-08 | 2007-05-01 | Stephen Clark Purcell | Method and apparatus for accumulating floating point values |
US7028067B2 (en) | 2002-02-20 | 2006-04-11 | International Business Machines Corporation | Generation of mask-constrained floating-point addition and subtraction test cases, and method and system therefor |
EP1545010A1 (en) | 2003-12-18 | 2005-06-22 | Deutsche Thomson-Brandt GmbH | Method and device for transcoding N-bit words into M-bit words with M smaller N |
GB2410097B (en) | 2004-01-13 | 2006-11-01 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing data processing operations on floating point data elements |
US7523434B1 (en) * | 2005-09-23 | 2009-04-21 | Xilinx, Inc. | Interfacing with a dynamically configurable arithmetic unit |
US8595279B2 (en) | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
US7797360B2 (en) * | 2006-04-06 | 2010-09-14 | Sap Ag | Sortable floating point numbers |
US7885992B2 (en) | 2006-06-22 | 2011-02-08 | Honeywell International Inc. | System and method for implementing irregular data formats |
US8650231B1 (en) * | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8006078B2 (en) * | 2007-04-13 | 2011-08-23 | Samsung Electronics Co., Ltd. | Central processing unit having branch instruction verification unit for secure program execution |
US8051117B2 (en) * | 2007-04-26 | 2011-11-01 | International Business Machines Corporation | Shift significand of decimal floating point data |
US8051118B2 (en) | 2007-04-26 | 2011-11-01 | International Business Machines Corporation | Composition of decimal floating point data |
US8190664B2 (en) * | 2007-04-26 | 2012-05-29 | International Business Machines Corporation | Employing a mask field of an instruction to encode a sign of a result of the instruction |
US7885995B2 (en) * | 2007-06-13 | 2011-02-08 | International Business Machines Corporation | Processing service requests in a distributed environment |
JP4629750B2 (ja) * | 2008-03-31 | 2011-02-09 | 日立オートモティブシステムズ株式会社 | 組み込み制御装置 |
US8412760B2 (en) | 2008-07-22 | 2013-04-02 | International Business Machines Corporation | Dynamic range adjusting floating point execution unit |
US8244783B2 (en) * | 2008-09-11 | 2012-08-14 | International Business Machines Corporation | Normalizer shift prediction for log estimate instructions |
US8706790B1 (en) * | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8645449B1 (en) * | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8407271B2 (en) * | 2009-08-28 | 2013-03-26 | Advanced Micro Devices, Inc. | Method for floating point round to integer operation |
US8412756B1 (en) * | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US20110125987A1 (en) * | 2009-11-20 | 2011-05-26 | Qualcomm Incorporated | Dedicated Arithmetic Decoding Instruction |
US8914430B2 (en) * | 2010-09-24 | 2014-12-16 | Intel Corporation | Multiply add functional unit capable of executing scale, round, GETEXP, round, GETMANT, reduce, range and class instructions |
US8745111B2 (en) * | 2010-11-16 | 2014-06-03 | Apple Inc. | Methods and apparatuses for converting floating point representations |
US20120191955A1 (en) * | 2011-01-20 | 2012-07-26 | Jonsson Ragnar H | Method and system for floating point acceleration on fixed point digital signal processors |
US8756601B2 (en) * | 2011-09-23 | 2014-06-17 | Qualcomm Incorporated | Memory coherency acceleration via virtual machine migration |
US8909690B2 (en) * | 2011-12-13 | 2014-12-09 | International Business Machines Corporation | Performing arithmetic operations using both large and small floating point values |
US10289412B2 (en) * | 2012-02-09 | 2019-05-14 | Qualcomm Incorporated | Floating point constant generation instruction |
US8825727B2 (en) * | 2012-03-15 | 2014-09-02 | International Business Machines Corporation | Software-hardware adder |
US20140067894A1 (en) * | 2012-08-30 | 2014-03-06 | Qualcomm Incorporated | Operations for efficient floating point computations |
-
2012
- 2012-02-09 US US13/369,693 patent/US10289412B2/en active Active
-
2013
- 2013-02-08 EP EP13708942.1A patent/EP2812793B1/en not_active Not-in-force
- 2013-02-08 KR KR1020147024986A patent/KR101763286B1/ko active IP Right Grant
- 2013-02-08 JP JP2014556745A patent/JP6114315B2/ja active Active
- 2013-02-08 CN CN201380008389.8A patent/CN104106045B/zh not_active Expired - Fee Related
- 2013-02-08 WO PCT/US2013/025401 patent/WO2013119995A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805475A (en) * | 1995-02-10 | 1998-09-08 | International Business Machines Corporation | Load-store unit and method of loading and storing single-precision floating-point registers in a double-precision architecture |
US7949696B2 (en) * | 2004-11-25 | 2011-05-24 | Sony Corporation | Floating-point number arithmetic circuit for handling immediate values |
CN101685383A (zh) * | 2008-09-28 | 2010-03-31 | 杨高祥 | 计算器、基于直接对阶的自由精度浮点数的运算电路 |
CN201628951U (zh) * | 2009-12-31 | 2010-11-10 | 西北工业大学 | 一种高速浮点规格化运算器 |
Also Published As
Publication number | Publication date |
---|---|
EP2812793A1 (en) | 2014-12-17 |
WO2013119995A1 (en) | 2013-08-15 |
US10289412B2 (en) | 2019-05-14 |
EP2812793B1 (en) | 2016-09-28 |
US20130212357A1 (en) | 2013-08-15 |
JP2015512092A (ja) | 2015-04-23 |
KR20140120373A (ko) | 2014-10-13 |
JP6114315B2 (ja) | 2017-04-12 |
CN104106045A (zh) | 2014-10-15 |
KR101763286B1 (ko) | 2017-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104106045B (zh) | 产生浮点常数值的方法、系统及设备 | |
CN104603744B (zh) | 用于高效浮点运算的方法和设备 | |
US11055379B2 (en) | Information processing method, information processing apparatus, and computer-readable recording medium | |
CN104520807B (zh) | 用于具有指数按比例缩放的浮点融合乘法加法的微架构 | |
CN104137058B (zh) | 用于十进制浮点数据逻辑提取的方法和装置 | |
CN105930128B (zh) | 一种利用浮点数计算指令实现大整数乘法计算加速方法 | |
JP2012069116A5 (zh) | ||
CN105224284B (zh) | 一种浮点数处理方法及装置 | |
CN104869397B (zh) | 一种基于slwe概率估计模型的自适应区间编码方法及解码方法 | |
CN107545044A (zh) | 一种数据表建立方法、电子设备及存储介质 | |
CN105634499A (zh) | 一种基于新短浮点型数据的数据转换方法 | |
JP2015512092A5 (zh) | ||
TW201720063A (zh) | 用於最佳化壓縮比的異質壓縮架構 | |
WO2022052625A1 (zh) | 一种定点与浮点转换器、处理器、方法以及存储介质 | |
EP3676698B1 (en) | Providing efficient floating-point operations using matrix processors in processor-based systems | |
EP2711835A1 (en) | Arithmetic processing device and arithmetic processing method | |
CN107992284A (zh) | 一种可编程器件的除法功能实现方法 | |
EP2431865B1 (en) | Semiconductor integrated circuit and index calculation method | |
US9841979B2 (en) | Method and apparatus for shuffling data using hierarchical shuffle units | |
CN103578094B (zh) | 镜头分割方法 | |
US20140188909A1 (en) | Radix sort with read-only key | |
CN117193707A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
Center | The IEEE standard for floating point arithmetic | |
TW548533B (en) | Method for fast calculating the square root of integers | |
CN104008261A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170901 Termination date: 20220208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |