Movatterモバイル変換


[0]ホーム

URL:


DE102014019531A1 - Method for operating an aircraft control component and control component - Google Patents

Method for operating an aircraft control component and control component
Download PDF

Info

Publication number
DE102014019531A1
DE102014019531A1DE102014019531.7ADE102014019531ADE102014019531A1DE 102014019531 A1DE102014019531 A1DE 102014019531A1DE 102014019531 ADE102014019531 ADE 102014019531ADE 102014019531 A1DE102014019531 A1DE 102014019531A1
Authority
DE
Germany
Prior art keywords
processor core
applications
software
processor
core
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.)
Pending
Application number
DE102014019531.7A
Other languages
German (de)
Inventor
Laurent Dieudonné
Alexander Bollwein
Jürgen Martin
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.)
Liebherr Aerospace Lindenberg GmbH
Original Assignee
Liebherr Aerospace Lindenberg 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 Liebherr Aerospace Lindenberg GmbHfiledCriticalLiebherr Aerospace Lindenberg GmbH
Priority to DE102014019531.7ApriorityCriticalpatent/DE102014019531A1/en
Priority to PCT/EP2015/002542prioritypatent/WO2016102055A2/en
Publication of DE102014019531A1publicationCriticalpatent/DE102014019531A1/en
Pendinglegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

Translated fromGerman

Die Erfindung betrifft ein Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug auf Basis eines Softwareframework wenigstens mit einem Mehrkernprozessor zur parallelen Ausführung sicherheitskritischer Avionik-Applikationen, wobei die Prozessorarchitektur wenigstens einen Systembus und wenigstens einen davon getrennten Peripherie-Bus umfasst, und wobei Applikationen parallel auf zwei oder mehreren Applikations-Prozessorkernen ausgeführt werden und der Zugriff auf den Peripherie-Bus von einem dedizierten I/O-Prozessorkern verwaltet wird.The invention relates to a method for operating a control component for an aircraft on the basis of a software framework at least with a multi-core processor for parallel execution of safety-critical avionics applications, wherein the processor architecture comprises at least one system bus and at least one separate peripheral bus, and wherein applications parallel to two or multiple application processor cores, and the access to the peripheral bus is managed by a dedicated I / O processor core.

Description

Translated fromGerman

Die Erfindung betrifft ein Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug, insbesondere in Form eines Flugsteuerungs- und/oder Fahrwerksteuerungssystems.The invention relates to a method for operating a control component for an aircraft, in particular in the form of a flight control and / or suspension control system.

In der Avionik-Domäne müssen höchst-sicherheitskritische Applikationen, insbesondere für Flugsteuerungs- oder Fahrwerksteuerungssysteme, traditionell auf separaten Geräten installiert sein, wobei regelmäßig auf die sogenannte „federated-Architectur” zurückgegriffen wird. Diese Vorgehensweise ist auch dann üblich, wenn die Applikationen gar keinen Sicherheitsanspruch an eine physikalische Trennung für Redundanz und Dissimilarität haben. Der Rückgriff auf separate Geräte ist daneben auch durch die begrenzte Rechenleistung konventioneller Einzelkernprozessoren bedingt. Eine Architektur mit separaten Geräten kann auch dann notwendig sein, wenn für spezifische Funktionen und Applikationen individuelle Prozessortypen zur Anwendung kommen, beispielsweise zur Steuerung von Aktuatoren, Motoren, etc..In the avionics domain, highly safety-critical applications, in particular for flight control or suspension control systems, must traditionally be installed on separate devices, whereby the so-called "federated architecture" is used on a regular basis. This procedure is also common if the applications have no security claim to a physical separation for redundancy and dissimilarity. The use of separate devices is also due to the limited computing power of conventional single-core processors. An architecture with separate devices may also be necessary if specific processor types are used for specific functions and applications, for example for controlling actuators, motors, etc.

Als Alternative zu der „federated-Architectur” gilt die „centralised-Architectur”, in der alle möglichen Applikationen in einem zentralen Rechner oder einem Cluster von physikalisch getrennten Rechnern (Multiprozessor-Board) gruppiert werden, wenn keine Sicherheitsanforderungen eine derartige Gruppierung verbieten. Diese Architektur wird traditionell nicht für vitale Systemfunktionen mit höchstsicherheitskritischen Anforderungen verwendet, sondern stattdessen für Applikationen mit niedrigeren Sicherheitsansprüchen, wie Visualisierung, Radar, etc., bzw. für Applikationen mit noch geringerer Kritikalität. Als bekannte Realisierung einer zentralisierten Systemplattform mit dedizierter Erweiterung für höhere Sicherheit kann die IMA-Architektur genannt werden.As an alternative to the "federated architecture", the "centralized architecture" applies, in which all possible applications are grouped in a central computer or a cluster of physically separate computers (multiprocessor board), if no security requirements prohibit such a grouping. Traditionally, this architecture is not used for vital system functions with high-security critical requirements, but instead for applications with lower security requirements, such as visualization, radar, etc., or for applications with even lower criticality. As a known realization of a centralized system platform with dedicated extension for higher security, the IMA architecture can be mentioned.

Beide Architekturtypen greifen derzeit auf Einzelkernprozessoren zurück. Für die „federated-Architectur” liegt der Fokus auf Mikrocontroller mit hoher Sicherheit und weniger auf die Performanz angelegt. Die hohe Sicherheit wird mit Hardware-Mechanismen und -Architektur zur Integritätsgewährleistung und Integritätskontrolle, wie auch mit niedriger Transistor-Integration (Transistor-Strukturgröße > 90 nm) beim Herstellungsprozess sichergestellt. Bei hohen Performanz-Anforderungen werden die Funktionalitäten auf mehrere Einzelkernprozessoren verteilt oder sehr spezialisierte Mikrocontroller verwendet, die auch genügend Sicherheit anbieten können (DSP-Prozessoren, Controller mit integrierten dedizierten Co-Prozessoren, etc.).Both types of architecture currently use single-core processors. For the federated architecture, the focus is on microcontrollers with greater security and less performance. The high security is ensured with hardware mechanisms and architecture for integrity assurance and integrity control, as well as with low transistor integration (transistor feature size> 90 nm) in the manufacturing process. In the case of high performance requirements, the functionalities are distributed to several single-core processors or very specialized microcontrollers are used, which can also provide sufficient security (DSP processors, controllers with integrated dedicated co-processors, etc.).

Bei der „centralised Architectur” liegt der Hauptfokus auf die Performanz, kombiniert mit einer vernünftigen aber nicht maximalen Sicherheit: die Performanz ist stark mit der hohen Taktfrequenz verbunden, die nur mit kleiner Transistor-Strukturgröße (< 60 nm) oder mit aktiver Hitzeableitung zu erreichen ist, was in beiden Fällen die Sicherheit des Systems negativ beeinflusst. Außerdem wird auf einige Hardware-Integritätsmechanismen zugunsten von Performance-Mechanismen (Cache, komplexe Branchprediction, Pipelines, etc.) verzichtet, was das Phänomen noch verschlimmert. Um es zu kompensieren und um genügend Sicherheit zu erreichen werden mehrere High-Performanz Rechner kombiniert (Redundanz).In centralized architecture, the main focus is on performance, combined with reasonable but not maximal security: the performance is strongly associated with the high clock frequency, which can only be achieved with small transistor structure size (<60 nm) or with active heat dissipation is, which in both cases adversely affects the security of the system. In addition, some hardware integrity mechanisms are sacrificed in favor of performance mechanisms (cache, complex branchprediction, pipelines, etc.), aggravating the phenomenon. In order to compensate and to achieve sufficient security, several high-performance computers are combined (redundancy).

Für beide Architekturen wird jedoch immer mehr Integration von neuen, komplexeren oder sicherheitsrelevanten Funktionen gefordert. In derselben Zeit sind jedoch die Anforderungen an die Energieersparnis, Gewicht und Raum deutlich stärker angestiegen. Da in naher Zukunft kein großer Fortschritt bei der Entwicklung von Einzelkernprozessoren zu erwarten ist, wird der Performanz-Anstieg der Einzelkernprozessoren den zunehmenden Anforderungen in Zukunft nicht gerecht werden.For both architectures, however, more and more integration of new, more complex or security-relevant functions is required. At the same time, however, the requirements for energy savings, weight and space have increased significantly more. Since no major progress in the development of single-core processors is to be expected in the near future, the performance increase of the single-core processors will not meet the increasing requirements in the future.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein optimiertes Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug aufzuzeigen, das den wachsenden Ansprüchen auch in Zukunft gerecht werden kann.The object of the present invention is to provide an optimized method for operating a control component for an aircraft, which can meet the growing demands in the future.

Gelöst wird diese Aufgabe durch ein Verfahren gemäß den Merkmalen des Anspruchs 1. Vorteilhafte Ausgestaltungen des Verfahrens sind Gegenstand der sich an den Hauptanspruch anschließenden abhängigen Ansprüche.This object is achieved by a method according to the features ofclaim 1. Advantageous embodiments of the method are the subject of the subsequent claims to the main claim.

Erfindungsgemäß wird gemäß Anspruch 1 ein Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug vorgeschlagen, dass erstmalig auf einen Mehrkernprozessor zur parallelen Ausführung sicherheitskritischer Avionik-Applikationen zurückgreift. Als mögliche Steuerungskomponente für ein Luftfahrzeug gilt vorzugsweise ein Flugsteuerungs- oder Fahrwerksteuerungssystem.According to the invention, a method for operating a control component for an aircraft is proposed according toclaim 1, which for the first time relies on a multi-core processor for the parallel execution of safety-critical avionics applications. A possible control component for an aircraft is preferably a flight control or suspension control system.

Das erfindungsgemäße Verfahren greift auf einen Mehrkernprozessor zurück, dessen Architektur wenigstens einen System-Bus und wenigstens einen davon getrennten I/O-Peripherie-Bus umfasst. Die strikte physikalische Trennung der beiden Bus-Komponenten ist erforderlich, um Bearbeitungsverzögerungen der auszuführenden Applikationen aufgrund paralleler Buszugriffe zu I/O-Peripherien zu vermeiden. Ferner werden erfindungsgemäß wenigstens ein oder mehr Prozessorkerne des Mehrkernprozessors als sogenannte Applikations-Prozessorkerne eingesetzt, auf denen unterschiedliche Avionik-Applikationen parallel ausführbar sind. Wenigstens ein weiterer Prozessorkern wird als sogenannter dedizierter I/O-Prozessorkern verwendet, der die Administration des oder der I/O-Peripherie-Busse übernimmt und den Zugriff des wenigstens einen Applikation bzw. Applikations-Prozessorkerns auf den oder die I/O-Peripherie-Bus verwaltet. Zudem kann der I/O-Prozessorkern die Überwachung des korrekten Ablaufs der Plattform in einer sogenannten zentralen „Health Monitoring”-Funktion übernehmen.The method according to the invention makes use of a multi-core processor whose architecture comprises at least one system bus and at least one I / O peripheral bus which is separate from it. The strict physical separation of the two bus components is required to avoid processing delays of the applications to be executed due to parallel bus access to I / O peripherals. Furthermore, according to the invention, at least one or more processor cores of the multi-core processor are used as so-called application processor cores on which different avionics applications can be executed in parallel. At least one other processor core is used as a so-called dedicated I / O processor core that supports the Administration of the I / O-periphery buses and handles the access of the at least one application or application processor core on the or the I / O peripheral bus. In addition, the I / O processor core can monitor the correct operation of the platform in a so-called central "Health Monitoring" function.

Das erfindungsgemäße Prinzip basiert auf einer Trennung zwischen den IO-Aktivitäten und der Ausführung der Applikationen. Dies ermöglicht eine korrekte Synchronisation der IO-Aktivitäten, d. h. gleichzeitige Zugriffsversuche der Applikationen auf die gemeinsame IO-Peripherie lassen sich zuverlässig vermeiden. Die strikte Trennung ermöglicht insbesondere eine deterministische zeitgesteuerte Bedienung der Applikationsanfragen an die IO-Ressourcen. Diese Betriebsweise wird dadurch vereinfacht, dass nur ein einzelner Prozessorkern, nämlich der dedizierte I/O-Prozessorkern auf die IO-Ressourcen zugreift. Folglich lässt sich die resultierende Busbelastung hinreichend genau vorausplanen und kontrollieren, wodurch die Vorsehbarkeit der IO-Zugriffe sichergestellt ist.The principle according to the invention is based on a separation between the IO activities and the execution of the applications. This allows correct synchronization of IO activities, i. H. Simultaneous access attempts of the applications to the common IO periphery can be reliably avoided. The strict separation enables, in particular, a deterministic time-controlled operation of the application requests to the IO resources. This mode of operation is simplified in that only a single processor core, namely the dedicated I / O processor core, accesses the IO resources. Consequently, the resulting bus load can be planned and controlled with sufficient accuracy, which ensures the predictability of the IO accesses.

Ein Softwareframework mit dedizierter Architektur und Mechanismen ermöglicht die deterministische und segregierte Ausführung von Applikationen parallel auf wenigstens zwei oder mehreren Applikations-Prozessorkernen, und verwaltet und synchronisiert die Zugriffe der Applikationen auf den Peripherie-Bus mittels eines dedizierten Prozessorkerns, der entsprechend für diese Rolle als dedizierter I/O-Prozessorkern konfiguriert ist.A software framework with dedicated architecture and mechanisms enables the deterministic and segregated execution of applications in parallel on at least two or more application processor cores, and manages and synchronizes the applications' accesses to the peripheral bus via a dedicated processor core, which is accordingly more dedicated to that role I / O processor core is configured.

Besonders bevorzugt ist es, wenn das erfindungsgemäße Verfahren eine Segregation der ausgeführten Applikationen vorsieht, insbesondere auf Grundlage einer Kombination von Software- und Hardware-Funktion implementiert ist. Eine Segregation ist erforderlich, um die applikationsübergreifende Ausbreitung von Fehlern aus Software oder Hardware zu verhindern. Insbesondere sieht die Segregation eine Raum- und/oder Zeitpartitionierung zwischen den ausgeführten Applikationen vor. Bei gemeinsamen Hardware-Ressourcen wird eine gegenseitige Beeinflussung mittels dedizierter Software-Architektur, Software-Mechanismen und Software-Funktionen basierend auf vorhandenen Hardware-Mechanismen verhindert.It is particularly preferred if the method according to the invention provides segregation of the executed applications, in particular based on a combination of software and hardware function. Segregation is required to prevent cross-application propagation of software or hardware errors. In particular, the segregation provides a space and / or time partitioning between the running applications. With shared hardware resources, mutual interference is prevented by means of a dedicated software architecture, software mechanisms and software functions based on existing hardware mechanisms.

Gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird jede Applikation in nur einer Partition ausgeführt, wobei jede Partition auf nur einem Applikations-Prozessorkern ausgeführt wird. Eine Partition besteht aus reservierten Speicherteilen und aus reservierten CPU-Ausführungsfenstern. Diese Beschränkung ermöglicht eine überschaubare Aufteilung der bereitstehenden Ressourcen der Prozessorarchitektur, wodurch eine bessere Vorhersehbarkeit bei der Ausführung der Applikationen im Vergleich zu konventionellen Lösungen, bei denen die Applikationen auf mehrere Partitionen und mehreren Prozessorkernen verteilt ausgeführt werden, geschaffen wird.According to a preferred embodiment of the method according to the invention, each application is executed in only one partition, each partition being executed on only one application processor core. A partition consists of reserved memory parts and reserved CPU execution windows. This limitation allows a manageable sharing of the processor architecture resources available, providing better predictability in the execution of the applications as compared to conventional solutions where the applications run on multiple partitions and multiple processor cores.

Es besteht die Möglichkeit, dass ein oder mehrere auf der Mehrkernprozessor-Architektur ausgeführte Applikationen auf gemeinsame Ressourcen der Architektur zurückgreifen. Derartige Ressourcen unterteilen sich beispielsweise in funktionale und nicht-funktionale gemeinsame Ressourcen. Als funktionale gemeinsame Ressourcen gelten Hardware-Dienstleistungsfunktionen, beispielsweise CRC-Module, Safety-Module, Verschlüsselungsmodule, als auch BIT-Module. Für die Verwaltung der internen funktionalen gemeinsamen Ressourcen ist es zweckmäßig, dass pro Ressource bzw. eine Gruppierung von Ressourcen vorzugsweise wenigstens eine Proxy-Applikation implementiert wird, die innerhalb einer Partition eines Applikations-Prozessorkerns ausgeführt wird. Diese Proxy-Applikation dient der Verwaltung wenigstens einer gemeinsamen funktionalen Ressource, sodass alle weiteren Applikationen nur über diese Proxy-Applikation auf die wenigstens eine gemeinsame Ressource Zugriff erhalten. Die Proxy-Applikation ist vorzugsweise mit Exklusivrechten für den Zugriff auf die gemeinsame Ressource ausgestattet und kann mittels Schedulingverfahren Zugriffe der weiteren Applikationen verwalten.There is a chance that one or more applications running on the multi-core processor architecture will rely on shared resources of the architecture. Such resources are subdivided, for example, into functional and non-functional common resources. Functional shared resources include hardware service functions such as CRC modules, safety modules, encryption modules, and BIT modules. For the management of the internal functional common resources, it is expedient that preferably at least one proxy application is executed per resource or a grouping of resources, which is executed within a partition of an application processor core. This proxy application is used to manage at least one common functional resource so that all further applications only have access to the at least one shared resource via this proxy application. The proxy application is preferably equipped with exclusive rights for accessing the common resource and can manage accesses of the further applications by means of scheduling methods.

Auf Grundlage wenigstens einer Proxy-Applikation lassen sich ein oder mehrere interne funktionale gemeinsame Ressourcen zwischen Applikationen deterministisch geteilt verwalten. Für die Verwirklichung eines deterministischen Zugriffs auf interne gemeinsame Ressourcen ist es beispielsweise notwendig, dass spezielle Zugriffmechanismen durch die Prozessor-Architektur angeboten werden. Geeignete Mechanismen sind beispielsweise Bus-Arbitrationsmechanismen, Segregationsmechanismen, wie zum Beispiel eine Memory-Management-Unit (MMU) oder eine Memory-Protection-Unit (MPU), Semaphoren-Module, etc..Based on at least one proxy application, one or more internal functional shared resources between applications can be managed deterministically. For example, to achieve deterministic access to internal shared resources, it is necessary for special access mechanisms to be offered by the processor architecture. Suitable mechanisms are, for example, bus arbitration mechanisms, segregation mechanisms, such as a memory management unit (MMU) or a memory protection unit (MPU), semaphore modules, etc.

Für die nicht-funktionalen Ressourcen, wie den System-Bus, das Shared-Memory, ein FLASH-Speicher, etc. werden vorzugsweise native Mechanismen des Mehrkernprozessors verwendet, kombiniert mit einem Schedulingdienst des Kernels. Für die Ressourcen, die räumlich trennbar sind, wie z. B. das Shared-Memory, werden Teile davon an die Applikationen bzw. Partitionen zugeordnet und dank Segregationsmechanismen wie MMU/MPU gesichert. Für die Ressourcen, die nicht räumlich trennbar sind (System-Bus, DMA, etc.), werden Applikationszugriffe in Form von Zeitfenstern mit Daten- und Zugriffbudget auf jede Ressource und unter Berücksichtigung der Ressourcen-Bandbreite organisiert, um den zeitlichen Verwendungsplan dieser Ressourcen zu erstellen.For the non-functional resources, such as the system bus, the shared memory, a FLASH memory, etc., native mechanisms of the multi-core processor are preferably used, combined with a kernel scheduling service. For the resources that are spatially separable, such as As the shared memory, parts thereof are assigned to the applications or partitions and secured thanks to segregation mechanisms such as MMU / MPU. For the resources that are not spatially separable (system bus, DMA, etc.), application accesses are organized in the form of time windows with data and access budgets on each resource and taking into account the resource bandwidth, to the time schedule of these resources.

Für ein räumliches Partitioning ist es zweckmäßig, wenn jeder Applikations-Prozessorkern einen eigenen RAM-Speicher umfasst, der den gehosteten Applikationen des Prozessorkerns partitioniert zugewiesen ist. Weiterhin ist es bevorzugt, wenn jeder Applikations-Prozessorkern einen eigenen Schutzmechanismus umfasst, um einen gesicherten Zugriff und eine entsprechende gesicherte Zuweisung seines RAM-Speichers an einzelne Applikationen zu ermöglichen. Durch diesen Schutzmechanismus ist der RAM-Speicher von den verbleibenden Applikations-Prozessorkernen ungreifbar. Als geeignete Schutzmechanismen erweisen sich MMU/MPU. Dank der verwendeten Prozessorarchitektur können zudem Speicherzugriffe der ausgeführten Applikationen ohne Verwendung des System-Buses realisiert werden. Dies garantiert eine saubere räumliche Trennung zwischen den einzelnen Applikations-Prozessorkernen und verstärkt zudem die Fähigkeit zur Implementierung einer deterministischen Betriebsroutine der resultierenden Steuerungskomponente. Der implementierte Raum-Schutz-Mechanismus in Form der MMU/MPU dient der räumlichen Trennung zwischen den Applikationen innerhalb desselben Prozessorkerns.For spatial partitioning, it is expedient if each application processor core has its own RAM allocated in partitioned form to the hosted applications of the processor core. Furthermore, it is preferred if each application processor core includes its own protection mechanism in order to enable secure access and a corresponding secure allocation of its RAM memory to individual applications. This protection mechanism makes the RAM memory intangible with the remaining application processor cores. Suitable protection mechanisms are MMU / MPU. Thanks to the processor architecture used, memory accesses of the executed applications can also be realized without using the system bus. This guarantees a clean spatial separation between the individual application processor cores and also strengthens the ability to implement a deterministic operating routine of the resulting control component. The implemented space protection mechanism in the form of the MMU / MPU is used for the spatial separation between the applications within the same processor core.

Für ein zeitliches Partitioning im Zuge der Segregation ist es erforderlich, dass jeder Prozessorkern, insbesondere jeder Applikations-Prozessorkern, wenigstens einen eigenen Interrupt-Controller mit Timer-Funktion und/oder wenigstens eine davon getrennte Watchdog-Funktion umfasst. Dadurch kann ein Zeit-Interrupt unabhängig von den verbleibenden Applikations-Prozessorkernen generiert werden. Dies ermöglicht eine zeitliche Kontrolle für die Ausführung der von dem jeweiligen Applikations-Prozessorkern verwalteten Applikationen bzw. Diensten. Zudem erlaubt die von der Timer-Funktion unabhängige Watchdog-Funktion eine zuverlässige Verhinderung einer prozessorkernübergreifenden Fehlerfortpflanzung, falls ein Zeitüberlauf oder eine Dekonfiguration des Interrupt-Controllers aufgrund äußerer Störeinflüsse auftritt.For temporal partitioning in the course of segregation, it is necessary for each processor core, in particular each application processor core, to comprise at least one own interrupt controller with timer function and / or at least one separate watchdog function. This allows a time interrupt to be generated independently of the remaining application processor cores. This allows time control for the execution of the applications or services managed by the respective application processor core. In addition, the watchdog function, which is independent of the timer function, allows a reliable prevention of processor-propagating error propagation if a timeout or a deconfiguration of the interrupt controller occurs due to external disturbances.

Gemäß einer weiteren vorteilhaften Ausgestaltung ist wenigstens ein Prozessor-Kern des Mehrkernprozessors als Safety-Prozessorkern implementiert. Ein entsprechender Safety-Prozessorkern umfasst wenigstens zwei redundant arbeitende Prozessorkerne, auf denen derselbe Programmcode, insbesondere dieselbe Applikation und/oder die I/O-Verwaltung und/oder die „Health-Monitoring”-Funktion, ausgeführt wird. Die Rechenergebnisse der redundanten Prozessorkerne werden kontinuierlich überprüft bzw. miteinander verglichen, um bei Abweichungen ein Fehlverhalten eines Prozessorkerns des Safety-Prozessorkerns zuverlässig zu erkennen. Idealerweise wird wenigstens einer der redundanten Prozessorkerne um mindestens einen Arbeitszyklus zeitlich versetzt betrieben, insbesondere um einen Arbeitszyklus verzögert betrieben, sodass kurzzeitige äußere Störeinflüsse, beispielsweise durch Strahlung, nicht zu einem identischen Fehlerbild bei den redundanten Prozessorkernen führen.According to a further advantageous embodiment, at least one processor core of the multi-core processor is implemented as a safety processor core. A corresponding safety processor core comprises at least two redundantly operating processor cores on which the same program code, in particular the same application and / or the I / O management and / or the "health monitoring" function, is executed. The computational results of the redundant processor cores are continuously checked or compared with one another in order to reliably detect a malfunction of a processor core of the safety processor core in the event of deviations. Ideally, at least one of the redundant processor cores is operated offset in time by at least one operating cycle, in particular by a delay operated operating cycle, so that short-term external interference, for example by radiation, do not lead to an identical error pattern in the redundant processor cores.

Der Safety-Prozessorkern dient zur Ausführung hoch-kritischer Anwendungen. Idealerweise dient der wenigsten eine Safety-Prozessorkern zur Ausführung ein oder mehrere Überwachungsfunktionen der gesamten Steuerungskomponente bzw. des Mehrkernprozessors selbst. In diesem Zusammenhang ist neben dem Monitoring auch die Ausführung ein oder mehrerer Recovery- oder Failsafefunktionen denkbar. Genauso können grundlegende Systemfunktionen der Steuerungskomponente mit höchster Sicherheitsstufe auf einem derartigen Safety-Prozessorkern ausgeführt werden.The safety processor core is used to execute highly critical applications. Ideally, at least one safety processor core is used to execute one or more monitoring functions of the entire control component or of the multi-core processor itself. In this context, the execution of one or more recovery or failsafe functions is conceivable in addition to the monitoring. In the same way, basic system functions of the control component with the highest security level can be executed on such a safety processor core.

Idealerweise wird auf jedem Applikations-Prozessorkern und/oder auf dem dedizierten I/O-Prozessorkern eine eigene Betriebssoftware ausgeführt. Die Betriebssoftware umfasst vorzugsweise einen Kernel, einen Inter-Partition-Kommunikations-Schicht zur Übernahme des logischen Routings der Signale auf Partitionsebene und einen Inter-Prozessorkern-Kommunikations-Schicht zur Übernahme des physikalischen Routings der Daten zwischen unterschiedlichen Prozessorkernen, wobei vorzugsweise die Routings nach definiertem Zeitplan mit Zeitfenster für jede Partition durchgeführt werden.Ideally, each application processor core and / or the dedicated I / O processor core runs its own operating software. The operating software preferably comprises a kernel, an inter-partition communication layer for taking over the logical routing of the signals at the partition level and an inter-processor core communication layer for taking over the physical routing of the data between different processor cores, wherein preferably the routings are defined Schedule with time window for each partition to be performed.

Die Inter-Partition- und/oder Inter-Prozessorkern-Kommunikation erfolgt bevorzugt mittels eines gemeinsamen Speichers, auf den die Applikationen unterschiedlicher Prozessorkerne Zugriff haben. Auf dem wenigstens einen dedizierten I/O-Prozessorkern wird wenigstens eine Pseudo-Partition mit I/O-Warteschlangen installiert, wobei diese vorzugsweise innerhalb der Inter-Partition-Kommunikations-Schicht des dedizierten I/O-Prozessorkerns ausgeführt wird. Die Pseudo-Partition dient dazu, eingehende Zugriffe der Applikationen, d. h. der Applikations-Prozessorkerne, zu verwalten und deren Integrität sicher zu stellen. Die Pseudo-Partition dient auch dazu, die aus den I/O-Peripherien empfangenen Daten an die korrekte Applikation (aus den Applikationskernen) in entsprechende Mail-Boxen (via gemeinsamen Speicher) nach Konfigurationsplan zu übertragen.The inter-partition and / or inter-processor core communication preferably takes place by means of a shared memory to which the applications of different processor cores have access. At least one pseudo-partition with I / O queues is installed on the at least one dedicated I / O processor core, which is preferably executed within the inter-partition communication layer of the dedicated I / O processor core. The pseudo-partition serves to detect incoming accesses of the applications, i. H. the application processor cores to manage and ensure their integrity. The pseudo-partition also serves to transfer the data received from the I / O peripherals to the correct application (from the application cores) in corresponding mail boxes (via shared memory) according to the configuration plan.

In einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens erfolgt die Konfiguration der Steuerungskomponente, insbesondere die Konfiguration der Partitionen und Pseudo-Partitionen bezüglich Scheduling, I/O-Verwendung (Rechte, Datenmenge, zeitliche Aspekte) und Inter-Partition Kommunikation mittels einer projektspezifischen Konfigurationsdatei, die auf die Plattform mit den Projekt-SW-Applikationen hochgeladen wird. Bei der Konfiguration des Systems werden die I/O-Zugriffsanfragen der Applikation in Übereinstimmung mit der Kapazität der I/O-Ressourcen, der Busse, des verwendeten Speichers und der Performanz des dedizierten I/O-Prozessorkerns dimensioniert, so dass diese Ressourcen im Arbeitsbetrieb nie überlastet werden können.In a preferred embodiment of the method according to the invention, the configuration of the control component, in particular the configuration of partitions and pseudo-partitions with respect to scheduling, I / O use (rights, amount of data, temporal aspects) and inter-partition communication by means of a project-specific configuration file on the platform with the project SW Applications is uploaded. When configuring the system, the application's I / O access requests are sized in accordance with the capacity of the I / O resources, the buses, the memory used, and the performance of the dedicated I / O processor core, so that these resources are in working mode never be overloaded.

Weiterhin wird eine definierte Software-Schnittstelle zwischen den ausgeführten Applikationen und der Betriebssoftware der einzelnen Applikations-Prozessorkerne vorgesehen. Als Schnittstelle empfiehlt sich insbesondere der bekannteStandard ARINC653.Furthermore, a defined software interface is provided between the executed applications and the operating software of the individual application processor cores. In particular, the well-known interface is recommended Standard ARINC653 ,

Als Beispiel für Flugsteuerungssysteme können die Steuerungen von Aktuatoren für verschiedenen Flächen (hoher Kritikalitätslevel), Monitore für gewisse Systemfunktionen (höchster Kritikalitätslevel) und Maintenance-Applikationen (niedriger Kritikalitätslevel) auf eine nach dem Erfindungsverfahren konzipierte Durchführungsplattform zusammen gruppiert werden.As an example of flight control systems, actuators for different areas (high criticality level), monitors for certain system functions (highest level of criticality) and maintenance applications (low level of criticality) may be grouped together on an execution platform designed according to the invention method.

Neben dem erfindungsgemäßen Verfahren betrifft die vorliegende Erfindung eine Steuerungskomponente für ein Luftfahrzeug insbesondere in Form einer Flug- und/oder Fahrwerkssteuerung eines Luftfahrzeuges, mit wenigstens einem Mehr-Kernprozessor und einer Softwarearchitektur zur Durchführung des erfindungsgemäßen Verfahrens. Offensichtlich zeichnet sich die Steuerungskomponente durch dieselben Vorteile und Eigenschaften wie das erfindungsgemäße Verfahren aus, weshalb an dieser Stelle auf eine wiederholende Beschreibung verzichtet wird.In addition to the inventive method, the present invention relates to a control component for an aircraft, in particular in the form of an aircraft and / or chassis control of an aircraft, with at least one multi-core processor and a software architecture for performing the method according to the invention. Obviously, the control component is characterized by the same advantages and properties as the method according to the invention, which is why a repetitive description is omitted here.

Es wird darauf hingewiesen, dass sich das erfindungsgemäße Verfahren bzw. die Steuerungskomponente nicht nur in der Avionik, sondern generell bei sämtlichen Anwendungsfällen mit sicherheitskritischen Anforderungen einsetzen lässt, so auch insbesondere in der Bahntechnik.It should be noted that the method according to the invention or the control component can be used not only in avionics, but generally in all applications with safety-critical requirements, so also in particular in railway technology.

Weiter Vorteile und Eigenschaften der Erfindung sollen im Folgenden anhand eines in den Figurendarstellungen gezeigten Ausführungsbeispiels näher erläutert werden. Es zeigen:Further advantages and features of the invention will be explained in more detail below with reference to an embodiment shown in the figure representations. Show it:

1: einen Überblick der erfindungsgemäßen Steuerungsplattform mit seinen wesentlichen Konzepten und 1 : An overview of the control platform according to the invention with its essential concepts and

2: eine Darstellung der erfindungsgemäßen Plattform-Architektur. 2 : A representation of the platform architecture according to the invention.

Die vorliegende Erfindung beschäftigt sich mit der Möglichkeit, mehrere sicherheitskritischen Software-Applikationen auf einer Steuerungskomponente für ein Luftfahrzeug mit einem einzelnen Mehrkernprozessor zu gruppieren und auszuführen. Die aktuell leistungsfähigsten Mehrkernprozessoren werden meistens für nichtsicherheitskritische Domänen wie Telekommunikation oder Consumer Elektronik (PC, Entertainment) entwickelt und bieten deshalb nicht alle notwendigen Eigenschaften für sicherheitskritische Domänen betreffend Determinismus, Segregation und Sicherheit. Ihre Architektur ist meistens für durchschnittliche Performanz und nicht für deterministische Leistung konzipiert und noch weniger für die Ausführung sicherheitskritischer Applikationen. Außerdem liegt die Transistor-Strukturgröße dieser Prozessoren im Bereich kleiner als 45 nm, was sehr empfindlich für Strahlungen bei Flugzeugen und Automobilen ist.The present invention is concerned with the ability to group and execute multiple safety-critical software applications on a control component for an aircraft with a single multi-core processor. The currently most powerful multi-core processors are mostly developed for non-safety-critical domains such as telecommunications or consumer electronics (PC, entertainment) and therefore do not offer all the necessary features for safety-critical domains regarding determinism, segregation and security. Their architecture is mostly designed for average performance rather than deterministic performance, much less for running safety-critical applications. In addition, the transistor feature size of these processors is less than 45 nm, which is very sensitive to aircraft and automobile radiation.

Dank der Modularität und Konfigurationsflexibilität der Erfindung, insbesondere mittels desARINC653 SW-Interface und dem Partitionskonzept können verschiedene Instanzen der Erfindung kombiniert werden. Daher ermöglicht die Erfindung nach Bedarf eine physikalisch-segregierte Ausführung von sicherheitskritischen Funktionen mit independance-Anforderungen und eine Gruppierung von Funktionen ohne independance-Anforderungen.Thanks to the modularity and configuration flexibility of the invention, in particular by means of the ARINC653 SW interface and the partition concept, different instances of the invention can be combined. Therefore, the invention allows, as needed, a physically-segregated execution of safety-critical functions with independance requirements and a grouping of functions without independance requirements.

Die Lösung besteht aus einer spezifischen Verwendung eines gewissen Mehrkernprozessor-Typs mittels einer dedizierten Software-Architektur. Die Software-Architektur ist so konzipiert, dass die Aspekte Determinismus, Segregation und Safety für solche Mehrkernprozessoren optimiert sind.1 gibt einen Überblick der Plattform mit seinen wesentlichen Konzepten.The solution consists of a specific use of a certain multi-core processor type by means of a dedicated software architecture. The software architecture is designed to optimize the aspects of determinism, segregation, and safety for such multi-core processors. 1 gives an overview of the platform with its essential concepts.

Die Konfiguration der Plattform ist vom Projekt-Software-Architekt konzipiert und in wenigstens einer Konfigurationsdatei10 gespeichert. Dies Datei enthält Informationen darüber wie viele Partitionen auf welchem Prozessorkern benötig werden und welche Applikation in welcher Partition liegen sollen. Zudem enthält sie eine Definition des Kommunikationsplans, d. h. welche Komponente zu welchem Zeitpunkt mit welchen Komponenten welche Daten in welcher Menge austauschen dürfen.The configuration of the platform is designed by the project software architect and in at least oneconfiguration file 10 saved. This file contains information on how many partitions are needed on which processor core and which application should be in which partition. In addition, it contains a definition of the communication plan, that is, which component at which time with which components may exchange which data in which quantity.

Die Software-Applikationen20 zur Realisierung einzelner Funktion der Steuerungskomponente, beispielsweise bei einem Flugsteuerungssystem die Steuerungen von Aktuatoren für verschiedenen Flächen, Monitore für gewisse Systemfunktionen der Flugsteuerung und Maintenance-Applikationen, werden basierend auf einerARINC653 API vorbereitet. Die Konfigurationsdatei10 und die SW-Applikationen20 werden auf die Plattform1 geladen. Die Plattform1 wird gemäß der Konfigurationsdatei10 konfiguriert.Thesoftware applications 20 For the realization of a single function of the control component, for example in a flight control system, the controls of actuators for different areas, monitors for certain system functions of the flight control and maintenance applications are based on a ARINC653 API prepared. Theconfiguration file 10 and theSW applications 20 be on theplatform 1 loaded. Theplatform 1 will be according to theconfiguration file 10 configured.

Die Plattform1 basiert auf einem Mehrkernprozessor, dessen Hardware durch eine dedizierte Software-Architektur an die Voraussetzungen der Avionik-Technik, insbesondere Safety-Anforderungen, angepasst wird. Insbesondere ist die Plattform auf einem Mehrkernprozessor aufgebaut, der über eine Anzahl N + 1 Prozessorkernen verfügt. N Prozessorkerne, im Schaubbild der1 mit den Bezugszeichen30,31 versehen, werden als sogenannte Applikations-Prozessorkerne eingesetzt, die für die Ausführung der SW-Applikationen20 zuständig sind. Jeder Applikations-Prozessorkern30,31 umfasst einen eigenen Speicher, der in unterschiedliche Partitionen32 aufgeteilt ist. Eine Partition ist durch einen reservierten/geschützten Speicherbereich definiert, der zudem Durchführungsfenster pro Prozessorkern umfasst. Jede Prozessorkerndurchführungsleistung ist mittels garantiertem Zeitfenster partitioniert. Die SW-Applikationen20 werden gemäß der Konfigurationsdatei10 physikalisch den Partitionen32 der Applikations-Prozessorkerne30,31 des Mehrkernprozessors zugeordnet und von den Prozessorkernen30 nach Plan aus der Konfigurationsdatei10 ausgeführt.Theplatform 1 is based on a multi-core processor whose hardware meets the requirements through a dedicated software architecture the avionics technology, in particular safety requirements, is adjusted. In particular, the platform is built on a multi-core processor having a number of N + 1 processor cores. N cores, in the diagram of the 1 with thereference numerals 30 . 31 are used as so-called application processor cores, which are used for the execution ofsoftware applications 20 are responsible. Everyapplication processor core 30 . 31 includes its own memory, which is divided intodifferent partitions 32 is divided. One partition is defined by a reserved / protected storage area, which also includes execution windows per processor core. Each processor core performance is partitioned using a guaranteed time window. TheSW applications 20 will be according to theconfiguration file 10 physically thepartitions 32 theapplication processor cores 30 . 31 assigned to the multi-core processor and from theprocessor cores 30 according to plan from theconfiguration file 10 executed.

Ferner umfasst die Architektur einen physikalisch getrennten Bus50 für den Zugriff auf die I/O Peripheriekomponente70 und einen Bus60 für die Kommunikation zwischen den Prozessorkernen30,31,40. Für die Zugriffsteuerung auf den Bus50 für die I/O-Peripherie70 wird ein Prozessorkern N + 1, mit dem Bezugszeichen40 gekennzeichnet, der Plattform1 verwendet, der im Folgenden als I/O-Prozessorkern40 bezeichnet wird.Furthermore, the architecture comprises a physically separate bus 50 for accessing the I / Operipheral component 70 and abus 60 for communication between theprocessor cores 30 . 31 . 40 , For access control to the bus 50 for the I /O peripherals 70 becomes a processor core N + 1, with thereference numeral 40 marked, theplatform 1 used in the following as an I /O processor core 40 referred to as.

Das erfindungsgemäße Prinzip basiert demnach auf eine Trennung zwischen den I/O-Aktivitäten und der Ausführung der Applikationen20. Es ermöglicht eine korrekte Synchronisierung der I/O-Aktivitäten und sequentialisiert gleichzeitige Zugriffversuche der ausgeführten SW-Applikationen20. Die Applikationsanfragen an I/O-Ressourcen70 werden nach dem Konfigurationsplan10 deterministisch zeitgesteuert bedient. Dies ist deutlich vereinfacht, da nur ein Prozessorkern40 auf die I/O-Ressourcen70 zugreift. Als Konsequenz kann die Bus-Belastung geplant und Kontrolliert werden, wodurch die Vorhersehbarkeit der I/O-Zugriffe sichergestellt ist.The inventive principle is therefore based on a separation between the I / O activities and the execution of theapplications 20 , It enables correct synchronization of the I / O activities and sequential concurrent access attempts of the executedsoftware applications 20 , The application requests to I /O resources 70 be following theconfiguration plan 10 operated deterministically timed. This is significantly simplified as only oneprocessor core 40 on the I /O resources 70 accesses. As a consequence, the bus load can be scheduled and controlled, ensuring predictability of I / O accesses.

Die Plattform1 ist so konzipiert, dass jede Applikation20 in einer Partition32 ausgeführt wird und dass eine Partition32 auf nur einem Kern30,31 ausgeführt wird. Diese Beschränkungen ermöglichen eine überschaubare Aufteilung der Ressourcen und dadurch eine vorsehbare Ausführung der Applikationen20 im Vergleich mit Lösungen, in der die Applikationen auf mehreren Partitionen und mehreren Kernen ausgeführt werden.Theplatform 1 is designed to suit anyapplication 20 in apartition 32 is running and that apartition 32 on just onecore 30 . 31 is performed. These restrictions allow a manageable distribution of resources and thus a predictable execution of theapplications 20 compared to solutions where the applications run on multiple partitions and multiple cores.

Diese Konfiguration präzisiert die Arbeit der Kernel33, IPC34 und42 (incl. Pseudo-Partition44) und ICC Software-Layers35 und43. Die Plattform bietet Dienstleistungen an, wie z. B. Scheduling, zeitlich und räumlich geschützte Partitionen32, Kommunikation zwischen den Applikationen20, planbare Ausführungszeiten der Lese- und Schreib-Zugriffe auf die I/O-Ressourcen70, etc. Die Software-Applikationen20 müssen mit der von der Plattform angebotener API36 kompatibel sein. Hier wird ein Subset desARINC653 Avionik-Standards als standardisierte Schnittstelle36 verwendet.This configuration specifies the work of thekernel 33 ,IPC 34 and 42 (incl. pseudo-partition 44 ) and ICC software layers 35 and 43 , The platform offers services such as: B. Scheduling, temporally and spatially protectedpartitions 32 , Communication between theapplications 20 Scheduled execution times of read and write access to the I /O resources 70 , etc. Thesoftware applications 20 must use the API offered by theplatform 36 be compatible. Here is a subset of the ARINC653 avionics standards as astandardized interface 36 used.

Das Softwarekonzept ist der Darstellung der2 zu entnehmen. Auf den Applikations-Kernen30,31 laufen die Software-Applikationen20 innerhalb von Partitionen32, die die segregierten Bereiche darstellen. Auf dem I/O-Prozessorkern40 laufen Pseudo-Partitionen44 innerhalb des I/O-Core IPC-Layers42, der exklusiv die Signal-Daten der Partitionen-I/O-Zugriffe aus den Applikation-Prozessorkernen30,31 via I/O-Queues verwaltet und ihre Integrität sicherstellt. Die Konfiguration der Partitionen32 und Pseudo-Partitionen44 bezüglich Scheduling, I/O-Verwendung (Rechte, Datenmenge, zeitliche Aspekte) und Inter-Partition Kommunikation wird durch die projektspezifische Konfigurationsdatei10 definiert und auf die Plattform1 mit den Projekt-SW-Applikationen20 hochgeladen.The software concept is the representation of the 2 refer to. On theapplication cores 30 . 31 run thesoftware applications 20 withinpartitions 32 representing the segregated areas. On the I /O processor core 40 run pseudo-partitions 44 within the I / O-Core IPC layer 42 , which exclusively distributes the signal data of the partitions I / O accesses from theapplication processor cores 30 . 31 Managed via I / O queues and ensures their integrity. The configuration of thepartitions 32 and pseudo-partitions 44 Regarding scheduling, I / O use (rights, amount of data, temporal aspects) and inter-partition communication is provided by the project-specific configuration file 10 defined and on theplatform 1 with theproject software applications 20 uploaded.

Jeder Applikations-Kern30,31 wird von einem deterministischen Betriebssystem in der Form eines Kernels33 (LAOS: Liebherr Aerospace Operating System) ausgestattet, das für die räumliche und zeitliche Segregation der Partitionen32 sorgt. Auf dem IO-Prozessorkern40 läuft ein schlanker Realtime-Scheduler41, der für den Determinismus der Zugriffe auf die I/O-Ressourcen70 wirkt. Jeder „Kunde” des I/O-Kerns40 (= Partition aus den Applikations-Kernen30,31) bekommt Ports für das Senden und Empfang seiner I/O-Signale. Jeder „Port” besteht aus einem reservierten Speicherpuffer und einem Zeitfenster, in Übereinstimmung mit der Konfiguration des Gesamtsystems1 (siehe die „Konfigurationsdatei10”).Everyapplication core 30 . 31 is from a deterministic operating system in the form of a kernel 33 (LAOS: Liebherr Aerospace Operating System) equipped for the spatial and temporal segregation ofpartitions 32 provides. On theIO processor core 40 runs a lean real-time scheduler 41 which determines the determinism of accessing the I /O resources 70 acts. Every "customer" of the I / O core 40 (= Partition from theapplication cores 30 . 31 ) gets ports for sending and receiving its I / O signals. Each "port" consists of a reserved memory buffer and a time slot, in accordance with the overall system configuration 1 (see the "configuration file 10 ").

Bei der Konfiguration des Systems werden die I/O-Zugriff-Anfragen der Applikationen20 in Übereinstimmung mit der Kapazität der I/O-Ressourcen70, der Busse50,60, des Speichers, und der I/O-Prozessorkernperformanz dimensioniert, so dass diese Ressourcen nie überlastet werden können. Die Übernahme des logischen Routings der Signale auf Partitionsebene wird vom IPC34 (Inter-Partition Communication) Layer bei den Applikations-Prozessorkernen30,31 realisiert. Hier wird verwaltet welches Signal von welcher Applikation20 zu welcher Applikation20 geschickt werden darf, sowie auch die Sicherstellung der Budgetierung des Signalverkehrs (Begrenzung der Menge und der Häufigkeit beim Datentransfer nach den Konfigurationsangaben aus der Konfigurationsdatei10).When configuring the system, the I / O access requests of the applications become 20 in accordance with the capacity of the I /O resources 70 , the buses 50 . 60 , memory, and I / O processor core performance so that these resources can never be overloaded. The takeover of the logical routing of the signals at the partition level is performed by the IPC 34 (Inter-Partition Communication) Layer at theapplication processor cores 30 . 31 realized. Here is managed which signal from whichapplication 20 to whichapplication 20 can be sent, as well as ensuring the budgeting of the signal traffic (limiting the amount and frequency of data transfer according to the configuration information from the configuration file 10 ).

Das Pendant existiert beim IO-Kern40 für den Datentransfer mit dem I/O-Peripherien70 durch die Pseudo-Partition-Layer42,44. Das physikalische Routing der Daten zwischen den verschiedenen Kernen30,31,40 wird von der ICC (Inter-Core-Communication) Layer35,43 übernommen. Dieser Layer35,43 weiß auf welchem Kern30,31 welche Partition32 liegt und schickt die Signalen an den entsprechenden Kern30,31. Diese Layer35,43 bieten auch Queues an, in denen die Signalen aus den Applikationen20 vor dem Senden zu den adressierten Zielkernen30,31 liegen, und in denen die Signale nach dem Empfang aus anderen Kernen30,31 gelagert sind, bevor sie von den Empfangsapplikationen20 übernommen werden. The counterpart exists at theIO core 40 for data transfer with the I /O peripherals 70 through thepseudo-partition layer 42 . 44 , The physical routing of the data between thedifferent cores 30 . 31 . 40 is from the ICC (Inter-Core Communication)Layer 35 . 43 accepted. Thislayer 35 . 43 know on whichcore 30 . 31 whichpartition 32 lies and sends the signals to the correspondingcore 30 . 31 , Thislayer 35 . 43 also provide queues in which the signals from theapplications 20 before sending to the addressedtarget cores 30 . 31 lie, and in which the signals after receiving fromother cores 30 . 31 are stored before coming off the receivingapplications 20 be taken over.

Im Folgenden soll nochmals im Detail auf die erfindungsgemäßen Prinzipien der Plattform1 eingegangen werden.The following is again in detail on the inventive principles of theplatform 1 To be received.

Determinismus (Überblick)Determinism (overview)

Die Plattform1 erfordert eine Mehrkernprozessor-Architektur, die einen getrennten Peripherien-Bus50 verfügt. In diesem Architekturtyp läuft die Kommunikation zwischen den Prozessorkernen30,31,40 auf einem eigenen Bus60 („System-Bus”) und die Kommunikation zwischen einem Prozessorkern40 und der I/O-Peripherie70 auf einem anderen Bus50 („I/O-Bus”). Deshalb werden die Peripherie-Zugriffe durch die Applikations-Kommunikation nicht gestört, und vice versa die Applikations-Kommunikation wird durch die Peripherie-Zugriffe nicht gestört. Dieser Vorteil besteht auch im Vergleich zu anderen Architekturen, die einen einzelnen Bus, auch als Crossbar Switch, anbieten. Mit getrennten Bussen50,60 werden die Transfers physikalisch getrennt, während ein Crossbar Switch noch gemeinsame Komponenten für die Bedienung (Datentransfer, Konfiguration) der verschiedenen Clients verwendet und sogar eine begrenzte Anzahl von Crossbar Kanälen besitzt. Jeder der getrennten Busse50,60 kann auch ein Crossbar Switch sein.Theplatform 1 requires a multi-core processor architecture that has a separate peripheral bus 50 features. In this type of architecture, the communication between the processor cores runs 30 . 31 . 40 on a private bus 60 ("System bus") and communication between aprocessor core 40 and the I /O peripherals 70 on another bus 50 ( "I / O-bus"). Therefore, the peripheral accesses are not disturbed by the application communication, and vice versa the application communication is not disturbed by the peripheral accesses. This advantage also exists in comparison to other architectures that offer a single bus, also as a crossbar switch. With separate buses 50 . 60 The transfers are physically separated, while a crossbar switch still uses common components for the operation (data transfer, configuration) of the various clients and even has a limited number of crossbar channels. Each of the separate buses 50 . 60 can also be a crossbar switch.

Vorhersehbare interne Kommunikation (löst die Wiederholungen)Predictable internal communication (solves the repetitions)

Dank der gewählten Mehrkernprozessorkern-Architektur ist die Belastung jedes Buses50,60 deutlich einfacher zu evaluieren als mit anderen Architekturen, in denen sämtlicher Datentransfer über einen einzelnen Bus ausgeführt wird. Dadurch ist die Vorhersehbarkeit der Signaltransferkette zwischen den Applikationen20 und zwischen Applikationen20 und I/O-Peripherie70 via die betreffenden Busse50,60 auch viel einfacher sicherzustellen.Thanks to the chosen multi-core processor core architecture is the burden of each bus 50 . 60 much easier to evaluate than with other architectures where all data transfer is done over a single bus. Thus, the predictability of the signal transfer chain between theapplications 20 and betweenapplications 20 and I /O peripherals 70 via the relevant buses 50 . 60 also much easier to make sure.

Die Plattform1 basiert auf demARINC653 Standard, der Konzepte für den Determinismus der Kommunikation definiert. Die Nachrichten werden zwischen Applikationen20 (in Partitionen32 gehostet) durch Ports innerhalb der Plattform1 transferiert. Jeder Port stellt ein Ende der Transferkette eines Signals dar und definiert die Datenmenge und Periode des Transfers dieses Signals zwischen den Partitionen32. Dieses Prinzip ist auch bei Mehrkernprozessoren anwendbar, wo jeder Prozessorkern30,31 ein Ende der Signal-Transfer-Kette via diesen Kommunikation-Ports verwaltet. Da jeder Port an einem Signal dediziert ist und jeder Port von jedem Prozessorkern30,31 nach einem zeitbasierten Plan bedient wird, kann die ganze Transferkette jedes Signals deterministisch sichergestellt werden.Theplatform 1 based on the ARINC653 standard that defines concepts for the determinism of communication. The messages are between applications 20 (inpartitions 32 hosted) through ports within theplatform 1 transferred. Each port represents one end of the transfer chain of a signal and defines the amount of data and the period of transfer of that signal between thepartitions 32 , This principle is also applicable to multi-core processors where eachprocessor core 30 . 31 one end of the signal transfer chain is managed via these communication ports. Because each port is dedicated to one signal and each port is dedicated to eachprocessor core 30 . 31 according to a time-based plan, the entire transfer chain of each signal can be deterministically ensured.

Zugriffe auf die I/O-PeripherienAccesses to the I / O peripherals

Der Determinismus der Zugriffe auf die I/O-Peripherien70 basiert auf folgenden Prinzipien: Mit dem gewählten Mehrkernprozessor-Typ werden die Daten durch einen dedizierten I/O-Bus50 zu den I/O-Peripherien70 transferiert. Dank dem Plattform-Design wird die Verwaltung der Zugriffe der Applikationen20 auf die I/O-Peripherien70 durch einen einzelnen und dedizierten I/O-Prozessorkern40 realisiert.The determinism of the accesses to the I /O peripherals 70 is based on the following principles: With the selected multi-core processor type, the data is passed through a dedicated I / O bus 50 to the I /O peripherals 70 transferred. Thanks to the platform design, the management of the access ofapplications 20 on the I /O peripherals 70 through a single and dedicated I /O processor core 40 realized.

Dieser dedizierte I/O-Prozessorkern40 kümmert sich um die Synchronisierung zwischen den gemeinsamen I/O-Peripherien70 und den unterschiedlichen Partitionen32 aus den Applikations-Prozessorkernen30,31 um das zeitgerechte Senden und Empfangen der Daten zu/aus den I/O-Peripherien70 zu realisieren, wie es in der Konfigurationsdatei10 geplant wurde.This dedicated I /O processor core 40 takes care of the synchronization between the common I /O peripherals 70 and thedifferent partitions 32 from theapplication processor cores 30 . 31 to timely send and receive data to / from the I /O peripherals 70 to realize it in theconfiguration file 10 was planned.

Der Zeitplan für das Senden oder Empfangen jedes Signals der Applikationen20 wird während der Systemkonfigurationsphase definiert. Dieser Plan wird in Übereinstimmung mit den zeitlichen Anforderungen der Applikationen20, mit den I/O-Bus-Kapazitäten50, mit der I/O-Peripherien-Bandbreite und Reaktionszeiten und mit der I/O-Prozessorkern-Performanz gemacht. Unterstützt von der Prozessor-Architektur mit getrenntem I/O-Bus50 kann das Plattform-Design die Vorhersehbarkeit der Ausführung der I/O Aktivitäten garantieren.The schedule for sending or receiving eachapplication signal 20 is defined during the system configuration phase. This plan will be in accordance with the time requirements of theapplications 20 , with the I / O bus capacities 50 , with the I / O peripherals bandwidth and response times, and with the I / O processor core performance made. Supported by the processor architecture with separate I / O bus 50 The platform design can guarantee the predictability of the execution of I / O activities.

Zugriffe auf die internen gemeinsamen RessourcenAccess to internal shared resources

Die Vorhersehbarkeit der Zugriffe auf die internen gemeinsamen Ressourcen wird dank der Kombinierung der Mehrkernprozessor-Architektur und des Plattform-Designs unterstützt.The predictability of access to internal shared resources is supported by the combination of multi-core processor architecture and platform design.

Funktionale gemeinsame RessourcenFunctional shared resources

Die internen funktionalen gemeinsame Ressourcen des Prozessor, wie z. B. CRC-Module, Safety-Module, BIT-Modulen, etc., werden via einzelne, dedizierte (Plattform-)Applikationen21 exklusiv verwaltet (z. B. eine pro funktionaler Ressource), die in einer Partition32 auf einem Applikation-Prozessorkern30 zugeordnet sind.The internal functional shared resources of the processor, such as B. CRC modules, safety modules, BIT modules, etc., via individual, dedicated (platform)applications 21 exclusively managed (eg one per functional resource) that is in apartition 32 on anapplication processor core 30 assigned.

Durch die unten genannten Segregationsmechanismen des Prozessors besitzt jede dieser Plattform-Applikationen21 die exklusiven Zugriffe auf die entsprechende funktionale gemeinsame Ressource. Die anderen Applikationen20 delegieren ihre gewünschte Arbeit mit diesen Controller-Ressourcen an diese „Proxy-Applikation21”. So kann die Benutzung dieser Ressourcen auch nach einem Verwendungsplan während der Konfigurationsphase konzipiert werden und mittels der Konfigurationsdatei10 zu den verschiedenen Kernels33 der Prozessorkerne30,31 übertragen werden. Dadurch werden diese internen, funktional gemeinsamen Ressourcen zwischen den anderen Applikationen20 deterministisch geteilt.Each of these platform applications has the following segregation mechanisms of theprocessor 21 the exclusive accesses to the corresponding functional shared resource. Theother applications 20 delegate their desired work with these controller resources to this "proxy application 21 ". Thus, the use of these resources can also be designed according to a usage plan during the configuration phase and by means of theconfiguration file 10 to thedifferent kernels 33 theprocessor cores 30 . 31 be transmitted. This makes these internal, functionally shared resources between theother applications 20 shared deterministically.

Um diese Vorgehensweise zu ermöglichen, muss der Mehrkernprozessor gewisse Mechanismen zur Verfügung stellen. Der gewählte Mehrkernprozessor-Architektur-Typ bietet spezifische Mechanismen an, die zur Sicherstellung des Determinismus beim Zugriff auf interne gemeinsame Ressourcen wirken. Beispielhaft werden Bus-Arbitration Mechanismen, Segregation-Mechanismen wie z. B. MMU/MPU, Semaphoren-Module, etc. genannt. Während der Konfigurationsphase werden diese Mechanismen in Übereinstimmung mit den Bedürfnissen der Applikationen20 korrekt vorbereitet und ihre korrekte Konfiguration für die Implementierung spezifiziert.To enable this approach, the multi-core processor must provide certain mechanisms. The chosen multi-core processor architecture type provides specific mechanisms that act to ensure determinism in accessing internal shared resources. Examples are bus arbitration mechanisms, segregation mechanisms such. B. MMU / MPU, semaphore modules, etc. called. During the configuration phase, these mechanisms will be in accordance with the needs of theapplications 20 prepared correctly and specified their correct configuration for the implementation.

Nicht-funktionale gemeinsame RessourcenNon-functional shared resources

Für die nicht-funktionalen Ressourcen, wie dem System-Bus60, der Shared-Memory80, der FLASH, etc. werden nativen Mechanismen des Mehrkernprozessors verwendet, kombiniert mit dem Schedulingdienst der Kernels33. Für die Ressourcen, die räumlich trennbar sind, wie z. B. der Shared-Memory80, werden Teile davon den Applikationen20 bzw. Partitionen32 zugeordnet und dank Segregationsmechanismen (MMU/MPU) sichergestellt.For the non-functional resources, such as thesystem bus 60 , the sharedmemory 80 , the FLASH, etc. are used native mechanisms of the multi-core processor, combined withkernel scheduling service 33 , For the resources that are spatially separable, such as B. the sharedmemory 80 , parts of it become theapplications 20 orpartitions 32 assigned and ensured thanks to segregation mechanisms (MMU / MPU).

Für die Ressourcen, die nicht räumlich trennbar sind (System-Bus60, DMA, etc.), wird unter Berücksichtigung ihrer Bandbreite die Benutzungen durch die Applikationen20 mit Zeitfenster organisiert, um den zeitlichen Verwendungsplan dieser Ressourcen zu erstellen. Die räumlichen oder zeitlichen Aufteilungen dieser Ressourcen erfolgen wieder in der Konfigurationsphase mit der Budgetierung der Ressourcen in Übereinstimmung mit den Anforderungen der Applikationen20 und der Kapazität der Ressourcen, wo die Daten-Budgets und Zeit-Pläne in der Konfigurationsdatei10 ermittelt werden.For the resources that are not spatially separable (system bus 60 , DMA, etc.), taking into account their bandwidth, the uses by theapplications 20 organized with timeslots to create the temporal usage plan of these resources. The spatial or temporal divisions of these resources are again in the configuration phase with the budgeting of the resources in accordance with the requirements of theapplications 20 and the capacity of the resources where the data budgets and time plans in theconfiguration file 10 be determined.

Segregationsegregation

Unter Segregation versteht man Raum- und Zeit-Partitionierung zwischen den ausgeführten Applikationen20. Die Segregation ist notwendig, um die Verbreitung von eventuellen Fehlern (aus SW oder HW) zu verhindern. Die Segregation kann mit unterschiedlichen Techniken realisiert werden, die von den Eigenschaften der (Mehrkern-)Controller direkt abhängig sind. Die Segregation-Konzepte der Plattform erfüllt die Anforderungen aus demD0178B/C Standard für das Partitionierung und basiert auf den Prinzipien vonARINC653 für die Implementierung der Partitionen32. DerD0178B/C erfordert, dass eine Software-Komponente:

  • – eine Hardware-Ressource exklusive verwenden muss, oder
  • – eine Hardware-Ressource mit anderen Software-Komponenten teilen darf, wenn diese Software-Komponente keine andere Komponente beeinflussen kann, im Fall von irgendwelchem Art von Fehlern hergeleitet aus Software oder Hardware Quelle.
Segregation refers to space and time partitioning between the runningapplications 20 , Segregation is necessary to prevent the spread of any errors (SW or HW). The segregation can be realized with different techniques, which are directly dependent on the properties of the (multi-core) controllers. The segregation concepts of the platform meet the requirements of the D0178B / C standard for partitioning and based on the principles of ARINC653 for the implementation of thepartitions 32 , Of the D0178B / C requires that a software component:
  • - must use a hardware resource exclusive, or
  • - may share a hardware resource with other software components, if this software component can not influence any other component, in the case of any kind of errors derived from software or hardware source.

Der Komponenten-execution-Code, die I/Os und der Datenspeicher der Komponenten sind bei der Spezifikation der Partitionierung32 betrachtet. Um die Segregation vollständig anbieten zu können, wurden für die Plattform gewisse Mehrkernprozessor-Modelle gewählt, die erweiterte Fähigkeiten für die Segregation anbieten. Die präsentierte Software-Architektur und -Funktionalitäten der Plattform1 nutzen und ergänzen diese Hardware-Fähigkeiten, um eine Avionik-Standard konforme Segregation zu gewährleisten.The component execution code, the I / Os, and the data store of the components are at the specification of partitioning 32 considered. To fully provide segregation, the platform has been chosen with certain multi-core processor models that offer enhanced segregation capabilities. The presented software architecture and functionalities of theplatform 1 use and supplement these hardware capabilities to ensure avionics standard compliant segregation.

Räumliche PartitionierungSpatial partitioning

Für die räumliche Partitionierung nutzt die Plattform1 hauptsachlich die Architektur des gewählten Mehrkernprozessors, ergänzt mit Software-Mechanismen:

  • – jeder Applikations-Prozessorkern30,31 muss seinen eigenen RAM-Speicher37 besitzen, der für die Daten der gehosteten Applikationen20 verwendet wird. Dank dieser Architektureigenschaft werden außerdem die Datenzugriffe der ausgeführten Applikationen20 ohne Verwendung des System-Busses60 realisiert. Dies garantiert eine räumliche Trennung von den anderenProzessorkernen30,31 und verstärkt auch die Determinismusfähigkeiten der Plattform1. Die Kommunikation mit den anderenApplikationen20 der anderen Applikation-Prozessorkerne30,31 wird aber mittels des Shared-Memory80 realisiert.Pro Partition32 werden Speicherbereiche dafür reserviert undvon den IPC34 undICC Software Layer35 verwaltet.
  • – Jeder Applikations-Prozessorkern30,31 muss seine eigenen Raum-Schutz-Mechanismen38 wie eine MMU/MPU besitzen. Dies ist notwendig für die räumliche Trennung zwischenden Applikationen20 innerhalb desselben Applikations-Prozessorkerns30,31, vergleichbar mit Einzelkernprozessoren. Die MMU/MPU werden auch für die Kommunikationsmechanismen zwischen den Applikations-Prozessorkernen30,31 gebraucht, um die Segregation der Kommunikationskanäle durch ein Shared-Memory80 zu gewährleisten. Die Raum-Schutz-Mechanismen38 werden von den Software-Kernels33 (Echtzeit-Betriebssystem) entsprechend konfiguriert, um die Partitionskontexte zu gewährleisten.
  • – dank einem I/O-Prozessorkern40 dediziert zu der I/O-Kommunikation kann diePlattform1 die vorsehbare und sichere Teilung der I/O-Peripherien70 und ihre zuführenden Ressourcen wie den I/O-Bus50 sicherstellen. Der I/O-Prozessorkern40 führt eine Plattform-Software41,42,43,44 aus, die mit dem höchsten Kritikalitätslevel entwickelt wird: diese erfüllt die Anforderungen der Avionikstandards, um die Segregation von Mixed-Kritikalitäts-Applikationen bis zum höchsten Kritikalitätslevel zu ermöglichen.
  • – Anderen Hardware-Funktionalitäten wirken sich auf die räumliche Segregation aus. Als Beispiel kann das Hardware-Semaphoren Modul genannt werden, das, kombiniert mit Software und anderen Hardware-Funktionalitäten für die Teilung von Ressourcen verwendet wird.
For spatial partitioning uses theplatform 1 mainly the architecture of the selected multi-core processor, supplemented with software mechanisms:
  • - everyapplication processor core 30 . 31 must have itsown RAM memory 37 own the data for the hostedapplications 20 is used. Thanks to this architectural feature, the data accesses of the executed applications also become 20 without using thesystem bus 60 realized. This guarantees a spatial separation from theother processor cores 30 . 31 and also strengthens the determinism capabilities of theplatform 1 , The communication with theother applications 20 the otherapplication processor cores 30 . 31 but is done by means of sharedmemory 80 realized. Perpartition 32 Storage areas are reserved for it and by theIPC 34 andICC Software Layer 35 managed.
  • - Eachapplication processor core 30 . 31 needs its ownspace protection mechanisms 38 like a MMU / MPU own. This is necessary for the spatial separation between theapplications 20 within the sameapplication processor core 30 . 31 , comparable to single-core processors. The MMU / MPU are also used for the communication mechanisms between theapplication processor cores 30 . 31 used to segregate the communication channels through a sharedmemory 80 to ensure. Thespace protection mechanisms 38 be from the software kernels 33 (Real-time operating system) configured accordingly to ensure the partition contexts.
  • - thanks to an I /O processor core 40 Dedicated to the I / O communication can be theplatform 1 Predictable and secure division of I /O peripherals 70 and their supplying resources like the I / O bus 50 to ensure. The I /O processor core 40 leads aplatform software 41 . 42 . 43 . 44 Designed to meet the highest levels of criticality, it meets the requirements of avionics standards to enable the segregation of mixed criticality applications to the highest level of criticality.
  • - Other hardware functionalities affect spatial segregation. As an example, the hardware semaphore module may be mentioned which is used for sharing resources in combination with software and other hardware functionalities.

Zeitliche PartitionierungTime partitioning

Für die zeitliche Partitionierung nutzt die Plattform1 notwendige Funktionalitäten und Architekturaspekte der spezifisch gewählten Prozessoren. Sie müssen auch mit einer entsprechenden Plattform-Software kombiniert werden:

  • Jeder Prozessorkern30,31,40 muss seinen eigenen Interrupt-Controller mit Timer-Funktion wie auch eine getrennte Watchdog-Funktion besitzen, um u. a. einen Zeit-Interrupt unabhängig von den anderenProzessorkernen30,31,40 generieren zu können. Dies ermöglicht im Besonderen eine zeitliche Kontrolle für die Ausführung der von jedem Applikations-Prozessorkern30,31 gehosteten Applikationen20 oder Dienste. Der von der Timer-Funktion unabhängige Watchdog verhindert auch die Fehlerverbreitung außerhalb des einzelnen Prozessorkerns30,31, falls ein Zeitüberlauf oder eine Dekonfiguration des Interrupt-Controllers eines Prozessorkerns30,31 aus irgendeinem Grund (z. B. SEU/MBU wegen Strahlungen) erscheint.
  • – Dank dem Zeit-Interrupt kann derKernel33 Zeit-Partitionen mittels eines Schedulers anbieten.Jeder Prozessorkern30,31 ist mit einemvon anderen Prozessorkernen30,31unabhängigen Kernel33 mit Scheduler bestückt, um ebenfalls die Segregation für die zeitgesteuerte Ausführung der gehosteten Applikationen20 zu ermöglichen.
  • – Die Applikations-Prozessorkerne30,31 sind nur mit einem Zeit-Interrupt (und dem Watchdog für Fehlerfälle) mittels desKernels33 gesteuert und delegieren alle externen HW-Interrupts zu dem dedizierten I/O-Prozessorkern40, wenn solche notwendig sind. Dies ermöglicht eine einfachere zeitliche Partitionierung und Vorhersehbarkeit der ausgeführten Applikationen20.
  • – Ein dedizierter I/O-Prozessorkern40 vereinfacht die zeitliche Partitionierung für die Applikations-Prozessorkern30,31 bezüglich des Zugriffs zu I/O-Peripherien70. Um aber die zeitliche Partitionierung seiner Dienste für die Kommunikation mit den I/O-Peripherien70 undmit den Applikationen20 aus den anderen Applikations-Prozessorkernen30,31 zu ermöglichen, muss der I/O-Prozessorkern40 selber mit einem zeitgesteuertenKernel41 bestückt werden. Dies ermöglicht die Kommunikation mit periodischer Aktualisierung und Bearbeitung pro Signal zu steuern. Dafür muss ein Scheduling-Plan für die Kommunikation mit den I/O-Geräten70 undmit den Applikationen20 erstellt werden, in Übereinstimmung mit der zeitlichen Kommunikationsanforderungen der Applikationen20, mit den I/O-Bus-Kapazitäten, mit der I/O-Peripherie Bandbreite, und mit der Performanz des IO-Prozessorkerns.
  • Der Kernel41 des I/O-Prozessorkerns40 arbeitet prinzipiell nur mit dem Zeit-Interrupt (und mit dem Watchdog-Interrupt für die Fehlerabdeckung). In manchen Fällen könnte aber der Bedarf bestehen, dass gewisse I/O-Peripherien70 per Interrupt gesteuert werden müssen. In diesem Fall wird die benötigte Zeit für die Ausführung der Interrupts im Scheduling-Plan eingeplant, wie auch ein Interrupt-Budget fixiert. Dieses Interrupt-Budget entspricht einer maximal erlaubten Anzahl von Interrupts pro Signal innerhalb einem I/O-Bearbeitungszyklus. Wenn das Interrupt-Budget eines Signals konsumiert ist, wird dieses Interrupt bis zum Ende des I/O-Bearbeitungszyklus vom Kernel41 deaktiviert.
For the temporal partitioning uses theplatform 1 necessary functionalities and architecture aspects of the specifically selected processors. They also need to be combined with appropriate platform software:
  • - Everyprocessor core 30 . 31 . 40 It must have its own interrupt controller with timer function as well as a separate watchdog function, including a time interrupt independent of theother processor cores 30 . 31 . 40 to be able to generate. In particular, this allows time control over the execution of eachapplication processor core 30 . 31 hostedapplications 20 or services. The watchdog, which is independent of the timer function, also prevents error propagation outside of thesingle processor core 30 . 31 if a timeout or deconfiguration of the interrupt controller of aprocessor core 30 . 31 for some reason (eg SEU / MBU due to radiation) appears.
  • - Thanks to the time interrupt, the kernel can 33 To offer time partitions by means of a scheduler. Everyprocessor core 30 . 31 is with one ofother processor cores 30 . 31independent kernel 33 equipped with scheduler to also segregate the scheduled execution of hostedapplications 20 to enable.
  • - Theapplication processor cores 30 . 31 are only with a time interrupt (and the watchdog for errors) by means of thekernel 33 Control and delegate all external HW interrupts to the dedicated I /O processor core 40 if such are necessary. This allows for easier time partitioning and predictability of runningapplications 20 ,
  • - A dedicated I /O processor core 40 simplifies the temporal partitioning for theapplication processor core 30 . 31 regarding access to I /O peripherals 70 , But the temporal partitioning of his services for communication with the I /O peripherals 70 and with theapplications 20 from the otherapplication processor cores 30 . 31 to enable the I /O processor core 40 itself with atimed kernel 41 be fitted. This allows the communication to be controlled with periodic updating and processing per signal. This requires a scheduling plan for communication with the I /O devices 70 and with theapplications 20 created in accordance with the temporal communication requirements of theapplications 20 , with the I / O bus capacities, with the I / O periphery bandwidth, and with the performance of the IO processor core.
  • - Thekernel 41 of the I /O processor core 40 works in principle only with the time interrupt (and with the watchdog interrupt for the error coverage). In some cases, however, there may be a need for certain I /O peripherals 70 must be controlled by interrupt. In this case, the time required to execute the interrupts is scheduled in the scheduling plan, as well as an interrupt budget fixed. This interrupt budget corresponds to a maximum allowed number of interrupts per signal within one I / O processing cycle. If the interrupt budget of a signal is consumed, this interrupt will be taken by the kernel until the end of the I /O cycle 41 disabled.

Alle diese verschiedenen angesetzten Segregationskonzepte ermöglichen es der mehrkernbasierten Plattform die Partitionierungsanforderungen aus den Avionik-Standards zu erfüllen.All of these different segregation concepts allow the multicore-based platform to meet the partitioning requirements of avionics standards.

Sicherheitsaspekte:Safety aspects:

Die Sicherheitskonzepte der Mehrkern-Plattform1 nutzen die spezifische Architektur und Funktionalitäten der gewählten Mehrkern-Controller-Modelle, ergänzt nach Bedarf mit Softwarefunktionalitäten. Diese Controller-Modelle bieten folgende Eigenschaften an:

  • – Integritätsprüfung der Speicherelementen, e. g. gegen SEU/MBU Problematik (Volatile-Speicher Störungen verursachen gekippte Bits als Konsequenzen von Strahlungen), oder generell:
  • – Mindestens ein Safety-Prozessorkern30 mit Lock-Step-Mode für die Entdeckung von SEU/MBU Störungen. Ein Safety-Prozessorkern30 besteht aus zwei Prozessorkernen: einer für den Benutzer (d. h. die Applikation) sichtbarer Prozessorkern30, und ein zweiter identischer, jedoch für denBenutzer versteckter Prozessorkern30a, der parallel zudem sichtbaren Prozessorkern30 läuft und denselben Binär-Code ausführt. Der versteckte Prozessorkern30a ist ein paar Zyklen vom sichtbaren Prozessorkern30 versetzt, damit die Strahlungen nicht denselben Effekt auf dieselben Bits verursachen. Anschließend werden die Ergebnisse der beiden Prozessorkerne30,30a per Hardware verglichen und ein System-Exception wird bei Unterschieden generiert.
  • – Error Correction Code (ECC)39,80, Error Detection Code (EDC)39,80oder mindestens ParityCheck39,80 sind auf allen HW-Elementen vorhanden, die RAM beinhalten (auch kombinierbarmit den Prozessorkernen30, die mittels dem Lock-Step-Mode (Safety-Prozessorkern30) geschützt sind). Zum Beispiel: Core-internal RAM37, sharedRAM80, FLASH-internal Buffers90,Busse40,60, Caches inProzessorkernen39,31,40, MMU/MPU38, in Registers und Buffers der I/O-Peripherien70, etc.
  • – CRC Module, um Integrität von Speicher wie auch von Kommunikationstransfern mit z. B. CRC32 zu prüfen
  • – Schutz gegen ungeplante Datenzugriffe oder Code-Ausführungen (Software-Fehler, Hardware-Fehler, Konsequenz eines unentdeckten SEU/MBU Falls, Angriffe, etc.):
  • – Core-Local MMU/MPU39: ermöglicht eine Unabhängigkeit der Realisierung der Segregation zwischenden Prozessorkernen30,31 für die gehosteten Applikationen20. Für die Safety-Prozessorkerne30,30a sind dazu ihre MMU/MPU-Register auch mit dem Lock-Step-Mode gegen SEU/MBU geschützt
  • – Bus-Protection/-Monitoring Module, um die interne und I/O-Peripherie gegen unerwünschten Zugriffe zu schützen bzw. zu detektieren.
  • – Ein Hardware-Watchdog pro Prozessorkern30,31,40 mit konfigurierbaren Reaktionsstufen bis zur Deaktivierung desProzessors30,31
The security concepts of themulti-core platform 1 use the specific architecture and functionalities of the selected multi-core controller models, supplemented as needed with software functionalities. These controller models offer the following features:
  • - Integrity check of memory elements, eg against SEU / MBU problem (volatile memory disturbances cause tilted bits as consequences of radiation), or in general:
  • - At least onesafety processor core 30 with Lock-Step-Mode for the detection of SEU / MBU disturbances. Asafety processor core 30 consists of two processor cores: a processor core visible to the user (ie the application) 30 and a second identical buthidden user core 30a that is parallel to thevisible processor core 30 runs and executes the same binary code. The hiddenprocessor core 30a is a few cycles from thevisible processor core 30 so that the radiations do not cause the same effect on the same bits. Subsequently, the results of the twoprocessor cores 30 . 30a compared by hardware and a system exception is generated in case of differences.
  • - Error Correction Code (ECC) 39 . 80 , Error Detection Code (EDC) 39 . 80 or at least ParityCheck 39 . 80 are present on all HW elements that contain RAM (also combinable with theprocessor cores 30 , which by means of lock-step mode (safety processor core 30 ) are protected). For example: Core-internal RAM 37 , sharedRAM 80 , FLASH-internal Buffers 90 ,Buses 40 . 60 , Caches in processor cores 39 . 31 . 40 , MMU /MPU 38 , in registers and buffers of I /O peripherals 70 , Etc.
  • - CRC modules to ensure integrity of memory as well as communication transfers with e.g. To check CRC32
  • - Protection against unplanned data access or code execution (software errors, hardware errors, consequence of an undetected SEU / MBU case, attacks, etc.):
  • - Core-Local MMU / MPU 39 : allows independence of realization of segregation betweenprocessor cores 30 . 31 for the hostedapplications 20 , For thesafety processor cores 30 . 30a For this purpose, their MMU / MPU registers are also protected against SEU / MBU with lock-step mode
  • - Bus protection / monitoring modules to protect or detect the internal and I / O peripherals against unwanted access.
  • - One hardware watchdog perprocessor core 30 . 31 . 40 with configurable reaction levels until the processor is deactivated 30 . 31

Die unterschiedlichen Fähigkeiten der Mehrkern-Controller-Modelle werden gezielt verwendet. Auf den Safety-Prozessorkernen30,30a und mit der Verwendung der geschützten Elemente (mit ECC39, etc.), werden prinzipiell folgende Applikationen20 ausgeführt:

  • – das Monitoring der Plattform-Funktionen (e. g. für das Health-Monitoring wie imARINC-653 definiert) und die Failsafe-Reaktionen des Systems. Zum Beispiel:
  • – Clocks- and Voltage-Monitors
  • Deaktivierung von Applikationen20/Partitionen32/Prozessorkernen30,31, wenn von einem nicht-Safety-Prozessorkern31ausgeführten Kernel33 selber nicht mehr machbar ist
  • – Failure Recovery Funktionen
  • – Failure Reporting Funktionen
  • – die System-Funktionen, die die höchsten Sicherheitsstufen anfordern. Zum Beispiel:
  • – System-Monitore, e. g. die Überwachung der Catastrophic eingestuften Systemfunktionen, die Communication-Integrity Monitoren, etc.
  • – Dienst zur Hardware-Funktionen, die für die Integrität des Systems wirken, e. g. CRC-Berechnungsdienste, Built-In-Test Funktionen, Configurations-Funktionen, etc.
  • – Voting-Funktionen
  • – Applikationen, deren Ergebnisse breitweit propagiert werden, d. h. zu mehreren anderen Applikationen oder I/O-Peripherien
The different capabilities of the multi-core controller models are used selectively. On thesafety processor cores 30 . 30a and with the use of the protected elements (with ECC 39 , etc.), in principle, the followingapplications 20 run:
  • - the monitoring of platform functions (eg for health monitoring as inARINC 653 defined) and the failsafe reactions of the system. For example:
  • - Clock and voltage monitors
  • - Deactivation ofapplications 20 /partitions 32 /Cores 30 . 31 if from anon-safety processor core 31 executedkernel 33 itself is no longer feasible
  • - Failure Recovery features
  • - Failure Reporting features
  • - The system functions that request the highest levels of security. For example:
  • - System monitors, eg monitoring of Catastrophic classified system functions, Communication Integrity monitors, etc.
  • - Service for hardware functions that affect the integrity of the system, eg CRC calculation services, built-in test functions, configuration functions, etc.
  • - Voting functions
  • - Applications whose results are propagated widely, ie to several other applications or I / O peripherals

Als besondere Sicherheitsfähigkeit bietet die Plattform1 Möglichkeiten an, an Fehlerfällen gemäß den Avionik-Normen und den Projektspezifikationen entsprechend zu reagieren, wie zum Beispiele eine Wiederherstellung der betroffenen Applikationen20 oder die Ausführung der Failsafe-Mode-Applikation. Dies wird mit einer Kombination zwischen den Kernel, spezifischen Plattform- und Projekt-Applikationen20 realisiert.As a special security capability offers theplatform 1 Possibilities to respond to errors according to the avionics standards and the project specifications, such as a recovery of the affectedapplications 20 or the execution of the failsafe mode application. This comes with a combination between the kernel, specific platform andproject applications 20 realized.

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

  • Standard ARINC653[0025]Standard ARINC653[0025]
  • ARINC653 SW-Interface[0033]ARINC653 SW interface[0033]
  • ARINC653 API[0036]ARINC653 API[0036]
  • ARINC653 Avionik-Standards[0041]ARINC653 avionics standards[0041]
  • ARINC653 Standard[0049]ARINC653 standard[0049]
  • D0178B/C Standard[0059]D0178B / C standard[0059]
  • ARINC653[0059]ARINC653[0059]
  • D0178B/C[0059]D0178B / C[0059]
  • ARINC-653[0065]ARINC-653[0065]

Claims (16)

Translated fromGerman
Verfahren zum Betrieb einer Steuerungskomponente für ein Luftfahrzeug auf Basis eines Softwareframework mit wenigstens einem Mehrkernprozessor zur parallelen Ausführung sicherheitskritischer Avionik-Applikationen, wobei die Prozessorarchitektur wenigstens einen Systembus und wenigstens einen davon getrennten I/O-Peripherie-Bus umfasst, und wobei ein oder mehrere Applikationen parallel auf wenigstens einem, insbesondere zwei oder mehreren, Applikations-Prozessorkern(en) ausgeführt werden und der Zugriff auf den wenigstens einen Peripherie-Bus von einem dedizierten I/O-Prozessorkern verwaltet wird.A method of operating an aircraft control component based on a software framework having at least one multi-core processor for parallel execution of safety-critical avionics applications, wherein the processor architecture comprises at least one system bus and at least one separate I / O peripheral bus, and wherein one or more applications run in parallel on at least one, in particular two or more, application processor core (s) and the access to the at least one peripheral bus is managed by a dedicated I / O processor core.Verfahren nach Anspruch 1,dadurch gekennzeichnet, dass eine Segregation zwischen den ausgeführten Applikationen mit einer Kombination von Software- und Hardware-Funktion implementiert ist, wonach ein oder mehrere Hardware-Ressourcen der Prozessorarchitektur exklusiv durch eine einzige Applikation verwendet werden und/oder bei gemeinsamen Hardware-Ressourcen eine gegenseitige Beeinflussung mittels dedizierter Software-Architektur, Software-Mechanismen und Software-Funktionen basierend auf vorhandenen Hardware-Mechanismen verhindert wird.Method according to claim 1,characterized in that a segregation between the executed applications is implemented with a combination of software and hardware function, according to which one or more hardware resources of the processor architecture are used exclusively by a single application and / or common hardware -Resources mutual interference by means of dedicated software architecture, software mechanisms and software functions based on existing hardware mechanisms is prevented.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass jeder Applikations-Prozessorkern einen eigenen RAM-Speicher umfasst, der den gehosteten Applikationen des Prozessorkerns aufgeteilt und zugewiesen ist, wobei weiterhin vorzugsweise jeder Applikations-Prozessorkern wenigstens einen eigenen Schutzmechanismus, insbesondere MMU/MPU, das wenigstens einmal per Software-Mechanismus konfiguriert ist, zur Segregation des zugewiesenen Adressbereichs, insbesondere RAM- und/oder Flashspeichers auf die gehosteten Applikationen des Prozessorkerns aufweist.Method according to one of the preceding claims,characterized in that each application processor core comprises its own RAM memory which is divided and assigned to the hosted applications of the processor core, wherein furthermore preferably each application processor core has at least one own protection mechanism, in particular MMU / MPU, which is configured at least once by software mechanism, for segregation of the assigned address range, in particular RAM and / or flash memory on the hosted applications of the processor core has.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass jede Applikation in nur einer Partition ausgeführt wird und jede Partition auf nur einem Prozessorkern ausgeführt wird.Method according to one of the preceding claims,characterized in that each application is executed in only one partition and each partition is executed on only one processor core.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass wenigstens eine dedizierte Proxy-Applikation auf wenigstens einem Applikations-Prozessorkern zur Verwaltung der Zugriffe auf interne gemeinsame Ressourcen, vorzugsweise funktionale gemeinsame Ressourcen in Form von Hardware-Dienstleistungsfunktionen wie CRC-Module, Safety-Module, Verschlüsselungsmodule, BIT-Module, implementiert ist.Method according to one of the preceding claims,characterized in that at least one dedicated proxy application on at least one application processor core for managing accesses to internal shared resources, preferably functional common resources in the form of hardware service functions such as CRC modules, safety modules , Encryption modules, BIT modules, is implemented.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass jeder Applikations-Prozessorkern einen eigenen Interrupt-Controller und eine eigene Watchdog-Funktion vorsieht.Method according to one of the preceding claims,characterized in that each application processor core provides its own interrupt controller and its own watchdog function.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass wenigstens ein Safety-Prozessorkern implementiert ist, der wenigstens zwei redundante Prozessorkerne umfasst, die denselben Binärcode ausführen, wobei wenigstens einer der redundanten Prozessorkerne um mindestens einen Arbeitszyklus versetzt arbeitet und die Rechenergebnisse nach Ausführung der Binärcodes gegeneinander verglichen werden um Unstimmigkeiten zu erkennen.Method according to one of the preceding claims,characterized in that at least one safety processor core is implemented, which comprises at least two redundant processor cores which execute the same binary code, wherein at least one of the redundant processor cores operates offset by at least one working cycle and the calculation results after execution of the binary codes be compared against each other to discern inconsistencies.Verfahren nach Anspruch 7,dadurch gekennzeichnet, dass der wenigstens eine Safety-Prozessorkern die Überwachung der gesamten Steuerungskomponente, insbesondere des Mehrkernprozessors, und/oder eine Failsafe-Applikation und/oder ein oder mehrere Systemfunktionen mit höchster Sicherheitsstufe ausführt.A method according to claim 7,characterized in that the at least one safety processor core performs the monitoring of the entire control component, in particular of the multi-core processor, and / or a failsafe application and / or one or more system functions with the highest security level.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass auf jedem Applikations-Prozessorkern eine eigene Betriebssoftware abläuft, wobei die Betriebssoftware vorzugsweise einen Kernel, eine Inter-Partition-Kommunikation-Schicht zur Übernahme des logischen Routings der Signale auf Partitionsebene und eine Inter-Prozessorkern-Kommunikation-Schicht zur Übernahme des physikalischen Routings der Daten zwischen unterschiedlichen Prozessorkernen umfasst, wobei die Routings nach definiertem Zeitplan mit Zeitfenster für jede Partition durchgeführt werden.Method according to one of the preceding claims,characterized in that running on each application processor core own operating software, wherein the operating software preferably a kernel, an inter-partition communication layer for taking over the logical routing of the signals at the partition level and an inter-processor core Communication layer for taking over the physical routing of data between different processor cores, the routings are performed on a defined schedule with time windows for each partition.Verfahren nach Anspruch 9,dadurch gekennzeichnet, dass die Inter-Partition- und/oder Inter-Prozessorkern-Kommunikation mittels eines gemeinsamen Speichers mit reserviertem und geschütztem Bereich pro Partition erfolgt.A method according to claim 9,characterized in that the inter-partition and / or inter-processor core communication is effected by means of a shared memory with reserved and protected area per partition.Verfahren nach einem der vorhergehenden Ansprüche 9 oder 10,dadurch gekennzeichnet, dass auf dem I/O-Prozessorkern wenigstens eine Pseudo-Partition mit I/O-Warteschlangen innerhalb der Inter-Partition-Kommunikation-Schicht ausgeführt wird, um die eingehenden Zugriffe der Applikationen zu verwalten und deren Integrität sicherzustellen und/oder um die eingehenden Daten aus der I/O-Peripherie an die entsprechenden Applikationen weiterzuleiten.Method according to one of the preceding Claims 9 or 10,characterized in that at least one pseudo-partition with I / O queues within the inter-partition communication layer is executed on the I / O processor core in order to check the incoming accesses of the applications to ensure their integrity and / or to forward the incoming data from the I / O peripherals to the appropriate applications.Verfahren nach einem der vorhergehenden Ansprüche 9 bis 11,dadurch gekennzeichnet, dass die Konfiguration der Partitionen und Pseudo-Partitionen bezüglich Sheduling und/oder I/O-Zugriff und/oder Inter-Partition-Kommunikation durch eine Konfigurationsdatei definiert ist, die vorzugsweise zusammen mit einer oder mehrerer Applikationen auf die Steuerungseinheit hochgeladen werden kann.Method according to one of the preceding claims 9 to 11,characterized in that the configuration of the partitions and pseudo-partitions with respect to shedding and / or I / O access and / or inter-partition communication by a Configuration file is defined, which can be preferably uploaded to the control unit together with one or more applications.Verfahren nach einem der vorhergehenden Ansprüche 9 bis 12,dadurch gekennzeichnet, dass die Konfiguration der Inter-Partition-Kommunikation Daten- und Zeit-Budgets abhängig von der gesamten Ressourcenkapazität, wie vorzugsweise Bus-Bandbreite, RAM-Zugriffe, I/O-Bandbreite, pro Partition definiert, wobei die Kontrolle dieser Budgets mit konfigurierbaren Überwachungsmonitoren als Kombination von Software- und Hardware-Mechanismen in die Betriebssoftware als Health-Monitoring-Funktion wirken, die beim Überschreiten jedes definierten Budgets jede schuldige Partition deaktivieren.Method according to one of the preceding claims 9 to 12,characterized in that the configuration of the inter-partition communication data and time budgets depending on the total resource capacity, such as preferably bus bandwidth, RAM accesses, I / O bandwidth, per partition, whereby the control of these budgets with configurable monitoring monitors act as a combination of software and hardware mechanisms in the operating software as a health monitoring function, which deactivate any guilty partition when exceeding any defined budget.Verfahren nach einem der vorhergehenden Ansprüche 9 bis 13,dadurch gekennzeichnet, dass wenigstens die Reihenfolge und/oder die Zeit des Empfangs und der Zusendung der Daten mittels Software- und/oder Hardware-Mechanismen gekennzeichnet wird, damit die Reihenfolge der Daten rekonstruierbar ist und eine Überwachung der internen und der externen Kommunikation bezüglich Budgets, Performanz und Timing erfolgt.Method according to one of the preceding claims 9 to 13,characterized in that at least the order and / or the time of receiving and sending the data by means of software and / or hardware mechanisms is characterized so that the order of the data is reconstructed and a Monitoring of internal and external communication regarding budgets, performance and timing.Verfahren nach einem der vorhergehenden Ansprüche,dadurch gekennzeichnet, dass eine definierte Software-Schnittstelle zwischen Applikation und Betriebssoftware der Applikationsprozessorkernen vorgesehen ist, insbesondere gemäß dem ARINC653 Standard.Method according to one of the preceding claims,characterized in that a defined software interface between the application and operating software of the application processor cores is provided, in particular according to the ARINC653 standard.Steuerkomponente für ein Luftfahrzeug, insbesondere Flug- oder Fahrwerkssteuerung eines Luftfahrzeuges, mit wenigstens einem Mehrkernprozessor und einem Softwareframework zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche.Control component for an aircraft, in particular flight or landing gear control of an aircraft, with at least one multi-core processor and a software framework for carrying out the method according to one of the preceding claims.
DE102014019531.7A2014-12-232014-12-23 Method for operating an aircraft control component and control componentPendingDE102014019531A1 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
DE102014019531.7ADE102014019531A1 (en)2014-12-232014-12-23 Method for operating an aircraft control component and control component
PCT/EP2015/002542WO2016102055A2 (en)2014-12-232015-12-16Method for operating a control component for an aircraft and control component

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
DE102014019531.7ADE102014019531A1 (en)2014-12-232014-12-23 Method for operating an aircraft control component and control component

Publications (1)

Publication NumberPublication Date
DE102014019531A1true DE102014019531A1 (en)2016-06-23

Family

ID=55173816

Family Applications (1)

Application NumberTitlePriority DateFiling Date
DE102014019531.7APendingDE102014019531A1 (en)2014-12-232014-12-23 Method for operating an aircraft control component and control component

Country Status (2)

CountryLink
DE (1)DE102014019531A1 (en)
WO (1)WO2016102055A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110597754A (en)*2019-08-022019-12-20北京多思安全芯片科技有限公司Master-slave type safety processor
EP3660605A1 (en)*2018-11-292020-06-03Hamilton Sundstrand CorporationAircraft controller including multiple core processor with wireless transmission prognostic/diagnostic data capability
EP3660604A1 (en)*2018-11-302020-06-03Hamilton Sundstrand CorporationMultiple core motor controller processor with embedded prognostic/diagnostic capabilities
DE102020213371A1 (en)2020-10-222022-04-28Robert Bosch Gesellschaft mit beschränkter Haftung Device and method for controlling a technical system
CN114489584A (en)*2021-12-312022-05-13中国航空工业集团公司西安飞机设计研究所Electromechanical core processor software architecture based on ARINC653 standard
DE102021209627A1 (en)2021-09-012023-03-02Robert Bosch Gesellschaft mit beschränkter Haftung System and method for running functionally identical applications

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
FR3071334B1 (en)*2017-09-192019-08-30Psa Automobiles Sa METHOD FOR ENSURING DATA STABILITY OF A MULTICOAL PROCESSOR OF A MOTOR VEHICLE
CN110781055B (en)*2019-10-152023-03-10中国航空无线电电子研究所Service component running state monitoring method of embedded partition real-time operating system
CN112241352B (en)*2020-11-032023-10-20中国航空工业集团公司西安航空计算技术研究所Monitoring system of gridding fault-tolerant computer platform
CN115509986B (en)*2022-09-282024-05-07美的集团(上海)有限公司Inter-core communication method, electronic device, and storage medium
CN115903580A (en)*2022-10-262023-04-04中国航空工业集团公司西安航空计算技术研究所 A Civil Aircraft Airborne Data Monitoring Method Based on Control Rate Accelerator
US12321773B1 (en)2023-12-222025-06-03Parry Labs, LlcSystem and method for a safety critical operating environment container architecture
US12147542B1 (en)2024-01-252024-11-19Parry Labs, LlcField-deployable hardware apparatus
US12062112B1 (en)2024-01-252024-08-13Parry Labs, LlcApparatus for heterogenous processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2011159209A1 (en)*2010-06-172011-12-22Saab AbDistributed avionics

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
ARINC653
ARINC-653
ARINC653 API
ARINC653 Avionik-Standards
ARINC653 Standard
ARINC653 SW-Interface
CARRASCOSA, E. [et al.]: XtratuM hypervisor redesign for LEON4 multicore processor. ACM SIGBED Review, Juni 2014, 11. Jg., Nr. 2, S. 27-31*
CILKU, Bekim; FROMEL, Bernhard; PUSCHNER, Peter: A dual-layer bus arbiter for mixed-criticality systems with hypervisors. In: Industrial Informatics (INDIN), 2014 12th IEEE International Conference on. IEEE, Juli 2014. S. 147-151*
D0178B/C
D0178B/C Standard
HAN, Sanghyun; JIN, Hyun-Wook: Full virtualization based ARINC 653 partitioning. In: Digital Avionics Systems Conference (DASC), 2011 IEEE/AIAA 30th. IEEE, 2011. S. 7E1-1 - 7E1-11*
KOTTKE, Thomas; STEININGER, Andreas: A reconfigurable generic dual-core architecture. In: Dependable Systems and Networks, 2006. DSN 2006. International Conference on. IEEE, 2006. S. 45-54*
REINHARDT, Dominik; MORGAN, Gary: An embedded hypervisor for safety-relevant automotive E/E-systems. In: Industrial Embedded Systems (SIES), 2014 9th IEEE International Symposium on. IEEE, 18-20 Juni 2014. S. 189-198*

Cited By (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP3660605A1 (en)*2018-11-292020-06-03Hamilton Sundstrand CorporationAircraft controller including multiple core processor with wireless transmission prognostic/diagnostic data capability
US11254441B2 (en)2018-11-292022-02-22Hamilton Sundstrand CorporationAircraft controller including multiple core processor with wireless transmission prognostic/diagnostic data capability
EP3660604A1 (en)*2018-11-302020-06-03Hamilton Sundstrand CorporationMultiple core motor controller processor with embedded prognostic/diagnostic capabilities
US11097857B2 (en)2018-11-302021-08-24Hamilton Sundstrand CorporationMultiple core motor controller processor with embedded prognostic/diagnostic capabilities
CN110597754A (en)*2019-08-022019-12-20北京多思安全芯片科技有限公司Master-slave type safety processor
DE102020213371A1 (en)2020-10-222022-04-28Robert Bosch Gesellschaft mit beschränkter Haftung Device and method for controlling a technical system
DE102021209627A1 (en)2021-09-012023-03-02Robert Bosch Gesellschaft mit beschränkter Haftung System and method for running functionally identical applications
CN114489584A (en)*2021-12-312022-05-13中国航空工业集团公司西安飞机设计研究所Electromechanical core processor software architecture based on ARINC653 standard

Also Published As

Publication numberPublication date
WO2016102055A3 (en)2016-09-22
WO2016102055A2 (en)2016-06-30

Similar Documents

PublicationPublication DateTitle
DE102014019531A1 (en) Method for operating an aircraft control component and control component
DE102010054337B4 (en) Mechanisms to prevent inefficient core hopping and provide hardware-assisted low-level selection
DE69233655T2 (en) Microprocessor architecture with the possibility to support several different processors
DE102014002181B4 (en) Chip and method of operating a chip
DE112011105298B4 (en) Reduce energy consumption from uncore circuits of a processor
DE102014003704B4 (en) Platform agnostic power management
DE102008062692B4 (en) Embedded microcontroller system and method for configuring an embedded microcontroller system with controlled switching mode
DE602004012563T2 (en) Multi-threaded DMA
DE3606211A1 (en) MULTIPROCESSOR COMPUTER SYSTEM
DE102015108689A1 (en) Security node in interconnect data buses
DE102015102135B4 (en) System on a chip, digital signal processor system, method with interruptible exclusive memory
DE102016122375A1 (en) Dynamic containerized system memory protection for low power MCUs
DE112012005700T5 (en) External auxiliary execution unit interface to off-chip auxiliary execution unit
DE112013003733T5 (en) Adaptive packet redirection to achieve reasonable, cost-effective, and / or energy-efficient network service quality on chip devices
DE102013200503A1 (en) Virtualization support for saving and restoring states of a jump prediction logic
DE69219848T2 (en) Method for handling data transfers in a computer system with a two-bus system
DE102021130092A1 (en) SYSTEM FOR PARALLEL PROCESSING OF APPLICATION ALGORITHMS FOR MIDDLEWARE NODES USING THREADS
DE102018005759A1 (en) CONNECTING ACCELERATOR RESOURCES USING EINESSWITCHES
EP3291094A1 (en)Processor system and method for monitoring processors
DE102016203808A1 (en) Reduce virtual machine preemption in a virtualized environment
EP3186710B1 (en)Microcontroller system and method for safety-critical motor vehicle systems and the use thereof
DE102020214951A1 (en) Method for dynamically allocating memory bandwidth
DE112013000599T5 (en) Configure compute nodes in a parallel computer using remote direct memory access
DE102018214014A1 (en) Delayed increment for high frequency counter
DE102017124078A1 (en) ORDINAL MODIFICATION OF THE SERVICE

Legal Events

DateCodeTitleDescription
R163Identified publications notified
R012Request for examination validly filed

[8]ページ先頭

©2009-2025 Movatter.jp