DE102016211440A1 - A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool - Google Patents

A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool Download PDF

Info

Publication number
DE102016211440A1
DE102016211440A1 DE102016211440.9A DE102016211440A DE102016211440A1 DE 102016211440 A1 DE102016211440 A1 DE 102016211440A1 DE 102016211440 A DE102016211440 A DE 102016211440A DE 102016211440 A1 DE102016211440 A1 DE 102016211440A1
Authority
DE
Germany
Prior art keywords
processor
configuration
core
file
real
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
DE102016211440.9A
Other languages
German (de)
Inventor
Kevin Müller
Frank Müller
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 DE102016211440.9A priority Critical patent/DE102016211440A1/en
Publication of DE102016211440A1 publication Critical patent/DE102016211440A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Abstract

Es ist ein Konfigurations- und Anzeigewerkzeug (8) für einen Mehrkernprozessor (5) und ein Verfahren zum Konfigurieren eines Mehrkernprozessors (5) für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug (8) bereitgestellt. Der Mehrkernprozessor (5) hat mindestens zwei Prozessorkerne (50, 51, 52, 53) zur Verarbeitung von Daten (11, 21, 31) eines automatisierten Prozesses ist über einen Bus (4; 58) an mindestens zwei Geräte (10, 20, 30) angeschlossen, die die Daten (11, 21, 31) des automatisierten Prozesses bereitstellen oder anfordern. Das Konfigurations- und Anzeigewerkzeug (8) umfasst eine Erstelleinrichtung (81) zur Erstellung einer Bedienoberfläche (82) für einen Benutzer (9), und eine Dateierzeugungseinrichtung (83) zur Erzeugung einer Datei (831), in welcher eine mit der Bedienoberfläche (82) eingestellte Konfiguration des Mehrkernprozessors (5) gespeichert ist, wobei die Erstelleinrichtung (81) eingerichtet ist, die Bedienoberfläche (82) auszugestalten mit mindestens einem Anzeige-/Bedienbereich (820, 821, 822, 823), der ausgestaltet ist zur Anzeige eines ersten Felds (820A, 821A, 822A, 823A) zur Wiedergabe eines aktuellen Zustands einer Konfiguration von mindestens einem einzelnen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5), wobei die Konfiguration eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns (50, 51, 52, 53) und/oder eine Aussage über eine Zuordnung zu dem einzelnen Prozessorkern (50, 51, 52, 53) von Unterbrechungsanforderungen (12, 22, 32; 12, 22, 320) von Geräten (10, 20, 30, 54) aufweist, die über einen Bus (4; 58) mit dem Mehrkernprozessor (5) verbunden sind, und eines zweiten Felds (820B, 821B, 822B, 823B), mittels welchem der Benutzer (9) einen gewünschten Zustand der mit dem mindestens einen Anzeige-/Bedienbereich (820, 821, 822, 823) angezeigten Konfiguration für zumindest einen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5) einstellen kann.There is provided a multicore processor configuration and display tool (8) (5) and a method of configuring a multicore processor (5) for an automated process with a configuration and display tool (8). The multicore processor (5) has at least two processor cores (50, 51, 52, 53) for processing data (11, 21, 31) of an automated process via a bus (4, 58) to at least two devices (10, 20, 30) providing or requesting the data (11, 21, 31) of the automated process. The configuration and display tool (8) comprises a setting device (81) for creating a user interface (82) for a user (9), and a file generating device (83) for generating a file (831), in which a with the user interface (82 ) configured configuration of the multi-core processor (5) is stored, wherein the setting device (81) is adapted to configure the user interface (82) with at least one display / operating area (820, 821, 822, 823), which is configured to display a first Field (820A, 821A, 822A, 823A) for displaying a current state of a configuration of at least one single processor core (50, 51, 52, 53) of the multi-core processor (5), the configuration providing a real-time or non-real-time statement Application of the single processor core (50, 51, 52, 53) and / or a statement about an allocation to the single processor core (50, 51, 52, 53) of interrupt requests (12, 22, 32, 1 2, 22, 320) of devices (10, 20, 30, 54) connected via a bus (4; 58) are connected to the multicore processor (5), and a second field (820B, 821B, 822B, 823B), by means of which the user (9) a desired state of the at least one display / operating area (820, 821, 822 , 823) for at least one processor core (50, 51, 52, 53) of the multi-core processor (5).

Description

Die vorliegende Erfindung bezieht sich auf ein Konfigurations- und Anzeigewerkzeug für einen Mehrkernprozessor und ein Verfahren zum Konfigurieren eines Mehrkernprozessors für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug. The present invention relates to a multi-core processor configuration and display tool and method for configuring a multi-core processor for an automated process with a configuration and display tool.

Bei technischen Geräten oder bei einer Automatisierungsanlage ist eine Vielzahl von einzelnen Komponenten kommunikationstechnisch miteinander verbunden. Hierbei hat jede einzelne Komponente mindestens eine Aufgabe zu erfüllen. Die Aufgabe kann beispielsweise eine Vorbedingung für die Durchführung einer Aufgabe einer anderen Komponente des technischen Geräts oder der Automatisierungsanlage sein. Demzufolge kann die andere Komponente, wie beispielsweise eine Erstelleinrichtung, ihre Aufgabe erst ausführen, wenn beispielsweise eine Erfassungseinrichtung eine physikalische Größe erfasst hat, usw. In the case of technical devices or in the case of an automation system, a multiplicity of individual components are connected to each other in terms of communication technology. Each individual component has to fulfill at least one task. The task may be, for example, a prerequisite for performing a task of another component of the technical device or the automation system. As a result, the other component, such as a builder, may perform its task only when, for example, a detector has detected a physical quantity, and so on.

Daraus ergibt sich eine vorbestimmte Abhängigkeit zwischen den einzelnen Komponenten des technischen Geräts oder der Automatisierungsanlage. Probleme entstehen, wenn die Erledigung von durchzuführenden Aufgaben bestimmte Zeitvorgaben zu erfüllen hat. Solche Aufgaben werden auch als zeitkritische Aufgaben bezeichnet. This results in a predetermined dependence between the individual components of the technical device or the automation system. Problems arise when the execution of tasks to be performed has to fulfill certain time requirements. Such tasks are also called time-critical tasks.

Als Lösung in dieser Hinsicht werden schnelle Prozessoren eingesetzt, welche je nach Ausführung Aufgaben auch in Echtzeit erledigen können. Der Begriff „Echtzeit“ ist in der DIN ISO/IEC 2382 definiert und bezieht sich auf den Betrieb informationstechnischer Systeme, die Daten so verarbeiten können, dass die Ergebnisse der Verarbeitung innerhalb einer vorgegeben Zeitdauer bereitstehen, wie beispielsweise in einem festen Zeitraster. As a solution in this regard, fast processors are used, which can perform tasks depending on the execution of tasks in real time. The term "real time" is in the DIN ISO / IEC 2382 defines and relates to the operation of information technology systems that can process data such that the results of the processing are available within a predetermined period of time, such as in a fixed time frame.

Derzeit werden als schnelle Prozessoren für die Ausführung von Echtzeitaufgaben oft Mehrkernprozessoren eingesetzt, die auch Multicoreprozessoren genannt werden. Hierbei kann ein Zeitgewinn bei der Verarbeitung der Daten erfolgen, indem die Last für die Verarbeitung der Daten auf die verschiedenen Kerne des Mehrkernprozessors aufgeteilt wird. Currently, fast processors for real-time tasks often use multi-core processors, also called multicore processors. This can save time in processing the data by dividing the load for processing the data on the various cores of the multi-core processor.

Es hat sich jedoch gezeigt, dass es bei heutigen Automatisierungs- oder Netzwerklösungen mit Mehrkernprozessoren in der Regel zu erhöhten Peripherie-Interrupt-Latenzen kommt. Dies führt zu einer nicht optimalen Ausnutzung der Leistungsfähigkeit des Prozessorsystems. However, it has been shown that in today's automation or network solutions with multi-core processors usually leads to increased peripheral interrupt latencies. This leads to a non-optimal utilization of the performance of the processor system.

Daher ist es Aufgabe der vorliegenden Erfindung, ein Konfigurations- und Anzeigewerkzeug für einen Mehrkernprozessor und ein Verfahren zum Konfigurieren eines Mehrkernprozessors für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug bereitzustellen, mit welchen die zuvor genannten Probleme gelöst werden können. Insbesondere sollen ein Konfigurations- und Anzeigewerkzeug für einen Mehrkernprozessor und ein Verfahren zum Konfigurieren eines Mehrkernprozessors für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug bereitgestellt werden, welche eine Konfiguration ermöglichen, mit der eine zeitlich optimierte Abarbeitung von Daten des automatisierten Prozesses realisiert wird. Therefore, it is an object of the present invention to provide a multicore processor configuration and display tool and method for configuring a multicore processor for an automated process with a configuration and display tool that can solve the aforementioned problems. In particular, a multi-core processor configuration and display tool and method for configuring a multi-core processor for an automated process with a configuration and display tool are provided which enable a configuration to realize time-optimized data processing of the automated process.

Die genannte Aufgabe wird durch ein Konfigurations- und Anzeigewerkzeug für einen Mehrkernprozessor nach Anspruch 1 gelöst. Der Mehrkernprozessor hat mindestens zwei Prozessorkerne zur Verarbeitung von Daten eines automatisierten Prozesses und ist über einen Bus an mindestens zwei Geräte angeschlossen, die die Daten des automatisierten Prozesses bereitstellen oder anfordern. Das Konfigurations- und Anzeigewerkzeug hat eine Erstelleinrichtung zur Erstellung einer Bedienoberfläche für einen Benutzer, und eine Dateierzeugungseinrichtung zur Erzeugung einer Datei, in welcher eine mit der Bedienoberfläche eingestellte Konfiguration des Mehrkernprozessors gespeichert ist. Hierbei ist die Erstelleinrichtung eingerichtet ist, die Bedienoberfläche auszugestalten mit mindestens einem Anzeige-/Bedienbereich, der ausgestaltet ist zur Anzeige eines ersten Felds zur Wiedergabe eines aktuellen Zustands einer Konfiguration von mindestens einem einzelnen Prozessorkern des Mehrkernprozessors, wobei die Konfiguration eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns und/oder eine Aussage über eine Zuordnung zu dem einzelnen Prozessorkern von Unterbrechungsanforderungen von Geräten aufweist, die über einen Bus mit dem Mehrkernprozessor verbunden sind. Zudem ist der Anzeige-/Bedienbereich ausgestaltet zur Anzeige eines zweiten Felds, mittels welchem der Benutzer einen gewünschten Zustand der mit dem mindestens einen Anzeige-/Bedienbereich angezeigten Konfiguration für zumindest einen Prozessorkern des Mehrkernprozessors einstellen kann. The stated object is achieved by a configuration and display tool for a multi-core processor according to claim 1. The multi-core processor has at least two processor cores for processing data from an automated process and is connected via a bus to at least two devices that provide or request the data of the automated process. The configuration and display tool has a setting device for creating a user interface for a user, and a file generating device for generating a file in which a set with the user interface configuration of the multi-core processor is stored. In this case, the setting device is set up to design the user interface with at least one display / operating area which is designed to display a first field for displaying a current state of a configuration of at least one individual processor core of the multi-core processor, wherein the configuration is a statement about a real-time or non-real-time application of the single processor core and / or a statement about an allocation to the single processor core of interrupt requests from devices connected to the multicore processor via a bus. In addition, the display / operating area is configured to display a second field, by means of which the user can set a desired state of the configuration displayed with the at least one display / operating area for at least one processor core of the multi-core processor.

Das Konfigurations- und Anzeigewerkzeug ermöglicht eine Optimierung eines Mehrkern-Unterbrechungsanforderungssystems oder Mehrkern-Interruptsystems. Hierbei erfolgt vorzugsweise eine Separation von Unterbrechungsanforderungen (Interrupts) auf passende Kerne (Cores) des Mehrkernsystems (Multicoresystems) derart, dass die Separation zu einer zeitlich optimalen Nutzung des Systems führt. Somit kann eine Default-Verteilung oder Standardverteilung, die gegebenenfalls eine ungünstige Zuordnung von Unterbrechungsanforderungen zu einzelnen Kernen des Multicore-Systems hat, nicht mehr unnötig hohe Unterbrechungsanforderungslatenzen und unnötig hohe Unterbrechungsanforderungslaufzeiten zur Folge haben. Ebenso ist es möglich, auch das Aufgaben- oder Tasksystem, bei Nutzung eines Echtzeitbetriebssystems, unabhängig von der Priorität der Aufgabe (Task) nicht mehr unnötig zu unterbrechen. The configuration and display tool enables optimization of a multi-core interrupt request system or multi-core interrupt system. In this case, separation of interrupt requests (interrupts) preferably takes place on suitable cores of the multi-core system (multicore system) in such a way that the separation leads to optimum utilization of the system in terms of time. Thus, a default distribution or default distribution, which may have an unfavorable allocation of interrupt requests to individual cores of the multicore system, no longer has unnecessarily high interrupt request latencies and unnecessarily high Interrupt request durations result. It is also possible to interrupt the task or task system when using a real-time operating system, regardless of the priority of the task (task) no longer unnecessary.

Ein weiterer Vorteil liegt in der optimalen Nutzung der Möglichkeiten von Mehrkernprozessorsystemen in der Automatisierungs- und Netzwerktechnik. Dies erleichtert den Übergang von Einzelkernprozessorsystemen auf Mehrkernprozessorsysteme. Weiterhin ist eine Einsparung einzelner Geräte durch Konsolidierung von mehreren Echtzeitsteuerungen oder Netzwerkgeräte mit Echtzeitanforderung möglich. Another advantage lies in the optimal use of the possibilities of multi-core processor systems in automation and network technology. This facilitates the transition from single-core processor systems to multi-core processor systems. Furthermore, a saving of individual devices by consolidation of multiple real-time controls or network devices with real-time requirement is possible.

Somit ist es vorteilhaft nicht erforderlich, eine Virtualisierung von Mehrkernprozessoren durchzuführen, welche zusätzliche Verzögerungen von Unterbrechungsanforderungen und Aufgabe(n) mit sich bringt. Thus, advantageously, it is not necessary to perform virtualization of multi-core processors, which entails additional delays of interrupt requests and task (s).

Vorteilhafte weitere Ausgestaltungen des Konfigurations- und Anzeigewerkzeugs sind in den abhängigen Ansprüchen angegeben. Advantageous further embodiments of the configuration and display tool are specified in the dependent claims.

Möglicherweise ist das Konfigurations- und Anzeigewerkzeug ausgestaltet, die von der Dateierzeugungseinrichtung erzeugte Datei an den Mehrkernprozessor zu senden, so dass die Datei beim nächsten Booten des Mehrkernprozessors zur Konfiguration des Mehrkernprozessors verwendet wird. The configuration and display tool may be configured to send the file generated by the file creator to the multi-core processor so that the file will be used to configure the multi-core processor the next time the multi-core processor is booted.

Denkbar ist, dass die Datei eine binäre Datei oder eine Datei im XML-Format oder eine Datei im ASCII-Format ist oder eine Datei in einem anderen gebräuchlichen Format. It is conceivable that the file is a binary file or a file in XML format or an ASCII file or a file in another common format.

Vorzugsweise ist die Dateierzeugungseinrichtung ausgestaltet, die Datei zur Konfiguration von programmierbaren Unterbrechungsanforderungscontrollern zu erstellen, wobei jedem Prozessorkern ein derartiger programmierbarer Unterbrechungsanforderungscontroller zugeordnet ist. Alternativ oder zusätzlich kann die Dateierzeugungseinrichtung ausgestaltet sein, die Datei derart zum Konfigurieren des programmierbaren Unterbrechungsanforderungscontrollers zu erstellen, dass sowohl die Unterbrechungsanforderungen und die der Unterbrechungsanforderung zugehörige mindestens eine Aufgabe zu dem Prozessorkern zugeordnet wird. Preferably, the file generator is configured to create the file for configuring programmable interrupt request controllers, each processor core being associated with such a programmable interrupt request controller. Alternatively or additionally, the file generator may be configured to create the file for configuring the programmable interrupt request controller to associate both the interrupt requests and the at least one task associated with the interrupt request with the processor core.

Gemäß einem weiteren Ausführungsbeispiel ist die Dateierzeugungseinrichtung ausgestaltet, die Datei zur Konfiguration mindestens eines weiteren Prozessorkerns der mindestens zwei Prozessorkerne für eine weitere Instanz von Echtzeit-Service-Unterbrechungsanforderungen und die der Unterbrechungsanforderung zugehörige mindestens eine Echtzeitaufgabe zu erstellen. Alternativ oder zusätzlich kann das Konfigurations- und Anzeigewerkzeug über den Bus an den Mehrkernprozessor und die mindestens zwei Geräte angeschlossen sein. According to a further embodiment, the file generator is configured to create the file for configuring at least one further processor core of the at least two processor cores for a further instance of real-time service interrupt requests and the at least one real-time task associated with the interrupt request. Alternatively or additionally, the configuration and display tool can be connected via the bus to the multi-core processor and the at least two devices.

Möglicherweise ist das mindestens eine zweite Feld ausgestaltet, durch den Benutzer Unterbrechungsanforderungen und Aufgaben von mindestens einem Gerät entweder einer Echtzeit-Domain oder einer Nicht-Echtzeit-Domain zuzuweisen. Alternativ oder zusätzlich können das erste und zweite Feld des Anzeige-/Bedienbereichs eine Einheit bilden. Das zuvor beschriebene Konfigurations- und Anzeigewerkzeug kann Teil einer Anlage zur Ausführung eines automatisierten Prozesses sein. Die Anlage kann zudem einen Mehrkernprozessor, der mindestens zwei Prozessorkerne zur Verarbeitung von Daten eines automatisierten Prozesses aufweist, und die mindestens zwei Geräte aufweisen, die mit dem Mehrkernprozessor verbunden sind, um Daten des automatisierten Prozesses bereitzustellen oder anzufordern, wobei ein Gerät der mindestens zwei Peripheriegeräte ein Zeitgeber oder ein Antriebsregler oder ein Sensor ist. The at least one second field may be configured to allow the user to assign interrupt requests and tasks from at least one device to either a real-time domain or a non-real-time domain. Alternatively or additionally, the first and second fields of the display / operating area can form a unit. The configuration and display tool described above may be part of a plant for performing an automated process. The system may also include a multi-core processor having at least two processor cores for processing automated process data and having at least two devices connected to the multi-core processor for providing or requesting data of the automated process, one device of the at least two peripheral devices is a timer or a drive controller or a sensor.

Die zuvor beschriebene Anlage kann eine chemische Anlage oder eine mechanische Anlage sein. The plant described above may be a chemical plant or a mechanical plant.

Möglicherweise ist die zuvor beschriebene Anlage eine Druckmaschine und/oder eine Verpackungsmaschine und/oder eine Anlage zur Bearbeitung eines Werkstücks ist. Possibly, the system described above is a printing press and / or a packaging machine and / or a system for processing a workpiece.

Die Aufgabe wird zudem durch ein Verfahren zum Konfigurieren eines Mehrkernprozessors für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug nach Anspruch 10 gelöst. Hierbei weist der Mehrkernprozessor mindestens zwei Prozessorkerne zur Verarbeitung von Daten eines automatisierten Prozesses aufweist und der Mehrkernprozessor über einen Bus an mindestens zwei Geräte angeschlossen ist, die die Daten des automatisierten Prozesses bereitstellen oder anfordern, wobei das Verfahren die Schritte aufweist: Erstellen, mit einer Erstelleinrichtung des Konfigurations- und Anzeigewerkzeug (8), einer Bedienoberfläche für einen Benutzer, und Erzeugen, mit einer Dateierzeugungseinrichtung des Konfigurations- und Anzeigewerkzeug, einer Datei, in welcher eine mit der Bedienoberfläche eingestellte Konfiguration des Mehrkernprozessors gespeichert ist, wobei bei dem Erstellen mit der Erstelleinrichtung die Bedienoberfläche mit mindestens einem Anzeige-/Bedienbereich ausgestaltet wird, mit dem angezeigt wird ein erstes Feld, das einen aktuellen Zustand einer Konfiguration von mindestens einem einzelnen Prozessorkern des Mehrkernprozessors wiedergibt, wobei die Konfiguration eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns und/oder eine Aussage über eine Zuordnung zu dem einzelnen Prozessorkern von Unterbrechungsanforderungen von Geräten aufweist, die über einen Bus mit dem Mehrkernprozessor verbunden sind, und ein zweites Feld, mittels welchem der Benutzer (9) einen gewünschten Zustand der mit dem mindestens einen Anzeige-/Bedienbereich angezeigten Konfiguration für zumindest einen Prozessorkern des Mehrkernprozessors einstellt. The object is also achieved by a method for configuring a multi-core processor for an automated process with a configuration and display tool according to claim 10. Here, the multi-core processor has at least two processor cores for processing data of an automated process, and the multi-core processor is connected via a bus to at least two devices that provide or request the data of the automated process, the method comprising the steps of: creating, with an adjuster the configuration and display tool ( 8th ), a user interface, and generating, with a file creation device of the configuration and display tool, a file in which a set with the user interface configuration of the multi-core processor is stored, wherein when created with the setting means the user interface with at least one display / Operating area, which is used to display a first field representing a current state of a configuration of at least one single processor core of the multi-core processor, the configuration being indicative of a real-time or non-real-time application of the single processor core and / or one Statement about an assignment to the single processor core of interrupt requests from devices connected to the multicore processor via a bus and a second field by which the user ( 9 ) sets a desired state of the configuration indicated by the at least one display / operation area for at least one processor core of the multi-core processor.

Das Verfahren erzielt die gleichen Vorteile, wie sie zuvor in Bezug auf das Konfigurations- und Anzeigewerkzeug genannt sind. The method achieves the same advantages as previously mentioned in relation to the configuration and display tool.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen. Further possible implementations of the invention also include not explicitly mentioned combinations of features or embodiments described above or below with regard to the exemplary embodiments. The skilled person will also add individual aspects as improvements or additions to the respective basic form of the invention.

Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Es zeigen: The invention is described in more detail below with reference to the accompanying drawings and to exemplary embodiments. Show it:

1 ein Blockschaltbild einer Anlage gemäß einem ersten Ausführungsbeispiel, die in einem automatisierten Prozess verwendbar ist; 1 a block diagram of a system according to a first embodiment, which is used in an automated process;

2 ein schematisches Zeitverlaufsdiagramm zur Darstellung der Aufteilung von Unterbrechungsanforderungen und diesen zugehörigen Echtzeit-Aufgabe(n) oder Nicht-Echtzeit-Aufgabe(n) auf den gemäß dem ersten Ausführungsbeispiel; 2 a schematic timing diagram illustrating the distribution of interrupt requests and this associated real-time task (s) or non-real-time task (s) on the according to the first embodiment;

3 ein weiteres schematisches Zeitverlaufsdiagramm zur Darstellung von Unterbrechungsanforderungen und diesen zugehörigen Echtzeit-Aufgabe(n) oder Nicht-Echtzeit-Aufgabe(n) gemäß dem ersten Ausführungsbeispiel; 3 a further schematic timing diagram for representing interrupt requests and these associated real-time task (s) or non-real-time task (s) according to the first embodiment;

4 noch ein weiteres schematisches Zeitverlaufsdiagramm zur Darstellung von Unterbrechungsanforderungen und diesen zugehörigen Echtzeit-Aufgabe(n) oder Nicht-Echtzeit-Aufgabe(n) gemäß dem ersten Ausführungsbeispiel; 4 yet another schematic timing diagram illustrating interrupt requests and their associated real-time task (s) or non-real-time task (s) according to the first embodiment;

5 ein Blockschaltbild eines Konfigurations- und Anzeigewerkzeugs für einen Mehrkernprozessor der Anlage gemäß dem ersten Ausführungsbeispiel; 5 a block diagram of a configuration and display tool for a multi-core processor of the system according to the first embodiment;

6 ein Flussdiagramm eines Verfahrens für einen automatisierten Prozess gemäß dem ersten Ausführungsbeispiel; und 6 a flowchart of a method for an automated process according to the first embodiment; and

7 ein Blockschaltbild einer Anlage gemäß einem zweiten Ausführungsbeispiel, die in einem automatisierten Prozess verwendbar ist. 7 a block diagram of a system according to a second embodiment, which is used in an automated process.

In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen. In the figures, identical or functionally identical elements are provided with the same reference numerals, unless stated otherwise.

1 zeigt eine Anlage 1 zur Durchführung eines automatisierten Prozesses. Der automatisierte Prozess kann beispielsweise eine chemischer Prozess und/oder ein mechanischer Prozess sein. Beispiele hierfür sind insbesondere die Herstellung von integrierten Schaltungen auf einem Halbleiterwafer, die Herstellung von Kunststoff, die Verbrennung von Brennstoff, wie Gas oder auch Müll, die Bearbeitung eines Werkstücks 3, das Bedrucken eines Papiers oder Textils, usw. sein. Demzufolge kann die Anlage eine chemische Anlage und/oder eine mechanische Anlage sein. Insbesondere ist die Anlage eine Druckmaschine oder eine Anlage zur Bearbeitung eines Werkstücks. 1 shows a plant 1 to carry out an automated process. The automated process may be, for example, a chemical process and / or a mechanical process. Examples include in particular the production of integrated circuits on a semiconductor wafer, the production of plastic, the combustion of fuel, such as gas or garbage, the machining of a workpiece 3 printing a paper or textile, etc. As a result, the plant may be a chemical plant and / or a mechanical plant. In particular, the system is a printing press or a system for processing a workpiece.

Die Anlage 1 umfasst einen Bus 4, an den ein Mehrkernprozessor 5 über einen internen Bus 58 angeschlossen ist. Dieser Bus kann ein weiterer Bus zu Bus 4 sein, aber auch der Bus 4 selbst. Der Bus 4 kann beispielsweise als PCI-Express ausgeführt sein. The attachment 1 includes a bus 4 to which a multi-core processor 5 via an internal bus 58 connected. This bus can be another bus to bus 4 be, but also the bus 4 itself. The bus 4 can for example be designed as a PCI Express.

Zudem weist die Anlage 1 ein erstes bis drittes Peripheriegerät 10, 20, 30 auf, die ebenfalls an den Bus 4 angeschlossen sind. Die Peripheriegeräte 10, 20, 30 stellen Daten 11, 21, 31 bereit oder fordern sie über den Bus 4 an, die von dem Mehrkehrprozessor 5 zu verarbeiten oder bereitzustellen sind. Hierfür senden die Peripheriegeräte 10, 20, 30 Unterbrechungsanforderungen 12, 22, 32 auf den Bus 4 und über den internen Bus 58 an den Mehrkernprozessor 5. Jedes der Peripheriegeräte 10, 20, 30 kann beispielsweise wahlweise als ein Geber, insbesondere Zeitgeber, Drehgeber, usw., oder ein Antriebsregler oder ein Sensor, usw. ausgeführt sein. Somit können die Peripheriegeräte 10, 20, 30 unterschiedlich ausgeführt sein. In addition, the plant 1 a first to third peripheral device 10 . 20 . 30 on, also to the bus 4 are connected. The peripherals 10 . 20 . 30 provide data 11 . 21 . 31 ready or request them over the bus 4 to that from the multiprocessing processor 5 to be processed or provided. For this, send the peripherals 10 . 20 . 30 interrupt requests 12 . 22 . 32 on the bus 4 and over the internal bus 58 to the multi-core processor 5 , Each of the peripherals 10 . 20 . 30 For example, it can optionally be designed as an encoder, in particular timer, rotary encoder, etc., or a drive controller or a sensor, etc. Thus, the peripherals 10 . 20 . 30 be executed differently.

Die Unterbrechungsanforderungen 22 sind bei der Anlage 1 Echtzeit-Service-Unterbrechungsanforderungen. Im Gegensatz dazu sind die Unterbrechungsanforderungen 12, 32, 541 jeweils Nicht-Echtzeit-Service-Unterbrechungsanforderungen. The interruption requests 22 are at the plant 1 Real-time service interrupt requests. In contrast, the interrupt requests 12 . 32 . 541 each non-real-time service interruption requests.

Der Mehrkernprozessor 5 hat einen ersten Prozessorkern 50, einen zweiten Prozessorkern 51, einen dritten Prozessorkern 52, einen vierten Prozessorkern 53 und ein internes Gerät 54. Der erste Prozessorkern 50 ist über einen programmierbaren Unterbrechungsanforderungscontroller 500 an den internen Bus 58 angeschlossen. Der zweite Prozessorkern 51 ist über einen programmierbaren Unterbrechungsanforderungscontroller 510 an den internen Bus 58 angeschlossen. Der dritte Prozessorkern 52 ist über einen programmierbaren Unterbrechungsanforderungscontroller 520 an den internen Bus 58 angeschlossen. Der vierte Prozessorkern 53 ist über einen programmierbaren Unterbrechungsanforderungscontroller 530 an den internen Bus 58 angeschlossen. The multi-core processor 5 has a first processor core 50 , a second processor core 51 , a third processor core 52 , a fourth processor core 53 and an internal device 54 , The first processor core 50 is via a programmable interrupt request controller 500 to the internal bus 58 connected. The second processor core 51 is about a programmable Interrupt request controller 510 to the internal bus 58 connected. The third processor core 52 is via a programmable interrupt request controller 520 to the internal bus 58 connected. The fourth processor core 53 is via a programmable interrupt request controller 530 to the internal bus 58 connected.

Zusätzlich zu den Peripheriegeräten 10, 20, 30 kann auch das interne Gerät 54 eine Unterbrechungsanforderung 541 als Daten an den internen Bus 58 senden. Auch die Unterbrechungsanforderung 541 ist im Sinne der vorliegenden Beschreibung als Daten zu verstehen, die von dem Mehrkernprozessor 5 zu verarbeiten sind. Die Unterbrechungsanforderung 541 wird bei dem vorliegenden Ausführungsbeispiel von dem ersten Prozessorkern 50 abgearbeitet. Hierfür ordnet der programmierbare Unterbrechungsanforderungscontroller 500 die Unterbrechungsanforderung 541 dem ersten Prozessorkern 50 zu. Das interne Gerät 54 kann insbesondere ein Zeitgeber oder Timer oder ein integriertes Netzwerk oder ein Kommunikationsgerät sein. Das interne Gerät 54 ist ein beliebiges Gerät, das eine Unterbrechungsanforderung erzeugen kann. Die Peripheriegeräte 10, 20, 30 und das interne Gerät 54 werden nachfolgend auch als Geräte 10, 20, 30, 54 bezeichnet. In addition to the peripherals 10 . 20 . 30 can also use the internal device 54 an interrupt request 541 as data to the internal bus 58 send. Also the interrupt request 541 For purposes of the present description, it is to be understood as data derived from the multi-core processor 5 to be processed. The interrupt request 541 in the present embodiment, the first processor core 50 processed. For this, the programmable interrupt request controller orders 500 the interrupt request 541 the first processor core 50 to. The internal device 54 may in particular be a timer or timer or an integrated network or a communication device. The internal device 54 is any device that can generate an interrupt request. The peripherals 10 . 20 . 30 and the internal device 54 are also referred to as devices below 10 . 20 . 30 . 54 designated.

Die Anlage 1 weist zudem ein Konfigurations- und Anzeigewerkzeug 8 auf, welches beim Hochfahren des Mehrkernprozessors 5 die Mehrkernprozessoren 50, 51, 52, 53, genauer gesagt deren programmierbare Unterbrechungsanforderungscontroller 500, 510, 520, 530 je nach Bedarf konfiguriert. The attachment 1 also has a configuration and display tool 8th on, which when booting the multi-core processor 5 the multi-core processors 50 . 51 . 52 . 53 More specifically, their programmable interrupt request controllers 500 . 510 . 520 . 530 configured as needed.

2 bis 4 verdeutlichen die Konfiguration für den Mehrkernprozessor 5 genauer, die von dem Konfigurations- und Anzeigewerkzeug 8 vorgenommen wird. Hierbei ist als Beispiel gezeigt, dass bereits eine Service-Unterbrechungsanforderung 12 des ersten Peripheriegeräts 10 ausgeführt wird, wenn zu einer Zeit oder einem Zeitpunkt t1 eine Echtzeit-Service-Unterbrechungsanforderung 22 des Peripheriegeräts 20 auftritt. Die Echtzeit-Service-Unterbrechungsanforderung 22 und die ihr zugehörige mindestens eine Echtzeit-Aufgabe 23 sollte abgearbeitet sein, bevor die Zeitdauer T1 abläuft, welche die maximale Zeitdauer für die Erfüllung von Echtzeitanforderungen ist. Zu einer Zeit oder einem Zeitpunkt t3 tritt eine Nicht-Echtzeit-Service-Unterbrechungsanforderung 32 des dritten Peripheriegeräts 30 auf. 2 to 4 illustrate the configuration for the multi-core processor 5 more precisely, that of the configuration and display tool 8th is made. Here is shown as an example that already a service interrupt request 12 of the first peripheral device 10 is executed when, at a time or a time t1, a real-time service interrupt request 22 of the peripheral device 20 occurs. The real-time service interrupt request 22 and its associated at least one real-time task 23 should be completed before the time T1 expires, which is the maximum time required to meet real-time requirements. At a time or point in time t3, a non-real-time service interrupt request occurs 32 the third peripheral device 30 on.

In 2 ist der Fall dargestellt, bei welchem keine spezielle Konfiguration des Mehrkernprozessors 5 durch das Konfigurations- und Anzeigewerkzeug 8 ausgeführt ist. 2 zeigt demzufolge die Standardeinstellung des Mehrkernprozessors 5, bei welcher alle Unterbrechungsanforderungen 12, 22, 32, 541 der Geräte 10, 20, 30, 54 von dem ersten Prozessorkern 50 verarbeitet werden. Außerdem werden auch alle den Unterbrechungsanforderungen 12, 22, 32, 541 zugehörigen Aufgabe(n) von dem ersten Prozessorkern 50 verarbeitet, auch wenn in 2 bis 4 nur die Aufgabe(n) 23, 33 dargestellt sind. In 2 the case is shown in which no special configuration of the multi-core processor 5 through the configuration and display tool 8th is executed. 2 thus shows the default setting of the multi-core processor 5 in which all interrupt requests 12 . 22 . 32 . 541 the devices 10 . 20 . 30 . 54 from the first processor core 50 are processed. In addition, all the interrupt requests 12 . 22 . 32 . 541 associated task (s) of the first processor core 50 processed, even if in 2 to 4 only the task (s) 23 . 33 are shown.

Da die Nicht-Echtzeit-Service-Unterbrechungsanforderung 12 des ersten Peripheriegeräts 30 zu dem Zeitpunkt t1, also bei Eintreffen der Echtzeit-Service-Unterbrechungsanforderung 22 bei dem Fall von 2 noch nicht vollständig abgearbeitet ist, wird der verbleibende Teil der Unterbrechungsanforderung 12 noch nach Eintreffen und Abarbeiten der Echtzeit-Service-Unterbrechungsanforderung 22 abgearbeitet. Dies führt zu einer deutlichen Verzögerung der Verarbeitung der Echtzeit-Service-Unterbrechungsanforderung 22 und zugehörigen Aufgabe(n) 23, so dass die Verarbeitung erst nach Ablauf der Zeitdauer T1 abgeschlossen ist. Because the non-real-time service interrupt request 12 of the first peripheral device 30 at time t1, that is, upon the arrival of the real-time service interrupt request 22 in the case of 2 is not fully processed, the remaining part of the interrupt request 12 even after the arrival and processing of the real-time service interrupt request 22 processed. This leads to a significant delay in the processing of the real-time service interrupt request 22 and associated task (s) 23 so that the processing is completed only after the expiration of the period T1.

Im Unterschied dazu zeigt 3 den Fall einer Konfiguration durch das Konfigurations- und Anzeigewerkzeug 8, bei welchem der erste Prozessorkern 50 alle Service-Unterbrechungsanforderungen 12, 22, 32, 541 bearbeitet und nur die Echtzeitaufgabe 23, die zu der Echtzeit-Service-Unterbrechungsanforderung 22 gehört oder zu deren Ausführung die Echtzeit-Service-Unterbrechungsanforderung 22 gesendet wird, von dem zweiten Prozessorkern 51 ausgeführt wird. Infolgedessen kommt es auch zu einer Inter-Prozessorkern- Unterbrechungsanforderung 59, bei welcher der erste Prozessorkern 50 den zweiten Prozessorkern 51 aufruft. In contrast, shows 3 the case of configuration by the configuration and display tool 8th in which the first processor core 50 all service interruption requests 12 . 22 . 32 . 541 edited and only the real-time task 23 leading to the real-time service interrupt request 22 belongs to or to execute the real-time service interrupt request 22 is sent from the second processor core 51 is performed. As a result, an inter-processor core interrupt request also occurs 59 in which the first processor core 50 the second processor core 51 calls.

4 zeigt den Fall einer Konfiguration durch das Konfigurations- und Anzeigewerkzeug 8, bei welchem der zweite Prozessorkern 51 alle Echtzeit-Service-Unterbrechungsanforderungen 22 und die ihnen zugehörigen Echtzeitaufgabe(n) 23 bearbeitet, wohingegen der erste Prozessorkern 50 alle anderen Unterbrechungsanforderungen 12, 32, 541 und zugehörige Aufgabe(n) bearbeitet. 4 shows the case of a configuration by the configuration and display tool 8th in which the second processor core 51 all real-time service interruption requests 22 and their associated real-time task (s) 23 processed, whereas the first processor core 50 all other interrupt requests 12 . 32 . 541 and associated task (s) edited.

Wie aus 2 bis 4 ersichtlich, kann nur bei der Konfiguration von 4 die Echtzeitanforderung gemäß der Zeitdauer T1 erfüllt werden. Demgegenüber kann bei der Konfiguration von 2 und 3 die Echtzeitanforderung nicht eingehalten werden, da die Echtzeitaufgabe 23 erst nach Ablauf der Zeitdauer T1 fertig abgearbeitet ist. How out 2 to 4 can only be seen in the configuration of 4 the real-time request according to the time period T1 are met. In contrast, in the configuration of 2 and 3 the real-time requirement is not met because the real-time task 23 only after the expiration of the period of time T1 has been completed.

Infolgedessen führt das Konfigurations- und Anzeigewerkzeug 8 bei dem vorliegenden Ausführungsbeispiel zumindest in Bezug auf den ersten Prozessorkern 50 und den zweiten Prozessorkern 51 eine Konfiguration des Mehrkernprozessors 5 aus, wie in 4 veranschaulicht. Demzufolge ist der zweite Prozessorkern 51 zur Verarbeitung der Echtzeit-Service-Unterbrechungsanforderungen 22 des zweiten Peripheriegeräts 20 und der der Unterbrechungsanforderung 22 zugehörigen mindestens einen Echtzeitaufgabe 23 konfiguriert. As a result, the configuration and display tool performs 8th in the present embodiment, at least with respect to the first processor core 50 and the second processor core 51 a configuration of the multi-core processor 5 out, like in 4 illustrated. As a result, the second processor core is 51 for processing the real-time Service interrupt requests 22 of the second peripheral device 20 and the interrupt request 22 associated at least one real-time task 23 configured.

Je nach Bedarf kann der dritte Prozessorkern 52 von dem Konfigurations- und Anzeigewerkzeug 8 konfiguriert sein, dass der Prozessorkern 52 Teile der Nicht-Echtzeit-Aufgaben des ersten Prozessorkerns 50 übernimmt und somit ausführt. Auf diese Weise kann auch für die Verarbeitung von Unterbrechungsanforderungen 12, 32, 541 durch den ersten Prozessorkern 50 eine weitere Beschleunigung der vom Mehrkernprozessor 5 auszuführenden Aufgaben realisiert werden. As needed, the third processor core 52 from the configuration and display tool 8th be configured that the processor core 52 Parts of the non-real-time tasks of the first processor core 50 takes over and thus executes. This way can also be used for processing interrupt requests 12 . 32 . 541 through the first processor core 50 a further acceleration of the multi-core processor 5 be carried out tasks to be performed.

