DE102014210529A1 - Method for operating a control unit - Google Patents
Method for operating a control unit Download PDFInfo
- Publication number
- DE102014210529A1 DE102014210529A1 DE102014210529.3A DE102014210529A DE102014210529A1 DE 102014210529 A1 DE102014210529 A1 DE 102014210529A1 DE 102014210529 A DE102014210529 A DE 102014210529A DE 102014210529 A1 DE102014210529 A1 DE 102014210529A1
- Authority
- DE
- Germany
- Prior art keywords
- processor cores
- processor
- control unit
- real
- operated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Die Erfindung betrifft ein Verfahren zum Betreiben einer Steuereinheit (100) zum Steuern einer Maschine (130) und/oder Anlage mit einem Multicore-Prozessor (101) mit wenigstens zwei Prozessorkernen (102), wobei eine erste Anzahl (110) von Prozessorkernen (102) des Multicore-Prozessors (101) einem oder mehreren echtzeitfähigen ersten Betriebssystemen zugeordnet ist, wobei eine zweite Anzahl (120) von Prozessorkernen (102) des Multicore-Prozessors (101) einem oder mehreren zweiten Betriebssystemen zugeordnet ist, wobei einzelne der Prozessorkerne der zweiten Anzahl (120) von Prozessorkernen (101) bei Bedarf in einem Energiesparmodus betrieben werden und wobei sämtliche Prozessorkerne der ersten Anzahl (110) von Prozessorkernen stets aktiv betrieben werden und nicht in einem Energiesparmodus betrieben werden.The invention relates to a method for operating a control unit (100) for controlling a machine (130) and / or installation having a multicore processor (101) with at least two processor cores (102), wherein a first number (110) of processor cores (102 ) of the multicore processor (101) is associated with one or more real time capable first operating systems, wherein a second number (120) of processor cores (102) of the multicore processor (101) is associated with one or more second operating systems, wherein individual ones of the processor cores of the second Number (120) of processor cores (101) are operated in a power-saving mode as needed and wherein all processor cores of the first number (110) of processor cores are always actively operated and are not operated in a power-saving mode.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Steuereinheit zum Steuern einer Maschine und/oder Anlage sowie eine entsprechende Steuereinheit. The present invention relates to a method for operating a control unit for controlling a machine and / or system as well as a corresponding control unit.
Stand der Technik State of the art
Moderne Steuereinheiten bzw. Steuergeräte wie eine Computerized Numerical Control (CNC), Motion Control (MC) Logic oder Speicherprogrammierbare Steuerung (SPS) umfassen zumeist eine Prozessoreinheit. Eine derartige Prozessoreinheit kann einen zweckmäßigen Prozessor bzw. Prozessorkern (Core) oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Rechenoperationen (z.B. Prozesse, Tasks, Anwendungen, Programme, etc.) darstellt, und weiterhin einen lokalen Speicher. Ein derartiger lokaler Speicher ist insbesondere als ein Registersatz aus einem oder mehreren Registern ausgebildet. Modern control units or control devices such as a computerized numerical control (CNC), motion control (MC) logic or programmable logic controller (PLC) usually comprise a processor unit. Such a processor unit may comprise a suitable processor core or a multi-core processor. Multicore processors include multiple (at least two) processor cores. A processor core comprises an arithmetic logic unit (ALU), which represents the actual electronic arithmetic unit for performing arithmetic operations (e.g., processes, tasks, applications, programs, etc.), and also a local memory. Such a local memory is designed in particular as a register set of one or more registers.
Moderne Multicore-Prozessoren können in einem sogenannten Hypervisor-Modus betrieben werden. Dabei können durch einen Hypervisor mehrere voneinander getrennte Betriebssysteme in einem Multicore-Prozessor eingerichtet und ausgeführt werden. Einzelne Kerne dieses Multicore-Prozessors können jeweils einzelnen der Betriebssysteme zugeordnet werden. Ein jeweiliges Betriebssystem kann auf den ihm zugeordneten Prozessorkernen unterschiedliche Rechenoperation ausführen. Modern multicore processors can be operated in a so-called hypervisor mode. It can be set up and executed by a hypervisor several separate operating systems in a multicore processor. Individual cores of this multicore processor can be assigned to each of the operating systems. A respective operating system can execute different arithmetic operations on the processor cores assigned to it.
Steuereinheiten wie CNC, MC oder SPS mit derartigen Mulitcore-Prozessoren finden immer größere Bedeutung in der Automatisierungstechnik, beispielsweise zur Fabrikautomatisierung und zur Prozessautomatisierung, und können zum Steuern von Maschinen oder Anlagen, wie beispielsweise Werkzeugmaschinen, Druckmaschinen oder ähnlichem, verwendet werden. Control units such as CNC, MC or PLC with such multi-core processors are becoming increasingly important in automation technology, such as factory automation and process automation, and may be used to control machinery or equipment such as machine tools, printing machines or the like.
Derartige Steuereinheiten zum Steuern von Maschinen oder Anlagen sind zumeist Echtzeitsysteme. Echtzeitsysteme zeichnen sich dadurch aus, dass Rechenoperationen derart ausgeführt werden, dass eine Echtzeitbedingung erfüllt ist, d.h. dass ein Ergebnis einer Rechenoperation innerhalb eines definierten Zeitintervalls garantiert berechnet ist, also vor einer bestimmten Zeitschranke vorliegt. Auf einem Multicore-Prozessor eines derartigen Echtzeitsystems werden zumeist ein oder mehrere Echtzeitbetriebssysteme ausgeführt. Ein derartiges Echtzeitbetriebssystem regelt die unterschiedlichen Rechenoperationen und führt diese in Echtzeit aus. Such control units for controlling machines or systems are usually real-time systems. Real-time systems are characterized by performing computational operations such that a real-time condition is satisfied, i. E. that a result of an arithmetic operation is guaranteed calculated within a defined time interval, ie before a certain time limit exists. On a multicore processor of such a real-time system, one or more real-time operating systems are usually executed. Such a real-time operating system controls the different arithmetic operations and executes them in real time.
In einem herkömmlichen Multicore-Prozessor, welcher nicht in ein Echtzeitsystem implementiert ist, kann ein Energiemanagement implementiert werden, damit der Multicore-Prozessor energiesparend betrieben werden kann. Einzelne der Prozessorkerne des Multicore-Prozessors können dabei deaktiviert und zu einem späteren Zeitpunkt wieder reaktiviert werden. In a conventional multicore processor, which is not implemented in a real-time system, power management can be implemented to power the multicore processor. Individual processor cores of the multicore processor can be deactivated and reactivated at a later time.
Ein derartiges Energiemanagement bietet sich jedoch nicht für einen Multicore-Prozessor in einem Echtzeitsystem an. Wenn einzelne der Prozessorkerne im Zuge eines derartigen Energiemanagements deaktiviert werden, kann nicht mehr garantiert werden, dass bei der Ausführung von Rechenoperationen eine Echtzeitbedingung erfüllt ist. Ein Abschalten von Prozessorkernen im Zuge eines derartigen Energiemanagements kann zu Fehlern, Beschädigungen oder Ausfall der Industriemaschinen bzw. Anlage führen. Weiterhin werden ein Sicherheitsrisiko und eine Gefährdung sowohl für die Industriemaschinen bzw. Anlage als auch für Benutzer bzw. Arbeiter erheblich erhöht. However, such energy management does not lend itself to a multicore processor in a real-time system. If individual processor cores are deactivated as part of such energy management, it is no longer possible to guarantee that a real-time condition is fulfilled when performing arithmetic operations. Switching off processor cores in the course of such an energy management can lead to errors, damage or failure of the industrial machinery or plant. Furthermore, a security risk and a risk for both the industrial machinery or plant as well as for users or workers are considerably increased.
Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um einen Multicore-Prozessor einer Steuereinheit zum Steuern von Maschinen oder Anlagen energiesparend betreiben zu können und dennoch ein sicheres Steuern der Maschinen bzw. Anlagen zu gewährleisten. It is therefore desirable to provide a way to operate a multi-core processor of a control unit for controlling machinery or equipment energy-saving and yet to ensure safe control of the machinery or equipment.
Offenbarung der Erfindung Disclosure of the invention
Erfindungsgemäß werden ein Verfahren zum Betreiben einer Steuereinheit zum Steuern einer Maschine und/oder Anlage sowie eine entsprechende Steuereinheit mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. According to the invention, a method for operating a control unit for controlling a machine and / or installation and a corresponding control unit with the features of the independent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.
Die Steuereinheit umfasst einen Multicore-Prozessor mit wenigstens zwei Prozessorkernen. In der Steuereinheit sind wenigstens zwei unterschiedliche Betriebssysteme eingerichtet und werden ausgeführt. Ein erstes Betriebssystem ist ein echtzeitfähiges Betriebssystem bzw. ein Echtzeitbetriebssystem (real-time operating system, RTOS). Ein zweites Betriebssystem ist insbesondere ein Allzweck-Betriebssystem (general purpose operating system, GPOS). Dieses zweite Betriebssystem ist insbesondere nicht echtzeitfähig im Sinne der Automatisierungstechnik. The control unit comprises a multicore processor with at least two processor cores. At least two different operating systems are set up in the control unit and are executed. A first operating system is a real-time operating system or a real-time operating system (RTOS). In particular, a second operating system is a general purpose operating system (GPOS). This second operating system is in particular not real-time capable in terms of automation technology.
Von dem echtzeitfähigen Betriebssystem können Rechenoperation (z.B. Prozess, Tasks, Anwendungen, usw.) derart ausgeführt werden, dass eine Echtzeitbedingung erfüllt ist. Diese Rechenoperationen werden von dem echtzeitfähigen Betriebssystem garantiert innerhalb eines vorgegebenen, definierten Zeitintervalls vollständig ausgeführt. Ein Ergebnis dieser Rechenoperation wird innerhalb dieses definierten Zeitintervalls garantiert berechnet und liegt demgemäß vor einer bestimmten Zeitschranke vor. Weiterhin ist ein Determinismus bzw. eine Vorhersagbarkeit der Rechenoperationen gegeben. From the real-time operating system, arithmetic operation (eg, process, tasks, applications, etc.) may be performed such that a real-time condition is met. These arithmetic operations are guaranteed to be completed by the real-time capable operating system within a predetermined, defined time interval. One The result of this calculation operation is guaranteed to be calculated within this defined time interval and is therefore present before a certain time limit. Furthermore, a determinism or predictability of the arithmetic operations is given.
Insbesondere erfüllt das echtzeitfähige Betriebssystem die nach der
Die Prozessorkerne des Multicore-Prozessors sind in wenigstens zwei Gruppen eingeteilt. Eine erste Gruppe umfasst eine erste Anzahl von Prozessorkernen, eine zweite Gruppe umfasst eine zweite Anzahl von Prozessorkernen. Jede dieser beiden Gruppen umfasst wenigstens einen Prozessorkern. Diese erste Anzahl von Prozessorkernen ist dem echtzeitfähigen Betriebssystem zugeordnet. Das echtzeitfähige Betriebssystem kann auf dieser ersten Anzahl von Prozessorkernen Rechenoperationen in Echtzeit ausführen. Die zweite Anzahl von Prozessorkernen ist dem zweiten Betriebssystem zugeordnet. The processor cores of the multicore processor are divided into at least two groups. A first group comprises a first number of processor cores, a second group comprises a second number of processor cores. Each of these two groups includes at least one processor core. This first number of processor cores is associated with the real-time operating system. The real-time capable operating system can execute arithmetic operations in real time on this first number of processor cores. The second number of processor cores is associated with the second operating system.
Erfindungsgemäß werden einzelne der Prozessorkerne der zweiten Anzahl von Prozessorkernen bei Bedarf in einem Energiesparmodus betrieben. Im Zuge eines derartigen Energiesparmodus wird der entsprechende Prozessorkern insbesondere ausgeschaltet oder in einen energiesparenden Betriebsmodus versetzt und ist weiter insbesondere deaktiviert bzw. inaktiv. Der entsprechende Prozessorkern führt in dem Energiesparmodus keine Rechenoperationen aus und wird insbesondere nicht oder nur reduziert mit Energie versorgt. Wenn nötig, werden Prozessorkerne aus dem Energiesparmodus wieder reaktiviert und wieder normal betrieben. Sämtliche Prozessorkerne der ersten Anzahl von Prozessorkernen hingegen werden erfindungsgemäß stets aktiv betrieben und zu keiner Zeit in einem Energiesparmodus betrieben. Insbesondere werden diese Prozessorkerne stets betrieben, wenn die Steuereinheit betrieben wird. According to the invention, individual ones of the processor cores of the second number of processor cores are operated in an energy-saving mode as needed. In the course of such an energy-saving mode, the corresponding processor core is in particular switched off or put into an energy-saving operating mode and is furthermore in particular deactivated or inactive. The corresponding processor core does not execute any arithmetic operations in the energy-saving mode and in particular is not supplied with energy or only reduced. If necessary, processor cores are re-enabled from sleep mode and run normally again. By contrast, all processor cores of the first number of processor cores are always actively operated and are not operated in an energy-saving mode at any time. In particular, these processor cores are always operated when the control unit is operated.
Unter der Formulierung "bei Bedarf" ist zu verstehen, dass einer oder mehrere der Prozessorkerne in den Energiesparmodus überführt und in diesem betrieben werden, wenn von diesen Prozessorkernen keine oder kaum Rechenoperationen ausgeführt werden und/oder wenn diese Prozessorkerne nicht zum Ausführen sämtlicher von dem zweiten Betriebssystem durchzuführender Rechenoperationen benötigt werden. Insbesondere können dabei Rechenoperationen, die einem speziellen Prozessorkern zugewiesen sind, einem anderen Prozessorkern zugewiesen und von diesem ausgeführt werden und dieser spezielle Prozessorkern kann in den Energiesparmodus überführt werden. By "on-demand" as used herein is meant that one or more of the processor cores are transitioned to and operating in the power-saving mode when little or no computational operations are performed by those processor cores and / or when those processor cores are not executing all of the second Operating system to be performed arithmetic operations. In particular, arithmetic operations assigned to a particular processor core may be assigned to and executed by another processor core, and that particular processor core may be put into power saving mode.
Neben dem ersten echtzeitfähigen Betriebssystem können insbesondere auch noch weitere echtzeitfähige Betriebssysteme in der Steuereinheit ausgeführt werden und neben dem zweiten Betriebssystem können insbesondere auch noch weitere nicht echtzeitfähige Betriebssysteme ausgeführt werden. Die Prozessorkerne werden in diesem Fall insbesondere in mehrere Gruppen mit einer jeweiligen Anzahl von Prozessorkernen unterteilt. Den einzelnen Betriebssystemen ist jeweils eine entsprechende zweckmäßige Anzahl von Prozessorkernen zugeordnet. In addition to the first real-time-capable operating system, other real-time-capable operating systems in particular can also be executed in the control unit and, in addition to the second operating system, it is also possible to execute further non-real-time operating systems. In particular, the processor cores are subdivided into multiple groups with a respective number of processor cores. Each operating system is assigned a corresponding appropriate number of processor cores.
Die Steuereinheit ist ein Echtzeitsystem und eignet sich insbesondere, um sicherheitskritische Anwendungen der Maschine bzw. Anlage zu steuern oder zu regeln, da durch das Echtzeitsysteme garantiert ist, dass ein Ergebnis einer Rechenoperation innerhalb eines definierten Zeitintervalls berechnet ist bzw. ein Prozess innerhalb des definierten Zeitintervalls ausgeführt wird. Insbesondere werden Rechenoperationen, welche an dem sicheren Betrieb der Maschine bzw. Anlage beteiligt sind, im Zuge des erfindungsgemäßen Verfahrens von dem echtzeitfähigen Betriebssystem auf der ersten Anzahl von Prozessorkernen ausgeführt. The control unit is a real-time system and is particularly suitable for controlling or regulating safety-critical applications of the machine or system, since it is guaranteed by the real-time systems that a result of an arithmetic operation is calculated within a defined time interval or a process within the defined time interval is performed. In particular, arithmetic operations which are involved in the secure operation of the machine or system are executed in the course of the method according to the invention by the real-time-capable operating system on the first number of processor cores.
Vorteile der Erfindung Advantages of the invention
Durch die Erfindung kann ein energiesparender Betrieb der Steuereinheit ermöglicht werden und dennoch kann gewährleistet werden, dass die Steuereinheit ein Echtzeitsystem darstellt und Rechenoperationen in Echtzeit ausführen kann. Durch die Erfindung wird die zum Betreiben der Steuereinheit benötigte Energie reduziert. Somit können Kosten für den Betrieb der Steuereinheit und für den Betrieb der Anlage bzw. Maschine reduziert werden. Ein energiearmer, umweltschonender Betrieb der Steuereinheit wird ermöglicht. Dennoch ist die Echtzeitfähigkeit der Steuereinheit gewährleistet. Somit wird gewährleistet, dass die Maschine bzw. Anlage sicher und bestmöglich durch die Steuereinheit gesteuert wird. By the invention, an energy-saving operation of the control unit can be made possible and yet it can be ensured that the control unit is a real-time system and can perform arithmetic operations in real time. The invention reduces the energy required to operate the control unit. Thus, costs for the operation of the control unit and for the operation of the plant or machine can be reduced. A low-energy, environmentally friendly operation of the control unit is made possible. Nevertheless, the real-time capability of the control unit is ensured. This ensures that the machine or system is safely and optimally controlled by the control unit.
Weiterhin wird durch die Erfindung eine für die Steuereinheit benötigte Anzahl von Bauteilen reduziert. Insbesondere werden durch die Erfindung weniger oder zumindest kleinere Kühlmechanismen (z.B. Kühlkörper, Lüfter, usw.) für die Steuereinheit benötigt. Für die Steuereinheit werden weniger wartungsintensive, bewegliche Bauteile benötigt. Ein Gehäuse der Steuereinheit kann reduziert bzw. verkleinert werden. Ein Platzbedarf der Steuereinheit, insbesondere ein Schaltschrankplatzbedarf, wird somit reduziert. Weiterhin werden somit auch die Herstellungskosten für die Steuereinheit reduziert. Wartungsintervalle können vergrößert werden und eine Lebenszeit der Steuereinheit sowie der gesamten Maschine bzw. Anlage wird erhöht. Furthermore, the invention reduces a number of components required for the control unit. In particular, the invention requires fewer or at least smaller cooling mechanisms (eg heat sinks, fans, etc.) for the control unit. For the control unit less maintenance-intensive, moving components are needed. A housing of the control unit can be reduced or reduced. A space requirement of the control unit, in particular a cabinet space requirement, is thus reduced. Furthermore, thus also the Reduced manufacturing costs for the control unit. Maintenance intervals can be increased and a lifetime of the control unit and the entire machine or system is increased.
Die erste Gruppe und somit die erste Anzahl von Prozessorkernen sind insbesondere für Rechenoperationen reserviert, welche in Echtzeit ausgeführt werden müssen. Die erste Anzahl von Prozessorkernen wird zu diesem Zweck permanent aktiv betrieben und gewährleistet daher eine Echtzeitfähigkeit der Steuereinheit. Die zweite Gruppe und somit die zweite Anzahl von Prozessorkernen wird insbesondere für sämtliche Rechenoperationen verwendet, welche nicht in Echtzeit ausgeführt werden müssen. Somit besteht keine Gefährdung für die Maschine bzw. Anlage, wenn diese Prozessorkerne in dem Energiesparmodus betrieben werden. The first group and thus the first number of processor cores are reserved in particular for arithmetic operations which have to be performed in real time. The first number of processor cores is operated permanently active for this purpose and therefore ensures a real-time capability of the control unit. The second group, and thus the second number of processor cores, is used in particular for all arithmetic operations which need not be performed in real time. Thus, there is no danger to the machine or system when operating these processor cores in the power saving mode.
Ressourcen der dem zweiten Betriebssystems zugeordneten Prozessorkerne werden möglichst energieeffizient genutzt. Insbesondere ist in das zweite Betriebssystem ein Energiemanagement implementiert. Im Zuge dieses Energiemanagements wird bestimmt, welche der Prozessorkerne zu welchen Zeitpunkten in den Energiesparmodus überführt und wieder aus diesem reaktiviert werden. Dabei wird insbesondere ein Energieverbrauch des zweiten Betriebssystems bzw. der von dem zweiten Betriebssystem durchzuführenden Rechenoperationen bestimmt. Weiter insbesondere wird ein zukünftiger Energieverbrauch extrapoliert. In Abhängigkeit von diesem bestimmten bzw. extrapolierten Energieverbrauch wird bestimmt, welche Prozessorkerne in dem Energiesparmodus betrieben werden. Resources of the processor cores associated with the second operating system are used as energy efficiently as possible. In particular, an energy management is implemented in the second operating system. In the course of this energy management, it is determined which of the processor cores are transferred to the energy-saving mode at which times and reactivated again therefrom. In particular, an energy consumption of the second operating system or of the arithmetic operations to be carried out by the second operating system is determined. In particular, future energy consumption is extrapolated. Depending on this particular extrapolated power consumption, it is determined which processor cores are operated in the power saving mode.
Durch die Erfindung müssen nicht sämtliche Prozessorkerne des Multicore-Prozessors permanent betrieben werden. Einzelne Prozessorkerne können in dem Energiesparmodus betrieben werden, ohne dass es zu Fehlern, Beschädigungen oder Ausfall der Maschine bzw. Anlage kommt. Somit kann in der Steuereinheit ein Energiemanagement realisiert werden, ohne dass dadurch ein Sicherheitsrisiko und eine Gefährdung für die Maschine bzw. Anlage oder für Benutzer bzw. Arbeiter besteht. Not all the processor cores of the multicore processor need to be permanently operated by the invention. Individual processor cores can be operated in the energy-saving mode without causing any errors, damage or failure of the machine or system. Thus, an energy management can be realized in the control unit, without there being a safety risk and a threat to the machine or plant or for users or workers.
Die entsprechenden Prozessorkerne können insbesondere manuell, beispielsweise durch einen Benutzer bzw. entsprechende Benutzereingaben, in den Energiesparmodus überführt und wieder aus diesem reaktiviert werden. Alternativ oder zusätzlich kann dies insbesondere auch automatisch erfolgen. Insbesondere kann dabei automatisch bestimmt werden, welche Prozessorkerne zu welchen Zeitpunkten deaktiviert bzw. reaktiviert werden, um auf bestmögliche effizienteste Weise die Ressourcen des Multicore-Prozessors zu verwalten und möglichst viel Energie einzusparen. In particular, the corresponding processor cores can be manually transferred, for example by a user or corresponding user inputs, into the energy-saving mode and reactivated again therefrom. Alternatively or additionally, this can also be done automatically in particular. In particular, it can be automatically determined which processor cores are deactivated or reactivated at which times in order to manage the resources of the multicore processor in the best possible most efficient manner and to save as much energy as possible.
Die Steuereinheit ist bevorzugt als eine Computerized Numerical Control (CNC), Motion Control (MC) Logic bzw. Steuerung oder Speicherprogrammierbare Steuerung (SPS) ausgebildet. Weiter bevorzugt wird die Steuereinheit im Zuge einer Automatisierungstechnik, Fabrikautomatisierung, Prozessautomatisierung und/oder Medizintechnik verwendet. Bevorzugt ist die von der Steuereinheit gesteuerte Maschine bzw. Anlage als eine Werkzeugmaschine oder eine Druck-, Verpackungs- oder Fräsmaschine ausgebildet. The control unit is preferably designed as a computerized numerical control (CNC), motion control (MC) logic or programmable logic controller (PLC). More preferably, the control unit is used in the course of automation technology, factory automation, process automation and / or medical technology. Preferably, the controlled by the control unit machine or system is designed as a machine tool or a printing, packaging or milling machine.
Die Steuereinheit wird bevorzugt zum Steuern eines Kraftfahrzeugs verwendet werden. Beispielsweise kann die Steuereinheit eine Brennkraftmaschine, ein Antiblockiersystem oder einen Airbag des Kraftfahrzeugs steuern. Das definierte Zeitintervall, innerhalb welchem Rechenoperationen in Echtzeit ausgeführt werden, kann beispielsweise für das Antiblockiersystem durch eine Zeit definiert werden, in welcher Bremsen geöffnet werden müssen, damit das Rad nicht blockiert. Für eine Steuerung des Airbags kann die Steuereinheit innerhalb des definierten Zeitintervalls Messwerte von Sensoren verarbeiten und entscheiden, ob und wie stark der Airbag ausgelöst wird. Für die Motorsteuerung werden beispielsweise Einspritzmengen und Einspritzzeitpunkte innerhalb des definierten Zeitintervalls berechnet. The control unit will preferably be used to control a motor vehicle. For example, the control unit may control an internal combustion engine, an antilock brake system or an airbag of the motor vehicle. For example, the defined time interval within which arithmetic operations are performed in real time may be defined for the antilock brake system by a time in which brakes must be opened so that the wheel will not stall. For controlling the airbag, the control unit can process measured values from sensors within the defined time interval and decide whether and how strongly the airbag is triggered. For the engine control, for example, injection quantities and injection times are calculated within the defined time interval.
Bevorzugt wird ein aktiv betriebener Prozessorkern der zweiten Anzahl von Prozessorkernen in den Energiesparmodus überführt und in diesem betrieben, wenn eine Energiesparbedingung erfüllt ist. Eine derartige Energiesparbedingung ist beispielsweise erfüllt, wenn über ein bestimmtes Zeitintervall keine Rechenoperationen durch den entsprechenden Prozessorkern durchgeführt werden. Eine weitere Energiesparbedingung ist beispielsweise, wenn durch den Prozessorkern weniger als eine bestimmte Maximalanzahl an Rechenoperationen ausgeführt werden. Der Prozessorkern wird in diesem Fall in den Energiesparmodus überführt und diese Rechenoperationen werden anderen Prozessorkernen zugewiesen und von diesen weiter ausgeführt. Weiterhin kann als Energiesparbedingung überprüft werden, wie viele der zweiten Anzahl von Prozessorkernen benötigt werden, um sämtliche von dem zweiten Betriebssystem durchzuführe Rechenoperationen auszuführen. Alle Prozessorkerne, welchen nicht benötigt werden, werden in den Energiesparmodus überführt. Preferably, an active-powered processor core of the second number of processor cores is transferred to and operated in the power-saving mode when an energy-saving condition is met. Such an energy-saving condition is fulfilled, for example, if no computing operations are performed by the corresponding processor core over a specific time interval. Another energy saving condition is, for example, when fewer than a certain maximum number of arithmetic operations are performed by the processor core. In this case, the processor core is put into power-saving mode, and these arithmetic operations are assigned to and continued by other processor cores. Furthermore, it can be checked as an energy-saving condition how many of the second number of processor cores are required to execute all the arithmetic operations to be performed by the second operating system. All processor cores that are not needed will be put into energy saving mode.
Weiter bevorzugt wird ein Prozessorkern der zweiten Anzahl von Prozessorkernen, der in dem Energiesparmodus betrieben wird, aus diesem reaktiviert und wieder aktiv betrieben, wenn dieser Prozessorkern eine Reaktivierungsbedingung erfüllt. Ein Prozessorkern wird insbesondere durch einen Wake-up Befehl aus dem Energiesparmodus reaktiviert. Eine derartige Reaktivierungsbedingung ist insbesondere erfüllt, wenn die Rechenleistung der aktiven Prozessorkerne nicht ausreicht, um sämtliche von dem zweiten Betriebssystem durchzuführe Rechenoperationen auszuführen. More preferably, a processor core of the second number of processor cores, which is operated in the energy-saving mode, is reactivated from this again and actively operated when this processor core fulfills a reactivation condition. A processor core is reactivated in particular by a wake-up command from the energy-saving mode. Such a reactivation condition is fulfilled in particular if the computing power of the active Processor cores is not sufficient to perform all of the second operating system to perform arithmetic operations.
Vorteilhafterweise werden das echtzeitfähige Betriebssystem und das zweite Betriebssystem von einem Hypervisor in der Steuereinheit bzw. in dem Multicore-Prozessor eingerichtet und betrieben. Insbesondere werden die Prozessorkerne durch diesen Hypervisor den unterschiedlichen Betriebssystemen zugewiesen. Weiter insbesondere wird durch den Hypervisor das Energiemanagement der Steuereinheit ausgeführt. Der Hypervisor überführt insbesondere entsprechende Prozessorkerne in den Energiesparmodus und reaktiviert Prozessorkerne wieder. Advantageously, the real-time operating system and the second operating system are set up and operated by a hypervisor in the control unit or in the multicore processor. In particular, the processor cores are assigned to the different operating systems by this hypervisor. In particular, the hypervisor performs the power management of the control unit. In particular, the hypervisor transfers corresponding processor cores into the energy-saving mode and reactivates processor cores.
Bevorzugt ist die Steuereinheit dazu eingerichtet, dass einzelne der Prozessorkerne extern, insbesondere durch Benutzereingabe, der ersten und/oder der zweiten Anzahl von Prozessorkernen zugeordnet werden können bzw. dass die erste Anzahl und/oder die zweite Anzahl von Prozessorkernen extern ausgewählt werden können. Insbesondere erfolgt diese Auswahl bzw. Zuordnung durch einen Anwender. Zu diesem Zweck wird bevorzugt eine geeignete Software zur Konfiguration und/oder Visualisierung der Prozessorkerne des Multicore-Prozessors ausgeführt, insbesondere ein geeignetes Konfigurations- und/oder Visualisierungstool. Mit dieser Software können die einzelnen Prozessorkerne einem Anwender auf einem Bildschirm visualisiert werden und der Anwender kann mit der Software die einzelnen Prozessorkerne konfigurieren und/oder überwachen. Die Software kann auf der Steuereinheit oder auf einer mit der Steuereinheit verbundenen Recheneinheit (z.B. PC, Laptop) ausgeführt werden. Insbesondere wird der Hypervisor mit dieser Software konfiguriert und/oder überwacht. Insbesondere werden einzelne der Prozessorkerne mit der Software der ersten bzw. zweiten Anzahl zugeordnet und der Hypervisor wird somit konfiguriert. Der Hypervisor führt daraufhin das Energiemanagement der Steuereinheit aus und überführt insbesondere entsprechende Prozessorkerne in den Energiesparmodus und reaktiviert Prozessorkerne wieder. Diese Vorgänge werden von der Software visualisiert und können von einem Anwender überwacht werden. Preferably, the control unit is set up so that individual ones of the processor cores can be assigned externally, in particular by user input, to the first and / or the second number of processor cores or that the first number and / or the second number of processor cores can be selected externally. In particular, this selection or assignment is performed by a user. For this purpose, a suitable software for configuring and / or visualizing the processor cores of the multicore processor is preferably executed, in particular a suitable configuration and / or visualization tool. With this software, the individual processor cores can be visualized to a user on a screen and the user can use the software to configure and / or monitor the individual processor cores. The software may be executed on the control unit or on a computing unit connected to the control unit (e.g., PC, laptop). In particular, the hypervisor is configured and / or monitored with this software. In particular, individual ones of the processor cores are associated with the software of the first and second numbers, respectively, and the hypervisor is thus configured. The hypervisor then executes the power management of the control unit and, in particular, puts corresponding processor cores into the power saving mode and reactivates processor cores. These processes are visualized by the software and can be monitored by a user.
Vorzugsweise verfügen mehrere der Prozessorkerne der ersten Anzahl von Prozessorkernen über einen gemeinsamen Speicherbereich. Diese Prozessorkerne verwenden eine sogenannte "shared memory" Technologie. Der gemeinsame Speicherbereich ist dabei insbesondere ein Cache-Speicher ("shared cache"). Die einzelnen Prozessorkerne können vergleichsweise schnell auf diesen gemeinsamen Speicherbereich zugreifen. Durch einen derartigen gemeinsamen Speicherbereich wird das Echtzeitverhalten dieser Prozessorkerne bzw. des echtzeitfähigen Betriebssystems weiter verbessert. Preferably, a plurality of the processor cores of the first number of processor cores have a common memory area. These processor cores use a so-called "shared memory" technology. The common memory area is in particular a cache memory ("shared cache"). The individual processor cores can access this common memory area comparatively quickly. Such a shared memory area further improves the real-time behavior of these processor cores or the real-time operating system.
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuereinheit einer Werkzeug-, Druck-, Verpackungs- oder Fräsmaschine, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. An arithmetic unit according to the invention, e.g. a control unit of a tool, printing, packaging or milling machine is, in particular programmatically, adapted to carry out a method according to the invention.
Auch die Implementierung der Erfindung in Form von Software ist vorteilhaft, da dies besonders geringe Kosten ermöglicht, insbesondere wenn eine ausführende Recheneinheit noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Also, the implementation of the invention in the form of software is advantageous because this allows very low cost, especially if an executing processing unit is still used for other tasks and therefore already exists. Suitable data carriers for providing the computer program are, in particular, floppy disks, hard disks, flash memories, EEPROMs, CD-ROMs, DVDs and the like. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben. The invention is illustrated schematically by means of exemplary embodiments in the drawing and will be described in detail below with reference to the drawing.
Figurenbeschreibung figure description
Detaillierte Beschreibung der Zeichnung Detailed description of the drawing
In
Die Steuereinheit
Die SPS
Die SPS
Insbesondere ist in der SPS
Mit der SPS
In Schritt
In Schritt
In Schritt
Ist dies für einen oder mehrere bestimmte Prozessorkerne der zweiten Gruppe
Alternativ oder zusätzlich kann der Hypervisor einzelne Prozessorkerne des Multicore-Prozessors
Weiterhin können einzelne Prozessorkerne der zweiten Gruppe
In Schritt
Ist eine Reaktivierungsbedingung erfüllt, sendet der Hypervisor in Schritt
Die vier Prozessorkerne der ersten Gruppe
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
- Norm DIN 44300 [0012] Standard DIN 44300 [0012]
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014210529.3A DE102014210529A1 (en) | 2014-06-04 | 2014-06-04 | Method for operating a control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014210529.3A DE102014210529A1 (en) | 2014-06-04 | 2014-06-04 | Method for operating a control unit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014210529A1 true DE102014210529A1 (en) | 2015-12-17 |
Family
ID=54706361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014210529.3A Withdrawn DE102014210529A1 (en) | 2014-06-04 | 2014-06-04 | Method for operating a control unit |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014210529A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017100118A1 (en) | 2017-01-04 | 2018-07-05 | Connaught Electronics Ltd. | Scalable control system for a motor vehicle |
-
2014
- 2014-06-04 DE DE102014210529.3A patent/DE102014210529A1/en not_active Withdrawn
Non-Patent Citations (4)
Title |
---|
Day, R.: Hypervisors Ease the World of Multicore Processors. In: RTC Magazine, June 2010http://www.rtcmagazine.com/articles/view/101663 (recherchiert am 6.2.2015) * |
Euiseong Seo et al.: Energy Efficient Scheduling of Real-Time Tasks on Multicore Processors. In: IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 11, November 2008. pp. 1540 - 1552 * |
Norm DIN 44300 |
Pengliu Tan et al.: A Hybrid Real-Time Scheduling Approach on Multi-Core Architectures. In Journal of Software, vol. 5, no. 9, Septemper 2010. pp 958 - 965 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017100118A1 (en) | 2017-01-04 | 2018-07-05 | Connaught Electronics Ltd. | Scalable control system for a motor vehicle |
WO2018127394A1 (en) | 2017-01-04 | 2018-07-12 | Connaught Electronics Ltd. | Scalable control system for a motor vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2325708B1 (en) | Real-time run-time system and functional module for such a run-time system | |
EP2453326B1 (en) | Method and system for operating an automated machine | |
DE102016014152B4 (en) | Numerical control device | |
EP2506098B1 (en) | Assembly and method for operating an industrial automation assembly with a number of programmable automation components and a number of automation programmes | |
EP2422244B1 (en) | Safety-related control unit, and method for controlling an automated system | |
DE3500804A1 (en) | INTERRUPT CONTROL CIRCUIT | |
EP3273314B1 (en) | Programmable logic controller with management system | |
DE102018003245B4 (en) | Numerical control device | |
DE102015012352A1 (en) | Numerical control system | |
EP3444682A1 (en) | Method for the computer-assisted coupling of a processing module into a modular technical system and modular technical system | |
EP2778915A1 (en) | Method for operating an industrial control system and industrial control system | |
EP2187281B1 (en) | Automation device and method of its operation | |
EP3088976B1 (en) | Method for operating an automation device and automation device | |
DE102015114220B4 (en) | Machine tool with function for safe control of peripheral devices | |
DE102014210529A1 (en) | Method for operating a control unit | |
DE102015100566A1 (en) | Method and light mechanism for mixed critical applications | |
EP3252549A1 (en) | Method for operating an automation device and automation device | |
DE102013202405A1 (en) | Method for operating distributed system in motor vehicle, involves providing allocation of modules to operating chains and determining active and inactive operating chains depending on one or more operating modes | |
EP2159658A1 (en) | Method and automation controller for issuing maintenance information for an automation component. | |
EP3021220A1 (en) | Method and computer for accessing a real-time operating system on an AHCI controller | |
EP1917587B1 (en) | Method and device for controlling a computer system | |
DE102015011749A1 (en) | Numerical control device | |
DE102019208729A1 (en) | Procedure for ensuring and maintaining the function of a safety-critical overall system | |
DE112018002612T5 (en) | Vehicle control device | |
EP1179428B1 (en) | Method and device for working through process steps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |