首页> 中国专利> 浮点加法器、通过浮点加法器执行的方法和信息处理系统

浮点加法器、通过浮点加法器执行的方法和信息处理系统

摘要

提供一种浮点加法器、通过浮点加法器执行的方法和信息处理系统。根据一个总体方面,一种设备可包括:浮点加法单元,包括Far路径电路、Close路径电路和最后结果选择器电路。Far路径电路可被构造为不管操作数或结果是否包括规格化数或非规格化数,基于两个浮点数的加法或减法来计算Far路径结果。Close路径电路可被构造为不管操作数或结果是否包括规格化数或非规格化数,基于两个浮点操作数的减法来计算Close路径结果。最后结果选择器电路可被构造为至少部分基于两个浮点操作数的指数部分的差的量在Far路径结果和Close路径结果之间进行选择。

著录项

  • 公开/公告号CN104657107A

    专利类型发明专利

  • 公开/公告日2015-05-27

    原文格式PDF

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

    申请/专利号CN201410659121.7

  • 发明设计人 埃里克·C·昆尼尔;

    申请日2014-11-18

  • 分类号

  • 代理机构北京铭硕知识产权代理有限公司;

  • 代理人王兆赓

  • 地址 韩国京畿道水原市

  • 入库时间 2023-12-18 08:54:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    授权

    授权

  • 2016-12-21

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

    实质审查的生效

  • 2015-05-27

    公开

    公开

说明书

本申请要求于2013年11月21日提交的标题为“High Performance  Floating-Point Adder With Full In-Line Denormal/Subnormal Support(具有全在 线非规格化/次规格化支持的高性能浮点加法器)”、序列号为61/907,374的临 时专利申请的优先权。该较早提交的申请的主题通过引用合并于此。

技术领域

本描述涉及数学运算的电计算,更具体地讲,涉及规格化数和非规格化 数二者的浮点加法的计算。

背景技术

在计算中,浮点数通常包括用于以可支持宽范围的值的方式表示实数的 近似的技术。通常,这些数被近似地表示为有效数字的固定数和使用指数的 进位制(scaled)。术语“浮点”表示数字的小数点(例如,十进制小数点, 或者更普遍地在计算机中,二进制小数点)可“浮动”的事实,也就是,小 数点可被置于相对于数字的有效数字的任何地方。该位置在内部表示中被表 示为指数成分,并且因此,浮点可被视为科学记数法的计算机实现(例如, 1.234×104对1,234等)。

用于浮点运算的电气和电子工程师协会(IEEE)标准(IEEE 754)是由 IEEE在1985年建立的用于浮点计算的技术标准。许多硬件浮点单元或电路 基本上符合IEEE 754标准。在此,术语“IEEE 754”表示基本上符合用于浮 点运算的IEEE标准IEEE Std.754-2008(2008年8月29日)的标准或者从该 标准衍生的标准或在该标准之前的标准。

IEEE 754标准允许各种精度。两个较普遍水平的精度包括32位(单) 精度和64位(双)精度。浮点数的32位版本包括1位符号位(指示数字是 正的还是负的)、8位指数部分(指示小数点位于的2的幂)和23位小数、 有效数或尾数部分(指示将乘以2的升高到指数部分的幂的实数)。64位版 本包括1位符号指示符、11位指数部分和52位小数部分。要理解的是,以 上仅是一些说明性示例,所公开的主题不限于这些说明性示例。

发明内容

根据一个总体方面,一种设备可包括:浮点加法单元,被构造为通过将 两个浮点操作数相加或相减来产生浮点结果,其中,每个浮点操作数包括小 数部分和指数部分。浮点加法单元可包括Far路径电路、Close路径电路和最 后结果选择器电路。Far路径电路可被构造为不管这两个浮点操作数中的每一 个或浮点结果是否各自包括规格化数或非规格化数,基于这两个浮点数的加 法或减法来计算Far路径结果。Close路径电路可被构造为不管这两个浮点操 作数中的每一个或浮点结果是否各自包括规格化数或非规格化数,基于这两 个浮点操作数的减法来计算Close路径结果。Close路径电路可包括被构造为 当Close路径结果包括非规格化数时限制Close路径结果的小数点移位的钳位 电路。最后结果选择器电路可被构造为至少部分基于这两个浮点操作数的指 数部分的差的量在Far路径结果和Close路径结果之间进行选择。

根据另一总体方面,一种方法可包括:接收第一浮点操作数和第二浮点 操作数。所述方法可包括:不管第一浮点操作数、第二浮点操作数或Far路 径结果中的至少一个是否包括非规格化数,基于第一浮点操作数和第二浮点 操作数的加法或减法来计算Far路径结果。所述方法可包括:不管第一浮点 操作数、第二浮点操作数或Close路径结果中的至少一个是否包括非规格化 数,基于第一浮点操作数和第二浮点操作数的减法来计算Close路径结果, 其中,计算Close路径结果包括:如果Close路径结果包括非规格化数,则限 制Close路径结果的小数点移位的量。所述方法可包括:至少部分基于第一 浮点操作数的指数部分和第二浮点操作数的指数部分之差在Far路径结果和 Close路径结果之间进行选择。

根据另一总体方面,一种系统可包括存储器和处理器。存储器可被构造 为存储两个浮点操作数。处理器可包括:浮点加法单元,被构造为通过将两 个浮点操作数相加或相减来产生浮点结果,其中,每个浮点操作数包括小数 部分和指数部分。浮点加法单元可包括Far路径电路、Close路径电路和最后 结果选择器电路。Far路径电路可被构造为不管这两个浮点操作数或浮点结果 是否包括规格化数或非规格化数,基于这两个浮点数的加法或减法来计算Far 路径结果。Close路径电路可被构造为不管这两个浮点操作数或结果是否包括 规格化数或非规格化数,基于这两个浮点操作数的减法来计算Close路径结 果。Close路径电路可包括被构造为当Close路径结果包括非规格化数时限制 Close路径结果的小数点移位的钳位电路。最后结果选择器电路可被构造为至 少部分基于这两个浮点操作数的指数部分的差的量在Far路径结果和Close 路径结果之间进行选择。

在附图和下面的描述中阐述一个或更多个实施方式的细节。其他特征将 从描述和附图以及从权利要求清楚。

用于数学运算的电计算的系统和/或方法在至少一个附图中被充分地示 出和/或结合至少一个附图被描述,如在权利要求中被更加完整地阐述。

附图说明

图1是根据本公开的主题的浮点加法器的示例实施例的框图。

图2a是根据本公开的主题的浮点加法器的FAR路径部分的示例实施例 的框图。

图2b是根据本公开的主题的浮点加法器的CLOSE路径部分的示例实施 例的框图。

图2c是根据本公开的主题的浮点加法器的示例实施例的框图。

图3是根据本公开的主题的技术的示例实施例的流程图。

图4是可包括根据本公开的主题的原理形成的装置的信息处理系统的示 意性框图。

各个附图中的相同的参考符号指示相同的元件。

具体实施方式

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

将理解的是,当元件或层被称为“在”另一元件或层“上”、“连接到” 或“结合到”另一元件或层时,所述元件或层可直接地在该另一元件或层上、 直接地连接到或结合到该另一元件或层,或者可存在中间元件或层。相反, 当元件被称为“直接在”另一元件或层“上”、“直接连接到”或“直接结合 到”另一元件或层时,不存在中间元件或层。相同的数字始终指示相同的元 件。如在此使用的,术语“和/或”包括相关联列出项中的一个或更多个的任 何和所有组合。

将理解的是,虽然术语“第一”、“第二”、“第三”等可在此用于描述各 种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部 分不应受这些术语限制。这些术语仅用于将一元件、组件、区域、层或部分 与另一元件、组件、区域、层或部分进行区分。因此,在不脱离本公开的主 题的教导的情况下,下面论述的第一元件、组件、区域、层或部分可被命名 为第二元件、组件、区域、层或部分。

为了易于描述,可在此使用诸如“在…之下”、“在…下面”、“在…下方”、 “在…上面”、“在…上方”等的空间相对术语,以描述如附图中所示的一个 元件或特征与另一元件或特征的关系。将理解的是,除了附图中描绘的方位 之外,空间相对术语还意图包含装置在使用或操作中的不同方位。例如,如 果附图中的装置被翻转,则被描述为“在”其他元件或特征“下面”或“在” 其他元件或特征“之下”的元件将随后被导向为“在”所述其他元件或特征 “上面”。因此,示例性术语“在…下面”可包含上面和下面两个方位。装置 可被另外导向(旋转90度或在其他方位),并且在此使用的空间相对描述符 被相应地解释。

在此使用的术语仅是为了描述特定示例实施例的目的,不意图限制本公 开的主题。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意 图包括复数形式。还将理解的是,当在本说明书中使用时,术语“包括”和/ 或“包含”指定存在所陈述的特征、整体、步骤、操作、元件和/或组件,但 是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、元件、组 件和/或它们的组。

在此参照作为理想的示例实施例的示意性图示的截面图示(和中间结构) 来描述示例实施例。如此,将预期由例如制造技术和/或容差导致的图示的形 状的变化。因此,示例实施例不应被解释为限于在此示出的区域的特定形状, 而应包括由例如制造导致的形状的偏差。例如,被示出为矩形的注入区域通 常将具有圆形或曲线特征和/或在其边缘具有注入浓度的梯度,而不是从注入 区域到非注入区域的二值变化。同样地,通过注入形成的掩埋区会在掩埋区 和注入发生的表面之间的区域中导致一些注入。因此,附图中示出的区域在 性质上是示意性的,它们的形状不意图示出装置的区域的实际形状,并且不 意图限制本公开的主题的范围。

除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有 与本公开的主题所属领域的普通技术人员通常理解的含义相同的含义。还将 理解的是,诸如在通用字典中定义的术语应被解释为具有与它们在相关领域 的上下文中的含义一致的含义,并且将不被解释为理想化或过度形式化的意 义,除非在此明确地如此定义。

下文中,将参照附图详细地解释示例实施例。

如上所述,在计算装置中,浮点数由一定数量的比特表示。这意味着浮 点数可仅表示由它们被分配的比特数界定的无穷大数空间的不连续且受约束 的部分。对于规格化浮点数,与标准的科学记数法格式类似地表示数字,数 字的有效数部分和指数部分中的整数用于指示小数点应位于何处。例如,在 十进制系统中,23,467被表示为2.3467×104,其中,整数的单个数字是2, 小数点向右4位。当数字以二进制表示时,最高有效位总是1。要理解的是, 在此科学记数法的使用由于其对普通读者的适用性而被使用,并且仅是说明 性示例。要进一步理解的是,优选的本公开的主题集中于二进制数。

当浮点数较小时,在有效数或小数部分中没有前导零。而是,通过调整 指数部分移除前导零。因此,(在十进制中)0.0123将会被写为1.23×10-2, 并且前导零将被移除。

然而,根据IEEE 754标准,在一些情况下,存在浮点记数法将导致指数 太小而不能被正确地表示的数字。由于计算装置受限于用于表示指数部分的 比特数,因此指示小数点移位(radix point shift)的适当量所需的值能够大于 计算装置可用于浮点数的指数部分的比特数。例如,如果浮点包括用于指数 的8比特,则指数可以在127和-126之间的范围内。这意味着如果数字具有 小于-126的指数(例如,2-134等),则规格化浮点数方案将不能在没有显著数 学错误的可能性的情况下表示该数字。

诸如这样的数字被称为“非规格化数”、“非正规化数”或“次规格化数”, 并且通常导致计算电路的困难。非规格化数需要比规格化数稍有不同的编码 方案。首先,如根据IEEE 754规范,非规格化数的有效数的前导数字是0。 不是改变指数,而是将前导零保留在有效数中。其次,非规格化数的指数部 分是0。也就是说,不是将0.01234表示为1.234×10-2,而是将非规格化数表 示为0.01234×100(要理解的是,真正的非规格化数将具有比10-2小得多的指 数值,例如10-38或2-127,但是写出38个前导零对于示例而言是过分的)。在 一个实施例中,32位浮点非规格化数可包括大约在2-127和2-149之间的值,这 是因为有效数可容纳22个前导零。通常,非规格化数允许表示越来越小的数, 但是随着前导零的数量增加,包括在数字中的精度(即,有效数字)的量减 小。这是被称为“渐进下溢”的现象,并且通常优选于只是将小的数字声明 为零的可选方式。

一些计算系统在硬件中处理非规格化值。传统上,这样的计算系统将使 用第一硬件单元计算规格化数加法,使用第二硬件单元计算非规格化数加法。 其他计算系统将非规格化值的处理留给系统软件。在软件中处理非规格化值 通常导致性能上的进一步显著降低。但是即使当非规格化值全部在硬件中计 算时,在大多数现代处理器上计算的速度也显著下降;在极端情况下,涉及 非规格化操作数的指令可比规格化操作数的指令运行慢多达30-100倍。

图1是根据本公开的主题的系统或FPA(浮点加法器)100的示例实施 例的框图。在示出的实施例中,系统包括浮点加法(FPA或FADD)单元或 电路100。在这样的实施例中,FPA 100被构造为对两个浮点操作数或值202 和204执行加法和/或减法,并产生结果248。

FPA 100与传统FPA显著不同之处在于,FPA 100被构造为即使操作数 202和204中的一个或更多个或者结果248是非规格化数,也处理或计算浮 点加法运算。而传统FPA只可正确地处理规格化数,FPA 100被构造为处理 规格化数、非规格化数或其组合。

简单地描述传统浮点加法器的运作以便将其功能与图1的改进系统进行 对比。通常,FPA被构造为仅对两个规格化浮点数执行加法(或减法)并产 生规格化浮点结果。在这样的实施例中,通过产生非正常或特殊结果(与特 殊结果246类似)的单独的硬件执行任何非正常运算。然后,系统经由电路 或复用器(MUX)192在规格化结果(与结果248类似)和特殊结果之间进 行选择,从而产生最终结果149。

在各种实施例中,可通过以下条件中的一个或更多个产生特殊结果:(例 如,在操作数、结果等中)遇到无穷大,遇到非数字(NaN)值,遇到零, 或者遇到非规格化值。在这样的实施例中,FPA的正常结果被视为不正确(即, 具有错误值等)并且被忽视。相反,其他硬件(图2c中所示)用于正确地计 算正确的结果值。通常,与正常结果的计算相比,这些非正常值的计算耗费 大量的计算时间。

有时,通过浮点乘法累加单元(FMAC或FMADD或FMA)(未明确示 出)执行非规格化数的加法。这在硬件空间和组件方面以及在计算能力方面 代价高,并且是不期望的权衡。FPA通常更期望于直接的加法或减法(在空 间、能力等方面)。在示出的实施例中,FPA 100不能执行浮点乘法运算。

如上所述,在传统FPA情况下,非规格化数的出现将导致对特殊硬件的 调用。非正常结果将随后被电路或MUX 192选为最终结果149。在这样的实 施例中,传统FPA的输出(与结果248类似)将被丢弃。如上所述,用于处 理非规格化值的特殊硬件的调用在计算时间方面是昂贵的,并且可能涉及对 可占用另一运算或对另一运算不可用的另一电路(例如,FMAC等)的使用 (即,并行计算能力降低等)。

在示出的实施例中,FPA 100被构造为当遇到非规格化数时,在不招致 在传统情况下经历的性能损失的情况下对规格化数和非规格化数二者执行浮 点加法。下面描述FPA 100的操作。

与传统FPA一样,FPA 100包括三个基本部分:Far路径298、Close路 径299和选择电路297。在各种实施例中,Far路径298可被构造为当两个操 作数202和204的指数部分相差多于一个数量级(例如,1,234–34等)时执 行所有范围的加法运算或减法运算。相反,Close路径299可被构造为当两个 操作数202和204的指数部分(或绝对值)相差少于一个数量级(例如,1,234 +-1,236等)时执行减法运算。选择电路297可被构造为在Far路径结果242 和Close路径结果244之间进行选择以(根据实施例)产生最后(非特殊) 结果248或最终结果149。针对图1大体上详细地论述FPA 100的这些部分, 然后针对图2a、图2b和图2c更加详细地示出FPA 100的这些部分。

在示出的FPA 100的实施例中,在已知两个操作数202和204的指数部 分的差之前,通过Far路径298和Close路径299并行地处理操作数202和 204。结果,两个路径的结果242或244之一将是不准确的并且将被选择电路 297丢弃(如到此时指数部分的差是已知的)。该并行计算具有提高计算速度 的期望效果,但是具有增大FPA 100的尺寸和FPA 100所消耗的功率的不太 期望的效果。

图1的这三个部分297、298和299中的每个部分执行与传统FPA的相 似部分大致类似的运算。然而,如上所述,Far路径298、Close路径299和 选择电路297可被构造为处理规格化数和/或非规格化数,而传统FPA部分只 能处理规格化数。

在示出的实施例中,FPA 100接收两个操作数202和204。在这样的实施 例中,操作数202和204可以是浮点数,并且可包括规格化数和/或非规格化 数。出于说明的目的,本文将把操作数202和204视为包括64位IEEE 754 兼容的浮点数。如此,操作数202和204均包括1位符号指示符、11位指数 部分和52位小数部分。要理解,以上仅是一个说明性示例,本公开的主题不 限于此。

首先检查Far路径298的运作。在示出的实施例中,操作数202和204 被输入到Far路径298。操作数202和204均经过非规格化数检测电路252。 在一个实施例中,非规格化数检测电路252可包括一系列或门(例如,OR树 等)。在一个实施例中,非规格化数检测电路252可被构造为检测各个操作数 202或204的小数部分是否包括前导零。在各种实施例中,非规格化数检测 电路252可产生非规格化指示信号213。

传统上,假设操作数是规格化数的FPA可将前导1连接到操作数的小数 部分以产生预交换信号(与信号210类似)。在示出的实施例中,FPA 100可 将非规格化指示信号213的逆连接到操作数202和204的小数部分以产生预 交换信号210。在这样的实施例中,由规格化操作数产生的预交换信号210 将包括前导1,而从非规格化操作数产生的预交换信号210将包括前导零。

在示出的实施例中,FPA 100的Far路径298包括前导位补偿电路250。 由于操作数的小数部分经常最初不对齐(即,具有相同的指数值),因此以浮 点格式表示的数的加法有问题。通常,通过下面描述的小数点对齐电路154 处理这样的问题。

IEEE 754标准包括在规格化数和非规格化数之间编码数字的方式的奇异 性。通过涉及如在数字行上倒计数并且检查当遇到奇异性时发生了什么的示 例的方式来非常容易地解释该奇异性。在规格化数的编码方案内,当倒计数 并且数字从整数进行到小数(例如,从1.0到0.9等)时,有效数上移并且指 数减一(例如,从1.0×102到9.0×101等)。但是,当倒计数并且数字从规格 化数变为非规格化数时,不发生该移位/减小操作对。例如,当一个数从 1.0×2-126到0.1×2-126时,非规格化数的有效数不上移(即,它保持0.1而不是 变为1.0),但是指数部分仍然减小(从0x01到0x00,这是因为非规格化数 被定义为具有0指数部分)。在IEEE 754标准中,32位浮点规格化数的指数 部分被偏移或偏置127,使得2-126被编码为0x01。不幸地,32位浮点非规格 化数的指数部分被偏移或偏置126,使得2-126被编码为0x00。当将规格化操 作数和非规格化操作数相加时,可考虑编码方案的差异。

在示出的实施例中,前导位补偿电路250被构造为移动非规格化操作数 的小数点,使得有效数具有与在规格化数的情况下相同的指数部分编码。在 另一实施例中,小数点对齐电路154可被改变为自身执行该补偿。在另一实 施例中,前导位补偿电路250可被构造为移动规格化操作数(而不是非规格 化操作数)的小数点,但是这会导致精度的下降。

在这样的实施例中,如果操作数202和204中只有一个是非规格化(另 一个是规格化),则前导位补偿电路250可被构造为补偿对非规格化数和规格 化数进行编码的方式的差异。前导位补偿电路250被构造为对非规格化的预 交换信号210进行移位。在各种实施例中,前导位补偿电路250可由确定两 个预交换信号210中的哪一个(任一个)将被移位的一对信号211控制。在 各种实施例中,这些控制信号211可来自非规格化数检测电路252的输出213。

在各种实施例中,FPA 100可包括指数差(ExpDiff)计算电路152,指 数差计算电路152被构造为确定两个操作数202和204中的哪一个是较大的 操作数。这导致大小区分信号111。在各种实施例中,ExpDiff计算电路152 可比非规格化数检测电路252和/或前导位补偿电路250花费更多的计算时 间。如此,在这样的实施例中,由于包括了非规格化数检测电路252和/或前 导位补偿电路250,因此Far路径298可不产生额外的计算时间(与传统的 Far路径相比)。

如传统上的做法,如果需要,则两个操作数(例如,预交换信号210等) 被重新排序或交换,使得较大的或固定的操作数212被置于加法器158和160 的期望的输入组上,同样地,较小的操作数214亦如此。该动作由交换复用 器(MUX)150执行。在示出的实施例中,交换MUX 150由大小区分信号 111控制。

如上所述,如果操作数的小数部分不对齐,则加法是有问题的。在一些 实施例中,较小信号214的小数点可被移动,使得较大操作数212和较小操 作数214的小数点对齐。在示出的实施例中,这可由对齐电路154完成。在 这样的实施例中,对齐电路154可由ExpDiff计算电路152的输出112控制。

在示出的实施例中,FPA 100可被构造为检测操作数214是否显著地超 出较大操作数212的范围。电路156(例如,一系列或门等)可在这样的情 况下产生至少一个粘贴位(sticky bit)113,粘贴位113指示非零的较小的操 作数超出范围。在示出的实施例中,粘贴位113和任何其他控制位(例如, 保护位、舍入位等)可与操作数212和214连接。要理解,以上仅是一些说 明性示例,本公开的主题不限于此。

在各种实施例中,操作数212和214可被输入到整数加法电路296。在 示出的实施例中,整数加法电路296可包括一对整数加法器158和160。在 一个实施例中,第一加法器158可假定在加法中不存在溢出,第二加法器160 可假定在加法中将存在溢出,或者在减法的情况下,第二加法器160可假定 将存在1位移位。在这样的实施例中,第二加法器160可使用进位存储算术 电路162(例如,3:2压缩器等)。在各种实施例中,加法器158和160还可 接收各种舍入常数116作为输入。

如上所述,在各种实施例中,可并行采用这两个整数加法器158和160, 以提高计算的速度和容易性。在各种实施例中,可采用整数加法选择器264 以在加法器158和160的两个输出之间进行选择。

在传统系统中,整数加法电路296可包括整数加法选择器。整数加法选 择器可由整数加法选择信号控制,其中,整数加法选择信号基于溢出指示符 和左移位指示符。

相反,在示出的实施例中,在FPA 100中,整数加法选择器264可由整 数加法选择信号218控制。在这样的实施例中,整数加法选择信号218的值 还可至少部分地基于溢出指示符和左移位指示符。然而,整数加法选择信号 218还可基于两个非规格化操作数(例如,操作数202和204等)的加法是 否导致规格化结果(例如,结果242等)的指示。在这样的实施例中,整数 加法选择信号218可由Far路径非规格化至规格化校正电路包括。

在示出的不仅处理规格化数而且处理非规格化操作数202和204的实施 例中,可对于两个非规格化数的加法创建规格化数。在这样的实施例中,必 须再次考虑非规格化数的指数偏置的奇异性。在示出的实施例中,加法选择 器264的选择逻辑218已被改变为适应这种情况的发生。在这样的实施例中, 整数加法选择信号218还可基于两个非规格化操作数(例如,操作数202和 204等)的加法是否导致规格化结果(例如,结果242等)的指示。在这样 的实施例中,非规格化至规格化校正逻辑可通过加/舍入阶段296中的1位左 移位校正机制共享。

在示出的实施例中,如上所述,Far路径298可最后产生Far路径结果 242。在各种实施例中,Far路径298的包括交换MUX 150的部分和包括整数 加法电路296的部分可被包括在不同的流水线阶段(例如,FX1、FX2等) 中。要理解,以上仅是一个说明性示例,本公开的主题不限于此。

现在检查Close路径299的运作。在各种实施例中,Close路径299被构 造为仅在两个操作数202和204相差一个数量级(或更少)的情况下处理减 法。在一些实施例中,Close路径299还被构造为调节被称为“大规模相消 (massive cancellation)”的现象,在该现象中,两个数的减法导致足够小的 数,使得必须移动小数点以达到适当格式的规格化数,或者在示出的实施例 中,创建非规格化数。

在示出的实施例中,操作数202和204被输入到Close路径299。操作数 202和204均经过非规格化数检测电路253。在一个实施例中,如上所述,非 规格化数检测电路253可包括一系列或门(OR树)。在一个实施例中,非规 格化数检测电路253可被构造为检测各个操作数202或204的小数部分是否 包括前导零。在各种实施例中,非规格化数检测电路253可产生非规格化指 示信号213c。在各种实施例中,Far非规格化数检测电路252和Close非规格 化数检测电路253可以是相同的电路。在另一实施例中,可存在两个单独的 电路和输出信号。要理解,以上仅是一些说明性示例,本公开的主题不限于 此。

如上所述,在加法运算期间,期望操作数210对齐到共同小数点。在各 种实施例中,如果需要,则Close路径299可包括被构造为移动较小操作数 的小数点的对齐电路171。

在各种实施例中,FPA 100的Close路径299可包括被构造为确定两个操 作数202和204中的哪一个是较大操作数的指数差(ExpDiff)计算电路172。 这导致大小区分信号231。在各种实施例中,Close路径ExpDiff计算电路172 可以小于(例如,2比特等)Far路径ExpDiff计算电路152(例如,11比特 等)。这是因为对于Close路径299,可以假定操作数202和204的值彼此分 开得不是非常远。

再次,如果需要,则两个操作数(例如,预交换信号210等)被重新排 序或交换,使得较大的或固定的操作数232被置于加法器174和176的期望 的输入组上,同样地,较小的操作数234亦如此。该动作由交换复用器(MUX) 170执行。在FPA的传统实施例中,交换MUX 170可由大小区分信号控制, 其中,大小区分信号指示两个操作数202和204中的哪一个较大。然而,在 一个实施例中,FPA 100的交换MUX 170可由信号231控制。在这样的实施 例中,信号231可额外地基于指示的较小操作数是否是非规格化。

在各种实施例中,Close路径299可包括两个整数加法器174和176。在 一个实施例中,第一加法器174可被构造为执行操作数232与操作数234的 减法,而第二加法器176可被构造为执行操作数234与操作数232的减法。 MUX 178或选择器可被构造为(基于控制信号135)选择来自两个加法器174 和176的为正的结果。

在各种实施例中,当两个浮点数相减时,可发生被称为“大规模相消”的 效果。在各种实施例中,当两个操作数的指数相等或相差仅一个数量级时, 数字能够在值上如此接近,使得减法结果在有效数或小数部分中包括一个或 更多个前导零。在这样的实施例中,通常发生小数点的移动以使结果规格化, 并将前导1返回到其预期位置(如果数字是规格化数)。

在各种实施例中,Close路径299可被构造为使作为MUX 178输出的结 果信号236规格化。在这样的实施例中,该规格化可包括移动结果信号236 的小数点使得数字处于适当的浮点格式。在结果信号236是规格化数的情况 下,这意味着移动小数点使得小数部分包括前导1。在结果信号236是非规 格化数的情况下,这意味着移动小数点,但是不移动使得指数部分不再有效 那样多。在这样的实施例中,小数点移位的量必须受限制或受钳制。

在示出的实施例中,Close路径299可包括小数点移位电路286。在这样 的实施例中,小数点移位电路286可被构造为估计将Close路径结果的小数 点移动多少。在示出的实施例中,小数点移位电路286可包括前导零估计器 电路的常规元件,并被构造为估计将Close路径结果244或结果信号236的 小数点移动多少。在这样的实施例中,前导零估计器电路可包括前导零预测 器(LZA)180和优先级编码器(PENC)181。

在各种实施例中,LZA 180可被构造为确定或估计小数点需要被移动多 少位以使结果数字具有非零前导数字。例如,为了将数字0.0001表示为 1.0×2-4,小数点将需要被移位4次。在各种实施例中,优先级编码器(PENC) 181可被构造为将LZA 180的输出137转换为更易于由位移硬件(例如,组 件175和273等)处理的编码值138。在这样的实施例中,PENC 181可被构 造为检测LZA的输出矢量137中的第一个1的位置。

在传统FPA中,PENC 181的输出138可被输入到如下面描述的小数点 移位器175。然而,在示出的图1的实施例中,因为在最小可能指数部分的 界限处存在非规格化数,所以不可将有效数上移到其包括整数(即,1等) 的位置。这是因为,每次将有效数上移一个小数点时,指数部分必须减小。 然而,由于非规格化数的指数部分相当小,因此存在其不能被进一步减小的 点,因而有效数必须保持<1。这是非规格化数的前导位是0而规格化数的前 导位是1的原因。在示出的实施例中,采用逻辑和硬件组件(例如,组件281、 282和284等),从而当已经达到可发生的指数减小的最大量(例如,指数值 为零等)时钳制或暂停小数点移位。

在示出的实施例中,Close路径299可包括钳位电路287,钳位电路287 被构造为当两个浮点操作数202和204中的至少一个包括非规格化数时,停 止或暂停Close路径结果244或236的小数点移位。在一个实施例中,钳位 电路287可被构造为确定Close路径结果244或236是否是非规格化数,并 且如果是非规格化数,则在超过小数点移位的最大量之前停止或暂停Close 电路路径的小数点移位。

在示出的实施例中,钳位电路287可接收较大的操作数202或204的指 数部分237作为输入。该指数部分237可由最大移位评估器281评估以确定 在结果236的指数部分无效之前小数点可被移动的最大次数(或者结果236 的指数部分可减小的次数)。指数部分237可与PENC 181的输出138比较以 确定指数部分237是否可减小PENC 181所建议的那样多。在示出的实施例 中,这可由钳位检测器282完成。在示出的实施例中,移位量选择器284可 基于钳位检测器282的输出在最大移位评估器281和PENC 181的输出之间 进行选择。在示出的实施例中,钳位电路287可包括最大移位评估器281、 钳位检测器282和移位量选择器284。

在示出的实施例中,如上所述,Close路径299可包括小数点移位器175。 在这样的实施例中,小数点移位器175可被构造为基于小数点移位电路286 的输出238移动结果236的小数点。

在一些实施例中,LZA 180可仅产生估计,并且可以不如期望的精确。 有时,LZA 180估计可能差一个小数点。在这样的实施例中,Close路径299 可包括补偿小数点移位器273。在传统FPA中,补偿小数点移位器可由基于 LZA 180的正确性(或其不足)的信号控制。

然而,在示出的图1的实施例中,FPA 100被构造为处理规格化操作数 和非规格化操作数202和204二者。如上所述,在各种实施例中,当结果实 际上是如所述的可能差一个小数点的最小指数时,LZA可能不正确地预测非 规格化数。在这样的实施例中,必须再次考虑非规格化数的指数偏置的奇异 性。在示出的实施例中,补偿小数点移位器273的控制逻辑和信号239已经 改变为适应该情况的发生。在这样的实施例中,规格化至非规格化校正机制 可通过LZA校正逻辑273共享,并且LZA校正逻辑273可被视为Close路径 非规格化至规格化校正电路。在示出的实施例中,补偿小数点移位器273的 输出是Close路径结果244。

在各种实施例中,小数点移位电路286可包括LZA 180、PENC 181和钳 位电路287。在另一实施例中,小数点移位电路286还可包括小数点移位器 175和/或补偿小数点移位器273。要理解,以上仅是一些说明性示例,本公 开的主题不限于此。

在示出的实施例中,如上所述,Close路径299可最后产生Close路径结 果244。在各种实施例中,Close路径299的包括交换MUX 170的部分和包 括小数点移位电路286的至少一些的部分可被包括在不同的流水线阶段(例 如,FX1、FX2等)中。要理解,以上仅是一个说明性示例,本公开的主题 不限于此。

在示出的实施例中,FPA 100可包括被构造为在Far路径结果242和Close 路径结果244之间进行选择的最后结果选择器电路297。在一些实施例中, 该部分可至少部分地基于两个浮点操作数202和204的指数部分的差小于阈 值量(例如,小于或等于指数的差的一个数量级等)。

在传统FPA中,FPA可包括规格化结果选择器或MUX,当操作数的指 数部分的差足够小(小于一个数量级)时,所述规格化结果选择器或MUX 选择(与Far路径结果相对的)Close路径结果。

相反,在示出的实施例中,FPA 100可包括结果选择器或MUX 290,当 已经发生了真正的减法并且已经发生了至少一些大规模相消或者操作数202 和204的指数部分正好相等时,结果选择器或MUX 290选择(与Far路径结 果242相对的)Close路径结果244。在该上下文中,“真正的减法”是操作数 202和204之一(而非二者)为负的情况。另外,在该上下文中,发生了“真 正的加法”。该选择可由信号241控制。在示出的实施例中,结果选择器或 MUX 290可输出浮点结果248。

如上所述,在各种实施例中,最后结果选择器电路297还可包括被构造 为在浮点结果248和特殊结果246之间进行选择的最终结果选择器192。在 各种实施例中,特殊结果246可以与传统FPA的特殊或非正常结果类似,但 是由于涉及非规格化数已经被FPA 100处理的情况,特殊结果246将不包括 非规格化数情况。在示出的实施例中,如上所述,最终结果选择器192可输 出最终结果149。

在各种实施例中,最后结果选择器电路297可被包括在与Far路径电路 298和Close路径电路299(例如,FX1、FX2等)不同的流水线阶段(例如, FX3等)中。要理解,以上仅是一个说明性示例,本公开的主题不限于此。

图2a是根据本公开的主题的系统的示例实施例的框图。具体地讲,图 2a示出诸如图1中示出的FPA的Far路径部分298的示例实施例。在示出的 实施例中,Far路径298接收两个64位操作数SrcA 202和SrcB 204。要理解, 以上仅是一个说明性示例,本公开的主题不限于此。

如上所述,操作数202和204包括64位双精度浮点数。在这样的实施例 中,编号为51-0的52位是数字的尾数、小数或有效数部分。在IEEE 754中, 小数部分包括不表示的“隐藏位(hidden bit)”,由于隐藏位可来自指数部分, 因此通常将允许给予小数部分比分配的存储小数部分的位数多1位的精度 (例如,52位小数部分具有53位的精度)。

在这样的实施例中,编号为62-52的11位是数字的指数部分。如上所述, 11位的指数被偏置使得可表示正指数和负指数二者。在各种实施例中,考虑 到21023和2-1022之间的指数,规格化数的指数偏置使得零指数具有值1023。 最后,编号为63的位是指示小数是正还是负的符号位。如上所述,在各种实 施例中,对于被视为“规格化”数的数字,其必须在有效数或小数的隐藏位 中包括1。

在示出的实施例中,非规格化数检测电路252可接收操作数202和204 的指数部分(位52-62)。在这样的实施例中,非规格化数检测电路252可从 指数部分获得隐藏位(指示数字是规格化还是非规格化)。由于非规格化数对 于指数部分包括零值,因此可通过对指数部分的位取或(ORing)来获得隐藏 位,以确定指数是否为非零。非规格化数检测电路252的各个结果213的逆 (逻辑非)随后与各个操作数202和204的小数部分(位51-0)连接以形成 预交换信号210。在这样的实施例中,预交换信号210可包括有效数的精度 的全部(例如,53位等)。

如上所述,在各种实施例中,各个信号211可基于非规格化数检测电路 252的输出213(DenormA和DenormB)。在这样的实施例中,如果接收的操 作数是非规格化而另一操作数是规格化,则各个前导位补偿电路250可对它 们各自的预交换操作数210进行移位。

如上所述,ExpDiff计算电路152可接收操作数202和204的全部指数位 (位62-52)。从这点上,ExpDiff计算电路152可产生信号111,信号111指 示操作数202比操作数204大还是小(在数量级方面),并因此指示哪个操作 数202或204将成为较大的操作数212和较小的操作数214。此外,ExpDiff 计算电路152可产生信号112,信号112指示较小的操作数214的小数点需要 被移动多少位以与较大的或固定的操作数212对齐。在示出的实施例中,该 信号212可被对齐电路154采用。

如上所述,在经过交换MUX 150之后,操作数210可被指定为大操作 数212和小操作数214。在示出的实施例中,操作数212和214可包括各个 操作数210的52位。在示出的实施例中,操作数212和214还可包括它们各 自的保护(G)位和舍入(R)位。在各种实施例中,保护位可被构造为“防 范”舍入误差。同样地,舍入位可被构造为影响舍入决定。在各种实施例中, G位和R位这两个位可向计算有效地增加两个位的精度。此外,由电路156 产生的粘贴位可使操作数212和214的宽度均变为56位。

如上所述,在示出的实施例中,加法器158可包括被构造为执行舍入运 算的60位整数加法器。在这样的实施例中,加法器158可被构造为假定在加 法期间没有发生指数移位。然而,在示出的实施例中,加法器160可包括被 构造为考虑溢出或1位左移位并执行标准的规格化运算的60位整数加法器。

在示出的实施例中,选择逻辑218考虑三种可能事件。如果发生了溢出, 则指数部分可增加。如果减法使结果不包括整数(例如,1.0+(–0.75)=0.25 等),则有效数可被移位并且指数被调整以形成适当的规格化数(例如,0.25 变为2.5×10-1等)。在示出的实施例中,如果两个非规格化数的加法导致了规 格化数,则如上所述,由于规格化数和非规格化数之间的指数偏置不同,因 此结果的指数部分必须增加。要理解,以上仅是一个说明性示例,本公开的 主题不限于此。

图2b是根据本公开的主题的系统的示例实施例的框图。具体地讲,图 2b示出诸如图1中示出的FPA的Close路径部分299的示例实施例。在示出 的实施例中,Close路径299接收两个64位操作数SrcA 202和SrcB 204。要 理解,以上仅是一个说明性示例,本公开的主题不限于此。

再次,在示出的实施例中,非规格化数检测电路253接收操作数202和 204的指数部分。从这点上,非规格化数检测电路253可确定操作数是规格 化还是非规格化。同样地,非规格化数检测电路253的各个结果213的逆(逻 辑非)可随后与各个操作数202和204的小数部分(位51-0)连接,以形成 预交换信号210。在这样的实施例中,预交换信号210可包括有效数的精度 的全部(例如,53位等)。

如上所述,在示出的实施例中,指数差(ExpDiff)计算电路172可接收 操作数202和204的指数的两个最低有效位(位53和52)。在这样的实施例 中,ExpDiff计算电路172可包括2位,这是因为在Close路径299中假定操 作数202和204彼此在一个数量级内。

在示出的实施例中,2位ExpDiff计算电路172的时序需求可小于非规格 化数检测电路253的时序需求。在这样的实施例中,与传统的FPA电路相比, 非规格化数检测电路253可增加Close路径299的时序需求。然而,由于FPA 100的整个临界时序路径包括在Far路径298中,因此FPA 100的整个时序由 于Close路径299中的非规格化数检测电路253的加法而不增加。要理解, 以上仅是一个说明性示例,本公开的主题不限于此。

在示出的实施例中,信号231已被修改为不仅考虑操作数202是否大于 操作数204,而且考虑该操作数是否是非规格化并且另一操作数是否是规格 化。在这样的实施例中,可(经由对齐电路171)发生规格化数和非规格化 数之间的指数偏置的差的校正或补偿。

在示出的实施例中,加法器174可包括被构造为从操作数A 232减去操 作数B 234的55位加法器。另外,加法器176可包括被构造为从操作数B 234 减去操作数A 232的55位加法器。

在示出的实施例中,LZA 180可输出54位矢量137。在这样的实施例中, PENC 181可将该54位矢量137转换为6位编码的输出值138。在各种实施 例中,最大移位评估器281和钳位检测器282可接收最大操作数237的指数 部分作为输入。

在示出的实施例中,MUX 284的输出238可被构造为基于钳位检测器 282是否调用非规格化钳制功能来产生结果信号236的新的指数值。如果钳 位检测器282确定小数点移动的量将受限制或受钳制,则指数值将减小PENC 181所建议的量138。在各种实施例中,这可包括将指数值设置为零。否则, 指数值将减小最大移位评估器281所建议的量。此外,在各种实施例中,可 发生指数的额外减小以调整规格化数和非规格化数之间的指数偏置的差。

在示出的实施例中,如果LZA估计137不正确并且结果信号236是规格 化数,则补偿小数点移位器273的控制逻辑和信号239可被构造为调整小数 点。如果LZA估计137不正确并且结果信号236不是非规格化数,但是应当 是非规格化数,则指数可减小。如果LZA估计137不正确并且结果信号236 是非规格化数,但是应当不是非规格化数,则指数可增加以调整规格化指数 偏置相对于非规格化指数偏置的差。再次,在示出的实施例中,可产生Close 路径结果244。

图2c是根据本公开的主题的系统的示例实施例的框图。具体地讲,图 2c示出诸如图1中示出的FPA的选择电路297的示例实施例。在示出的实施 例中,选择电路297接收三个结果,Far路径结果242、Close路径结果244 和特殊结果246。在各种实施例中,特殊结果246可包括多个特殊结果(例 如,不包括非规格化数异常的每个算术异常的一个特殊结果)。要理解,以上 仅是一个说明性示例,本公开的主题不限于此。

如上所述,在示出的实施例中,结果选择器290可被构造为基于信号241 在Far路径结果242或Close路径结果244之间进行选择。在示出的实施例中, 如果发生了真正的减法,并且发生了大规模相消或者操作数202和204的指 数的差为零,则信号241可使Close路径结果244被选择。要理解,以上仅 是一些说明性示例,本公开的主题不限于此。

在示出的实施例中,系统可包括一个或更多个特殊计算路径296。如上 所述,每个路径可被构造为计算或处理一个或更多个算术异常。在各种实施 例中,特殊计算路径296可产生一个或更多个特殊结果246。如上所述,最 终结果选择器192被构造为在浮点结果248和特殊结果246之间进行选择。 在各种实施例中,FPA可不包括特殊计算路径296或最终结果选择器192。 要理解,以上仅是一个说明性示例,本公开的主题不限于此。

图3是根据本公开的主题的技术300的示例实施例的流程图。在各种实 施例中,技术300可由诸如图1、图2a、图2b和/或图2c的系统的系统使用 或产生。虽然如此,但是要理解,以上仅是一些说明性示例,本公开的主题 不限于此。要理解,本公开的主题不限于技术300所示出的动作的数量或顺 序。

块302示出在一个实施例中,如上所述,可接收第一浮点操作数和第二 浮点操作数。在一些实施例中,如上所述,第一浮点操作数和第二浮点操作 数可包括规格化数、非规格化数或其组合。在各种实施例中,如上所述,该 块所示出的动作中的一个或更多个可由图1、图2a、图2b或图2c的系统或 设备、图1、图2a、图2b或图2c的操作数202和204执行。

块304示出在一个实施例中,如上所述,可基于第一浮点操作数和第二 浮点操作数的加法或减法来计算Far路径结果。在各种实施例中,如上所述, 该Far路径计算可不管第一浮点操作数、第二浮点操作数或Far路径结果中的 至少一个是否包括非规格化数而发生。在各种实施例中,如上所述,如果第 一浮点操作数和第二浮点操作数二者包括非规格化数并且Far路径结果包括 规格化数,则计算Far路径结果可包括调整Far路径结果的指数部分。在一些 实施例中,如上所述,如果第一浮点操作数和第二浮点操作数二者包括非规 格化数并且Far路径结果包括规格化数,则计算Far路径结果可包括调整Far 路径结果的指数部分。在各种实施例中,如上所述,该块所示出的动作中的 一个或更多个可由图1、图2a、图2b或图2c的系统或设备、图1、图2a或 图2c的Far路径电路298、图1或图2a的前导位补偿电路250或者图1或图 2a的整数加法电路296执行。

块306示出在一个实施例中,如上所述,可基于第一浮点操作数和第二 浮点操作数的减法来计算Close路径结果。在一个实施例中,如上所述,该 计算可不管第一浮点操作数、第二浮点操作数或Close路径结果中的至少一 个是否包括非规格化数而发生。在各种实施例中,如上所述,如果Close路 径结果包括非规格化数,则计算Close路径结果可包括调整Close路径结果的 小数点移位。在一些实施例中,如上所述,如果浮点操作数包括非规格化数, 则计算Close路径结果可包括移动浮点操作数的小数点。在各种实施例中, 如上所述,该块所示出的动作中的一个或更多个可由图1、图2a、图2b或图 2c的系统或设备、图1、图2b或图2c的Close路径电路299、图1或图2b 的对齐电路171、图1或图2b的小数点移位电路286或者图1或图2b的补 偿小数点移位器273执行。

块308示出在一个实施例中,如上所述,计算Close路径结果可包括: 如果Close路径结果包括非规格化数,则限制Close路径结果的小数点移位的 量。在各种实施例中,如上所述,计算Close路径结果可包括估计用于移动 Close路径结果的小数点的估计量。在这样的实施例中,如上所述,计算Close 路径结果可包括确定Close路径结果是否是非规格化数。在一个这样的实施 例中,如上所述,计算Close路径结果可包括限制Close路径结果的小数点移 位的量,以不超出小数点移位的最大量。在各种实施例中,如上所述,该块 所示出的动作中的一个或更多个可由图1、图2a、图2b或图2c的系统或设 备、图1、图2b或图2c的Close路径电路299、图1或图2b的钳位电路287、 图1或图2b的小数点移位电路286、图1或图2b的补偿小数点移位器273 或小数点移位器175执行。

图4是可包括根据本公开的主题的原理形成的半导体装置的信息处理系 统400的示意性框图。

参照图4,信息处理系统400可包括根据本公开的主题的原理构造的一 个或更多个装置。在另一实施例中,信息处理系统400可采用或执行根据本 公开的主题的原理的一个或更多个技术。

在各种实施例中,信息处理系统400可包括诸如(例如)膝上型计算机、 台式计算机、工作站、服务器、刀片式服务器、个人数字助理、智能电话、 平板和其他适当的计算机等的计算装置或虚拟机器或虚拟计算装置。在各种 实施例中,信息处理系统400可由用户(未示出)使用。

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

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

在各种实施例中,信息处理系统400可包括一个或更多个网络接口440, 网络接口440被构造为允许信息处理系统400成为通信的一部分并且经由通 信网络进行通信。Wi-Fi协议的示例可包括(但不限于)电气和电子工程师协 会(IEEE)802.11g、IEEE 802.11n等。蜂窝协议的示例可包括(但不限于) IEEE 802.16m(亦称无线MAN(城域网)高级)、长期演进(LTE)高级、 增强数据率GSM(全球移动通信系统)演进(EDGE)、演进高速分组接入 (HSPA+)等。有线协议的示例可包括(但不限于)IEEE 802.3(亦称以太网)、 光纤通道、电力线通信(例如,HomePlug、IEEE 1901等)等。要理解,以 上仅是一些说明性示例,本公开的主题不限于此。

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

在各种实施例中,信息处理系统400可包括一个或更多个其他装置或硬 件组件460(例如,显示器或监视器、键盘、鼠标、相机、指纹阅读器、视 频处理器等)。要理解,以上仅是一些说明性示例,本公开的主题不限于此。

根据本公开的主题的信息处理系统400还可包括一个或更多个系统总线 405。在这样的实施例中,系统总线405可被构造为可通信地连接处理器410、 易失性存储器420、非易失性存储器430、网络接口440、用户接口单元450 和一个或更多个硬件组件460。由处理器410处理的数据或从非易失性存储 器430的外部输入的数据可被存储在非易失性存储器430或易失性存储器420 中。

在各种实施例中,信息处理系统400可包括或者执行一个或更多个软件 组件470。在一些实施例中,软件组件470可包括操作系统(OS)和/或应用。 在一些实施例中,OS可被构造为向应用提供一个或更多个服务并管理或用作 应用和信息处理系统400的各种硬件组件(例如,处理器410、网络接口440 等)之间的中介。在这样的实施例中,信息处理系统400可包括一个或更多 个本地应用,本地应用可被安装在本地(例如,在非易失性存储器430等中) 并被构造为由处理器410直接执行并与OS直接交互。在这样的实施例中, 本地应用可包括预编译的机器可执行代码。在一些实施例中,本地应用可包 括被构造为将源代码或目标代码翻译成随后由处理器410执行的可执行代码 的脚本解释器(例如,C shell(csh)、AppleScript、AutoHotkey等)或虚拟执 行机(VM)(例如,Java虚拟机、微软通用语言运行库(Microsoft Common  Language Runtime)等)。

以上描述的半导体装置可使用各种封装技术被封装。例如,根据本发明 构思的原理构造的半导体装置可使用以下技术中的任何一种被封装:层叠式 封装(PoP)技术、球栅阵列(BGA)技术、芯片级封装(CSP)技术、塑料 引线芯片载体(PLCC)技术、塑料双列直插式封装(PDIP)技术、裸片格栅 封装(die in waffle pack)技术、裸片级晶片形式(die in wafer form)技术、 板上芯片(COB)技术、陶瓷双列直插式封装(CERDIP)技术、塑料公制方 形扁平封装(PMQFP)技术、塑料方形扁平封装(PQFP)技术、小外形封装 (SOIC)技术、窄间距小外形封装(SSOP)技术、薄型小外形封装(TSOP) 技术、薄型方形扁平封装(TQFP)技术、系统级封装(SIP)技术、多芯片 封装(MCP)技术、晶片级制造封装(WFP)技术、晶片级加工的堆叠式封 装(WSP)技术或将对本领域技术人员公知的其他技术。

方法步骤可由执行计算机程序的一个或更多个可编程处理器执行,以通 过操作输入数据并产生输出来执行功能。方法步骤还可由专用逻辑电路(例 如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且设备 可被实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专 用集成电路))。

在各种实施例中,计算机可读介质可包括当被执行时使装置执行至少一 部分方法步骤的指令。在一些实施例中,计算机可读介质可包括在磁介质、 光介质、其他介质或其组合(例如,CD-ROM、硬盘驱动器、只读存储器、 闪存驱动器等)中。在这样的实施例中,计算机可读介质可以是有形地且非 暂时地实施的制造的物品。

尽管已经参照示例实施例描述了本公开的主题的原理,但是本领域技术 人员将清楚的是,在不脱离这些本公开构思的精神和范围的情况下,可对其 进行各种改变和修改。因此,应当理解的是,以上实施例不是限制性的,而 仅是说明性的。因此,本公开构思的范围将由权利要求及其等同物的最宽的 容许解释确定,不应受前述描述限制或限定。因此,将理解的是,权利要求 意图涵盖落入实施例的范围内的所有这样的修改和改变。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号