CN104866279A - 实现浮点数指数分析替换的装置及方法 - Google Patents
实现浮点数指数分析替换的装置及方法 Download PDFInfo
- Publication number
- CN104866279A CN104866279A CN201410060562.5A CN201410060562A CN104866279A CN 104866279 A CN104866279 A CN 104866279A CN 201410060562 A CN201410060562 A CN 201410060562A CN 104866279 A CN104866279 A CN 104866279A
- Authority
- CN
- China
- Prior art keywords
- floating
- index
- numbers
- point
- analysis
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提出一种实现浮点数指数分析替换的装置,包括:浮点寄存器组,用于保存浮点数;指数分析器,用于从浮点寄存器组中获取至少两个浮点数,并根据数据类型对至少两个浮点数进行分析,以获取至少两个浮点数的指数;指数选择器,用于根据至少两个浮点数的数据类型和操作类型对由指数分析器获取的至少两个浮点数中的至少一个浮点数的指数进行替换。本发明的装置,利用原有的浮点寄存器和指数分析器,以及指数选择器,实现了对浮点寄存器中两个浮点数间的指数分析及替换,避免了传统浮点运算在指数替换时的不足。本发明还提出一种实现浮点数指数分析替换的方法。
Description
技术领域
本发明涉及微处理器体系结构技术领,尤其涉及一种实现浮点数指数分析替换的装置及方法。
背景技术
随着数字通信技术的快速发展,对浮点数字的信号处理能力的要求也越来越多样性和大量性。浮点运算的数据精度高,利用硬件的并行性,可以实现大批量数据的处理,提高应用的广泛性和数字信号处理的实时性。
浮点运算的特点是可同时对指数和尾数分别计算,在提高速度的同时,保留精度。在实际中浮点运算也和定点运算一样,具有多种数学操作,加减乘除等。在越来越广泛的数字信号处理中,对浮点的计算呈现了多样性,快速性等特点。在传统的浮点计算中,数据只有单独的加减乘除等,如果要直接对某一个浮点数据的指数进行处理,而不修改指数,比如某些应用中需要实现对浮点数据的校正,指数的分析替换(比如浮点数A和浮点数B的指数互相替换,或者浮点数A的指数替代浮点数B的指数)。在某些特殊计算中,需要实时校正信号的有效性,会替换浮点数据的指数,使用标准的指数来计算指数的正确性,以及分析数据是否合理,即是否处于未实现浮点例外。在传统的浮点计算中,没有专门对浮点指数操作的装置,需要使用两个数据的移位对齐操作,需要多级步骤,在数据准备上使用太多时间,降低了信号处理的效率,而单独的指数分析替换转置,能够高效的对浮点指数进行处理,得到想要的结果,以便后续的计算使用。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种实现浮点数指数分析替换的装置。该装置实现了对浮点寄存器中两个浮点数间的指数替换,避免了传统浮点运算在指数替换时的不足。
本发明的第二个目的在于提出一种实现浮点数指数分析替换的方法。
为了实现上述目的,本发明第一方面实施例的实现浮点数指数分析替换的装置包括:浮点寄存器组,用于保存浮点数;指数分析器,用于从所述浮点寄存器组中获取至少两个浮点数,并根据数据类型对所述至少两个浮点数进行分析,以获取所述至少两个浮点数的指数;指数选择器,用于根据所述至少两个浮点数的数据类型对由所述指数分析器获取的所述至少两个浮点数中的至少一个浮点数的指数进行替换。
根据本发明实施例的实现浮点数指数分析替换的装置,利用原有的浮点寄存器和指数分析器,以及指数选择器,实现了对浮点寄存器中两个浮点数间的指数分析及替换,避免了传统浮点运算在指数替换时的不足。
在一些示例中,所述浮点数的数据类型包括单精度和双精度。
在一些示例中,所述指数分析器还用于,根据数据类型判断所述至少两个浮点数是否是正常数据,如果是,则所述指数分析器输出所述至少浮点数的指数至所述指数选择器,以便所述指数选择器对所述至少两个浮点数中的至少一个浮点数的指数进行替换。
在一些示例中,所述指数选择器还用于,输出指数替换后的所述至少一个浮点数。
本发明第二方面实施例的实现浮点数指数分析替换的方法,包括以下步骤:从第一浮点寄存器组读取至少两个浮点数;利用指数分析器分别对所述至少两个浮点数进行分析,获取所述至少两个浮点数的指数,并发送给指数选择器;所述指数选择器对由所述指数分析器获取的所述至少两个浮点数中的至少一个浮点数的指数进行替换;输出指数替换后的所述至少一个浮点数并保存在第一浮点寄存器组或另外的第二浮点寄存器组中。
根据本发明实施例的实现浮点数指数分析替换的方法,利用原有的浮点寄存器和指数分析器,以及指数选择器,实现了对浮点寄存器中两个浮点数间的指数分析及替换,避免了传统浮点运算在指数替换时的不足。
在一些示例中,所述浮点数的数据类型包括单精度和双精度。
在一些示例中,在进行所述利用指数分析器分别获取所述至少两个浮点数的指数前,根据数据类型判断所述至少两个浮点数是否是正常数据,如果是,则所述指数分析器输出所述至少两个个浮点数的指数。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的实现浮点数指数分析替换的装置的结构框图;
图2是本发明一个实施例的装置工作过程图;和
图3是根据本发明一个实施例的实现浮点数指数分析替换的方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的实现浮点数指数分析替换的装置及方法。
图1是根据本发明一个实施例的实现浮点数指数分析替换的装置的结构框图。如图1所示,本发明一个实施例的实现浮点数指数分析替换的装置包括:浮点寄存器组100、指数分析器200和指数选择器300。
其中,浮点寄存器组100,用于保存浮点数。指数分析器200,用于从浮点寄存器组100中获取至少两个浮点数,并根据数据类型对至少两个浮点数进行分析,以获取至少两个浮点数的指数。指数选择器300,用于根据至少两个浮点数的数据类型和操作类型对由指数分析器200获取的至少两个浮点数中的至少一个浮点数的指数进行替换。
具体地,结合图2详细描述本发明一个实施例的装置的工作过程如下:
(1)从浮点寄存器组100的浮点寄存器A和B中读出两个源操作数,源操作数是浮点数浮点的形式。浮点数的数据类型包括单精度和双精度。在本发明的一个实施例中,每个浮点包含一个单精度浮点数,或者2个并列的单精度浮点数,或者一个双精度浮点数。
优选地,两个浮点数可以保存在同一个浮点寄存器组中,也可以保存在不同的浮点寄存器组中。若浮点数存储在同一个浮点寄存器组中,则它们的读出操作可以是同时进行的,也可以按照先后顺序进行。
(2)从浮点寄存器A和B的两个浮点数分别发送至指数分析器200的指数分析器A和指数分析器B中,根据数据类型进行浮点数指数的分析。
具体地,在指数分析器200进行分析浮点数指数前,根据数据类型判断浮点数是否是正常数据,正常数据是指数位大于0并且小于最大值,或者指数位等于0,或者指数位是最大值且尾数为0。如果是正常数据,则指数分析器200分析用于替换的两个浮点数的指数,并输出浮点数的指数至指数选择器300,以便指数选择器300对至少一个浮点数的指数进行替换。反之,则指数分析器200直接发送例外标志位至指数选择器300。
优选地,每个指数分析器200的结构都是相同的。
(3)将指数分析器200的分析结果发送至指数选择器300中,指数选择器300根据数据类型和操作类型进行指数位的替换。具体地,操作类型是指操作的对象是单精度浮点数还是双精度浮点数,两个浮点数的指数替换是一个浮点数的指数替代另一个浮点数的指数,或是两个浮点数的指数互相替换。指数选择器300根据数据类型和操作类型进行指数位的替换,符号位和尾数位保持不变,组合得到指数替换后的浮点数。
优选地,指数选择器300的结构是唯一的。
(4)指数选择器300输出替换后的浮点数并写入到目标浮点寄存器组100的浮点寄存器C和D中。特别地,指数选择器300替换后的结果同样的也可以写入和浮点寄存器组100相同结构的另外的浮点寄存器组中。
另外,根据本发明上述实施例的实现浮点数指数分析替换的装置中的数据的读出、发送和写入操作对于本领域技术人员而言都是已知的,为了减少冗余,不做赘述。
根据本发明实施例的实现浮点数指数分析替换的装置,利用原有的浮点寄存器和指数分析器,以及指数选择器,实现了对浮点寄存器中两个浮点数间的指数分析及替换,避免了传统浮点运算在指数替换时的不足。
本发明第二方面的实施例提出了一种实现浮点数指数分析替换的方法,包括以下步骤:从第一浮点寄存器组读取至少两个浮点数;利用指数分析器分别对至少两个浮点数进行分析,根据数据类型获取至少两个浮点数的指数,并发送给指数选择器;指数选择器对由指数分析器获取的至少两个浮点数中的至少一个浮点数的指数进行替换;输出指数替换后的至少一个浮点数并保存在第一浮点寄存器组或另外的第二浮点寄存器组中。
图3是根据本发明一个实施例的实现浮点数指数分析替换的方法的流程图。如图3所示,本发明实施例的实现浮点数指数分析替换的方法具体实现如下:
步骤S101:从第一浮点寄存器组读取至少两个浮点数。
具体地,浮点数的数据类型包括单精度和双精度。两个浮点数可以保存在同一个寄存器组中,也可以保存在不同的浮点寄存器组中。若浮点数存储在同一个浮点寄存器组中,则它们的读出操作可以是同时进行的,也可以按照先后顺序进行。
步骤S102:利用指数分析器根据数据类型分别对至少两个浮点数进行分析,获取至少两个浮点数的指数,并发送给指数选择器。
具体地,在利用指数分析器分别对至少两个浮点数进行分析前,根据数据类型判断浮点数是否是正常数据,正常数据是指数位大于0并且小于最大值,或者指数位等于0,或者指数位是最大值且尾数为0。如果正常数据,则指数分析器根据数据类型分析用于替换的浮点数的指数,并输出浮点数的指数至指数选择器,以便指数选择器对至少两个浮点数中的至少一个浮点数的指数进行替换。反之,则指数分析器直接发送例外标志位至指数选择器。
步骤S103:指数选择器对由指数分析器获取的至少两个浮点数中的至少一个浮点数的指数进行替换。
具体地,将指数分析器的分析结果传送入指数选择器中,指数选择器根据数据类型和操作类型,进行指数位的替换。其中,操作类型是指操作的对象是单精度浮点数还是双精度浮点数,两个浮点数的指数替换是一个浮点数的指数替代另一个浮点数的指数,或是两个浮点数的指数互相替换。
指数选择器300根据上述的数据类型和操作类型进行指数位的替换,符号位和尾数位保持不变,组合得到指数替换后的浮点数。
步骤S104:输出指数替换后的至少一个浮点数并保存在第一浮点寄存器组或另外的第二浮点寄存器组中。
具体地,将经指数选择器替换后的浮点数写入到第一浮点寄存器组或另外的第二浮点寄存器组中。
另外,根据本发明上述实施例的实现浮点数指数分析替换的方法中的数据的读出、发送和写入操作对于本领域技术人员而言都是已知的,为了减少冗余,不做赘述。
根据本发明实施例的实现浮点数指数分析替换的方法,利用原有的浮点寄存器和指数分析器,以及指数选择器,实现了对浮点寄存器中两个浮点数间的指数分析及替换,避免了传统浮点运算在指数替换时的不足。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (7)
1.一种实现浮点数指数分析替换的装置,其特征在于,包括:
浮点寄存器组,用于保存浮点数;
指数分析器,用于从所述浮点寄存器组中获取至少两个浮点数,并根据数据类型对所述至少两个浮点数进行分析,以获取所述至少两个浮点数的指数;
指数选择器,用于根据所述至少两个浮点数的数据类型和操作类型对由所述指数分析器获取的所述至少两个浮点数中的至少一个浮点数的指数进行替换。
2.如权利要求1所述的装置,其特征在于,所述浮点数的数据类型包括单精度和双精度。
3.如权利要求1所述的装置,其特征在于,所述指数分析器还用于,判断所述至少两个浮点数是否是正常数据,如果是,则所述指数分析器输出所述至少两个浮点数的指数至所述指数选择器,以便所述指数选择器对所述至少两个浮点数中的至少一个浮点数的指数进行替换。
4.如权利要求1所述的装置,其特征在于,所述指数选择器还用于,输出指数替换后的所述至少一个浮点数。
5.一种实现浮点数指数分析替换的方法,其特征在于,包括以下步骤:
从第一浮点寄存器组读取至少两个浮点数;
利用指数分析器分别对所述至少两个浮点数进行分析,获取所述至少两个浮点数的指数,并发送至指数选择器;
所述指数选择器对由所述指数分析器获取的至少两个浮点数中的至少一个浮点数的指数进行替换;
输出指数替换后的所述至少一个浮点数并保存在第一浮点寄存器组或另外的第二浮点寄存器组中。
6.如权利要求5所述的方法,其特征在于,所述浮点数的数据类型包括单精度和双精度。
7.如权利要求5所述的方法,其特征在于,在利用指数分析器分别对所述至少两个浮点数进行分析前,根据数据类型判断所述至少两个浮点数是否是正常数据,如果是,则所述指数分析器输出所述至少两个浮点数的指数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060562.5A CN104866279A (zh) | 2014-02-21 | 2014-02-21 | 实现浮点数指数分析替换的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060562.5A CN104866279A (zh) | 2014-02-21 | 2014-02-21 | 实现浮点数指数分析替换的装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104866279A true CN104866279A (zh) | 2015-08-26 |
Family
ID=53912135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410060562.5A Pending CN104866279A (zh) | 2014-02-21 | 2014-02-21 | 实现浮点数指数分析替换的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866279A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619484A (zh) * | 2003-11-20 | 2005-05-25 | 国际商业机器公司 | 浮点单元及计算指数的方法 |
CN102566964A (zh) * | 2010-09-24 | 2012-07-11 | Arm有限公司 | 矢量浮点变元缩减 |
-
2014
- 2014-02-21 CN CN201410060562.5A patent/CN104866279A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619484A (zh) * | 2003-11-20 | 2005-05-25 | 国际商业机器公司 | 浮点单元及计算指数的方法 |
CN102566964A (zh) * | 2010-09-24 | 2012-07-11 | Arm有限公司 | 矢量浮点变元缩减 |
Non-Patent Citations (1)
Title |
---|
符茂松.: "32位IEEE和IBM浮点数结构及其转换方法", 《工程地球物理学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649733B2 (en) | Multiply add functional unit capable of executing scale, round, getexp, round, getmant, reduce, range and class instructions | |
CN104813277B (zh) | 用于处理器的功率效率的向量掩码驱动时钟门控 | |
CN100495320C (zh) | 在双模式计算机处理环境下的指令集编码方法 | |
JP7582591B2 (ja) | 装置、方法、および機械可読媒体 | |
CN104049941B (zh) | 跟踪指令的控制流程 | |
US10489153B2 (en) | Stochastic rounding floating-point add instruction using entropy from a register | |
CN118034781A (zh) | 用于矩阵加法、减法和乘法的系统、方法和装置 | |
CN117724766A (zh) | 用于执行将矩阵变换为行交错格式的指令的系统和方法 | |
CN109716290A (zh) | 用于经融合的乘加的系统、装置和方法 | |
CN101692202A (zh) | 一种64比特浮点乘加器及其浮点运算流水节拍处理方法 | |
CN103109261B (zh) | 用于通用逻辑操作的方法和设备 | |
CN110457067A (zh) | 利用弹性浮点数的系统、方法和设备 | |
GB2454201A (en) | Combined Magnitude Detection and Arithmetic Operation | |
CN108268244A (zh) | 用于算术递归的系统、装置和方法 | |
GB2606908A (en) | Processor unit for multiply and accumulate operations | |
CN108292220A (zh) | 用于加速图形分析的装置和方法 | |
US9658828B2 (en) | Decimal and binary floating point rounding | |
CN110007963A (zh) | 用于无符号双字的矢量乘法和累加的设备和方法 | |
US5384722A (en) | Apparatus and method for determining the Manhattan distance between two points | |
US10445066B2 (en) | Stochastic rounding floating-point multiply instruction using entropy from a register | |
GB2600915A (en) | Floating point number format | |
CN111752605A (zh) | 使用浮点乘法-累加结果的模糊-j位位置 | |
CN104866461A (zh) | 用于浮点复数乘i加减的装置和方法 | |
CN106030519A (zh) | 用于从多个股分派指令的处理器逻辑和方法 | |
CN104866281A (zh) | 实现浮点数符号分析替换的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150826 |