CN104281433B - 用于计算基于数据的函数模型的模型计算单元和控制器 - Google Patents

用于计算基于数据的函数模型的模型计算单元和控制器 Download PDF

Info

Publication number
CN104281433B
CN104281433B CN201410308194.1A CN201410308194A CN104281433B CN 104281433 B CN104281433 B CN 104281433B CN 201410308194 A CN201410308194 A CN 201410308194A CN 104281433 B CN104281433 B CN 104281433B
Authority
CN
China
Prior art keywords
data
calculating
number format
computing unit
previously given
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
CN201410308194.1A
Other languages
English (en)
Other versions
CN104281433A (zh
Inventor
W.菲舍尔
N.班诺夫
A.冈托罗
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN104281433A publication Critical patent/CN104281433A/zh
Application granted granted Critical
Publication of CN104281433B publication Critical patent/CN104281433B/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
    • 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/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • 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)
  • Analogue/Digital Conversion (AREA)
  • Advance Control (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及一种控制器(1)中用于计算基于数据的函数模型、尤其高斯过程模型的模型计算单元(3),其包括:‑计算核心(31),所述计算核心构造用于纯基于硬件计算用于基于数据的函数模型的算法,其中在提供计算数据、尤其超参数和控制点数据的情况下计算所述基于数据的函数模型;以及‑纯基于硬件的转换单元(35),所述转换单元构造用于向所述计算核心(31)以预先给定的数字格式提供至少一部分所述计算数据、尤其所提供的控制点数据。

Description

用于计算基于数据的函数模型的模型计算单元和控制器
技术领域
本发明涉及用于控制器的模型计算单元、尤其硬布线的模型计算单元作为在其中或者说借助于其能够计算基于数据的函数模型的硬件单元,尤其用于控制马达系统。本发明还涉及这种模型计算单元中基于数据的函数模型的配置数据的提供和处理。
背景技术
由现有技术公开了带有主计算单元和单独的用于计算基于数据的函数模型的模型计算单元的控制器。例如文献DE 10 2010 028 266 A1示出了带有额外的逻辑线路作为模型计算单元的控制器。所述额外的逻辑线路在硬件方面用于计算指数函数和加法函数。这实现了在硬件单元中支持贝叶斯回归法,尤其需要用所述贝叶斯回归法来计算高斯过程模型。
模型计算单元设计用于实施数学过程从而基于参数/超参数和控制点数据(Stützstellendaten)或者说训练数据(Trainingsdaten)来计算基于数据的函数模型。尤其所述模型计算单元在硬件方面构造用于有效地计算指数函数,从而能够以与主计算单元中通过合适的软件所实现的计算速度相比更高的计算速度来计算高斯过程模型。
通常配置数据被提供用于模型计算单元中的计算并且通过模型计算单元的硬件实现基于配置数据的计算,其中所述配置数据包含用于计算基于数据的函数模型的参数和控制点。
所述控制点数据通常以浮点数据或定点数据的形式预先给定。然而在硬件中执行时,基于浮点算术的算法必须与基于定点算术的算法分开实现。
文献US 4,675,809描述了,通过使用转换单元来应用系统中不同的浮点数据类型。
文献US 5,161,117描述了一种用于使用具有不同基础的不同的浮点值的方法。
发明内容
按本发明提出了按权利要求1所述的硬件模型计算单元以及按并列权利要求所述的带有模型计算单元的控制器。
本发明的其他有利的设计方案在从属权利要求中得到说明。
根据第一方面,在控制器中设置用于计算基于数据的函数模型、尤其高斯过程模型的模型计算单元,其包括:
-计算核心,所述计算核心构造用于纯基于硬件计算用于基于数据的函数模型的算法,其中在提供计算数据、尤其超参数和控制点数据的情况下计算所述基于数据的函数模型;以及
-纯基于硬件的转换单元,所述转换单元构造用于向所述计算核心以预先给定的数字格式提供至少一部分所述计算数据、尤其所提供的控制点数据。
开头所描述的控制器除了由软件控制的主计算单元之外还具有在硬件中执行的模型计算单元,该模型计算单元除了指数函数计算单元之外还具有在至少一个循环(Schleife)中用于计算和的硬件逻辑单元。所述计算动用预先给定的计算数据、尤其参数和控制点数据用于高斯过程模型,所述计算数据保存在对模型计算单元而言可访问的存储区域中。
在设计所述模型计算单元时,通常如此设计硬件模块,即所述计算能够利用最大存在的位分辨率的值进行计算。这在常规的控制器中例如相当于浮点数字格式的32位分辨率。
计算数据通常以浮点数据或者定点数据的形式预先给定。然而在硬件中执行时,基于浮点算术的算法必须与基于定点算术的算法分开实现。然而为了限制用于模型计算单元的硬件的集成结构的面积需求,计算数据的处理仅仅以一数字格式进行设置。如果计算数据完全或者部分以另一数字格式存在,那么必须设置对所涉及的计算数据的预处理,从而将其转换为所希望的数字格式、即要么定点数字格式要么浮点数字格式。
在为了计算基于数据的函数模型足以提供例如具有8位或16位精度的计算数据作为定点值或浮点值时,在主计算单元中通常以32位宽的浮点值进行浮点计算。
为了使用于提供计算数据的存储需求最小化并且仍然设置带有用于高精度的计算数据的计算方案的模型计算单元,因此能够设置一种模型计算单元,其作为输入级具有转换单元。通过转换单元能够为用于计算的模型计算单元直接提供计算数据的其他数字格式、例如16位浮点数字格式的值或者16位定点数字格式的值并且在那里使用这些数据,而无需在模型计算单元中设置单独的硬件。
此外,所述转换单元实现了,不必在主计算单元中实施对计算所需的数据的转换,所述主计算单元的功率在控制器中通常受到限制。通常作为定点值提供的传感器数据也能够借助于转换单元中所提供的共同的指数参数飞速写入地(on-the-fly),也就是不借助主计算单元,以合适的方式进行转换。
此外,转换单元能够构造用于根据选择信号将与预先给定的数字格式不同的数字格式的、所提供的计算数据转换成预先给定的数字格式。
根据一种实施方式,所述转换单元能够具有至少一个用于将第一数字格式的数据转换成预先给定的数字格式的数据的转换块以及乘法器,从而根据选择信号要么将所提供的计算数据要么将通过所述至少一个转换块之一转换成预先给定的数字格式的计算数据传递到计算核心上。
能够规定,所述预先给定的数字格式相当于32位浮点数字格式。
第一转换块尤其能够构造用于将数据从与预先给定的数字格式相比具有更少位数的浮点数字格式转换成预先给定的数字格式。
第二转换块能够构造用于将数据从定点数字格式转换成预先给定的数字格式。
此外,第二转换块能够构造用于在将数据从定点数字格式转换成预先给定的数字格式时考虑预先给定的指数值。
根据另一方面设置了一种控制器,其尤其以集成的结构方式例如芯片的形式构造。该控制器包括:
-用于由软件控制地执行函数或者说功能(Funktion)的主计算单元;
-用于以至少一种数字格式存储计算数据的存储单元;以及
-上述模型计算单元。
此外,所述主计算单元能够根据计算数据在存储单元中所保存的数字格式将选择信号提供给模型计算单元,从而根据该选择信号将计算数据转换成预先给定的数字格式。
附图说明
下面根据附图详细解释本发明的优选实施方式。附图中:
图1示出具有主计算单元和模型计算单元的控制器的示意图;
图2示出具有转换单元的、图1的模型计算单元的示意图;
图3示出图2的转换单元的详细示图;并且
图4示出从具有共同指数的16位定点值转换成浮点数字格式的值的转换示图。
具体实施方式
图1示出了用于集成的控制器1的硬件结构的示意图,在所述控制器中以集成的方式(例如单片地)设置了例如形式为微控制器的主计算单元2以及用于基于硬件计算尤其基于数据的函数模型(Funktionsmodell)的模型计算单元(Modellberechnungseinheit)3。主计算单元2和模型计算单元3通过系统总线6彼此处于通讯连接之中。模型计算单元3仅构造成硬件(硬布线)并且因此不能执行软件代码。出于这个原因,在模型计算单元3中也不设置处理器或者类似器件。这能够资源最佳地实现这种模型计算单元3。
此外,控制器1具有内部的存储单元4和DMA单元5(DMA=Direct Memory Access),它们经由内部的通讯连接部6、例如经由内部的数据总线与主计算单元2和模型计算单元3处于连接之中。
在图2中详细地示出了模型计算单元3。能够看到,为了计算基于数据的函数模型,计算核心31设有指数单元32、在一些情况下能够组合地设置在共同的FMA单元(FMA=FusedMultiply Add)中的加法及乘法单元33以及在使用前面所述单元32、33的情况下用于提供确定的计算过程的逻辑单元34。
通常已知两种IEEE-754浮点标准作为数据格式。所述浮点标准在单精度中相当于32位分辨率、即1个符号位、8个指数位和23个尾数位并且在半精度中相当于16位分辨率、即1个符号位、5个指数位和10个尾数位。此外,在16位定点数字格式中使用16位值来代表数据值,而不设置指数。除了16位定点数字格式之外,也能够为一系列数据值设置共同的指数,从而为所述数据分配共同的数量级。
为了使模型计算单元3能够使用具有不同数据格式的数据值,在模型计算单元3中设置了转换单元35,如其结合图3详细示出的那样。所述转换单元35将计算数据、即例如控制点数据转换成预先给定的数字格式、例如转换成32位浮点数字格式并且将其作为处理数据V提供给模型计算单元3中描述计算算法的硬件。计算数据的数据元素也能够以不同的数字格式存在,从而使得所述计算数据根据数据元素的数字格式进行转换。
所述转换单元35包括乘法器36用于为模型计算单元3中对基于数据的函数模型的计算提供转换过的处理数据V。在这种情况下,所述控制点数据能够作为形式为32位浮点数字格式(具有单精度的浮点数字格式)的数据D32F、形式为16位浮点数字格式(具有半精度的浮点数字格式)的数据D16F或者形式为16位定点数字格式的数据D16结合预先给定的共同的指数CE被提供给模型计算单元3。
16位浮点数字格式的数据D16F以及16位定点数字格式的数据D16在相应的第一及第二转换块37、38中以已知的方式转换成32位浮点数字格式并且与不必转换的32位浮点数字格式的数据D32F共同输入乘法器36。在乘法器36中,借助于例如能够由主计算单元2提供的选择信号S相应地选择数据格式D16F、D32F、D16之一。
在第一转换块37中由16位浮点数字格式转换成32位浮点数字格式是简单的位运算。5位指数(转译为带有符号的±15(Excess-15))以及使用了8位指数(转译成带有符号的±127(过量-127))的32位浮点数字格式通过112(也就是127-15)的加和形成指数转换,该加和通常能够以集成的结构形式面积有利地作为带有两个输入端的乘法器实现,该乘法器通过最高的指数位进行控制,其中零值、+∞或-∞的数据以及NaN(Not-a-Number,非数字)作为特殊情况处理,使得转换结果产生相同的值。将尾数值从10位扩展到23位所使用的方式为简单地加入零作为最低值的位,这例如能够通过左移13位的左移运算或者将10个尾数位和13个零位串连起来实现。
16位定点数字格式转换成32位浮点数字格式例如能够借助于图4中所示的第二转换块38实现。同时能够考虑预先给定的共同的指数CE。图4的第二转换块38能够实现由带有符号的16位定点数字格式产生32位浮点值。
在此,在符号提取块41中提取输入值的符号位并且用作输出值的符号位。此外,在值提取块42中从输入值提取并且随后在标准化块43中通过向左的位移动运算进行移动,直到最高值的位相当于“1”,其中输入值的零值作为特殊情况处理,使得转换结果同样获得零。标准化块43将关于为此所需的位移动的数量的数据提供给指数加法单元44,该指数加法单元在共同指数的值上减去所述位移动的数量并且作为转换结果提供其作为32位浮点值的指数值。通过组合标准化块43中获得的尾数值、符号提取块41中提取的符号位以及指数加法单元44中获得的指数值来产生转换结果。该转换结果随后被提供给模型计算单元3作为处理数据V,该处理数据包含转换过的控制点数据。

Claims (9)

1.控制器(1)中用于计算基于数据的函数模型的模型计算单元(3),包括:
-计算核心(31),所述计算核心构造用于纯基于硬件计算用于基于数据的函数模型的算法,其中在提供计算数据的情况下计算所述基于数据的函数模型;以及
-纯基于硬件的转换单元(35),所述转换单元构造用于为所述计算核心(31)以预先给定的数字格式提供至少一部分所述计算数据,
其中所述转换单元(35)具有至少一个用于将数据的第一数字格式转换成所述预先给定的数字格式的转换块(37、38)以及乘法器(36),从而根据选择信号要么将所提供的与所述预先给定的数字格式不同的数字格式的计算数据要么将通过所述至少一个转换块之一转换成所述预先给定的数字格式的计算数据传递到所述计算核心(31)上,
其中第二转换块(38)构造用于将数据从定点数字格式转换成所述预先给定的数字格式,
其中所述第二转换块(38)构造用于在将数据从所述定点数字格式转换成所述预先给定的数字格式时考虑预先给定的指数值。
2.按权利要求1所述的模型计算单元(3),其中所述转换单元(35)构造用于根据选择信号将至少一部分所提供的与所述预先给定的数字格式不同的数字格式的计算数据转换成所述预先给定的数字格式。
3.按权利要求1所述的模型计算单元(3),其中所述预先给定的数字格式相当于32位浮点数字格式。
4.按权利要求1所述的模型计算单元(3),其中第一转换块(37)构造用于将数据从与所述预先给定的数字格式相比具有更少位数的浮点数字格式转换成所述预先给定的数字格式。
5.按权利要求1所述的模型计算单元(3),其中所述函数模型是高斯过程模型。
6.按权利要求1所述的模型计算单元(3),其中所述计算数据是超参数和控制点数据。
7.按权利要求6所述的模型计算单元(3),其中所述转换单元(35)构造用于为所述计算核心(31)以预先给定的数字格式提供所提供的控制点数据。
8.控制器(1),包括:
-用于由软件控制地执行功能的主计算单元(2);
-用于以数字格式存储计算数据的存储单元(4);以及
-按权利要求1到7中任一项所述的模型计算单元(3)。
9.按权利要求8所述的控制器(1),其中所述主计算单元(2)根据将计算数据保存在所述存储单元(4)中所用的数字格式将选择信号提供给所述模型计算单元(3),从而使得所述转换单元(35)根据所述选择信号将所述计算数据转换成所述预先给定的数字格式。
CN201410308194.1A 2013-07-02 2014-07-01 用于计算基于数据的函数模型的模型计算单元和控制器 Active CN104281433B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013212840.1A DE102013212840B4 (de) 2013-07-02 2013-07-02 Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten
DE102013212840.1 2013-07-02

Publications (2)

Publication Number Publication Date
CN104281433A CN104281433A (zh) 2015-01-14
CN104281433B true CN104281433B (zh) 2019-06-04

Family

ID=52106200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410308194.1A Active CN104281433B (zh) 2013-07-02 2014-07-01 用于计算基于数据的函数模型的模型计算单元和控制器

Country Status (5)

Country Link
US (1) US20150012574A1 (zh)
JP (1) JP6646350B2 (zh)
KR (1) KR102228995B1 (zh)
CN (1) CN104281433B (zh)
DE (1) DE102013212840B4 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE102013209657A1 (de) * 2013-05-24 2014-11-27 Robert Bosch Gmbh FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen
DE102016216945A1 (de) 2016-09-07 2018-03-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ausführen einer Funktion basierend auf einem Modellwert eines datenbasierten Funktionsmodells basierend auf einer Modellgültigkeitsangabe

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069233A (zh) * 2004-09-16 2007-11-07 法国电信公司 通过不同子带域之间通道进行数据处理的方法
CN102859158A (zh) * 2010-04-27 2013-01-02 罗伯特·博世有限公司 用于计算控制用的输出参量的控制设备和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6097435A (ja) 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
US5161117A (en) 1989-06-05 1992-11-03 Fairchild Weston Systems, Inc. Floating point conversion device and method
JP2969115B1 (ja) 1998-11-25 1999-11-02 株式会社日立製作所 半導体装置
WO2006053173A2 (en) 2004-11-10 2006-05-18 Nvidia Corporation Multipurpose multiply-add functional unit
DE212007000102U1 (de) 2007-09-11 2010-03-18 Core Logic, Inc. Rekonfigurierbarer Array-Prozessor für Gleitkomma-Operationen
KR100960797B1 (ko) * 2008-05-09 2010-06-01 연세대학교 산학협력단 입력 데이터의 형식에 기반하여 고정 소수점 연산 또는부동 소수점 연산을 수행하는 재구성 가능한 연산 유닛
EP2666067B1 (en) 2011-01-21 2020-05-13 NXP USA, Inc. Device and method for computing a function value of a function
JP2012208843A (ja) 2011-03-30 2012-10-25 Keihin Corp 開発支援装置
US9342786B2 (en) 2012-06-15 2016-05-17 California Institute Of Technology Method and system for parallel batch processing of data sets using Gaussian process with batch upper confidence bound

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069233A (zh) * 2004-09-16 2007-11-07 法国电信公司 通过不同子带域之间通道进行数据处理的方法
CN102859158A (zh) * 2010-04-27 2013-01-02 罗伯特·博世有限公司 用于计算控制用的输出参量的控制设备和方法

Also Published As

Publication number Publication date
JP2015015026A (ja) 2015-01-22
JP6646350B2 (ja) 2020-02-14
KR20150004275A (ko) 2015-01-12
CN104281433A (zh) 2015-01-14
US20150012574A1 (en) 2015-01-08
KR102228995B1 (ko) 2021-03-17
DE102013212840B4 (de) 2022-07-07
DE102013212840A1 (de) 2015-01-08

Similar Documents

Publication Publication Date Title
EP3428855A1 (en) Hyperbolic functions for machine learning acceleration
EP4080351A1 (en) Arithmetic logic unit, and floating-point number multiplication calculation method and device
CN104598432B (zh) 用于求解数学函数的计算机及方法
CN105468331B (zh) 独立的浮点转换单元
CN107305485B (zh) 一种用于执行多个浮点数相加的装置及方法
JP5731937B2 (ja) ベクトル浮動小数点引数削減
US10491239B1 (en) Large-scale computations using an adaptive numerical format
WO2002023326A1 (en) Handler for floating-point denormalized numbers
CN103959192A (zh) 用于估算超越函数的数学电路
CN105930128B (zh) 一种利用浮点数计算指令实现大整数乘法计算加速方法
KR101718817B1 (ko) 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법
US9983850B2 (en) Shared hardware integer/floating point divider and square root logic unit and associated methods
CN104281433B (zh) 用于计算基于数据的函数模型的模型计算单元和控制器
US7991811B2 (en) Method and system for optimizing floating point conversion between different bases
Hormigo et al. Measuring improvement when using HUB formats to implement floating-point systems under round-to-nearest
CN110888623A (zh) 数据转换方法、乘法器、加法器、终端设备及存储介质
US20220230057A1 (en) Hyperbolic functions for machine learning acceleration
CN113126954B (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
CN115827555B (zh) 数据处理方法、计算机设备、存储介质和乘法器结构
US9569175B2 (en) FMA unit, in particular for utilization in a model computation unit for purely hardware-based computing of function models
CN107015783B (zh) 一种浮点角度压缩实现方法及装置
CN111047007A (zh) 一种针对量化后的lstm的激活函数计算单元
US9280316B2 (en) Fast normalization in a mixed precision floating-point unit
CN110288087B (zh) 一种实现tanh函数计算的方法、电路、芯片及系统
CN113625989B (zh) 数据运算装置、方法、电子设备及存储介质

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