CN113805974A - 基于应用程序的数据类型选择 - Google Patents

基于应用程序的数据类型选择 Download PDF

Info

Publication number
CN113805974A
CN113805974A CN202110646395.2A CN202110646395A CN113805974A CN 113805974 A CN113805974 A CN 113805974A CN 202110646395 A CN202110646395 A CN 202110646395A CN 113805974 A CN113805974 A CN 113805974A
Authority
CN
China
Prior art keywords
application
format
data
processing device
bit
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
Application number
CN202110646395.2A
Other languages
English (en)
Inventor
V·S·拉梅什
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113805974A publication Critical patent/CN113805974A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

描述与基于应用程序的数据类型选择相关的方法、系统和设备。处理装置执行如下操作:监测与主机计算装置执行的各种应用程序相关联的性能特性以确定已达到或超过阈值性能水平。可至少部分地基于所述确定执行如下操作:将所述各种应用程序利用的数据类型从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。

Description

基于应用程序的数据类型选择
技术领域
本公开大体上涉及半导体存储器和方法,并且更具体地说,涉及用于基于应用程序的数据类型选择的设备、系统和方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如主机数据、错误数据等等),并包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和闸流体随机存取存储器(TRAM)等等。非易失性存储器可通过在未被供电时保存所存储数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可耦接到主机(例如,主机计算装置)以存储数据、命令和/或指令以在计算机或电子系统操作时供主机使用。举例来说,数据、命令和/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。
发明内容
本公开的方面提供一种用于基于应用程序的数据类型选择的方法,其中所述方法包括:通过处理装置122监测与由所述处理装置122或耦合到所述处理装置122的主机102执行的至少一个应用程序相关联的性能特性;通过所述处理装置122确定与所述至少一个应用程序相关联的性能特性已达到阈值性能水平;和通过所述处理装置122至少部分地基于所述确定执行如下操作:将所述至少一个应用程序利用的数据类型从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。
本公开的另一方面提供一种用于基于应用程序的数据类型选择的设备,其中所述设备包括:处理装置122和被配置为用于所述处理装置122的高速缓存器的存储器资源124,其中所述处理装置122被配置成:监测与由所述处理装置122或耦合到所述处理装置122的主机102执行的应用程序的执行相关联的性能特性;确定与使用根据支持第一精确度水平的算术操作的第一格式格式化的数据的至少一个应用程序相关联的性能特性已达到阈值性能水平;至少部分地基于所述确定执行将所述至少一个应用程序所利用的所述数据从所述第一格式转换成支持第二精确度水平的算术操作的第二格式的操作;和致使使用根据所述第二格式格式化的所述数据执行所述至少一个应用程序。
本公开的另一方面提供一种用于基于应用程序的数据类型选择的设备,其中所述设备包括:处理装置122和被配置为用于所述处理装置122的高速缓存器的存储器资源124,其中所述处理装置122被配置成:监测所述处理装置执行的多个应用程序的特性;基于所述特定应用程序的所述所监测的特性,确定特定应用程序的应用程序类型;确定所述特定应用程序所利用的数据类型,其中所述数据类型包括在支持第一精确度水平的算术操作的第一格式中格式化的数据或在支持第二精确度水平的算术操作的第二格式中格式化的数据;确定所述第一格式或所述第二格式中的一个对应于所述特定应用程序的性能特性大于阈值应用程序性能特性;基于所述确定使用所述第一格式或所述第二格式中的另一个的所述特定应用程序的所述性能特性大于所述阈值应用程序性能特性,执行将所述数据从所述第一格式或所述第二格式转换成所述第一格式或所述第二格式中的所述另一个的操作;和使用在所述经转换格式中格式化的数据执行所述应用程序。
本公开的另一方面提供一种用于基于应用程序的数据类型选择的系统,其中所述系统包括:主机102;耦合到所述主机102的处理装置122;和被配置成产生性能特性的组件123,所述组件123耦合到所述处理装置122,其中所述处理装置122被配置成:接收由所述组件123产生并且对应于所述主机所执行的应用程序的执行的所述性能特性;分析所述性能特性以确定已相对于至少一个应用程序发生至少一个性能特性的改变;至少部分地基于所述确定执行如下操作:将所述至少一个应用程序利用的数据从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式;和使用根据所述第二格式格式化的所述数据执行所述至少一个应用程序。
附图说明
图1是根据本公开的数个实施例的呈包含主机和存储器装置的设备形式的功能框图。
图2A是根据本公开的数个实施例的呈包含含有主机和存储器装置的设备的计算系统形式的功能框图。
图2B是根据本公开的数个实施例的呈包含主机、存储器装置、专用集成电路和现场可编程门阵列的计算系统形式的另一功能框图。
图3是具有es指数位的n位位置的实例。
图4A是3位位置的正值的实例。
图4B是使用两个指数位的位置构造的实例。
图5是根据本公开的数个实施例的表示用于基于应用程序的数据类型选择的实例方法的流程图。
具体实施方式
描述与基于应用程序的数据类型选择相关的方法、系统和设备。处理装置执行如下操作:监测与主机计算装置执行的各种应用程序相关联的性能特性以确定已达到或超过阈值性能水平。可至少部分地基于所述确定执行如下操作:将所述各种应用程序利用的数据类型从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。
如本文中所使用,“精确度”是指用于使用位串执行计算的位串中的位数量。例如,如果在使用16位位串执行计算时使用所述位串中的每个位,则所述位串可以被称为具有16位精确度。然而,如果在使用16位位串执行计算时仅使用所述位串的8位(例如,如果位串的前8位为零),则所述位串可以被称为具有8位精确度。随着位串的精确度提高,可以以更高的准确度执行计算。相反,随着位串的精确度降低,可以使用较低的准确度来执行计算。例如,8位位串可以与由二百五十五(256)个精确度步长组成的数据范围相对应,而16位位串可以与由六万五千五百三十六(63,536)个精确度步长组成的数据范围相对应。
如本文中所使用,“动态范围”或“数据的动态范围”是指可用于具有与其相关联的特定精确度的位串的最大值与最小值之间的比率。例如,可以由具有与其相关联的特定精确度的位串表示的最大数值可以确定位串的数据格式的动态范围。对于通用数(例如,位置)格式的位串,动态范围可以由位串的指数位子集(例如,下文结合图3和4A-4B描述的es)的数值来确定。
动态范围和/或精确度可以具有与其相关联的可变范围阈值。例如,数据的动态范围可以与使用数据的应用程序和/或使用数据的各种计算相对应。这可能是由于以下事实:一个应用程序期望的动态范围可能不同于另一应用程序期望的动态范围,和/或因为一些计算可能需要不同的数据动态范围。因此,本文中的实施例可以允许更改数据的动态范围以适合不同应用程序和/或计算的要求。与不允许操纵数据的精确度、准确度和/或动态范围以适应不同应用程序和/或计算的要求的方法对比,本文中的实施例可以通过允许基于要使用数据的应用程序和/或计算而改变数据的动态范围来提高资源使用率和/或数据精确度。
另外,一些实施例可允许基于使用数据的计算应用程序而在各个数据类型之间转换所述数据。举例来说,可更适于供财务计算应用程序使用的数据类型可不同于更适于供天文计算应用程序使用的数据类型。类似地,更适于供边缘计算应用程序使用的数据类型可不同于更适于供财务或天文计算应用程序使用的数据类型。因此,在一些实施例中,可基于使用数据的计算应用程序来执行数据类型之间的转换,以便提高应用程序和/或执行所述应用程序的计算系统的总体性能。
计算系统可用以使用此类数据(例如,位串)执行宽范围的操作,以及执行使用数据的计算,所述数据可由计算系统处理以便于计算系统的操作。此类操作可涉及大的数据集和/或大位串且因而可在其执行时要求大量计算资源(例如,处理和/或存储器资源)。可使用计算系统执行的操作的一些实例可包含算术操作、逻辑操作、逐位操作、向量操作和/或点积操作,以及递归操作,例如累加操作、乘累加(MAC)操作、融合乘加((FMA)操作和/或融合乘累加(FMAC)操作等等。
作为提供与计算应用程序的执行相关联的功能性的部分,可在计算应用程序的执行期间执行这些和其它操作。如本文中所使用,“计算应用程序”通常是指当由计算系统执行时执行一或多个功能或活动的程序或程序群组。计算应用程序的非限制性实例可包含天文应用程序(例如,被设计成执行涉及天文成像、全球定位系统和/或通信卫星等等的计算的计算应用程序)、原子应用程序(例如,基于其中可扩展计算系统利用个别原子的性质执行各种计算的量子计算的计算应用程序),和/或财务应用程序(例如,被设计成执行涉及财务技术或“FinTech”的计算的计算应用程序,其中使用专门化计算应用程序执行财务操作、处理程序和/或其它金融服务)。
计算应用程序的额外非限制性实例可包含边缘计算应用程序(例如,供分布式计算系统利用的应用程序,其将计算和数据存储装置带到物理上更接近数据用户所在的方位),例如自控车辆应用程序、数据中心应用程序、个体化用药应用程序、网络安全性应用程序、扩增现实应用程序、虚拟现实应用程序、物联网应用程序、智能城市嵌入式应用程序,和/或便携的嵌入式计算机应用程序等等。
因为计算系统可执行可包含执行计算应用程序的进程中的各种计算的各种操作,所以对于不同操作和/或计算应用程序可需要具有不同程度的准确度、精确度和/或动态范围的位串。然而,计算系统具有的存储器的数量有限,在所述存储器中存储在其上执行计算的操作数。为了促进在由有限存储器资源施加的约束内对由计算系统存储的操作数执行操作,操作数可以特定格式和/或作为特定数据类型进行存储。为简单起见,此类格式被称为“浮点”格式或“浮点(float)”(例如,IEEE 754浮点格式)。
根据浮点标准,就三个整数集或位集-一位集称作“基数”,一位集称作“指数”,且一位集称作“尾数”(或有效数字)而言表示位串(例如,可表示数目的位串),例如二进制数串。整数集或位集定义其中存储二进制数串的格式,为简单起见,可在本文中称为“数值格式”或“格式”。例如,定义浮点位串的上述位的三个整数集(例如,基数、指数和尾数)可称为格式(例如,第一格式)。如下文更详细地描述,位置位串可包含四个整数集或位集(例如,符号、底数、指数和尾数),其也可称为“数值格式”或“格式”(例如,第二格式)。另外,根据浮点标准,两种无限值(例如,+∞和-∞)和/或两个种类的“非数字值(not-a-number;NaN)”(安静NaN和发信NaN)可包含于比特串中。
浮点标准已在计算系统中使用数年且定义用于由许多计算系统进行的计算的算术格式、交换格式、舍入规则、操作和异常处理。算术格式可包含二进制和/或十进制浮点数据,其可包含有穷数、无穷数和/或特殊NaN值。交换格式可包含可用以交换浮点数据的编码(例如,位串)。舍入规则可包含当在算术操作和/或转化操作期间舍入数值时可满足的一组特性。浮点操作可包含算术操作和/或其它计算操作,例如三角函数。异常处理可包含异常条件的指示,如除以零、溢出等。
浮点的替代格式称作“通用数字”(unum)格式。存在可称为“位置(posits)”和/或“有效数(valids)”的若干形式的unum格式-I型unum、II型unum和III型unum。I型unum是在尾数的结尾处使用“ubit”指示实数是否是准确浮点数或是否介于相邻浮点数之间的区间中的IEEE 754标准浮点格式的超集。I型unum中的符号、指数和尾数位从IEEE 754浮点格式获取其定义,然而,I型unum的指数和尾数字段的长度可从单个位显著地改变到最大用户可定义长度。,通过从IEEE 754标准浮点格式获取符号、指数和尾数位,I型unum可类似于浮点数表现,然而,在I型unum的指数和分数位中呈现的可变位长度相较于浮点数可需要额外管理。
II型unum大体上与浮点数不相容,然而,II型unum可允许基于投影实数的清洁数学设计。II型unum可包含n位且可在“u格”方面加以描述,其中圆形投射的象限填充有2n-3-1个实数的有序集。II型unum的值可围绕将圆形投影等分的轴线反射,使得正值位于圆形投影的右上象限中,而其负对应值位于圆形投影的左上象限中。表示II型unum的圆形投影的下半部可包含位于圆形投影的上半部中的值的倒数。II型unum对大多数操作来说大体上依赖于查询表。因此,在一些情况下,查询表的大小可限制II型unum的效果。然而,与在一些条件下的浮点数相比,II型unum可提供改进的计算功能。
III型unum格式在本文中称为“位置格式”或为简单起见称为“位置”。与浮点位串对比,位置可根据某些条件允许比具有相同位宽度的浮点数更高的精确度(例如,更宽动态范围、更高分辨率和/或更高准确度)。这可允许由计算系统执行的操作在使用位置时以比使用浮点数时更高的速率(例如,更快)执行,这转而可通过例如减少在执行操作时使用的时钟周期的数目从而减少执行此类操作时的处理时间和/或消耗的功率来提高计算系统的性能。另外,与浮点数相比,在计算系统中使用位置可以实现更高的准确度和/或精确度,这与某些方法(例如,依赖于浮点格式位串的方法)相比可以进一步改进计算系统的功能。
位置可基于包含于位置中的总位数和/或整数集或位集的量而在精确度和准确度中高度变化。另外,位置可产生广泛的动态范围。在某些条件下,位置的准确度、精确度和/或动态范围可大于浮动或其它数字格式的准确度、精确度和/或动态范围,如本文中更详细描述。位置的可变准确度、精确度和/或动态范围可例如基于其中将使用位置的应用而加以操纵。另外,位置可减小或消除溢出、下溢、NaN和/或与浮点数和其它数字格式相关联的其它极端情况。此外,与浮点数或其它数字格式相比,使用位置可允许使用更少的位来表示数值(例如,数)。
在一些实施例中,这些特征可允许高度可再配置位置,与依赖于浮点数或其它数字格式的方法相比,这可提供改进的应用性能。另外,与浮点数或其它数字格式相比,位置的这些特征可在机器学习应用中提供改进的性能。例如,在计算性能至关重要的机器学习应用中,可使用位置来训练网络(例如,神经网络),其准确度和/或精确度与浮点数或其它数字格式相同或比其更高,但使用比浮点数或其它数字格式更少的位。另外,可使用具有比浮点数或其它数字格式更少的位(例如,更小位宽)的位置来实现机器学习情形中的推断操作。通过使用与浮动或其它数字格式相比更少的位实现相同或增强的结果,位置的使用可因此减少执行操作的时间量和/或减小应用中所需的存储器空间的量,这可改进其中采用位置的计算系统的整体功能。
本文中的实施例是关于硬件电路(例如,控制电路系统),其配置成对位串执行各种操作以改进计算装置的整体功能。举例来说,本文中的实施例针对于硬件电路系统,其被配置成执行如下操作:监测应用程序在执行期间(例如,在应用程序的运行时间)的各种性能特性以确定在采用不同于目前供所述应用程序使用的数据类型的数据类型的情况下是否可更改应用程序性能。如本文中所使用,“数据类型”大体是指其中例如位串的数据提供给应用程序的格式。数据类型的非限制性实例可包含浮点位串、通用数位串、位置位串和/或定点二进制位串等等。术语“数据类型”可以与术语“数据格式”互换使用。在一些实施例中,硬件电路系统可响应于确定可在不同数据类型提供给应用程序的情况下提高应用程序性能,更改正在供应用程序使用的数据类型。以便实现此,硬件电路系统可被配置成对供应用程序使用的位串执行转换操作以将数据类型从一个数据类型转换到另一数据类型并且致使经转换位串供应用程序使用。
可在各种性能特性方面测量应用程序性能。如本文中所使用,“性能特性”可包含应用程序响应时间、应用程序错误数量、收集的用户满意度度量、应用程序依赖性类型、与应用程序相关联的事务跟踪、归因于迭代产生的应用程序错误、与应用程序相关联的功率消耗、当使用第一格式的数据或第二格式的数据执行应用程序时产生的数据精确度或准确度、与应用程序相关联的时延参数,和/或与应用程序相关联的可靠性参数等等。
相比于其中使用静态数据类型执行应用程序的方法,本文中所描述的实施例可允许通过动态调整供应用程序使用的数据类型以使应用程序性能达到最大来提高应用程序性能。也就是说,相比于在不考虑应用程序性能的情况下使用单一数据类型(例如,浮点数据类型)操作的方法,本文中的实施例可允许响应于确定可使用通用数或位置数据类型提高应用程序性能而转换数据类型(例如,转换为通用数或位置数据类型)。
另外,在不允许基于应用程序的性能特性在供应用程序使用的数据类型之间进行转换的方法中,可不监测或分析应用程序的性能特性。相比之下,本文中的实施例可允许在应用程序执行期间监测此类性能特性,这可提供尤其是在可在计算系统中执行以执行各种任务和/或功能的不同应用程序上,对应用程序性能的更全面认识。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过图解方式展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开的范围的情况下进行工艺、电气和结构改变。
如本文所使用,如“N”和“M”等特定地关于图式中的附图标号的指定符指示可包含数个如此指定的特定特征。还应理解本文所使用的术语仅出于描述具体实施例的目的,并且并不打算作为限制。如本文中所使用,除非上下文另外明确规定,否则单数形式“一”和“所述”可包含单数个指示物和复数个指示物两者。另外,“多个”、“至少一个”和“一或多个”(例如,多个存储器存储体)可指一或多个存储器存储体,而“多个”意在指代超过一个此类事物。
此外,贯穿本申请案以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用单词“可能”和“可”。术语“包含”和其派生词指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取及移动(传输)命令和/或数据。视上下文而定,术语“位串”、“数据”和“数据值”在本文中可互换地使用且可具有相同含义。另外,视上下文而定,术语“位集”、“位子集”和“部分”(在位串的位的一部分的情形下)在本文中可互换使用且可具有相同含义。
本文中的图式遵循编号定则,其中第一一或多个数字对应于图式编号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,120可表示图1中的元件“20”,且相似元件可在图2中表示为220。通常在本文中可用单个元件符号指代多个类似元件或组件或元件或组件群组。例如,多个参考元件431-1、431-2、…、431-N可总体称为431。如将了解,可添加、交换和/或去除本文中的各种实施例中示出的元件,从而提供本公开的数个额外实施例。另外,图式中提供的元件的比例和/或相对尺度意图说明本公开的某些实施例,且不应被视作限制性意义。
图1是根据本公开的数个实施例的呈包含含有主机102和存储器装置104的设备的计算系统100形式的功能框图。如本文所使用,“设备”可指但不限于多种结构或结构的组合中的任何一种,例如,电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。存储器装置104可包含一或多个存储器模块(例如,单列直插式存储器模块、双列直插式存储器模块等)。存储器装置104可包含易失性存储器和/或非易失性存储器。在数个实施例中,存储器装置104可以包含多芯片装置。多芯片装置可包含数个不同的存储器类型和/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。
如图1所示,设备100可包含控制电路系统120和存储器阵列130,所述控制电路系统120可包含处理装置122、应用程序性能管理(APM)组件123和存储器资源124。所述组件中的每一个(例如,主机102、控制电路系统120、处理装置122、存储器资源124和/或存储器阵列130)可在本文中单独地被称作“设备”。
存储器装置104可以提供用于计算系统100的主存储器或可在整个计算系统100中用作额外存储器或存储装置。存储器装置104可包含一或多个存储器阵列130(例如,存储器单元阵列),所述存储器阵列可包含易失性和/或非易失性存储器单元。举例来说,存储器阵列130可以是具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。举例来说,存储器装置104可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM和快闪存储器等等。
在存储器装置104包含非易失性存储器的实施例中,存储器装置104可包含快闪存储器装置,如NAND或NOR快闪存储器装置。然而,实施例不限于此,且存储器装置104可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如,NVRAM、ReRAM、FeRAM、MRAM、PCM)、例如可变电阻(例如,3-D交叉点(3D XP)存储器装置)的“新兴”存储器装置、包含自选存储器(SSM)单元阵列的存储器装置等,或其组合。可变电阻存储器装置可与可堆叠交叉网格化数据存取阵列一起基于体电阻的改变而执行位存储。另外,与多个基于快闪的存储器相比,可变电阻非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。与基于快闪的存储器和可变电阻存储器相比,自选存储器单元可包含具有充当存储器单元的开关和存储元件两者的单个硫族化物材料的存储器单元。
如图1中所说明,主机102可耦合到存储器装置104。在数个实施例中,存储器装置104可经由一或多个信道(例如,信道103)耦合到主机102。在图1中,存储器装置104经由信道103耦合到主机102,且存储器装置104控制电路系统120经由信道107耦合到存储器阵列130。主机102可为主机系统,例如个人手提式计算机、台式计算机、数码相机、智能电话、存储卡读卡器和/或具物联网(IoT)功能的装置,以及各种其它类型的主机。
主机102可包含系统主板和/或背板且可包含存储器存取装置,例如处理器(或处理装置)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,如平行处理系统、多个协处理器等。系统100可包含单独的集成电路或主机102、存储器装置104两者,且存储器阵列130可在同一集成电路上。举例来说,系统100可以是服务器系统和/或高性能计算(HPC)系统和/或其一部分。虽然图1中示出的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但本公开的实施例可实施于非冯·诺依曼架构中,所述非冯·诺依曼架构可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)。
本文在图2中更详细地示出的存储器装置104可包含控制电路系统120,其可包含处理装置122和存储器资源124。也就是说,在一些实施例中,控制电路系统120(以及处理装置122和存储器资源124)可驻存在存储器装置104上。如本文中所使用,术语“驻存于……上”是指某物物理上位于特定组件上。举例来说,控制电路系统120“驻存于存储器装置104上”是指其中包括控制电路系统120的硬件物理上位于存储器装置104上的条件。术语“驻存于……上”可在本文中与例如“部署于……上”或“位于……上”的其它术语互换使用
处理装置122可以集成电路的形式提供,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、精简指令集装置(RISC)、高级RISC机器、芯片上系统,或其它被配置成执行本文中更详细地描述的操作的硬件和/或电路系统的组合。在一些实施例中,处理装置122可包括一或多个处理器(例如,处理装置、处理单元、等)。处理装置122可监测主机102执行的应用程序以确定应用程序在运行时间的性能特性。另外,作为计算应用程序的执行的部分,处理装置可使用存储器资源124、存储器阵列130所存储的和/或由主机102提供的位串执行操作(例如,在各种数据类型之间转换位串的操作、递归操作或下文描述的其它计算操作等)。
处理装置122可被配置成在应用程序运行时间期间监测应用程序的性能特性,例如应用程序响应时间、应用程序错误数量、收集的用户满意度度量、应用程序依赖性类型、与应用程序相关联的事务跟踪、归因于迭代产生的应用程序错误、与应用程序相关联的功率消耗、当使用第一格式的数据或第二格式的数据执行应用程序时产生的数据精确度或准确度、与应用程序相关联的时延参数,和/或与应用程序相关联的可靠性参数等等。
应用程序响应时间可为应用程序将所提交请求的结果返回给终端用户所经历的时间量。应用程序响应时间可受带宽、所提交用户请求量和/或考虑时间影响。应用程序响应时间也可应用程序正在使用的数据类型影响。举例来说,因为不同数据类型可包含不同数量的位(例如,可为不同大小),可具有与其相关联的不同准确度特性等,所以应用程序响应时间可取决于在应用程序运行时间期间应用程序所使用的数据类型。
应用程序错误的数量可为应用程序在运行时间期间经历的错误的数量。应用程序错误可归因于应用程序冲突或其它可给应用程序稳定性带来威胁的隐错(bug)而产生。在一些情况下,由于当错误出现时正在使用应用程序,可在应用程序运行时间通过使用不同数据类型执行应用程序来减小应用程序错误的数量。
可使用从应用程序的用户提供的反馈产生所收集的用户满意度度量。举例来说,可要求应用程序用户输入与应用程序的使用相关联的满意度计分。可合计这些满意度计分并且指配给不同应用程序。在一些实施例中,用户满意度度量可与使用不同数据类型执行特定应用程序相关联。如果当特定数据类型与应用程序一起使用时,特定应用程序的用户满意度度量对应于更高用户满意度计分,那么处理装置122可将应用程序所使用的数据转换成展现最高用户满意度计分的数据类型并且使用所述数据类型进行执行。
应用程序依赖性的类型可对应于在执行特定计算应用程序时使用的代码库和部分。如果一或多个应用程序依赖性不恰当地运行,那么可不利地影响应用程序的执行。另外,应用程序正在使用的数据类型可影响依赖性。因此,一些数据类型可缓解从应用程序依赖性引发的问题。
与应用程序相关联的事务跟踪可包含应用程序中的单个事务的详细快照。在一些实施例中,可通过应用程序性能管理(APM)组件123监测和捕获事务跟踪。事务跟踪可提供关于应用程序行为的详细信息并且可相应地用于确定应用程序是否可受益于使用以不同数据类型格式化的数据。
归因于迭代产生的应用程序错误可对应于应用程序随时间引发更多错误的趋势。举例来说,对于一些应用程序,执行应用程序的时间越长,在执行应用程序时引发的错误数量可能越多。在一些实施例中,可通过选择供应用程序使用的对应于随时间引发错误的趋势缓解的数据类型来降低此类错误。
与应用程序相关联的功率消耗可对应于在供正在执行的应用程序使用的处理资源方面和/或在移动计算装置(例如,手提式计算机、智能电话等)的情况下电池消耗方面消耗的功率量。在一些实施例中,可基于应用程序所使用的数据类型更改在应用程序执行时消耗的功率量。举例来说,一些数据类型可对应于应用程序的减小的功率消耗,而其它数据类型可对应于应用程序的增加的功率消耗。
当使用第一格式的数据或第二格式的数据执行应用程序时产生的数据精确度或准确度可对应于当由特定应用程序执行时数据类型的行为,使得应用程序的输出的精确度、准确度和/或动态范围可基于应用程序在运行时间使用的数据类型而波动。
与应用程序相关联的时延参数可对应于在针对应用程序的动作和响应之间经过的时间量。举例来说,对执行任务或功能的应用程序的请求和对输出所请求任务或功能的结果的应用程序的请求之间的时间量。在一些实施例中,应用程序时延可受应用程序正在使用的数据类型影响。
与应用程序相关联的可靠性参数可对应于应用程序在设定持续时间内在指定环境内无失效的情况下进行操作的概率。在一些实施例中,应用程序的可靠性可对应于可靠性参数,可受应用程序正在使用的数据类型影响。
在一些实施例中,处理装置122可监测应用程序的性能特性并且确定是否可通过将具有不同数据类型的位串提供到应用程序来提高应用程序性能。举例来说,如果应用程序是天文应用程序,那么可在天文应用程序所使用的数据具有通用数或位置格式的情况下实现应用程序性能提高。另外,与浮点或定点二进制格式相比,天文应用程序可在使用以通用数或位置格式格式化的数据执行时受益于增加的准确度、动态范围和/或精确度。因此,在一些实施例中,处理装置122和/或APM组件123可监测应用程序的性能特性并且确定是否将有利于将数据从浮点或定点二进制格式转换为通用数或位置格式或反过来也如此的应用程序性能。
在另一实例中,如果应用程序是财务(例如,财务技术)应用程序,那么处理装置122和/或APM组件123可确定在应用程序以特定数据类型执行的情况下可出现财务损失。举例来说,特定数据类型的一或多个位子集与其它位子集相比可受到限定,这可引起在应用程序执行期间失去精确度、准确度和/或动态范围。在财务应用程序的案例中,这可归因于四舍五入或其它错误而引起财务损失。因此,在一些实施例中,处理装置122和/或APM组件123可在运行时间监测应用程序以确定不同数据类型的使用是否可提高财务应用程序的性能。
在一些实施例中,作为执行计算应用程序的部分,处理装置122可被配置成执行(或致使执行)递归算术操作,例如加法、减法、乘法、除法、融合乘加、乘累加、点积单元、大于或小于、绝对值(例如,FABS())、快速傅立叶变换、反快速傅立叶变换、S型函数、卷积、平方根、指数和/或对数操作,以及/或递归逻辑操作,例如AND、OR、XOR、NOT等,以及三角函数操作,例如正弦、余弦、切线等。如将了解,上述操作列表不意在为穷尽性的,并且上述操作列表也不意在是限制性的,且作为执行计算应用程序的部分,处理装置122可被配置成执行(或致使执行)其它算术和/或逻辑操作。
如图1所示,处理装置122可耦合到应用程序性能管理(APM)组件123。APM组件123可包含被配置成监测由主机102和/或处理装置122执行的应用程序的性能(例如,性能特性)的电路系统和/或逻辑。除了监测上文所描述的性能特性之外,APM组件123也可与处理装置122独立地或协同地处理所监测的信息以确定是否可在使用具有与其相关联的特定数据类型的数据执行应用程序的情况下提高应用程序的性能(例如,是否可提高应用程序的一或多个性能特性)。如果APM组件123确定可在使用具有与其相关联的特定数据类型的数据执行应用程序的情况下提高应用程序性能,那么APM组件123可将一或多个命令发送所述处理装置122以致使处理装置122将应用程序正在使用的数据转换成所要数据类型。
控制电路系统120可另外包含存储器资源124,其可以通信方式耦合到处理装置122。存储器资源124可包含易失性存储器资源、非易失性存储器资源,或易失性与非易失性存储器资源的组合。在一些实施例中,存储器资源可以是随机存取存储器(RAM),例如静态随机存取存储器(SRAM)。然而,实施例不限于此,且存储器资源可以是高速缓存、一或多个寄存器、NVRAM、ReRAM、FeRAM、MRAM、PCM)、如3-D交叉点(3D XP)存储器装置等的“新兴的”存储器装置或其组合。
在非限制性实例中,存储器资源124可充当用于处理装置122的高速缓存器。处理装置122可监测与耦合到处理装置122的主机102所执行的应用程序的执行相关联的性能特性。处理装置122可确定与使用根据支持第一精确度水平的算术操作的第一格式格式化的数据的至少一个应用程序相关联的性能特性已达到阈值性能水平。如本文中所使用,“阈值性能水平”大体是指其中只要应用程序正在使用具有特定数据类型的位串便无法提高应用程序的性能的条件。举例来说,如果应用程序正在使用根据定点二进制格式格式化的位串,那么只要应用程序正在使用根据定点二进制格式格式化的位串,应用程序的执行便可能存在上限。然而,在根据例如浮点格式、通用数格式、位置格式等不同格式格式化位串的情况下可能够提高应用程序的性能。
如上文所描述,可在各种性能特性方面测量应用程序的性能,所述性能特性例如可包含应用程序响应时间、应用程序错误数量、收集的用户满足度量、应用程序依赖性类型、与应用程序相关联的事务跟踪、归因于迭代产生的应用程序错误、与应用程序相关联的功率消耗、当使用第一格式的数据或第二格式的数据执行应用程序时产生的数据精确度或准确度、与应用程序相关联的时延参数,和/或与应用程序相关联的可靠性参数等等。
处理装置122可至少部分地基于所述确定执行将至少一个应用程序利用的数据(例如,位串)从第一格式转换成支持第二精确度水平的算术操作的第二格式的操作。举例来说,如果处理装置122确定可在应用程序使用根据不同于应用程序正在使用的数据格式的格式格式化的数据的情况下提高应用程序的性能,那么处理装置122可将应用程序所使用的数据从一个格式转换为另一格式(例如,从定点二进制格式转换为通用数或位置格式,或反过来也如此)。处理装置122可致使使用根据第二格式格式化的数据执行至少一个应用程序。
如上文所描述,应用程序可为被配置成执行天文计算、原子计算、财务计算的应用程序;边缘计算应用程序,例如自主车辆应用程序、数据中心应用程序、个体化用药应用程序、网络安全性应用程序、扩增现实应用程序、虚拟现实应用程序、物联网应用程序、智能城市嵌入式应用程序,和/或便携的嵌入式计算机应用程序等等。
在一些实施例中,处理装置122可被配置成执行如下操作:通过更改与含于数据内的至少一个位子集相关联的位数,将至少一个应用程序所利用的数据从第一格式转换成第二格式。举例来说,处理装置122可被配置成从含于数据内的一或多个位子集添加或移除位。在其中第一格式是浮点格式且第二格式是位置格式的非限制性实例中,处理装置可被配置成将位添加到浮点位串的位子集或移除以将浮点位串转换为位置位串。
处理装置122可被配置成确定与至少一个应用程序相关联的性能特性已达到第二阈值性能水平并且至少部分地基于所述确定执行将至少一个应用程序所利用的数据从第二格式转换成第三格式的操作。举例来说,处理资源122可确定当使用在第二格式中格式化的数据执行应用程序时,应用程序已达到第二阈值性能水平。
作为非限制性实例,应用程序可在使用在定点格式中格式化的数据执行时达到第一阈值性能水平,且处理装置122可将数据转换成浮点格式。接着可使用在浮点格式中格式化的数据执行应用程序。如果处理装置122确定应用程序在使用在浮点格式中格式化的数据执行时已达到第二阈值性能水平,那么处理装置122可将数据转换成通用数或位置格式并且可致使使用在通用数或位置格式中格式化的数据执行应用程序。如将了解,上文所列举的格式和转换次序仅为说明性的且在本公开的范围内预期其它格式和/或其它转换次序。
在一些实施例中,处理装置122可被配置成确定用于至少一个应用程序的应用程序类型并且至少部分地基于至少一个应用程序的所确定的应用程序类型而更改第二格式中的数据的精确度。
在一些实施例中,处理装置122可被配置成存取应用程序性能管理组件123产生的数据以监测性能特性。除了上文所描述的非限制性性能特性之外,性能特性的其它实例可包含网络请求(例如,最慢或最快网络请求、最常用或最不常用网络请求等)、密钥网络请求、网络事务、结构化查询语言(SQL)查询(例如,最慢或最快SQL查询、最常用或最不常用SQL查询等)的标识,和/或特定SQL查询的性能等等。在一些实施例中,APM组件123监测的性能特性可供处理装置122以上文所描述的方式使用。
在另一非限制性实例中,处理装置122可耦合到主机102和应用程序性能管理组件123。处理装置122可被配置成接收由APM 123确定并且对应于主机102所执行的应用程序的执行的性能特性并且分析性能特性以确定已相对于至少一个应用程序发生至少一个性能特性的改变。如上文所描述,性能特性可包含对应于主机102所执行的应用程序的健康状况的信息。
处理装置122可被进一步配置成至少部分地基于所述确定执行如下操作:将至少一个应用程序利用的数据从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。
在一些实施例中,处理装置122可被配置成确定与至少一个应用程序相关联的性能特性已达到第二阈值性能水平,至少部分地基于所述确定执行将至少一个应用程序利用的数据从第二格式转换成第一格式的操作,和/或使用根据第一格式格式化的数据执行至少一个应用程序。
处理装置122可被配置成确定至少一个应用程序是财务应用程序并且基于所述确定更改与至少一个应用程序所使用的数据的尾数位子集相关联的位数。
在一些实施例中,处理装置122可被配置成确定至少一个应用程序是天文应用程序并且基于所述确定更改与至少一个应用程序所使用的数据的至少一个位子集相关联的位数以增加可用于至少一个应用程序的动态范围。
在一些实施例中,处理装置122可被配置成确定至少一个应用程序是原子应用程序并且基于所述确定更改与至少一个应用程序所使用的数据的至少一个位子集相关联的位数以增加可用于至少一个应用程序的动态范围。
在又一非限制性实例中,处理装置122可耦合到存储器资源124。在此说明性实例中,存储器资源124可被配置成用于处理装置122的高速缓存器。处理装置122和/或APM组件123可被配置成监测处理装置执行的多个应用程序的特性并且基于特定应用程序的所监测特性来确定特定应用程序的应用程序类型。性能特性可包含所监测的应用程序响应时间、应用程序错误信息、所收集的用户满意度度量、多个应用程序当中的应用程序依赖性,和/或与特定应用程序相关联的事务跟踪等等。
应用程序类型可对应于应用程序被设计成所执行的任务或功能。如上文所描述,应用程序类型的一些实例可包含天文应用程序、原子应用程序、财务应用程序、边缘计算应用程序、自主车辆应用程序、数据中心应用程序、个体化用药应用程序、网络安全性应用程序、扩增现实应用程序、虚拟现实应用程序、物联网应用程序、智能城市嵌入式应用程序和/或便携的嵌入式计算机应用程序等等。
处理装置122可被配置成确定特定应用程序利用的数据类型,其中数据类型包括在支持第一精确度水平的算术操作的第一格式中格式化的数据或在支持第二精确度水平的算术操作的第二格式中格式化的数据并且确定所述第一格式或第二格式中的一个对应于特定应用程序的性能特性大于阈值应用程序性能特性。
在一些实施例中,处理装置122可被配置成执行如下操作:基于使用第一格式或第二格式中的另一个的特定应用程序的性能特性大于阈值应用程序性能特性的确定,将数据从第一格式或第二格式转换成第一格式或第二格式中的所述另一个并且使用在经转换格式中格式化的数据执行应用程序。
在一些实施例中,处理装置122可确定应用程序的应用程序类型对应于财务应用程序,确定第一格式包括通用数格式且第二格式包括IEEE 754格式或定点二进制格式,或反过来也如此,并且执行将数据从第一格式转换成第二格式的操作。
在一些实施例中,处理装置122可确定应用程序的应用程序类型对应于天文计算应用程序,确定第一格式包括IEEE 754或定点二进制格式且第二格式包括通用数格式或位置格式,或反过来也如此,并且执行将数据从第一格式转换成第二格式的操作。
在一些实施例中,处理装置122可确定应用程序的应用程序类型对应于原子计算应用程序,确定第一格式包括IEEE 754或定点二进制格式且第二格式包括通用数格式或位置格式,或反过来也如此,并且执行将数据从第一格式转换成第二格式的操作。
在一些实施例中,处理装置122可被配置成一旦应用程序已转换成所要格式(例如,从第一格式转换成第二格式)便致使执行应用程序。
图1的实施例可包含为避免模糊本公开的实施例而未说明的额外电路。举例来说,存储器装置104可包含锁存通过I/O电路系统在I/O连接上提供的地址信号的地址电路系统。地址信号可由行解码器和列解码器接收和解码以存取存储器装置104和/或存储器阵列130。所属领域的技术人员应了解,地址输入连接的数目可取决于存储器装置104和/或存储器阵列130的密度和架构。
图2A是根据本公开的数个实施例的呈包含含有主机202和存储器装置204的设备200的计算系统形式的功能框图。存储器装置204可包含控制电路系统220,其可类似于图1中所说明的控制电路系统120。类似地,主机202可类似于图1中所说明的主机102,且存储器装置204可类似于图1中所说明的存储器装置104。组件(例如,主机202、位串转换电路系统220、逻辑电路系统222、存储器资源224和/或存储器阵列230等)中的每一个可分别在本文中称为“设备”。
主机202可经由一或多个信道203、205以通信方式耦合到存储器装置204。信道203、205可以是接口或允许数据和/或命令在主机202与存储器装置205之间转移的其它物理连接。举例来说,可经由信道203、205从主机传送致使起始将使用控制电路系统220执行的操作(例如,使用一或多个位串起始递归操作的操作、修改递归操作的迭代结果的操作、存储递归操作的迭代的经修改结果以及在外围感测放大器211中修改递归操作的迭代结果所达倍数的的操作、查问(quire)寄存器231和/或倍数寄存器242)的命令。应注意,在一些实施例中,控制电路系统220可在不存在来自主机202的居间命令的情况下,响应于经由信道203、205中的一或多个从主机202传送的起始命令而执行操作。也就是说,在不存在来自主机202的额外命令的情况下,一旦控制电路系统220已从主机202接收到起始操作的执行的命令,控制电路系统220便可执行操作。
如图2A中所示,存储器装置204可包含寄存器存取组件206、高速接口(HSI)208、控制器210、主存储器输入/输出(I/O)电路系统214、行地址选通(RAS)/列地址选通(CAS)链控制电路系统216、RAS/CAS链组件218、控制电路系统220和存储器阵列230。
寄存器存取组件206可有助于从主机202提取数据并传送到存储器装置204以及从存储器装置204提取数据并传送到主机202。举例来说,寄存器存取组件206可存储对应于将从存储器装置204传送到主机202或从主机202传送到存储器装置204的数据的地址(或有助于查找地址),例如存储器地址。在一些实施例中,寄存器存取组件206可促进传送和提取将被控制电路系统220操作的数据且/或寄存器存取组件206可促进传送和提取已被控制电路系统220操作的数据,或响应于控制电路系统220采取的动作,将数据传送到主机202。
HSI 208可提供主机202和存储器装置204之间用于穿越信道205的命令和/或数据的接口。HSI 208可为双倍数据速率(DDR)接口,例如DDR3、DDR4、DDR5等接口。然而,实施例不限于DDR接口,且HSI 208可以是四倍数据速率(QDR)接口、外围组件互连(PCI)接口(例如,外围组件互连高速(PCIe))接口,或用于在主机202与存储器装置204之间传送命令和/或数据的其它合适的接口。
控制器210可负责执行来自主机202的指令且存取控制电路系统220和/或存储器阵列230。控制器210可以是状态机、排序器或某一其它类型的控制器。控制器210可从主机202接收命令(例如,经由HSI 208),且基于接收到的命令,控制控制电路系统220和/或存储器阵列230的操作。在一些实施例中,控制器210可以从主机202接收命令以致使使用控制电路系统220执行操作。响应于接收到此类命令,控制器210可指示控制电路系统220开始执行操作。如本文所描述,此类操作可包含使用位串进行的递归操作和/或通过将递归操作的迭代结果按比例缩放一倍数来修改所述迭代结果的操作。在一些实施例中,所述操作可另外包含致使将经修改迭代结果存储于查问寄存器231中并且将迭代结果的按比例缩放倍数存储于倍数寄存器233中。
在一些实施例中,控制器210可为全局处理控制器并且可为存储器装置204提供电力管理功能。电力管理功能可包含控制存储器装置204和/或存储器阵列230消耗的电力。举例来说,控制器210可控制提供给存储器阵列230的各个库的电力以控制存储器阵列230的哪些库在存储器装置204操作期间的不同时间是操作性的。这可包含关闭存储器阵列230的某些库,同时向存储器阵列230的其它库提供电力以优化存储器装置230的电力消耗。在一些实施例中,控制器210控制存储器装置204的电力消耗可包含控制通到存储器装置204的各个核心和/或通到控制电路系统220、存储器阵列230等的电力。
主存储器输入/输出(I/O)电路系统214可促使数据和/或命令传送进出存储器阵列230。举例来说,主存储器I/O电路系统214可促使来自主机202和/或控制电路系统220的位串、数据和/或命令传送进出存储器阵列230。在一些实施例中,主存储器I/O电路系统214可包含一或多个直接存储器存取(DMA)组件,其可将来自控制电路系统220的位串(例如,存储为数据块的位置位串)传送到存储器阵列230,且反过来也如此。
在一些实施例中,主存储器I/O电路系统214可促使来自存储器阵列230的位串、数据和/或命令传送到控制电路系统220,使得控制电路系统220可对位串执行操作。类似地,主存储器I/O电路系统214可促使已被控制电路系统220执行一或多个操作的位串传送到存储器阵列230。
如上文所描述,可存储和/或从存储器阵列230检索位串(例如,数据)。在一些实施例中,主存储器I/O电路系统214可促使位串存储到存储器阵列230和/或从存储器阵列230检索位串。举例来说,可使得主存储器I/O电路系统214能够将位串传送到存储器阵列230进行存储,且/或主存储器I/O电路系统214可促使响应于例如来自控制器210和/或控制电路系统220的命令而从存储器阵列230检索位串(例如,表示在一或多个位串操作数之间执行的操作的位串、在一或多个位串操作数之间执行的操作的经修改迭代结果等)。
行地址选通(RAS)/列地址选通(CAS)链控制电路系统216和RAS/CAS链组件218可与存储器阵列230结合用于锁存行地址和/或列地址以此起始存储器循环。在一些实施例中,RAS/CAS链控制电路系统216和/或RAS/CAS链组件218可解算存储器阵列230的行和/或列地址,在这些行和/或列地址处,与存储器阵列230相关联的读取和写入操作将起始或终止。举例来说,在使用控制电路系统220完成操作后,RAS/CAS链控制电路系统216和/或RAS/CAS链组件218可锁存和/或解算存储器阵列230中特定方位,已被控制电路系统220执行操作的位串将存储到所述特定方位。类似地,RAS/CAS链控制电路系统216和/或RAS/CAS链组件218可锁存和/或解算存储器阵列230中的特定方位,将在控制电路系统220使用位串执行操作(例如,递归操作)之前或之后,位串将从所述特定方位传送到控制电路系统220。
控制电路系统220可包含处理装置(例如,图1中所说明的处理装置122)和/或存储器资源(例如,图1中所说明的存储器资源124)。位串(例如,数据、多个位等)可由控制电路系统220从例如主机202、存储器阵列230和/或外部存储器装置接收并且由控制电路系统220存储于例如控制电路系统220的存储器资源中。控制电路系统(例如,控制电路系统220的处理装置)可使用位串执行递归操作(或致使执行操作),修改递归操作的迭代结果,并且致使操作的经修改中间结果存储于存储器阵列230中。
在一些实施例中,控制电路系统220可使用位串执行(或致使执行)递归算术和/或逻辑操作。举例来说,控制电路系统220可被配置成执行(或致使执行)递归算术操作,例如递归加法、递归减法、递归乘法、递归除法、融合乘加操作、乘累加操作、递归点积操作、大于或小于、绝对值(例如,FABS())、快速傅立叶变换、反快速傅立叶变换、S型函数操作、卷积操作、递归平方根操作、递归指数操作和/或递归对数操作,以及/或递归逻辑操作,例如AND、OR、XOR、NOT等,以及递归三角函数操作,例如正弦、余弦、切线等。如将了解,上述操作列表不意在为穷尽性的,并且上述操作列表也不意在是限制性的,且控制电路系统220可被配置成使用各个位串执行(或致使执行)其它算术和/或逻辑操作。
在一些实施例中,控制电路系统220可结合一或多个机器学习算法的执行来执行上文列出的操作。举例来说,控制电路系统220可执行与一或多个神经网络相关的操作。神经网络可允许历经时间来训练算法以基于输入信号确定输出响应。举例来说,随时间推移,神经网络可基本上习得更好地最大化完成特定目的的机会。这在机器学习应用中可能是有利的,因为神经网路可历经时间利用新数据加以训练以实现更好地最大化完成特定目的的机率。神经网路可历经时间加以训练以改进特定任务和/或特定目标的操作。然而,在一些方法中,机器学习(例如,神经网络训练)可以是处理密集型的(例如,可能消耗大量计算机处理资源)和/或可以是时间密集型的(例如,可能需要执行消耗多个周期的冗长计算)。
通过监测机器学习应用程序的性能特性并且在此类应用程序所使用的数据类型之间选择性地进行转换,本文中的实施例可允许与其中应用程序使用固定数据类型和/或其中作为确定应用程序所使用的经优化数据类型的部分不会监测应用程序的性能特性的方法相比,改进神经网络训练。
在一些实施例中,控制器210可被配置成致使控制电路系统220(例如,图1中所说明的处理装置122和/或APM组件123)执行本文中所描述的操作(例如,执行监测应用程序以确定应用程序的性能特性的操作、确定用于特定应用程序的经优化数据类型的操作,和/或在不同数据类型之间转换应用程序所使用的数据的操作等)且不会妨碍主机202(例如,不会从主机202接收居间命令或与起始操作执行的命令分开的命令和/或不将操作结果传送到主机202)。然而,实施例不限于此,且在一些实施例中,控制器210可被配置成响应于主机202断言的一或多个命令,致使控制电路系统220基于控制器产生的命令执行本文中所描述的操作。
换句话说,在一些实施例中,主机202可将单一命令发送到存储器装置204,且因此,发送到控制电路系统220以请求执行本文中描述的操作。响应于接收到请求执行操作的命令,存储器装置204(例如,控制器210、控制电路系统220或存储器装置204的其它组件)可在不存在来自主机202的额外命令的情况下执行操作。这可减少信道203/205上的流量,从而可增加与主机202和/或存储器装置204相关联的计算装置200的性能。
如上文结合图1所描述,举例来说,存储器阵列230可以是DRAM阵列、SRAM阵列、STTRAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列和/或NOR快闪阵列,不过实施例不限于这些特定实例。存储器阵列230可用作图2A和2B中示出的计算系统200的主存储器。在一些实施例中,存储器阵列230可被配置成存储控制电路系统220进行操作的位串(例如,表示所执行递归操作的最终结果的位串)和/或在使用位串执行操作之前存储将传送到控制电路系统220的位串。
图2B是根据本公开的数个实施例的呈包含主机202、存储器装置204、专用集成电路223和现场可编程门阵列221的计算系统200形式的另一功能框图。组件(例如,主机202、存储器装置204、FPGA 221、ASIC 223等)中的每一个可分别在本文中称为“设备”。
如图2B所示,主机202可经由信道203耦合到存储器装置204,所述信道203可类似于图2A中所说明的信道203。现场可编程门阵列(FPGA)221可经由信道217耦合到主机202,且专用集成电路(ASIC)223可经由信道219耦合到主机202。在一些实施例中,信道217和/或信道219可以包含外围串行互连高速(PCIe)接口,然而,实施例不限于此,且信道217和/或信道219可以包含其它类型的接口、总线、通信信道等以促进主机202与FPGA 221和/或ASIC223之间的数据传送。
如上文所描述,位于存储器装置204(例如,图2A中所说明的控制电路系统220)上的电路系统可执行监测应用程序以确定应用程序的性能特性的操作、确定用于特定应用程序的经优化数据类型的操作,和/或在不同数据类型之间转换应用程序所使用的数据的操作等。然而,实施例不限于此,且在一些实施例中,可通过FPGA 221和/或ASIC 223执行监测应用程序以确定应用程序的性能特性的操作、确定用于特定应用程序的经优化数据类型的操作,和/或在不同数据类型之间转换应用程序所使用的数据的操作等。在其中FPGA 221和/或ASIC 223被配置成执行本文中所描述的操作的实施例中,FPGA和/或ASIC 223可被配置成执行和/或致使执行此类操作。
如上文所描述,可通过FPGA 221和/或ASIC 223执行的递归算术和/或递归逻辑操作的非限制性实例包含可作为执行应用程序的部分执行的算术操作。算术操作和逻辑操作的实例可包含使用位置位串的加法、减法、乘法、除法、融合乘加、乘累加、点积单元、大于或小于、绝对值(例如,FABS())、快速傅立叶变换、反快速傅立叶变换、S型函数、卷积、平方根、指数和/或对数操作,以及/或逻辑操作,例如AND、OR、XOR、NOT等,以及三角函数操作,例如正弦、余弦、切线等。
FPGA 221可包含状态机227和/或寄存器229。状态机227可包含被配置成对输入执行操作并且产生输出的一或多个处理装置。举例来说,FPGA 221可被配置成执行上文结合图1中所说明的处理装置122和/或APM组件123所描述的操作。
FPGA 221可包含寄存器229和/或缓冲器,其可被配置成在状态机227执行上文结合图1中所说明的处理装置122和/或APM组件123所描述的操作之前,缓冲和/或存储从主机202接收到的位串。
ASIC 223可包含逻辑215和/或高速缓存器217。逻辑215可包含被配置成对输入执行操作并且产生输出的电路系统。在一些实施例中,ASIC 223被配置成执行上文结合图1中所说明的处理装置122和/或APM组件123所描述的操作。
ASIC 223可包含高速缓存器217,其可被配置成在逻辑229对所接收的位串执行操作之前,缓冲和/或存储从主机202接收的位串。另外,ASIC 223的高速缓存器可被配置成缓冲与上文结合图1中所说明的处理装置122和/或APM组件123所描述的操作对应的数据。
图3为具有es指数位的n位通用数或“unum”的实例。在图3的实例中,n位unum是位置位串331。如图3中所展示,n位位置331可包含符号位集(例如,第一位子集或符号位子集333)、底数位集(例如,第二位子集或底数位子集335)、指数位集(例如,第三位子集或指数位子集337)和尾数位集(例如,第四位子集或尾数位子集339)。尾数位339可在替代方案中称为“分数部分”或“分数位”,且可表示小数点后的位串的一部分(例如,数字)。
符号位333可以是用于位置的零(0)和用于负数的一(1)。下文结合表1描述底数位335,表1示出(二进制)位串和其相关数字含义k。在表1中,通过位串的延行长度来确定数字含义k。表1的二进制部分中的字母x指示位值与底数的确定不相关,因为(二进制)位串响应于连续位翻转或当到达位串的结尾时而终止。举例来说,在(二进制)位串0010中,位串响应于零翻转到一且随后回到零而终止。因此,最后的零与底数不相关且对于底数考虑的全部是前导相同位和终止位串的第一相对位(如果位串包含此类位)。
二进制 0000 0001 001X 01XX 10XX 110X 1110 1111
数字(k) -4 -3 -2 -1 0 1 2 3
表1
在图3中,底数位335r对应于位串中的相同位,而底数位335
Figure BDA0003109881440000222
对应于终止位串的相反位。举例来说,对于表1中展示的数字k值-2,底数位r对应于前两个前导零,而底数位
Figure BDA0003109881440000221
对应于一。如上所述,对应于由表1中的X表示的数字k的最终位与底数不相关。
如果m对应于位串中相同位的数目,则如果位为零,那么k=-m。如果位为一,那么k=m-1。这在表1中进行了说明,其中例如(二进制)位串10XX具有单个一且k=m-1=1-1=0。类似地,(二进制)位串0001包含三个零,因此k=-m=-3。底数可指示按比例缩放因子useedk,其中
Figure BDA0003109881440000223
以下表2中展示used的若干实例值。
es 0 1 2 3 4
used 2 2<sup>2</sup>=4 4<sup>2</sup>=16 16<sup>2</sup>=256 256<sup>2</sup>=65536
表2
指数位337对应于作为无符号数的指数e。与浮点数相比,本文中所描述的指数位337可不具有与其相关联的偏置。因此,本文中所描述的指数位337可表示以因数2e进行按比例缩放。如图3中所示,可存在多达es个指数位(e1、e2、e3、……、ees),这取决于n位位置331的底数位335右边还剩多少个位。在一些实施例中,这可允许n位位置331的逐渐变小准确度,其中在量值上更接近一的数字具有比极大或极小数字更高的准确度。然而,由于在某些类型的操作中可以不频繁地使用极大或极小数,因此图3中所展示的n位位置331的逐渐变小的准确度表现在广泛范围的情形下可以是合乎需要的。
尾数位339(或分数位)表示可以是位于指数位337右边的n位位置331的部分的任何额外位。类似于浮点位串,尾数位339表示可类似于分数1.f的分数f,其中f包含一后的小数点右边的一或多个位。然而,与浮点位串相比,在图3中所展示的n位位置331中,“隐藏位”(例如,一)可始终是一(例如,整体),而浮点位串可包含具有“隐藏位”零(例如,0.f)的次正规数。
如本文所描述,更改符号333位子集、底数335位子集、指数337位子集或尾数339位子集中的一或多个的数值或位量可改变n位位置331的精确度。例如,改变n位位置331中的总位数可以更改n位位置位串331的分辨率。也就是说,通过例如增加与位置位串的组成位子集中的一或多个相关联的数值和/或位量以提高位置位串分辨率,可以将8位位置转换为16位位置。相反,通过减少与位置位串的组成位子集中的一或多个相关联的数值和/或位量,可以将位置位串的分辨率例如从64位分辨率减小到32位分辨率。
在一些实施例中,更改与底数335位子集、指数337位子集和/或尾数339位子集中的一或多个相关联的数值和/或位量以改变n位位置331的精确度可导致底数335位子集、指数337位子集和/或尾数339位子集中的另一个中的至少一个的改变。例如,当更改n位位置331的精确度以提高n位位置位串331的分辨率时(例如,当执行“向上转换”操作以增大n位位置位串331的位宽时),可以更改与状态335位子集、指数337位子集和/或尾数339位子集中的一或多个相关联的数值和/或位量。
在非限制性实例中,其中n位位置位串331的分辨率增大(例如,n位位置位串331的精确度改变以增大n位位置位串331的位宽度)但与指数337位子集相关联的数值或位量并不改变,与尾数339位子集相关联的数值或位量可增大。在至少一个实施例中,当指数338位子集仍不变时增大尾数339位子集的数值和/或位量可包含将一或多个零位添加到尾数339位子集。
在另一非限制性实例中,其中n位位置位串331的分辨率通过更改与指数337位子集相关联的数值和/或位量而增大(例如,n位位置位串331的精确度改变以增大n位位置位串331的位宽度),与底数335位子集和/或尾数339位子集相关联的数值和/或位量可增大或减小。举例来说,如果与指数337位子集相关联的数值和/或位量增大或减小,那么与底数335位子集和/或尾数339位子集相关联的数值和/或位量可产生对应变化。在至少一个实施例中,增大或减小与底数335位子集和/或尾数339位子集相关联的数值和/或位量可包含将一或多个零位添加到底数335位子集和/或尾数339位子集和/或截断与底数335位子集和/或尾数339位子集相关联的数值或位量。
在另一实例中,其中n位位置位串331的分辨率增大(例如,n位位置位串331的精确度改变以增大n位位置位串331的位宽度),与指数335位子集相关联的数值和/或位量可增大且与底数333位子集相关联的数值和/或位量可减小。相反地,在一些实施例中,与指数335位子集相关联的数值和/或位量可减小且与底数333位子集相关联的数值和/或位量可增大。
在非限制性实例中,其中n位位置位串331的分辨率减小(例如,n位位置位串331的精确度改变以减小n位位置位串331的位宽度)但与指数337位子集相关联的数值或位量并不改变,与尾数339位子集相关联的数值或位量可减小。在至少一个实施例中,当指数338位子集仍不变时减小尾数339位子集的数值和/或位量可包含截断与尾数339位子集相关联的数值和/或位量。
在另一非限制性实例中,其中n位位置位串331的分辨率通过更改与指数337位子集相关联的数值和/或位量而减小(例如,n位位置位串331的精确度改变以减小n位位置位串331的位宽度),与底数335位子集和/或尾数339位子集相关联的数值和/或位量可增大或减小。举例来说,如果与指数337位子集相关联的数值和/或位量增大或减小,那么与底数335位子集和/或尾数339位子集相关联的数值和/或位量可产生对应变化。在至少一个实施例中,增大或减小与底数335位子集和/或尾数339位子集相关联的数值和/或位量可包含将一或多个零位添加到底数335位子集和/或尾数339位子集和/或截断与底数335位子集和/或尾数339位子集相关联的数值或位量。
在一些实施例中,改变指数位子集中的数值和/或位量可更改n位位置331的动态范围。举例来说,具有含数值零的指数位子集的32位位置位串(例如,具有es=0的32位位置位串或(32,0)位置位串)可具有大致18个十进位的动态范围。然而,具有含数值3的指数位子集的32位位置位串(例如,具有es=3的32位位置位串,或(32,3)位置位串)可以具有大致145个十进位的动态范围。
图4A是3位位置的正值的实例。在图4A中,仅投影实数的右半部分,然而,应了解,对应于图4A中所展示的其正对应值的负投影实数可存在于曲线上,所述曲线表示围绕图4A中所展示的曲线的y轴的变换。
在图4A的实例中,es=2,因此
Figure BDA0003109881440000241
位置431-1的精确度可通过将位附加到位串而增大,如图4B中所展示。例如,将具有值一(1)的位附加到位置431-1的位串会增加如由图4B中的位置431-2所展示的位置431-1的准确度。类似地,将具有值一的位附加到图4B中的位置431-2的位串会增加如由图4B中所展示的位置431-3所展示的位置431-2的准确度。以下是可用于将位附加到图4A中所展示的位置431-1的位串以获得图4B中所说明的位置431-2、431-3的内插规则的实例。
如果maxpos是位置431-1、431-2、431-3的位串的最大正值且minpos是位置431-1、431-2、431-3的位串的最小值,那么maxpos可等于useed且minpos可等于
Figure BDA0003109881440000242
在maxpos与±∞之间,新位值可为maxpos*useed且在零与minpos之间,新位值可为
Figure BDA0003109881440000243
这些新位值可对应于新底数位335。在现有值x=2m与y=2n之间,其中m与n的差大于一,新位值可由如下几何均值给出:
Figure BDA0003109881440000244
其对应于新指数位337。如果新位值在现有x值与紧接其的y值之间的中间位置,那么新位值可表示算术均值
Figure BDA0003109881440000245
其对应于新尾数位339。
图4B是使用两个指数位的位置构造的实例。在图4B中,仅投影实数的右半部分,然而,应了解,对应于图4B中所展示的其正对应值的负投影实数可存在于曲线上,所述曲线表示围绕图4B中所展示的曲线的y轴的变换。图4B所示的位置431-1、431-2、431-3各自仅包含两个异常值:当位串的所有位均为零时的零(0),以及当位串为所有零后的一(1)时的±∞。应注意,图4中展示的位置431-1、431-2、431-3的数值是精确的useedk。也就是说,对于由底数(例如,上文结合图3所描述的底数位335)表示的k值的幂,图4中展示的位置431-1、431-2、431-3的数值精确地为useed。在图4B中,位置431-1具有es=2,因此
Figure BDA0003109881440000251
位置431-2具有es=3,因此
Figure BDA0003109881440000252
256,且位置431-3具有es=4,因此
Figure BDA0003109881440000253
作为将位添加到3位位置431-1以产生图4B的4位位置431-2的说明性实例,useed=256,因此对应于useed 256的位串具有附加到其上的额外底数位且之前为16的useed具有附加到其上的终止底数位
Figure BDA0003109881440000255
如上文所描述,在现有值之间,对应位串具有附加到其上的额外指数位。举例来说,数值1/16、1/4、1和4将具有附加到其上的指数位。也就是说,对应于数值4的最末一是指数位,对应于数值1的最末零是指数位等。这种模式可进一步见于位置431-3中,其为根据以上规则从4位位置431-2产生的5位位置。如果另一位添加到图4B中的位置431-3以产生6位位置,则尾数位339将附加到1/16与16之间的数值。
以下是对位置(例如,位置431)进行解码以获得其数字等效值的非限制性实例。在一些实施例中,对应于位置p的位串为从-2n-1到2n-1的范围内的无符号整数,k为对应于底数位335的整数,且e为对应于指数位337的无符号整数。如果尾数位339的集合表示为{{f1f2…ffs}且f为由1.f1 f2…ffs表示的值(例如,通过尾数位339之后的小数点之后的一),那么p可由以下方程式1给出。
Figure BDA0003109881440000254
下文结合下表3中展示的位置位串0000110111011101提供对位置位串进行解码的另一说明性实例。
符号 底数 指数 尾数
0 0001 101 11011101
表3
在表3中,位置位串0000110111011101被分解到其构成位集(例如,符号位333、底数位335、指数位337和尾数位339)中。由于表3中展示的位置位串中的es=3(例如,因为存在三个指数位),因此useed=256。因为符号位333为零,所以对应于表3中展示的位置位串的数字表述的值是正的。底数位335具有对应于值-3的三个连续零的延行(如上文结合表1所描述)。因此,底数位335所生成的按比例缩放因子是256-3(例如,useedk)。指数位337表示作为无符号整数的五(5)且因此提供2e=25=32的附加比例因子。最后,在表3中作为11011101给出的尾数位339表示作为无符号整数的两百二十一(221),因此以上作为f给出的尾数位339是
Figure BDA0003109881440000261
使用这些值和方程式1,对应于表3中给出的位置位串的数值是
Figure BDA0003109881440000262
图5是根据本公开的数个实施例的表示用于基于应用程序的数据类型选择的实例方法540的流程图。在框542处,方法540可包含通过处理装置监测与耦合到处理装置的主机执行的至少一个应用程序相关联的性能特性。应用程序可为被配置成执行个体化用药计算、汽车计算或网络安全性计算或其任何组合的应用程序。然而,实施例不限于此,且应用程序可为本文中所描述的任何类型的应用程序中的一或多个,以及其它被配置成当由计算系统执行时执行特定任务和/或功能的计算应用程序。处理装置可类似于本文在图1中所说明的处理装置122。
如上文所描述,性能特性可包含归因于迭代产生的应用程序错误、与至少一个应用程序相关联的电力消耗、当使用第一格式的数据或第二格式的数据执行至少一个应用程序时产生的数据的精确度或准确度、与至少一个应用程序相关联的时延参数,或与至少一个应用程序相关联的可靠性参数,或其任何组合。然而,实施例不限于此,且在一些实施例中,性能特性可包含在至少一个应用程序使用根据第一格式格式化的数据执行操作时所述至少一个应用程序的健康状况、在至少一个应用程序使用根据第二格式格式化的数据执行操作时所述至少一个应用程序的健康状况,或这两者。
在框544处,方法540可包含通过处理装置确定与至少一个应用程序相关联的性能特性已达到阈值性能水平。
在框546处,方法540可包含通过处理装置至少部分地基于所述确定执行如下操作:将至少一个应用程序利用的数据类型从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。在一些实施例中,第一格式和第二格式中的一个可为IEEE 754格式或定点二进制格式,且第一格式和第二格式中的另一个可为通用数或位置格式。另外,在一些实施例中,将至少一个应用程序利用的数据类型从第一格式转换成第二格式的操作可包含更改与含于数据类型内的至少一个位子集相关联的位数。
方法540可另外包含通过处理装置确定与至少一个应用程序相关联的至少一个性能特性已达到第二阈值性能水平,并且通过处理装置至少部分地基于所述确定执行将至少一个应用程序利用的数据类型从第二格式转换成第三格式的操作。
虽然已在本文中示出并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示出的具体实施例。本公开意图覆盖本公开的一或多个实施例的修改或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明标的物在于单个所揭示实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。

Claims (20)

1.一种用于基于应用程序的数据类型选择的方法,其包括:
通过处理装置(122)监测与由所述处理装置(122)或耦合到所述处理装置(122)的主机(102)执行的至少一个应用程序相关联的性能特性;
通过所述处理装置(122)确定与所述至少一个应用程序相关联的性能特性已达到阈值性能水平;和
通过所述处理装置(122)至少部分地基于所述确定执行如下操作:将所述至少一个应用程序利用的数据类型从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式。
2.根据权利要求1所述的方法,其中所述第一格式和所述第二格式中的一个是IEEE754格式或定点二进制格式,且所述第一格式和所述第二格式中的另一个是通用数或正数格式。
3.根据权利要求1所述的方法,其中所述性能特性包含归因于迭代产生的应用程序错误、与所述至少一个应用程序相关联的电力消耗、当使用所述第一格式的数据或所述第二格式的数据执行所述至少一个应用程序时产生的数据的精确度或准确度、与所述至少一个应用程序相关联的时延参数,或与所述至少一个应用程序相关联的可靠性参数,或其任何组合。
4.根据权利要求1到3中任一权利要求所述的方法,其中所述性能特性包含在所述至少一个应用程序使用根据所述第一格式格式化的数据执行操作时所述至少一个应用程序的健康状况、在所述至少一个应用程序使用根据所述第二格式格式化的数据执行操作时所述至少一个应用程序的健康状况,或这两者。
5.根据权利要求1到3中任一权利要求所述的方法,其另外包括:
通过所述处理装置(122)确定与所述至少一个应用程序相关联的所述至少一个性能特性已达到第二阈值性能水平;和
通过所述处理装置(122)至少部分地基于所述确定执行将所述至少一个应用程序所利用的所述数据类型从所述第二格式转换成第三格式的操作。
6.根据权利要求1到3中任一权利要求所述的方法,其中所述至少一个应用程序包括被配置成执行个体化用药计算、汽车计算或网络安全性计算或其任何组合的应用程序。
7.一种用于基于应用程序的数据类型选择的设备,其包括:
处理装置(122)和被配置为用于所述处理装置(122)的高速缓存器的存储器资源(124),其中所述处理装置(122)被配置成:
监测与由所述处理装置(122)或耦合到所述处理装置(122)的主机(102)执行的应用程序的执行相关联的性能特性;
确定与使用根据支持第一精确度水平的算术操作的第一格式格式化的数据的至少一个应用程序相关联的性能特性已达到阈值性能水平;
至少部分地基于所述确定执行将所述至少一个应用程序所利用的所述数据从所述第一格式转换成支持第二精确度水平的算术操作的第二格式的操作;和
致使使用根据所述第二格式格式化的所述数据执行所述至少一个应用程序。
8.根据权利要求7所述的设备,其中所述应用程序包含被配置成执行天文计算、原子计算或财务计算或其任何组合的应用程序。
9.根据权利要求7所述的设备,其中所述性能特性包含应用程序响应时间、应用程序错误数量、收集的用户满意度度量、应用程序依赖性类型、与所述至少一个应用程序相关联的事务跟踪或其任何组合。
10.根据权利要求7到9中任一权利要求所述的设备,其中所述处理装置(122)被进一步配置成执行如下操作:通过更改与含于所述数据内的至少一个位子集相关联的位数,将所述至少一个应用程序所利用的所述数据从所述第一格式转换成所述第二格式。
11.根据权利要求7到9中任一权利要求所述的设备,其中所述处理装置(122)被进一步配置成:
确定与所述至少一个应用程序相关联的所述性能特性已达到第二阈值性能水平;和
至少部分地基于所述确定执行将所述至少一个应用程序所利用的所述数据从所述第二格式转换成第三格式的操作。
12.根据权利要求7到9中任一权利要求所述的设备,其中所述处理装置(122)被进一步配置成:
确定用于所述至少一个应用程序的应用程序类型;和
至少部分地基于所述至少一个应用程序的所述所确定的应用程序类型,更改所述第二格式中的所述数据的精确度。
13.根据权利要求7到9中任一权利要求所述的设备,其另外包括耦合到所述处理装置(122)的应用程序性能管理组件(123),其中所述处理装置(122)被进一步配置成存取所述应用程序性能管理组件(123)产生的数据以监测所述性能特性。
14.一种用于基于应用程序的数据类型选择的设备,其包括:
处理装置(122)和被配置为用于所述处理装置(122)的高速缓存器的存储器资源(124),其中所述处理装置(122)被配置成:
监测所述处理装置执行的多个应用程序的特性;
基于所述特定应用程序的所述所监测的特性,确定特定应用程序的应用程序类型;
确定所述特定应用程序所利用的数据类型,其中所述数据类型包括在支持第一精确度水平的算术操作的第一格式中格式化的数据或在支持第二精确度水平的算术操作的第二格式中格式化的数据;
确定所述第一格式或所述第二格式中的一个对应于所述特定应用程序的性能特性大于阈值应用程序性能特性;
基于所述确定使用所述第一格式或所述第二格式中的另一个的所述特定应用程序的所述性能特性大于所述阈值应用程序性能特性,执行将所述数据从所述第一格式或所述第二格式转换成所述第一格式或所述第二格式中的所述另一个的操作;和
使用在所述经转换格式中格式化的数据执行所述应用程序。
15.根据权利要求14所述的设备,其中所述处理装置(122)被配置成:
确定所述应用程序的所述应用程序类型对应于财务应用程序、天文计算应用程序或原子计算应用程序;
确定所述第一格式包括通用数格式且所述第二格式包括IEEE 754格式或定点二进制格式;和
执行将所述数据从所述第一格式转换成所述第二格式的操作。
16.根据权利要求14所述的设备,其中所述性能特性包含所监测的应用程序响应时间、应用程序错误信息、收集的用户满意度度量、所述多个应用程序当中的应用程序依赖性或与所述特定应用程序相关联的事务跟踪,或其任何组合。
17.一种用于基于应用程序的数据类型选择的系统,其包括:
主机(102);
耦合到所述主机(102)的处理装置(122);和
被配置成产生性能特性的组件(123),所述组件(123)耦合到所述处理装置(122),其中所述处理装置(122)被配置成:
接收由所述组件(123)产生并且对应于所述主机所执行的应用程序的执行的所述性能特性;
分析所述性能特性以确定已相对于至少一个应用程序发生至少一个性能特性的改变;
至少部分地基于所述确定执行如下操作:将所述至少一个应用程序利用的数据从支持第一精确度水平的算术操作的第一格式转换成支持第二精确度水平的算术操作的第二格式;和
使用根据所述第二格式格式化的所述数据执行所述至少一个应用程序。
18.根据权利要求17所述的系统,其中所述处理装置(122)被进一步配置成:
确定与所述至少一个应用程序相关联的所述性能特性已达到第二阈值性能水平;
至少部分地基于所述确定执行将所述至少一个应用程序所利用的所述数据从所述第二格式转换成所述第一格式的操作;和
使用根据所述第一格式格式化的所述数据执行所述至少一个应用程序。
19.根据权利要求17到18中任一权利要求所述的系统,其中所述处理装置(122)被进一步配置成:
确定所述至少一个应用程序是财务应用程序;和
基于所述确定更改与所述至少一个应用程序所使用的所述数据的尾数位子集相关联的位数。
20.根据权利要求17到18中任一权利要求所述的系统,其中所述处理装置(122)被进一步配置成:
确定所述至少一个应用程序是天文应用程序或原子应用程序;和
基于所述确定更改与所述至少一个应用程序所使用的所述数据的至少一个位子集相关联的位数以增加可用于所述至少一个应用程序的动态范围。
CN202110646395.2A 2020-06-16 2021-06-10 基于应用程序的数据类型选择 Pending CN113805974A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/902,722 2020-06-16
US16/902,722 US11797560B2 (en) 2020-06-16 2020-06-16 Application-based data type selection

Publications (1)

Publication Number Publication Date
CN113805974A true CN113805974A (zh) 2021-12-17

Family

ID=78825489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110646395.2A Pending CN113805974A (zh) 2020-06-16 2021-06-10 基于应用程序的数据类型选择

Country Status (2)

Country Link
US (1) US11797560B2 (zh)
CN (1) CN113805974A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210397974A1 (en) * 2020-06-23 2021-12-23 Sandisk Technologies Llc Multi-precision digital compute-in-memory deep neural network engine for flexible and energy efficient inferencing
CN114462613B (zh) * 2022-03-14 2023-07-07 北京百度网讯科技有限公司 量子计算机性能刻画方法及装置、电子设备和介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758972A (en) 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
US7827381B2 (en) * 2006-06-05 2010-11-02 Oracle America, Inc. Hybrid techniques for memory virtualization in a computer system
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8214417B2 (en) 2008-08-14 2012-07-03 Oracle America, Inc. Subnormal number handling in floating point adder without detection of subnormal numbers before exponent subtraction
US8880801B1 (en) * 2011-09-28 2014-11-04 Emc Corporation Techniques for reliability and availability assessment of data storage configurations
WO2013101173A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Decomposing operations in more than one dimension into one dimensional point operations
US9270709B2 (en) * 2013-07-05 2016-02-23 Cisco Technology, Inc. Integrated signaling between mobile data networks and enterprise networks
FR3021151B1 (fr) * 2014-05-15 2017-09-15 Commissariat Energie Atomique Procede de determination de parametres de programmation servant a programmer une memoire vive resistive
AU2014403813A1 (en) * 2014-08-20 2017-02-02 Landmark Graphics Corporation Optimizing computer hardware resource utilization when processing variable precision data
US10171333B2 (en) * 2015-02-10 2019-01-01 International Business Machines Corporation Determining connection feasibility and selection between different connection types
DE102019211173A1 (de) * 2019-07-26 2021-01-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verwalten von Rechenleistung in einem Datenverarbeitungssystem

Also Published As

Publication number Publication date
US20210390112A1 (en) 2021-12-16
US11797560B2 (en) 2023-10-24

Similar Documents

Publication Publication Date Title
CN112420092B (zh) 位串转换
CN111696610A (zh) 用于位串转换的设备和方法
US11714605B2 (en) Acceleration circuitry
CN111724832A (zh) 用于存储器阵列数据结构正数运算的设备、系统及方法
US11277149B2 (en) Bit string compression
CN113805974A (zh) 基于应用程序的数据类型选择
CN115668224B (zh) 使用posit的神经形态运算
CN113906386B (zh) 使用计算片块的位串运算
CN113918117B (zh) 动态精确度位串累加
CN113961170B (zh) 存储器中的算术操作
CN113553278A (zh) 用于posit运算的加速电路系统
CN115398392A (zh) 算术逻辑单元
CN113454916B (zh) 基于主机的位串转换
CN113641602B (zh) 用于posit运算的加速电路系统
CN113924622B (zh) 存储器阵列外围中的位串累加
CN114096948B (zh) 位串查找数据结构
CN113805841B (zh) 多个寄存器中的位串累加
CN111694762A (zh) 用于位串转换的设备和方法
CN113495716A (zh) 假定张量处理
CN115398413A (zh) 位串累加

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination