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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
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)
- 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.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch einen in einem Befehlssatz des Rechnersystems bereits vorhandenen Befehl erzeugt wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch setzten wenigstens eines Bits in einem Register erzeugt wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation durch Löschen wenigstens eines Bits in einem Register erzeugt wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bitinformation in einem Register erzeugt wird, das sich in der Ausführungseinheit befindet.
- 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.
- Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort gesetzt/gelöscht ist.
- Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass wenigstens ein vorgebbares Bit in dem vorgebbaren Datenwort nicht gesetzt ist.
- 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.
- Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass sich das Register innerhalb einer Ausführungseinheit befindet
- Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um ein Prozessorstatusregister wenigstens einer Ausführungseinheit handelt.
- Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um ein Befehlsregister handelt.
- Vorrichtung nach Anspruch 9 dadurch gekennzeichnet, dass es sich bei dem Register um das Befehlszählerregister handelt.
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)
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 |
-
2005
- 2005-08-08 DE DE200510037260 patent/DE102005037260A1/de not_active Withdrawn
-
2006
- 2006-07-21 WO PCT/EP2006/064511 patent/WO2007017363A1/de active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007017363A1 (de) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE102005037246A1 (de) | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit | |
WO2006045806A2 (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 | |
EP1817662B1 (de) | Verfahren und vorrichtung zur umschaltung zwischen betriebsmodi eines multiprozessorsystems durch wenigstens ein externes signal | |
EP1917589A2 (de) | Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten | |
EP1955164A1 (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 | |
DE10063644B4 (de) | Lokales Anhalten und Gefahrerfassung in einem superskalaren Pipeline-Mikroprozessor zum Vermeiden eines erneuten Lesens einer Registerdatei | |
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 | |
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 | |
DE102009001048A1 (de) | Vorrichtung und Verfahren zur Prüfung der Arbeitsweise eines Rechnersystems | |
EP1915687A1 (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 | |
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 | |
DE102005037244A1 (de) | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und mit wenigstens zwei Gruppen von internen Zuständen | |
DE102010031017A1 (de) | Verfahren zur Überwachung des Programmablaufs eines Prozessors | |
DE102005037231A1 (de) | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |