CN101390045B - 用具可选次精度的浮点处理器执行浮点运算的方法和装置 - Google Patents

用具可选次精度的浮点处理器执行浮点运算的方法和装置 Download PDF

Info

Publication number
CN101390045B
CN101390045B CN2007800064904A CN200780006490A CN101390045B CN 101390045 B CN101390045 B CN 101390045B CN 2007800064904 A CN2007800064904 A CN 2007800064904A CN 200780006490 A CN200780006490 A CN 200780006490A CN 101390045 B CN101390045 B CN 101390045B
Authority
CN
China
Prior art keywords
floating
point
floating point
logic
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.)
Active
Application number
CN2007800064904A
Other languages
English (en)
Other versions
CN101390045A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101390045A publication Critical patent/CN101390045A/zh
Application granted granted Critical
Publication of CN101390045B publication Critical patent/CN101390045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Software 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或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器形成一体。
提供对所揭示实施例的先前描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不脱离本发明精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文展示的实施例,而是希望赋予本发明与权利要求书一致的完整范围,其中以单数形式对元件的参考不希望意味着“一个且只有一个”(除非明确这样陈述),而是意味着“一个或多个”。所属领域的技术人员已知或以后将知道的在整个本发明中描述的各种实施例的元件的所有结构和功能等效物都特意以引用的方式并入本文中,且希望权利要求书涵盖所述结构和功能等效物。此外,本文所揭示的内容都无意奉献给公众,不管权利要求书中是否明确陈述此揭示内容。所有权利要求要件都不应根据35U.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所述的浮点处理器,其中所述浮点运算器包含浮点乘法器,且功率被从所述浮点乘法器内包括部分乘积的元件的部分移除。
CN2007800064904A 2006-02-27 2007-02-27 用具可选次精度的浮点处理器执行浮点运算的方法和装置 Active CN101390045B (zh)

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 CN101390045A (zh) 2009-03-18
CN101390045B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750456A (zh) * 2013-12-30 2015-07-01 三星电子株式会社 用于浮点到整数变换的舍入注入方案

Families Citing this family (67)

* Cited by examiner, † Cited by third party
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
US8375078B2 (en) * 2009-09-09 2013-02-12 Via Technologies, Inc. Fast floating point result forwarding using non-architected data format
CN101916182B (zh) * 2009-09-09 2014-08-20 威盛电子股份有限公司 使用非架构的数据格式的快速浮点结果的转送
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
US9389863B2 (en) * 2014-02-10 2016-07-12 Via Alliance Semiconductor Co., Ltd. Processor that performs approximate computing instructions
US9588845B2 (en) * 2014-02-10 2017-03-07 Via Alliance Semiconductor Co., Ltd. Processor that recovers from excessive approximate computing error
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
SG11201608536QA (en) * 2014-05-08 2016-11-29 Micro Motion Inc Method for performing failsafe calculations
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing
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
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
KR102477516B1 (ko) 2017-05-17 2022-12-14 구글 엘엘씨 하드웨어에서 매트릭스 곱셈을 수행
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
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
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
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
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in 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 Акционерное общество "Ангстрем" (АО "Ангстрем") Устройство сложения-вычитания чисел для цифро-сигнального процессора
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
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues 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
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations 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
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication 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
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
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation 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
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations 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
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066205A1 (en) * 2003-09-18 2005-03-24 Bruce Holmer High quality and high performance three-dimensional graphics architecture for portable handheld devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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 マイクロコントローラユニットおよびそのコンパイラ
US7290024B2 (en) * 2003-12-18 2007-10-30 Intel Corporation Methods and apparatus for performing mathematical operations using scaled integers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066205A1 (en) * 2003-09-18 2005-03-24 Bruce Holmer High quality and high performance three-dimensional graphics architecture for portable handheld devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750456A (zh) * 2013-12-30 2015-07-01 三星电子株式会社 用于浮点到整数变换的舍入注入方案
CN104750456B (zh) * 2013-12-30 2018-06-19 三星电子株式会社 用于浮点到整数变换的舍入注入方案

Also Published As

Publication number Publication date
JP2009528638A (ja) 2009-08-06
RU2412462C2 (ru) 2011-02-20
EP1989614A2 (en) 2008-11-12
US8595279B2 (en) 2013-11-26
WO2007101216A3 (en) 2008-01-03
KR100994862B1 (ko) 2010-11-16
KR20080098440A (ko) 2008-11-07
MX2008010873A (es) 2008-09-04
JP6495220B2 (ja) 2019-04-03
JP5113089B2 (ja) 2013-01-09
JP2015133111A (ja) 2015-07-23
RU2008138564A (ru) 2010-04-10
WO2007101216A2 (en) 2007-09-07
US20070203967A1 (en) 2007-08-30
CN101390045A (zh) 2009-03-18
JP2017062804A (ja) 2017-03-30
JP2012230684A (ja) 2012-11-22
CA2641334C (en) 2015-07-21
BRPI0708284A2 (pt) 2011-05-24
CA2641334A1 (en) 2007-09-07

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倍精度演算の実行方法
US8898215B2 (en) High-radix multiplier-divider
GB2341702A (en) Floating-point multiply-accumulate unit
US9767073B2 (en) Arithmetic operation in a data processing system
Sutter et al. Comparative study of SRT-dividers in FPGA
JP2019101896A (ja) 演算処理装置および演算処理装置の制御方法
Takagi A hardware algorithm for computing reciprocal square root
JPH086766A (ja) 正弦余弦演算装置
Omondi Computer-Hardware Evaluation of Mathematical Functions
JP3793505B2 (ja) 演算器及びそれを用いた電子回路装置
US8095767B2 (en) Arbitrary precision floating number processing
Arnold et al. The denormal logarithmic number system
Minchola et al. A FPGA IEEE-754-2008 decimal64 floating-point multiplier
Chen Algorithms and architectures for decimal transcendental function computation
Wickerhauser et al. Numbers and Arithmetic
Padgett et al. Fixed Point Numbers
MX2008004592A (en) Floating-point processor with selectable subprecision

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