CN101390045A - 对可选次精度的功率要求减少的浮点处理器 - Google Patents
对可选次精度的功率要求减少的浮点处理器 Download PDFInfo
- Publication number
- CN101390045A CN101390045A CNA2007800064904A CN200780006490A CN101390045A CN 101390045 A CN101390045 A CN 101390045A CN A2007800064904 A CNA2007800064904 A CN A2007800064904A CN 200780006490 A CN200780006490 A CN 200780006490A CN 101390045 A CN101390045 A CN 101390045A
- Authority
- CN
- China
- Prior art keywords
- floating
- point
- logic
- floating point
- excess bits
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000000712 assembly Effects 0.000 claims description 8
- 238000000429 assembly Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
-
- 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Nonlinear Science (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
- Complex Calculations (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
本发明揭示一种用于用具有给定精度的浮点处理器来执行浮点运算的方法和设备。为对一个或一个以上浮点数字进行所述浮点运算选择次精度。所述次精度的选择针对所述一个或一个以上浮点数字中的每一者产生一个或一个以上过剩位。可从所述浮点处理器中另外将用于存储或处理所述一个或一个以上过剩位的一个或一个以上组件移除功率,且用从所述一个或一个以上组件移除的功率来执行所述浮点运算。
Description
技术领域
无
背景技术
浮点处理器是以较高速度执行某些数学运算(例如,乘法、除法、三角函数和指数函数)的专用计算单元。因此,强大的计算系统通常并入有浮点处理器,作为主处理器的一部分或作为协处理器。数字的浮点表示通常包含符号分量、指数和尾数。为了找出浮点数字的值,使尾数乘以升高为指数的幂的基数(在计算机中通常为2)。将符号应用于所得值。
浮点处理器的精度由用于表示尾数的位的数目界定。尾数中的位越多,精度越大。浮点处理器的精度通常视特定应用而定。举例来说,ANSI/IEEE-754标准(现代计算机通常遵循所述标准)指定32位单一格式,其具有1位符号、8位指数和23位尾数。在32位编码中只存储尾数的23个分数位,紧接在二进制小数点左方的整数位是隐含的。IEEE-754还指定64位双重格式,其具有1位符号、11位指数和53位尾数。与单一编码类似,在64位编码中只存储尾数的52个分数位,紧接在二进制小数点左方的整数位是隐含的。较高精度可达成较高准确度,但通常导致功率消耗增加。
浮点算术运算的执行可能必然伴有计算低效,因为浮点处理器通常局限于单一格式或单一格式和双重格式两者所提供的精度。虽然一些应用可能需要这些类型的精度,但其它应用可能不需要。举例来说,一些图形应用可能只需要16位尾数。对于这些图形应用,任何超过16位精度的准确度都趋向于导致不必要的功率消耗。这在功率特别受到重视的电池操作的装置中尤其受到关注,所述装置例如是无线电话、个人数字助理(PDA)、膝上型计算机、游戏控制台、寻呼机和相机(只列举几种)。如果已知应用总是需要某一减小的精度,那么可根据所述减小的精度来设计和构造浮点处理器。然而,对于通用处理器,常见的情形是,对于某些应用(例如产生3D图形),减小的精度可能是可接受的,且对于其它应用(例如实施全球定位系统(GPS)功能),可能需要较大的精度。因此,此项技术中需要一种浮点格式的减小的精度或次精度为可选择的浮点处理器。还可使用功率管理技术来确保浮点处理器不会消耗比支持选定次精度所必需的功率多的功率。
发明内容
揭示一种用具有精度格式的浮点处理器来执行浮点运算的方法的一方面。所述方法包含为对一个或一个以上浮点数字的浮点运算选择次精度,所述次精度的选择针对一个或一个以上浮点数字中的每一者产生一个或一个以上过剩位。所述方法进一步包含:从浮点处理器中另外将用于存储或处理一个或一个以上过剩位的一个或一个以上组件移除功率;以及用从所述一个或一个以上组件移除的功率来执行浮点运算。
揭示具有精度格式的浮点处理器的一个方面。所述浮点处理器包含浮点控制器,其经配置以为对一个或一个以上浮点数字的浮点运算选择次精度,所述次精度的选择针对一个或一个以上浮点数字中的每一者产生一个或一个以上过剩位,所述浮点控制器进一步经配置以从浮点处理器中另外将用于存储或处理一个或一个以上过剩位的一个或一个以上组件移除功率。浮点处理器进一步包含浮点运算器,其经配置以执行浮点运算。
揭示具有精度格式的浮点处理器的另一方面。所述浮点处理器包含:浮点寄存器,其具有多个存储元件,所述存储元件经配置以存储多个浮点数字;以及浮点运算器,其经配置以对存储在浮点寄存器中的浮点数字中的一者或一者以上执行浮点运算。浮点处理器进一步包含浮点控制器,其经配置以为对浮点数字中的所述一者或一者以上的浮点运算选择次精度,所述次精度的选择针对浮点数字中的所述一者或一者以上中的每一者产生一个或一个以上过剩位,所述一个或一个以上过剩位存储在浮点寄存器的存储元件中的一者或一者以上中,且其中浮点控制器进一步经配置以从用于所述一个或一个以上过剩位的存储元件移除功率。
揭示具有精度格式的浮点处理器的又一方面。所述浮点处理器包含:浮点寄存器,其经配置以存储多个浮点数字;以及浮点运算器,其具有经配置以对存储在浮点寄存器中的浮点数字中的一者或一者以上执行浮点运算的逻辑。浮点处理器进一步包含浮点控制器,其经配置以为对浮点数字中的所述一者或一者以上的浮点运算选择次精度,所述次精度的选择针对浮点数字中的所述一者或一者以上中的每一者产生一个或一个以上过剩位,且其中浮点控制器进一步经配置以从所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分移除功率。
应了解,所属领域的技术人员通过以下具体实施方式将容易明白浮点处理器和执行浮点运算的方法的其它实施例,以下具体实施方式中以说明的方式展示和描述浮点处理器和执行浮点运算的方法的各个实施例。将认识到,浮点处理器和执行浮点运算的方法的其它和不同实施例是可能的,且用于描述这些实施例的细节能够在许多方面进行修改。因此,附图和具体实施方式将被视为本质上是说明性的而非限制性的。
附图说明
图1是说明具有可选次精度的浮点处理器的实例的功能框图;
图2是在具有可选次精度的浮点处理器中使用的浮点寄存器堆的实例的图解说明;
图3A是说明使用具有可选次精度的浮点处理器执行的浮点加法的实例的概念图;以及
图3B是说明使用具有可选次精度的浮点处理器执行的浮点乘法的实例的概念图。
具体实施方式
下文结合附图而陈述的具体实施方式意在描述本发明的各个实施例,而无意表示可实践本发明的仅有实施例。为了便于全面理解本发明,具体实施方式包含特定细节。然而,所属领域的技术人员将了解,可在没有这些特定细节的情况下实践本发明。在有些情况下,为了更清楚地说明本发明的概念,以框图形式展示众所周知的结构和组件。
在浮点处理器的至少一个实施例中,一个或一个以上浮点运算的精度可相对于指定格式的精度而减小。另外,可使用功率管理技术来确保浮点处理器不会消耗比支持选定次精度所必需的功率多的功率。向浮点处理器提供的用以执行数学运算的指令可包含可编程控制字段。所述控制字段可用于选择浮点格式的次精度,且管理功率消耗。通过将浮点格式的次精度选择为特定运算所需的次精度,从而减少浮点处理器支持选定次精度的功率消耗,可实现较大的效率以及显著的功率节省。
图1是说明具有可选次精度的浮点处理器(FPP)100的实例的功能框图。浮点处理器100包含浮点寄存器堆(FPR)110;浮点控制器(CTL)130;以及浮点数学运算器(FPO)140。浮点处理器100可实施为主处理器的一部分、协处理器或通过总线或其它信道连接到主处理器的单独实体。
浮点寄存器堆110可以是任何合适的存储媒体。在图1所示的实施例中,浮点寄存器堆110包含若干可寻址寄存器位置115-1(REG1)、115-2(REG2)、…、115-N(REGN),其每一者经配置以存储浮点运算的运算数。所述运算数可包含(例如)来自存储器的数据和/或先前浮点运算的结果。向浮点处理器提供的指令可用于将运算数移动到主存储器或从主存储器移动运算数。
图2示意性地说明在具有可选次精度的浮点处理器100中使用的浮点寄存器堆110(如结合图1所述)的数据结构的实例。在图2所说明的实施例中,浮点寄存器堆110包含十六个可寻址寄存器位置,为了方便起见,在图2中用参考标号200来指代每一寄存器位置。每一寄存器位置200经配置以存储32位二进制浮点数字(采用IEEE-754 32位单一格式)。具体地说,每一寄存器位置200含有1位符号202、8位指数204和24位分数206。然而,当然应了解,浮点处理器100的其它实施例可包含浮点寄存器堆110,其格式与IEEE 32位单一格式不同(包含但不限于IEEE 64位双重格式),且/或可含有不同数目的寄存器位置。
返回参看图1,浮点控制器130可用于使用控制信号133来选择浮点运算的次精度。控制寄存器(CRG)137可加载有(例如)在一个或一个以上指令的控制字段中传输的次精度选择位。以稍后将更详细描述的方式,浮点控制器130可使用次精度选择位来减小运算数的精度。次精度选择位还可用于断开浮点处理器100的一部分。举例来说,次精度选择位可用于从用于所选次精度不需要的位的浮点寄存器元件移除功率。次精度选择位还可用于从浮点运算器FPO 140中当选定次精度减小时不使用的逻辑移除功率。一连串开关可用于移除功率和将功率施加到浮点寄存器元件和浮点运算器140中的逻辑。所述开关可在浮点寄存器110和浮点运算器140的内部或外部,所述开关可以是场效应晶体管或任何其它类型的开关。
浮点运算器140可包含一个或一个以上经配置以执行浮点运算的组件。这些组件可包含(但不限于)计算单元,例如:浮点加法器(ADD)142,其经配置以执行浮点相加和相减指令;及浮点乘法器(MUL)144,其经配置以执行浮点相乘指令。如图1中所见,浮点运算器140中的计算单元ADD 142和MUL 144中的每一者以允许在计算单元之间且在每一计算单元与浮点寄存器堆110之间转移运算数的方式彼此耦合且耦合到浮点寄存器堆110。浮点运算器可通过各个连接件134、135、136、137、138和139耦合到浮点寄存器(如所说明的),或可经由总线或任何其它合适耦合件而耦合。在浮点处理器100的至少一个实施例中,计算单元(ADD 142和MUL 144)中的任何一者的输出可以是任何其它计算单元的输入。浮点寄存器堆110可用于存储中间结果以及从浮点运算器140输出的结果。
加法器142可以是常规浮点加法器,其经配置以便以浮点格式执行标准算术运算。乘法器144可以是常规浮点乘法器,其经配置以执行浮点乘法。乘法器144可与(例如)布斯(Booth)或经修改的布斯算法一起实施,且可包含:部分乘积产生逻辑,其产生部分乘积;以及许多进位保留加法器(carry-save adder),其将所述部分乘积相加。
虽然为了简单起见,图1中只展示了加法器142和乘法器144,但浮点运算器140还可包含其它计算单元(未图示),所述计算单元是此项技术中已知的,且经配置以执行其它类型的浮点数学运算。这些计算单元可包含(但不限于):浮点除法器,其经配置以执行浮点相除指令;浮点开方器,其经配置以执行浮点开方指令;浮点指数运算器,其经配置以执行浮点指数指令;浮点对数运算器,其经配置以执行用于计算对数函数的指令;以及浮点三角运算器,其经配置以执行用于计算三角函数的指令。
浮点处理器100的不同实施例可包含上文所列计算单元中的仅一个、或一些或所有。举例来说,加法器142和乘法器144每一者可包含一个或一个以上众所周知的常规子单元,例如:对准器,其使输入运算数对准;规范器(normalizer),其将结果转换成标准格式;以及舍入器,其基于指定舍入模式而对结果进行舍入。加法器142和乘法器144中还包含众所周知的电路元件,例如位反相器、多路复用器、计数器和组合逻辑电路。
如图1中所说明,浮点运算器140耦合到浮点寄存器堆110,使得对于所请求的浮点运算的每一指令,相关计算单元(即,加法器142或乘法器144)可从浮点寄存器堆110接收存储在寄存器位置REG1、…、REGN中的一者或一者以上中的一个或一个以上运算数。
在从浮点寄存器堆110接收到运算数之后,浮点运算器140中的一个或一个以上计算单元可以浮点控制器130所选择的次精度,对接收到的运算数执行所请求的浮点运算的指令。可将输出发送回到浮点寄存器110以供存储,如图1中所示。
在浮点处理器110的实施例中,可在程序控制下使用软件可选模式来减小浮点运算的精度,或者如上文所阐释,向浮点处理器100提供的指令可包含含有次精度选择位的可编程控制字段。将次精度选择位写入到控制寄存器137,控制寄存器137又在浮点运算期间控制每一运算数的尾数的位长度。或者,可将次精度选择位直接从任何合适的用户界面写入到控制寄存器137,所述用户界面包含(例如,但不限于)图1中所示的监视器屏幕/键盘或鼠标150。在浮点处理器100的另一实施例中,可将次精度选择位直接从主处理器或其操作系统写入到控制寄存器137。控制寄存器137(其图示于浮点控制器130中)可作为独立实体驻存在其它位置、并入到另一实体中或分布在多个实体上。
次精度选择位可用于减小浮点运算的精度。这可以多种方式来实现。在一个实施例中,浮点控制器130可使功率从用于分数的满足次精度选择位所指定精度所不需要的过剩位的浮点寄存器元件被移除。举例来说,如果浮点寄存器文件中的每一位置含有23位分数,且浮点运算所需的次精度为10位,那么只需要分数的9个普通有效位(MSB);隐藏位或整数位构成第十个位。可从用于其余14个分数位的浮点寄存器元件移除功率。如果一个或一个以上指令的次精度增加到16位,那么将需要尾数的15个MSB。在后一种情况下,可从用于分数的8个最低有效位(LSB)的浮点寄存器元件移除功率。
另外,浮点运算器140中对应于过剩尾数位的逻辑不需要功率。因此,可通过将功率移除到浮点运算器140中由于所选择的次精度而保持未使用的逻辑。
图3A是说明浮点加法运算的实例的概念图,其中选择性地将功率施加到浮点运算器中的逻辑。具体地说,图3A概念性地说明浮点加法运算,其中两个输入浮点数字302和304(每一者由选定次精度表征)相加在一起。出于简单起见,假定两个数字302和304已经对准,从而不需要进行移位。通过一连串级(参看图3A,具有参考标号3101、3012、310i、…、310n)来执行完整精度模式下的浮点加法运算。根据标准惯例,浮点寄存器依序存储组成每个数字的位,从最右边的LSB到最左边的MSB。跨越图3A从右向左移动的级中的每一连续级均涉及与先前级中所涉及的位相比有效性增加的位。
在图3A所说明的实例中,用线305来表示选定次精度。可从用于实施线305右边的每一级的逻辑移除功率。将来自最后断电的级310i的进位输出C强制成零。功率只供应到用于实施线305左边的每一级的逻辑。在图3A中,向浮点运算器的现用级提供的带电的位使用参考标号322展示为X,而向功率被移除的级提供的不带电的位使用参考标号324展示为圆圈。
图3B是说明浮点乘法运算的实例的概念图,其中将功率选择性地施加到浮点运算器中的逻辑。在浮点乘法器MUL(图1中以参考标号144展示)中执行浮点乘法运算。在乘法器中,可使大量逻辑断电,从而提供显著的功率节省。如图3B中所说明的二进制乘法基本上是经移位浮点数字的一连串加法。在所说明的实施例中,使用移位与相加技术,在k位被乘数402与k位乘数404之间执行二进制乘法。移位与相加技术可由布斯算法或经修改的布斯算法乘法器代替。
与在浮点相加的情况下一样,在一连串级(在图3B中说明为410-1、…、410-m)中执行浮点相乘。出于简单起见假定使用布斯算法,可针对乘数404中的每个位产生一个部分乘积,部分乘积420-i在对应的级410-i期间产生。如果乘数的值为0,那么其对应的部分乘积只由0组成;如果所述位的值为1,那么其对应的部分乘积是被乘数的拷贝。每一部分乘积420-i以随与之相关联的乘数位而变的形式向左移位,此后运算继续移到下一个级。每一部分乘积因此可被视为经移位的数字。与乘数中的位0相关联的部分乘积向左移位零个位,且与位1相关联的部分乘积向左移位一个位。将部分乘积或经移位的浮点数字420-i相加在一起,以便为相乘产生输出值430。
在图3B所说明的实施例中,用线405来指示控制器130对所需减小精度的选择。与在结合图3A而描述的浮点加法的情况下一样,可从用于实施线405右边的级的逻辑移除功率。只将功率施加到支持选定次精度实际需要的级,即在线405左边的级。在图3B中,向已加电的逻辑提供的位展示为X,而向已断电的级提供的位展示为圆圈。
如从图3B所见,对于第一部分乘积420-1,用于许多(N)个位(使用参考标号402展示)的逻辑不带电。对于第二部分乘积,用于N-1个位的逻辑不带电,依此类推。对于第m个部分乘积或经移位的浮点数字420-m,用于许多(N-m+1)个位(使用参考标号414展示)的逻辑不带电。位的数目N经选择以使得其余级的精度不会受到不利影响。
从上文所述的浮点乘法得出的输出值的宽度(即位的数目)等于相乘在一起的两个输入值402和404的宽度的总和。输出值430可舍位到选定次精度,即可舍去输出值430中精度小于选定精度的位中的任何一者,以产生由选定精度表征的经舍位的输出数字。或者,可将输出值430舍入到选定精度。在任一种情况下,有效性小于选定精度的输出位也可不带电。
结合本文所揭示的实施例而描述的各种说明性逻辑单元、区块、模块、电路、元件和/或组件可在浮点处理器中实施或执行,浮点处理器是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述功能的任何组合的一部分。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算组件的组合,例如DSP与微处理器的组合、多个微处理器、一个或一个以上微处理器与DSP核心的结合或任何其它此配置。
结合本文所揭示的实施例而描述的方法或算法可直接在硬件中、在由处理器执行的软件模块中或在所述两者的组合中实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可拆式盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器形成一体。
提供对所揭示实施例的先前描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不脱离本发明精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文展示的实施例,而是希望赋予本发明与权利要求书一致的完整范围,其中以单数形式对元件的参考不希望意味着“一个且只有一个”(除非明确这样陈述),而是意味着“一个或一个以上”。所属领域的技术人员已知或以后将知道的在整个本发明中描述的各种实施例的元件的所有结构和功能等效物都特意以引用的方式并入本文中,且希望权利要求书涵盖所述结构和功能等效物。此外,本文所揭示的内容都无意奉献给公众,不管权利要求书中是否明确陈述此揭示内容。所有权利要求要件都不应根据35 U.S.C.§112第六段的规定来解释,除非特意使用短语“用于……的装置”来陈述所述要件,或在方法项的情况下使用短语“用于……的步骤”来陈述所述要件。
Claims (24)
1.一种用具有最大精度的浮点处理器来执行浮点运算的方法,其包括:
为对一个或一个以上浮点数字进行所述浮点运算选择小于所述最大精度的次精度,所述次精度的所述选择针对所述一个或一个以上浮点数字中的每一者产生一个或一个以上过剩位;
从所述浮点处理器中另外将用于存储或处理所述一个或一个以上过剩位的一个或一个以上组件移除功率;以及
用从所述一个或一个以上组件移除的功率来执行所述浮点运算。
2.根据权利要求1所述的方法,其进一步包括使用具有多个存储元件的浮点寄存器,所述一个或一个以上过剩位存储在所述存储元件中的一者或一者以上中,且其中所述从中移除功率的一个或一个以上组件包含用于所述一个或一个以上过剩位的所述存储元件。
3.根据权利要求2所述的方法,其进一步包括使用具有用以执行所述浮点运算的逻辑的浮点运算器,且其中所述从中移除功率的一个或一个以上组件包含所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分。
4.根据权利要求1所述的方法,其进一步包括使用具有用以执行所述浮点运算的逻辑的浮点运算器,且其中所述从中移除功率的一个或一个以上组件包含所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分。
5.根据权利要求4所述的方法,其中所述浮点运算包括加法。
6.根据权利要求5所述的方法,其进一步包括将来自所述逻辑的所述部分的进位输出强制为零。
7.根据权利要求4所述的方法,其中所述浮点运算包括乘法。
8.一种具有最大精度的浮点处理器,其包括:
浮点控制器,其经配置以为对一个或一个以上浮点数字进行浮点运算选择小于所述最大精度的次精度,所述次精度的所述选择针对所述一个或一个以上浮点数字中的每一者产生一个或一个以上过剩位,所述浮点控制器进一步经配置以从所述浮点处理器中另外将用于存储或处理所述一个或一个以上过剩位的一个或一个以上组件移除功率;以及
浮点运算器,其经配置以执行所述浮点运算。
9.根据权利要求8所述的浮点处理器,其进一步包括浮点寄存器,所述浮点寄存器具有多个存储元件,所述一个或一个以上过剩位存储在所述存储元件中的一者或一者以上中,且其中所述可从中移除功率的一个或一个以上组件包含用于所述一个或一个以上过剩位的所述存储元件。
10.根据权利要求9所述的浮点处理器,其中所述浮点运算器包括用以执行所述浮点运算的逻辑,且其中所述可从中移除功率的一个或一个以上组件包含所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分。
11.根据权利要求8所述的浮点处理器,其中所述浮点运算器包括用以执行所述浮点运算的逻辑,且其中所述可从中移除功率的一个或一个以上组件包含所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分。
12.根据权利要求11所述的浮点处理器,其中所述浮点运算器包含浮点加法器。
13.根据权利要求12所述的浮点处理器,其中所述浮点运算器进一步经配置以在所述功率被移除时,将来自所述逻辑的所述部分的进位输出强制为零。
14.根据权利要求11所述的浮点处理器,其中所述浮点运算器包含浮点乘法器。
15.一种具有最大精度的浮点处理器,其包括:
浮点寄存器,其具有多个存储元件,所述存储元件经配置以存储多个浮点数字;
浮点运算器,其经配置以对存储在所述浮点寄存器中的所述浮点数字中的一者或一者以上执行浮点运算;以及
浮点控制器,其经配置以为对所述浮点数字中的所述一者或一者以上进行浮点运算选择小于所述最大精度的次精度,所述次精度的所述选择针对所述浮点数字中的所述一者或一者以上中的每一者产生一个或一个以上过剩位,所述一个或一个以上过剩位存储在所述浮点寄存器的所述存储元件中的一者或一者以上中,且其中所述浮点控制器进一步经配置以从用于所述一个或一个以上过剩位的所述存储元件移除功率。
16.根据权利要求15所述的浮点处理器,其中所述浮点运算器包括经配置以执行所述浮点运算的逻辑,且其中所述浮点控制器进一步经配置以从所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分移除功率。
17.根据权利要求16所述的浮点处理器,其中所述浮点运算器包含浮点加法器。
18.根据权利要求17所述的浮点处理器,其中所述浮点运算器进一步经配置以在所述功率被移除时,将来自所述逻辑的所述部分的进位输出强制为零。
19.根据权利要求16所述的浮点处理器,其中所述浮点运算器包含浮点乘法器。
20.一种具有最大精度的浮点处理器,其包括:
浮点寄存器,其经配置以存储多个浮点数字;
浮点运算器,其具有经配置以对存储在所述浮点寄存器中的所述浮点数字中的一者或一者以上执行浮点运算的逻辑;以及
浮点控制器,其经配置以为对所述浮点数字中的所述一者或一者以上进行浮点运算选择小于所述最大精度的次精度,所述次精度的所述选择针对所述浮点数字中的所述一者或一者以上中的每一者产生一个或一个以上过剩位,且其中所述浮点控制器进一步经配置以从所述逻辑的另外将用于处理所述一个或一个以上过剩位的部分移除功率。
21.根据权利要求20所述的浮点处理器,其中所述浮动寄存器包括多个存储元件,所述存储元件经配置以存储所述浮点数字,所述一个或一个以上过剩位存储在所述存储元件中的一者或一者以上中,且其中所述浮点控制器进一步经配置以从用于所述一个或一个以上过剩位的所述存储元件移除功率。
22.根据权利要求20所述的浮点处理器,其中所述浮点运算器包含浮点加法器。
23.根据权利要求22所述的浮点处理器,其中所述浮点运算器进一步经配置以在所述功率被移除时将来自所述逻辑的所述部分的进位输出强制为零。
24.根据权利要求20所述的浮点处理器,其中所述浮点运算器包含浮点乘法器,且功率被从所述浮点乘法器内包括部分乘积的元件的部分移除。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/363,118 US8595279B2 (en) | 2006-02-27 | 2006-02-27 | Floating-point processor with reduced power requirements for selectable subprecision |
US11/363,118 | 2006-02-27 | ||
PCT/US2007/062908 WO2007101216A2 (en) | 2006-02-27 | 2007-02-27 | Floating-point processor with reduced power requirements for selectable subprecision |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101390045A true CN101390045A (zh) | 2009-03-18 |
CN101390045B CN101390045B (zh) | 2011-12-21 |
Family
ID=38445306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800064904A Active CN101390045B (zh) | 2006-02-27 | 2007-02-27 | 用具可选次精度的浮点处理器执行浮点运算的方法和装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8595279B2 (zh) |
EP (1) | EP1989614A2 (zh) |
JP (4) | JP5113089B2 (zh) |
KR (1) | KR100994862B1 (zh) |
CN (1) | CN101390045B (zh) |
BR (1) | BRPI0708284A2 (zh) |
CA (1) | CA2641334C (zh) |
MX (1) | MX2008010873A (zh) |
RU (1) | RU2412462C2 (zh) |
WO (1) | WO2007101216A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916182A (zh) * | 2009-09-09 | 2010-12-15 | 威盛电子股份有限公司 | 使用非架构的数据格式的快速浮点结果的转送 |
TWI450191B (zh) * | 2009-09-09 | 2014-08-21 | Via Tech Inc | 微處理器以及處理浮點運算指令的方法 |
CN107077323A (zh) * | 2014-11-03 | 2017-08-18 | Arm 有限公司 | 使用可编程有效性数据的数据处理的装置和方法 |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412760B2 (en) | 2008-07-22 | 2013-04-02 | International Business Machines Corporation | Dynamic range adjusting floating point execution unit |
US8150902B2 (en) | 2009-06-19 | 2012-04-03 | Singular Computing Llc | Processing with compact arithmetic processing element |
US8219605B2 (en) * | 2010-05-28 | 2012-07-10 | International Business Machines Corporation | Decimal floating-pointing quantum exception detection |
US8918446B2 (en) * | 2010-12-14 | 2014-12-23 | Intel Corporation | Reducing power consumption in multi-precision floating point multipliers |
US20120215825A1 (en) * | 2011-02-22 | 2012-08-23 | Mavalankar Abhay M | Efficient multiplication techniques |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US9128697B1 (en) * | 2011-07-18 | 2015-09-08 | Apple Inc. | Computer numerical storage format with precision type indicator |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US10289412B2 (en) | 2012-02-09 | 2019-05-14 | Qualcomm Incorporated | Floating point constant generation instruction |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US9829956B2 (en) * | 2012-11-21 | 2017-11-28 | Nvidia Corporation | Approach to power reduction in floating-point operations |
US9189200B1 (en) * | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9268528B2 (en) * | 2013-05-23 | 2016-02-23 | Nvidia Corporation | System and method for dynamically reducing power consumption of floating-point logic |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US9461667B2 (en) * | 2013-12-30 | 2016-10-04 | Samsung Electronics Co., Ltd. | Rounding injection scheme for floating-point to integer conversion |
US9389863B2 (en) * | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
US10235232B2 (en) | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
US9588845B2 (en) * | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
BR112016025201B1 (pt) * | 2014-05-08 | 2022-08-23 | Micro Motion, Inc. | Método para realizar cálculos à prova de falhas, dispositivo para realizar cálculos à prova de falhas para operar um hardware, e, método para compilar um código para operar um hardware em um modo à prova de falhas |
US10297001B2 (en) * | 2014-12-26 | 2019-05-21 | Intel Corporation | Reduced power implementation of computer instructions |
US9927862B2 (en) | 2015-05-21 | 2018-03-27 | Microsoft Technology Licensing, Llc | Variable precision in hardware pipelines for power conservation |
US11010166B2 (en) * | 2016-03-31 | 2021-05-18 | Intel Corporation | Arithmetic logic unit with normal and accelerated performance modes using differing numbers of computational circuits |
US20170322808A1 (en) * | 2016-05-05 | 2017-11-09 | Cirrus Logic International Semiconductor Ltd. | Low-power processor with support for multiple precision modes |
CN107688854B (zh) * | 2016-08-05 | 2021-10-19 | 中科寒武纪科技股份有限公司 | 一种能支持不同位宽运算数据的运算单元、方法及装置 |
US10042607B2 (en) | 2016-08-22 | 2018-08-07 | Altera Corporation | Variable precision floating-point multiplier |
US10402168B2 (en) * | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
JP7114622B2 (ja) | 2017-05-17 | 2022-08-08 | グーグル エルエルシー | ハードウェアにおける行列乗算の実行 |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
RU2686628C1 (ru) * | 2017-12-25 | 2019-04-29 | Акционерное общество "Ангстрем" (АО "Ангстрем") | Устройство сложения-вычитания чисел для цифро-сигнального процессора |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
CN109086815B (zh) * | 2018-07-24 | 2021-08-31 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
US10713012B2 (en) | 2018-10-15 | 2020-07-14 | Intel Corporation | Method and apparatus for efficient binary and ternary support in fused multiply-add (FMA) circuits |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
EP3792752A1 (en) * | 2019-09-11 | 2021-03-17 | Nokia Solutions and Networks Oy | Arithmetic unit |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
GB2600915B (en) * | 2020-10-07 | 2023-02-15 | Graphcore Ltd | Floating point number format |
US11797074B2 (en) | 2021-05-25 | 2023-10-24 | Google Llc | Multi-mode integrated circuits with balanced energy consumption |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1280624A1 (ru) | 1985-07-01 | 1986-12-30 | Предприятие П/Я А-7638 | Устройство дл умножени чисел с плавающей зап той |
JPH0269822A (ja) | 1988-09-06 | 1990-03-08 | Fujitsu Ltd | 浮動小数点演算回路 |
US5200912A (en) | 1991-11-19 | 1993-04-06 | Advanced Micro Devices, Inc. | Apparatus for providing power to selected portions of a multiplying device |
JPH07146777A (ja) | 1993-11-24 | 1995-06-06 | Matsushita Electric Ind Co Ltd | 演算装置 |
JP3428741B2 (ja) * | 1994-02-14 | 2003-07-22 | 松下電器産業株式会社 | 演算装置とアドレス発生装置及びプログラム制御装置 |
US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US6233672B1 (en) * | 1997-03-06 | 2001-05-15 | Advanced Micro Devices, Inc. | Piping rounding mode bits with floating point instructions to eliminate serialization |
JPH10326129A (ja) * | 1997-05-23 | 1998-12-08 | Mitsubishi Electric Corp | 半導体装置 |
WO2002057893A2 (en) | 2000-10-27 | 2002-07-25 | Arc International (Uk) Limited | Method and apparatus for reducing power consuption in a digital processor |
US7020789B2 (en) * | 2002-12-31 | 2006-03-28 | Intel Corporation | Processor core and methods to reduce power by not using components dedicated to wide operands when a micro-instruction has narrow operands |
TWI269228B (en) | 2003-01-07 | 2006-12-21 | Ibm | Floating point unit, processor chip, and computer system to resolve data dependencies |
US7496776B2 (en) * | 2003-08-21 | 2009-02-24 | International Business Machines Corporation | Power throttling method and apparatus |
JP2005078518A (ja) | 2003-09-02 | 2005-03-24 | Renesas Technology Corp | マイクロコントローラユニットおよびそのコンパイラ |
US7418606B2 (en) | 2003-09-18 | 2008-08-26 | Nvidia Corporation | High quality and high performance three-dimensional graphics architecture for portable handheld devices |
US7290024B2 (en) * | 2003-12-18 | 2007-10-30 | Intel Corporation | Methods and apparatus for performing mathematical operations using scaled integers |
-
2006
- 2006-02-27 US US11/363,118 patent/US8595279B2/en active Active
-
2007
- 2007-02-27 CA CA2641334A patent/CA2641334C/en active Active
- 2007-02-27 RU RU2008138564/08A patent/RU2412462C2/ru active
- 2007-02-27 KR KR1020087023592A patent/KR100994862B1/ko active IP Right Grant
- 2007-02-27 WO PCT/US2007/062908 patent/WO2007101216A2/en active Application Filing
- 2007-02-27 EP EP07757578A patent/EP1989614A2/en not_active Ceased
- 2007-02-27 CN CN2007800064904A patent/CN101390045B/zh active Active
- 2007-02-27 BR BRPI0708284-3A patent/BRPI0708284A2/pt not_active Application Discontinuation
- 2007-02-27 JP JP2008557471A patent/JP5113089B2/ja active Active
- 2007-02-27 MX MX2008010873A patent/MX2008010873A/es active IP Right Grant
-
2012
- 2012-06-07 JP JP2012130000A patent/JP2012230684A/ja not_active Withdrawn
-
2014
- 2014-12-19 JP JP2014258023A patent/JP2015133111A/ja not_active Withdrawn
-
2016
- 2016-10-21 JP JP2016206781A patent/JP6495220B2/ja active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916182A (zh) * | 2009-09-09 | 2010-12-15 | 威盛电子股份有限公司 | 使用非架构的数据格式的快速浮点结果的转送 |
CN101916182B (zh) * | 2009-09-09 | 2014-08-20 | 威盛电子股份有限公司 | 使用非架构的数据格式的快速浮点结果的转送 |
TWI450191B (zh) * | 2009-09-09 | 2014-08-21 | Via Tech Inc | 微處理器以及處理浮點運算指令的方法 |
CN107077323A (zh) * | 2014-11-03 | 2017-08-18 | Arm 有限公司 | 使用可编程有效性数据的数据处理的装置和方法 |
CN107077323B (zh) * | 2014-11-03 | 2021-06-01 | Arm 有限公司 | 使用可编程有效性数据的数据处理的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
MX2008010873A (es) | 2008-09-04 |
JP2009528638A (ja) | 2009-08-06 |
RU2008138564A (ru) | 2010-04-10 |
JP2015133111A (ja) | 2015-07-23 |
RU2412462C2 (ru) | 2011-02-20 |
JP6495220B2 (ja) | 2019-04-03 |
EP1989614A2 (en) | 2008-11-12 |
JP2017062804A (ja) | 2017-03-30 |
JP5113089B2 (ja) | 2013-01-09 |
US20070203967A1 (en) | 2007-08-30 |
KR100994862B1 (ko) | 2010-11-16 |
WO2007101216A2 (en) | 2007-09-07 |
JP2012230684A (ja) | 2012-11-22 |
CA2641334A1 (en) | 2007-09-07 |
CN101390045B (zh) | 2011-12-21 |
US8595279B2 (en) | 2013-11-26 |
KR20080098440A (ko) | 2008-11-07 |
WO2007101216A3 (en) | 2008-01-03 |
BRPI0708284A2 (pt) | 2011-05-24 |
CA2641334C (en) | 2015-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101390045B (zh) | 用具可选次精度的浮点处理器执行浮点运算的方法和装置 | |
CN101317152B (zh) | 执行浮点运算的方法及浮点处理器 | |
Mohan et al. | Residue Number Systems | |
US8725786B2 (en) | Approximate SRT division method | |
JPH08185309A (ja) | 4倍精度演算の実行方法 | |
US9767073B2 (en) | Arithmetic operation in a data processing system | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP2019101896A (ja) | 演算処理装置および演算処理装置の制御方法 | |
US20050289208A1 (en) | Methods and apparatus for determining quotients | |
Sutter et al. | Comparative study of SRT-dividers in FPGA | |
Yang et al. | An architecture of area-effective high radix floating-point divider with low-power consumption | |
Takagi | A hardware algorithm for computing reciprocal square root | |
Oberman et al. | Design issues in floating-point division | |
JPH086766A (ja) | 正弦余弦演算装置 | |
Omondi | Computer-Hardware Evaluation of Mathematical Functions | |
Arnold et al. | The denormal logarithmic number system | |
US8095767B2 (en) | Arbitrary precision floating number processing | |
Minchola et al. | A FPGA IEEE-754-2008 decimal64 floating-point multiplier | |
Chen | Algorithms and architectures for decimal transcendental function computation | |
Takagi et al. | Digit-recurrence algorithm for computing reciprocal square-root | |
Wickerhauser et al. | Numbers and Arithmetic | |
Padgett et al. | Fixed Point Numbers |
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 |