DE102005037260A1 - Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register - Google Patents

Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register Download PDF

Info

Publication number
DE102005037260A1
DE102005037260A1 DE200510037260 DE102005037260A DE102005037260A1 DE 102005037260 A1 DE102005037260 A1 DE 102005037260A1 DE 200510037260 DE200510037260 DE 200510037260 DE 102005037260 A DE102005037260 A DE 102005037260A DE 102005037260 A1 DE102005037260 A1 DE 102005037260A1
Authority
DE
Germany
Prior art keywords
register
bit
mode
switching
bit information
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
DE200510037260
Other languages
English (en)
Inventor
Reinhard Weiberle
Bernd Mueller
Eberhard Boehl
Yorck Collani
Rainer Gmehlich
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 DE200510037260 priority Critical patent/DE102005037260A1/de
Priority to PCT/EP2006/064511 priority patent/WO2007017363A1/de
Publication of DE102005037260A1 publication Critical patent/DE102005037260A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components

Abstract

Verfahren zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten, wobei zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht, dadurch gekennzeichnet, dass die Umschaltung durch wenigstens eine Bitinformation in einem Register ausgelöst wird.

Description

  • Die Erfindung geht aus von einem Verfahren und einer Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi eines Mikroprozessors mit wenigstens zwei Ausführungseinheiten zur Abarbeitung von Programmsegmenten gemäß den Oberbegriffen der unabhängigen Ansprüche.
  • Transiente Fehler, ausgelöst durch Alpha-Teilchen oder kosmische Strahlung, werden zunehmend ein Problem für integrierte Schaltungen. Durch abnehmende Strukturbreiten, sinkende Spannungen und höhere Taktfrequenzen nimmt die Wahrscheinlichkeit zu, dass eine Spannungsspitze, hervorgerufen durch ein Alpha-Teilchen oder kosmische Strahlung, einen logischen Wert in einer integrierten Schaltung verfälscht. Ein falsches Berechnungsresultat kann die Folge sein. In sicherheitsrelevanten Systemen müssen daher solche Fehler zuverlässig detektiert werden.
  • Bei sicherheitsrelevanten Systemen, wie z.B. einem ABS-Regelsystem in einem Kraftfahrzeug, in denen Fehlfunktionen der Elektronik sicher detektiert werden müssen, werden gerade bei den entsprechenden Steuereinrichtungen solcher Systeme üblicherweise Redundanzen zur Fehlererkennung vorgesehen. So ist beispielsweise in bekannten ABS-Systemen jeweils der komplette Mikrocontroller dupliziert, wobei die gesamten ABS-Funktionen redundant berechnet und auf Übereinstimmung geprüft werden. Tritt eine Diskrepanz der Ergebnisse auf, so wird das ABS-System abgeschaltet.
  • Solche Prozessoreinheiten sind auch als Dual-Core oder Multi-Core Architekturen bekannt. Die verschiedenen Cores führen redundant und taktsynchron das gleiche Programmsegment aus, die Ergebnisse der beiden Cores werden verglichen. Ein Fehler wird bei dem Vergleich auf Übereinstimmung der beiden Ergebnisse erkannt. Im Folgenden wird diese Konfiguration als Vergleichsmodus bezeichnet.
  • Dual-Core oder Multi-Core Architekturen werden in anderen Anwendungen auch zur Leistungssteigerung, also zu einer Performanz-Steigerung eingesetzt. Beide Cores führen unterschiedliche Programmsegmente aus, wodurch sich eine Leistungssteigerung im Vergleich zum Vergleichsmodus oder einem Single Core System erzielen lässt. Diese Konfiguration wird als Leistungsmodus oder Performanzmodus bezeichnet. Dieses System wird auch in einer speziellen Ausprägung mit gleichen Cores als ein symmetrisches Multiprozessorsystem (SMP) bezeichnet.
  • Eine Erweiterung dieser Systeme ist eine Umschaltung durch Software zwischen diesen beiden Modi mittel eines Zugriffs auf eine spezielle Adresse und spezialisierter Hardware-Vorrichtungen. Im Vergleichsmodus werden die Ausgangsignale der Cores miteinander verglichen. Im Performanzmodus arbeiten die beiden Cores als ein symmetrisches Mehrprozessorsystem (SMP) und führen unterschiedliche Programme, Programmsegmente oder Befehle aus.
  • Vorteile der Erfindung
  • Wird eine Umschaltung direkt durch eine Instruktion veranlasst müssen immer spezielle Bits oder Bitkombinationen für diese Umschaltunstruktion reserviert werden. Gerade bei Prozessoren mit einem großen Befehlssatz oder einer kleinen Befehlswortbreite ist diese Reservierung nicht oder nur sehr schlecht möglich.
  • Aufgabe dieser Erfindung ist es daher die Umschaltung nicht durch eine spezielle Instruktion oder den Zugriff auf eine bestimmte Adresse zu veranlassen, sondern eine Umschaltung dann zu veranlassen, wenn in einem oder mehreren internen Register des Prozessors bestimmte Bits manipuliert oder geschrieben werden. Ist im Prozessor, unabhängig von der Möglichkeit der Umschaltung zwischen einem Performanzmodus und einem Vergleichsmodus, ein Register vorhanden, bei dem nicht alle Bits mit einer Bedeutung belegt sind, werden im Befehlssatz keine spezielle Instruktionen benötigt. Ein Beispiel hierfür ist das Prozessorstatusregister, welches üblicherweise im jedem Prozessor und für jede Ausführungseinheit eines Prozessors zur Verfügung steht. Instruktionen, mit denen dieses Register gelesen und gesetzt werden kann, sind im Befehltssatz dann vorhanden. Es müssen daher keine neuen Instruktionen für einen Prozessor definiert werden, um zwischen Performanzmodus und dem Vergleichsmodus umzuschalten.
  • Vorteilhaft wird in der vorgestellten Erfindung die Umschaltung durch wenigstens eine Bitinformation in einem Register ausgelöst. Weiter wird vorteilhaft die Bitinformation durch einen in einem Befehlssatz des Rechnersystems bereits vorhandenen Befehl erzeugt. Vorteilhaft wird die Bitinformation durch setzten wenigstens eines Bits in einem Register erzeugt. Zweckmäßigerweise wird die Bitinformation durch Löschen wenigstens eines Bits in einem Register erzeugt. Weiter wird vorteilhaft die Bitinformation in einem Register erzeugt, das sich in der Ausführungseinheit befindet. Voteilhaft wird ein vorgebbares Datenwort in das Register geschrieben und die Bitinformation wird dadurch erzeugt, dass wenigstens ein vorgebbares Bit einer vorgebbaren Information entspricht. Vorteilhaft wird wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort gesetzt/gelöscht. Vorteilhaft wird wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort nicht gesetzt. Zweckmäßigerweise ist die Umschaltung dadurch gekennzeichnet, dass ein Register enthalten ist und zweite Mittel enthalten sind, welche die Umschaltung durch wenigstens eine Bitinformation in diesem Register auslösen. Vorteilhaft befindet sich das Register innerhalb einer Ausführungseinheit. Vorteilhaft handelt es sich bei dem Register um das Prozessorstatusregister oder um das Befehlsregister oder um das Befehlszählerregister.
  • Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.
  • Figuren
  • 1 zeigt eine System G60 mit zwei Ausführungseinheiten G10a und G10b, welche jeweils ein Register G11a bzw. G11b mit der Breite k + 1 enthalten.
  • 2 zeigt ein solches Register G11 in einer Ausführungseinheit G10
  • Beschreibung der Ausführungsbeispiele
  • Als Ausführungseinheit kann im Folgenden dabei sowohl ein Prozessor, ein Core, eine CPU, als auch eine FPU (Floating Point Unit), ein DSP (Digitaler Signalprozessor), ein Coprozessor oder eine ALU (Arithmetic logical Unit) bezeichnet werden. Die Erfindung bezieht sich auf ein Multiprozessorsystem (G60) dargestellt in 1 mit wenigstens zwei Ausführungseinheiten (G10a, G10b), einer Vergleichseinheit (G20), einer Umschalteinheit (G50) und einer Einheit zur Umschaltwunscherkennung (G40). Die Umschalteinheit (G50) hat wenigstens zwei Ausgänge zu zwei Systemschnittstellen (G30a, G30b). Über diese Schnittstellen können Register, Speicher oder Peripherals wie Digitale Ausgänge, D/A-Wandler, Kommunikationscontroller angesteuert werden. Dieses Multiprozessorsystem kann in wenigstens zwei Betriebsmodi betrieben werden, einem Vergleichsmodus (VM) und einem Performanzmodus (PM).
  • Im Performanzmodus werden in den unterschiedlichen Ausführungseinheiten unterschiedliche Befehle, Programmsegmente oder Programme parallel ausgeführt. In diesem Betriebsmodus ist die Vergleichseinheit (G20) deaktiviert. Die Deaktivierung kann auf verschiedene Weisen realisiert werden:
    • Ein Vergleich durch die Einheit G20 wird nicht durchgeführt.
    • Es werden keine Signale zum Vergleich an die Einheit G20 angelegt.
    • Ein Vergleich findet durch die Einheit G20 statt, das Ergebnis wird aber ignoriert.
  • Die Umschalteinheit (G50) ist in diesem Betriebsmodus so konfiguriert, dass jede Ausführungseinheit mit einer Systemschnittstelle (G30a, G30b) verbunden ist.
  • Im Vergleichsmodus werden in beiden Ausführungseinheiten (G10a, G10b) gleiche Befehle, Programmsegmente oder Programme abgearbeitet. Günstigerweise werden diese Befehle taktsynchron abgearbeitet, es ist aber auch eine Abarbeitung mit Asynchronität oder mit definiertem Taktversatz denkbar. Die Ausgangssignale der Ausführungseinheiten (G10a, G10b) werden in der Vergleichseinheit (G20) verglichen. Bei einem Unterschied wird auf einen Fehler erkannt und es können entsprechende Maßnahmen ergriffen werden. Die Umschalteinheit (G50) ist in einer Variation so konfiguriert, dass nur ein Signal zu den Systemschnittstellen (G30a, G30b) verbunden ist. In einer anderen Konfiguration bewirkt die Umschalteinheit nur, dass die verglichenen und damit gleichen Signale an die Systemschnittstellen (G30a, G30b) verbunden werden.
  • Die Umschaltwunscherkennung (G40) detektiert unabhängig vom gerade aktiven Modus einen Umschaltwunsch in den jeweils anderen Modus.
  • In 2 ist eine Ausführungseinheit G10 gezeigt. G11 ist ein Register mit k + 1 Bits in einer Ausführungseinheit G10. Im Befehlssatz für G10 existieren Befehle womit die Bits in diesem Register direkt oder indirekt manipuliert oder geschrieben werden könne.
  • In einer ersten Ausführngsform ist in dem Register G 11 eins oder mehrere Bits für das Auslösen der Umschaltung reserviert. Die Einheit G40 detektiert einen Umschaltwunsch, wenn die reservierten Bits im Register G11 auf ein bestimmtes Bitmuster gesetzt sind. Der Modus des Prozessors (Vergleichsmodus oder Performanzmodus) ist damit davon abhängig, auf welches Bitmuster diese reservierten Bits im Register G11 gesetzt sind. In einer zweiten Ausführungsform ist in dem Register G11 eins oder mehrere Bits für das Auslösen der Umschaltung reserviert. Die Einheit G40 detektiert einen Umschaltwunsch in den Vergleichsmodus, wenn das Register G11 mit einem Wert beschrieben wird bei dem die entsprechend reservierten Bits mit einem bestimmten Bitmuster belegt sind. Die Einheit G40 detektiert einen Umschaltwunsch in den Performanzmodus, wenn das Register G11 mit einem Wert beschrieben wird bei dem die entsprechend reservierten Bits mit einem bestimmten Bitmuster belegt sind. Das Bitmuster für die Umschaltung in den Vergleichsmodus muss sich nicht notwendigerweise von dem Bitmuster für die Umschaltung in dem Performanzmodus unterscheiden. Die Bitmuster können identisch oder unterschiedlich sein.

Claims (13)

  1. Verfahren zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten, wobei zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht dadurch gekennzeichnet, dass die Umschaltung durch wenigstens eine Bitinformation in einem Register ausgelöst wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch einen in einem Befehlssatz des Rechnersystems bereits vorhandenen Befehl erzeugt wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch setzten wenigstens eines Bits in einem Register erzeugt wird.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch Löschen wenigstens eines Bits in einem Register erzeugt wird.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation in einem Register erzeugt wird, das sich in der Ausführungseinheit befindet.
  6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein vorgebbares Datenwort in das Register geschrieben wird und die Bitinformation dadurch erzeugt wird, dass wenigstens ein vorgebbares Bit einer vorgebbaren Information entspricht.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort gesetzt/gelöscht ist.
  8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort nicht gesetzt ist.
  9. Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten, wobei Umschaltmittel enthalten sind, die zwischen wenigstens zwei Betriebsmodi umschalten und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht dadurch gekennzeichnet, dass ein Register enthalten ist und zweite Mittel enthalten sind, welche die Umschaltung durch wenigstens eine Bitinformation in diesem Register auslösen.
  10. Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass sich das Register innerhalb einer Ausführungseinheit befindet
  11. Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um ein Prozessorstatusregister wenigstens einer Ausführungseinheit handelt.
  12. Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um ein Befehlsregister handelt.
  13. Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um das Befehlszählerregister handelt.
DE200510037260 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register Withdrawn DE102005037260A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200510037260 DE102005037260A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register
PCT/EP2006/064511 WO2007017363A1 (de) 2005-08-08 2006-07-21 Verfahren und vorrichtung zur umschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten mittels bitinformationen in einem register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510037260 DE102005037260A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register

Publications (1)

Publication Number Publication Date
DE102005037260A1 true DE102005037260A1 (de) 2007-02-15

Family

ID=37433850

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510037260 Withdrawn DE102005037260A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register

Country Status (2)

Country Link
DE (1) DE102005037260A1 (de)
WO (1) WO2007017363A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
DE10349581A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit

Also Published As

Publication number Publication date
WO2007017363A1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
DE102005037246A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit
EP1810150A2 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
DE102009019961A1 (de) Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest
DE102005037230A1 (de) Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE102005037217A1 (de) Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
EP1817662B1 (de) Verfahren und vorrichtung zur umschaltung zwischen betriebsmodi eines multiprozessorsystems durch wenigstens ein externes signal
WO2007057270A1 (de) Programmgesteuerte einheit und verfahren zum betreiben derselbigen
EP3186710B1 (de) Mikrocontrollersystem und verfahren für sicherheitskritische kraftfahrzeugsysteme sowie deren verwendung
DE10317650A1 (de) Programmgesteuerte Einheit und Verfahren
DE102006050715A1 (de) Verfahren und System zum Erzeugen eines gültigen Signals
EP1915686B1 (de) Verfahren und vorrichtung zur festlegung eines startzustandes bei einem rechnersystem mit wenigstens zwei ausführungseinheiten durch markieren von registern
DE10063644B4 (de) Lokales Anhalten und Gefahrerfassung in einem superskalaren Pipeline-Mikroprozessor zum Vermeiden eines erneuten Lesens einer Registerdatei
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102005037260A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register
WO2007017372A1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten
DE102005037232A1 (de) Verfahren und Vorrichtung zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten
EP1915674B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten und mit wenigstens zwei gruppen von internen zuständen
DE102009001048A1 (de) Vorrichtung und Verfahren zur Prüfung der Arbeitsweise eines Rechnersystems
DE102005037259A1 (de) Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch Umschalten von Registersätzen
WO2007017394A2 (de) Verfahren und vorrichtung zur festlegung eines startzustandes bei einem rechnersystem mit wenigstens zwei ausführungseinheiten durch übernehmen des startzustandes
DE102006004988A1 (de) Verfahren und Vorrichtung zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten
EP1917594A2 (de) Verfahren und vorrichtung zur abarbeitung von datenwörtern und/oder instruktionen
DE102010031017A1 (de) Verfahren zur Überwachung des Programmablaufs eines Prozessors
DE102005037231A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems
DD261238A1 (de) Schaltungsanordnung zur kopplung zweier alternativ arbeitender mikrorechner

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee