-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft Modellberechnungseinheiten für Steuergeräte, insbesondere hartverdrahtete Modellberechnungseinheiten als Hardwareeinheiten, in denen bzw. mit deren Hilfe datenbasierte Funktionsmodelle berechnet werden können, insbesondere zur Steuerung von Motorsystemen. Die vorliegende Erfindung betrifft weiterhin das Bereitstellen und die Verarbeitung von Konfigurationsdaten von datenbasierten Funktionsmodellen in solchen Modellberechnungseinheiten.
-
Stand der Technik
-
Aus dem Stand der Technik sind Steuergeräte mit einer Hauptrecheneinheit und einer separaten Modellberechnungseinheit zur Berechnung von datenbasierten Funktionsmodellen bekannt. So zeigt beispielsweise die Druckschrift
DE 10 2010 028 266 A1 ein Steuergerät mit einer zusätzlichen Logikschaltung als Modellberechnungseinheit. Die zusätzliche Logikschaltung ist hardwaremäßig für die Berechnung von Exponentialfunktionen und Summenfunktionen ausgebildet. Dies ermöglicht es, Bayes-Regressionsverfahren, die insbesondere für die Berechnung von Gauß-Prozessmodellen benötigt werden, in einer Hardwareeinheit zu unterstützen.
-
Die Modellberechnungseinheit ist ausgelegt, um mathematische Prozesse zur Berechnung des datenbasierten Funktionsmodells basierend auf Parametern/Hyperparametern und Stützstellen bzw. Trainingsdaten durchzuführen. Insbesondere ist die Modellberechnungseinheit hardwaremäßig zur effizienten Berechnung von Exponentialfunktionen ausgebildet, so dass ermöglicht wird, Gauß-Prozessmodelle mit einer höheren Rechengeschwindigkeit zu rechnen, als dies in der Hauptrecheneinheit durch geeignete Software möglich ist.
-
In der Regel werden Konfigurationsdaten, die Parameter und Stützstellen zur Berechnung des datenbasierten Funktionsmodells enthalten, zur Berechnung in der Modellberechnungseinheit bereitgestellt und die auf den Konfigurationsdaten basierenden Berechnungen durch die Hardware der Modellberechnungseinheit vorgenommen.
-
Die Stützstellendaten werden im Allgemeinen in Form von Fließkommadaten oder Festkommadaten vorgegeben. Bei einer Implementierung in Hardware müssen jedoch die Algorithmen, die auf Fließkommaarithmetik basieren, von den Algorithmen, die auf Festkommaarithmetik basieren, getrennt realisiert werden.
-
Die Druckschrift
US 4,675,809 beschreibt die Verwendung von verschiedenen Fließkommadatentypen in einem System durch den Einsatz einer Konvertierungseinheit.
-
Die Druckschrift
US 5,161,117 beschreibt ein Verfahren zur Nutzung von verschiedenen Fließkommawerten mit verschiedenen Basen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß sind die Hardware-Modellberechnungseinheit gemäß Anspruch 1 sowie das Steuergerät mit einer Modellberechnungseinheit gemäß dem nebengeordneten Anspruch 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, insbesondere eines Gaußprozessmodells, in einem Steuergerät vorgesehen, umfassend:
- – einen Rechenkern, der ausgebildet ist, um eine rein hardwarebasierte Berechnung eines Algorithmus für ein datenbasiertes Funktionsmodell durchzuführen, wobei das datenbasierte Funktionsmodell unter Bereitstellung von Berechnungsdaten, insbesondere Hyperparametern und Stützstellendaten, berechnet wird; und
- – eine rein hardwarebasierte Konvertierungseinheit, die ausgebildet ist, um dem Rechenkern zumindest ein Teil der bereitgestellten Berechnungsdaten, insbesondere die Stützstellendaten, in einem vorgegebenen Zahlenformat bereitzustellen.
-
Die eingangs beschriebenen Steuergeräte weisen neben einer softwaregesteuerten Hauptrecheneinheit eine in Hardware implementierte Modellberechnungseinheit auf, die neben einer Exponentialfunktionsberechnungseinheit auch Hardware-Logik zur Berechnung von Summen in mindestens einer Schleife aufweist. Die Berechnung greift auf vorgegebene Berechnungsdaten, für Gaußprozessmodelle insbesondere auf Parameter und Stützstellendaten, zurück, die in einem für die Modellberechnungseinheit zugänglichen Speicherbereich abgelegt sind.
-
Beim Design der Modellberechnungseinheit werden die Hardware-Bausteine in der Regel so ausgelegt, dass Berechnungen mit den Werten der maximal vorkommenden Bit-Auflösung berechnet werden können. Dies entspricht bei herkömmlichen Steuergeräten z. B. einer 32-Bit-Auflösung im Fließkommazahlenformat.
-
Die Berechnungsdaten werden im Allgemeinen in Form von Fließkommadaten oder Festkommadaten vorgegeben. Bei einer Implementierung in Hardware müssen jedoch die Algorithmen, die auf Fließkommaarithmetik basieren, von den Algorithmen, die auf Festkommaarithmetik basieren, getrennt realisiert werden. Um den Flächenbedarf für eine integrierte Aufbauweise der Hardware der Modellberechnungseinheit zu beschränken, wird jedoch nur die Verarbeitung der Berechnungsdaten in einem Zahlenformat vorgesehen. Sind die Berechnungsdaten ganz oder teilweise in einem anderen Zahlenformat vorhanden, so muss eine Vorverarbeitung für die betreffenden Berechnungsdaten vorgesehen werden, um diese in das gewünschte Zahlenformat, d. h. entweder in ein Festkomma- oder ein Fließkommazahlenformat, zu bringen.
-
Während es zur Berechnung von datenbasierten Funktionsmodellen ausreicht, dass die Berechnungsdaten beispielsweise mit einer Genauigkeit von 8 Bit oder 16 Bit als Festkomma- oder Fließkommawerte zur Verfügung gestellt werden, finden in der Hauptrecheneinheit Fließkommaberechnungen in der Regel mit 32 Bit breiten Fließkommawerten statt.
-
Um den Speicherbedarf für die Bereitstellung von Berechnungsdaten zu minimieren und dennoch eine Modellberechnungseinheit mit einer Berechnungsmöglichkeit für Berechnungsdaten mit hoher Genauigkeit vorzusehen, kann daher eine Modellberechnungseinheit vorgesehen sein, die als Eingangsstufe eine Konvertierungseinheit aufweist. Durch die Konvertierungseinheit ist es möglich, der Modellberechnungseinheit für die Berechnung andere Zahlenformate von Berechnungsdaten, wie beispielsweise Werte im 16-Bit-Fließkommazahlenformat oder Werte im 16-Bit-Festkommazahlenformat, direkt bereitzustellen und diese dort zu verwenden, ohne eine separate Hardware in der Modellberechnungseinheit vorzusehen.
-
Weiterhin ermöglicht die Konvertierungseinheit, dass eine Konvertierung der für die Berechnung benötigten Daten nicht in der Hauptrecheneinheit durchgeführt werden muss, deren Leistungsfähigkeit in Steuergeräten üblicherweise begrenzt ist. Auch können Sensordaten, die üblicherweise als Festkommawerte bereitgestellt werden, mithilfe eines bereitgestellten gemeinsamen Exponentenparameters in der Konvertierungseinheit on-the-fly, d. h. ohne Zutun der Hauptrecheneinheit, in geeigneter Weise umgewandelt werden.
-
Weiterhin kann die Konvertierungseinheit ausgebildet sein, um abhängig von einem Auswahlsignal eine Umwandlung von bereitgestellten Berechnungsdaten eines Zahlenformats, das von dem vorgegebenen Zahlenformat abweicht, in das vorgegebene Zahlenformat durchzuführen.
-
Gemäß einer Ausführungsform kann die Konvertierungseinheit mindestens einen Konvertierungsblock zum Umwandeln von Daten eines ersten Zahlenformats in Daten des vorgegebenen Zahlenformats sowie einen Multiplexer aufweisen, um abhängig von dem Auswahlsignal entweder die bereitgestellten Berechnungsdaten oder die durch einen der mindestens einen Konvertierungsblöcke in das vorgegebene Zahlenformat konvertierten Berechnungsdaten an den Rechenkern weiterzuleiten.
-
Es kann vorgesehen sein, dass das vorgegebene Zahlenformat einem 32-Bit-Fließkommazahlenformat entspricht.
-
Insbesondere kann ein erster Konvertierungsblock ausgebildet sein, um Daten von einem Fließkommazahlenformat, das eine geringere Bitanzahl als das vorgegebene Zahlenformat aufweist, in das vorgegebene Zahlenformat umzuwandeln.
-
Ein zweiter Konvertierungsblock kann ausgebildet sein, um Daten von einem Festkommazahlenformat in das vorgegebene Zahlenformat umzuwandeln.
-
Weiterhin kann der zweite Konvertierungsblock ausgebildet sein, um beim Umwandeln von Daten von dem Festkommazahlenformat in das vorgegebene Zahlenformat einen vorgegebenen Exponentenwert zu berücksichtigen.
-
Gemäß einem weiteren Aspekt ist ein Steuergerät vorgesehen, insbesondere in integrierter Aufbauweise z.B. in Form eines Chips. Das Steuergerät umfasst:
- – eine Hauptrecheneinheit zum softwaregesteuerten Ausführen von Funktionen;
- – eine Speichereinheit zum Speichern von Berechnungsdaten in mindestens einem Zahlenformat; und
- – die obige Modellberechnungseinheit.
-
Weiterhin kann die Hauptrecheneinheit abhängig von dem Zahlenformat, in dem Berechnungsdaten in der Speichereinheit gespeichert sind, ein Auswahlsignal an die Modellberechnungseinheit bereitstellen, so dass die Konvertierungseinheit abhängig von dem Auswahlsignal eine Umwandlung der Berechnungsdaten in das vorgegebene Zahlenformat durchführt.
-
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 eines Steuergeräts mit einer Hauptrecheneinheit und einer Modellberechnungseinheit;
-
2 eine schematische Darstellung der Modellberechnungseinheit der 1 mit einer Konvertierungseinheit;
-
3 eine detailliertere Darstellung der Konvertierungseinheit der 2; und
-
4 eine Darstellung einer Konvertierung von einem 16-Bit-Festkommawert mit einem gemeinsamen Exponenten in einen Wert im Fließkommazahlenformat.
-
Beschreibung von Ausführungsformen
-
1 zeigt eine schematische Darstellung einer Hardwarearchitektur für ein integriertes Steuergerät 1, in dem eine Hauptrecheneinheit 2, beispielsweise in Form eines Mikrocontrollers, sowie eine Modellberechnungseinheit 3 zur hardwarebasierten Berechnung eines insbesondere datenbasierten Funktionsmodells in integrierter Weise (z. B. monolithisch) vorgesehen sind. Die Hauptrecheneinheit 2 und die Modellberechnungseinheit 3 stehen über einen Systembus 6 miteinander in Kommunikationsverbindung. Die Modellberechnungseinheit 3 ist ausschließlich als Hardware ausgebildet (hartverdrahtet) und kann daher keinen Softwarecode ausführen. Aus diesem Grunde ist in der Modellberechnungseinheit 3 auch kein Prozessor oder dergleichen vorgesehen. Dies ermöglicht eine ressourcenoptimierte Realisierung einer derartigen Modellberechnungseinheit 3.
-
Weiterhin weist das Steuergerät 1 eine interne Speichereinheit 4 und eine DMA-Einheit 5 (DMA = Direct Memory Access) auf, die mit der Hauptrecheneinheit 2 und der Modellberechnungseinheit 3 über eine interne Kommunikationsverbindung 6 in Verbindung stehen, wie beispielsweise über einen internen Datenbus.
-
In 2 ist die Modellberechnungseinheit 3 detaillierter dargestellt. Man erkennt, dass zur Berechnung eines datenbasierten Funktionsmodells ein Rechenkern 31 mit einer Exponentialeinheit 32, einer Additions- und Multiplikationseinheit 33, die unter Umständen in einer gemeinsamen FMA-Einheit (FMA = Fused Multiply Add) kombiniert vorgesehen werden können, sowie einer Logikeinheit 34 zum Bereitstellen eines festgelegten Rechnungsablaufs unter Nutzung der vorstehend genannten Einheiten 32, 33 vorgesehen ist.
-
Im Allgemeinen sind zwei IEEE-754 Fließkommastandards als Datenformat bekannt. Die Fließkommastandards entsprechen bei einfacher Genauigkeit einer 32 Bit-Auflösung, d. h. ein Vorzeichenbit, 8 Exponentenbits und 23 Mantissenbits, und bei halber Genauigkeit einer 16-Bit-Auflösung, d. h. ein Vorzeichenbit, 5 Exponentenbits und 10 Mantissenbits. Weiterhin werden bei einem 16-Bit-Festkommazahlenformat 16-Bitwerte zur Repräsentation eines Datenwerts verwendet, ohne einen Exponenten vorzusehen. Zusätzlich zu dem 16-Bit-Festkommazahlenformat kann auch ein gemeinsamer Exponent für eine Reihe von Datenwerten vorgesehen sein, so dass den Daten eine gemeinsame Größenordnung zugeordnet wird.
-
Um der Modellberechnungseinheit 3 die Verwendung von Datenwerten mit verschiedenen Datenformaten zu ermöglichen, ist eine Konvertierungseinheit 35 in der Modellberechnungseinheit 3 vorgesehen, wie sie in Verbindung mit der 3 ausführlicher dargestellt ist. Die Konvertierungseinheit 35 konvertiert Berechnungsdaten, d.h. z.B. die Stützstellendaten, in ein vorgegebenes Zahlenformat, wie beispielsweise in ein 32-Bit Fließkommazahlenformat, und stellt diese der Hardware, die den Berechnungsalgorithmus abbildet, in der Modellberechnungseinheit 3 als Verarbeitungsdaten V zur Verfügung. Auch können die Datenelemente der Berechnungsdaten in verschiedenen Zahlenformaten vorliegen, so dass die Berechnungsdaten dem Zahlenformat der Datenelemente entsprechend konvertiert werden.
-
Die Konvertierungseinheit 35 umfasst einen Multiplexer 36 zum Bereitstellen von konvertierten Verarbeitungsdaten V für die Berechnung des datenbasierten Funktionsmodells in der Modellberechnungseinheit 3. Im vorliegenden Fall können die Stützstellendaten der Modellberechnungseinheit 3 als Daten D32F in Form eines 32-Bit-Fließkommazahlenformats (Fließkommazahlenformat mit einfacher Genauigkeit), Daten D16F in Form eines 16-Bit-Fließkommazahlenformats (Fließkommazahlenformat mit halber Genauigkeit) oder Daten D16 in Form eines 16-Bit-Festkommazahlenformats in Verbindung mit einem vorgegebenen gemeinsamen Exponenten CE bereitgestellt werden.
-
Die Daten D16F im 16-Bit-Fließkommazahlenformat und die Daten D16 im 16-Bit-Festkommazahlenformat werden in entsprechenden ersten und zweiten Konvertierungsblöcken 37, 38 in an sich bekannter Weise in ein 32-Bit-Fließkommazahlenformat umgewandelt und gemeinsam mit den Daten D32F im 32-Bit-Fließkommazahlenformat, die nicht konvertiert werden müssen, dem Multiplexer 36 zugeführt. In dem Multiplexer 36 wird mithilfe eines Auswahlsignals S, das z. B. von der Hauptrecheneinheit 2 bereitgestellt werden kann, entsprechend eines der Datenformate D16F, D32F, D16 ausgewählt.
-
Bei der Konvertierung vom 16-Bit-Fließkommazahlenformat in das 32-Bit-Fließkommazahlenformat im ersten Konvertierungsblock 37 handelt es sich um eine einfache Bitoperation. Die 5 Bits für den Exponenten, die als vorzeichenbehaftete ±15 (Excess –15) interpretiert werden, und das 32-Bit-Fließkommazahlenformat, das 8 Bit für den Exponenten verwendet, die als vorzeichenbehaftete ±127 (Excess –127) interpretiert werden, führen zu einer Exponentenkonvertierung durch eine Addition von 112 (d. h. 127 – 15), die typischerweise in integrierter Aufbauweise flächengünstig als Multiplexer mit zwei Eingängen realisiert werden kann, der durch das höchste Exponentenbit gesteuert wird, wobei ein Nullwert, eine Angabe für +∞ oder –∞, und NaN (Not-a-Number, keine Zahl) werden als Sonderfälle behandelt, so dass das Konvertierungsergebnis den gleichen Wert ergibt. Die Erweiterung der Mantissenwerte von 10 Bit auf 23 Bit verwendet eine einfache Einfügung von Nullen als niederwertigste Bits, was beispielsweise durch eine Linksverschiebungsoperation um 13 Stellen oder eine Konkatenation mit 10 Mantissenbits und 13 Nullbits erreicht werden kann.
-
Die Umwandlung von einem 16-Bit-Festkommazahlenformat in ein 32-Bit-Fließkommazahlenformat kann beispielsweise mithilfe des zweiten Konvertierungsblocks 38, der in der 4 dargestellt ist, realisiert werden. Gleichzeitig kann der vorgegebene gemeinsame Exponent CE berücksichtigt werden. Der zweite Konvertierungsblock 38 der 4 ermöglicht es, aus einem vorzeichenbehafteten 16-Bit-Festkommazahlenformat einen 32-Bit-Fließkommawert zu generieren.
-
Dabei wird in einem Vorzeichenextraktionsblock 41 das Vorzeichenbit des Eingangswerts extrahiert und als das Vorzeichenbit für den Ausgangswert verwendet. Weiterhin wird in einem Wertextraktionsblock 42 aus dem Eingangswert extrahiert und anschließend in einem Normalisierungsblock 43 durch eine Bitverschiebungsoperation nach links verschoben, bis das höchstwertige Bit einer „1“ entspricht, wobei ein Nullwert des Eingangswertes als Sonderfall behandelt wird, so dass das Konvertierungsergebnis ebenfalls Null ergibt. Der Normalisierungsblock 43 liefert eine Angabe zu einer Anzahl der dafür notwendigen Bitverschiebungen an eine Exponentenaddiereinheit 44, die die Anzahl der Bitverschiebungen auf den Wert des gemeinsamen Exponenten subtrahiert und diesen als Exponentenwert des 32-Bit-Fließkommawerts als Konvertierungsergebnis bereitstellt. Das Konvertierungsergebnis wird durch Kombinieren des in dem Normalisierungsblock 43 erhaltenen Mantissenwerts, des in dem Vorzeichenextraktionsblock 41 extrahierten Vorzeichenbits und des in der Exponentenaddiereinheit 44 erhaltenen Exponentenwerts erzeugt. Das Konvertierungsergebnis wird dann der Modellberechnungseinheit 3 als Verarbeitungsdaten V, die die konvertierten Stützstellendaten enthalten, bereitgestellt.
-
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]
- US 4675809 [0006]
- US 5161117 [0007]
-
Zitierte Nicht-Patentliteratur
-