DE102013113402B4 - Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit - Google Patents

Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit Download PDF

Info

Publication number
DE102013113402B4
DE102013113402B4 DE102013113402.5A DE102013113402A DE102013113402B4 DE 102013113402 B4 DE102013113402 B4 DE 102013113402B4 DE 102013113402 A DE102013113402 A DE 102013113402A DE 102013113402 B4 DE102013113402 B4 DE 102013113402B4
Authority
DE
Germany
Prior art keywords
register value
access
register
memory
unit
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.)
Active
Application number
DE102013113402.5A
Other languages
German (de)
Other versions
DE102013113402A1 (en
Inventor
Michael Steindl
Martin Winkler
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.)
AVL Software and Functions GmbH
Original Assignee
AVL Software and Functions 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 AVL Software and Functions GmbH filed Critical AVL Software and Functions GmbH
Priority to DE102013113402.5A priority Critical patent/DE102013113402B4/en
Publication of DE102013113402A1 publication Critical patent/DE102013113402A1/en
Application granted granted Critical
Publication of DE102013113402B4 publication Critical patent/DE102013113402B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Controllereinheit (1) zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit (2) und zumindest einer Verarbeitungseinheit (3) (CPU), umfassend zumindest eine Speichereinheit (2) sowie zumindest eine Verarbeitungseinheit (3), wobei
die Speichereinheit (2) zumindest zwei Zielspeicherklassen (21) umfasst in welchen jeweils zumindest eine Ausführungsfunktion (FKT) abgelegt und/oder ausführbar ist und jede Ausführungsfunktion (FKT) eindeutig insofern zugeordnet ist, dass jede Ausführungsfunktion (FKT) zumindest einer Zielspeicherklasse (21) zugeordnet ist, wobei zur Zugriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul (4) zwischen der Speichereinheit (2) und der Verarbeitungseinheit (3) zwischengeschaltet ist,
dadurch gekennzeichnet, dass
jeder Zielspeicherklasse (21) eineindeutig genau eine positive Primzahl (Ai; i>=0) zugeordnet ist, wobei das Zugriffsprüfmodul (4) dazu eingerichtet und dazu vorgesehen ist, Registerwerte (xi; i>=0) von Registerzellen (R) der Verarbeitungseinheit (3) (CPU) mit der der Zielspeicherklasse (21) eineindeutig zugeordneten Primzahl (Ai) gemäß einer Kodierungsvorschrift xci = Ai * xi + Bi

Figure DE102013113402B4_0001
zu multiplizieren, und
wobei xci ein Bildregisterwert ist und nur in der jeweiligen Zielspeicherklasse (21) entsprechend der jeweiligen Primzahl (Ai) abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist, wobei beim Auslesen eines Bildregisterwerts (xci) aus den Zielspeicherklassen (21) dieser Bildregisterwert durch die jedem Bildregisterwert eindeutig zugeordnete Primzahl (Ai) geteilt wird, wobei der entstandene Registerwert nur in seine ihm zugeordnete Registerzelle eingelesen wird, so dass das Zugriffsprüfmodul (4) erkennt, wenn der Registerwert, eindeutig zugeordnet einer Registerzelle,
in eine andere Registerzelle, eindeutig einem anderen Registerwert zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul (4) ein Ablegen dieses Registerwerts in der anderen Registerzelle verhindert.
Figure DE102013113402B4_0000
Controller unit (1) for non-reactive access and / or data flow control between at least one memory unit (2) and at least one processing unit (3) (CPU), comprising at least one memory unit (2) and at least one processing unit (3), wherein
the memory unit (2) comprises at least two target memory classes (21) in which at least one execution function (FKT) is stored and / or executable and each execution function (FKT) is uniquely assigned such that each execution function (FKT) of at least one target memory class (21) is assigned, for access and / or data flow control in a data transfer channel at least one access checking module (4) between the memory unit (2) and the processing unit (3) is interposed,
characterized in that
each target storage class (21) is uniquely associated with exactly one positive prime number (Ai; i> = 0), the access checking module (4) being arranged and arranged to store register values (xi; i> = 0) of register cells (R) of the processing unit (3) (CPU) with the target memory class (21) a uniquely assigned prime number (Ai) according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0001
to multiply, and
wherein xci is an image register value and is stored only in the respective target storage class (21) corresponding to the respective prime number (Ai) and Bi is an integer greater than or equal to zero, wherein upon reading an image register value (xci) from the Target memory classes (21) this image register value by the image register unique value uniquely assigned prime (Ai) is divided, the resulting register value is read only in its associated register cell, so that the access check module (4) detects when the register value, uniquely assigned to a register cell,
is stored in another register cell, uniquely assigned to another register value, and / or prevents the access checking module (4) from storing this register value in the other register cell.
Figure DE102013113402B4_0000

Description

Die vorliegende Erfindung betrifft eine Controllereinheit zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit und zumindest einer Verarbeitungseinheit sowie ein Verfahren zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit und zumindest einer Verarbeitungseinheit gemäß den jeweiligen Oberbegriffen der Patentansprüche 1 und 8.The present invention relates to a controller unit for non-reactive access and / or data flow control between at least one memory unit and at least one processing unit and a method for non-reactive access and / or data flow control between at least one memory unit and at least one processing unit according to the respective preambles of claims 1 and 8 ,

Die Speichereinheit umfasst zumindest zwei Zielspeicherklassen, in welcher jeweils zumindest eine Ausführungsfunktion abgelegt und/oder ausführbar ist und jede Ausführungsfunktion eindeutig zumindest einer Zielspeicherklasse zugeordnet ist, wobei jeder Zielspeicherklasse eineindeutig, genau eine positive Primzahl zugeordnet ist.The memory unit comprises at least two target memory classes, in each of which at least one execution function is stored and / or executable and each execution function is uniquely assigned to at least one target memory class, each target memory class being uniquely associated with exactly one positive prime number.

Aus dem Stand der Technik sind derartige Primzahl-codierte Controllereinheiten bereits wohl bekannt. Insbesondere kennt der Stand der Technik nämlich solche Controllereinheiten, bei denen eine Speichereinheit als Ganzes mittels einer dieser Speichereinheit zugeordneten Primzahl adressiert wird. Wird zum Beispiel in der Verarbeitungseinheit (CPU) ein Registerwert in einer für den Registerwert eindeutig zugeordneten Registerzelle erzeugt so kann dieser Registerwert durch Primzahlenmultiplikation in der Speichereinheit abgelegt werden.Such prime-coded controller units are already well known in the art. In particular, the state of the art knows such controller units in which a memory unit as a whole is addressed by means of a prime number assigned to this memory unit. If, for example, a register value is generated in a register cell uniquely assigned to the register value in the processing unit (CPU), this register value can be stored in the memory unit by prime number multiplication.

Aus Mottok, J.; Schiller, F; Zeitler, T.: Safely embedded software for state machines in automotive applications in: Embedded Systems - Theory and Design Methodology. Intech, März 2012, S.31 - 50 ist eine rückwirkungsfreie Zugriffs- und/oder Datenflusssteuerung zwischen einem Speicher und einer verarbeitenden Einheit bekannt mit einem Abbilden von Werten mittels Primzahlen und einer Abbildungsvorschrift, wobei eine Überprüfung der Korrektheit der abgebildeten Werte vor Ausgabe durchgeführt wird.Out Mottok, J .; Schiller, F; Zeitler, T .: Embedded Systems - Theory and Design Methodology. Intech, March 2012, p.31 - 50 For example, non-reactive access and / or data flow control between a memory and a processing unit is known, with mapping of values by primes and a mapping rule, wherein a check of the correctness of the mapped values is performed before output.

Allerdings konnten bisher im Stand der Technik lediglich solche Speichereinheiten dargestellt werden, in denen einer einzigen Primzahl nur einen einzigen Zielspeicherklasse zugeordnet war. Mit anderen Worten konnte mittels dieser einen Primzahl lediglich ein Speicherschutz für die komplette Speichereinheit realisiert werden, wobei ein Speicherschutz für einzelne Zielspeicherklassen der Speichereinheit (mit jeweils unterschiedlichen Sicherheitsklassen) mittels einer Primzahlcodierung bisher durch den Stand der Technik nicht vorgeschlagen wurde.However, hitherto only such memory units could be represented in the prior art in which a single prime number was assigned to only one target memory class. In other words, only one memory protection for the entire memory unit could be realized by means of this one prime, with memory protection for individual target memory classes of the memory unit (each having different security classes) not previously proposed by the prior art by means of prime coding.

Alternative Speicherschutzmechanismen, die anstatt einen die Verwendung einer Primzahl einen davon abweichende Speicherschutz vorschlagen sind jedoch auch aus dem Stand der Technik bekannt.Alternative memory protection mechanisms, however, which propose a use of a prime number deviating memory protection instead are also known from the prior art.

Generell sollte nämlich ein Speicherschutz die „ISO26262“ erfüllen. Die „ISO26262“ löst als Norm zur funktionalen Sicherheit von Straßenfahrzeugen die „IEC61508“ für die Automobilindustrie ab. Insbesondere handelt es sich bei der „ISO26262“ („functional safety-road vehicles“) um eine Norm zur funktionalen Sicherheit von Straßenfahrzeugen.Generally, a memory protection should fulfill the "ISO26262". The "ISO26262" replaces the "IEC61508" for the automotive industry as the standard for the functional safety of road vehicles. In particular, "ISO26262" ("functional safety-road vehicles") is a standard for the functional safety of road vehicles.

Mit der hier beschriebenen „ISO26262“ steht der Automobilbranche eine anwendbare Norm zur funktionalen Sicherheit zur Verfügung, die im Gegensatz zur „IEC61508“ unter Beteiligung der Automobilindustrie entstanden ist und somit deren speziellen Belange berücksichtigt. Diese sind beispielsweise:

  • - Der für die Automobilbranche typische Lebenszyklus, insbesondere die durchgängige Verifikation beziehungsweise Validation,
  • - die Schnittstellen beziehungsweise die Zuweisung der Sicherheitsverantwortung bei verteilter Entwicklung teilweise über mehrere Zulieferebenen hinweg,
  • - der Einsatz konfigurierbarer Software, deren Verhalten möglicherweise erst nach Serienstart durch Kalibrierdaten bestimmt wird.
The "ISO26262" described here provides the automotive industry with an applicable standard for functional safety, which, in contrast to the "IEC61508", was developed with the involvement of the automotive industry and thus takes into account their specific concerns. These are for example:
  • - The life cycle typical of the automotive industry, in particular the continuous verification or validation,
  • - the interfaces or the assignment of the responsibility for security in distributed development partly across multiple levels of suppliers,
  • - The use of configurable software whose behavior may only be determined by calibration data after the start of series production.

Die oben genannte ISO26262 stellt jedoch hohe Anforderungen an eine Rückwirkungsfreiheit sowie an den entsprechenden Speicherschutz bei der Integration unterschiedlicher Sicherheitsklassen auf einer Ausführungs- und/oder Speichereinheit.However, the abovementioned ISO26262 places high demands on freedom from feedback as well as on the corresponding memory protection in the integration of different security classes on an execution and / or storage unit.

Aus dem Stand der Technik sind verschiedene Maßnahmen bekannt Funktionen verschiedener Sicherheitsklassen (z. B. sicherheitsrelevante und nicht-sicherheitsrelevanten Funktionen) mit Hilfe von Soft-/Hardwaremechanismen sicher und rückwirkungsfrei zu trennen (zu engl.: software partitioning).From the prior art, various measures are known functions of different security classes (eg, safety-related and non-safety-relevant functions) with the help of software / hardware mechanisms safely and without repercussion to separate (to English: software partitioning).

Insbesondere sind zur Erfüllung der Norm ISO26262 folgende drei Speicherschutzmechanismen beschrieben:In particular, the following three memory protection mechanisms are described in order to comply with the ISO26262 standard:

Zunächst wäre die sogenannte „Wert/Komplementablage“, auch Blockreplikation nach ISO26262, zu nennen. Grundsätzlich basiert die „Wert/Komplementablage“ auf dem Prinzip, dass zusätzlich zu einer Ablage eines Datums in der Speichereinheit ein zugehöriges „Zahlen“ Komplement berechnet und in einer separaten Speichereinheit abgelegt wird. Beim späteren Zugriff wird Wert und Komplement (Inhalt der Speicherzelle oder auch Adresswert der Speicherzelle) und ein entsprechendes Komplement dazu auf Konsistenz, beispielsweise mittels eines Prüfmoduls geprüft.First, the so-called "value / complement storage", also block replication according to ISO26262, should be mentioned. Basically, the "value / complement storage" is based on the principle that in addition to storing a date in the memory unit, an associated "number" complement is calculated and stored in a separate memory unit. During subsequent access, value and complement (content of the memory cell or address value of the memory cell) and a corresponding complement thereto are checked for consistency, for example by means of a test module.

Hierbei ist im Sinne des Zugriffschutzes lediglich eine Unterscheidung zwischen Variablen ohne Komplement (QM) und Variablen mit Komplement möglich (ASIL). Innerhalb der Zielspeicherklassen ist jedoch, wie obig bereits mehrmals ausgeführt, keinerlei Unterscheidung möglich.In the sense of access protection, only a distinction is made between variables without complement (QM) and variables with complement possible (ASIL). Within the target storage classes, however, as already stated several times, no distinction is possible.

Ein weiterer Speicherschutzmechanismus ist in der „Memory Protection Unit“ zu sehen. Aus dem Stand der Technik bekannte Controllereinheiten und deren Architekturen bieten Hardwaremechanismen, welche Zugriffe auf bestimmte Speicherbereiche zwar einschränken und es können auch Adressbereiche bestimmten Speicherklassen zugeordnet werden, jedoch sind derartige Anwendungen der hier beschriebenen „Memory Protection Unit“ in der Regel dadurch eingeschränkt, als das nur wenige Speicherklassen zur Verfügung stehen und somit eine nur sehr grobe Einteilung möglich ist oder eine aufwendige Rekonfiguration notwendig ist. Dadurch, dass der Aufwand in einer derartigen „Memory Protection Unit“ in der Regel sehr hoch ist, benötigt die Controllereinheit hohe Leistungsteile im „High-Performance Bereich“ und muss zudem einen in zeitlicher Hinsicht zyklischen beispielsweise periodischen Überprüfungsmechanismus starten.Another memory protection mechanism can be seen in the "Memory Protection Unit". Controller units known from the prior art and their architectures offer hardware mechanisms which restrict access to specific memory areas and address areas can also be assigned to specific memory classes, but such applications of the "Memory Protection Unit" described here are generally limited by this Only a few storage classes are available and thus only a very rough classification is possible or a complicated reconfiguration is necessary. Due to the fact that the effort in such a "Memory Protection Unit" is generally very high, the controller unit requires high performance parts in the "high-performance range" and, moreover, has to start a periodically cyclical, for example, periodic checking mechanism.

Alles in allem ist die Anwendung der bereits aus dem Stand der Technik wohlbekannten „Memory Protection Unit“ nicht nur aufwendig, sondern auch sehr kostenintensiv.All in all, the application of the well-known from the prior art "Memory Protection Unit" is not only expensive, but also very expensive.

Als weiterer Speicherschutzstandard zur Erfüllung der ISO26262 wäre die „Prüfsummenberechnung“ zu nennen. Dabei wird über definierte Speicherbereiche mit einem dem Speicherbereich zugeordneten Generatorpolynom eine Prüfsumme berechnet. Diese Prüfsumme wird an einer bestimmten Stelle im Speicher abgelegt. Wird nun auf ein Datum in dieser Speicherklasse zugegriffen, muss der gesamte Bereich ausgelesen und die Prüfsumme berechnet werden. Stimmt diese nicht mit der Abgelegten überein, erfolgte entweder ein Zugriff in eine falsche Klasse (falsches Generatorpolynom) oder der Speicher wurde korrumpiert. Bei schreibendem Zugriff muss die hinterlegte Prüfsumme entsprechend angepasst werden. Dieses Verfahren findet in der Praxis daher kaum Anwendung und ist wie das Verfahren nach der hier beschriebenen „Memory Protection Unit“ ebenso sehr aufwendig.As a further storage protection standard for the fulfillment of the ISO26262 the "checksum calculation" should be mentioned. In this case, a checksum is calculated via defined memory areas with a generator polynomial assigned to the memory area. This checksum is stored in memory at a specific location. If a date is now accessed in this storage class, the entire area must be read out and the checksum calculated. If this does not match the filed, either an access into an incorrect class (wrong generator polynomial) or the memory was corrupted. For write access, the stored checksum must be adapted accordingly. This method is therefore hardly used in practice and, like the method according to the "Memory Protection Unit" described here, is likewise very expensive.

Es ist daher Aufgabe der vorliegenden Erfindung, eine Controllereinheit und ein Verfahren bereitzustellen, mittels welchen es möglich ist, die Nachteile des Standes der Technik zu umgehen.It is therefore an object of the present invention to provide a controller unit and a method by means of which it is possible to obviate the disadvantages of the prior art.

Gelöst wird die Aufgabe durch eine Controllereinheit zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen einer Speichereinheit und einer Verarbeitungseinheit gemäß Anspruch 1 und durch ein Verfahren zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen einer Speichereinheit und einer Verarbeitungseinheit gemäß Anspruch 8.The object is achieved by a controller unit for non-reactive access and / or data flow control between a memory unit and a processing unit according to claim 1 and by a method for non-reactive access and / or data flow control between a memory unit and a processing unit according to claim 8.

Um nun eine Controllereinheit anzugeben, welche in ganz besonders einfacher, kostengünstiger und zeitsparender Art und Weise es ermöglicht, die oben genannten Probleme zu beseitigen und daher eine Controllereinheit anzubieten, welche rückwirkungsfrei verschiedene Speicherklassen (unterschiedlicher Sicherheitslevels) der Speichereinheit mit einem Speicherschutz belegen kann, macht die vorliegende Erfindung unter anderem von der Idee Gebrauch, dass zur Zugriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul zwischen der Speichereinheit und der Verarbeitungseinheit zwischengeschaltet ist, wobei das Zugriffsprüfmodul dazu eingerichtet und dazu vorgesehen ist, Registerwerte von Registerzellen der Verarbeitungseinheit (CPU) mit einer der Zielspeicherklasse eineindeutig zugeordneten Primzahl gemäß einer Codierungsvorschrift xci = Ai * xi + Bi

Figure DE102013113402B4_0002
zu multiplizieren, wobei xci ein Bildregisterwert, eines Registerwerts xi ist und nur in der jeweiligen Zielspeicherklasse entsprechend der jeweiligen Primzahl Ai abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist. „i“ ist dabei jeweils ein ganzzahliger, positiver Laufindex.In order to provide a controller unit, which makes it possible in a particularly simple, cost-effective and time-saving manner to eliminate the above-mentioned problems and therefore to offer a controller unit which can occupy different memory classes (different security levels) of the memory unit with memory protection without interference Among other things, the present invention makes use of the idea that at least one access checking module is interposed between the memory unit and the processing unit for access and / or data flow control in a data transfer channel, wherein the access checking module is set up and provided for register values of register cells of the processing unit (CPU ) with a prime number uniquely assigned to a target storage class according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0002
where xci is an image register value, a register value xi and is stored only in the respective target memory class corresponding to the respective prime number Ai and Bi is an integer greater than or equal to zero. "I" is an integer, positive run index.

Mit anderen Worten ist mittels des hier beschriebenen Zugriffsprüfmoduls und der damit verbundenen Multiplikation der Registerwerte mit einem den jeweiligen Registerwerten eineindeutig zugeordneten Primzahlen ein Mechanismus geschaffen, welcher es in besonders einfacher und kostengünstiger Art und Weise ermöglicht, zu verhindern, dass Registerwerte der Registerzellen in Zielspeicherklassen, welche nicht für die jeweiligen Registerwerte vorgesehen sind, fehlerhaft abgespeichert werden. Es ist nämlich mittels der Multiplikation durch die jeweiligen Primzahlen eindeutig über die Generierung des Bildregisterwerts eine Zuordnung dieses Bildregisterwerts zu entsprechenden Zielspeicherklassen umfassend die jeweilig diesen Zielspeicherklassen eindeutig zugeordneten Ausführungsfunktionen möglich.In other words, by means of the access checking module described here and the associated multiplication of the register values with a primes uniquely assigned to the respective register values, a mechanism is provided which makes it possible, in a particularly simple and cost-effective manner, to prevent register values of the register cells in target memory classes, which are not intended for the respective register values are stored incorrectly. Namely, by means of the multiplication by the respective primes via the generation of the image register value, an assignment of this image register value to corresponding target memory classes comprising the respective execution functions uniquely assigned to these target memory classes is possible.

Gemäß zumindest einer Ausführungsform umfasst die Controllereinheit zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit und zumindest einer Verarbeitungseinheit zumindest eine Speichereinheit sowie zumindest eine Verarbeitungseinheit, wobei die Speichereinheit zumindest zwei Zielspeicherklassen umfasst, in welcher jeweils zumindest eine Ausführungsfunktion abgelegt und/oder ausführbar ist und jede Ausführungsfunktion eindeutig insofern zugeordnet ist, dass jede Ausführungsform zumindest einer Zielspeicherklasse, zugeordnet ist, wobei jeder Zielspeicherklasse eineindeutig genau eine positive Primzahl zugeordnet ist. Dabei ist zwischen der Speichereinheit und der Verarbeitungseinheit zur Durchgriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul geschaltet, welches dazu eingerichtet und dazu vorgesehen ist, Registerwerte (xi; i>=0) von Registerzellen der Verarbeitungseinheit (CPU) mit einer der Zielspeicherklasse eineindeutig zugeordneten Primzahl (Ai; I>=0) gemäß einer Codierungsvorschrift xci = Ai * xi + Bi

Figure DE102013113402B4_0003
zu multiplizieren, und wobei xci ein Bildregisterwert ist und nur in der jeweiligen Zielspeicherklasse entsprechend der jeweiligen Primzahl abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist.According to at least one embodiment, the controller unit for feedback-free access and / or data flow control between at least one memory unit and at least one processing unit at least one memory unit and at least one processing unit, wherein the memory unit comprises at least two target memory classes, in each of which at least one execution function stored and / or executable and each execution function is uniquely assigned in that each embodiment is assigned to at least one target storage class, where each target storage class is uniquely associated with exactly one positive prime number. In this case, at least one access checking module is connected between the memory unit and the processing unit for pass-through and / or data flow control in a data transfer channel, which is set up and provided for register values (xi; i> = 0) of register cells of the processing unit (CPU) with one of the Target storage class a uniquely assigned prime number (Ai; I> = 0) according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0003
where xci is an image register value and is stored only in the respective target storage class corresponding to the respective prime number and Bi is an integer greater than or equal to zero.

Erfindungsgemäß erkennt das Zugriffsprüfmodul, wenn ein Bildregisterwert, eindeutig zugeordnet einer Primzahl und einer Zielspeicherklasse, in eine andere Zielspeicherklasse, eindeutig einer anderen Primzahl zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul verhindert ein Ablegen dieses Bildregisterwerts in dieser anderen Zielspeicherklasse.In accordance with the invention, when an image register value uniquely assigned to one prime number and one destination storage class is stored in another destination storage class uniquely assigned to another prime number, and / or the access checking module prevents that image register value from being stored in that other destination storage class.

Insofern ist mittels eines derartig ausgestalteten Zugriffsprüfmoduls in besonders einfacher Art und Weise ohne Aufwendung einer zusätzlichen Hardwarekomponente sichergestellt, dass nur solche Registerwerte in den jeweiligen Zielspeicherklassen abgelegt werden, welche auch eindeutig einer entsprechenden Primzahl für diese Zielspeicherklasse zugeordnet ist.In this respect, it is ensured by means of an access checking module configured in a particularly simple manner without the use of an additional hardware component that only those register values are stored in the respective target memory classes, which are also unambiguously assigned to a corresponding prime number for this target memory class.

Mit anderen Worten wird verhindert, dass ein Registerwert fehlerhaft entweder durch Multiplikation mit einer falschen Primzahl oder durch einen sonstigen Ablegungsprozess in einer nicht für diesen Registerwert und insbesondere nicht für diesen Bildregisterwert entsprechenden Zielspeicherklasse abgelegt wird. Insofern wird daher besonders einfach ein nicht autorisierter Zugriff auf eine Zielspeicherklasse verhindert, sofern versucht wird, mit einem beispielsweise bereits bekannten Bildregisterwert auch die restlich verbleibenden Zielspeicherklassen zu beeinflussen und/oder zu belegen. Ein Zugriff auf Zielspeicherklassen, welche nicht mittels des dafür vorgesehenen Bildregisterwerts (umfassend dafür vorgesehene Primzahl) erfolgt, wird daher unterbunden. Es kann somit eine besonders einfache und detailgetreue Unterteilung der Speichereinheit und insbesondere der Zielspeicherklassen, in verschiedenen Sicherheitsklassen, realisiert sein.In other words, it is prevented that a register value is stored erroneously either by multiplication by an incorrect prime number or by another deposition process in a target storage class that does not correspond to this register value and in particular to this image register value. In this respect, it is therefore particularly easy to prevent unauthorized access to a target memory class, if an attempt is made to influence and / or prove the remaining remaining target memory classes with, for example, an already known image register value. Access to target memory classes which does not take place by means of the image register value provided for this purpose (including the prime number provided for this purpose) is therefore prevented. It can thus be a particularly simple and detailed subdivision of the memory unit and in particular the target memory classes, in different security classes, realized.

Erfindungsgemäß erkennt das Zugriffsprüfmodul, wenn ein Registerwert, eindeutig zugeordnet einer Registerzelle, in eine andere Registerzelle, eindeutig einem anderem Registerwert zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul verhindert ein Ablegen dieses Registerwertes in der anderen Registerzelle. Mit anderen Worten ist somit ein „bidirektionaler“ Speicherschutzmechanismus implementiert. Es können nämlich nicht nur Bildregisterwerte in eindeutig dafür vorgesehene und nur diesen zugeordnete Zielspeicherklassen, mittels des hier beschriebenen Zugriffsprüfmoduls, untergebracht werden, sondern es können auch, stattdessen oder zudem, Registerwerte in nur dafür vorgesehene Registerzellen der Verarbeitungseinheit (CPU) untergebracht werden. Eine derartige Bidirektionalität gewährleistet daher in jeder Datentransferrichtung einen besonders hohen Schutz vor fehlerhaften Ein- und Zuordnungen von verschiedenen Werten in unterschiedliche Zielspeicherklassen/Registerzellen, sodass in jeder Datentransferrichtung über das hier beschriebene Zugriffsprüfmodul ein entsprechend hoher Zugriffs- und Speicherschutz realisiert ist.According to the invention, if a register value, uniquely assigned to a register cell, is stored in another register cell, uniquely assigned to another register value, and / or the access checking module prevents this register value from being stored in the other register cell. In other words, a "bidirectional" memory protection mechanism is thus implemented. Namely, not only can image register values be accommodated in uniquely designated target memory classes associated therewith by means of the access checking module described herein, but also, instead or additionally, register values may be accommodated in only dedicated register cells of the processing unit (CPU). Such a bidirectionality therefore ensures a particularly high degree of protection against erroneous inputs and assignments of different values in different target memory classes / register cells in each data transfer direction, so that a correspondingly high access and memory protection is realized in each data transfer direction via the access checking module described here.

Gemäß zumindest einer Ausführungsform gibt das Zugriffsprüfmodul bei Feststellung einer fehlerhaften Zuordnung zumindest eine Fehlermeldung aus. Eine derartige Fehlermeldung kann nicht nur eine optisch visuelle Mitteilung an einen Überwacher oder Bediener beinhalten, eine fehlerhafte Zuordnung kann darüber hinaus auch Abschaltung von Endkomponenten (auch Aktoren) bedeuten. Versucht beispielsweise ein nicht autorisierter Benutzer Zugriff auf ein in einer der Zielspeicherklassen hinterlegten Bildregisterwert, mittels einer diesen Bildregisterwert nicht zugeordneten Primzahl zu erlangen, kann eine derartige Speicherklasse von einer Kommunikation mit der Verarbeitungseinheit (CPU) getrennt oder zumindest über das Zugriffsprüfmodul überwacht werden.In accordance with at least one embodiment, the access checking module outputs at least one error message when a faulty assignment is detected. Such an error message can not only include an optical visual message to a supervisor or operator, a faulty assignment can also mean switching off end components (also actuators). For example, if an unauthorized user attempts to gain access to an image register value stored in one of the destination memory classes, by means of a prime number not assigned to that image register value, such a memory class may be disconnected from communication with the processing unit (CPU) or at least monitored by the access check module.

Gemäß zumindest einer Ausführungsform werden beim Auslesen eines Bildregisterwerts aus den Zielspeicherklassen dieser Bildregisterwerte durch die jedem Bildregisterwert eindeutig zugeordnete Primzahl geteilt, wobei der entstandene Registerwert nur in seine ihm zugeordnete Registerzelle eingelesen wird. Denkbar ist, dass dann Bi=0 gesetzt wird. Insofern handelt es sich bei einer derartigen Umrechnung der Bildregisterwerte in Registerwerte um eine zu obiger Multiplikation mit einer Primzahl invertierte Codierungsvorschrift.In accordance with at least one embodiment, when an image register value is read from the target memory classes, these image register values are divided by the prime number uniquely assigned to each image register value, the resulting register value only being read into its associated register cell. It is conceivable that then Bi = 0 is set. In this respect, such a conversion of the image register values into register values is an encoding rule inverted to the above multiplication by a prime number.

Gemäß zumindest einer Ausführungsform umfasst das Zugriffsprüfmodul zumindest ein Multiplikatormodul zum Multiplizieren der jeweiligen Primzahl mit einem dieser Primzahl zugeordneten Registerwert und zur Addition der ganzen Zahl Bi und/oder zumindest ein Divisionsmodul zum Dividieren des jeweiligen Bildregisterwerts. Insofern umfasst das Zugriffsprüfmodul jeweils innerhalb dieses Zugriffsprüfmoduls getrennt voneinander angeordnete Module in Form des Multiplikator- und des Divisionsmoduls, welche jeweils voneinander getrennte Rechenoperationen (Multiplikation und Division) durchführen. Es ist jedoch auch denkbar, dass das Multiplikatormodul mit dem Divisionsmodul in einem Datentransfer steht. Beispielsweise sind verschiedene Multiplikatoreigenschaften (z. B. in zeitlicher Hinsicht) von den Divisionseigenschaften des Divisionsmoduls abhängig gemacht. In einer derartigen Ausführungsform sind daher das Multiplikatormodul und das Divisionsmodul nicht voneinander unabhängig betrieben oder betreibbar. Es ist jedoch alternativ dazu möglich, dass das Multiplikatormodul vollkommen unabhängig von den Rechenoperationen des Divisionsmoduls betrieben wird oder betreibbar ist. Dies kann vorzugsweise an dem Zugriffsprüfmodul eingestellt werden.In accordance with at least one embodiment, the access checking module comprises at least one multiplier module for multiplying the respective prime number by a register value assigned to this prime number and adding the integer Bi and / or at least one division module to divide the respective image register value. In this respect, the access checking module in each case within this access checking module comprises modules arranged separately from one another in the form of the multiplier module and the dividing module, each of which is separate from one another Perform arithmetic operations (multiplication and division). However, it is also conceivable that the multiplier module with the division module is in a data transfer. For example, different multiplier properties (eg, in terms of time) are dependent on the division properties of the division module. In such an embodiment, therefore, the multiplier module and the division module are not independently operated or operable. However, it is alternatively possible for the multiplier module to be operated or operable completely independently of the computing operations of the division module. This can preferably be set on the access check module.

Gemäß zumindest einer Ausführungsform ist das Zugriffsprüfmodul dazu ausgestaltet, einen Zugriff einer Ausführungsfunktion, welche in einer Zielspeicherklasse hinterlegt ist, vorgebbar auf zumindest eine andere Zielspeicherklasse zuzulassen. Denkbar ist daher, dass eine vorgegebene Ausführungsfunktion auch hinterlegt und/oder einen Zugriff auf eine Zielspeicherklasse haben/erlauben kann, welche eigentlich für eine andere Ausführungsfunktion ausgelegt ist. Diese ermöglicht besonders vorteilhaft nicht nur eine Kommunikation zwischen der Speichereinheit und der Verarbeitungseinheit, jedoch zusätzlich über den oben genannten Speicherschutz generiert durch die Einführung der Primzahlen, auch einen Informationsaustausch der einzelnen Zielspeicherklassen mittels ein und derselben Funktion untereinander. Denkbar ist nämlich, dass einzelne Inhalte der Zielspeicherklassen mittels der Ausführungsfunktion von einer Zielspeicherklasse zu einer anderen Zielspeicherklasse transferiert werden können.In accordance with at least one embodiment, the access checking module is configured to permit an access of an execution function, which is stored in a destination storage class, to be predefined to at least one other destination storage class. It is therefore conceivable that a given execution function can also be deposited and / or have access to a target storage class that can actually be used for another execution function. This particularly advantageously not only enables communication between the memory unit and the processing unit, but additionally via the above-mentioned memory protection generated by the introduction of the primes, also an exchange of information of the individual target memory classes by means of one and the same function with each other. It is namely conceivable that individual contents of the target storage classes can be transferred by means of the execution function from one target storage class to another target storage class.

Gemäß zumindest einer Ausführungsform, hat eine Ausführungsfunktion einer Zielspeicherklasse Zugriff auf eine vorgebbare Auswahl aus allen oder einem Spektrum der vorhandenen Zielspeicherklassen. In diesem Zusammenhang heißt der Begriff „Spektrum“ eine Auswahl aus vorhandenen Zielspeicherklassen. Beispielweise kann das Spektrum auch nur aus einer Zielspeicherklasse oder aus zumindest zwei Zielspeicherklassen bestehen.In accordance with at least one embodiment, an execution function of a target storage class has access to a predefinable selection from all or a spectrum of the existing target storage classes. In this context, the term "spectrum" is a selection from existing target storage classes. For example, the spectrum can only consist of one target storage class or of at least two target storage classes.

Gemäß zumindest einer Ausführungsform ist ein und dieselbe Ausführungsfunktion identisch in zumindest zwei Zielspeicherklassen hinterlegt und/oder es kann von ein und derselben Ausführungsfunktion auf zumindest zwei Zielspeicherklassen zugegriffen werden. Insofern erlaub die „multiple“ Hinterlegung von Ausführungsfunktionen in den jeweiligen Zielspeicherklassen und/oder die Erlaubnis der Ausführungsfunktion auf Zugriff von mehreren Zielspeicherklassen eine besonders große Variabilität in der Einstellung einer Zugriffsspeicherverwaltung und dessen Zugriffssicherheit.According to at least one embodiment, one and the same execution function is identically deposited in at least two target storage classes and / or at least two target storage classes can be accessed by one and the same execution function. In this respect, the "multiple" deposit of execution functions in the respective target storage classes and / or the permission of the execution function for access of several target storage classes allow a particularly large variability in the setting of an access memory management and its access security.

Im Weiteren wird ein Verfahren zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung beschrieben. Beispielsweise kann das hier beschriebene Verfahren mit einer Controllereinheit gemäß zumindest einer der vorherigen Ausführungsformen durchgeführt werden. D. h. alle Merkmale der hier beschriebenen Controllereinheit sind auch für das hier beschriebene Verfahren offenbart und umgekehrt.In the following, a method for non-reactive access and / or data flow control will be described. For example, the method described here can be carried out with a controller unit according to at least one of the previous embodiments. Ie. All features of the controller unit described herein are also disclosed for the method described herein, and vice versa.

Gemäß zumindest einer Ausführungsform umfasst das hier beschriebene Verfahren zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit und zumindest einer Verarbeitungseinheit (CPU) zumindest eine Speichereinheit sowie zumindest eine Verarbeitungseinheit, wobei die Speichereinheit zumindest zwei Zielspeicherklassen umfasst, in welcher jeweils zumindest eine Ausführungsfunktion abgelegt und/oder ausführbar ist und jede Ausführungsfunktion eindeutig insofern zugeordnet ist, dass jede Ausführungsform zumindest einer Zielspeicherklasse zugeordnet ist, wobei jeder Zielspeicherklasse eindeutig, vorzugsweise eineindeutig, genau eine positive Primzahl zugeordnet ist.According to at least one embodiment, the method described here for non-reactive access and / or data flow control between at least one memory unit and at least one processing unit (CPU) comprises at least one memory unit and at least one processing unit, wherein the memory unit comprises at least two target memory classes, in each of which at least one execution function is stored and / or executable, and each execution function is uniquely associated with each embodiment being associated with at least one destination storage class, each destination storage class being uniquely, preferably one-to-one, associated with exactly one positive prime.

Dabei ist zwischen der Speichereinheit und der Verarbeitungseinheit zur Durchgriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul geschaltet, welches dazu eingerichtet und dazu vorgesehen ist, Registerwerte (xi; i>=0) von Registerzellen der Verarbeitungseinheit (CPU) mit einer der Zielspeicherklasse eineindeutig zugeordneten Primzahl (Ai; I>=0) gemäß einer Codierungsvorschrift xci = Ai * xi + Bi

Figure DE102013113402B4_0004
zu multiplizieren, und wobei xci ein Bildregisterwert ist und nur in der jeweiligen Zielspeicherklasse entsprechend der jeweiligen Primzahl abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist.In this case, at least one access checking module is connected between the memory unit and the processing unit for pass-through and / or data flow control in a data transfer channel, which is set up and provided for register values (xi; i> = 0) of register cells of the processing unit (CPU) with one of the Target storage class a uniquely assigned prime number (Ai; I> = 0) according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0004
where xci is an image register value and is stored only in the respective target storage class corresponding to the respective prime number and Bi is an integer greater than or equal to zero.

Insofern weist das hier beschriebene Verfahren die gleichen Vorteile und Ausgestaltungen wie in Zusammenhang mit der obig beschriebenen Controllereinheit auf.In this respect, the method described here has the same advantages and refinements as in connection with the controller unit described above.

Im Folgenden wird die hier beschriebene Controllereinheit sowie das hier beschriebene Verfahren anhand eines Ausführungsbeispiels und der dazu gehörigen Figur näher beschrieben.In the following, the controller unit described here and the method described here will be described in detail with reference to an embodiment and the associated figure.

In der 1A ist anhand einer schematischen Darstellung eine hier beschriebene Controllereinheit gemäß einem Ausführungsbeispiel dargelegt.In the 1A is a schematic representation of a controller unit described here according to an embodiment set forth.

In der 1B ist schematisch eine Übertragung eines Registerwerts (zu Englisch: original domain) mittels einer Codierungsvorschrift (oder auch Abbildungsvorschrift) dargestellt.In the 1B schematically a transmission of a register value (to English: original domain) by means of a coding rule (or mapping rule) is shown.

In dem Ausführungsbeispiel und den Figuren sind gleiche oder gleichwirkende Bestandteile jeweils mit den gleichen Bezugszeichen versehen. Die hier dargestellten Elemente sind nicht als Maßstabsgerecht anzusehen. Vielmehr können einzelne Elemente zum besseren Verständnis übertrieben groß dargestellt sein. In the exemplary embodiment and the figures, identical or equivalent components are each provided with the same reference numerals. The elements shown here are not to be considered as scalable. Rather, individual elements may be exaggerated for better understanding.

In der 1A ist schematisch ein Ausführungsbeispiel einer hier beschriebenen Controllereinheit 1 zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit 2 und zumindest einer Verarbeitungseinheit 3 (CPU) dargestellt. Insbesondere ist erkennbar, dass die Speichereinheit 2 eine Vielzahl von Zielspeicherklassen 21 umfasst, in welcher jeweils eine Ausführungsfunktion (FKT) abgelegt und ausführbar ist und jede Ausführungsfunktion (FKT) eindeutig einer Zielspeicherklasse 21 zugeordnet ist. Dabei ist jeder Zielspeicherklasse 21 wiederum eindeutig, vorzugsweise eineindeutign genau eine positive Primzahl Ai zugeordnet.In the 1A schematically is an embodiment of a controller unit described here 1 for feedback-free access and / or data flow control between at least one memory unit 2 and at least one processing unit 3 (CPU). In particular, it can be seen that the memory unit 2 a variety of target storage classes 21 in which in each case an execution function ( FCT ) and is executable and any execution function ( FCT ) clearly a target storage class 21 assigned. Every target storage class is here 21 again unambiguously, preferably a unique associate with exactly one positive prime number Ai.

Weiter ist erkennbar, dass zur Zugriffs- und/oder Datenflusssteuerung in einem Datentransferkanal ein Zugriffsprüfmodul 4 zwischen der Speichereinheit 2 und der Verarbeitungseinheit 3 zwischengeschaltet ist. Dabei ist das Zugriffsprüfmodul 4 dazu eingerichtet und dazu vorgesehen, Registerwerte xi von Registerzellen R der Verarbeitungseinheit (CPU) 3 mit der Zielspeicherklasse 21 eineindeutig zugeordneten Primzahl Ai gemäß einer Codierungsvorschrift xci = Ai * xi + Bi

Figure DE102013113402B4_0005
zu multiplizieren. Dabei gilt stets für alle Variablen, dass i größer gleich Null und eine ganze Zahl ist. Insbesondere kann ein, mittels der hier beschriebenen Codierungsvorschrift, Bildregisterwert xci ermittelt werden, welcher nur in einer diesem Bildregisterwert xci eindeutig zugeordneten Zielspeicherklasse 21 entsprechend der jeweiligen Primzahl Ai ablegt wird. Darüber hinaus ist die Zahl Bi eine ganze Zahl und größer oder auch gleich Null und dient dazu insbesondere im Falle einer Wahl einer Primzahl von xi gleich Null trotzdem einen Bildregisterwert zu ermitteln, welcher genau dem Wert der ganzen Zahl Bi entspricht. Ist nun xi gleich Null, so entspricht der Bildregisterwert xci daher der Gleichung xci = Bi. Insofern ist verhindert, dass von extern ein ungewollter Zugriff von einem Registerwert xi=0 unkontrolliert stattfinden kann, da die Einführung der Primzahl Ai in der Codierungsvorschrift aufgrund der Multiplikation mit dem Wert Null stets auch wiederum Null ergibt.Furthermore, it can be seen that for access and / or data flow control in a data transfer channel an access checking module 4 between the storage unit 2 and the processing unit 3 is interposed. Where is the access check module 4 set up and provided register values xi of register cells R of the processing unit (CPU) 3 with the destination storage class 21 a uniquely assigned prime number Ai according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0005
to multiply. It always applies to all variables that i is greater than zero and an integer. In particular, an image register value, which is described by means of the encoding rule described here xci to be determined which only in this image register value xci uniquely assigned destination storage class 21 according to the respective prime number Ai is deposited. In addition, the number Bi is an integer and greater than or equal to zero and is used in particular in the case of a choice of a prime number of xi equal to zero, nevertheless, to determine an image register value which exactly matches the value of the integer Bi equivalent. If xi is equal to zero, then the image register value corresponds xci Hence, the equation xci = Bi. Insofar, prevents unwanted access from a register value externally xi = 0 can take place unchecked, since the introduction of the prime number Ai always returns zero in the coding rule due to the multiplication by the value zero.

Mit anderen Worten ist ausgeschlossen, dass ein Bildregisterwert xci auch bei Wahl des Registerwerts xi gleich Null wiederum ebenso Null ergibt. Beide Registerwerte sind daher voneinander verschieden. Dies stellt auch das grundsätzliche Prinzip dar, da generell gesagt werden kann, dass ein Bildregisterwert von einem Registerwert verschieden gewählt werden muss um eine Codierung zu erreichen.In other words, it is excluded that an image register value xci also when selecting the register value xi in turn, zero equals zero. Both register values are therefore different from each other. This is also the basic principle, since it can generally be said that an image register value must be chosen differently from a register value in order to achieve a coding.

Insbesondere erkennt das hier beschriebene Zugriffsprüfmodul 4, wenn ein Bildregisterwert xci, eindeutig zugeordnet einer Primzahl Ai und einer Zielspeicherklasse 21, in eine andere Zielspeicherklasse, eindeutig einer anderen Primzahl Ai zugeordnet, abgelegt wird und/oder das Zugriffprüfmodul 4 verhindert auch ein Ablegen dieses Bildregisterwerts xci in dieser anderen Zielspeicherklasse 21. Wie aus der 1A weiter erkannt werden kann, umfasst das Zugriffsprüfmodul 4 ein Multiplikatormodul 41 sowie ein Divisionsmodul 42, wobei das Multiplikatormodul 41 zum Multiplizieren der jeweiligen Primzahl Ai mit einem dieser Primzahl zugeordneten Registerwert Ri und zur Addition der ganzen Zahl Bi dient und eingerichtet ist und das Divisionsmodul 42 zum Dividieren des jeweiligen Bildregisterwertes xci ausgebildet ist. Insofern wird nach einer Codierung und Transformation des Registerwertes xi in den Bildregisterwert xci durch das Divisionsmodul eine entsprechend mathematische Rücktransformation ausgehend von dem Bildregisterwert xci in den ursprünglichen Registerwert x besonders einfach und eineindeutig durchgeführt. Die Primzahlen Ai haben nämlich den Vorteil, dass nicht ungewollt weitere Faktoren oder Bruchzahlen aus den Brüchen nach der Division durch das Divisionsmodul 42 entstehen, sondern stets unmittelbar wiederum der ursprüngliche Registerwert Ri (Bidirektionalität).
Entsprechend ist in 1B dargestellt, dass durch die Einführung der Primzahlen Ai ausgeschlossen ist, nicht ganzzahlige Vielfache von ursprünglichen Registerwerten xi in den Zielspeicherklassen 21 in Form der Bildregisterwerte xci abgelegt werden. Das Zugriffsprüfmodul 4 sorgt nämlich dafür, dass stets nur ganzzahlige Vielfache der Primzahlen Ai gebildet werden. Entsprechende Werte zwischen ganzzahligen Vielfachen der Primzahlen sind daher ausgeschlossen.
In particular, the access check module described here recognizes 4 if an image register value xci , uniquely assigned to a prime number Ai and a target storage class 21 , into another target storage class, uniquely a different prime number Ai is assigned, stored and / or the access check module 4 also prevents filing this image register value xci in this other destination storage class 21 , Like from the 1A can be further recognized includes the Access Check Module 4 a multiplier module 41 as well as a division module 42 , where the multiplier module 41 to multiply the respective prime number Ai with a register value Ri associated with one of these prime numbers and with addition of the integer Bi serves and is set up and the divisional module 42 for dividing the respective image register value xci is trained. In this respect, after coding and transformation of the register value xi in the image register value xci by the division module a corresponding mathematical inverse transformation starting from the image register value xci in the original register value x very simple and one-to-one. The primes Ai Namely have the advantage that not unintentionally other factors or fractions from the fractions after division by the division module 42 but always immediately in turn the original register value Ri (bidirectionality).
Accordingly, in 1B illustrated that by introducing the primes Ai is excluded, non-integer multiples of original register values xi in the target storage classes 21 in the form of the image register values xci be filed. The access exam module 4 ensures that always only integer multiples of primes Ai be formed. Corresponding values between integer multiples of the primes are therefore excluded.

Insofern ist jeder Zielspeicherklasse 21 eineindeutig eine Primzahl Ai zugeordnet. Soll beispielsweise ein Datum in der Speichereinheit 2 abgelegt werden, wird dieses mithilfe der oben genannten Codierungsvorschrift und der Primzahl Ai codiert. Das Ergebnis wird daher anschließend in der Speichereinheit abgelegt. Beim Lesen wird das Datum durch Division mittels des obigen Divisionsmoduls 42 durch die entsprechende Primzahl Ai rücktransformiert (zu engl. valid). Entsteht bei dieser Operation ein Rest, würde durch eine ungültige Primzahl geteilt und es erfolgt somit ein Zugriff in eine falsche Zielspeicherklasse 21 (zu engl. invalid). Hierdurch kann eine ungewollte Beeinflussung der unterschiedlichen Speicherklassen erkannt werden. Auch eine Korrumpierung der Speichereinheit ist daher besonders einfach erkennbar.In this respect, each target storage class 21 one-by-one a prime number Ai assigned. For example, if you want a date in the storage device 2 This is done using the above coding rule and the prime number Ai coded. The result is therefore subsequently stored in the memory unit. When reading, the date is divided by division using the above division module 42 by the corresponding prime number Ai retransformed (to English valid). If there is a remainder in this operation, it would be divided by an invalid prime number, thus giving access to an incorrect target storage class 21 (to invalid). As a result, an unwanted influence on the different storage classes can be detected. Corruption of the storage unit is therefore particularly easy to recognize.

Mit anderen Worten bietet die in obiger Erfindung beschriebene Controllereinheit 1 generell die Vorteile, dass eine beliebige Anzahl von Zielspeicherklassen gezielt adressiert werden können und eine Kapselung innerhalb einer möglich ist. Insbesondere kann der hier beschriebene Controllereinheit 1 hardwareunabhängig auch für low-performance Betriebssysteme ohne MPU-Systeme betrieben werden. Der hier beschriebene Controllereinheit 1 benötigt nämlich keine in aufwändiger Weise aufeinander abgestimmte und kostspielige unterschiedliche Prozessoren, sondern kann bereits mit einem sehr geringen Prozessortaktvermögen betrieben werden.In other words, the controller unit described in the above invention provides 1 In general, the advantages that any number of target storage classes can be specifically addressed and encapsulation within one is possible. In particular, the controller unit described here 1 Hardware-independent also for low-performance operating systems without MPU systems are operated. The controller unit described here 1 In fact, it does not require complex and costly different processors, but can already be operated with a very low processor clock speed.

Zudem kann die hier beschriebene Controllereinheit unabhängig betrieben sein, da die hier beschriebene Controllereinheit 1 auf einem generischen Konzept beruht.In addition, the controller unit described here can be operated independently, since the controller unit described here 1 based on a generic concept.

Weiter ist kein spezielles OS zur Unterstützung einer MPU notwendig, was zu einer unmittelbaren Kosteneinsparung führt und gezielte Lesezugriffe in andere Bereiche und unter Verwendung des entsprechenden „Schlüssels“ (Primzahl) möglich sind (wie obig in Ausführungsbeispielen bereits erwähnt). Dies bietet die Vorteile, dass keine speziellen sich überlappenden Speicherzellbereiche notwendig sind, keine Rekonfiguration der MPU notwendig ist und dass auch keine komplette Lesefreigabe auf einen vollständigen Bereich der Speichereinheit über alle Zielspeicherklassen hinweg notwendig ist.Further, there is no need for a dedicated OS to support an MPU, resulting in immediate cost savings and allowing targeted read accesses to other areas and using the corresponding "key" (prime number) (as noted above in embodiments). This offers the advantages that no special overlapping memory cell areas are necessary, no reconfiguration of the MPU is necessary and also that no complete read release to a complete area of the memory unit across all target memory classes is necessary.

Darüber hinaus kann mittels der hier beschriebenen Controllereinheit 1 ein vereinfachtes Testen realisiert sein, da unabhängig von speziellen Hardwaremechanismen die Controllereinheit 1 betrieben werden kann.In addition, by means of the controller unit described here 1 a simplified testing be realized because regardless of specific hardware mechanisms, the controller unit 1 can be operated.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Controllereinheitcontroller unit
22
Speichereinheitstorage unit
33
Verarbeitungseinheitprocessing unit
44
Zugriffsprüfmodul Zugriffsprüfmodul
2121
ZielspeicherklasseTarget storage class
4141
Multiplikatormodulmultiplier module
4242
DivisionsmodulDivision module
FKTFCT
Ausführungsfunktionexecutive function
AiAi
PrimzahlPrime number
xixi
Registerwertregister value
xcixci
BildregisterwertImage Register
BiBi
ganze Zahl größer oder gleich Nullinteger greater than or equal to zero

Claims (8)

Controllereinheit (1) zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit (2) und zumindest einer Verarbeitungseinheit (3) (CPU), umfassend zumindest eine Speichereinheit (2) sowie zumindest eine Verarbeitungseinheit (3), wobei die Speichereinheit (2) zumindest zwei Zielspeicherklassen (21) umfasst in welchen jeweils zumindest eine Ausführungsfunktion (FKT) abgelegt und/oder ausführbar ist und jede Ausführungsfunktion (FKT) eindeutig insofern zugeordnet ist, dass jede Ausführungsfunktion (FKT) zumindest einer Zielspeicherklasse (21) zugeordnet ist, wobei zur Zugriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul (4) zwischen der Speichereinheit (2) und der Verarbeitungseinheit (3) zwischengeschaltet ist, dadurch gekennzeichnet, dass jeder Zielspeicherklasse (21) eineindeutig genau eine positive Primzahl (Ai; i>=0) zugeordnet ist, wobei das Zugriffsprüfmodul (4) dazu eingerichtet und dazu vorgesehen ist, Registerwerte (xi; i>=0) von Registerzellen (R) der Verarbeitungseinheit (3) (CPU) mit der der Zielspeicherklasse (21) eineindeutig zugeordneten Primzahl (Ai) gemäß einer Kodierungsvorschrift xci = Ai * xi + Bi
Figure DE102013113402B4_0006
zu multiplizieren, und wobei xci ein Bildregisterwert ist und nur in der jeweiligen Zielspeicherklasse (21) entsprechend der jeweiligen Primzahl (Ai) abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist, wobei beim Auslesen eines Bildregisterwerts (xci) aus den Zielspeicherklassen (21) dieser Bildregisterwert durch die jedem Bildregisterwert eindeutig zugeordnete Primzahl (Ai) geteilt wird, wobei der entstandene Registerwert nur in seine ihm zugeordnete Registerzelle eingelesen wird, so dass das Zugriffsprüfmodul (4) erkennt, wenn der Registerwert, eindeutig zugeordnet einer Registerzelle, in eine andere Registerzelle, eindeutig einem anderen Registerwert zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul (4) ein Ablegen dieses Registerwerts in der anderen Registerzelle verhindert.
Controller unit (1) for non-reactive access and / or data flow control between at least one memory unit (2) and at least one processing unit (3) (CPU), comprising at least one memory unit (2) and at least one processing unit (3), wherein the memory unit (2 ) comprises at least two target memory classes (21) in which at least one execution function (FKT) is stored and / or executable and each execution function (FKT) is uniquely assigned in that each execution function (FKT) is associated with at least one target storage class (21) for access and / or data flow control in a data transfer channel, at least one access checking module (4) is interposed between the memory unit (2) and the processing unit (3), characterized in that each target memory class (21) has an exactly one positive prime number (Ai; i> = 0), the access check module (4) being set up and d a, register values (xi; i> = 0) of register cells (R) of the processing unit (3) (CPU) with the target memory class (21) a unique associated prime number (Ai) according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0006
xci is an image register value and is stored only in the respective target memory class (21) corresponding to the respective prime number (Ai) and Bi is an integer greater than or equal to zero, whereby when reading an image register value (xci) from the target memory classes (Ai) 21) this image register value is divided by the prime number (Ai) uniquely assigned to each image register value, the resulting register value being read only into its associated register cell so that the access test module (4) recognizes when the register value, uniquely assigned to a register cell, into one another register cell, uniquely assigned to another register value, is stored and / or the access checking module (4) prevents the register value from being stored in the other register cell.
Controllereinheit (1) nach Anspruch 1, dadurch gekennzeichnet, dass das Zugriffsprüfmodul (4) erkennt, wenn ein Bildregisterwert, eindeutig zugeordnet einer Primzahl und einer Zielspeicherklasse (21), in eine andere Zielspeicherklasse (21), eindeutig einer anderen Primzahl zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul (4) ein Ablegen dieses Bildregisterwerts in dieser anderen Zielspeicherklasse (21) verhindert.Controller unit (1) according to Claim 1 characterized in that the access checking module (4) detects when an image register value uniquely assigned to a prime number and a destination storage class (21) is stored in another destination storage class (21) uniquely assigned to another prime number and / or the access check module (4 ) prevents filing this image register value in this other destination storage class (21). Controllereinheit (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass bei Feststellung einer fehlerhaften Zuordnung das Zugriffsprüfmodul (4) zumindest eine Fehlermeldung ausgibt.Controller unit (1) according to Claim 1 or 2 , characterized in that upon detection an erroneous assignment the Access Check Module (4) outputs at least one error message. Controllereinheit (1) nach zumindest einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Zugriffsprüfmodul (4) zumindest ein Multiplikatormodul (41) zum Multiplizieren der jeweiligen Primzahl mit einem dieser Primzahl zugeordneten Registerwert und zur Addition der ganzen Zahl (Bi) und/oder zumindest ein Divisionsmodul (42) zum Dividieren des jeweiligen Bildregisterwerts umfasst.Controller unit (1) according to at least one of the preceding claims, characterized in that the access checking module (4) at least one multiplier module (41) for multiplying the respective prime number with a register value assigned to this prime number and for addition of the integer (Bi) and / or at least a division module (42) for dividing the respective image register value. Controllereinheit (1) nach zumindest einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Zugriffsprüfmodul (4) dazu ausgestaltet ist, einen Zugriff einer Ausführungsfunktion (FKT), welche in einer Zielspeicherklasse (21) hinterlegt ist, vorgebbar auf zumindest eine andere Zielspeicherklasse (21) zuzulassen.Controller unit (1) according to at least one of the preceding claims, characterized in that the access checking module (4) is designed to permit access by an execution function (FKT) which is stored in a destination storage class (21) to be predefined to at least one other destination storage class (21 ). Controllereinheit (1) nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass eine Ausführungsfunktion (FKT) einer Zielspeicherklasse (21) Zugriff auf eine vorgebbare Auswahl aus allen oder einem Spektrum der vorhandenen Zielspeicherklassen (21) hat.Controller unit (1) according to the preceding claim, characterized in that an execution function (FKT) of a target storage class (21) has access to a predefinable selection from all or a spectrum of the existing target storage classes (21). Controllereinheit (1) nach zumindest einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein und dieselbe Ausführungsfunktion (FKT) identisch in zumindest zwei Zielspeicherklassen (21) hinterlegt ist und/oder von ein und derselben Ausführungsfunktion (FKT) auf zumindest zwei Zielspeicherklassen (21) zugegriffen werden kann.Controller unit (1) according to at least one of the preceding claims, characterized in that one and the same execution function (FKT) is stored identically in at least two target memory classes (21) and / or from one and the same execution function (FKT) on at least two target memory classes (21). can be accessed. Verfahren zur rückwirkungsfreien Zugriffs- und/oder Datenflusssteuerung zwischen zumindest einer Speichereinheit (2) und zumindest einer Verarbeitungseinheit (3) (CPU), unter Verwendung zumindest einer Speichereinheit (2) sowie zumindest einer Verarbeitungseinheit (3), wobei die Speichereinheit (2) zumindest zwei Zielspeicherklassen (21) umfasst, in welchen jeweils zumindest eine Ausführungsfunktion (FKT) abgelegt und/oder ausführbar ist und jede Ausführungsfunktion (FKT) eindeutig insofern zugeordnet ist, dass jede Ausführungsfunktion (FKT) zumindest einer Zielspeicherklasse (21) zugeordnet ist, wobei zur Zugriffs- und/oder Datenflusssteuerung in einem Datentransferkanal zumindest ein Zugriffsprüfmodul (4) zwischen der Speichereinheit (2) und der Verarbeitungseinheit (3) zwischengeschaltet ist, dadurch gekennzeichnet, dass jeder Zielspeicherklasse (21) eineindeutig genau eine positive Primzahl (Ai; i>=0) zugeordnet ist, wobei das Zugriffsprüfmodul (4) dazu eingerichtet und dazu vorgesehen ist, Registerwerte (xi; i>=0) von Registerzellen (R) der Verarbeitungseinheit (3) (CPU) mit der der Zielspeicherklasse (21) eineindeutig zugeordneten Primzahl (Ai) gemäß einer Kodierungsvorschrift xci = Ai * xi + Bi
Figure DE102013113402B4_0007
zu multiplizieren, und wobei xci ein Bildregisterwert ist und nur in der jeweiligen Zielspeicherklasse (21) entsprechend der jeweiligen Primzahl (Ai) abgelegt wird und Bi eine ganze Zahl größer oder gleich Null ist, wobei beim Auslesen eines Bildregisterwerts (xci) aus den Zielspeicherklassen (21) dieser Bildregisterwert durch die jedem Bildregisterwert eindeutig zugeordnete Primzahl (Ai) geteilt wird, wobei der entstandene Registerwert nur in seine ihm zugeordnete Registerzelle eingelesen wird, so dass das Zugriffsprüfmodul (4) erkennt, wenn der Registerwert, eindeutig zugeordnet einer Registerzelle, in eine andere Registerzelle, eindeutig einem anderen Registerwert zugeordnet, abgelegt wird und/oder das Zugriffsprüfmodul (4) ein Ablegen dieses Registerwerts in der anderen Registerzelle verhindert.
Method for feedback-free access and / or data flow control between at least one memory unit (2) and at least one processing unit (CPU), using at least one memory unit (2) and at least one processing unit (3), the memory unit (2) at least two target memory classes (21), in each of which at least one execution function (FKT) is stored and / or executable and each execution function (FKT) is uniquely associated in that each execution function (FKT) is associated with at least one target storage class (21), wherein the Access control and / or data flow control in a data transfer channel at least one access checking module (4) between the memory unit (2) and the processing unit (3) is interposed, characterized in that each target storage class (21) one and only one positive prime number (Ai; i> = 0), the access checking module (4) being set up and daz u, register values (xi; i> = 0) of register cells (R) of the processing unit (3) (CPU) with the target memory class (21) a unique associated prime number (Ai) according to a coding rule xci = Ai * xi + Bi
Figure DE102013113402B4_0007
xci is an image register value and is stored only in the respective target memory class (21) corresponding to the respective prime number (Ai) and Bi is an integer greater than or equal to zero, whereby when reading an image register value (xci) from the target memory classes (Ai) 21) this image register value is divided by the prime number (Ai) uniquely assigned to each image register value, the resulting register value being read only into its associated register cell so that the access test module (4) recognizes when the register value, uniquely assigned to a register cell, into one another register cell, uniquely assigned to another register value, is stored and / or the access checking module (4) prevents the register value from being stored in the other register cell.
DE102013113402.5A 2013-12-03 2013-12-03 Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit Active DE102013113402B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102013113402.5A DE102013113402B4 (en) 2013-12-03 2013-12-03 Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013113402.5A DE102013113402B4 (en) 2013-12-03 2013-12-03 Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit

Publications (2)

Publication Number Publication Date
DE102013113402A1 DE102013113402A1 (en) 2015-07-09
DE102013113402B4 true DE102013113402B4 (en) 2019-06-06

Family

ID=53443086

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013113402.5A Active DE102013113402B4 (en) 2013-12-03 2013-12-03 Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit

Country Status (1)

Country Link
DE (1) DE102013113402B4 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ISO 26262. In: Wikipedia. Bearbeitungsstand: 15.11.2013. URL: https://de.wikipedia.org/w/index.php?title=ISO_26262&oldid=124493592 [abgerufen am: 11.12.2018] *
Mottok, J.; Schiller, F.; Zeitler, T.: Safely Embedded Software for State Machines in Automotive Applications. In: Embedded Systems – Theory and Design Methodology. Intech, März 2012. S. 31–50.URL: www.intechopen.com/books/embedded-systems-theory-and-design-methodology *
Mottok, J.; Schiller, F; Zeitler, T.: Safely embedded software for state machines in automotive applications in: Embedded Systems - Theory and Design Methodology. Intech, März 2012, S.31 - 50

Also Published As

Publication number Publication date
DE102013113402A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
DE102010037457A1 (en) A method of data processing for providing a value for determining whether an error has occurred during execution of a program, methods of data processing for determining whether an error has occurred during execution of a program, method for generating program code, data processing arrangements for providing a program Value for determining whether an error has occurred during execution of a program, data processing arrangements for determining whether an error has occurred during execution of a program, and data processing arrangements for generating program code
DE2456709C2 (en) Circuit arrangement for error detection and correction
DE102013213314A1 (en) Deposit at least one computable integrity measure in a memory area of a memory
DE2357654C2 (en) Associative memory
DE102016223341A1 (en) Integrated circuit with hardware check unit for checking selected memory accesses
DE102013113402B4 (en) Controller unit and method for feedback-free access and / or data flow control between a memory unit and a processing unit
DE102017209856A1 (en) Arithmetic unit and operating method for this
DE102014114157B4 (en) A method of data processing for determining whether an error has occurred during execution of a program and data processing arrangements for generating program code
DE102007040721A1 (en) Data processing arrangement comprises coding device, which is adjusted to assign codeword to data item to be stored in memory element based on signal information
DE1184122B (en) Adding device
WO2022042950A1 (en) Device for capturing and processing a measurement value of a sensor in a motor vehicle
DE102021003609A1 (en) Method and device for the documentation of operating data and their application for a high-voltage battery system
DE102015213300A1 (en) Method and device for generating a device-specific identifier and devices comprising a personalized programmable circuit module
DE10340236B4 (en) Arrangement with a data processing device and a memory
DE102017124805B4 (en) MEMORY ARRANGEMENT AND METHOD FOR INTERMEDIATELY STORING MEMORY CONTENT
DE102014208379A1 (en) Method and device for determining a function value of a data-based function model inverted relative to an input variable
DE102018200807A1 (en) Method and server device for providing a digital vehicle companion book for a motor vehicle
DE102010042574A1 (en) Method for operating microcontroller of automobile, involves interrupting specific functions by mechanism such that functions are executed without interference from execution of other functions
DE102022212057A1 (en) Method for analyzing functional paths for an embedded system, data processing device, computer program and computer-readable data carrier
DE102019203354A1 (en) Data structure for an embedded system, corresponding system and vehicle
DE102022212058A1 (en) Method for checking functional paths for an embedded system, data processing device, computer program and computer-readable data carrier
DE102022208087A1 (en) Method for checking processing of user data
DE102022209129A1 (en) Model creation device and model creation method for at least two sensor devices mounted on and/or in a vehicle
DE102013112020A1 (en) Method and device for detecting bit errors
DE102022105535A1 (en) Apparatus, method and system relating to data storage elements

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final