EP2984572A1 - Malware-proof data processing system - Google Patents

Malware-proof data processing system

Info

Publication number
EP2984572A1
EP2984572A1 EP14715865.3A EP14715865A EP2984572A1 EP 2984572 A1 EP2984572 A1 EP 2984572A1 EP 14715865 A EP14715865 A EP 14715865A EP 2984572 A1 EP2984572 A1 EP 2984572A1
Authority
EP
European Patent Office
Prior art keywords
data
processor
memory
access
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP14715865.3A
Other languages
German (de)
French (fr)
Inventor
Friedhelm Becker
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of EP2984572A1 publication Critical patent/EP2984572A1/en
Withdrawn legal-status Critical Current

Links

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to a data processing system having the features of the preamble of claim 1.
  • Electronic data processing systems are complex structures for solving data processing tasks. They are composed of subsystems whose interaction enables the task to be fulfilled. Important subsystems are: a) the instrumental components: hardware, software, firmware (microprogramming), orgware (organizational knowledge) and b) the application side components: tasks, users,
  • a control unit Underlying the architecture: a control unit, an arithmetic unit, a memory, an input unit and an output unit.
  • the central unit is the main memory and the main processor, which contains the control and calculator.
  • the main processor carries information from the
  • Main memory in its own registers and back via a bus system, which consists of a bidirectional instruction bus and a bidirectional operand bus.
  • bus system which consists of a bidirectional instruction bus and a bidirectional operand bus.
  • both buses carry information that is interpreted as instructions or operands depending on the bus considered.
  • the transported data are determined by their respective address.
  • Both buses usually have access to the same memory areas.
  • malware can execute unwanted and potentially harmful functions within the computer system in the form of computer programs by the user. Malware benefits from the
  • Hardware architecture commercial computer in that they come in the form of operands or modified instructions in the memory areas and from there via the instruction bus to the processors in which they cause their harmful effect.
  • This process has as its main disadvantage that it is the creations of the creators of
  • a data processing system comprises at least one
  • Main processor at least one permanent data storage and
  • At least one main processor is connected to at least one input / output hardware (interface), and wherein the at least one main processor communicates with the at least one
  • Main memory communicates via at least one instruction bus and via at least one operand bus and communicates bidirectionally separately with the at least one permanent data memory provided with at least one loading processor which communicates bidirectionally with at least one permanent software memory and at least one external software memory and which communicates with the at least one main memory via at least one instruction bus and at least one
  • Main processor communicates, wherein the communication between the at least one main processor and the at least one random access memory via the at least one instruction bus and the at least one
  • Operand bus takes place, the communication between the at least one loading processor and the at least one main memory via the at least one instruction bus and the at least one operand bus, both the communication between the at least one main processor and the at least one input / output hardware and the at least one permanent data memory as well as the communication between the at least one loading processor and the at least one external one
  • Software memory and the at least one permanent software storage are controlled by access attributes. Due to the presence of the main processor and the separate charging processor, the
  • the data in the at least one main memory are categorized according to data categories, wherein in
  • main processor access attributes for the at least one main processor and load processor access attributes for the at least one loading processor, and wherein data of the same data categories are the same
  • Main processor and load processor may be different to the same data category.
  • the following data categories are preferably provided: address data, instructions, function-internal data, target data of the at least one
  • Main processors main processor target data
  • target data of the at least one loading processor loading processor target data
  • the at least one main processor has no access to the at least one permanent software memory, access to the at least one
  • Charge processor target data of the at least one charging processor has.
  • the at least one loading processor has access to the at least one external software memory and that this is limited to the access mode "read” and has access to the at least one permanent software memory and this in the access modes
  • Main processor target data of the at least one main processor.
  • the data processing system comprises a media processor which communicates via at least one instruction bus and at least one operand bus in each case bidirectionally with at least one separate main memory for media data, wherein the media processor has its own has permanent media data storage with which it communicates bidirectionally, and where the Media processor with its own input / output hardware (interface) is connected.
  • the bidirectional access of the main processor to the media data via the operand bus enables the computer system to securely execute software made available to media.
  • the data processing system is applicable.
  • the main processors can be used independently of one another, each main processor having a memory for main processor target data which is permanently assigned to it
  • Arrangement can be realized, for example, a computer system with "red-black separation".
  • main processors are used independently, all the main processors having common memory for main processor target data with access attributes "Write” and "Read".
  • the shared memory for common target data for controlled data transfer does not exist here and is replaced by a shared memory for all main processor target data.
  • an external reading device for reading software is provided in the main memory and that the reading device is controlled by the at least one charging processor, wherein the at least one charging processor with the external reading device for software forms an interface that physically so is set up that conventional
  • Data carriers for data carriers can not be operated so that inadvertent loading of software is prevented.
  • An external reader may be desirable, for example, in organizations where the same computing equipment is required in terms of software.
  • Charger is connected to the computer system.
  • the data categories may be preferable for the data categories to have functionally internal data (13) and
  • Loading processor target data (15) are assigned to the same physical memory.
  • a computer program implementing programs executing on the von Neumann architecture or the Harvard architecture is preferably provided, the conversion taking place in such a way that the data categories are created and generated as data segments which are generated by the
  • Data processing systems according to the invention can be processed.
  • FIG. 1 shows a block diagram of a Von Neumann hardware architecture
  • Fig. 2 is a block diagram of an inventive arrangement with
  • 3 is a block diagram of the inventive arrangement with additional media processor
  • Fig. 4 is a block diagram of an inventive arrangement with
  • Fig. 5 is a block diagram of an inventive arrangement with
  • Fig. 6 is a block diagram of an arrangement according to the invention with two independent main processors, each main processor communicating with dedicated main memory destination data memory and both
  • FIG. 7 shows a block diagram of an arrangement according to the invention with two independent main processors, wherein the
  • Major processors have shared memory for main processor target data.
  • Fig. 1 shows the prior art in the form of a block diagram.
  • the illustrated von Neumann hardware architecture consists of a
  • Main processor 1 a random access memory 2, a permanent one
  • Data memory 3 an input / output hardware 4 and a bus system 50.
  • bus system 50 a distinction is made between instruction bus 60, which transmits the instructions and operand bus 70, which transmits the operands.
  • the main processor 1 communicates bidirectionally with the main memory 2 via the bus system 50. Furthermore, the main processor 1 has bidirectional access to the permanent data memory 3.
  • Fig. 2 is an embodiment of the invention
  • the loading processor 8 communicates bidirectionally with its own permanent memory 9 for storing software and its own external software memory 10. Both processors are connected via a respective bus system 50, 51 in conjunction with a main memory 2.
  • the bus systems 50, 51 each comprise an instruction bus 60, 61 and a
  • Operand bus 70, 71 which the respective processor 1, 8 with the
  • Memory 2 connect.
  • the memory 2 is divided into five physical memory units. In these are the following
  • the main processor 1 and the loading processor 8 have different access rights to the working storage units according to the data categories.
  • the bus structure 50, 51 becomes closer with the definitions of the data categories and the access rights
  • the first category of data is that of instructions 11.
  • Instructions 11 are the smallest pieces of software to be executed by the processors. They are read-only accessible to all instructed processors via their instruction bus 60, 61. Only the loading processor 8 may access instructions 11 via its operand bus 71, which is a prerequisite for loading software. Instructions 11 are generated and loaded as part of the generation of software under quality and configuration control.
  • Address data 12 serve to associate values with the addresses of the associated software functions. They are read-only accessible to all processors 1 dependent thereon via their operand bus 70. Only the loading processor 8 may write access to address data 12 via its operand bus 71, which is a prerequisite for loading software. Address data 12 are used in the generation of software under quality and
  • Another data category is the function-internal data 13.
  • Functional data 13 are part of the software that controls the Functional sequence serve. They are accessible to read and write access for all processors 1, 8 dependent thereon via their operand bus 70, 71.
  • In-house data 13 are generated and loaded as part of the generation of software under quality and configuration control.
  • Another category is the target data for the main processor 14. This data is not part of the program function, but program functions affect that data. They are for the main processor 1 and additional
  • Processors write and read accessible via their operand bus 70.
  • the loading processor 8 has no access - neither writing nor reading - to this target data 14. This prevents target data 14 can get in this way in memory areas, the instructions 11 or
  • Address data 12 are reserved.
  • main memory 2 Furthermore, the main memory 2, the category target data for the
  • Target data for the load processor 15 is data that has software functions that do not belong to the software function. They are writable and read accessible only for the loading processor 8 via its operand bus 71. The main processor 1 has no access to this target data 15.
  • the loading processor 8 is hierarchically subordinate to the main processor 1. Its instruction bus 61 and operand bus 71 are of those of the main processor 1.
  • Main processors 60, 70 separate and independent. He has to fulfill the following tasks:
  • the system environment determines the performance of the loading processor 8. For systems with a low number of software loads, eg. B.
  • the load processor 8 may be an external component that is connected to the system only for this purpose.
  • the main processor 1 fulfills all other intended tasks of the
  • the main processor 1 is not in the intended transfer of
  • Main processor 1 has access to this data.
  • the loading processor 8 has no access to this data, neither writing nor reading.
  • non-volatile memory for software 9 are data of the categories
  • the loading processor 8 can access this data in writing and reading. No other processor is allowed to access this memory. Access to this Memory 9 is exclusively related to installing and initializing software.
  • the permanent software memory 9 is described solely for the purpose of software installation.
  • FIG. 3 shows the main component
  • the structure has a permanent media data memory 16, a media data memory 17, a media data bus system with instruction and
  • Operand bus 62, 72, a dedicated input / output hardware 40 and a media processor 18 for the processing of data and for the execution of software that are made available via media.
  • the media processor 18 communicates bi-directionally with the input / output hardware 40 and has no access to the other present memories 2, 3, 9.
  • Media data memory 17 has access to only the media processor associated media processor 18 and the main processor 1. Furthermore, only the media associated with the permanent media data store 16
  • the computer system is thus able by means of a separate media processor 18 to securely execute the software made available by the media.
  • FIG. 4 essentially shows the block diagram from FIG. 2, wherein the external software memory has been replaced by an external software device 19.
  • the interface to the external software carrier reader 19 is physically arranged so that conventional disk readers can not be operated thereby preventing inadvertent software loading.
  • Applications of this invention are, for example, in embedded systems and in organizations where the same
  • FIG. 5 shows next to a main processor 1, which communicates bidirectionally with an input / output hardware 4 and a permanent data memory 3, a memory 2, via a
  • Bus system 50 is in communication with the main processor 1 and an external charger 20 for loading software.
  • the bus system 50 includes for communication between the main processor 1 and memory 2 a Instruction bus 60 and an operand bus 70.
  • the memory 2 is divided into four physical memory units. The following data categories are stored in these: instructions 11, address data 12,
  • the main processor 1 and the external charger 20 have different access rights to the data according to the data categories
  • the external charger 20 exclusively accesses the instructions 11, address data 12 and function-internal data 13
  • the main processor 1 reads the instructions 11 via the instruction bus 60 and the address data 12 of the main memory 2 via the operand bus 70. Furthermore, the main processor 1 can write to and read the function-internal data 13 and the target data of the
  • Main processor 14 of the working memory 2 access.
  • the external charger 20 represents a separate processor for loading software, wherein the computer system thus equipped does not have its own loading processor and its associated memory. Thus, it does not have the ability to read software directly from external software storage, or to configure software during operation.
  • an external device is required in this embodiment, which physically via a corresponding
  • Exemplary embodiments are, for example, systems whose software is not configured during operation.
  • FIG. 6 shows a first and a second main processor 1, 21, which function independently of each other and which each have a fixed set of associated functional elements.
  • the respective main processor 1, 21 is bidirectionally connected to the respective input / output hardware 4, 22 and the respective permanent data memory 3, 23. Furthermore, each main processor 1, 21 has a
  • Bus system consisting of instruction and operand bus 60, 63, 70, 73 via which it communicates with the respective main memory 2, 24.
  • the respective working memory 2, 24 is physically separated from each other in four
  • the loading processor 8 which communicates bidirectionally with an external software memory 10 and a permanent software memory 9, has a bus system consisting of an instruction bus and an operand bus 61, 71. There is also additional memory for the target data of the
  • the respective main processor 1, 21 accesses via the respective instruction bus 60, 63 to the instructions 11, 25 and via the operand bus 70, 73 to the address data 12, 26 of the respective random access memory 2, 24 to read. Both read and write the access of the respective main processor 1, 21 takes place on the function-internal data 13, 27 and the target data of the respective main processor 14, 28 in the respective random access memory 2, 24. Bidiretational grab both main processors 1, 21 via their respective operand bus 70, 73 to the memory for transfer data 29 too. On the instructions 11 of the first main processor 1 and the instructions 25 of the second
  • Main processor 21 is writing from the loading processor 8 via the
  • Operand bus 71 accessed.
  • Main processors 1 are read by the instruction bus 61 of the loading processor 8. Via the operand bus 71 of the loading processor 8, the address data 12, 26 and the function-internal data 13, 27 of the respective main processor 1, 21 and target data of the loading processor 15 are bidirectionally accessed.
  • This two-processor version allows, for example, the secure transfer of data between networks with different
  • the computer systems usually have access to both networks, namely software that has been specially structured and extensively tested for this purpose in order to prevent unintentional or unauthorized data transfers. The same problem occurs in the
  • FIG. 7 shows a further embodiment whose block diagram in FIG.
  • Main memory for target data of the main processors 30 is present, to which both main processors 1, 21 bidirectionally access via their respective operand bus 70, 73.
  • a typical operand bus 70, 73 In this embodiment, a typical
  • Target data for the load processor within the in-function data In this case, the data category target data of the loading processor can be dispensed with.
  • Data processing system is applicable in principle to all sizes, from mainframes and multiprocessor systems down to mobile devices. It is understood that the inventive
  • Data processing system is not limited to the described computer components and number of processors. Depending on the given

Abstract

The invention relates to a data processing system, wherein there is a strict separation of processor tasks and data categories, wherein processor tasks are separated into software loading and initialization (loading processor (8)) and file editing (main processor (1)) and data categories are separated into address data (12), instructions (11), function-internal data (13), target data of the main processor (14), and target data of the loading processor (15). Thus, there is protection against malware regardless of the transfer medium or the type of malware, including against future malware, and without a loss of performance of the computer system.

Description

Schadsoftware-sicheres Datenverarbeitungssystem  Malware secure data processing system
Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem mit den Merkmalen des Oberbegriffs des Anspruchs 1. The present invention relates to a data processing system having the features of the preamble of claim 1.
Elektronische Datenverarbeitungssysteme sind komplexe Gebilde zur Lösung von Datenverarbeitungsaufgaben. Sie setzen sich aus Teilsystemen zusammen, deren Zusammenwirken erst die Aufgabenerfüllung ermöglicht. Wichtige Teilsysteme sind : a) Die instrumentalen Komponenten : Hardware, Software, Firmware (Mikroprogrammierung), Orgware (Organisationswissen) und b) die Komponenten der Anwendungsseite : Aufgaben, Benutzer, Electronic data processing systems are complex structures for solving data processing tasks. They are composed of subsystems whose interaction enables the task to be fulfilled. Important subsystems are: a) the instrumental components: hardware, software, firmware (microprogramming), orgware (organizational knowledge) and b) the application side components: tasks, users,
Bedienung (Operating) und Systempflege. Operation (operating) and system maintenance.
Herkömmliche Rechnersysteme basieren auf dem Prinzip der Von-Neumann- Architektur. Conventional computer systems are based on the Von Neumann architecture principle.
Die Hauptidee der von-Neumann-Hardwarearchitektur ist, dass ein The main idea of von Neumann hardware architecture is that one
gemeinsamer Speicher für Software und Daten vorliegt, wodurch sich die Software selbst verändern kann. Fünf Funktionseinheiten liegen der there is shared memory for software and data, which allows the software to change itself. Five functional units are the
Architektur zugrunde: ein Steuerwerk, ein Rechenwerk, ein Speicher, ein Eingabewerk und ein Ausgabewerk. Die zentrale Einheit bilden dabei der Arbeitsspeicher und der Hauptprozessor, der das Steuer- und Rechenwerk beinhaltet. Der Hauptprozessor transportiert Informationen aus dem Underlying the architecture: a control unit, an arithmetic unit, a memory, an input unit and an output unit. The central unit is the main memory and the main processor, which contains the control and calculator. The main processor carries information from the
Arbeitsspeicher in die eigenen Register und zurück über ein Bussystem, welches aus einem bidirektionalem Instruktionsbus und einem bidirektionalen Operandenbus besteht. Tatsächlich transportieren beide Busse Informationen die je nach betrachtetem Bus als Instruktionen bzw. Operanden interpretiert werden. Bestimmt werden die transportierten Daten jedoch durch ihre jeweilige Adresse. Beide Busse haben üblicherweise Zugriff auf dieselben Arbeitsspeicherbereiche. Ferner sind bei herkömmlichen Rechnern Main memory in its own registers and back via a bus system, which consists of a bidirectional instruction bus and a bidirectional operand bus. In fact, both buses carry information that is interpreted as instructions or operands depending on the bus considered. However, the transported data are determined by their respective address. Both buses usually have access to the same memory areas. Furthermore, in conventional computers
Instruktionen und Operanden ohne wechselseitige Abtrennung abgelegt, so dass Operanden wie Instruktionen über jeden der beiden Busse transportiert werden können. Stored instructions and operands without mutual separation, so that operands such as instructions can be transported on each of the two buses.
In der heutigen Zeit, in der die Benutzung von Computern allgegenwertig den menschlichen Alltag beherrscht, ist die Gewährleistung von Sicherheit bei der Benutzung von Rechnersystemen ein essentieller Gesichtspunkt. In this day and age, when the use of computers dominates everyday life in an omnipresent way, ensuring security in the use of computer systems is an essential consideration.
Sogenannte Schadsoftware kann in Form von Computerprogrammen vom Benutzer unerwünschte und gegebenenfalls schädliche Funktionen innerhalb des Rechnersystems ausführen. Schadsoftware profitiert von der So-called malware can execute unwanted and potentially harmful functions within the computer system in the form of computer programs by the user. Malware benefits from the
Hardwarearchitektur handelsüblicher Rechner insofern, dass sie in Gestalt von Operanden oder modifizierten Instruktionen in die Arbeitsspeicherbereiche und von dort über den Instruktionsbus zu den Prozessoren gelangen, in denen sie ihre schädliche Auswirkung verursachen. Hardware architecture commercial computer in that they come in the form of operands or modified instructions in the memory areas and from there via the instruction bus to the processors in which they cause their harmful effect.
Nach dem Stand der Technik erfolgt der Schutz von Rechnersystemen vor Schadsoftware durch den Einsatz von Abwehrsoftware, die solche According to the state of the art, the protection of computer systems from malicious software takes place through the use of defensive software, such
Schadsoftware erkennt und in geeigneter Weise behandelt. Dieses Verfahren hat als wesentlichen Nachteil, dass es den Kreationen der Ersteller von Detects malware and handles it appropriately. This process has as its main disadvantage that it is the creations of the creators of
Schadsoftware zeitlich stets hinterher hinkt, da neue Schadsoftware erst erkannt werden muss um ein Gegenmittel zu programmieren, welches schließlich installiert und integriert wird . Ferner benötigt diese Abwehrsoftware Betriebsmittel, die für den ursprünglich vorgesehenen Einsatz der Rechner nicht mehr zur Verfügung stehen. Malware always lags behind in time, since new malicious software must first be recognized in order to program an antidote, which will eventually be installed and integrated. Furthermore, this defensive software requires resources that are no longer available for the originally intended use of the computer.
Aus der Schrift DE 199 50 255 B4 ist eine Optimierung von Mikroprozessoren bekannt, die es erlaubt, den Durchsatz der CPU zu verbessern, indem die Effizienz der Nutzung der Busse verbessert wird. Dabei werden Daten und Instruktionen sowohl beim Zugriff als auch bei der Speicherung getrennt behandelt. Eine Hardware gewährleistete Sicherheit vor Schadsoftware ist nicht offenbart. From document DE 199 50 255 B4, an optimization of microprocessors is known, which makes it possible to improve the throughput of the CPU by improving the efficiency of the use of the buses. Data and instructions are handled separately during access as well as during storage. Hardware-assured security against malware is not disclosed.
Die US 7,000,092 B2 offenbart ein Referenzsystem für das Zusammenwirken mehrerer Prozessoren. Auch hier ist eine Hardware gewährleistete Sicherheit vor Schadsoftware nicht vorgesehen. US 7,000,092 B2 discloses a reference system for cooperation several processors. Again, a hardware-guaranteed security against malicious software is not provided.
Aus der Schrift US 8,117,642 B2 ist eine Hardware bekannt, die zwischen einem privilegierten und als sicher angesehenen Modus und einem nicht privilegierten, potentiell unsicheren Modus unterscheidet, wobei Instruktionen auf der Ebene von Routinen diesen Modi eindeutig und fest zugeordnet sind . Ein absoluter Schutz von schutzwürdigen Daten, wenn der Prozessor im potentiell unsicheren Modus läuft, ist jedoch nicht gegeben. From document US 8,117,642 B2 a hardware is known which distinguishes between a privileged and secure mode and a non-privileged, potentially unsafe mode, with instructions at the level of routines uniquely and firmly associated with these modes. However, there is no absolute protection for sensitive data when the processor is in potentially unsafe mode.
Es ist eine Aufgabe der vorliegenden Erfindung ein Datenverarbeitungssystem so bereitzustellen, dass die zugrunde gelegte Hardwarearchitektur vor It is an object of the present invention to provide a data processing system such that the underlying hardware architecture is provided
Auswirkungen von Schadsoftware schützt. Impact of malicious software protects.
Diese Aufgabe wird von einem Datenverarbeitungssystem mit den Merkmalen des Anspruchs 1 gelöst. This object is achieved by a data processing system having the features of claim 1.
Danach ist ein Datenverarbeitungssystem aufweisend wenigstens einen Thereafter, a data processing system comprises at least one
Hauptprozessor, wenigstens einen permanenten Datenspeicher und Main processor, at least one permanent data storage and
wenigstens einen Arbeitsspeicher, wobei der wenigstens eine Hauptprozessor mit wenigstens einer Ein-/Ausgabe-Hardware (Interface) verbunden ist, und wobei der wenigstens eine Hauptprozessor mit dem wenigstens einen at least one random access memory, wherein the at least one main processor is connected to at least one input / output hardware (interface), and wherein the at least one main processor communicates with the at least one
Arbeitsspeicher über wenigstens einen Instruktionsbus und über wenigstens einen Operandenbus kommuniziert und getrennt davon bidirektional mit dem wenigstens einen permanenten Datenspeicher kommuniziert, vorgesehen mit wenigstens einem Ladeprozessor, der bidirektional mit wenigstens einem permanenten Software-Speicher und wenigstens einem externen Software- Speicher kommuniziert und der mit dem wenigstens einen Arbeitsspeicher über wenigstens einen Instruktionsbus und über wenigstens einen Main memory communicates via at least one instruction bus and via at least one operand bus and communicates bidirectionally separately with the at least one permanent data memory provided with at least one loading processor which communicates bidirectionally with at least one permanent software memory and at least one external software memory and which communicates with the at least one main memory via at least one instruction bus and at least one
Operandenbus getrennt und unabhängig von dem wenigstens einen Operand bus separated and independent of the at least one
Hauptprozessor kommuniziert, wobei die Kommunikation zwischen dem wenigstens einen Hauptprozessor und dem wenigstens einen Arbeitsspeicher über den wenigstens einen Instruktionsbus und den wenigstens einen Main processor communicates, wherein the communication between the at least one main processor and the at least one random access memory via the at least one instruction bus and the at least one
Operandenbus erfolgt, die Kommunikation zwischen dem wenigstens einen Ladeprozessor und dem wenigstens einen Arbeitsspeicher über den wenigstens einen Instruktionsbus und den wenigstens einen Operandenbus erfolgt, sowohl die Kommunikation zwischen dem wenigstens einem Hauptprozessor und der wenigstens einen Ein-/Ausgabe-Hardware sowie dem wenigstens einen permanenten Datenspeicher als auch die Kommunikation zwischen dem wenigstens einen Ladeprozessor und dem wenigstens einen externen Operand bus takes place, the communication between the at least one loading processor and the at least one main memory via the at least one instruction bus and the at least one operand bus, both the communication between the at least one main processor and the at least one input / output hardware and the at least one permanent data memory as well as the communication between the at least one loading processor and the at least one external one
Software-Speicher sowie dem wenigstens einen permanenten Software- Speicher über Zugriffsattribute kontrolliert sind. Durch das Vorhandensein des Hauptprozessors und des davon getrennten Ladeprozessors werden die Software memory and the at least one permanent software storage are controlled by access attributes. Due to the presence of the main processor and the separate charging processor, the
Prozessoraufgaben strikt getrennt. Processor tasks strictly separated.
Dabei ist es bevorzugt vorgesehen, dass die Daten in dem wenigstens einen Arbeitsspeicher nach Datenkategorien kategorisiert sind, wobei in It is preferably provided that the data in the at least one main memory are categorized according to data categories, wherein in
Abhängigkeit von den Kategorien unterschiedliche Zugriffsattribute definiert sind, nämlich Hauptprozessor-Zugriffsattribute für den wenigstens einen Hauptprozessor und Ladeprozessor-Zugriffsattribute für den wenigstens einen Ladeprozessor, und wobei Daten gleicher Datenkategorien gleiche Depending on the categories different access attributes are defined, namely main processor access attributes for the at least one main processor and load processor access attributes for the at least one loading processor, and wherein data of the same data categories are the same
Hauptprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Hauptprozessor und gleiche Ladeprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Ladeprozessor aufweisen . Somit wird die Main processor access attributes for access by the at least one main processor and the same load processor access attributes for access by the at least one loading processor. Thus, the
Trennung der Prozessoraufgaben auf der Ebene der Daten weitergeführt, in dem bestimmte Datenkategorien den unterschiedlichen Prozessoraufgaben mit Zugriffsattributen zugeordnet werden, wobei die Zugriffsattribute von Separation of the processor tasks at the level of the data continued, in which certain data categories are assigned to the different processor tasks with access attributes, the access attributes of
Hauptprozessor und Ladeprozessor auf die selbe Datenkategorie verschieden sein können. Main processor and load processor may be different to the same data category.
Dabei ist es vorteilhaft, wenn für jede Datenkategorie wenigstens ein separater Arbeitsspeicher vorgesehen ist. Die Separation wird somit auch physisch vorgenommen, was die strikte Trennung weiter unterstützt. It is advantageous if at least one separate main memory is provided for each data category. The separation is thus also made physically, which further supports the strict separation.
Vorzugsweise sind folgende Datenkategorien vorgesehen : Adressdaten, Instruktionen, funktionsinterne Daten, Zieldaten des wenigstens einen The following data categories are preferably provided: address data, instructions, function-internal data, target data of the at least one
Hauptprozessors (Hauptprozessorzieldaten) und Zieldaten des wenigstens einen Ladeprozessors (Ladeprozessorzieldaten). Main processors (main processor target data) and target data of the at least one loading processor (loading processor target data).
Um das Rechnersystem vor Schadsoftware zu schützen ist die Trennung von Datenkategorien und Prozessoraufgaben durch Hauptprozessor-und To protect the computer system from malware is the separation of data categories and processor tasks by main processor and processor
Ladeprozessor-Zugriffsattribute kontrolliert. Dabei ist es bevorzugt, dass der wenigstens eine Hauptprozessor keinen Zugriff auf den wenigstens einen permanenten Software-Speicher hat, Zugriff auf den wenigstens einen Load processor access attributes checked. It is preferred that the at least one main processor has no access to the at least one permanent software memory, access to the at least one
Arbeitsspeicher für Instruktionen über den wenigstens einen Instruktionsbus hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für Adressdaten über den wenigstens einen Operandenbus hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, Zugriff auf die funktionsinternen Daten über den wenigstens einen Has memory for instructions on the at least one instruction bus and this is limited to the type of access "access", has access to the at least one memory for address data on the at least one operand bus and this is limited to the type of access "access" access to the function-internal data about the at least one
Operandenbus hat und dieser in den Zugriffsarten„Schreiben" und/oder „Lesen" erfolgt, und Zugriff auf die Hauptprozessorzieldaten über den wenigstens einen Operandenbus hat und dieser in den Zugriffsarten Has operand bus and this is done in the access modes "Write" and / or "Read", and access to the main processor target data on the at least one operand bus and this in the access types
„Schreiben" und/oder„Lesen" erfolgt, und keinen Zugriff auf die "Write" and / or "Read" is done, and no access to the
Ladeprozessorzieldaten des wenigstens einen Ladeprozessors hat. Charge processor target data of the at least one charging processor has.
Weiterhin ist es bevorzugt, dass der wenigstens eine Ladeprozessor Zugriff auf den wenigstens einen externen Software-Speicher hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, und Zugriff auf den wenigstens einen permanenten Software-Speicher hat und dieser in den Zugriffsarten Furthermore, it is preferred that the at least one loading processor has access to the at least one external software memory and that this is limited to the access mode "read" and has access to the at least one permanent software memory and this in the access modes
„Schreiben" und/oder„Lesen" erfolgt, Zugriff auf den wenigstens einen "Write" and / or "Read" takes place, access to the at least one
Arbeitsspeicher für Instruktionen über den wenigstens einen Operandenbus hat und dieser auf die Zugriffsart„Schreiben" beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen über den wenigstens einen Instruktionsbus hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, Zugriff auf den wenigstens einen Arbeitsspeicher für die Has memory for instructions on the at least one operand bus and this is limited to the type of access "write" has access to the at least one memory for instructions on the at least one instruction bus and this is limited to the type of access "access" access to the at least one Memory for the
Ladeprozessorzieldaten, Adressdaten und funktionsinternen Daten über den wenigstens einen Operandenbus hat und dieser in den Zugriffsarten Ladeproktororzieldaten, address data and function-internal data on the at least one operand bus and this in the access types
„Schreiben" und/oder„Lesen" erfolgt, und keinen Zugriff auf die "Write" and / or "Read" is done, and no access to the
Hauptprozessorzieldaten des wenigstens einen Hauptprozessors hat. Main processor target data of the at least one main processor.
Um das Rechnersystem vor dem Einbringen von Schadsoftware durch Medien zu schützen ist es vorteilhaft vorgesehen, dass das Datenverarbeitungssystem einen Medienprozessor aufweist, der über wenigstens einen Instruktionsbus und wenigstens einen Operandenbus jeweils bidirektional mit wenigstens einem separaten Arbeitsspeicher für Mediendaten kommuniziert, wobei der Medienprozessor über einen eigenen permanenten Mediendatenspeicher verfügt mit dem er bidirektional kommuniziert, und wobei der Medienprozessor mit einer eigenen Ein-/Ausgabe-Hardware (Interface) verbunden ist. Durch den bidirektionalen Zugriff des Hauptprozessors über den Operandenbus auf die Mediendaten ist das Rechnersystem in der Lage von Medien verfügbar gemachte Software sicher auszuführen. In order to protect the computer system against the introduction of malware by media, it is advantageously provided that the data processing system comprises a media processor which communicates via at least one instruction bus and at least one operand bus in each case bidirectionally with at least one separate main memory for media data, wherein the media processor has its own has permanent media data storage with which it communicates bidirectionally, and where the Media processor with its own input / output hardware (interface) is connected. The bidirectional access of the main processor to the media data via the operand bus enables the computer system to securely execute software made available to media.
Unabhängig von der Größe des Rechnersystems ist das erfindungsgemäße Datenverarbeitungssystem anwendbar. Dabei ist es vorteilhaft, dass beim Vorhandensein von mehr als einem Hauptprozessor die Hauptprozessoren unabhängig voneinander einsetzbar sind, wobei jeder Hauptprozessor mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten Regardless of the size of the computer system, the data processing system according to the invention is applicable. In this case, it is advantageous that in the presence of more than one main processor, the main processors can be used independently of one another, each main processor having a memory for main processor target data which is permanently assigned to it
kommuniziert, auf den die jeweils andern Hauptprozessoren keinen Zugriff haben, und wobei alle Hauptprozessoren über einen zusätzlichen communicates to which the other main processors have no access, and wherein all the main processors have an additional
gemeinsamen Arbeitsspeicher für gemeinsame Zieldaten zur kontrollierten Datenübergabe zwischen den Hauptprozessoren verfügen. Durch diese shared memory for common target data for controlled data passing between the main processors. Through this
Anordnung kann zum Beispiel ein Rechnersystem mit„Rot-Schwarz-Trennung" realisiert werden. Arrangement can be realized, for example, a computer system with "red-black separation".
Es kann aber auch bevorzugt sein, dass beim Vorhandensein von mehr als einem Hauptprozessor, die Hauptprozessoren unabhängig voneinander eingesetzt werden, wobei alle Hauptprozessoren über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten mit den Zugriffsattributen „Schreiben" und„Lesen" verfügen. Der gemeinsame Arbeitsspeicher für gemeinsame Zieldaten zur kontrollierten Datenübergabe ist hierbei nicht vorhanden und wird durch einen gemeinsam genutzten Arbeitsspeicher für alle Hauptprozessorzieldaten ersetzt. However, it may also be preferred that in the presence of more than one main processor, the main processors are used independently, all the main processors having common memory for main processor target data with access attributes "Write" and "Read". The shared memory for common target data for controlled data transfer does not exist here and is replaced by a shared memory for all main processor target data.
Weiterhin ist es vorteilhaft vorgesehen, dass ein externes Lesegerät für das Lesen von Software in den Arbeitsspeicher vorgesehen ist und dass das Lesegerät von dem wenigstens einen Ladeprozessor gesteuert wird, wobei der wenigstens eine Ladeprozessor mit dem externen Lesegerät für Software eine Schnittstelle bildet, die physisch so eingerichtet ist, dass herkömmliche Furthermore, it is advantageously provided that an external reading device for reading software is provided in the main memory and that the reading device is controlled by the at least one charging processor, wherein the at least one charging processor with the external reading device for software forms an interface that physically so is set up that conventional
Lesegeräte für Datenträger damit nicht betrieben werden können, so dass ein unbeabsichtigtes Laden von Software verhindert wird. Ein externes Lesegerät kann zum Beispiel bei Organisationen, in denen gleiche Rechnerausstattung in Hinsicht auf Software gefordert ist, wünschenswert sein. Weiterhin ist es bevorzugt, dass der Ladeprozessor in einem externen Data carriers for data carriers can not be operated so that inadvertent loading of software is prevented. An external reader may be desirable, for example, in organizations where the same computing equipment is required in terms of software. Furthermore, it is preferred that the loading processor in an external
Ladegerät für das Laden von Software in den Arbeitsspeicher angeordnet ist. Diese Anordnung erlaubt das Übertragen von Software vom Ladegerät direkt auf den Arbeitsspeicher für Software nach dem Speicherdirektzugriffsverfahren (Direct Memory Access, DMA) oder ähnlichen Verfahren. Dies ist zum Beispiel vorteilhaft für Rechnersysteme mit geringer Anzahl von Charger for loading software is arranged in the main memory. This arrangement allows the transfer of software from the charger directly to the memory for Direct Memory Access (DMA) software or similar methods. This is advantageous, for example, for computer systems with a low number of
Softwareladevorgängen, bei denen nur zu diesem Zweck das externe Software loading operations in which only for this purpose, the external
Ladegerät mit dem Rechnersystem verbunden wird. Charger is connected to the computer system.
In dem erfindungsgemäßen Datenverarbeitungssystem kann es bevorzugt sein, dass die Datenkategorien funktionsinterne Daten (13) und In the data processing system according to the invention, it may be preferable for the data categories to have functionally internal data (13) and
Ladeprozessorzieldaten (15) dem selben physikalischen Arbeitsspeicher zugeordnet sind . Loading processor target data (15) are assigned to the same physical memory.
Es ist vorteilhafterweise ein Computerprogramm vorgesehen, das Ausgaben von Programmgenerierungswerkzeugen umsetzt, wobei die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von den erfindungsgemäßen Datenverarbeitungssystemen verarbeitbar sind . It is advantageously provided a computer program that implements outputs of program generation tools, wherein the implementation is such that the data categories created and generated as data segments that are processable by the data processing systems of the invention.
Weiterhin ist ein Computerprogramm, das auf der von-Neumann-Architektur oder der Harvard-Architektur ausführbare Programme umsetzt, bevorzugt vorgesehen, wobei die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von den Furthermore, a computer program implementing programs executing on the von Neumann architecture or the Harvard architecture is preferably provided, the conversion taking place in such a way that the data categories are created and generated as data segments which are generated by the
erfindungsgemäßen Datenverarbeitungssystemen verarbeitbar sind . Data processing systems according to the invention can be processed.
Bevorzugte Ausführungsformen der Erfindung werden nachfolgend anhand der Zeichnungen näher erläutert. In den Zeichnungen sind die gleichen Preferred embodiments of the invention are explained below with reference to the drawings. In the drawings are the same
Funktionselemente mit den gleichen Bezugszeichen versehen. Functional elements provided with the same reference numerals.
Es zeigen : Show it :
Fig. 1 : ein Blockschaltbild einer Von-Neumann-Hardwarearchitektur, 1 shows a block diagram of a Von Neumann hardware architecture,
Fig. 2 : ein Blockschaltbild einer erfindungsgemäßen Anordnung mit Fig. 2 is a block diagram of an inventive arrangement with
getrenntem internen Ladeprozessor, Fig. 3 : ein Blockschaltbild der erfindungsgemäßen Anordnung mit zusätzlichem Medienprozessor, separate internal charging processor, 3 is a block diagram of the inventive arrangement with additional media processor,
Fig. 4: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit Fig. 4 is a block diagram of an inventive arrangement with
externem Lesegerät für Software,  external reader for software,
Fig. 5 : ein Blockschaltbild einer erfindungsgemäßen Anordnung mit Fig. 5 is a block diagram of an inventive arrangement with
externem Ladegerät,  external charger,
Fig. 6: ein Blockschaltbild einer erfindungsgemäßen Anordnung mit zwei voneinander unabhängigen Hauptprozessoren, wobei jeder Hauptprozessor mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten kommuniziert und beide Fig. 6 is a block diagram of an arrangement according to the invention with two independent main processors, each main processor communicating with dedicated main memory destination data memory and both
Hauptprozessoren Daten über einen gemeinsamen  Main processors data on a common
Arbeitsspeicher austauschen, sowie  Replace memory as well
Fig. 7 : ein Blockschaltbild einer erfindungsgemäßen Anordnung mit zwei voneinander unabhängigen Hauptprozessoren, wobei die 7 shows a block diagram of an arrangement according to the invention with two independent main processors, wherein the
Hauptprozessoren über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten verfügen.  Major processors have shared memory for main processor target data.
Fig. 1 zeigt den Stand der Technik in Form eines Blockschaltbildes. Die dargestellte Von-Neumann-Hardwarearchitektur besteht aus einem Fig. 1 shows the prior art in the form of a block diagram. The illustrated von Neumann hardware architecture consists of a
Hauptprozessor 1, einem Arbeitsspeicher 2, einem permanenten Main processor 1, a random access memory 2, a permanent one
Datenspeicher 3, einer Ein-/Ausgabe-Hardware 4 und einem Bussystem 50. Bei dem Bussystem 50 wird unterschieden zwischen Instruktionsbus 60, der die Instruktionen übermittelt und Operandenbus 70, der die Operanden übermittelt. Der Hauptprozessor 1 kommuniziert mit dem Arbeitsspeicher 2 über das Bussystem 50 bidirektional . Weiterhin hat der Hauptprozessor 1 bidirektionalen Zugang zum permanenten Datenspeicher 3. Data memory 3, an input / output hardware 4 and a bus system 50. In the bus system 50, a distinction is made between instruction bus 60, which transmits the instructions and operand bus 70, which transmits the operands. The main processor 1 communicates bidirectionally with the main memory 2 via the bus system 50. Furthermore, the main processor 1 has bidirectional access to the permanent data memory 3.
In der Fig . 2 ist eine Ausführungsform des erfindungsgemäßen In the Fig. 2 is an embodiment of the invention
Datenverarbeitungssystems gezeigt. Neben einem Hauptprozessor 1, der bidirektional mit einer Ein-/Ausgabe-Hardware 4 und einem permanenten Datenspeicher 3 kommuniziert, liegt ein zweiter Prozessor, der Ladeprozessor 8 vor. Der Ladeprozessor 8 kommuniziert bidirektional mit einem eigenen permanenten Speicher 9 zum Speichern von Software und einem eigenen externen Software-Speicher 10. Beide Prozessoren stehen über jeweils ein Bussystem 50, 51 in Verbindung mit einem Arbeitsspeicher 2. Die Bussysteme 50, 51 umfassen jeweils einen Instruktionsbus 60, 61 und einen Data processing system shown. In addition to a main processor 1, which communicates bidirectionally with an input / output hardware 4 and a permanent data memory 3, there is a second processor, the loading processor 8. The loading processor 8 communicates bidirectionally with its own permanent memory 9 for storing software and its own external software memory 10. Both processors are connected via a respective bus system 50, 51 in conjunction with a main memory 2. The bus systems 50, 51 each comprise an instruction bus 60, 61 and a
Operandenbus 70, 71 die den jeweiligen Prozessor 1, 8 mit dem Operand bus 70, 71 which the respective processor 1, 8 with the
Arbeitsspeicher 2 verbinden. Der Arbeitsspeicher 2 ist in fünf physische Arbeitsspeichereinheiten aufgeteilt. In diesen werden folgende Memory 2 connect. The memory 2 is divided into five physical memory units. In these are the following
Datenkategorien gespeichert: Instruktionen 11, Adressdaten 12, Data categories stored: instructions 11, address data 12,
funktionsinterne Daten 13, Zieldaten für den Hauptprozessor 14 und Zieldaten für den Ladeprozessor 15. Der Hauptprozessor 1 und der Ladeprozessor 8 haben entsprechend den Datenkategorien unterschiedliche Zugriffsrechte auf die Arbeitsspeichereinheiten. Im Folgenden wird die Busstruktur 50, 51 mit den Definitionen der Datenkategorien und der Zugriffsrechte näher in-function data 13, destination data for the main processor 14 and destination data for the loading processor 15. The main processor 1 and the loading processor 8 have different access rights to the working storage units according to the data categories. In the following, the bus structure 50, 51 becomes closer with the definitions of the data categories and the access rights
beschrieben. described.
Die erste Datenkategorie ist die der Instruktionen 11. Instruktionen 11 sind die von den Prozessoren auszuführenden kleinsten Softwareteile. Sie sind für alle darauf angewiesenen Prozessoren über ihren Instruktionsbus 60, 61 ausschließlich lesend zugreifbar. Allein der Ladeprozessor 8 darf über seinen Operandenbus 71 schreibend auf Instruktionen 11 zugreifen, das ist eine Voraussetzung für das Laden von Software. Instruktionen 11 werden im Rahmen der Generierung von Software unter Qualitäts- und Konfigurations- Kontrolle erzeugt und geladen. The first category of data is that of instructions 11. Instructions 11 are the smallest pieces of software to be executed by the processors. They are read-only accessible to all instructed processors via their instruction bus 60, 61. Only the loading processor 8 may access instructions 11 via its operand bus 71, which is a prerequisite for loading software. Instructions 11 are generated and loaded as part of the generation of software under quality and configuration control.
Eine weitere Datenkategorie ist die der Adressdaten 12. Adressdaten 12 dienen dazu, Werte mit den Adressen der zugehörigen Software-Funktionen zu verknüpfen. Sie sind für alle darauf angewiesenen Prozessoren 1 über ihren Operandenbus 70 ausschließlich lesend zugreifbar. Allein der Ladeprozessor 8 darf über seinen Operandenbus 71 schreibend auf Adressdaten 12 zugreifen, das ist eine Voraussetzung für das Laden von Software. Adressdaten 12 werden im Rahmen der Generierung von Software unter Qualitäts- und Another data category is that of the address data 12. Address data 12 serve to associate values with the addresses of the associated software functions. They are read-only accessible to all processors 1 dependent thereon via their operand bus 70. Only the loading processor 8 may write access to address data 12 via its operand bus 71, which is a prerequisite for loading software. Address data 12 are used in the generation of software under quality and
Konfigurations-Kontrolle erzeugt und geladen. Configuration control generated and loaded.
Eine weitere Datenkategorie sind die funktionsinternen Daten 13. Another data category is the function-internal data 13.
Funktionsinterne Daten 13 sind Teil der Software, die dem kontrollierten Funktionsablauf dienen. Sie sind für alle darauf angewiesenen Prozessoren 1, 8 über ihren Operandenbus 70, 71 schreibend und lesend zugreifbar. Functional data 13 are part of the software that controls the Functional sequence serve. They are accessible to read and write access for all processors 1, 8 dependent thereon via their operand bus 70, 71.
Funktionsinterne Daten 13 werden im Rahmen der Generierung von Software unter Qualitäts- und Konfigurations-Kontrolle erzeugt und geladen. In-house data 13 are generated and loaded as part of the generation of software under quality and configuration control.
Eine weitere Kategorie sind die Zieldaten für den Hauptprozessor 14. Diese Daten gehören nicht zur Programmfunktion, aber Programmfunktionen wirken auf diese Daten. Sie sind für den Hauptprozessor 1 und zusätzliche Another category is the target data for the main processor 14. This data is not part of the program function, but program functions affect that data. They are for the main processor 1 and additional
Prozessoren über ihren Operandenbus 70 schreibend und lesend zugreifbar. Der Ladeprozessor 8 hat keinen Zugriff - weder schreibend noch lesend - auf diese Zieldaten 14. Dadurch wird verhindert, dass Zieldaten 14 auf diesem Weg in Speicherbereiche gelangen können, die Instruktionen 11 oder Processors write and read accessible via their operand bus 70. The loading processor 8 has no access - neither writing nor reading - to this target data 14. This prevents target data 14 can get in this way in memory areas, the instructions 11 or
Adressdaten 12 vorbehalten sind. Address data 12 are reserved.
Weiterhin weist der Arbeitsspeicher 2 die Kategorie Zieldaten für den Furthermore, the main memory 2, the category target data for the
Ladeprozessor 15 auf. Zieldaten für den Ladeprozessor 15 sind Daten, auf die Softwarefunktionen wirken, die aber nicht zur Softwarefunktion gehören. Sie sind nur für den Ladeprozessor 8 über seinen Operandenbus 71 schreibend und lesend zugreifbar. Der Hauptprozessor 1 hat keinen Zugriff auf diese Zieldaten 15. Charging processor 15 on. Target data for the load processor 15 is data that has software functions that do not belong to the software function. They are writable and read accessible only for the loading processor 8 via its operand bus 71. The main processor 1 has no access to this target data 15.
Der Ladeprozessor 8 ist hierarchisch dem Hauptprozessor 1 untergeordnet. Sein Instruktionsbus 61 und Operandenbus 71 sind von denen des The loading processor 8 is hierarchically subordinate to the main processor 1. Its instruction bus 61 and operand bus 71 are of those of the
Hauptprozessors 60, 70 getrennt und unabhängig. Er hat folgende Aufgaben zu erfüllen : Main processors 60, 70 separate and independent. He has to fulfill the following tasks:
- Kopieren von Software von externen Software-Speicher 10 zum - Copy software from external software memory 10 to
Permanentspeicher für Software 9,  Permanent memory for software 9,
- Kopieren von Software vom permanenten Software-Speicher 9 in die Arbeitsspeicher 2 für Instruktionen 11, funktionsinterne Daten 13 und Adressdaten 12 Copying software from the permanent software memory 9 into the main memory 2 for instructions 11, in-function data 13 and address data 12
- und gegebenenfalls vorliegende Softwarestrukturen umwandeln um Kompatibilität mit der Systemarchitektur zu erreichen. - and possibly convert existing software structures to achieve compatibility with the system architecture.
Die Systemumgebung bestimmt die Leistungsfähigkeit des Ladeprozessors 8. Für Systeme mit geringer Anzahl von Software-Ladevorgängen, z. B. The system environment determines the performance of the loading processor 8. For systems with a low number of software loads, eg. B.
eingebettete Systeme, darf der Ladeprozessor 8 eine externe Komponente sein, die nur zu diesem Zweck mit dem System verbunden wird. Embedded systems, the load processor 8 may be an external component that is connected to the system only for this purpose.
Der Hauptprozessor 1 erfüllt alle anderen vorgesehenen Aufgaben des The main processor 1 fulfills all other intended tasks of the
Rechners. Sein Instruktionsbus 60 und Operandenbus 70 sind von denen des Ladeprozessors 61, 71 getrennt und unabhängig . Er hat keinen Zugriff auf den Permanentspeicher für Software 9. Sein Zugriff auf den Arbeitsspeicher 2 für Instruktionen 11 ist auf Lesen über den Instruktionsbus 60 beschränkt. Sein Zugriff auf den Arbeitsspeicher 2 für Adressdaten 12 ist beschränkt auf das Lesen über den Operandenbus 70. Sein Zugriff auf den Arbeitsspeicher 2 für seine Zieldaten 14 erfolgt schreibend und lesend über den Operandenbus 70. Er hat keinen Zugriff auf die Zieldaten des Ladeprozessors 15. Computer. Its instruction bus 60 and operand bus 70 are separate and independent from those of the load processor 61, 71. He has no access to the permanent memory for software 9. Its access to the memory 2 for instructions 11 is limited to reading via the instruction bus 60. Its access to the working memory 2 for address data 12 is limited to the reading via the operand bus 70. Its access to the working memory 2 for its target data 14 is made write and read via the operand bus 70. It has no access to the target data of the loading processor 15th
Der Hauptprozessor 1 ist nicht in den beabsichtigten Transfer von The main processor 1 is not in the intended transfer of
auszuführender Software involviert. Aber die Software, welche als Gegenstand von Software-Entwicklungsmaßnahmen aktuell bearbeitet wird, gehört der Kategorie Zieldaten an. software involved. But the software currently under development as a subject of software development belongs to the target data category.
Während der Ausführung von Ladefunktionen sind konkurrierende Zugriffe von Ladeprozessor 8 und Hauptprozessor 1 auf den Arbeitsspeicher 2 für funktionsinterne Daten 13 und Adressdaten 12 möglich. Auf Grund der strikten Trennung von Datenkategorien kann diese Situation nicht zur Verbreitung von Schadsoftware führen. Außerdem wird der Zugriff auf dieselben Daten bereits durch die Zuweisung von verschiedenen Adressen bei der Softwaregenerierung und dem Ladevorgang verhindert. During the execution of loading functions, concurrent accesses from the loading processor 8 and the main processor 1 to the working memory 2 for function-internal data 13 and address data 12 are possible. Due to the strict separation of data categories, this situation can not lead to the spread of malicious software. In addition, access to the same data is already prevented by assigning different addresses during software generation and loading.
Im Permanentspeicher für Zieldaten 3 werden ausschließlich Daten der Kategorie Zieldaten für den Hauptprozessor 1 gespeichert. Nur der In the permanent memory for target data 3 only data of the category target data for the main processor 1 are stored. Only the
Hauptprozessor 1 hat Zugriff zu diesen Daten. Der Ladeprozessor 8 hat keinen Zugriff zu diesen Daten, weder schreibend noch lesend. Main processor 1 has access to this data. The loading processor 8 has no access to this data, neither writing nor reading.
Im Permanentspeicher für Software 9 werden Daten der Kategorien In non-volatile memory for software 9 are data of the categories
Instruktionen 11, Adressdaten 12 und funktionsinterne Daten 13 gespeichert. Auf diese Daten kann der Ladeprozessor 8 schreibend und lesend zugreifen. Kein anderer Prozessor darf auf diesen Speicher zugreifen. Zugriff zu diesem Speicher 9 erfolgt ausschließlich im Zusammenhang mit dem Installieren und Initialisieren von Software. Der permanente Software-Speicher 9 wird ausschließlich zum Zweck der Softwareinstallation beschrieben. Instructions 11, address data 12 and function-internal data 13 stored. The loading processor 8 can access this data in writing and reading. No other processor is allowed to access this memory. Access to this Memory 9 is exclusively related to installing and initializing software. The permanent software memory 9 is described solely for the purpose of software installation.
Die in Figur 3 gezeigte Ausführungsform zeigt als Hauptbestandteil die The embodiment shown in FIG. 3 shows the main component
Elemente und deren Anordnung gemäß Figur 2. Zusätzlich verfügt der Aufbau über einen permanenten Mediendatenspeicher 16, einen Mediendaten- Arbeitsspeicher 17, ein Mediendaten-Bussystem mit Instruktions- und Elements and their arrangement according to Figure 2. In addition, the structure has a permanent media data memory 16, a media data memory 17, a media data bus system with instruction and
Operandenbus 62, 72, eine eigene Ein-/Ausgabe-Hardware 40 und einen Medienprozessor 18 für die Bearbeitung von Daten und zur Ausführung von Software, die über Medien verfügbar gemacht werden. Der Medienprozessor 18 kommuniziert bidirektional mit der Ein-/Ausgabe-Hardware 40 und hat keinen Zugriff zu den anderen vorliegenden Speichern 2, 3, 9. Zu dem Operand bus 62, 72, a dedicated input / output hardware 40 and a media processor 18 for the processing of data and for the execution of software that are made available via media. The media processor 18 communicates bi-directionally with the input / output hardware 40 and has no access to the other present memories 2, 3, 9. To the
Mediendaten-Arbeitsspeicher 17 haben nur der den Medien zugeordnete Medienprozessor 18 und der Hauptprozessor 1 Zugriff. Weiterhin hat zu dem permanenten Mediendatenspeicher 16 nur der den Medien zugeordnete Media data memory 17 has access to only the media processor associated media processor 18 and the main processor 1. Furthermore, only the media associated with the permanent media data store 16
Medienprozessor 18 Zugriff. Das Rechnersystem ist somit in der Lage mittels eines separaten Medienprozessors 18, die von den Medien verfügbar gemachte Software sicher auszuführen. Media processor 18 access. The computer system is thus able by means of a separate media processor 18 to securely execute the software made available by the media.
Figur 4 zeigt im Wesentlichen das Blockschaltbild aus Figur 2, wobei der externe Softwarespeicher durch ein externes Lesegerät für Software 19 ersetzt wurde. Die Schnittstelle zu dem externen Lesegerät für Softwareträger 19 ist physisch so eingerichtet, dass herkömmliche Lesegeräte für Datenträger damit nicht betrieben werden können, so dass ein unbeabsichtigtes Laden von Software verhindert wird. Anwendungen dieser Erfindung liegen zum Beispiel bei eingebetteten Systemen und bei Organisationen, in denen gleiche FIG. 4 essentially shows the block diagram from FIG. 2, wherein the external software memory has been replaced by an external software device 19. The interface to the external software carrier reader 19 is physically arranged so that conventional disk readers can not be operated thereby preventing inadvertent software loading. Applications of this invention are, for example, in embedded systems and in organizations where the same
Rechnerausstattung in Hinsicht auf Software gefordert ist. Computer equipment in terms of software is required.
Die Ausführungsform der Figur 5 zeigt neben einem Hauptprozessor 1, der bidirektional mit einer Ein-/Ausgabe- Hardware 4 und einem permanenten Datenspeicher 3 kommuniziert, einen Arbeitsspeicher 2, der über ein The embodiment of Figure 5 shows next to a main processor 1, which communicates bidirectionally with an input / output hardware 4 and a permanent data memory 3, a memory 2, via a
Bussystem 50 in Verbindung mit dem Hauptprozessor 1 steht und ein externes Ladegerät 20 für das Laden von Software. Das Bussystem 50 umfasst zur Kommunikation zwischen Hauptprozessor 1 und Arbeitsspeicher 2 einen Instruktionsbus 60 und einen Operandenbus 70. Der Arbeitsspeicher 2 ist in vier physische Arbeitsspeichereinheiten aufgeteilt. In diesen werden folgende Datenkategorien gespeichert: Instruktionen 11, Adressdaten 12, Bus system 50 is in communication with the main processor 1 and an external charger 20 for loading software. The bus system 50 includes for communication between the main processor 1 and memory 2 a Instruction bus 60 and an operand bus 70. The memory 2 is divided into four physical memory units. The following data categories are stored in these: instructions 11, address data 12,
funktionsinterne Daten 13 und Zieldaten für den Hauptprozessor 14. Der Hauptprozessor 1 und das externe Ladegerät 20 haben entsprechend den Datenkategorien unterschiedliche Zugriffsrechte auf die function internal data 13 and target data for the main processor 14. The main processor 1 and the external charger 20 have different access rights to the data according to the data categories
Arbeitsspeichereinheiten. Das externe Ladegerät 20 greift ausschließlich auf die Instruktionen 11, Adressdaten 12 und funktionsinterne Daten 13 Memory units. The external charger 20 exclusively accesses the instructions 11, address data 12 and function-internal data 13
schreibend zu. Der Hauptprozessor 1 liest über den Instruktionsbus 60 die Instruktionen 11 und über den Operandenbus 70 die Adressdaten 12 des Arbeitsspeicher 2. Weiterhin kann der Hauptprozessor 1 sowohl schreibend als auch lesend auf die funktionsinternen Daten 13 und die Zieldaten des writing to. The main processor 1 reads the instructions 11 via the instruction bus 60 and the address data 12 of the main memory 2 via the operand bus 70. Furthermore, the main processor 1 can write to and read the function-internal data 13 and the target data of the
Hauptprozessors 14 des Arbeitsspeichers 2 zugreifen. Main processor 14 of the working memory 2 access.
Das externe Ladegerät 20 stellt einen separaten Prozessor für das Laden von Software dar, wobei das so ausgerüstete Rechnersystem keinen eigenen Ladeprozessor und ihm zugeordneten Speicher aufweist. Damit verfügt es nicht über die Möglichkeit, Software unmittelbar von externen Software- Speichern zu lesen, oder Software während des Betriebes zu konfigurieren. Zum Laden von Software ist bei diesem Ausführungsbeispiel ein externes Gerät erforderlich, welches über eine entsprechende physisch The external charger 20 represents a separate processor for loading software, wherein the computer system thus equipped does not have its own loading processor and its associated memory. Thus, it does not have the ability to read software directly from external software storage, or to configure software during operation. For loading software, an external device is required in this embodiment, which physically via a corresponding
unverwechselbarer Schnittstelle verfügt. Anwendungen dieses unmistakable interface features. Applications of this
Ausführungsbeispiels liegen zum Beispiel bei Systemen, deren Software während des Betriebes nicht konfiguriert wird. Exemplary embodiments are, for example, systems whose software is not configured during operation.
Die Ausführungsform dargestellt in Figur 6 zeigt einen ersten und einen zweiten Hauptprozessor 1, 21, die unabhängig voneinander fungieren und die jeweils einen festen Satz an zugeordneten Funktionselementen aufweisen. Der jeweilige Hauptprozessor 1, 21 ist bidirektional mit der jeweiligen Ein- /Ausgabe-Hardware 4, 22 und dem jeweiligen permanenten Datenspeicher 3, 23 verbunden. Weiterhin verfügt jeder Hauptprozessor 1, 21 über ein The embodiment shown in FIG. 6 shows a first and a second main processor 1, 21, which function independently of each other and which each have a fixed set of associated functional elements. The respective main processor 1, 21 is bidirectionally connected to the respective input / output hardware 4, 22 and the respective permanent data memory 3, 23. Furthermore, each main processor 1, 21 has a
Bussystem bestehend aus Instruktions-und Operandenbus 60, 63, 70, 73 über dem er mit dem jeweiligen Arbeitsspeicher 2, 24 kommuniziert. Der jeweilige Arbeitsspeicher 2, 24 ist in vier physisch voneinander getrennte Bus system consisting of instruction and operand bus 60, 63, 70, 73 via which it communicates with the respective main memory 2, 24. The respective working memory 2, 24 is physically separated from each other in four
Arbeitsspeicherbereiche aufgeteilt. Abhängig von den Zugriffsrechten des jeweiligen Hauptprozessors 1, 21 und eines vorhandenen Ladeprozessors 8 sind die Bereiche in Instruktionen 11, 25, Adressdaten 12, 26, Shared memory areas. Depending on the access rights of the respective main processors 1, 21 and an existing loading processor 8 are the areas in instructions 11, 25, address data 12, 26,
funktionsinterne Daten 13, 27 und Zieldaten des jeweiligen Hauptprozessors 14, 28 aufgeteilt. Der bidirektional mit einem externen Software-Speicher 10 und einem permanenten Software-Speicher 9 kommunizierende Ladeprozessor 8 weist ein Bussystem bestehend aus Instruktions-und Operandenbus 61, 71 auf. Weiterhin ist ein zusätzlicher Arbeitsspeicher für die Zieldaten des function-internal data 13, 27 and target data of the respective main processor 14, 28 divided. The loading processor 8, which communicates bidirectionally with an external software memory 10 and a permanent software memory 9, has a bus system consisting of an instruction bus and an operand bus 61, 71. There is also additional memory for the target data of the
Ladeprozessors 15 und für Übergabedaten 29 vorgesehen. Im Folgenden werden die Zugriffsrechte der Funktionselemente näher erläutert. Der jeweilige Hauptprozessor 1, 21 greift über den jeweiligen Instruktionsbus 60, 63 auf die Instruktionen 11, 25 und über den Operandenbus 70, 73 auf die Adressdaten 12, 26 des jeweiligen Arbeitsspeichers 2, 24 lesend zu. Sowohl lesend als auch schreibend erfolgt der Zugriff des jeweiligen Hauptprozessors 1, 21 auf die funktionsinternen Daten 13, 27 und die Zieldaten des jeweiligen Hauptprozessors 14, 28 im jeweiligen Arbeitsspeicher 2, 24. Bidirektional greifen beide Hauptprozessoren 1, 21 über ihren jeweiligen Operandenbus 70, 73 auf den Arbeitsspeicher für Übergabedaten 29 zu. Auf die Instruktionen 11 des ersten Hauptprozessors 1 und die Instruktionen 25 des zweiten Charging processor 15 and provided for transfer data 29. The following explains the access rights of the functional elements. The respective main processor 1, 21 accesses via the respective instruction bus 60, 63 to the instructions 11, 25 and via the operand bus 70, 73 to the address data 12, 26 of the respective random access memory 2, 24 to read. Both read and write the access of the respective main processor 1, 21 takes place on the function-internal data 13, 27 and the target data of the respective main processor 14, 28 in the respective random access memory 2, 24. Bidirektional grab both main processors 1, 21 via their respective operand bus 70, 73 to the memory for transfer data 29 too. On the instructions 11 of the first main processor 1 and the instructions 25 of the second
Hauptprozessors 21 wird vom Ladeprozessor 8 schreibend über den Main processor 21 is writing from the loading processor 8 via the
Operandenbus 71 zugegriffen. Die Instruktionen 11 des ersten Operand bus 71 accessed. The instructions 11 of the first
Hauptprozessors 1 werden vom Instruktionsbus 61 des Ladeprozessors 8 gelesen. Über den Operandenbus 71 des Ladeprozessors 8 wird bidirektional auf die Adressdaten 12, 26 und die funktionsinternen Daten 13, 27 der jeweiligen Hauptprozessor 1, 21 und Zieldaten des Ladeprozessors 15 zugegriffen. Diese Zwei-Prozessoren-Version erlaubt zum Beispiel die sichere Datenübergabe zwischen Netzwerken mit unterschiedlicher Main processors 1 are read by the instruction bus 61 of the loading processor 8. Via the operand bus 71 of the loading processor 8, the address data 12, 26 and the function-internal data 13, 27 of the respective main processor 1, 21 and target data of the loading processor 15 are bidirectionally accessed. This two-processor version allows, for example, the secure transfer of data between networks with different
Sicherheitseinstufung . Die Rechnersysteme haben dabei üblicherweise Zugriff auf beide Netze und zwar von Software, die für diesen Zweck besonders strukturiert und aufwändig getestet sind, um unbeabsichtigte oder unerlaubte Datentransfers zu unterbinden. Die gleiche Problematik taucht bei der Security rating. The computer systems usually have access to both networks, namely software that has been specially structured and extensively tested for this purpose in order to prevent unintentional or unauthorized data transfers. The same problem occurs in the
Ansteuerung von Effektoren auf Basis von Eingaben verschiedener Sensoren auf. Hierbei geht es neben der möglichen und durch Anwendung des Control of effectors based on inputs from various sensors. This is next to the possible and by applying the
erfindungsgemäßen Datenverarbeitungssystems vermeidbaren„Infektion" mit Schadsoftware unter den Teilsystemen darum, Situationen mit Hardware- Mitteln zu unterbinden, die den Ansteuerungsalgorithmus stören können. data processing system avoidable "infection" with malware among the subsystems in order to avoid situations with hardware To suppress means that can interfere with the driving algorithm.
Diese Negativeffekte lassen sich durch die Zuordnung der Sensor- und These negative effects can be determined by the assignment of the sensor and
Effektor-Funktionen zu jeweils einem separatem Prozessor vermeiden, wobei die jeweiligen Prozessoren eindeutig definierte und in der Hardware realisierte Zugriffe auf jeweils eigene und auf gemeinsame Daten haben. Effector functions each to avoid a separate processor, the respective processors have clearly defined and realized in the hardware access to their own and shared data.
Figur 7 zeigt eine weitere Ausführungsform, deren Blockschaltbild im FIG. 7 shows a further embodiment whose block diagram in FIG
Wesentlichen der Figur 6 entspricht. Der Unterschied liegt darin, dass der Arbeitsspeicher für Übergabedaten wegfällt und nur ein gemeinsamer Substantially corresponds to the figure 6. The difference lies in the fact that the memory for transfer data is omitted and only one common
Arbeitsspeicher für Zieldaten der Hauptprozessoren 30 vorliegt, auf den beide Hauptprozessoren 1, 21 bidirektional über ihren jeweiligen Operandenbus 70, 73 zugreifen. In dieser Ausführungsform liegt eine typische Main memory for target data of the main processors 30 is present, to which both main processors 1, 21 bidirectionally access via their respective operand bus 70, 73. In this embodiment, a typical
Mehrprozessoranwendung vor. Multi-processor application.
In einer weiteren hier nicht dargestellten Ausführungsform können die In another embodiment, not shown here, the
Zieldaten für den Ladeprozessor innerhalb der funktionsinternen Daten abgebildet werden; in diesem Fall kann auf die Datenkategorie Zieldaten des Ladeprozessors verzichtet werden. Target data for the load processor within the in-function data; In this case, the data category target data of the loading processor can be dispensed with.
Das erfindungsgemäße Datenverarbeitungssystem verhindert durch die The data processing system according to the invention prevented by the
Anordnung der Funktionselemente (Prozessoren, Arbeitsspeicher, Arrangement of functional elements (processors, main memory,
Permanentspeicher), dass jegliche Schadsoftware durch Prozessoren Permanent memory), that any malware through processors
ausgeführt werden kann. Zu Grunde liegt das Prinzip der strikten Trennung von Datenkategorien und Prozessoraufgaben . Das erfindungsgemäße can be executed. Underlying the principle of strict separation of data categories and processor tasks. The invention
Datenverarbeitungssystem ist prinzipiell auf alle Größenordnungen anwendbar, von Großrechnern und Multiprozessorsystemen bis hinab zu mobilen Geräten. Es ist selbstverständlich, dass das erfindungsgemäße Data processing system is applicable in principle to all sizes, from mainframes and multiprocessor systems down to mobile devices. It is understood that the inventive
Datenverarbeitungssystem nicht auf die beschriebenen Rechnerkomponenten sowie Anzahl der Prozessoren beschränkt ist. Abhängig vom gegebenen  Data processing system is not limited to the described computer components and number of processors. Depending on the given
Systemdesign sind die Anzahl der Prozessoren und die Auslegung von zusätzlichen Rechnerkomponenten (z. B. Grafikprozessoren) frei wählbar. System design, the number of processors and the design of additional computer components (eg graphics processors) are freely selectable.
Bedingt durch die separate Behandlung der Datenkategorien ist es It is due to the separate treatment of the data categories
erforderlich, die Software für das erfindungsgemäße required, the software for the invention
Datenverarbeitungssystem entsprechend anzupassen. Bezugszeichen Adapt data processing system accordingly. reference numeral
Hauptprozessor main processor
Arbeitsspeicher random access memory
permanenter Datenspeicher des Hauptprozessors permanent data memory of the main processor
Ein-/Ausgabe-Hardware des Hauptprozessors Input / output hardware of the main processor
Ladeprozessor charging processor
permanenter Software-Speicher permanent software memory
externer Software-Speicher external software memory
Instruktionen instructions
Adressdaten address data
funktionsinterne Daten internal functional data
Zieldaten Hauptprozessor Target data main processor
Zieldaten Ladeprozessor Target data loading processor
permanenter Mediendatenspeicher permanent media data store
Mediendaten-Arbeitsspeicher Media data memory
Medienprozessor media processor
Externes Lesegerät External reader
Externes Ladegerät External charger
Zweiter Hauptprozessor Second main processor
Ein-/Ausgabe-Hardware des zweiten Hauptprozessors permanenter Datenspeicher des zweiten Hauptprozessors Arbeitsspeicher des zweiten Hauptprozessors Input / output hardware of the second main processor Permanent data memory of the second main processor Main memory of the second main processor
Instruktionen des zweiten Arbeitsspeichers Instructions of the second main memory
Adressdaten des zweiten Arbeitsspeichers Address data of the second main memory
funktionsinterne Daten des zweiten Arbeitsspeichers Zieldaten Hauptprozessor des zweiten Arbeitsspeichers Arbeitsspeicher für Übergabedaten in-memory data of second memory destination data main processor of second memory memory for transfer data
Zieldaten Hauptprozessoren des ersten und zweiten Hauptp Ein-/Ausgabe-Hardware des Medienprozessors Target data Main processors of the first and second main I / O hardware of the media processor
Bussystem des Hauptprozessors Bus system of the main processor
Bussystem des Ladeprozessors Instruktionsbus des Hauptprozessors Bus system of the charging processor Instruction bus of the main processor
Operandenbus des Hauptprozessors Operand bus of the main processor
Instruktionsbus des Ladeprozessors Instruction bus of the loading processor
Operandenbus des Ladeprozessors Operand bus of the load processor
Instruktionsbus des Medienprozessors Operandenbus des Medienprozessors Instruction bus of the media processor Operand bus of the media processor
Instruktionsbus des zweiten Hauptprozessors Operandenbus des zweiten Hauptprozessors Instruction bus of the second main processor Operand bus of the second main processor

Claims

Patentansprüche claims
1. Datenverarbeitungssystem aufweisend wenigstens einen Hauptprozessor (1), wenigstens einen permanenten Datenspeicher (3) und wenigstens einen Arbeitsspeicher (2), wobei der wenigstens eine Hauptprozessor (1) mit wenigstens einer Ein-/Ausgabe-Hardware (Interface) (4) verbunden ist, und wobei der wenigstens eine Hauptprozessor (1) mit dem A data processing system comprising at least one main processor (1), at least one permanent data memory (3) and at least one main memory (2), wherein the at least one main processor (1) is connected to at least one input / output hardware (interface) (4) is, and wherein the at least one main processor (1) with the
wenigstens einen Arbeitsspeicher (2) über wenigstens einen  at least one main memory (2) via at least one
Instruktionsbus (60) und über wenigstens einen Operandenbus (70) kommuniziert und getrennt davon bidirektional mit dem wenigstens einen permanenten Datenspeicher (3) kommuniziert, dadurch  Instruction bus (60) and via at least one operand bus (70) communicates and communicates separately bidirectionally with the at least one permanent data memory (3), characterized
gekennzeichnet, dass wenigstens ein Ladeprozessor (8) vorgesehen ist, der bidirektional mit wenigstens einem permanenten Software- Speicher (9) und wenigstens einem externen Software-Speicher (10) kommuniziert und der mit dem wenigstens einen Arbeitsspeicher (2) über wenigstens einen Instruktionsbus (61) und über wenigstens einen  in that at least one charging processor (8) is provided, which communicates bidirectionally with at least one permanent software memory (9) and at least one external software memory (10) and which communicates with the at least one main memory (2) via at least one instruction bus (2). 61) and at least one
Operandenbus (71) getrennt und unabhängig von dem wenigstens einen Hauptprozessor (1) kommuniziert, wobei die Kommunikation zwischen dem wenigstens einen  Operand bus (71) separately and independently of the at least one main processor (1) communicates, the communication between the at least one
Hauptprozessor (1) und dem wenigstens einen Arbeitsspeicher (2) über den wenigstens einen Instruktionsbus (60) und den wenigstens einen Operandenbus (70) erfolgt, die Kommunikation zwischen dem wenigstens einen Ladeprozessor (8) und dem wenigstens einen Arbeitsspeicher (2) über den wenigstens einen Instruktionsbus (61) und den wenigstens einen Operandenbus (71) erfolgt, sowohl die Kommunikation zwischen dem wenigstens einem  Main processor (1) and the at least one main memory (2) via the at least one instruction bus (60) and the at least one operand bus (70), the communication between the at least one loading processor (8) and the at least one main memory (2) via the at least one instruction bus (61) and the at least one operand bus (71), both the communication between the at least one
Hauptprozessor (1) und der wenigstens einen Ein-/Ausgabe-Hardware (4) sowie dem wenigstens einen permanenten Datenspeicher (3) als auch die Kommunikation zwischen dem wenigstens einen Ladeprozessor (8) und dem wenigstens einen externen Software-Speicher (10) sowie dem wenigstens einen permanenten Software-Speicher (9) über Main processor (1) and the at least one input / output hardware (4) and the at least one permanent data memory (3) and the Communication between the at least one loading processor (8) and the at least one external software memory (10) and the at least one permanent software memory (9) via
Zugriffsattribute kontrolliert sind .  Access attributes are controlled.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass Daten in dem wenigstens einen Arbeitsspeicher (2) nach 2. Data processing system according to claim 1, characterized in that data in the at least one random access memory (2) after
Datenkategorien kategorisiert sind, wobei in Abhängigkeit von den Kategorien unterschiedliche Zugriffsattribute definiert sind, nämlich Hauptprozessor-Zugriffsattribute für den wenigstens einen  Data categories are categorized, depending on the categories different access attributes are defined, namely main processor access attributes for the at least one
Hauptprozessor (1) und Ladeprozessor-Zugriffsattribute für den wenigstens einen Ladeprozessor (8), und wobei Daten gleicher  Main processor (1) and loading processor access attributes for the at least one loading processor (8), and wherein data of the same
Datenkategorien gleiche Hauptprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Hauptprozessor (1) und gleiche  Data categories same main processor access attributes for access by the at least one main processor (1) and the same
Ladeprozessor-Zugriffsattribute für den Zugriff durch den wenigstens einen Ladeprozessor (8) aufweisen.  Charge processor access attributes for access by the at least one loading processor (8).
3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, dass für jede Datenkategorie wenigstens ein separater Arbeitsspeicher (11, 12, 13, 14, 15) vorgesehen ist. 3. Data processing system according to claim 2, characterized in that at least one separate main memory (11, 12, 13, 14, 15) is provided for each data category.
4. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass folgende Datenkategorien vorgesehen sind : 4. Data processing system according to one of the preceding claims, characterized in that the following data categories are provided:
- Adressdaten (12),  - address data (12),
- Instruktionen (11),  - instructions (11),
- funktionsinterne Daten (13),  - functional internal data (13),
- Zieldaten des wenigstens einen Hauptprozessors  Target data of the at least one main processor
(Hauptprozessorzieldaten) (14),  (Main processor target data) (14),
- Zieldaten des wenigstens einen Ladeprozessors  - Target data of at least one loading processor
(Ladeprozessorzieldaten) (15).  (Loading processor target data) (15).
5. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens ein Hauptprozessor (1) 5. Data processing system according to one of the preceding claims, characterized in that the at least one main processor (1)
- keinen Zugriff auf den wenigstens einen permanenten Software- Speicher (9) hat, - no access to the at least one permanent software Memory (9) has,
- Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Instruktionsbus (60) hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, Access to the at least one memory for instructions (11) via the at least one instruction bus (60) and this is limited to the type of access "read",
- Zugriff auf den wenigstens einen Arbeitsspeicher für Adressdaten (12) über den wenigstens einen Operandenbus (70) hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, Access to the at least one main memory for address data (12) via the at least one operand bus (70) and this is limited to the type of access "read",
- Zugriff auf die funktionsinternen Daten (13) über den wenigstens einenAccess to the function-internal data (13) via the at least one
Operandenbus (70) hat und dieser in den Zugriffsarten„Schreiben" und/oder„Lesen" erfolgt, und Operand bus (70) and this is done in the access modes "Write" and / or "Read", and
- Zugriff auf die Hauptprozessorzieldaten (14) über den wenigstens einenAccess to the main processor target data (14) via the at least one
Operandenbus (70) hat und dieser in den Zugriffsarten„Schreiben" und/oder„Lesen" erfolgt, und Operand bus (70) and this is done in the access modes "Write" and / or "Read", and
- keinen Zugriff auf die Ladeprozessorzieldaten (15) des wenigstens einen Ladeprozessors (8) hat. - Has no access to the loading processor target data (15) of the at least one loading processor (8).
6. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens eine Ladeprozessor (8) 6. Data processing system according to one of the preceding claims, characterized in that the at least one charging processor (8)
- Zugriff auf den wenigstens einen externen Software-Speicher (10) hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, und - Has access to the at least one external software memory (10) and this is limited to the type of access "read", and
- Zugriff auf den wenigstens einen permanenten Software-Speicher (9) hat und dieser in den Zugriffsarten„Schreiben" und/oder„Lesen" erfolgt, - has access to the at least one permanent software memory (9) and this is done in the access modes "Write" and / or "Read",
- Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Operandenbus (71) hat und dieser auf die Zugriffsart„Schreiben" beschränkt ist, - access to the at least one main memory for instructions (11) via the at least one operand bus (71) and this is limited to the access type "write",
- Zugriff auf den wenigstens einen Arbeitsspeicher für Instruktionen (11) über den wenigstens einen Instruktionsbus (61) hat und dieser auf die Zugriffsart„Lesen" beschränkt ist, - Zugriff auf den wenigstens einen Arbeitsspeicher für dieAccess to the at least one instruction memory (11) via the at least one instruction bus (61) and limited to the "read" access mode, Access to the at least one main memory for the
Ladeprozessorzieldaten (15), Adressdaten (12) und funktionsinternen Daten (13) über den wenigstens einen Operandenbus (71) hat und dieser in den Zugriffsarten„Schreiben" und/oder„Lesen" erfolgt, und Loading processor target data (15), address data (12) and in-function data (13) via the at least one operand bus (71) and in the "write" and / or "read" access modes, and
- keinen Zugriff auf die Hauptprozessorzieldaten (14) des wenigstens einen Hauptprozessors (1) hat. - has no access to the main processor target data (14) of the at least one main processor (1).
7. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Datenverarbeitungssystem einen Medienprozessor (18) aufweist, der über wenigstens einen 7. Data processing system according to one of the preceding claims, characterized in that the data processing system comprises a media processor (18) having at least one
Instruktionsbus (62) und wenigstens einen Operandenbus (72) jeweils bidirektional mit wenigstens einem separaten Arbeitsspeicher für  Instruction bus (62) and at least one operand bus (72) each bidirectional with at least one separate main memory for
Mediendaten (17) kommuniziert, wobei der Medienprozessor (18) über einen eigenen permanenten Mediendatenspeicher (16) verfügt mit dem er bidirektional kommuniziert, und wobei der Medienprozessor (18) mit einer eigenen Ein-/Ausgabe Hardware (Interface) (40) verbunden ist.  Media data (17) communicates, wherein the media processor (18) has its own permanent media data memory (16) with which it communicates bidirectionally, and wherein the media processor (18) with its own input / output hardware (Interface) (40) is connected ,
8. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Vorhandensein von mehr als einem Hauptprozessor (1) die Hauptprozessoren (1, 21) unabhängig voneinander einsetzbar sind, wobei jeder Hauptprozessor (1, 21) mit einem ihm fest zugeordneten Speicher für Hauptprozessorzieldaten (14, 28) kommuniziert, auf den die jeweils andern Hauptprozessoren (21, 1) keinen Zugriff haben, und wobei alle Hauptprozessoren (1, 21) über einen zusätzlichen gemeinsamen Arbeitsspeicher für gemeinsame Zieldaten (29) zur kontrollierten Datenübergabe zwischen den 8. Data processing system according to one of the preceding claims, characterized in that in the presence of more than one main processor (1), the main processors (1, 21) are independently used, each main processor (1, 21) with a dedicated memory for him Main processor target data (14, 28) to which the other main processors (21, 1) have no access, and wherein all the main processors (1, 21) have an additional common memory for common data transfer (29) between the
Hauptprozessoren (1, 21) verfügen.  Main processors (1, 21).
9. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 7, dadurch gekennzeichnet, dass beim Vorhandensein von mehr als einem Hauptprozessor (1), die Hauptprozessoren (1, 21) unabhängig voneinander eingesetzt werden, wobei alle Hauptprozessoren (1, 21) über einen gemeinsamen Arbeitsspeicher für Hauptprozessorzieldaten (30) mit den Zugriffsattributen„Schreiben" und„Lesen" verfügen . 9. Data processing system according to one of the preceding claims 1 to 7, characterized in that in the presence of more than one main processor (1), the main processors (1, 21) are used independently, wherein all the main processors (1, 21) via a common Memory for main processor target data (30) with the access attributes "Write" and "Read".
10. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein externes Lesegerät (19) für das Lesen von Software in den Arbeitsspeicher (2) vorgesehen ist und dass das Lesegerät (19) von dem wenigstens einen Ladeprozessor (8) gesteuert wird, wobei der wenigstens eine Ladeprozessor (8) mit dem externen Lesegerät für Software (19) eine Schnittstelle bildet, die physisch so eingerichtet ist, dass herkömmliche Lesegeräte für 10. Data processing system according to one of the preceding claims, characterized in that an external reader (19) for reading software in the working memory (2) is provided and that the reading device (19) is controlled by the at least one charging processor (8), wherein the at least one loading processor (8) interfaces with the external software reader (19), which is physically arranged to provide conventional readers for
Datenträger damit nicht betrieben werden können, so dass ein  Disk can not be operated so that a
unbeabsichtigtes Laden von Software verhindert wird.  unintended loading of software is prevented.
11. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 9, dadurch gekennzeichnet, dass der Ladeprozessor (8) in einem externen Ladegerät (20) für das Laden von Software in den 11. Data processing system according to one of the preceding claims 1 to 9, characterized in that the loading processor (8) in an external charger (20) for loading software in the
Arbeitsspeicher (2) angeordnet ist.  Main memory (2) is arranged.
12. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Datenkategorien 12. Data processing system according to one of the preceding claims 1 to 10, characterized in that the data categories
funktionsinterne Daten (13) und Ladeprozessorzieldaten (15) dem selben physikalischen Arbeitsspeicher zugeordnet sind .  function internal data (13) and loading processor target data (15) are assigned to the same physical memory.
13. Computerprogramm, das Ausgaben von 13. Computer program that issues from
Programmgenerierungswerkzeugen umsetzt, dadurch gekennzeichnet, dass die Umsetzung so erfolgt, dass die Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von Datenverarbeitungssystemen nach Anspruch 1 bis 12 verarbeitbar sind.  Implementation of program generation tools, characterized in that the implementation is such that the data categories are created and generated as data segments that are processed by data processing systems according to claim 1 to 12.
14. Computerprogramm, das auf der von-Neumann-Architektur und/oder der Harvard-Architektur ausführbare Programme umsetzt, dadurch 14. Computer program implementing programs executable on von Neumann architecture and / or the Harvard architecture thereby
gekennzeichnet, dass die Umsetzung so erfolgt, dass die  characterized in that the conversion takes place in such a way that the
Datenkategorien geschaffen und als Datensegmente erzeugt werden, die von Datenverarbeitungssystemen nach Anspruch 1 bis 12 verarbeitbar sind .  Data categories are created and generated as data segments that are processable by data processing systems according to claim 1 to 12.
15. Externes Ladegerät für das Laden von Software in den Arbeitsspeicher für ein Datenverarbeitungssystem nach Anspruch 11. 15. An external charger for loading software into the main memory for a data processing system according to claim 11.
16. Externes Lesegerät für das Lesen von Software durch den Ladeprozessor für ein Datenverarbeitungssystem nach Anspruch 10. 16. An external reading device for reading software by the loading processor for a data processing system according to claim 10.
EP14715865.3A 2013-04-09 2014-03-27 Malware-proof data processing system Withdrawn EP2984572A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013005971.2A DE102013005971B3 (en) 2013-04-09 2013-04-09 Malware secure data processing system
PCT/EP2014/056190 WO2014166753A1 (en) 2013-04-09 2014-03-27 Malware-proof data processing system

Publications (1)

Publication Number Publication Date
EP2984572A1 true EP2984572A1 (en) 2016-02-17

Family

ID=50442491

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14715865.3A Withdrawn EP2984572A1 (en) 2013-04-09 2014-03-27 Malware-proof data processing system

Country Status (4)

Country Link
US (1) US9881169B2 (en)
EP (1) EP2984572A1 (en)
DE (1) DE102013005971B3 (en)
WO (1) WO2014166753A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112263A (en) * 1997-12-15 2000-08-29 Intel Corporation Method for multiple independent processes controlling access to I/O devices in a computer system
JP3623379B2 (en) * 1998-12-01 2005-02-23 富士通株式会社 Microprocessor
US6615890B1 (en) * 2000-06-09 2003-09-09 Venture Tape Corp. Tape applicator for glazing applications
US7000092B2 (en) * 2002-12-12 2006-02-14 Lsi Logic Corporation Heterogeneous multi-processor reference design
US8117642B2 (en) * 2008-03-21 2012-02-14 Freescale Semiconductor, Inc. Computing device with entry authentication into trusted execution environment and method therefor
US8478997B2 (en) 2010-09-10 2013-07-02 Raytheon Company Multi-level security software architecture

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2014166753A1 *

Also Published As

Publication number Publication date
DE102013005971B3 (en) 2014-08-28
WO2014166753A1 (en) 2014-10-16
US20160070916A1 (en) 2016-03-10
US9881169B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
DE10197121B4 (en) New processor mode to limit the operation of guest software running on a virtual machine with the support of a virtual machine monitor
DE10392320B4 (en) Operating system loading method in computer system, involves registering identity of component of operating system, which is loaded into memory region by active one of the CPUs
EP2807558B1 (en) Memory controller for providing a plurality of defined areas of a mass storage medium as independent mass memories to a master operating system core for exclusive provision to virtual machines
DE2458065C2 (en) Data processing system
DE102006061939B4 (en) Method and apparatus for accessing a memory-mapped device by a guest
DE102018115670A1 (en) Technologies for running untrusted code with processor sandbox support
DE102013022299B3 (en) Protection of global registers in a multithreaded processor
DE102013200503A1 (en) Virtualization support for saving and restoring states of a jump prediction logic
DE102014003690A1 (en) Processors, methods and systems for command emulation
DE112013001711T5 (en) Optimize subroutine calls based on the architectural level of a called subroutine
DE102014003705A1 (en) Processors, methods and systems for command emulation
DE102014002181B4 (en) Chip and method of operating a chip
DE112013004065B4 (en) Integrated circuit
DE102018132970A1 (en) Method and device for isolating sensitive, untrustworthy program code on mobile devices
DE112007003206T5 (en) Reconfiguring a secure system
DE102011108077A1 (en) Method of memory management in a multitasking data processing system
WO2021122734A1 (en) Method and device for operating a computing device
DE102008050631A1 (en) Data processing system
DE60212169T2 (en) LOADING SOFTWARE
DE102013005971B3 (en) Malware secure data processing system
EP2793196B1 (en) Tachograph and on-board unit for a utility vehicle
DE102013016114B3 (en) Bus system and method for protected memory accesses
DE102015210539A1 (en) Memory protection unit, memory management unit and microcontroller
EP1917587B1 (en) Method and device for controlling a computer system
WO2023066627A1 (en) Prioritizing access by a container instance to a file in a file system resource

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20151020

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20180711

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20181122