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