首页> 中国专利> 用于浮点到整数变换的舍入注入方案

用于浮点到整数变换的舍入注入方案

摘要

本发明公开了用于浮点到整数变换的舍入注入方案。根据一个基本方面,一种浮点变换装置可以包括存储器、归一化引擎、查找表和加法器。所述存储器可以被配置为存储以浮点格式为格式的浮点数。所述归一化引擎可以被配置为使浮点数的至少一部分归一化以生成归一化数。所述查找表可以被配置为基于专用于将浮点数变换为整数的一组预定义的舍入值生成注入常数。所述加法器可以被配置为通过将归一化数和注入常数相加生成整数结果。

著录项

  • 公开/公告号CN104750456A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201410805754.4

  • 发明设计人 E.C.昆内尔;

    申请日2014-12-22

  • 分类号

  • 代理机构北京市柳沈律师事务所;

  • 代理人邵亚丽

  • 地址 韩国京畿道

  • 入库时间 2023-12-18 09:33:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-19

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):G06F7/57 申请日:20141222

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2013年12月30日提交的标题为“ROUNDING  INJECTION SCHEME FOR FLOATING-POINT TO INTEGER  CONVERSION”的美国临时专利申请61/922,081的优先权。该早先提交的 申请的主题通过引用并入此处。

技术领域

本说明书涉及在数位格式之间变换数字,并且更具体地说,将浮点数变 换为整数。

背景技术

在计算中,浮点数通常包括以能够支持宽范围值的方式表示实数的近似 值的技术。一般说来,这些数近似地表示为固定数目的有效数位并且使用指 数度量。术语“浮点”指的是数的小数点(radix point)(例如,十进制小数 点或,在计算机中更常见的,二进制小数点)能够“浮动”的事实;也就是 说,它可以位于相对于该数的有效数位的任意位置。该位置被指定为内部表 示中的指数分量,从而浮点可以被视为科学记数法的计算机实现(例如, 1.234x103对1,234等等)。

浮点算术的电气与电子工程师协会(IEEE)标准(IEEE 754)是由IEEE 在1985年设立的浮点计算的技术标准。许多硬件浮点单元或电路基本上遵 守IEEE 754标准。这里,术语“IEEE 754”指的是基本上遵守浮点算术的IEEE 标准IEEE标准754-2008(2008年8月29日)的标准、或源自该标准或先 于该标准的标准。

IEEE 754标准允许各种精度。两个最常见的精度等级包括32位(单) 和64位(双)精度。32位版本的浮点数包括1位符号位(指示该数是正还 是负)、8位指数部分(指示2的幂,小数点位置位于此处)和23位小数、 有效的或尾数部分(指示将乘以2的实数,其被乘以(raised to)指数部分 的幂)。64位版本包括1位符号指示符、11位指数部分和52位小数部分。 将理解的是,上述仅仅是几个说明性例子,本公开的主题不局限于此。

相反地,整数通常包括可以被写为不带分数或小数分量的数(例如,21、 4、-2048等等)。这可以被认为可与浮点数的尾数部分相比较。在计算机科 学中,整数的大小或范围可以局限于用于表示值的数位或位的数目(例如, 8位整数可以表示0-255,16位整数可以表示0-65,535等等)。一般说来,整 数可以是有符号或无符号的。在这样的系统中,无符号整数被理解为仅包括 正(或非负)数(例如,0-255等等),),而有符号整数通常偏移表示数的范 围以使得整数可以既包括正数也包括负数(例如,-128到127,-32,768到 32,767等等)。

发明内容

根据一个基本方面,一种浮点变换装置可以包括存储器、归一化引擎、 查找表和加法器。所述存储器可以被配置为存储以浮点格式为格式的浮点 数。所述归一化引擎可以被配置为使浮点数的至少一部分归一化以生成归一 化数,所述查找表可以被配置为基于专用于将浮点数变换为整数的一组预定 义的舍入值生成注入常数。所述加法器可以被配置为通过将归一化数和注入 常数相加生成整数结果。

根据另一基本方面,一种浮点变换方法可以包括:接收以浮点格式为格 式的浮点数。所述方法可以包括:使浮点数的至少一部分归一化以生成归一 化数,所述方法还可以包括:基于专用于将浮点数变换为整数的一组预定义 的舍入值来计算至少一个注入常数。所述方法可以包括:将归一化数和注入 常数相加以生成整数结果。

根据另一基本方面,一种浮点变换系统可以包括存储器和浮点变换单 元。所述存储器可以被配置为存储以浮点格式为格式的浮点数。所述浮点变 换单元可以被配置为将浮点数变换为整数。所述浮点变换单元可以包括归一 化引擎、查找表和加法器。所述归一化引擎可以被配置为使浮点数的至少一 部分归一化以生成归一化数,所述查找表可以被配置为基于专用于将浮点数 变换为整数的一组预定义的舍入值生成注入常数。所述加法器可以被配置为 通过将归一化数和注入常数相加生成整数结果。

一个或多个实施例的细节将在附图和下面的描述中阐明。从所述描述和 附图以及权利要求中其它特征和优点将变得明显。

用于在数位格式之间变换数字的系统和/或方法大致上如至少一个附图 中所示的和/或结合至少一个附图所描述的,以及如权利要求更加全面地阐述 的那样。

附图说明

图1是依照本公开主题的系统的示范性实施例的框图。

图2是示出依照本公开主题的注入常数(injection constant)的示范性实 施例的表。

图3a是在依照本公开主题的系统的一个实施例中应用的示范性值的图。

图3b是在依照本公开主题的系统的一个实施例中应用的示范性值的图。

图3c是在依照本公开主题的系统的一个实施例中应用的示范性值的图。

图3d是在依照本公开主题的系统的一个实施例中应用的示范性值的图。

图4是依照本公开主题的电路的示范性实施例的框图。

图5是依照本公开主题的技术的示范性实施例的流程图。

图6是可以包括根据本公开主题的原理形成的设备的信息处理系统的示 意框图。

在各个附图中同样的参考标记指示同样的元素。

具体实施方式

将在下面参考附图更加全面地描述各种示范性实施例,附图中示出一些 示范性实施例。然而,本公开主题可以以许多不同的形式实现,并且应当不 被解释为受限于这里阐述的示范性实施例。而是,提供这些实施例以使得本 公开将是彻底的和完全的,并且将向本领域技术人员充分传达本公开主题的 范围。在附图中,层和区域的大小和相对大小为了清楚而可能夸大。

应当明白,当一个元素或层被称作“在…上”、“连接到”或“耦接到” 另一个元素或层时,它可以是直接在其它元素或层上、连接到或耦接到其它 元素或层,或者可以存在中间元素或层。相反地,当一个元素被称作“直接 在…上"、“直接连接到"或“直接耦接到”另一个元素或层时,没有中间元 素或层存在。同样的数字贯穿说明书指代同样的元素。如这里所使用的,术 语“和/或”包括一个或多个相关联的所列项中任意一个或全部组合。

将理解的是,虽然术语第一、第二、第三等等可以在这里用来描述各种 元素、分量、区域、层和/或部分,但是,这些元素、分量、区域、层和/或 部分不应当局限于这些术语。这些术语仅仅用于将一个元素、分量、区域、 层或部分与另一元素、分量、区域、层和/或部分区分开。因而,下面讨论的 第一元素、分量、区域、层或部分可以称作第二元素、分量、区域、层或部 分而不脱离本公开主题的教导。

诸如“在之下”、“下方”、“较下”、“在上方”、“上方”等等的空间相对 术语可以在这里使用,以便于描述如图中所示一个元素或特征对另一元素 (多个)或特征(多个)的相对关系。将理解的是,空间相对术语意图是包 括除了图中所绘的方向之外在使用或操作中的设备的不同方向。例如,如果 图中的设备反转,则被描述为在其它元素或特征“之下”或“下方”的元素 将转向在该其它元素或特征“上方”。因而,示范性术语“下面”可以包括 上方和下方两个方向。否则,设备可以向东(旋转90度或其它方向)并且 从而解释这里使用的空间相对描述符。

这里使用的术语使用的术语仅是出于描述特定示范性实施例的目的而 不是意指本公开主题的限制。如这里使用的,单数形式的“一”、“该”和“所 述”意在也包括复数形式,除非上下文清楚地指示不是这样。还将理解,术 语“包括”和/或“包含”在本说明书中使用时,指定存在所述特征、整体、 步骤、操作、元素和/或元件,而不排除存在或增加一个或多个其它特征、整 体、步骤、操作、元素、元件和/或其群组。

这里参考示出理想化示范性实施例(以及中间结构)的示意图即截面图 描述了示范性实施例。因而,作为例如制造工艺和/或容限的结果对于图示的 形状的变化是预期的。因而,示范性实施例不应当被视为这里所示的区域的 特定形状,而是将包括作为例如制造的结果在形状上有偏差。例如,示出为 矩形的植入区域一般将具有圆形或曲线特征和/或在其边缘植入浓度的梯度 而非从植入到非植入区域的二元变化。同样,由植入形成的隐埋层可以导致 在隐埋层与植入通过其发生的表面之间的区域中的部分植入。因而,在图中 示出的区域本质上是示意性的并且它们的形状不意在示出设备的区域的实 际形状并且不意在限制本公开主题的范围。

除非以别的方式定义,否则这里使用的所有术语(包括技术术语和科学 术语)具有与本公开主题所属的领域的技术人员通常所理解的相同的意义。 还将理解的是,诸如在通常使用的词典中定义的那些术语应该解释为具有与 相关技术的上下文中的意义一致的意义,并且将不以理想化或过度形式化的 方式解释,除非清楚地在这里如此定义。

在下文中,将参照附图详细说明示范性实施例。

如上所述,在计算设备中,浮点数由设定数目的位表示。这意思是,浮 点数仅仅可以通过它们被分配的数目的位来有界地表示无穷数空间的离散 的和受限制的部分。对于常规浮点数来说,类似于标准科学记数法格式表示 数:通过在数的有效数部分中的整数和用于指示小数点应该在的位置的指数 部分。例如,在十进位系统中,23,467表示为2.3467x104,其中整数的单 个数位是2并且小数点距右侧4位。当数用二进制表示时,最高有效位总是 1。将理解的是,这里使用科学记数法是由于其对普通读者来说好理解而使 用它,并且仅仅是说明的例子。还要理解的是,优选的本公开主题集中于二 进制数。

同样,在计算设备中,整数用设定数目的位来表示,但是以不同格式存 储。这通常意思是,整数表示通过它们被分配的数目的位为界地表示无穷数 空间的更小或更多受限制的部分。如上所述,整数通常被表示为两种主要格 式(有符号和无符号)之一。无符号整数通常理解为非负的,并且仅包括从 零到用于表示数的多个位的极限的范围(例如,8位无符号整数可以表示 0-255等等)。

有符号整数通常包括大致以零为中心并且基本上相等地沿正和负方向 延伸的值的范围,如所使用的数目的位所限制的那样(例如,8位无符号整 数可以表示-128到127等等)。但是,存在对该论点的两个重要告诫(caveat)。 第一,因为零值占用可能位组合(有偶数个)中的一个,所以可能的正/负值 的数目不是偶数。这通常通过使负数比正数能够多一个值来处理(例如,在 8位的实施例中,-128是相对于-127的下限,-127与正127上限匹配,等等)。 第二,负整数通常用二的补码标记表示和/或与二的补码标记同义,如本领域 技术人员所知。这有这样的好处:使所有负数包括最高有效位(MSB)1。 因此,能够通过检查有符号整数的MSB来快速地知道它是正的(MSB为0) 还是负的(MSB为1)。这还导致负数具有比正数多一个值,因为零值占据 了MSB等于0的值。

有时候,计算设备可以期望将以浮点格式存储的数(例如,有符号位、 数值和指数部分)变换为整数格式。如人们所知,至少两个可能问题会随着 这样的变换过程而出现。第一,因为浮点数可以包括小数(即非整)部分(例 如,1.34可以包括0.34部分等等)并且变换可以考虑如何将这表示为整数。 通常,这样的情况使用在IEEE 754规范中建立的一组舍入规则来处理。第 二,浮点格式的值包括符号位(指示正或负),而整数没有(抛开有符号整 数的MSB)。包含专用符号位考虑浮点数表示“负零”,而整数不行。在这 样一个实施例中,除了将浮点数变换为归一化值或定点值之外,还可以要求 2的补码(即,有符号整数格式的反转)。

图1是用于将浮点格式的数变换为整数格式的数的系统100的框图。在 一些实施例中,系统100可以包括浮点变换器(FCVT)。

在这样一个实施例中,系统100可以包括寄存器或存储器102,被配置 为接收并且存储浮点格式的数。如上所述,在各种实施例中,浮点数可以包 括符号位、指数部分和尾数部分。

在各种实施例中,系统100可以包括归一化引擎104,被配置为归一化 浮点数。在本上下文中,术语“归一化”指的是将尾数部分变换为包括指数 部分一的表示的过程。一般说来,这可以包括将小数点(例如,十进制系统 中的十进制小数点,等等)移位指数部分的无偏值。例如,对于为简单起见 使用十进制数来说,浮点数可以包括值1.234x103(尾数部分1234,指数3, 正符号位)并且可以通过将十进制小数点移位三次而归一化为1,234。这并 不会与IEEE 754术语“denormal(反常值)”或“subnormal(非规则)”数混 淆,虽然本方案支持它们,但是它们与本公开主题不是特别密切相关。

在示出的实施例中,中间归一化数106可以表示为正整数116(例如, 浮点数的绝对值等等)。在这样一个实施例中,归一化数可以别称为不变换 正的2的补码格式的数。

在各种实施例中,中间归一化数106可以包括一个或多个位或者舍入或 小数点之外的小数值126(例如,在十进制中,归一化的1.25可以包括在小 数点之外或在小数点右边的小数值0.25,等等)。在这样一个实施例中,这 些各种小数值126可以按IEEE 754规则简化或变换为舍入(R)位136和粘 位(S)位146。在一个这样的实施例中,最低有效位可以被OR(或)运算 以产生粘位146。

在各种实施例中,一旦已经计算了舍入位136和粘位146,就可以准备 舍入中间归一化数106。在一个实施例中,如果中间归一化数106是负的(例 如,通过评估浮点数的符号位而确定的,等等),则归一化数106可以被反 转。结果值可以包括最终归一化数或简称“归一化数”108。在示出的实施 例中,这可以经由取中间归一化数106的1的补码来完成。在这样的实施例 中,这可以比取2的补码计算强度要小。在一个这样的实施例中,与可以包 括使用加法器或半加器(例如,加1来反转,等等)的2的补码反转相比, 这样的反转可以仅仅包括使用一定数目的反转器和/或多路复用器(以在中间 归一化数106的正版本和负版本之间进行选择)。

在各种实施例中,系统100可以包括加法器110。在这样的实施例中, 加法器可以接受三个输入:输入A、输入B和进位(carry-in)位。在示出 的实施例中,加法器110可以接收归一化数108、一个或多个注入位或常数 112、以及进位位114作为输入。

在这样的实施例中,加法器110可以被配置为适当地舍入归一化数108 以生成整数结果120的2的补码模式版本。如上所述,IEEE 754标准允许许 多舍入方案。例如,这样的可能的舍入方案可以包括:舍入到零、舍入到负 无穷、舍入到正无穷和/或舍入到最接近偶数值(Nearest Even Value)。将理 解的是,上述仅仅是几个说明性例子,本公开的主题不局限于此。

在各种实施例中,系统100可以使用被称为注入舍入(injection rounding) 的技术。在这样的实施例中,取代评估归一化数108的小数部分来确定是否 加1到数(即,向上舍入/向下舍入到下一个数),常数值可以被加到归一化 数108并且小数部分可以被丢弃。例如,为了说明性目的再次使用十进制, 如果归一化数是1.25,取代确定小数部分0.25小于0.5并且向下舍入,而是 可以更简单且快速地向1.25加常数0.5得到1.75并丢弃新的小数部分(0.75) 以得到整数值1。同样,如果归一化数是1.51,则通过加常数0.5,在加法之 后数的整体部分自然地舍入到2(2.01丢弃0.01)。将理解,以上仅仅是几个 说明性例子,本公开主题不限制于此并且系统100将使用与十进制数学相对 的二进制。

在这样的实施例中,注入常数112可以基于针对操作(例如,浮点到整 数变换,等等)所选择的舍入方案或规则来预定。在这样的实施例中,注入 常数112也可以基于所选择的操作来预定。例如,可以采用第一组注入常数 112用于浮点到整数变换,可以采用第二组注入常数用于浮点到浮点变换(例 如,从双精度到单精度,等等)。在示出的实施例中,本公开主题首先处理 浮点数到整数的变换。将理解的是,上述仅仅是几个说明性例子,本公开的 主题不局限于此。

图2是示出用于将浮点格式的数变换为整数格式的数的注入常数的表 200的图。在各种实施例中,可以采用表200确定图1的注入常数112。应 当理解,以上仅仅是一个说明性例子,本公开主题不限制于此。

在示出的实施例中,表200可以包括四个可能的注入常数,每个基于所 选择的舍入模式202。在各种实施例中,这样的可能舍入模式可以包括:舍 入到零、舍入到负无穷、舍入到正无穷和/或舍入到最接近偶数值。

在示出的实施例中,表200可以包括或指令四个用于将被注入舍入位位 置204的可能值,以及另外四个将被注入粘位位置206的可能值。在各种实 施例中,舍入位和粘位可以占用归一化数的最低有效位(LSB)。因而,包 括两位(一个舍入注入位和一个粘位注入位)的注入常数可以被加到归一化 数的LSB(舍入位和粘位)。

在示出的实施例中,如果舍入模式设置为“舍入到零”,则舍入注入位 和粘位注入位两者的值都可以等于浮点数的符号位的值。在一个实施例中, 如果舍入模式设置为“舍入到负无穷”,则舍入注入位和粘位注入位两者的 值都可以等于零。在另一实施例中,如果舍入模式设置为“舍入到正无穷”, 则舍入注入位和粘位注入位两者的值都可以等于一。在又一个实施例中,如 果舍入模式设置为“舍入到最接近偶数值”,则舍入注入位的值可以等于一 并且粘位注入位的值可以等于零。将理解的是,上述仅仅是几个说明性例子, 本公开的主题不局限于此。

在示出的实施例中,表200可以包括或指令进位位208的可能值。在一 些实施例中,进位位208可以被包括为注入常数的一部分。在各种实施例中, 不论舍入模式为何,进位位208可以等于浮点数的符号位的值。

返回到图1,注入常数112和进位位114可以由表或预定方案(例如, 图2的表200,等等)指令,并且可以基于采用的舍入方案或模式、以及浮 点数的符号位中的一个或多个。如上所述,加法器110可以生成2的补码格 式的或编码的整数结果120。

在一些实施例中,整数结果120的最低有效位(LSB)可能不正确。在 各种实施例中,系统100可以包括LSB校正电路118,被配置为根据需要调 整从加法器110输出的LSB。图3d和图4示出可以调用LSB校正电路118 的实施例。在这样的实施例中,在舍入模式设置为“舍入到最接近偶数值” 的特定情况中可能存在错误。将理解的是,上述仅仅是一个说明性例子,本 公开的主题不局限于此。

如上所述,加法器110(和LSB校正电路118,如果其被调用)的输出 可以包括以2的补码记数格式的或编码的整数结果120。在这样的实施例中, 整数结果120可以适用于其它计算操作(例如,加法、减法等等)。在一些 实施例中,整数结果120可以伴有或连结有符号位122(类似于浮点数的符 号位)。在另一实施例中,可以不包括符号位122。将理解的是,上述仅仅是 几个说明性例子,本公开的主题不局限于此。

图3a是示出本公开主题的实施例的说明性例子的表312和314的图。 在各种实施例中,表312和314中所示的值(例如,浮点数、舍入位、粘位、 注入常数等等)可以由诸如图1中的那些浮点变换单元使用。具体地说,图 3a中所示的例子包括舍入模式设置为“舍入到零”的情况。将理解的是,上 述仅仅是一个说明性例子,本公开的主题不局限于此。

表312示出,在一个实施例中,注入常数可以设置为与浮点数的符号位 相同的值。在这样的实施例中,随着浮点数从正变为负,注入常数的值也可 以变化。

表314示出输入浮点数以及相应舍入位和粘位的多个可能值。将讨论两 个说明性的示范性情况。在行316的情况下,浮点值可以是0010,舍入位可 以是1,粘位可以是1,符号位可以是0(正数)。在这样的实施例中,归一 化数可以是001011(带有连结到LSB的舍入位和粘位的浮点数)。基于符号 位,注入常数可以是具有进位位0的00。加法器的输出可以是001011+00+ 0=001011。然后可以去除两个LSB,留下整数结果0010(或十进制中的2)。

在行318的情况下,浮点值的1的补码可以是1100,舍入位可以是1, 粘位可以是0,并且符号位可以是1(负数)。在这样的实施例中,归一化数 可以是110010(带有连结到LSB的舍入位和粘位的浮点数)。基于符号位, 注入常数可以是具有进位位1的11。加法器的输出可以是110010+11+1= 110110。然后可以去除两个LSB,留下整数结果1101(或十进制中的-3)。 同样,图3a中示出的类似的示范性情况可以示出各种输入值的整数结果的 计算。将理解的是,上述仅仅是几个说明性例子,本公开的主题不局限于此。

图3b是示出本公开主题的实施例的另一说明性例子的表322和324的 图。在各种实施例中,表322和324中所示的值(例如,浮点数、舍入位、 粘位、注入常数等等)可以由诸如图1中的那些浮点变换单元使用。具体地 说,图3b中所示的例子包括舍入模式设置为“舍入到负无穷”的情况。将 理解的是,上述仅仅是一个说明性例子,本公开的主题不局限于此。

表322示出,在一个实施例中,舍入位和粘位注入常数可以设置为零。 而且,进位位可以等于浮点数的符号位的值。表324示出输入浮点数以及相 应舍入位和粘位的多个可能值以及结果整数值。在示出的实施例中,示范性 情况可以类似于上面参考图3a描述的那些。将理解的是,上述仅仅是几个 说明性例子,本公开的主题不局限于此。

图3c是示出本公开主题的实施例的另一说明性例子的表332和334的 图。在各种实施例中,表332和334中所示的值(例如,浮点数、舍入位、 粘位、注入常数等等)可以由诸如图1中的那些浮点变换单元使用。具体地 说,图3c中所示的例子包括舍入模式设置为“舍入到正无穷”的情况。将 理解的是,上述仅仅是一个说明性例子,本公开的主题不局限于此。

表332示出,在一个实施例中,舍入位和粘位注入常数可以设置为一。 而且,进位位可以等于浮点数的符号位的值。表334示出输入浮点数以及相 应舍入位和粘位的多个可能值以及结果整数值。在示出的实施例中,示范性 情况可以类似于上面参考图3a描述的那些。将理解的是,上述仅仅是几个 说明性例子,本公开的主题不局限于此。

图3d是示出本公开主题的实施例的另一说明性例子的表342和344的 图。在各种实施例中,表342和344中所示的值(例如,浮点数、舍入位、 粘位、注入常数等等)可以由诸如图1中的那些浮点变换单元使用。具体地 说,图3d中所示的例子包括舍入模式设置为“舍入到最接近偶数”的情况。 将理解的是,上述仅仅是一个说明性例子,本公开的主题不局限于此。

表342示出,在一个实施例中,舍入位注入常数可以被设置为一,并且 粘位注入常数可以设置为零。而且,进位位可以等于浮点数的符号位的值。 表344示出输入浮点数以及相应舍入位和粘位的多个可能值以及结果整数 值。在示出的实施例中,示范性情况可以类似于上面参考图3a描述的那些。 但是,在行346和348中所示的两种情况下,整数结果的LSB可能是不正 确的并且可以期望LSB校正电路的作用。在这样的实施例中,LSB校正电 路可以将整数结果的LSB修改为数学上正确的值。将理解的是,上述仅仅 是几个说明性例子,本公开的主题不局限于此。

图4是本公开主题的实施例电路,具体地说,LSB校正电路400,的图。 在各种实施例中,可以采用该LSB校正电路400来校正不准确的LSB,如 图3d中所示。

在各种实施例中,LSB校正电路400可以包括激活(activation)电路402。 在示出的实施例中,激活电路402可以包括三输入AND(与)电路,其接 收指示舍入模式是否是“舍入到最接近偶数”的信号412、舍入位414以及 粘位416的反转作为输入。

在一些实施例中,LSB校正电路400可以包括校正电路404。在示出的 实施例中,校正电路404可以包括二输入AND电路,其接收舍入后的整数 结果418的LSB以及激活电路402的输出的反转作为输入。校正电路404 的输出可以是经校正的LSB 420。应当理解,以上仅仅是一个说明性的例子, 本公开主题不限制于此。

图5是依照本公开主题的技术的示范性实施例的流程图。在各种实施例 中,技术500可以由诸如图1或图6中的那些系统使用或产生。此外,技术 500的一些部分产生诸如由图3a、图3b、图3c或图3d所示的那些结果。但 是,将理解的是,上述仅仅是几个说明性例子,本公开的主题不局限于此。 应当理解,本公开主题不局限于技术500所示的动作的次序或数目。

块502示出,在一个实施例中,可以接收浮点数,如上所述。在各种实 施例中,浮点数可以以浮点格式为格式,浮点格式包括符号位、尾数部分和 指数部分,如上所述。在各种实施例中,由该块示出的一个或多个动作可以 由图1或图6中的装置或系统、图1中的存储器执行,如上所述。

块504示出,在一个实施例中,可以使浮点数的至少一部分归一化,以 生成归一化数,如上所述。在各种实施例中,使浮点数的至少一部分归一化 可以包括,如果浮点数是负的,则经由1的补码将浮点数的归一化版本反转, 如上所述。在各种实施例中,由该块示出的一个或多个动作可以由图1或图 6中的装置或系统、图1中的归一化引擎104执行,如上所述。

块506示出,在一个实施例中,可以根据专用于将浮点数变换为整数的 一组预定义的舍入值来计算至少一个注入常数,如上所述。在各种实施例中, 至少一个注入常数可以包括舍入注入位、粘位注入位以及进位位,如上所述。 在一些实施例中,至少一个注入常数可以包括进位位,其等于浮点数的符号 位。在一个实施例中,注入常数可以包括,如果被指令舍入到零,则舍入注 入位和粘位注入位二者都等于浮点数的符号位。在另一实施例中,注入常数 可以包括,如果被指令舍入到负无穷,则舍入注入位和粘位注入位二者都等 于零,如上所述。在又一个实施例中,注入常数可以包括,如果被指令舍入 到正无穷,则舍入注入位和粘位注入位二者都等于一,如上所述。在一些实 施例中,注入常数可以包括,如果被指令舍入到最接近偶数值,则舍入注入 位等于一而且粘位注入位等于零,如上所述。在各种实施例中,由该块示出 的一个或多个动作可以由图2或图6中的装置或系统、包括图2的表200的 存储器执行,如上所述。

块508示出,在一个实施例中,归一化数和注入常数可以加在一起以生 成整数结果,如上所述。在各种实施例中,将归一化数和注入常数相加以生 成整数结果包括仅仅将归一化数和注入常数相加,如上所述。在这样的实施 例中,生成整数结果可以仅仅通过单个全加器进行,而不使用添加级或将三 个或更多值加在一起;但是,应当理解,以上仅仅是一个说明性的例子,本 公开主题不限制于此。在另一实施例中,整数结果可以包括无符号格式的整 数值,如上所述。在又一个实施例中,整数结果可以包括以2的补码格式为 格式的整数值。在各种实施例中,由该块示出的一个或多个动作可以由图1 或图6中的装置或系统、图1中的加法器110执行,如上所述。

块510示出,在一个实施例中,可以确定整数结果的最低有效位是否将 被校正,如上所述。在这样的实施例中,所述确定可以部分地基于一组预定 义的舍入值,如上所述。在这样的实施例中,如果整数结果的最低有效位将 被校正,则可以校正整数结果的最低有效位,如上所述。在各种实施例中, 由该块示出的一个或多个动作可以由图1或图6中的装置或系统、图1中的 校正电路118执行,如上所述。

图6是信息处理系统600的示意框图,信息处理系统600可以包括根据 本公开主题的原理形成的半导体器件。

参照图6,信息处理系统600可以包括根据本公开主题的原理构造的一 个或多个设备。在另一实施例中,信息处理系统600可以采用或运行根据本 公开主题的原理的一个或多个技术。

在各种实施例中,信息处理系统600可以包括计算设备,诸如例如膝上 计算机、台式机、工作站、服务器、刀片服务器、个人数字助理、智能手机、 小平板及其他合适的计算机等等,或虚拟机或其虚拟计算设备。在各种实施 例中,信息处理系统600可以由用户(未示出)使用。

根据本公开主题的信息处理系统600还可以包括中央处理器(CPU)、 逻辑或处理器610。在一些实施例中,处理器610可以包括一个或多个功能 单元块(FUB)或组合逻辑块(CLB)615。在这样的实施例中,组合逻辑 块可以包括各种布尔逻辑操作(例如,与非NAND、或非NOR、非NOT、 异或XOR等等)、稳定逻辑装置(例如,触发器、锁存器等等)、其它逻辑 装置或其组合。这些组合逻辑操作可以以简单或复杂的方式配置以处理输入 信号来实现期望的结果。应当理解,虽然描述了几个同步组合逻辑操作的说 明性例子,但是本公开主题不受如此限制并且可以包括异步操作或其混合。 在一个实施例中,组合逻辑操作可以包括多个互补金属氧化物半导体 (CMOS)晶体管。在各种实施例中,这些CMOS晶体管可以布置在执行逻 辑操作的门中;但是,应当理解,其它技术可以使用并且在本公开主题的范 围之内。

根据本公开主题的信息处理系统600还可以包括易失性存储器620(例 如,随机存取存储器(RAM)等等)。根据本公开主题的信息处理系统600 还可以包括非易失性存储器630(例如,硬盘、光存储器、NAND或闪存等 等)。在一些实施例中,易失性存储器620、非易失性存储器630、或者它们 的组合或一部分可以称为“存储介质”。在各种实施例中,易失性存储器620 和/或非易失性存储器630可以被配置为以半永久的或基本上永久的形式存 储数据。

在各种实施例中,信息处理系统600可以包括被配置为使信息处理系统 600能够成为通信的一部分并且经由通信网络通信的一个或多个网络接口 640。Wi-Fi协议的例子可以包括但是不局限于电气与电子工程师协会(IEEE) 802.11g、IEEE 802.11n等等。蜂窝协议的例子可以包括但是不局限于IEEE  802.16m(a.k.a.高级无线-城域网(MAN)、高级长期演进(LTE))、对于 GSM(全球数字移动电话系统)演进的增强数据速率(EDGE)、演进的高 速分组接入(HSPA+)等等。有线协议的例子可以包括但是不局限于IEEE  802.3(a.k.a.以太网)、光纤信道、电力线通信(例如,HomePlug、IEEE 1901 等等)等等。应当理解,以上仅仅是几个说明性例子,本公开主题不限制于 此。

