DE102017128650A1 - Verfahren zum datenaustausch zwischen einem primären kern und einem sekundären kern in einem echtzeit-betriebssystem - Google Patents

Verfahren zum datenaustausch zwischen einem primären kern und einem sekundären kern in einem echtzeit-betriebssystem Download PDF

Info

Publication number
DE102017128650A1
DE102017128650A1 DE102017128650.0A DE102017128650A DE102017128650A1 DE 102017128650 A1 DE102017128650 A1 DE 102017128650A1 DE 102017128650 A DE102017128650 A DE 102017128650A DE 102017128650 A1 DE102017128650 A1 DE 102017128650A1
Authority
DE
Germany
Prior art keywords
flag
primary
data
core
freeze
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
DE102017128650.0A
Other languages
English (en)
Inventor
Young Joo Lee
Daniel J. Berry
Brian A. Welchko
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102017128650A1 publication Critical patent/DE102017128650A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K6/00Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00
    • B60K6/20Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs
    • B60K6/22Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs characterised by apparatus, components or means specially adapted for HEVs
    • B60K6/26Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs characterised by apparatus, components or means specially adapted for HEVs characterised by the motors or the generators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/08Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of electric propulsion units, e.g. motors or generators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein Verfahren zum Austausch von Daten in einem Echtzeit-Betriebssystem zwischen einem primären Kern und einem sekundären Kern in einem Mehrkernprozessor beinhaltet das Ausführen eines primären Pfades über den primären Kern und das Ausführen eines sekundären Pfades über den sekundären Kern. Der primäre Pfad ist so konfiguriert, um eine relativ schnellere Verarbeitungsaufgabe zu sein und der sekundäre Pfad so dazu konfiguriert ist, eine relativ langsamere Verarbeitungsaufgabe zu sein. Das Verfahren beinhaltet das Entwickeln eines Freeze-Verfahren-Flags, um einen entsprechenden Flag-Status einzustellen und durch den primären Pfad zu löschen. Das Verfahren beinhaltet das Entwickeln eines Dateneinfrierungs-Flags, um einen entsprechenden Flag-Status eingestellt zu haben und durch jeweils den primären und sekundären Pfad zu löschen. Eine Komponente, die operativ mit dem Mehrkernprozessor verbunden ist, kann mindestens teilweise anhand einer Differenz zwischen primären und sekundären Sätzen von Berechnungen gesteuert werden, die durch den primären und den sekundären Kern ausgeführt werden.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung betrifft ein Verfahren zum Austausch von Daten in einem Echtzeit-Betriebssystem zwischen einem primären Kern und einen sekundären Kern in einem Mehrkernprozessor. Ein System kann mehrere Kerne oder Prozessoren einsetzen, um entsprechende voneinander abhängige Pfade bei verschiedenen Verarbeitungsgeschwindigkeiten auszuführen. Das System kann einen Austausch oder eine Übertragung von Daten zwischen den entsprechenden Pfaden erfordern.
  • ZUSAMMENFASSUNG
  • Ein Verfahren zum Austausch von Daten in einem Echtzeit-Betriebssystem zwischen einem primären Kern und einem sekundären Kern in einem Mehrkernprozessor beinhaltet das Ausführen eines primären Pfades über den primären Kern und das Ausführen eines sekundären Pfades über den sekundären Kern. Der primäre Pfad ist so konfiguriert, um eine relativ schnellere Verarbeitungsaufgabe zu sein und der sekundäre Pfad so konfiguriert ist, um eine relativ langsamere Verarbeitungsaufgabe zu sein. Verfahren beinhaltet das Entwickeln eines Freeze-Verfahren-Flags, um einen entsprechenden Flag-Status einzustellen und durch den primären Pfad zu löschen. Das Verfahren beinhaltet das Entwickeln eines Dateneinfrierungs-Flags, um einen entsprechenden Flag-Status eingestellt zu haben und durch jeweils den primären und sekundären Pfad zu löschen. Eine Komponente, die operativ mit dem Mehrkernprozessor verbunden ist, kann mindestens teilweise anhand einer Differenz zwischen primären und sekundären Sätzen von Berechnungen gesteuert werden, die durch den primären und den sekundären Kern ausgeführt werden.
  • Das Verfahren ermöglicht die Vermeidung von falschen Fehlern aufgrund überlappender Aufgaben im System zwischen dem primären Pfad (schnellere Verarbeitungsaufgabe) und dem sekundären Pfad (langsamere Verarbeitungsaufgabe), wobei die langsamere Verarbeitungsaufgabe das Kopieren oder Einfrieren von Eingangsdaten aus der schnelleren Verarbeitungsaufgabe erfordert. Der sekundäre Pfad beinhaltet das Ermitteln, ob die Differenz zwischen einem primären Satz von Berechnungen, die durch den primären Kern und den sekundären Satz von Berechnungen ausgeführt werden, bei oder unter einem Schwellenwert liegen. Die Komponente kann eingestellt werden, wenn die Differenz bei oder unter dem Schwellenwert liegt. Die Komponente kann beinhalten, ist aber nicht beschränkt auf einen Verbrennungsmotor oder ein elektrisches Hybrid-Antriebssystem.
  • Der primäre Pfad beinhaltet das Ermitteln, ob Eingangsdaten anhand mindestens teilweise des jeweiligen Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten. Der primäre Pfad beinhaltet das Ausführen eines primären Satzes von Berechnungen auf die Eingangsdaten über den primären Pfad, um Ausgangsdaten zu ermitteln. Der sekundäre Pfad beinhaltet das Ausführen eines sekundären Satzes von Berechnungen auf die Eingangsdaten anhand mindestens teilweise dem entsprechenden Status des Dateneinfrierungs-Flags über den sekundären Pfad. Der sekundäre Pfad erfordert eine Übertragung der Eingangsdaten vom primären Kern zum sekundären Kern, um den sekundären Satz von Berechnungen auszuführen.
  • Das Verfahren beinhaltet das Verhindern, dass die Eingangsdaten im sekundären Satz von Berechnungen über das Freeze-Verfahren-Flag und das Dateneinfrierungs-Flag verwendet werden, ob der sekundäre Pfad während einer Zeitdauer zwischen dem Ermitteln, ob die Eingangsdaten eingefroren werden sollen und dem Ermitteln des primären Satzes von Berechnungen ausgeführt wird.
  • Das Ermitteln, ob die Eingangsdaten mindestens teilweise anhand des entsprechenden Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollen, wenn der entsprechende Status sowohl des Dateneinfrierungs-Flags als auch des Freeze-Verfahren-Flags falsch ist, das Einfrieren der Eingangsdaten und das Einstellen des entsprechenden Status des Freeze-Verfahren-Flags als wahr beinhaltet. Die eingefrorenen Eingangsdaten können vom primären Kern zum sekundären Kern übertragen werden. Wenn der entsprechende Status des Dateneinfrierungs-Flags wahr ist und der Freeze-Verfahren-Flag wahr ist, dann stellt der primäre Pfad den entsprechenden Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags als falsch neu ein.
  • Der primäre Pfad beinhaltet das Ermitteln, ob die Ausgangsdaten für einen Vergleich mit dem sekundären Satz von Berechnungen über den primären Pfad gültig sind, anhand zumindest teilweise dem entsprechenden Flag-Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags. Das Ermitteln, ob die Ausgangsdaten gültig für den Vergleich gültig sind beinhaltet, wenn der entsprechende Status des Dateneinfrierungs-Flags falsch ist und der Freeze-Verfahren-Flag wahr ist, dann das Einfrieren der Ausgangsdaten und das Einstellen des entsprechenden Status des Dateneinfrierungs-Flags als wahr und des Freeze-Verfahren-Flags als falsch. Die eingefrorenen Ausgangsdaten können vom primären Kern zum sekundären Kern übertragen werden. Wenn der entsprechende Status jeweils des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flag wahr ist, dann stellt der primäre Pfad den entsprechenden Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags als falsch neu ein.
  • Das Ausführen des sekundären Satzes von Berechnungen an den Eingangsdaten, anhand mindestens teilweise auf dem entsprechenden Status des Dateneinfrierungs-Flags, beinhaltet, wenn der entsprechende Status des Dateneinfrierungs-Flags wahr ist, das Ausführen des sekundären Satzes von Berechnungen an den eingefrorenen Eingabedaten über den sekundären Kern. Danach kann das Dateneinfrierungs-Flag als falsch eingestellt werden.
  • Ein Verfahren zum Überwachen des Drehmoments in einem Traktionssystem mit einem Mehrkernprozessor und einer Komponente, wobei der Mehrkernprozessor einen primären und einen sekundären Kern aufweist, beinhaltet das Ausführen eines primären Pfades über den primären Kern und das Ausführen eines sekundären Pfades über den sekundären Kern. Der primäre Pfad beinhaltet einen primären Satz von Berechnungen zum Ermitteln eines ursprünglichen Satzes von Drehmomentwerten. Der sekundäre Pfad beinhaltet einen sekundären Satz von Berechnungen zum Ermitteln eines redundanten Satzes von Drehmomentwerten. Eine Komponente, wie etwa ein Verbrennungsmotor oder ein elektrisches Antriebssystem, ist operativ mit dem Mehrkernprozessor verbunden. Die Komponente kann eingestellt werden, wenn eine Differenz zwischen dem primären Satz von Berechnungen und dem sekundären Satz von Berechnungen bei oder unter einem Schwellenwert liegt.
  • Die vorstehend genannten Funktionen und Vorteile sowie andere Funktionen und Vorteile der vorliegenden Offenbarung gehen aus der folgenden ausführlichen Beschreibung der bestmöglichen praktischen Umsetzung der dargestellten Offenbarung in Verbindung mit den zugehörigen Zeichnungen hervor.
  • Figurenliste
    • 1 ist ein schematisches Diagramm eines Echtzeit-Betriebssystems mit einem Mehrkernprozessor mit einem primären Kern und einem sekundären Kern;
    • 2 ist ein schematisches Flussdiagramm für ein Verfahren zum Austausch von Daten zwischen dem primären Kern und dem sekundären Kern;
    • 3 ist ein schematisches Flussdiagramm eines sekundären Pfades, der durch einen sekundären Kern ausführbar ist; und
    • 4 ist ein schematisches Flussdiagramm eines primären Pfades, der durch einen primären Kern ausführbar ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bezugnehmend auf die Zeichnungen, worin sich die gleichen Referenznummern auf die gleichen Komponenten beziehen, veranschaulicht 1 schematisch ein Echtzeit-Betriebssystem 10, das Teil einer Vorrichtung 12 sein kann. Die Vorrichtung 12 kann eine mobile Plattform sein, wie beispielsweise, jedoch nicht beschränkt auf Standard-Pkw, Sportfahrzeug, Leichtlastfahrzeug, Schwerlastfahrzeug, ATV, Minivan, Bus, Transitfahrzeug, Fahrrad, Roboter, landwirtschaftliches Fahrzeug, sportbezogene Ausrüstung, Boot, Flugzeug, Zug oder jede andere Transportvorrichtung, sein. Die Vorrichtung 12 kann verschiedene Formen annehmen und mehrere und/oder alternative Komponenten und Einrichtungen beinhalten.
  • Unter Bezugnahme auf 1, beinhaltet das System 10 eine Steuerung C, die operativ mit einer Komponente 14, wie etwa beispielsweise einem Verbrennungsmotor, verbunden ist. Die Steuerung C beinhaltet einen Mehrkernprozessor 16 mit mindestens zwei Ausführungseinheiten, wie etwa einem primären Kern 20 und einem sekundären Kern 22. Der primäre Kern 20 und der sekundäre Kern 22 können nebeneinander auf einer einzelnen integrierten Schaltung positioniert werden. Es versteht sich, dass andere Anordnungen eingesetzt werden können.
  • Im System 10 können mehrere verschiedene Verarbeitungsaufgaben fast synchron ausgeführt werden. Wie hierin verwendet, ist eine „Aufgabe“ eine periodisch ausgeführte Computercode-Routine, die dazu dient, eine oder mehrere Rechenfunktionen auszuführen. Jede Aufgabe kann mehrere Berechnungen beinhalten, die an Daten ausgeführt werden können, die dem Mehrkernprozessor 16 bereitgestellt werden.
  • Unter Bezugnahme auf 1, beinhaltet die Steuerung C mindestens einen Speicher 18 (oder ein nicht-flüchtiges, konkretes computerlesbares Speichermedium), auf dem Anweisungen zum Ausführen eines Verfahrens 50 zum Austausch von Daten zwischen dem primären Kern 20 und dem sekundären Kern 22 aufgezeichnet sind. Der Speicher 18 kann von der Steuerung ausführbare Befehlssätze speichern und der Prozessor 16 kann den auf dem Speicher 18 gespeicherten und von der Steuerung ausführbaren Befehlssatz ausführen. Die Steuerung C von 1 ist speziell programmiert, um das Verfahren 50 auszuführen. Die Steuerung C (und die Ausführung des Verfahrens 50) verbessert den Betrieb der Vorrichtung 12.
  • Unter Bezugnahme auf 2 wird ein Flussdiagramm des Verfahrens 50 dargestellt, das in der in 1 dargestellten Steuerung C gespeichert und ausgeführt werden kann. Das Verfahren 50 muss nicht in der bestimmten, hierin genannten Reihenfolge angewendet werden. Ferner versteht sich, dass einige Blöcke entfernt werden können. Verfahren 50 beinhaltet die Blöcke 52, 54 und 56.
  • In Block 52 beinhaltet das Verfahren 50 das Ausführen eines primären Pfades 100 (nachstehend im Detail mit Bezug auf 4 erörtert) über den primären Kern 20 und das Ausführen eines sekundären Pfades 200 (nachstehend im Detail mit Bezug auf 3 erörtert) über den sekundären Kern 22. Der primäre Pfad 100 ist so konfiguriert, um eine relativ schnellere Verarbeitungsaufgabe zu sein und der sekundäre Pfad 200 so konfiguriert ist, um eine relativ langsamere Verarbeitungsaufgabe zu sein. Verfahren 50 kann zur Vermeidung von Fehlern während einer Überlappung des Ausführens des primären Pfades 100 und des sekundären Pfades 200 verwendet werden.
  • Die Komponente 14 kann beinhalten, ist aber nicht beschränkt auf einen Verbrennungsmotor oder ein elektrisches Hybrid-Antriebssystem. In einer Ausführungsform beinhaltet der primäre Pfad 100 primäre Drehmomentberechnungen (d. h. zum Ermitteln eines ursprünglichen Satzes von Drehmomentwerten) bei einer relativ schnelleren Rate und der sekundäre Pfad 200 beinhaltet das Überwachen von Drehmomentberechnungen (d. h. zum Ermitteln von einem redundanten Satz von Drehmomentwerten) bei einer relativ langsameren Rate. Der sekundäre Kern 22 erfordert Eingangsdaten, die über den primären Kern 20 kopiert oder eingefroren werden, um eine Überwachung oder redundante Drehmomentberechnungen durchzuführen. Die Eingangsdaten können über verschiedene Sensoren 24 ermittelt werden, die operativ mit der Komponente 14 verbunden sind. Die Sensoren 14 können beispielsweise ein Motordrehzahlsensor beinhalten. Die redundanten Drehmomentberechnungen gewährleisten die Betriebssicherheit der Vorrichtung 12.
  • Der primäre und der sekundäre Pfad 100, 200 auf dem primären Kern 20 und dem sekundären Kern 22 erfordern jeweils eine exklusive Ausführung, um eine Überlappung zu verhindern. Die überlappten Ausführungen oder überlappten Aufgaben können das teilweise Überspringen von primären Dateneinfrierungsaufgaben erzeugen und zu Fehlermeldungen bei der Drehmomentüberwachung führen. Wenn beispielsweise der sekundäre Pfad 200 des sekundären Kerns 22 läuft, während die Funktionen des primären Kerns 20 gerade abgeschlossen werden, wird der primäre Kern 20 keine Eingangsdaten einfrieren oder kopieren. Der sekundäre Pfad 200 wird jedoch fortfahren, die redundanten Drehmomentberechnungen unter Verwendung von „alten“ eingefrorenen Daten zu berechnen. Dies verursacht ein Datenkohärenzproblem. Wie nachstehend beschrieben, kann das teilweise Überspringen des Einfrierens von Daten wiederhergestellt werden, selbst wenn der primäre Pfad 100 und der sekundäre Pfad 200 bei der Ausführung weiterhin überlappen, indem zwei unterschiedliche Flags verwendet werden.
  • Unter Bezugnahme auf Block 54 von 2, beinhaltet das Verfahren 50 das Entwickeln eines Freeze-Verfahren-Flags, damit ein entsprechender Status durch den primären Pfad 100 gesetzt und gelöscht wird, und das Entwickeln eines Dateneinfrierungs-Flags, damit ein entsprechender Status sowohl durch den primären Pfad 100 als auch den sekundären Pfad 200 gesetzt und gelöscht wird. Das Dateneinfrierungs-Flag, das wahr ist, repräsentiert ein grünes Licht für den sekundären Kern 22, um den sekundären Satz von Berechnungen auszuführen. Der sekundäre Satz von Berechnungen ist eine redundante Berechnung auf den Eingangsdaten. Mit anderen Worten dupliziert der sekundäre Kern 22 (in Block 220 von 3) die Berechnungen des primären Kerns 20 (in Block 120 von 4). Umgekehrt zeigt das Dateneinfrierungs-Flag, das falsch ist, an, dass der sekundäre Kern 22 bei der Ausführung des sekundären Satzes von Berechnungen ausfallen muss.
  • Das Freeze-Verfahren-Flag, das wahr ist, zeigt an, dass der primäre Pfad 100 gegenwärtig damit beschäftigt ist, die Eingangsdaten einzufrieren. Umgekehrt zeigt das Freeze-Verfahren-Flag, das falsch ist, an, dass der primäre Pfad 100 gegenwärtig nicht damit beschäftigt ist, die Eingangsdaten einzufrieren. Das Freeze-Verfahren-Flag wird eingestellt und gelöscht, um sicherzustellen, dass, wenn der sekundäre Pfad 200 während der Zeitspanne zwischen den Blöcken 110 und 120 des primären Pfades 100 ausgeführt wird, dieser Eingangsdatensatz nicht in dem sekundären Satz von Berechnungen (Block 220) verwendet wird und Daten im nächsten Zyklus oder der nächsten Wiederholung des primären Pfades 100 gesammelt werden. Dementsprechend behält das Freeze-Verfahren-Flag die Datenkohärenz bei.
  • In Block 56 von 2, beinhaltet das Verfahren 50 das Steuern oder Einstellen der Komponente 14, wenn eine Differenz zwischen einem primären Satz von Berechnungen (ermittelt durch den primären Pfad 100) und dem sekundären Satz von Berechnungen (ermittelt durch den sekundären Pfad 200) bei oder unter einem Schwellenwert liegt.
  • 3 und 4 können das vorliegende Verfahren 50 verkörpern, das verwendet wird, um Fehler während einer Überlappung der Ausführung des primären Pfads 100 und des sekundären Pfads 200 zu vermeiden. Unter Bezugnahme auf 4, wird nun ein exemplarisches Flussdiagramm eines primären Pfades 100 dargestellt. In Block 110 von 4, bestimmt der primäre Pfad 100, ob Eingangsdaten anhand mindestens teilweise des jeweiligen Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten. In Block 120 von 4, beinhaltet der primäre Pfad 100 das Ausführen eines primären Satzes von Berechnungen auf die Eingangsdaten über den primären Pfad, um Ausgangsdaten zu ermitteln. In Block 130 von 4, beinhaltet primäre Pfad 100 das Ermitteln, ob die Ausgangsdaten für einen Vergleich mit dem sekundären Satz von Berechnungen über den primären Pfad gültig sind, anhand zumindest teilweise dem entsprechenden Flag-Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags.
  • Wie in 4 dargestellt, kann das Ermitteln, ob die Eingangsdaten in Block 110 eingefroren sein sollten, die Unterblöcke 112, 114, 116 und 118 beinhalten. Der Unterblock 112 beinhaltet das Ermitteln, ob der entsprechende Status sowohl des Dateneinfrierungs-Flags als auch des Freeze-Verfahren-Flags falsch ist. Wenn ja, geht der primäre Pfad 100 zum Unterblock 114 über, wo die Eingangsdaten eingefroren werden und das Freeze-Verfahren-Flag als wahr eingestellt wird. Wenn nicht, geht der primäre Pfad 100 zum Unterblock 116 über, um zu ermitteln, ob das Freeze-Verfahren-Flag wahr ist. Wenn das Freeze-Verfahren-Flag wahr ist, geht der primäre Pfad 100 vom Unterblock 116 zum Unterblock 118 über, wo der entsprechende Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags als falsch eingestellt wird. In Block 115 ist die Steuerung C so konfiguriert, um die eingefrorenen Eingangsdaten vom primären Kern 20 zum sekundären Kern 22 zu übertragen oder zu kopieren.
  • Wie in 4 dargestellt, kann Block 130 (das Ermitteln, ob die Ausgangsdaten für einen Vergleich mit dem sekundären Satz von Berechnungen gültig sind) die Unterblöcke 132, 134, 136 und 138 beinhalten. Im Unterblock 132 bestimmt der primäre Pfad 100, ob das Dateneinfrierungs-Flag falsch ist und das Freeze-Verfahren-Flag wahr ist. Wenn ja, geht der primäre Pfad 100 zu Unterblock 134 über. Wenn nicht, geht der primäre Pfad 100 zu Unterblock 136 über. Im Unterblock 134 werden die Ausgangsdaten eingefroren, der entsprechende Status des Dateneinfrierungs-Flags wird als wahr eingestellt und das Freeze-Verfahren-Flag wird als falsch eingestellt. Im Unterblock 136 bestimmt der primäre Pfad 100, ob sowohl das Freeze-Verfahren-Flag als auch das Dateneinfrierungs-Flag wahr sind. Wenn ja, geht der primäre Pfad 100 zu Unterblock 138 über, wo der entsprechende Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags als falsch eingestellt wird. Wenn nicht, wird der primäre Pfad 100 beendet. In Block 135 ist die Steuerung C so konfiguriert, um die eingefrorenen Ausgangsdaten vom primären Kern 20 zum sekundären Kern 22 zu übertragen oder zu kopieren.
  • Unter Bezugnahme auf 3, wird nun ein exemplarisches Flussdiagramm eines sekundären Pfades 200 dargestellt. In Block 210 von 3, beinhaltet der sekundäre Pfad 200 das Ermitteln, ob der entsprechende Status des Dateneinfrierungs-Flags wahr ist. Wenn das Dateneinfrierungs-Flag in Block 210 wahr ist, geht der sekundäre Pfad 200 zu Block 220 über, wo der sekundäre Kern 22 den sekundären Satz von Berechnungen an den Eingangsdaten ausführt, das heißt, alle Berechnungen wiederholt, die durch den primären Kern 20 unter Verwendung der eingefrorenen Eingangsdaten, die in Block 115 von 3-4 übertragen werden, ausgeführt werden. Der sekundäre Pfad 200 erfordert die Übertragung der Eingangsdaten (oder das Umkopieren) vom primären Kern 20 zum sekundären Kern 22, um den sekundären Satz von Berechnungen auszuführen (siehe Block 115 von 3-4).
  • In Block 230 von 3, beinhaltet der sekundäre Pfad 200 das Vergleichen des primären Satzes von Berechnungen (von Block 120 von 4) und des sekundären Satzes von Berechnungen (von Block 220 von 3). Wenn die Differenz zwischen dem primären Satz von Berechnungen (d. h. den Ausgangsdaten) und dem sekundären Satz von Berechnungen bei oder unter einem Schwellenwert liegt, kann die Komponente 14 eingestellt oder anderweitig gesteuert werden (siehe Block 56). Wenn die Komponente 14 ein Motor ist, kann die Einstellung das Umschalten in einen anderen vordefinierten Betriebsmodus, das Anzeigen einer „Motor prüfen“-Benachrichtigung auf einer Benutzerschnittstelle oder eine andere von Fachleuten verwendete Einstellung beinhalten. In Block 240 von 3, beinhaltet der sekundäre Pfad 200 das Einstellen des entsprechenden Status des Dateneinfrierungs-Flags als falsch.
  • Zusammenfassend ermöglicht das Verfahren 50 die Vermeidung von falschen Fehlern aufgrund überlappender Aufgaben im System 10 zwischen dem primären Pfad 100 (schnellere Verarbeitungsaufgabe) und dem sekundären Pfad 200 (langsamere Verarbeitungsaufgabe), wobei die langsamere Verarbeitungsaufgabe das Kopieren oder Einfrieren von Eingangsdaten aus der schnelleren Verarbeitungsaufgabe erfordert. Das Verfahren 50 stellt eine Datenkohärenz sicher, und zwar über die entsprechenden Pfade, die durch den Block 112 und den Block 132 gehen, in 4 dargestellt. Zusätzlich führen die entsprechenden Pfade, die den Block 116 und den Block 136 durchlaufen, eine Fehlerprüfung für die Status durch, die nicht stattfinden sollten. Wenn sie stattfinden, wird alles zurückgesetzt (über das Dateneinfrierungs-Flag und das Freeze-Verfahren-Flag), und der Zyklus wird wiederholt.
  • Die Steuerung C beinhaltet ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet), einschließlich eines nicht-flüchtigen (z. B. konkreten) Mediums, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die von einem Computer gelesen werden könnten (z. B. durch den Prozessor eines Computers). Ein derartiges Medium kann in einem beliebigen Format vorliegen, einschließlich, aber nicht beschränkt auf nicht-flüchtige Medien und flüchtige Medien. Nicht-flüchtige Medien können beispielsweise optische oder magnetische Disketten und andere persistente Speicher sein. Flüchtige Medien können zum Beispiel dynamische Direktzugriffsspeicher (DRAM) beinhalten, die einen Hauptspeicher darstellen können. Derartige Anweisungen können von einem oder mehreren Übertragungsmedien, einschließlich Koaxialkabel, Kupferdraht und Faseroptik übertragen werden, einschließlich der Drähte, die einen mit dem Prozessor gekoppelten Systembus beinhalten. Einige Formen von computerlesbaren Medien beinhalten beispielsweise eine Floppy Disk, eine flexible Diskette, Festplatte, Magnetband, ein anderes magnetisches Medium, eine CD-ROM, DVD, andere optische Medien, Lochkarten, Lochstreifen, andere physische Medien mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen anderen Speicherchip oder eine Speicherkassette oder ein anderes Medium, von dem ein Computer lesen kann.
  • Nachschlagetabellen, Datenbanken, Datendepots oder andere hierin beschriebene Datenspeicher können verschiedene Arten von Mechanismen zur Speicherung, zum Zugriff und zum Abrufen verschiedener Arten von Daten, beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankverwaltungssystems (RDBMS) usw. Jeder dieser Datenspeicher kann in einem Computergerät beinhaltet sein, das ein Computerbetriebssystem, wie etwa eines der vorstehend aufgeführten, einsetzt und auf das über ein Netzwerk in einer oder mehreren der Vielzahl von Arten zugegriffen werden kann. Ein Dateisystem kann durch ein Computerbetriebssystem zugänglich sein und Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS kann die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Prozeduren, wie beispielsweise die vorstehend aufgeführte PL/SQL-Sprache, einsetzen.
  • Die ausführliche Beschreibung und die Zeichnungen oder Figuren unterstützen und beschreiben die Offenbarung, während der Umfang der Offenbarung jedoch einzig und allein durch die Patentansprüche definiert wird. Während einige der besten Modi und weitere Ausführungsformen der beanspruchten Offenbarung ausführlich beschrieben wurden, gibt es verschiedene alternative Konzepte und Ausführungsformen zur Umsetzung der in den hinzugefügten Ansprüchen definierten Offenbarung. Darüber hinaus sollen die in den Zeichnungen dargestellten Ausführungsformen oder die Merkmale von verschiedenen Ausführungsformen, die in der vorliegenden Beschreibung erwähnt sind, nicht unbedingt als voneinander unabhängige Ausführungsformen aufgefasst werden. Vielmehr ist es möglich, dass jedes der in einem der Beispiele einer Ausführungsform beschriebenen Merkmale mit einem oder einer Vielzahl von anderen gewünschten Merkmalen aus anderen Ausführungsformen kombiniert werden kann, was andere Ausführungsformen zur Folge hat, die nicht in Worten oder durch Bezugnahme auf Zeichnungen beschrieben sind. Dementsprechend fallen derartige andere Ausführungsformen in den Rahmen des Schutzumfangs der angehängten Ansprüche.

Claims (10)

  1. System, umfassend: eine Steuerung mit einem Prozessor mit mindestens zwei Ausführungseinheiten, umfassend einen primären Kern und einen sekundären Kern, der so konfiguriert ist, um einen primären Pfad und einen sekundären Pfad auszuführen; worin der primäre Pfad dazu konfiguriert ist, eine relativ schnellere Verarbeitungsaufgabe zu sein und der sekundäre Pfad so dazu konfiguriert ist, eine relativ langsamere Verarbeitungsaufgabe zu sein; eine Komponente, die operativ mit der Steuerung verbunden ist; worin die Steuerung einen greifbaren, nicht-flüchtigen Speicher beinhaltet, auf dem Anweisungen zum Ausführen eines Verfahrens zum Austausch von Daten zwischen dem primären Kern und dem sekundären Kern aufgezeichnet sind; worin die Ausführung der Anweisungen durch die Steuerung den Prozessor zu Folgendem aktiviert: das Entwickeln eines Freeze-Verfahren-Flags, um einen entsprechenden Status einzustellen und durch den primären Pfad zu löschen; das Entwickeln eines Dateneinfrierungs-Flags, um einen entsprechenden Status eingestellt zu haben und durch jeweils den primären und sekundären Pfad zu löschen; und das Steuern der Komponente anhand mindestens teilweise des entsprechenden Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags.
  2. System nach Anspruch 1, worin die Steuerung programmiert ist, um: über den sekundären Pfad zu ermitteln, ob eine Differenz zwischen einem primären Satz von Berechnungen, die durch den primären Kern ausgeführt werden, und einem sekundären Satz von Berechnungen, die durch den sekundären Kern ausgeführt werden, bei oder unter einem Schwellenwert liegen; und die Komponente einzustellen, wenn die Differenz bei oder unter dem Schwellenwert liegt.
  3. System nach Anspruch 2, worin die Steuerung programmiert ist, um: über den primären Pfad zu ermitteln, ob Eingangsdaten anhand mindestens teilweise des jeweiligen Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten; über den primären Pfad einen primären Satz von Berechnungen auf die Eingangsdaten auszuführen, um Ausgangsdaten zu ermitteln; über den sekundären Pfad einen sekundären Satz von Berechnungen auf die Eingangsdaten anhand mindestens teilweise dem entsprechenden Status des Dateneinfrierungs-Flags auszuführen; und worin der sekundäre Pfad eine Übertragung der Eingangsdaten vom primären Kern zum sekundären Kern erfordert, um den sekundären Satz von Berechnungen auszuführen.
  4. System nach Anspruch 3, worin die Steuerung programmiert ist, um: zu verhindern, dass die Eingangsdaten im sekundären Satz von Berechnungen über das Freeze-Verfahren-Flag und das Dateneinfrierungs-Flag verwendet werden, ob der sekundäre Pfad während einer Zeitdauer zwischen dem Ermitteln, ob die Eingangsdaten eingefroren werden sollen und dem Ermitteln des primären Satzes von Berechnungen ausgeführt wird.
  5. System nach Anspruch 4, worin das Ermitteln, ob die Eingangsdaten anhand mindestens teilweise dem entsprechenden Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten, beinhaltet: wenn der entsprechende Status sowohl des Dateneinfrierungs-Flags als auch des Freeze-Verfahren-Flags falsch ist, das Einfrieren der Eingangsdaten und das Einstellen des entsprechenden Status des Freeze-Verfahren-Flags über den primären Kern als wahr; das Übertragen der eingefrorenen Eingangsdaten vom primären Kern zum sekundären Kern; und wenn der entsprechende Status des Dateneinfrierungs-Flags nicht falsch ist und das Freeze-Verfahren-Flag wahr ist, dann das Einstellen des entsprechenden Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags über den primären Kern als falsch.
  6. Verfahren zum Überwachen des Drehmoments in einem Traktionssystem mit einem Mehrkernprozessor und einer Komponente, wobei der Mehrkernprozessor einen primären Kern und einen sekundären Kern aufweist, das Verfahren umfassend: das Ausführen eines primären Pfads über den primären Kern, der mit einem primären Satz von Berechnungen zum Ermitteln eines ursprünglichen Satzes von Drehmomentwerten; das Ausführen eines sekundären Pfads über den sekundären Kern, wobei der sekundäre Pfad einen sekundären Satz von Berechnungen zum Ermitteln eines redundanten Satzes von Drehmomentwerten beinhaltet; worin der primäre Pfad dazu konfiguriert ist, eine relativ schnellere Verarbeitungsaufgabe zu sein und der sekundäre Pfad so dazu konfiguriert ist, eine relativ langsamere Verarbeitungsaufgabe zu sein; das Entwickeln eines Freeze-Verfahren-Flags, um einen entsprechenden Status festzulegen und durch den primären Pfad zu löschen; das Entwickeln eines Dateneinfrierungs-Flags, um einen entsprechenden Status eingestellt zu haben und durch jeweils den primären und sekundären Pfad zu löschen; das Ermitteln, ob eine Differenz zwischen dem primären Satz von Berechnungen und dem sekundären Satz von Berechnungen bei oder unter einem Schwellenwert liegt; und das Einstellen der Komponente, wenn die Differenz bei oder unter dem Schwellenwert liegt.
  7. Verfahren nach Anspruch 6, ferner umfassend: das Ermitteln über den primären Pfad, ob Eingangsdaten anhand mindestens teilweise des jeweiligen Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten; das Ausführen eines primären Satzes von Berechnungen auf die Eingangsdaten über den primären Pfad, um Ausgangsdaten zu ermitteln; das Ausführen eines sekundären Satzes von Berechnungen auf die Eingangsdaten anhand mindestens teilweise dem entsprechenden Status des Dateneinfrierungs-Flags über den sekundären Pfad; und worin der sekundäre Pfad eine Übertragung der Eingangsdaten vom primären Kern zum sekundären Kern erfordert, um den sekundären Satz von Berechnungen auszuführen.
  8. Verfahren nach Anspruch 7, ferner umfassend: das Verhindern, dass die Eingangsdaten im sekundären Satz von Berechnungen über das Freeze-Verfahren-Flag und das Dateneinfrierungs-Flag verwendet werden, ob der sekundäre Pfad während einer Zeitdauer zwischen dem Ermitteln, ob die Eingangsdaten eingefroren werden sollen und dem Ermitteln des primären Satzes von Berechnungen ausgeführt wird.
  9. Verfahren nach Anspruch 7, worin das Ermitteln, ob die Eingangsdaten anhand mindestens teilweise dem entsprechenden Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags eingefroren werden sollten, beinhaltet: wenn der entsprechende Status sowohl des Dateneinfrierungs-Flags als auch des Freeze-Verfahren-Flags falsch ist, das Einfrieren der Eingangsdaten und das Einstellen des entsprechenden Status des Freeze-Verfahren-Flags über den primären Kern als wahr; das Übertragen der eingefrorenen Eingangsdaten vom primären Kern zum sekundären Kern; und wenn der entsprechende Status des Dateneinfrierungs-Flags nicht falsch ist und das Freeze-Verfahren-Flag wahr ist, dann das Einstellen des entsprechenden Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags über den primären Kern als falsch.
  10. Verfahren nach Anspruch 9, ferner umfassend: das Ermitteln, ob die Ausgangsdaten für einen Vergleich mit dem sekundären Satz von Berechnungen über den primären Pfad gültig sind, anhand zumindest teilweise dem entsprechenden Flag-Status des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags, einschließlich: wenn der entsprechende Status des Dateneinfrierungs-Flags falsch ist und der Freeze-Verfahren-Flag wahr ist, dann das Einfrieren der Ausgangsdaten und das Einstellen des entsprechenden Status über den primären Kern des Dateneinfrierungs-Flags als wahr und des Freeze-Verfahren-Flags als falsch; das Übertragen der eingefrorenen Ausgangsdaten vom primären Kern zum sekundären Kern; und wenn der entsprechende Status jeweils des Dateneinfrierungs-Flags und des Freeze-Verfahren-Flags wahr ist, dann das Einstellen des entsprechenden Status sowohl des Freeze-Verfahren-Flags als auch des Dateneinfrierungs-Flags über den primären Kern als falsch.
DE102017128650.0A 2016-12-13 2017-12-01 Verfahren zum datenaustausch zwischen einem primären kern und einem sekundären kern in einem echtzeit-betriebssystem Pending DE102017128650A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/376,730 2016-12-13
US15/376,730 US10162680B2 (en) 2016-12-13 2016-12-13 Control of data exchange between a primary core and a secondary core using a freeze process flag and a data frozen flag in real-time

Publications (1)

Publication Number Publication Date
DE102017128650A1 true DE102017128650A1 (de) 2018-06-14

Family

ID=62201934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017128650.0A Pending DE102017128650A1 (de) 2016-12-13 2017-12-01 Verfahren zum datenaustausch zwischen einem primären kern und einem sekundären kern in einem echtzeit-betriebssystem

Country Status (3)

Country Link
US (1) US10162680B2 (de)
CN (1) CN108614799B (de)
DE (1) DE102017128650A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117093531A (zh) * 2022-05-13 2023-11-21 广州汽车集团股份有限公司 一种用于车辆智驾的多核异构通信方法与系统、存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6347368B1 (en) * 1997-12-30 2002-02-12 Jerry David Harthcock Microcomputing device for exchanging data while executing an application
JP5285828B2 (ja) * 1999-04-09 2013-09-11 ラムバス・インコーポレーテッド 並列データ処理装置
US7103889B2 (en) * 2002-07-23 2006-09-05 Sun Microsystems, Inc. Method, system, and article of manufacture for agent processing
US7254815B2 (en) * 2003-04-24 2007-08-07 International Business Machines Corporation Method and apparatus for implementing distributed event management in an embedded support processor computer system
US7239581B2 (en) * 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7689331B2 (en) * 2004-12-01 2010-03-30 Ise Corporation Method of controlling engine stop-start operation for heavy-duty hybrid-electric and hybrid-hydraulic vehicles
US7487215B2 (en) * 2004-12-17 2009-02-03 International Business Machines Corporation Method and system for distributing a nested electronic communication to a plurality of recipients
US7437587B2 (en) * 2005-01-21 2008-10-14 Hewlett-Packard Development Company, L.P. Method and system for updating a value of a slow register to a value of a fast register
FR2894547B1 (fr) * 2005-12-08 2009-06-05 Renault Sas Procede et dispositif de controle et de supervision d'un vehicule hybride du type comportant quatre roues motrices
US7594077B2 (en) * 2006-09-08 2009-09-22 Intel Corporation System, method and apparatus to accelerate raid operations
JP4776610B2 (ja) * 2007-11-26 2011-09-21 三菱電機株式会社 監視制御回路を有する車載電子制御装置
CN101320362A (zh) * 2008-06-27 2008-12-10 北京大学深圳研究生院 支持异步传输的阵列处理系统及其时钟管理方法
CN101329702A (zh) * 2008-07-22 2008-12-24 中国科学院计算技术研究所 一种满足SystemC语法的多核处理器的先进先出队列单元组
US8109073B2 (en) * 2008-10-08 2012-02-07 The Invention Science Fund I, Llc Hybrid propulsive engine including at least one independently rotatable compressor stator
US8458676B2 (en) * 2009-06-30 2013-06-04 International Business Machines Corporation Executing platform-independent code on multi-core heterogeneous processors
US8511192B2 (en) * 2010-03-29 2013-08-20 Hitec Luxembourg S.A. System and method of positional control with backlash compensation
CN103503424B (zh) * 2010-12-20 2016-08-10 思杰系统有限公司 用于实现多核系统中的连接镜像的系统和方法
JP5692381B2 (ja) * 2011-07-13 2015-04-01 富士通株式会社 マルチコアプロセッサシステム、および制御方法
US9459607B2 (en) * 2011-10-05 2016-10-04 Opteon Corporation Methods, apparatus, and systems for monitoring and/or controlling dynamic environments
US9740999B2 (en) * 2011-10-11 2017-08-22 Mobiwork, Llc Real time customer access to location, arrival and on-site time data
WO2014080457A1 (ja) * 2012-11-20 2014-05-30 株式会社安川電機 プログラマブルコントローラ
WO2014084836A1 (en) * 2012-11-29 2014-06-05 Hewlett-Packard Development Company, L.P. Fault tolerance in a multi-core circuit
US8904050B1 (en) * 2013-03-13 2014-12-02 Emc Corporation Techniques for automated data storage system port initialization
US9904579B2 (en) * 2013-03-15 2018-02-27 Advanced Elemental Technologies, Inc. Methods and systems for purposeful computing
CN107211287A (zh) * 2014-08-29 2017-09-26 峰鸟航空科技公司 使用混合电动飞机实现区域性空中运输网络的系统和方法
US9817601B1 (en) * 2016-07-07 2017-11-14 Nxp Usa, Inc. Method and apparatus for determining feasibility of memory operating condition change using different back bias voltages

Also Published As

Publication number Publication date
CN108614799B (zh) 2021-10-08
CN108614799A (zh) 2018-10-02
US10162680B2 (en) 2018-12-25
US20180165127A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
DE112017005163T5 (de) Systeme und verfahren zur vorausschauenden ausfalldetektion in fahrzeugen
DE102019100214A1 (de) Fahrzeugaktualisierungssysteme und -Verfahren
DE112009000439T5 (de) Fahrzeuginformationsaufzeichnungsvorrichtung, Fahrzeuginformationskommunikationssystem und Fahrzeuginformationskommunikationsverfahren
DE102019115356B4 (de) Verfahren zur fahrzeugfehler-grundursachendiagnose
DE112012001923T5 (de) Zur Zusammenarbeit fähiges Multi-Agentensystem zur Fehlerdiagnose an einem Fahrzeug sowie zugehöriges Verfahren
DE112007002219T5 (de) Elektrisches Steuersystem und elektrische Steuereinheit
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112018002500T5 (de) Speicherarray für Hybriddaten
DE102020208245A1 (de) Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
DE102017119065B4 (de) Aktualisieren eines Speichers
DE102012112623A1 (de) Fahrzeuginterne Steuerung und nicht flüchtiges greifbares computerlesbares Medium
DE112016006293T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE102018117308B4 (de) Verfahren zur selbstdiagnose einer servolenkungsanordnung
DE102017128650A1 (de) Verfahren zum datenaustausch zwischen einem primären kern und einem sekundären kern in einem echtzeit-betriebssystem
DE102021118606A1 (de) Modelllernsystem, Modelllernverfahren und Server
DE102018119668A1 (de) Auswahl der Reichweite für eine elektrische Vorrichtung mit einer wiederaufladbaren Energiespeichereinheit
DE102021100155A1 (de) System und verfahren für dynamisches softwaremanagement
DE102022126120A1 (de) System und Verfahren zum Verwalten von Fahrzeugflotten
DE102022131657A1 (de) Systeme und verfahren zur fahrzeuganalyse
DE102022208218A1 (de) Einrichtung zum Durchführen eines OTA-Updates für ein Fahrzeug und Verfahren derselben
DE112021002403T5 (de) Fahrzeugsteuervorrichtung
DE112022000344T5 (de) Anwenden von änderungen in einem ziel-datenbanksystem
DE102021108019A1 (de) System und Verfahren zum Bewerten der Fahrerleistung
DE102021111724B4 (de) Verfahren und Computerprogramm zum Evaluieren eines Softwarestands eines Fahrerassistenzsystems
DE102017119068B4 (de) Aktualisieren eines Speichers

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

Representative=s name: MANITZ FINSTERWALD PATENTANWAELTE PARTMBB, DE