输入补偿计算和/或输入过补偿计算的制作方法

文档序号:6349592阅读:287来源:国知局
专利名称:输入补偿计算和/或输入过补偿计算的制作方法
技术领域
本申请总体涉及计算领域,更具体地,涉及输入补偿计算和/或输入过补偿计算。
背景技术
计算误差在计算系统、通信系统和存储系统中是普遍存在的。可以有各种各样的误差,这些误差的范围包括从可传递的到永久的、从设计上的到制造上的、从不具有或具有可忽略的影响的误差到可能使大部分结果和/或数据发生显著改变的误差。可能存在以下的广泛共识误差的数量和影响会随着每新一代的硅和其他实现技术而增加。误差的数量和影响的增加可能是由于特征尺寸的指数缩小、低电压操作和集成度的指数增加而造成的。在低功率设计和/或低功率设备操作和调试中,例如在移动和无线系统中,计算误差可能具有最大的影响。移动和无线系统会具有可能会是苛刻的操作条件和环境条件并且会需要低的工作电压以节省能量。移动和无线系统还会遭受成本敏感和短机会窗的问题,这会对计算误差产生附加的放大效果。

发明内容
本公开的实施例包括与输入补偿计算和/或输入过补偿计算相关联的方法、装置和制品。在多种实施例中,一种用于在计算平台上执行计算的方法可以包括由计算平台将补偿或过补偿与到计算的输入相关联,当在计算平台上执行计算时补偿或过补偿要与输入结合使用以至少减小计算的误差;以及由计算平台使用与相关联的补偿或过补偿结合的输入来执行计算。在多种实施例中,该方法还可以包括由计算平台至少部分地基于在计算平台上在先执行的计算来检测误差;以及由计算平台确定要与输入相关联的补偿或过补偿,以当在计算平台上执行计算时至少减小所检测到的误差。在多种实施例中,该方法还可以包括 在未实现针对计算平台的设计指标(metric)或者未达到重复次数限制时由计算平台重复进行所述检测和确定。设计指标可以包括在计算平台的能量使用或者运行速度中所选择的一个。在多种实施例中,计算平台可以具有能量使用设计指标。检测和确定可以由计算平台针对计算平台的一对选择的电源电压和阈值电压来执行。对于这些实施例,该方法还可以包括由计算平台来估计计算平台在执行计算时对输入采用补偿或过补偿所需的能量的量。该估计可以包括由计算平台执行统计分析或者仿真。在多种实施例中,检测可以包括由计算平台检测可传递误差或非永久误差。在多种实施例中,确定可以包括由计算平台确定对输入的补偿或过补偿以消除所检测到的误差。在多种实施例中,该方法还可以包括由计算平台将在先执行的计算的结果发送到另一个计算平台,以由该另一个计算平台至少部分地基于在计算平台上在先执行的计算来
5至少检测误差。在多种实施例中,该方法还可以包括由计算平台从另一个计算平台或从第三计算平台接收要与输入相关联的补偿或过补偿,以当在计算平台上执行计算时至少减小所检测到的误差。在多种实施例中,执行可以包括在将输入提供到计算之前将补偿或过补偿应用到该输入。在多种实施例中,一种用于计算平台以至少减小在目标计算平台上执行的计算的误差的方法可以包括由计算平台检测在目标计算平台上执行的计算的误差;以及由计算平台确定并向目标计算平台提供对到计算的输入的补偿或过补偿,以当在目标计算平台上执行该计算时至少减小误差。在多种实施例中,该方法还可以包括由计算平台接收在目标计算平台上在先执行的计算的结果。在多种实施例中,该方法还可以包括由计算平台对要由目标计算平台执行的计算进行执行或建模。在多种实施例中,该方法还可以包括在未实现针对计算平台的设计指标或者未达到重复次数限制时由计算平台重复进行所述检测和确定,其中,该设计指标包括在目标计算平台的能量使用或者运行速度中所选择的一个。在多种实施例中,一种用于计算平台以对在目标计算平台上执行的计算的误差进行校正或部分校正的方法可以包括由计算平台从另一个计算平台接收对在目标计算平台上执行的计算的误差的描述;以及由计算平台确定并向目标计算平台提供对到计算的输入的补偿或过补偿,以当在目标计算平台上执行该计算时校正或部分校正误差。在多种实施例中,该方法还可以包括在未实现针对计算平台的设计指标或者未达到重复次数限制时由计算平台重复进行所述接收和确定,其中,该设计指标包括在目标计算平台的能量使用或者运行速度中所选择的一个。前述概要仅是示例性的,并不意在以任何方式进行限制。除了上述的示例性的方面、实施例和特征之外,通过参照附图和以下详细的描述,另外的方面、实施例和特征将会
变得明显。


根据以下结合附图进行的描述和所附权利要求,本公开的前述特征和其他特征会变得十分明显。应该理解,这些附图仅图示了根据本公开的几个实施例,并且因此不应将这些附图认为是对本公开的范围的限制,将通过使用附图,用附加的特性和细节对本公开进行描述。在附图中,图Ia至图Ib示出了根据多种实施例的输入补偿;图加至图2b示出了根据多种实施例的输入过补偿计算;图3示出了根据多种实施例的方法;图如至图4b示出了根据多种实施例的更多方法;图5示出了根据多种实施例将本公开的输入补偿计算/输入过补偿计算应用到计算平台的电压管理的示例;图6示出了根据多种实施例所配置的计算系统;以及图7示出了根据全部根据本公开布置的多种实施例的计算程序产品。
具体实施例方式在以下详细的描述中,对附图进行了参考,附图形成了该描述的一部分。在附图中,除非上下文另外指出,否则相似的符号通常标识相似的部件。在详细的描述、附图和权利要求中所描述的示例性示例或实施例并不意味着是限制性的。在不脱离这里所呈现的主题的精神或范围的情况下,可以利用其他示例或实施例,并且可以进行其他改变。将很容易地理解如这里总体描述的并在附图中所示出的本公开的多个方面可以以各种各样不同的配置被布置、替换、结合和设计,所有这些都是明确地预期的并且组成本公开的一部分。此外,本公开涉及与输入补偿计算和/或输入过补偿计算有关的方法、装置、系统和计算机程序产品。本公开包括通过输入补偿或输入过补偿来对计算误差进行校正的技术。在多种实施例中,可以对程序的计算误差进行检测,而又通过对作为程序的输入的数据进行修改来对该误差进行校正。在多种实施例中,可以通过修改尽可能少数目的(原始)输入,按照由服务质量(QoS)标准所要求的校正或者基本校正计算误差。在多种实施例中,这些技术可以用于对由于制造的可变性而造成的永久误差进行校正。现在参照图Ia和图lb,这些图中示出了本公开的输入补偿。图Ia示出了示例加法器102,针对特定一组输入变量X和Y,该加法器102可以始终如一地产生不正确的示例输出X+Y+7。图1(b)示出了对误差的以下检测,将输入中的一个校正(减去)7(输入补偿) 可能是足够的。基于输入补偿,示例加法器102可以始终如一地生成正确的输出X+Y。图2(a)和图2(b)示出了根据多种实施例的输入过补偿计算。图2 (a)示出了在可能错误的加法器202上所运行的示例程序,在该加法器中结果重复地增加值7。在一些示例中,如果目的是仅对示例结果Zll进行正确地计算,那么从输入Zll减去值70就会是足够的,如图2 (b)所示。另一方面,如果目的是对变量Zl,. . .,ZlO进行近似计算且最大误差是值35,那么将输入变量Zl减去值35就会是足够的。因此,在多种实施例中,可以对比所校正的输入的数目更多的误差进行校正。如前所述,计算误差可以是可传递的或者永久的。计算误差可以由设计或制造所引起并且可以发生在各种应用(例如无线电路)中。在多种实施例中,可以使用仿真或者并行运行来预测计算误差。在多种实施例中,如在先前的说明中所提到的,可以最小化校正的数目。应用最小数目校正的可能的益处在于可以更容易地将校正压缩或解压。在多种实施例中,可以对计算误差进行检测,而又对其进行校正。可以通过对输入到在可编程处理器上运行的程序中的数据进行修改或者通过对由专用处理器所处理的数据进行修改来校正计算误差。在多种实施例中,计算误差可以被校正或者被基本校正以满足服务质量(QoQ标准。校正或基本校正计算误差以满足QoS标准可以包括修改尽可能小数目的(原始)输入。图3示出了根据多种实施例的本公开的方法。如图3所示,所公开的方法可以包括有达到四个的子任务,以改进例如能耗或其他设计或操作目标(例如从软错误的恢复)⑴误差检测(块加2);(ii)确定校正(块 304);(iii)传送校正(块3O6);以及(iv)实施校正(块 3O8)。
该方法可以从块302 (误差检测)开始,其中,可以对在目标计算平台上执行的计算的误差进行检测。从块302移动至块304(确定校正),可以对针对计算的一个或更多个输入的、用以消除或者减小所检测到的误差的补偿或过补偿(校正)进行确定。该方法可以从块304移动至306 (传送校正),其中,可以将所确定的校正传送到目标计算平台。从块 306移动至块308(实施校正),目标计算平台在接收到所传送的校正(针对输入的补偿或过补偿)后,可以当在目标计算平台上执行计算时采用该校正来消除或者减小误差。目标计算平台可以将所提供的补偿或过补偿与相应的输入相关联,并且在执行计算时采用与输入结合的补偿或过补偿。这样做,目标计算平台可以先将补偿/过补偿应用到输入然后向计算提供已补偿的或者已过补偿的输入。在多种实施例中,将用于计算的程序和输入数据二者都假设为是提前已知的。因此,对于这些实施例,四个子任务全部都可以以离线模式运行。图如和图4b示出了根据多种实施例的、被配置成实践本公开的两个处理器或计算平台。如图所示,(之前参照图3所描述的)前三个子任务可以在计算平台401和403之中的一个或更多个处理器或处理平台中执行。在这些实施例中的许多实施例中,计算平台 403可以具有高水平的处理能力或计算资源(例如,多个处理器、附加的存储器等)并且还可以具有易于获得的能源(例如,与电池供电相对的插入式电源)。在这些实施例中的几个实施例中,可以采用计算平台401和计算平台403之中的计算平台用于误差检测,而可以采用另一个计算平台用于产生误差校正(即对计算的输入的补偿和过补偿)。在多种实施例中,计算平台可以针对程序仅进行一次对误差校正的数据和产生的分析,并且可以存储所需要的校正用于稍后可能的向其他计算平台的分发。在多种实施例中,如图如所示的,计算平台403可以独立地设置有程序和输入数据,用于执行计算(该计算反映了要在计算平台401上运行的程序或输入数据)以用输入数据来并行地运行或仿真程序运行。对于这些实施例,处理器或计算平台401可以不必将计算结果传送到计算平台403用于误差检测。然而,在替选实施例中,可以用以下方式来实行本公开计算机平台401对所选变量405的计算结果进行发送,以使得计算平台403能够基于所发送的计算结果来检测误差以及其后产生误差校正(即对计算的输入的补偿或过补偿)。在两种情况下,对于这些实施例,计算平台403都可以将输入补偿或过补偿407误差校正传送到计算平台401,如图如和图4b所示。在多种实施例中,校正(要应用于输入的补偿或过补偿)可以由计算平台403确定或者可以被委托给又一个计算平台(未示出)。如果校正被委托,则计算平台403可以向该计算平台提供所检测到的误差以确定校正。在多种实施例中,图3所示的四个子任务可以实时地执行或者接近实时地执行。 通常,对于这些实施例,快速传送和快速处理是现实可用的,以能够在实践本公开的方法的同时满足计算平台的实时需求。在多种实施例中,如上所述的误差检测子任务、校正确定子任务和计算子任务可以在不同的计算平台上执行。在多种实施例中,误差检测子任务、校正确定子任务和计算子任务可以在同一计算平台上执行,该计算平台最终再次且通常是多次使用程序。误差检测子任务和校正确定子任务可在以下述操作模式中执行功耗可以相对高且能量或功率是易于获得的能量(例如插入式电源)。计算子任务可以在下述操作模式中执行功耗可以相对地低或者能量不易获得。注意到在多种实施例中,因为误差校正可以不是实时进行的,所以对输入误差校正的分析和产生可以仍然在功耗可以相对低或者功率不再是易于获得(例如电池供电)的模式下进行。例如,可以以低电压从而以非常低的速度来进行误差检测和计算。在多种实施例中,可能需要基本上完全的正确性或者无误差的结果。然而,在其他的实施例中,即对于诸如音频流和视频流、传感器网络、图形、游戏等应用来说,维持客观 QoS或主观QoS就足够了。在多种实施例中,QoS可以被表示为多个误差范数(norm)中的一个误差范数。在多种实施例中,可以把特定用户在规定的QoS方面的概图或者特定程序运行上所花费的最大能量作为目标。在多种实施例中,可以如下处理原始/双向结构中所耗费的能量和QoS 将它们中的一个定义为约束条件而使另一个最优化。本公开还可以适用于对诸如误差校正的等待时间的其他指标的最优化。在多种实施例中,目的可以是产生容易压缩并且对于解压而言不昂贵的误差校正。实现该目的的可能的方式可以包括将约束条件施加在目标函数中或者在目标函数中增加项,迫使或导致误差校正成为相同的值或者以同一值进行。此外,在多种实施例中,以执行一个或更多个输入的单一修改的方式执行输入过补偿,以使得两个或更多个输出在规定的容差内被同时校正。在多种实施例中,可以将特别的注意力放于用于线性系统和子系统中的误差校正的输入修改。对于该类型的系统,可以使用线性编程或者其他用于求解线性方程组的技术 (诸如高斯消去法和奇异值分解)来计算出按照校正的变量数目的可证明的最优的校正。在多种实施例中,使用输入补偿和过补偿的用于高效和有效的误差检测和校正的本公开在应用中可以与其他能量或者其他目标最优化技术(诸如电源和/或阈值电压管理)结合在一起实践。此外,可以设计或产生专用系统或程序,以有利于对使用输入补偿和过补偿的用于高效和有效的误差检测和校正的本发明的实践。例如,可以有意增加输入来有利于校正,或者使用重定时和流水线操作以提高相关的计算的可控性。在多种实施例中, 可以以减小或消除目标计算平台的时钟周期定时会被违犯的情况的数目的方式修改输入。图5示出了根据多种实施例将本公开的输入补偿计算/输入过补偿计算应用到计算平台的电压管理的示例。在该示例应用中,可以通过最优化处理为计算平台选择电源电压(Vdd)和阈值电压(Vt),该最优化处理使用了本公开的输入补偿计算/输入过补偿计算。该最优化是用对本公开的输入补偿计算/输入过补偿计算的迭代采用而执行的,且该最优化在满足用户规定的标准之后终止,用户规定的标准诸如目标能量减少或者最大运行时间。最优化处理可以如所示的在块501处开始(选择Vdd和Vt),其中,可以选择一组电源电压(Vdd)和阈值电压(Vt)。然后,最优化处理从块501移动至块503(检测误差以及确定校正),其中,可以针对要在计算平台上执行的一个或更多个计算来确定由于例如违犯周期定时而产生的误差的数目。此外,可以对消除或者减小误差的补偿或过补偿(校正) 进行确定。继续从块503移动至块505 (确定所需的总能量),如果输入数据是已知的,则在计算平台上执行计算时实施校正所需的总能量可以被计算出来;如果输入数据是未知的, 则在计算平台上执行计算时实施校正所需的总能量可以被估计出来。在多种实施例中,该估计可以使用对所获得的结果的仿真和统计分析来执行。从块505移动至块507(更新校
9正以及建议对Vdd和Vt的更新),可以确定和更新消除或减小计算平台上的计算的误差的补偿或过补偿(校正),且可以建议对供电电压和阈值电压潜在的最有益的更新。该处理可以如前所提到的重复进行,直到满足了用户提供的设计标准为止或者直到达到了迭代数目的预定限制为止。在校正确定由执行误差检测的计算平台委托给另一个计算平台的实施例中,可以在每次迭代时将所检测到的误差从误差检测平台提供给校正确定平台。注意,上述技术在其他能量、运行速度或者设计指标可以被优化的意义上来讲可以是通用的。图6是示出了根据本公开配置的示例计算设备的框图。在非常基本的配置601中, 计算设备600通常包括一个或更多个处理器610和系统存储器620。存储器总线630可以用于处理器610和系统存储器620之间的通信。取决于所期望的配置,处理器610可以是任何类型的,包括但不限于微处理器 (μρ)、微控制器(yC)、数字信号处理器(DSP)或其任意组合。处理器610可以包括诸如一级缓存器611和二级缓存器612的一个多级缓存、处理器核613和寄存器614。示例处理器核613可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP Core)或其任意组合。示例存储器控制器615也可以与处理器610 —起使用,或者在一些实施方式中存储器控制器615可以是处理器610的内部部分。取决于所期望的配置,系统存储器620可以为任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任意组合。系统620可以包括操作系统621、一个或更多个应用622以及程序数据624。应用622可以包括编程指令,该编程指令提供逻辑操作以实施上述基于输入补偿或过补偿的计算。程序数据6M可以包括与实践本公开的基于输入补偿或过补偿的计算相关联的相关值和可适用变量。计算设备600可以具有附加的特征或功能,以及另外的接口,以方便基本配置601 与任何所需的设备和接口之间的通信。例如,总线/接口控制器640可以用于方便在基本配置601和一个或更多个数据存储设备650之间经由存储接口总线641的通信。数据存储设备650可以是可移动存储设备651、不可移动存储设备652或其组合。可移动存储设备和不可移动存储设备的示例包括例如,磁盘设备(诸如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(诸如致密盘(⑶)驱动器或者数字通用盘(DVD)驱动器)、固态驱动器(SSD)以及带驱动器。示例计算机存储介质可以包括以任何方法和技术实施以用于存储信息的易失性的和非易失性的、可移动的和不可移动的介质,该信息诸如计算机可读指令、数据结构、 程序模块或其他数据。系统存储器620、可移动存储设备651和不可移动存储设备652全部都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其他存储器技术、 CD-ROM、数字通用盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储器或其他磁存储设备、 或者可以用来存储想要的信息并且可以被计算设备600访问的任何其他介质。任何这样的计算机存储介质可以是设备600的一部分。计算设备600还可以包括接口总线642,用于方便从各种接口设备(例如输出接口、外围设备接口和通信接口)经由总线/接口控制器640到基本配置601的通信。示例输出设备660包括图形处理单元661和音频处理单元662,它们可以被配置成经由一个或更多个A/V端口 663与诸如显示器或扬声器的各种外部设备进行通信。示例外围设备接口670包括串行接口控制器671或者并行接口控制器672,它们可以被配置成经由一个或更多个I/O端口 673与外部设备进行通信,外部设备诸如输入设备(例如键盘、鼠标、触笔、声音输入设备、触摸输入设备等)或者其他外围设备(例如打印机、扫描仪等)。示例通信设备 680包括网络控制器681,网络控制器681可以被布置成方便经由一个或更多个通信端口 682通过网络通信链路与一个或更多个其他计算设备690的通信。网络通信链路可以是通信介质的一个示例。通信介质通常可以通过计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据(诸如载波或其他传输机制)来体现,并且可以包括任何的信息递送介质。“调制数据信号”可以是下述信号该信号的特性中的一个或更多个以将信息编码在信号中的方式设置或者改变。作为示例而非限制,通信介质可以包括有线介质以及无线介质,有限介质诸如有限网络或者直接有线连接,无线介质诸如声、射频(RF)、微波、红外(IR)以及其他无线介质。这里所使用的术语计算机可读介质可以包括存储介质和通信介质二者。计算装置600可以被实施为小型便携式(或移动)电子设备的一部分,小型便携式(或移动)电子设备诸如手机、个人数字助理(PDA)、个人媒体播放设备、无线网监视设备、个人耳机设备、专用设备或者包括上述功能中的任意功能的混合设备。计算设备600还可以被实施为包括膝上型计算机配置和非膝上型计算机配置二者的个人计算机。图7示出了示例计算机程序产品700的框图。在一些示例中,如图7所示,计算机程序产品700包括信号承载介质702,该信号承载介质702还可以包括编程指令704。编程指令704可以用于报告在目标计算平台上执行的计算的结果(报告计算结果)。编程指令704还可以用于在目标计算平台上执行计算时检测该计算的一个或更多个误差(检测误差),以及确定对计算的一个或更多个输入的补偿和/或过补偿(确定校正)。此外,编程指令704还可以用于将所确定的校正传送到目标计算平台(传送校正)。再此外,编程指令 704可以用于实施所提供的校正(实施校正)。在图7中还图示在一些示例中,计算机产品700可以包括计算机可读介质706、 可记录介质708和通信介质710中的一个或更多个。围绕在这些元件周围的虚线框图示了不同类型的介质包括在信号承载介质702之内,但不限于此。这些类型的介质可以分发要由逻辑操作来运行的编程指令704。计算机可读介质706和可记录介质708可以包括但不限于软盘、硬盘驱动器(HDD)、致密盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器等。 通信介质710可以包括但不限于数字和/或模拟通信介质(例如光纤光缆、波导、有线通信链路、无线通信链路等)。所要求保护的主题在范围上并不限于这里所描述的特定实施方式。例如,一些实施方式可以为硬件的方式,诸如这些实施方式被采用以在设备或设备的组合上工作,而其他的实施方式可以是软件和/或固件的方式。同样地,虽然所要求保护的主题可以不限于这方面的范围,但是一些实施方式可以包括一个或更多个制品,诸如一个或更多个存储介质。该存储介质(诸如CD-ROM、计算机盘、闪存等)例如可以具有存储在该存储介质上的指令,该指令在由系统(诸如计算机系统、计算平台或其他系统)运行时可以例如导致处理器根据所要求保护的主题的运行(诸如之前所述的实施方式中的一种)。作为一种可能性,计算平台可以包括一个或更多个处理单元或处理器、一个或更多个输入/输出设备(诸如显示器、键盘和/或鼠标)以及一个或更多个存储器(诸如静态随机存取存储器、动态随机存取存储器、闪存和/或硬驱动器)。系统方面的硬件实施方式和软件实施方式之间几乎没有区别;使用硬件或软件通常是表现为对成本与效率的权衡的设计选择(但并不总是,这是由于在某些背景中在硬件和软件之间的选择是意义重大的)。可以有实现这里所描述的处理和/或系统和/或其他技术的各种手段(例如,硬件、软件和/或固件),并且优选的手段可以随着处理和/或系统和/或其他技术所适用的背景而变化。例如,如果实施者确定速度和精确度是极为重要的,则实施者会选择主要是硬件和/或固件的手段;如果灵活性是极为重要的,则实施者会选择主要是软件的实施方式;或者,此外可替选地,实施者可以选择硬件、软件和/或固件的某个组合。在一些实施例中,这里所描述的主题的几个部分可以经由专用集成电路(ASIC)、 现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其他的集成形式来实施。然而,本领域的技术人员将认识到这里所公开的实施例的一些方面可以整体地或者部分地等效地在集成电路中实现、实现为在一个或更多个计算机上运行的一个或更多个计算机程序(例如实现为在一个或更多个计算机系统上运行的一个或更多个程序)、实现为在一个或更多个处理器上运行的一个或更多个程序(例如实现为在一个或更多个微处理器上运行的一个或更多个程序)、实现为固件、或者实现为几乎其任意组合;并且将认识到依据本公开设计电路和/或为软件和/或固件编写代码正在本领域的技术人员的技能之内。此外,本领域的技术人员将理解这里所描述的主题的机制能够以各种形式的程序产品分发,且这里所描述的主题的示例性实施例应用了实际上用于进行分发的不管特定类型的信号承载介质。 信号承载介质的示例包括但不限于以下可记录类型的介质,诸如软盘、硬盘驱动器、致密盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器等;以及传输类型的介质,诸如数字和 /或模拟通信介质(例如光纤光缆、波导、有线通信链路、无线通信链路等)。本领域的技术人员将认识到,以下在现有技术中是常用的以这里所阐述的方式对设备和/或处理进行描述而后使用工程实践将这些描述的设备(例如结点、RF控制器、 计算设备等)和/或方法集成到数据处理系统中。即,这里所描述的设备和/或方法中的至少一部分可以经由合理数量的实验而集成到数据处理系统中。本领域的技术人员将认识至IJ,典型的数据处理系统通常包括以下中的一个或更多个系统单元外壳、视频显示设备、 存储器(诸如易失性存储器和非易失性存储器)、处理器(诸如微处理器和数字信号处理器)、计算实体(诸如操作系统、驱动程序、图形用户界面以及应用程序)、一个或更多个交互设备(诸如触摸板或触摸屏)以及/或者包括反馈回路和控制电机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或数量的控制电机)的控制系统。典型的数据处理系统可以利用任何合适的、商业上可用的部件来实施,这些部件诸如通常在数据计算/通信系统和/或网络计算/通信系统中所找到的部件。这里所描述的主题有时示出了不同的部件或元件包括在其他不同的部件或元件之内或者与其他不同的部件或元件相连。应该理解,这些描述的体系结构仅是示例;而实际上许多其他实现同一功能的体系结构是可以实施的。从概念上来讲,实现同一功能的部件布置是有效地“相关联”的以使得实现了所期望的功能。因此,这里组合以实现特定功能的任意两个部件可以被看作是彼此“相关联”以实现所期望的功能,而不管体系结构或中间部件。同样地,这样相关联的任何两个部件也可以看组彼此“可操作地连接的”或者“可操作地耦合的”以实现所期望的功能,而任何能够这样相关联的两个部件也可以看作是彼此“可操作地可耦合的”以实现所期望的功能。可操作地可耦合的具体示例包括但不限于物理上可配对的和/或物理上相互作用的部件、和/或无线地可相互作用的和/或无线地相互作用的部件、和/或逻辑上相互作用的和/或逻辑上可相互作用的部件。关于在这里对基本上任何复数的术语和/或单数的术语的使用,本领域的技术人员可以按照适合于背景和/或应用的情况来从复数转变为单数和/或从单数转变为复数。 为了清楚起见,可以对各种单数的/复数的置换进行明白地阐述。本领域的技术人员将理解,总体上,这里特别是所附权利要求(例如所附权利要求的主体)中所使用的术语通常意在为“开放性的”术语(例如,术语“包括(including)” 应当被解释为“包括但不限于(including but not limited to) ”,而术语“具有”应当被解释为“至少具有”,术语“包括(includes)”应当被解释为“包括但不限于(includes but is not limited to) ”,等)。本领域的技术人员还将理解,如果是意在所引入的权利要求陈述的具体数目,那么该意图会在权利要求中明确地陈述,而在没有这样的陈述时这样的意图是不存在的。例如,作为对理解的帮助,以下所附权利要求可以包括对引导性的词组“至少一个”和“一个或更多个”的使用以引入权利要求陈述。然而,即使在同一权利要求包括弓丨导性的词组“一个或更多个”或者“至少一个”以及诸如“一个(a)”或“一个(an)”的不定冠词时,这种词组的使用也不应该被认为是对下述的暗示由不定冠词“一个(a)”或“一个(an) ”所引入的权利要求陈述将包括这种所引入的权利要求陈述的任何特定的权利要求限制成包括仅一个这种陈述的发明(例如,“一个(a)”和/或“一个(an)”通常应该被解释为是意味着“至少一个”或者“一个或更多个”);这同样适用于将定冠词用于引入权利要求陈述的用途。此外,即使所引入的权利要求陈述的具体数目被明确陈述,本领域的技术人员也将认识到通常应该将这种陈述解释为表示至少所陈述的数目(例如,在没有其他修饰语的情况下,无限定陈述的“两个陈述”通常表示至少两个陈述、或者两个或更多个陈述)。 此外,在那些使用类似于“A、B和C中的至少一个,等”的惯用语的实例中,通常这样的结构意在下述意义本领域的技术人员将理解该惯用语(例如“具有A、B和C中的至少一个的系统”将包括但不限于下述系统该系统单独具有A、单独具有B、单独具有C、同时具有A和
B、同时具有A和C、同时具有B和C、和/或同时具有A、B和C、等)。在这些使用类似于“A、 B或C中的至少一个等”的规则的情况下,通常这样的结构意在下述意义上本领域的技术人员会理解该规则(例如“具有A、B或C中的至少一个的系统”会包括但不限于下述系统 该系统唯一具有A、唯一具有B、唯一具有C、同时具有A和B、同时具有A和C、同时具有B和
C、和/或同时具有A、B和C、等)。本领域的技术人员还将理解,不论是在说明书、权利要求还是附图中,呈现两个或更多个可替选的术语的任何反意(disjunctive)词和/或词组实际上都应该被理解为预期包括术语中的一个、任一术语或者两个术语的可能性。例如,词组 "A或B”将被理解为包括“A”或者“B”或者“A和B”的可能性。虽然为了描述优选实施例的目的而在这里示出并描述了某些实施例,但是本领域技术人员应该理解在不脱离本公开的范围的情况下,可以用实现同一目的的各种各样的可替选的和/或等效的实施例或实施方式来替换所示出的和所描述的实施例。本领域的技术人员将容易地理解,可以以各种各样的方式来实施本公开的实施例。该申请可以意在涵盖这里所讨论的实施例的任何适应性修改或变化。因此,很明白地意在仅由权利要求及其
13等价内容来限制本公开的实施例。
权利要求
1.一种用于在计算平台上执行计算的方法,所述方法包括由所述计算平台将补偿或过补偿与到所述计算的输入相关联,当在所述计算平台上执行所述计算时所述补偿或过补偿要与所述输入结合使用以至少减小所述计算的误差;以及由所述计算平台使用与相关联的补偿或过补偿结合的所述输入来执行所述计算。
2.根据权利要求1所述的方法,还包括由所述计算平台至少部分地基于在所述计算平台上在先执行的计算来检测所述误差;以及由所述计算平台确定要与所述输入相关联的所述补偿或过补偿,以当在所述计算平台上执行所述计算时至少减小所检测到的误差。
3.根据权利要求2所述的方法,还包括在未实现针对所述计算平台的设计指标或者未达到重复次数限制时由所述计算平台重复进行所述检测和确定,其中,所述设计指标包括在所述计算平台的能量使用或者运行速度中所选择的一个。
4.根据权利要求2所述的方法,其中,所述计算平台具有能量使用设计指标,以及其中,由所述计算平台针对所述计算平台的一对选择的电源电压和阈值电压执行检测和确定。
5.根据权利要求4所述的方法,还包括由所述计算平台来估计所述计算平台在执行所述计算时针对所述输入采用所述补偿或过补偿所需的能量的量。
6.根据权利要求5所述的方法,其中,估计包括由所述计算平台执行统计分析或者仿装置ο
7.根据权利要求2所述的方法,其中,检测包括由所述计算平台检测可传递误差或非永久误差。
8.根据权利要求2所述的方法,其中,确定包括由所述计算平台确定针对所述输入的补偿或过补偿以消除所检测到的误差。
9.根据权利要求1所述的方法,还包括由所述计算平台将在先执行的计算的结果发送到另一个计算平台,以由所述另一个计算平台至少部分地基于在所述计算平台上在先执行的所述计算来至少检测所述误差。
10.根据权利要求9所述的方法,还包括由所述计算平台从所述另一个计算平台或从第三计算平台接收要与所述输入相关联的所述补偿或过补偿,以当在所述计算平台上执行所述计算时至少减小所检测到的误差。
11.根据权利要求1所述的方法,其中,执行包括在将所述输入提供给所述计算之前将所述补偿或过补偿应用到所述输入。
12.一种用于计算平台至少减小在目标计算平台上执行的计算的误差的方法,所述方法包括由所述计算平台检测在所述目标计算平台上执行的所述计算的所述误差;以及由所述计算平台确定并向所述目标计算平台提供针对到所述计算的输入的补偿或过补偿,以当在所述目标计算平台上执行所述计算时至少减小所述误差。
13.根据权利要求12所述的方法,还包括由所述计算平台接收在所述目标计算平台上在先执行的所述计算的结果。
14.根据权利要求12所述的方法,还包括由所述计算平台对要由所述目标计算平台执行的所述计算进行执行或建模。
15.根据权利要求12所述的方法,还包括在未实现针对所述计算平台的设计指标或者未达到重复次数限制时由所述计算平台重复进行所述检测和确定,其中,所述设计指标包括在所述目标计算平台的能量使用或者运行速度中所选择的一个。
16.一种用于计算平台对在目标计算平台上执行的计算的误差进行校正或部分校正的方法,所述方法包括由所述计算平台从另一个计算平台接收对在所述目标计算平台上执行的计算的所述误差的描述;以及由所述计算平台确定并向所述目标计算平台提供针对到所述计算的输入的补偿或过补偿,以当在所述目标计算平台上执行所述计算时校正或部分校正所述误差。
17.根据权利要求16所述的方法,还包括在未实现针对所述计算平台的设计指标或者未达到重复次数限制时由所述计算平台重复进行所述接收和确定,其中,所述设计指标包括在所述目标计算平台的能量使用或者运行速度中所选择的一个。
18.一种用于执行计算的装置,所述装置包括 处理器,所述处理器被配置成运行指令;存储介质,所述存储介质耦合至所述处理器,并且所述存储介质中存储有要由所述处理器运行的指令,其中,在所述指令被运行时,所述指令使所述装置能够将补偿或过补偿与到计算的输入相关联,当在所述计算装置上执行所述计算时所述补偿或过补偿要与所述输入结合使用以至少减小所述计算的误差;以及使用与相关联的补偿或过补偿结合的所述输入来执行所述计算。
19.根据权利要求18所述的计算装置,其中,所述指令还使所述装置能够至少部分地基于在所述计算装置上在先执行的所述计算来检测所述误差;以及确定要与所述输入相关联的所述补偿或过补偿,以当在所述计算装置上执行所述计算时至少减小所检测到的误差。
20.根据权利要求18所述的计算装置,其中所述指令还使所述装置能够在未实现针对所述计算装置的设计指标或者未达到重复次数限制时重复进行所述检测和确定,其中,所述设计指标包括在所述计算平台的能量使用或者运行速度中所选择的一个。
21.一种用于至少减小在目标计算平台上执行的计算的误差的装置,所述装置包括 处理器,所述处理器被配置成运行指令;存储介质,所述存储介质耦合至所述处理器,并且所述存储介质中存储有要由所述处理器运行的指令,其中,在所述指令被运行时,所述指令使所述装置能够 对在所述目标计算平台上执行的计算的误差进行检测;以及确定并向所述目标计算平台提供针对到所述计算的输入的补偿或过补偿,以当在所述目标计算平台上执行所述计算时至少减小所述误差。
22.根据权利要求21所述的计算装置,其中,所述指令还使所述装置能够在未实现针对所述目标计算平台的设计指标或者未达到重复次数限制时重复进行所述检测和确定,其中,所述设计指标包括在所述目标计算平台的能量使用或者运行速度中所选择的一个。
23.一种用于至少减小在目标计算平台上执行的计算的误差的装置,所述装置包括 处理器,所述处理器被配置成运行指令;存储介质,所述存储介质耦合至所述处理器,并且所述存储介质中存储有要由所述处理器运行的指令,其中,在所述指令被运行时,所述指令使所述装置能够从另一个计算平台接收对在所述目标计算平台上执行的计算的所述误差的描述;以及确定并向所述目标计算平台提供针对到所述计算的输入的补偿或过补偿,以当在所述目标计算平台上执行所述计算时校正或部分校正所述误差。
24.根据权利要求23所述的装置,其中,所述指令还使所述装置能够在未实现针对所述目标计算平台的设计指标或者未达到重复次数限制时重复进行所述接收和确定,其中, 所述设计指标包括在所述目标计算平台的能量使用或者运行速度中所选择的一个。
25.一种制造的制品,包括计算机可读存储介质;以及存储在所述存储介质中的多个指令,其中,所述指令被设计成由装置的处理器来运行, 以使所述装置能够确定并向目标计算平台提供针对到计算的输入的补偿或过补偿,以当在所述目标计算平台上执行所述计算时至少减小所述计算的误差。
26.根据权利要求25所述的制品,其中,所述指令还使所述装置能够检测所述计算在所述目标计算平台上执行时的误差。
27.根据权利要求沈所述的制品,其中,所述指令还使所述装置能够在未实现针对所述目标计算平台的设计指标或者未达到重复次数限制时重复进行所述检测和确定,其中, 所述设计指标包括在所述目标计算平台的能量使用或者运行速度中所选择的一个。
28.根据权利要求25所述的制品,其中,所述装置包括所述目标计算平台。
全文摘要
总体上描述了用于经由输入补偿和/或输入过补偿来校正计算误差的技术。在各种示例中,可以对计算的误差进行检测,且可以产生对误差进行校正的输入补偿和/或输入过补偿。所公开的技术除了其他应用之外可以用于功率和/或能量最小化或者减小、以及调试。其他的实施例和/或应用可以被公开和/或被要求。
文档编号G06F11/30GK102460399SQ201080025570
公开日2012年5月16日 申请日期2010年5月4日 优先权日2009年5月11日
发明者米奥德拉格·波特科尼亚克 申请人:卡伦茨技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1