DE102013213414A1 - Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells - Google Patents

Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells Download PDF

Info

Publication number
DE102013213414A1
DE102013213414A1 DE201310213414 DE102013213414A DE102013213414A1 DE 102013213414 A1 DE102013213414 A1 DE 102013213414A1 DE 201310213414 DE201310213414 DE 201310213414 DE 102013213414 A DE102013213414 A DE 102013213414A DE 102013213414 A1 DE102013213414 A1 DE 102013213414A1
Authority
DE
Germany
Prior art keywords
model
calculation
loop
calculation unit
unit
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.)
Withdrawn
Application number
DE201310213414
Other languages
English (en)
Inventor
Axel Aue
Michael Saetzler
Nico Bannow
Matthias Schreiber
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
Priority to DE201310213414 priority Critical patent/DE102013213414A1/de
Priority to CN201410321571.5A priority patent/CN104281559A/zh
Publication of DE102013213414A1 publication Critical patent/DE102013213414A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)

Abstract

Die Erfindung betrifft eine Modellberechnungseinheit (3) zur Berechnung eines datenbasierten Funktionsmodells in einem integrierten Steuerbaustein (1), umfassend: – einen Rechenkern (31), der ausgebildet ist, um eine rein hardwarebasierte Berechnung eines Algorithmus durchzuführen, wobei der Algorithmus mindestens eine Schleifenberechnung durchführt; und – eine Abbrucheinheit (32), die ausgebildet ist, um eine Abbruchbedingung abzufragen, um abhängig von dem Vorliegen einer Abbruchbedingung die Schleifenberechnung abzubrechen, und um ein Zwischenergebnis der Schleifenberechnung und den dazugehörigen Zählerwert der Schleifenberechnung für eine Wiederaufnahme der Berechnung bereitzustellen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft Berechnungen von datenbasierten Funktionsmodellen in integrierten Steuerbausteinen mit Modellberechnungseinheiten, die zur rein hardwarebasierten Berechnung von Funktionsmodellen ausgebildet sind.
  • Stand der Technik
  • Aus dem Stand der Technik sind Steuergeräte mit integrierten Steuerbausteinen mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Funktionsmodellen bekannt. So zeigt beispielsweise die Druckschrift DE 10 2010 028 266 A1 einen Steuerbaustein mit einer zusätzlichen Logikschaltung als Modellberechnungseinheit, die zur rein hardwarebasierten Berechnung von Exponentialfunktionen und Additions- und Multiplikationsoperationen ausgebildet ist. Dies ermöglicht es, die Berechnung von Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozessmodellen benötigt werden, in einer Hardware-Einheit zu unterstützen.
  • Die Modellberechnungseinheit ist insgesamt zur Durchführung mathematischer Prozesse zur Berechnung des datenbasierten Funktionsmodells basierend auf Parametern und Stützstellen bzw. Trainingsdaten ausgelegt. Insbesondere sind die Funktionen der Modellberechnungseinheit zur effizienten Berechnung von Exponentialfunktionen und Summenfunktionen rein in Hardware realisiert, so dass es ermöglicht wird, Gauß-Prozessmodelle mit einer höheren Rechengeschwindigkeit zu rechnen als dies in der softwaregesteuerten Hauptrecheneinheit erfolgen kann.
  • In der Regel werden Konfigurationsdaten, die Parameter (Hyperparameter) und Stützstellendaten zur Berechnung des datenbasierten Funktionsmodells bzw. einen Adresszeiger auf den Adressbereich, in dem die Stützstellendaten gespeichert sind, enthalten, vor der Berechnung der Modellberechnungseinheit bereitgestellt und anschließend die auf den Konfigurationsdaten basierenden Berechnungen des Funktionsmodells durch die Hardware der Modellberechnungseinheit vorgenommen.
  • Offenbarung der Erfindung
  • Erfindungsgemäß sind die Modellberechnungseinheit zur Berechnung eines datenbasierten Funktionsmodells in einem integrierten Steuerbaustein gemäß Anspruch 1 sowie der integrierte Steuerbaustein und das Verfahren gemäß den nebengeordneten Ansprüchen vorgesehen.
  • Weitere vorteilhafte Ausgestaltungen der vorliegenden Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Gemäß einem ersten Aspekt ist eine Modellberechnungseinheit zur Berechnung eines datenbasierten Funktionsmodells in einem integrierten Steuerbaustein vorgesehen, umfassend:
    • – einen Rechenkern, der ausgebildet ist, um eine rein hardwarebasierte Berechnung eines Algorithmus durchzuführen, wobei der Algorithmus mindestens eine Schleifenberechnung durchführt; und
    • – eine Abbrucheinheit, die ausgebildet ist, um eine Abbruchbedingung abzufragen, um abhängig von dem Vorliegen einer Abbruchbedingung die Schleifenberechnung abzubrechen, und um ein Zwischenergebnis der Schleifenberechnung und den dazugehörigen Zählerwert der Schleifenberechnung für eine Wiederaufnahme der Berechnung bereitzustellen.
  • Die Verwendung einer herkömmlichen hardwaremäßig implementierten Modellberechnungseinheit ermöglicht in der Regel nicht, eine Berechnung eines datenbasierten Funktionsmodells mit einer niedrigeren Priorität zu unterbrechen, wenn in der Modellberechnungseinheit eine derartige Berechnung eines datenbasierten Funktionsmodells mit einer höheren Priorität gefordert ist.
  • Eine Idee des obigen Verfahrens besteht darin, eine Unterbrechbarkeit einer Berechnung eines datenbasierten Funktionsmodells in einer in Hardware implementierten Modellberechnungseinheit vorzusehen. Eine Unterbrechbarkeit von Berechnungen könnte beispielsweise erforderlich sein, wenn eine Berechnung eines datenbasierten Funktionsmodells mit niedrigerer Priorität durch eine Berechnung eines datenbasierten Funktionsmodells mit höherer Priorität ersetzt oder unterbrochen werden muss. Ein solcher Fall kann beispielsweise auftreten, wenn eine zeitscheibenbasierte Berechnung mit einem ausreichend langen Zeitraster von einer weiteren schaltzeitenbasierten Berechnung mit einem kürzeren Zeitraster unterbrochen wird.
  • Des Weiteren kann der Fall auftreten, dass der Speicherplatz des internen Speichers beschränkt ist und dieser nicht die gesamten Stützstellen für das datenbasierte Funktionsmodell speichern kann. In diesem Fall kann eine Berechnungspause durch eine Unterbrechung der Berechnung dazu verwendet werden, weitere Stützstellen nachzuladen und die nicht mehr benötigten Stützstellendaten zu überschreiben.
  • Wie oben angeführt, sehen bisherige in Hardware implementierte Modellberechnungseinheiten eine Unterbrechung einer Berechnung in der Regel nicht vor. Um zu vermeiden, dass die Modellberechnungseinheit durch eine bereits gestartete Berechnung eines datenbasierten Funktionsmodells für eine zu lange Zeitdauer blockiert ist, kann eine Zerlegung des datenbasierten Funktionsmodells in kleinere Teilmodelle vorgenommen werden, deren Teilergebnisse anschließend beispielsweise durch eine Addition zusammengeführt werden. Dadurch wird jedoch die Berechnungsdauer verlängert, da insbesondere ein zusätzlicher Bearbeitungsaufwand für jede Unterbrechung und jeden erneuten Start der einzelnen Berechnungen in der softwaregesteuerten Recheneinheit erforderlich ist.
  • Das obige Verfahren bietet den Vorteil, dass die Modellberechnungseinheit während einer laufenden Berechnung zu festgelegten Zeitpunkten bzw. jederzeit durch eine entsprechende Instruktion der Hauptrecheneinheit gestoppt werden kann. Dadurch ist es möglich, die Rechenkapazität der Modellberechnungseinheit für die Berechnung eines weiteren datenbasierten Funktionsmodells mit höherer Priorität freizugeben, ohne dass auf die Beendigung des zuvor berechneten datenbasierten Funktionsmodells mit niedrigerer Priorität gewartet werden muss. Grundsätzlich kann die Unterbrechung erfolgen, indem während der Berechnung eines datenbasierten Funktionsmodells zu bestimmten Zeitpunkten die Möglichkeit eines Anhaltens der Berechnung bereitgestellt wird
  • Weiterhin kann die Modellberechnungseinheit ausgebildet sein, um das Zwischenergebnis und den Zählerwert abrufbar zu speichern oder für eine Wiederaufnahme der Berechnung abzulegen. Auf diese Weise können für eine Fortsetzung der Berechnung erforderliche Informationen sowie das erreichte Teilergebnis der bis dahin durchgeführten Berechnung zwischengespeichert werden, um die abgebrochene Berechnung zu einem späteren Zeitpunkt erneut fortsetzen zu können.
  • Es kann vorgesehen sein, dass der Algorithmus eine innere und eine äußere Schleifenberechnung aufweist, in denen jeweils Summen aus Zwischenergebnissen der Schleifenberechnungen gebildet werden, wobei die Abbrucheinheit ausgebildet ist, um nach der Ausführung einer vorgebbaren Anzahl von Schleifenberechnungen der äußeren Schleife eine Abbruchbedingung abzufragen.
  • Gemäß einer Ausführungsform kann ein beschreibbares Konfigurationsregister vorgesehen sein, wobei zum Feststellen eines Vorliegens einer Abbruchbedingung ein Beschreiben oder ein Inhalt des Konfigurationsregisters abfragbar ist.
  • Insbesondere kann ein Signaleingang vorgesehen sein, wobei als Abbruchbedingung ein Abbruchsignal an dem Signaleingang abfragbar ist.
  • Es kann vorgesehen sein, dass die Modellberechnungseinheit ausgebildet ist, um eine Wiederaufnahme einer zuvor abgebrochenen Berechnung durch Setzen des Zwischenergebnisses der Schleifenberechnung und den Schleifenzählerwert der Schleifenberechnung durchzuführen.
  • Die Modellberechnungseinheit kann ausgebildet sein, um eine Bayes-Regression zu berechnen.
  • Gemäß einem weiteren Aspekt ist ein Steuerbaustein, insbesondere für ein Motorsystem mit einem Verbrennungsmotor, vorgesehen, umfassend eine softwaregesteuerte Hauptrecheneinheit und die obige Modellberechnungseinheit.
  • Weiterhin kann die Hauptrecheneinheit ein Konfigurationsregister der Modellberechnungseinheit beschreiben, um eine Abbruchbedingung vorzugeben.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Berechnung eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozessmodells, in der obigen Modellberechnungseinheit vorgesehen, wobei das Funktionsmodell durch einen rein in Hardware implementierten Algorithmus berechnet wird, wobei der Algorithmus ausgebildet ist, um mindestens eine Schleifenberechnung durchzuführen, wobei abhängig von dem Vorliegen einer Abbruchbedingung die Schleifenberechnung abgebrochen wird, wobei ein Zwischenergebnis der Schleifenberechnung und ein Zählerwert der Schleifenberechnung gespeichert und der Modellberechnungseinheit für eine erneute Berechnung bereitgestellt werden.
  • Kurzbeschreibung der Zeichnungen
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung einer Hardwarearchitektur für einen integrierten Steuerbaustein; und
  • 2 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Unterbrechen einer Berechnung in einer Modellberechnungseinheit.
  • Beschreibung von Ausführungsformen
  • 1 zeigt eine schematische Darstellung einer Hardwarearchitektur für einen integrierten Steuerbaustein 1 z.B. in Form eines Mikrocontrollers, in dem in integrierter Weise eine Hauptrecheneinheit 2 und eine Modellberechnungseinheit 3 zur rein hardwarebasierten Berechnung eines datenbasierten Funktionsmodells vorgesehen sind. Die Hauptrecheneinheit 2 und die Modellberechnungseinheit 3 stehen über eine interne Kommunikationsverbindung 4, wie z. B. einen Systembus, miteinander in Kommunikationsverbindung.
  • Grundsätzlich ist die Modellberechnungseinheit 3 im Wesentlichen hartverdrahtet und dem entsprechend nicht dazu ausgebildet, einen Softwarecode wie bei der Hauptrecheneinheit 2 auszuführen. Alternativ ist eine Lösung möglich, in der die Modellberechnungseinheit 3 zur Berechnung des datenbasierten Funktionsmodells einen eingeschränkten, hoch spezialisierten Befehlssatz zur Verfügung stellt. In der Modellberechnungseinheit 3 ist kein Prozessor vorgesehen. Dies ermöglicht eine ressourcenoptimierte Realisierung einer solchen Modellberechnungseinheit 3 bzw. einen flächenoptimierten Aufbau in integrierter Bauweise.
  • Die Modellberechnungseinheit 3 weist einen Rechenkern 31 auf, der eine Berechnung eines vorgegebenen Algorithmus rein in Hardware implementiert. Der Rechenkern 31 steht mit einer Abbrucheinheit 32 in Verbindung, die einen Abbruch der Berechnung des Algorithmus signalisiert, wenn eine Abbruchbedingung vorliegt. Die Modellberechnungseinheit 3 kann des Weiteren einen lokalen SRAM 33 für die Speicherung der Konfigurationsdaten umfassen. Die Modellberechnungseinheit 3 kann ebenfalls eine lokale DMA-Einheit 34 (DMA = Direct Memory Access) umfassen. Mittels der DMA-Einheit 34 ist es möglich, auf die integrierten Ressourcen des Steuerbausteins 1, insbesondere auf den internen Speicher 5, zuzugreifen.
  • Der Steuerbaustein 1 kann einen internen Speicher 5 und eine weitere DMA-Einheit 6 (DMA = Direct Memory Access) umfassen. Der interne Speicher 5 und die DMA-Einheit 6 stehen in geeigneter Weise, z.B. über die interne Kommunikationsverbindung 4, miteinander in Verbindung. Der interne Speicher 5 kann einen gemeinsamen SRAM-Speicher (gemeinsam für die Hauptrecheneinheit 2, Modellberechnungseinheit 3 und ggf. weitere Einheiten) und einen Flash-Speicher für die Konfigurationsdaten (Parameter und Stützstellendaten)umfassen.
  • Die Verwendung von nicht parametrischen, datenbasierten Funktionsmodellen basiert auf einem Bayes-Regressionsverfahren. Die Grundlagen der Bayes-Regression sind beispielsweise in C. E. Rasmussen et al., „Gaussian Processes for Machine Learning", MIT Press 2006, beschrieben. Bei der Bayes-Regression handelt es sich um ein datenbasiertes Verfahren, das auf einem Modell basiert. Zur Erstellung des Modells sind Messpunkte von Trainingsdaten sowie zugehörige Ausgangsdaten einer Ausgangsgröße erforderlich. Die Erstellung des Modells erfolgt anhand der Verwendung von Stützstellendaten, die den Trainingsdaten ganz oder teilweise entsprechen oder aus diesen generiert werden. Weiterhin werden abstrakte Hyperparameter bestimmt, die den Raum der Modellfunktionen parametrisieren und effektiv den Einfluss der einzelnen Messpunkte der Trainingsdaten auf die spätere Modellvorhersage gewichten.
  • Die abstrakten Hyperparameter werden durch ein Optimierungsverfahren bestimmt. Eine Möglichkeit für ein solches Optimierungsverfahren besteht in einer Optimierung einer Marginal Likelihood p(Y|H, X). Die Marginal Likelihood p(Y|H, X) beschreibt die Plausibilität der gemessenen y-Werte der Trainingsdaten, dargestellt als Vektor Y, gegeben die Modellparameter H und die x-Werte der Trainingsdaten. Im Modelltraining wird p(Y|H, X) maximiert, indem geeignete Hyperparameter gesucht werden, die zu einem Verlauf der durch die Hyperparameter und den Trainingsdaten bestimmten Modellfunktion führen und die Trainingsdaten möglichst genau abbilden. Zur Vereinfachung der Berechnung wird der Logarithmus von p(Y|H, X) maximiert, da der Logarithmus die Stetigkeit der Plausibilitätsfunktion nicht verändert.
  • Die Berechnung des Gauß-Prozessmodells erfolgt entsprechend den Schritten, die in 2 schematisch dargestellt sind. Die Eingangswerte u ~d für einen Testpunkt u (Eingangsgrößenvektor) werden zunächst normiert, und zwar entsprechend der folgenden Formel:
    Figure DE102013213414A1_0002
  • Dabei entsprechen mx der Mittelwertfunktion bezüglich eines Mittelwerts der Eingangswerte der Stützstellendaten, sy der Varianz der Eingangswerte der Stützstellendaten und d dem Index für die Dimension D des Testpunkts u.
  • Als Ergebnis der Erstellung des nicht parametrischen, datenbasierten Funktionsmodells erhält man:
    Figure DE102013213414A1_0003
  • Der so ermittelte Modellwert v wird mithilfe einer Ausgangsnormierung normiert, und zwar gemäß der Formel: v ~ = vsy + my
  • Dabei entsprechen v einem normierten Modellwert (Ausgangswert) an einem normierten Testpunkt u (Eingangsgrößenvektor der Dimension D), v ~ einem (nicht normierten) Modellwert (Ausgangswert) an einem (nicht normierten) Testpunkt u ~ (Eingangsgrößenvektor der Dimension D), xi einer Stützstelle der Stützstellendaten, N der Anzahl der Stützstellen der Stützstellendaten, D der Dimension des Eingangsdaten-/Trainingsdaten-/ Stützstellendatenraums, sowie ld und σf den Hyperparametern aus dem Modelltraining. Der Vektor Qy ist eine aus den Hyperparametern und den Trainingsdaten berechnete Größe. Weiterhin entsprechen my der Mittelwertfunktion bezüglich eines Mittelwerts der Ausgangswerte der Stützstellendaten und sy der Varianz der Ausgangswerte der Stützstellendaten.
  • Die Eingangs- und Ausgangsnormierung wird durchgeführt, da die Berechnung des Gauß-Prozessmodells typischerweise in einem normierten Raum stattfindet.
  • Zum Start einer Berechnung kann insbesondere die Recheneinheit 2 die DMA-Einheit 34 oder die weitere DMA-Einheit 6 anweisen, die das zu berechnende Funktionsmodell betreffenden Konfigurationsdaten in die Modellberechnungseinheit 3 zu übertragen und die Berechnung zu starten, die mithilfe der Konfigurationsdaten durchgeführt wird. Die Konfigurationsdaten umfassen die Hyperparameter eines Gauß-Prozessmodells sowie Stützstellendaten, die vorzugsweise mithilfe eines Adresszeigers auf den der Modellberechnungseinheit 3 zugewiesenen Adressbereich des internen Speichers 5 angegeben werden. Insbesondere kann auch der SRAM-Speicher 33 für die Modellberechnungseinheit 3, der insbesondere in oder an der Modellberechnungseinheit 3 angeordnet sein kann, hierfür verwendet werden. Auch können der interne Speicher 5 und der SRAM-Speicher 33 kombiniert verwendet werden.
  • Die Berechnung in der Modellberechnungseinheit 3 erfolgt in einer durch den nachfolgenden Pseudo-Code realisierten Hardware-Architektur der Modellberechnungseinheit 3, die der obigen Berechnungsvorschrift entspricht. Aus dem Pseudo-Code ist zu erkennen, dass Berechnungen in einer inneren Schleife und einer äußeren Schleife erfolgen und deren Teilergebnisse akkumuliert werden. Zu Beginn einer Modellberechnung ist ein typischer Wert für eine Zählerstartgröße N start 0.
    Figure DE102013213414A1_0004
  • Es ist nun vorgesehen, dass die obige Berechnung unterbrechbar ist. Die Unterbrechung kann erfolgen, indem die Berechnung nach einer bestimmten Anzahl von Schleifendurchläufen abgebrochen wird, d.h. nach Erreichen eines vorgegebenen Werts des Schleifenzählers j. Dieser Abbruch kann wahlweise durch die Vorgabe eines zusätzlichen, bedingten, Abbruch-Flags erfolgen. Alternativ kann die Berechnung auch durch Vorgabe eines expliziten Abbruch-Flags erfolgen. Nach dem Abbrechen der Berechnung werden das akkumulierte Zwischenergebnis ebenso wie der dazugehörige Schleifenzähler j zwischengespeichert, so dass eine Fortsetzung der Berechnung durch Vorgabe der zwischengespeicherten Werte zu einem späteren Zeitpunkt möglich ist.
  • In Verbindung mit dem Flussdiagramm der 2 wird ein Verfahren zum Unterbrechen einer Berechnung in der Modellberechnungseinheit 3 näher erläutert. Dazu wird in Schritt S1 die Berechnung eines datenbasierten Funktionsmodells gestartet.
  • Die Modellberechnungseinheit 3 ist ausgebildet, um nach einer bestimmten Anzahl von Iterationen, d. h. der Schleifenzähler j der äußeren Schleife erreicht einen bestimmten vorgegebenen Schleifenzählerwert, der geringer ist, als die Gesamtzahl der bereitgestellten Stützstellen, die Berechnung zu unterbrechen. Eine solche Abfrage erfolgt in einem Schritt S2, z. B. in Zeile 014 des obigen Pseudocodes. Wird in dem Schritt S2 festgestellt, dass der vorgegebene Schleifenzählerwert nicht erreicht ist (Alternative: Nein), so wird die Berechnung mit einem Rücksprung zu Schritt S2 bzw. die Ausführung des Pseudocodes mit Zeile 005 fortgesetzt.
  • Wird in dem Schritt S2 festgestellt, dass der vorgegebene Schleifenzählerwert erreicht ist (Alternative: Ja), so wird mit Fortsetzung in Schritt S3 abgefragt, ob die Berechnung abgebrochen werden soll. Das Abbrechen der Berechnung kann beispielsweise dadurch erfolgen, dass die Hauptrecheneinheit 2 ein bestimmtes Abbruch-Flag in ein Konfigurationsregister der Modellberechnungseinheit setzt. Das Setzen des Abbruch-Flags hat dann zur Folge, dass in Schritt S3 die Alternative „Ja“ gewählt wird und die Modellberechnungseinheit 3 die Berechnung der äußeren Schleife mit einem inkrementierten Schleifenzählerwert j nicht ausführt. Umgekehrt wird die Berechnung des nächsten Teils des datenbasierten Funktionsmodells (mit dem Schleifenzählerwert j+1) dadurch getriggert, dass das Abbruch-Flag nicht gesetzt ist. Alternativ kann ein Abbruch-Eingangssignal für die Modellberechnungseinheit 3 zum Signalisieren eines Abbruchwunsches angelegt werden. Obwohl das hier dargestellte Verfahren die Schritte S2 und S3 beinhaltet, ist es auch möglich, nur einen der beiden Schritte in einem Verfahren zu verwenden, so dass ein Abbruch der Berechnung entweder durch Erreichen des vorgegebenen Schleifenzählerwert oder basierend auf dem Setzen des Abbruch-Flags erfolgt. Es ist auch möglich, mehrere Abbruch-Flags einzusetzen, die mit dem Schleifenzähler, mit dem Eingangssignal und ggf. auch untereinander jeweils durch logische UND- oder ODER-Verbindungen so verknüpft sind, dass bedingte oder unbedingte Abbrüche in verschiedenen Kombinationsmöglichkeiten einstellbar sind.
  • Wird in Schritt S3 festgestellt, dass die Berechnung abgebrochen werden soll (Alternative: Ja) so wird das Verfahren mit Schritt S4 fortgesetzt, andernfalls (Alternative: Nein) wird zu Schritt S2 zurückgesprungen.
  • In Schritt S4 werden das bislang erreichte Teilergebnis y sowie der Zählerwert j der äußeren Schleife zwischengespeichert. Die Modellberechnungseinheit befindet sich dann im Idle-Modus und steht für eine Berechnung eines weiteren datenbasierten Funktionsmodells zur Verfügung. Insbesondere wird der Hauptrecheneinheit 2 bzw. der DMA-Einheit 6 die Möglichkeit gegeben, eine neue Berechnung zu starten, insbesondere durch Vorgabe des Zählerwerts j und eines Initialwerts für das akkumulierte Berechnungsergebnis y. Die neue Berechnung startet dann wieder mit Schritt S1.
  • Auch kann eine zuvor abgebrochene Berechnung wieder fortgesetzt werden. Soll nach einer Unterbrechung der Berechnung in der Modellberechnungseinheit 3 die Berechnung des datenbasierten Funktionsmodells fortgesetzt werden, so können die entsprechenden Zählerwerte mit dem zwischengespeicherten Schleifenzählerwert j durch eine entsprechende Vorgabe der Zählerstartgröße NStart initialisiert (in Zeile 004 des obigen Pseudocodes) werden und das zwischengespeicherte Teilergebnis y kann als Offset für die Ermittlung des Funktionswerts des datenbasierten Funktionsmodells vorgegeben. Typischerweise sind bei der Fortsetzung einer zuvor abgebrochenen Berechnung sowohl die Zählerstartgröße NStart als auch y ungleich 0, da bereits eine bestimmte Anzahl von Schleifen durchlaufen und eine entsprechende Zwischensumme gebildet wurden.
  • In einer alternativen Ausführungsform kann eine Abfrage des Schleifenzählerwertes l der inneren Schleife auch innerhalb der inneren Schleife durchgeführt werden, wobei bei einem Abbruch auch der Schleifenzählerwert l der inneren Schleife und des Zwischenergebnisses t zwischengespeichert werden muss, um eine Wiederaufnahme der Berechnung zu ermöglichen. Da ein Bereitstellen einer Wiederaufnahmemöglichkeit der Berechnung der inneren Schleife eine schlechtere Leistungsfähigkeit der gesamten Berechnung bewirken kann, kann vorgesehen sein, einen Abbruch durch Setzen eines entsprechenden Abbruch-Flags oder Anlegen eines Abbruch-Signals durchzuführen, so dass die innere Schleife nicht zu Ende gerechnet wird. Das vorliegende Zwischenergebnis wird dann in der Summation der Zeile 010 des Pseudocodes nicht berücksichtigt. Der Schleifenzählerwert j der äußeren Schleife wird nicht inkrementiert. Dadurch kann eine schnelle Beendigung der Berechnung in der Hardwareberechnungseinheit erreicht werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102010028266 A1 [0002]
  • Zitierte Nicht-Patentliteratur
    • C. E. Rasmussen et al., „Gaussian Processes for Machine Learning“, MIT Press 2006 [0029]

Claims (10)

  1. Modellberechnungseinheit (3) zur Berechnung eines datenbasierten Funktionsmodells in einem integrierten Steuerbaustein (1), umfassend: – einen Rechenkern (31), der ausgebildet ist, um eine rein hardwarebasierte Berechnung eines Algorithmus durchzuführen, wobei der Algorithmus mindestens eine Schleifenberechnung durchführt; und – eine Abbrucheinheit (32), die ausgebildet ist, um eine Abbruchbedingung abzufragen, um abhängig von dem Vorliegen einer Abbruchbedingung die Schleifenberechnung in dem Rechenkern (31) abzubrechen, und um ein Zwischenergebnis der Schleifenberechnung und den dazugehörigen Zählerwert der Schleifenberechnung für eine Wiederaufnahme der Berechnung bereitzustellen.
  2. Modellberechnungseinheit (3) nach Anspruch 1, wobei die Modellberechnungseinheit (3) ausgebildet ist, um das Zwischenergebnis und den Schleifenzählerwert abrufbar zu speichern.
  3. Modellberechnungseinheit (3) nach Anspruch 1 oder 2, wobei der Algorithmus eine innere und eine äußere Schleifenberechnung aufweist, in denen jeweils Summen aus Zwischenergebnissen der Schleifenberechnungen gebildet werden, wobei die Abbrucheinheit (32) ausgebildet ist, um nach der Ausführung einer vorgebbaren Anzahl von Schleifenberechnungen der äußeren Schleife die Berechnung zu unterbrechen.
  4. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 3, wobei ein Konfigurationsregister vorgesehen ist, wobei zum Feststellen eines Vorliegens einer Abbruchbedingung ein Beschreiben oder ein Inhalt eines Konfigurationsregisters abfragbar ist.
  5. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 4, wobei ein Eingang vorgesehen ist, wobei als Abbruchbedingung ein Abbruchsignal an dem Eingang abfragbar ist.
  6. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 5, wobei die Modellberechnungseinheit (3) ausgebildet ist, um eine Wiederaufnahme einer zuvor abgebrochenen Berechnung durch Setzen des Zwischenergebnisses der Schleifenberechnung und den Schleifenzählerwert der Schleifenberechnung durchzuführen.
  7. Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 6, wobei die Modellberechnungseinheit (3) ausgebildet ist, um eine Bayes-Regression zu berechnen.
  8. Steuerbaustein (1), insbesondere für ein Steuergerät eines Motorsystems mit einem Verbrennungsmotor, umfassend: – eine softwaregesteuerte Hauptrecheneinheit (2); und – eine Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 7.
  9. Steuerbaustein (1) nach Anspruch 8, wobei die Hauptrecheneinheit (2) ein oder mehrere Konfigurationsregister der Modellberechnungseinheit (3) beschreibt, um eine Abbruchbedingung vorzugeben.
  10. Verfahren zur Berechnung eines datenbasierten Funktionsmodells, insbesondere eines Gauß-Prozessmodells, in einer Modellberechnungseinheit (3) nach einem der Ansprüche 1 bis 7, wobei das Funktionsmodell durch einen in Hardware implementierten Algorithmus berechnet wird, wobei der Algorithmus mindestens eine Schleifenberechnung durchführt, wobei abhängig von dem Vorliegen einer Abbruchbedingung die Schleifenberechnung abgebrochen wird, wobei ein Zwischenergebnis der Schleifenberechnung und ein Zählerwert der Schleifenberechnung gespeichert und der Modellberechnungseinheit (3) für eine erneute Berechnung bereitgestellt werden.
DE201310213414 2013-07-09 2013-07-09 Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells Withdrawn DE102013213414A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201310213414 DE102013213414A1 (de) 2013-07-09 2013-07-09 Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells
CN201410321571.5A CN104281559A (zh) 2013-07-09 2014-07-08 用于执行基于数据的函数模型的模型计算的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310213414 DE102013213414A1 (de) 2013-07-09 2013-07-09 Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells

Publications (1)

Publication Number Publication Date
DE102013213414A1 true DE102013213414A1 (de) 2015-01-15

Family

ID=52107247

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310213414 Withdrawn DE102013213414A1 (de) 2013-07-09 2013-07-09 Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells

Country Status (2)

Country Link
CN (1) CN104281559A (de)
DE (1) DE102013213414A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016216950A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028266A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1527396A4 (de) * 2002-05-28 2008-03-12 Droplet Technology Inc Systeme und verfahren für parallelprozessoren mit pile-verarbeitung
CN102043761B (zh) * 2011-01-04 2012-06-13 东南大学 一种基于可重构技术的傅立叶变换的实现方法
CN102360344B (zh) * 2011-10-10 2014-03-12 西安交通大学 矩阵处理器及其指令集和嵌入式系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010028266A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. E. Rasmussen et al., "Gaussian Processes for Machine Learning", MIT Press 2006

Also Published As

Publication number Publication date
CN104281559A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
EP2564049B1 (de) STEUERGERÄT UND VERFAHREN ZUR BERECHNUNG EINER AUSGANGSGRÖßE FÜR EINE STEUERUNG
DE102010028259A1 (de) Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug
DE102013213420A1 (de) Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE202017105528U1 (de) Ausführen von Mittelwert-Poolbildung in Hardware
DE102013220432A1 (de) Modellberechnungseinheit für einen integrierten Steuerbaustein zur Berechnung von LOLIMOT
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE102014002510A1 (de) Präzise Ausnahmesignalisierung für Mehrfachdatenarchitektur
DE102014225039A1 (de) Verfahren und Vorrichtung zum Bereitstellen von spärlichen Gauß-Prozess-Modellen zur Berechnung in einem Motorsteuergerät
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE102013206292A1 (de) Verfahren und Vorrichtung zum Erstellen eines datenbasierten Funktionsmodells
DE102013227183A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines spärlichen Gauß-Prozess-Modells zur Berechnung in einem Motorsteuergerät
EP3542317B1 (de) Modellberechnungseinheit und steuergerät zur wahlweisen berechnung eines rbf-modells, eines gauss-prozess-modells und eines mlp-modells
DE102019112301A1 (de) Befehls-Cache in einem Multithread-Prozessor
DE102013206304A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
DE102013213414A1 (de) Verfahren und Vorrichtung zur Durchführung einer Modellberechnungeines datenbasierten Funktionsmodells
DE102016216950A1 (de) Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE102015208513A1 (de) Verfahren und Vorrichtung zum Berechnen eines datenbasierten Multi-Output-Funktionsmodells
DE102013224694A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells
DE112017008061T5 (de) Simulationsvorrichtung, simulationsverfahren und simulationsprogramm
DE112012006651T5 (de) Verarbeitung von Datenströmen mit offenen Executors
DE102013220425A1 (de) Verfahren und Vorrichtung zum Betreiben eines integrierten Steuerbausteinszur Berechnung von datenbasierten Funktionsmodellen
EP0721618B1 (de) Verfahren zur beschleunigten regelauswertung in einem fuzzy-inference-prozessor und vorrichtung zu dessen durchführung
DE102016206490A1 (de) Elektronische steuereinheit
DE102019214436A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines künstlichen neuronalen Netzes

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination