CN104750456B - 用于浮点到整数变换的舍入注入方案 - Google Patents

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

Info

Publication number
CN104750456B
CN104750456B CN201410805754.4A CN201410805754A CN104750456B CN 104750456 B CN104750456 B CN 104750456B CN 201410805754 A CN201410805754 A CN 201410805754A CN 104750456 B CN104750456 B CN 104750456B
Authority
CN
China
Prior art keywords
injection
floating
rounded
equal
normalization
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
CN201410805754.4A
Other languages
English (en)
Other versions
CN104750456A (zh
Inventor
E.C.昆内尔
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN104750456A publication Critical patent/CN104750456A/zh
Application granted granted Critical
Publication of CN104750456B publication Critical patent/CN104750456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

用于浮点到整数变换的舍入注入方案
相关申请的交叉引用
本申请要求于2013年12月30日提交的标题为“ROUNDING INJECTION SCHEME FORFLOATING-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虚拟机、微软公司CommonLanguage Runtime等等)。
上面描述的半导体器件可以使用各种封装技术封装。例如,根据本公开主题的原理构造的半导体器件可以使用以下任意一个封装:层叠封装(PoP)技术、球栅阵列(BGA)技术、芯片规模封装(CSP)技术、塑料式引线芯片承载封装(PLCC)技术、塑料双列直插式封装(PDIP)技术、晶片包中管芯封装(Die in Waffle Pack)技术、晶片形式的管芯封装(Die inWafer Form)技术、板上芯片技术(COB)技术、陶瓷双列直插式封装(CERDIP)技术、塑料公制四方扁平封装(MQFP)技术、薄型四方扁平封装(TQFP)技术、小外型封装(SOIC)技术、缩小外型封装(SSOP)技术、薄型小尺寸封装(TSOP)技术、薄型四方扁平封装(TQFP)技术、单列直插式封装(SIP)技术、多芯片封装(MCP)技术、晶片级制造封装(WFP)技术、晶片级处理堆栈封装(WSP)技术、或者本领域技术人员所知的其它技术。
方法步骤可以由运行用以通过对输入数据进行操作并且生成输出的计算机程序的一个或多个可编程处理器执行。方法步骤也可以由专用逻辑电路、例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并且装置可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
在各种实施例中,计算机可读介质可以包括当运行时使得设备执行至少一部分方法步骤的指令。在一些实施例中,计算机可读介质可以包括在磁介质、光学介质、其它介质或其组合(例如,光盘、硬盘、只读存储器、闪存等等)中。在这样的实施例中,计算机可读介质可以是有形地且非暂时性地具体化的制品。
虽然已经参考示范性实施例描述了本公开主题的原理,但是对于本领域技术人员来说,可以对它们进行各种改变和修改而不脱离这些公开的概念的精神和范围。因此,应当理解,上述实施例不是限制,而仅仅是说明性的。因而,本公开的概念的范围是由后面的权利要求及其等效物的可允许最宽解释确定,而不应当由上述描述约束或限制。因此,应当理解,后附权利要求意在覆盖所有这些修改和变化为落入实施例的范围。

Claims (20)

1.一种浮点变换装置,包括:
存储器,被配置为存储以浮点格式为格式的浮点数;
归一化引擎,被配置为使浮点数的至少一部分归一化以生成归一化数,其中归一化包括将浮点数的尾数部分变换为包括指数部分一的表示;
查找表,被配置为基于用于将浮点数变换为整数的舍入模式生成注入常数;以及
加法器,被配置为通过将归一化数和注入常数相加以生成整数结果。
2.如权利要求1所述的装置,其中,所述加法器被配置为仅仅将归一化数和注入常数相加。
3.如权利要求1所述的装置,其中,所述注入常数包括舍入注入位、粘位注入位和进位位。
4.如权利要求1所述的装置,其中,所述注入常数包括:
进位位,等于浮点数的符号位;以及
如果所述舍入模式是舍入到零,则舍入注入位和粘位注入位二者都等于浮点数的符号位,
如果所述舍入模式是舍入到负无穷,则舍入注入位和粘位注入位二者都等于零,
如果所述舍入模式是舍入到正无穷,则舍入注入位和粘位注入位二者都等于一,以及
如果所述舍入模式是舍入到最接近偶数值,则舍入注入位等于一并且粘位注入位等于零。
5.如权利要求1所述的装置,其中,所述归一化引擎被配置为,如果浮点数是负的,则经由1的补码来反转浮点数的归一化版本。
6.如权利要求1所述的装置,还包括:
最低有效位校正电路,被配置为确定整数结果的最低有效位是否将被校正,其中,所述确定至少部分地基于所述舍入模式。
7.如权利要求1所述的装置,其中,所述整数结果包括以2的补码格式为格式的整数值。
8.如权利要求1所述的装置,其中,所述整数结果包括无符号格式的整数值。
9.一种浮点变换方法,包括:
接收以浮点格式为格式的浮点数;
使浮点数的至少一部分归一化以生成归一化数,其中归一化包括将浮点数的尾数部分变换为包括指数部分一的表示;
基于用于将浮点数变换为整数的舍入模式来计算至少一个注入常数;以及
将归一化数和注入常数相加以生成整数结果。
10.如权利要求9所述的方法,其中,将归一化数和舍入值相加以生成整数结果包括仅仅将归一化数与注入常数相加。
11.如权利要求9所述的方法,其中,所述至少一个注入常数包括舍入注入位、粘位注入位和进位位。
12.如权利要求9所述的方法,其中,所述至少一个注入常数包括:
进位位,等于浮点数的符号位;以及
如果所述舍入模式是舍入到零,则舍入注入位和粘位注入位二者都等于浮点数的符号位,
如果所述舍入模式是舍入到负无穷,则舍入注入位和粘位注入位二者都等于零,
如果所述舍入模式是舍入到正无穷,则舍入注入位和粘位注入位二者都等于一,以及
如果所述舍入模式是舍入到最接近偶数值,则舍入注入位等于一并且粘位注入位等于零。
13.如权利要求9所述的方法,其中,使浮点数的至少一部分归一化包括:
如果浮点数是负的,则经由1的补码来反转浮点数的归一化版本。
14.如权利要求9所述的方法,还包括:
确定整数结果的最低有效位是否将被校正,其中,所述确定至少部分地基于所述舍入模式,以及
如果确定整数结果的最低有效位将被校正,则校正整数结果的最低有效位。
15.如权利要求9所述的方法,其中,所述整数结果包括以2的补码格式为格式的整数值。
16.如权利要求9所述的方法,其中,所述整数结果包括无符号格式的整数值。
17.一种浮点变换系统,包括:
存储器,被配置为存储以浮点格式为格式的浮点数;以及
浮点变换单元,被配置为将浮点数变换为整数,并且包括:
归一化引擎,被配置为使浮点数的至少一部分归一化以生成归一化数,其中,归一化包括将浮点数的尾数部分变换为包括指数部分一的表示,
查找表,被配置为基于用于将浮点数变换为整数的的舍入模式生成注入常数,以及
加法器,被配置为通过将归一化数和注入常数相加以生成整数结果。
18.如权利要求17所述的系统,其中,所述加法器被配置为仅仅将归一化数和注入常数相加。
19.如权利要求17所述的系统,其中,所述注入常数包括:
进位位,等于浮点数的符号位;以及
如果所述舍入模式是舍入到零,则舍入注入位和粘位注入位二者都等于浮点数的符号位,
如果所述舍入模式是舍入到负无穷,则舍入注入位和粘位注入位二者都等于零,
如果所述舍入模式是舍入到正无穷,则舍入注入位和粘位注入位二者都等于一,以及
如果所述舍入模式是舍入到最接近偶数值,则舍入注入位等于一并且粘位注入位等于零。
20.如权利要求17所述的系统,其中,所述整数结果包括以2的补码格式为格式的整数值。
CN201410805754.4A 2013-12-30 2014-12-22 用于浮点到整数变换的舍入注入方案 Active CN104750456B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361922081P 2013-12-30 2013-12-30
US61/922,081 2013-12-30
US14/243,568 2014-04-02
US14/243,568 US9461667B2 (en) 2013-12-30 2014-04-02 Rounding injection scheme for floating-point to integer conversion

Publications (2)

Publication Number Publication Date
CN104750456A CN104750456A (zh) 2015-07-01
CN104750456B true CN104750456B (zh) 2018-06-19

Family

ID=53481830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410805754.4A Active CN104750456B (zh) 2013-12-30 2014-12-22 用于浮点到整数变换的舍入注入方案

Country Status (5)

Country Link
US (1) US9461667B2 (zh)
JP (1) JP6407001B2 (zh)
KR (1) KR102253096B1 (zh)
CN (1) CN104750456B (zh)
TW (1) TWI643124B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461667B2 (en) * 2013-12-30 2016-10-04 Samsung Electronics Co., Ltd. Rounding injection scheme for floating-point to integer conversion
US10409614B2 (en) 2017-04-24 2019-09-10 Intel Corporation Instructions having support for floating point and integer data types in the same register
US10474458B2 (en) 2017-04-28 2019-11-12 Intel Corporation Instructions and logic to perform floating-point and integer operations for machine learning
EP3442124B1 (de) * 2017-08-07 2020-02-05 Siemens Aktiengesellschaft Verfahren zum schützen der daten in einem datenspeicher vor einer unerkannten veränderung und datenverarbeitungsanlage
US10908878B2 (en) * 2018-11-26 2021-02-02 Nvidia Corporation Dynamic directional rounding
US11934342B2 (en) 2019-03-15 2024-03-19 Intel Corporation Assistance for hardware prefetch in cache access
JP7107482B2 (ja) 2019-03-15 2022-07-27 インテル・コーポレーション ハイブリッド浮動小数点フォーマットのドット積累算命令を有するグラフィックスプロセッサ及びグラフィックス処理ユニット
EP3938890A1 (en) 2019-03-15 2022-01-19 Intel Corporation Architecture for block sparse operations on a systolic array
EP4130988A1 (en) 2019-03-15 2023-02-08 INTEL Corporation Systems and methods for cache optimization
CN112711441A (zh) * 2019-10-25 2021-04-27 安徽寒武纪信息科技有限公司 用于转换数据类型的转换器、芯片、电子设备及其方法
CN113239389B (zh) * 2021-07-12 2021-09-17 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN117389511A (zh) * 2023-10-18 2024-01-12 上海合芯数字科技有限公司 一种十进制运算的舍入方法、系统和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148316A (en) * 1998-05-05 2000-11-14 Mentor Graphics Corporation Floating point unit equipped also to perform integer addition as well as floating point to integer conversion
CN102004627A (zh) * 2010-11-01 2011-04-06 深圳市海思半导体有限公司 乘法舍入实现方法和装置
CN101390045B (zh) * 2006-02-27 2011-12-21 高通股份有限公司 用具可选次精度的浮点处理器执行浮点运算的方法和装置
CN102339217A (zh) * 2010-07-27 2012-02-01 中兴通讯股份有限公司 一种浮点数乘加器融合处理装置及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3253660B2 (ja) * 1991-12-19 2002-02-04 松下電器産業株式会社 数値丸め装置および数値丸め方法
US5257215A (en) 1992-03-31 1993-10-26 Intel Corporation Floating point and integer number conversions in a floating point adder
US5892698A (en) 1996-04-04 1999-04-06 Hewlett-Packard Company 2's complement floating-point multiply accumulate unit
US6131104A (en) * 1998-03-27 2000-10-10 Advanced Micro Devices, Inc. Floating point addition pipeline configured to perform floating point-to-integer and integer-to-floating point conversion operations
US6205461B1 (en) 1998-09-18 2001-03-20 Ati International Srl Floating point arithmetic logic unit leading zero count using fast approximate rounding
US6366942B1 (en) 1999-02-01 2002-04-02 Compaq Information Technologies Group Lp Method and apparatus for rounding floating point results in a digital processing system
US7143126B2 (en) * 2003-06-26 2006-11-28 International Business Machines Corporation Method and apparatus for implementing power of two floating point estimation
US7236181B2 (en) * 2003-08-03 2007-06-26 Realtek Semiconductor Corp. Apparatus for color conversion and method thereof
US7433911B2 (en) 2004-12-21 2008-10-07 Arm Limited Data processing apparatus and method for performing floating point addition
US20070086524A1 (en) * 2005-10-13 2007-04-19 Chen Chen Method for transform-domain rounding in a decoder and video decoder thereof
US8386755B2 (en) 2009-07-28 2013-02-26 Via Technologies, Inc. Non-atomic scheduling of micro-operations to perform round instruction
TW201205316A (en) * 2010-07-28 2012-02-01 Ind Tech Res Inst Method for establishing multiple look-up tables and data acquisition method by using multiple look-up tables
US8745111B2 (en) * 2010-11-16 2014-06-03 Apple Inc. Methods and apparatuses for converting floating point representations
KR101718817B1 (ko) 2010-11-17 2017-03-29 삼성전자주식회사 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법
US8965945B2 (en) 2011-02-17 2015-02-24 Arm Limited Apparatus and method for performing floating point addition
US8959129B2 (en) * 2011-06-30 2015-02-17 Altera Corporation Compression of floating-point data
WO2013095535A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Floating point rounding processors, methods, systems, and instructions
US9264066B2 (en) * 2013-07-30 2016-02-16 Apple Inc. Type conversion using floating-point unit
US9461667B2 (en) * 2013-12-30 2016-10-04 Samsung Electronics Co., Ltd. Rounding injection scheme for floating-point to integer conversion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148316A (en) * 1998-05-05 2000-11-14 Mentor Graphics Corporation Floating point unit equipped also to perform integer addition as well as floating point to integer conversion
CN101390045B (zh) * 2006-02-27 2011-12-21 高通股份有限公司 用具可选次精度的浮点处理器执行浮点运算的方法和装置
CN102339217A (zh) * 2010-07-27 2012-02-01 中兴通讯股份有限公司 一种浮点数乘加器融合处理装置及方法
CN102004627A (zh) * 2010-11-01 2011-04-06 深圳市海思半导体有限公司 乘法舍入实现方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J2ME浮点计算的简单实现;雷宏洲;《计算机与信息技术》;20071120;第84-86页 *

Also Published As

Publication number Publication date
US9461667B2 (en) 2016-10-04
CN104750456A (zh) 2015-07-01
TW201528130A (zh) 2015-07-16
JP6407001B2 (ja) 2018-10-17
KR20150079389A (ko) 2015-07-08
JP2015127954A (ja) 2015-07-09
TWI643124B (zh) 2018-12-01
US20150186111A1 (en) 2015-07-02
KR102253096B1 (ko) 2021-05-18

Similar Documents

Publication Publication Date Title
CN104750456B (zh) 用于浮点到整数变换的舍入注入方案
US11256978B2 (en) Hyperbolic functions for machine learning acceleration
KR102358013B1 (ko) 3-경로 단일 곱셈-누산기 설계에서 고속 근경로 증분합
US20220222040A1 (en) Floating-Point Dynamic Range Expansion
US11275998B2 (en) Circuitry for low-precision deep learning
US10200191B2 (en) Electronic calculating device for performing obfuscated arithmetic
KR20190142200A (ko) 파워 그리드, 표준 셀 협업 설계 구조, 그리고 그것의 방법들
US20180129473A1 (en) Fast sticky generation in a far path of a floating point adder
Thomas A general-purpose method for faithfully rounded floating-point function approximation in FPGAs
US20210342486A1 (en) Encrypted data processing
Baek et al. OpenGL ES 1.1 implementation based on OpenGL
Chung Provably correct posit arithmetic with fixed-point big integer
Gazi A tutorial introduction to VHDL programming
Camacho-Ruiz et al. Timing-attack-resistant acceleration of ntru round 3 encryption on resource-constrained embedded systems
Das et al. Directed acyclic graph-based design of digital logic circuits using QCA
US10416960B2 (en) Check procedure for floating point operations
US9959091B2 (en) Evaluation of polynomials with floating-point components
Hiasat An arithmetic scaler circuit design for the expanded four-moduli set {2k− 1, 2k+ 1, 22k+ 1, 22k}
CN113656751B (zh) 无符号dac实现有符号运算的方法、装置、设备和介质
de Dinechin et al. Generalities on Fixed-Point Function Approximation
Nan et al. An arithmetic operation P system based on symmetric ternary system
CN114444706A (zh) 数据处理方法、装置、设备及存储介质
WO2023180269A1 (en) Variable replacement by an artificial intelligence accelerator
Türkoğlu An accelerated GPU library for efficient homomorphic encryption operations in the CKKS scheme
LaMeres Floating-Point Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant