DE102005037232A1 - Method and device for analyzing processes in a computer system with several execution units - Google Patents

Method and device for analyzing processes in a computer system with several execution units Download PDF

Info

Publication number
DE102005037232A1
DE102005037232A1 DE200510037232 DE102005037232A DE102005037232A1 DE 102005037232 A1 DE102005037232 A1 DE 102005037232A1 DE 200510037232 DE200510037232 DE 200510037232 DE 102005037232 A DE102005037232 A DE 102005037232A DE 102005037232 A1 DE102005037232 A1 DE 102005037232A1
Authority
DE
Germany
Prior art keywords
mode
execution units
units
analysis unit
subsystem
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
DE200510037232
Other languages
German (de)
Inventor
Reinhard Weiberle
Bernd Mueller
Ralf Angerbauer
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 DE200510037232 priority Critical patent/DE102005037232A1/en
Priority to EP06777995A priority patent/EP1917596A1/en
Priority to CNA2006800294530A priority patent/CN101243411A/en
Priority to JP2008525523A priority patent/JP2009506408A/en
Priority to PCT/EP2006/064694 priority patent/WO2007017388A1/en
Publication of DE102005037232A1 publication Critical patent/DE102005037232A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren und Vorrichtung zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten, die in mindestens zwei verschiedenen Modi in dem Rechnersystem konfigurierbar sind, wobei wenigstens zwei Ausführungseinheiten in einem Performanzmodus als einem ersten Modus arbeiten und mindestens ein zweiter Modus als Vergleichsmodus vorgesehen ist und dass zur Analsyse und/oder Beeinflussung von Zuständen und Abläufen in allen Ausführungseinheiten Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten, verwendet werden, dadurch gekennzeichnet, dass die Vorrichtung wenigstens eine Analyseeinheit mehr enthält als die maximale Anzahl der Ausführungseinheiten, die im Performanzmodus unabhängig voneinander arbeiten.method and apparatus for analyzing processes in a computer system with several execution units, that are configurable in at least two different modes in the computer system, wherein at least two execution units work in a performance mode as a first mode and at least a second mode is provided as a comparison mode and that for Analsysis and / or influence of states and processes in all execution units Analysis units, in particular debug support units used be characterized in that the device at least contains one more analysis unit as the maximum number of execution units, independent in performance mode work from each other.

Figure 00000001
Figure 00000001

Description

Transiente Fehler, ausgelöst durch Alpha-Teilchen oder kosmische Strahlung, werden zunehmend ein Problem für integrierte Halbleiterschaltungen. Durch abnehmende Strukturbreiten, sinkende Spannungen und höhere Taktfrequenzen nimmt die Wahrscheinlichkeit zu, dass eine Ladungsänderung, 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, insbesondere im Kraftfahrzeug, müssen solche Fehler daher zuverlässig detektiert werden.transient Error, triggered by alpha particles or cosmic rays, are becoming increasingly a problem for integrated semiconductor circuits. Due to decreasing structure widths, sinking tensions and higher Clock frequencies increases the likelihood that a charge change, caused by an alpha particle or cosmic radiation, corrupted a logical value in an integrated circuit. One wrong calculation result can be the result. In security relevant Systems, especially in the motor vehicle, must therefore reliably detect such errors become.

Bei sicherheitsrelevanten Systemen, wie z.B. einem ABS-Regelsystem in einem Kraftfahrzeug, in denen Fehlfunktionen der Elektronik sicher detektiert werden müssen, werden bei den entsprechenden Steuereinrichtungen solcher Systeme üblicherweise Redundanzen zur Fehlererkennung eingesetzt. 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.at safety-related systems, such as an ABS control system in a motor vehicle in which detects malfunctions of the electronics safely Need to become, become common in the corresponding control devices of such systems Redundancies used for error detection. Such is for example in known ABS systems in each case the complete microcontroller duplicated, with all ABS functions being redundantly calculated and on agreement being checked. If there is a discrepancy between the results, the ABS system becomes off.

Ein Mikrocontroller besteht einerseits aus Speichermodulen (z.B. RAM, ROM, Cache), aus einem Prozessor (CPU, Core) und aus Ein-/Ausgangs-Schnittstellen, so genannten Peripherals (z.B. A/D-Wandler, CAN-Schnittstelle). Da Speicherelemente mit Prüfcodes (Parity oder ECC) effektiv überwacht werden können, und Peripherals oft anwendungsspezifisch als Teil eines Sensor- oder Aktor-Signalpfades überwacht werden, besteht ein weiterer Redundanzansatz in der alleinigen Verdopplung der Cores eines Mikrocontrollers.One Microcontroller consists on the one hand of memory modules (for example RAM, ROM, cache), from a processor (CPU, Core) and from input / output interfaces, so-called peripherals (e.g., A / D converter, CAN interface). Because memory elements with verification codes (Parity or ECC) effectively monitored can be and peripherals are often application-specific as part of a sensor or actuator signal paths monitored become another redundancy approach in the sole doubling the cores of a microcontroller.

Solche Mikrocontroller mit wenigstens zwei integrierten Cores sind auch als Dual-Core Architekturen bekannt. Beide Cores führen redundant und taktsynchron (Lockstep-Modus) das gleiche Programmsegment aus, die Ergebnisse der beiden Cores werden verglichen, und ein Fehler wird dann bei dem Vergleich auf Übereinstimmung erkannt werden. Diese Konfiguration eines Dual-Core Systems kann als Vergleichsmodus bezeichnet werden.Such Microcontrollers with at least two integrated cores are as well known as dual-core architectures. Both cores are redundant and isochronous (lockstep mode) the same program segment, the results of the two cores are compared, and one error will then match on the comparison be recognized. This configuration of a dual-core system can be considered Be referred to comparison mode.

Dual-Core Architekturen werden in anderen Anwendungen auch zur Leistungssteigerung, also zu einer Performanz-Steigerung eingesetzt. Beide Cores führen unterschiedliche Programme, Programmsegmente und Befehle aus, wodurch sich eine Leistungssteigerung erzielen lässt, weshalb diese Konfiguration eines Dual-Core Systems als Performanzmodus bezeichnet werden kann. Dieses System wird auch 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.Dual-Core Architectures also improve performance in other applications, So used to a performance increase. Both cores lead different Programs, program segments, and commands out, resulting in an increase in performance achieve, why this configuration of a dual-core system as a performance mode can be designated. This system is also called a symmetric Multiprocessor system (SMP) called. An extension of these systems is a switching by software between these two modes medium access to a specific address and specialized hardware devices. in the Comparison mode will be the output signals of the cores together compared. In performance mode, the two cores work as one symmetric multiprocessor system (SMP) and run different programs, Program segments or commands off.

Bei der Entwicklung von Software für einen μC ist es notwendig, die Auswirkungen von bestimmten Programmschritten genau verfolgen zu können und Testmodi zu verwenden, um während der Entwicklung Fehler in der SW zu erkennen. Dazu werden Debug-Konzepte verwendet. Im Stand der Technik gibt es für die bisher eingeführten Dual Core Architekturen, die entweder rein im Lockstep oder rein im SMP-Betrieb laufen, Debug-Konzepte für die Software-Entwicklung.at the development of software for a μC it is necessary to understand the effects of certain program steps to follow closely and Test modes to use during the development mistakes in the SW to recognize. These are debug concepts used. In the prior art, there is for the previously introduced dual Core architectures that are either pure in lockstep or purely in SMP operation run, debug concepts for the software development.

Für ein umschaltbares System ist aus dem Stand der Technik kein Debug-Konzept bekannt. Da die Umschaltung aber insbesondere bei Test oder Fehlersuche besonders zu berücksichtigen ist, ist es notwendig, ein dediziertes Debug-Konzept für ein umschaltbares System zu entwickeln.For a switchable System is known from the prior art no debug concept. As the switch but especially for test or troubleshooting special to take into account is, it is necessary to have a dedicated debug concept for a switchable Develop system.

Vorteile der ErfindungAdvantages of invention

Ein Vorteil gemäß Anspruch 1 liegt darin, dass in einem Rechnersystem mit mehreren Ausführungseinheiten oder Komponenten, die in mindestens zwei verschiedenen Modi in dem System konfigurierbar sind, die sich dadurch unterscheiden, dass in dem einem Modus mindestens zwei Komponenten in einem Performanzmodus arbeiten, indem diese Komponenten unterschiedliche Eingangs-Signale zu unterschiedlichen Ausgangssignalen verarbeiten und in einem mindestens zweiten Modus diese Komponenten in einem Vergleichsmodus gleiche Eingangssignale zu gleichen Ausgangssignalen verarbeiten, und in dem zur Analyse und/oder Beeinflussung der Zustände und Abläufe in allen Ausführungseinheiten oder Komponenten Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten verwendet werden, mehr Analyseeinheiten vorhanden sind als Ausführungseinheiten oder Komponenten in einem Performanz-Modus unabhängig voneinander arbeiten können und damit verschiedene Modi des Systems besser beobachtbar und beeinflussbar sind.One Advantage according to claim 1 is that in a computer system with multiple execution units or components in at least two different modes in the System are configurable, which differ in that in one mode has at least two components in a performance mode work by giving these components different input signals to process different output signals and in one at least second mode is the same in a comparison mode Process input signals to the same output signals, and in for analyzing and / or influencing the states and processes in all execution units or Component analysis units, in particular debug support units used, more analysis units are available than execution units or components in a performance mode can work independently and so that different modes of the system can be better observed and influenced are.

Ein weiterer Vorteil des Systems ist, dass dabei allen Ausführungseinheiten oder Komponenten, die in mindestens einem ersten Modus des besagten Rechnersystems nicht mit anderen Ausführungseinheiten oder Komponenten in einem Vergleichsmodus zusammenarbeiten, jeweils eine Analyseeinheit zugeordnet ist, die Zustände und Abläufe in dieser Ausführungseinheit oder Komponente beobachten und/oder beeinflussen kann.Another advantage of the system is that it involves all execution units or components operating in at least a first mode of the said Computer system do not cooperate with other execution units or components in a comparison mode, each associated with an analysis unit that can observe and / or influence states and processes in this execution unit or component.

Ein zusätzlicher Vorteil ist, dass in dem Fall, dass in mindestens einem zweiten Modus des Rechnersystems mindestens zwei Ausführungseinheiten oder Komponenten als ein temporäres Teilsystem in einem Vergleichsmodus zusammenarbeiten und diesem Teilsystem eine weitere Analyseeinheit zugeordnet ist, die Zustände und Abläufe in diesem Teilsystem beobachten und/oder beeinflussen kann.One additional The advantage is that in the case that in at least a second Mode of the computer system at least two execution units or components as a temporary one Subsystem work together in a comparison mode and this Subsystem is associated with another analysis unit, the states and procedures observe and / or influence in this subsystem.

Ein weiterer Vorteil ist, dass eine Beobachtung und/oder Beeinflussung der Zustände und Abläufe aller Ausführungseinheiten des Teilsystems, das in einem Vergleichsmodus zusammenarbeitet, durch die Analyseeinheit synchron erfolgen kann.One Another advantage is that an observation and / or influence the states and processes all execution units of the subsystem that cooperates in a comparison mode the analysis unit can be synchronized.

Ein weiterer Vorteil ergbit sich daraus, dass zusätzliche Mittel enthalten sind, die eine Aktivierung und/oder Deaktivierung von Analyseeinheiten abhängig von den Betriebsmodi des Rechnersystems und/oder weiterer vorgebbarer Bedingungen ermöglichen.One Another advantage is the fact that additional funds are included. the activation and / or deactivation of analysis units dependent from the operating modes of the computer system and / or further specifiable Conditions allow.

Vorteilhaft ist weiterhin, dass in dem System mindestens ein Modus Signal, vorzugsweise ein Core Modus Signal, eine Umschaltung der Aktivität wenigstens einer der Analyseeinheiten veranlassen kann.Advantageous is further that in the system at least one mode signal, preferably a core mode signal, a change of activity at least one of the analysis units can cause.

Weiterhin vorteilhaft ist, dass durch Steuersignale mindestens einer Analyseeinheit eine Umschaltung der Aktivität wenigstens einer weiteren Analyseeinheit erfolgen kann.Farther It is advantageous that by control signals of at least one analysis unit a change of activity at least one further analysis unit can take place.

Es ist weiterhin vorteilhaft, dass bei einem System mit einem aktiven Vergleichsmodus eines Teilsystems die dem Teilsystem zugeordneten Analyseeinheit aktiv ist und die Analyseeinheiten der dem Teilsystem zugeordneten Ausführungseinheiten oder Komponenten nicht aktiv sind. Weiterhin ist auch vorteilhaft, dass in dem System zusätzlich die Zustände oder einzelnen Einganssignale der Ausführungseinheiten oder Komponenten und/oder der Vergleichsmittel von mindestens einer Analyseeinheit beeinflusst werden können und die Zustände oder Ausgangssignale dieser beeinflussten Einheiten von dieser oder einer anderen Analyseeinheit beobachtbar sind.It is further advantageous that in a system with an active Comparison mode of a subsystem assigned to the subsystem Analysis unit is active and the analysis units of the subsystem associated execution units or components are not active. It is also advantageous that in the system additionally the states or individual input signals of the execution units or components and / or the comparison means of at least one analysis unit can be influenced and the states or output signals of these affected units from this or can be observed by another analysis unit.

Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.Further Advantages and advantageous embodiments will be apparent from the features the claims as well as the description.

Figurencharacters

In 1 ist ein Multiprozessorsystem mit zwei Ausführungseinheiten G140a und G140b sowie den zugehörigen Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten G100a und G100b und der Debug-Unterstützungseinheit G110.In 1 is a multiprocessor system with two execution units G140a and G140b and the associated analysis units, in particular debug support units G100a and G100b and the debug support unit G110.

In 2 ist ein Multiprozessorsystem mit zwei Ausführungseinheiten G140a und G140b sowie den zugehörigen Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten G100a und G100b und der Debug-Unterstützungseinheit G110. Weiter enthalten ist eine Debug-Unterstützungsmanagmenteinheit G170 und eine Umschalt- und Vergleichseinheit G200.In 2 is a multiprocessor system with two execution units G140a and G140b and the associated analysis units, in particular debug support units G100a and G100b and the debug support unit G110. Also included is a debug support management unit G170 and a switch and compare unit G200.

In 3 ist ein Multiprozessorsystem mit zwei Ausführungseinheiten G140a und G140b sowie den zugehörigen Debug-Unterstützungseinheiten G100a und G100b und der Debug-Unterstützungseinheit G110. Weiter enthalten ist eine Debug-Unterstützungsmanagmenteinheit G170 und eine Umschalt- und Vergleichseinheit G200. Das System arbeitet hier in einem Performanzmodus.In 3 is a multiprocessor system having two execution units G140a and G140b and the associated debug support units G100a and G100b and the debug support unit G110. Also included is a debug support management unit G170 and a switch and compare unit G200. The system works here in a performance mode.

In 4 ist ein Multiprozessorsystem mit zwei Ausführungseinheiten G140a und G140b sowie den zugehörigen Debug-Unterstützungseinheiten G100a und G100b und der Debug-Unterstützungseinheit G110. Weiter enthalten ist eine Debug-Unterstützungsmanagementeinheit G170 und eine Umschalt- und Vergleichseinheit G200. Das System arbeitet hier in einem Vergleichsmodus.In 4 is a multiprocessor system having two execution units G140a and G140b and the associated debug support units G100a and G100b and the debug support unit G110. Also included is a debug support management unit G170 and a switch and compare unit G200. The system works here in a comparison mode.

In 5 ist ein allgemeiner Fall der Umschalt- und Vergleichskomponente, auch für die Verwendung für mehr als zwei Ausführungseinheiten gezeigt.In 5 is a general case of the switching and comparison component, also shown for use with more than two execution units.

In 6 ist die allgemeine Form des Modussignals dargestellt.In 6 the general form of the mode signal is shown.

Beschreibung der AusführungsbeispieleDescription of the embodiments

Eine Ausführungseinheit kann im Folgenden sowohl einen Prozessor/Core/CPU, als auch eine FPU (Floating Point Unit), DSP (Digitaler Signalprozessor), Coprozessor oder ALU (Arithmetic logical Unit) bezeichnen. Weiterhin wird unter einer Komponente eine Einheit aus mindestens einer Ausführungseinheit verstanden, die in einer festen Art und Weise miteinander verschaltet sind und demzufolge in einem festen Modus zusammenarbeiten.A execution unit can below both a processor / core / CPU, as well as an FPU (Floating Point Unit), DSP (Digital Signal Processor), Coprocessor or ALU (arithmetic logical unit). Furthermore, under a component of a unit of at least one execution unit understood that interconnected in a fixed manner and therefore work together in a fixed mode.

Unter Debug-Unterstützungseinheit wird eine Einheit verstanden, die eine Ausführungseinheit, eine Komponente oder ein Teilsystem aus mehreren Ausführungseinheiten oder Komponenten und Vergleichern durch geeignete Signale beeinflussen kann und durch andere geeignete Signale eine Information über Zustände und/oder Abläufe von den Ausführungseinheiten, Komponenten, Vergleichern oder Teilsystemen mittelbar oder unmittelbar zurückerhält und damit diese durch die Debug-Unterstützungseinheit beobachtbar sind.Debug support unit is understood to be a unit that comprises an execution unit, a component or a subsystem of several Reren execution units or components and comparators can influence by suitable signals and indirectly or directly obtains information about states and / or processes of the execution units, components, comparators or subsystems by other suitable signals and thus they are observable by the debug support unit.

Ein allgemeiner Fall der Umschalt- und Vergleichskomponente, auch für die Verwendung in Prozessorsystemen mit mehr als zwei Ausführungseinheiten, ist in 5 gezeigt. Von den n zu berücksichtigenden Ausführungseinheiten gehen n Signale N140, ..., N14n an die Umschalt- und Vergleichskomponente N100. Diese kann bis zu n Ausgangssignale N160, ..., N16n aus diesen Eingangssignalen erzeugen. Im einfachsten Fall, dem „reinen Performanzmodus", werden alle Signale N14i auf die entsprechenden Ausgangssignale N16i geleitet. Im entgegen gesetzten Grenzfall, dem „reinen Vergleichsmodus" werden alle Signale N140, ..., N14n nur auf genau eines der Ausgangssignale N16i geleitet.A general case of the switching and comparison component, also for use in processor systems with more than two execution units, is in FIG 5 shown. Of the n execution units to be considered, n signals N140,..., N14n go to the switching and comparison component N100. This can generate up to n output signals N160, ..., N16n from these input signals. In the simplest case, the "pure performance mode", all signals N14i are directed to the corresponding output signals N16i In the opposite limit case, the "pure comparison mode", all signals N140, ..., N14n are directed to only one of the output signals N16i.

An dieser Figur lässt sich darlegen, wie die verschiedenen denkbaren Modi entstehen können. Dazu ist in dieser Figur die logische Komponente einer Schaltlogik N110 enthalten. Diese legt zunächst fest, wie viele Ausgangssignale es überhaupt gibt. Weiter legt die Schaltlogik N110 fest, welche der Eingangssignale zu welchem der Ausgangssignale beitragen. Dabei kann ein Eingangssignal zu genau einem Ausgangssignal beitragen. In mathematischer Form anders formuliert ist also durch die Schaltlogik eine Funktion definiert, die jedem Element der Menge {N140, ..., N14n} ein Element der Menge {N160, ..., N16n} zuordnet.At this figure leaves Explain how the various conceivable modes can arise. To is the logical component of a switching logic N110 in this figure contain. This first determines how many output signals are there at all gives. Furthermore, the switching logic N110 determines which of the input signals to which of the output signals contribute. This can be an input signal contribute to exactly one output signal. In mathematical form In other words, a function is defined by the switching logic, each element of the set {N140, ..., N14n} is an element of the set {N160, ..., N16n} assigns.

Die Verarbeitungslogik N120 legt dann zu jedem der Ausgänge N16i fest, in welcher Form die Eingänge zu diesem Ausgangsignal beitragen. Um beispielhaft die verschiedenen Variationsmöglichkeiten zu beschreiben, sei ohne Beschränkung der Allgemeinheit angenommen, dass der Ausgang N160 durch die Signale N141, ..., N14m erzeugt wird. Falls m = 1 entspricht dies einfach einer Durchschaltung des Signals, falls m = 2 dann werden die Signale N141, N142 verglichen. Dieser Vergleich kann synchron oder asynchron durchgeführt werden, er kann bitweise oder nur auf signifikante Bits oder auch mit einem Toleranzband durchgeführt werden.The Processing logic N120 then applies to each of the outputs N16i firmly, in what form the inputs contribute to this output signal. To exemplify the different variations to describe, is without limitation the general public assumed that the output N160 through the signals N141, ..., N14m is generated. If m = 1, this is easy a switching of the signal, if m = 2 then the signals N141, N142 compared. This comparison can be done synchronously or asynchronously, it can be bitwise or only on significant bits or even with one Tolerance band performed become.

Falls m >= 3 gibt es mehrere Möglichkeiten.If m> = 3 there are several Options.

Eine erste Möglichkeit besteht darin alle Signale zu vergleichen und bei Vorhandensein mindestens zweier verschiedener Werte einen Fehler zu detektieren, den man optional signalisieren kann.A first option consists in comparing all the signals and in the presence at least two different values to detect an error, which one can signal optional.

Eine zweite Möglichkeit besteht darin, dass man eine k aus m -Auswahl vornimmt (k >m/2). Diese kann durch Verwendung von Vergleichern realisiert werden. Optional kann ein Fehlersignal generiert werden, wenn eines der Signale als abweichend erkannt wird. Ein möglicherweise verschiedenes Fehlersignal kann generiert werden, wenn alle drei Signale verschieden sind.A second option consists in making a k out of m selection (k> m / 2). This can be through Use of comparators can be realized. Optionally, a Error signal generated when one of the signals as different is recognized. One maybe different error signal can be generated if all three Signals are different.

Eine dritte Möglichkeit besteht darin, diese Werte einem Algorithmus zuzuführen. Dies kann beispielsweise die Bildung eines Mittelwerts, eines Medianwert, oder die Verwendung eines fehlertoleranten Algorithmus (FTA) darstellen. Ein solcher FTA beruht darauf, Extremwerte der Eingangswerte wegzustreichen und eine Art der Mittelung über die restlichen Werte vorzunehmen. Diese Mittelung kann über die gesamte Menge der restlichen Werte, oder vorzugsweise über eine in HW leicht zu bildenden Teilmenge vorgenommen werden. In diesem Fall ist es nicht immer notwendig, die Werte tatsächlich zu vergleichen. Bei der Mittelwertbildung muss beispielsweise nur addiert und dividiert werden, FTM, FTA oder Median erfordern eine teilweise Sortierung. Gegebenenfalls kann auch hier bei hinreichend großen Extremwerten optional ein Fehlersignal ausgegeben werden Diese verschiedenen genannten Möglichkeiten der Verarbeitung mehrerer Signale zu einem Signal werden der Kürze wegen als Vergleichsoperationen bezeichnet.A third possibility is to apply these values to an algorithm. This For example, the formation of an average, a median, or the use of a Fault Tolerant Algorithm (FTA). Such an FTA relies on sweeping extremes of the input values and a kind of averaging over make the remaining values. This averaging can over the total amount of the remaining values, or preferably over one be made in HW easily formed subset. In this Case it is not always necessary to actually set the values to compare. For example, averaging only adds up and divide, FTM, FTA or median require a partial Sorting. If necessary, can also be here at sufficiently large extreme values optionally an error signal can be output These different mentioned options processing of multiple signals into one signal will be for brevity referred to as comparison operations.

Die Aufgabe der Verarbeitungslogik ist es also, die genaue Gestalt der Vergleichsoperation für jedes Ausgangssignal – und damit auch für die zugehörigen Eingangssignale – festzulegen. Die Kombination der Information der Schaltlogik N110 (d.h. die o.g. Funktion) und der Verarbeitungslogik (d.h. die Festlegung der Vergleichsoperation pro Ausgangssignal, d.h. pro Funktionswert) ist die Modusinformation und diese legt den Modus fest. Diese Information ist im allgemeinen Fall natürlich mehrwertig, d.h. nicht nur über ein logisches Bit darstellbar. Nicht alle theoretisch denkbaren Modi sind in einer gegebenen Implementierung sinnvoll, man wird vorzugsweise die Zahl der erlaubten Modi einschränken. Zu betonen ist, dass im Fall von nur zwei Ausführungseinheiten, wo es nur einen Vergleichsmodus gibt, die gesamte Information auf nur ein logisches Bit kondensiert werden kann.The The task of the processing logic is therefore to determine the exact shape of the Comparison operation for every output signal - and with it also for the associated Input signals - specify. The combination of information of the switching logic N110 (i.e., the above function) and the processing logic (i.e., the determination of the comparison operation per output, i. per function value) is the mode information and this sets the mode. This information is in general Case of course polyvalent, i. not just about a logical bit can be displayed. Not all theoretically conceivable Modes are useful in a given implementation, you will preferably restrict the number of allowed modes. To emphasize is that in the case of only two execution units, where there is only one comparison mode, all the information is on only one logical bit can be condensed.

Eine Umschaltung von einem Performanz- in einen Vergleichsmodus ist im allgemeinen Fall dadurch charakterisiert, dass Ausführungseinheiten, die im Performanzmodus auf verschiedene Ausgänge hin abgebildet werden, im Vergleichsmodus auf den gleichen Ausgang hin abgebildet werden. Vorzugsweise ist dies dadurch realisiert, dass es ein Teilsystem von Ausführungseinheiten gibt, bei dem im Performanzmodus alle Eingangssignale N14i, die im Teilsystem zu berücksichtigen sind, direkt auf korrespondierende Ausgangssignale N16i geschalten werden, während sie im Vergleichsmodus alle auf ein Ausgang hin abgebildet sind. Alternativ kann eine solche Umschaltung auch dadurch realisiert werden, dass Paarungen geändert werden. Es ist dadurch dargestellt, dass man im allgemeinen Fall nicht von dem Performanzmodus und dem Vergleichsmodus sprechen kann, obwohl man in einer gegebenen Ausprägung der Erfindung die Menge der erlaubten Modi so einschränken kann, dass dies der Fall ist. Man kann aber immer von einer Umschaltung vom Performanz- in den Vergleichsmodus (und umgekehrt) sprechen.Switching from a performance mode to a comparison mode is characterized in the general case by the fact that execution units that are displayed in the performance mode on different outputs are mapped in the compare mode to the same output. This is preferably realized in that there is a subsystem of execution units in which in the performance mode all input signals N14i to be considered in the subsystem are switched directly to corresponding output signals N16i while they are all mapped to one output in comparison mode. Alternatively, such switching can also be realized by changing pairings. It is represented by the fact that in the general case one can not speak of the performance mode and the comparison mode, although in a given form of the invention one can restrict the set of allowed modes such that this is the case. However, one can always speak of switching from the performance to the comparison mode (and vice versa).

Die Fehlerschaltungslogik N130 sammelt die Fehlersignale und kann optional die Ausgänge N16i passiv schalten, indem sie beispielsweise über einen Schalter unterbrochen werden.The Fault Logic N130 collects the error signals and can be optional the exits N16i passively, for example, interrupted by a switch become.

Das Modus Signal ist in einer allgemeinen Form in der 6 dargestellt. Die Signale und Komponenten N110, N120, N130, N140, N141, N142, N143, N14n, N160, N161, N162, N163, N16n der Umschalt- und Vergleichskomponente N200 haben die gleiche Bedeutung wie in der der Umschalt- und Vergleichskomponente N100 in 5. Darüber hinaus ist das Modussignal N150 und das Fehlersignal N170 in dieser Figur eingezeichnet. Das optionale Fehlersignal wird von der Fehlerschaltungslogik N130, die die Fehlersignale sammelt, generiert und ist entweder eine direkte Weiterleitung der Einzelfehlersignale oder eine Bündelung der darin enthaltenen Fehlerinformation. Das Modussignal N150 ist optional, seine Verwendung außerhalb dieser Komponente kann aber an vielen Stellen vorteilhaft verwendet werden. Die Kombination der Information der Schaltlogik N110 (d.h. die o.g. Funktion) und der Verarbeitungslogik (d.h. die Festlegung der Vergleichsoperation pro Ausgangssignal, d.h. pro Funktionswert) ist die Modusinformation und diese legt den Modus fest. Diese Information ist im allgemeinen Fall natürlich mehrwertig, d.h. nicht nur über ein logisches Bit darstellbar. Nicht alle theoretisch denkbaren Modi sind in einer gegebenen Implementierung sinnvoll, man wird vorzugsweise die Zahl der erlaubten Modi einschränken. Das Modussignal bringt dann die relevante Modusinformation nach außen. Eine HW-Implementierung ist vorzugsweise so dargestellt, dass das extern sichtbare Modussignal konfiguriert werden kann. Vorzugsweise sind ebenfalls die Verarbeitungslogik und die Schaltlogik konfigurierbar gestaltet. Vorzugsweise sind diese Konfigurationen aufeinander abgestimmt. Alternativ kann man auch nur oder ergänzend Änderungen des Modussignals nach außen geben. Dies hat insbesondere in einer Zweierkonfiguration Vorteile.The mode signal is in a general form in the 6 shown. The signals and components N110, N120, N130, N140, N141, N142, N143, N14n, N160, N161, N162, N163, N16n of the switching and comparison component N200 have the same meaning as those of the switching and comparison component N100 in FIG 5 , In addition, the mode signal N150 and the error signal N170 are drawn in this figure. The optional error signal is generated by fault circuit logic N130, which collects the error signals, and is either a direct forwarding of the single error signals or a bundling of the error information contained therein. The mode signal N150 is optional, but its use outside of this component can be used to advantage in many places. The combination of the information of the switching logic N110 (ie the above mentioned function) and the processing logic (ie the determination of the comparison operation per output signal, ie per function value) is the mode information and this sets the mode. Of course, in the general case this information is multivalued, ie not representable only via a logical bit. Not all the theoretically conceivable modes are useful in a given implementation, it is preferable to restrict the number of modes allowed. The mode signal then brings the relevant mode information to the outside. An HW implementation is preferably shown so that the externally visible mode signal can be configured. Preferably, the processing logic and circuitry are also configured to be configurable. Preferably, these configurations are coordinated. Alternatively, one can give only or additionally changes of the mode signal to the outside. This has advantages especially in a two-configuration.

Im Folgenden wird hauptsächlich ein System mit zwei Ausführungseinheiten beschrieben. In 1 ist ein Zweiprozessorsystem dargestellt. Falls sich das Zweiprozessorsystem in einem Performanzmodus befindet, werden auf den verschiedenen Ausführungseinheiten G140a und G140 diesem Modus entsprechend unterschiedliche Befehle, Programmsegmente oder Programme berechnet. Die Kopplung zwischen den Prozessoren ist dabei nur lose gegeben. In diesem Fall werden die Ausführungseinheiten G140a und G140b vorzugsweise über die Debug-Unterstützungseinheiten G100a und G100b und über die Debug Schnittstellen G120a und G120b „debuggt". Dabei wird die Ausführungseinheit G140a über die Debug Schnittstelle G120a und die Debug-Unterstützungseinheit G100a „debuggt". Die Ausführungseinheit G140b wird über die Debug Schnittstellen G120b und die Debug-Unterstützungseinheiten G100b „debuggt". Dies bedeutet, dass über diese Einheiten und über weitere, nicht eingezeichnete Kommunikationseinrichtungen, die internen Zustände, insbesondere interne Register der Ausführungseinheiten, einem externen Programm (einem sogenannten „Debugger"), das auf einem sogenannten Host Rechner abgearbeitet wird, übermittelt werden. Dies geschieht, der Natur des „debuggen" gemäß, während der Abarbeitung von Programmen auf den zu „debuggenden" Ausführungseinheiten G140a, G140b. Der Debugger ist gemäß der allgemeinen Funktionsweise eines „Debuggers", neben dem Beobachten von Zuständen, auch dazu in der Lage, die internen Zustände der zu „debuggenden" Ausführungseinheiten G140a und G140b über die Schnittstellen G120a und G120 sowie den Debug-Unterstützungseinheiten G100a und G100b zu verändern, diese anzuhalten, oder nach einem Anhalten, diese auch wieder zu starten.The following mainly describes a system with two execution units. In 1 a two-processor system is shown. If the two-processor system is in a performance mode, different instructions, program segments or programs are calculated on the different execution units G140a and G140 in accordance with this mode. The coupling between the processors is given only loosely. In this case, the execution units G140a and G140b are preferably debugged via the debug support units G100a and G100b and via the debug interfaces G120a and G120b, where the execution unit G140a is "debugged" via the debug interface G120a and the debug support unit G100a. The execution unit G140b is "debugged" via the debug interfaces G120b and the debug support units G100b This means that via these units and via other communication facilities not shown, the internal states, in particular internal registers of the execution units, an external program (a so-called "Debugger"), which is processed on a so-called host computer, are transmitted. This is done in accordance with the nature of "debugging" during execution of programs on the "debug" execution units G140a, G140b. The debugger, in accordance with the general operation of a "debugger", besides monitoring states, is also capable of the internal states of the "debug" execution units G140a and G140b via the interfaces G120a and G120 and the debug support units G100a and G100b to change it, to stop it, or after a stop, to start it again.

Im Vergleichsmodus bearbeiten die Ausführungseinheiten G140a und G140b in einer bevorzugten Variante die gleichen Befehle taktsynchron oder mit einem definierten Taktversatz. Die Ausgangssignale der Ausführungseinheiten G140a und G140b werden dem Vergleichsmodus entsprechend verglichen. Bei einem Unterschied dieser Signale wird auf einen Fehler erkannt. Falls in diesem Modus eine Veränderung der internen Zustände oder ein Anhalten der Ausführungseinheiten G140a und G140b über eine der Debug-Unterstützungseinheiten G100a und G100b erfolgt, wird vom Vergleicher (nicht in der Figur dargestellt) auf einen Fehler erkannt. In diesem Fall wird bevorzugt das „Debugging" der Ausführungseinheiten G140a und G140b über die Debug-Unterstützungseinheiten G110 und die Debug Schnittstellen G130a und G130b erfolgen. Dabei wird die Ausführungseinheit G140a über die Debug Schnittstelle G130a, und die Ausführungseinheit G140b über die Debug Schnittstellen G130b von der Debug-Unterstützungseinheiten G110 „debuggt". Die Debug-Unterstützungseinheit G110 ist dazu in der Lage, die Zustände der beiden Ausführungseinheiten G140a und G140b gleichzeitig anzuzeigen. Sie kann auch gleichzeitig Zustände ändern, die Ausführungseinheiten anhalten oder wieder anstarten. In diesem Fall verhalten sich die Ausführungseinheiten G140a und G140b auch bei einem Eingriff aus Debugging Gründen synchron, so dass kein Unterschied entsteht, den der Vergleicher erkennt.In the compare mode, the execution units G140a and G140b in a preferred variant process the same commands clock-synchronously or with a defined clock offset. The output signals of execution units G140a and G140b are compared according to the comparison mode. If these signals differ, an error is detected. In this mode, if a change in the internal states or a stop of the execution units G140a and G140b occurs via one of the debug support units G100a and G100b, the comparator (not shown in the figure) detects an error. In this case, it is preferable to "debug" the execution units G140a and G140b via the debug support units G110 and the debug interfaces G130a and G130b, where the execution unit G140a is accessed via the debug interface G130a, and the execution unit G140b is accessed via the debug interfaces G130b of FIG debugging G110 debug support units. The debug support unit G110 is capable of simultaneously displaying the states of the two execution units G140a and G140b. It can also change states at the same time, stop or restart the execution units. In this Case, the execution units G140a and G140b behave synchronously even during an intervention for debugging reasons, so that no difference arises, which recognizes the comparator.

Diesem Vorschlag liegt damit die konzeptionelle Idee zu Grunde, dass es sich bei einem Zweiprozessorsystem, die im Betrieb zwischen einem Performanz- und einem Vergleichsmodus umschalten können, um drei getrennt zu „debuggende" Einheiten handelt. Im Performanzmodus sind dabei die Ausführungseinheiten G140a und G140b als separate Ausführungseinheiten zu betrachten, im Vergleichsmodus ist der synchrone Betrieb dieser beiden Ausführungseinheiten als eine logische Ausführungseinheit G150 zu behandeln. Entsprechend diesem Konzept wird für die logische Ausführungseinheit G150 eine separate Debug-Unterstützungseinheiten G110 eingesetzt. Diese Debug-Unterstützungseinheiten G110 ist dabei dazu in der Lage, gleichzeitig die beiden physikalischen Ausführungseinheiten G140a und G140b über die Debug Schnittstellen G130a und G130b zu beeinflussen und die Zustände dieser einem externen Programm („Debugger") zur Verfügung zu stellen.this Suggestion is based on the conceptual idea that it in a two-processor system that operates between a performance and switch to a compare mode, being three separate "debug" units. In the performance mode, the execution units are G140a and G140b as separate execution units to look at, in the comparison mode is the synchronous operation of this both execution units as a logical execution unit To treat G150. According to this concept is for the logical execution unit G150 a separate debug support units G110 used. These debug support units G110 is included capable of doing so, the two physical execution units simultaneously G140a and G140b over to affect the debug interfaces G130a and G130b and the states of these an external program ("debugger") put.

In einer Verallgemeinerung des Beispiels von 1 kann jede der Ausführungseinheiten G140a und G140b auch als eine Komponente ausgeführt sein, die mehrere Ausführungseinheiten enthält, die fest miteinander verschaltet sind und in einem bestimmten Modus (zum Beispiel einem Vergleichsmodus) miteinander zusammenarbeiten. Diese Komponente unterscheidet sich bezüglich der Ein- und Ausgangssignale nicht grundsätzlich von einer Ausführungseinheit, sondern gibt ggf. nur zusätzliche Signale, wie ein Fehler- oder mehrere Statussignale aus und hat möglicherweise zusätzliche Eingangssignale zu Testzwecken. Eine solche Komponente kann auch in allen folgenden Varianten eine Ausführungseinheit ersetzen.In a generalization of the example of 1 For example, each of the execution units G140a and G140b may also be implemented as a component that includes a plurality of execution units that are hard-wired together and that cooperate with each other in a particular mode (for example, a compare mode). This component does not fundamentally differ from an execution unit with respect to the input and output signals, but optionally outputs only additional signals, such as an error or several status signals, and possibly has additional input signals for test purposes. Such a component can also replace an execution unit in all following variants.

In einer Erweiterung, wie in den Zeichnungen 2, 3, 4 dargestellt, wird zusätzlich zu der Debug-Unterstützungseinheit G110 eine Debug-Unterstützungsmanagementeinheit G170 vorgeschlagen. 2 stellt dabei den allgemeinen Fall dar, in 3 wird die Ausprägung im Performanzmodus detailliert dargestellt, in 4 wird die Ausprägung im Vergleichsmodus detailliert dargestellt.In an extension, as in the drawings 2 . 3 . 4 1, a debug support management unit G170 is proposed in addition to the debug support unit G110. 2 represents the general case in 3 the characteristic is displayed in detail in the performance mode, in 4 the characteristic is shown in detail in comparison mode.

Die Debug-Unterstützungsmanagementeinheit G170 stellt per Hardware, abhängig vom Modus, in dem das System arbeitet, sicher, dass nur die Debug-Unterstützungseinheiten benutzt werden, die in diesem Modus auch sinnvoll zu benutzen sind. Die Debug-Unterstützungsmanagementeinheit G170 benutzt dazu ein Core Modus Signal G180 (entspricht N150 aus 6), das von einer Umschalt- und Vergleichseinheit G200 (entspricht N200 aus 6) geliefert wird.The debug support management unit G170, by hardware, depending on the mode in which the system operates, ensures that only the debug support units that are also useful in this mode are used. The debug support management unit G170 uses a core mode signal G180 (corresponding to N150) 6 ), which consists of a switchover and comparison unit G200 (corresponds to N200 6 ) is delivered.

In einer bevorzugten Implementierung wird die Debug-Unterstützungsmanagementeinheit G170 im Performanzmodus nur ein „Debugging" der Ausführungseinheiten G140a und G140b erlauben. Sie benutzt dazu die Debug-Unterstützungseinheiten G100a und G100b sowie die Debug Schnittstellen G120a, G190a und G120b, G190b.In One preferred implementation is the debug support management unit G170 in performance mode only a "debugging" of the execution units G140a and G140b allow. It uses the debug support units G100a and G100b as well as the debug interfaces G120a, G190a and G120b, G190b.

Im Vergleichsmodus erlaubt die Debug-Unterstützungsmanagementeinheit G170 dagegen ein „debugging" der logischen Ausführungseinheit G150 nur über die Debug-Unterstützungseinheit G110. Die logische Ausführungseinheit G150 besteht dabei aus den Ausführungseinheiten G140a und G140b. Die Debug-Unterstützungseinheit G110 verwendet dabei nur die Debug Schnittstellen G160 und G190a zum Debuggen von Ausführungseinheit G140a, und sie verwendet nur die Debug Schnittstellen G160 und G190b zum Debuggen von Ausführungseinheit G140b.in the Comparison mode allows debug support management unit G170 a "debugging" of the logical execution unit G150 only about the debug support unit G110. The logical execution unit G150 consists of the execution units G140a and G140b. The debug support unit G110 is used only the debug interfaces G160 and G190a for debugging execution unit G140a, and it only uses the debug interfaces G160 and G190b for debugging execution unit G140b.

Für das vorgeschlagene Mehrprozessorsystem wird ein Debug Mechanismus und eine Debug Hardware vorgeschlagen, die es ermöglicht, die Ausführungseinheiten entsprechend den Anforderungen die sich aus dem Modus (Performanz oder Vergleichsmodus) ergeben, zu debuggen. Bekannt sind Debuglösungen für ein SMP System in dem die Ausführungseinheiten immer getrennt voneinander verschiedene Aufgaben erfüllen, ebenso bekannt sind Lösungen für Systeme im reinen Vergleichsmodus.For the proposed Multiprocessor system becomes a debug mechanism and a debug hardware proposed, which makes it possible to the execution units according to the requirements arising from the mode (performance or compare mode) to debug. Debugging solutions for an SMP are known System in which the execution units always separate from each other to fulfill different tasks, as well Solutions are known for systems in pure comparison mode.

Die hier beschriebene Erfindung unterscheidet sich dabei vom Stand der Technik indem die Debugmechanismen und die Debughardware and die Umschaltung der Ausführungseinheiten im Betrieb zwischen einem Performanzmodus und einem Vergleichsmodus angepasst werden.The The invention described here differs from the prior art Technique by debugging mechanisms and debug hardware and switching the execution units in operation between a performance mode and a comparison mode be adjusted.

Claims (20)

Vorrichtung zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten, die in mindestens zwei verschiedenen Modi in dem Rechnersystem konfigurierbar sind, wobei wenigstens zwei Ausführungseinheiten in einem Performanzmodus als einem ersten Modus arbeiten und mindestens ein zweiter Modus als Vergleichsmodus vorgesehen ist und dass zur Analyse von Zuständen und Abläufen in allen Ausführungseinheiten Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten, verwendet werden, dadurch gekennzeichnet, dass die Vorrichtung wenigstens eine Analyseeinheit mehr enthält als die maximale Anzahl der Ausführungseinheiten, die im Performanzmodus unabhängig voneinander arbeiten.Apparatus for analyzing processes in a computer system having a plurality of execution units that are configurable in at least two different modes in the computer system, wherein at least two execution units operate in a performance mode as a first mode and at least a second mode is provided as a comparison mode and that for the analysis of States and processes in all execution units analysis units, in particular debug support units, are used, characterized in that the device contains at least one analysis unit more than the maximum number of execution units that operate independently in the performance mode. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass allen Ausführungseinheiten, die in mindestens einem ersten Modus nicht mit anderen Ausführungseinheiten in einem Vergleichsmodus zusammenarbeiten, jeweils eine Analyseeinheit zugeordnet ist, die die Zustände und Abläufe in dieser Ausführungseinheit beobachten und/oder beeinflussen kann.Apparatus according to claim 1, characterized ge indicates that all execution units which do not cooperate with other execution units in a comparison mode in at least one first mode are each assigned an analysis unit which can observe and / or influence the states and sequences in this execution unit. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vorrichtung derart gestaltet ist, dass in mindestens einem zweiten Modus des Rechnersystems mindestens zwei Ausführungseinheiten als ein temporäres Teilsystem in einem Vergleichsmodus zusammenarbeiten und diesem Teilsystem eine weitere Analyseeinheit zugeordnet ist, die die Zustände und Abläufe in diesem Teilsystem beobachten und/oder beeinflussen kann.Device according to claim 1, characterized in that that the device is designed such that in at least one second mode of the computer system at least two execution units as a temporary one Subsystem work together in a comparison mode and this Subsystem is associated with a further analysis unit, the states and procedures observe and / or influence in this subsystem. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass durch mindestens ein Modus Signal, insbesondere Core Modus Signal, eine Umschaltung der Aktivität wenigstens einer Analyseeinheit erfolgt.Device according to one of claims 1 to 3, characterized that the device is designed such that at least a mode signal, in particular a core mode signal, a switchover the activity at least one analysis unit takes place. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass durch Steuersignale mindestens einer Analyseeinheit eine Umschaltung der Aktivität wenigstens einer anderen Analyseeinheit erfolgt.Device according to one of claims 1 to 3, characterized that the device is designed such that by control signals at least one analysis unit, a switching of the activity at least another analysis unit. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass eine synchrone Beobachtung und Beeinflussung der Zustände und Abläufe aller Ausführungseinheiten des Teilsystems, das in einem Vergleichsmodus zusammenarbeitet, durch die Analyseeinheit möglich ist.Device according to claim 3, characterized in that that the device is designed such that a synchronous Observing and influencing the states and processes of all execution units of the subsystem that cooperates in a comparison mode, possible through the analysis unit is. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass zusätzliche Mittel enthalten sind, die eine Aktivierung und/oder Deaktivierung von Analyseeinheiten abhängig von den Betriebsmodi des Rechnersystems und/oder weiteren vorgebbaren Bedingungen ermöglichen.Device according to one of claims 1 to 3, characterized that extra Means are included that include activation and / or deactivation dependent on analysis units from the operating modes of the computer system and / or further predefinable Conditions allow. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass in einem Vergleichsmodus eines Teilsystems die dem Teilsystem zugeordnete Analyseeinheit aktiv ist und die Analyseeinheiten der dem Teilsystem zugeordneten Ausführungseinheiten nicht aktiv sind.Device according to claim 3, characterized in that that the device is designed such that in a comparison mode a subsystem, the analysis unit associated with the subsystem is active and the analysis units of the execution units assigned to the subsystem are not active. Vorrichtung nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass zusätzlich Zustände oder einzelne Einganssignale der Ausführungseinheiten und/oder der Vergleichsmittel von mindestens einer Analyseeinheit beeinflusst werden können und die Zustände oder Ausgangssignale dieser beeinflussten Einheiten von dieser oder einer anderen Analyseeinheit beobachtbar sind.Apparatus according to claim 4 or 5, characterized that in addition conditions or individual input signals of the execution units and / or the Comparative means influenced by at least one analysis unit can be and the states or output signals of these affected units from this or can be observed by another analysis unit. Rechnersystem mit einer Vorrichtung nach einem der Ansprüche 1 bis 9.Computer system with a device according to one of claims 1 to 9. Verfahren zur Analyse von Abläufen in einem Rechnersystem mit mehreren Ausführungseinheiten, die in mindestens zwei verschiedenen Modi in dem Rechnersystem konfigurierbar sind, wobei wenigstens zwei Ausführungseinheiten in einem Performanzmodus als einem ersten Modus arbeiten und mindestens ein zweiter Modus als Vergleichsmodus vorgesehen ist und dass zur Beobachtung und/oder Beeinflussung von Zuständen und Abläufen in allen Ausführungseinheiten Analyseeinheiten, insbesondere Debug-Unterstützungseinheiten, verwendet werden, dadurch gekennzeichnet, dass die Vorrichtung wenigstens eine Analyseeinheit mehr enthält als die maximale Anzahl der Ausführungseinheiten, die im Performanzmodus unabhängig voneinander arbeiten, wobei die Analyseeinheiten die Zustände und Abläufe in den Ausführungseinheiten beobachten und/oder beeinflussen können.Method for analyzing processes in a computer system with multiple execution units, the configurable in at least two different modes in the computer system are, wherein at least two execution units work in a performance mode as a first mode and at least a second mode is provided as a comparison mode and that for Observation and / or influence of states and processes in all execution units Analysis units, in particular debug support units, are used characterized in that the device comprises at least one analysis unit contains more as the maximum number of execution units, independent in performance mode work from each other, the analysis units the states and processes in the execution units observe and / or influence. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass allen Ausführungseinheiten, die in mindestens einem ersten Modus nicht mit anderen Ausführungseinheiten in einem Vergleichsmodus zusammenarbeiten, jeweils eine Analyseeinheit zugeordnet ist, die die Zustände und Abläufe in dieser Ausführungseinheit beobachten und/oder beeinflussen kann.Method according to claim 11, characterized in that that all execution units, in at least a first mode, not with other execution units work together in a comparison mode, one analysis unit each is assigned to the states and processes in this execution unit observe and / or influence. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass in mindestens einem zweiten Modus des Rechnersystems mindestens zwei Ausführungseinheiten als ein temporäres Teilsystem in einem Vergleichsmodus zusammenarbeiten und diesem Teilsystem eine weitere Analyseeinheit zugeordnet ist, die die Zustände und Abläufe in diesem Teilsystem beobachten und/oder beeinflussen kann.Method according to claim 11, characterized in that in at least one second mode of the computer system at least two execution units as a temporary one Subsystem work together in a comparison mode and this Subsystem is associated with a further analysis unit, the states and procedures observe and / or influence in this subsystem. Verfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass durch mindestens ein Modus Signal, insbesondere Core Modus Signal, eine Umschaltung der Aktivität wenigstens einer Analyseeinheit erfolgt.Method according to one of claims 11 to 13, characterized that through at least one mode signal, especially core mode Signal, a switchover of the activity of at least one analysis unit he follows. Verfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass durch Steuersignale mindestens einer Analyseeinheit eine Umschaltung der Aktivität wenigstens einer anderen Analyseeinheit erfolgt.Method according to one of claims 11 to 13, characterized that by control signals of at least one analysis unit, a switching the activity at least one other analysis unit takes place. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass eine Beobachtung und/oder Beeinflussung der Zustände und Abläufe aller Ausführungseinheiten des Teilsystems, das in einem Vergleichsmodus zusammenarbeitet, durch die Analyseeinheit synchron erfolgt.A method according to claim 13, characterized in that an observation and / or influencing of the states and processes of all execution units of the subsystem, which cooperates in a comparison mode, by the Analy unit synchronously. Verfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass eine Aktivierung und/oder Deaktivierung von Analyseeinheiten abhängig von den Betriebsmodi des Rechnersystems und/oder weiteren vorgebbaren Bedingungen vorgenommen wird.Method according to one of claims 11 to 13, characterized that activation and / or deactivation of analysis units dependent from the operating modes of the computer system and / or further predefinable Conditions is made. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die Aktivierung und/oder Deaktivierung durch in Hardware implementierte Mittel erfolgt, die Teil des Rechnersystems sind.Method according to claim 17, characterized in that that the activation and / or deactivation implemented by in hardware Means that are part of the computer system. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass in einem Vergleichsmodus eines Teilsystems die dem Teilsystem zugeordnete Analyseeinheit aktiv ist und die Analyseeinheiten der dem Teilsystem zugeordneten Ausführungseinheiten nicht aktiv sind.Method according to claim 13, characterized in that that in a comparison mode of a subsystem that the subsystem assigned analysis unit is active and the analysis units of the the execution unit associated with the subsystem are not active. Verfahren nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass zusätzlich Zustände oder einzelne Einganssignale der Ausführungseinheiten und/oder der Vergleichsmittel von mindestens einer Analyseeinheit beeinflusst werden und die Zustände oder Ausgangssignale dieser beeinflussten Einheiten von dieser oder einer anderen Analyseeinheit beobachtbar sind.Method according to claim 14 or 15, characterized that in addition States or individual input signals of the execution units and / or the comparison means of at least one analysis unit be affected and the states or output signals of these affected units from this or can be observed by another analysis unit.
DE200510037232 2005-08-08 2005-08-08 Method and device for analyzing processes in a computer system with several execution units Withdrawn DE102005037232A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE200510037232 DE102005037232A1 (en) 2005-08-08 2005-08-08 Method and device for analyzing processes in a computer system with several execution units
EP06777995A EP1917596A1 (en) 2005-08-08 2006-07-26 Method and device for analyzing processes in a computer system having a plurality of execution units
CNA2006800294530A CN101243411A (en) 2005-08-08 2006-07-26 Method and device for analyzing processes in a computer system having a plurality of execution units
JP2008525523A JP2009506408A (en) 2005-08-08 2006-07-26 Method and apparatus for analyzing a process in a computer system having a plurality of execution units
PCT/EP2006/064694 WO2007017388A1 (en) 2005-08-08 2006-07-26 Method and device for analyzing processes in a computer system having a plurality of execution units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510037232 DE102005037232A1 (en) 2005-08-08 2005-08-08 Method and device for analyzing processes in a computer system with several execution units

Publications (1)

Publication Number Publication Date
DE102005037232A1 true DE102005037232A1 (en) 2007-02-15

Family

ID=37114444

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510037232 Withdrawn DE102005037232A1 (en) 2005-08-08 2005-08-08 Method and device for analyzing processes in a computer system with several execution units

Country Status (5)

Country Link
EP (1) EP1917596A1 (en)
JP (1) JP2009506408A (en)
CN (1) CN101243411A (en)
DE (1) DE102005037232A1 (en)
WO (1) WO2007017388A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117813A (en) * 2008-11-12 2010-05-27 Nec Electronics Corp Debugging system, debugging method, debugging control method, and debugging control program
CN101944061B (en) * 2010-09-15 2012-09-12 青岛海信移动通信技术股份有限公司 Method and device for debugging codes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4129614C2 (en) * 1990-09-07 2002-03-21 Hitachi Ltd System and method for data processing
JPH07113912B2 (en) * 1991-05-31 1995-12-06 富士ゼロックス株式会社 Debug method for distributed information processing system
JPH05257710A (en) * 1991-08-12 1993-10-08 Advanced Micro Devicds Inc System for giving internal execution parameter and array for verifying instruction to be executed by processor
JPH0934736A (en) * 1995-07-19 1997-02-07 Nec Corp Operation switching controller
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
ATE407401T1 (en) * 2004-10-25 2008-09-15 Bosch Gmbh Robert METHOD AND DEVICE FOR GENERATING A MODE SIGNAL IN A COMPUTER SYSTEM WITH MULTIPLE COMPONENTS

Also Published As

Publication number Publication date
EP1917596A1 (en) 2008-05-07
WO2007017388A1 (en) 2007-02-15
CN101243411A (en) 2008-08-13
JP2009506408A (en) 2009-02-12

Similar Documents

Publication Publication Date Title
EP1812857B1 (en) Device and method for mode switching in a computer system comprising at least two execution units
EP1812858B1 (en) Method and device for generating a mode signal in a computer system comprising a plurality of components
EP1820093B1 (en) Method and device for switching in a computer system comprising at least two execution units
EP1812856B1 (en) Method and device for evaluating a signal of a computer system comprising at least two execution units
DE102005037230A1 (en) Method and device for monitoring functions of a computer system
EP1807764A2 (en) Device and method for switching between modes in a computer system having at least two execution units
WO2006045806A2 (en) Method and device for controlling a computer system
EP1810146B1 (en) Method and device for separating the processing of program codes in a computer system comprising at least two execution units
WO2006045781A2 (en) Vorrichtung und verfahren zur modusums- chaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
EP1817662B1 (en) Method and device for switching between operating modes of a multiprocessor system by means of at least an external signal
DE102005037232A1 (en) Method and device for analyzing processes in a computer system with several execution units
DE102005037223A1 (en) Access mode units switching method for motor vehicle, involves providing set of defined bit combinations for execution units, and triggering switching by combination that is not defined in set
DE102006004988A1 (en) Flow analysis device for analyzing flows in a computer system has multiple executive units configured in two or more different modes in the computer system
EP1915674B1 (en) Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states
DE102005037261A1 (en) Mode signal generation for use in computer system involves producing mode signal indicating current operating mode of computer system and changes in mode signal in one of components of computer system
DE102010031017A1 (en) Program flow monitoring method for e.g. microprocessor utilized in technical application, involves dividing program into atomic units and modifying signature using modification points utilized for hopping in program flow
WO2007017363A1 (en) Method and device for switching in a computer system having at least two execution units by way of bit information in a register
DE102005037259A1 (en) Method and device for determining a start state in a computer system having at least two execution units by switching register sets
DE102005037212A1 (en) Method for separating processing of program codes in computer system involves switching between first operating mode which corresponds to comparison mode and second operating mode which corresponds to performance mode
EP1917594A2 (en) Method and device for processing data items and/or instructions
DE102005037224A1 (en) Device for switching in computer system has two execution units, means provided for recognizing desired switching between modes which control the changeover switch to switch from one operating mode to another
DE102005037229A1 (en) Operating modes switching method for use in computer system, involves connecting execution units to bus in performance mode, and disconnecting one unit from bus by switch controlled by changeover switch, when switching between modes
DE102005037225A1 (en) Method for switching in computer system involves two execution units whereby in an undefined state computer system assumes second state which corresponds to performance mode
DE102005037220A1 (en) Operating modes switching method for use in computer system, involves providing interruption controller and three memory regions, and carrying out access to regions such that one memory region is associated with two execution units
DE102005037237A1 (en) Device for switching in computer system has two execution units, whereby programmable interruption controller is associated with each execution unit, and memory element in which information of parts of interruption controller is stored

Legal Events

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