根据本公开主题的信息处理系统600还可以包括用户接口单元650(例 如,显示器适配器、触觉接口、人机界面设备等等)。在各种实施例中,该 用户接口单元650可以被配置为从用户接收输入和/或提供输出到用户。其它 种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任 意形式的感测反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的 输入可以是以任意形式接收到的,包括声音、语音或触觉输入。

在各种实施例中,信息处理系统600可以包括一个或多个其它设备或硬 件元件660(例如,显示器或监控器、键盘、鼠标、相机、指纹阅读器、视 频处理机等等)。将理解的是,上述仅仅是几个说明性例子,本公开的主题 不局限于此。

根据本公开主题的信息处理系统600还可以包括一个或多个系统总线 605。在这样的实施例中,系统总线605可以被配置为通信地耦接到处理器 610、易失性存储器620、非易失性存储器630、网络接口640、用户接口单 元650和一个或多个硬件元件660。由处理器610处理的数据或从630外面 输入的数据可以存储在非易失性存储器630或者易失性存储器620中。

在各种实施例中,信息处理系统600可以包括或运行一个或多个软件组 件670。在一些实施例中,软件组件670可以包括操作系统(OS)和/或应 用。在一些实施例中,OS可以被配置为提供一个或多个服务给应用并且管 理或作为信息处理系统600的应用与各种硬件元件(例如,处理器610、网 络接口640等等)之间的中介。在这样的实施例中,信息处理系统600可以 包括一个或多个本地应用,其可以本地安装(例如,在非易失性存储器630 内等等)并且被配置为直接由处理器610运行并且直接与OS交互。在这样 的实施例中,本地应用可以包括预编译的机器可执行代码。在一些实施例中, 本地应用可以包括被配置为将源代码或目标代码翻译为之后由处理器610运 行的可执行代码的脚本解释器(例如,C shell(csh)、AppleScript、AutoHotkey 等等)或虚拟机(VM)(例如,java虚拟机、微软公司Common Language  Runtime等等)。

上面描述的半导体器件可以使用各种封装技术封装。例如,根据本公开 主题的原理构造的半导体器件可以使用以下任意一个封装:层叠封装(PoP) 技术、球栅阵列(BGA)技术、芯片规模封装(CSP)技术、塑料式引线芯片承 载封装(PLCC)技术、塑料双列直插式封装(PDIP)技术、晶片包中管芯封装(Die  in Waffle Pack)技术、晶片形式的管芯封装(Die in Wafer Form)技术、板上芯 片技术(COB)技术、陶瓷双列直插式封装(CERDIP)技术、塑料公制四方扁平 封装(MQFP)技术、薄型四方扁平封装(TQFP)技术、小外型封装(SOIC)技术、 缩小外型封装(SSOP)技术、薄型小尺寸封装(TSOP)技术、薄型四方扁平封装 (TQFP)技术、单列直插式封装(SIP)技术、多芯片封装(MCP)技术、晶片级制 造封装(WFP)技术、晶片级处理堆栈封装(WSP)技术、或者本领域技术人员 所知的其它技术。

方法步骤可以由运行用以通过对输入数据进行操作并且生成输出的计 算机程序的一个或多个可编程处理器执行。方法步骤也可以由专用逻辑电 路、例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并 且装置可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC (专用集成电路)。

在各种实施例中,计算机可读介质可以包括当运行时使得设备执行至少 一部分方法步骤的指令。在一些实施例中,计算机可读介质可以包括在磁介 质、光学介质、其它介质或其组合(例如,光盘、硬盘、只读存储器、闪存 等等)中。在这样的实施例中,计算机可读介质可以是有形地且非暂时性地 具体化的制品。

虽然已经参考示范性实施例描述了本公开主题的原理,但是对于本领域 技术人员来说,可以对它们进行各种改变和修改而不脱离这些公开的概念的 精神和范围。因此,应当理解,上述实施例不是限制,而仅仅是说明性的。 因而,本公开的概念的范围是由后面的权利要求及其等效物的可允许最宽解 释确定,而不应当由上述描述约束或限制。因此,应当理解,后附权利要求 意在覆盖所有这些修改和变化为落入实施例的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号