Dadurch ist ein Mehrkernprozessor 5 bereitgestellt, der mindestens zwei Prozessorkerne 50, 51, 52, 53 zur Verarbeitung von Daten 11, 21, 31 eines automatisierten Prozesses aufweist und der über einen Bus 4 an mindestens zwei Geräte 10, 20, 30, 54 angeschlossen ist, die die Daten 11, 21, 31 des automatisierten Prozesses bereitstellen oder anfordern. Hierbei ist ein erster Prozessorkern 50 des Mehrkernprozessors 5 zur Verarbeitung einer Nicht-Echtzeit-Service-Unterbrechungsanforderung 12, 32, 541 und der der Unterbrechungsanforderung 12, 32, 541 zugehörigen mindestens einen Nicht-Echtzeitaufgabe 13, 33, 542 konfiguriert, die bei Bereitstellen oder Anfordern von Daten 11, 21, 31 von einem der mindestens zwei Peripheriegeräte 10, 20, 30 auszuführen sind. Außerdem ist ein zweiter Prozessorkern 51 des Mehrkernprozessors 5 zur Verarbeitung einer Echtzeit-Service-Unterbrechungsanforderung 22 und der der Unterbrechungsanforderung 22 zugehörigen mindestens einen Echtzeit-Aufgabe 23 konfiguriert, die bei Bereitstellen von Daten 20 von einem Gerät 20 der mindestens zwei Geräte 10, 20, 30, 54 auszuführen sind. This is a multi-core processor 5 provided, the at least two processor cores 50 . 51 . 52 . 53 for processing data 11 . 21 . 31 an automated process and that via a bus 4 on at least two devices 10 . 20 . 30 . 54 connected is the data 11 . 21 . 31 provide or request the automated process. Here is a first processor core 50 of the multi-core processor 5 for processing a non-real-time service interrupt request 12 . 32 . 541 and the interrupt request 12 . 32 . 541 associated with at least one non-real-time task 13 . 33 . 542 configured when providing or requesting data 11 . 21 . 31 from one of the at least two peripherals 10 . 20 . 30 are to be executed. There is also a second processor core 51 of the multi-core processor 5 for processing a real-time service interrupt request 22 and the interrupt request 22 associated with at least one real-time task 23 configured when providing data 20 from a device 20 the at least two devices 10 . 20 . 30 . 54 are to be executed.

5 veranschaulicht das Konfigurations- und Anzeigewerkzeug 8 schematisch, das von einem Benutzer 9 zur Konfiguration des Mehrkernprozessors 5 verwendbar ist. 5 illustrates the configuration and display tool 8th schematically, that of a user 9 to configure the multi-core processor 5 is usable.

Das Konfigurations- und Anzeigewerkzeug 8 hat eine Erstelleinrichtung 81 zur Anzeige einer Bedienoberfläche 82 für den Benutzer 9. Außerdem hat das Konfigurations- und Anzeigewerkzeug 8 eine Dateierzeugungseinrichtung 83 zur Erzeugung einer Datei 831. The configuration and display tool 8th has an authoring facility 81 for displaying a user interface 82 for the user 9 , In addition, the configuration and display tool has 8th a file creator 83 to create a file 831 ,

Die Erstelleinrichtung 81 gestaltet die Bedienoberfläche beispielsweise abhängig von der Anzahl der Prozessorkerne 50, 51, 52, 53 aus, wie in 6 gezeigt. Hierbei stellt die Erstelleinrichtung 81 für das Beispiel von 1 mit den vier Prozessorkernen 50, 51, 52, 53 für jeden Prozessorkern 50, 51, 52, 53 jeweils einen Anzeige-/Bedienbereich, also vier Anzeige-/Bedienbereiche 820, 821, 822, 823, für den Benutzer 9 bereit. Der Anzeige-/Bedienbereich 820 bezieht sich auf Eigenschaften des Prozessorkerns 50. Der Anzeige-/Bedienbereich 821 bezieht sich auf Eigenschaften des Prozessorkerns 51. Der Anzeige-/Bedienbereich 822 bezieht sich auf Eigenschaften des Prozessorkerns 52. Der Anzeige-/Bedienbereich 823 bezieht sich auf Eigenschaften des Prozessorkerns 53. The setting device 81 configures the user interface, for example, depending on the number of processor cores 50 . 51 . 52 . 53 out, like in 6 shown. Here, the setting device 81 for the example of 1 with the four processor cores 50 . 51 . 52 . 53 for every processor core 50 . 51 . 52 . 53 one display / operating area each, ie four display / operating areas 820 . 821 . 822 . 823 , for the user 9 ready. The display / operating area 820 refers to properties of the processor core 50 , The display / operating area 821 refers to properties of the processor core 51 , The display / operating area 822 refers to properties of the processor core 52 , The display / operating area 823 refers to properties of the processor core 53 ,

In jedem der Anzeige-/Bedienbereiche 820, 821, 822, 823 wird beim Betrieb des Konfigurations- und Anzeigewerkzeugs 8 ein aktueller Zustand der Konfiguration des jeweils genannten Prozessorkerns 50, 51, 52, 53 angezeigt und kann von dem Benutzer 9 je nach Belieben eingestellt werden, vorzugsweise wie in Bezug auf die vorangehenden 1 bis 5 beschrieben. Es ist jedoch auch alternativ möglich, dass zumindest einer der Anzeige-/Bedienbereiche 820, 821, 822, 823 den aktuellen Zustand der Konfiguration für mehr als einen der Prozessorkerne 50, 51, 52, 53 anzeigt und in Bezug darauf bedienbar ist. In each of the display / operating areas 820 . 821 . 822 . 823 becomes during operation of the configuration and display tool 8th a current state of the configuration of the respective processor core 50 . 51 . 52 . 53 displayed and can by the user 9 can be adjusted as desired, preferably as with respect to the preceding 1 to 5 described. However, it is alternatively possible that at least one of the display / operating areas 820 . 821 . 822 . 823 the current state of the configuration for more than one of the processor cores 50 . 51 . 52 . 53 is displayed and operable in relation to it.

Von jedem der Anzeige-/Bedienbereiche 820, 821, 822, 823 kann hierfür ein erstes Feld 820A, 821A, 822A, 823A für eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns 50, 51, 52, 53 angezeigt werden, wie in 6 als Beispiel angegeben. In dem ersten Feld 820A, 821A, 822A, 823A kann zusätzlich oder alternativ auch eine Aussage angezeigt werden, die wiedergibt, welche der Unterbrechungsanforderungen von Geräten 10, 20, 30, 54 dem einzelnen Prozessorkern 50, 51, 52, 53 zugeordnet sind. From each of the display / operating areas 820 . 821 . 822 . 823 this can be a first field 820A . 821A . 822A . 823A for a statement about a real-time or non-real-time application of the single processor core 50 . 51 . 52 . 53 be displayed as in 6 given as an example. In the first field 820A . 821A . 822A . 823A Additionally or alternatively, a statement may be displayed that reflects which of the interruption requests from devices 10 . 20 . 30 . 54 the single processor core 50 . 51 . 52 . 53 assigned.

Zudem kann von jedem der Anzeige-/Bedienbereiche 820, 821, 822, 823 ein zweites Feld 820B, 821B, 822B, 823B angezeigt werden. Mit dem zweiten Feld 820B, 821B, 822B, 823B kann der Benutzer 9 die Konfiguration des Mehrkernprozessors 5 einstellen. Somit kann der Benutzer 9 mit Hilfe des zweiten Felds 820B, 821B, 822B, 823B einen gewünschten Zustand der Konfiguration für zumindest einen Prozessorkern 50, 51, 52, 53 des Mehrkernprozessors 5 einstellen. Hierbei stellt der Benutzer 9 vorzugsweise die Konfiguration ein, wie in Bezug auf die vorangehenden Figuren beschrieben. In addition, from each of the display / operating areas 820 . 821 . 822 . 823 a second field 820B . 821B . 822B . 823B are displayed. With the second field 820B . 821B . 822B . 823B can the user 9 the configuration of the multi-core processor 5 to adjust. Thus, the user can 9 with the help of the second field 820B . 821B . 822B . 823B a desired state of the configuration for at least one processor core 50 . 51 . 52 . 53 of the multi-core processor 5 to adjust. Hereby the user presents 9 Preferably, the configuration as described in relation to the preceding figures.

Es ist selbstverständlich, dass das erste und zweite Feld 820A, 820B, 821A, 821B, 822A, 822B, 823A, 823B des Anzeige-/Bedienbereichs 820, 821, 822, 823 auch als ein Feld ausgestaltet sein können. In diesem Fall bilden das erste und zweite Feld 820A, 820B, 821A, 821B, 822A, 822B, 823A, 823B eine Einheit. It goes without saying that the first and second field 820A . 820B . 821A . 821B . 822A . 822B . 823A . 823B of the display / operating area 820 . 821 . 822 . 823 can also be configured as a field. In this case, form the first and second field 820A . 820B . 821A . 821B . 822A . 822B . 823A . 823B one unity.

Aufgrund der Einstellungen an dem Anzeige-/Bedienbereich 820, 821, 822, 823 erzeugt die Dateierzeugungseinrichtung 83 die Datei 831. Die Datei 831 kann beispielsweise eine binäre Datei oder eine Datei im XML-Format oder eine Datei im ASCII-Format sein. Weiterhin kann die Konfiguration auch in einem anderen als den genannten Dateiformaten abliegen. Die Datei kann in einer geeigneten Struktur in einem nichtflüchtigem Speicher, wie ein SRAM oder Ähnliches, gespeichert sein. Die Datei 831 wird dann von dem Konfigurations- und Anzeigewerkzeug 8, oder auch der Dateierzeugungseinrichtung 83 an den Mehrkernprozessor 5 gesendet. Dadurch steht die Datei 831 beim nächsten Booten des Mehrkernprozessors 5 zur Konfiguration des Mehrkernprozessors 5 bereit und kann für die Konfiguration des Mehrkernprozessors 5 verwendet werden. Due to the settings on the display / operating area 820 . 821 . 822 . 823 creates the file creator 83 the file 831 , The file 831 For example, you can use a binary file or a file in XML format, or a file in ASCII format. Be format. Furthermore, the configuration may also be in a different format than the file formats. The file may be stored in a suitable structure in nonvolatile memory such as SRAM or the like. The file 831 is then from the configuration and display tool 8th , or the file creation facility 83 to the multi-core processor 5 Posted. This puts the file 831 the next time you boot the multicore processor 5 to configure the multi-core processor 5 ready and ready for the configuration of the multi-core processor 5 be used.

6 veranschaulicht ein Verfahren, das bei der Anlage 1 mit dem Konfigurations- und Anzeigewerkzeug 8 ausgeführt wird. 6 illustrates a method used in the plant 1 with the configuration and display tool 8th is performed.

Nach dem Beginn des Verfahrens wird bei einem Schritt S1 mit der Erstelleinrichtung 81 des Konfigurations- und Anzeigewerkzeugs 8, die Bedienoberfläche 82 für den Benutzer 9 erstellt, wie zuvor in Bezug auf 5 beschrieben. Danach geht der Fluss zu einem Schritt S2 weiter. After the start of the method, the setting device is used in a step S1 81 of the configuration and display tool 8th , the user interface 82 for the user 9 Created as before regarding 5 described. Thereafter, the flow proceeds to a step S2.

Bei dem Schritt S2 kann der Benutzer 9 mit Hilfe der erstellten Bedienoberfläche 82 die von ihm gewünschten Einstellungen vornehmen, um den Mehrkernprozessor 5 wie gewünscht zu konfigurieren. Danach geht der Fluss zu einem Schritt S3 weiter. At step S2, the user may 9 with the help of the created user interface 82 make the settings you want to the multi-core processor 5 to configure as desired. Thereafter, the flow proceeds to a step S3.

Bei dem Schritt S3 erzeugt die Dateierzeugungseinrichtung 83 des Konfigurations- und Anzeigewerkzeug 8 die Datei 831, in welcher die von dem Benutzer bei dem Schritt S2 eingestellte Konfiguration des Mehrkernprozessors 5 gespeichert ist, wie zuvor beschrieben. Die Dateierzeugungseinrichtung 83 oder das Konfigurations- und Anzeigewerkzeug 8 kann die Datei 831 an den Mehrkernprozessor 5 senden. Danach ist das Verfahren beendet. At step S3, the file generator generates 83 of the configuration and display tool 8th the file 831 in which the configuration of the multi-core processor set by the user in step S2 5 stored as described above. The file creator 83 or the configuration and display tool 8th can the file 831 to the multi-core processor 5 send. Thereafter, the process is completed.

Je nach Bedarf kann der Benutzer 9 das Konfigurations- und Anzeigewerkzeug 8 wieder aufrufen und damit das Verfahren neu starten. As needed, the user can 9 the configuration and display tool 8th Call again and restart the procedure.

7 zeigt eine Anlage 2 gemäß einem zweiten Ausführungsbeispiel. Die Anlage 2 ist in weiten Teilen auf die gleiche Weise ausgeführt, wie in Bezug auf die Anlage 1 gemäß dem ersten Ausführungsbeispiels beschrieben. Demzufolge werden nachfolgend nur die Unterschiede zu der Anlage 1 gemäß dem ersten Ausführungsbeispiel beschrieben. 7 shows a plant 2 according to a second embodiment. The attachment 2 is performed in much the same way as in relation to the plant 1 described according to the first embodiment. Consequently, only the differences to the system below 1 described according to the first embodiment.

Bei der Anlage 2 gemäß dem vorliegenden Ausführungsbeispiel ist zusätzlich zu dem zweiten Peripheriegerät 20 auch das dritte Peripheriegerät 30 als ein weiteres Echtzeit-Peripheriegerät ausgeführt. Demzufolge sendet auch das dritte Peripheriegerät 30 Echtzeit-Service- Unterbrechungsanforderungen 320 auf den Bus 4 und anschließend auf den internen Bus 58. Die Echtzeit-Service-Unterbrechungsanforderungen 320 und die zugehörige mindestens eine Echtzeitaufgabe 321 werden von dem dritten Prozessorkern 52 abgearbeitet. At the plant 2 According to the present embodiment, in addition to the second peripheral device 20 also the third peripheral device 30 executed as another real-time peripheral device. As a result, the third peripheral also sends 30 Real-time service interruption requests 320 on the bus 4 and then on the internal bus 58 , The real-time service interruption requests 320 and the associated at least one real-time task 321 be from the third processor core 52 processed.

Somit ist mit dem Konfigurations- und Anzeigewerkzeug 8 auch eine Konfiguration ausführbar, den dritten Prozessorkern 52 als einen weiteren Prozessorkern zu konfigurieren, der Echtzeit-Service-Unterbrechungsanforderungen 320 verarbeitet. Insbesondere ist hierfür die Dateierzeugungseinrichtung 83 ausgestaltet, die Datei 831 entsprechend zu erstellen. Als Folge davon leitet der programmierbare Unterbrechungsanforderungscontroller 520 alle Echtzeit-Service-Unterbrechungsanforderungen 320 an den dritten Prozessorkern 52 weiter. Thus, with the configuration and display tool 8th also a configuration executable, the third processor core 52 as another processor core to configure the real-time service interrupt requests 320 processed. In particular, this is the file creation facility 83 designed the file 831 to create accordingly. As a result, the programmable interrupt request controller will conduct 520 all real-time service interruption requests 320 to the third processor core 52 further.

Der programmierbare Unterbrechungsanforderungscontroller 510 bleibt dagegen auch bei der Anlage 2 im Vergleich zu der Konfiguration gemäß dem ersten Ausführungsbeispiel unverändert. Jedoch wird über das Konfigurations- und Anzeigewerkzeug 8 die Konfiguration des ersten programmierbaren Unterbrechungsanforderungscontrollers 500 automatisch oder von dem Benutzer 9 entsprechend angepasst, sodass nur noch die Nicht-Echtzeit-Service-Unterbrechungsanforderungen 12, 541 von dem ersten programmierbaren Unterbrechungsanforderungscontroller 500 an den ersten Prozessorkern 50 weitergeleitet werden. The programmable interrupt request controller 510 on the other hand stays with the system 2 unchanged compared to the configuration according to the first embodiment. However, using the configuration and display tool 8th the configuration of the first programmable interrupt request controller 500 automatically or by the user 9 adjusted accordingly, leaving only the non-real-time service interruption requests 12 . 541 from the first programmable interrupt request controller 500 to the first processor core 50 to get redirected.

Auf diese Weise kann eine noch vorteilhaftere zeitliche Optimierung der Verarbeitung von Daten 11, 21, 31 durch den Mehrkernprozessor 5 gewährleistet werden. In this way, an even more advantageous temporal optimization of the processing of data 11 . 21 . 31 through the multi-core processor 5 be guaranteed.

Somit ist es möglich, mit steigender Anzahl von Prozessorkernen 50, 51, 52, 53 mehr als eine, insbesondere ganz beliebig viele Instanzen von Echtzeit-Service-Unterbrechungsanforderungen zu jeweils eigenen „Echtzeit-Prozessorkernen“ zuzuordnen. Diese Echtzeit-Service-Unterbrechungsanforderungen und die Prozessorkerne stören sich nicht gegenseitig. Dabei ist es möglich, mehrere Echtzeit-Peripheriegeräte parallel in einem Mehrkernprozessorsystem zu betreiben. Thus it is possible with increasing number of processor cores 50 . 51 . 52 . 53 Assign more than one, in particular quite as many instances of real-time service interrupt requests to their own "real-time processor cores". These real-time service interrupt requests and the processor cores do not interfere with each other. It is possible to operate several real-time peripherals in parallel in a multi-core processor system.

Gemäß einem dritten Ausführungsbeispiel werden von dem Benutzer 9 mit Hilfe des Konfigurations- und Anzeigewerkzeugs 8 die Unterbrechungsanforderungen oder Interrupts einzelnen Prozessorkernen 50, 51, 52, 53 nicht nach Aufgaben sondern nach Arbeitsgebiet oder Domains zugeordnet. According to a third embodiment are by the user 9 using the configuration and display tool 8th the interrupt requests or interrupts individual processor cores 50 . 51 . 52 . 53 not assigned to tasks but to work area or domains.

So werden etwa ein Feldbus oder ein Netzwerkkarte mit deterministischen Aufgaben („TSN“) mindestens einer Echtzeit-Domain zugeordnet und entsprechende Unterbrechungsanforderungen oder Interrupts und zugehörige Aufgaben werden von einem Echtzeit-Prozessorkern bearbeitet, also beispielsweise dem Prozessorkern 51 oder 52. Andere Unterbrechungsanforderungen oder Interrupts, z.B. in Bezug auf USB, SATA, Standard Ethernet, usw., werden mindestens einer Nicht-Echtzeit-Domain zugeordnet. Somit werden entsprechende Unterbrechungsanforderungen oder Interrupts von einem Nicht-Echtzeit-Prozessorkern bearbeitet, also beispielsweise dem Prozessorkern 50 oder 53, und stören so die Verarbeitung auf den Prozessorkern(en) der mindestens einen Echtzeit-Domain nicht. For example, a fieldbus or deterministic task network ("TSN") network map is assigned to at least one real-time domain, and corresponding interrupt requests or interrupts and related tasks are processed by a real-time processor core, ie for example, the processor core 51 or 52 , Other interrupt requests or interrupts, such as USB, SATA, standard Ethernet, etc., are assigned to at least one non-real-time domain. Thus, corresponding interrupt requests or interrupts are handled by a non-real-time processor core, such as the processor core 50 or 53 , and thus do not disturb the processing on the processor core (s) of the at least one real-time domain.

Als Folge davon können einzelne Prozessorkerne 50, 51, 52, 53 des Mehrkernprozessors 5 Unterbrechungsanforderungen oder Interrupts und zugehörige Aufgaben verschiedener Geräte 10, 20, 30, 54 bearbeiten, wenn die Geräte 10, 20, 30, 54 der gleichen Domain angehören, nämlich der Echtzeit-Domain oder der Nicht-Echtzeit-Domain. As a result, individual processor cores 50 . 51 . 52 . 53 of the multi-core processor 5 Interrupt requests or interrupts and related tasks of different devices 10 . 20 . 30 . 54 edit when the devices 10 . 20 . 30 . 54 belong to the same domain, namely the real-time domain or the non-real-time domain.

Zusammengefasst bekommen bei allen zuvor beschriebenen Ausführungsbeispielen einzelne Prozessorkerne 50, 51, 52, 53 des Mehrkernprozessors 5 über eine geschickte Zuteilung von Interrupts maximal mögliche Kalkulationszeiten für echtzeitkritische Aufgaben. In summary, in all the embodiments described above, individual processor cores are obtained 50 . 51 . 52 . 53 of the multi-core processor 5 through a clever allocation of interrupts maximum possible calculation times for real-time critical tasks.

Alle zuvor beschriebenen Ausgestaltungen des Konfigurations- und Anzeigewerkzeugs 8 und des Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. Insbesondere können alle Merkmale und/oder Funktionen der zuvor beschriebenen Ausführungsbeispiele beliebig kombiniert werden. Zusätzlich sind insbesondere folgende Modifikationen denkbar. All previously described embodiments of the configuration and display tool 8th and the method can be used individually or in all possible combinations. In particular, all features and / or functions of the embodiments described above can be combined as desired. In addition, the following modifications are conceivable, in particular.

Die in den Figuren dargestellten Teile sind schematisch dargestellt und können in der genauen Ausgestaltung von den in den Figuren gezeigten Formen abweichen, solange deren zuvor beschriebenen Funktionen gewährleistet sind. The parts shown in the figures are shown schematically and may differ in the exact embodiment of the shapes shown in the figures, as long as their functions described above are guaranteed.

Die Anzahl der Peripheriegeräte 10, 20, 30 ist beliebig wählbar. Es können auch nur zwei oder auch mehr als drei Peripheriegeräte an den Bus 4 angeschlossen sein. The number of peripherals 10 . 20 . 30 is arbitrary. It can also only two or more than three peripherals to the bus 4 be connected.

Die Anzahl der Prozessorkerne 50, 51, 52, 53 des Mehrkernprozessors 5 ist ebenfalls beliebig wählbar. Es können auch nur zwei oder drei und selbstverständlich mehr als vier Prozessorkerne 50, 51, 52, 53 vorhanden sein. The number of processor cores 50 . 51 . 52 . 53 of the multi-core processor 5 is also arbitrary. It can also be only two or three and of course more than four processor cores 50 . 51 . 52 . 53 to be available.

An den internen Bus 58 kann auch mehr als ein internes Gerät 54 angeschlossen sein. Die Anzahl der internen Geräte 54 ist ebenfalls beliebig wählbar. To the internal bus 58 can also do more than an internal device 54 be connected. The number of internal devices 54 is also arbitrary.

Das Konfigurations- und Anzeigewerkzeug 8 kann auch mindestens ein weiteres Feld in Bezug auf die einzelnen Prozessorkerne aufweisen. In diesem mindestens einen Feld kann beispielsweise die aktuelle Prozessorleistung von Prozessorkern(en) 50, 51, 52, 53 oder die Latenzzeit usw. angezeigt werden. The configuration and display tool 8th may also have at least one additional field with respect to the individual processor cores. In this at least one field, for example, the current processing power of processor core (s) 50 . 51 . 52 . 53 or the latency, etc. are displayed.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • DIN ISO/IEC 2382 [0004] DIN ISO / IEC 2382 [0004]

Claims (10)

Konfigurations- und Anzeigewerkzeug (8) für einen Mehrkernprozessor (5), der mindestens zwei Prozessorkerne (50, 51, 52, 53) zur Verarbeitung von Daten (11, 21, 31) eines automatisierten Prozesses aufweist und der über einen Bus (4; 58) an mindestens zwei Geräte (10, 20, 30) angeschlossen ist, die die Daten (11, 21, 31) des automatisierten Prozesses bereitstellen oder anfordern, wobei das Konfigurations- und Anzeigewerkzeug aufweist eine Erstelleinrichtung (81) zur Erstellung einer Bedienoberfläche (82) für einen Benutzer (9), und eine Dateierzeugungseinrichtung (83) zur Erzeugung einer Datei (831), in welcher eine mit der Bedienoberfläche (82) eingestellte Konfiguration des Mehrkernprozessors (5) gespeichert ist, wobei die Erstelleinrichtung (81) eingerichtet ist, die Bedienoberfläche (82) auszugestalten mit mindestens einem Anzeige-/Bedienbereich (820, 821, 822, 823), der ausgestaltet ist zur Anzeige eines ersten Felds (820A, 821A, 822A, 823A) zur Wiedergabe eines aktuellen Zustands einer Konfiguration von mindestens einem einzelnen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5), wobei die Konfiguration eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns (50, 51, 52, 53) und/oder eine Aussage über eine Zuordnung zu dem einzelnen Prozessorkern (50, 51, 52, 53) von Unterbrechungsanforderungen (12, 22, 32; 12, 22, 320) von Geräten (10, 20, 30, 54) aufweist, die über einen Bus (4; 58) mit dem Mehrkernprozessor (5) verbunden sind, und eines zweiten Felds (820B, 821B, 822B, 823B), mittels welchem der Benutzer (9) einen gewünschten Zustand der mit dem mindestens einen Anzeige-/Bedienbereich (820, 821, 822, 823) angezeigten Konfiguration für zumindest einen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5) einstellen kann. Configuration and display tool ( 8th ) for a multi-core processor ( 5 ), which has at least two processor cores ( 50 . 51 . 52 . 53 ) for processing data ( 11 . 21 . 31 ) of an automated process and that via a bus ( 4 ; 58 ) to at least two devices ( 10 . 20 . 30 ), which is the data ( 11 . 21 . 31 ) provide or request the automated process, wherein the configuration and display tool comprises a setting device ( 81 ) for creating a user interface ( 82 ) for a user ( 9 ), and a file generator ( 83 ) for creating a file ( 831 ), in which one with the user interface ( 82 ) configuration of the multi-core processor ( 5 ), the setting device ( 81 ), the user interface ( 82 ) with at least one display / operating area ( 820 . 821 . 822 . 823 ) which is designed to display a first field ( 820A . 821A . 822A . 823A ) for displaying a current state of a configuration of at least one single processor core ( 50 . 51 . 52 . 53 ) of the multi-core processor ( 5 ), where the configuration is a statement about a real-time or non-real-time application of the single processor core ( 50 . 51 . 52 . 53 ) and / or a statement about an assignment to the single processor core ( 50 . 51 . 52 . 53 ) interruption requests ( 12 . 22 . 32 ; 12 . 22 . 320 ) of devices ( 10 . 20 . 30 . 54 ), which via a bus ( 4 ; 58 ) with the multi-core processor ( 5 ) and a second field ( 820B . 821B . 822B . 823B ) by which the user ( 9 ) a desired state of the with the at least one display / operating area ( 820 . 821 . 822 . 823 ) configuration for at least one processor core ( 50 . 51 . 52 . 53 ) of the multi-core processor ( 5 ). Konfigurations- und Anzeigewerkzeug (8) nach Anspruch 1, wobei das Konfigurations- und Anzeigewerkzeug (8) ausgestaltet ist, die von der Dateierzeugungseinrichtung (83) erzeugte Datei (831) an den Mehrkernprozessor (5) zu senden, so dass die Datei (831) beim nächsten Booten des Mehrkernprozessors (5) zur Konfiguration des Mehrkernprozessors (5) verwendet wird. Configuration and display tool ( 8th ) according to claim 1, wherein the configuration and display tool ( 8th ) generated by the file creator ( 83 ) generated file ( 831 ) to the multi-core processor ( 5 ), so that the file ( 831 ) the next time you boot the multicore processor ( 5 ) for configuring the multi-core processor ( 5 ) is used. Konfigurations- und Anzeigewerkzeug (8) nach Anspruch 1 oder 2, wobei die Datei (831) eine binäre Datei oder eine Datei im XML-Format oder eine Datei im Ascii-Format ist. Configuration and display tool ( 8th ) according to claim 1 or 2, wherein the file ( 831 ) is a binary file or a file in XML format or a file in Ascii format. Konfigurations- und Anzeigewerkzeug (8) nach einem der vorangehenden Ansprüche, wobei die Dateierzeugungseinrichtung (83) ausgestaltet ist, die Datei (831) zur Konfiguration von programmierbaren Unterbrechungsanforderungscontrollern (500, 510, 520, 530) zu erstellen, wobei jedem Prozessorkern (50, 51, 52, 53) ein derartiger programmierbarer Unterbrechungsanforderungscontroller (500, 510, 520, 530) zugeordnet ist, und/oder wobei die Dateierzeugungseinrichtung (83) ausgestaltet ist, die Datei (831) derart zum Konfigurieren des programmierbaren Unterbrechungsanforderungscontrollers (500, 510, 520, 530) zu erstellen, dass sowohl die Unterbrechungsanforderungen (12, 22, 32, 541) und die der Unterbrechungsanforderung (12, 22, 32, 541) zugehörige mindestens eine Aufgabe (13, 23, 33) zu dem Prozessorkern (50, 51, 52, 53) zugeordnet wird. Configuration and display tool ( 8th ) according to one of the preceding claims, wherein the file generating device ( 83 ), the file ( 831 ) for configuring programmable interrupt request controllers ( 500 . 510 . 520 . 530 ), with each processor core ( 50 . 51 . 52 . 53 ) such a programmable interrupt request controller ( 500 . 510 . 520 . 530 ) and / or wherein the file generation device ( 83 ), the file ( 831 ) for configuring the programmable interrupt request controller ( 500 . 510 . 520 . 530 ) that both the interruption requests ( 12 . 22 . 32 . 541 ) and the interrupt request ( 12 . 22 . 32 . 541 ) associated at least one task ( 13 . 23 . 33 ) to the processor core ( 50 . 51 . 52 . 53 ). Konfigurations- und Anzeigewerkzeug (8) nach einem der vorangehenden Ansprüche, wobei die Dateierzeugungseinrichtung (83) ausgestaltet ist, die Datei (831) zur Konfiguration mindestens eines weiteren Prozessorkerns (53) der mindestens zwei Prozessorkerne (50, 51, 52, 53) für eine weitere Instanz von Echtzeit-Service-Unterbrechungsanforderungen (320) und die der Unterbrechungsanforderung (320) zugehörige mindestens eine Echtzeitaufgabe (321) zu erstellen, und/oder wobei das Konfigurations- und Anzeigewerkzeug (8) über den Bus (4) an den Mehrkernprozessor (5) und die mindestens zwei Geräte (10, 20, 30, 54) angeschlossen ist. Configuration and display tool ( 8th ) according to one of the preceding claims, wherein the file generating device ( 83 ), the file ( 831 ) for configuring at least one further processor core ( 53 ) of the at least two processor cores ( 50 . 51 . 52 . 53 ) for another instance of real-time service interrupt requests ( 320 ) and the interrupt request ( 320 ) associated at least one real-time task ( 321 ) and / or where the configuration and display tool ( 8th ) over the bus ( 4 ) to the multi-core processor ( 5 ) and the at least two devices ( 10 . 20 . 30 . 54 ) connected. Konfigurations- und Anzeigewerkzeug (8) nach einem der vorangehenden Ansprüche, wobei das mindestens eine zweite Feld (820B, 821B, 822B, 823B) ausgestaltet ist, durch den Benutzer (9) Unterbrechungsanforderungen und Aufgaben von mindestens einem Gerät (10, 20, 30, 54) entweder einer Echtzeit-Domain oder einer Nicht-Echtzeit-Domain zuzuweisen sind, und/oder wobei das erste und zweite Feld (820A, 820B, 821A, 821B, 822A, 822B, 823A, 823B) des Anzeige-/Bedienbereichs (820, 821, 822, 823) eine Einheit bilden. Configuration and display tool ( 8th ) according to one of the preceding claims, wherein the at least one second field ( 820B . 821B . 822B . 823B ) is configured by the user ( 9 ) Interrupt requests and tasks of at least one device ( 10 . 20 . 30 . 54 ) are assigned to either a real-time domain or a non-real-time domain, and / or where the first and second fields ( 820A . 820B . 821A . 821B . 822A . 822B . 823A . 823B ) of the display / operating area ( 820 . 821 . 822 . 823 ) form a unit. Anlage (1; 2) zur Ausführung eines automatisierten Prozesses, mit einem Mehrkernprozessor (5), der mindestens zwei Prozessorkerne (50, 51, 52, 53) zur Verarbeitung von Daten (11, 21, 31) eines automatisierten Prozesses aufweist, mindestens zwei Geräten (10, 20, 30, 54), die mit dem Mehrkernprozessor (5) verbunden sind, um Daten (11, 21, 31) des automatisierten Prozesses bereitzustellen oder anzufordern, einem Konfigurations- und Anzeigewerkzeug (8) nach einem der vorangehenden Ansprüche, und wobei ein Gerät (10, 20, 30, 54) der mindestens zwei Geräte (10, 20, 30) ein Zeitgeber oder ein Antriebsregler oder ein Sensor oder ein serieller Bus zur Kommunikation ist. Investment ( 1 ; 2 ) for executing an automated process, with a multi-core processor ( 5 ), which has at least two processor cores ( 50 . 51 . 52 . 53 ) for processing data ( 11 . 21 . 31 ) of an automated process, at least two devices ( 10 . 20 . 30 . 54 ) with the multi-core processor ( 5 ) are connected to data ( 11 . 21 . 31 ) of the automated process or to request a configuration and display tool ( 8th ) according to one of the preceding claims, and wherein a device ( 10 . 20 . 30 . 54 ) of at least two devices ( 10 . 20 . 30 ) is a timer or a drive controller or a sensor or a serial bus for communication. Anlage (1; 2) nach Anspruch 7, wobei die Anlage eine chemische Anlage oder eine mechanische Anlage oder eine Anlage zum Management von Netzwerkkommunikation ist. Investment ( 1 ; 2 ) according to claim 7, wherein the plant is a chemical plant or a mechanical plant or a network communication management facility. Anlage (1; 2) nach Anspruch 7 oder 8, wobei die Anlage (1; 2) eine Druckmaschine und/oder eine Verpackungsmaschine und/oder eine Anlage zur Bearbeitung eines Werkstücks (3) ist. Investment ( 1 ; 2 ) according to claim 7 or 8, wherein the plant ( 1 ; 2 ) a printing press and / or a Packaging machine and / or a plant for processing a workpiece ( 3 ). Verfahren zum Konfigurieren eines Mehrkernprozessors (5) für einen automatisierten Prozess mit einem Konfigurations- und Anzeigewerkzeug (8), wobei der Mehrkernprozessor (5) mindestens zwei Prozessorkerne (50, 51, 52, 53) zur Verarbeitung von Daten (11, 21, 31) eines automatisierten Prozesses aufweist und der Mehrkernprozessor (5) über einen Bus (4) an mindestens zwei Geräte (10, 20, 30, 54) angeschlossen ist, die die Daten (11, 21, 31) des automatisierten Prozesses bereitstellen oder anfordern, wobei das Verfahren die Schritte aufweist Erstellen, mit einer Erstelleinrichtung (81) des Konfigurations- und Anzeigewerkzeug (8), einer Bedienoberfläche (82) für einen Benutzer (9), und Erzeugen, mit einer Dateierzeugungseinrichtung (83) des Konfigurations- und Anzeigewerkzeug (8), einer Datei (831), in welcher eine mit der Bedienoberfläche (82) eingestellte Konfiguration des Mehrkernprozessors (5) gespeichert ist, wobei bei dem Erstellen mit der Erstelleinrichtung (81) die Bedienoberfläche (82) mit mindestens einem Anzeige-/Bedienbereich (820, 821, 822, 823) ausgestaltet wird, mit dem angezeigt wird ein erstes Feld (820A, 821A, 822A, 823A), das einen aktuellen Zustand einer Konfiguration von mindestens einem einzelnen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5) wiedergibt, wobei die Konfiguration eine Aussage über eine Echtzeit- oder Nicht-Echtzeit-Anwendung des einzelnen Prozessorkerns (50, 51, 52, 53) und/oder eine Aussage über eine Zuordnung zu dem einzelnen Prozessorkern (50, 51, 52, 53) von Unterbrechungsanforderungen (12, 22, 32; 12, 22, 320) von Geräten (10, 20, 30, 54) aufweist, die über einen Bus (4; 58) mit dem Mehrkernprozessor (5) verbunden sind, und ein zweites Feld (820B, 821B, 822B, 823B), mittels welchem der Benutzer (9) einen gewünschten Zustand der mit dem mindestens einen Anzeige-/Bedienbereich (820, 821, 822, 823) angezeigten Konfiguration für zumindest einen Prozessorkern (50, 51, 52, 53) des Mehrkernprozessors (5) einstellt. Method for configuring a multi-core processor ( 5 ) for an automated process with a configuration and display tool ( 8th ), wherein the multicore processor ( 5 ) at least two processor cores ( 50 . 51 . 52 . 53 ) for processing data ( 11 . 21 . 31 ) of an automated process and the multi-core processor ( 5 ) via a bus ( 4 ) to at least two devices ( 10 . 20 . 30 . 54 ), which is the data ( 11 . 21 . 31 ) of the automated process, the method comprising the steps of 81 ) of the configuration and display tool ( 8th ), a user interface ( 82 ) for a user ( 9 ), and generating, with a file generator ( 83 ) of the configuration and display tool ( 8th ), a file ( 831 ), in which one with the user interface ( 82 ) configuration of the multi-core processor ( 5 ), wherein when created with the setting device ( 81 ) the user interface ( 82 ) with at least one display / operating area ( 820 . 821 . 822 . 823 ), which displays a first field ( 820A . 821A . 822A . 823A ) representing a current state of a configuration of at least one single processor core ( 50 . 51 . 52 . 53 ) of the multi-core processor ( 5 ), the configuration being indicative of a real-time or non-real-time application of the single processor core ( 50 . 51 . 52 . 53 ) and / or a statement about an assignment to the single processor core ( 50 . 51 . 52 . 53 ) interruption requests ( 12 . 22 . 32 ; 12 . 22 . 320 ) of devices ( 10 . 20 . 30 . 54 ), which via a bus ( 4 ; 58 ) with the multi-core processor ( 5 ) and a second field ( 820B . 821B . 822B . 823B ) by which the user ( 9 ) a desired state of the with the at least one display / operating area ( 820 . 821 . 822 . 823 ) configuration for at least one processor core ( 50 . 51 . 52 . 53 ) of the multi-core processor ( 5 ).
DE102016211440.9A 2016-06-27 2016-06-27 A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool Withdrawn DE102016211440A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016211440.9A DE102016211440A1 (en) 2016-06-27 2016-06-27 A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016211440.9A DE102016211440A1 (en) 2016-06-27 2016-06-27 A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool

Publications (1)

Publication Number Publication Date
DE102016211440A1 true DE102016211440A1 (en) 2017-12-28

Family

ID=60579260

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016211440.9A Withdrawn DE102016211440A1 (en) 2016-06-27 2016-06-27 A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool

Country Status (1)

Country Link
DE (1) DE102016211440A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIN ISO/IEC 2382
Hanti, T. et al.: Higher Utilization of Multi-Core Processors in Dynamic Real-Time Software Systems. In: International Journal of Electrical Energy, Vol. 1, December 2013. pp. 249 - 255

Similar Documents

Publication Publication Date Title
DE112012002631T5 (en) Stream processing using a client-server architecture
DE102016014152A1 (en) Numerical control device
LU93299B1 (en) Sequence control of program modules
DE112012006048T5 (en) Machining program creating device, machining program creating method and recording medium
DE112019005584T5 (en) ARITHMETIC CONTROL DEVICE
DE102006052757B4 (en) Method for operating an automation device with a processing unit having a plurality of processing cores
EP3080668B1 (en) Method for influencing a control program of a control unit
DE10326542B4 (en) Operating method and control program for a central unit of an automation system and central unit of an automation system and automation system itself
EP3200034B1 (en) Accessing data or functions of a programmable logic controller by means of a web-service
DE102011107646A1 (en) Method and system for the dynamic distribution of program functions in distributed control systems
DE102014219711A1 (en) Method for power plant simulation
EP2561415B1 (en) Data management method and programmable logic controller
DE102017130552B3 (en) Method of data processing and programmable logic controller
DE102011011682B4 (en) Programmable controller for parallel execution of a plurality of independent execution programs
DE102018125090A1 (en) Data processing method and programmable logic controller
DE112013007676T5 (en) information device
DE102019117954A1 (en) Runtime server for the simultaneous execution of several runtime systems of an automation system
DE102016211440A1 (en) A multi-core processor configuration and display tool for a plant for use in an automated process and method for configuring a multi-core processor for an automated process with a configuration and display tool
DE102018006156A1 (en) control system
EP2090948A1 (en) Automation system and method for operating such an automation system
DE102016211430A1 (en) Apparatus for a plant for use in an automated process and process for an automated process
DE102017003157A1 (en) Numerical control
DE102016206490A1 (en) ELECTRONIC CONTROL UNIT
EP2126700B1 (en) Control of the run time behavior of processes
DE112014003069T5 (en) Function unit, analog input unit and programmable control system

Legal Events

Date Code Title Description
R082 Change of representative
R163 Identified publications notified
R005 Application deemed withdrawn due to failure to request examination